@adia-ai/web-components 0.8.40 → 0.8.42
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +71 -3
- package/MIGRATION.md +1229 -16
- package/README.md +25 -30
- package/USAGE.md +30 -4
- package/bin/audit-template-children.mjs +556 -0
- package/components/accordion/accordion-item.a2ui.json +4 -0
- package/components/accordion/accordion-item.yaml +2 -0
- package/components/accordion/accordion.a2ui.json +4 -0
- package/components/accordion/accordion.yaml +2 -0
- package/components/action-list/action-item.a2ui.json +29 -2
- package/components/action-list/action-item.yaml +46 -3
- package/components/action-list/action-list.a2ui.json +6 -1
- package/components/action-list/action-list.class.js +114 -11
- package/components/action-list/action-list.css +43 -3
- package/components/action-list/action-list.d.ts +6 -2
- package/components/action-list/action-list.yaml +5 -0
- package/components/adia-mark/adia-mark.a2ui.json +1 -0
- package/components/adia-wordmark/adia-wordmark.a2ui.json +1 -0
- package/components/agent-artifact/agent-artifact.a2ui.json +1 -0
- package/components/agent-feedback-bar/agent-feedback-bar.a2ui.json +6 -5
- package/components/agent-feedback-bar/agent-feedback-bar.yaml +6 -2
- package/components/agent-questions/agent-questions.a2ui.json +1 -0
- package/components/agent-reasoning/agent-reasoning.a2ui.json +6 -5
- package/components/agent-reasoning/agent-reasoning.yaml +6 -2
- package/components/agent-suggestions/agent-suggestions.a2ui.json +11 -2
- package/components/agent-suggestions/agent-suggestions.class.js +2 -1
- package/components/agent-suggestions/agent-suggestions.d.ts +4 -4
- package/components/agent-suggestions/agent-suggestions.yaml +4 -2
- package/components/agent-trace/agent-trace.a2ui.json +6 -5
- package/components/agent-trace/agent-trace.yaml +6 -2
- package/components/alert/alert.a2ui.json +1 -0
- package/components/alert/alert.css +1 -1
- package/components/anchor-bar/anchor-bar.a2ui.json +1 -0
- package/components/aside/aside.a2ui.json +1 -0
- package/components/avatar/avatar-group.a2ui.json +7 -1
- package/components/avatar/avatar-group.yaml +1 -0
- package/components/avatar/avatar.a2ui.json +12 -11
- package/components/avatar/avatar.d.ts +1 -1
- package/components/avatar/avatar.yaml +4 -4
- package/components/badge/badge.a2ui.json +1 -0
- package/components/block/block.a2ui.json +1 -0
- package/components/blockquote/blockquote.a2ui.json +1 -0
- package/components/breadcrumb/breadcrumb.a2ui.json +1 -0
- package/components/button/button.a2ui.json +1 -3
- package/components/button/button.yaml +1 -3
- package/components/calendar-grid/calendar-grid.a2ui.json +1 -0
- package/components/calendar-grid/calendar-grid.class.js +2 -1
- package/components/calendar-picker/calendar-picker.a2ui.json +143 -24
- package/components/calendar-picker/calendar-picker.class.js +490 -197
- package/components/calendar-picker/calendar-picker.css +120 -171
- package/components/calendar-picker/calendar-picker.yaml +225 -47
- package/components/canvas/canvas.a2ui.json +6 -5
- package/components/canvas/canvas.d.ts +37 -0
- package/components/canvas/canvas.js +72 -3
- package/components/canvas/canvas.yaml +6 -2
- package/components/card/card.a2ui.json +25 -2
- package/components/card/card.class.js +3 -0
- package/components/card/card.css +31 -1
- package/components/card/card.d.ts +2 -2
- package/components/card/card.examples.md +3 -3
- package/components/card/card.yaml +28 -4
- package/components/chart/chart.a2ui.json +27 -7
- package/components/chart/chart.class.js +64 -22
- package/components/chart/chart.css +6 -4
- package/components/chart/chart.d.ts +10 -4
- package/components/chart/chart.yaml +40 -6
- package/components/chart-legend/chart-legend.a2ui.json +7 -1
- package/components/chart-legend/chart-legend.class.js +59 -6
- package/components/chart-legend/chart-legend.css +5 -2
- package/components/chart-legend/chart-legend.d.ts +3 -1
- package/components/chart-legend/chart-legend.yaml +15 -1
- package/components/chat-thread/chat-input.a2ui.json +1 -0
- package/components/chat-thread/chat-thread.a2ui.json +10 -9
- package/components/chat-thread/chat-thread.yaml +13 -20
- package/components/check/check.a2ui.json +10 -9
- package/components/check/check.yaml +4 -4
- package/components/code/code.a2ui.json +1 -0
- package/components/col/col.a2ui.json +1 -0
- package/components/color-area/color-area.a2ui.json +148 -0
- package/components/color-area/color-area.class.js +657 -0
- package/components/color-area/color-area.css +188 -0
- package/components/color-area/color-area.d.ts +66 -0
- package/components/color-area/color-area.examples.md +19 -0
- package/components/color-area/color-area.js +17 -0
- package/components/color-area/color-area.yaml +183 -0
- package/components/color-input/color-input.a2ui.json +6 -5
- package/components/color-input/color-input.class.js +9 -6
- package/components/color-input/color-input.css +1 -1
- package/components/color-input/color-input.js +2 -2
- package/components/color-input/color-input.yaml +14 -12
- package/components/color-picker/color-picker.a2ui.json +16 -12
- package/components/color-picker/color-picker.class.js +24 -633
- package/components/color-picker/color-picker.css +14 -182
- package/components/color-picker/color-picker.yaml +41 -41
- package/components/combobox/combobox.a2ui.json +3 -2
- package/components/combobox/combobox.yaml +2 -2
- package/components/command/command.a2ui.json +12 -10
- package/components/command/command.class.js +3 -2
- package/components/command/command.yaml +17 -4
- package/components/context-menu/context-menu.a2ui.json +1 -0
- package/components/date-range-picker/date-range-picker.a2ui.json +2 -1
- package/components/date-range-picker/date-range-picker.yaml +1 -1
- package/components/datetime-picker/datetime-picker.a2ui.json +15 -108
- package/components/datetime-picker/datetime-picker.class.js +37 -690
- package/components/datetime-picker/datetime-picker.css +11 -183
- package/components/datetime-picker/datetime-picker.d.ts +4 -5
- package/components/datetime-picker/datetime-picker.yaml +44 -135
- package/components/demo-toggle/demo-toggle.a2ui.json +1 -0
- package/components/demo-toggle/demo-toggle.css +1 -1
- package/components/description-list/description-list.a2ui.json +2 -1
- package/components/description-list/description-list.css +1 -1
- package/components/description-list/description-list.d.ts +1 -1
- package/components/description-list/description-list.yaml +1 -1
- package/components/display-field/display-field.a2ui.json +1 -0
- package/components/divider/divider.a2ui.json +1 -0
- package/components/drawer/drawer.a2ui.json +1 -3
- package/components/drawer/drawer.css +1 -1
- package/components/drawer/drawer.yaml +0 -2
- package/components/drilldown/drilldown.a2ui.json +22 -20
- package/components/drilldown/drilldown.class.js +4 -3
- package/components/drilldown/drilldown.css +6 -6
- package/components/drilldown/drilldown.yaml +40 -9
- package/components/embed/embed.a2ui.json +6 -5
- package/components/embed/embed.yaml +2 -2
- package/components/empty-state/empty-state.a2ui.json +1 -0
- package/components/feed/feed-item.a2ui.json +25 -5
- package/components/feed/feed-item.yaml +28 -7
- package/components/feed/feed.a2ui.json +9 -2
- package/components/feed/feed.class.js +19 -12
- package/components/feed/feed.css +8 -8
- package/components/feed/feed.yaml +14 -1
- package/components/field/field.a2ui.json +2 -1
- package/components/field/field.class.js +4 -1
- package/components/field/field.examples.md +1 -1
- package/components/field/field.yaml +1 -1
- package/components/fields/fields.a2ui.json +1 -0
- package/components/fields/fields.examples.md +1 -1
- package/components/footer/footer.a2ui.json +1 -0
- package/components/frame/frame.a2ui.json +1 -0
- package/components/grid/grid.a2ui.json +1 -0
- package/components/header/header.a2ui.json +3 -2
- package/components/header/header.yaml +3 -3
- package/components/heatmap/heatmap.a2ui.json +2 -1
- package/components/heatmap/heatmap.class.js +1 -1
- package/components/heatmap/heatmap.css +4 -4
- package/components/heatmap/heatmap.yaml +1 -1
- package/components/icon/icon.a2ui.json +1 -0
- package/components/image/image.a2ui.json +28 -14
- package/components/image/image.class.js +38 -23
- package/components/image/image.css +18 -8
- package/components/image/image.d.ts +2 -2
- package/components/image/image.examples.md +3 -3
- package/components/image/image.yaml +23 -7
- package/components/index.js +1 -0
- package/components/inline-edit/inline-edit.a2ui.json +1 -0
- package/components/inline-message/inline-message.a2ui.json +3 -1
- package/components/inline-message/inline-message.class.js +3 -1
- package/components/inline-message/inline-message.d.ts +2 -2
- package/components/inline-message/inline-message.yaml +2 -1
- package/components/input/input.a2ui.json +66 -16
- package/components/input/input.class.js +64 -7
- package/components/input/input.css +14 -14
- package/components/input/input.d.ts +9 -4
- package/components/input/input.yaml +83 -10
- package/components/inspector/inspector.a2ui.json +1 -0
- package/components/integration-card/integration-card.a2ui.json +1 -0
- package/components/integration-card/integration-card.examples.md +2 -1
- package/components/kbd/kbd.a2ui.json +1 -0
- package/components/link/link.a2ui.json +2 -1
- package/components/link/link.yaml +1 -1
- package/components/list/list-item.a2ui.json +9 -0
- package/components/list/list-item.yaml +12 -0
- package/components/list/list.a2ui.json +9 -3
- package/components/list/list.class.js +14 -1
- package/components/list/list.css +12 -1
- package/components/list/list.d.ts +7 -5
- package/components/list/list.yaml +16 -6
- package/components/list-window/list-window.a2ui.json +1 -0
- package/components/list-window/list-window.class.js +2 -1
- package/components/loading-overlay/loading-overlay.a2ui.json +1 -0
- package/components/mark/mark.a2ui.json +2 -1
- package/components/mark/mark.yaml +1 -1
- package/components/menu/menu-divider.a2ui.json +1 -0
- package/components/menu/menu-item.a2ui.json +11 -4
- package/components/menu/menu-item.yaml +30 -3
- package/components/menu/menu-label.a2ui.json +1 -0
- package/components/menu/menu.a2ui.json +3 -2
- package/components/menu/menu.class.js +36 -8
- package/components/menu/menu.d.ts +5 -3
- package/components/menu/menu.yaml +3 -3
- package/components/modal/modal.a2ui.json +1 -0
- package/components/nav/nav.a2ui.json +1 -0
- package/components/nav/nav.class.js +14 -3
- package/components/nav-group/nav-group.a2ui.json +1 -0
- package/components/nav-group/nav-group.class.js +3 -1
- package/components/nav-item/nav-item.a2ui.json +1 -0
- package/components/noodles/noodles.a2ui.json +1 -0
- package/components/noodles/noodles.class.js +5 -1
- package/components/number-format/number-format.a2ui.json +1 -0
- package/components/option-card/option-card.a2ui.json +1 -0
- package/components/otp-input/otp-input.a2ui.json +3 -2
- package/components/otp-input/otp-input.yaml +9 -2
- package/components/page/page.a2ui.json +13 -0
- package/components/page/page.d.ts +1 -1
- package/components/page/page.yaml +1 -0
- package/components/pagination/pagination.a2ui.json +1 -0
- package/components/pagination/pagination.class.js +3 -2
- package/components/pane/pane.a2ui.json +17 -1
- package/components/pane/pane.class.js +35 -6
- package/components/pane/pane.css +17 -12
- package/components/pane/pane.d.ts +10 -7
- package/components/pane/pane.yaml +18 -1
- package/components/password-strength/password-strength.a2ui.json +1 -0
- package/components/pipeline-status/pipeline-status.a2ui.json +1 -0
- package/components/popover/popover.a2ui.json +7 -6
- package/components/popover/popover.class.js +2 -2
- package/components/popover/popover.d.ts +2 -2
- package/components/popover/popover.yaml +4 -4
- package/components/preview/preview.a2ui.json +1 -0
- package/components/preview/preview.class.js +5 -1
- package/components/progress/progress.a2ui.json +47 -24
- package/components/progress/progress.class.js +66 -11
- package/components/progress/progress.css +44 -26
- package/components/progress/progress.d.ts +7 -5
- package/components/progress/progress.examples.md +2 -2
- package/components/progress/progress.yaml +235 -53
- package/components/progress-row/progress-row.a2ui.json +16 -12
- package/components/progress-row/progress-row.d.ts +2 -2
- package/components/progress-row/progress-row.examples.md +2 -14
- package/components/progress-row/progress-row.yaml +28 -36
- package/components/qr-code/qr-code.a2ui.json +3 -2
- package/components/qr-code/qr-code.class.js +4 -4
- package/components/qr-code/qr-code.css +1 -1
- package/components/qr-code/qr-code.yaml +5 -3
- package/components/radio/radio.a2ui.json +8 -7
- package/components/radio/radio.class.js +8 -0
- package/components/radio/radio.yaml +3 -3
- package/components/radio-group/radio-group.a2ui.json +5 -3
- package/components/radio-group/radio-group.class.js +11 -0
- package/components/radio-group/radio-group.yaml +7 -1
- package/components/range/range.a2ui.json +6 -0
- package/components/range/range.class.js +2 -2
- package/components/range/range.css +2 -2
- package/components/range/range.yaml +3 -0
- package/components/rating/rating.a2ui.json +1 -0
- package/components/relative-time/relative-time.a2ui.json +1 -0
- package/components/richtext/richtext.a2ui.json +2 -1
- package/components/richtext/richtext.yaml +1 -1
- package/components/row/row.a2ui.json +1 -0
- package/components/search/search.a2ui.json +1 -0
- package/components/search/search.class.js +4 -1
- package/components/section/section.a2ui.json +1 -0
- package/components/segment/segment.a2ui.json +21 -10
- package/components/segment/segment.css +15 -0
- package/components/segment/segment.d.ts +2 -1
- package/components/segment/segment.yaml +20 -13
- package/components/segmented/segmented.a2ui.json +36 -7
- package/components/segmented/segmented.class.js +113 -22
- package/components/segmented/segmented.css +3 -0
- package/components/segmented/segmented.d.ts +3 -1
- package/components/segmented/segmented.yaml +80 -8
- package/components/select/select.a2ui.json +18 -13
- package/components/select/select.class.js +61 -37
- package/components/select/select.css +15 -13
- package/components/select/select.yaml +18 -7
- package/components/skeleton/skeleton.a2ui.json +8 -7
- package/components/skeleton/skeleton.class.js +8 -7
- package/components/skeleton/skeleton.css +21 -6
- package/components/skeleton/skeleton.d.ts +2 -2
- package/components/skeleton/skeleton.examples.md +2 -2
- package/components/skeleton/skeleton.yaml +3 -2
- package/components/skip-nav/skip-nav.a2ui.json +1 -0
- package/components/slider/slider.a2ui.json +6 -0
- package/components/slider/slider.class.js +20 -3
- package/components/slider/slider.css +2 -2
- package/components/slider/slider.yaml +3 -0
- package/components/spinner/spinner.a2ui.json +1 -0
- package/components/stack/stack.a2ui.json +1 -0
- package/components/stat/stat.a2ui.json +1 -0
- package/components/stat/stat.js +2 -2
- package/components/step-progress/step-progress.a2ui.json +1 -0
- package/components/step-progress/step-progress.yaml +1 -1
- package/components/stepper/stepper-item.a2ui.json +7 -3
- package/components/stepper/stepper-item.yaml +15 -5
- package/components/stepper/stepper.a2ui.json +5 -1
- package/components/stepper/stepper.class.js +31 -16
- package/components/stepper/stepper.d.ts +1 -1
- package/components/stepper/stepper.yaml +4 -2
- package/components/stream/stream.a2ui.json +1 -0
- package/components/swatch/swatch.a2ui.json +1 -0
- package/components/swatch/swatch.yaml +1 -1
- package/components/swiper/swiper.a2ui.json +1 -0
- package/components/swiper/swiper.class.js +5 -1
- package/components/switch/switch.a2ui.json +12 -11
- package/components/switch/switch.css +1 -1
- package/components/switch/switch.yaml +6 -6
- package/components/table/table.a2ui.json +1 -0
- package/components/table/table.class.js +14 -12
- package/components/table/table.css +11 -9
- package/components/table-toolbar/table-toolbar.a2ui.json +1 -0
- package/components/table-toolbar/table-toolbar.class.js +53 -22
- package/components/table-toolbar/table-toolbar.css +1 -1
- package/components/tabs/tab.a2ui.json +9 -0
- package/components/tabs/tab.js +4 -0
- package/components/tabs/tab.yaml +15 -0
- package/components/tabs/tabs.a2ui.json +9 -4
- package/components/tabs/tabs.class.js +13 -1
- package/components/tabs/tabs.css +8 -0
- package/components/tabs/tabs.d.ts +2 -0
- package/components/tabs/tabs.yaml +9 -2
- package/components/tag/tag.a2ui.json +1 -0
- package/components/tags-input/tags-input.a2ui.json +22 -17
- package/components/tags-input/tags-input.class.js +13 -11
- package/components/tags-input/tags-input.css +10 -6
- package/components/tags-input/tags-input.d.ts +16 -7
- package/components/tags-input/tags-input.examples.md +2 -2
- package/components/tags-input/tags-input.yaml +25 -8
- package/components/text/text.a2ui.json +6 -5
- package/components/text/text.css +10 -5
- package/components/text/text.d.ts +2 -2
- package/components/text/text.yaml +9 -4
- package/components/textarea/textarea.a2ui.json +2 -1
- package/components/textarea/textarea.yaml +1 -1
- package/components/theme-provider/theme-provider.a2ui.json +2 -1
- package/components/theme-provider/theme-provider.d.ts +5 -3
- package/components/theme-provider/theme-provider.yaml +5 -3
- package/components/time-picker/time-picker.a2ui.json +1 -0
- package/components/time-picker/time-picker.class.js +4 -2
- package/components/timeline/timeline-item.a2ui.json +26 -3
- package/components/timeline/timeline-item.yaml +22 -7
- package/components/timeline/timeline.a2ui.json +4 -0
- package/components/timeline/timeline.class.js +29 -18
- package/components/timeline/timeline.d.ts +3 -3
- package/components/timeline/timeline.yaml +2 -0
- package/components/toast/toast.a2ui.json +10 -3
- package/components/toast/toast.yaml +20 -13
- package/components/toc/toc.a2ui.json +1 -0
- package/components/toggle-group/toggle-group.a2ui.json +7 -3
- package/components/toggle-group/toggle-group.class.js +40 -1
- package/components/toggle-group/toggle-group.css +6 -1
- package/components/toggle-group/toggle-group.d.ts +2 -2
- package/components/toggle-group/toggle-group.yaml +21 -12
- package/components/toggle-group/toggle-option.a2ui.json +7 -3
- package/components/toggle-group/toggle-option.yaml +13 -7
- package/components/toggle-scheme/toggle-scheme.a2ui.json +2 -1
- package/components/toggle-scheme/toggle-scheme.yaml +1 -1
- package/components/toolbar/toolbar-group.a2ui.json +1 -0
- package/components/toolbar/toolbar.a2ui.json +1 -0
- package/components/toolbar/toolbar.class.js +3 -0
- package/components/tooltip/tooltip.a2ui.json +1 -0
- package/components/tour/tour-step.a2ui.json +4 -0
- package/components/tour/tour-step.yaml +2 -0
- package/components/tour/tour.a2ui.json +4 -0
- package/components/tour/tour.yaml +2 -0
- package/components/tree/tree-item.a2ui.json +5 -0
- package/components/tree/tree-item.yaml +3 -0
- package/components/tree/tree.a2ui.json +4 -0
- package/components/tree/tree.class.js +2 -1
- package/components/tree/tree.yaml +2 -0
- package/components/upload/upload.a2ui.json +8 -1
- package/components/upload/upload.class.js +35 -5
- package/components/upload/upload.css +28 -0
- package/components/upload/upload.d.ts +16 -0
- package/components/upload/upload.yaml +27 -7
- package/components/visually-hidden/visually-hidden.a2ui.json +1 -0
- package/core/dom.d.ts +11 -0
- package/core/dom.js +34 -0
- package/core/form.js +7 -0
- package/core/icons.js +5 -0
- package/core/index.d.ts +1 -0
- package/core/index.js +1 -0
- package/core/responsive.js +16 -4
- package/core/template.js +2 -1
- package/custom-elements.json +710 -587
- package/dist/host.min.css +1 -1
- package/dist/host.sheet.js +1 -1
- package/dist/theme-provider.min.js +5 -5
- package/dist/web-components.min.css +1 -1
- package/dist/web-components.min.js +92 -105
- package/dist/web-components.sheet.js +1 -1
- package/index.d.ts +12 -1
- package/package.json +4 -2
- package/patterns/admin-shell/admin-shell.examples.html +2 -2
- package/patterns/conversion-funnel/conversion-funnel.examples.html +15 -15
- package/patterns/form-system/form-system.examples.html +1 -1
- package/patterns/inline-dialog/inline-dialog.examples.html +2 -2
- package/patterns/inline-dialog/inline-dialog.html +4 -0
- package/patterns/timezone-selector/timezone-selector.examples.html +1 -1
- package/patterns/timezone-selector/timezone-selector.html +2 -2
- package/styles/api/text.css +7 -0
- package/styles/components.css +1 -0
- package/traits/_catalog.json +129 -41
- package/traits/anchor-positioning/anchor-positioning.js +1 -0
- package/traits/announcer/announcer.js +1 -0
- package/traits/arrow-grid-nav/arrow-grid-nav.js +1 -0
- package/traits/attention-pulse/attention-pulse.js +1 -0
- package/traits/count-up/count-up.js +1 -0
- package/traits/define.js +78 -0
- package/traits/focus-restore/focus-restore.js +2 -1
- package/traits/haptic-feedback/haptic-feedback.js +1 -0
- package/traits/input-mask/input-mask.js +1 -0
- package/traits/intersection-observer/intersection-observer.js +1 -0
- package/traits/layout-animation/layout-animation.js +1 -0
- package/traits/noise-texture/noise-texture.js +1 -0
- package/traits/resize-observer/resize-observer.js +1 -0
- package/traits/scroll-progress/scroll-progress.js +1 -0
- package/traits/snap-to-grid/snap-to-grid.js +1 -0
- package/traits/sound-feedback/sound-feedback.js +1 -0
- package/traits/spring-animate/spring-animate.js +1 -0
- package/traits/validation/validation.js +1 -0
package/README.md
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
# @adia-ai/web-components
|
|
2
2
|
|
|
3
|
-
Vanilla web components
|
|
4
|
-
|
|
3
|
+
Vanilla web components for AdiaUI. **~130 light-DOM custom elements**
|
|
4
|
+
(`ls components | wc -l` is the census) + **56 composable traits**, a reactive core (signals + tagged-template renderer), form-associated form controls, and integration into the A2UI generation pipeline.
|
|
5
5
|
|
|
6
|
-
> This package ships UI atoms only. Composite shells (admin / chat / editor / simple / theme) live in [`@adia-ai/web-modules`](../web-modules). The
|
|
6
|
+
> This package ships UI atoms only. Composite shells (admin / chat / editor / simple / theme) live in [`@adia-ai/web-modules`](../web-modules). The A2UI protocol runtime lives in [`@adia-ai/a2ui`](../gen-ui/a2ui); the generation pipeline + pattern corpus in [`@adia-ai/gen-ui`](../gen-ui/engine); the MCP server in [`@adia-ai/mcp`](../gen-ui/mcp) (its `gen-ui` surface).
|
|
7
7
|
>
|
|
8
8
|
> **Consumer guide:** [`USAGE.md`](./USAGE.md) — property reactivity, event contract, form participation, lifecycle, registration, TypeScript. Start here if you're integrating AdiaUI into an app.
|
|
9
9
|
>
|
|
@@ -25,7 +25,7 @@ npm install @adia-ai/web-components @adia-ai/web-modules
|
|
|
25
25
|
|
|
26
26
|
When composing UI with an AI coding agent, load the **`adia-ui-kit` skill** in the agent's harness. It encodes:
|
|
27
27
|
|
|
28
|
-
-
|
|
28
|
+
- The full primitive catalog (which `*-ui` tag does what + when to use it)
|
|
29
29
|
- Composition patterns (admin shell, dashboards, forms, chat, editor surfaces)
|
|
30
30
|
- Pre-flight manifest gate (catches "imports without declared deps" before authoring)
|
|
31
31
|
- Plan-Execute-Verify discipline (render the result in a real demo to verify)
|
|
@@ -40,13 +40,13 @@ Since **v0.6.30**, this package ships pre-flattened + minified bundles under `di
|
|
|
40
40
|
<!-- CSS: all primitives, tokens, resets (443 KB raw / ~50 KB gzipped) -->
|
|
41
41
|
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@adia-ai/web-components@0.8/dist/web-components.min.css">
|
|
42
42
|
|
|
43
|
-
<!-- JS: registers
|
|
43
|
+
<!-- JS: registers every primitive (~250 KB gzipped via Brotli) -->
|
|
44
44
|
<script type="module" src="https://cdn.jsdelivr.net/npm/@adia-ai/web-components@0.8/dist/web-components.min.js"></script>
|
|
45
45
|
```
|
|
46
46
|
|
|
47
47
|
The `@0.8` range tracks the latest `0.8.x` patch automatically (won't jump to a breaking `0.9`). For reproducible builds, pin an exact version instead — e.g. `@adia-ai/web-components@0.8.7/dist/web-components.min.css`.
|
|
48
48
|
|
|
49
|
-
For composite shells, add the corresponding bundle from `@adia-ai/web-modules` — see [its README](../web-modules/#cdn-no-bundler--codepen-marketing-pages-static-html) or the [CDN usage guide](https://ui-kit.exe.xyz/site/cdn-usage). The kitchen-sink path is `@adia-ai/web-modules/dist/everything.min.js` (all primitives + all 4 shells; ~
|
|
49
|
+
For composite shells, add the corresponding bundle from `@adia-ai/web-modules` — see [its README](../web-modules/#cdn-no-bundler--codepen-marketing-pages-static-html) or the [CDN usage guide](https://ui-kit.exe.xyz/site/cdn-usage). The kitchen-sink path is `@adia-ai/web-modules/dist/everything.min.js` (all primitives + all 4 shells; ~424 KB gzipped) — one tag for CodePen demos.
|
|
50
50
|
|
|
51
51
|
**Pick ONE bundle path.** Mixing (e.g. `everything.min.js` + a separate `web-components.min.js`) causes `customElements.define` to throw "name already defined" on dup-load. The choice tree:
|
|
52
52
|
|
|
@@ -59,7 +59,7 @@ For composite shells, add the corresponding bundle from `@adia-ai/web-modules`
|
|
|
59
59
|
ESM-only — bundlers (Vite, esbuild, webpack 5+, Rollup) resolve `import` for both `.js` and `.css`; in plain HTML use `<script type="module">` + `<link rel="stylesheet">`.
|
|
60
60
|
|
|
61
61
|
```js
|
|
62
|
-
import '@adia-ai/web-components'; // registers every *-ui tag
|
|
62
|
+
import '@adia-ai/web-components'; // registers every *-ui tag
|
|
63
63
|
import '@adia-ai/web-components/css'; // every primitive's CSS (one stylesheet)
|
|
64
64
|
```
|
|
65
65
|
|
|
@@ -101,7 +101,7 @@ web-components/
|
|
|
101
101
|
│ └── data-stream.js `data-stream-*` attribute trait (HTTP/SSE/WS,
|
|
102
102
|
│ signal-backed, refcounted shared transports)
|
|
103
103
|
│
|
|
104
|
-
├── components/ —
|
|
104
|
+
├── components/ — ~130 *-ui custom elements (primitives)
|
|
105
105
|
│ └── <tag>/
|
|
106
106
|
│ ├── <tag>.js class definition (extends UIElement / UIFormElement)
|
|
107
107
|
│ ├── <tag>.css @scope(tag-ui) two-block: tokens + styles
|
|
@@ -119,14 +119,6 @@ web-components/
|
|
|
119
119
|
│ drives the MCP get_traits tool + per-trait demo
|
|
120
120
|
│ pages. Full contract in .claude/docs/specs/traits.md.
|
|
121
121
|
│
|
|
122
|
-
├── a2ui/ — deprecation shim for one release
|
|
123
|
-
│ └── index.js Re-exports @adia-ai/a2ui-runtime with a
|
|
124
|
-
│ one-time console.warn. Removed in 0.1.0.
|
|
125
|
-
│ All actual A2UI runtime code (renderer,
|
|
126
|
-
│ registry, streams, surface manifest,
|
|
127
|
-
│ wiring, dockables, controllers) lives in
|
|
128
|
-
│ `@adia-ai/a2ui` at packages/gen-ui/a2ui/.
|
|
129
|
-
│
|
|
130
122
|
└── styles/ — Global tokens and CSS layering
|
|
131
123
|
├── tokens.css all --a-* design tokens
|
|
132
124
|
├── colors/ primitives / semantics / scrims
|
|
@@ -261,13 +253,14 @@ examples.
|
|
|
261
253
|
|
|
262
254
|
## A2UI runtime
|
|
263
255
|
|
|
256
|
+
The A2UI runtime lives in the sibling zero-dependency [`@adia-ai/a2ui`](../gen-ui/a2ui) package; this package is the component catalog its renderer resolves tags against:
|
|
257
|
+
|
|
264
258
|
```javascript
|
|
265
|
-
import { A2UIRenderer } from '@adia-ai/a2ui
|
|
266
|
-
|
|
267
|
-
// via a deprecation shim that prints a console.warn; removed in 0.1.0.)
|
|
259
|
+
import { A2UIRenderer } from '@adia-ai/a2ui';
|
|
260
|
+
import '@adia-ai/web-components'; // register the custom elements
|
|
268
261
|
|
|
269
|
-
const renderer = new A2UIRenderer(
|
|
270
|
-
renderer.
|
|
262
|
+
const renderer = new A2UIRenderer(document.getElementById('canvas'));
|
|
263
|
+
renderer.process({
|
|
271
264
|
type: 'updateComponents',
|
|
272
265
|
components: [
|
|
273
266
|
{ id: 'root', component: 'Card', children: ['hdr', 'body'] },
|
|
@@ -278,10 +271,11 @@ renderer.apply({
|
|
|
278
271
|
});
|
|
279
272
|
```
|
|
280
273
|
|
|
281
|
-
|
|
282
|
-
`updateDataModel`, `wireComponents`, `
|
|
283
|
-
|
|
284
|
-
output is robust
|
|
274
|
+
Core message kinds: `createSurface`, `updateComponents`,
|
|
275
|
+
`updateDataModel`, `wireComponents`, `deleteSurface` (plus
|
|
276
|
+
`updateStyles`/`removeStyles`). The registry normalizes LLM-emitted
|
|
277
|
+
aliases (e.g. `Carousel` → `swiper-ui`) so generated output is robust
|
|
278
|
+
to name drift.
|
|
285
279
|
|
|
286
280
|
## Data streaming via `data-stream-*` attributes
|
|
287
281
|
|
|
@@ -329,9 +323,10 @@ attribute table + live demos:
|
|
|
329
323
|
npm run build:components # regenerate all .a2ui.json from YAML
|
|
330
324
|
```
|
|
331
325
|
|
|
332
|
-
The build also writes `packages/gen-ui/
|
|
326
|
+
The build also writes `packages/gen-ui/a2ui/catalog/catalog-a2ui_0_9.json` and
|
|
333
327
|
`catalog-a2ui_0_9_rules.txt` — the flat-file catalog the MCP server and
|
|
334
|
-
generation engine consume
|
|
328
|
+
generation engine consume (ADR-0050: the catalog is `@adia-ai/a2ui`'s
|
|
329
|
+
contract).
|
|
335
330
|
|
|
336
331
|
## Themes, density, scale
|
|
337
332
|
|
|
@@ -353,11 +348,11 @@ Each is a CSS-variable override; no class toggles, no re-imports.
|
|
|
353
348
|
## Dependency direction
|
|
354
349
|
|
|
355
350
|
```
|
|
356
|
-
|
|
357
|
-
|
|
351
|
+
gen-ui (compose/) ──reads──> gen-ui (corpus/) ←─reads── web-components
|
|
352
|
+
mcp ──reads──> gen-ui
|
|
358
353
|
```
|
|
359
354
|
|
|
360
|
-
Web-components never imports from
|
|
355
|
+
Web-components never imports from `@adia-ai/gen-ui` or `@adia-ai/mcp`. The A2UI renderer
|
|
361
356
|
consumes a protocol, not a generator — anything that emits valid A2UI
|
|
362
357
|
messages drives it.
|
|
363
358
|
|
package/USAGE.md
CHANGED
|
@@ -104,6 +104,32 @@ guide and the yaml disagree, the yaml wins — file a doc-bug FEEDBACK.
|
|
|
104
104
|
|
|
105
105
|
For the live demo of every component: <https://ui-kit.exe.xyz/site/components/>.
|
|
106
106
|
|
|
107
|
+
### SSR admission gate — `adia-ui-audit-template-children` (gh#1446)
|
|
108
|
+
|
|
109
|
+
A second bin, for a consumer running its own SSR pipeline against this
|
|
110
|
+
package: it flags any shipped component whose `static template` is non-null
|
|
111
|
+
AND whose yaml declares a `slots.default` entry — the shape where
|
|
112
|
+
`connectedCallback`'s first-mount `stamp()` calls `replaceChildren()` and
|
|
113
|
+
silently destroys real, server-rendered light-DOM children (gh#284). Resolves
|
|
114
|
+
against the INSTALLED package (`node_modules/@adia-ai/web-components/components/**`
|
|
115
|
+
+ `@adia-ai/web-modules` if present), not this repo's own source tree — the
|
|
116
|
+
same audit `scripts/dev/audit-template-child-conflict.mjs` runs here, now
|
|
117
|
+
consumable outside the monorepo instead of needing its own reimplementation:
|
|
118
|
+
|
|
119
|
+
```bash
|
|
120
|
+
npx adia-ui-audit-template-children # human-readable report
|
|
121
|
+
npx adia-ui-audit-template-children --json # machine-readable, for a CI gate
|
|
122
|
+
npx adia-ui-audit-template-children --strict # also fail on advisory (projected-text) findings
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
Exit 0 clean, 1 on a finding (critical always; advisory only under
|
|
126
|
+
`--strict`), 2 on a usage error. The exact definition of "accepts consumer
|
|
127
|
+
children" this bin enforces is documented in its own header
|
|
128
|
+
(`node_modules/@adia-ai/web-components/bin/audit-template-children.mjs`) —
|
|
129
|
+
read it there before reimplementing any part of this check; a
|
|
130
|
+
reimplementation that drifts from that definition is the bug gh#1446 was
|
|
131
|
+
filed to fix.
|
|
132
|
+
|
|
107
133
|
---
|
|
108
134
|
|
|
109
135
|
## Icons — wiring the registry
|
|
@@ -411,7 +437,7 @@ Some primitives emit named events beyond `change`/`input`:
|
|
|
411
437
|
- `<select-ui>` — emits `action` for option-callbacks with `detail.action`
|
|
412
438
|
- `<search-ui>` — emits `search` after debounce with `detail.value`
|
|
413
439
|
- `<chat-composer>` — emits `composer-submit` on Enter with `detail.value`
|
|
414
|
-
- `<color-
|
|
440
|
+
- `<color-area-ui>` — emits `input` + `change` with rich detail (`{ value, l, c, h, hex, oklch }`)
|
|
415
441
|
|
|
416
442
|
Each primitive's yaml lists its complete event surface. Live demos at `https://ui-kit.exe.xyz/site/components/<name>`.
|
|
417
443
|
|
|
@@ -1182,18 +1208,18 @@ When a custom `[slot="header"]` carries action buttons (Copy / Download / Edit),
|
|
|
1182
1208
|
|
|
1183
1209
|
§206 (v0.5.7) added the `[slot="action"]` / `[slot="actions"]` / `[data-no-toggle]` exclusion list to the toggle-cascade.
|
|
1184
1210
|
|
|
1185
|
-
### §221f — `<color-
|
|
1211
|
+
### §221f — `<color-area-ui>` inline pattern
|
|
1186
1212
|
|
|
1187
1213
|
For a compact swatch-and-popover authoring shape:
|
|
1188
1214
|
|
|
1189
1215
|
```html
|
|
1190
1216
|
<popover-ui trigger="click" placement="bottom-start">
|
|
1191
1217
|
<button-ui slot="trigger" text="" icon="palette" aria-label="Pick a color"></button-ui>
|
|
1192
|
-
<color-
|
|
1218
|
+
<color-area-ui slot="content" value="oklch(0.7 0.15 220)" alpha="off"></color-area-ui>
|
|
1193
1219
|
</popover-ui>
|
|
1194
1220
|
```
|
|
1195
1221
|
|
|
1196
|
-
The popover handles focus management + click-outside dismiss; the button-ui exposes the right ARIA semantics. `<color-
|
|
1222
|
+
The popover handles focus management + click-outside dismiss; the button-ui exposes the right ARIA semantics. `<color-area-ui>` fires `change` events that bubble through the popover — listen on the popover host. (`<color-area-ui>` is the ADR-0063/gh#1563 rename of `<color-picker-ui>`, which still works as a deprecated alias — this recipe is exactly what `<color-input-ui>` canonicalizes.)
|
|
1197
1223
|
|
|
1198
1224
|
### §221g — `[data-scheme]` ancestor opt-in for color scheme
|
|
1199
1225
|
|