@ds-mo/ui 15.6.0 → 15.8.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 +328 -5
- package/dist/angular/ds-navigation-tab-group.d.ts +15 -0
- package/dist/angular/ds-navigation-tab-group.js +42 -0
- package/dist/angular/ds-select-toggle.d.ts +15 -0
- package/dist/angular/ds-select-toggle.js +42 -0
- package/dist/angular/ds-table.d.ts +1 -1
- package/dist/angular/ds-table.js +3 -3
- package/dist/angular/index.d.ts +1 -1
- package/dist/angular/index.js +2 -0
- package/dist/angular/proxies.d.ts +2 -0
- package/dist/angular/proxies.js +2 -0
- 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-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-avatar.js +1 -1
- package/dist/components/ds-avatar.js.map +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-action.js.map +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-bar-workflow.js.map +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-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-chart.js +1 -1
- package/dist/components/ds-card-navigation.js +1 -1
- package/dist/components/ds-card-overview.js +1 -1
- package/dist/components/ds-card-setting.js +1 -1
- package/dist/components/ds-card-settings-scope.js +1 -1
- package/dist/components/ds-chart-legend.js +1 -1
- package/dist/components/ds-chart.js +1 -1
- package/dist/components/ds-checkbox-group.js +1 -1
- 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-preferences.js.map +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-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-icon.js +1 -1
- package/dist/components/ds-inline-banner-settings.js +1 -1
- package/dist/components/ds-input-date.js +1 -1
- package/dist/components/ds-input-time.js +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-composer.js +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-navigation-tab-group.d.ts +11 -0
- package/dist/components/ds-navigation-tab-group.js +2 -0
- package/dist/components/ds-navigation-tab-group.js.map +1 -0
- 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-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.js +1 -1
- package/dist/components/ds-score.js +1 -1
- package/dist/components/ds-select-toggle.d.ts +11 -0
- package/dist/components/ds-select-toggle.js +2 -0
- package/dist/components/ds-select-toggle.js.map +1 -0
- package/dist/components/ds-select.js +1 -1
- package/dist/components/ds-setting-row-checkbox.js +1 -1
- package/dist/components/ds-setting-row-radio.js +1 -1
- package/dist/components/ds-setting-row-radio.js.map +1 -1
- package/dist/components/ds-setting-row-toggle.js +1 -1
- 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-slider.js.map +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-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--pJyciTI.js → p--_bPiNCd.js} +2 -2
- package/dist/components/{p-UJMEz8_O.js → p-3SCy1PHa.js} +2 -2
- package/dist/components/{p-kwS-vkau.js → p-5aZVNYQz.js} +2 -2
- package/dist/components/{p-BVxK8ce0.js → p-B1dnisok.js} +2 -2
- package/dist/components/{p-BZY40-pE.js → p-B7EfrM6C.js} +2 -2
- package/dist/components/{p-DObhRLBa.js → p-B9ZhRwE3.js} +2 -2
- package/dist/components/{p-Dr5rkAhe.js → p-BAcdqJaa.js} +2 -2
- package/dist/components/{p-DbW8S5qe.js → p-BJf49edB.js} +2 -2
- package/dist/components/{p-S1Ct3FJV.js → p-BNN9KkXe.js} +2 -2
- package/dist/components/{p-7MwoWtTJ.js → p-BREDkBUv.js} +2 -2
- package/dist/components/p-BREDkBUv.js.map +1 -0
- package/dist/components/{p-pPtjNRqC.js → p-BVsVUnAw.js} +2 -2
- package/dist/components/p-BVsVUnAw.js.map +1 -0
- package/dist/components/{p-CwdRaJER.js → p-BWJb2rih.js} +2 -2
- package/dist/components/{p-d76Ry5nh.js → p-BWnL2SWn.js} +2 -2
- package/dist/components/{p-D8OWhnID.js → p-BbvAWFJA.js} +2 -2
- package/dist/components/p-BcmJBzB6.js +2 -0
- package/dist/components/{p-5-gQbIIz.js.map → p-BcmJBzB6.js.map} +1 -1
- package/dist/components/p-BjD1eFx6.js +2 -0
- package/dist/components/{p-DYtVsnDS.js.map → p-BjD1eFx6.js.map} +1 -1
- package/dist/components/{p-DKGW3gRa.js → p-Bjm-Rk_x.js} +2 -2
- package/dist/components/{p-CSxwWcwW.js → p-Bls48_RF.js} +2 -2
- package/dist/components/{p-OJ5WeR05.js → p-BqZWKYsS.js} +2 -2
- package/dist/components/p-C2e7BkNn.js +2 -0
- package/dist/components/p-C2e7BkNn.js.map +1 -0
- package/dist/components/p-C4YUkrr0.js +2 -0
- package/dist/components/{p-CUYLGe5d.js.map → p-C4YUkrr0.js.map} +1 -1
- package/dist/components/{p-BnuNaXR2.js → p-C4t7HnfZ.js} +2 -2
- package/dist/components/p-C62g3d5y.js +2 -0
- package/dist/components/{p-DdFeWC-e.js.map → p-C62g3d5y.js.map} +1 -1
- package/dist/components/p-C6EXrs1S.js +2 -0
- package/dist/components/{p-B3o9zn3Y.js.map → p-C6EXrs1S.js.map} +1 -1
- package/dist/components/{p-C1ZfBbJ_.js → p-C7_awFtr.js} +2 -2
- package/dist/components/p-CCoJ7CBB.js +2 -0
- package/dist/components/{p-BNarCFJZ.js.map → p-CCoJ7CBB.js.map} +1 -1
- package/dist/components/p-CG4vPDhg.js +2 -0
- package/dist/components/{p-BR9Pjp15.js.map → p-CG4vPDhg.js.map} +1 -1
- package/dist/components/{p-CElsKlxj.js → p-CJSIvfpo.js} +2 -2
- package/dist/components/{p-CElsKlxj.js.map → p-CJSIvfpo.js.map} +1 -1
- package/dist/components/p-CJuc20pQ.js +2 -0
- package/dist/components/p-CJuc20pQ.js.map +1 -0
- package/dist/components/{p-DVsGfz7J.js → p-CWAeg9jl.js} +2 -2
- package/dist/components/p-CWc6Blcp.js +2 -0
- package/dist/components/{p-B95UP66y.js.map → p-CWc6Blcp.js.map} +1 -1
- package/dist/components/{p-BmIllmq2.js → p-CantpOo3.js} +2 -2
- package/dist/components/p-D-TeAVxE.js +2 -0
- package/dist/components/{p-DcxY_pdJ.js.map → p-D-TeAVxE.js.map} +1 -1
- package/dist/components/{p-YC7UM4jH.js → p-D1tmszmN.js} +2 -2
- package/dist/components/p-D3JCih82.js +2 -0
- package/dist/components/{p-wXKIVUTn.js.map → p-D3JCih82.js.map} +1 -1
- package/dist/components/p-DHpcv_Os.js +2 -0
- package/dist/components/{p-xMBaOeKa.js.map → p-DHpcv_Os.js.map} +1 -1
- package/dist/components/p-DWXpMWIp.js +2 -0
- package/dist/components/{p-DP07JCed.js.map → p-DWXpMWIp.js.map} +1 -1
- package/dist/components/{p-C6kUn-vb.js → p-DagrkX2v.js} +2 -2
- package/dist/components/{p-CaFXrn_8.js → p-DcMbWqTd.js} +2 -2
- package/dist/components/{p-B-pkoIX9.js → p-DiyL2sI5.js} +2 -2
- package/dist/components/p-Dkh_40bl.js +2 -0
- package/dist/components/p-Dkh_40bl.js.map +1 -0
- package/dist/components/{p-DXL5D30P.js → p-Du8LT8JS.js} +2 -2
- package/dist/components/p-Dvw7N7TH.js +2 -0
- package/dist/components/{p-CgQB8Ct5.js.map → p-Dvw7N7TH.js.map} +1 -1
- package/dist/components/{p-DfMTDFcE.js → p-IfsszNF0.js} +2 -2
- package/dist/components/{p-CbCN9ew9.js → p-QGtBlTMt.js} +2 -2
- package/dist/components/p-QU4czL2k.js +2 -0
- package/dist/components/p-QU4czL2k.js.map +1 -0
- package/dist/components/{p-leZFu-cd.js → p-SXaH5TeC.js} +2 -2
- package/dist/components/{p-leZFu-cd.js.map → p-SXaH5TeC.js.map} +1 -1
- package/dist/components/p-Tf6odBOV.js +2 -0
- package/dist/components/{p-DYGllrVT.js.map → p-Tf6odBOV.js.map} +1 -1
- package/dist/components/p-UWU23pbX.js +2 -0
- package/dist/components/{p-KA8srEed.js.map → p-UWU23pbX.js.map} +1 -1
- package/dist/components/p-YFjXYN8s.js +2 -0
- package/dist/components/{p-Ouk6FCxc.js.map → p-YFjXYN8s.js.map} +1 -1
- package/dist/components/{p-B9y6azEw.js → p-eKnJNQtL.js} +2 -2
- package/dist/components/p-kL4EOsx5.js +2 -0
- package/dist/components/p-kL4EOsx5.js.map +1 -0
- package/dist/components/{p-DSmDyI2o.js → p-n_OBbh94.js} +2 -2
- package/dist/components/{p-CIMyD_6H.js → p-topqlGsI.js} +2 -2
- package/dist/components/{p-HfZ1gI2q.js → p-zopMP2ze.js} +2 -2
- package/dist/components/{p-HfZ1gI2q.js.map → p-zopMP2ze.js.map} +1 -1
- package/dist/docs/components.json +683 -7
- package/dist/lib/shell/index.js.map +2 -2
- package/dist/lib/shell/shell-responsive.d.ts +2 -0
- package/dist/lint/index.js +1 -1
- package/dist/mcp-data/registry/data-preferences.json +1 -1
- package/dist/mcp-data/registry/data-sort.json +1 -1
- package/dist/mcp-data/registry/navigation-tab-group.json +279 -0
- package/dist/mcp-data/registry/registry.json +333 -4
- package/dist/mcp-data/registry/select-toggle.json +351 -0
- package/dist/mcp-data/registry/shell-app.json +2 -1
- package/dist/mcp-data/registry/slider.json +6 -5
- package/dist/mcp-data/registry/switch.json +2 -2
- package/dist/mcp-data/registry/tab-group.json +14 -8
- package/dist/mcp-data/registry/table.json +22 -3
- package/dist/react/components.d.ts +2 -0
- package/dist/react/components.js +2 -0
- package/dist/react/ds-navigation-tab-group.d.ts +12 -0
- package/dist/react/ds-navigation-tab-group.js +12 -0
- package/dist/react/ds-select-toggle.d.ts +12 -0
- package/dist/react/ds-select-toggle.js +12 -0
- package/dist/styles/table.css +8 -0
- package/dist/types/components/NavigationTabGroup/NavigationTabGroup.d.ts +16 -0
- package/dist/types/components/SelectToggle/SelectToggle.d.ts +46 -0
- package/dist/types/components/ShellApp/ShellApp.d.ts +1 -0
- package/dist/types/components/Slider/Slider.d.ts +1 -1
- package/dist/types/components/TabGroup/TabGroup.d.ts +2 -2
- package/dist/types/components/Table/Table.d.ts +3 -0
- package/dist/types/components.d.ts +237 -15
- package/dist/types/shell/shell-responsive.d.ts +2 -0
- package/dist/vue/components.d.ts +2 -0
- package/dist/vue/components.js +2 -0
- package/dist/vue/ds-navigation-tab-group.d.ts +3 -0
- package/dist/vue/ds-navigation-tab-group.js +16 -0
- package/dist/vue/ds-select-toggle.d.ts +3 -0
- package/dist/vue/ds-select-toggle.js +19 -0
- package/dist/vue/ds-table.js +1 -0
- package/package.json +1 -1
- package/dist/components/p-5-gQbIIz.js +0 -2
- package/dist/components/p-7MwoWtTJ.js.map +0 -1
- package/dist/components/p-B3o9zn3Y.js +0 -2
- package/dist/components/p-B95UP66y.js +0 -2
- package/dist/components/p-BNarCFJZ.js +0 -2
- package/dist/components/p-BR9Pjp15.js +0 -2
- package/dist/components/p-Bf-BphXP.js +0 -2
- package/dist/components/p-Bf-BphXP.js.map +0 -1
- package/dist/components/p-BqipGGua.js +0 -2
- package/dist/components/p-BqipGGua.js.map +0 -1
- package/dist/components/p-CUYLGe5d.js +0 -2
- package/dist/components/p-CgGcgMjs.js +0 -2
- package/dist/components/p-CgGcgMjs.js.map +0 -1
- package/dist/components/p-CgQB8Ct5.js +0 -2
- package/dist/components/p-DP07JCed.js +0 -2
- package/dist/components/p-DYGllrVT.js +0 -2
- package/dist/components/p-DYtVsnDS.js +0 -2
- package/dist/components/p-DcxY_pdJ.js +0 -2
- package/dist/components/p-DdFeWC-e.js +0 -2
- package/dist/components/p-DlCLfwP4.js +0 -2
- package/dist/components/p-DlCLfwP4.js.map +0 -1
- package/dist/components/p-KA8srEed.js +0 -2
- package/dist/components/p-Ouk6FCxc.js +0 -2
- package/dist/components/p-pPtjNRqC.js.map +0 -1
- package/dist/components/p-wXKIVUTn.js +0 -2
- package/dist/components/p-xMBaOeKa.js +0 -2
- /package/dist/components/{p--pJyciTI.js.map → p--_bPiNCd.js.map} +0 -0
- /package/dist/components/{p-UJMEz8_O.js.map → p-3SCy1PHa.js.map} +0 -0
- /package/dist/components/{p-kwS-vkau.js.map → p-5aZVNYQz.js.map} +0 -0
- /package/dist/components/{p-BVxK8ce0.js.map → p-B1dnisok.js.map} +0 -0
- /package/dist/components/{p-BZY40-pE.js.map → p-B7EfrM6C.js.map} +0 -0
- /package/dist/components/{p-DObhRLBa.js.map → p-B9ZhRwE3.js.map} +0 -0
- /package/dist/components/{p-Dr5rkAhe.js.map → p-BAcdqJaa.js.map} +0 -0
- /package/dist/components/{p-DbW8S5qe.js.map → p-BJf49edB.js.map} +0 -0
- /package/dist/components/{p-S1Ct3FJV.js.map → p-BNN9KkXe.js.map} +0 -0
- /package/dist/components/{p-CwdRaJER.js.map → p-BWJb2rih.js.map} +0 -0
- /package/dist/components/{p-d76Ry5nh.js.map → p-BWnL2SWn.js.map} +0 -0
- /package/dist/components/{p-D8OWhnID.js.map → p-BbvAWFJA.js.map} +0 -0
- /package/dist/components/{p-DKGW3gRa.js.map → p-Bjm-Rk_x.js.map} +0 -0
- /package/dist/components/{p-CSxwWcwW.js.map → p-Bls48_RF.js.map} +0 -0
- /package/dist/components/{p-OJ5WeR05.js.map → p-BqZWKYsS.js.map} +0 -0
- /package/dist/components/{p-BnuNaXR2.js.map → p-C4t7HnfZ.js.map} +0 -0
- /package/dist/components/{p-C1ZfBbJ_.js.map → p-C7_awFtr.js.map} +0 -0
- /package/dist/components/{p-DVsGfz7J.js.map → p-CWAeg9jl.js.map} +0 -0
- /package/dist/components/{p-BmIllmq2.js.map → p-CantpOo3.js.map} +0 -0
- /package/dist/components/{p-YC7UM4jH.js.map → p-D1tmszmN.js.map} +0 -0
- /package/dist/components/{p-C6kUn-vb.js.map → p-DagrkX2v.js.map} +0 -0
- /package/dist/components/{p-CaFXrn_8.js.map → p-DcMbWqTd.js.map} +0 -0
- /package/dist/components/{p-B-pkoIX9.js.map → p-DiyL2sI5.js.map} +0 -0
- /package/dist/components/{p-DXL5D30P.js.map → p-Du8LT8JS.js.map} +0 -0
- /package/dist/components/{p-DfMTDFcE.js.map → p-IfsszNF0.js.map} +0 -0
- /package/dist/components/{p-CbCN9ew9.js.map → p-QGtBlTMt.js.map} +0 -0
- /package/dist/components/{p-B9y6azEw.js.map → p-eKnJNQtL.js.map} +0 -0
- /package/dist/components/{p-DSmDyI2o.js.map → p-n_OBbh94.js.map} +0 -0
- /package/dist/components/{p-CIMyD_6H.js.map → p-topqlGsI.js.map} +0 -0
|
@@ -10977,6 +10977,155 @@
|
|
|
10977
10977
|
"tooltip"
|
|
10978
10978
|
]
|
|
10979
10979
|
},
|
|
10980
|
+
{
|
|
10981
|
+
"name": "navigation-tab-group",
|
|
10982
|
+
"title": "NavigationTabGroup",
|
|
10983
|
+
"description": "Outset horizontal tab group for switching adjacent local panels on basic application surfaces.",
|
|
10984
|
+
"type": "registry:ui",
|
|
10985
|
+
"meta": {
|
|
10986
|
+
"library": "@ds-mo/ui",
|
|
10987
|
+
"distribution": "npm",
|
|
10988
|
+
"storybook": "https://zainadeel.github.io/compomo/?path=/story/navigation-tab-group",
|
|
10989
|
+
"source": "src/wc/components/NavigationTabGroup/NavigationTabGroup.tsx",
|
|
10990
|
+
"intentStatus": "complete",
|
|
10991
|
+
"intent": {
|
|
10992
|
+
"audience": "general",
|
|
10993
|
+
"status": "experimental",
|
|
10994
|
+
"summary": "Outset horizontal tab group for switching adjacent local panels on basic application surfaces.",
|
|
10995
|
+
"useWhen": [
|
|
10996
|
+
"Adjacent local panels need a prominent navigation row with full control-height selected tabs.",
|
|
10997
|
+
"A horizontal tab row has room for an outset shell rather than needing to align beside compact controls."
|
|
10998
|
+
],
|
|
10999
|
+
"avoidWhen": [
|
|
11000
|
+
"The tab row must sit inline with ordinary controls; use TabGroup's compact segmented presentation instead.",
|
|
11001
|
+
"The row sits on bold, strong, media, inverted, or other specialized surfaces; this treatment is intended for basic application backgrounds.",
|
|
11002
|
+
"The choices navigate application routes rather than switching local panels; use PanelNav or BarNav."
|
|
11003
|
+
],
|
|
11004
|
+
"alternatives": [
|
|
11005
|
+
{
|
|
11006
|
+
"when": "A compact selector must align beside other controls or support specialized surface contexts.",
|
|
11007
|
+
"component": "component:ds-tab-group",
|
|
11008
|
+
"reason": "TabGroup provides control-height segmented chrome and surface-aware selection."
|
|
11009
|
+
},
|
|
11010
|
+
{
|
|
11011
|
+
"when": "The choices are application destinations rather than local panels.",
|
|
11012
|
+
"component": "component:ds-panel-nav",
|
|
11013
|
+
"reason": "PanelNav owns application navigation semantics and route selection."
|
|
11014
|
+
}
|
|
11015
|
+
],
|
|
11016
|
+
"commonlyComposedWith": [
|
|
11017
|
+
"component:ds-text",
|
|
11018
|
+
"component:ds-icon"
|
|
11019
|
+
],
|
|
11020
|
+
"accessibility": [
|
|
11021
|
+
"Provide an accessible name for the delegated tab list with aria-label or aria-labelledby.",
|
|
11022
|
+
"TabGroup owns tab semantics, roving focus, arrow-key selection, and inactive-tab behavior; the navigation wrapper must not create a second tab or event stream.",
|
|
11023
|
+
"Keep the selected local panel synchronized with dsChange and connect each tab to its panel when panels are present."
|
|
11024
|
+
],
|
|
11025
|
+
"states": [
|
|
11026
|
+
"The parent owns which adjacent panel is visible; user activation updates the mutable selected value and emits dsChange once through the wrapper.",
|
|
11027
|
+
"The selected tab uses the normal control-density height and primary surface with medium elevation inside an outset, padded shell.",
|
|
11028
|
+
"The navigation treatment delegates its tab items, selection, focus, and keyboard behavior to TabGroup rather than maintaining a parallel implementation."
|
|
11029
|
+
],
|
|
11030
|
+
"responsiveBehavior": [
|
|
11031
|
+
"The group stays on one horizontal row; choose the control density and bounded width to fit the available layout.",
|
|
11032
|
+
"Hug follows content width and fill distributes selectable tabs evenly across a definite parent width."
|
|
11033
|
+
],
|
|
11034
|
+
"frameworkCaveats": {
|
|
11035
|
+
"customElements": [
|
|
11036
|
+
"Assign tabs as a JavaScript property and keep the selected panel synchronized with dsChange."
|
|
11037
|
+
],
|
|
11038
|
+
"react": [
|
|
11039
|
+
"Pass tabs as an array through the generated wrapper and handle onDsChange to update the visible panel."
|
|
11040
|
+
],
|
|
11041
|
+
"vue": [
|
|
11042
|
+
"Use v-model for the selected value and pass tabs as a property-bound array."
|
|
11043
|
+
],
|
|
11044
|
+
"angular": [
|
|
11045
|
+
"Bind tabs and value as properties and handle dsChange to update the visible panel."
|
|
11046
|
+
]
|
|
11047
|
+
},
|
|
11048
|
+
"references": [
|
|
11049
|
+
{
|
|
11050
|
+
"label": "Storybook examples",
|
|
11051
|
+
"path": "src/wc/components/NavigationTabGroup/NavigationTabGroup.stories.ts"
|
|
11052
|
+
},
|
|
11053
|
+
{
|
|
11054
|
+
"label": "Rendered behavior and geometry",
|
|
11055
|
+
"path": "tests/e2e/navigation-tab-group.spec.ts"
|
|
11056
|
+
}
|
|
11057
|
+
],
|
|
11058
|
+
"styling": {
|
|
11059
|
+
"rationale": "The component owns its outset shell and selected-tab treatment through TabGroup's shared tab anatomy; applications own the surrounding basic surface and panel layout.",
|
|
11060
|
+
"protected": [
|
|
11061
|
+
{
|
|
11062
|
+
"properties": [
|
|
11063
|
+
"height",
|
|
11064
|
+
"padding",
|
|
11065
|
+
"gap",
|
|
11066
|
+
"border-radius",
|
|
11067
|
+
"background",
|
|
11068
|
+
"border",
|
|
11069
|
+
"box-shadow"
|
|
11070
|
+
],
|
|
11071
|
+
"reason": "The shell and selected tab form one density-specific navigation recipe; choose size and width instead of restyling nested tabs.",
|
|
11072
|
+
"props": [
|
|
11073
|
+
"size",
|
|
11074
|
+
"width"
|
|
11075
|
+
]
|
|
11076
|
+
}
|
|
11077
|
+
],
|
|
11078
|
+
"customProperties": []
|
|
11079
|
+
}
|
|
11080
|
+
},
|
|
11081
|
+
"props": {
|
|
11082
|
+
"ariaLabel": {
|
|
11083
|
+
"type": "string | null",
|
|
11084
|
+
"required": false
|
|
11085
|
+
},
|
|
11086
|
+
"ariaLabelledby": {
|
|
11087
|
+
"type": "string | undefined",
|
|
11088
|
+
"required": false
|
|
11089
|
+
},
|
|
11090
|
+
"size": {
|
|
11091
|
+
"type": "TabGroupSize",
|
|
11092
|
+
"required": false
|
|
11093
|
+
},
|
|
11094
|
+
"tabs": {
|
|
11095
|
+
"type": "TabGroupItem[]",
|
|
11096
|
+
"required": false
|
|
11097
|
+
},
|
|
11098
|
+
"value": {
|
|
11099
|
+
"type": "string",
|
|
11100
|
+
"required": false
|
|
11101
|
+
},
|
|
11102
|
+
"width": {
|
|
11103
|
+
"type": "TabGroupWidth",
|
|
11104
|
+
"required": false
|
|
11105
|
+
}
|
|
11106
|
+
},
|
|
11107
|
+
"events": [
|
|
11108
|
+
{
|
|
11109
|
+
"name": "dsChange",
|
|
11110
|
+
"detail": "string"
|
|
11111
|
+
}
|
|
11112
|
+
],
|
|
11113
|
+
"slots": [],
|
|
11114
|
+
"exports": {
|
|
11115
|
+
"customElement": "ds-navigation-tab-group",
|
|
11116
|
+
"react": "DsNavigationTabGroup",
|
|
11117
|
+
"vue": "DsNavigationTabGroup",
|
|
11118
|
+
"angular": "DsNavigationTabGroup"
|
|
11119
|
+
}
|
|
11120
|
+
},
|
|
11121
|
+
"dependencies": [
|
|
11122
|
+
"@ds-mo/ui",
|
|
11123
|
+
"@ds-mo/tokens"
|
|
11124
|
+
],
|
|
11125
|
+
"registryDependencies": [
|
|
11126
|
+
"tab-group"
|
|
11127
|
+
]
|
|
11128
|
+
},
|
|
10980
11129
|
{
|
|
10981
11130
|
"name": "pagination",
|
|
10982
11131
|
"title": "Pagination",
|
|
@@ -13316,6 +13465,173 @@
|
|
|
13316
13465
|
"tooltip"
|
|
13317
13466
|
]
|
|
13318
13467
|
},
|
|
13468
|
+
{
|
|
13469
|
+
"name": "select-toggle",
|
|
13470
|
+
"title": "SelectToggle",
|
|
13471
|
+
"description": "Compact cycling choice control with a vertical position indicator.",
|
|
13472
|
+
"type": "registry:ui",
|
|
13473
|
+
"meta": {
|
|
13474
|
+
"library": "@ds-mo/ui",
|
|
13475
|
+
"distribution": "npm",
|
|
13476
|
+
"storybook": "https://zainadeel.github.io/compomo/?path=/story/select-toggle",
|
|
13477
|
+
"source": "src/wc/components/SelectToggle/SelectToggle.tsx",
|
|
13478
|
+
"intentStatus": "complete",
|
|
13479
|
+
"intent": {
|
|
13480
|
+
"audience": "general",
|
|
13481
|
+
"status": "experimental",
|
|
13482
|
+
"summary": "Compact cycling choice control with a vertical position indicator.",
|
|
13483
|
+
"useWhen": [
|
|
13484
|
+
"Two or three local view modes should cycle through one compact button without opening a popup.",
|
|
13485
|
+
"The current choice should update its label and/or icon while a small vertical dot indicator shows its position."
|
|
13486
|
+
],
|
|
13487
|
+
"avoidWhen": [
|
|
13488
|
+
"The full choice set must remain visible at once; use TabGroup instead.",
|
|
13489
|
+
"The user must inspect or search more than three options; use Select instead.",
|
|
13490
|
+
"The value must participate in native form submission; this initial component is a local cycling control, not a form-associated select."
|
|
13491
|
+
],
|
|
13492
|
+
"alternatives": [
|
|
13493
|
+
{
|
|
13494
|
+
"when": "Every choice should be visible and individually selectable.",
|
|
13495
|
+
"component": "component:ds-tab-group",
|
|
13496
|
+
"reason": "TabGroup exposes all choices and owns segmented keyboard selection."
|
|
13497
|
+
},
|
|
13498
|
+
{
|
|
13499
|
+
"when": "The option list exceeds three choices or needs a dropdown.",
|
|
13500
|
+
"component": "component:ds-select",
|
|
13501
|
+
"reason": "Select provides a popup and the complete form-select contract."
|
|
13502
|
+
}
|
|
13503
|
+
],
|
|
13504
|
+
"commonlyComposedWith": [
|
|
13505
|
+
"component:ds-text",
|
|
13506
|
+
"component:ds-icon"
|
|
13507
|
+
],
|
|
13508
|
+
"accessibility": [
|
|
13509
|
+
"A single native button owns focus and activation by pointer, Enter, or Space; the dots are decorative and hidden from assistive technology.",
|
|
13510
|
+
"Each option supplies a nonempty label, including icon-only choices. The button name announces the current label, position, and next choice; aria-label adds stable context.",
|
|
13511
|
+
"An inactive button is natively disabled. Do not use aria-pressed because this is a multi-choice cycle, not a binary toggle."
|
|
13512
|
+
],
|
|
13513
|
+
"states": [
|
|
13514
|
+
"The application supplies exactly two or three uniquely valued options and may set value; invalid values resolve to the first choice without emitting a user-change event.",
|
|
13515
|
+
"Activation advances to the next choice, wraps after the last, updates the mutable value, and emits dsChange once with the next value.",
|
|
13516
|
+
"Variant selects label, icon, or icon-label content; the trailing slot scales with control density and displays the same number of vertical dots as choices.",
|
|
13517
|
+
"Both treatments use transparent unfilled chrome; hasBorder removes only the inset stroke while preserving control geometry."
|
|
13518
|
+
],
|
|
13519
|
+
"responsiveBehavior": [
|
|
13520
|
+
"Hug follows the current content; fill uses the parent width and truncates a long label without moving the trailing indicator.",
|
|
13521
|
+
"When collapseLabel is enabled in a table caption or data toolbar narrower than 900px, icon-label choices display only the icon while preserving the changing accessible name. Explicit icon and label variants are unchanged.",
|
|
13522
|
+
"Small, medium, and large use shared control-density heights and matching dot-slot geometry."
|
|
13523
|
+
],
|
|
13524
|
+
"frameworkCaveats": {
|
|
13525
|
+
"customElements": [
|
|
13526
|
+
"Assign options as a JavaScript property and listen for dsChange to observe user cycling."
|
|
13527
|
+
],
|
|
13528
|
+
"react": [
|
|
13529
|
+
"Pass options as an array and handle onDsChange to observe user cycling."
|
|
13530
|
+
],
|
|
13531
|
+
"vue": [
|
|
13532
|
+
"Bind options as an array and handle dsChange to update application state."
|
|
13533
|
+
],
|
|
13534
|
+
"angular": [
|
|
13535
|
+
"Bind options as an array and handle dsChange to update application state."
|
|
13536
|
+
]
|
|
13537
|
+
},
|
|
13538
|
+
"references": [
|
|
13539
|
+
{
|
|
13540
|
+
"label": "Storybook examples",
|
|
13541
|
+
"path": "src/wc/components/SelectToggle/SelectToggle.stories.ts"
|
|
13542
|
+
},
|
|
13543
|
+
{
|
|
13544
|
+
"label": "Rendered behavior and geometry",
|
|
13545
|
+
"path": "tests/e2e/select-toggle.spec.ts"
|
|
13546
|
+
}
|
|
13547
|
+
],
|
|
13548
|
+
"styling": {
|
|
13549
|
+
"rationale": "The component owns one density-sized unfilled button, changing choice content, and a fixed trailing position indicator; applications own surrounding layout and the choice data.",
|
|
13550
|
+
"protected": [
|
|
13551
|
+
{
|
|
13552
|
+
"properties": [
|
|
13553
|
+
"height",
|
|
13554
|
+
"padding",
|
|
13555
|
+
"gap",
|
|
13556
|
+
"border-radius",
|
|
13557
|
+
"background",
|
|
13558
|
+
"border",
|
|
13559
|
+
"color"
|
|
13560
|
+
],
|
|
13561
|
+
"reason": "Control density and the indicator slot stay aligned across the supported variants.",
|
|
13562
|
+
"props": [
|
|
13563
|
+
"size",
|
|
13564
|
+
"variant",
|
|
13565
|
+
"width",
|
|
13566
|
+
"hasBorder"
|
|
13567
|
+
]
|
|
13568
|
+
}
|
|
13569
|
+
],
|
|
13570
|
+
"customProperties": []
|
|
13571
|
+
}
|
|
13572
|
+
},
|
|
13573
|
+
"props": {
|
|
13574
|
+
"ariaLabel": {
|
|
13575
|
+
"type": "string | null",
|
|
13576
|
+
"required": false
|
|
13577
|
+
},
|
|
13578
|
+
"collapseLabel": {
|
|
13579
|
+
"type": "boolean",
|
|
13580
|
+
"required": false
|
|
13581
|
+
},
|
|
13582
|
+
"hasBorder": {
|
|
13583
|
+
"type": "boolean",
|
|
13584
|
+
"required": false
|
|
13585
|
+
},
|
|
13586
|
+
"isInactive": {
|
|
13587
|
+
"type": "boolean",
|
|
13588
|
+
"required": false
|
|
13589
|
+
},
|
|
13590
|
+
"options": {
|
|
13591
|
+
"type": "SelectToggleOption[]",
|
|
13592
|
+
"required": false
|
|
13593
|
+
},
|
|
13594
|
+
"size": {
|
|
13595
|
+
"type": "SelectToggleSize",
|
|
13596
|
+
"required": false
|
|
13597
|
+
},
|
|
13598
|
+
"value": {
|
|
13599
|
+
"type": "string",
|
|
13600
|
+
"required": false
|
|
13601
|
+
},
|
|
13602
|
+
"variant": {
|
|
13603
|
+
"type": "SelectToggleVariant",
|
|
13604
|
+
"required": false
|
|
13605
|
+
},
|
|
13606
|
+
"width": {
|
|
13607
|
+
"type": "ControlWidth",
|
|
13608
|
+
"required": false
|
|
13609
|
+
}
|
|
13610
|
+
},
|
|
13611
|
+
"events": [
|
|
13612
|
+
{
|
|
13613
|
+
"name": "dsChange",
|
|
13614
|
+
"detail": "string"
|
|
13615
|
+
}
|
|
13616
|
+
],
|
|
13617
|
+
"slots": [],
|
|
13618
|
+
"exports": {
|
|
13619
|
+
"customElement": "ds-select-toggle",
|
|
13620
|
+
"react": "DsSelectToggle",
|
|
13621
|
+
"vue": "DsSelectToggle",
|
|
13622
|
+
"angular": "DsSelectToggle"
|
|
13623
|
+
}
|
|
13624
|
+
},
|
|
13625
|
+
"dependencies": [
|
|
13626
|
+
"@ds-mo/ui",
|
|
13627
|
+
"@ds-mo/tokens",
|
|
13628
|
+
"@ds-mo/icons"
|
|
13629
|
+
],
|
|
13630
|
+
"registryDependencies": [
|
|
13631
|
+
"icon",
|
|
13632
|
+
"text"
|
|
13633
|
+
]
|
|
13634
|
+
},
|
|
13319
13635
|
{
|
|
13320
13636
|
"name": "setting-row-checkbox",
|
|
13321
13637
|
"title": "SettingRowCheckbox",
|
|
@@ -13676,6 +13992,7 @@
|
|
|
13676
13992
|
"Render exactly one ShellApp as the workspace root and never nest it.",
|
|
13677
13993
|
"Managed composition is the standard. Supply navigation, pageChrome, and tools objects plus named tool-view and default page-content slots.",
|
|
13678
13994
|
"The application router owns the current route, authorization filtering, Dashboard or Settings context, destination collections, section collections, and localized content labels.",
|
|
13995
|
+
"The wide-viewport host flag reserves a desktop range for future product experiments without changing responsive mode or chrome presentation.",
|
|
13679
13996
|
"ShellApp renders the lower-level desktop, tablet, and mobile chrome, coordinates layout, gradient alignment, transitions, shortcuts, global surfaces, optional Inbox state, focus restoration, and mobile-stage visibility.",
|
|
13680
13997
|
"Desktop and tablet PanelNav and PanelTools width motion is one continuous layout transition: the shell bar or title and routed page must follow the same intermediate lane widths without terminal-state snapping, overlapping chrome, transform scaling, or temporary replacement backgrounds.",
|
|
13681
13998
|
"The application router owns authorization, current URLs, history, and route execution; ShellApp forwards navigation and page intent events without routing.",
|
|
@@ -14554,7 +14871,8 @@
|
|
|
14554
14871
|
"Horizontal Slider fills the width supplied by its parent; the parent chooses an appropriate readable track length.",
|
|
14555
14872
|
"Vertical Slider owns a token-based default length that may be overridden with --ds-slider-vertical-length in layout-specific compositions.",
|
|
14556
14873
|
"Use md in ordinary forms and sm or xs only when the surrounding control density uses the same recipe.",
|
|
14557
|
-
"Track thickness scales with density. The unfilled track
|
|
14874
|
+
"Track thickness scales with density. The half-rounded unfilled track uses a faint-neutral background and tertiary border, and the filled range uses brand color. The round thumb layers a track-sized bold-brand orb with a tertiary inset border over a larger transparent, blurred, medium-elevation circle.",
|
|
14875
|
+
"Edge alignment places the inner orb edge at each full-width rail endpoint while the transparent outer circle overhangs; center alignment places the orb center at inset rail endpoints.",
|
|
14558
14876
|
"Horizontal value direction is left-to-right; the design system does not author RTL-specific component behavior."
|
|
14559
14877
|
],
|
|
14560
14878
|
"frameworkCaveats": {
|
|
@@ -14968,7 +15286,7 @@
|
|
|
14968
15286
|
"Activation updates checked immediately and emits dsChange with the new boolean value.",
|
|
14969
15287
|
"The initial checked value is the form-reset baseline; unchecked switches submit nothing unless uncheckedValue is provided.",
|
|
14970
15288
|
"Sizes are lg 40×24 with a 16px thumb and 4px body inset, md 32×20 with a 12px thumb and 4px inset, sm 24×16 with a 10px thumb and 3px inset, and xs 20×12 with an 8px thumb and 2px inset.",
|
|
14971
|
-
"Unchecked uses a
|
|
15289
|
+
"Unchecked uses a faint-neutral track with a density-specific tertiary-border inset stroke and a primary-background thumb with medium elevation. Checked uses a brand track with the same default tertiary-border inset stroke and elevated primary-background thumb.",
|
|
14972
15290
|
"Presentation mode removes switch semantics, focus, interaction, and form submission while retaining the checked visual."
|
|
14973
15291
|
],
|
|
14974
15292
|
"responsiveBehavior": [
|
|
@@ -15129,6 +15447,7 @@
|
|
|
15129
15447
|
"A tab set needs concise labels, icons, or icon-label content with optional supplemental notification dots."
|
|
15130
15448
|
],
|
|
15131
15449
|
"avoidWhen": [
|
|
15450
|
+
"The group needs an outset shell around full-height control-sized tabs for local panel navigation; use NavigationTabGroup instead.",
|
|
15132
15451
|
"The choices navigate application routes; use PanelNav or BarNav instead.",
|
|
15133
15452
|
"The choices belong in a vertical panel or card side rail; use PanelSubNav instead.",
|
|
15134
15453
|
"The choices are temporary commands or contextual options; use Menu instead.",
|
|
@@ -15136,6 +15455,11 @@
|
|
|
15136
15455
|
"No enabled tab can remain selected while enabled choices exist."
|
|
15137
15456
|
],
|
|
15138
15457
|
"alternatives": [
|
|
15458
|
+
{
|
|
15459
|
+
"when": "Local panel tabs need a roomy navigation shell rather than compact control-height chrome.",
|
|
15460
|
+
"component": "component:ds-navigation-tab-group",
|
|
15461
|
+
"reason": "NavigationTabGroup preserves tab behavior while giving selected tabs the full control-density height and an elevated primary surface."
|
|
15462
|
+
},
|
|
15139
15463
|
{
|
|
15140
15464
|
"when": "Local views need persistent vertical side-rail navigation.",
|
|
15141
15465
|
"component": "component:ds-panel-sub-nav",
|
|
@@ -15273,7 +15597,7 @@
|
|
|
15273
15597
|
"required": false
|
|
15274
15598
|
},
|
|
15275
15599
|
"presentation": {
|
|
15276
|
-
"type": "'segmented' | 'tabs'",
|
|
15600
|
+
"type": "'segmented' | 'tabs' | 'navigation'",
|
|
15277
15601
|
"required": false
|
|
15278
15602
|
},
|
|
15279
15603
|
"size": {
|
|
@@ -15367,7 +15691,8 @@
|
|
|
15367
15691
|
],
|
|
15368
15692
|
"accessibility": [
|
|
15369
15693
|
"The rendered structure uses a native table, caption, column headers, row groups, and data cells; keep the caption non-empty. The native caption remains visually hidden as the table's accessible name. When caption visibility is enabled, a 48px header bar renders as component chrome outside the data scrollport. It defaults to a presentational caption title that does not duplicate the accessible name. Application-owned labeled controls supplied through the single named header slot replace that fallback and share one horizontal caption overflow row with table-owned actions inside the component-owned 8px inset. Table caption buttons keep pressed interaction paint without physically scaling. When columnCustomizer is enabled, the table adds a trailing Customize control named Customize table. Its label uses regular weight and its resting foreground remains neutral when hidden or reordered columns differ from the catalog default. The control is icon-label at typical widths and the icon-only Customize menu button below 900px, where a tooltip preserves the Customize label. The always-icon-only table-variant control also exposes its label through a tooltip. Otherwise the header slot receives the complete content width.",
|
|
15370
|
-
"The data-mode switcher is the shared Menu of the table's supported infinite, pagination, and virtual modes. It uses an Ellipses trigger.
|
|
15694
|
+
"The data-mode switcher is the shared Menu of the table's supported infinite, pagination, and virtual modes. It uses an Ellipses trigger. When the column customizer is also present, a decorative vertical divider separates the two controls. The optional caption-trailing slot follows table-owned caption actions for application-owned presentation controls; the application supplies its own divider when needed. dataMode remains controlled, and the application responds to change intent by supplying the matching records, pagination state, loading behavior, and query consequences. Escape, dismissal, and selection return focus to the trigger.",
|
|
15695
|
+
"When alternateView is enabled, the alternate-view slot replaces the table frame body while the shared caption and footer remain mounted. The application owns the replacement content's accessible name, filtering, and interaction. Do not render a hidden duplicate semantic table behind that content.",
|
|
15371
15696
|
"The column customizer is the shared Menu surface of composite preference rows. Data columns can be shown, hidden, left-pinned, and reordered. Visibility and pin state are independent, so hidden pinned columns retain their pin state. A tertiary divider separates the visibility switch from an unbordered Pin toggle. Pinned and unpinned sections constrain drag reorder to their own partition; a single pinned row keeps its drag handle visible but inactive in quaternary foreground. Action columns and the selection checkbox remain system-managed and never appear in the menu. Escape and outside click restore focus to the trigger. Persistence stays in the application.",
|
|
15372
15697
|
"Sorting controls remain buttons inside column headers and expose the table's one controlled member-row sort through aria-sort. ds-data-sort in the toolbar trailing cluster is the matching menu of Data and Order sections; it emits the same dsSortChange shape so header clicks and menu choices stay in sync. Grouping never adds a second sort indicator or header control; ds-data-group controls the grouping data point and ascending or descending group-section order while the application supplies the resulting groups. Optional column help underlines the header label with the shared dotted decoration and shows ds-tooltip from that label; it does not add a second header control or replace the column name.",
|
|
15373
15698
|
"Selection controls expose checkbox semantics and explicit row names; select-all affects selectable loaded rows only and preserves selected identities outside the loaded window. In virtual mode the supplied in-memory rows are that loaded set, including rows whose DOM is recycled. When grouping is active with multi-selection, each group section header also exposes a checkbox that selects or clears that group's selectable loaded rows.",
|
|
@@ -15556,6 +15881,10 @@
|
|
|
15556
15881
|
}
|
|
15557
15882
|
},
|
|
15558
15883
|
"props": {
|
|
15884
|
+
"alternateView": {
|
|
15885
|
+
"type": "boolean",
|
|
15886
|
+
"required": false
|
|
15887
|
+
},
|
|
15559
15888
|
"caption": {
|
|
15560
15889
|
"type": "string",
|
|
15561
15890
|
"required": true
|