refactor(web_core, lit): move universal basic catalog components to web_core and re-export in lit - #2190
Conversation
There was a problem hiding this comment.
Code Review
This pull request refactors the A2UI Lit renderers by moving the core component implementations (such as Button, Card, List, Modal, Tabs, and Text) from the renderers/lit package into the renderers/web_core package under basic_catalog, updating the Lit package to re-export them. This consolidation improves cross-framework reusability. However, several issues were identified in the migrated components: DateTimeInput has bugs when enableDate is false and potential timezone issues; Modal uses the open attribute on <dialog> instead of .showModal(), losing native modal features; Tabs lacks safety clamping for activeIndex when the tabs array shrinks; Text incorrectly nests block-level elements inside an inline <span>; and List generates invalid CSS due to an empty styleType variable.
af2bfeb to
054c5ad
Compare
0c06b33 to
d7abba7
Compare
d7abba7 to
10f6afb
Compare
10f6afb to
2c00f51
Compare
2c00f51 to
570e9c4
Compare
570e9c4 to
e714efb
Compare
e714efb to
5e107cd
Compare
5e107cd to
5fbffe7
Compare
5fbffe7 to
535ac56
Compare
130d214 to
728b3e2
Compare
728b3e2 to
7383080
Compare
7383080 to
239fff0
Compare
eeb6375 to
a5d1df7
Compare
| @@ -1,5 +1,6 @@ | |||
| ## Unreleased | |||
|
|
|||
| - (v0_9) Move Basic Catalog components to `@a2ui/web_core` as universal Web Components. | |||
There was a problem hiding this comment.
remove this entry since we are moving just the implementations but keeping the public API surface by re-exporting
There was a problem hiding this comment.
Done! Removed this entry from the changelog.
acbd410 to
6ec7083
Compare
…eb_core and re-export in lit
6ec7083 to
f771a10
Compare
Overview
Moves the 18 Basic Catalog Web Component implementations from
@a2ui/litinto@a2ui/web_core, making them available as framework-agnostic universal custom elements that can be shared across all web renderers.Details
AudioPlayer,Button,Card,CheckBox,ChoicePicker,Column,DateTimeInput,Divider,Icon,Image,List,Modal,Row,Slider,Tabs,Text,TextField,Video) into@a2ui/web_core/v0_9/basic_catalog/components/.BasicCatalogA2uiLitElementand controller utilities in@a2ui/web_core/v0_9/basic_catalogwith Light DOM rendering and shared styling.@a2ui/litwith JSDoc notices to ensure existing code and consumers continue working without breaking changes.@a2ui/web_core, utilizing a JSDOM testing environment for Node.js test execution.willUpdate), and custom element tags.