@adia-ai/web-components 0.6.33 → 0.6.35
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 +64 -0
- package/color/index.js +1 -1
- package/components/accordion/accordion-item.yaml +2 -2
- package/components/accordion/accordion.css +2 -2
- package/components/accordion/accordion.js +1 -1
- package/components/action-list/action-item.yaml +2 -2
- package/components/action-list/action-list.css +2 -2
- package/components/action-list/action-list.js +1 -1
- package/components/agent-artifact/{class.js → agent-artifact.class.js} +1 -1
- package/components/agent-artifact/agent-artifact.css +31 -31
- package/components/agent-artifact/agent-artifact.js +1 -1
- package/components/agent-feedback-bar/agent-feedback-bar.css +10 -10
- package/components/agent-feedback-bar/agent-feedback-bar.js +1 -1
- package/components/agent-questions/agent-questions.css +57 -57
- package/components/agent-questions/agent-questions.js +1 -1
- package/components/agent-reasoning/agent-reasoning.css +62 -62
- package/components/agent-reasoning/agent-reasoning.js +1 -1
- package/components/agent-suggestions/agent-suggestions.css +4 -4
- package/components/agent-suggestions/agent-suggestions.js +1 -1
- package/components/agent-trace/agent-trace.css +53 -53
- package/components/alert/alert.a2ui.json +64 -1
- package/components/alert/{class.js → alert.class.js} +189 -2
- package/components/alert/alert.css +119 -41
- package/components/alert/alert.d.ts +14 -0
- package/components/alert/alert.js +1 -1
- package/components/alert/alert.test.js +184 -0
- package/components/alert/alert.yaml +114 -1
- package/components/avatar/avatar-group.yaml +2 -2
- package/components/avatar/avatar.css +27 -27
- package/components/avatar/avatar.js +1 -1
- package/components/badge/badge.css +27 -27
- package/components/badge/badge.js +1 -1
- package/components/block/block.css +16 -16
- package/components/block/block.js +1 -1
- package/components/breadcrumb/breadcrumb.css +23 -23
- package/components/breadcrumb/breadcrumb.js +1 -1
- package/components/button/button.css +101 -91
- package/components/button/button.js +1 -1
- package/components/calendar-grid/calendar-grid.a2ui.json +146 -0
- package/components/calendar-grid/calendar-grid.class.js +326 -0
- package/components/calendar-grid/calendar-grid.css +246 -0
- package/components/calendar-grid/calendar-grid.d.ts +41 -0
- package/components/calendar-grid/calendar-grid.js +17 -0
- package/components/calendar-grid/calendar-grid.yaml +136 -0
- package/components/calendar-picker/calendar-picker.css +139 -139
- package/components/calendar-picker/calendar-picker.js +1 -1
- package/components/canvas/canvas.css +12 -12
- package/components/card/card.css +83 -83
- package/components/card/card.js +1 -1
- package/components/chart/chart.css +224 -224
- package/components/chart/chart.js +1 -1
- package/components/chart-legend/chart-legend.css +26 -26
- package/components/chart-legend/chart-legend.js +1 -1
- package/components/chat-thread/chat-input.a2ui.json +1 -1
- package/components/chat-thread/chat-input.js +6 -1
- package/components/chat-thread/chat-input.yaml +4 -1
- package/components/chat-thread/chat-thread.js +1 -1
- package/components/check/check.css +40 -40
- package/components/check/check.js +1 -1
- package/components/code/code.css +125 -125
- package/components/code/code.js +1 -1
- package/components/col/col.css +15 -15
- package/components/col/col.js +1 -1
- package/components/color-input/color-input.js +1 -1
- package/components/color-picker/color-picker.css +55 -55
- package/components/color-picker/color-picker.js +1 -1
- package/components/combobox/combobox.a2ui.json +363 -0
- package/components/combobox/combobox.class.js +861 -0
- package/components/combobox/combobox.css +244 -0
- package/components/combobox/combobox.d.ts +113 -0
- package/components/combobox/combobox.examples.md +59 -0
- package/components/combobox/combobox.js +17 -0
- package/components/combobox/combobox.test.js +181 -0
- package/components/combobox/combobox.yaml +369 -0
- package/components/command/command.css +90 -90
- package/components/command/command.js +1 -1
- package/components/date-range-picker/date-range-picker.a2ui.json +300 -0
- package/components/date-range-picker/date-range-picker.class.js +791 -0
- package/components/date-range-picker/date-range-picker.css +224 -0
- package/components/date-range-picker/date-range-picker.d.ts +82 -0
- package/components/date-range-picker/date-range-picker.examples.md +37 -0
- package/components/date-range-picker/date-range-picker.js +17 -0
- package/components/date-range-picker/date-range-picker.test.js +387 -0
- package/components/date-range-picker/date-range-picker.yaml +285 -0
- package/components/datetime-picker/datetime-picker.a2ui.json +334 -0
- package/components/datetime-picker/datetime-picker.class.js +706 -0
- package/components/datetime-picker/datetime-picker.css +150 -0
- package/components/datetime-picker/datetime-picker.d.ts +86 -0
- package/components/datetime-picker/datetime-picker.examples.md +46 -0
- package/components/datetime-picker/datetime-picker.js +17 -0
- package/components/datetime-picker/datetime-picker.test.js +454 -0
- package/components/datetime-picker/datetime-picker.yaml +332 -0
- package/components/demo-toggle/demo-toggle.css +27 -27
- package/components/demo-toggle/demo-toggle.js +1 -1
- package/components/description-list/description-list.css +18 -18
- package/components/description-list/description-list.js +1 -1
- package/components/divider/divider.css +24 -24
- package/components/divider/divider.js +1 -1
- package/components/drawer/drawer.js +1 -1
- package/components/embed/embed.css +6 -6
- package/components/embed/embed.js +1 -1
- package/components/empty-state/empty-state.css +27 -27
- package/components/empty-state/empty-state.js +1 -1
- package/components/feed/feed.css +12 -12
- package/components/feed/feed.js +1 -1
- package/components/field/field.css +28 -28
- package/components/field/field.js +1 -1
- package/components/field/field.test.js +1 -1
- package/components/fields/fields.css +5 -5
- package/components/fields/fields.js +1 -1
- package/components/grid/grid.css +5 -5
- package/components/grid/grid.js +1 -1
- package/components/heatmap/heatmap.css +63 -63
- package/components/heatmap/heatmap.js +1 -1
- package/components/icon/icon.css +12 -12
- package/components/icon/icon.js +1 -1
- package/components/image/image.css +14 -14
- package/components/image/image.js +1 -1
- package/components/index.js +11 -0
- package/components/inline-message/inline-message.a2ui.json +143 -0
- package/components/inline-message/inline-message.class.js +169 -0
- package/components/inline-message/inline-message.css +75 -0
- package/components/inline-message/inline-message.d.ts +31 -0
- package/components/inline-message/inline-message.examples.md +19 -0
- package/components/inline-message/inline-message.js +17 -0
- package/components/inline-message/inline-message.test.js +203 -0
- package/components/inline-message/inline-message.yaml +205 -0
- package/components/input/input.css +67 -67
- package/components/input/input.js +1 -1
- package/components/input/input.yaml +5 -4
- package/components/inspector/inspector.css +6 -6
- package/components/inspector/inspector.js +1 -1
- package/components/integration-card/integration-card.a2ui.json +268 -0
- package/components/integration-card/integration-card.class.js +410 -0
- package/components/integration-card/integration-card.css +169 -0
- package/components/integration-card/integration-card.d.ts +63 -0
- package/components/integration-card/integration-card.examples.md +41 -0
- package/components/integration-card/integration-card.js +17 -0
- package/components/integration-card/integration-card.test.js +306 -0
- package/components/integration-card/integration-card.yaml +280 -0
- package/components/kbd/kbd.css +32 -32
- package/components/kbd/kbd.js +1 -1
- package/components/link/link.css +12 -12
- package/components/link/link.js +1 -1
- package/components/list/list-item.yaml +2 -2
- package/components/list/list.css +8 -8
- package/components/list/list.js +1 -1
- package/components/list-window/list-window.a2ui.json +277 -0
- package/components/list-window/list-window.class.js +688 -0
- package/components/list-window/list-window.css +124 -0
- package/components/list-window/list-window.d.ts +84 -0
- package/components/list-window/list-window.examples.md +73 -0
- package/components/list-window/list-window.js +17 -0
- package/components/list-window/list-window.test.js +303 -0
- package/components/list-window/list-window.yaml +270 -0
- package/components/loading-overlay/loading-overlay.a2ui.json +176 -0
- package/components/loading-overlay/loading-overlay.class.js +203 -0
- package/components/loading-overlay/loading-overlay.css +81 -0
- package/components/loading-overlay/loading-overlay.d.ts +24 -0
- package/components/loading-overlay/loading-overlay.examples.md +50 -0
- package/components/loading-overlay/loading-overlay.js +17 -0
- package/components/loading-overlay/loading-overlay.test.js +257 -0
- package/components/loading-overlay/loading-overlay.yaml +260 -0
- package/components/menu/menu-divider.yaml +1 -1
- package/components/menu/menu-item.yaml +1 -1
- package/components/menu/menu.a2ui.json +3 -0
- package/components/menu/menu.css +8 -8
- package/components/menu/menu.js +1 -1
- package/components/menu/menu.yaml +7 -0
- package/components/modal/{class.js → modal.class.js} +12 -1
- package/components/modal/modal.css +54 -44
- package/components/modal/modal.js +1 -1
- package/components/nav/nav.css +40 -40
- package/components/nav/nav.js +1 -1
- package/components/nav-group/nav-group.css +52 -52
- package/components/nav-group/nav-group.js +1 -1
- package/components/nav-item/nav-item.css +44 -44
- package/components/nav-item/nav-item.js +1 -1
- package/components/noodles/noodles.css +31 -31
- package/components/noodles/noodles.js +1 -1
- package/components/option-card/option-card.css +69 -69
- package/components/option-card/option-card.js +1 -1
- package/components/otp-input/otp-input.css +30 -30
- package/components/otp-input/otp-input.js +1 -1
- package/components/page/page.css +18 -18
- package/components/page/page.js +1 -1
- package/components/pagination/pagination.css +61 -61
- package/components/pagination/pagination.js +1 -1
- package/components/pane/pane.css +57 -57
- package/components/pane/pane.js +1 -1
- package/components/pipeline-status/pipeline-status.css +65 -65
- package/components/pipeline-status/pipeline-status.js +1 -1
- package/components/popover/popover.a2ui.json +8 -1
- package/components/popover/popover.css +17 -17
- package/components/popover/popover.js +1 -1
- package/components/popover/popover.yaml +14 -1
- package/components/progress/progress.css +23 -23
- package/components/progress/progress.js +1 -1
- package/components/progress-row/progress-row.css +17 -17
- package/components/progress-row/progress-row.js +1 -1
- package/components/radio/radio.css +39 -39
- package/components/radio/radio.js +1 -1
- package/components/range/range.css +55 -55
- package/components/range/range.js +1 -1
- package/components/rating/rating.css +28 -28
- package/components/rating/rating.js +1 -1
- package/components/richtext/richtext.css +133 -133
- package/components/richtext/richtext.js +1 -1
- package/components/row/row.css +19 -19
- package/components/row/row.js +1 -1
- package/components/search/search.css +5 -5
- package/components/search/search.js +1 -1
- package/components/segment/segment.css +24 -24
- package/components/segment/segment.js +1 -1
- package/components/segmented/segmented.css +25 -25
- package/components/segmented/segmented.js +1 -1
- package/components/select/select.a2ui.json +58 -4
- package/components/select/{class.js → select.class.js} +415 -6
- package/components/select/select.css +242 -84
- package/components/select/select.d.ts +31 -1
- package/components/select/select.js +1 -1
- package/components/select/select.test.js +202 -0
- package/components/select/select.yaml +126 -5
- package/components/skeleton/skeleton.css +14 -14
- package/components/skeleton/skeleton.js +1 -1
- package/components/slider/slider.css +46 -46
- package/components/slider/slider.js +1 -1
- package/components/spinner/spinner.a2ui.json +198 -0
- package/components/spinner/spinner.class.js +99 -0
- package/components/spinner/spinner.css +221 -0
- package/components/spinner/spinner.d.ts +26 -0
- package/components/spinner/spinner.examples.md +26 -0
- package/components/spinner/spinner.js +17 -0
- package/components/spinner/spinner.test.js +272 -0
- package/components/spinner/spinner.yaml +238 -0
- package/components/stack/stack.css +11 -11
- package/components/stack/stack.js +1 -1
- package/components/stat/stat.css +25 -25
- package/components/step-progress/step-progress.css +20 -20
- package/components/step-progress/step-progress.js +1 -1
- package/components/stepper/stepper-item.yaml +1 -1
- package/components/stepper/stepper.css +29 -29
- package/components/stepper/stepper.js +1 -1
- package/components/stream/stream.css +12 -12
- package/components/stream/stream.js +1 -1
- package/components/swatch/swatch.css +68 -68
- package/components/swatch/swatch.js +1 -1
- package/components/swiper/swiper.css +57 -57
- package/components/swiper/swiper.js +1 -1
- package/components/switch/switch.css +52 -52
- package/components/switch/switch.js +1 -1
- package/components/table/table.css +163 -163
- package/components/table/table.js +1 -1
- package/components/table-toolbar/{class.js → table-toolbar.class.js} +1 -1
- package/components/table-toolbar/table-toolbar.css +32 -32
- package/components/table-toolbar/table-toolbar.js +1 -1
- package/components/tabs/tab.yaml +2 -2
- package/components/tabs/tabs.css +51 -51
- package/components/tabs/tabs.js +1 -1
- package/components/tag/tag.css +48 -48
- package/components/tag/tag.js +1 -1
- package/components/tags-input/tags-input.a2ui.json +337 -0
- package/components/tags-input/tags-input.class.js +776 -0
- package/components/tags-input/tags-input.css +201 -0
- package/components/tags-input/tags-input.d.ts +120 -0
- package/components/tags-input/tags-input.examples.md +92 -0
- package/components/tags-input/tags-input.js +17 -0
- package/components/tags-input/tags-input.test.js +368 -0
- package/components/tags-input/tags-input.yaml +367 -0
- package/components/text/text.css +44 -44
- package/components/text/text.js +1 -1
- package/components/textarea/textarea.a2ui.json +1 -1
- package/components/textarea/textarea.css +46 -46
- package/components/textarea/textarea.js +1 -1
- package/components/textarea/textarea.yaml +11 -8
- package/components/time-picker/time-picker.a2ui.json +267 -0
- package/components/time-picker/time-picker.class.js +693 -0
- package/components/time-picker/time-picker.css +122 -0
- package/components/time-picker/time-picker.d.ts +75 -0
- package/components/time-picker/time-picker.examples.md +35 -0
- package/components/time-picker/time-picker.js +17 -0
- package/components/time-picker/time-picker.test.js +287 -0
- package/components/time-picker/time-picker.yaml +256 -0
- package/components/timeline/timeline-item.yaml +2 -2
- package/components/timeline/{class.js → timeline.class.js} +1 -1
- package/components/timeline/timeline.css +50 -50
- package/components/timeline/timeline.js +1 -1
- package/components/toast/toast.css +58 -58
- package/components/toast/toast.js +1 -1
- package/components/toggle-group/toggle-group.css +6 -6
- package/components/toggle-group/toggle-group.js +1 -1
- package/components/toggle-group/toggle-option.yaml +1 -1
- package/components/toggle-scheme/toggle-scheme.css +2 -2
- package/components/toggle-scheme/toggle-scheme.js +1 -1
- package/components/toolbar/toolbar-group.yaml +1 -1
- package/components/toolbar/toolbar.css +17 -17
- package/components/toolbar/toolbar.js +1 -1
- package/components/tooltip/tooltip.css +2 -2
- package/components/tooltip/tooltip.js +1 -1
- package/components/tree/tree-item.yaml +1 -1
- package/components/tree/tree.css +37 -37
- package/components/tree/tree.js +1 -1
- package/components/upload/upload.css +49 -49
- package/components/upload/upload.js +1 -1
- package/dist/web-components.min.css +1 -1
- package/dist/web-components.min.js +146 -87
- package/package.json +3 -3
- package/styles/components.css +11 -0
- /package/components/accordion/{class.js → accordion.class.js} +0 -0
- /package/components/action-list/{class.js → action-list.class.js} +0 -0
- /package/components/agent-feedback-bar/{class.js → agent-feedback-bar.class.js} +0 -0
- /package/components/agent-questions/{class.js → agent-questions.class.js} +0 -0
- /package/components/agent-reasoning/{class.js → agent-reasoning.class.js} +0 -0
- /package/components/agent-suggestions/{class.js → agent-suggestions.class.js} +0 -0
- /package/components/avatar/{class.js → avatar.class.js} +0 -0
- /package/components/badge/{class.js → badge.class.js} +0 -0
- /package/components/block/{class.js → block.class.js} +0 -0
- /package/components/breadcrumb/{class.js → breadcrumb.class.js} +0 -0
- /package/components/button/{class.js → button.class.js} +0 -0
- /package/components/calendar-picker/{class.js → calendar-picker.class.js} +0 -0
- /package/components/card/{class.js → card.class.js} +0 -0
- /package/components/chart/{class.js → chart.class.js} +0 -0
- /package/components/chart-legend/{class.js → chart-legend.class.js} +0 -0
- /package/components/chat-thread/{class.js → chat-thread.class.js} +0 -0
- /package/components/check/{class.js → check.class.js} +0 -0
- /package/components/code/{class.js → code.class.js} +0 -0
- /package/components/col/{class.js → col.class.js} +0 -0
- /package/components/color-input/{class.js → color-input.class.js} +0 -0
- /package/components/color-picker/{class.js → color-picker.class.js} +0 -0
- /package/components/command/{class.js → command.class.js} +0 -0
- /package/components/demo-toggle/{class.js → demo-toggle.class.js} +0 -0
- /package/components/description-list/{class.js → description-list.class.js} +0 -0
- /package/components/divider/{class.js → divider.class.js} +0 -0
- /package/components/drawer/{class.js → drawer.class.js} +0 -0
- /package/components/embed/{class.js → embed.class.js} +0 -0
- /package/components/empty-state/{class.js → empty-state.class.js} +0 -0
- /package/components/feed/{class.js → feed.class.js} +0 -0
- /package/components/field/{class.js → field.class.js} +0 -0
- /package/components/fields/{class.js → fields.class.js} +0 -0
- /package/components/grid/{class.js → grid.class.js} +0 -0
- /package/components/heatmap/{class.js → heatmap.class.js} +0 -0
- /package/components/icon/{class.js → icon.class.js} +0 -0
- /package/components/image/{class.js → image.class.js} +0 -0
- /package/components/input/{class.js → input.class.js} +0 -0
- /package/components/inspector/{class.js → inspector.class.js} +0 -0
- /package/components/kbd/{class.js → kbd.class.js} +0 -0
- /package/components/link/{class.js → link.class.js} +0 -0
- /package/components/list/{class.js → list.class.js} +0 -0
- /package/components/menu/{class.js → menu.class.js} +0 -0
- /package/components/nav/{class.js → nav.class.js} +0 -0
- /package/components/nav-group/{class.js → nav-group.class.js} +0 -0
- /package/components/nav-item/{class.js → nav-item.class.js} +0 -0
- /package/components/noodles/{class.js → noodles.class.js} +0 -0
- /package/components/option-card/{class.js → option-card.class.js} +0 -0
- /package/components/otp-input/{class.js → otp-input.class.js} +0 -0
- /package/components/page/{class.js → page.class.js} +0 -0
- /package/components/pagination/{class.js → pagination.class.js} +0 -0
- /package/components/pane/{class.js → pane.class.js} +0 -0
- /package/components/pipeline-status/{class.js → pipeline-status.class.js} +0 -0
- /package/components/popover/{class.js → popover.class.js} +0 -0
- /package/components/progress/{class.js → progress.class.js} +0 -0
- /package/components/progress-row/{class.js → progress-row.class.js} +0 -0
- /package/components/radio/{class.js → radio.class.js} +0 -0
- /package/components/range/{class.js → range.class.js} +0 -0
- /package/components/rating/{class.js → rating.class.js} +0 -0
- /package/components/richtext/{class.js → richtext.class.js} +0 -0
- /package/components/row/{class.js → row.class.js} +0 -0
- /package/components/search/{class.js → search.class.js} +0 -0
- /package/components/segment/{class.js → segment.class.js} +0 -0
- /package/components/segmented/{class.js → segmented.class.js} +0 -0
- /package/components/skeleton/{class.js → skeleton.class.js} +0 -0
- /package/components/slider/{class.js → slider.class.js} +0 -0
- /package/components/stack/{class.js → stack.class.js} +0 -0
- /package/components/step-progress/{class.js → step-progress.class.js} +0 -0
- /package/components/stepper/{class.js → stepper.class.js} +0 -0
- /package/components/stream/{class.js → stream.class.js} +0 -0
- /package/components/swatch/{class.js → swatch.class.js} +0 -0
- /package/components/swiper/{class.js → swiper.class.js} +0 -0
- /package/components/switch/{class.js → switch.class.js} +0 -0
- /package/components/table/{class.js → table.class.js} +0 -0
- /package/components/tabs/{class.js → tabs.class.js} +0 -0
- /package/components/tag/{class.js → tag.class.js} +0 -0
- /package/components/text/{class.js → text.class.js} +0 -0
- /package/components/textarea/{class.js → textarea.class.js} +0 -0
- /package/components/toast/{class.js → toast.class.js} +0 -0
- /package/components/toggle-group/{class.js → toggle-group.class.js} +0 -0
- /package/components/toggle-scheme/{class.js → toggle-scheme.class.js} +0 -0
- /package/components/toolbar/{class.js → toolbar.class.js} +0 -0
- /package/components/tooltip/{class.js → tooltip.class.js} +0 -0
- /package/components/tree/{class.js → tree.class.js} +0 -0
- /package/components/upload/{class.js → upload.class.js} +0 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,69 @@
|
|
|
1
1
|
# Changelog — @adia-ai/web-components
|
|
2
2
|
|
|
3
|
+
## [0.6.35] — 2026-05-24
|
|
4
|
+
|
|
5
|
+
### Fixed — `<popover-ui>` + `<menu-ui>` yaml `slots:` blocks declare the canonical `trigger` / `content` vocabulary (FB-62)
|
|
6
|
+
|
|
7
|
+
- **CSS positioned slots that the yaml said didn't exist.** `popover.yaml` pre-patch line 43: `slots: {}` (empty). But `popover.css` positions `[slot="trigger"]` and `[slot="content"]` across 7 selectors (open/closed states + first/last-child margin guards), and the yaml's own a2ui rule already states "popover-ui wraps a focusable trigger (slot=\"trigger\") + arbitrary interactive content (slot=\"content\")". Parallel case in `menu.yaml`: `slots:` declared only `default`, but the a2ui rule said "MUST have exactly one child with slot=\"trigger\"". Three sources said the slots existed, one source (the structured `slots:` SoT) said they didn't. Surfaced as 6 INFO findings in the adia-ui-kit v3.4.X recipe-staleness audit; suppressed via `KNOWN_PARENT_SLOT_DRIFT`.
|
|
8
|
+
- **Fix**: `popover.yaml` `slots:` now declares `trigger` (focusable element that opens the popover; MUST be focusable for keyboard accessibility — bare `<span>`/`<div>` won't work) and `content` (the body, hoisted to top-layer via `:popover-open`). `menu.yaml` `slots:` adds `trigger` (Required — exactly one child must have `slot="trigger"`; without it the menu cannot open). Pure yaml backfill — no JS, no CSS, no API change. Sidecar `.a2ui.json` files regenerated. Kit's `KNOWN_PARENT_SLOT_DRIFT` allowlist entries can be removed next cycle. Files: `components/popover/popover.{yaml,a2ui.json}`, `components/menu/menu.{yaml,a2ui.json}`.
|
|
9
|
+
|
|
10
|
+
### Fixed — chat-input + textarea + input substrate prose accurately documents Enter→submit (FB-63)
|
|
11
|
+
|
|
12
|
+
- **`submit-on-enter` was a documentation phantom across the substrate, and the prose around it carried two adjacent lies.** Three input primitives all dispatch a bubbling `submit` event on Enter (without Shift) unconditionally: `textarea.class.js:97-106`, `input.class.js:713-727`, and `chat-input.js` (which delegates to the inner `<textarea-ui>`'s submit event at line 147). None of them observe a `[submit-on-enter]` attribute — yet the substrate's own demos, yamls, and a2ui rules used `<chat-input-ui submit-on-enter>` as canonical authoring shape. Two adjacent lies discovered in the same cluster: (1) `textarea.yaml` description + a2ui rule + `textarea.examples.html` claimed "Enter inserts a newline — textarea-ui does NOT emit a `submit` event" — false per `textarea.class.js:97-106`. (2) `input.yaml` + `input.examples.html` claimed "only chat-input-ui reflects the [submit-on-enter] attribute" — false, NONE of them reflect it.
|
|
13
|
+
- **Fix**: `submit-on-enter` stripped from `patterns/chat-shell/chat-shell.examples.html` (1 occurrence). `chat-input.yaml` event description + `chat-input.js` docstring now state the truth — Enter→submit is unconditional, delegated from inner `<textarea-ui>`, no opt-in/opt-out. `textarea.yaml` description (line 10-18) + a2ui rule (line 119-123) + `textarea.examples.html:253` corrected: "Enter (without Shift) dispatches a bubbling `submit` event; Shift+Enter inserts a newline. Unconditional — no opt-in/opt-out attribute." `input.yaml` + `input.examples.html` adjacent prose: stripped "only chat-input-ui reflects [submit-on-enter]" claim; replaced with accurate "the plain `<input-ui>` primitive ALSO fires `submit` on Enter (unconditional, no opt-in attribute); `<chat-input-ui>` simply builds on that semantic." Companion strip in `@adia-ai/web-modules` chat-cluster (see its changelog). Sweep-grep `submit-on-enter` in authored sources now returns only the two truth-note phrasings (both say "no `[submit-on-enter]` opt-in/opt-out"). Sidecar `.a2ui.json` files regenerated; corpus catalog + rules text rebuilt. Files: `components/chat-thread/chat-input.{yaml,js,a2ui.json}`, `components/textarea/textarea.{yaml,examples.html,a2ui.json}`, `components/input/input.{yaml,examples.html,a2ui.json}`, `patterns/chat-shell/chat-shell.examples.html`.
|
|
14
|
+
|
|
15
|
+
### Fixed — `<spinner-ui variant="dots">` dot spacing now even (was lopsided)
|
|
16
|
+
|
|
17
|
+
- **The pre-fix dots layout used `::before` + `::after` pseudo-elements** as the outer two dots and a `box-shadow` on `::before` to paint the middle dot. Three breakages: (1) the box-shadow middle dot doesn't participate in the host's flex-gap math, so the gap between dot1↔dot2 and dot2↔dot3 was unequal (the screenshot showed two dots close together on the left, then one isolated on the right). (2) The box-shadow dot couldn't carry its own `@keyframes` animation, so the middle stayed at default scale while the outer two bounced — a "middle is anchored" look. (3) The author comment explicitly acknowledged the hack ("simpler, more robust shape is to overlay three identical dot pseudos via a flexbox container of pseudo + two child pseudos isn't possible without a stamped child"). Fix: `class.js` `#syncDots()` now stamps three real `<span data-spinner-dot=N>` children when `variant="dots"`. Flex-gap distributes the row evenly; each child gets `animation-delay: 0 / T/3 / 2T/3` so the bounce reads as a left-to-right wave. Reduced-motion + `[paused]` selectors updated to include `> [data-spinner-dot]`. Files: `components/spinner/class.js`, `components/spinner/spinner.css`, `components/spinner/spinner.test.js`.
|
|
18
|
+
|
|
19
|
+
### Added — `<spinner-ui variant="knight">` knight-rider sliding-bar variant
|
|
20
|
+
|
|
21
|
+
- **NEW `knight` variant** — a horizontal track with a thumb that slides back-and-forth via `animation-direction: alternate`. Reads as a determinate-looking bar but is indeterminate by intent (no progress value; same loading semantics as the other variants). Tokens added: `--spinner-bar-track-width` (default `4rem`), `--spinner-bar-track-height` (default `var(--spinner-stroke)` — visual continuity with arc/ring), `--spinner-bar-thumb-ratio` (default `0.3` — thumb is 30% of track). Keyframe math: `translateX((1 / ratio - 1) * 100%)` of thumb-relative width = `(track - thumb)` px regardless of track-width override. Reduced-motion path hides the thumb and falls through to the shared ellipsis fallback. yaml `variant` enum + description updated. Files: `components/spinner/spinner.css`, `components/spinner/spinner.yaml`, `components/spinner/spinner.examples.html`.
|
|
22
|
+
|
|
23
|
+
### Added — `<integration-card-ui>` demo page now ships a live CRUD drawer wiring
|
|
24
|
+
|
|
25
|
+
- **`integration-card.examples.html` previously showed cards only as static visual showcases** — clicking `Connect` / `Configure` dispatched the `connect` / `configure` events into the void (no consumer wiring on the docs page). Added a "Wired to drawer (CRUD)" section at the top with three cards (`slack` / `github` / `linear`) bound to a shared `<drawer-ui>` form. NEW `integration-card.examples.js` setup module: listens for bubbled events at the grid level, opens the drawer in `connect` or `configure` mode, persists token to an in-memory store keyed by `provider`, and on Save / Disconnect mutates the originating card's `status` attribute. Demonstrates the full Create / Update / Delete loop expected of consumers per SPEC-062 §134-136. Sitemap entry gains `"setup": ".../integration-card.examples.js"` so the docs router auto-imports the module on route load (same pattern as `agent-feedback-bar`, etc.). Files: `components/integration-card/integration-card.examples.html`, `components/integration-card/integration-card.examples.js` (NEW), `site/sitemap.json`.
|
|
26
|
+
|
|
27
|
+
### Changed — `<date-range-picker-ui>` trigger surface mirrors `<select-ui>` / `<calendar-picker-ui>`
|
|
28
|
+
|
|
29
|
+
- **`date-range-picker.css` had only `:scope > [slot="trigger"] { min-width: 14em }`** — the entire trigger chrome relied on `<button-ui variant="outline">`'s defaults, which produced an off-pattern surface vs. the rest of the input/picker family. Trigger now styled with the canonical contract: flex row, `min-height: var(--a-size)`, `padding: 0 var(--a-ui-px)`, `border-radius: var(--a-radius)`, `border: 1px solid var(--a-ui-border)`, `background: var(--a-ui-bg)`, `justify-content: space-between` so leading icon + label sit start, trailing caret sits end. Adds canonical `--date-range-picker-trigger-{height,px,gap,radius,bg,bg-hover,fg,border,border-hover,focus-ring}` token shelf — same tokens `<calendar-picker-ui>` already exposes, so consumers can override either family-side. Hover/focus-visible rules attached for parity. Files: `components/date-range-picker/date-range-picker.css`.
|
|
30
|
+
|
|
31
|
+
### Fixed — `<spinner-ui>` rotational cadence (was 300ms, now 0.8s)
|
|
32
|
+
|
|
33
|
+
- **`--spinner-duration-default` retargeted from `var(--a-duration-slow)` (300 ms — interaction-duration scale, tuned for hover/focus transitions) to `0.8s`** — canonical loader cadence. A full revolution at 300 ms reads as a frantic blur; 0.8 s gives smooth, perceptible motion that signals "loading" without alarming the eye. The `--a-duration-*` token family (120 / 250 / 300 ms) is now correctly reserved for state transitions; spinner uses its own rotational tempo. Files: `components/spinner/spinner.css`.
|
|
34
|
+
|
|
35
|
+
### Fixed — `<modal-ui>` header no longer reserves a phantom flex slot for empty `text=`
|
|
36
|
+
|
|
37
|
+
- **`modal.css`'s `:scope [slot="header"]::before { content: attr(text); flex: 1 }` rule generated an empty-content pseudo-element with `flex: 1` whenever the host's `text` attr was empty or unset.** That phantom flex slot claimed the row's free space and pushed any slotted header content (e.g., `<confirm-dialog-ui>`'s stamped `<text-ui part="title">` + auto-stamped close button) to the trailing edge — the title rendered tight against the X close button instead of left-aligned. Same drift class as the `tag-ui` / `badge-ui` / `segment-ui` / `button-ui` phantom-gap arc (April–May 2026).
|
|
38
|
+
- **Fix (defense-in-depth)**: CSS gate the `::before` on `[text]:not([text=""])` so the pseudo isn't generated when text is absent or empty; class.js no longer writes `text=""` on the header when `this.text` is falsy. Either side alone would fix the symptom; both prevent recurrence from independent edit paths. Visible effect: `<confirm-dialog-ui>` now renders "Save changes?" left-aligned with X on the right, matching the canonical header pattern. Files: `components/modal/modal.css`, `components/modal/class.js`.
|
|
39
|
+
|
|
40
|
+
### Added — `<calendar-grid-ui>` `range-start` / `range-end` props for in-range cell highlighting
|
|
41
|
+
|
|
42
|
+
- **`<calendar-grid-ui>` gains two new reflected string props — `range-start` and `range-end` (ISO `YYYY-MM-DD`).** When both are set + ordered, day cells strictly between the endpoints get `[data-in-range]` stamped on them. New CSS state styles in-range cells with `--calendar-grid-day-bg-in-range` (defaults to `--a-accent-muted` — the muted accent strip) and `--calendar-grid-day-fg-in-range`. The endpoints themselves continue rendering via the `value` prop's `[data-selected]` state (full `--a-accent` fill); the in-range middle is visually subordinate. Per-day cells also get `data-range-start` / `data-range-end` markers for future shape work (rounded caps, etc.).
|
|
43
|
+
- **`<date-range-picker-ui>` now wires this contract**: in `render()`, the effective from/to (pending click-state OR committed value) is pushed onto BOTH calendar-grid panes via `range-start` / `range-end` attributes, so each pane independently lights up its in-range cells. Closes the "selected start + end but no fill between" trap. Files: `components/calendar-grid/calendar-grid.css`, `components/calendar-grid/class.js`, `components/calendar-grid/calendar-grid.yaml`, `components/date-range-picker/class.js`.
|
|
44
|
+
|
|
45
|
+
## [0.6.34] — 2026-05-23
|
|
46
|
+
|
|
47
|
+
### Added — Wave 1 + Wave 2: 10 P1 components shipped from SPEC pilot
|
|
48
|
+
|
|
49
|
+
- **Wave 1 — 8 components** (commit `5ad89318d`): SPEC-001, SPEC-022, SPEC-036, SPEC-037, SPEC-043, SPEC-049, SPEC-056, SPEC-062. First wave of the SPEC-driven component-authoring pilot. Each ships full yaml + a2ui.json + .js class + .css + .examples.html + .test.js per the four-axis contract.
|
|
50
|
+
- **Wave 2 — 2 components** (commit `501053880`): SPEC-019, SPEC-038. Completes the 10-component pilot.
|
|
51
|
+
- **`<calendar-grid-ui>` substrate primitive extracted** (commit `dcf16cdf8`): a substrate-tier primitive supporting the calendar-family Wave 2 components.
|
|
52
|
+
- **Wave 1/2 visual-QA fixes** also landed in `dcf16cdf8`.
|
|
53
|
+
- Component count: 92 → 100 primitives (8 net additions). yaml/a2ui.json/d.ts coherence preserved.
|
|
54
|
+
|
|
55
|
+
### Fixed — OD-5 token-shadowing closed across 98 components (`-default` suffix sweep)
|
|
56
|
+
|
|
57
|
+
- **`-default` suffix added to all leaf component tokens** (commit `e694be9d0`, single-component fix at `cbdf11f09`): unlocks themability/consumer override across all 98 component CSS files. Pattern: `--button-bg: var(--a-fg);` → `--button-bg-default: var(--a-fg); ... background: var(--button-bg, var(--button-bg-default));`. Consumer overrides at any ancestor surface now apply correctly without being shadowed by the leaf-token default. Closes OD-5 (consumer-side override-discoverability regression).
|
|
58
|
+
|
|
59
|
+
### Changed — `dist/web-components.min.js` + `dist/web-components.min.css` rebuilt
|
|
60
|
+
|
|
61
|
+
- Bundle pass absorbed Wave 1+2 + OD-5 + `<calendar-grid-ui>` source changes. Bundle sizes adjusted accordingly.
|
|
62
|
+
|
|
63
|
+
### Maintenance — `<spinner-ui>` exempted from size-wiring audit
|
|
64
|
+
|
|
65
|
+
- **`scripts/release/check-size-wiring.mjs`** YAML_SIZE_EXEMPT: added `spinner` — `size:` prop drives diameter via `--spinner-size` matching the icon-ui ladder (sm 14px / md 16px / lg 20px), parallel to existing exemptions for `icon`, `rating`, `swatch`. Content-driven loading glyph, not row-family. Surfaced by the audit after spinner joined the 100-component roster.
|
|
66
|
+
|
|
3
67
|
## [0.6.33] — 2026-05-23
|
|
4
68
|
|
|
5
69
|
### Changed — `dist/icons-manifest.js` comment header updated (FB-53 §1 companion)
|
package/color/index.js
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
*
|
|
6
6
|
* §301 (v0.5.12, FEEDBACK-29 re-bucket from v0.6.0). Pure functions; no
|
|
7
7
|
* DOM/runtime side-effects. Pre-§301 these helpers lived inline at
|
|
8
|
-
* `components/color-picker/class.js:34-121`. Extracted into a shared
|
|
8
|
+
* `components/color-picker/color-picker.class.js:34-121`. Extracted into a shared
|
|
9
9
|
* subpath so consumers (Tokens Studio, custom palette tools) don't
|
|
10
10
|
* re-implement OKLCH math.
|
|
11
11
|
*
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
# Edit this file; run `npm run build:components` to regenerate a2ui.json.
|
|
2
2
|
#
|
|
3
3
|
# §176 (v0.5.5): authored to close the §175 baseline-orphan class. The
|
|
4
|
-
# component already existed as a sibling class in the parent's class.js
|
|
4
|
+
# component already existed as a sibling class in the parent's accordion.class.js
|
|
5
5
|
# + was registered alongside the parent (e.g. UIList + UIListItem both
|
|
6
|
-
# from list/class.js). The catalog just lacked its own entry. With the
|
|
6
|
+
# from list/list.class.js). The catalog just lacked its own entry. With the
|
|
7
7
|
# §172 sibling-yaml scanner, this file gets picked up next to the parent
|
|
8
8
|
# yaml.
|
|
9
9
|
|
|
@@ -9,14 +9,14 @@
|
|
|
9
9
|
/* ── Container ── */
|
|
10
10
|
@scope (accordion-ui) {
|
|
11
11
|
:where(:scope) {
|
|
12
|
-
--accordion-gap: 0;
|
|
12
|
+
--accordion-gap-default: 0;
|
|
13
13
|
}
|
|
14
14
|
|
|
15
15
|
:scope {
|
|
16
16
|
box-sizing: border-box;
|
|
17
17
|
display: flex;
|
|
18
18
|
flex-direction: column;
|
|
19
|
-
gap: var(--accordion-gap);
|
|
19
|
+
gap: var(--accordion-gap, var(--accordion-gap-default));
|
|
20
20
|
}
|
|
21
21
|
}
|
|
22
22
|
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
*/
|
|
11
11
|
|
|
12
12
|
import { defineIfFree } from '../../core/register.js';
|
|
13
|
-
import { UIAccordion, UIAccordionItem } from './class.js';
|
|
13
|
+
import { UIAccordion, UIAccordionItem } from './accordion.class.js';
|
|
14
14
|
|
|
15
15
|
defineIfFree('accordion-ui', UIAccordion);
|
|
16
16
|
defineIfFree('accordion-item-ui', UIAccordionItem);
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
# Edit this file; run `npm run build:components` to regenerate a2ui.json.
|
|
2
2
|
#
|
|
3
3
|
# §176 (v0.5.5): authored to close the §175 baseline-orphan class. The
|
|
4
|
-
# component already existed as a sibling class in the parent's class.js
|
|
4
|
+
# component already existed as a sibling class in the parent's action-list.class.js
|
|
5
5
|
# + was registered alongside the parent (e.g. UIList + UIListItem both
|
|
6
|
-
# from list/class.js). The catalog just lacked its own entry. With the
|
|
6
|
+
# from list/list.class.js). The catalog just lacked its own entry. With the
|
|
7
7
|
# §172 sibling-yaml scanner, this file gets picked up next to the parent
|
|
8
8
|
# yaml.
|
|
9
9
|
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
@scope (action-list-ui) {
|
|
2
2
|
:where(:scope) {
|
|
3
|
-
--action-list-gap: var(--a-space-0-5);
|
|
3
|
+
--action-list-gap-default: var(--a-space-0-5);
|
|
4
4
|
}
|
|
5
5
|
|
|
6
6
|
:scope {
|
|
7
7
|
box-sizing: border-box;
|
|
8
8
|
display: flex;
|
|
9
9
|
flex-direction: column;
|
|
10
|
-
gap: var(--action-list-gap);
|
|
10
|
+
gap: var(--action-list-gap, var(--action-list-gap-default));
|
|
11
11
|
margin: 0;
|
|
12
12
|
padding: 0;
|
|
13
13
|
list-style: none;
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
*/
|
|
11
11
|
|
|
12
12
|
import { defineIfFree } from '../../core/register.js';
|
|
13
|
-
import { UIActionList, UIActionItem } from './class.js';
|
|
13
|
+
import { UIActionList, UIActionItem } from './action-list.class.js';
|
|
14
14
|
|
|
15
15
|
defineIfFree('action-list-ui', UIActionList);
|
|
16
16
|
defineIfFree('action-item-ui', UIActionItem);
|
|
@@ -59,7 +59,7 @@ export class UIAgentArtifact extends UIElement {
|
|
|
59
59
|
};
|
|
60
60
|
|
|
61
61
|
// §205 (v0.5.7): dynamic chevron icons stamped on collapse/expand state
|
|
62
|
-
// transition (class.js:119+188). Per FEEDBACK-16 §1 + §209 slot-11 ternary-
|
|
62
|
+
// transition (agent-artifact.class.js:119+188). Per FEEDBACK-16 §1 + §209 slot-11 ternary-
|
|
63
63
|
// walker discovery. Note: `this.icon` consumer-supplied — not declared here.
|
|
64
64
|
static requiredIcons = ['caret-right', 'caret-down'];
|
|
65
65
|
|
|
@@ -1,57 +1,57 @@
|
|
|
1
1
|
@scope (agent-artifact-ui) {
|
|
2
2
|
:where(:scope) {
|
|
3
3
|
/* ── Layout ── */
|
|
4
|
-
--agent-artifact-radius: var(--a-radius);
|
|
5
|
-
--agent-artifact-padding: var(--a-space-3);
|
|
6
|
-
--agent-artifact-header-padding-y: var(--a-space-2);
|
|
7
|
-
--agent-artifact-header-padding-x: var(--a-space-3);
|
|
8
|
-
--agent-artifact-gap: var(--a-space-2);
|
|
4
|
+
--agent-artifact-radius-default: var(--a-radius);
|
|
5
|
+
--agent-artifact-padding-default: var(--a-space-3);
|
|
6
|
+
--agent-artifact-header-padding-y-default: var(--a-space-2);
|
|
7
|
+
--agent-artifact-header-padding-x-default: var(--a-space-3);
|
|
8
|
+
--agent-artifact-gap-default: var(--a-space-2);
|
|
9
9
|
|
|
10
10
|
/* ── Colors ── */
|
|
11
|
-
--agent-artifact-bg: var(--a-bg-subtle);
|
|
12
|
-
--agent-artifact-fg: var(--a-fg);
|
|
13
|
-
--agent-artifact-fg-muted: var(--a-fg-muted);
|
|
14
|
-
--agent-artifact-border: var(--a-border-subtle);
|
|
15
|
-
--agent-artifact-header-bg: var(--a-bg);
|
|
16
|
-
--agent-artifact-header-bg-hover: var(--a-bg-hover);
|
|
11
|
+
--agent-artifact-bg-default: var(--a-bg-subtle);
|
|
12
|
+
--agent-artifact-fg-default: var(--a-fg);
|
|
13
|
+
--agent-artifact-fg-muted-default: var(--a-fg-muted);
|
|
14
|
+
--agent-artifact-border-default: var(--a-border-subtle);
|
|
15
|
+
--agent-artifact-header-bg-default: var(--a-bg);
|
|
16
|
+
--agent-artifact-header-bg-hover-default: var(--a-bg-hover);
|
|
17
17
|
|
|
18
18
|
/* ── Typography ── */
|
|
19
|
-
--agent-artifact-title-size: var(--a-ui-md);
|
|
20
|
-
--agent-artifact-title-weight: var(--a-weight-medium);
|
|
19
|
+
--agent-artifact-title-size-default: var(--a-ui-md);
|
|
20
|
+
--agent-artifact-title-weight-default: var(--a-weight-medium);
|
|
21
21
|
|
|
22
22
|
/* ── Motion ── */
|
|
23
|
-
--agent-artifact-duration: var(--a-duration-fast);
|
|
23
|
+
--agent-artifact-duration-default: var(--a-duration-fast);
|
|
24
24
|
}
|
|
25
25
|
|
|
26
26
|
:scope {
|
|
27
27
|
display: flex;
|
|
28
28
|
flex-direction: column;
|
|
29
|
-
border: 1px solid var(--agent-artifact-border);
|
|
30
|
-
border-radius: var(--agent-artifact-radius);
|
|
31
|
-
background: var(--agent-artifact-bg);
|
|
29
|
+
border: 1px solid var(--agent-artifact-border, var(--agent-artifact-border-default));
|
|
30
|
+
border-radius: var(--agent-artifact-radius, var(--agent-artifact-radius-default));
|
|
31
|
+
background: var(--agent-artifact-bg, var(--agent-artifact-bg-default));
|
|
32
32
|
overflow: hidden;
|
|
33
33
|
min-width: 0;
|
|
34
34
|
}
|
|
35
35
|
|
|
36
|
-
:scope[tone="accent"] { --agent-artifact-border: var(--a-accent-bg); }
|
|
37
|
-
:scope[tone="warning"] { --agent-artifact-border: var(--a-warning-bg); }
|
|
38
|
-
:scope[tone="danger"] { --agent-artifact-border: var(--a-danger-bg); }
|
|
36
|
+
:scope[tone="accent"] { --agent-artifact-border-default: var(--a-accent-bg); }
|
|
37
|
+
:scope[tone="warning"] { --agent-artifact-border-default: var(--a-warning-bg); }
|
|
38
|
+
:scope[tone="danger"] { --agent-artifact-border-default: var(--a-danger-bg); }
|
|
39
39
|
|
|
40
40
|
[data-artifact-header] {
|
|
41
41
|
display: flex;
|
|
42
42
|
align-items: center;
|
|
43
|
-
gap: var(--agent-artifact-gap);
|
|
44
|
-
padding: var(--agent-artifact-header-padding-y) var(--agent-artifact-header-padding-x);
|
|
45
|
-
background: var(--agent-artifact-header-bg);
|
|
46
|
-
border-block-end: 1px solid var(--agent-artifact-border);
|
|
43
|
+
gap: var(--agent-artifact-gap, var(--agent-artifact-gap-default));
|
|
44
|
+
padding: var(--agent-artifact-header-padding-y, var(--agent-artifact-header-padding-y-default)) var(--agent-artifact-header-padding-x, var(--agent-artifact-header-padding-x-default));
|
|
45
|
+
background: var(--agent-artifact-header-bg, var(--agent-artifact-header-bg-default));
|
|
46
|
+
border-block-end: 1px solid var(--agent-artifact-border, var(--agent-artifact-border-default));
|
|
47
47
|
cursor: pointer;
|
|
48
48
|
user-select: none;
|
|
49
49
|
min-width: 0;
|
|
50
|
-
transition: background var(--agent-artifact-duration);
|
|
50
|
+
transition: background var(--agent-artifact-duration, var(--agent-artifact-duration-default));
|
|
51
51
|
}
|
|
52
52
|
|
|
53
53
|
[data-artifact-header]:hover {
|
|
54
|
-
background: var(--agent-artifact-header-bg-hover);
|
|
54
|
+
background: var(--agent-artifact-header-bg-hover, var(--agent-artifact-header-bg-hover-default));
|
|
55
55
|
}
|
|
56
56
|
|
|
57
57
|
[data-artifact-header]:focus-visible {
|
|
@@ -69,9 +69,9 @@
|
|
|
69
69
|
overflow: hidden;
|
|
70
70
|
text-overflow: ellipsis;
|
|
71
71
|
white-space: nowrap;
|
|
72
|
-
font-size: var(--agent-artifact-title-size);
|
|
73
|
-
font-weight: var(--agent-artifact-title-weight);
|
|
74
|
-
color: var(--agent-artifact-fg);
|
|
72
|
+
font-size: var(--agent-artifact-title-size, var(--agent-artifact-title-size-default));
|
|
73
|
+
font-weight: var(--agent-artifact-title-weight, var(--agent-artifact-title-weight-default));
|
|
74
|
+
color: var(--agent-artifact-fg, var(--agent-artifact-fg-default));
|
|
75
75
|
}
|
|
76
76
|
|
|
77
77
|
/* [data-artifact-kind] is a <badge-ui size="sm"> — it brings its own pill
|
|
@@ -91,11 +91,11 @@
|
|
|
91
91
|
|
|
92
92
|
[data-artifact-chevron] {
|
|
93
93
|
flex-shrink: 0;
|
|
94
|
-
transition: transform var(--agent-artifact-duration);
|
|
94
|
+
transition: transform var(--agent-artifact-duration, var(--agent-artifact-duration-default));
|
|
95
95
|
}
|
|
96
96
|
|
|
97
97
|
[data-artifact-body] {
|
|
98
|
-
padding: var(--agent-artifact-padding);
|
|
98
|
+
padding: var(--agent-artifact-padding, var(--agent-artifact-padding-default));
|
|
99
99
|
min-width: 0;
|
|
100
100
|
}
|
|
101
101
|
|
|
@@ -1,29 +1,29 @@
|
|
|
1
1
|
@scope (agent-feedback-bar-ui) {
|
|
2
2
|
:where(:scope) {
|
|
3
3
|
/* ── Layout ── */
|
|
4
|
-
--agent-feedback-bar-gap: var(--a-space-1);
|
|
5
|
-
--agent-feedback-bar-padding: var(--a-space-2);
|
|
4
|
+
--agent-feedback-bar-gap-default: var(--a-space-1);
|
|
5
|
+
--agent-feedback-bar-padding-default: var(--a-space-2);
|
|
6
6
|
|
|
7
7
|
/* ── Typography ── */
|
|
8
|
-
--agent-feedback-bar-font: var(--a-ui-sm);
|
|
8
|
+
--agent-feedback-bar-font-default: var(--a-ui-sm);
|
|
9
9
|
|
|
10
10
|
/* ── Colors ── */
|
|
11
|
-
--agent-feedback-bar-fg: var(--a-fg-muted);
|
|
11
|
+
--agent-feedback-bar-fg-default: var(--a-fg-muted);
|
|
12
12
|
}
|
|
13
13
|
|
|
14
14
|
:scope {
|
|
15
15
|
display: flex;
|
|
16
16
|
align-items: center;
|
|
17
|
-
gap: var(--agent-feedback-bar-gap);
|
|
18
|
-
padding-block: var(--agent-feedback-bar-padding);
|
|
19
|
-
font-size: var(--agent-feedback-bar-font);
|
|
20
|
-
color: var(--agent-feedback-bar-fg);
|
|
17
|
+
gap: var(--agent-feedback-bar-gap, var(--agent-feedback-bar-gap-default));
|
|
18
|
+
padding-block: var(--agent-feedback-bar-padding, var(--agent-feedback-bar-padding-default));
|
|
19
|
+
font-size: var(--agent-feedback-bar-font, var(--agent-feedback-bar-font-default));
|
|
20
|
+
color: var(--agent-feedback-bar-fg, var(--agent-feedback-bar-fg-default));
|
|
21
21
|
}
|
|
22
22
|
|
|
23
23
|
[data-feedback-status] {
|
|
24
24
|
margin-inline-start: auto;
|
|
25
|
-
color: var(--agent-feedback-bar-fg);
|
|
26
|
-
font-size: var(--agent-feedback-bar-font);
|
|
25
|
+
color: var(--agent-feedback-bar-fg, var(--agent-feedback-bar-fg-default));
|
|
26
|
+
font-size: var(--agent-feedback-bar-font, var(--agent-feedback-bar-font-default));
|
|
27
27
|
}
|
|
28
28
|
|
|
29
29
|
:scope[disabled] {
|
|
@@ -1,64 +1,64 @@
|
|
|
1
1
|
@scope (agent-questions-ui) {
|
|
2
2
|
:where(:scope) {
|
|
3
3
|
/* ── Typography ── */
|
|
4
|
-
--agent-questions-q-size: var(--a-ui-md);
|
|
5
|
-
--agent-questions-q-weight: var(--a-weight-medium);
|
|
6
|
-
--agent-questions-helper-size: var(--a-ui-sm);
|
|
7
|
-
--agent-questions-label-size: var(--a-ui-md);
|
|
8
|
-
--agent-questions-label-weight: var(--a-weight-medium);
|
|
9
|
-
--agent-questions-desc-size: var(--a-ui-sm);
|
|
4
|
+
--agent-questions-q-size-default: var(--a-ui-md);
|
|
5
|
+
--agent-questions-q-weight-default: var(--a-weight-medium);
|
|
6
|
+
--agent-questions-helper-size-default: var(--a-ui-sm);
|
|
7
|
+
--agent-questions-label-size-default: var(--a-ui-md);
|
|
8
|
+
--agent-questions-label-weight-default: var(--a-weight-medium);
|
|
9
|
+
--agent-questions-desc-size-default: var(--a-ui-sm);
|
|
10
10
|
|
|
11
11
|
/* ── Colors ── */
|
|
12
|
-
--agent-questions-q-fg: var(--a-fg);
|
|
13
|
-
--agent-questions-helper-fg: var(--a-fg-muted);
|
|
14
|
-
--agent-questions-label-fg: var(--a-fg);
|
|
15
|
-
--agent-questions-desc-fg: var(--a-fg-muted);
|
|
16
|
-
--agent-questions-option-bg: var(--a-bg);
|
|
17
|
-
--agent-questions-option-bg-hover: var(--a-bg-subtle);
|
|
18
|
-
--agent-questions-option-bg-sel: var(--a-accent-muted);
|
|
19
|
-
--agent-questions-option-border: var(--a-border-subtle);
|
|
20
|
-
--agent-questions-option-border-sel: var(--a-accent-bg);
|
|
21
|
-
--agent-questions-check-bg: var(--a-accent-bg);
|
|
22
|
-
--agent-questions-check-fg: var(--a-accent-fg);
|
|
12
|
+
--agent-questions-q-fg-default: var(--a-fg);
|
|
13
|
+
--agent-questions-helper-fg-default: var(--a-fg-muted);
|
|
14
|
+
--agent-questions-label-fg-default: var(--a-fg);
|
|
15
|
+
--agent-questions-desc-fg-default: var(--a-fg-muted);
|
|
16
|
+
--agent-questions-option-bg-default: var(--a-bg);
|
|
17
|
+
--agent-questions-option-bg-hover-default: var(--a-bg-subtle);
|
|
18
|
+
--agent-questions-option-bg-sel-default: var(--a-accent-muted);
|
|
19
|
+
--agent-questions-option-border-default: var(--a-border-subtle);
|
|
20
|
+
--agent-questions-option-border-sel-default: var(--a-accent-bg);
|
|
21
|
+
--agent-questions-check-bg-default: var(--a-accent-bg);
|
|
22
|
+
--agent-questions-check-fg-default: var(--a-accent-fg);
|
|
23
23
|
|
|
24
24
|
/* ── Layout ── */
|
|
25
|
-
--agent-questions-gap: var(--a-space-2);
|
|
26
|
-
--agent-questions-option-gap: var(--a-space-3);
|
|
27
|
-
--agent-questions-option-padding: var(--a-space-3);
|
|
28
|
-
--agent-questions-option-radius: var(--a-radius);
|
|
29
|
-
--agent-questions-q-padding: var(--a-space-1);
|
|
30
|
-
--agent-questions-option-body-gap: var(--a-space-0-5);
|
|
25
|
+
--agent-questions-gap-default: var(--a-space-2);
|
|
26
|
+
--agent-questions-option-gap-default: var(--a-space-3);
|
|
27
|
+
--agent-questions-option-padding-default: var(--a-space-3);
|
|
28
|
+
--agent-questions-option-radius-default: var(--a-radius);
|
|
29
|
+
--agent-questions-q-padding-default: var(--a-space-1);
|
|
30
|
+
--agent-questions-option-body-gap-default: var(--a-space-0-5);
|
|
31
31
|
/* Component-intrinsic measurement; no --a-space-* equivalent */
|
|
32
|
-
--agent-questions-check-size: 20px;
|
|
32
|
+
--agent-questions-check-size-default: 20px;
|
|
33
33
|
|
|
34
34
|
/* ── Motion ── */
|
|
35
|
-
--agent-questions-duration: var(--a-duration-fast);
|
|
36
|
-
--agent-questions-easing: var(--a-easing-out);
|
|
35
|
+
--agent-questions-duration-default: var(--a-duration-fast);
|
|
36
|
+
--agent-questions-easing-default: var(--a-easing-out);
|
|
37
37
|
}
|
|
38
38
|
|
|
39
39
|
:scope {
|
|
40
40
|
display: flex;
|
|
41
41
|
flex-direction: column;
|
|
42
|
-
gap: var(--agent-questions-gap);
|
|
42
|
+
gap: var(--agent-questions-gap, var(--agent-questions-gap-default));
|
|
43
43
|
}
|
|
44
44
|
|
|
45
45
|
[data-questions-q] {
|
|
46
|
-
font-size: var(--agent-questions-q-size);
|
|
47
|
-
font-weight: var(--agent-questions-q-weight);
|
|
48
|
-
color: var(--agent-questions-q-fg);
|
|
49
|
-
padding: var(--agent-questions-q-padding) 0;
|
|
46
|
+
font-size: var(--agent-questions-q-size, var(--agent-questions-q-size-default));
|
|
47
|
+
font-weight: var(--agent-questions-q-weight, var(--agent-questions-q-weight-default));
|
|
48
|
+
color: var(--agent-questions-q-fg, var(--agent-questions-q-fg-default));
|
|
49
|
+
padding: var(--agent-questions-q-padding, var(--agent-questions-q-padding-default)) 0;
|
|
50
50
|
}
|
|
51
51
|
|
|
52
52
|
[data-questions-helper] {
|
|
53
|
-
font-size: var(--agent-questions-helper-size);
|
|
54
|
-
color: var(--agent-questions-helper-fg);
|
|
53
|
+
font-size: var(--agent-questions-helper-size, var(--agent-questions-helper-size-default));
|
|
54
|
+
color: var(--agent-questions-helper-fg, var(--agent-questions-helper-fg-default));
|
|
55
55
|
padding-block-end: var(--a-space-1);
|
|
56
56
|
}
|
|
57
57
|
|
|
58
58
|
[data-questions-options] {
|
|
59
59
|
display: flex;
|
|
60
60
|
flex-direction: column;
|
|
61
|
-
gap: var(--agent-questions-gap);
|
|
61
|
+
gap: var(--agent-questions-gap, var(--agent-questions-gap-default));
|
|
62
62
|
}
|
|
63
63
|
|
|
64
64
|
[data-questions-option] {
|
|
@@ -70,29 +70,29 @@
|
|
|
70
70
|
down to the body's vertical midpoint, which sat between label
|
|
71
71
|
and description rather than on the label. */
|
|
72
72
|
align-items: start;
|
|
73
|
-
gap: var(--agent-questions-option-gap);
|
|
74
|
-
padding: var(--agent-questions-option-padding);
|
|
75
|
-
border: 1px solid var(--agent-questions-option-border);
|
|
76
|
-
border-radius: var(--agent-questions-option-radius);
|
|
77
|
-
background: var(--agent-questions-option-bg);
|
|
73
|
+
gap: var(--agent-questions-option-gap, var(--agent-questions-option-gap-default));
|
|
74
|
+
padding: var(--agent-questions-option-padding, var(--agent-questions-option-padding-default));
|
|
75
|
+
border: 1px solid var(--agent-questions-option-border, var(--agent-questions-option-border-default));
|
|
76
|
+
border-radius: var(--agent-questions-option-radius, var(--agent-questions-option-radius-default));
|
|
77
|
+
background: var(--agent-questions-option-bg, var(--agent-questions-option-bg-default));
|
|
78
78
|
color: inherit;
|
|
79
79
|
cursor: pointer;
|
|
80
80
|
text-align: start;
|
|
81
81
|
font: inherit;
|
|
82
82
|
transition:
|
|
83
|
-
background var(--agent-questions-duration) var(--agent-questions-easing),
|
|
84
|
-
border-color var(--agent-questions-duration) var(--agent-questions-easing);
|
|
83
|
+
background var(--agent-questions-duration, var(--agent-questions-duration-default)) var(--agent-questions-easing, var(--agent-questions-easing-default)),
|
|
84
|
+
border-color var(--agent-questions-duration, var(--agent-questions-duration-default)) var(--agent-questions-easing, var(--agent-questions-easing-default));
|
|
85
85
|
min-width: 0;
|
|
86
86
|
width: 100%;
|
|
87
87
|
}
|
|
88
88
|
|
|
89
89
|
[data-questions-option]:hover {
|
|
90
|
-
background: var(--agent-questions-option-bg-hover);
|
|
90
|
+
background: var(--agent-questions-option-bg-hover, var(--agent-questions-option-bg-hover-default));
|
|
91
91
|
}
|
|
92
92
|
|
|
93
93
|
[data-questions-option][data-selected] {
|
|
94
|
-
background: var(--agent-questions-option-bg-sel);
|
|
95
|
-
border-color: var(--agent-questions-option-border-sel);
|
|
94
|
+
background: var(--agent-questions-option-bg-sel, var(--agent-questions-option-bg-sel-default));
|
|
95
|
+
border-color: var(--agent-questions-option-border-sel, var(--agent-questions-option-border-sel-default));
|
|
96
96
|
}
|
|
97
97
|
|
|
98
98
|
[data-questions-option][disabled] {
|
|
@@ -101,7 +101,7 @@
|
|
|
101
101
|
}
|
|
102
102
|
|
|
103
103
|
[data-questions-option]:focus-visible {
|
|
104
|
-
outline: 2px solid var(--agent-questions-option-border-sel);
|
|
104
|
+
outline: 2px solid var(--agent-questions-option-border-sel, var(--agent-questions-option-border-sel-default));
|
|
105
105
|
outline-offset: 2px;
|
|
106
106
|
}
|
|
107
107
|
|
|
@@ -124,24 +124,24 @@
|
|
|
124
124
|
min-width: 0;
|
|
125
125
|
display: flex;
|
|
126
126
|
flex-direction: column;
|
|
127
|
-
gap: var(--agent-questions-option-body-gap);
|
|
127
|
+
gap: var(--agent-questions-option-body-gap, var(--agent-questions-option-body-gap-default));
|
|
128
128
|
}
|
|
129
129
|
|
|
130
130
|
[data-questions-option-label] {
|
|
131
|
-
font-size: var(--agent-questions-label-size);
|
|
132
|
-
font-weight: var(--agent-questions-label-weight);
|
|
133
|
-
color: var(--agent-questions-label-fg);
|
|
131
|
+
font-size: var(--agent-questions-label-size, var(--agent-questions-label-size-default));
|
|
132
|
+
font-weight: var(--agent-questions-label-weight, var(--agent-questions-label-weight-default));
|
|
133
|
+
color: var(--agent-questions-label-fg, var(--agent-questions-label-fg-default));
|
|
134
134
|
}
|
|
135
135
|
|
|
136
136
|
[data-questions-option-desc] {
|
|
137
|
-
font-size: var(--agent-questions-desc-size);
|
|
138
|
-
color: var(--agent-questions-desc-fg);
|
|
137
|
+
font-size: var(--agent-questions-desc-size, var(--agent-questions-desc-size-default));
|
|
138
|
+
color: var(--agent-questions-desc-fg, var(--agent-questions-desc-fg-default));
|
|
139
139
|
line-height: 1.4;
|
|
140
140
|
}
|
|
141
141
|
|
|
142
142
|
[data-questions-option-check] {
|
|
143
|
-
width: var(--agent-questions-check-size);
|
|
144
|
-
height: var(--agent-questions-check-size);
|
|
143
|
+
width: var(--agent-questions-check-size, var(--agent-questions-check-size-default));
|
|
144
|
+
height: var(--agent-questions-check-size, var(--agent-questions-check-size-default));
|
|
145
145
|
border-radius: 50%;
|
|
146
146
|
flex-shrink: 0;
|
|
147
147
|
display: flex;
|
|
@@ -149,18 +149,18 @@
|
|
|
149
149
|
justify-content: center;
|
|
150
150
|
background: transparent;
|
|
151
151
|
opacity: 0;
|
|
152
|
-
transition: opacity var(--agent-questions-duration) var(--agent-questions-easing);
|
|
152
|
+
transition: opacity var(--agent-questions-duration, var(--agent-questions-duration-default)) var(--agent-questions-easing, var(--agent-questions-easing-default));
|
|
153
153
|
/* Match the leading-icon offset so a row of [icon · label · check]
|
|
154
154
|
reads as one horizontal line aligned to the label's first line. */
|
|
155
|
-
margin-top: calc((1.5em - var(--agent-questions-check-size)) / 2);
|
|
155
|
+
margin-top: calc((1.5em - var(--agent-questions-check-size, var(--agent-questions-check-size-default))) / 2);
|
|
156
156
|
}
|
|
157
157
|
|
|
158
158
|
[data-questions-option][data-selected] [data-questions-option-check] {
|
|
159
|
-
background: var(--agent-questions-check-bg);
|
|
159
|
+
background: var(--agent-questions-check-bg, var(--agent-questions-check-bg-default));
|
|
160
160
|
opacity: 1;
|
|
161
161
|
}
|
|
162
162
|
|
|
163
163
|
[data-questions-option][data-selected] [data-questions-option-check] icon-ui {
|
|
164
|
-
color: var(--agent-questions-check-fg);
|
|
164
|
+
color: var(--agent-questions-check-fg, var(--agent-questions-check-fg-default));
|
|
165
165
|
}
|
|
166
166
|
}
|