@ds-mo/ui 14.34.0 → 14.36.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 +1423 -218
- package/dist/angular/ds-button-inverted.d.ts +17 -0
- package/dist/angular/ds-button-inverted.js +46 -0
- package/dist/angular/ds-calendar.d.ts +15 -0
- package/dist/angular/ds-calendar.js +43 -0
- package/dist/angular/ds-field.d.ts +1 -1
- package/dist/angular/ds-field.js +1 -1
- package/dist/angular/ds-filter-menu.d.ts +1 -1
- package/dist/angular/ds-filter-menu.js +3 -3
- package/dist/angular/ds-input-date.d.ts +15 -0
- package/dist/angular/ds-input-date.js +43 -0
- package/dist/angular/ds-input-time.d.ts +15 -0
- package/dist/angular/ds-input-time.js +43 -0
- package/dist/angular/ds-input.d.ts +1 -1
- package/dist/angular/ds-input.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/ds-time-picker.d.ts +15 -0
- package/dist/angular/ds-time-picker.js +43 -0
- package/dist/angular/index.d.ts +1 -1
- package/dist/angular/index.js +6 -0
- package/dist/angular/proxies.d.ts +6 -0
- package/dist/angular/proxies.js +6 -0
- package/dist/angular/text-value-accessor.d.ts +1 -1
- package/dist/angular/text-value-accessor.js +2 -2
- 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-inverted.d.ts +11 -0
- package/dist/components/ds-button-inverted.js +2 -0
- package/dist/components/ds-button-inverted.js.map +1 -0
- package/dist/components/ds-button-unfilled.js +1 -1
- package/dist/components/ds-calendar.d.ts +11 -0
- package/dist/components/ds-calendar.js +2 -0
- package/dist/components/ds-calendar.js.map +1 -0
- 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-navigation.js.map +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-card-settings-scope.js.map +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-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-divider.js +1 -1
- package/dist/components/ds-empty-state.js +1 -1
- package/dist/components/ds-field.js +1 -1
- package/dist/components/ds-filter-menu.js +1 -1
- package/dist/components/ds-input-date.d.ts +11 -0
- package/dist/components/ds-input-date.js +2 -0
- package/dist/components/ds-input-date.js.map +1 -0
- package/dist/components/ds-input-time.d.ts +11 -0
- package/dist/components/ds-input-time.js +2 -0
- package/dist/components/ds-input-time.js.map +1 -0
- 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-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-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-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-textarea.js.map +1 -1
- package/dist/components/ds-time-picker.d.ts +11 -0
- package/dist/components/ds-time-picker.js +2 -0
- package/dist/components/ds-time-picker.js.map +1 -0
- 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-B5QVra1K.js → p-2GVGhrh0.js} +2 -2
- package/dist/components/p-7O-2D29W.js +2 -0
- package/dist/components/p-7O-2D29W.js.map +1 -0
- package/dist/components/{p-BqGdNrVl.js → p-8oRkhvjy.js} +2 -2
- package/dist/components/p-B27_chI7.js +2 -0
- package/dist/components/p-B27_chI7.js.map +1 -0
- package/dist/components/{p-ya8A_SMw.js → p-BOhpMUwO.js} +2 -2
- package/dist/components/{p-ya8A_SMw.js.map → p-BOhpMUwO.js.map} +1 -1
- package/dist/components/{p-CqeMumqy.js → p-BV5T1hzN.js} +2 -2
- package/dist/components/{p-CIoeHcCk.js → p-BWfzaSc3.js} +2 -2
- package/dist/components/{p-AkSwrAKR.js → p-BgLI9JoT.js} +2 -2
- package/dist/components/{p-BwsS_Hyr.js → p-C-dHtQMi.js} +2 -2
- package/dist/components/p-C0CE2v5D.js +2 -0
- package/dist/components/{p-CHBuzAYH.js.map → p-C0CE2v5D.js.map} +1 -1
- package/dist/components/{p-CoE7yza3.js → p-C2JnoaWI.js} +2 -2
- package/dist/components/{p-lv4YQEsa.js → p-C4m8y9ki.js} +2 -2
- package/dist/components/{p-BEttT0UB.js → p-CDJ2Ntcq.js} +2 -2
- package/dist/components/p-CKarsuR2.js +2 -0
- package/dist/components/p-CKarsuR2.js.map +1 -0
- package/dist/components/{p-Dj296RmE.js → p-CMQUuGvl.js} +2 -2
- package/dist/components/{p-DyyfWSLB.js → p-CQ5RwY2C.js} +2 -2
- package/dist/components/p-CQIh2yRP.js +2 -0
- package/dist/components/p-CQIh2yRP.js.map +1 -0
- package/dist/components/{p-CQqZgTYk.js → p-CWPT3aOB.js} +2 -2
- package/dist/components/p-CWog26I_.js +2 -0
- package/dist/components/p-CWog26I_.js.map +1 -0
- package/dist/components/{p-LZ8F08Fj.js → p-CaNCGKEJ.js} +2 -2
- package/dist/components/p-CaNCGKEJ.js.map +1 -0
- package/dist/components/p-CbSUyv5B.js +2 -0
- package/dist/components/{p-CnK36Be0.js.map → p-CbSUyv5B.js.map} +1 -1
- package/dist/components/{p-Dhw_W8nk.js → p-Cc3ZUQlJ.js} +2 -2
- package/dist/components/p-Cc3ZUQlJ.js.map +1 -0
- package/dist/components/{p-OxdAzO4v.js → p-Ce4zy8q1.js} +2 -2
- package/dist/components/p-CeXf9-X3.js +2 -0
- package/dist/components/p-CeXf9-X3.js.map +1 -0
- package/dist/components/{p-CNDTHTf6.js → p-Cga6Ex0E.js} +2 -2
- package/dist/components/{p-CBQzTgvI.js → p-Cl9phSf0.js} +2 -2
- package/dist/components/{p-DzbEJN1A.js → p-ClJhuG5Y.js} +2 -2
- package/dist/components/{p-D_QtZZR8.js → p-CqW2eyiF.js} +2 -2
- package/dist/components/{p-CHUdAW1Q.js → p-Cus1Sigh.js} +2 -2
- package/dist/components/{p-CzbsTZt7.js → p-Cxr0IQjC.js} +2 -2
- package/dist/components/p-D7yBIPB6.js +2 -0
- package/dist/components/{p-DEyvEIYL.js.map → p-D7yBIPB6.js.map} +1 -1
- package/dist/components/p-D8rpKod8.js +2 -0
- package/dist/components/p-D8rpKod8.js.map +1 -0
- package/dist/components/{p-Da9VpZX2.js → p-DBwa1OXP.js} +2 -2
- package/dist/components/{p-Br0dx2uP.js → p-DK9Ex3aY.js} +2 -2
- package/dist/components/{p-CweS0FfJ.js → p-DLXXGgmf.js} +2 -2
- package/dist/components/{p-CvplapTD.js → p-DVd1TIxi.js} +2 -2
- package/dist/components/p-DZ58Sg5a.js.map +1 -1
- package/dist/components/{p-Dx7WcWW1.js → p-DgG9W9N4.js} +2 -2
- package/dist/components/{p-4DNyCYKM.js → p-DkfM55x8.js} +2 -2
- package/dist/components/p-DkikNSSO.js +2 -0
- package/dist/components/p-DkikNSSO.js.map +1 -0
- package/dist/components/{p-DjCnGxSd.js → p-Dryt3COt.js} +2 -2
- package/dist/components/{p-eo_pmPqp.js → p-Ds51RgCi.js} +2 -2
- package/dist/components/p-DtkLtKY0.js +2 -0
- package/dist/components/p-DtkLtKY0.js.map +1 -0
- package/dist/components/{p-DBZwI7HY.js → p-DvzI2A_M.js} +2 -2
- package/dist/components/p-J5x-QtlD.js +2 -0
- package/dist/components/{p-CIYJhyKt.js.map → p-J5x-QtlD.js.map} +1 -1
- package/dist/components/{p-C51ytXM6.js → p-Jaqdfw4E.js} +2 -2
- package/dist/components/{p-BMERUCe1.js → p-KBrC9IG4.js} +2 -2
- package/dist/components/p-MQ36mEgn.js +2 -0
- package/dist/components/p-MQ36mEgn.js.map +1 -0
- package/dist/components/{p-CXAa9TUM.js → p-PmcUwTQ_.js} +2 -2
- package/dist/components/p-TjXGRPik.js +2 -0
- package/dist/components/{p-ByoywoBH.js.map → p-TjXGRPik.js.map} +1 -1
- package/dist/components/{p-zZuAAiiI.js → p-bM3LH3kc.js} +2 -2
- package/dist/components/{p-CK2S28gU.js → p-ji09W9el.js} +2 -2
- package/dist/components/{p-DrjY8Mpy.js → p-neWTRxmf.js} +2 -2
- package/dist/components/{p-CMq-jKEI.js → p-rYePOPbJ.js} +2 -2
- package/dist/components/{p-C1QHxVvP.js → p-su6y4hLK.js} +2 -2
- package/dist/components/p-su6y4hLK.js.map +1 -0
- package/dist/components/{p-CKo2nySr.js → p-tNQ0YulU.js} +2 -2
- package/dist/components/{p-C8XJgV1n.js → p-x1wf38q3.js} +2 -2
- package/dist/docs/components.json +17368 -12812
- package/dist/lib/components/ShellApp/shell-app-types.d.ts +3 -1
- package/dist/lib/utils/button-render.d.ts +1 -1
- package/dist/lib/utils/clock-time.d.ts +22 -0
- package/dist/lib/utils/date-filter-value.d.ts +4 -0
- package/dist/lib/utils/index.d.ts +3 -1
- package/dist/lib/utils/index.js +133 -0
- package/dist/lib/utils/index.js.map +4 -4
- package/dist/mcp-data/registry/bar-title.json +2 -2
- package/dist/mcp-data/registry/button-inverted.json +580 -0
- package/dist/mcp-data/registry/calendar.json +273 -0
- package/dist/mcp-data/registry/card-navigation.json +4 -2
- package/dist/mcp-data/registry/field.json +19 -14
- package/dist/mcp-data/registry/filter-menu.json +106 -23
- package/dist/mcp-data/registry/input-date.json +516 -0
- package/dist/mcp-data/registry/input-time.json +535 -0
- package/dist/mcp-data/registry/input.json +56 -8
- package/dist/mcp-data/registry/menu.json +22 -3
- package/dist/mcp-data/registry/registry.json +1434 -211
- package/dist/mcp-data/registry/select.json +105 -14
- 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 +50 -10
- 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/mcp-data/registry/textarea.json +2 -2
- package/dist/mcp-data/registry/time-picker.json +259 -0
- package/dist/react/components.d.ts +6 -0
- package/dist/react/components.js +6 -0
- package/dist/react/ds-button-inverted.d.ts +13 -0
- package/dist/react/ds-button-inverted.js +15 -0
- package/dist/react/ds-calendar.d.ts +12 -0
- package/dist/react/ds-calendar.js +12 -0
- package/dist/react/ds-field.d.ts +1 -1
- package/dist/react/ds-input-date.d.ts +12 -0
- package/dist/react/ds-input-date.js +12 -0
- package/dist/react/ds-input-time.d.ts +12 -0
- package/dist/react/ds-input-time.js +12 -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/react/ds-time-picker.d.ts +12 -0
- package/dist/react/ds-time-picker.js +12 -0
- package/dist/types/components/BarTitle/BarTitle.d.ts +1 -0
- package/dist/types/components/BarTitle/bar-title-action-chrome.d.ts +2 -0
- package/dist/types/components/ButtonInverted/ButtonInverted.d.ts +83 -0
- package/dist/types/components/ButtonInverted/index.d.ts +2 -0
- package/dist/types/components/Calendar/Calendar.d.ts +32 -0
- package/dist/types/components/Calendar/calendar-grid.d.ts +19 -0
- package/dist/types/components/Field/Field.d.ts +7 -2
- package/dist/types/components/FilterMenu/FilterMenu.d.ts +16 -10
- package/dist/types/components/Input/Input.d.ts +10 -0
- package/dist/types/components/InputDate/InputDate.d.ts +78 -0
- package/dist/types/components/InputTime/InputTime.d.ts +80 -0
- package/dist/types/components/Menu/Menu.d.ts +2 -0
- package/dist/types/components/Select/Select.d.ts +13 -2
- 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/TimePicker/TimePicker.d.ts +33 -0
- package/dist/types/components.d.ts +1299 -66
- package/dist/types/utils/button-render.d.ts +1 -1
- package/dist/types/utils/clock-time.d.ts +23 -0
- package/dist/types/utils/date-filter-value.d.ts +4 -0
- package/dist/types/utils/index.d.ts +3 -1
- package/dist/vue/components.d.ts +6 -0
- package/dist/vue/components.js +6 -0
- package/dist/vue/ds-button-inverted.d.ts +3 -0
- package/dist/vue/ds-button-inverted.js +33 -0
- package/dist/vue/ds-calendar.d.ts +3 -0
- package/dist/vue/ds-calendar.js +16 -0
- package/dist/vue/ds-filter-menu.js +5 -0
- package/dist/vue/ds-input-date.d.ts +3 -0
- package/dist/vue/ds-input-date.js +31 -0
- package/dist/vue/ds-input-time.d.ts +3 -0
- package/dist/vue/ds-input-time.js +32 -0
- package/dist/vue/ds-input.js +2 -0
- package/dist/vue/ds-menu.js +1 -0
- package/dist/vue/ds-select.js +5 -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/dist/vue/ds-time-picker.d.ts +3 -0
- package/dist/vue/ds-time-picker.js +16 -0
- package/package.json +1 -1
- package/dist/components/p-B_nPct4G.js +0 -2
- package/dist/components/p-B_nPct4G.js.map +0 -1
- package/dist/components/p-BlWNMytv.js +0 -2
- package/dist/components/p-BlWNMytv.js.map +0 -1
- package/dist/components/p-ByoywoBH.js +0 -2
- package/dist/components/p-C1QHxVvP.js.map +0 -1
- package/dist/components/p-CHBuzAYH.js +0 -2
- package/dist/components/p-CIYJhyKt.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-CnK36Be0.js +0 -2
- package/dist/components/p-Cw_npFwN.js +0 -2
- package/dist/components/p-Cw_npFwN.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-Dhw_W8nk.js.map +0 -1
- package/dist/components/p-LZ8F08Fj.js.map +0 -1
- package/dist/components/p-xxuHxP3u.js +0 -2
- package/dist/components/p-xxuHxP3u.js.map +0 -1
- package/dist/types/components/FilterMenu/filter-menu-calendar.d.ts +0 -13
- /package/dist/components/{p-B5QVra1K.js.map → p-2GVGhrh0.js.map} +0 -0
- /package/dist/components/{p-BqGdNrVl.js.map → p-8oRkhvjy.js.map} +0 -0
- /package/dist/components/{p-CqeMumqy.js.map → p-BV5T1hzN.js.map} +0 -0
- /package/dist/components/{p-CIoeHcCk.js.map → p-BWfzaSc3.js.map} +0 -0
- /package/dist/components/{p-AkSwrAKR.js.map → p-BgLI9JoT.js.map} +0 -0
- /package/dist/components/{p-BwsS_Hyr.js.map → p-C-dHtQMi.js.map} +0 -0
- /package/dist/components/{p-CoE7yza3.js.map → p-C2JnoaWI.js.map} +0 -0
- /package/dist/components/{p-lv4YQEsa.js.map → p-C4m8y9ki.js.map} +0 -0
- /package/dist/components/{p-BEttT0UB.js.map → p-CDJ2Ntcq.js.map} +0 -0
- /package/dist/components/{p-Dj296RmE.js.map → p-CMQUuGvl.js.map} +0 -0
- /package/dist/components/{p-DyyfWSLB.js.map → p-CQ5RwY2C.js.map} +0 -0
- /package/dist/components/{p-CQqZgTYk.js.map → p-CWPT3aOB.js.map} +0 -0
- /package/dist/components/{p-OxdAzO4v.js.map → p-Ce4zy8q1.js.map} +0 -0
- /package/dist/components/{p-CNDTHTf6.js.map → p-Cga6Ex0E.js.map} +0 -0
- /package/dist/components/{p-CBQzTgvI.js.map → p-Cl9phSf0.js.map} +0 -0
- /package/dist/components/{p-DzbEJN1A.js.map → p-ClJhuG5Y.js.map} +0 -0
- /package/dist/components/{p-D_QtZZR8.js.map → p-CqW2eyiF.js.map} +0 -0
- /package/dist/components/{p-CHUdAW1Q.js.map → p-Cus1Sigh.js.map} +0 -0
- /package/dist/components/{p-CzbsTZt7.js.map → p-Cxr0IQjC.js.map} +0 -0
- /package/dist/components/{p-Da9VpZX2.js.map → p-DBwa1OXP.js.map} +0 -0
- /package/dist/components/{p-Br0dx2uP.js.map → p-DK9Ex3aY.js.map} +0 -0
- /package/dist/components/{p-CweS0FfJ.js.map → p-DLXXGgmf.js.map} +0 -0
- /package/dist/components/{p-CvplapTD.js.map → p-DVd1TIxi.js.map} +0 -0
- /package/dist/components/{p-Dx7WcWW1.js.map → p-DgG9W9N4.js.map} +0 -0
- /package/dist/components/{p-4DNyCYKM.js.map → p-DkfM55x8.js.map} +0 -0
- /package/dist/components/{p-DjCnGxSd.js.map → p-Dryt3COt.js.map} +0 -0
- /package/dist/components/{p-eo_pmPqp.js.map → p-Ds51RgCi.js.map} +0 -0
- /package/dist/components/{p-DBZwI7HY.js.map → p-DvzI2A_M.js.map} +0 -0
- /package/dist/components/{p-C51ytXM6.js.map → p-Jaqdfw4E.js.map} +0 -0
- /package/dist/components/{p-BMERUCe1.js.map → p-KBrC9IG4.js.map} +0 -0
- /package/dist/components/{p-CXAa9TUM.js.map → p-PmcUwTQ_.js.map} +0 -0
- /package/dist/components/{p-zZuAAiiI.js.map → p-bM3LH3kc.js.map} +0 -0
- /package/dist/components/{p-CK2S28gU.js.map → p-ji09W9el.js.map} +0 -0
- /package/dist/components/{p-DrjY8Mpy.js.map → p-neWTRxmf.js.map} +0 -0
- /package/dist/components/{p-CMq-jKEI.js.map → p-rYePOPbJ.js.map} +0 -0
- /package/dist/components/{p-CKo2nySr.js.map → p-tNQ0YulU.js.map} +0 -0
- /package/dist/components/{p-C8XJgV1n.js.map → p-x1wf38q3.js.map} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["tableSearchFields","columns","resolved","seen","Set","column","isTableActionColumn","searchable","segments","headerSegments","length","segment","id","sortKey","trim","label","dataLabel","has","add","push","header","headerLabel","selectedTableSearchFields","fields","selectedFieldIds","byId","Map","map","field","selected","fieldId","get","availableTableSearchFields","filter","filterTableSearchFields","query","normalizedQuery","toLocaleLowerCase","includes","nextTableSearchActiveIndex","currentIndex","optionCount","direction","safeIndex","tableSearchCss","tableSearchSequence","TableSearch","__stencil_proxyCustomElement","HTMLElement","constructor","registerHost","this","value","placeholder","ariaLabel","clearLabel","fieldMenuLabel","isInactive","menuOpen","menuQuery","activeIndex","focusRingVisible","position","x","y","positionReady","availableHeight","announcement","componentId","inputId","listboxId","descriptionId","inputEl","controlEl","popupEl","positionController","AnchoredPositionController","getAnchor","getPopup","getOwnerDocument","el","ownerDocument","measure","anchor","popup","isConnected","inset","resolveCssLengthPx","TOKEN_DEFAULTS","space050","style","minWidth","menuWidthXs","choicePopupMinWidth","offsetWidth","anchorRect","getBoundingClientRect","popupWidth","popupHeight","offsetHeight","side","align","sideOffsetPx","alignOffsetPx","resolveChoicePopupAlignOffset","sectionInsetPx","viewportPadPx","viewportWidth","window","innerWidth","viewportHeight","innerHeight","collisionRect","resolveAnchoredOverlayBoundaryRect","apply","onReady","topLayer","liveUpdate","observeResize","observeAnchorMotion","interactionController","AnchoredOverlayInteractionController","onOutsideActivation","closeMenu","disconnectedCallback","syncAvailableFields","count","availableFields","syncInactive","setFocus","focus","selectedFields","searchFields","visibleFields","activeOptionId","undefined","openMenu","fromKeyboard","requestAnimationFrame","connect","observe","schedule","matches","hidePopover","unobserve","disconnect","handleInput","event","nextValue","target","dsChange","emit","selectField","dsFieldsChange","preventScroll","removeLastField","removed","removeField","clearSearch","dsClear","handleKeyDown","key","altKey","ctrlKey","metaKey","preventDefault","querySelector","CSS","escape","scrollIntoView","block","render","available","visible","inputValue","hasValue","description","join","popupStyle","left","top","transform","Math","round","zIndex","visibility","floor","h","Host","class","ref","element","name","size","color","state","isInset","insetDepth","onDsRemove","type","role","disabled","String","autoComplete","autoCapitalize","autoCorrect","spellcheck","onInput","onKeyDown","variant","icon","hasBorder","rounded","onDsClick","orientation","labelEmphasis","focusTabIndex","haspopup","controls","expanded","surfaceOpen","onMouseDown","popover","index","active","onMouseMove","onClick","as","body"],"sources":["src/wc/components/TableSearch/table-search-model.ts","src/wc/components/TableSearch/TableSearch.css?tag=ds-table-search&encapsulation=scoped","src/wc/components/TableSearch/TableSearch.tsx"],"sourcesContent":["import { isTableActionColumn } from '../Table/table-column-customizer';\nimport type { TableColumn } from '../Table/table-types';\nimport type { TableSearchField } from './table-search-types';\n\n/** Searchable data points from the table catalog, including compound header segments. */\nexport function tableSearchFields(columns: readonly TableColumn[]): TableSearchField[] {\n const resolved: TableSearchField[] = [];\n const seen = new Set<string>();\n\n for (const column of columns) {\n if (isTableActionColumn(column) || column.searchable === false) continue;\n const segments = column.headerSegments ?? [];\n if (segments.length > 0) {\n for (const segment of segments) {\n const id = segment.sortKey.trim();\n const label = segment.dataLabel?.trim() || segment.label.trim() || id;\n if (!id || !label || segment.searchable === false || seen.has(id)) continue;\n seen.add(id);\n resolved.push({ id, label });\n }\n continue;\n }\n\n const id = column.id.trim();\n const label =\n column.dataLabel?.trim() || column.header.trim() || column.headerLabel?.trim() || id;\n if (!id || !label || seen.has(id)) continue;\n seen.add(id);\n resolved.push({ id, label });\n }\n\n return resolved;\n}\n\nexport function selectedTableSearchFields(\n fields: readonly TableSearchField[],\n selectedFieldIds: string[]\n): TableSearchField[] {\n const byId = new Map(fields.map(field => [field.id, field]));\n const selected: TableSearchField[] = [];\n const seen = new Set<string>();\n\n for (const fieldId of selectedFieldIds) {\n if (seen.has(fieldId)) continue;\n const field = byId.get(fieldId);\n if (!field) continue;\n seen.add(fieldId);\n selected.push(field);\n }\n\n return selected;\n}\n\nexport function availableTableSearchFields(\n fields: readonly TableSearchField[],\n selectedFieldIds: string[]\n): TableSearchField[] {\n const selected = new Set(selectedFieldIds);\n return fields.filter(field => !selected.has(field.id));\n}\n\n/** Matches the field-picker query against the complete visible label and canonical identity. */\nexport function filterTableSearchFields(\n fields: readonly TableSearchField[],\n query: string\n): TableSearchField[] {\n const normalizedQuery = query.trim().toLocaleLowerCase();\n if (!normalizedQuery) return [...fields];\n\n return fields.filter(field =>\n `${field.label} ${field.id}`.toLocaleLowerCase().includes(normalizedQuery)\n );\n}\n\nexport function nextTableSearchActiveIndex(\n currentIndex: number,\n optionCount: number,\n direction: 1 | -1\n): number {\n if (optionCount <= 0) return -1;\n const safeIndex = currentIndex >= 0 && currentIndex < optionCount ? currentIndex : 0;\n return (safeIndex + direction + optionCount) % optionCount;\n}\n","@import '../../utils/radius.css';\n@import '../../utils/choice-list.css';\n@import '../../utils/control-density-inset.css';\n@import '../../utils/typography.css';\n@import '../../utils/visually-hidden.css';\n\n:host(.table-search-host) {\n display: inline-flex;\n box-sizing: border-box;\n inline-size: 100%;\n min-inline-size: 0;\n --ds-table-search-foreground: var(--color-foreground-primary);\n --ds-table-search-adornment: var(--color-foreground-secondary);\n --ds-table-search-placeholder: var(--color-foreground-secondary);\n --ds-table-search-placeholder-active: var(--color-foreground-quaternary);\n --ds-table-search-border: var(--color-border-secondary);\n}\n\n.table-search__control {\n inline-size: 100%;\n min-inline-size: 0;\n padding-inline-end: var(--dimension-space-050);\n overflow: hidden;\n border: 0;\n background: transparent;\n color: var(--ds-table-search-foreground);\n --ds-interaction-border-width: var(--dimension-stroke-width-012);\n --ds-interaction-border-color: var(--ds-table-search-border);\n}\n\n.table-search__control:focus-within {\n --ds-interaction-border-width: var(--dimension-stroke-width-018);\n --ds-interaction-border-color: var(--color-border-bold-brand);\n}\n\n:host(.ds-control-inactive) .table-search__control::after {\n background: transparent;\n}\n\n.table-search__icon,\n.table-search__actions {\n position: relative;\n z-index: 2;\n flex: none;\n}\n\n.table-search__icon {\n color: var(--ds-table-search-adornment);\n}\n\n.table-search__editor {\n position: relative;\n z-index: 2;\n display: flex;\n flex: 1 1 auto;\n align-items: center;\n min-inline-size: 0;\n block-size: 100%;\n gap: var(--dimension-space-050);\n overflow-x: auto;\n overflow-y: hidden;\n scrollbar-width: none;\n}\n\n.table-search__editor::-webkit-scrollbar {\n display: none;\n}\n\n.table-search__chip {\n flex: none;\n max-inline-size: var(--dimension-panel-width-2xs);\n}\n\n.table-search__input {\n appearance: none;\n box-sizing: border-box;\n flex: 1 0 var(--dimension-size-600);\n min-inline-size: var(--dimension-size-600);\n block-size: 100%;\n margin: 0;\n padding: 0;\n border: 0;\n outline: 0;\n background: transparent;\n color: var(--ds-table-search-foreground);\n text-overflow: ellipsis;\n}\n\n.table-search__input::-webkit-search-cancel-button,\n.table-search__input::-webkit-search-decoration {\n display: none;\n}\n\n.table-search__input::placeholder {\n color: var(--ds-table-search-placeholder);\n}\n\n.table-search__input:focus::placeholder {\n color: var(--ds-table-search-placeholder-active);\n}\n\n.table-search__actions {\n display: flex;\n align-items: center;\n gap: var(--dimension-space-050);\n}\n\n.table-search__clear,\n.table-search__slash,\n.table-search__action-divider {\n flex: none;\n}\n\n.table-search__slash {\n color: var(--ds-table-search-adornment);\n}\n\n.table-search__popup {\n --ds-choice-popup-min-inline-size: var(--dimension-menu-width-xs);\n}\n\n.table-search__list {\n padding: var(--dimension-space-050);\n}\n\n.table-search__option {\n flex: none;\n inline-size: 100%;\n}\n\n@media (forced-colors: active) {\n .table-search__control:focus-within::after {\n outline-color: var(--ds-forced-color-selected);\n }\n}\n","import {\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Host,\n Method,\n Prop,\n State,\n Watch,\n} from '@stencil/core';\nimport {\n choicePopupMinWidth,\n resolveChoicePopupAlignOffset,\n resolveCssLengthPx,\n TOKEN_DEFAULTS,\n} from '../../utils';\nimport { AnchoredPositionController } from '../../utils/anchored-position-controller';\nimport { AnchoredOverlayInteractionController } from '../../utils/anchored-overlay-interaction-controller';\nimport { resolveAnchoredOverlayBoundaryRect } from '../../utils/anchored-overlay-boundary';\nimport {\n availableTableSearchFields,\n filterTableSearchFields,\n nextTableSearchActiveIndex,\n selectedTableSearchFields,\n tableSearchFields,\n} from './table-search-model';\nimport type { TableColumn } from '../Table/table-types';\nimport type { TableSearchField, TableSearchFieldsChangeDetail } from './table-search-types';\n\nlet tableSearchSequence = 0;\n\n@Component({\n tag: 'ds-table-search',\n styleUrl: 'TableSearch.css',\n scoped: true,\n})\nexport class TableSearch {\n @Element() private el!: HTMLElement;\n\n /** Controlled free-text query. */\n @Prop() value: string = '';\n /** Table column catalog used to derive searchable data points and their complete labels. */\n @Prop() columns: TableColumn[] = [];\n /** Controlled ordered field scopes rendered as Tags. */\n @Prop() selectedFieldIds: string[] = [];\n @Prop() placeholder: string = 'Search';\n @Prop({ attribute: 'aria-label' }) ariaLabel: string = 'Search table';\n @Prop() clearLabel: string = 'Clear search';\n @Prop() fieldMenuLabel: string = 'Choose search fields';\n @Prop() isInactive: boolean = false;\n\n @Event({ bubbles: false }) dsChange!: EventEmitter<string>;\n @Event({ bubbles: false }) dsFieldsChange!: EventEmitter<TableSearchFieldsChangeDetail>;\n @Event({ bubbles: false }) dsClear!: EventEmitter<void>;\n\n @State() private menuOpen = false;\n @State() private menuQuery = '';\n @State() private activeIndex = 0;\n @State() private focusRingVisible = false;\n @State() private position = { x: 0, y: 0 };\n @State() private positionReady = false;\n @State() private availableHeight: number | null = null;\n @State() private announcement = '';\n\n private readonly componentId = `ds-table-search-${++tableSearchSequence}`;\n private readonly inputId = `${this.componentId}-input`;\n private readonly listboxId = `${this.componentId}-listbox`;\n private readonly descriptionId = `${this.componentId}-description`;\n private inputEl: HTMLInputElement | null = null;\n private controlEl: HTMLElement | null = null;\n private popupEl: HTMLElement | null = null;\n\n private readonly positionController = new AnchoredPositionController({\n getAnchor: () => this.controlEl,\n getPopup: () => this.popupEl,\n getOwnerDocument: () => this.el.ownerDocument,\n measure: (anchor, popup) => {\n if (!this.menuOpen || !popup.isConnected) return null;\n const inset = resolveCssLengthPx(TOKEN_DEFAULTS.space050, TOKEN_DEFAULTS.space050);\n popup.style.minWidth = `max(var(--ds-choice-popup-min-inline-size, ${TOKEN_DEFAULTS.menuWidthXs}), ${choicePopupMinWidth(anchor.offsetWidth, inset)}px)`;\n const anchorRect = anchor.getBoundingClientRect();\n return {\n anchorRect,\n popupWidth: popup.offsetWidth,\n popupHeight: popup.offsetHeight,\n side: 'bottom',\n align: 'start',\n sideOffsetPx: inset,\n alignOffsetPx: resolveChoicePopupAlignOffset({\n align: 'start',\n alignOffsetPx: 0,\n sectionInsetPx: inset,\n }),\n viewportPadPx: inset,\n viewportWidth: window.innerWidth,\n viewportHeight: window.innerHeight,\n collisionRect: resolveAnchoredOverlayBoundaryRect(anchor),\n };\n },\n apply: ({ x, y, availableHeight }) => {\n this.position = { x, y };\n this.availableHeight = availableHeight;\n },\n onReady: () => {\n this.positionReady = true;\n },\n topLayer: true,\n liveUpdate: 'frame',\n observeResize: true,\n observeAnchorMotion: true,\n });\n\n private readonly interactionController = new AnchoredOverlayInteractionController({\n getAnchor: () => this.controlEl,\n getPopup: () => this.popupEl,\n getOwnerDocument: () => this.el.ownerDocument,\n onOutsideActivation: () => this.closeMenu(),\n });\n\n disconnectedCallback(): void {\n this.closeMenu();\n }\n\n @Watch('columns')\n @Watch('selectedFieldIds')\n syncAvailableFields(): void {\n const count = this.availableFields.length;\n if (count === 0) {\n this.closeMenu();\n return;\n }\n if (this.activeIndex >= count) this.activeIndex = count - 1;\n }\n\n @Watch('isInactive')\n syncInactive(isInactive: boolean): void {\n if (isInactive) this.closeMenu();\n }\n\n @Method()\n async setFocus(): Promise<void> {\n this.inputEl?.focus();\n }\n\n private get selectedFields(): TableSearchField[] {\n return selectedTableSearchFields(this.searchFields, this.selectedFieldIds);\n }\n\n private get availableFields(): TableSearchField[] {\n return availableTableSearchFields(this.searchFields, this.selectedFieldIds);\n }\n\n private get visibleFields(): TableSearchField[] {\n return filterTableSearchFields(this.availableFields, this.menuQuery);\n }\n\n private get searchFields(): TableSearchField[] {\n return tableSearchFields(this.columns);\n }\n\n private get activeOptionId(): string | undefined {\n return this.menuOpen && this.activeIndex >= 0\n ? `${this.componentId}-option-${this.activeIndex}`\n : undefined;\n }\n\n private openMenu(fromKeyboard: boolean): void {\n if (this.isInactive || this.menuOpen || this.availableFields.length === 0) return;\n this.menuQuery = '';\n // The native value can be ahead of the controlled prop when slash follows input\n // in the same frame, so clear it before the queued render can skip an equal value.\n if (this.inputEl) this.inputEl.value = '';\n this.activeIndex = 0;\n this.focusRingVisible = fromKeyboard;\n this.positionReady = false;\n this.menuOpen = true;\n requestAnimationFrame(() => {\n if (!this.menuOpen) return;\n this.interactionController.connect();\n this.positionController.observe();\n this.positionController.schedule();\n });\n }\n\n private closeMenu(): void {\n if (!this.menuOpen && !this.popupEl) return;\n if (this.popupEl?.matches(':popover-open')) this.popupEl.hidePopover();\n this.positionController.unobserve();\n this.interactionController.disconnect();\n this.popupEl = null;\n this.positionReady = false;\n this.availableHeight = null;\n this.menuOpen = false;\n this.menuQuery = '';\n }\n\n private handleInput(event: Event): void {\n const nextValue = (event.target as HTMLInputElement).value;\n if (this.menuOpen) {\n this.menuQuery = nextValue;\n this.activeIndex = filterTableSearchFields(this.availableFields, nextValue).length ? 0 : -1;\n this.focusRingVisible = false;\n this.positionController.schedule();\n return;\n }\n\n this.dsChange.emit(nextValue);\n }\n\n private selectField(field: TableSearchField): void {\n this.dsFieldsChange.emit({ selectedFieldIds: [...this.selectedFieldIds, field.id] });\n this.announcement = `${field.label} search field added.`;\n this.closeMenu();\n requestAnimationFrame(() => this.inputEl?.focus({ preventScroll: true }));\n }\n\n private removeLastField(): void {\n const selected = this.selectedFields;\n const removed = selected[selected.length - 1];\n if (!removed) return;\n this.dsFieldsChange.emit({\n selectedFieldIds: this.selectedFieldIds.filter(fieldId => fieldId !== removed.id),\n });\n this.announcement = `${removed.label} search field removed.`;\n }\n\n private removeField(field: TableSearchField): void {\n this.dsFieldsChange.emit({\n selectedFieldIds: this.selectedFieldIds.filter(fieldId => fieldId !== field.id),\n });\n this.announcement = `${field.label} search field removed.`;\n requestAnimationFrame(() => this.inputEl?.focus({ preventScroll: true }));\n }\n\n private clearSearch(): void {\n if (this.value) this.dsChange.emit('');\n if (this.selectedFieldIds.length) this.dsFieldsChange.emit({ selectedFieldIds: [] });\n this.dsClear.emit();\n this.announcement = 'Search cleared.';\n this.closeMenu();\n requestAnimationFrame(() => this.inputEl?.focus({ preventScroll: true }));\n }\n\n private handleKeyDown(event: KeyboardEvent): void {\n if (event.key === '/' && !this.menuOpen && !event.altKey && !event.ctrlKey && !event.metaKey) {\n event.preventDefault();\n this.openMenu(true);\n return;\n }\n\n if (event.key === 'Backspace' && this.menuOpen && this.menuQuery.length === 0) {\n event.preventDefault();\n this.closeMenu();\n return;\n }\n\n if (event.key === 'Backspace' && this.value.length === 0) {\n if (this.selectedFields.length) {\n event.preventDefault();\n this.removeLastField();\n }\n return;\n }\n\n if (!this.menuOpen) return;\n\n if (event.key === 'Escape') {\n event.preventDefault();\n this.closeMenu();\n return;\n }\n\n if (event.key === 'ArrowDown' || event.key === 'ArrowUp') {\n event.preventDefault();\n this.focusRingVisible = true;\n this.activeIndex = nextTableSearchActiveIndex(\n this.activeIndex,\n this.visibleFields.length,\n event.key === 'ArrowDown' ? 1 : -1\n );\n this.el\n .querySelector<HTMLElement>(`#${CSS.escape(this.activeOptionId ?? '')}`)\n ?.scrollIntoView({ block: 'nearest' });\n return;\n }\n\n if (event.key === 'Enter') {\n const field = this.visibleFields[this.activeIndex];\n if (!field) return;\n event.preventDefault();\n this.selectField(field);\n return;\n }\n\n if (event.key === 'Tab') this.closeMenu();\n }\n\n render() {\n const selected = this.selectedFields;\n const available = this.availableFields;\n const visible = this.visibleFields;\n const inputValue = this.menuOpen ? this.menuQuery : this.value;\n const hasValue = this.value.length > 0 || selected.length > 0;\n const description = selected.length\n ? `Search limited to ${selected.map(field => field.label).join(' or ')}.`\n : 'Search includes every available table field. Type slash to choose fields.';\n const popupStyle: Record<string, string> = {\n position: 'fixed',\n left: '0',\n top: '0',\n transform: `translate(${Math.round(this.position.x)}px, ${Math.round(this.position.y)}px)`,\n zIndex: 'var(--dimension-z-index-floating)',\n visibility: this.positionReady ? 'visible' : 'hidden',\n };\n if (this.availableHeight !== null) {\n popupStyle['max-height'] = `${Math.floor(this.availableHeight)}px`;\n }\n\n return (\n <Host\n class={{\n 'table-search-host': true,\n 'ds-control--md': true,\n 'ds-control-inactive': this.isInactive,\n }}\n data-filled={hasValue ? '' : undefined}\n data-expanded={this.menuOpen ? '' : undefined}\n >\n <div\n ref={element => {\n this.controlEl = element ?? null;\n }}\n class=\"table-search__control ds-control-frame ds-control--md ds-interaction-fill\"\n >\n <span\n class=\"table-search__icon ds-control-icon-box ds-interaction-fill__content\"\n aria-hidden=\"true\"\n >\n <ds-icon name=\"MagnifyingGlass\" size=\"md\" color=\"inherit\" />\n </span>\n <div class=\"table-search__editor ds-interaction-fill__content\">\n {selected.map(field => (\n <ds-chip\n class=\"table-search__chip\"\n key={field.id}\n label={field.label}\n size=\"md\"\n state=\"default\"\n isInset\n insetDepth=\"double\"\n isInactive={this.isInactive}\n onDsRemove={() => this.removeField(field)}\n />\n ))}\n <input\n ref={element => {\n this.inputEl = element ?? null;\n }}\n id={this.inputId}\n class=\"table-search__input ds-text--body-medium ds-text--regular\"\n type=\"search\"\n role=\"combobox\"\n value={inputValue}\n placeholder={this.placeholder}\n disabled={this.isInactive}\n aria-label={this.ariaLabel}\n aria-describedby={this.descriptionId}\n aria-haspopup=\"listbox\"\n aria-expanded={String(this.menuOpen)}\n aria-controls={this.menuOpen ? this.listboxId : undefined}\n aria-activedescendant={this.activeOptionId}\n aria-keyshortcuts=\"/\"\n autoComplete=\"off\"\n autoCapitalize=\"none\"\n autoCorrect=\"off\"\n spellcheck={false}\n onInput={event => this.handleInput(event)}\n onKeyDown={event => this.handleKeyDown(event)}\n />\n </div>\n {this.searchFields.length > 0 && (\n <div class=\"table-search__actions ds-interaction-fill__content\">\n {inputValue.length > 0 && !this.isInactive && (\n <ds-button-unfilled\n class=\"table-search__clear\"\n variant=\"icon\"\n size=\"sm\"\n icon=\"CrossCircle\"\n hasBorder={false}\n rounded\n ariaLabel={this.clearLabel}\n onDsClick={() => this.clearSearch()}\n />\n )}\n {inputValue.length > 0 && !this.isInactive && (\n <ds-divider\n class=\"table-search__action-divider\"\n orientation=\"vertical\"\n length=\"var(--dimension-size-200)\"\n />\n )}\n <ds-button-unfilled\n class=\"table-search__slash\"\n variant=\"label\"\n size=\"md\"\n label=\"/\"\n labelEmphasis={false}\n isInset\n insetDepth=\"double\"\n hasBorder={false}\n ariaLabel={this.fieldMenuLabel}\n focusTabIndex={-1}\n haspopup=\"listbox\"\n controls={this.menuOpen ? this.listboxId : undefined}\n expanded={this.menuOpen}\n surfaceOpen={this.menuOpen}\n isInactive={this.isInactive || available.length === 0}\n onMouseDown={(event: MouseEvent) => event.preventDefault()}\n onDsClick={() => {\n this.inputEl?.focus({ preventScroll: true });\n this.openMenu(false);\n }}\n />\n </div>\n )}\n </div>\n <span id={this.descriptionId} class=\"ds-visually-hidden\">\n {description}\n </span>\n <span class=\"ds-visually-hidden\" aria-live=\"polite\">\n {this.announcement}\n </span>\n {this.menuOpen && (\n <div\n popover=\"manual\"\n ref={element => {\n this.popupEl = element ?? null;\n }}\n class=\"table-search__popup ds-choice-popup\"\n style={popupStyle}\n >\n <div\n id={this.listboxId}\n class=\"table-search__list ds-choice-list\"\n role=\"listbox\"\n aria-label={this.fieldMenuLabel}\n >\n {visible.map((field, index) => {\n const active = index === this.activeIndex;\n return (\n /* eslint-disable-next-line local/prefer-direct-ds-text -- The option owns listbox semantics and pointer interaction while ds-text remains its typography child. */\n <div\n id={`${this.componentId}-option-${index}`}\n key={field.id}\n class={{\n 'table-search__option': true,\n 'ds-choice-item': true,\n 'ds-control-frame': true,\n 'ds-control--md': true,\n 'ds-focus-ring-inset': true,\n 'ds-focus-ring--visible': active && this.focusRingVisible,\n 'ds-interaction-fill': true,\n 'ds-interaction-fill--selected': active,\n }}\n role=\"option\"\n aria-selected={String(active)}\n onMouseDown={event => event.preventDefault()}\n onMouseMove={() => {\n this.focusRingVisible = false;\n this.activeIndex = index;\n }}\n onClick={() => this.selectField(field)}\n >\n <ds-text\n class=\"ds-choice-item__label ds-control-label-box ds-interaction-fill__content\"\n as=\"span\"\n variant=\"text-body-medium\"\n color={active ? 'primary' : 'secondary'}\n >\n {field.label}\n </ds-text>\n </div>\n );\n })}\n {visible.length === 0 && (\n <div class=\"table-search__empty ds-choice-empty ds-empty-region\">\n <ds-empty-state body=\"No matching data points\" />\n </div>\n )}\n </div>\n </div>\n )}\n </Host>\n );\n }\n}\n"],"mappings":"0kBAKM,SAAUA,EAAkBC,GAChC,MAAMC,EAA+B,GACrC,MAAMC,EAAO,IAAIC,IAEjB,IAAK,MAAMC,KAAUJ,EAAS,CAC5B,GAAIK,EAAoBD,IAAWA,EAAOE,aAAe,MAAO,SAChE,MAAMC,EAAWH,EAAOI,gBAAkB,GAC1C,GAAID,EAASE,OAAS,EAAG,CACvB,IAAK,MAAMC,KAAWH,EAAU,CAC9B,MAAMI,EAAKD,EAAQE,QAAQC,OAC3B,MAAMC,EAAQJ,EAAQK,WAAWF,QAAUH,EAAQI,MAAMD,QAAUF,EACnE,IAAKA,IAAOG,GAASJ,EAAQJ,aAAe,OAASJ,EAAKc,IAAIL,GAAK,SACnET,EAAKe,IAAIN,GACTV,EAASiB,KAAK,CAAEP,KAAIG,S,CAEtB,Q,CAGF,MAAMH,EAAKP,EAAOO,GAAGE,OACrB,MAAMC,EACJV,EAAOW,WAAWF,QAAUT,EAAOe,OAAON,QAAUT,EAAOgB,aAAaP,QAAUF,EACpF,IAAKA,IAAOG,GAASZ,EAAKc,IAAIL,GAAK,SACnCT,EAAKe,IAAIN,GACTV,EAASiB,KAAK,CAAEP,KAAIG,S,CAGtB,OAAOb,CACT,CAEM,SAAUoB,EACdC,EACAC,GAEA,MAAMC,EAAO,IAAIC,IAAIH,EAAOI,KAAIC,GAAS,CAACA,EAAMhB,GAAIgB,MACpD,MAAMC,EAA+B,GACrC,MAAM1B,EAAO,IAAIC,IAEjB,IAAK,MAAM0B,KAAWN,EAAkB,CACtC,GAAIrB,EAAKc,IAAIa,GAAU,SACvB,MAAMF,EAAQH,EAAKM,IAAID,GACvB,IAAKF,EAAO,SACZzB,EAAKe,IAAIY,GACTD,EAASV,KAAKS,E,CAGhB,OAAOC,CACT,CAEM,SAAUG,EACdT,EACAC,GAEA,MAAMK,EAAW,IAAIzB,IAAIoB,GACzB,OAAOD,EAAOU,QAAOL,IAAUC,EAASZ,IAAIW,EAAMhB,KACpD,CAGM,SAAUsB,EACdX,EACAY,GAEA,MAAMC,EAAkBD,EAAMrB,OAAOuB,oBACrC,IAAKD,EAAiB,MAAO,IAAIb,GAEjC,OAAOA,EAAOU,QAAOL,GACnB,GAAGA,EAAMb,SAASa,EAAMhB,KAAKyB,oBAAoBC,SAASF,IAE9D,C,SAEgBG,EACdC,EACAC,EACAC,GAEA,GAAID,GAAe,EAAG,OAAO,EAC7B,MAAME,EAAYH,GAAgB,GAAKA,EAAeC,EAAcD,EAAe,EACnF,OAAQG,EAAYD,EAAYD,GAAeA,CACjD,CClFA,MAAMG,EAAiB,IAAM,0njCC+B7B,IAAIC,EAAsB,E,MAObC,EAAWC,EAAA,MAAAD,UAAAE,EALxB,WAAAC,CAAAC,G,+JASUC,KAAAC,MAAgB,GAEhBD,KAAAlD,QAAyB,GAEzBkD,KAAA3B,iBAA6B,GAC7B2B,KAAAE,YAAsB,SACKF,KAAAG,UAAoB,eAC/CH,KAAAI,WAAqB,eACrBJ,KAAAK,eAAyB,uBACzBL,KAAAM,WAAsB,MAMbN,KAAAO,SAAW,MACXP,KAAAQ,UAAY,GACZR,KAAAS,YAAc,EACdT,KAAAU,iBAAmB,MACnBV,KAAAW,SAAW,CAAEC,EAAG,EAAGC,EAAG,GACtBb,KAAAc,cAAgB,MAChBd,KAAAe,gBAAiC,KACjCf,KAAAgB,aAAe,GAEfhB,KAAAiB,YAAc,qBAAqBvB,IACnCM,KAAAkB,QAAU,GAAGlB,KAAKiB,oBAClBjB,KAAAmB,UAAY,GAAGnB,KAAKiB,sBACpBjB,KAAAoB,cAAgB,GAAGpB,KAAKiB,0BACjCjB,KAAAqB,QAAmC,KACnCrB,KAAAsB,UAAgC,KAChCtB,KAAAuB,QAA8B,KAErBvB,KAAAwB,mBAAqB,IAAIC,EAA2B,CACnEC,UAAW,IAAM1B,KAAKsB,UACtBK,SAAU,IAAM3B,KAAKuB,QACrBK,iBAAkB,IAAM5B,KAAK6B,GAAGC,cAChCC,QAAS,CAACC,EAAQC,KAChB,IAAKjC,KAAKO,WAAa0B,EAAMC,YAAa,OAAO,KACjD,MAAMC,EAAQC,EAAmBC,EAAeC,SAAUD,EAAeC,UACzEL,EAAMM,MAAMC,SAAW,8CAA8CH,EAAeI,iBAAiBC,EAAoBV,EAAOW,YAAaR,QAC7I,MAAMS,EAAaZ,EAAOa,wBAC1B,MAAO,CACLD,aACAE,WAAYb,EAAMU,YAClBI,YAAad,EAAMe,aACnBC,KAAM,SACNC,MAAO,QACPC,aAAchB,EACdiB,cAAeC,EAA8B,CAC3CH,MAAO,QACPE,cAAe,EACfE,eAAgBnB,IAElBoB,cAAepB,EACfqB,cAAeC,OAAOC,WACtBC,eAAgBF,OAAOG,YACvBC,cAAeC,EAAmC9B,GACnD,EAEH+B,MAAO,EAAGnD,IAAGC,IAAGE,sBACdf,KAAKW,SAAW,CAAEC,IAAGC,KACrBb,KAAKe,gBAAkBA,CAAe,EAExCiD,QAAS,KACPhE,KAAKc,cAAgB,IAAI,EAE3BmD,SAAU,KACVC,WAAY,QACZC,cAAe,KACfC,oBAAqB,OAGNpE,KAAAqE,sBAAwB,IAAIC,EAAqC,CAChF5C,UAAW,IAAM1B,KAAKsB,UACtBK,SAAU,IAAM3B,KAAKuB,QACrBK,iBAAkB,IAAM5B,KAAK6B,GAAGC,cAChCyC,oBAAqB,IAAMvE,KAAKwE,aA2XnC,CAxXC,oBAAAC,GACEzE,KAAKwE,W,CAKP,mBAAAE,GACE,MAAMC,EAAQ3E,KAAK4E,gBAAgBrH,OACnC,GAAIoH,IAAU,EAAG,CACf3E,KAAKwE,YACL,M,CAEF,GAAIxE,KAAKS,aAAekE,EAAO3E,KAAKS,YAAckE,EAAQ,C,CAI5D,YAAAE,CAAavE,GACX,GAAIA,EAAYN,KAAKwE,W,CAIvB,cAAMM,GACJ9E,KAAKqB,SAAS0D,O,CAGhB,kBAAYC,GACV,OAAO7G,EAA0B6B,KAAKiF,aAAcjF,KAAK3B,iB,CAG3D,mBAAYuG,GACV,OAAO/F,EAA2BmB,KAAKiF,aAAcjF,KAAK3B,iB,CAG5D,iBAAY6G,GACV,OAAOnG,EAAwBiB,KAAK4E,gBAAiB5E,KAAKQ,U,CAG5D,gBAAYyE,GACV,OAAOpI,EAAkBmD,KAAKlD,Q,CAGhC,kBAAYqI,GACV,OAAOnF,KAAKO,UAAYP,KAAKS,aAAe,EACxC,GAAGT,KAAKiB,sBAAsBjB,KAAKS,cACnC2E,S,CAGE,QAAAC,CAASC,GACf,GAAItF,KAAKM,YAAcN,KAAKO,UAAYP,KAAK4E,gBAAgBrH,SAAW,EAAG,OAC3EyC,KAAKQ,UAAY,GAGjB,GAAIR,KAAKqB,QAASrB,KAAKqB,QAAQpB,MAAQ,GACvCD,KAAKS,YAAc,EACnBT,KAAKU,iBAAmB4E,EACxBtF,KAAKc,cAAgB,MACrBd,KAAKO,SAAW,KAChBgF,uBAAsB,KACpB,IAAKvF,KAAKO,SAAU,OACpBP,KAAKqE,sBAAsBmB,UAC3BxF,KAAKwB,mBAAmBiE,UACxBzF,KAAKwB,mBAAmBkE,UAAU,G,CAI9B,SAAAlB,GACN,IAAKxE,KAAKO,WAAaP,KAAKuB,QAAS,OACrC,GAAIvB,KAAKuB,SAASoE,QAAQ,iBAAkB3F,KAAKuB,QAAQqE,cACzD5F,KAAKwB,mBAAmBqE,YACxB7F,KAAKqE,sBAAsByB,aAC3B9F,KAAKuB,QAAU,KACfvB,KAAKc,cAAgB,MACrBd,KAAKe,gBAAkB,KACvBf,KAAKO,SAAW,MAChBP,KAAKQ,UAAY,E,CAGX,WAAAuF,CAAYC,GAClB,MAAMC,EAAaD,EAAME,OAA4BjG,MACrD,GAAID,KAAKO,SAAU,CACjBP,KAAKQ,UAAYyF,EACjBjG,KAAKS,YAAc1B,EAAwBiB,KAAK4E,gBAAiBqB,GAAW1I,OAAS,GAAI,EACzFyC,KAAKU,iBAAmB,MACxBV,KAAKwB,mBAAmBkE,WACxB,M,CAGF1F,KAAKmG,SAASC,KAAKH,E,CAGb,WAAAI,CAAY5H,GAClBuB,KAAKsG,eAAeF,KAAK,CAAE/H,iBAAkB,IAAI2B,KAAK3B,iBAAkBI,EAAMhB,MAC9EuC,KAAKgB,aAAe,GAAGvC,EAAMb,4BAC7BoC,KAAKwE,YACLe,uBAAsB,IAAMvF,KAAKqB,SAAS0D,MAAM,CAAEwB,cAAe,Q,CAG3D,eAAAC,GACN,MAAM9H,EAAWsB,KAAKgF,eACtB,MAAMyB,EAAU/H,EAASA,EAASnB,OAAS,GAC3C,IAAKkJ,EAAS,OACdzG,KAAKsG,eAAeF,KAAK,CACvB/H,iBAAkB2B,KAAK3B,iBAAiBS,QAAOH,GAAWA,IAAY8H,EAAQhJ,OAEhFuC,KAAKgB,aAAe,GAAGyF,EAAQ7I,6B,CAGzB,WAAA8I,CAAYjI,GAClBuB,KAAKsG,eAAeF,KAAK,CACvB/H,iBAAkB2B,KAAK3B,iBAAiBS,QAAOH,GAAWA,IAAYF,EAAMhB,OAE9EuC,KAAKgB,aAAe,GAAGvC,EAAMb,8BAC7B2H,uBAAsB,IAAMvF,KAAKqB,SAAS0D,MAAM,CAAEwB,cAAe,Q,CAG3D,WAAAI,GACN,GAAI3G,KAAKC,MAAOD,KAAKmG,SAASC,KAAK,IACnC,GAAIpG,KAAK3B,iBAAiBd,OAAQyC,KAAKsG,eAAeF,KAAK,CAAE/H,iBAAkB,KAC/E2B,KAAK4G,QAAQR,OACbpG,KAAKgB,aAAe,kBACpBhB,KAAKwE,YACLe,uBAAsB,IAAMvF,KAAKqB,SAAS0D,MAAM,CAAEwB,cAAe,Q,CAG3D,aAAAM,CAAcb,GACpB,GAAIA,EAAMc,MAAQ,MAAQ9G,KAAKO,WAAayF,EAAMe,SAAWf,EAAMgB,UAAYhB,EAAMiB,QAAS,CAC5FjB,EAAMkB,iBACNlH,KAAKqF,SAAS,MACd,M,CAGF,GAAIW,EAAMc,MAAQ,aAAe9G,KAAKO,UAAYP,KAAKQ,UAAUjD,SAAW,EAAG,CAC7EyI,EAAMkB,iBACNlH,KAAKwE,YACL,M,CAGF,GAAIwB,EAAMc,MAAQ,aAAe9G,KAAKC,MAAM1C,SAAW,EAAG,CACxD,GAAIyC,KAAKgF,eAAezH,OAAQ,CAC9ByI,EAAMkB,iBACNlH,KAAKwG,iB,CAEP,M,CAGF,IAAKxG,KAAKO,SAAU,OAEpB,GAAIyF,EAAMc,MAAQ,SAAU,CAC1Bd,EAAMkB,iBACNlH,KAAKwE,YACL,M,CAGF,GAAIwB,EAAMc,MAAQ,aAAed,EAAMc,MAAQ,UAAW,CACxDd,EAAMkB,iBACNlH,KAAKU,iBAAmB,KACxBV,KAAKS,YAAcrB,EACjBY,KAAKS,YACLT,KAAKkF,cAAc3H,OACnByI,EAAMc,MAAQ,YAAc,GAAI,GAElC9G,KAAK6B,GACFsF,cAA2B,IAAIC,IAAIC,OAAOrH,KAAKmF,gBAAkB,QAChEmC,eAAe,CAAEC,MAAO,YAC5B,M,CAGF,GAAIvB,EAAMc,MAAQ,QAAS,CACzB,MAAMrI,EAAQuB,KAAKkF,cAAclF,KAAKS,aACtC,IAAKhC,EAAO,OACZuH,EAAMkB,iBACNlH,KAAKqG,YAAY5H,GACjB,M,CAGF,GAAIuH,EAAMc,MAAQ,MAAO9G,KAAKwE,W,CAGhC,MAAAgD,GACE,MAAM9I,EAAWsB,KAAKgF,eACtB,MAAMyC,EAAYzH,KAAK4E,gBACvB,MAAM8C,EAAU1H,KAAKkF,cACrB,MAAMyC,EAAa3H,KAAKO,SAAWP,KAAKQ,UAAYR,KAAKC,MACzD,MAAM2H,EAAW5H,KAAKC,MAAM1C,OAAS,GAAKmB,EAASnB,OAAS,EAC5D,MAAMsK,EAAcnJ,EAASnB,OACzB,qBAAqBmB,EAASF,KAAIC,GAASA,EAAMb,QAAOkK,KAAK,WAC7D,4EACJ,MAAMC,EAAqC,CACzCpH,SAAU,QACVqH,KAAM,IACNC,IAAK,IACLC,UAAW,aAAaC,KAAKC,MAAMpI,KAAKW,SAASC,SAASuH,KAAKC,MAAMpI,KAAKW,SAASE,QACnFwH,OAAQ,oCACRC,WAAYtI,KAAKc,cAAgB,UAAY,UAE/C,GAAId,KAAKe,kBAAoB,KAAM,CACjCgH,EAAW,cAAgB,GAAGI,KAAKI,MAAMvI,KAAKe,oB,CAGhD,OACEyH,EAACC,EAAI,CAAA3B,IAAA,2CACH4B,MAAO,CACL,oBAAqB,KACrB,iBAAkB,KAClB,sBAAuB1I,KAAKM,YAC7B,cACYsH,EAAW,GAAKxC,UAAS,gBACvBpF,KAAKO,SAAW,GAAK6E,WAEpCoD,EAAA,OAAA1B,IAAA,2CACE6B,IAAKC,IACH5I,KAAKsB,UAAYsH,GAAW,IAAI,EAElCF,MAAM,6EAENF,EAAA,QAAA1B,IAAA,2CACE4B,MAAM,sEAAqE,cAC/D,QAEZF,EAAA,WAAA1B,IAAA,2CAAS+B,KAAK,kBAAkBC,KAAK,KAAKC,MAAM,aAElDP,EAAA,OAAA1B,IAAA,2CAAK4B,MAAM,qDACRhK,EAASF,KAAIC,GACZ+J,EAAA,WACEE,MAAM,qBACN5B,IAAKrI,EAAMhB,GACXG,MAAOa,EAAMb,MACbkL,KAAK,KACLE,MAAM,UACNC,QAAO,KACPC,WAAW,SACX5I,WAAYN,KAAKM,WACjB6I,WAAY,IAAMnJ,KAAK0G,YAAYjI,OAGvC+J,EAAA,SAAA1B,IAAA,2CACE6B,IAAKC,IACH5I,KAAKqB,QAAUuH,GAAW,IAAI,EAEhCnL,GAAIuC,KAAKkB,QACTwH,MAAM,4DACNU,KAAK,SACLC,KAAK,WACLpJ,MAAO0H,EACPzH,YAAaF,KAAKE,YAClBoJ,SAAUtJ,KAAKM,WAAU,aACbN,KAAKG,UAAS,mBACRH,KAAKoB,cAAa,gBACtB,UAAS,gBACRmI,OAAOvJ,KAAKO,UAAS,gBACrBP,KAAKO,SAAWP,KAAKmB,UAAYiE,UAAS,wBAClCpF,KAAKmF,eAAc,oBACxB,IAClBqE,aAAa,MACbC,eAAe,OACfC,YAAY,MACZC,WAAY,MACZC,QAAS5D,GAAShG,KAAK+F,YAAYC,GACnC6D,UAAW7D,GAAShG,KAAK6G,cAAcb,MAG1ChG,KAAKiF,aAAa1H,OAAS,GAC1BiL,EAAA,OAAA1B,IAAA,2CAAK4B,MAAM,sDACRf,EAAWpK,OAAS,IAAMyC,KAAKM,YAC9BkI,EAAA,sBAAA1B,IAAA,2CACE4B,MAAM,sBACNoB,QAAQ,OACRhB,KAAK,KACLiB,KAAK,cACLC,UAAW,MACXC,QAAO,KACP9J,UAAWH,KAAKI,WAChB8J,UAAW,IAAMlK,KAAK2G,gBAGzBgB,EAAWpK,OAAS,IAAMyC,KAAKM,YAC9BkI,EAAA,cAAA1B,IAAA,2CACE4B,MAAM,+BACNyB,YAAY,WACZ5M,OAAO,8BAGXiL,EAAA,sBAAA1B,IAAA,2CACE4B,MAAM,sBACNoB,QAAQ,QACRhB,KAAK,KACLlL,MAAM,IACNwM,cAAe,MACfnB,QAAO,KACPC,WAAW,SACXc,UAAW,MACX7J,UAAWH,KAAKK,eAChBgK,eAAe,EACfC,SAAS,UACTC,SAAUvK,KAAKO,SAAWP,KAAKmB,UAAYiE,UAC3CoF,SAAUxK,KAAKO,SACfkK,YAAazK,KAAKO,SAClBD,WAAYN,KAAKM,YAAcmH,EAAUlK,SAAW,EACpDmN,YAAc1E,GAAsBA,EAAMkB,iBAC1CgD,UAAW,KACTlK,KAAKqB,SAAS0D,MAAM,CAAEwB,cAAe,OACrCvG,KAAKqF,SAAS,MAAM,MAM9BmD,EAAA,QAAA1B,IAAA,2CAAMrJ,GAAIuC,KAAKoB,cAAesH,MAAM,sBACjCb,GAEHW,EAAA,QAAA1B,IAAA,2CAAM4B,MAAM,qBAAoB,YAAW,UACxC1I,KAAKgB,cAEPhB,KAAKO,UACJiI,EAAA,OAAA1B,IAAA,2CACE6D,QAAQ,SACRhC,IAAKC,IACH5I,KAAKuB,QAAUqH,GAAW,IAAI,EAEhCF,MAAM,sCACNnG,MAAOwF,GAEPS,EAAA,OAAA1B,IAAA,2CACErJ,GAAIuC,KAAKmB,UACTuH,MAAM,oCACNW,KAAK,UAAS,aACFrJ,KAAKK,gBAEhBqH,EAAQlJ,KAAI,CAACC,EAAOmM,KACnB,MAAMC,EAASD,IAAU5K,KAAKS,YAC9B,OAEE+H,EAAA,OACE/K,GAAI,GAAGuC,KAAKiB,sBAAsB2J,IAClC9D,IAAKrI,EAAMhB,GACXiL,MAAO,CACL,uBAAwB,KACxB,iBAAkB,KAClB,mBAAoB,KACpB,iBAAkB,KAClB,sBAAuB,KACvB,yBAA0BmC,GAAU7K,KAAKU,iBACzC,sBAAuB,KACvB,gCAAiCmK,GAEnCxB,KAAK,SAAQ,gBACEE,OAAOsB,GACtBH,YAAa1E,GAASA,EAAMkB,iBAC5B4D,YAAa,KACX9K,KAAKU,iBAAmB,MACxBV,KAAKS,YAAcmK,CAAK,EAE1BG,QAAS,IAAM/K,KAAKqG,YAAY5H,IAEhC+J,EAAA,WACEE,MAAM,0EACNsC,GAAG,OACHlB,QAAQ,mBACRf,MAAO8B,EAAS,UAAY,aAE3BpM,EAAMb,OAEL,IAGT8J,EAAQnK,SAAW,GAClBiL,EAAA,OAAA1B,IAAA,2CAAK4B,MAAM,uDACTF,EAAA,kBAAA1B,IAAA,2CAAgBmE,KAAK,+B","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["tableSearchFields","columns","resolved","seen","Set","column","isTableActionColumn","searchable","segments","headerSegments","length","segment","id","sortKey","trim","label","dataLabel","has","add","push","header","headerLabel","selectedTableSearchFields","fields","selectedFieldIds","byId","Map","map","field","selected","fieldId","get","availableTableSearchFields","filter","filterTableSearchFields","query","normalizedQuery","toLocaleLowerCase","includes","nextTableSearchActiveIndex","currentIndex","optionCount","direction","safeIndex","tableSearchCss","tableSearchSequence","TableSearch","__stencil_proxyCustomElement","HTMLElement","constructor","registerHost","this","hasBorder","value","placeholder","ariaLabel","clearLabel","fieldMenuLabel","isInactive","menuOpen","menuQuery","activeIndex","focusRingVisible","position","x","y","positionReady","availableHeight","announcement","componentId","inputId","listboxId","descriptionId","inputEl","controlEl","popupEl","positionController","AnchoredPositionController","getAnchor","getPopup","getOwnerDocument","el","ownerDocument","measure","anchor","popup","isConnected","inset","resolveCssLengthPx","TOKEN_DEFAULTS","space050","style","minWidth","menuWidthXs","choicePopupMinWidth","offsetWidth","anchorRect","getBoundingClientRect","popupWidth","popupHeight","offsetHeight","side","align","sideOffsetPx","alignOffsetPx","resolveChoicePopupAlignOffset","sectionInsetPx","viewportPadPx","viewportWidth","window","innerWidth","viewportHeight","innerHeight","collisionRect","resolveAnchoredOverlayBoundaryRect","apply","onReady","topLayer","liveUpdate","observeResize","observeAnchorMotion","interactionController","AnchoredOverlayInteractionController","onOutsideActivation","closeMenu","disconnectedCallback","syncAvailableFields","count","availableFields","syncInactive","setFocus","focus","selectedFields","searchFields","visibleFields","activeOptionId","undefined","openMenu","fromKeyboard","requestAnimationFrame","connect","observe","schedule","matches","hidePopover","unobserve","disconnect","handleInput","event","nextValue","target","dsChange","emit","selectField","dsFieldsChange","preventScroll","removeLastField","removed","removeField","clearSearch","dsClear","handleKeyDown","key","altKey","ctrlKey","metaKey","preventDefault","querySelector","CSS","escape","scrollIntoView","block","render","visible","inputValue","hasValue","description","join","popupStyle","left","top","transform","Math","round","zIndex","visibility","floor","h","Host","class","ref","element","name","size","color","state","isInset","insetDepth","onDsRemove","type","role","disabled","String","autoComplete","autoCapitalize","autoCorrect","spellcheck","onInput","onKeyDown","variant","icon","rounded","onDsClick","popover","index","active","onMouseDown","onMouseMove","onClick","as","body"],"sources":["src/wc/components/TableSearch/table-search-model.ts","src/wc/components/TableSearch/TableSearch.css?tag=ds-table-search&encapsulation=scoped","src/wc/components/TableSearch/TableSearch.tsx"],"sourcesContent":["import { isTableActionColumn } from '../Table/table-column-customizer';\nimport type { TableColumn } from '../Table/table-types';\nimport type { TableSearchField } from './table-search-types';\n\n/** Searchable data points from the table catalog, including compound header segments. */\nexport function tableSearchFields(columns: readonly TableColumn[]): TableSearchField[] {\n const resolved: TableSearchField[] = [];\n const seen = new Set<string>();\n\n for (const column of columns) {\n if (isTableActionColumn(column) || column.searchable === false) continue;\n const segments = column.headerSegments ?? [];\n if (segments.length > 0) {\n for (const segment of segments) {\n const id = segment.sortKey.trim();\n const label = segment.dataLabel?.trim() || segment.label.trim() || id;\n if (!id || !label || segment.searchable === false || seen.has(id)) continue;\n seen.add(id);\n resolved.push({ id, label });\n }\n continue;\n }\n\n const id = column.id.trim();\n const label =\n column.dataLabel?.trim() || column.header.trim() || column.headerLabel?.trim() || id;\n if (!id || !label || seen.has(id)) continue;\n seen.add(id);\n resolved.push({ id, label });\n }\n\n return resolved;\n}\n\nexport function selectedTableSearchFields(\n fields: readonly TableSearchField[],\n selectedFieldIds: string[]\n): TableSearchField[] {\n const byId = new Map(fields.map(field => [field.id, field]));\n const selected: TableSearchField[] = [];\n const seen = new Set<string>();\n\n for (const fieldId of selectedFieldIds) {\n if (seen.has(fieldId)) continue;\n const field = byId.get(fieldId);\n if (!field) continue;\n seen.add(fieldId);\n selected.push(field);\n }\n\n return selected;\n}\n\nexport function availableTableSearchFields(\n fields: readonly TableSearchField[],\n selectedFieldIds: string[]\n): TableSearchField[] {\n const selected = new Set(selectedFieldIds);\n return fields.filter(field => !selected.has(field.id));\n}\n\n/** Matches the field-picker query against the complete visible label and canonical identity. */\nexport function filterTableSearchFields(\n fields: readonly TableSearchField[],\n query: string\n): TableSearchField[] {\n const normalizedQuery = query.trim().toLocaleLowerCase();\n if (!normalizedQuery) return [...fields];\n\n return fields.filter(field =>\n `${field.label} ${field.id}`.toLocaleLowerCase().includes(normalizedQuery)\n );\n}\n\nexport function nextTableSearchActiveIndex(\n currentIndex: number,\n optionCount: number,\n direction: 1 | -1\n): number {\n if (optionCount <= 0) return -1;\n const safeIndex = currentIndex >= 0 && currentIndex < optionCount ? currentIndex : 0;\n return (safeIndex + direction + optionCount) % optionCount;\n}\n","@import '../../utils/radius.css';\n@import '../../utils/choice-list.css';\n@import '../../utils/control-density-inset.css';\n@import '../../utils/typography.css';\n@import '../../utils/visually-hidden.css';\n\n:host(.table-search-host) {\n display: inline-flex;\n box-sizing: border-box;\n inline-size: 100%;\n min-inline-size: 0;\n --ds-table-search-foreground: var(--color-foreground-primary);\n --ds-table-search-adornment: var(--color-foreground-secondary);\n --ds-table-search-placeholder: var(--color-foreground-secondary);\n --ds-table-search-placeholder-active: var(--color-foreground-quaternary);\n --ds-table-search-border: var(--color-border-secondary);\n}\n\n.table-search__control {\n inline-size: 100%;\n min-inline-size: 0;\n padding-inline-end: var(--dimension-space-050);\n overflow: hidden;\n border: 0;\n background: transparent;\n color: var(--ds-table-search-foreground);\n --ds-interaction-border-width: var(--dimension-stroke-width-012);\n --ds-interaction-border-color: var(--ds-table-search-border);\n}\n\n.table-search__control:focus-within {\n --ds-interaction-border-width: var(--dimension-stroke-width-018);\n --ds-interaction-border-color: var(--color-border-bold-brand);\n}\n\n:host(.ds-control-inactive) .table-search__control::after {\n background: transparent;\n}\n\n.table-search__icon,\n.table-search__clear {\n position: relative;\n z-index: 2;\n flex: none;\n}\n\n.table-search__icon {\n color: var(--ds-table-search-adornment);\n}\n\n.table-search__editor {\n position: relative;\n z-index: 2;\n display: flex;\n flex: 1 1 auto;\n align-items: center;\n min-inline-size: 0;\n block-size: 100%;\n gap: var(--dimension-space-050);\n overflow-x: auto;\n overflow-y: hidden;\n scrollbar-width: none;\n}\n\n.table-search__editor::-webkit-scrollbar {\n display: none;\n}\n\n.table-search__chip {\n flex: none;\n max-inline-size: var(--dimension-panel-width-2xs);\n}\n\n.table-search__input {\n appearance: none;\n box-sizing: border-box;\n flex: 1 0 var(--dimension-size-600);\n min-inline-size: var(--dimension-size-600);\n block-size: 100%;\n margin: 0;\n padding: 0;\n border: 0;\n outline: 0;\n background: transparent;\n color: var(--ds-table-search-foreground);\n text-overflow: ellipsis;\n}\n\n.table-search__input::-webkit-search-cancel-button,\n.table-search__input::-webkit-search-decoration {\n display: none;\n}\n\n.table-search__input::placeholder {\n color: var(--ds-table-search-placeholder);\n}\n\n.table-search__input:focus::placeholder {\n color: var(--ds-table-search-placeholder-active);\n}\n\n.table-search__popup {\n --ds-choice-popup-min-inline-size: var(--dimension-menu-width-xs);\n}\n\n.table-search__list {\n padding: var(--dimension-space-050);\n}\n\n.table-search__option {\n flex: none;\n inline-size: 100%;\n}\n\n@media (forced-colors: active) {\n .table-search__control:focus-within::after {\n outline-color: var(--ds-forced-color-selected);\n }\n}\n\n:host(.table-search-host--borderless) .table-search__control:not(:focus-within) {\n --ds-interaction-border-width: 0px;\n}\n","import {\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Host,\n Method,\n Prop,\n State,\n Watch,\n} from '@stencil/core';\nimport {\n choicePopupMinWidth,\n resolveChoicePopupAlignOffset,\n resolveCssLengthPx,\n TOKEN_DEFAULTS,\n} from '../../utils';\nimport { AnchoredPositionController } from '../../utils/anchored-position-controller';\nimport { AnchoredOverlayInteractionController } from '../../utils/anchored-overlay-interaction-controller';\nimport { resolveAnchoredOverlayBoundaryRect } from '../../utils/anchored-overlay-boundary';\nimport {\n availableTableSearchFields,\n filterTableSearchFields,\n nextTableSearchActiveIndex,\n selectedTableSearchFields,\n tableSearchFields,\n} from './table-search-model';\nimport type { TableColumn } from '../Table/table-types';\nimport type { TableSearchField, TableSearchFieldsChangeDetail } from './table-search-types';\n\nlet tableSearchSequence = 0;\n\n@Component({\n tag: 'ds-table-search',\n styleUrl: 'TableSearch.css',\n scoped: true,\n})\nexport class TableSearch {\n @Element() private el!: HTMLElement;\n\n /** Show the resting field border; keyboard focus remains visible. */\n @Prop({ reflect: true }) hasBorder: boolean = true;\n\n /** Controlled free-text query. */\n @Prop() value: string = '';\n /** Table column catalog used to derive searchable data points and their complete labels. */\n @Prop() columns: TableColumn[] = [];\n /** Controlled ordered field scopes rendered as Tags. */\n @Prop() selectedFieldIds: string[] = [];\n @Prop() placeholder: string = 'Search';\n @Prop({ attribute: 'aria-label' }) ariaLabel: string = 'Search table';\n @Prop() clearLabel: string = 'Clear search';\n @Prop() fieldMenuLabel: string = 'Choose search fields';\n @Prop() isInactive: boolean = false;\n\n @Event({ bubbles: false }) dsChange!: EventEmitter<string>;\n @Event({ bubbles: false }) dsFieldsChange!: EventEmitter<TableSearchFieldsChangeDetail>;\n @Event({ bubbles: false }) dsClear!: EventEmitter<void>;\n\n @State() private menuOpen = false;\n @State() private menuQuery = '';\n @State() private activeIndex = 0;\n @State() private focusRingVisible = false;\n @State() private position = { x: 0, y: 0 };\n @State() private positionReady = false;\n @State() private availableHeight: number | null = null;\n @State() private announcement = '';\n\n private readonly componentId = `ds-table-search-${++tableSearchSequence}`;\n private readonly inputId = `${this.componentId}-input`;\n private readonly listboxId = `${this.componentId}-listbox`;\n private readonly descriptionId = `${this.componentId}-description`;\n private inputEl: HTMLInputElement | null = null;\n private controlEl: HTMLElement | null = null;\n private popupEl: HTMLElement | null = null;\n\n private readonly positionController = new AnchoredPositionController({\n getAnchor: () => this.controlEl,\n getPopup: () => this.popupEl,\n getOwnerDocument: () => this.el.ownerDocument,\n measure: (anchor, popup) => {\n if (!this.menuOpen || !popup.isConnected) return null;\n const inset = resolveCssLengthPx(TOKEN_DEFAULTS.space050, TOKEN_DEFAULTS.space050);\n popup.style.minWidth = `max(var(--ds-choice-popup-min-inline-size, ${TOKEN_DEFAULTS.menuWidthXs}), ${choicePopupMinWidth(anchor.offsetWidth, inset)}px)`;\n const anchorRect = anchor.getBoundingClientRect();\n return {\n anchorRect,\n popupWidth: popup.offsetWidth,\n popupHeight: popup.offsetHeight,\n side: 'bottom',\n align: 'start',\n sideOffsetPx: inset,\n alignOffsetPx: resolveChoicePopupAlignOffset({\n align: 'start',\n alignOffsetPx: 0,\n sectionInsetPx: inset,\n }),\n viewportPadPx: inset,\n viewportWidth: window.innerWidth,\n viewportHeight: window.innerHeight,\n collisionRect: resolveAnchoredOverlayBoundaryRect(anchor),\n };\n },\n apply: ({ x, y, availableHeight }) => {\n this.position = { x, y };\n this.availableHeight = availableHeight;\n },\n onReady: () => {\n this.positionReady = true;\n },\n topLayer: true,\n liveUpdate: 'frame',\n observeResize: true,\n observeAnchorMotion: true,\n });\n\n private readonly interactionController = new AnchoredOverlayInteractionController({\n getAnchor: () => this.controlEl,\n getPopup: () => this.popupEl,\n getOwnerDocument: () => this.el.ownerDocument,\n onOutsideActivation: () => this.closeMenu(),\n });\n\n disconnectedCallback(): void {\n this.closeMenu();\n }\n\n @Watch('columns')\n @Watch('selectedFieldIds')\n syncAvailableFields(): void {\n const count = this.availableFields.length;\n if (count === 0) {\n this.closeMenu();\n return;\n }\n if (this.activeIndex >= count) this.activeIndex = count - 1;\n }\n\n @Watch('isInactive')\n syncInactive(isInactive: boolean): void {\n if (isInactive) this.closeMenu();\n }\n\n @Method()\n async setFocus(): Promise<void> {\n this.inputEl?.focus();\n }\n\n private get selectedFields(): TableSearchField[] {\n return selectedTableSearchFields(this.searchFields, this.selectedFieldIds);\n }\n\n private get availableFields(): TableSearchField[] {\n return availableTableSearchFields(this.searchFields, this.selectedFieldIds);\n }\n\n private get visibleFields(): TableSearchField[] {\n return filterTableSearchFields(this.availableFields, this.menuQuery);\n }\n\n private get searchFields(): TableSearchField[] {\n return tableSearchFields(this.columns);\n }\n\n private get activeOptionId(): string | undefined {\n return this.menuOpen && this.activeIndex >= 0\n ? `${this.componentId}-option-${this.activeIndex}`\n : undefined;\n }\n\n private openMenu(fromKeyboard: boolean): void {\n if (this.isInactive || this.menuOpen || this.availableFields.length === 0) return;\n this.menuQuery = '';\n // The native value can be ahead of the controlled prop when slash follows input\n // in the same frame, so clear it before the queued render can skip an equal value.\n if (this.inputEl) this.inputEl.value = '';\n this.activeIndex = 0;\n this.focusRingVisible = fromKeyboard;\n this.positionReady = false;\n this.menuOpen = true;\n requestAnimationFrame(() => {\n if (!this.menuOpen) return;\n this.interactionController.connect();\n this.positionController.observe();\n this.positionController.schedule();\n });\n }\n\n private closeMenu(): void {\n if (!this.menuOpen && !this.popupEl) return;\n if (this.popupEl?.matches(':popover-open')) this.popupEl.hidePopover();\n this.positionController.unobserve();\n this.interactionController.disconnect();\n this.popupEl = null;\n this.positionReady = false;\n this.availableHeight = null;\n this.menuOpen = false;\n this.menuQuery = '';\n }\n\n private handleInput(event: Event): void {\n const nextValue = (event.target as HTMLInputElement).value;\n if (this.menuOpen) {\n this.menuQuery = nextValue;\n this.activeIndex = filterTableSearchFields(this.availableFields, nextValue).length ? 0 : -1;\n this.focusRingVisible = false;\n this.positionController.schedule();\n return;\n }\n\n this.dsChange.emit(nextValue);\n }\n\n private selectField(field: TableSearchField): void {\n this.dsFieldsChange.emit({ selectedFieldIds: [...this.selectedFieldIds, field.id] });\n this.announcement = `${field.label} search field added.`;\n this.closeMenu();\n requestAnimationFrame(() => this.inputEl?.focus({ preventScroll: true }));\n }\n\n private removeLastField(): void {\n const selected = this.selectedFields;\n const removed = selected[selected.length - 1];\n if (!removed) return;\n this.dsFieldsChange.emit({\n selectedFieldIds: this.selectedFieldIds.filter(fieldId => fieldId !== removed.id),\n });\n this.announcement = `${removed.label} search field removed.`;\n }\n\n private removeField(field: TableSearchField): void {\n this.dsFieldsChange.emit({\n selectedFieldIds: this.selectedFieldIds.filter(fieldId => fieldId !== field.id),\n });\n this.announcement = `${field.label} search field removed.`;\n requestAnimationFrame(() => this.inputEl?.focus({ preventScroll: true }));\n }\n\n private clearSearch(): void {\n if (this.value) this.dsChange.emit('');\n if (this.selectedFieldIds.length) this.dsFieldsChange.emit({ selectedFieldIds: [] });\n this.dsClear.emit();\n this.announcement = 'Search cleared.';\n this.closeMenu();\n requestAnimationFrame(() => this.inputEl?.focus({ preventScroll: true }));\n }\n\n private handleKeyDown(event: KeyboardEvent): void {\n if (event.key === '/' && !this.menuOpen && !event.altKey && !event.ctrlKey && !event.metaKey) {\n event.preventDefault();\n this.openMenu(true);\n return;\n }\n\n if (event.key === 'Backspace' && this.menuOpen && this.menuQuery.length === 0) {\n event.preventDefault();\n this.closeMenu();\n return;\n }\n\n if (event.key === 'Backspace' && this.value.length === 0) {\n if (this.selectedFields.length) {\n event.preventDefault();\n this.removeLastField();\n }\n return;\n }\n\n if (!this.menuOpen) return;\n\n if (event.key === 'Escape') {\n event.preventDefault();\n this.closeMenu();\n return;\n }\n\n if (event.key === 'ArrowDown' || event.key === 'ArrowUp') {\n event.preventDefault();\n this.focusRingVisible = true;\n this.activeIndex = nextTableSearchActiveIndex(\n this.activeIndex,\n this.visibleFields.length,\n event.key === 'ArrowDown' ? 1 : -1\n );\n this.el\n .querySelector<HTMLElement>(`#${CSS.escape(this.activeOptionId ?? '')}`)\n ?.scrollIntoView({ block: 'nearest' });\n return;\n }\n\n if (event.key === 'Enter') {\n const field = this.visibleFields[this.activeIndex];\n if (!field) return;\n event.preventDefault();\n this.selectField(field);\n return;\n }\n\n if (event.key === 'Tab') this.closeMenu();\n }\n\n render() {\n const selected = this.selectedFields;\n const available = this.availableFields;\n const visible = this.visibleFields;\n const inputValue = this.menuOpen ? this.menuQuery : this.value;\n const hasValue = this.value.length > 0 || selected.length > 0;\n const description = selected.length\n ? `Search limited to ${selected.map(field => field.label).join(' or ')}.`\n : 'Search includes every available table field. Type slash to choose fields.';\n const popupStyle: Record<string, string> = {\n position: 'fixed',\n left: '0',\n top: '0',\n transform: `translate(${Math.round(this.position.x)}px, ${Math.round(this.position.y)}px)`,\n zIndex: 'var(--dimension-z-index-floating)',\n visibility: this.positionReady ? 'visible' : 'hidden',\n };\n if (this.availableHeight !== null) {\n popupStyle['max-height'] = `${Math.floor(this.availableHeight)}px`;\n }\n\n return (\n <Host\n class={{\n 'table-search-host': true,\n 'table-search-host--borderless': !this.hasBorder,\n 'ds-control--md': true,\n 'ds-control-inactive': this.isInactive,\n }}\n data-filled={hasValue ? '' : undefined}\n data-expanded={this.menuOpen ? '' : undefined}\n >\n <div\n ref={element => {\n this.controlEl = element ?? null;\n }}\n class=\"table-search__control ds-control-frame ds-control--md ds-interaction-fill\"\n >\n <span\n class=\"table-search__icon ds-control-icon-box ds-interaction-fill__content\"\n aria-hidden=\"true\"\n >\n <ds-icon name=\"MagnifyingGlass\" size=\"md\" color=\"inherit\" />\n </span>\n <div class=\"table-search__editor ds-interaction-fill__content\">\n {selected.map(field => (\n <ds-chip\n class=\"table-search__chip\"\n key={field.id}\n label={field.label}\n size=\"md\"\n state=\"default\"\n isInset\n insetDepth=\"double\"\n isInactive={this.isInactive}\n onDsRemove={() => this.removeField(field)}\n />\n ))}\n <input\n ref={element => {\n this.inputEl = element ?? null;\n }}\n id={this.inputId}\n class=\"table-search__input ds-text--body-medium ds-text--regular\"\n type=\"search\"\n role=\"combobox\"\n value={inputValue}\n placeholder={this.placeholder}\n disabled={this.isInactive}\n aria-label={this.ariaLabel}\n aria-describedby={this.descriptionId}\n aria-haspopup=\"listbox\"\n aria-expanded={String(this.menuOpen)}\n aria-controls={this.menuOpen ? this.listboxId : undefined}\n aria-activedescendant={this.activeOptionId}\n aria-keyshortcuts=\"/\"\n autoComplete=\"off\"\n autoCapitalize=\"none\"\n autoCorrect=\"off\"\n spellcheck={false}\n onInput={event => this.handleInput(event)}\n onKeyDown={event => this.handleKeyDown(event)}\n />\n </div>\n {inputValue.length > 0 && !this.isInactive && (\n <ds-button-unfilled\n class=\"table-search__clear ds-interaction-fill__content\"\n variant=\"icon\"\n size=\"sm\"\n icon=\"CrossCircle\"\n hasBorder={false}\n rounded\n ariaLabel={this.clearLabel}\n onDsClick={() => this.clearSearch()}\n />\n )}\n </div>\n <span id={this.descriptionId} class=\"ds-visually-hidden\">\n {description}\n </span>\n <span class=\"ds-visually-hidden\" aria-live=\"polite\">\n {this.announcement}\n </span>\n {this.menuOpen && (\n <div\n popover=\"manual\"\n ref={element => {\n this.popupEl = element ?? null;\n }}\n class=\"table-search__popup ds-choice-popup\"\n style={popupStyle}\n >\n <div\n id={this.listboxId}\n class=\"table-search__list ds-choice-list\"\n role=\"listbox\"\n aria-label={this.fieldMenuLabel}\n >\n {visible.map((field, index) => {\n const active = index === this.activeIndex;\n return (\n /* eslint-disable-next-line local/prefer-direct-ds-text -- The option owns listbox semantics and pointer interaction while ds-text remains its typography child. */\n <div\n id={`${this.componentId}-option-${index}`}\n key={field.id}\n class={{\n 'table-search__option': true,\n 'ds-choice-item': true,\n 'ds-control-frame': true,\n 'ds-control--md': true,\n 'ds-focus-ring-inset': true,\n 'ds-focus-ring--visible': active && this.focusRingVisible,\n 'ds-interaction-fill': true,\n 'ds-interaction-fill--selected': active,\n }}\n role=\"option\"\n aria-selected={String(active)}\n onMouseDown={event => event.preventDefault()}\n onMouseMove={() => {\n this.focusRingVisible = false;\n this.activeIndex = index;\n }}\n onClick={() => this.selectField(field)}\n >\n <ds-text\n class=\"ds-choice-item__label ds-control-label-box ds-interaction-fill__content\"\n as=\"span\"\n variant=\"text-body-medium\"\n color={active ? 'primary' : 'secondary'}\n >\n {field.label}\n </ds-text>\n </div>\n );\n })}\n {visible.length === 0 && (\n <div class=\"table-search__empty ds-choice-empty ds-empty-region\">\n <ds-empty-state body=\"No matching data points\" />\n </div>\n )}\n </div>\n </div>\n )}\n </Host>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{p as s,H as e,c as t,h as i,a
|
|
1
|
+
import{p as s,H as e,c as t,h as i,a,t as o}from"./index.js";import{a as n,t as r,n as l,b as c}from"./p-CKarsuR2.js";import{d}from"./p-DBwa1OXP.js";import{d as h}from"./p-BOhpMUwO.js";import{d as m}from"./p-Cea7rROU.js";import{d as u}from"./p-0XTyQNRG.js";import{d as f}from"./p-CQIh2yRP.js";import{d as p}from"./p-BV5T1hzN.js";import{d as b}from"./p-tNQ0YulU.js";import{d as k}from"./p-ji09W9el.js";import{d as E}from"./p-BgLI9JoT.js";import{d as g}from"./p-CbSUyv5B.js";const j=()=>`.sc-ds-table-sort-h{display:inline-flex;min-inline-size:0;max-inline-size:var(--dimension-menu-width-xs)}[hidden].sc-ds-table-sort-h{display:none}`;let w=0;const S=s(class s extends e{constructor(s){super();if(s!==false){this.__registerHost()}this.dsSortChange=t(this,"dsSortChange",3);this.hasBorder=true;this.columns=[];this.sort=null;this.ariaLabel=null;this.menuOpen=false;this.menuSurfaceOpen=false;this.initialFocusVisible=false;this.componentId=`ds-table-sort-${++w}`;this.triggerId=`${this.componentId}-trigger`;this.menuId=`${this.componentId}-menu`}async setFocus(){const s=this.el.querySelector(`#${CSS.escape(this.triggerId)}`);await(s?.setFocus?.())}render(){const s=n(this.columns);const e=this.ariaLabel?.trim()||"Sort table";return i(a,{key:"2aaa434afe09f41e63ec28bf70c1ee4c075ae604",hidden:s.length===0?true:undefined},s.length===0?null:i("ds-button-unfilled",{hasBorder:this.hasBorder,id:this.triggerId,variant:"icon-label",size:"md",icon:"ArrowsVertical",label:"Sort",labelEmphasis:false,pressScale:false,"aria-label":e,haspopup:"menu",collapseLabel:true,expanded:this.menuOpen,surfaceOpen:this.menuSurfaceOpen,controls:this.menuId,onDsClick:s=>{this.toggle(s.detail.detail===0)}}),s.length===0?null:i("ds-menu",{id:this.menuId,open:this.menuOpen,anchorId:this.triggerId,align:"start",side:"bottom",menuLabel:e,selectionMode:"none",initialFocusVisible:this.initialFocusVisible,sections:r(this.columns,this.sort),onDsClose:()=>this.close(),onDsAfterClose:()=>{if(!this.menuOpen)this.menuSurfaceOpen=false},onDsSelect:s=>this.handleSelect(s.detail)}))}toggle(s=false){if(this.menuOpen)this.close();else this.open(s)}open(s=false){if(this.menuOpen)return;this.initialFocusVisible=s;this.menuOpen=true;this.menuSurfaceOpen=true}close(){this.menuOpen=false}handleSelect(s){const e=l(this.columns,this.sort,s);if(c(this.sort,e))return;this.dsSortChange.emit({sort:e})}get el(){return this}static get style(){return j()}},[2,"ds-table-sort",{hasBorder:[4,"has-border"],columns:[16],sort:[16],ariaLabel:[1,"aria-label"],menuOpen:[32],menuSurfaceOpen:[32],initialFocusVisible:[32],setFocus:[64]}]);function x(){if(typeof customElements==="undefined"){return}const s=["ds-table-sort","ds-badge","ds-button-unfilled","ds-icon","ds-loader","ds-menu","ds-swatch-picker","ds-switch","ds-tag","ds-text","ds-tooltip"];s.forEach((s=>{switch(s){case"ds-table-sort":if(!customElements.get(o(s))){customElements.define(o(s),S)}break;case"ds-badge":if(!customElements.get(o(s))){d()}break;case"ds-button-unfilled":if(!customElements.get(o(s))){h()}break;case"ds-icon":if(!customElements.get(o(s))){m()}break;case"ds-loader":if(!customElements.get(o(s))){u()}break;case"ds-menu":if(!customElements.get(o(s))){f()}break;case"ds-swatch-picker":if(!customElements.get(o(s))){p()}break;case"ds-switch":if(!customElements.get(o(s))){b()}break;case"ds-tag":if(!customElements.get(o(s))){k()}break;case"ds-text":if(!customElements.get(o(s))){E()}break;case"ds-tooltip":if(!customElements.get(o(s))){g()}break}}))}x();const y=S;const C=x;export{y as DsTableSort,C as defineCustomElement};
|
|
2
2
|
//# sourceMappingURL=ds-table-sort.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["TABLE_SORT_DIRECTION_ASC","TABLE_SORT_DIRECTION_DESC","TABLE_SORT_FIELD_PREFIX","tableSortFields","columns","fields","seen","Set","column","isTableActionColumn","sortable","segments","headerSegments","filter","segment","sortKey","trim","length","has","add","push","id","label","dataLabel","header","headerLabel","tableSortMenuSections","sort","items","map","field","value","encodeURIComponent","isSelected","columnId","icon","direction","tableSortStatesEqual","left","right","nextTableSortStateFromMenuItem","current","item","some","startsWith","decodeURIComponent","slice","tableSortCss","tableSortSeq","TableSort","__stencil_proxyCustomElement","HTMLElement","constructor","registerHost","this","ariaLabel","menuOpen","menuSurfaceOpen","initialFocusVisible","componentId","triggerId","menuId","setFocus","trigger","el","querySelector","CSS","escape","render","name","h","Host","key","hidden","undefined","variant","size","labelEmphasis","pressScale","hasMenu","collapseLabel","expanded","surfaceOpen","controls","onDsClick","event","toggle","detail","open","anchorId","align","side","menuLabel","selectionMode","sections","onDsClose","close","onDsAfterClose","onDsSelect","handleSelect","fromKeyboard","next","dsSortChange","emit"],"sources":["src/wc/components/TableSort/table-sort-menu.ts","src/wc/components/TableSort/TableSort.css?tag=ds-table-sort&encapsulation=scoped","src/wc/components/TableSort/TableSort.tsx"],"sourcesContent":["import type { MenuItemData, MenuSection } from '../Menu/menu-types';\nimport { isTableActionColumn } from '../Table/table-column-customizer';\nimport type { TableColumn, TableSortState } from '../Table/table-types';\n\nexport const TABLE_SORT_DIRECTION_ASC = 'direction:asc';\nexport const TABLE_SORT_DIRECTION_DESC = 'direction:desc';\nconst TABLE_SORT_FIELD_PREFIX = 'field:';\n\nexport interface TableSortField {\n id: string;\n label: string;\n}\n\n/** Sortable data fields from the catalog, including compound header segments. */\nexport function tableSortFields(columns: readonly TableColumn[]): TableSortField[] {\n const fields: TableSortField[] = [];\n const seen = new Set<string>();\n\n for (const column of columns) {\n if (isTableActionColumn(column) || !column.sortable) continue;\n const segments = column.headerSegments?.filter(segment => segment.sortKey.trim()) ?? [];\n if (segments.length > 0) {\n for (const segment of segments) {\n if (seen.has(segment.sortKey)) continue;\n seen.add(segment.sortKey);\n fields.push({\n id: segment.sortKey,\n label: segment.dataLabel?.trim() || segment.label.trim() || segment.sortKey,\n });\n }\n continue;\n }\n if (seen.has(column.id)) continue;\n seen.add(column.id);\n fields.push({\n id: column.id,\n label:\n column.dataLabel?.trim() || column.header.trim() || column.headerLabel?.trim() || column.id,\n });\n }\n\n return fields;\n}\n\nexport function tableSortMenuSections(\n columns: readonly TableColumn[],\n sort: TableSortState | null | undefined\n): MenuSection[] {\n const fields = tableSortFields(columns);\n return [\n {\n header: 'Data',\n items: fields.map(field => ({\n label: field.label,\n value: `${TABLE_SORT_FIELD_PREFIX}${encodeURIComponent(field.id)}`,\n isSelected: sort?.columnId === field.id,\n })),\n },\n {\n header: 'Order',\n items: [\n {\n label: 'Ascending',\n value: TABLE_SORT_DIRECTION_ASC,\n icon: 'ArrowUp',\n isSelected: sort?.direction === 'asc',\n },\n {\n label: 'Descending',\n value: TABLE_SORT_DIRECTION_DESC,\n icon: 'ArrowDown',\n isSelected: sort?.direction === 'desc',\n },\n ],\n },\n ];\n}\n\nexport function tableSortStatesEqual(\n left: TableSortState | null | undefined,\n right: TableSortState | null | undefined\n): boolean {\n if (left === right) return true;\n if (!left || !right) return false;\n return left.columnId === right.columnId && left.direction === right.direction;\n}\n\n/** Next controlled sort from a Sort menu selection. Does not toggle like a header click. */\nexport function nextTableSortStateFromMenuItem(\n columns: readonly TableColumn[],\n current: TableSortState | null | undefined,\n item: MenuItemData\n): TableSortState | null {\n const fields = tableSortFields(columns);\n if (fields.length === 0) return current ?? null;\n\n if (item.value === TABLE_SORT_DIRECTION_ASC || item.value === TABLE_SORT_DIRECTION_DESC) {\n const direction = item.value === TABLE_SORT_DIRECTION_ASC ? 'asc' : 'desc';\n const columnId = fields.some(field => field.id === current?.columnId)\n ? current!.columnId\n : fields[0]!.id;\n return { columnId, direction };\n }\n\n if (!item.value?.startsWith(TABLE_SORT_FIELD_PREFIX)) return current ?? null;\n let columnId: string;\n try {\n columnId = decodeURIComponent(item.value.slice(TABLE_SORT_FIELD_PREFIX.length));\n } catch {\n return current ?? null;\n }\n if (!fields.some(field => field.id === columnId)) return current ?? null;\n if (current?.columnId === columnId) return current ?? null;\n return { columnId, direction: current?.direction ?? 'asc' };\n}\n",":host {\n display: inline-flex;\n min-inline-size: 0;\n max-inline-size: var(--dimension-menu-width-xs);\n}\n\n:host([hidden]) {\n display: none;\n}\n","import {\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Host,\n Method,\n Prop,\n State,\n} from '@stencil/core';\nimport type { MenuItemData } from '../Menu/menu-types';\nimport type { TableColumn, TableSortChangeDetail, TableSortState } from '../Table/table-types';\nimport {\n nextTableSortStateFromMenuItem,\n tableSortFields,\n tableSortMenuSections,\n tableSortStatesEqual,\n} from './table-sort-menu';\n\nlet tableSortSeq = 0;\n\n@Component({\n tag: 'ds-table-sort',\n styleUrl: 'TableSort.css',\n scoped: true,\n})\nexport class TableSort {\n @Element() private el!: HTMLElement;\n\n /** Catalog used to derive sortable fields, including compound header segments. */\n @Prop() columns: TableColumn[] = [];\n /** Controlled table sort. Header sorting and this menu share the same value. */\n @Prop() sort: TableSortState | null = null;\n /** Accessible name for the trigger and menu. */\n @Prop({ attribute: 'aria-label' }) ariaLabel: string | null = null;\n\n @Event({ bubbles: false }) dsSortChange!: EventEmitter<TableSortChangeDetail>;\n\n @State() private menuOpen = false;\n @State() private menuSurfaceOpen = false;\n @State() private initialFocusVisible = false;\n\n private readonly componentId = `ds-table-sort-${++tableSortSeq}`;\n private readonly triggerId = `${this.componentId}-trigger`;\n private readonly menuId = `${this.componentId}-menu`;\n\n @Method()\n async setFocus() {\n const trigger = this.el.querySelector<HTMLElement & { setFocus?: () => Promise<void> }>(\n `#${CSS.escape(this.triggerId)}`\n );\n await trigger?.setFocus?.();\n }\n\n render() {\n const fields = tableSortFields(this.columns);\n const name = this.ariaLabel?.trim() || 'Sort table';\n\n return (\n <Host hidden={fields.length === 0 ? true : undefined}>\n {fields.length === 0 ? null : (\n <ds-button-unfilled\n id={this.triggerId}\n variant=\"icon-label\"\n size=\"md\"\n icon=\"ArrowsVertical\"\n label=\"Sort\"\n labelEmphasis={false}\n pressScale={false}\n aria-label={name}\n hasMenu={true}\n collapseLabel={true}\n expanded={this.menuOpen}\n surfaceOpen={this.menuSurfaceOpen}\n controls={this.menuId}\n onDsClick={(event: CustomEvent<MouseEvent>) => {\n this.toggle(event.detail.detail === 0);\n }}\n />\n )}\n {fields.length === 0 ? null : (\n <ds-menu\n id={this.menuId}\n open={this.menuOpen}\n anchorId={this.triggerId}\n align=\"start\"\n side=\"bottom\"\n menuLabel={name}\n selectionMode=\"none\"\n initialFocusVisible={this.initialFocusVisible}\n sections={tableSortMenuSections(this.columns, this.sort)}\n onDsClose={() => this.close()}\n onDsAfterClose={() => {\n if (!this.menuOpen) this.menuSurfaceOpen = false;\n }}\n onDsSelect={event => this.handleSelect(event.detail)}\n />\n )}\n </Host>\n );\n }\n\n private toggle(fromKeyboard = false): void {\n if (this.menuOpen) this.close();\n else this.open(fromKeyboard);\n }\n\n private open(fromKeyboard = false): void {\n if (this.menuOpen) return;\n this.initialFocusVisible = fromKeyboard;\n this.menuOpen = true;\n this.menuSurfaceOpen = true;\n }\n\n private close(): void {\n this.menuOpen = false;\n }\n\n private handleSelect(item: MenuItemData): void {\n const next = nextTableSortStateFromMenuItem(this.columns, this.sort, item);\n if (tableSortStatesEqual(this.sort, next)) return;\n this.dsSortChange.emit({ sort: next });\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["tableSortCss","tableSortSeq","TableSort","__stencil_proxyCustomElement","HTMLElement","constructor","registerHost","this","hasBorder","columns","sort","ariaLabel","menuOpen","menuSurfaceOpen","initialFocusVisible","componentId","triggerId","menuId","setFocus","trigger","el","querySelector","CSS","escape","render","fields","tableSortFields","name","trim","h","Host","key","hidden","length","undefined","id","variant","size","icon","label","labelEmphasis","pressScale","haspopup","collapseLabel","expanded","surfaceOpen","controls","onDsClick","event","toggle","detail","open","anchorId","align","side","menuLabel","selectionMode","sections","tableSortMenuSections","onDsClose","close","onDsAfterClose","onDsSelect","handleSelect","fromKeyboard","item","next","nextTableSortStateFromMenuItem","tableSortStatesEqual","dsSortChange","emit"],"sources":["src/wc/components/TableSort/TableSort.css?tag=ds-table-sort&encapsulation=scoped","src/wc/components/TableSort/TableSort.tsx"],"sourcesContent":[":host {\n display: inline-flex;\n min-inline-size: 0;\n max-inline-size: var(--dimension-menu-width-xs);\n}\n\n:host([hidden]) {\n display: none;\n}\n","import {\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Host,\n Method,\n Prop,\n State,\n} from '@stencil/core';\nimport type { MenuItemData } from '../Menu/menu-types';\nimport type { TableColumn, TableSortChangeDetail, TableSortState } from '../Table/table-types';\nimport {\n nextTableSortStateFromMenuItem,\n tableSortFields,\n tableSortMenuSections,\n tableSortStatesEqual,\n} from './table-sort-menu';\n\nlet tableSortSeq = 0;\n\n@Component({\n tag: 'ds-table-sort',\n styleUrl: 'TableSort.css',\n scoped: true,\n})\nexport class TableSort {\n @Element() private el!: HTMLElement;\n\n /** Catalog used to derive sortable fields, including compound header segments. */\n /** Show the trigger border. */\n @Prop() hasBorder: boolean = true;\n @Prop() columns: TableColumn[] = [];\n /** Controlled table sort. Header sorting and this menu share the same value. */\n @Prop() sort: TableSortState | null = null;\n /** Accessible name for the trigger and menu. */\n @Prop({ attribute: 'aria-label' }) ariaLabel: string | null = null;\n\n @Event({ bubbles: false }) dsSortChange!: EventEmitter<TableSortChangeDetail>;\n\n @State() private menuOpen = false;\n @State() private menuSurfaceOpen = false;\n @State() private initialFocusVisible = false;\n\n private readonly componentId = `ds-table-sort-${++tableSortSeq}`;\n private readonly triggerId = `${this.componentId}-trigger`;\n private readonly menuId = `${this.componentId}-menu`;\n\n @Method()\n async setFocus() {\n const trigger = this.el.querySelector<HTMLElement & { setFocus?: () => Promise<void> }>(\n `#${CSS.escape(this.triggerId)}`\n );\n await trigger?.setFocus?.();\n }\n\n render() {\n const fields = tableSortFields(this.columns);\n const name = this.ariaLabel?.trim() || 'Sort table';\n\n return (\n <Host hidden={fields.length === 0 ? true : undefined}>\n {fields.length === 0 ? null : (\n <ds-button-unfilled\n hasBorder={this.hasBorder}\n id={this.triggerId}\n variant=\"icon-label\"\n size=\"md\"\n icon=\"ArrowsVertical\"\n label=\"Sort\"\n labelEmphasis={false}\n pressScale={false}\n aria-label={name}\n haspopup=\"menu\"\n collapseLabel={true}\n expanded={this.menuOpen}\n surfaceOpen={this.menuSurfaceOpen}\n controls={this.menuId}\n onDsClick={(event: CustomEvent<MouseEvent>) => {\n this.toggle(event.detail.detail === 0);\n }}\n />\n )}\n {fields.length === 0 ? null : (\n <ds-menu\n id={this.menuId}\n open={this.menuOpen}\n anchorId={this.triggerId}\n align=\"start\"\n side=\"bottom\"\n menuLabel={name}\n selectionMode=\"none\"\n initialFocusVisible={this.initialFocusVisible}\n sections={tableSortMenuSections(this.columns, this.sort)}\n onDsClose={() => this.close()}\n onDsAfterClose={() => {\n if (!this.menuOpen) this.menuSurfaceOpen = false;\n }}\n onDsSelect={event => this.handleSelect(event.detail)}\n />\n )}\n </Host>\n );\n }\n\n private toggle(fromKeyboard = false): void {\n if (this.menuOpen) this.close();\n else this.open(fromKeyboard);\n }\n\n private open(fromKeyboard = false): void {\n if (this.menuOpen) return;\n this.initialFocusVisible = fromKeyboard;\n this.menuOpen = true;\n this.menuSurfaceOpen = true;\n }\n\n private close(): void {\n this.menuOpen = false;\n }\n\n private handleSelect(item: MenuItemData): void {\n const next = nextTableSortStateFromMenuItem(this.columns, this.sort, item);\n if (tableSortStatesEqual(this.sort, next)) return;\n this.dsSortChange.emit({ sort: next });\n }\n}\n"],"mappings":"ydAAA,MAAMA,EAAe,IAAM,qJCoB3B,IAAIC,EAAe,E,MAONC,EAASC,EAAA,MAAAD,UAAAE,EALtB,WAAAC,CAAAC,G,uFAUUC,KAAAC,UAAqB,KACrBD,KAAAE,QAAyB,GAEzBF,KAAAG,KAA8B,KAEHH,KAAAI,UAA2B,KAI7CJ,KAAAK,SAAW,MACXL,KAAAM,gBAAkB,MAClBN,KAAAO,oBAAsB,MAEtBP,KAAAQ,YAAc,mBAAmBd,IACjCM,KAAAS,UAAY,GAAGT,KAAKQ,sBACpBR,KAAAU,OAAS,GAAGV,KAAKQ,kBAgFnC,CA7EC,cAAMG,GACJ,MAAMC,EAAUZ,KAAKa,GAAGC,cACtB,IAAIC,IAAIC,OAAOhB,KAAKS,oBAEhBG,GAASD,a,CAGjB,MAAAM,GACE,MAAMC,EAASC,EAAgBnB,KAAKE,SACpC,MAAMkB,EAAOpB,KAAKI,WAAWiB,QAAU,aAEvC,OACEC,EAACC,EAAI,CAAAC,IAAA,2CAACC,OAAQP,EAAOQ,SAAW,EAAI,KAAOC,WACxCT,EAAOQ,SAAW,EAAI,KACrBJ,EAAA,sBACErB,UAAWD,KAAKC,UAChB2B,GAAI5B,KAAKS,UACToB,QAAQ,aACRC,KAAK,KACLC,KAAK,iBACLC,MAAM,OACNC,cAAe,MACfC,WAAY,MAAK,aACLd,EACZe,SAAS,OACTC,cAAe,KACfC,SAAUrC,KAAKK,SACfiC,YAAatC,KAAKM,gBAClBiC,SAAUvC,KAAKU,OACf8B,UAAYC,IACVzC,KAAK0C,OAAOD,EAAME,OAAOA,SAAW,EAAE,IAI3CzB,EAAOQ,SAAW,EAAI,KACrBJ,EAAA,WACEM,GAAI5B,KAAKU,OACTkC,KAAM5C,KAAKK,SACXwC,SAAU7C,KAAKS,UACfqC,MAAM,QACNC,KAAK,SACLC,UAAW5B,EACX6B,cAAc,OACd1C,oBAAqBP,KAAKO,oBAC1B2C,SAAUC,EAAsBnD,KAAKE,QAASF,KAAKG,MACnDiD,UAAW,IAAMpD,KAAKqD,QACtBC,eAAgB,KACd,IAAKtD,KAAKK,SAAUL,KAAKM,gBAAkB,KAAK,EAElDiD,WAAYd,GAASzC,KAAKwD,aAAaf,EAAME,U,CAO/C,MAAAD,CAAOe,EAAe,OAC5B,GAAIzD,KAAKK,SAAUL,KAAKqD,aACnBrD,KAAK4C,KAAKa,E,CAGT,IAAAb,CAAKa,EAAe,OAC1B,GAAIzD,KAAKK,SAAU,OACnBL,KAAKO,oBAAsBkD,EAC3BzD,KAAKK,SAAW,KAChBL,KAAKM,gBAAkB,I,CAGjB,KAAA+C,GACNrD,KAAKK,SAAW,K,CAGV,YAAAmD,CAAaE,GACnB,MAAMC,EAAOC,EAA+B5D,KAAKE,QAASF,KAAKG,KAAMuD,GACrE,GAAIG,EAAqB7D,KAAKG,KAAMwD,GAAO,OAC3C3D,KAAK8D,aAAaC,KAAK,CAAE5D,KAAMwD,G","ignoreList":[]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{p as t,H as a,h as e,a as l,t as o}from"./index.js";import{d as s}from"./p-
|
|
1
|
+
import{p as t,H as a,h as e,a as l,t as o}from"./index.js";import{d as s}from"./p-Ds51RgCi.js";const b=()=>`.sc-ds-table-toolbar-h{--ds-control-press-active-scale:var(--dimension-scale-default);display:block;min-inline-size:0;max-inline-size:100%}[slot='header'].sc-ds-table-toolbar-h{display:contents;max-inline-size:none}.table-toolbar.sc-ds-table-toolbar{box-sizing:border-box;display:flex;align-items:center;inline-size:100%;min-inline-size:0;gap:var(--dimension-space-100);overflow-x:auto;overflow-y:hidden;scrollbar-width:none}[slot='header'].sc-ds-table-toolbar-h .table-toolbar.sc-ds-table-toolbar{display:contents}.table-toolbar.sc-ds-table-toolbar::-webkit-scrollbar{display:none}.table-toolbar__start.sc-ds-table-toolbar,.table-toolbar__search.sc-ds-table-toolbar,.table-toolbar__leading.sc-ds-table-toolbar,.table-toolbar__trailing.sc-ds-table-toolbar{display:flex;align-items:center;min-inline-size:0;gap:var(--dimension-space-100)}.table-toolbar__start.sc-ds-table-toolbar{flex:0 0 auto;min-inline-size:0;max-inline-size:var(--dimension-menu-width-xs);overflow:hidden}.table-toolbar__rule.sc-ds-table-toolbar{flex:0 0 auto}.table-toolbar__search.sc-ds-table-toolbar{flex:1 1 0;max-inline-size:none;contain:inline-size}.table-toolbar__slot--empty.sc-ds-table-toolbar{display:none}.table-toolbar__leading.sc-ds-table-toolbar{flex:0 0 auto}.table-toolbar__trailing.sc-ds-table-toolbar{flex:0 0 auto;margin-inline-start:auto}.table-toolbar__trailing.sc-ds-table-toolbar>*.sc-ds-table-toolbar,.table-toolbar.sc-ds-table-toolbar [slot='start'].sc-ds-table-toolbar,.table-toolbar.sc-ds-table-toolbar ds-table-filter.sc-ds-table-toolbar,.table-toolbar.sc-ds-table-toolbar ds-filter-menu.sc-ds-table-toolbar,.table-toolbar.sc-ds-table-toolbar ds-select.sc-ds-table-toolbar,.table-toolbar.sc-ds-table-toolbar ds-table-group.sc-ds-table-toolbar,.table-toolbar.sc-ds-table-toolbar ds-table-sort.sc-ds-table-toolbar{min-inline-size:0;max-inline-size:var(--dimension-menu-width-xs);--ds-choice-popup-min-inline-size:var(--dimension-menu-width-xs)}.table-toolbar__trailing.sc-ds-table-toolbar>*.sc-ds-table-toolbar{flex:0 0 auto}.table-toolbar__start.sc-ds-table-toolbar slot.sc-ds-table-toolbar,.table-toolbar__search.sc-ds-table-toolbar slot.sc-ds-table-toolbar,.table-toolbar__leading.sc-ds-table-toolbar slot.sc-ds-table-toolbar,.table-toolbar__trailing.sc-ds-table-toolbar slot.sc-ds-table-toolbar{display:contents}`;const r=1<<0;const i=1<<1;const n=1<<2;const d=1<<3;const c=t(class t extends a{constructor(t){super();if(t!==false){this.__registerHost()}this.label="Table controls";this.borderless=false;this.slotPresence=0;this.syncSlotPresence=()=>{let t=0;if(this.hasOwnedSlot("start"))t|=r;if(this.hasOwnedSlot("search"))t|=i;if(this.hasOwnedSlot("leading"))t|=n;if(this.hasOwnedSlot("trailing"))t|=d;if(t!==this.slotPresence)this.slotPresence=t}}componentWillLoad(){this.syncSlotPresence()}hasOwnedSlot(t){return Array.from(this.el.querySelectorAll(`[slot="${t}"]`)).some((t=>t.closest("ds-table-toolbar")===this.el))}render(){const t=(this.slotPresence&r)!==0;const a=(this.slotPresence&i)!==0;const o=(this.slotPresence&n)!==0;const s=(this.slotPresence&d)!==0;return e(l,{key:"a08cc46a754b9032f6a381fe0b7a9d27c69456d7"},e("div",{key:"9eba159b2b84260b7e8aaa79bbfe95efe59badfd",class:"table-toolbar",role:"toolbar","aria-label":this.label},e("div",{key:"6940a5d414ed61f53ae54ef4d829db60ff250ac2",class:{"table-toolbar__start":true,"table-toolbar__slot--empty":!t}},e("slot",{key:"12bb0d93e232817674e0d05d043f3dc3e3030147",name:"start",onSlotchange:this.syncSlotPresence})),e("ds-divider",{key:"636e06bbab311c9a4621ce6905fd2fe164a062ae",class:{"table-toolbar__rule":true,"table-toolbar__slot--empty":!this.borderless||!t||!(a||o||s)},orientation:"vertical",length:"var(--dimension-space-250)"}),e("div",{key:"3fa31e75a5a73f1d94f627090e18bdf782f0962a",class:{"table-toolbar__search":true,"table-toolbar__slot--empty":!a}},e("slot",{key:"1fa6c8ed304851c1cff99ff863f4282ae42bcfe6",name:"search",onSlotchange:this.syncSlotPresence})),e("ds-divider",{key:"13076beefb5c5a40b243077fc00bed3c4392ea98",class:{"table-toolbar__rule":true,"table-toolbar__slot--empty":!this.borderless||!a||!(o||s)},orientation:"vertical",length:"var(--dimension-space-250)"}),e("div",{key:"47c109519c9cf2c43f7a709743cb947f776a68c8",class:{"table-toolbar__leading":true,"table-toolbar__slot--empty":!o}},e("slot",{key:"bb7ad0a6ae7e21f377b7731e151ffe9992c3a01c",name:"leading",onSlotchange:this.syncSlotPresence})),e("div",{key:"ff88571bf7f977dde0e18c2af7b40598a0e614eb",class:{"table-toolbar__trailing":true,"table-toolbar__slot--empty":!s}},e("slot",{key:"fa909e9ed9cdb1e5fbc2cdc82d76dad2b48a0e57",name:"trailing",onSlotchange:this.syncSlotPresence}))))}get el(){return this}static get style(){return b()}},[262,"ds-table-toolbar",{label:[1],borderless:[4],slotPresence:[32]}]);function f(){if(typeof customElements==="undefined"){return}const t=["ds-table-toolbar","ds-divider"];t.forEach((t=>{switch(t){case"ds-table-toolbar":if(!customElements.get(o(t))){customElements.define(o(t),c)}break;case"ds-divider":if(!customElements.get(o(t))){s()}break}}))}f();const _=c;const h=f;export{_ as DsTableToolbar,h as defineCustomElement};
|
|
2
2
|
//# sourceMappingURL=ds-table-toolbar.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["tableToolbarCss","TABLE_TOOLBAR_SLOT_START","TABLE_TOOLBAR_SLOT_SEARCH","TABLE_TOOLBAR_SLOT_LEADING","TABLE_TOOLBAR_SLOT_TRAILING","TableToolbar","__stencil_proxyCustomElement","HTMLElement","constructor","registerHost","this","label","slotPresence","syncSlotPresence","presence","hasOwnedSlot","componentWillLoad","name","Array","from","el","querySelectorAll","some","element","closest","render","hasStart","hasSearch","hasLeading","hasTrailing","h","Host","key","class","role","onSlotchange","orientation","length"],"sources":["src/wc/components/TableToolbar/TableToolbar.css?tag=ds-table-toolbar&encapsulation=scoped","src/wc/components/TableToolbar/TableToolbar.tsx"],"sourcesContent":[":host {\n --ds-control-press-active-scale: var(--dimension-scale-default);\n\n display: block;\n min-inline-size: 0;\n max-inline-size: 100%;\n}\n\n/* A table caption owns overflow for the complete application + table control row. */\n:host([slot='header']) {\n display: contents;\n max-inline-size: none;\n}\n\n.table-toolbar {\n box-sizing: border-box;\n display: flex;\n align-items: center;\n inline-size: 100%;\n min-inline-size: 0;\n gap: var(--dimension-space-100);\n overflow-x: auto;\n overflow-y: hidden;\n scrollbar-width: none;\n}\n\n:host([slot='header']) .table-toolbar {\n display: contents;\n}\n\n.table-toolbar::-webkit-scrollbar {\n display: none;\n}\n\n.table-toolbar__start,\n.table-toolbar__search,\n.table-toolbar__leading,\n.table-toolbar__trailing {\n display: flex;\n align-items: center;\n min-inline-size: 0;\n gap: var(--dimension-space-100);\n}\n\n.table-toolbar__start {\n flex: 0 0 auto;\n min-inline-size: 0;\n max-inline-size: var(--dimension-menu-width-xs);\n overflow: hidden;\n}\n\n.table-toolbar__rule {\n flex: 0 0 auto;\n}\n\n.table-toolbar__search {\n flex: 1 1 0;\n max-inline-size: none;\n contain: inline-size;\n}\n\n.table-toolbar__slot--empty {\n display: none;\n}\n\n.table-toolbar__leading {\n flex: 0 0 auto;\n}\n\n.table-toolbar__trailing {\n flex: 0 0 auto;\n margin-inline-start: auto;\n}\n\n.table-toolbar__trailing > *,\n.table-toolbar [slot='start'],\n.table-toolbar ds-table-filter,\n.table-toolbar ds-filter-menu,\n.table-toolbar ds-select,\n.table-toolbar ds-table-group,\n.table-toolbar ds-table-sort {\n min-inline-size: 0;\n max-inline-size: var(--dimension-menu-width-xs);\n --ds-choice-popup-min-inline-size: var(--dimension-menu-width-xs);\n}\n\n.table-toolbar__trailing > * {\n flex: 0 0 auto;\n}\n\n.table-toolbar__start slot,\n.table-toolbar__search slot,\n.table-toolbar__leading slot,\n.table-toolbar__trailing slot {\n display: contents;\n}\n","import { Component, Element, h, Host, Prop, State } from '@stencil/core';\n\nconst TABLE_TOOLBAR_SLOT_START = 1 << 0;\nconst TABLE_TOOLBAR_SLOT_SEARCH = 1 << 1;\nconst TABLE_TOOLBAR_SLOT_LEADING = 1 << 2;\nconst TABLE_TOOLBAR_SLOT_TRAILING = 1 << 3;\n\n@Component({\n tag: 'ds-table-toolbar',\n styleUrl: 'TableToolbar.css',\n scoped: true,\n})\nexport class TableToolbar {\n @Element() el!: HTMLElement;\n\n /** Accessible name for the grouped table controls. */\n @Prop() label: string = 'Table controls';\n\n @State() private slotPresence = 0;\n\n componentWillLoad(): void {\n this.syncSlotPresence();\n }\n\n private hasOwnedSlot(name: string): boolean {\n return Array.from(this.el.querySelectorAll<HTMLElement>(`[slot=\"${name}\"]`)).some(\n element => element.closest('ds-table-toolbar') === this.el\n );\n }\n\n private syncSlotPresence = () => {\n let presence = 0;\n if (this.hasOwnedSlot('start')) presence |= TABLE_TOOLBAR_SLOT_START;\n if (this.hasOwnedSlot('search')) presence |= TABLE_TOOLBAR_SLOT_SEARCH;\n if (this.hasOwnedSlot('leading')) presence |= TABLE_TOOLBAR_SLOT_LEADING;\n if (this.hasOwnedSlot('trailing')) presence |= TABLE_TOOLBAR_SLOT_TRAILING;\n if (presence !== this.slotPresence) this.slotPresence = presence;\n };\n\n render() {\n const hasStart = (this.slotPresence & TABLE_TOOLBAR_SLOT_START) !== 0;\n const hasSearch = (this.slotPresence & TABLE_TOOLBAR_SLOT_SEARCH) !== 0;\n const hasLeading = (this.slotPresence & TABLE_TOOLBAR_SLOT_LEADING) !== 0;\n const hasTrailing = (this.slotPresence & TABLE_TOOLBAR_SLOT_TRAILING) !== 0;\n\n return (\n <Host>\n <div class=\"table-toolbar\" role=\"toolbar\" aria-label={this.label}>\n <div\n class={{\n 'table-toolbar__start': true,\n 'table-toolbar__slot--empty': !hasStart,\n }}\n >\n <slot name=\"start\" onSlotchange={this.syncSlotPresence} />\n </div>\n <ds-divider\n class={{\n 'table-toolbar__rule': true,\n 'table-toolbar__slot--empty'
|
|
1
|
+
{"version":3,"names":["tableToolbarCss","TABLE_TOOLBAR_SLOT_START","TABLE_TOOLBAR_SLOT_SEARCH","TABLE_TOOLBAR_SLOT_LEADING","TABLE_TOOLBAR_SLOT_TRAILING","TableToolbar","__stencil_proxyCustomElement","HTMLElement","constructor","registerHost","this","label","borderless","slotPresence","syncSlotPresence","presence","hasOwnedSlot","componentWillLoad","name","Array","from","el","querySelectorAll","some","element","closest","render","hasStart","hasSearch","hasLeading","hasTrailing","h","Host","key","class","role","onSlotchange","orientation","length"],"sources":["src/wc/components/TableToolbar/TableToolbar.css?tag=ds-table-toolbar&encapsulation=scoped","src/wc/components/TableToolbar/TableToolbar.tsx"],"sourcesContent":[":host {\n --ds-control-press-active-scale: var(--dimension-scale-default);\n\n display: block;\n min-inline-size: 0;\n max-inline-size: 100%;\n}\n\n/* A table caption owns overflow for the complete application + table control row. */\n:host([slot='header']) {\n display: contents;\n max-inline-size: none;\n}\n\n.table-toolbar {\n box-sizing: border-box;\n display: flex;\n align-items: center;\n inline-size: 100%;\n min-inline-size: 0;\n gap: var(--dimension-space-100);\n overflow-x: auto;\n overflow-y: hidden;\n scrollbar-width: none;\n}\n\n:host([slot='header']) .table-toolbar {\n display: contents;\n}\n\n.table-toolbar::-webkit-scrollbar {\n display: none;\n}\n\n.table-toolbar__start,\n.table-toolbar__search,\n.table-toolbar__leading,\n.table-toolbar__trailing {\n display: flex;\n align-items: center;\n min-inline-size: 0;\n gap: var(--dimension-space-100);\n}\n\n.table-toolbar__start {\n flex: 0 0 auto;\n min-inline-size: 0;\n max-inline-size: var(--dimension-menu-width-xs);\n overflow: hidden;\n}\n\n.table-toolbar__rule {\n flex: 0 0 auto;\n}\n\n.table-toolbar__search {\n flex: 1 1 0;\n max-inline-size: none;\n contain: inline-size;\n}\n\n.table-toolbar__slot--empty {\n display: none;\n}\n\n.table-toolbar__leading {\n flex: 0 0 auto;\n}\n\n.table-toolbar__trailing {\n flex: 0 0 auto;\n margin-inline-start: auto;\n}\n\n.table-toolbar__trailing > *,\n.table-toolbar [slot='start'],\n.table-toolbar ds-table-filter,\n.table-toolbar ds-filter-menu,\n.table-toolbar ds-select,\n.table-toolbar ds-table-group,\n.table-toolbar ds-table-sort {\n min-inline-size: 0;\n max-inline-size: var(--dimension-menu-width-xs);\n --ds-choice-popup-min-inline-size: var(--dimension-menu-width-xs);\n}\n\n.table-toolbar__trailing > * {\n flex: 0 0 auto;\n}\n\n.table-toolbar__start slot,\n.table-toolbar__search slot,\n.table-toolbar__leading slot,\n.table-toolbar__trailing slot {\n display: contents;\n}\n","import { Component, Element, h, Host, Prop, State } from '@stencil/core';\n\nconst TABLE_TOOLBAR_SLOT_START = 1 << 0;\nconst TABLE_TOOLBAR_SLOT_SEARCH = 1 << 1;\nconst TABLE_TOOLBAR_SLOT_LEADING = 1 << 2;\nconst TABLE_TOOLBAR_SLOT_TRAILING = 1 << 3;\n\n@Component({\n tag: 'ds-table-toolbar',\n styleUrl: 'TableToolbar.css',\n scoped: true,\n})\nexport class TableToolbar {\n @Element() el!: HTMLElement;\n\n /** Accessible name for the grouped table controls. */\n @Prop() label: string = 'Table controls';\n\n /** Use separators between regions when composing borderless controls. */\n @Prop() borderless: boolean = false;\n\n @State() private slotPresence = 0;\n\n componentWillLoad(): void {\n this.syncSlotPresence();\n }\n\n private hasOwnedSlot(name: string): boolean {\n return Array.from(this.el.querySelectorAll<HTMLElement>(`[slot=\"${name}\"]`)).some(\n element => element.closest('ds-table-toolbar') === this.el\n );\n }\n\n private syncSlotPresence = () => {\n let presence = 0;\n if (this.hasOwnedSlot('start')) presence |= TABLE_TOOLBAR_SLOT_START;\n if (this.hasOwnedSlot('search')) presence |= TABLE_TOOLBAR_SLOT_SEARCH;\n if (this.hasOwnedSlot('leading')) presence |= TABLE_TOOLBAR_SLOT_LEADING;\n if (this.hasOwnedSlot('trailing')) presence |= TABLE_TOOLBAR_SLOT_TRAILING;\n if (presence !== this.slotPresence) this.slotPresence = presence;\n };\n\n render() {\n const hasStart = (this.slotPresence & TABLE_TOOLBAR_SLOT_START) !== 0;\n const hasSearch = (this.slotPresence & TABLE_TOOLBAR_SLOT_SEARCH) !== 0;\n const hasLeading = (this.slotPresence & TABLE_TOOLBAR_SLOT_LEADING) !== 0;\n const hasTrailing = (this.slotPresence & TABLE_TOOLBAR_SLOT_TRAILING) !== 0;\n\n return (\n <Host>\n <div class=\"table-toolbar\" role=\"toolbar\" aria-label={this.label}>\n <div\n class={{\n 'table-toolbar__start': true,\n 'table-toolbar__slot--empty': !hasStart,\n }}\n >\n <slot name=\"start\" onSlotchange={this.syncSlotPresence} />\n </div>\n <ds-divider\n class={{\n 'table-toolbar__rule': true,\n 'table-toolbar__slot--empty':\n !this.borderless || !hasStart || !(hasSearch || hasLeading || hasTrailing),\n }}\n orientation=\"vertical\"\n length=\"var(--dimension-space-250)\"\n />\n <div\n class={{\n 'table-toolbar__search': true,\n 'table-toolbar__slot--empty': !hasSearch,\n }}\n >\n <slot name=\"search\" onSlotchange={this.syncSlotPresence} />\n </div>\n <ds-divider\n class={{\n 'table-toolbar__rule': true,\n 'table-toolbar__slot--empty':\n !this.borderless || !hasSearch || !(hasLeading || hasTrailing),\n }}\n orientation=\"vertical\"\n length=\"var(--dimension-space-250)\"\n />\n <div\n class={{\n 'table-toolbar__leading': true,\n 'table-toolbar__slot--empty': !hasLeading,\n }}\n >\n <slot name=\"leading\" onSlotchange={this.syncSlotPresence} />\n </div>\n <div\n class={{\n 'table-toolbar__trailing': true,\n 'table-toolbar__slot--empty': !hasTrailing,\n }}\n >\n <slot name=\"trailing\" onSlotchange={this.syncSlotPresence} />\n </div>\n </div>\n </Host>\n );\n }\n}\n"],"mappings":"+FAAA,MAAMA,EAAkB,IAAM,0wECE9B,MAAMC,EAA2B,GAAK,EACtC,MAAMC,EAA4B,GAAK,EACvC,MAAMC,EAA6B,GAAK,EACxC,MAAMC,EAA8B,GAAK,E,MAO5BC,EAAYC,EAAA,MAAAD,UAAAE,EALzB,WAAAC,CAAAC,G,4CASUC,KAAAC,MAAgB,iBAGhBD,KAAAE,WAAsB,MAEbF,KAAAG,aAAe,EAYxBH,KAAAI,iBAAmB,KACzB,IAAIC,EAAW,EACf,GAAIL,KAAKM,aAAa,SAAUD,GAAYd,EAC5C,GAAIS,KAAKM,aAAa,UAAWD,GAAYb,EAC7C,GAAIQ,KAAKM,aAAa,WAAYD,GAAYZ,EAC9C,GAAIO,KAAKM,aAAa,YAAaD,GAAYX,EAC/C,GAAIW,IAAaL,KAAKG,aAAcH,KAAKG,aAAeE,CAAQ,CAkEnE,CAlFC,iBAAAE,GACEP,KAAKI,kB,CAGC,YAAAE,CAAaE,GACnB,OAAOC,MAAMC,KAAKV,KAAKW,GAAGC,iBAA8B,UAAUJ,QAAWK,MAC3EC,GAAWA,EAAQC,QAAQ,sBAAwBf,KAAKW,I,CAa5D,MAAAK,GACE,MAAMC,GAAYjB,KAAKG,aAAeZ,KAA8B,EACpE,MAAM2B,GAAalB,KAAKG,aAAeX,KAA+B,EACtE,MAAM2B,GAAcnB,KAAKG,aAAeV,KAAgC,EACxE,MAAM2B,GAAepB,KAAKG,aAAeT,KAAiC,EAE1E,OACE2B,EAACC,EAAI,CAAAC,IAAA,4CACHF,EAAA,OAAAE,IAAA,2CAAKC,MAAM,gBAAgBC,KAAK,UAAS,aAAazB,KAAKC,OACzDoB,EAAA,OAAAE,IAAA,2CACEC,MAAO,CACL,uBAAwB,KACxB,8BAA+BP,IAGjCI,EAAA,QAAAE,IAAA,2CAAMf,KAAK,QAAQkB,aAAc1B,KAAKI,oBAExCiB,EAAA,cAAAE,IAAA,2CACEC,MAAO,CACL,sBAAuB,KACvB,8BACGxB,KAAKE,aAAee,KAAcC,GAAaC,GAAcC,IAElEO,YAAY,WACZC,OAAO,+BAETP,EAAA,OAAAE,IAAA,2CACEC,MAAO,CACL,wBAAyB,KACzB,8BAA+BN,IAGjCG,EAAA,QAAAE,IAAA,2CAAMf,KAAK,SAASkB,aAAc1B,KAAKI,oBAEzCiB,EAAA,cAAAE,IAAA,2CACEC,MAAO,CACL,sBAAuB,KACvB,8BACGxB,KAAKE,aAAegB,KAAeC,GAAcC,IAEtDO,YAAY,WACZC,OAAO,+BAETP,EAAA,OAAAE,IAAA,2CACEC,MAAO,CACL,yBAA0B,KAC1B,8BAA+BL,IAGjCE,EAAA,QAAAE,IAAA,2CAAMf,KAAK,UAAUkB,aAAc1B,KAAKI,oBAE1CiB,EAAA,OAAAE,IAAA,2CACEC,MAAO,CACL,0BAA2B,KAC3B,8BAA+BJ,IAGjCC,EAAA,QAAAE,IAAA,2CAAMf,KAAK,WAAWkB,aAAc1B,KAAKI,qB","ignoreList":[]}
|