@ds-mo/ui 15.3.0 → 15.4.0
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/dist/.package-ready.json +1 -1
- package/dist/agent-patterns.json +1 -1
- package/dist/agent.json +506 -31
- package/dist/angular/ds-checkbox-group.d.ts +12 -0
- package/dist/angular/ds-checkbox-group.js +38 -0
- package/dist/angular/ds-checkbox.d.ts +1 -1
- package/dist/angular/ds-checkbox.js +3 -3
- package/dist/angular/ds-inline-banner-settings.d.ts +12 -0
- package/dist/angular/ds-inline-banner-settings.js +38 -0
- package/dist/angular/ds-radio.d.ts +1 -1
- package/dist/angular/ds-radio.js +3 -3
- package/dist/angular/ds-setting-row-checkbox.d.ts +12 -0
- package/dist/angular/ds-setting-row-checkbox.js +38 -0
- package/dist/angular/ds-setting-row-radio.d.ts +12 -0
- package/dist/angular/ds-setting-row-radio.js +38 -0
- package/dist/angular/ds-setting-row-toggle.d.ts +18 -0
- package/dist/angular/{ds-setting-row.js → ds-setting-row-toggle.js} +12 -12
- package/dist/angular/index.d.ts +1 -1
- package/dist/angular/index.js +5 -1
- package/dist/angular/proxies.d.ts +5 -1
- package/dist/angular/proxies.js +5 -1
- package/dist/components/ds-agent-activity.js +1 -1
- package/dist/components/ds-agent-questionnaire.js +1 -1
- package/dist/components/ds-agent-response.js +1 -1
- package/dist/components/ds-agent-response.js.map +1 -1
- package/dist/components/ds-agent-source-list.js +1 -1
- package/dist/components/ds-agent-tool-call.js +1 -1
- package/dist/components/ds-attachment-list.js +1 -1
- package/dist/components/ds-badge.js +1 -1
- package/dist/components/ds-banner.js +1 -1
- package/dist/components/ds-bar-action.js +1 -1
- package/dist/components/ds-bar-nav.js +1 -1
- package/dist/components/ds-bar-page-title.js +1 -1
- package/dist/components/ds-bar-title.js +1 -1
- package/dist/components/ds-bar-workflow.js +1 -1
- package/dist/components/ds-breadcrumb.js +1 -1
- package/dist/components/ds-button-filled.js +1 -1
- package/dist/components/ds-button-inverted.js +1 -1
- package/dist/components/ds-button-inverted.js.map +1 -1
- package/dist/components/ds-button-unfilled.js +1 -1
- package/dist/components/ds-calendar.js +1 -1
- package/dist/components/ds-card-action-center.js +1 -1
- package/dist/components/ds-card-action-center.js.map +1 -1
- package/dist/components/ds-card-chart.js +1 -1
- package/dist/components/ds-card-navigation.js +1 -1
- package/dist/components/ds-card-navigation.js.map +1 -1
- package/dist/components/ds-card-overview.js +1 -1
- package/dist/components/ds-card-overview.js.map +1 -1
- package/dist/components/ds-card-setting.js +1 -1
- package/dist/components/ds-card-setting.js.map +1 -1
- package/dist/components/ds-card-settings-scope.js +1 -1
- package/dist/components/ds-card-settings-scope.js.map +1 -1
- package/dist/components/ds-chart-legend.js +1 -1
- package/dist/components/ds-chart-legend.js.map +1 -1
- package/dist/components/ds-chart.js +1 -1
- package/dist/components/{ds-setting-row.d.ts → ds-checkbox-group.d.ts} +4 -4
- package/dist/components/ds-checkbox-group.js +2 -0
- package/dist/components/ds-checkbox-group.js.map +1 -0
- package/dist/components/ds-checkbox.js +1 -1
- package/dist/components/ds-chip.js +1 -1
- package/dist/components/ds-code-block.js +1 -1
- package/dist/components/ds-conversation-list-item.js +1 -1
- package/dist/components/ds-conversation-list-item.js.map +1 -1
- package/dist/components/ds-conversation-list-section.js +1 -1
- package/dist/components/ds-conversation-list.js +1 -1
- package/dist/components/ds-data-customize.js +1 -1
- package/dist/components/ds-data-filter.js +1 -1
- package/dist/components/ds-data-group.js +1 -1
- package/dist/components/ds-data-preferences.js +1 -1
- package/dist/components/ds-data-saved-views.js +1 -1
- package/dist/components/ds-data-search.js +1 -1
- package/dist/components/ds-data-search.js.map +1 -1
- package/dist/components/ds-data-sort.js +1 -1
- package/dist/components/ds-data-toolbar.js +1 -1
- package/dist/components/ds-divider.js +1 -1
- package/dist/components/ds-empty-state.js +1 -1
- package/dist/components/ds-field.js +1 -1
- package/dist/components/ds-filter-menu.js +1 -1
- package/dist/components/ds-inline-banner-settings.d.ts +11 -0
- package/dist/components/ds-inline-banner-settings.js +2 -0
- package/dist/components/ds-inline-banner-settings.js.map +1 -0
- package/dist/components/ds-input-date.js +1 -1
- package/dist/components/ds-input-date.js.map +1 -1
- package/dist/components/ds-input-time.js +1 -1
- package/dist/components/ds-input-time.js.map +1 -1
- package/dist/components/ds-input.js +1 -1
- package/dist/components/ds-map-cluster-marker.js +1 -1
- package/dist/components/ds-map-entity-marker.js +1 -1
- package/dist/components/ds-markdown.js +1 -1
- package/dist/components/ds-menu.js +1 -1
- package/dist/components/ds-message-actions.js +1 -1
- package/dist/components/ds-message-bubble.js +1 -1
- package/dist/components/ds-message-bubble.js.map +1 -1
- package/dist/components/ds-message-composer.js +1 -1
- package/dist/components/ds-message-composer.js.map +1 -1
- package/dist/components/ds-message-scroller.js +1 -1
- package/dist/components/ds-message.js +1 -1
- package/dist/components/ds-mobile-bar-nav.js +1 -1
- package/dist/components/ds-mobile-header.js +1 -1
- package/dist/components/ds-mobile-section-switcher.js +1 -1
- package/dist/components/ds-mobile-sheet-nav.js +1 -1
- package/dist/components/ds-modal.js +1 -1
- package/dist/components/ds-pagination.js +1 -1
- package/dist/components/ds-panel-nav.js +1 -1
- package/dist/components/ds-panel-sub-nav.js +1 -1
- package/dist/components/ds-panel-sub-nav.js.map +1 -1
- package/dist/components/ds-panel-tool-header.js +1 -1
- package/dist/components/ds-panel-tool-search.js +1 -1
- package/dist/components/ds-panel-tool-search.js.map +1 -1
- package/dist/components/ds-panel-tools.js +1 -1
- package/dist/components/ds-paper-texture.js +1 -1
- package/dist/components/ds-radio-tile.js +1 -1
- package/dist/components/ds-radio-tile.js.map +1 -1
- package/dist/components/ds-radio.js +1 -1
- package/dist/components/ds-score.js +1 -1
- package/dist/components/ds-scroll-overlay.js +1 -1
- package/dist/components/ds-scroll-overlay.js.map +1 -1
- package/dist/components/ds-select.js +1 -1
- package/dist/components/ds-setting-row-checkbox.d.ts +11 -0
- package/dist/components/ds-setting-row-checkbox.js +2 -0
- package/dist/components/ds-setting-row-checkbox.js.map +1 -0
- package/dist/components/ds-setting-row-radio.d.ts +11 -0
- package/dist/components/ds-setting-row-radio.js +2 -0
- package/dist/components/ds-setting-row-radio.js.map +1 -0
- package/dist/components/ds-setting-row-toggle.d.ts +11 -0
- package/dist/components/ds-setting-row-toggle.js +2 -0
- package/dist/components/ds-setting-row-toggle.js.map +1 -0
- package/dist/components/ds-shell-app.js +1 -1
- package/dist/components/ds-shell-app.js.map +1 -1
- package/dist/components/ds-shell-page.js +1 -1
- package/dist/components/ds-shell-tools.js +1 -1
- package/dist/components/ds-skeleton.js +1 -1
- package/dist/components/ds-slider.js +1 -1
- package/dist/components/ds-swatch-picker.js +1 -1
- package/dist/components/ds-switch.js +1 -1
- package/dist/components/ds-tab-group.js +1 -1
- package/dist/components/ds-table.js +1 -1
- package/dist/components/ds-table.js.map +1 -1
- package/dist/components/ds-tag.js +1 -1
- package/dist/components/ds-text.js +1 -1
- package/dist/components/ds-textarea.js +1 -1
- package/dist/components/ds-textarea.js.map +1 -1
- package/dist/components/ds-time-picker.js +1 -1
- package/dist/components/ds-toast.js +1 -1
- package/dist/components/ds-tooltip-chart.js +1 -1
- package/dist/components/ds-tooltip.js +1 -1
- package/dist/components/ds-typing-indicator.js +1 -1
- package/dist/components/p-7TVdPhGR.js +2 -0
- package/dist/components/{p-DHapI2sf.js.map → p-7TVdPhGR.js.map} +1 -1
- package/dist/components/{p-7V1AhetH.js → p-B0BQCVkq.js} +2 -2
- package/dist/components/{p-Co5MiPNa.js → p-B0EpvBDs.js} +2 -2
- package/dist/components/{p-DFkw6wrS.js → p-B39iJO8F.js} +2 -2
- package/dist/components/p-B9TM6FqC.js +2 -0
- package/dist/components/{p-p_MwknM3.js.map → p-B9TM6FqC.js.map} +1 -1
- package/dist/components/{p-AmT4GlhM.js → p-B9y6azEw.js} +2 -2
- package/dist/components/p-BDdlJZyL.js +2 -0
- package/dist/components/{p-cuZva5tl.js.map → p-BDdlJZyL.js.map} +1 -1
- package/dist/components/{p-CrL9wxZg.js → p-BERXvOCf.js} +2 -2
- package/dist/components/{p-AM_ht6Im.js → p-BFHpU-uU.js} +2 -2
- package/dist/components/{p-B-HOVYoH.js → p-BQspV5U7.js} +2 -2
- package/dist/components/p-BWSIw8AQ.js +2 -0
- package/dist/components/p-BWSIw8AQ.js.map +1 -0
- package/dist/components/p-BhjqYTiY.js +2 -0
- package/dist/components/p-BhjqYTiY.js.map +1 -0
- package/dist/components/{p-C_gJD8l3.js → p-Bk3poU91.js} +2 -2
- package/dist/components/{p-Gb-vTuXr.js → p-BnuNaXR2.js} +2 -2
- package/dist/components/p-BwdnVqAY.js +2 -0
- package/dist/components/{p-BHI4LcGK.js.map → p-BwdnVqAY.js.map} +1 -1
- package/dist/components/p-C4huuwed.js +2 -0
- package/dist/components/{p-tJaC01aE.js.map → p-C4huuwed.js.map} +1 -1
- package/dist/components/{p-BsM37Prt.js → p-C8V4lkVy.js} +2 -2
- package/dist/components/p-CJ1NnOEW.js +2 -0
- package/dist/components/p-CJ1NnOEW.js.map +1 -0
- package/dist/components/p-CPamUzaj.js +2 -0
- package/dist/components/{p-BSuMDPaV.js.map → p-CPamUzaj.js.map} +1 -1
- package/dist/components/{p-BU1B6NW8.js → p-CUDocY23.js} +2 -2
- package/dist/components/{p-BU1B6NW8.js.map → p-CUDocY23.js.map} +1 -1
- package/dist/components/p-CX6ZxUQT.js +2 -0
- package/dist/components/p-CX6ZxUQT.js.map +1 -0
- package/dist/components/{p-C-c8SJ00.js → p-CZNZTcYS.js} +2 -2
- package/dist/components/{p-DQPzqcYR.js → p-CbCN9ew9.js} +2 -2
- package/dist/components/p-CeXf9-X3.js.map +1 -1
- package/dist/components/p-Cgn-BORA.js +2 -0
- package/dist/components/p-Cgn-BORA.js.map +1 -0
- package/dist/components/{p-CzQ_JF6A.js → p-Co1rUdOR.js} +2 -2
- package/dist/components/p-Co1rUdOR.js.map +1 -0
- package/dist/components/{p-D0KD-Nr_.js → p-CwdRaJER.js} +2 -2
- package/dist/components/p-D6FRqNhN.js +2 -0
- package/dist/components/p-D6FRqNhN.js.map +1 -0
- package/dist/components/{p-Cihjy4WY.js → p-D8OWhnID.js} +2 -2
- package/dist/components/p-DCyJ3_PL.js +2 -0
- package/dist/components/{p-fYZK3zqM.js.map → p-DCyJ3_PL.js.map} +1 -1
- package/dist/components/{p-BXSHN1OK.js → p-DIQiHX0q.js} +2 -2
- package/dist/components/{p-z8L-YMi3.js → p-DJDbskZf.js} +2 -2
- package/dist/components/p-DRdoGSGX.js +2 -0
- package/dist/components/{p-DWmYCOKz.js.map → p-DRdoGSGX.js.map} +1 -1
- package/dist/components/{p-Bm3KWMe4.js → p-DSZPO06T.js} +2 -2
- package/dist/components/{p-C3-dcROG.js → p-DSmDyI2o.js} +2 -2
- package/dist/components/{p-DcrdyDRw.js → p-DVEx-Xg9.js} +2 -2
- package/dist/components/{p-Bu4OmhKK.js → p-DXk1eml1.js} +2 -2
- package/dist/components/{p-B7QEpaMe.js → p-DYQa1DVF.js} +2 -2
- package/dist/components/p-DYQa1DVF.js.map +1 -0
- package/dist/components/p-DYsE6HLk.js +2 -0
- package/dist/components/p-DYsE6HLk.js.map +1 -0
- package/dist/components/p-DebLYW7A.js +2 -0
- package/dist/components/p-DebLYW7A.js.map +1 -0
- package/dist/components/{p-Bh1Fx0aW.js → p-DmSnHVW6.js} +2 -2
- package/dist/components/p-Dnt5xUBD.js +2 -0
- package/dist/components/{p-C4VeD49U.js.map → p-Dnt5xUBD.js.map} +1 -1
- package/dist/components/p-Doa2blZT.js +2 -0
- package/dist/components/{p-CztB8Pbq.js.map → p-Doa2blZT.js.map} +1 -1
- package/dist/components/{p-CCpJT31M.js → p-Dyqd-cub.js} +2 -2
- package/dist/components/{p-CCpJT31M.js.map → p-Dyqd-cub.js.map} +1 -1
- package/dist/components/p-DzvTC27M.js +2 -0
- package/dist/components/p-DzvTC27M.js.map +1 -0
- package/dist/components/p-JBki_jyY.js +2 -0
- package/dist/components/{p-BugKaVWc.js.map → p-JBki_jyY.js.map} +1 -1
- package/dist/components/p-MOJmB6vX.js +2 -0
- package/dist/components/{p-iGNHXFZA.js.map → p-MOJmB6vX.js.map} +1 -1
- package/dist/components/{p-BYJtvRQm.js → p-UJMEz8_O.js} +2 -2
- package/dist/components/{p-Bo7GxFBh.js → p-_IqSPt5V.js} +2 -2
- package/dist/components/p-g0jsfEXz.js +2 -0
- package/dist/components/{p-Fkkd3gMB.js.map → p-g0jsfEXz.js.map} +1 -1
- package/dist/components/{p-lADW-TI8.js → p-pp1IQN4Z.js} +2 -2
- package/dist/docs/components.json +701 -13
- package/dist/lib/shell/index.js +1 -1
- package/dist/lib/shell/index.js.map +1 -1
- package/dist/lint/index.js +1 -1
- package/dist/mcp-data/registry/agent-activity.json +1 -1
- package/dist/mcp-data/registry/agent-questionnaire.json +1 -1
- package/dist/mcp-data/registry/agent-response.json +2 -2
- package/dist/mcp-data/registry/agent-source-list.json +1 -1
- package/dist/mcp-data/registry/agent-tool-call.json +1 -1
- package/dist/mcp-data/registry/attachment-list.json +1 -1
- package/dist/mcp-data/registry/avatar.json +1 -1
- package/dist/mcp-data/registry/badge.json +1 -1
- package/dist/mcp-data/registry/banner.json +1 -1
- package/dist/mcp-data/registry/bar-action.json +1 -1
- package/dist/mcp-data/registry/bar-nav.json +4 -4
- package/dist/mcp-data/registry/bar-page-title.json +3 -3
- package/dist/mcp-data/registry/bar-title.json +3 -3
- package/dist/mcp-data/registry/bar-workflow.json +1 -1
- package/dist/mcp-data/registry/breadcrumb.json +1 -1
- package/dist/mcp-data/registry/button-filled.json +1 -1
- package/dist/mcp-data/registry/button-inverted.json +1 -1
- package/dist/mcp-data/registry/button-unfilled.json +8 -8
- package/dist/mcp-data/registry/calendar.json +1 -1
- package/dist/mcp-data/registry/card-action-center.json +1 -1
- package/dist/mcp-data/registry/card-chart.json +1 -1
- package/dist/mcp-data/registry/card-navigation.json +1 -1
- package/dist/mcp-data/registry/card-overview.json +1 -1
- package/dist/mcp-data/registry/card-setting.json +22 -8
- package/dist/mcp-data/registry/card-settings-scope.json +1 -1
- package/dist/mcp-data/registry/chart-legend.json +1 -1
- package/dist/mcp-data/registry/chart.json +1 -1
- package/dist/mcp-data/registry/checkbox-group.json +246 -0
- package/dist/mcp-data/registry/checkbox.json +25 -5
- package/dist/mcp-data/registry/chip.json +1 -1
- package/dist/mcp-data/registry/code-block.json +1 -1
- package/dist/mcp-data/registry/conversation-list-item.json +1 -1
- package/dist/mcp-data/registry/conversation-list-section.json +1 -1
- package/dist/mcp-data/registry/conversation-list.json +1 -1
- package/dist/mcp-data/registry/data-customize.json +1 -1
- package/dist/mcp-data/registry/data-filter.json +1 -1
- package/dist/mcp-data/registry/data-group.json +1 -1
- package/dist/mcp-data/registry/data-preferences.json +1 -1
- package/dist/mcp-data/registry/data-saved-views.json +1 -1
- package/dist/mcp-data/registry/data-search.json +1 -1
- package/dist/mcp-data/registry/data-sort.json +1 -1
- package/dist/mcp-data/registry/data-toolbar.json +1 -1
- package/dist/mcp-data/registry/divider.json +1 -1
- package/dist/mcp-data/registry/empty-state.json +1 -1
- package/dist/mcp-data/registry/field.json +1 -1
- package/dist/mcp-data/registry/filter-menu.json +1 -1
- package/dist/mcp-data/registry/icon.json +1 -1
- package/dist/mcp-data/registry/inline-banner-settings.json +175 -0
- package/dist/mcp-data/registry/input-date.json +1 -1
- package/dist/mcp-data/registry/input-time.json +1 -1
- package/dist/mcp-data/registry/input.json +1 -1
- package/dist/mcp-data/registry/loader.json +1 -1
- package/dist/mcp-data/registry/map-cluster-marker.json +1 -1
- package/dist/mcp-data/registry/map-entity-marker.json +1 -1
- package/dist/mcp-data/registry/markdown.json +1 -1
- package/dist/mcp-data/registry/menu.json +1 -1
- package/dist/mcp-data/registry/message-actions.json +1 -1
- package/dist/mcp-data/registry/message-bubble.json +4 -4
- package/dist/mcp-data/registry/message-composer.json +6 -6
- package/dist/mcp-data/registry/message-scroller.json +1 -1
- package/dist/mcp-data/registry/message.json +2 -2
- package/dist/mcp-data/registry/mobile-bar-nav.json +1 -1
- package/dist/mcp-data/registry/mobile-header.json +1 -1
- package/dist/mcp-data/registry/mobile-section-switcher.json +1 -1
- package/dist/mcp-data/registry/mobile-sheet-nav.json +1 -1
- package/dist/mcp-data/registry/modal.json +1 -1
- package/dist/mcp-data/registry/pagination.json +1 -1
- package/dist/mcp-data/registry/panel-nav.json +3 -3
- package/dist/mcp-data/registry/panel-sub-nav.json +1 -1
- package/dist/mcp-data/registry/panel-tool-header.json +3 -3
- package/dist/mcp-data/registry/panel-tool-search.json +2 -2
- package/dist/mcp-data/registry/panel-tools.json +3 -3
- package/dist/mcp-data/registry/paper-texture.json +1 -1
- package/dist/mcp-data/registry/radio-tile.json +5 -4
- package/dist/mcp-data/registry/radio.json +50 -8
- package/dist/mcp-data/registry/registry.json +518 -31
- package/dist/mcp-data/registry/score.json +1 -1
- package/dist/mcp-data/registry/scroll-overlay.json +1 -1
- package/dist/mcp-data/registry/select.json +1 -1
- package/dist/mcp-data/registry/setting-row-checkbox.json +197 -0
- package/dist/mcp-data/registry/setting-row-radio.json +196 -0
- package/dist/mcp-data/registry/{setting-row.json → setting-row-toggle.json} +45 -25
- package/dist/mcp-data/registry/shell-app.json +3 -3
- package/dist/mcp-data/registry/shell-page.json +1 -1
- package/dist/mcp-data/registry/shell-tools.json +1 -1
- package/dist/mcp-data/registry/skeleton.json +1 -1
- package/dist/mcp-data/registry/slider.json +1 -1
- package/dist/mcp-data/registry/swatch-picker.json +1 -1
- package/dist/mcp-data/registry/switch.json +3 -3
- package/dist/mcp-data/registry/tab-group.json +1 -1
- package/dist/mcp-data/registry/table.json +1 -1
- package/dist/mcp-data/registry/tag.json +1 -1
- package/dist/mcp-data/registry/text.json +1 -1
- package/dist/mcp-data/registry/textarea.json +1 -1
- package/dist/mcp-data/registry/time-picker.json +1 -1
- package/dist/mcp-data/registry/toast.json +1 -1
- package/dist/mcp-data/registry/tooltip-chart.json +1 -1
- package/dist/mcp-data/registry/tooltip.json +1 -1
- package/dist/mcp-data/registry/typing-indicator.json +1 -1
- package/dist/react/components.d.ts +5 -1
- package/dist/react/components.js +5 -1
- package/dist/react/ds-checkbox-group.d.ts +9 -0
- package/dist/react/ds-checkbox-group.js +12 -0
- package/dist/react/ds-inline-banner-settings.d.ts +9 -0
- package/dist/react/ds-inline-banner-settings.js +12 -0
- package/dist/react/ds-setting-row-checkbox.d.ts +9 -0
- package/dist/react/ds-setting-row-checkbox.js +12 -0
- package/dist/react/ds-setting-row-radio.d.ts +9 -0
- package/dist/react/ds-setting-row-radio.js +12 -0
- package/dist/react/ds-setting-row-toggle.d.ts +12 -0
- package/dist/react/ds-setting-row-toggle.js +12 -0
- package/dist/types/components/BarPageTitle/BarPageTitle.d.ts +2 -0
- package/dist/types/components/BarTitle/bar-title-action-chrome.d.ts +4 -0
- package/dist/types/components/ButtonUnfilled/ButtonUnfilled.d.ts +5 -2
- package/dist/types/components/CardSetting/CardSetting.d.ts +12 -2
- package/dist/types/components/Checkbox/Checkbox.d.ts +2 -0
- package/dist/types/components/CheckboxGroup/CheckboxGroup.d.ts +20 -0
- package/dist/types/components/InlineBannerSettings/InlineBannerSettings.d.ts +6 -0
- package/dist/types/components/Radio/Radio.d.ts +8 -0
- package/dist/types/components/SettingRowCheckbox/SettingRowCheckbox.d.ts +19 -0
- package/dist/types/components/SettingRowRadio/SettingRowRadio.d.ts +19 -0
- package/dist/types/components/{SettingRow/SettingRow.d.ts → SettingRowToggle/SettingRowToggle.d.ts} +5 -2
- package/dist/types/components/Switch/Switch.d.ts +7 -0
- package/dist/types/components.d.ts +290 -20
- package/dist/vue/components.d.ts +5 -1
- package/dist/vue/components.js +5 -1
- package/dist/vue/{ds-setting-row.d.ts → ds-checkbox-group.d.ts} +1 -1
- package/dist/vue/ds-checkbox-group.js +12 -0
- package/dist/vue/ds-checkbox.js +1 -0
- package/dist/vue/ds-inline-banner-settings.d.ts +3 -0
- package/dist/vue/ds-inline-banner-settings.js +8 -0
- package/dist/vue/ds-radio.js +2 -0
- package/dist/vue/ds-setting-row-checkbox.d.ts +3 -0
- package/dist/vue/ds-setting-row-checkbox.js +11 -0
- package/dist/vue/ds-setting-row-radio.d.ts +3 -0
- package/dist/vue/ds-setting-row-radio.js +11 -0
- package/dist/vue/ds-setting-row-toggle.d.ts +3 -0
- package/dist/vue/ds-setting-row-toggle.js +15 -0
- package/package.json +3 -3
- package/dist/angular/ds-setting-row.d.ts +0 -18
- package/dist/components/ds-setting-row.js +0 -2
- package/dist/components/ds-setting-row.js.map +0 -1
- package/dist/components/p-3bsypMrY.js +0 -2
- package/dist/components/p-3bsypMrY.js.map +0 -1
- package/dist/components/p-B7QEpaMe.js.map +0 -1
- package/dist/components/p-B7bXN-vf.js +0 -2
- package/dist/components/p-B7bXN-vf.js.map +0 -1
- package/dist/components/p-BHI4LcGK.js +0 -2
- package/dist/components/p-BSuMDPaV.js +0 -2
- package/dist/components/p-BVwg5XVz.js +0 -2
- package/dist/components/p-BVwg5XVz.js.map +0 -1
- package/dist/components/p-BugKaVWc.js +0 -2
- package/dist/components/p-C4VeD49U.js +0 -2
- package/dist/components/p-CI7c9kp-.js +0 -2
- package/dist/components/p-CI7c9kp-.js.map +0 -1
- package/dist/components/p-CJD0kLeV.js +0 -2
- package/dist/components/p-CJD0kLeV.js.map +0 -1
- package/dist/components/p-Cc3ZUQlJ.js +0 -2
- package/dist/components/p-Cc3ZUQlJ.js.map +0 -1
- package/dist/components/p-CzQ_JF6A.js.map +0 -1
- package/dist/components/p-CztB8Pbq.js +0 -2
- package/dist/components/p-DCLRAH5i.js +0 -2
- package/dist/components/p-DCLRAH5i.js.map +0 -1
- package/dist/components/p-DHapI2sf.js +0 -2
- package/dist/components/p-DWmYCOKz.js +0 -2
- package/dist/components/p-DX2RyZba.js +0 -2
- package/dist/components/p-DX2RyZba.js.map +0 -1
- package/dist/components/p-Dcn1eDVt.js +0 -2
- package/dist/components/p-Dcn1eDVt.js.map +0 -1
- package/dist/components/p-Fkkd3gMB.js +0 -2
- package/dist/components/p-cuZva5tl.js +0 -2
- package/dist/components/p-fYZK3zqM.js +0 -2
- package/dist/components/p-iGNHXFZA.js +0 -2
- package/dist/components/p-p_MwknM3.js +0 -2
- package/dist/components/p-tJaC01aE.js +0 -2
- package/dist/react/ds-setting-row.d.ts +0 -12
- package/dist/react/ds-setting-row.js +0 -12
- package/dist/vue/ds-setting-row.js +0 -14
- /package/dist/components/{p-7V1AhetH.js.map → p-B0BQCVkq.js.map} +0 -0
- /package/dist/components/{p-Co5MiPNa.js.map → p-B0EpvBDs.js.map} +0 -0
- /package/dist/components/{p-DFkw6wrS.js.map → p-B39iJO8F.js.map} +0 -0
- /package/dist/components/{p-AmT4GlhM.js.map → p-B9y6azEw.js.map} +0 -0
- /package/dist/components/{p-CrL9wxZg.js.map → p-BERXvOCf.js.map} +0 -0
- /package/dist/components/{p-AM_ht6Im.js.map → p-BFHpU-uU.js.map} +0 -0
- /package/dist/components/{p-B-HOVYoH.js.map → p-BQspV5U7.js.map} +0 -0
- /package/dist/components/{p-C_gJD8l3.js.map → p-Bk3poU91.js.map} +0 -0
- /package/dist/components/{p-Gb-vTuXr.js.map → p-BnuNaXR2.js.map} +0 -0
- /package/dist/components/{p-BsM37Prt.js.map → p-C8V4lkVy.js.map} +0 -0
- /package/dist/components/{p-C-c8SJ00.js.map → p-CZNZTcYS.js.map} +0 -0
- /package/dist/components/{p-DQPzqcYR.js.map → p-CbCN9ew9.js.map} +0 -0
- /package/dist/components/{p-D0KD-Nr_.js.map → p-CwdRaJER.js.map} +0 -0
- /package/dist/components/{p-Cihjy4WY.js.map → p-D8OWhnID.js.map} +0 -0
- /package/dist/components/{p-BXSHN1OK.js.map → p-DIQiHX0q.js.map} +0 -0
- /package/dist/components/{p-z8L-YMi3.js.map → p-DJDbskZf.js.map} +0 -0
- /package/dist/components/{p-Bm3KWMe4.js.map → p-DSZPO06T.js.map} +0 -0
- /package/dist/components/{p-C3-dcROG.js.map → p-DSmDyI2o.js.map} +0 -0
- /package/dist/components/{p-DcrdyDRw.js.map → p-DVEx-Xg9.js.map} +0 -0
- /package/dist/components/{p-Bu4OmhKK.js.map → p-DXk1eml1.js.map} +0 -0
- /package/dist/components/{p-Bh1Fx0aW.js.map → p-DmSnHVW6.js.map} +0 -0
- /package/dist/components/{p-BYJtvRQm.js.map → p-UJMEz8_O.js.map} +0 -0
- /package/dist/components/{p-Bo7GxFBh.js.map → p-_IqSPt5V.js.map} +0 -0
- /package/dist/components/{p-lADW-TI8.js.map → p-pp1IQN4Z.js.map} +0 -0
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
"themeSetup": "Set data-theme=\"dark\" on <html> for dark mode. Light is default.",
|
|
13
13
|
"peerDependencies": {
|
|
14
14
|
"required": [
|
|
15
|
-
"@ds-mo/tokens ^6.
|
|
15
|
+
"@ds-mo/tokens ^6.6.1",
|
|
16
16
|
"@ds-mo/icons ^8.1.1"
|
|
17
17
|
],
|
|
18
18
|
"optional": [],
|
|
@@ -1346,7 +1346,7 @@
|
|
|
1346
1346
|
}
|
|
1347
1347
|
],
|
|
1348
1348
|
"styling": {
|
|
1349
|
-
"rationale": "The host participates in
|
|
1349
|
+
"rationale": "The host participates in ShellApp-owned layout; ShellApp owns the shared Chrome base and wash while BarNav owns Chrome foreground, border, and interaction recipes.",
|
|
1350
1350
|
"protected": [],
|
|
1351
1351
|
"customProperties": []
|
|
1352
1352
|
}
|
|
@@ -2862,7 +2862,7 @@
|
|
|
2862
2862
|
"General content UI keeps the selected interaction fill and border for pressed or active emphasis.",
|
|
2863
2863
|
"Shell, navigation, and tool-rail composites use isActive with primary foreground across the complete control and no selected fill or border.",
|
|
2864
2864
|
"The omitted default surface treatment is for primary and secondary parent surfaces and uses the brand-active selected fill; pass faint explicitly on faint surfaces to use the neutral active fill.",
|
|
2865
|
-
"Surface context must match the actual parent surface; translucent, inverted, media, and always-dark treatments are reserved for those surfaces.",
|
|
2865
|
+
"Surface context must match the actual parent surface; chrome, translucent, inverted, media, and always-dark treatments are reserved for those surfaces. The chrome variant uses the chrome foreground, border, and interaction families and does not paint the parent surface.",
|
|
2866
2866
|
"Loading prevents duplicate activation without applying inactive opacity or removing the current keyboard focus.",
|
|
2867
2867
|
"Rounded changes only the control radius to the half-radius treatment; it does not change hierarchy, size, variant, or interaction semantics.",
|
|
2868
2868
|
"Physical press scaling is on by default. Disable it only when an owning composite must keep child or background geometry fixed; hover and pressed interaction washes remain available.",
|
|
@@ -3970,7 +3970,10 @@
|
|
|
3970
3970
|
"component:ds-select",
|
|
3971
3971
|
"component:ds-switch",
|
|
3972
3972
|
"component:ds-text",
|
|
3973
|
-
"component:ds-setting-row"
|
|
3973
|
+
"component:ds-setting-row-toggle",
|
|
3974
|
+
"component:ds-setting-row-radio",
|
|
3975
|
+
"component:ds-setting-row-checkbox",
|
|
3976
|
+
"component:ds-inline-banner-settings"
|
|
3974
3977
|
],
|
|
3975
3978
|
"accessibility": [
|
|
3976
3979
|
"Provide a concise heading that identifies the settings section; CardSetting renders it as an h2.",
|
|
@@ -3985,26 +3988,30 @@
|
|
|
3985
3988
|
"The editing property is controlled; CardSetting never changes it internally.",
|
|
3986
3989
|
"dsAction emits edit, save, or cancel with the original pointer event. The parent decides whether and when editing changes.",
|
|
3987
3990
|
"When another section requests edit, the parent keeps one active section and resolves any dirty current section before switching.",
|
|
3991
|
+
"Project persistent informational copy into the banner slot so it sits above the padded content body and does not receive content-area padding.",
|
|
3988
3992
|
"The parent owns read-only versus editable body composition, dirty state, validation, persistence, loading, success, and error consequences.",
|
|
3989
3993
|
"A save request keeps the section editing while validation or persistence is pending; the parent exits only after success.",
|
|
3990
3994
|
"A cancel request does not persist changes; the parent restores its chosen value snapshot and exits editing.",
|
|
3991
3995
|
"The immediate variant keeps the resting card surface and omits header actions even if editing is supplied. The application applies and persists each control change independently."
|
|
3992
3996
|
],
|
|
3993
3997
|
"responsiveBehavior": [
|
|
3994
|
-
"Choose sm, md, or lg from the parent layout.
|
|
3998
|
+
"Choose sm, md, or lg from the parent layout. Empty editable cards use the matching minimum height. Cards with body content, and immediate cards, fit that content.",
|
|
3995
3999
|
"The surface never exceeds its parent width, while the parent owns wrapping, columns, stacking, and breakpoint changes.",
|
|
3996
4000
|
"At narrow widths, keep the fixed header actions visible and let application-owned body layouts collapse before allowing horizontal overflow."
|
|
3997
4001
|
],
|
|
3998
4002
|
"frameworkCaveats": {
|
|
3999
4003
|
"customElements": [
|
|
4004
|
+
"Project ds-inline-banner-settings with slot=\"banner\". Leave setting rows and other controls in the default slot.",
|
|
4000
4005
|
"Set editing as a JavaScript property and inspect dsAction.detail.action before updating the controlled state.",
|
|
4001
4006
|
"When one section emits edit, update every sibling CardSetting so only the requested section remains editing."
|
|
4002
4007
|
],
|
|
4003
4008
|
"react": [
|
|
4009
|
+
"Pass slot=\"banner\" on ds-inline-banner-settings. Leave setting rows and other controls in the default slot.",
|
|
4004
4010
|
"Pass editing from parent state and inspect onDsAction event detail; do not treat Save as successful until validation and persistence complete.",
|
|
4005
4011
|
"Store one active section id and derive each CardSetting editing prop from that id."
|
|
4006
4012
|
],
|
|
4007
4013
|
"angular": [
|
|
4014
|
+
"Set slot=\"banner\" on ds-inline-banner-settings. Leave setting rows and other controls in the default slot.",
|
|
4008
4015
|
"Bind [editing] and inspect $event.detail.action from (dsAction); do not treat Save as successful until validation and persistence complete.",
|
|
4009
4016
|
"Store one active section id and derive each CardSetting editing binding from that id."
|
|
4010
4017
|
]
|
|
@@ -4039,12 +4046,19 @@
|
|
|
4039
4046
|
"reason": "The component owns its surface radius; retain the shared recipe and customize an outer wrapper when needed.",
|
|
4040
4047
|
"props": []
|
|
4041
4048
|
},
|
|
4049
|
+
{
|
|
4050
|
+
"properties": [
|
|
4051
|
+
"padding"
|
|
4052
|
+
],
|
|
4053
|
+
"reason": "Content-area padding-block belongs on the body. The banner slot sits above that padding and does not receive it.",
|
|
4054
|
+
"props": []
|
|
4055
|
+
},
|
|
4042
4056
|
{
|
|
4043
4057
|
"properties": [
|
|
4044
4058
|
"width",
|
|
4045
4059
|
"min-height"
|
|
4046
4060
|
],
|
|
4047
|
-
"reason": "Card width selects the component geometry; immediate cards fit
|
|
4061
|
+
"reason": "Card width selects the component geometry. Empty editable cards keep the matching minimum height; cards with body content and immediate cards fit that content. Let the parent constrain available space.",
|
|
4048
4062
|
"props": [
|
|
4049
4063
|
"cardWidth",
|
|
4050
4064
|
"variant"
|
|
@@ -4577,7 +4591,8 @@
|
|
|
4577
4591
|
"The initial checked and indeterminate values are restored by native form reset; checked values submit under name and unchecked values submit nothing.",
|
|
4578
4592
|
"Sizes are lg with a 20px box in a 24px placement, md with a 16px box in a 20px placement, sm with a 12px box in a 16px placement, and xs with an 8px box in a 12px placement.",
|
|
4579
4593
|
"Presentation mode removes checkbox semantics, focus, interaction, label rendering, description rendering, and form submission while preserving the visual state.",
|
|
4580
|
-
"Description-rich checkboxes grow beyond the fixed density height while retaining its minimum target size and
|
|
4594
|
+
"Description-rich checkboxes grow beyond the fixed density height while retaining its minimum target size and align the checkbox placement with the primary label line.",
|
|
4595
|
+
"Form and settings usage omits a row hover or pressed wash by default; set hasInteractionFill only when the checkbox itself is presented as a choice-list row."
|
|
4581
4596
|
],
|
|
4582
4597
|
"responsiveBehavior": [
|
|
4583
4598
|
"Choose size from the density of the containing row; labels and descriptions may wrap while the placement box stays fixed.",
|
|
@@ -4638,7 +4653,8 @@
|
|
|
4638
4653
|
"reason": "The component owns its surface and interaction treatment; use its semantic presentation props or compose an application-owned surrounding surface.",
|
|
4639
4654
|
"props": [
|
|
4640
4655
|
"size",
|
|
4641
|
-
"presentation"
|
|
4656
|
+
"presentation",
|
|
4657
|
+
"hasInteractionFill"
|
|
4642
4658
|
]
|
|
4643
4659
|
}
|
|
4644
4660
|
],
|
|
@@ -4658,6 +4674,10 @@
|
|
|
4658
4674
|
"type": "boolean",
|
|
4659
4675
|
"required": false
|
|
4660
4676
|
},
|
|
4677
|
+
"hasInteractionFill": {
|
|
4678
|
+
"type": "boolean",
|
|
4679
|
+
"required": false
|
|
4680
|
+
},
|
|
4661
4681
|
"indeterminate": {
|
|
4662
4682
|
"type": "boolean",
|
|
4663
4683
|
"required": false
|
|
@@ -4717,6 +4737,140 @@
|
|
|
4717
4737
|
"text"
|
|
4718
4738
|
]
|
|
4719
4739
|
},
|
|
4740
|
+
{
|
|
4741
|
+
"name": "checkbox-group",
|
|
4742
|
+
"title": "CheckboxGroup",
|
|
4743
|
+
"description": "A visible, accessible label and shared vertical rhythm for a list of independent Checkbox controls.",
|
|
4744
|
+
"type": "registry:ui",
|
|
4745
|
+
"meta": {
|
|
4746
|
+
"library": "@ds-mo/ui",
|
|
4747
|
+
"distribution": "npm",
|
|
4748
|
+
"storybook": "https://zainadeel.github.io/compomo/?path=/story/checkbox-group",
|
|
4749
|
+
"source": "src/wc/components/CheckboxGroup/CheckboxGroup.tsx",
|
|
4750
|
+
"intentStatus": "complete",
|
|
4751
|
+
"intent": {
|
|
4752
|
+
"audience": "general",
|
|
4753
|
+
"status": "experimental",
|
|
4754
|
+
"summary": "A visible, accessible label and shared vertical rhythm for a list of independent Checkbox controls.",
|
|
4755
|
+
"useWhen": [
|
|
4756
|
+
"Two or more related checkboxes need one visible group label in a form.",
|
|
4757
|
+
"A checkbox list should use the same density-aligned heading geometry as other compact option lists."
|
|
4758
|
+
],
|
|
4759
|
+
"avoidWhen": [
|
|
4760
|
+
"Only one standalone checkbox is needed.",
|
|
4761
|
+
"Exactly one option may be selected; use Radio instead.",
|
|
4762
|
+
"The list is a settings-card row; use component:ds-setting-row-checkbox, which owns the heading and view/edit presentation."
|
|
4763
|
+
],
|
|
4764
|
+
"alternatives": [
|
|
4765
|
+
{
|
|
4766
|
+
"when": "Exactly one option may be selected.",
|
|
4767
|
+
"component": "component:ds-radio",
|
|
4768
|
+
"reason": "Radio owns mutually exclusive selection and keyboard traversal."
|
|
4769
|
+
}
|
|
4770
|
+
],
|
|
4771
|
+
"commonlyComposedWith": [
|
|
4772
|
+
"component:ds-checkbox",
|
|
4773
|
+
"component:ds-text",
|
|
4774
|
+
"component:ds-setting-row-checkbox"
|
|
4775
|
+
],
|
|
4776
|
+
"accessibility": [
|
|
4777
|
+
"The visible label names the role=group container; each slotted Checkbox keeps its own visible label, state, focus, and form value.",
|
|
4778
|
+
"Inside ds-setting-row-checkbox the visible form label is omitted on first paint; the row heading is the accessible name via aria-labelledby.",
|
|
4779
|
+
"Use aria-describedby to associate group-level guidance or validation copy.",
|
|
4780
|
+
"Use the same size on CheckboxGroup and every slotted Checkbox so their text origins and density remain aligned."
|
|
4781
|
+
],
|
|
4782
|
+
"states": [
|
|
4783
|
+
"The label uses the shared density section-heading row and body-small emphasis.",
|
|
4784
|
+
"Vertical checkbox options use a 4px gap; at medium density the group label and each single-line checkbox row are 32px high.",
|
|
4785
|
+
"Selection, mixed, inactive, validation, and form behavior remain owned by each slotted Checkbox."
|
|
4786
|
+
],
|
|
4787
|
+
"responsiveBehavior": [
|
|
4788
|
+
"The group fills the width supplied by its parent while each Checkbox keeps its intrinsic row width and allows copy to wrap."
|
|
4789
|
+
],
|
|
4790
|
+
"frameworkCaveats": {
|
|
4791
|
+
"customElements": [
|
|
4792
|
+
"Slot two or more ds-checkbox children and keep their name, value, and checked state application-owned."
|
|
4793
|
+
],
|
|
4794
|
+
"react": [
|
|
4795
|
+
"Compose DsCheckbox children inside DsCheckboxGroup."
|
|
4796
|
+
],
|
|
4797
|
+
"vue": [
|
|
4798
|
+
"Compose DsCheckbox children inside DsCheckboxGroup."
|
|
4799
|
+
],
|
|
4800
|
+
"angular": [
|
|
4801
|
+
"Compose generated DsCheckbox adapters inside DsCheckboxGroup."
|
|
4802
|
+
]
|
|
4803
|
+
},
|
|
4804
|
+
"references": [
|
|
4805
|
+
{
|
|
4806
|
+
"label": "Storybook examples",
|
|
4807
|
+
"path": "src/wc/components/CheckboxGroup/CheckboxGroup.stories.ts"
|
|
4808
|
+
},
|
|
4809
|
+
{
|
|
4810
|
+
"label": "Rendered form geometry coverage",
|
|
4811
|
+
"path": "tests/e2e/forms.spec.ts"
|
|
4812
|
+
}
|
|
4813
|
+
],
|
|
4814
|
+
"styling": {
|
|
4815
|
+
"rationale": "The group owns only its label and option-list rhythm; each Checkbox owns its own selection anatomy.",
|
|
4816
|
+
"protected": [
|
|
4817
|
+
{
|
|
4818
|
+
"properties": [
|
|
4819
|
+
"gap",
|
|
4820
|
+
"padding",
|
|
4821
|
+
"font",
|
|
4822
|
+
"font-size",
|
|
4823
|
+
"font-weight",
|
|
4824
|
+
"line-height"
|
|
4825
|
+
],
|
|
4826
|
+
"reason": "Use size to keep the heading and slotted controls on the shared density recipe.",
|
|
4827
|
+
"props": [
|
|
4828
|
+
"size"
|
|
4829
|
+
]
|
|
4830
|
+
}
|
|
4831
|
+
],
|
|
4832
|
+
"customProperties": []
|
|
4833
|
+
}
|
|
4834
|
+
},
|
|
4835
|
+
"props": {
|
|
4836
|
+
"ariaDescribedby": {
|
|
4837
|
+
"type": "string | undefined",
|
|
4838
|
+
"required": false
|
|
4839
|
+
},
|
|
4840
|
+
"ariaLabel": {
|
|
4841
|
+
"type": "string | null",
|
|
4842
|
+
"required": false
|
|
4843
|
+
},
|
|
4844
|
+
"ariaLabelledby": {
|
|
4845
|
+
"type": "string | undefined",
|
|
4846
|
+
"required": false
|
|
4847
|
+
},
|
|
4848
|
+
"label": {
|
|
4849
|
+
"type": "string",
|
|
4850
|
+
"required": false
|
|
4851
|
+
},
|
|
4852
|
+
"size": {
|
|
4853
|
+
"type": "CheckboxGroupSize",
|
|
4854
|
+
"required": false
|
|
4855
|
+
}
|
|
4856
|
+
},
|
|
4857
|
+
"events": [],
|
|
4858
|
+
"slots": [],
|
|
4859
|
+
"exports": {
|
|
4860
|
+
"customElement": "ds-checkbox-group",
|
|
4861
|
+
"react": "DsCheckboxGroup",
|
|
4862
|
+
"vue": "DsCheckboxGroup",
|
|
4863
|
+
"angular": "DsCheckboxGroup"
|
|
4864
|
+
}
|
|
4865
|
+
},
|
|
4866
|
+
"dependencies": [
|
|
4867
|
+
"@ds-mo/ui",
|
|
4868
|
+
"@ds-mo/tokens"
|
|
4869
|
+
],
|
|
4870
|
+
"registryDependencies": [
|
|
4871
|
+
"text"
|
|
4872
|
+
]
|
|
4873
|
+
},
|
|
4720
4874
|
{
|
|
4721
4875
|
"name": "chip",
|
|
4722
4876
|
"title": "Chip",
|
|
@@ -7614,6 +7768,121 @@
|
|
|
7614
7768
|
],
|
|
7615
7769
|
"registryDependencies": []
|
|
7616
7770
|
},
|
|
7771
|
+
{
|
|
7772
|
+
"name": "inline-banner-settings",
|
|
7773
|
+
"title": "InlineBannerSettings",
|
|
7774
|
+
"description": "Compact non-interactive informational copy row for settings cards.",
|
|
7775
|
+
"type": "registry:ui",
|
|
7776
|
+
"meta": {
|
|
7777
|
+
"library": "@ds-mo/ui",
|
|
7778
|
+
"distribution": "npm",
|
|
7779
|
+
"storybook": "https://zainadeel.github.io/compomo/?path=/story/inline-banner-settings",
|
|
7780
|
+
"source": "src/wc/components/InlineBannerSettings/InlineBannerSettings.tsx",
|
|
7781
|
+
"intentStatus": "complete",
|
|
7782
|
+
"intent": {
|
|
7783
|
+
"audience": "general",
|
|
7784
|
+
"status": "stable",
|
|
7785
|
+
"summary": "Compact non-interactive informational copy row for settings cards.",
|
|
7786
|
+
"useWhen": [
|
|
7787
|
+
"A settings card needs persistent informational copy above its content.",
|
|
7788
|
+
"The message should remain visible in both read-only and editing presentations of the settings card.",
|
|
7789
|
+
"The message needs body-small typography, compact spacing, and a single tertiary bottom boundary."
|
|
7790
|
+
],
|
|
7791
|
+
"avoidWhen": [
|
|
7792
|
+
"The message belongs in general bounded content outside a settings card; reserve the general inline-banner component for that use case.",
|
|
7793
|
+
"The message is application-wide or needs dismissal, actions, or announcement urgency; use Banner.",
|
|
7794
|
+
"The message is transient or follows a completed action; use Toast."
|
|
7795
|
+
],
|
|
7796
|
+
"alternatives": [
|
|
7797
|
+
{
|
|
7798
|
+
"when": "A persistent application-wide condition needs optional actions or dismissal.",
|
|
7799
|
+
"component": "component:ds-banner",
|
|
7800
|
+
"reason": "Banner owns shell-level messaging, actions, dismissal, and announcement behavior."
|
|
7801
|
+
},
|
|
7802
|
+
{
|
|
7803
|
+
"when": "A field needs supporting or validation copy tied to its control.",
|
|
7804
|
+
"component": "component:ds-field",
|
|
7805
|
+
"reason": "Field owns the control relationship and supporting-message semantics."
|
|
7806
|
+
}
|
|
7807
|
+
],
|
|
7808
|
+
"commonlyComposedWith": [
|
|
7809
|
+
"component:ds-card-setting",
|
|
7810
|
+
"component:ds-text"
|
|
7811
|
+
],
|
|
7812
|
+
"accessibility": [
|
|
7813
|
+
"Keep the description concise and authored; InlineBannerSettings does not transform, truncate, or announce the copy.",
|
|
7814
|
+
"Use InlineBannerSettings for static context. Applications must choose a live-region component when a dynamic announcement is required.",
|
|
7815
|
+
"The informational copy remains plain text and has no interactive controls or dismissal affordance."
|
|
7816
|
+
],
|
|
7817
|
+
"states": [
|
|
7818
|
+
"The description renders verbatim in every state in which the owning settings card projects the component.",
|
|
7819
|
+
"The component has no internal visibility, editing, or dismissal state; the owning settings card controls whether it is present.",
|
|
7820
|
+
"The content height is intrinsic: the banner contributes 8px block padding and its inner content container contributes 4px block padding. A single body-small line is 24px inside that container (4px + 16px line-height + 4px), followed by the tertiary bottom boundary."
|
|
7821
|
+
],
|
|
7822
|
+
"responsiveBehavior": [
|
|
7823
|
+
"The component fills the available inline size and lets body-small copy wrap naturally.",
|
|
7824
|
+
"The effective inline inset remains 16px: 8px banner padding, 6px inner content padding, and 2px text-side padding."
|
|
7825
|
+
],
|
|
7826
|
+
"frameworkCaveats": {
|
|
7827
|
+
"customElements": [
|
|
7828
|
+
"Pass the complete authored message through description, assign slot=\"banner\" on CardSetting, and do not apply a CSS casing transform or mutate the text for presentation."
|
|
7829
|
+
],
|
|
7830
|
+
"react": [
|
|
7831
|
+
"Pass the complete authored message through the description prop, set slot=\"banner\" on CardSetting, and keep the component mounted for every settings-card state that needs the context."
|
|
7832
|
+
],
|
|
7833
|
+
"angular": [
|
|
7834
|
+
"Bind [description] from the settings card's stable copy source and project the component into CardSetting's banner slot for every state that needs the context."
|
|
7835
|
+
]
|
|
7836
|
+
},
|
|
7837
|
+
"references": [
|
|
7838
|
+
{
|
|
7839
|
+
"label": "Settings inline banner examples",
|
|
7840
|
+
"path": "src/wc/components/InlineBannerSettings/InlineBannerSettings.stories.ts"
|
|
7841
|
+
},
|
|
7842
|
+
{
|
|
7843
|
+
"label": "Rendered geometry coverage",
|
|
7844
|
+
"path": "tests/e2e/inline-banner-settings.spec.ts"
|
|
7845
|
+
}
|
|
7846
|
+
],
|
|
7847
|
+
"styling": {
|
|
7848
|
+
"rationale": "The component owns only the compact settings informational row recipe; its card owns the surrounding surface and layout.",
|
|
7849
|
+
"protected": [
|
|
7850
|
+
{
|
|
7851
|
+
"properties": [
|
|
7852
|
+
"border-bottom",
|
|
7853
|
+
"color",
|
|
7854
|
+
"padding"
|
|
7855
|
+
],
|
|
7856
|
+
"reason": "The component owns the readable informational row treatment and keeps its spacing consistent across settings cards.",
|
|
7857
|
+
"props": []
|
|
7858
|
+
}
|
|
7859
|
+
],
|
|
7860
|
+
"customProperties": []
|
|
7861
|
+
}
|
|
7862
|
+
},
|
|
7863
|
+
"props": {
|
|
7864
|
+
"description": {
|
|
7865
|
+
"type": "string",
|
|
7866
|
+
"required": true
|
|
7867
|
+
}
|
|
7868
|
+
},
|
|
7869
|
+
"events": [],
|
|
7870
|
+
"slots": [],
|
|
7871
|
+
"exports": {
|
|
7872
|
+
"customElement": "ds-inline-banner-settings",
|
|
7873
|
+
"react": "DsInlineBannerSettings",
|
|
7874
|
+
"vue": "DsInlineBannerSettings",
|
|
7875
|
+
"angular": "DsInlineBannerSettings"
|
|
7876
|
+
}
|
|
7877
|
+
},
|
|
7878
|
+
"dependencies": [
|
|
7879
|
+
"@ds-mo/ui",
|
|
7880
|
+
"@ds-mo/tokens"
|
|
7881
|
+
],
|
|
7882
|
+
"registryDependencies": [
|
|
7883
|
+
"text"
|
|
7884
|
+
]
|
|
7885
|
+
},
|
|
7617
7886
|
{
|
|
7618
7887
|
"name": "input",
|
|
7619
7888
|
"title": "Input",
|
|
@@ -9555,8 +9824,8 @@
|
|
|
9555
9824
|
"Surface styling does not add semantics; failed delivery belongs in Message metadata below the unchanged bubble rather than in an error bubble treatment."
|
|
9556
9825
|
],
|
|
9557
9826
|
"states": [
|
|
9558
|
-
"The user variant represents user-sent copy in agent and person-to-person channels and uses
|
|
9559
|
-
"The received variant represents ordinary incoming person-to-person copy.",
|
|
9827
|
+
"The user variant represents user-sent copy in agent and person-to-person channels, uses primary foreground, and uses the Chrome primary background so body-medium copy meets contrast on that surface.",
|
|
9828
|
+
"The received variant represents ordinary incoming person-to-person copy, uses secondary foreground, and uses the Chrome secondary background.",
|
|
9560
9829
|
"Typing and rich agent output are not MessageBubble variants."
|
|
9561
9830
|
],
|
|
9562
9831
|
"responsiveBehavior": [
|
|
@@ -9653,10 +9922,10 @@
|
|
|
9653
9922
|
"states": [
|
|
9654
9923
|
"The owner controls draft value and transport state; the composer emits intent without performing transport.",
|
|
9655
9924
|
"Error status never clears or disables the draft; the application supplies recovery actions through error-actions and owns retry semantics. The negative support surface appears above and attached to the composer box, within the component's measured ownership.",
|
|
9656
|
-
"Use the tools slot for leading actions such as add and the actions slot for trailing actions such as dictation; the built-in submit or stop action remains last with an 8px gap from the preceding action.
|
|
9657
|
-
"The composer surface uses the
|
|
9925
|
+
"Use the tools slot for leading actions such as add and the actions slot for trailing actions such as dictation; the built-in submit or stop action remains last with an 8px gap from the preceding action. The built-in and application-provided composer buttons use the standard rounded control treatment, and the application supplies tooltips for slotted icon actions.",
|
|
9926
|
+
"The composer surface uses the 4px --dimension-radius-050 token.",
|
|
9658
9927
|
"Mouse or keyboard focus on the textarea gives the complete composer surface the same bold-brand inset stroke width and color as an active Input; the native textarea never draws a separate outline.",
|
|
9659
|
-
"The empty or otherwise inactive submit action is a disabled bordered ButtonUnfilled. Ready submit actions use submitIntent, while the streaming stop action remains a bold-brand ButtonFilled.",
|
|
9928
|
+
"The empty or otherwise inactive submit action is a disabled bordered, rounded ButtonUnfilled. Ready submit actions use submitIntent and the rounded control treatment, while the streaming stop action remains a rounded bold-brand ButtonFilled.",
|
|
9660
9929
|
"The attached error unit keeps a real boundary in forced colors and lets message text and application-owned recovery actions wrap at narrow widths."
|
|
9661
9930
|
],
|
|
9662
9931
|
"responsiveBehavior": [
|
|
@@ -11984,7 +12253,7 @@
|
|
|
11984
12253
|
{
|
|
11985
12254
|
"name": "radio",
|
|
11986
12255
|
"title": "Radio",
|
|
11987
|
-
"description": "Form-associated one-of-many radio selection set with vertical or horizontal layout,
|
|
12256
|
+
"description": "Form-associated one-of-many radio selection set with an optional visible group label, vertical or horizontal layout, per-option descriptions, four densities, per-option inactive state, and roving keyboard focus.",
|
|
11988
12257
|
"type": "registry:ui",
|
|
11989
12258
|
"meta": {
|
|
11990
12259
|
"library": "@ds-mo/ui",
|
|
@@ -11995,7 +12264,7 @@
|
|
|
11995
12264
|
"intent": {
|
|
11996
12265
|
"audience": "general",
|
|
11997
12266
|
"status": "stable",
|
|
11998
|
-
"summary": "Form-associated one-of-many radio selection set with vertical or horizontal layout,
|
|
12267
|
+
"summary": "Form-associated one-of-many radio selection set with an optional visible group label, vertical or horizontal layout, per-option descriptions, four densities, per-option inactive state, and roving keyboard focus.",
|
|
11999
12268
|
"useWhen": [
|
|
12000
12269
|
"A user must select exactly one visible option from a small set.",
|
|
12001
12270
|
"All available choices should remain visible for comparison.",
|
|
@@ -12028,7 +12297,9 @@
|
|
|
12028
12297
|
"component:ds-text"
|
|
12029
12298
|
],
|
|
12030
12299
|
"accessibility": [
|
|
12031
|
-
"The host exposes radiogroup semantics and requires an accessible group name from aria-label or aria-labelledby.",
|
|
12300
|
+
"The host exposes radiogroup semantics and requires an accessible group name from the visible label, aria-label, or aria-labelledby.",
|
|
12301
|
+
"When groupLabel is provided, Radio renders it above the options and uses the same text as the radiogroup's accessible name.",
|
|
12302
|
+
"Inside ds-setting-row-radio the visible form groupLabel is omitted on first paint; the row heading is the accessible name via aria-labelledby. Independent multi-select settings use ds-setting-row-checkbox with ds-checkbox-group instead.",
|
|
12032
12303
|
"Each visible option exposes radio semantics, its checked state, its label text, optional supporting description, and any inactive state.",
|
|
12033
12304
|
"Arrow keys move and select through active options; Home and End select the first and last active options; Space and Enter select the focused option.",
|
|
12034
12305
|
"Roving tabindex keeps one active option in the tab order, preferring the selected option; setFocus uses that same public focus target."
|
|
@@ -12038,7 +12309,10 @@
|
|
|
12038
12309
|
"Selected circles remove the border, use a brand fill, and draw a centered on-bold foreground dot sized 10px at lg, 8px at md, 6px at sm, and 4px at xs.",
|
|
12039
12310
|
"Sizes are lg with a 20px circle in a 24px placement, md with a 16px circle in a 20px placement, sm with a 12px circle in a 16px placement, and xs with an 8px circle in a 12px placement.",
|
|
12040
12311
|
"The initial value is restored by native form reset; the selected value submits under name and a required set is invalid until one active option is selected.",
|
|
12041
|
-
"Description-rich options grow beyond the fixed density height while retaining its minimum target size and primitive-owned selection anatomy."
|
|
12312
|
+
"Description-rich options grow beyond the fixed density height while retaining its minimum target size and primitive-owned selection anatomy.",
|
|
12313
|
+
"A visible group label uses the same density height and horizontal text origin as a menu section heading above the option list without adding a second interaction target. Copy uses text-body-small emphasis.",
|
|
12314
|
+
"Vertical form options use a 4px gap; a medium single-line option and its group label each use the shared 32px control height.",
|
|
12315
|
+
"Form and settings usage omits a row hover or pressed wash by default; set hasInteractionFill only when each radio option is presented as a choice-list row."
|
|
12042
12316
|
],
|
|
12043
12317
|
"responsiveBehavior": [
|
|
12044
12318
|
"Choose size from the density of the containing form or settings row.",
|
|
@@ -12097,7 +12371,8 @@
|
|
|
12097
12371
|
],
|
|
12098
12372
|
"reason": "The component owns its surface and interaction treatment; use its semantic presentation props or compose an application-owned surrounding surface.",
|
|
12099
12373
|
"props": [
|
|
12100
|
-
"size"
|
|
12374
|
+
"size",
|
|
12375
|
+
"hasInteractionFill"
|
|
12101
12376
|
]
|
|
12102
12377
|
}
|
|
12103
12378
|
],
|
|
@@ -12125,6 +12400,14 @@
|
|
|
12125
12400
|
"type": "string | undefined",
|
|
12126
12401
|
"required": false
|
|
12127
12402
|
},
|
|
12403
|
+
"groupLabel": {
|
|
12404
|
+
"type": "string",
|
|
12405
|
+
"required": false
|
|
12406
|
+
},
|
|
12407
|
+
"hasInteractionFill": {
|
|
12408
|
+
"type": "boolean",
|
|
12409
|
+
"required": false
|
|
12410
|
+
},
|
|
12128
12411
|
"isInactive": {
|
|
12129
12412
|
"type": "boolean",
|
|
12130
12413
|
"required": false
|
|
@@ -12224,7 +12507,8 @@
|
|
|
12224
12507
|
"Label the group with Field or an accessible name. Descriptions name each option separately."
|
|
12225
12508
|
],
|
|
12226
12509
|
"states": [
|
|
12227
|
-
"Selection is shown by the radio indicator while the tile keeps its neutral border. Error retains the negative border, and keyboard focus keeps the focus-token outline. Inactive options cannot be selected.",
|
|
12510
|
+
"Selection is shown by the 16px radio indicator centered in a 20px placement box while the tile keeps its neutral border. The placement box and copy have a 12px gap inside the tile's 16px padding, and the tile uses the 2px compact radius. Error retains the negative border, and keyboard focus keeps the focus-token outline. Inactive options cannot be selected.",
|
|
12511
|
+
"Options with descriptions use primary body-medium emphasis for the title and secondary body-medium supporting text with a 4px gap. Text-only options use secondary body-medium text without emphasis.",
|
|
12228
12512
|
"The component owns form values, required validation, reset, and disabled-fieldset behavior."
|
|
12229
12513
|
],
|
|
12230
12514
|
"responsiveBehavior": [
|
|
@@ -13000,15 +13284,212 @@
|
|
|
13000
13284
|
]
|
|
13001
13285
|
},
|
|
13002
13286
|
{
|
|
13003
|
-
"name": "setting-row",
|
|
13004
|
-
"title": "
|
|
13287
|
+
"name": "setting-row-checkbox",
|
|
13288
|
+
"title": "SettingRowCheckbox",
|
|
13289
|
+
"description": "Padded settings-row composition for an editable Checkbox group and its non-interactive saved-value readout.",
|
|
13290
|
+
"type": "registry:ui",
|
|
13291
|
+
"meta": {
|
|
13292
|
+
"library": "@ds-mo/ui",
|
|
13293
|
+
"distribution": "npm",
|
|
13294
|
+
"storybook": "https://zainadeel.github.io/compomo/?path=/story/setting-row-checkbox",
|
|
13295
|
+
"source": "src/wc/components/SettingRowCheckbox/SettingRowCheckbox.tsx",
|
|
13296
|
+
"intentStatus": "complete",
|
|
13297
|
+
"intent": {
|
|
13298
|
+
"audience": "general",
|
|
13299
|
+
"status": "experimental",
|
|
13300
|
+
"summary": "Padded settings-row composition for an editable Checkbox group and its non-interactive saved-value readout.",
|
|
13301
|
+
"useWhen": [
|
|
13302
|
+
"A settings card needs an independent multi-select Checkbox group as one padded row item.",
|
|
13303
|
+
"The same settings card needs to display the saved selected values without interactive checkbox controls in view mode."
|
|
13304
|
+
],
|
|
13305
|
+
"avoidWhen": [
|
|
13306
|
+
"The Checkbox group is not part of a settings-row surface; compose ds-checkbox-group directly.",
|
|
13307
|
+
"Exactly one option may be selected; use component:ds-setting-row-radio.",
|
|
13308
|
+
"The setting is a single immediate on/off choice; use component:ds-setting-row-toggle."
|
|
13309
|
+
],
|
|
13310
|
+
"commonlyComposedWith": [
|
|
13311
|
+
"component:ds-card-setting",
|
|
13312
|
+
"component:ds-checkbox-group",
|
|
13313
|
+
"component:ds-checkbox"
|
|
13314
|
+
],
|
|
13315
|
+
"accessibility": [
|
|
13316
|
+
"Pass the settings heading as the row label. Do not pass CheckboxGroup's form label; the row owns the visible heading and points the slotted group at it with aria-labelledby.",
|
|
13317
|
+
"Keep each Checkbox's label, checked state, name, value, and dsChange owned by the application. Leave the Checkbox group slotted in view and edit; the row hides it in view.",
|
|
13318
|
+
"Do not add a second interaction layer to the row; each Checkbox owns its own focus and activation while settings usage keeps hasInteractionFill false.",
|
|
13319
|
+
"View presentation exposes readable label, saved selected-value copy, and optional supporting copy without checkbox semantics, checkbox controls, or a focus target."
|
|
13320
|
+
],
|
|
13321
|
+
"states": [
|
|
13322
|
+
"The row is a neutral padded composition; selected, focus, mixed, and inactive states belong to the slotted Checkboxes without a choice-list hover or pressed wash.",
|
|
13323
|
+
"The owning application handles dsChange on each Checkbox and supplies valueLabel by joining the currently selected option labels.",
|
|
13324
|
+
"Heading, saved-value choice, and slotted Checkbox group stay mounted. presentation reflects on the host so view/edit is CSS visibility only; do not swap Host children or ngIf the group.",
|
|
13325
|
+
"View presentation hides the slotted Checkbox group with ::slotted host CSS and shows the saved selected values plus optional consequence copy. Omit description on the row and on each Checkbox when there is no supporting copy; view then shows only the selected-value labels. The group stays in the tree."
|
|
13326
|
+
],
|
|
13327
|
+
"responsiveBehavior": [
|
|
13328
|
+
"The row never exceeds its parent width; the slotted Checkbox group keeps option copy in the flexible column and wraps descriptions when needed."
|
|
13329
|
+
],
|
|
13330
|
+
"references": [
|
|
13331
|
+
{
|
|
13332
|
+
"label": "Settings mock",
|
|
13333
|
+
"path": "src/wc/components/SettingRowCheckbox/SettingRowCheckbox.stories.ts"
|
|
13334
|
+
}
|
|
13335
|
+
],
|
|
13336
|
+
"styling": {
|
|
13337
|
+
"rationale": "The row uses the shared settings-row inline inset so view and edit copy share the same 16px origin, and zeros host padding-block because the heading, choice, and checkbox options already own vertical spacing. The heading is row-owned CSS, not CheckboxGroup's form label or control section-heading recipe. Checkbox owns option geometry.",
|
|
13338
|
+
"protected": [
|
|
13339
|
+
{
|
|
13340
|
+
"properties": [
|
|
13341
|
+
"padding"
|
|
13342
|
+
],
|
|
13343
|
+
"reason": "Keep space-200 inline inset in view and edit, with no extra host padding-block.",
|
|
13344
|
+
"props": []
|
|
13345
|
+
}
|
|
13346
|
+
],
|
|
13347
|
+
"customProperties": []
|
|
13348
|
+
}
|
|
13349
|
+
},
|
|
13350
|
+
"props": {
|
|
13351
|
+
"description": {
|
|
13352
|
+
"type": "string",
|
|
13353
|
+
"required": false
|
|
13354
|
+
},
|
|
13355
|
+
"label": {
|
|
13356
|
+
"type": "string",
|
|
13357
|
+
"required": false
|
|
13358
|
+
},
|
|
13359
|
+
"presentation": {
|
|
13360
|
+
"type": "SettingRowCheckboxPresentation",
|
|
13361
|
+
"required": false
|
|
13362
|
+
},
|
|
13363
|
+
"valueLabel": {
|
|
13364
|
+
"type": "string",
|
|
13365
|
+
"required": false
|
|
13366
|
+
}
|
|
13367
|
+
},
|
|
13368
|
+
"events": [],
|
|
13369
|
+
"slots": [],
|
|
13370
|
+
"exports": {
|
|
13371
|
+
"customElement": "ds-setting-row-checkbox",
|
|
13372
|
+
"react": "DsSettingRowCheckbox",
|
|
13373
|
+
"vue": "DsSettingRowCheckbox",
|
|
13374
|
+
"angular": "DsSettingRowCheckbox"
|
|
13375
|
+
}
|
|
13376
|
+
},
|
|
13377
|
+
"dependencies": [
|
|
13378
|
+
"@ds-mo/ui",
|
|
13379
|
+
"@ds-mo/tokens"
|
|
13380
|
+
],
|
|
13381
|
+
"registryDependencies": [
|
|
13382
|
+
"text"
|
|
13383
|
+
]
|
|
13384
|
+
},
|
|
13385
|
+
{
|
|
13386
|
+
"name": "setting-row-radio",
|
|
13387
|
+
"title": "SettingRowRadio",
|
|
13388
|
+
"description": "Padded settings-row composition for an editable Radio group and its non-interactive saved-value readout.",
|
|
13389
|
+
"type": "registry:ui",
|
|
13390
|
+
"meta": {
|
|
13391
|
+
"library": "@ds-mo/ui",
|
|
13392
|
+
"distribution": "npm",
|
|
13393
|
+
"storybook": "https://zainadeel.github.io/compomo/?path=/story/setting-row-radio",
|
|
13394
|
+
"source": "src/wc/components/SettingRowRadio/SettingRowRadio.tsx",
|
|
13395
|
+
"intentStatus": "complete",
|
|
13396
|
+
"intent": {
|
|
13397
|
+
"audience": "general",
|
|
13398
|
+
"status": "experimental",
|
|
13399
|
+
"summary": "Padded settings-row composition for an editable Radio group and its non-interactive saved-value readout.",
|
|
13400
|
+
"useWhen": [
|
|
13401
|
+
"A settings card needs a mutually exclusive Radio group as one padded row item.",
|
|
13402
|
+
"The same settings card needs to display the saved option without an interactive control in view mode."
|
|
13403
|
+
],
|
|
13404
|
+
"avoidWhen": [
|
|
13405
|
+
"The Radio group is not part of a settings-row surface; compose ds-radio directly.",
|
|
13406
|
+
"The setting allows more than one option to be selected; use component:ds-setting-row-checkbox.",
|
|
13407
|
+
"The setting is a single immediate on/off choice; use component:ds-setting-row-toggle."
|
|
13408
|
+
],
|
|
13409
|
+
"commonlyComposedWith": [
|
|
13410
|
+
"component:ds-card-setting",
|
|
13411
|
+
"component:ds-radio"
|
|
13412
|
+
],
|
|
13413
|
+
"accessibility": [
|
|
13414
|
+
"Pass the settings heading as the row label. Do not pass Radio groupLabel; the row owns the visible heading and points the slotted radiogroup at it with aria-labelledby.",
|
|
13415
|
+
"Keep the Radio group's options, value, required state, and selection event owned by the application. Leave the Radio slotted in view and edit; the row hides it in view.",
|
|
13416
|
+
"Do not add a second interaction layer to the row; Radio owns option focus and keyboard selection while settings usage keeps hasInteractionFill false.",
|
|
13417
|
+
"View presentation exposes readable label, saved value, and optional supporting copy without radio semantics, a radio toggle, or a focus target."
|
|
13418
|
+
],
|
|
13419
|
+
"states": [
|
|
13420
|
+
"The row is a neutral padded composition; selected, focus, and inactive states belong to the slotted Radio without a choice-list hover or pressed wash.",
|
|
13421
|
+
"The owning application handles dsChange and updates the slotted Radio value.",
|
|
13422
|
+
"Heading, saved-value choice, and slotted Radio stay mounted. presentation reflects on the host so view/edit is CSS visibility only; do not swap Host children or ngIf the Radio.",
|
|
13423
|
+
"View presentation hides the slotted Radio with ::slotted host CSS and shows the saved option label plus optional consequence copy. The Radio stays in the tree."
|
|
13424
|
+
],
|
|
13425
|
+
"responsiveBehavior": [
|
|
13426
|
+
"The row never exceeds its parent width; the slotted Radio keeps its option copy in the flexible column and wraps descriptions when needed."
|
|
13427
|
+
],
|
|
13428
|
+
"references": [
|
|
13429
|
+
{
|
|
13430
|
+
"label": "Settings mock",
|
|
13431
|
+
"path": "src/wc/components/SettingRowRadio/SettingRowRadio.stories.ts"
|
|
13432
|
+
}
|
|
13433
|
+
],
|
|
13434
|
+
"styling": {
|
|
13435
|
+
"rationale": "The row uses the shared settings-row inline inset so view and edit copy share the same 16px origin, and zeros host padding-block because the heading, choice, and radio options already own vertical spacing. The heading is row-owned CSS, not Radio's form group-label or control section-heading recipe. Radio owns option geometry.",
|
|
13436
|
+
"protected": [
|
|
13437
|
+
{
|
|
13438
|
+
"properties": [
|
|
13439
|
+
"padding"
|
|
13440
|
+
],
|
|
13441
|
+
"reason": "Keep space-200 inline inset in view and edit, with no extra host padding-block.",
|
|
13442
|
+
"props": []
|
|
13443
|
+
}
|
|
13444
|
+
],
|
|
13445
|
+
"customProperties": []
|
|
13446
|
+
}
|
|
13447
|
+
},
|
|
13448
|
+
"props": {
|
|
13449
|
+
"description": {
|
|
13450
|
+
"type": "string",
|
|
13451
|
+
"required": false
|
|
13452
|
+
},
|
|
13453
|
+
"label": {
|
|
13454
|
+
"type": "string",
|
|
13455
|
+
"required": false
|
|
13456
|
+
},
|
|
13457
|
+
"presentation": {
|
|
13458
|
+
"type": "SettingRowRadioPresentation",
|
|
13459
|
+
"required": false
|
|
13460
|
+
},
|
|
13461
|
+
"valueLabel": {
|
|
13462
|
+
"type": "string",
|
|
13463
|
+
"required": false
|
|
13464
|
+
}
|
|
13465
|
+
},
|
|
13466
|
+
"events": [],
|
|
13467
|
+
"slots": [],
|
|
13468
|
+
"exports": {
|
|
13469
|
+
"customElement": "ds-setting-row-radio",
|
|
13470
|
+
"react": "DsSettingRowRadio",
|
|
13471
|
+
"vue": "DsSettingRowRadio",
|
|
13472
|
+
"angular": "DsSettingRowRadio"
|
|
13473
|
+
}
|
|
13474
|
+
},
|
|
13475
|
+
"dependencies": [
|
|
13476
|
+
"@ds-mo/ui",
|
|
13477
|
+
"@ds-mo/tokens"
|
|
13478
|
+
],
|
|
13479
|
+
"registryDependencies": [
|
|
13480
|
+
"text"
|
|
13481
|
+
]
|
|
13482
|
+
},
|
|
13483
|
+
{
|
|
13484
|
+
"name": "setting-row-toggle",
|
|
13485
|
+
"title": "SettingRowToggle",
|
|
13005
13486
|
"description": "Two-column immediate binary setting with descriptive copy and an accessible switch.",
|
|
13006
13487
|
"type": "registry:ui",
|
|
13007
13488
|
"meta": {
|
|
13008
13489
|
"library": "@ds-mo/ui",
|
|
13009
13490
|
"distribution": "npm",
|
|
13010
|
-
"storybook": "https://zainadeel.github.io/compomo/?path=/story/setting-row",
|
|
13011
|
-
"source": "src/wc/components/
|
|
13491
|
+
"storybook": "https://zainadeel.github.io/compomo/?path=/story/setting-row-toggle",
|
|
13492
|
+
"source": "src/wc/components/SettingRowToggle/SettingRowToggle.tsx",
|
|
13012
13493
|
"intentStatus": "complete",
|
|
13013
13494
|
"intent": {
|
|
13014
13495
|
"audience": "general",
|
|
@@ -13032,7 +13513,9 @@
|
|
|
13032
13513
|
],
|
|
13033
13514
|
"states": [
|
|
13034
13515
|
"The application accepts or rejects change requests by updating the controlled checked value and owns persistence and errors.",
|
|
13035
|
-
"Name the enabled setting consistently; the label must not change when the switch is toggled."
|
|
13516
|
+
"Name the enabled setting consistently; the label must not change when the switch is toggled.",
|
|
13517
|
+
"Non-emphasis rows without supporting copy use ds-text color secondary (foreground-secondary) on the title. Non-emphasis rows with description keep a primary title.",
|
|
13518
|
+
"Supporting copy is text-body-small in every variant."
|
|
13036
13519
|
],
|
|
13037
13520
|
"responsiveBehavior": [
|
|
13038
13521
|
"The copy wraps while the switch keeps its natural size in the trailing column, including at narrow widths."
|
|
@@ -13040,18 +13523,18 @@
|
|
|
13040
13523
|
"references": [
|
|
13041
13524
|
{
|
|
13042
13525
|
"label": "Usage states",
|
|
13043
|
-
"path": "src/wc/components/
|
|
13526
|
+
"path": "src/wc/components/SettingRowToggle/SettingRowToggle.stories.ts"
|
|
13044
13527
|
}
|
|
13045
13528
|
],
|
|
13046
13529
|
"styling": {
|
|
13047
|
-
"rationale": "The row
|
|
13530
|
+
"rationale": "The row uses the shared settings-row inset; copy/control columns and the parent section surface stay component-owned.",
|
|
13048
13531
|
"protected": [
|
|
13049
13532
|
{
|
|
13050
13533
|
"properties": [
|
|
13051
13534
|
"padding",
|
|
13052
13535
|
"gap"
|
|
13053
13536
|
],
|
|
13054
|
-
"reason": "Preserve the shared settings-row
|
|
13537
|
+
"reason": "Preserve the shared settings-row inset (space-100 block, space-200 inline) and copy-to-control gap.",
|
|
13055
13538
|
"props": []
|
|
13056
13539
|
}
|
|
13057
13540
|
],
|
|
@@ -13074,6 +13557,10 @@
|
|
|
13074
13557
|
"label": {
|
|
13075
13558
|
"type": "string",
|
|
13076
13559
|
"required": true
|
|
13560
|
+
},
|
|
13561
|
+
"variant": {
|
|
13562
|
+
"type": "SettingRowToggleVariant",
|
|
13563
|
+
"required": false
|
|
13077
13564
|
}
|
|
13078
13565
|
},
|
|
13079
13566
|
"events": [
|
|
@@ -13084,10 +13571,10 @@
|
|
|
13084
13571
|
],
|
|
13085
13572
|
"slots": [],
|
|
13086
13573
|
"exports": {
|
|
13087
|
-
"customElement": "ds-setting-row",
|
|
13088
|
-
"react": "
|
|
13089
|
-
"vue": "
|
|
13090
|
-
"angular": "
|
|
13574
|
+
"customElement": "ds-setting-row-toggle",
|
|
13575
|
+
"react": "DsSettingRowToggle",
|
|
13576
|
+
"vue": "DsSettingRowToggle",
|
|
13577
|
+
"angular": "DsSettingRowToggle"
|
|
13091
13578
|
}
|
|
13092
13579
|
},
|
|
13093
13580
|
"dependencies": [
|