@ds-mo/ui 14.34.0 → 14.35.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 +310 -23
- package/dist/angular/ds-filter-menu.d.ts +1 -1
- package/dist/angular/ds-filter-menu.js +3 -3
- package/dist/angular/ds-menu.d.ts +1 -1
- package/dist/angular/ds-menu.js +3 -3
- package/dist/angular/ds-select.d.ts +1 -1
- package/dist/angular/ds-select.js +3 -3
- package/dist/angular/ds-tab-group.d.ts +1 -1
- package/dist/angular/ds-tab-group.js +3 -3
- package/dist/angular/ds-table-filter.d.ts +1 -1
- package/dist/angular/ds-table-filter.js +3 -3
- package/dist/angular/ds-table-group.d.ts +1 -1
- package/dist/angular/ds-table-group.js +3 -3
- package/dist/angular/ds-table-preferences.d.ts +39 -0
- package/dist/angular/ds-table-preferences.js +69 -0
- package/dist/angular/ds-table-saved-views.d.ts +1 -1
- package/dist/angular/ds-table-saved-views.js +3 -3
- package/dist/angular/ds-table-search.d.ts +1 -1
- package/dist/angular/ds-table-search.js +3 -3
- package/dist/angular/ds-table-sort.d.ts +1 -1
- package/dist/angular/ds-table-sort.js +3 -3
- package/dist/angular/ds-table-toolbar.d.ts +1 -1
- package/dist/angular/ds-table-toolbar.js +3 -3
- package/dist/angular/ds-table.d.ts +3 -1
- package/dist/angular/ds-table.js +8 -5
- package/dist/angular/index.d.ts +1 -1
- package/dist/angular/index.js +1 -0
- package/dist/angular/proxies.d.ts +1 -0
- package/dist/angular/proxies.js +1 -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-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-unfilled.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.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-section.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-input.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-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-tool-header.js +1 -1
- package/dist/components/ds-panel-tool-search.js +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.js +1 -1
- package/dist/components/ds-score.js +1 -1
- package/dist/components/ds-scroll-overlay.js +1 -1
- package/dist/components/ds-select.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-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-filter.js +1 -1
- package/dist/components/ds-table-filter.js.map +1 -1
- package/dist/components/ds-table-group.js +1 -1
- package/dist/components/ds-table-group.js.map +1 -1
- package/dist/components/ds-table-preferences.d.ts +11 -0
- package/dist/components/ds-table-preferences.js +2 -0
- package/dist/components/ds-table-preferences.js.map +1 -0
- package/dist/components/ds-table-saved-views.js +1 -1
- package/dist/components/ds-table-saved-views.js.map +1 -1
- package/dist/components/ds-table-search.js +1 -1
- package/dist/components/ds-table-search.js.map +1 -1
- package/dist/components/ds-table-sort.js +1 -1
- package/dist/components/ds-table-sort.js.map +1 -1
- package/dist/components/ds-table-toolbar.js +1 -1
- package/dist/components/ds-table-toolbar.js.map +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-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-ByoywoBH.js → p-B-9fdIWv.js} +2 -2
- package/dist/components/{p-CnK36Be0.js → p-BINSI_KF.js} +2 -2
- package/dist/components/{p-CK2S28gU.js → p-BPhbwXOv.js} +2 -2
- package/dist/components/{p-CMq-jKEI.js → p-BPlWEidl.js} +2 -2
- package/dist/components/{p-DyyfWSLB.js → p-BQaO7cg_.js} +2 -2
- package/dist/components/{p-Br0dx2uP.js → p-BQsVI_vO.js} +2 -2
- package/dist/components/{p-B_nPct4G.js → p-BbfBvMRR.js} +2 -2
- package/dist/components/p-BcdHgPi5.js +2 -0
- package/dist/components/p-BcdHgPi5.js.map +1 -0
- package/dist/components/{p-D_QtZZR8.js → p-BmFeeR4q.js} +2 -2
- package/dist/components/{p-CXAa9TUM.js → p-BnWxbhFP.js} +2 -2
- package/dist/components/{p-CvplapTD.js → p-BnzsBNUY.js} +2 -2
- package/dist/components/{p-BlWNMytv.js → p-C1_3CVma.js} +2 -2
- package/dist/components/p-C1_3CVma.js.map +1 -0
- package/dist/components/{p-DjCnGxSd.js → p-C7CZ9pnP.js} +2 -2
- package/dist/components/{p-DBZwI7HY.js → p-C8ek-1SP.js} +2 -2
- package/dist/components/{p-BEttT0UB.js → p-CAxDdYjh.js} +2 -2
- package/dist/components/{p-BqGdNrVl.js → p-CE540WZ7.js} +2 -2
- package/dist/components/{p-B5QVra1K.js → p-CI7VfYC3.js} +2 -2
- package/dist/components/p-CKarsuR2.js +2 -0
- package/dist/components/p-CKarsuR2.js.map +1 -0
- package/dist/components/{p-AkSwrAKR.js → p-CLGtPE0K.js} +2 -2
- package/dist/components/{p-C51ytXM6.js → p-CSnsz3Eb.js} +2 -2
- package/dist/components/{p-Dx7WcWW1.js → p-CZOiTaNa.js} +2 -2
- package/dist/components/{p-xxuHxP3u.js → p-Cmj04E5Q.js} +2 -2
- package/dist/components/p-Cmj04E5Q.js.map +1 -0
- package/dist/components/{p-zZuAAiiI.js → p-Cq_Qpe_C.js} +2 -2
- package/dist/components/{p-CweS0FfJ.js → p-CqlBlv55.js} +2 -2
- package/dist/components/p-CwqFJMvP.js +2 -0
- package/dist/components/{p-DEyvEIYL.js.map → p-CwqFJMvP.js.map} +1 -1
- package/dist/components/{p-C8XJgV1n.js → p-Cwz9TPVS.js} +2 -2
- package/dist/components/{p-C1QHxVvP.js → p-D44g2Kw1.js} +2 -2
- package/dist/components/{p-CKo2nySr.js → p-DC69DgAR.js} +2 -2
- package/dist/components/{p-CQqZgTYk.js → p-DEGNrPLe.js} +2 -2
- package/dist/components/{p-OxdAzO4v.js → p-DFjIBS5B.js} +2 -2
- package/dist/components/{p-BwsS_Hyr.js → p-DGzn4k4h.js} +2 -2
- package/dist/components/{p-Dj296RmE.js → p-DQQFN2sw.js} +2 -2
- package/dist/components/{p-CIoeHcCk.js → p-DTDLlinw.js} +2 -2
- package/dist/components/p-D_u8WhlU.js +2 -0
- package/dist/components/{p-CHBuzAYH.js.map → p-D_u8WhlU.js.map} +1 -1
- package/dist/components/{p-CqeMumqy.js → p-DdspY23v.js} +2 -2
- package/dist/components/{p-DzbEJN1A.js → p-Dk-8Ju0Q.js} +2 -2
- package/dist/components/{p-Da9VpZX2.js → p-DtLQIMsa.js} +2 -2
- package/dist/components/{p-Cw_npFwN.js → p-FPZbS19l.js} +2 -2
- package/dist/components/{p-BMERUCe1.js → p-KBrC9IG4.js} +2 -2
- package/dist/components/p-N5SHSVo2.js +2 -0
- package/dist/components/{p-CHUdAW1Q.js.map → p-N5SHSVo2.js.map} +1 -1
- package/dist/components/p-QjkufCcn.js +2 -0
- package/dist/components/p-QjkufCcn.js.map +1 -0
- package/dist/components/p-UAIxh67Q.js +2 -0
- package/dist/components/p-UAIxh67Q.js.map +1 -0
- package/dist/components/{p-CIYJhyKt.js → p-beCz9OnD.js} +2 -2
- package/dist/components/{p-LZ8F08Fj.js → p-beRFLHbB.js} +2 -2
- package/dist/components/p-beRFLHbB.js.map +1 -0
- package/dist/components/{p-4DNyCYKM.js → p-mpk_Mm8_.js} +2 -2
- package/dist/components/{p-DrjY8Mpy.js → p-n68x-ZKp.js} +2 -2
- package/dist/components/{p-CNDTHTf6.js → p-omPm8_vx.js} +2 -2
- package/dist/components/{p-lv4YQEsa.js → p-umAf0fBn.js} +2 -2
- package/dist/components/{p-ya8A_SMw.js → p-xHGqrz_p.js} +2 -2
- package/dist/components/{p-ya8A_SMw.js.map → p-xHGqrz_p.js.map} +1 -1
- package/dist/components/{p-CBQzTgvI.js → p-y06IxxoN.js} +2 -2
- package/dist/components/{p-CoE7yza3.js → p-yZRXPHDe.js} +2 -2
- package/dist/docs/components.json +2242 -720
- package/dist/lib/components/ShellApp/shell-app-types.d.ts +3 -1
- package/dist/mcp-data/registry/filter-menu.json +102 -15
- package/dist/mcp-data/registry/menu.json +22 -3
- package/dist/mcp-data/registry/registry.json +312 -22
- package/dist/mcp-data/registry/select.json +43 -8
- package/dist/mcp-data/registry/shell-app.json +4 -3
- package/dist/mcp-data/registry/tab-group.json +20 -3
- package/dist/mcp-data/registry/table-filter.json +26 -6
- package/dist/mcp-data/registry/table-group.json +59 -7
- package/dist/mcp-data/registry/table-preferences.json +511 -0
- package/dist/mcp-data/registry/table-saved-views.json +45 -7
- package/dist/mcp-data/registry/table-search.json +24 -6
- package/dist/mcp-data/registry/table-sort.json +22 -4
- package/dist/mcp-data/registry/table-toolbar.json +26 -6
- package/dist/mcp-data/registry/table.json +70 -4
- package/dist/react/components.d.ts +1 -0
- package/dist/react/components.js +1 -0
- package/dist/react/ds-table-preferences.d.ts +21 -0
- package/dist/react/ds-table-preferences.js +23 -0
- package/dist/react/ds-table.d.ts +1 -0
- package/dist/react/ds-table.js +1 -0
- package/dist/types/components/FilterMenu/FilterMenu.d.ts +16 -0
- package/dist/types/components/Menu/Menu.d.ts +2 -0
- package/dist/types/components/Select/Select.d.ts +5 -1
- package/dist/types/components/ShellApp/shell-app-types.d.ts +3 -1
- package/dist/types/components/TabGroup/TabGroup.d.ts +1 -0
- package/dist/types/components/Table/Table.d.ts +8 -0
- package/dist/types/components/TableFilter/TableFilter.d.ts +2 -0
- package/dist/types/components/TableGroup/TableGroup.d.ts +5 -0
- package/dist/types/components/TablePreferences/TablePreferences.d.ts +56 -0
- package/dist/types/components/TableSavedViews/TableSavedViews.d.ts +4 -0
- package/dist/types/components/TableSearch/TableSearch.d.ts +2 -0
- package/dist/types/components/TableSort/TableSort.d.ts +2 -0
- package/dist/types/components/TableToolbar/TableToolbar.d.ts +2 -0
- package/dist/types/components.d.ts +420 -18
- package/dist/vue/components.d.ts +1 -0
- package/dist/vue/components.js +1 -0
- package/dist/vue/ds-filter-menu.js +5 -0
- package/dist/vue/ds-menu.js +1 -0
- package/dist/vue/ds-select.js +2 -0
- package/dist/vue/ds-tab-group.js +1 -0
- package/dist/vue/ds-table-filter.js +1 -0
- package/dist/vue/ds-table-group.js +3 -0
- package/dist/vue/ds-table-preferences.d.ts +3 -0
- package/dist/vue/ds-table-preferences.js +45 -0
- package/dist/vue/ds-table-saved-views.js +2 -0
- package/dist/vue/ds-table-search.js +1 -0
- package/dist/vue/ds-table-sort.js +1 -0
- package/dist/vue/ds-table-toolbar.js +2 -1
- package/dist/vue/ds-table.js +5 -0
- package/package.json +1 -1
- package/dist/components/p-BlWNMytv.js.map +0 -1
- package/dist/components/p-CHBuzAYH.js +0 -2
- package/dist/components/p-CHUdAW1Q.js +0 -2
- package/dist/components/p-CUL5_8JM.js +0 -2
- package/dist/components/p-CUL5_8JM.js.map +0 -1
- package/dist/components/p-DEyvEIYL.js +0 -2
- package/dist/components/p-DVWOUQfT.js +0 -2
- package/dist/components/p-DVWOUQfT.js.map +0 -1
- package/dist/components/p-LZ8F08Fj.js.map +0 -1
- package/dist/components/p-xxuHxP3u.js.map +0 -1
- /package/dist/components/{p-ByoywoBH.js.map → p-B-9fdIWv.js.map} +0 -0
- /package/dist/components/{p-CnK36Be0.js.map → p-BINSI_KF.js.map} +0 -0
- /package/dist/components/{p-CK2S28gU.js.map → p-BPhbwXOv.js.map} +0 -0
- /package/dist/components/{p-CMq-jKEI.js.map → p-BPlWEidl.js.map} +0 -0
- /package/dist/components/{p-DyyfWSLB.js.map → p-BQaO7cg_.js.map} +0 -0
- /package/dist/components/{p-Br0dx2uP.js.map → p-BQsVI_vO.js.map} +0 -0
- /package/dist/components/{p-B_nPct4G.js.map → p-BbfBvMRR.js.map} +0 -0
- /package/dist/components/{p-D_QtZZR8.js.map → p-BmFeeR4q.js.map} +0 -0
- /package/dist/components/{p-CXAa9TUM.js.map → p-BnWxbhFP.js.map} +0 -0
- /package/dist/components/{p-CvplapTD.js.map → p-BnzsBNUY.js.map} +0 -0
- /package/dist/components/{p-DjCnGxSd.js.map → p-C7CZ9pnP.js.map} +0 -0
- /package/dist/components/{p-DBZwI7HY.js.map → p-C8ek-1SP.js.map} +0 -0
- /package/dist/components/{p-BEttT0UB.js.map → p-CAxDdYjh.js.map} +0 -0
- /package/dist/components/{p-BqGdNrVl.js.map → p-CE540WZ7.js.map} +0 -0
- /package/dist/components/{p-B5QVra1K.js.map → p-CI7VfYC3.js.map} +0 -0
- /package/dist/components/{p-AkSwrAKR.js.map → p-CLGtPE0K.js.map} +0 -0
- /package/dist/components/{p-C51ytXM6.js.map → p-CSnsz3Eb.js.map} +0 -0
- /package/dist/components/{p-Dx7WcWW1.js.map → p-CZOiTaNa.js.map} +0 -0
- /package/dist/components/{p-zZuAAiiI.js.map → p-Cq_Qpe_C.js.map} +0 -0
- /package/dist/components/{p-CweS0FfJ.js.map → p-CqlBlv55.js.map} +0 -0
- /package/dist/components/{p-C8XJgV1n.js.map → p-Cwz9TPVS.js.map} +0 -0
- /package/dist/components/{p-C1QHxVvP.js.map → p-D44g2Kw1.js.map} +0 -0
- /package/dist/components/{p-CKo2nySr.js.map → p-DC69DgAR.js.map} +0 -0
- /package/dist/components/{p-CQqZgTYk.js.map → p-DEGNrPLe.js.map} +0 -0
- /package/dist/components/{p-OxdAzO4v.js.map → p-DFjIBS5B.js.map} +0 -0
- /package/dist/components/{p-BwsS_Hyr.js.map → p-DGzn4k4h.js.map} +0 -0
- /package/dist/components/{p-Dj296RmE.js.map → p-DQQFN2sw.js.map} +0 -0
- /package/dist/components/{p-CIoeHcCk.js.map → p-DTDLlinw.js.map} +0 -0
- /package/dist/components/{p-CqeMumqy.js.map → p-DdspY23v.js.map} +0 -0
- /package/dist/components/{p-DzbEJN1A.js.map → p-Dk-8Ju0Q.js.map} +0 -0
- /package/dist/components/{p-Da9VpZX2.js.map → p-DtLQIMsa.js.map} +0 -0
- /package/dist/components/{p-Cw_npFwN.js.map → p-FPZbS19l.js.map} +0 -0
- /package/dist/components/{p-BMERUCe1.js.map → p-KBrC9IG4.js.map} +0 -0
- /package/dist/components/{p-CIYJhyKt.js.map → p-beCz9OnD.js.map} +0 -0
- /package/dist/components/{p-4DNyCYKM.js.map → p-mpk_Mm8_.js.map} +0 -0
- /package/dist/components/{p-DrjY8Mpy.js.map → p-n68x-ZKp.js.map} +0 -0
- /package/dist/components/{p-CNDTHTf6.js.map → p-omPm8_vx.js.map} +0 -0
- /package/dist/components/{p-lv4YQEsa.js.map → p-umAf0fBn.js.map} +0 -0
- /package/dist/components/{p-CBQzTgvI.js.map → p-y06IxxoN.js.map} +0 -0
- /package/dist/components/{p-CoE7yza3.js.map → p-yZRXPHDe.js.map} +0 -0
|
@@ -4620,7 +4620,10 @@
|
|
|
4620
4620
|
"Selection applies immediately and does not close the popup.",
|
|
4621
4621
|
"Changing category replaces the option-pane subtree so checkbox and other option visuals mount in their new state instead of transitioning from the previous category's row state.",
|
|
4622
4622
|
"The trigger reports how many filter categories have selections. footerLayout=summary adds a full-width selected-count footer only while values are selected; footerLayout=categories-clear always reserves the category-pane footer height while keeping its inactive divider hidden, then reveals the divider and only its left-aligned Clear action while values are selected.",
|
|
4623
|
-
"The built-in trigger derives the shared surface-open wash from the rendered popup lifecycle, including closing. For an external trigger, the application owns that relationship and retains the wash until dsAfterClose; selected filter values remain independent."
|
|
4623
|
+
"The built-in trigger derives the shared surface-open wash from the rendered popup lifecycle, including closing. For an external trigger, the application owns that relationship and retains the wash until dsAfterClose; selected filter values remain independent.",
|
|
4624
|
+
"Embedded mode renders the same controlled content inside a parent-owned surface; the parent owns positioning, initial focus, Escape, Tab exit, and dismissal.",
|
|
4625
|
+
"Apply-required filtering stages edits locally, including match mode. Clear immediately emits dsClear and discards pending edits. The footer appears when filters are selected or applied; Apply stays in place and inactive without pending changes; applying emits controlled changes. Closing discards unapplied edits.",
|
|
4626
|
+
"Vertical presentation renders initially expanded, independently collapsible filter categories and emits edits immediately to its controlled owner. The owning panel supplies the draft and action footer."
|
|
4624
4627
|
],
|
|
4625
4628
|
"responsiveBehavior": [
|
|
4626
4629
|
"The popup defaults to the large menu-width token and clamps to the nearest data-ds-overlay-boundary rectangle or the viewport fallback.",
|
|
@@ -4675,6 +4678,10 @@
|
|
|
4675
4678
|
"type": "string | undefined",
|
|
4676
4679
|
"required": false
|
|
4677
4680
|
},
|
|
4681
|
+
"applyRequired": {
|
|
4682
|
+
"type": "boolean",
|
|
4683
|
+
"required": false
|
|
4684
|
+
},
|
|
4678
4685
|
"ariaLabel": {
|
|
4679
4686
|
"type": "string | null",
|
|
4680
4687
|
"required": false
|
|
@@ -4695,6 +4702,10 @@
|
|
|
4695
4702
|
"type": "boolean",
|
|
4696
4703
|
"required": false
|
|
4697
4704
|
},
|
|
4705
|
+
"embedded": {
|
|
4706
|
+
"type": "boolean",
|
|
4707
|
+
"required": false
|
|
4708
|
+
},
|
|
4698
4709
|
"filters": {
|
|
4699
4710
|
"type": "FilterMenuFilter[]",
|
|
4700
4711
|
"required": false
|
|
@@ -4731,6 +4742,10 @@
|
|
|
4731
4742
|
"type": "string",
|
|
4732
4743
|
"required": false
|
|
4733
4744
|
},
|
|
4745
|
+
"neutralTrigger": {
|
|
4746
|
+
"type": "boolean",
|
|
4747
|
+
"required": false
|
|
4748
|
+
},
|
|
4734
4749
|
"noResultsText": {
|
|
4735
4750
|
"type": "string",
|
|
4736
4751
|
"required": false
|
|
@@ -4743,6 +4758,10 @@
|
|
|
4743
4758
|
"type": "string",
|
|
4744
4759
|
"required": false
|
|
4745
4760
|
},
|
|
4761
|
+
"showIndicator": {
|
|
4762
|
+
"type": "boolean",
|
|
4763
|
+
"required": false
|
|
4764
|
+
},
|
|
4746
4765
|
"showSelectedCount": {
|
|
4747
4766
|
"type": "boolean",
|
|
4748
4767
|
"required": false
|
|
@@ -4767,6 +4786,10 @@
|
|
|
4767
4786
|
"type": "FilterMenuValues",
|
|
4768
4787
|
"required": false
|
|
4769
4788
|
},
|
|
4789
|
+
"vertical": {
|
|
4790
|
+
"type": "boolean",
|
|
4791
|
+
"required": false
|
|
4792
|
+
},
|
|
4770
4793
|
"width": {
|
|
4771
4794
|
"type": "FilterMenuWidth",
|
|
4772
4795
|
"required": false
|
|
@@ -5477,7 +5500,8 @@
|
|
|
5477
5500
|
"Use a swatch-picker section for a small curated visual preference and apply dsSwatchSelect immediately without closing the popup.",
|
|
5478
5501
|
"Ordinary rows, section headings, and supporting text consume the Menu size. At xs, both the primary label and supporting text use caption metrics.",
|
|
5479
5502
|
"A trailing tag resolves one density smaller than its menu row and uses the inset recipe so it nests without changing row height. Do not combine tag, dot, and switch suffixes on one item.",
|
|
5480
|
-
"Reorderable rows use the Drag prefix and ignore icon. Prefix and drag-handle icons inherit the choice-popup secondary foreground, matching Select. When any row in a section has an icon or is reorderable, the remaining rows get a spacer so labels align."
|
|
5503
|
+
"Reorderable rows use the Drag prefix and ignore icon. Prefix and drag-handle icons inherit the choice-popup secondary foreground, matching Select. When any row in a section has an icon or is reorderable, the remaining rows get a spacer so labels align.",
|
|
5504
|
+
"Embedded mode renders the same controlled content inside a parent-owned surface; the parent owns positioning, initial focus, Escape, Tab exit, and dismissal."
|
|
5481
5505
|
],
|
|
5482
5506
|
"responsiveBehavior": [
|
|
5483
5507
|
"Keep the default choice-cell anchor alignment so the first or last interactive row edge aligns with its trigger, matching Select; use popup-frame only for deliberate custom frame geometry.",
|
|
@@ -5535,6 +5559,10 @@
|
|
|
5535
5559
|
"type": "HTMLElement | undefined",
|
|
5536
5560
|
"required": false
|
|
5537
5561
|
},
|
|
5562
|
+
"embedded": {
|
|
5563
|
+
"type": "boolean",
|
|
5564
|
+
"required": false
|
|
5565
|
+
},
|
|
5538
5566
|
"emptyMessage": {
|
|
5539
5567
|
"type": "string",
|
|
5540
5568
|
"required": false
|
|
@@ -8437,7 +8465,8 @@
|
|
|
8437
8465
|
"When collapseLabel is set inside a named ds-table container narrower than 900px, the trigger omits its label and chevron, becomes icon-only, and exposes its label through a hover and keyboard-focus tooltip. A selected value promotes the prefix icon to primary.",
|
|
8438
8466
|
"The popup matches the trigger minimum width, may grow for content, and clamps to the nearest data-ds-overlay-boundary rectangle or the viewport fallback. Assign boundary as an HTMLElement only for an explicit override.",
|
|
8439
8467
|
"Keep popupAlign at start for ordinary fields and filters. Use end when a control sits against a right layout edge and the popup should grow inward.",
|
|
8440
|
-
"Long option collections scroll inside the popup; virtualization and remote search are not part of this component."
|
|
8468
|
+
"Long option collections scroll inside the popup; virtualization and remote search are not part of this component.",
|
|
8469
|
+
"An explicitly compact composition can keep only the prefix icon while preserving the accessible name and tooltip."
|
|
8441
8470
|
],
|
|
8442
8471
|
"frameworkCaveats": {
|
|
8443
8472
|
"customElements": [
|
|
@@ -8533,6 +8562,10 @@
|
|
|
8533
8562
|
"type": "string | undefined",
|
|
8534
8563
|
"required": false
|
|
8535
8564
|
},
|
|
8565
|
+
"iconOnly": {
|
|
8566
|
+
"type": "boolean",
|
|
8567
|
+
"required": false
|
|
8568
|
+
},
|
|
8536
8569
|
"indicator": {
|
|
8537
8570
|
"type": "SelectIndicator",
|
|
8538
8571
|
"required": false
|
|
@@ -8561,6 +8594,10 @@
|
|
|
8561
8594
|
"type": "string | undefined",
|
|
8562
8595
|
"required": false
|
|
8563
8596
|
},
|
|
8597
|
+
"neutralTrigger": {
|
|
8598
|
+
"type": "boolean",
|
|
8599
|
+
"required": false
|
|
8600
|
+
},
|
|
8564
8601
|
"noResultsText": {
|
|
8565
8602
|
"type": "string",
|
|
8566
8603
|
"required": false
|
|
@@ -8757,7 +8794,8 @@
|
|
|
8757
8794
|
"Managed ShellApp keeps the selected desktop section-navigation presentation and ShellPage present and owns page header stickiness and the content scroller.",
|
|
8758
8795
|
"Route-owned pageChrome independently selects ShellPage contentInset, page-header seams, scroll compaction, expanded and compact header-divider visibility, and contentSurface. ShellApp forwards them while resolving whether desktop title geometry is page-local or shell-bar-owned.",
|
|
8759
8796
|
"The application filters unauthorized destinations, sections, and tools before passing them into shell components.",
|
|
8760
|
-
"Application-owned header actions and the account trigger retain surface ownership across shell presentations. Supply surfaceOpen on header actions and accountMenuSurfaceOpen on navigation for rendered surface lifetimes; keep disclosure and selected-route state separate."
|
|
8797
|
+
"Application-owned header actions and the account trigger retain surface ownership across shell presentations. Supply surfaceOpen on header actions and accountMenuSurfaceOpen on navigation for rendered surface lifetimes; keep disclosure and selected-route state separate.",
|
|
8798
|
+
"Managed page chrome can explicitly choose page-local title presentation for pages that must remain compact rather than following capacity and scrolling."
|
|
8761
8799
|
],
|
|
8762
8800
|
"responsiveBehavior": [
|
|
8763
8801
|
"ShellApp owns the fixed system breakpoints and resolves desktop at 1200px and wider, tablet from 768px through 1199px, and mobile below 768px.",
|
|
@@ -10035,7 +10073,8 @@
|
|
|
10035
10073
|
"Use one consistent content variant across every selectable tab in a group.",
|
|
10036
10074
|
"Omitted background is for primary and secondary surfaces; pass the faint context explicitly on faint surfaces.",
|
|
10037
10075
|
"Only the omitted default context emphasizes visible selected label text and keeps the filled track; every explicit surface context uses a transparent track, stable text weight, surface border, and its context-matched neutral active fill rather than a brand active fill.",
|
|
10038
|
-
"Dividers visually separate related subsets inside one tab list but do not create nested navigation or independent selection groups."
|
|
10076
|
+
"Dividers visually separate related subsets inside one tab list but do not create nested navigation or independent selection groups.",
|
|
10077
|
+
"Simple navigation-style tabs use regular control geometry and selected text emphasis, without a selected pill fill or border."
|
|
10039
10078
|
],
|
|
10040
10079
|
"responsiveBehavior": [
|
|
10041
10080
|
"The component remains a single horizontal row and does not become vertical or wrap.",
|
|
@@ -10078,6 +10117,10 @@
|
|
|
10078
10117
|
"type": "boolean",
|
|
10079
10118
|
"required": false
|
|
10080
10119
|
},
|
|
10120
|
+
"presentation": {
|
|
10121
|
+
"type": "'segmented' | 'tabs'",
|
|
10122
|
+
"required": false
|
|
10123
|
+
},
|
|
10081
10124
|
"size": {
|
|
10082
10125
|
"type": "TabGroupSize",
|
|
10083
10126
|
"required": false
|
|
@@ -10193,7 +10236,9 @@
|
|
|
10193
10236
|
"Score-and-text cells (`kind: score-text`) place the small 24px safety score at the top-right of the cell while the same one-, two-, or three-track copy stack as a standard text cell fills from the start edge. The score is top-aligned with the first text track, adds no inner padding, and defaults its accessible name prefix to Safety score. Score-and-text loading geometry uses the matching small score skeleton and declared copy tracks.",
|
|
10194
10237
|
"The public @ds-mo/ui/table.css export is the authoritative zero-specificity visual recipe. Override its --ds-table-* properties or target its stable element classes for product-specific styling.",
|
|
10195
10238
|
"While any checkbox selection is active, row activation toggles selection instead of opening details. Clearing the selection restores ordinary row activation. Nested controls retain their own intent, and disabled or non-selectable rows cannot be selected by activating their row.",
|
|
10196
|
-
"Use surfaceOpenRowId to identify the interactive row associated with a visible detail panel or other contextual surface. The application owns opening, same-row toggling, switching records, and closing; retain the identity through exit motion, then clear it. Move it when panel navigation changes the displayed record. This pressed wash spans sticky and scrolling cells, follows stable row identity through virtualization, and never checks a checkbox or changes selectedRowIds. Group expansion remains an inline disclosure."
|
|
10239
|
+
"Use surfaceOpenRowId to identify the interactive row associated with a visible detail panel or other contextual surface. The application owns opening, same-row toggling, switching records, and closing; retain the identity through exit motion, then clear it. Move it when panel navigation changes the displayed record. This pressed wash spans sticky and scrolling cells, follows stable row identity through virtualization, and never checks a checkbox or changes selectedRowIds. Group expansion remains an inline disclosure.",
|
|
10240
|
+
"An external ds-table-preferences may own column controls. Hide only the built-in Customize trigger, keep column customization enabled, and share hidden-column and ordering state with the external surface.",
|
|
10241
|
+
"Borderless toolbar compositions omit resting control borders while retaining focus and interaction feedback."
|
|
10197
10242
|
],
|
|
10198
10243
|
"responsiveBehavior": [
|
|
10199
10244
|
"The table keeps native semantics at narrow widths and scrolls horizontally instead of transforming into cards.",
|
|
@@ -10248,6 +10293,10 @@
|
|
|
10248
10293
|
"type": "string",
|
|
10249
10294
|
"required": true
|
|
10250
10295
|
},
|
|
10296
|
+
"captionControlsBorderless": {
|
|
10297
|
+
"type": "boolean",
|
|
10298
|
+
"required": false
|
|
10299
|
+
},
|
|
10251
10300
|
"captionVisibility": {
|
|
10252
10301
|
"type": "TableCaptionVisibility",
|
|
10253
10302
|
"required": false
|
|
@@ -10272,6 +10321,10 @@
|
|
|
10272
10321
|
"type": "TableColumn[]",
|
|
10273
10322
|
"required": false
|
|
10274
10323
|
},
|
|
10324
|
+
"customizeOptions": {
|
|
10325
|
+
"type": "MenuItemData[]",
|
|
10326
|
+
"required": false
|
|
10327
|
+
},
|
|
10275
10328
|
"dataMode": {
|
|
10276
10329
|
"type": "TableDataMode",
|
|
10277
10330
|
"required": false
|
|
@@ -10368,6 +10421,10 @@
|
|
|
10368
10421
|
"type": "string[]",
|
|
10369
10422
|
"required": false
|
|
10370
10423
|
},
|
|
10424
|
+
"hideColumnCustomizerTrigger": {
|
|
10425
|
+
"type": "boolean",
|
|
10426
|
+
"required": false
|
|
10427
|
+
},
|
|
10371
10428
|
"highlightFieldIds": {
|
|
10372
10429
|
"type": "string[]",
|
|
10373
10430
|
"required": false
|
|
@@ -10498,6 +10555,10 @@
|
|
|
10498
10555
|
"name": "dsColumnsConfigChange",
|
|
10499
10556
|
"detail": "TableColumnsConfigChangeDetail"
|
|
10500
10557
|
},
|
|
10558
|
+
{
|
|
10559
|
+
"name": "dsCustomizeOptionChange",
|
|
10560
|
+
"detail": "string"
|
|
10561
|
+
},
|
|
10501
10562
|
{
|
|
10502
10563
|
"name": "dsDataModeChange",
|
|
10503
10564
|
"detail": "TableDataModeChangeDetail"
|
|
@@ -10608,16 +10669,20 @@
|
|
|
10608
10669
|
],
|
|
10609
10670
|
"states": [
|
|
10610
10671
|
"filters, values, matchModes, and activeFilterId are controlled. dsChange, dsMatchModeChange, dsClear, and dsActiveFilterChange report intent without changing those inputs; the application applies query consequences and returns replacement values.",
|
|
10611
|
-
"The visible trigger label stays singular Filter without appending an active-count suffix. Active criteria
|
|
10672
|
+
"The visible trigger label stays singular Filter without appending an active-count suffix. Active criteria retain the same neutral label and icon colors.",
|
|
10612
10673
|
"The popup reserves a visually empty footer row inside the category pane for every state. Active criteria reveal its divider and only a left-aligned Clear action, without adding popup height or showing redundant selected-count copy; the option pane retains its full column.",
|
|
10613
10674
|
"Every multiple-choice category exposes a right-pane footer where the blue any or all word toggles its controlled match mode. any is the default OR mode; the application applies the requested mode to its query.",
|
|
10614
10675
|
"Every non-date category exposes a 40px secondary-background search header that filters its displayed option labels and descriptions without changing controlled filter values. Date retains only its Relative and Range header.",
|
|
10615
10676
|
"Date categories use the shared compact-header Range and Relative experience. Persist relative values semantically and resolve them from the product's current date whenever rows or saved views are applied.",
|
|
10616
|
-
"Popup visibility follows the same mutable open and dsOpenChange contract as ds-filter-menu."
|
|
10677
|
+
"Popup visibility follows the same mutable open and dsOpenChange contract as ds-filter-menu.",
|
|
10678
|
+
"Borderless toolbar compositions omit resting control borders while retaining focus and interaction feedback.",
|
|
10679
|
+
"Expanded toolbar triggers use an icon and regular-weight text without a trailing chevron.",
|
|
10680
|
+
"Selected views and applied filters do not promote trigger icon or label colors. Trigger colors remain neutral across value changes.",
|
|
10681
|
+
"Apply-required filtering stages edits locally, including match mode. Clear immediately clears all filters and discards pending edits. The footer appears when filters are selected or applied; Apply stays in place and inactive without pending changes; applying emits controlled changes. Closing discards unapplied edits."
|
|
10617
10682
|
],
|
|
10618
10683
|
"responsiveBehavior": [
|
|
10619
10684
|
"Place the control in the trailing region of ds-table-toolbar.",
|
|
10620
|
-
"Inside a named ds-table container narrower than 900px, the trigger becomes icon-only, exposes its visible label through a hover and keyboard-focus tooltip, and
|
|
10685
|
+
"Inside a named ds-table container narrower than 900px, the trigger becomes icon-only, exposes its visible label through a hover and keyboard-focus tooltip, and the Filters icon remains neutral with active criteria."
|
|
10621
10686
|
],
|
|
10622
10687
|
"frameworkCaveats": {
|
|
10623
10688
|
"customElements": [
|
|
@@ -10662,6 +10727,10 @@
|
|
|
10662
10727
|
"type": "FilterMenuFilter[]",
|
|
10663
10728
|
"required": false
|
|
10664
10729
|
},
|
|
10730
|
+
"hasBorder": {
|
|
10731
|
+
"type": "boolean",
|
|
10732
|
+
"required": false
|
|
10733
|
+
},
|
|
10665
10734
|
"label": {
|
|
10666
10735
|
"type": "string",
|
|
10667
10736
|
"required": false
|
|
@@ -10785,7 +10854,11 @@
|
|
|
10785
10854
|
"options and grouping are controlled. A data option may supply product-owned orderOptions; otherwise Order defaults to Ascending and Descending. dsGroupChange reports a complete TableGroupingState and dsClear requests null grouping without mutating either input.",
|
|
10786
10855
|
"Selecting a new data point starts at its first custom order option, or ascending when it has no custom order options. Re-selecting the active data point preserves its complete order state.",
|
|
10787
10856
|
"Selecting a data point or direction applies immediately and leaves the dialog open so the other pane can be changed.",
|
|
10788
|
-
"The grouping picker automatically holds the shared surface-open wash through exit. Opening this picker is separate from expanding an inline table group."
|
|
10857
|
+
"The grouping picker automatically holds the shared surface-open wash through exit. Opening this picker is separate from expanding an inline table group.",
|
|
10858
|
+
"Embedded mode renders the same controlled content inside a parent-owned surface; the parent owns positioning, initial focus, Escape, Tab exit, and dismissal.",
|
|
10859
|
+
"Borderless toolbar compositions omit resting control borders while retaining focus and interaction feedback.",
|
|
10860
|
+
"Expanded toolbar triggers use an icon and regular-weight text without a trailing chevron.",
|
|
10861
|
+
"Vertical presentation stacks grouping data and ordering, with an explicit No grouping choice and no Clear footer."
|
|
10789
10862
|
],
|
|
10790
10863
|
"responsiveBehavior": [
|
|
10791
10864
|
"Use in the trailing region of ds-table-toolbar.",
|
|
@@ -10827,6 +10900,10 @@
|
|
|
10827
10900
|
"type": "string",
|
|
10828
10901
|
"required": false
|
|
10829
10902
|
},
|
|
10903
|
+
"embedded": {
|
|
10904
|
+
"type": "boolean",
|
|
10905
|
+
"required": false
|
|
10906
|
+
},
|
|
10830
10907
|
"emptyMessage": {
|
|
10831
10908
|
"type": "string",
|
|
10832
10909
|
"required": false
|
|
@@ -10835,6 +10912,10 @@
|
|
|
10835
10912
|
"type": "TableGroupingState | null",
|
|
10836
10913
|
"required": false
|
|
10837
10914
|
},
|
|
10915
|
+
"hasBorder": {
|
|
10916
|
+
"type": "boolean",
|
|
10917
|
+
"required": false
|
|
10918
|
+
},
|
|
10838
10919
|
"open": {
|
|
10839
10920
|
"type": "boolean",
|
|
10840
10921
|
"required": false
|
|
@@ -10842,6 +10923,10 @@
|
|
|
10842
10923
|
"options": {
|
|
10843
10924
|
"type": "TableGroupOption[]",
|
|
10844
10925
|
"required": false
|
|
10926
|
+
},
|
|
10927
|
+
"vertical": {
|
|
10928
|
+
"type": "boolean",
|
|
10929
|
+
"required": false
|
|
10845
10930
|
}
|
|
10846
10931
|
},
|
|
10847
10932
|
"events": [
|
|
@@ -10877,6 +10962,183 @@
|
|
|
10877
10962
|
"text"
|
|
10878
10963
|
]
|
|
10879
10964
|
},
|
|
10965
|
+
{
|
|
10966
|
+
"name": "table-preferences",
|
|
10967
|
+
"title": "TablePreferences",
|
|
10968
|
+
"description": "Compact table preferences dialog with Filters, Sort, Group, and Customize tabs.",
|
|
10969
|
+
"type": "registry:ui",
|
|
10970
|
+
"meta": {
|
|
10971
|
+
"library": "@ds-mo/ui",
|
|
10972
|
+
"distribution": "npm",
|
|
10973
|
+
"storybook": "https://zainadeel.github.io/compomo/?path=/story/table-preferences",
|
|
10974
|
+
"source": "src/wc/components/TablePreferences/TablePreferences.tsx",
|
|
10975
|
+
"intentStatus": "complete",
|
|
10976
|
+
"intent": {
|
|
10977
|
+
"audience": "general",
|
|
10978
|
+
"status": "experimental",
|
|
10979
|
+
"summary": "Compact table preferences dialog with Filters, Sort, Group, and Customize tabs.",
|
|
10980
|
+
"useWhen": [
|
|
10981
|
+
"A narrow table toolbar or a user preference calls for one result-shaping control."
|
|
10982
|
+
],
|
|
10983
|
+
"avoidWhen": [
|
|
10984
|
+
"The application needs unrelated actions or a submitted form."
|
|
10985
|
+
],
|
|
10986
|
+
"states": [
|
|
10987
|
+
"The application owns all filter, sort, grouping, and column configuration values. Apply emitted changes to the table and replace the matching preferences inputs.",
|
|
10988
|
+
"The component owns popup visibility, active tab, positioning, and dismissal; embedded controls reuse the same content as their standalone popups.",
|
|
10989
|
+
"Borderless toolbar compositions omit resting control borders while retaining focus and interaction feedback.",
|
|
10990
|
+
"Apply-required filtering stages edits locally, including match mode. Clear immediately clears all filters and discards pending edits. The footer appears when filters are selected or applied; Apply stays in place and inactive without pending changes; applying emits controlled changes. Closing discards unapplied edits.",
|
|
10991
|
+
"Embedded presentation delegates its active tab, draft state, Apply, Reset, and dismissal to the owning panel; it renders vertical filter and grouping content without a popup trigger."
|
|
10992
|
+
],
|
|
10993
|
+
"accessibility": [
|
|
10994
|
+
"An icon-only Preferences trigger opens a named dialog. TabGroup owns section keyboard navigation; Escape and outside activation dismiss, returning focus to the trigger."
|
|
10995
|
+
],
|
|
10996
|
+
"responsiveBehavior": [
|
|
10997
|
+
"The popup fits the viewport and scrolls internally. The application chooses whether to show it instead of separate controls. Hide the table-owned Customize trigger while retaining column customization."
|
|
10998
|
+
],
|
|
10999
|
+
"patterns": [],
|
|
11000
|
+
"commonlyComposedWith": [
|
|
11001
|
+
"component:ds-table",
|
|
11002
|
+
"component:ds-table-toolbar",
|
|
11003
|
+
"component:ds-filter-menu",
|
|
11004
|
+
"component:ds-menu",
|
|
11005
|
+
"component:ds-table-group",
|
|
11006
|
+
"component:ds-tab-group"
|
|
11007
|
+
]
|
|
11008
|
+
},
|
|
11009
|
+
"props": {
|
|
11010
|
+
"activeFilterId": {
|
|
11011
|
+
"type": "string | undefined",
|
|
11012
|
+
"required": false
|
|
11013
|
+
},
|
|
11014
|
+
"activeTab": {
|
|
11015
|
+
"type": "PreferencesTab",
|
|
11016
|
+
"required": false
|
|
11017
|
+
},
|
|
11018
|
+
"columnOrder": {
|
|
11019
|
+
"type": "string[]",
|
|
11020
|
+
"required": false
|
|
11021
|
+
},
|
|
11022
|
+
"columns": {
|
|
11023
|
+
"type": "TableColumn[]",
|
|
11024
|
+
"required": false
|
|
11025
|
+
},
|
|
11026
|
+
"customizeOptions": {
|
|
11027
|
+
"type": "MenuItemData[]",
|
|
11028
|
+
"required": false
|
|
11029
|
+
},
|
|
11030
|
+
"customizeSections": {
|
|
11031
|
+
"type": "MenuSection[]",
|
|
11032
|
+
"required": false
|
|
11033
|
+
},
|
|
11034
|
+
"embedded": {
|
|
11035
|
+
"type": "boolean",
|
|
11036
|
+
"required": false
|
|
11037
|
+
},
|
|
11038
|
+
"filters": {
|
|
11039
|
+
"type": "FilterMenuFilter[]",
|
|
11040
|
+
"required": false
|
|
11041
|
+
},
|
|
11042
|
+
"grouping": {
|
|
11043
|
+
"type": "TableGroupingState | null",
|
|
11044
|
+
"required": false
|
|
11045
|
+
},
|
|
11046
|
+
"groupingOptions": {
|
|
11047
|
+
"type": "TableGroupOption[]",
|
|
11048
|
+
"required": false
|
|
11049
|
+
},
|
|
11050
|
+
"hasBorder": {
|
|
11051
|
+
"type": "boolean",
|
|
11052
|
+
"required": false
|
|
11053
|
+
},
|
|
11054
|
+
"hiddenColumnIds": {
|
|
11055
|
+
"type": "string[]",
|
|
11056
|
+
"required": false
|
|
11057
|
+
},
|
|
11058
|
+
"label": {
|
|
11059
|
+
"type": "string",
|
|
11060
|
+
"required": false
|
|
11061
|
+
},
|
|
11062
|
+
"matchModes": {
|
|
11063
|
+
"type": "FilterMenuMatchModes",
|
|
11064
|
+
"required": false
|
|
11065
|
+
},
|
|
11066
|
+
"sort": {
|
|
11067
|
+
"type": "TableSortState | null",
|
|
11068
|
+
"required": false
|
|
11069
|
+
},
|
|
11070
|
+
"sortColumns": {
|
|
11071
|
+
"type": "TableColumn[]",
|
|
11072
|
+
"required": false
|
|
11073
|
+
},
|
|
11074
|
+
"values": {
|
|
11075
|
+
"type": "FilterMenuValues",
|
|
11076
|
+
"required": false
|
|
11077
|
+
}
|
|
11078
|
+
},
|
|
11079
|
+
"events": [
|
|
11080
|
+
{
|
|
11081
|
+
"name": "dsActiveFilterChange",
|
|
11082
|
+
"detail": "string"
|
|
11083
|
+
},
|
|
11084
|
+
{
|
|
11085
|
+
"name": "dsColumnsConfigChange",
|
|
11086
|
+
"detail": "TableColumnsConfigChangeDetail"
|
|
11087
|
+
},
|
|
11088
|
+
{
|
|
11089
|
+
"name": "dsCustomizeOptionChange",
|
|
11090
|
+
"detail": "string"
|
|
11091
|
+
},
|
|
11092
|
+
{
|
|
11093
|
+
"name": "dsFilterChange",
|
|
11094
|
+
"detail": "FilterMenuChangeDetail"
|
|
11095
|
+
},
|
|
11096
|
+
{
|
|
11097
|
+
"name": "dsFilterMatchModeChange",
|
|
11098
|
+
"detail": "FilterMenuMatchModeChangeDetail"
|
|
11099
|
+
},
|
|
11100
|
+
{
|
|
11101
|
+
"name": "dsFiltersClear",
|
|
11102
|
+
"detail": "void"
|
|
11103
|
+
},
|
|
11104
|
+
{
|
|
11105
|
+
"name": "dsGroupChange",
|
|
11106
|
+
"detail": "TableGroupingState"
|
|
11107
|
+
},
|
|
11108
|
+
{
|
|
11109
|
+
"name": "dsGroupClear",
|
|
11110
|
+
"detail": "void"
|
|
11111
|
+
},
|
|
11112
|
+
{
|
|
11113
|
+
"name": "dsPreferencesTabChange",
|
|
11114
|
+
"detail": "PreferencesTab"
|
|
11115
|
+
},
|
|
11116
|
+
{
|
|
11117
|
+
"name": "dsSortChange",
|
|
11118
|
+
"detail": "TableSortChangeDetail"
|
|
11119
|
+
}
|
|
11120
|
+
],
|
|
11121
|
+
"slots": [],
|
|
11122
|
+
"exports": {
|
|
11123
|
+
"customElement": "ds-table-preferences",
|
|
11124
|
+
"react": "DsTablePreferences",
|
|
11125
|
+
"vue": "DsTablePreferences",
|
|
11126
|
+
"angular": "DsTablePreferences"
|
|
11127
|
+
}
|
|
11128
|
+
},
|
|
11129
|
+
"dependencies": [
|
|
11130
|
+
"@ds-mo/ui",
|
|
11131
|
+
"@ds-mo/tokens"
|
|
11132
|
+
],
|
|
11133
|
+
"registryDependencies": [
|
|
11134
|
+
"button-unfilled",
|
|
11135
|
+
"filter-menu",
|
|
11136
|
+
"menu",
|
|
11137
|
+
"tab-group",
|
|
11138
|
+
"table-group",
|
|
11139
|
+
"tooltip"
|
|
11140
|
+
]
|
|
11141
|
+
},
|
|
10880
11142
|
{
|
|
10881
11143
|
"name": "table-saved-views",
|
|
10882
11144
|
"title": "TableSavedViews",
|
|
@@ -10919,11 +11181,15 @@
|
|
|
10919
11181
|
"views, value, and dirty are controlled. Dirty state is presented only for a selected custom view; the default template never shows the trigger dot or save/discard actions even if dirty is supplied. Selection, create, save, discard, rename, and remove events communicate intent and never mutate application records.",
|
|
10920
11182
|
"The component owns only transient interaction state: the contextual menu, naming dialog, draft name, duplicate-name validation, and focus restoration.",
|
|
10921
11183
|
"The default view is a non-editable template. Application-owned custom views appear in a separate section with Rename and Remove actions. New view opens the naming dialog. When an editable selected view is dirty, that view row shows Save and negative Discard supporting actions while the footer remains dedicated to New view. The application decides which table state to capture, restore, and persist.",
|
|
10922
|
-
"The built-in picker and contextual option menu each retain their own surface-open treatment. Opening a view menu does not select that view."
|
|
11184
|
+
"The built-in picker and contextual option menu each retain their own surface-open treatment. Opening a view menu does not select that view.",
|
|
11185
|
+
"Borderless toolbar compositions omit resting control borders while retaining focus and interaction feedback.",
|
|
11186
|
+
"Expanded toolbar triggers use an icon and regular-weight text without a trailing chevron.",
|
|
11187
|
+
"Selected views and applied filters do not promote trigger icon or label colors. Trigger colors remain neutral across value changes."
|
|
10923
11188
|
],
|
|
10924
11189
|
"responsiveBehavior": [
|
|
10925
11190
|
"The control remains a single toolbar item and relies on Select, Menu, and Modal collision and viewport behavior. Its trigger hugs short view names and is capped at the compact menu-width token so long names truncate while the dirty dot stays visible. Its choice popup keeps that same token as the minimum width.",
|
|
10926
|
-
"Place it in the start region of ds-table-toolbar so the middle region can keep left-side and right-side controls on one spanning cluster."
|
|
11191
|
+
"Place it in the start region of ds-table-toolbar so the middle region can keep left-side and right-side controls on one spanning cluster.",
|
|
11192
|
+
"The ViewMenu prefix identifies saved views. Compact compositions and narrow table captions show only the icon while retaining the accessible name and tooltip."
|
|
10927
11193
|
],
|
|
10928
11194
|
"frameworkCaveats": {
|
|
10929
11195
|
"customElements": [
|
|
@@ -10952,6 +11218,10 @@
|
|
|
10952
11218
|
]
|
|
10953
11219
|
},
|
|
10954
11220
|
"props": {
|
|
11221
|
+
"compact": {
|
|
11222
|
+
"type": "boolean",
|
|
11223
|
+
"required": false
|
|
11224
|
+
},
|
|
10955
11225
|
"createLabel": {
|
|
10956
11226
|
"type": "string",
|
|
10957
11227
|
"required": false
|
|
@@ -10968,6 +11238,10 @@
|
|
|
10968
11238
|
"type": "boolean",
|
|
10969
11239
|
"required": false
|
|
10970
11240
|
},
|
|
11241
|
+
"hasBorder": {
|
|
11242
|
+
"type": "boolean",
|
|
11243
|
+
"required": false
|
|
11244
|
+
},
|
|
10971
11245
|
"label": {
|
|
10972
11246
|
"type": "string",
|
|
10973
11247
|
"required": false
|
|
@@ -11069,7 +11343,7 @@
|
|
|
11069
11343
|
"Typing slash opens the field listbox without inserting slash into the table query. Text typed while it is open filters data points by complete label, Up and Down change the active match, Enter selects it, Escape closes it, and Left and Right retain native text-cursor behavior because focus never leaves the input. Backspace edits the field-picker query first and closes the listbox when that query is empty.",
|
|
11070
11344
|
"The query disables browser autocomplete history, automatic capitalization, autocorrection, and spellchecking so browser-owned suggestions never obscure the product-owned field menu or table results.",
|
|
11071
11345
|
"Selected field Chips have individually labeled remove actions and are also described by the search input. Polite announcements report additions, removals, and clearing without duplicating the visible query.",
|
|
11072
|
-
"The
|
|
11346
|
+
"The search input exposes the slash command through aria-keyshortcuts and its description, without a visible suffix button.",
|
|
11073
11347
|
"The clear action removes both free text and every selected field. It restores focus to the search input; each Chip's own remove action remains scoped to that field."
|
|
11074
11348
|
],
|
|
11075
11349
|
"states": [
|
|
@@ -11079,12 +11353,13 @@
|
|
|
11079
11353
|
"Backspace edits a non-empty field-picker query, then closes the open slash listbox when that query is empty. When the table query is empty and the listbox is already closed, the next Backspace removes the last selected field. Ordinary Backspace edits table query text when the listbox is closed.",
|
|
11080
11354
|
"Duplicate, blank, and unknown field identities are ignored for presentation. Selected fields preserve the consumer's order.",
|
|
11081
11355
|
"Inactive search leaves the tab order, closes the field listbox, and does not emit query or field changes.",
|
|
11082
|
-
"The field-picker action holds the shared surface-open wash while its listbox is visible; chosen search fields remain independent."
|
|
11356
|
+
"The field-picker action holds the shared surface-open wash while its listbox is visible; chosen search fields remain independent.",
|
|
11357
|
+
"Borderless toolbar compositions omit resting control borders while retaining focus and interaction feedback."
|
|
11083
11358
|
],
|
|
11084
11359
|
"responsiveBehavior": [
|
|
11085
11360
|
"The control fills the available inline size supplied by the table toolbar search slot. Selected Chips and the editable query share one horizontal editor lane so the md control does not grow vertically.",
|
|
11086
11361
|
"The field popup enters the top layer, aligns its first choice cell with the search control, flips or clamps to the viewport or nearest overlay boundary, and scrolls internally when its catalog is taller than available space.",
|
|
11087
|
-
"
|
|
11362
|
+
"Clear appears when query text is present and uses the standard sm icon button treatment."
|
|
11088
11363
|
],
|
|
11089
11364
|
"frameworkCaveats": {
|
|
11090
11365
|
"customElements": [
|
|
@@ -11130,6 +11405,10 @@
|
|
|
11130
11405
|
"type": "string",
|
|
11131
11406
|
"required": false
|
|
11132
11407
|
},
|
|
11408
|
+
"hasBorder": {
|
|
11409
|
+
"type": "boolean",
|
|
11410
|
+
"required": false
|
|
11411
|
+
},
|
|
11133
11412
|
"isInactive": {
|
|
11134
11413
|
"type": "boolean",
|
|
11135
11414
|
"required": false
|
|
@@ -11177,7 +11456,6 @@
|
|
|
11177
11456
|
"registryDependencies": [
|
|
11178
11457
|
"button-unfilled",
|
|
11179
11458
|
"chip",
|
|
11180
|
-
"divider",
|
|
11181
11459
|
"empty-state",
|
|
11182
11460
|
"icon",
|
|
11183
11461
|
"text"
|
|
@@ -11235,7 +11513,9 @@
|
|
|
11235
11513
|
"Selecting a different data field keeps the current direction, or starts ascending when no sort exists. Selecting a direction applies it to the current field, or to the first sortable field when no sort exists. Selecting the already-active field or direction is a no-op and does not toggle the way a header click does.",
|
|
11236
11514
|
"The trigger stays Sort in regular-weight resting secondary chrome. Field and direction selection live in the menu and on column headers, so the trigger never uses active primary emphasis. It keeps pressed interaction paint without physically scaling inside the stable table caption row.",
|
|
11237
11515
|
"Compound sortable headers contribute one Data row per segment. Action columns never appear.",
|
|
11238
|
-
"The trigger automatically holds the shared surface-open wash through menu exit while the selected sort remains independently controlled."
|
|
11516
|
+
"The trigger automatically holds the shared surface-open wash through menu exit while the selected sort remains independently controlled.",
|
|
11517
|
+
"Borderless toolbar compositions omit resting control borders while retaining focus and interaction feedback.",
|
|
11518
|
+
"Expanded toolbar triggers use an icon and regular-weight text without a trailing chevron."
|
|
11239
11519
|
],
|
|
11240
11520
|
"responsiveBehavior": [
|
|
11241
11521
|
"Place the control in the trailing region of ds-table-toolbar with Filter and Group.",
|
|
@@ -11277,6 +11557,10 @@
|
|
|
11277
11557
|
"type": "TableColumn[]",
|
|
11278
11558
|
"required": false
|
|
11279
11559
|
},
|
|
11560
|
+
"hasBorder": {
|
|
11561
|
+
"type": "boolean",
|
|
11562
|
+
"required": false
|
|
11563
|
+
},
|
|
11280
11564
|
"sort": {
|
|
11281
11565
|
"type": "TableSortState | null",
|
|
11282
11566
|
"required": false
|
|
@@ -11338,7 +11622,8 @@
|
|
|
11338
11622
|
"component:ds-table-group",
|
|
11339
11623
|
"component:ds-select",
|
|
11340
11624
|
"component:ds-table-sort",
|
|
11341
|
-
"component:ds-button-unfilled"
|
|
11625
|
+
"component:ds-button-unfilled",
|
|
11626
|
+
"component:ds-table-preferences"
|
|
11342
11627
|
],
|
|
11343
11628
|
"patterns": [],
|
|
11344
11629
|
"accessibility": [
|
|
@@ -11349,14 +11634,15 @@
|
|
|
11349
11634
|
"states": [
|
|
11350
11635
|
"The component owns layout only. It never mutates slotted control props, values, menus, loading, persistence, or consequences. Use ds-table-saved-views and ds-table-filter when those interactions need the shared CompoMo behavior while application data and persistence remain external.",
|
|
11351
11636
|
"Buttons in the toolbar keep their hover and pressed interaction paint without physically scaling, so pointer feedback does not disturb the stable caption geometry.",
|
|
11352
|
-
"The start cluster is followed by
|
|
11353
|
-
"
|
|
11637
|
+
"The start cluster is followed by Search, optional leading controls, and one trailing action cluster. The start cluster hides when nothing is projected. Search is a dedicated slot that hides when nothing is projected and grows to consume available row space. Empty leading or trailing clusters add no placeholder chrome. Search is the only toolbar region that grows and shrinks; all action controls retain their control geometry and align directly before the table-owned actions.",
|
|
11638
|
+
"Data-mode switching remains a table-owned caption action. Column customization normally uses the table caption trigger; compact compositions use the shared ds-table-preferences control and hide that trigger. When slotted into a table header, the table caption owns overflow for the complete toolbar and table-owned action row.",
|
|
11639
|
+
"Standard toolbars omit region dividers. Borderless compositions show dividers after populated start and search regions when another region follows; the application supplies borderless controls."
|
|
11354
11640
|
],
|
|
11355
11641
|
"responsiveBehavior": [
|
|
11356
11642
|
"The start cluster, search, trailing Filter/Sort/Group, and table caption trailing actions stay on one line. Saved views hug their current trigger content up to the compact menu-width token rather than reserving that full width; long names truncate while the dirty dot stays visible. Filter, Sort, and Group triggers cap at the same token, and Sort and Group popups keep that compact menu-width floor. A standalone toolbar owns its horizontal scrolling; inside a table, the complete caption row is the single overflow owner so table-owned actions never remain pinned over scrolling toolbar controls.",
|
|
11357
|
-
"Search consumes the row space left between fixed control groups and flexes smaller when the complete row needs space. Inside a named ds-table container narrower than 900px, ds-table-filter, ds-table-group, and ds-table-sort omit their labels and chevrons; each exposes its label through a hover and keyboard-focus tooltip. Empty leading and trailing slot groups do not add spacing. Active filtering
|
|
11643
|
+
"Search consumes the row space left between fixed control groups and flexes smaller when the complete row needs space. Inside a named ds-table container narrower than 900px, ds-table-filter, ds-table-group, and ds-table-sort omit their labels and chevrons; each exposes its label through a hover and keyboard-focus tooltip. Empty leading and trailing slot groups do not add spacing. Active filtering retains neutral trigger colors. Group and Sort keep resting secondary chrome. Table-owned Customize also becomes the icon-only Table menu button at that width with the same tooltip behavior.",
|
|
11358
11644
|
"The scrollbar is visually suppressed without removing touch, trackpad, mouse-wheel, or keyboard scrolling from the overflow container.",
|
|
11359
|
-
"
|
|
11645
|
+
"For compact toolbars, the application can replace Filter, Sort, Group and the table Customize trigger with ds-table-preferences in the trailing slot. Share the same controlled values and events; the toolbar remains a data-agnostic layout."
|
|
11360
11646
|
],
|
|
11361
11647
|
"frameworkCaveats": {
|
|
11362
11648
|
"customElements": [
|
|
@@ -11381,6 +11667,10 @@
|
|
|
11381
11667
|
]
|
|
11382
11668
|
},
|
|
11383
11669
|
"props": {
|
|
11670
|
+
"borderless": {
|
|
11671
|
+
"type": "boolean",
|
|
11672
|
+
"required": false
|
|
11673
|
+
},
|
|
11384
11674
|
"label": {
|
|
11385
11675
|
"type": "string",
|
|
11386
11676
|
"required": false
|