@adia-ai/web-components 0.8.40 → 0.8.41
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 +50 -3
- package/MIGRATION.md +1042 -16
- package/README.md +25 -30
- package/USAGE.md +26 -0
- 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 +24 -2
- package/components/action-list/action-item.yaml +28 -3
- package/components/action-list/action-list.a2ui.json +6 -1
- package/components/action-list/action-list.class.js +52 -11
- package/components/action-list/action-list.css +43 -3
- package/components/action-list/action-list.d.ts +4 -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 +9 -4
- package/components/chart/chart.class.js +6 -6
- package/components/chart/chart.css +6 -4
- package/components/chart/chart.d.ts +1 -1
- package/components/chart/chart.yaml +5 -3
- package/components/chart-legend/chart-legend.a2ui.json +1 -0
- 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-input/color-input.a2ui.json +1 -0
- package/components/color-picker/color-picker.a2ui.json +1 -0
- 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 +1 -0
- 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 +1 -0
- package/components/field/field.examples.md +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/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/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 +3 -1
- package/components/menu/menu-item.yaml +6 -0
- package/components/menu/menu-label.a2ui.json +1 -0
- package/components/menu/menu.a2ui.json +3 -2
- package/components/menu/menu.class.js +2 -2
- package/components/menu/menu.d.ts +2 -2
- 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 +6 -0
- package/components/pane/pane.class.js +3 -3
- package/components/pane/pane.css +2 -2
- package/components/pane/pane.yaml +3 -0
- 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/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 +38 -19
- 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/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 +437 -489
- 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 +91 -104
- package/dist/web-components.sheet.js +1 -1
- package/package.json +4 -2
- package/patterns/conversion-funnel/conversion-funnel.examples.html +15 -15
- 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/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
|
@@ -3,34 +3,41 @@ name: UIProgress
|
|
|
3
3
|
tag: progress-ui
|
|
4
4
|
status: stable
|
|
5
5
|
component: Progress
|
|
6
|
-
category:
|
|
6
|
+
category: feedback
|
|
7
7
|
version: 1
|
|
8
8
|
description: >-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
9
|
+
Linear progress bar indicator. Value < 0 marks indeterminate state
|
|
10
|
+
showing animated activity instead of a fill. Bar-only — for circular
|
|
11
|
+
loading indicators use <spinner-ui> instead (the former
|
|
12
|
+
`variant="spinner"` render mode was retired; spinner-ui owns circular).
|
|
13
|
+
Set `label` for a labeled task-list row (label + bar + optional `meta`
|
|
14
|
+
text in one row, e.g. storage quotas, capacity breakdowns) — absorbed
|
|
15
|
+
<progress-row-ui>'s row layout directly; that component is now
|
|
16
|
+
a deprecated alias. Omit `label` for a standalone bar (global loading
|
|
17
|
+
indicators); for percent-complete inline displays use <stat-ui> instead.
|
|
14
18
|
props:
|
|
15
19
|
value:
|
|
16
|
-
description: Current progress
|
|
20
|
+
description: Current progress, 0-100 (clamped). null = indeterminate (legacy -1 accepted for back-compat).
|
|
17
21
|
type: number
|
|
18
22
|
default: null
|
|
19
|
-
|
|
20
|
-
description:
|
|
21
|
-
the `--progress-fill` token (defaults to `--md-sys-color-primary`); there is no
|
|
22
|
-
variant-as-color (use the token).
|
|
23
|
+
label:
|
|
24
|
+
description: Left-hand label text. Presence (non-empty) switches to the labeled row layout — label + bar + optional `meta` in one row; absent = plain bar. Sanctioned Mode Attribute (component-token-contract.md).
|
|
23
25
|
type: string
|
|
24
|
-
default:
|
|
25
|
-
|
|
26
|
-
-
|
|
27
|
-
|
|
26
|
+
default: ""
|
|
27
|
+
meta:
|
|
28
|
+
description: Right-hand meta text shown in row layout (e.g. '32 GB', '4.2k / 10k'). No visible effect without `label`.
|
|
29
|
+
type: string
|
|
30
|
+
default: ""
|
|
28
31
|
events: {}
|
|
29
|
-
|
|
32
|
+
parts:
|
|
30
33
|
fill:
|
|
31
|
-
description: Bar fill element inside track
|
|
34
|
+
description: Bar fill element inside track — template-owned anatomy part, not a light-DOM insertion point (gh#1447)
|
|
32
35
|
track:
|
|
33
|
-
description: Bar track container
|
|
36
|
+
description: Bar track container — template-owned anatomy part, not a light-DOM insertion point (gh#1447)
|
|
37
|
+
label:
|
|
38
|
+
description: "Label region — row-layout left-hand text (active when `label` is set)."
|
|
39
|
+
meta:
|
|
40
|
+
description: "Meta region — row-layout right-hand text (active when `label` is set)."
|
|
34
41
|
states:
|
|
35
42
|
- name: idle
|
|
36
43
|
description: Default, ready for interaction.
|
|
@@ -40,46 +47,220 @@ a2ui:
|
|
|
40
47
|
rules:
|
|
41
48
|
- rule: 'Use for in-progress task feedback with known or indeterminate state. Value < 0 = indeterminate animation.'
|
|
42
49
|
reason: 'Same primitive for both modes; consumer controls via value.'
|
|
43
|
-
- rule: 'For labeled task lists (multiple progress bars with row labels),
|
|
44
|
-
reason: '
|
|
45
|
-
- rule: '
|
|
46
|
-
reason: '
|
|
47
|
-
anti_patterns:
|
|
50
|
+
- rule: 'For labeled task lists (multiple progress bars with row labels, e.g. storage/capacity breakdowns), set `label` (and optional `meta`) directly on <progress-ui> — no separate component needed.'
|
|
51
|
+
reason: 'label present activates the row layout in-place (absorbed from <progress-row-ui>, gh#1363 C4).'
|
|
52
|
+
- rule: 'For circular loading indicators, use <spinner-ui> instead — <progress-ui> is bar-only.'
|
|
53
|
+
reason: 'Retired the former variant=''spinner'' render mode; spinner-ui owns circular (arc/ring/dots/knight).'
|
|
54
|
+
anti_patterns:
|
|
55
|
+
- wrong: |
|
|
56
|
+
{"component": "Progress", "variant": "spinner"}
|
|
57
|
+
why: |
|
|
58
|
+
Progress no longer has a `variant` prop — the spinner render mode
|
|
59
|
+
was retired. Progress is bar-only now.
|
|
60
|
+
fix: |
|
|
61
|
+
{"component": "Spinner"}
|
|
62
|
+
- wrong: |
|
|
63
|
+
{"component": "ProgressRow", "label": "CPU", "value": 92}
|
|
64
|
+
why: |
|
|
65
|
+
ProgressRow is deprecated — its label+row layout was
|
|
66
|
+
absorbed into Progress directly.
|
|
67
|
+
fix: |
|
|
68
|
+
{"component": "Progress", "label": "CPU", "value": 92}
|
|
48
69
|
examples:
|
|
49
70
|
- name: dashboard
|
|
50
71
|
description: Two-column dashboard with quick actions (buttons) and system status (progress bars).
|
|
51
|
-
a2ui:
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
72
|
+
a2ui: >-
|
|
73
|
+
[
|
|
74
|
+
{
|
|
75
|
+
"id": "root",
|
|
76
|
+
"component": "Grid",
|
|
77
|
+
"children": [
|
|
78
|
+
"c1",
|
|
79
|
+
"c2"
|
|
80
|
+
],
|
|
81
|
+
"columns": "2"
|
|
82
|
+
},
|
|
83
|
+
{
|
|
84
|
+
"id": "c1",
|
|
85
|
+
"component": "Card",
|
|
86
|
+
"children": [
|
|
87
|
+
"c1h",
|
|
88
|
+
"c1s"
|
|
89
|
+
]
|
|
90
|
+
},
|
|
91
|
+
{
|
|
92
|
+
"id": "c1h",
|
|
93
|
+
"component": "Header",
|
|
94
|
+
"children": [
|
|
95
|
+
"c1t"
|
|
96
|
+
]
|
|
97
|
+
},
|
|
98
|
+
{
|
|
99
|
+
"id": "c1t",
|
|
100
|
+
"component": "Text",
|
|
101
|
+
"slot": "heading",
|
|
102
|
+
"textContent": "Quick Actions",
|
|
103
|
+
"variant": "section"
|
|
104
|
+
},
|
|
105
|
+
{
|
|
106
|
+
"id": "c1s",
|
|
107
|
+
"component": "Section",
|
|
108
|
+
"children": [
|
|
109
|
+
"c1col"
|
|
110
|
+
]
|
|
111
|
+
},
|
|
112
|
+
{
|
|
113
|
+
"id": "c1col",
|
|
114
|
+
"component": "Column",
|
|
115
|
+
"children": [
|
|
116
|
+
"b1",
|
|
117
|
+
"b2",
|
|
118
|
+
"b3"
|
|
119
|
+
]
|
|
120
|
+
},
|
|
121
|
+
{
|
|
122
|
+
"id": "b1",
|
|
123
|
+
"component": "Button",
|
|
124
|
+
"text": "New Project",
|
|
125
|
+
"variant": "solid",
|
|
126
|
+
"icon": "plus"
|
|
127
|
+
},
|
|
128
|
+
{
|
|
129
|
+
"id": "b2",
|
|
130
|
+
"component": "Button",
|
|
131
|
+
"text": "Invite Member",
|
|
132
|
+
"variant": "outline",
|
|
133
|
+
"icon": "users"
|
|
134
|
+
},
|
|
135
|
+
{
|
|
136
|
+
"id": "b3",
|
|
137
|
+
"component": "Button",
|
|
138
|
+
"text": "View Reports",
|
|
139
|
+
"variant": "ghost",
|
|
140
|
+
"icon": "chart"
|
|
141
|
+
},
|
|
142
|
+
{
|
|
143
|
+
"id": "c2",
|
|
144
|
+
"component": "Card",
|
|
145
|
+
"children": [
|
|
146
|
+
"c2h",
|
|
147
|
+
"c2s"
|
|
148
|
+
]
|
|
149
|
+
},
|
|
150
|
+
{
|
|
151
|
+
"id": "c2h",
|
|
152
|
+
"component": "Header",
|
|
153
|
+
"children": [
|
|
154
|
+
"c2t"
|
|
155
|
+
]
|
|
156
|
+
},
|
|
157
|
+
{
|
|
158
|
+
"id": "c2t",
|
|
159
|
+
"component": "Text",
|
|
160
|
+
"slot": "heading",
|
|
161
|
+
"textContent": "System Status",
|
|
162
|
+
"variant": "section"
|
|
163
|
+
},
|
|
164
|
+
{
|
|
165
|
+
"id": "c2s",
|
|
166
|
+
"component": "Section",
|
|
167
|
+
"children": [
|
|
168
|
+
"c2col"
|
|
169
|
+
]
|
|
170
|
+
},
|
|
171
|
+
{
|
|
172
|
+
"id": "c2col",
|
|
173
|
+
"component": "Column",
|
|
174
|
+
"children": [
|
|
175
|
+
"p1",
|
|
176
|
+
"p2",
|
|
177
|
+
"p3"
|
|
178
|
+
]
|
|
179
|
+
},
|
|
180
|
+
{
|
|
181
|
+
"id": "p1",
|
|
182
|
+
"component": "Progress",
|
|
183
|
+
"value": 92,
|
|
184
|
+
"label": "CPU"
|
|
185
|
+
},
|
|
186
|
+
{
|
|
187
|
+
"id": "p2",
|
|
188
|
+
"component": "Progress",
|
|
189
|
+
"value": 67,
|
|
190
|
+
"label": "Memory"
|
|
191
|
+
},
|
|
192
|
+
{
|
|
193
|
+
"id": "p3",
|
|
194
|
+
"component": "Progress",
|
|
195
|
+
"value": 34,
|
|
196
|
+
"label": "Disk"
|
|
197
|
+
}
|
|
198
|
+
]
|
|
71
199
|
- name: onboarding-checklist
|
|
72
200
|
description: User onboarding checklist with progress and checkbox items.
|
|
73
|
-
a2ui:
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
201
|
+
a2ui: >-
|
|
202
|
+
[
|
|
203
|
+
{
|
|
204
|
+
"id": "root",
|
|
205
|
+
"component": "Card",
|
|
206
|
+
"children": [
|
|
207
|
+
"hdr",
|
|
208
|
+
"sec"
|
|
209
|
+
]
|
|
210
|
+
},
|
|
211
|
+
{
|
|
212
|
+
"id": "hdr",
|
|
213
|
+
"component": "Header",
|
|
214
|
+
"children": [
|
|
215
|
+
"title"
|
|
216
|
+
]
|
|
217
|
+
},
|
|
218
|
+
{
|
|
219
|
+
"id": "title",
|
|
220
|
+
"component": "Text",
|
|
221
|
+
"slot": "heading",
|
|
222
|
+
"textContent": "Getting Started"
|
|
223
|
+
},
|
|
224
|
+
{
|
|
225
|
+
"id": "sec",
|
|
226
|
+
"component": "Section",
|
|
227
|
+
"children": [
|
|
228
|
+
"col"
|
|
229
|
+
]
|
|
230
|
+
},
|
|
231
|
+
{
|
|
232
|
+
"id": "col",
|
|
233
|
+
"component": "Column",
|
|
234
|
+
"children": [
|
|
235
|
+
"prog",
|
|
236
|
+
"c1",
|
|
237
|
+
"c2",
|
|
238
|
+
"c3"
|
|
239
|
+
],
|
|
240
|
+
"gap": "3"
|
|
241
|
+
},
|
|
242
|
+
{
|
|
243
|
+
"id": "prog",
|
|
244
|
+
"component": "Progress",
|
|
245
|
+
"value": 33
|
|
246
|
+
},
|
|
247
|
+
{
|
|
248
|
+
"id": "c1",
|
|
249
|
+
"component": "CheckBox",
|
|
250
|
+
"label": "Complete your profile",
|
|
251
|
+
"checked": true
|
|
252
|
+
},
|
|
253
|
+
{
|
|
254
|
+
"id": "c2",
|
|
255
|
+
"component": "CheckBox",
|
|
256
|
+
"label": "Invite team members"
|
|
257
|
+
},
|
|
258
|
+
{
|
|
259
|
+
"id": "c3",
|
|
260
|
+
"component": "CheckBox",
|
|
261
|
+
"label": "Create your first project"
|
|
262
|
+
}
|
|
263
|
+
]
|
|
83
264
|
keywords:
|
|
84
265
|
- progress
|
|
85
266
|
- monitor
|
|
@@ -175,3 +356,4 @@ related:
|
|
|
175
356
|
- button
|
|
176
357
|
- check-box
|
|
177
358
|
- upload
|
|
359
|
+
- spinner
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
3
|
"$id": "https://adiaui.dev/a2ui/v0_9/components/ProgressRow.json",
|
|
4
4
|
"title": "ProgressRow",
|
|
5
|
-
"description": "
|
|
5
|
+
"description": "DEPRECATED (gh#1363 C4) — absorbed into <progress-ui>: set `label` (and optional `meta`) directly on <progress-ui> instead, which activates the identical row layout in place. progress-row-ui keeps working (still composes <progress-ui> internally, unchanged behavior) for existing back-compat markup, but is no longer taught or generated for new work. Was: inline labeled progress row with label, progress bar, and meta text — storage quotas, capacity breakdowns, usage indicators.",
|
|
6
6
|
"type": "object",
|
|
7
7
|
"allOf": [
|
|
8
8
|
{
|
|
@@ -28,7 +28,10 @@
|
|
|
28
28
|
},
|
|
29
29
|
"value": {
|
|
30
30
|
"description": "Progress value 0-100 (null = indeterminate; legacy -1 accepted for back-compat)",
|
|
31
|
-
"type":
|
|
31
|
+
"type": [
|
|
32
|
+
"number",
|
|
33
|
+
"null"
|
|
34
|
+
],
|
|
32
35
|
"default": null
|
|
33
36
|
},
|
|
34
37
|
"variant": {
|
|
@@ -48,19 +51,19 @@
|
|
|
48
51
|
],
|
|
49
52
|
"unevaluatedProperties": false,
|
|
50
53
|
"x-adiaui": {
|
|
51
|
-
"anti_patterns": [
|
|
52
|
-
|
|
54
|
+
"anti_patterns": [
|
|
55
|
+
{
|
|
56
|
+
"fix": "{\"component\": \"Progress\", \"label\": \"CPU\", \"value\": 92}\n",
|
|
57
|
+
"why": "ProgressRow is deprecated — its row layout was absorbed\ninto Progress directly.\n",
|
|
58
|
+
"wrong": "{\"component\": \"ProgressRow\", \"label\": \"CPU\", \"value\": 92}\n"
|
|
59
|
+
}
|
|
60
|
+
],
|
|
61
|
+
"category": "feedback",
|
|
53
62
|
"composes": [
|
|
54
63
|
"progress-ui"
|
|
55
64
|
],
|
|
56
65
|
"events": {},
|
|
57
|
-
"examples": [
|
|
58
|
-
{
|
|
59
|
-
"description": "Basic ProgressRow usage",
|
|
60
|
-
"a2ui": "[\n {\n \"id\": \"root\",\n \"component\": \"Card\",\n \"children\": [\n \"sec\"\n ]\n },\n {\n \"id\": \"sec\",\n \"component\": \"Section\",\n \"children\": [\n \"comp\"\n ]\n },\n {\n \"id\": \"comp\",\n \"component\": \"ProgressRow\",\n \"label\": \"Example ProgressRow\"\n }\n]",
|
|
61
|
-
"name": "basic-progress-row"
|
|
62
|
-
}
|
|
63
|
-
],
|
|
66
|
+
"examples": [],
|
|
64
67
|
"keywords": [
|
|
65
68
|
"progressrow",
|
|
66
69
|
"progress-row",
|
|
@@ -68,6 +71,7 @@
|
|
|
68
71
|
"row"
|
|
69
72
|
],
|
|
70
73
|
"name": "UIProgressRow",
|
|
74
|
+
"parts": {},
|
|
71
75
|
"related": [
|
|
72
76
|
"Progress",
|
|
73
77
|
"StepProgress",
|
|
@@ -87,7 +91,7 @@
|
|
|
87
91
|
"name": "idle"
|
|
88
92
|
}
|
|
89
93
|
],
|
|
90
|
-
"status": "
|
|
94
|
+
"status": "deprecated",
|
|
91
95
|
"synonyms": {
|
|
92
96
|
"progress-row": [
|
|
93
97
|
"task-row",
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* `<progress-row-ui>` —
|
|
2
|
+
* `<progress-row-ui>` — DEPRECATED (gh#1363 C4) — absorbed into <progress-ui>: set `label` (and optional `meta`) directly on <progress-ui> instead, which activates the identical row layout in place. progress-row-ui keeps working (still composes <progress-ui> internally, unchanged behavior) for existing back-compat markup, but is no longer taught or generated for new work. Was: inline labeled progress row with label, progress bar, and meta text — storage quotas, capacity breakdowns, usage indicators.
|
|
3
3
|
*
|
|
4
4
|
* @see https://ui-kit.exe.xyz/site/components/progress-row
|
|
5
5
|
*
|
|
@@ -18,7 +18,7 @@ export class UIProgressRow extends UIElement {
|
|
|
18
18
|
/** Right-hand meta text (e.g. '32 GB', '4.2k / 10k') */
|
|
19
19
|
meta: string;
|
|
20
20
|
/** Progress value 0-100 (null = indeterminate; legacy -1 accepted for back-compat) */
|
|
21
|
-
value: number;
|
|
21
|
+
value: number | null;
|
|
22
22
|
/** Color variant for the progress fill */
|
|
23
23
|
variant: 'default' | 'success' | 'warning' | 'danger';
|
|
24
24
|
}
|
|
@@ -1,19 +1,7 @@
|
|
|
1
1
|
# progress-row — Examples
|
|
2
2
|
|
|
3
|
-
## Basic
|
|
3
|
+
## Basic (back-compat)
|
|
4
4
|
|
|
5
5
|
```html
|
|
6
|
-
<progress-row-ui label="Storage" value="42"></progress-row-ui>
|
|
7
|
-
```
|
|
8
|
-
|
|
9
|
-
## With Meta
|
|
10
|
-
|
|
11
|
-
```html
|
|
12
|
-
<progress-row-ui label="Documents" value="65" meta="6.5 GB / 10 GB"></progress-row-ui>
|
|
13
|
-
```
|
|
14
|
-
|
|
15
|
-
## Variants
|
|
16
|
-
|
|
17
|
-
```html
|
|
18
|
-
<progress-row-ui label="Healthy" value="30" meta="30%" variant="success"></progress-row-ui>
|
|
6
|
+
<progress-row-ui label="Storage" value="42" meta="42 GB / 100 GB"></progress-row-ui>
|
|
19
7
|
```
|
|
@@ -3,12 +3,19 @@
|
|
|
3
3
|
$schema: ../../../../scripts/schemas/component.yaml.schema.json
|
|
4
4
|
name: UIProgressRow
|
|
5
5
|
tag: progress-row-ui
|
|
6
|
-
status:
|
|
6
|
+
status: deprecated
|
|
7
7
|
component: ProgressRow
|
|
8
|
-
category:
|
|
8
|
+
category: feedback
|
|
9
9
|
version: 1
|
|
10
|
-
description:
|
|
11
|
-
|
|
10
|
+
description: >-
|
|
11
|
+
DEPRECATED (gh#1363 C4) — absorbed into <progress-ui>: set
|
|
12
|
+
`label` (and optional `meta`) directly on <progress-ui> instead, which
|
|
13
|
+
activates the identical row layout in place. progress-row-ui keeps
|
|
14
|
+
working (still composes <progress-ui> internally, unchanged behavior)
|
|
15
|
+
for existing back-compat markup, but is no longer taught or generated
|
|
16
|
+
for new work. Was: inline labeled progress row with label, progress
|
|
17
|
+
bar, and meta text — storage quotas, capacity breakdowns, usage
|
|
18
|
+
indicators.
|
|
12
19
|
# Per ADR-0027 — primitives that programmatically create other primitives
|
|
13
20
|
# do NOT auto-import them. Consumer (or demo shell) must explicitly import.
|
|
14
21
|
composes:
|
|
@@ -48,38 +55,23 @@ traits: []
|
|
|
48
55
|
tokens: {}
|
|
49
56
|
a2ui:
|
|
50
57
|
rules:
|
|
51
|
-
- rule: '
|
|
52
|
-
reason: '
|
|
53
|
-
- rule: 'For standalone progress bars without a row context use <progress-ui> directly.'
|
|
54
|
-
reason: 'Composition boundary.'
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
]
|
|
69
|
-
},
|
|
70
|
-
{
|
|
71
|
-
"id": "sec",
|
|
72
|
-
"component": "Section",
|
|
73
|
-
"children": [
|
|
74
|
-
"comp"
|
|
75
|
-
]
|
|
76
|
-
},
|
|
77
|
-
{
|
|
78
|
-
"id": "comp",
|
|
79
|
-
"component": "ProgressRow",
|
|
80
|
-
"label": "Example ProgressRow"
|
|
81
|
-
}
|
|
82
|
-
]
|
|
58
|
+
- rule: 'DEPRECATED — do not generate ProgressRow. Set `label` (and optional `meta`) directly on <progress-ui> instead; label present activates the identical row layout.'
|
|
59
|
+
reason: 'Absorbed progress-row-ui''s row layout into progress-ui (gh#1363 C4); this component is now a back-compat alias only.'
|
|
60
|
+
- rule: 'For standalone progress bars without a row context use <progress-ui> directly (no `label`).'
|
|
61
|
+
reason: 'Composition boundary — unchanged by the absorption.'
|
|
62
|
+
anti_patterns:
|
|
63
|
+
- wrong: |
|
|
64
|
+
{"component": "ProgressRow", "label": "CPU", "value": 92}
|
|
65
|
+
why: |
|
|
66
|
+
ProgressRow is deprecated — its row layout was absorbed
|
|
67
|
+
into Progress directly.
|
|
68
|
+
fix: |
|
|
69
|
+
{"component": "Progress", "label": "CPU", "value": 92}
|
|
70
|
+
# Deliberately empty (gh#1363 C4) — deprecated components carry no
|
|
71
|
+
# A2UI examples: the catalog/corpus must never teach `"component":
|
|
72
|
+
# "ProgressRow"` as a generation target. See progress.yaml's own examples
|
|
73
|
+
# for the equivalent (and current) label+row shape.
|
|
74
|
+
examples: []
|
|
83
75
|
keywords:
|
|
84
76
|
- progressrow
|
|
85
77
|
- progress-row
|
|
@@ -71,7 +71,7 @@
|
|
|
71
71
|
"anti_patterns": [
|
|
72
72
|
{
|
|
73
73
|
"fix": "Drop the ECC level (lower L gives more capacity for the same\nversion), OR shorten the URL (use a URL shortener), OR encode\nwith a BYO encoder library + pass the [matrix]:\n`<qr-code-ui matrix=\"[[1,0,1,...],...]\"></qr-code-ui>`\n",
|
|
74
|
-
"why": "Built-in encoder covers versions 1–10. Data beyond v10 capacity\
|
|
74
|
+
"why": "Built-in encoder covers versions 1–10. Data beyond v10 capacity\nis caught internally: the component renders empty and sets [error]\n(no exception reaches the consumer). Console warns with the value's\nUTF-16 code-unit length (String.length, not UTF-8 bytes) so\nconsumers can diagnose.\n",
|
|
75
75
|
"wrong": "<qr-code-ui value=\"https://very.long.url.that.exceeds.150.bytes.of.utf8.encoded.length...\"></qr-code-ui>\n"
|
|
76
76
|
},
|
|
77
77
|
{
|
|
@@ -110,6 +110,7 @@
|
|
|
110
110
|
"share-link"
|
|
111
111
|
],
|
|
112
112
|
"name": "UIQRCode",
|
|
113
|
+
"parts": {},
|
|
113
114
|
"related": [
|
|
114
115
|
"link",
|
|
115
116
|
"share"
|
|
@@ -122,7 +123,7 @@
|
|
|
122
123
|
},
|
|
123
124
|
{
|
|
124
125
|
"description": "Auto-encode failed (data too long for v1–10 at requested ECC). Renders an empty placeholder; logs a console warning. Switch to a BYO matrix from an external encoder, or downgrade the ECC level.",
|
|
125
|
-
"attribute": "
|
|
126
|
+
"attribute": "error",
|
|
126
127
|
"name": "error"
|
|
127
128
|
}
|
|
128
129
|
],
|
|
@@ -62,19 +62,19 @@ export class UIQRCode extends UIElement {
|
|
|
62
62
|
// BYO matrix wins
|
|
63
63
|
const byo = this.#parseMatrix(this.matrix);
|
|
64
64
|
if (byo) {
|
|
65
|
-
this.removeAttribute('
|
|
65
|
+
this.removeAttribute('error');
|
|
66
66
|
return byo;
|
|
67
67
|
}
|
|
68
68
|
if (!this.value) {
|
|
69
|
-
this.removeAttribute('
|
|
69
|
+
this.removeAttribute('error');
|
|
70
70
|
return null;
|
|
71
71
|
}
|
|
72
72
|
try {
|
|
73
73
|
const result = encodeQR(this.value, { errorCorrection: this.errorCorrection || 'M' });
|
|
74
|
-
this.removeAttribute('
|
|
74
|
+
this.removeAttribute('error');
|
|
75
75
|
return result.matrix;
|
|
76
76
|
} catch (e) {
|
|
77
|
-
this.setAttribute('
|
|
77
|
+
this.setAttribute('error', '');
|
|
78
78
|
// eslint-disable-next-line no-console
|
|
79
79
|
console.warn(`[qr-code-ui] encode failed for value (${this.value?.length || 0} chars at ECC=${this.errorCorrection}): ${e.message}. Lower ECC, shorten input, or supply a precomputed [matrix].`);
|
|
80
80
|
return null;
|
|
@@ -35,7 +35,7 @@
|
|
|
35
35
|
the configured ECC. Render an empty placeholder; the warning
|
|
36
36
|
went to console. Visually: a dashed outline at the requested
|
|
37
37
|
size so the layout doesn't collapse silently. */
|
|
38
|
-
:scope[
|
|
38
|
+
:scope[error] {
|
|
39
39
|
border: 1px dashed var(--a-border-strong);
|
|
40
40
|
border-radius: var(--a-radius-sm);
|
|
41
41
|
min-width: 4em;
|
|
@@ -111,7 +111,7 @@ states:
|
|
|
111
111
|
description: Default — QR rendered (or empty if no value/matrix).
|
|
112
112
|
- name: error
|
|
113
113
|
description: Auto-encode failed (data too long for v1–10 at requested ECC). Renders an empty placeholder; logs a console warning. Switch to a BYO matrix from an external encoder, or downgrade the ECC level.
|
|
114
|
-
attribute:
|
|
114
|
+
attribute: error
|
|
115
115
|
traits: []
|
|
116
116
|
tokens:
|
|
117
117
|
--qr-code-fg:
|
|
@@ -136,8 +136,10 @@ anti_patterns:
|
|
|
136
136
|
<qr-code-ui value="https://very.long.url.that.exceeds.150.bytes.of.utf8.encoded.length..."></qr-code-ui>
|
|
137
137
|
why: |
|
|
138
138
|
Built-in encoder covers versions 1–10. Data beyond v10 capacity
|
|
139
|
-
|
|
140
|
-
the
|
|
139
|
+
is caught internally: the component renders empty and sets [error]
|
|
140
|
+
(no exception reaches the consumer). Console warns with the value's
|
|
141
|
+
UTF-16 code-unit length (String.length, not UTF-8 bytes) so
|
|
142
|
+
consumers can diagnose.
|
|
141
143
|
fix: |
|
|
142
144
|
Drop the ECC level (lower L gives more capacity for the same
|
|
143
145
|
version), OR shorten the URL (use a URL shortener), OR encode
|
|
@@ -101,18 +101,19 @@
|
|
|
101
101
|
"poll"
|
|
102
102
|
],
|
|
103
103
|
"name": "UIRadio",
|
|
104
|
-
"
|
|
105
|
-
"button",
|
|
106
|
-
"radio-group"
|
|
107
|
-
],
|
|
108
|
-
"slots": {
|
|
104
|
+
"parts": {
|
|
109
105
|
"dot": {
|
|
110
|
-
"description": "Radio dot indicator, sized via --dot-size"
|
|
106
|
+
"description": "Radio dot indicator, sized via --dot-size — template-owned anatomy part, not a light-DOM insertion point"
|
|
111
107
|
},
|
|
112
108
|
"label": {
|
|
113
|
-
"description": "Label text
|
|
109
|
+
"description": "Label text beside the dot — set via the `label` attribute (rendered by CSS `attr(label)` on `::after`); template-owned, not a light-DOM insertion point (gh#1435, gh#1447)"
|
|
114
110
|
}
|
|
115
111
|
},
|
|
112
|
+
"related": [
|
|
113
|
+
"button",
|
|
114
|
+
"radio-group"
|
|
115
|
+
],
|
|
116
|
+
"slots": {},
|
|
116
117
|
"states": [
|
|
117
118
|
{
|
|
118
119
|
"description": "Default, ready for interaction.",
|
|
@@ -14,6 +14,14 @@
|
|
|
14
14
|
/**
|
|
15
15
|
* <radio-ui> — Radio button. The host IS the control.
|
|
16
16
|
* Pure CSS dot via [slot="dot"]::after inner circle. No SVG, no inset shadow hack.
|
|
17
|
+
*
|
|
18
|
+
* ADR-0056 exemption (#1363 B7): [checked] — not [selected] — is the
|
|
19
|
+
* state surface here. radio-ui is a native form-control primitive (like
|
|
20
|
+
* option-card-ui's [checked] and accordion-item-ui's [open]); ADR-0056
|
|
21
|
+
* governs the parent-managed selection-item shape (segment-ui,
|
|
22
|
+
* toggle-option-ui), a different convention. radio-ui self-selects on
|
|
23
|
+
* click/keydown and stays independently form-participating per [name] —
|
|
24
|
+
* it is not a child a parent stamps top-down.
|
|
17
25
|
*/
|
|
18
26
|
|
|
19
27
|
import { UIFormElement } from '../../core/form.js';
|
|
@@ -56,11 +56,11 @@ props:
|
|
|
56
56
|
events:
|
|
57
57
|
change:
|
|
58
58
|
description: Fired when this radio becomes selected (bubbles)
|
|
59
|
-
|
|
59
|
+
parts:
|
|
60
60
|
dot:
|
|
61
|
-
description: Radio dot indicator, sized via --dot-size
|
|
61
|
+
description: Radio dot indicator, sized via --dot-size — template-owned anatomy part, not a light-DOM insertion point
|
|
62
62
|
label:
|
|
63
|
-
description: Label text
|
|
63
|
+
description: Label text beside the dot — set via the `label` attribute (rendered by CSS `attr(label)` on `::after`); template-owned, not a light-DOM insertion point (gh#1435, gh#1447)
|
|
64
64
|
states:
|
|
65
65
|
- name: idle
|
|
66
66
|
description: Default, ready for interaction.
|