@pine-ds/core 3.5.2 → 3.7.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/components/index.d.ts +4 -0
- package/components/index.js +2 -0
- package/components/index.js.map +1 -1
- package/components/index2.js +3 -1
- package/components/index2.js.map +1 -1
- package/components/mock-pds-modal.js +9 -4
- package/components/mock-pds-modal.js.map +1 -1
- package/components/pds-avatar.js +1 -1
- package/components/pds-box2.js +132 -2
- package/components/pds-box2.js.map +1 -1
- package/components/pds-button2.js +58 -6
- package/components/pds-button2.js.map +1 -1
- package/components/pds-checkbox2.js +1 -1
- package/components/pds-combobox.js +349 -39
- package/components/pds-combobox.js.map +1 -1
- package/components/pds-copytext.js +1 -1
- package/components/pds-dropdown-menu-separator.js +1 -1
- package/components/pds-dropdown-menu-separator.js.map +1 -1
- package/components/pds-filter.d.ts +11 -0
- package/components/pds-filter.js +518 -0
- package/components/pds-filter.js.map +1 -0
- package/components/pds-filters.d.ts +11 -0
- package/components/pds-filters.js +38 -0
- package/components/pds-filters.js.map +1 -0
- package/components/pds-image.js +2 -2
- package/components/pds-input.js +2 -2
- package/components/pds-link2.js +2 -2
- package/components/pds-loader2.js +1 -1
- package/components/pds-modal-content.js +128 -11
- package/components/pds-modal-content.js.map +1 -1
- package/components/pds-modal-footer.js +1 -1
- package/components/pds-modal-header.js +1 -1
- package/components/pds-modal.js +13 -3
- package/components/pds-modal.js.map +1 -1
- package/components/pds-popover.js +1 -1
- package/components/pds-progress.js +1 -1
- package/components/pds-property.js +1 -1
- package/components/pds-radio.js +4 -4
- package/components/pds-row.js +1 -1
- package/components/pds-select.js +2 -2
- package/components/pds-sortable-item.js +1 -1
- package/components/pds-sortable.js +1 -1
- package/components/pds-switch.js +4 -4
- package/components/pds-tab.js +4 -4
- package/components/pds-tab.js.map +1 -1
- package/components/pds-table-body.js +1 -1
- package/components/pds-table-cell2.js +2 -2
- package/components/pds-table-head-cell2.js +2 -2
- package/components/pds-table-head.js +1 -1
- package/components/pds-table-row.js +1 -1
- package/components/pds-tabpanel.js +1 -1
- package/components/pds-tabs.js +1 -1
- package/components/pds-tabs.js.map +1 -1
- package/components/pds-text2.js +1 -1
- package/components/pds-textarea.js +112 -8
- package/components/pds-textarea.js.map +1 -1
- package/components/pds-toast.js +3 -3
- package/components/pds-tooltip.js +2 -2
- package/dist/cjs/{index-DVaLegMK.js → index-CTirFLR-.js} +6 -2
- package/dist/cjs/{index-DVaLegMK.js.map → index-CTirFLR-.js.map} +1 -1
- package/dist/cjs/{index-g-uSeICs.js → index-DDTyvZD7.js} +5 -2
- package/dist/cjs/index-DDTyvZD7.js.map +1 -0
- package/dist/cjs/index.cjs.js +1 -1
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/cjs/mock-pds-modal.cjs.entry.js +9 -5
- package/dist/cjs/mock-pds-modal.cjs.entry.js.map +1 -1
- package/dist/cjs/mock-pds-modal.entry.cjs.js.map +1 -1
- package/dist/cjs/pds-accordion.cjs.entry.js +2 -2
- package/dist/cjs/pds-alert.cjs.entry.js +1 -1
- package/dist/cjs/pds-avatar.cjs.entry.js +2 -2
- package/dist/cjs/pds-box.cjs.entry.js +68 -3
- package/dist/cjs/pds-box.cjs.entry.js.map +1 -1
- package/dist/cjs/pds-box.entry.cjs.js.map +1 -1
- package/dist/cjs/pds-button.cjs.entry.js +58 -6
- package/dist/cjs/pds-button.cjs.entry.js.map +1 -1
- package/dist/cjs/pds-button.entry.cjs.js.map +1 -1
- package/dist/cjs/pds-checkbox.cjs.entry.js +2 -2
- package/dist/cjs/pds-chip.cjs.entry.js +2 -2
- package/dist/cjs/pds-combobox.cjs.entry.js +349 -39
- package/dist/cjs/pds-combobox.cjs.entry.js.map +1 -1
- package/dist/cjs/pds-combobox.entry.cjs.js.map +1 -1
- package/dist/cjs/pds-copytext.cjs.entry.js +2 -2
- package/dist/cjs/pds-divider.cjs.entry.js +1 -1
- package/dist/cjs/pds-dropdown-menu-item.cjs.entry.js +1 -1
- package/dist/cjs/pds-dropdown-menu-separator.cjs.entry.js +2 -2
- package/dist/cjs/pds-dropdown-menu-separator.cjs.entry.js.map +1 -1
- package/dist/cjs/pds-dropdown-menu-separator.entry.cjs.js.map +1 -1
- package/dist/cjs/pds-dropdown-menu.cjs.entry.js +1 -1
- package/dist/cjs/pds-filter.cjs.entry.js +488 -0
- package/dist/cjs/pds-filter.cjs.entry.js.map +1 -0
- package/dist/cjs/pds-filter.entry.cjs.js.map +1 -0
- package/dist/cjs/pds-filters.cjs.entry.js +20 -0
- package/dist/cjs/pds-filters.cjs.entry.js.map +1 -0
- package/dist/cjs/pds-filters.entry.cjs.js.map +1 -0
- package/dist/cjs/pds-icon.cjs.entry.js +1 -1
- package/dist/cjs/pds-image.cjs.entry.js +3 -3
- package/dist/cjs/pds-input.cjs.entry.js +3 -3
- package/dist/cjs/pds-link.cjs.entry.js +4 -4
- package/dist/cjs/pds-loader.cjs.entry.js +2 -2
- package/dist/cjs/pds-modal-content.cjs.entry.js +129 -12
- package/dist/cjs/pds-modal-content.cjs.entry.js.map +1 -1
- package/dist/cjs/pds-modal-content.entry.cjs.js.map +1 -1
- package/dist/cjs/pds-modal-footer.cjs.entry.js +2 -2
- package/dist/cjs/pds-modal-header.cjs.entry.js +2 -2
- package/dist/cjs/pds-modal.cjs.entry.js +13 -4
- package/dist/cjs/pds-modal.cjs.entry.js.map +1 -1
- package/dist/cjs/pds-modal.entry.cjs.js.map +1 -1
- package/dist/cjs/pds-popover.cjs.entry.js +2 -2
- package/dist/cjs/pds-progress.cjs.entry.js +2 -2
- package/dist/cjs/pds-property.cjs.entry.js +2 -2
- package/dist/cjs/pds-radio.cjs.entry.js +5 -5
- package/dist/cjs/pds-row.cjs.entry.js +2 -2
- package/dist/cjs/pds-select.cjs.entry.js +3 -3
- package/dist/cjs/pds-sortable-item.cjs.entry.js +3 -3
- package/dist/cjs/pds-sortable.cjs.entry.js +2 -2
- package/dist/cjs/pds-switch.cjs.entry.js +5 -5
- package/dist/cjs/pds-tab.cjs.entry.js +5 -5
- package/dist/cjs/pds-tab.cjs.entry.js.map +1 -1
- package/dist/cjs/pds-tab.entry.cjs.js.map +1 -1
- package/dist/cjs/pds-table-body.cjs.entry.js +2 -2
- package/dist/cjs/pds-table-cell.cjs.entry.js +3 -3
- package/dist/cjs/pds-table-head-cell.cjs.entry.js +4 -4
- package/dist/cjs/pds-table-head.cjs.entry.js +2 -2
- package/dist/cjs/pds-table-row.cjs.entry.js +2 -2
- package/dist/cjs/pds-table.cjs.entry.js +1 -1
- package/dist/cjs/pds-tabpanel.cjs.entry.js +2 -2
- package/dist/cjs/pds-tabs.cjs.entry.js +2 -2
- package/dist/cjs/pds-tabs.cjs.entry.js.map +1 -1
- package/dist/cjs/pds-tabs.entry.cjs.js.map +1 -1
- package/dist/cjs/pds-text.cjs.entry.js +2 -2
- package/dist/cjs/pds-textarea.cjs.entry.js +110 -8
- package/dist/cjs/pds-textarea.cjs.entry.js.map +1 -1
- package/dist/cjs/pds-textarea.entry.cjs.js.map +1 -1
- package/dist/cjs/pds-toast.cjs.entry.js +4 -4
- package/dist/cjs/pds-tooltip.cjs.entry.js +3 -3
- package/dist/cjs/pine-core.cjs.js +2 -2
- package/dist/collection/collection-manifest.json +2 -0
- package/dist/collection/components/pds-box/pds-box.css +1325 -0
- package/dist/collection/components/pds-box/pds-box.js +1913 -148
- package/dist/collection/components/pds-box/pds-box.js.map +1 -1
- package/dist/collection/components/pds-button/pds-button.css +23 -0
- package/dist/collection/components/pds-button/pds-button.js +67 -6
- package/dist/collection/components/pds-button/pds-button.js.map +1 -1
- package/dist/collection/components/pds-button/stories/pds-button.stories.js +28 -1
- package/dist/collection/components/pds-combobox/pds-combobox.css +39 -1
- package/dist/collection/components/pds-combobox/pds-combobox.js +348 -38
- package/dist/collection/components/pds-combobox/pds-combobox.js.map +1 -1
- package/dist/collection/components/pds-combobox/stories/pds-combobox.stories.js +103 -0
- package/dist/collection/components/pds-dropdown-menu/pds-dropdown-menu-separator/pds-dropdown-menu-separator.css +4 -1
- package/dist/collection/components/pds-filters/pds-filter/filter-interface.js +2 -0
- package/dist/collection/components/pds-filters/pds-filter/filter-interface.js.map +1 -0
- package/dist/collection/components/pds-filters/pds-filter/pds-filter.css +193 -0
- package/dist/collection/components/pds-filters/pds-filter/pds-filter.js +732 -0
- package/dist/collection/components/pds-filters/pds-filter/pds-filter.js.map +1 -0
- package/dist/collection/components/pds-filters/pds-filter/stories/pds-filter.stories.js +93 -0
- package/dist/collection/components/pds-filters/pds-filters.css +10 -0
- package/dist/collection/components/pds-filters/pds-filters.js +45 -0
- package/dist/collection/components/pds-filters/pds-filters.js.map +1 -0
- package/dist/collection/components/pds-filters/stories/pds-filters.stories.js +40 -0
- package/dist/collection/components/pds-image/pds-image.js +2 -2
- package/dist/collection/components/pds-input/pds-input.js +1 -1
- package/dist/collection/components/pds-link/pds-link.js +2 -2
- package/dist/collection/components/pds-loader/pds-loader.js +1 -1
- package/dist/collection/components/pds-modal/pds-modal-content/pds-modal-content.css +4 -6
- package/dist/collection/components/pds-modal/pds-modal-content/pds-modal-content.js +128 -11
- package/dist/collection/components/pds-modal/pds-modal-content/pds-modal-content.js.map +1 -1
- package/dist/collection/components/pds-modal/pds-modal-footer/pds-modal-footer.js +1 -1
- package/dist/collection/components/pds-modal/pds-modal-header/pds-modal-header.js +1 -1
- package/dist/collection/components/pds-modal/pds-modal.css +42 -1
- package/dist/collection/components/pds-modal/pds-modal.js +34 -2
- package/dist/collection/components/pds-modal/pds-modal.js.map +1 -1
- package/dist/collection/components/pds-modal/stories/pds-modal.stories.js +245 -0
- package/dist/collection/components/pds-modal/test/mock-pds-modal.js +30 -3
- package/dist/collection/components/pds-modal/test/mock-pds-modal.js.map +1 -1
- package/dist/collection/components/pds-popover/pds-popover.js +1 -1
- package/dist/collection/components/pds-progress/pds-progress.js +1 -1
- package/dist/collection/components/pds-property/pds-property.js +1 -1
- package/dist/collection/components/pds-radio/pds-radio.js +3 -3
- package/dist/collection/components/pds-row/pds-row.js +1 -1
- package/dist/collection/components/pds-select/pds-select.js +1 -1
- package/dist/collection/components/pds-sortable/pds-sortable-item/pds-sortable-item.js +1 -1
- package/dist/collection/components/pds-sortable/pds-sortable.js +1 -1
- package/dist/collection/components/pds-switch/pds-switch.js +3 -3
- package/dist/collection/components/pds-table/pds-table-body/pds-table-body.js +1 -1
- package/dist/collection/components/pds-table/pds-table-cell/pds-table-cell.js +2 -2
- package/dist/collection/components/pds-table/pds-table-head/pds-table-head.js +1 -1
- package/dist/collection/components/pds-table/pds-table-head-cell/pds-table-head-cell.js +2 -2
- package/dist/collection/components/pds-table/pds-table-row/pds-table-row.js +1 -1
- package/dist/collection/components/pds-tabs/pds-tab/pds-tab.css +3 -0
- package/dist/collection/components/pds-tabs/pds-tab/pds-tab.js +3 -3
- package/dist/collection/components/pds-tabs/pds-tabpanel/pds-tabpanel.js +1 -1
- package/dist/collection/components/pds-tabs/pds-tabs.js +2 -1
- package/dist/collection/components/pds-tabs/pds-tabs.js.map +1 -1
- package/dist/collection/components/pds-text/pds-text.js +1 -1
- package/dist/collection/components/pds-textarea/pds-textarea.css +51 -11
- package/dist/collection/components/pds-textarea/pds-textarea.js +127 -4
- package/dist/collection/components/pds-textarea/pds-textarea.js.map +1 -1
- package/dist/collection/components/pds-textarea/stories/pds-textarea.stories.js +13 -0
- package/dist/collection/components/pds-toast/pds-toast.js +3 -3
- package/dist/collection/components/pds-tooltip/pds-tooltip.js +2 -2
- package/dist/docs.json +4440 -415
- package/dist/esm/{index-BVCWKPy3.js → index-Bf1dou5H.js} +5 -2
- package/dist/esm/index-Bf1dou5H.js.map +1 -0
- package/dist/esm/{index-DrJ5r5Pu.js → index-D4MkIUXU.js} +5 -3
- package/dist/{esm-es5/index-DrJ5r5Pu.js.map → esm/index-D4MkIUXU.js.map} +1 -1
- package/dist/esm/index.js +1 -1
- package/dist/esm/loader.js +3 -3
- package/dist/esm/mock-pds-modal.entry.js +9 -5
- package/dist/esm/mock-pds-modal.entry.js.map +1 -1
- package/dist/esm/pds-accordion.entry.js +2 -2
- package/dist/esm/pds-alert.entry.js +1 -1
- package/dist/esm/pds-avatar.entry.js +2 -2
- package/dist/esm/pds-box.entry.js +68 -3
- package/dist/esm/pds-box.entry.js.map +1 -1
- package/dist/esm/pds-button.entry.js +58 -6
- package/dist/esm/pds-button.entry.js.map +1 -1
- package/dist/esm/pds-checkbox.entry.js +2 -2
- package/dist/esm/pds-chip.entry.js +2 -2
- package/dist/esm/pds-combobox.entry.js +349 -39
- package/dist/esm/pds-combobox.entry.js.map +1 -1
- package/dist/esm/pds-copytext.entry.js +2 -2
- package/dist/esm/pds-divider.entry.js +1 -1
- package/dist/esm/pds-dropdown-menu-item.entry.js +1 -1
- package/dist/esm/pds-dropdown-menu-separator.entry.js +2 -2
- package/dist/esm/pds-dropdown-menu-separator.entry.js.map +1 -1
- package/dist/esm/pds-dropdown-menu.entry.js +1 -1
- package/dist/esm/pds-filter.entry.js +486 -0
- package/dist/esm/pds-filter.entry.js.map +1 -0
- package/dist/esm/pds-filters.entry.js +18 -0
- package/dist/esm/pds-filters.entry.js.map +1 -0
- package/dist/esm/pds-icon.entry.js +1 -1
- package/dist/esm/pds-image.entry.js +3 -3
- package/dist/esm/pds-input.entry.js +3 -3
- package/dist/esm/pds-link.entry.js +4 -4
- package/dist/esm/pds-loader.entry.js +2 -2
- package/dist/esm/pds-modal-content.entry.js +129 -12
- package/dist/esm/pds-modal-content.entry.js.map +1 -1
- package/dist/esm/pds-modal-footer.entry.js +2 -2
- package/dist/esm/pds-modal-header.entry.js +2 -2
- package/dist/esm/pds-modal.entry.js +13 -4
- package/dist/esm/pds-modal.entry.js.map +1 -1
- package/dist/esm/pds-popover.entry.js +2 -2
- package/dist/esm/pds-progress.entry.js +2 -2
- package/dist/esm/pds-property.entry.js +2 -2
- package/dist/esm/pds-radio.entry.js +5 -5
- package/dist/esm/pds-row.entry.js +2 -2
- package/dist/esm/pds-select.entry.js +3 -3
- package/dist/esm/pds-sortable-item.entry.js +3 -3
- package/dist/esm/pds-sortable.entry.js +2 -2
- package/dist/esm/pds-switch.entry.js +5 -5
- package/dist/esm/pds-tab.entry.js +5 -5
- package/dist/esm/pds-tab.entry.js.map +1 -1
- package/dist/esm/pds-table-body.entry.js +2 -2
- package/dist/esm/pds-table-cell.entry.js +3 -3
- package/dist/esm/pds-table-head-cell.entry.js +4 -4
- package/dist/esm/pds-table-head.entry.js +2 -2
- package/dist/esm/pds-table-row.entry.js +2 -2
- package/dist/esm/pds-table.entry.js +1 -1
- package/dist/esm/pds-tabpanel.entry.js +2 -2
- package/dist/esm/pds-tabs.entry.js +2 -2
- package/dist/esm/pds-tabs.entry.js.map +1 -1
- package/dist/esm/pds-text.entry.js +2 -2
- package/dist/esm/pds-textarea.entry.js +110 -8
- package/dist/esm/pds-textarea.entry.js.map +1 -1
- package/dist/esm/pds-toast.entry.js +4 -4
- package/dist/esm/pds-tooltip.entry.js +3 -3
- package/dist/esm/pine-core.js +3 -3
- package/dist/esm-es5/{index-BVCWKPy3.js → index-Bf1dou5H.js} +2 -2
- package/dist/esm-es5/index-Bf1dou5H.js.map +1 -0
- package/dist/esm-es5/index-D4MkIUXU.js +2 -0
- package/dist/{esm/index-DrJ5r5Pu.js.map → esm-es5/index-D4MkIUXU.js.map} +1 -1
- package/dist/esm-es5/index.js +1 -1
- package/dist/esm-es5/loader.js +1 -1
- package/dist/esm-es5/mock-pds-modal.entry.js +1 -1
- package/dist/esm-es5/mock-pds-modal.entry.js.map +1 -1
- package/dist/esm-es5/pds-accordion.entry.js +1 -1
- package/dist/esm-es5/pds-alert.entry.js +1 -1
- package/dist/esm-es5/pds-avatar.entry.js +1 -1
- package/dist/esm-es5/pds-box.entry.js +1 -1
- package/dist/esm-es5/pds-box.entry.js.map +1 -1
- package/dist/esm-es5/pds-button.entry.js +1 -1
- package/dist/esm-es5/pds-button.entry.js.map +1 -1
- package/dist/esm-es5/pds-checkbox.entry.js +1 -1
- package/dist/esm-es5/pds-chip.entry.js +1 -1
- package/dist/esm-es5/pds-combobox.entry.js +2 -2
- package/dist/esm-es5/pds-combobox.entry.js.map +1 -1
- package/dist/esm-es5/pds-copytext.entry.js +1 -1
- package/dist/esm-es5/pds-divider.entry.js +1 -1
- package/dist/esm-es5/pds-dropdown-menu-item.entry.js +1 -1
- package/dist/esm-es5/pds-dropdown-menu-separator.entry.js +1 -1
- package/dist/esm-es5/pds-dropdown-menu-separator.entry.js.map +1 -1
- package/dist/esm-es5/pds-dropdown-menu.entry.js +1 -1
- package/dist/esm-es5/pds-filter.entry.js +2 -0
- package/dist/esm-es5/pds-filter.entry.js.map +1 -0
- package/dist/esm-es5/pds-filters.entry.js +2 -0
- package/dist/esm-es5/pds-filters.entry.js.map +1 -0
- package/dist/esm-es5/pds-icon.entry.js +1 -1
- package/dist/esm-es5/pds-image.entry.js +1 -1
- package/dist/esm-es5/pds-input.entry.js +1 -1
- package/dist/esm-es5/pds-link.entry.js +1 -1
- package/dist/esm-es5/pds-loader.entry.js +1 -1
- package/dist/esm-es5/pds-modal-content.entry.js +1 -1
- package/dist/esm-es5/pds-modal-content.entry.js.map +1 -1
- package/dist/esm-es5/pds-modal-footer.entry.js +1 -1
- package/dist/esm-es5/pds-modal-header.entry.js +1 -1
- package/dist/esm-es5/pds-modal.entry.js +1 -1
- package/dist/esm-es5/pds-modal.entry.js.map +1 -1
- package/dist/esm-es5/pds-popover.entry.js +1 -1
- package/dist/esm-es5/pds-progress.entry.js +1 -1
- package/dist/esm-es5/pds-property.entry.js +1 -1
- package/dist/esm-es5/pds-radio.entry.js +1 -1
- package/dist/esm-es5/pds-row.entry.js +1 -1
- package/dist/esm-es5/pds-select.entry.js +1 -1
- package/dist/esm-es5/pds-sortable-item.entry.js +1 -1
- package/dist/esm-es5/pds-sortable.entry.js +2 -2
- package/dist/esm-es5/pds-switch.entry.js +1 -1
- package/dist/esm-es5/pds-tab.entry.js +1 -1
- package/dist/esm-es5/pds-tab.entry.js.map +1 -1
- package/dist/esm-es5/pds-table-body.entry.js +1 -1
- package/dist/esm-es5/pds-table-cell.entry.js +1 -1
- package/dist/esm-es5/pds-table-head-cell.entry.js +1 -1
- package/dist/esm-es5/pds-table-head.entry.js +1 -1
- package/dist/esm-es5/pds-table-row.entry.js +1 -1
- package/dist/esm-es5/pds-table.entry.js +1 -1
- package/dist/esm-es5/pds-tabpanel.entry.js +1 -1
- package/dist/esm-es5/pds-tabs.entry.js +1 -1
- package/dist/esm-es5/pds-tabs.entry.js.map +1 -1
- package/dist/esm-es5/pds-text.entry.js +1 -1
- package/dist/esm-es5/pds-textarea.entry.js +1 -1
- package/dist/esm-es5/pds-textarea.entry.js.map +1 -1
- package/dist/esm-es5/pds-toast.entry.js +1 -1
- package/dist/esm-es5/pds-tooltip.entry.js +1 -1
- package/dist/esm-es5/pine-core.js +1 -1
- package/dist/pine-core/index.esm.js +1 -1
- package/dist/pine-core/mock-pds-modal.entry.esm.js.map +1 -1
- package/dist/pine-core/{p-fd091234.system.entry.js → p-0075bbbe.system.entry.js} +2 -2
- package/dist/pine-core/p-07e129db.entry.js +2 -0
- package/dist/pine-core/{p-8999b63d.system.entry.js → p-0975b749.system.entry.js} +2 -2
- package/dist/pine-core/{p-02326ac3.entry.js → p-0befa8f0.entry.js} +2 -2
- package/dist/pine-core/p-0d18171c.system.entry.js +2 -0
- package/dist/pine-core/p-0d18171c.system.entry.js.map +1 -0
- package/dist/pine-core/p-1009009c.entry.js +2 -0
- package/dist/pine-core/p-1009009c.entry.js.map +1 -0
- package/dist/pine-core/{p-8722865f.system.entry.js → p-1773aeac.system.entry.js} +2 -2
- package/dist/pine-core/{p-e2887e78.entry.js → p-1b9d4482.entry.js} +2 -2
- package/dist/pine-core/p-1c32ffb3.entry.js +2 -0
- package/dist/pine-core/p-1c32ffb3.entry.js.map +1 -0
- package/dist/pine-core/{p-7a95a90f.system.entry.js → p-2597bc59.system.entry.js} +2 -2
- package/dist/pine-core/{p-5a709348.entry.js → p-25cb810d.entry.js} +2 -2
- package/dist/pine-core/{p-a1b51557.system.entry.js → p-25cf2860.system.entry.js} +2 -2
- package/dist/pine-core/{p-6f4a6d0b.entry.js → p-265372d3.entry.js} +2 -2
- package/dist/pine-core/p-29b2af94.entry.js +2 -0
- package/dist/pine-core/{p-44087d1c.entry.js.map → p-29b2af94.entry.js.map} +1 -1
- package/dist/pine-core/p-2b102034.system.entry.js +2 -0
- package/dist/pine-core/p-2b102034.system.entry.js.map +1 -0
- package/dist/pine-core/p-2b12bc55.system.entry.js +2 -0
- package/dist/pine-core/{p-297afc49.system.entry.js → p-2b452883.system.entry.js} +2 -2
- package/dist/pine-core/p-2efc646c.system.entry.js +2 -0
- package/dist/pine-core/{p-ecb9edf8.entry.js → p-2fb6f9d5.entry.js} +2 -2
- package/dist/pine-core/p-2fd7f74e.entry.js +2 -0
- package/dist/pine-core/{p-39488f2c.system.entry.js → p-302849cf.system.entry.js} +2 -2
- package/dist/pine-core/{p-51d83489.system.entry.js → p-307f415a.system.entry.js} +2 -2
- package/dist/pine-core/{p-651861ff.entry.js → p-30e8c3ea.entry.js} +2 -2
- package/dist/pine-core/p-30e8c3ea.entry.js.map +1 -0
- package/dist/pine-core/p-31f6fcc1.entry.js +2 -0
- package/dist/pine-core/p-31f6fcc1.entry.js.map +1 -0
- package/dist/pine-core/p-378df5eb.system.entry.js +2 -0
- package/dist/pine-core/p-39648ce2.entry.js +2 -0
- package/dist/pine-core/p-39648ce2.entry.js.map +1 -0
- package/dist/pine-core/p-3b20aa93.system.entry.js +2 -0
- package/dist/pine-core/p-3b20aa93.system.entry.js.map +1 -0
- package/dist/pine-core/{p-50c9e865.entry.js → p-3e7933bf.entry.js} +2 -2
- package/dist/pine-core/{p-11d4036e.entry.js → p-41e2fe3a.entry.js} +2 -2
- package/dist/pine-core/p-449ebe39.system.entry.js +2 -0
- package/dist/pine-core/{p-023d8b71.system.entry.js → p-4534e8cc.system.entry.js} +2 -2
- package/dist/pine-core/{p-52d37cc1.entry.js → p-46820152.entry.js} +2 -2
- package/dist/pine-core/{p-ba187a35.entry.js → p-4b3a8cab.entry.js} +2 -2
- package/dist/pine-core/{p-da367b5e.system.entry.js → p-4c8bebd8.system.entry.js} +2 -2
- package/dist/pine-core/{p-503cab1f.entry.js → p-4dda1edf.entry.js} +2 -2
- package/dist/pine-core/p-4e55730d.entry.js +2 -0
- package/dist/pine-core/p-4e55730d.entry.js.map +1 -0
- package/dist/pine-core/{p-5e8badb9.entry.js → p-559b4ebc.entry.js} +2 -2
- package/dist/pine-core/{p-c13ef6a7.system.entry.js → p-55d06d0a.system.entry.js} +3 -3
- package/dist/pine-core/{p-25190921.entry.js → p-56f6f106.entry.js} +2 -2
- package/dist/pine-core/{p-075eecf9.entry.js → p-5ac7af9e.entry.js} +2 -2
- package/dist/pine-core/p-5cc0244d.system.entry.js +2 -0
- package/dist/pine-core/p-5cc0244d.system.entry.js.map +1 -0
- package/dist/pine-core/{p-dfc5ab34.system.entry.js → p-72d87dc6.system.entry.js} +2 -2
- package/dist/pine-core/{p-b2b1b7a9.system.entry.js → p-73a2e028.system.entry.js} +2 -2
- package/dist/pine-core/{p-4bbf3e31.entry.js → p-74f03e75.entry.js} +2 -2
- package/dist/pine-core/p-786967e8.entry.js +2 -0
- package/dist/pine-core/{p-0de9f8da.system.entry.js → p-7b0517e5.system.entry.js} +2 -2
- package/dist/pine-core/p-7b66bc50.entry.js +3 -0
- package/dist/pine-core/p-7b66bc50.entry.js.map +1 -0
- package/dist/pine-core/p-7eb22880.entry.js +2 -0
- package/dist/pine-core/p-7eb22880.entry.js.map +1 -0
- package/dist/pine-core/{p-464dd476.entry.js → p-8501429f.entry.js} +2 -2
- package/dist/pine-core/p-875d5d5a.system.entry.js +2 -0
- package/dist/pine-core/{p-4deb7b8c.entry.js → p-896e2f1b.entry.js} +2 -2
- package/dist/pine-core/{p-72b05928.system.entry.js → p-8ded79aa.system.entry.js} +2 -2
- package/dist/pine-core/{p-e89cb1f2.system.entry.js → p-8f69dd71.system.entry.js} +2 -2
- package/dist/pine-core/{p-2e19f167.system.entry.js → p-94fe15b0.system.entry.js} +2 -2
- package/dist/pine-core/p-95aee0b1.entry.js +2 -0
- package/dist/pine-core/p-95aee0b1.entry.js.map +1 -0
- package/dist/pine-core/p-96c27dba.entry.js +2 -0
- package/dist/pine-core/p-96c27dba.entry.js.map +1 -0
- package/dist/pine-core/p-B02VgXkx.system.js.map +1 -0
- package/dist/pine-core/{p-Kj_j7PHx.system.js.map → p-B57Bybw-.system.js.map} +1 -1
- package/dist/pine-core/{p-B1fiSdbt.system.js.map → p-BEgEi4w5.system.js.map} +1 -1
- package/dist/pine-core/{p-CJT--ZXC.system.js.map → p-BFiM1S8V.system.js.map} +1 -1
- package/dist/pine-core/{p-_E9ZEzfO.system.js.map → p-BIjeWHX_.system.js.map} +1 -1
- package/dist/pine-core/{p-BVKCNX0X.system.js.map → p-BJhtHwq5.system.js.map} +1 -1
- package/dist/pine-core/{p-EYhpJx2s.system.js.map → p-BJjdD3yf.system.js.map} +1 -1
- package/dist/pine-core/p-BPjnTOEL.system.js +2 -0
- package/dist/pine-core/{p-De9tROL-.system.js.map → p-BPjnTOEL.system.js.map} +1 -1
- package/dist/pine-core/{p-CCQUgOoR.system.js.map → p-BQFgzIQT.system.js.map} +1 -1
- package/dist/pine-core/p-BSkbMuB5.system.js +2 -0
- package/dist/pine-core/{p-BEn3hirk.system.js.map → p-BSkbMuB5.system.js.map} +1 -1
- package/dist/pine-core/{p-BVCWKPy3.js → p-Bf1dou5H.js} +2 -2
- package/dist/pine-core/p-Bf1dou5H.js.map +1 -0
- package/dist/pine-core/p-BigOVPun.system.js.map +1 -0
- package/dist/pine-core/{p-CcXaBX2A.system.js.map → p-BmFGXXkm.system.js.map} +1 -1
- package/dist/pine-core/p-ByzULH8m.system.js.map +1 -0
- package/dist/pine-core/{p-CE6b_LzB.system.js.map → p-C3iAHQC6.system.js.map} +1 -1
- package/dist/pine-core/{p-ACQU83St.system.js.map → p-CCQd5PVN.system.js.map} +1 -1
- package/dist/pine-core/{p-ChslVme6.system.js.map → p-CG2PKUWT.system.js.map} +1 -1
- package/dist/pine-core/{p-CQ8f8GnD.system.js.map → p-CHVzHNgU.system.js.map} +1 -1
- package/dist/pine-core/{p-Dh7jcLgJ.system.js.map → p-COwpA8ab.system.js.map} +1 -1
- package/dist/pine-core/p-CV0Lw9gs.system.js.map +1 -0
- package/dist/pine-core/p-CZqgW7e3.system.js.map +1 -0
- package/dist/pine-core/{p-pQqXEKPh.system.js.map → p-Cc1q-FuD.system.js.map} +1 -1
- package/dist/pine-core/{p-CWdEolqa.system.js.map → p-Cl47ROcT.system.js.map} +1 -1
- package/dist/pine-core/{p-0KTU2Jt-.system.js.map → p-CnPN6prI.system.js.map} +1 -1
- package/dist/pine-core/{p-B1FQkx7R.system.js.map → p-Ctdx1tCG.system.js.map} +1 -1
- package/dist/pine-core/p-CwNRZQss.system.js.map +1 -0
- package/dist/pine-core/{p-B_C-mRjx.system.js → p-Cxvdulqq.system.js} +2 -2
- package/dist/pine-core/p-Cxvdulqq.system.js.map +1 -0
- package/dist/pine-core/p-D3SrjYeb.system.js.map +1 -0
- package/dist/pine-core/p-D4MkIUXU.js +2 -0
- package/dist/pine-core/{p-DrJ5r5Pu.js.map → p-D4MkIUXU.js.map} +1 -1
- package/dist/pine-core/{p-MBv7PsKc.system.js.map → p-D52TGCLt.system.js.map} +1 -1
- package/dist/pine-core/p-D7B3vOdC.system.js.map +1 -0
- package/dist/pine-core/{p-0TIvNV5c.system.js.map → p-D9veIL-g.system.js.map} +1 -1
- package/dist/pine-core/{p-D9_z2w3q.system.js.map → p-DGFR-x7P.system.js.map} +1 -1
- package/dist/pine-core/p-DeR0sSWy.system.js.map +1 -0
- package/dist/pine-core/{p-BRygGju8.system.js.map → p-Df597YUK.system.js.map} +1 -1
- package/dist/pine-core/{p-Df_3qA_L.system.js.map → p-DgE9ds9o.system.js.map} +1 -1
- package/dist/pine-core/{p-CLoi4eKt.system.js.map → p-DmWU0f_O.system.js.map} +1 -1
- package/dist/pine-core/{p-DYb5Y47j.system.js.map → p-Dq7Wu9rr.system.js.map} +1 -1
- package/dist/pine-core/p-Dw7zXw_6.system.js.map +1 -0
- package/dist/pine-core/{p-CpdNWpfd.system.js.map → p-Ek6vvXfI.system.js.map} +1 -1
- package/dist/pine-core/{p-C5Y492i0.system.js.map → p-M-zMP2QX.system.js.map} +1 -1
- package/dist/pine-core/{p-IhWWc2L_.system.js.map → p-WO5h6NYA.system.js.map} +1 -1
- package/dist/pine-core/p-WWWd_vEd.system.js +2 -0
- package/dist/pine-core/p-WWWd_vEd.system.js.map +1 -0
- package/dist/pine-core/{p-D05FrqXr.system.js.map → p-X5M4eshC.system.js.map} +1 -1
- package/dist/pine-core/{p-m6UZWRsP.system.js.map → p-Z5rOSkoA.system.js.map} +1 -1
- package/dist/pine-core/{p-72053224.entry.js → p-a2cb65df.entry.js} +3 -3
- package/dist/pine-core/{p-c8122bea.entry.js → p-a54d6a53.entry.js} +2 -2
- package/dist/pine-core/{p-a04556e4.system.entry.js → p-a5cf0088.system.entry.js} +2 -2
- package/dist/pine-core/p-a645818a.entry.js +2 -0
- package/dist/pine-core/{p-f583e5d4.entry.js → p-a9cfaa1f.entry.js} +2 -2
- package/dist/pine-core/{p-14a52961.system.entry.js → p-aa2782b9.system.entry.js} +2 -2
- package/dist/pine-core/{p-f55b9f90.system.entry.js → p-ab4307c7.system.entry.js} +2 -2
- package/dist/pine-core/{p-349a8869.entry.js → p-af56cb57.entry.js} +2 -2
- package/dist/pine-core/{p-8d7abc83.entry.js → p-b32d34d0.entry.js} +2 -2
- package/dist/pine-core/{p-00616fc9.entry.js → p-b378ca03.entry.js} +2 -2
- package/dist/pine-core/p-b669e1d9.entry.js +2 -0
- package/dist/pine-core/p-b699a14f.system.entry.js +2 -0
- package/dist/pine-core/p-b699a14f.system.entry.js.map +1 -0
- package/dist/pine-core/p-bc2fecd4.system.entry.js +2 -0
- package/dist/pine-core/p-bc2fecd4.system.entry.js.map +1 -0
- package/dist/pine-core/{p-e3fb0bc2.system.entry.js → p-bc637bed.system.entry.js} +2 -2
- package/dist/pine-core/{p-b6ea3332.entry.js → p-be5ef841.entry.js} +2 -2
- package/dist/pine-core/{p-54183d70.system.entry.js → p-c0601420.system.entry.js} +2 -2
- package/dist/pine-core/p-c2d2fe64.system.entry.js +2 -0
- package/dist/pine-core/p-c3f84df8.system.entry.js +2 -0
- package/dist/pine-core/p-c3f84df8.system.entry.js.map +1 -0
- package/dist/pine-core/p-c44d3551.entry.js +2 -0
- package/dist/pine-core/{p-e8d76117.entry.js → p-c55fc47e.entry.js} +2 -2
- package/dist/pine-core/{p-5da82e8c.system.entry.js → p-c63e7909.system.entry.js} +2 -2
- package/dist/pine-core/p-d325287b.entry.js +2 -0
- package/dist/pine-core/p-d325287b.entry.js.map +1 -0
- package/dist/pine-core/p-d52d96b5.system.entry.js +4 -0
- package/dist/pine-core/p-d52d96b5.system.entry.js.map +1 -0
- package/dist/pine-core/{p-884b9ae6.system.entry.js → p-d5c63517.system.entry.js} +2 -2
- package/dist/pine-core/p-d65d252d.entry.js +2 -0
- package/dist/pine-core/p-d65d252d.entry.js.map +1 -0
- package/dist/pine-core/p-db12273e.system.entry.js +2 -0
- package/dist/pine-core/{p-92c52409.system.entry.js → p-dbe41087.system.entry.js} +2 -2
- package/dist/pine-core/{p-deb8a499.system.entry.js → p-e03b7f4a.system.entry.js} +2 -2
- package/dist/pine-core/{p-6db1e029.system.entry.js → p-ee583234.system.entry.js} +2 -2
- package/dist/pine-core/{p-0066d249.entry.js → p-f5d78141.entry.js} +2 -2
- package/dist/pine-core/p-f61ee383.system.entry.js +2 -0
- package/dist/pine-core/p-f61ee383.system.entry.js.map +1 -0
- package/dist/pine-core/{p-98fe56d9.entry.js → p-f6b269ac.entry.js} +2 -2
- package/dist/pine-core/p-f70aef6e.system.entry.js +2 -0
- package/dist/pine-core/p-f70aef6e.system.entry.js.map +1 -0
- package/dist/pine-core/{p-52af1890.system.entry.js → p-f911dde3.system.entry.js} +2 -2
- package/dist/pine-core/{p-7cb4f0de.entry.js → p-fd3d548f.entry.js} +2 -2
- package/dist/pine-core/{p-ac37cf0d.entry.js → p-fddf82f8.entry.js} +2 -2
- package/dist/pine-core/p-fdf22be1.system.entry.js +2 -0
- package/dist/pine-core/p-fdf22be1.system.entry.js.map +1 -0
- package/dist/pine-core/p-fe7ece91.system.entry.js +2 -0
- package/dist/pine-core/p-fe7ece91.system.entry.js.map +1 -0
- package/dist/pine-core/{p-DHmJZxQk.system.js.map → p-iM8w34Dq.system.js.map} +1 -1
- package/dist/pine-core/{p-2kXtbFXu.system.js.map → p-iazk4jjL.system.js.map} +1 -1
- package/dist/pine-core/{p-CqzGa2j0.system.js.map → p-k9JOparb.system.js.map} +1 -1
- package/dist/pine-core/{p-CgyVIfOY.system.js.map → p-kbAzjMDU.system.js.map} +1 -1
- package/dist/pine-core/{p-B7S-9dbT.system.js.map → p-kcOuXqWo.system.js.map} +1 -1
- package/dist/pine-core/{p-IG5YumI3.system.js.map → p-nawkAoxk.system.js.map} +1 -1
- package/dist/pine-core/p-oDk-2Jyq.system.js.map +1 -0
- package/dist/pine-core/p-wlxYjeBe.system.js.map +1 -0
- package/dist/pine-core/{p-CqK-uhv8.system.js.map → p-yaM1kuaC.system.js.map} +1 -1
- package/dist/pine-core/pds-box.entry.esm.js.map +1 -1
- package/dist/pine-core/pds-button.entry.esm.js.map +1 -1
- package/dist/pine-core/pds-combobox.entry.esm.js.map +1 -1
- package/dist/pine-core/pds-dropdown-menu-separator.entry.esm.js.map +1 -1
- package/dist/pine-core/pds-filter.entry.esm.js.map +1 -0
- package/dist/pine-core/pds-filters.entry.esm.js.map +1 -0
- package/dist/pine-core/pds-modal-content.entry.esm.js.map +1 -1
- package/dist/pine-core/pds-modal.entry.esm.js.map +1 -1
- package/dist/pine-core/pds-tab.entry.esm.js.map +1 -1
- package/dist/pine-core/pds-tabs.entry.esm.js.map +1 -1
- package/dist/pine-core/pds-textarea.entry.esm.js.map +1 -1
- package/dist/pine-core/pine-core.esm.js +1 -1
- package/dist/pine-core/pine-core.js +1 -1
- package/dist/types/components/pds-box/pds-box.d.ts +315 -0
- package/dist/types/components/pds-button/pds-button.d.ts +5 -1
- package/dist/types/components/pds-combobox/pds-combobox.d.ts +28 -3
- package/dist/types/components/pds-filters/pds-filter/filter-interface.d.ts +19 -0
- package/dist/types/components/pds-filters/pds-filter/pds-filter.d.ts +133 -0
- package/dist/types/components/pds-filters/pds-filters.d.ts +11 -0
- package/dist/types/components/pds-modal/pds-modal-content/pds-modal-content.d.ts +18 -1
- package/dist/types/components/pds-modal/pds-modal.d.ts +5 -0
- package/dist/types/components/pds-modal/test/mock-pds-modal.d.ts +5 -0
- package/dist/types/components/pds-tabs/pds-tabs.d.ts +1 -0
- package/dist/types/components/pds-textarea/pds-textarea.d.ts +20 -0
- package/dist/types/components.d.ts +793 -4
- package/hydrate/index.js +1381 -112
- package/hydrate/index.mjs +1381 -112
- package/package.json +2 -2
- package/dist/cjs/index-g-uSeICs.js.map +0 -1
- package/dist/esm/index-BVCWKPy3.js.map +0 -1
- package/dist/esm-es5/index-BVCWKPy3.js.map +0 -1
- package/dist/esm-es5/index-DrJ5r5Pu.js +0 -2
- package/dist/pine-core/p-007b61e9.system.entry.js +0 -2
- package/dist/pine-core/p-007b61e9.system.entry.js.map +0 -1
- package/dist/pine-core/p-0485aa93.system.entry.js +0 -2
- package/dist/pine-core/p-0485aa93.system.entry.js.map +0 -1
- package/dist/pine-core/p-051ff780.system.entry.js +0 -2
- package/dist/pine-core/p-051ff780.system.entry.js.map +0 -1
- package/dist/pine-core/p-2186e5d4.system.entry.js +0 -2
- package/dist/pine-core/p-2186e5d4.system.entry.js.map +0 -1
- package/dist/pine-core/p-232a2043.entry.js +0 -2
- package/dist/pine-core/p-44087d1c.entry.js +0 -2
- package/dist/pine-core/p-47670150.entry.js +0 -3
- package/dist/pine-core/p-47670150.entry.js.map +0 -1
- package/dist/pine-core/p-54061a33.entry.js +0 -2
- package/dist/pine-core/p-54061a33.entry.js.map +0 -1
- package/dist/pine-core/p-5708f95a.entry.js +0 -2
- package/dist/pine-core/p-651861ff.entry.js.map +0 -1
- package/dist/pine-core/p-66b10d29.entry.js +0 -2
- package/dist/pine-core/p-68b5665a.entry.js +0 -2
- package/dist/pine-core/p-68b5665a.entry.js.map +0 -1
- package/dist/pine-core/p-7004d1ea.system.entry.js +0 -2
- package/dist/pine-core/p-71169b66.system.entry.js +0 -2
- package/dist/pine-core/p-71169b66.system.entry.js.map +0 -1
- package/dist/pine-core/p-73158adf.system.entry.js +0 -2
- package/dist/pine-core/p-77336705.entry.js +0 -2
- package/dist/pine-core/p-77336705.entry.js.map +0 -1
- package/dist/pine-core/p-8ab7f0d7.system.entry.js +0 -4
- package/dist/pine-core/p-8ab7f0d7.system.entry.js.map +0 -1
- package/dist/pine-core/p-96a89cd5.system.entry.js +0 -2
- package/dist/pine-core/p-96a89cd5.system.entry.js.map +0 -1
- package/dist/pine-core/p-BEn3hirk.system.js +0 -2
- package/dist/pine-core/p-BGbUqsWH.system.js +0 -2
- package/dist/pine-core/p-BGbUqsWH.system.js.map +0 -1
- package/dist/pine-core/p-BKFboaI5.system.js.map +0 -1
- package/dist/pine-core/p-BVCWKPy3.js.map +0 -1
- package/dist/pine-core/p-B_C-mRjx.system.js.map +0 -1
- package/dist/pine-core/p-Bv5PJxD8.system.js.map +0 -1
- package/dist/pine-core/p-CD_nPb2F.system.js.map +0 -1
- package/dist/pine-core/p-Cmzqpibo.system.js.map +0 -1
- package/dist/pine-core/p-DJekRkSL.system.js.map +0 -1
- package/dist/pine-core/p-DNYl_6t_.system.js.map +0 -1
- package/dist/pine-core/p-DXuK7cEc.system.js.map +0 -1
- package/dist/pine-core/p-De9tROL-.system.js +0 -2
- package/dist/pine-core/p-DrJ5r5Pu.js +0 -2
- package/dist/pine-core/p-Dt10r3RZ.system.js.map +0 -1
- package/dist/pine-core/p-IIl2cTlj.system.js.map +0 -1
- package/dist/pine-core/p-UsEwlBJ0.system.js.map +0 -1
- package/dist/pine-core/p-a24c46e4.entry.js +0 -2
- package/dist/pine-core/p-a24c46e4.entry.js.map +0 -1
- package/dist/pine-core/p-a54f1d9e.entry.js +0 -2
- package/dist/pine-core/p-a54f1d9e.entry.js.map +0 -1
- package/dist/pine-core/p-aa645f28.system.entry.js +0 -2
- package/dist/pine-core/p-aa645f28.system.entry.js.map +0 -1
- package/dist/pine-core/p-bb8ef74a.system.entry.js +0 -2
- package/dist/pine-core/p-be939cb0.entry.js +0 -2
- package/dist/pine-core/p-c1099665.system.entry.js +0 -2
- package/dist/pine-core/p-c2ffb466.system.entry.js +0 -2
- package/dist/pine-core/p-c4d6fe50.system.entry.js +0 -2
- package/dist/pine-core/p-c4d6fe50.system.entry.js.map +0 -1
- package/dist/pine-core/p-c6badcf8.entry.js +0 -2
- package/dist/pine-core/p-c6badcf8.entry.js.map +0 -1
- package/dist/pine-core/p-cd785026.system.entry.js +0 -2
- package/dist/pine-core/p-d714f68f.system.entry.js +0 -2
- package/dist/pine-core/p-d714f68f.system.entry.js.map +0 -1
- package/dist/pine-core/p-e5ca5b8e.entry.js +0 -2
- package/dist/pine-core/p-e5ca5b8e.entry.js.map +0 -1
- package/dist/pine-core/p-e65a7d1c.system.entry.js +0 -2
- package/dist/pine-core/p-efa788ea.entry.js +0 -2
- package/dist/pine-core/p-f880adaa.entry.js +0 -2
- package/dist/pine-core/p-fb4058e6.entry.js +0 -2
- package/dist/pine-core/p-fb4058e6.entry.js.map +0 -1
- /package/dist/pine-core/{p-fd091234.system.entry.js.map → p-0075bbbe.system.entry.js.map} +0 -0
- /package/dist/pine-core/{p-66b10d29.entry.js.map → p-07e129db.entry.js.map} +0 -0
- /package/dist/pine-core/{p-8999b63d.system.entry.js.map → p-0975b749.system.entry.js.map} +0 -0
- /package/dist/pine-core/{p-02326ac3.entry.js.map → p-0befa8f0.entry.js.map} +0 -0
- /package/dist/pine-core/{p-8722865f.system.entry.js.map → p-1773aeac.system.entry.js.map} +0 -0
- /package/dist/pine-core/{p-e2887e78.entry.js.map → p-1b9d4482.entry.js.map} +0 -0
- /package/dist/pine-core/{p-7a95a90f.system.entry.js.map → p-2597bc59.system.entry.js.map} +0 -0
- /package/dist/pine-core/{p-5a709348.entry.js.map → p-25cb810d.entry.js.map} +0 -0
- /package/dist/pine-core/{p-a1b51557.system.entry.js.map → p-25cf2860.system.entry.js.map} +0 -0
- /package/dist/pine-core/{p-6f4a6d0b.entry.js.map → p-265372d3.entry.js.map} +0 -0
- /package/dist/pine-core/{p-c2ffb466.system.entry.js.map → p-2b12bc55.system.entry.js.map} +0 -0
- /package/dist/pine-core/{p-297afc49.system.entry.js.map → p-2b452883.system.entry.js.map} +0 -0
- /package/dist/pine-core/{p-cd785026.system.entry.js.map → p-2efc646c.system.entry.js.map} +0 -0
- /package/dist/pine-core/{p-ecb9edf8.entry.js.map → p-2fb6f9d5.entry.js.map} +0 -0
- /package/dist/pine-core/{p-efa788ea.entry.js.map → p-2fd7f74e.entry.js.map} +0 -0
- /package/dist/pine-core/{p-39488f2c.system.entry.js.map → p-302849cf.system.entry.js.map} +0 -0
- /package/dist/pine-core/{p-51d83489.system.entry.js.map → p-307f415a.system.entry.js.map} +0 -0
- /package/dist/pine-core/{p-bb8ef74a.system.entry.js.map → p-378df5eb.system.entry.js.map} +0 -0
- /package/dist/pine-core/{p-50c9e865.entry.js.map → p-3e7933bf.entry.js.map} +0 -0
- /package/dist/pine-core/{p-11d4036e.entry.js.map → p-41e2fe3a.entry.js.map} +0 -0
- /package/dist/pine-core/{p-7004d1ea.system.entry.js.map → p-449ebe39.system.entry.js.map} +0 -0
- /package/dist/pine-core/{p-023d8b71.system.entry.js.map → p-4534e8cc.system.entry.js.map} +0 -0
- /package/dist/pine-core/{p-52d37cc1.entry.js.map → p-46820152.entry.js.map} +0 -0
- /package/dist/pine-core/{p-ba187a35.entry.js.map → p-4b3a8cab.entry.js.map} +0 -0
- /package/dist/pine-core/{p-da367b5e.system.entry.js.map → p-4c8bebd8.system.entry.js.map} +0 -0
- /package/dist/pine-core/{p-503cab1f.entry.js.map → p-4dda1edf.entry.js.map} +0 -0
- /package/dist/pine-core/{p-5e8badb9.entry.js.map → p-559b4ebc.entry.js.map} +0 -0
- /package/dist/pine-core/{p-c13ef6a7.system.entry.js.map → p-55d06d0a.system.entry.js.map} +0 -0
- /package/dist/pine-core/{p-25190921.entry.js.map → p-56f6f106.entry.js.map} +0 -0
- /package/dist/pine-core/{p-075eecf9.entry.js.map → p-5ac7af9e.entry.js.map} +0 -0
- /package/dist/pine-core/{p-dfc5ab34.system.entry.js.map → p-72d87dc6.system.entry.js.map} +0 -0
- /package/dist/pine-core/{p-b2b1b7a9.system.entry.js.map → p-73a2e028.system.entry.js.map} +0 -0
- /package/dist/pine-core/{p-4bbf3e31.entry.js.map → p-74f03e75.entry.js.map} +0 -0
- /package/dist/pine-core/{p-be939cb0.entry.js.map → p-786967e8.entry.js.map} +0 -0
- /package/dist/pine-core/{p-0de9f8da.system.entry.js.map → p-7b0517e5.system.entry.js.map} +0 -0
- /package/dist/pine-core/{p-464dd476.entry.js.map → p-8501429f.entry.js.map} +0 -0
- /package/dist/pine-core/{p-e65a7d1c.system.entry.js.map → p-875d5d5a.system.entry.js.map} +0 -0
- /package/dist/pine-core/{p-4deb7b8c.entry.js.map → p-896e2f1b.entry.js.map} +0 -0
- /package/dist/pine-core/{p-72b05928.system.entry.js.map → p-8ded79aa.system.entry.js.map} +0 -0
- /package/dist/pine-core/{p-e89cb1f2.system.entry.js.map → p-8f69dd71.system.entry.js.map} +0 -0
- /package/dist/pine-core/{p-2e19f167.system.entry.js.map → p-94fe15b0.system.entry.js.map} +0 -0
- /package/dist/pine-core/{p-72053224.entry.js.map → p-a2cb65df.entry.js.map} +0 -0
- /package/dist/pine-core/{p-c8122bea.entry.js.map → p-a54d6a53.entry.js.map} +0 -0
- /package/dist/pine-core/{p-a04556e4.system.entry.js.map → p-a5cf0088.system.entry.js.map} +0 -0
- /package/dist/pine-core/{p-f880adaa.entry.js.map → p-a645818a.entry.js.map} +0 -0
- /package/dist/pine-core/{p-f583e5d4.entry.js.map → p-a9cfaa1f.entry.js.map} +0 -0
- /package/dist/pine-core/{p-14a52961.system.entry.js.map → p-aa2782b9.system.entry.js.map} +0 -0
- /package/dist/pine-core/{p-f55b9f90.system.entry.js.map → p-ab4307c7.system.entry.js.map} +0 -0
- /package/dist/pine-core/{p-349a8869.entry.js.map → p-af56cb57.entry.js.map} +0 -0
- /package/dist/pine-core/{p-8d7abc83.entry.js.map → p-b32d34d0.entry.js.map} +0 -0
- /package/dist/pine-core/{p-00616fc9.entry.js.map → p-b378ca03.entry.js.map} +0 -0
- /package/dist/pine-core/{p-5708f95a.entry.js.map → p-b669e1d9.entry.js.map} +0 -0
- /package/dist/pine-core/{p-e3fb0bc2.system.entry.js.map → p-bc637bed.system.entry.js.map} +0 -0
- /package/dist/pine-core/{p-b6ea3332.entry.js.map → p-be5ef841.entry.js.map} +0 -0
- /package/dist/pine-core/{p-54183d70.system.entry.js.map → p-c0601420.system.entry.js.map} +0 -0
- /package/dist/pine-core/{p-73158adf.system.entry.js.map → p-c2d2fe64.system.entry.js.map} +0 -0
- /package/dist/pine-core/{p-232a2043.entry.js.map → p-c44d3551.entry.js.map} +0 -0
- /package/dist/pine-core/{p-e8d76117.entry.js.map → p-c55fc47e.entry.js.map} +0 -0
- /package/dist/pine-core/{p-5da82e8c.system.entry.js.map → p-c63e7909.system.entry.js.map} +0 -0
- /package/dist/pine-core/{p-884b9ae6.system.entry.js.map → p-d5c63517.system.entry.js.map} +0 -0
- /package/dist/pine-core/{p-c1099665.system.entry.js.map → p-db12273e.system.entry.js.map} +0 -0
- /package/dist/pine-core/{p-92c52409.system.entry.js.map → p-dbe41087.system.entry.js.map} +0 -0
- /package/dist/pine-core/{p-deb8a499.system.entry.js.map → p-e03b7f4a.system.entry.js.map} +0 -0
- /package/dist/pine-core/{p-6db1e029.system.entry.js.map → p-ee583234.system.entry.js.map} +0 -0
- /package/dist/pine-core/{p-0066d249.entry.js.map → p-f5d78141.entry.js.map} +0 -0
- /package/dist/pine-core/{p-98fe56d9.entry.js.map → p-f6b269ac.entry.js.map} +0 -0
- /package/dist/pine-core/{p-52af1890.system.entry.js.map → p-f911dde3.system.entry.js.map} +0 -0
- /package/dist/pine-core/{p-7cb4f0de.entry.js.map → p-fd3d548f.entry.js.map} +0 -0
- /package/dist/pine-core/{p-ac37cf0d.entry.js.map → p-fddf82f8.entry.js.map} +0 -0
|
@@ -64,9 +64,9 @@ export class PdsCombobox {
|
|
|
64
64
|
*/
|
|
65
65
|
this.value = '';
|
|
66
66
|
/**
|
|
67
|
-
* Internal state for filtered options
|
|
67
|
+
* Internal state for filtered options and group labels
|
|
68
68
|
*/
|
|
69
|
-
this.
|
|
69
|
+
this.filteredItems = [];
|
|
70
70
|
/**
|
|
71
71
|
* Internal state for the currently highlighted option index
|
|
72
72
|
*/
|
|
@@ -84,6 +84,7 @@ export class PdsCombobox {
|
|
|
84
84
|
*/
|
|
85
85
|
this.selectedOptionLayoutContent = '';
|
|
86
86
|
this.optionEls = [];
|
|
87
|
+
this.allItems = [];
|
|
87
88
|
this.handleInput = (e) => {
|
|
88
89
|
const target = e.target;
|
|
89
90
|
this.value = target.value;
|
|
@@ -91,37 +92,124 @@ export class PdsCombobox {
|
|
|
91
92
|
this.filterOptions();
|
|
92
93
|
setTimeout(() => this.openDropdownPositioning(), 0);
|
|
93
94
|
};
|
|
94
|
-
this.
|
|
95
|
-
|
|
96
|
-
this.
|
|
97
|
-
|
|
95
|
+
this.handleInputClick = () => {
|
|
96
|
+
// Open dropdown when input is clicked (but not when tabbed into)
|
|
97
|
+
if (!this.isOpen) {
|
|
98
|
+
this.isOpen = true;
|
|
99
|
+
this.filterOptions();
|
|
100
|
+
setTimeout(() => this.openDropdownPositioning(), 0);
|
|
101
|
+
}
|
|
98
102
|
};
|
|
99
103
|
this.handleKeyDown = (e) => {
|
|
100
|
-
if (!this.isOpen && (e.key === 'ArrowDown' || e.key === 'ArrowUp')) {
|
|
104
|
+
if (!this.isOpen && (e.key === 'ArrowDown' || e.key === 'ArrowUp' || (e.altKey && e.key === 'ArrowDown'))) {
|
|
105
|
+
e.preventDefault();
|
|
101
106
|
this.isOpen = true;
|
|
107
|
+
this.filterOptions();
|
|
108
|
+
// Set highlighted index immediately for testing
|
|
109
|
+
const selectableOptions = this.filteredItems.filter(item => item.tagName === 'OPTION');
|
|
110
|
+
if (selectableOptions.length > 0) {
|
|
111
|
+
this.highlightedIndex = 0;
|
|
112
|
+
}
|
|
113
|
+
setTimeout(() => {
|
|
114
|
+
this.openDropdownPositioning();
|
|
115
|
+
// For input trigger, keep focus on input and use aria-activedescendant
|
|
116
|
+
// For button trigger, move focus to first option for keyboard navigation
|
|
117
|
+
if (this.trigger === 'input') {
|
|
118
|
+
this.focusFirstOption();
|
|
119
|
+
}
|
|
120
|
+
else {
|
|
121
|
+
this.focusFirstOptionForArrowKeys();
|
|
122
|
+
}
|
|
123
|
+
}, 0);
|
|
124
|
+
return;
|
|
125
|
+
}
|
|
126
|
+
if (!this.isOpen) {
|
|
102
127
|
return;
|
|
103
128
|
}
|
|
129
|
+
// Get only the option elements (skip group labels) for navigation
|
|
130
|
+
const selectableOptions = this.filteredItems.filter(item => item.tagName === 'OPTION');
|
|
104
131
|
switch (e.key) {
|
|
105
132
|
case 'ArrowDown':
|
|
106
|
-
|
|
133
|
+
e.preventDefault();
|
|
134
|
+
// If no option is highlighted and we have options, start at 0
|
|
135
|
+
if (this.highlightedIndex < 0 && selectableOptions.length > 0) {
|
|
136
|
+
this.highlightedIndex = 0;
|
|
137
|
+
}
|
|
138
|
+
else {
|
|
139
|
+
this.highlightedIndex = Math.min(this.highlightedIndex + 1, selectableOptions.length - 1);
|
|
140
|
+
}
|
|
141
|
+
this.updateOptionFocus();
|
|
107
142
|
break;
|
|
108
143
|
case 'ArrowUp':
|
|
109
|
-
|
|
144
|
+
e.preventDefault();
|
|
145
|
+
// If no option is highlighted and we have options, start at last option
|
|
146
|
+
if (this.highlightedIndex < 0 && selectableOptions.length > 0) {
|
|
147
|
+
this.highlightedIndex = selectableOptions.length - 1;
|
|
148
|
+
}
|
|
149
|
+
else {
|
|
150
|
+
this.highlightedIndex = Math.max(this.highlightedIndex - 1, 0);
|
|
151
|
+
}
|
|
152
|
+
this.updateOptionFocus();
|
|
153
|
+
break;
|
|
154
|
+
case 'Home':
|
|
155
|
+
e.preventDefault();
|
|
156
|
+
if (selectableOptions.length > 0) {
|
|
157
|
+
this.highlightedIndex = 0;
|
|
158
|
+
this.updateOptionFocus();
|
|
159
|
+
}
|
|
160
|
+
break;
|
|
161
|
+
case 'End':
|
|
162
|
+
e.preventDefault();
|
|
163
|
+
if (selectableOptions.length > 0) {
|
|
164
|
+
this.highlightedIndex = selectableOptions.length - 1;
|
|
165
|
+
this.updateOptionFocus();
|
|
166
|
+
}
|
|
167
|
+
break;
|
|
168
|
+
case 'PageDown':
|
|
169
|
+
e.preventDefault();
|
|
170
|
+
if (selectableOptions.length > 0) {
|
|
171
|
+
const nextIndex = Math.min(this.highlightedIndex + 10, selectableOptions.length - 1);
|
|
172
|
+
this.highlightedIndex = nextIndex;
|
|
173
|
+
this.updateOptionFocus();
|
|
174
|
+
}
|
|
175
|
+
break;
|
|
176
|
+
case 'PageUp':
|
|
177
|
+
e.preventDefault();
|
|
178
|
+
if (selectableOptions.length > 0) {
|
|
179
|
+
const prevIndex = Math.max(this.highlightedIndex - 10, 0);
|
|
180
|
+
this.highlightedIndex = prevIndex;
|
|
181
|
+
this.updateOptionFocus();
|
|
182
|
+
}
|
|
110
183
|
break;
|
|
111
184
|
case 'Enter':
|
|
112
|
-
|
|
113
|
-
|
|
185
|
+
e.preventDefault();
|
|
186
|
+
if (this.highlightedIndex >= 0 && this.highlightedIndex < selectableOptions.length) {
|
|
187
|
+
this.handleOptionClick(selectableOptions[this.highlightedIndex]);
|
|
188
|
+
this.restoreFocusToTrigger();
|
|
114
189
|
}
|
|
115
190
|
break;
|
|
116
191
|
case 'Escape':
|
|
192
|
+
e.preventDefault();
|
|
193
|
+
this.isOpen = false;
|
|
194
|
+
this.highlightedIndex = -1;
|
|
195
|
+
this.isArrowKeyNavigationMode = false; // Reset arrow-key navigation mode
|
|
196
|
+
this.restoreFocusToTrigger();
|
|
197
|
+
break;
|
|
198
|
+
case 'Tab':
|
|
199
|
+
// Allow normal tab behavior to close dropdown and move focus
|
|
117
200
|
this.isOpen = false;
|
|
201
|
+
this.highlightedIndex = -1;
|
|
202
|
+
this.isArrowKeyNavigationMode = false; // Reset arrow-key navigation mode
|
|
118
203
|
break;
|
|
119
204
|
}
|
|
120
205
|
};
|
|
206
|
+
// Track if we're in arrow-key navigation mode (focus should move between options)
|
|
207
|
+
this.isArrowKeyNavigationMode = false;
|
|
121
208
|
// Event handler for option click
|
|
122
209
|
this.onOptionClick = (event) => {
|
|
123
210
|
const idx = Number(event.currentTarget.getAttribute('data-option-index'));
|
|
124
|
-
const
|
|
211
|
+
const selectableOptions = this.filteredItems.filter(item => item.tagName === 'OPTION');
|
|
212
|
+
const option = selectableOptions[idx];
|
|
125
213
|
this.handleOptionClick(option);
|
|
126
214
|
};
|
|
127
215
|
// Event handler for mouse enter on option
|
|
@@ -133,29 +221,82 @@ export class PdsCombobox {
|
|
|
133
221
|
this.onOptionMouseDown = (event) => {
|
|
134
222
|
event.preventDefault();
|
|
135
223
|
};
|
|
224
|
+
// Event handler for option keyboard events
|
|
225
|
+
this.onOptionKeyDown = (event) => {
|
|
226
|
+
// Delegate to main keyboard handler
|
|
227
|
+
this.handleKeyDown(event);
|
|
228
|
+
};
|
|
136
229
|
// Handler for button trigger click
|
|
137
230
|
this.onButtonTriggerClick = () => {
|
|
138
231
|
this.isOpen = !this.isOpen;
|
|
139
|
-
if (this.isOpen)
|
|
232
|
+
if (this.isOpen) {
|
|
233
|
+
this.filterOptions();
|
|
234
|
+
// Set highlighted index and prepare for keyboard navigation
|
|
235
|
+
const selectableOptions = this.filteredItems.filter(item => item.tagName === 'OPTION');
|
|
236
|
+
if (selectableOptions.length > 0) {
|
|
237
|
+
this.highlightedIndex = 0;
|
|
238
|
+
// For button trigger, prepare for arrow-key navigation mode
|
|
239
|
+
this.isArrowKeyNavigationMode = true;
|
|
240
|
+
}
|
|
140
241
|
setTimeout(() => this.openDropdownPositioning(), 0);
|
|
242
|
+
}
|
|
243
|
+
else {
|
|
244
|
+
// Reset navigation mode when closing
|
|
245
|
+
this.isArrowKeyNavigationMode = false;
|
|
246
|
+
}
|
|
141
247
|
};
|
|
142
248
|
// Handler for button trigger keyboard events
|
|
143
249
|
this.onButtonTriggerKeyDown = (e) => {
|
|
144
|
-
if (e.key === 'Enter' || e.key === ' ' || e.key === 'ArrowDown') {
|
|
250
|
+
if ((e.key === 'Enter' || e.key === ' ' || e.key === 'ArrowDown' || e.key === 'ArrowUp') && !this.isOpen) {
|
|
145
251
|
e.preventDefault();
|
|
252
|
+
e.stopPropagation(); // Prevent the event from bubbling and triggering click
|
|
146
253
|
this.isOpen = true;
|
|
147
|
-
this.
|
|
148
|
-
|
|
254
|
+
this.filterOptions();
|
|
255
|
+
// Set highlighted index immediately
|
|
256
|
+
const selectableOptions = this.filteredItems.filter(item => item.tagName === 'OPTION');
|
|
257
|
+
if (selectableOptions.length > 0) {
|
|
258
|
+
this.highlightedIndex = 0;
|
|
259
|
+
}
|
|
260
|
+
setTimeout(() => {
|
|
261
|
+
this.openDropdownPositioning();
|
|
262
|
+
// For all button trigger keyboard opening, focus the first option so subsequent navigation works
|
|
263
|
+
this.focusFirstOptionForArrowKeys();
|
|
264
|
+
}, 0);
|
|
149
265
|
}
|
|
150
266
|
else if (e.key === 'Escape') {
|
|
151
|
-
|
|
267
|
+
e.preventDefault();
|
|
268
|
+
if (this.isOpen) {
|
|
269
|
+
this.isOpen = false;
|
|
270
|
+
this.highlightedIndex = -1;
|
|
271
|
+
this.updateAriaActiveDescendant(); // Clear aria-activedescendant
|
|
272
|
+
this.restoreFocusToTrigger();
|
|
273
|
+
}
|
|
274
|
+
}
|
|
275
|
+
else if (this.isOpen) {
|
|
276
|
+
// Delegate other keys to main keyboard handler when dropdown is open
|
|
277
|
+
this.handleKeyDown(e);
|
|
278
|
+
}
|
|
279
|
+
};
|
|
280
|
+
// Handler for button trigger keyup events - prevents space key from triggering synthetic click
|
|
281
|
+
this.onButtonTriggerKeyUp = (e) => {
|
|
282
|
+
if (e.key === ' ') {
|
|
283
|
+
e.preventDefault();
|
|
284
|
+
e.stopPropagation();
|
|
152
285
|
}
|
|
153
286
|
};
|
|
154
287
|
// Close dropdown when focus leaves the combobox
|
|
155
288
|
this.onComboboxFocusOut = (event) => {
|
|
289
|
+
var _a;
|
|
156
290
|
const relatedTarget = event.relatedTarget;
|
|
157
|
-
if (
|
|
291
|
+
// Check if the related target is within our shadow DOM (listbox options)
|
|
292
|
+
const isRelatedTargetInListbox = relatedTarget && ((_a = this.listboxEl) === null || _a === void 0 ? void 0 : _a.contains(relatedTarget));
|
|
293
|
+
const isRelatedTargetInCombobox = this.el.contains(relatedTarget);
|
|
294
|
+
// Don't close if focus is moving to an option in the listbox or staying within the combobox
|
|
295
|
+
if (!isRelatedTargetInCombobox && !isRelatedTargetInListbox) {
|
|
158
296
|
this.isOpen = false;
|
|
297
|
+
this.highlightedIndex = -1;
|
|
298
|
+
this.isArrowKeyNavigationMode = false; // Reset arrow-key navigation mode
|
|
299
|
+
this.updateAriaActiveDescendant(); // Clear aria-activedescendant
|
|
159
300
|
// If there's a selected option but the input value doesn't match, restore the selected option's value
|
|
160
301
|
if (this.selectedOption && this.value !== this.getOptionLabel(this.selectedOption)) {
|
|
161
302
|
this.value = this.getOptionLabel(this.selectedOption);
|
|
@@ -177,11 +318,33 @@ export class PdsCombobox {
|
|
|
177
318
|
}
|
|
178
319
|
updateOptions() {
|
|
179
320
|
var _a;
|
|
180
|
-
// Get all
|
|
321
|
+
// Get all elements from the slot
|
|
181
322
|
const slot = (_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('slot[name="option"], slot:not([name])');
|
|
182
323
|
if (slot) {
|
|
183
|
-
|
|
184
|
-
|
|
324
|
+
const allElements = slot.assignedElements({ flatten: true });
|
|
325
|
+
// Separate options from group labels and flatten optgroups
|
|
326
|
+
this.allItems = [];
|
|
327
|
+
this.optionEls = [];
|
|
328
|
+
allElements.forEach(el => {
|
|
329
|
+
if (el.tagName === 'OPTION') {
|
|
330
|
+
this.optionEls.push(el);
|
|
331
|
+
this.allItems.push(el);
|
|
332
|
+
}
|
|
333
|
+
else if (el.tagName === 'OPTGROUP') {
|
|
334
|
+
const optgroup = el;
|
|
335
|
+
this.allItems.push(optgroup);
|
|
336
|
+
// Add optgroup children (options)
|
|
337
|
+
Array.from(optgroup.children).forEach(child => {
|
|
338
|
+
if (child.tagName === 'OPTION') {
|
|
339
|
+
this.optionEls.push(child);
|
|
340
|
+
this.allItems.push(child);
|
|
341
|
+
}
|
|
342
|
+
});
|
|
343
|
+
}
|
|
344
|
+
else if (el.tagName === 'PDS-TEXT') {
|
|
345
|
+
this.allItems.push(el);
|
|
346
|
+
}
|
|
347
|
+
});
|
|
185
348
|
// Set initial selected option if one exists (only check DOM on initialization)
|
|
186
349
|
if (!this.selectedOption) {
|
|
187
350
|
const initialSelected = this.optionEls.find(opt => opt.hasAttribute('selected')) || null;
|
|
@@ -243,12 +406,16 @@ export class PdsCombobox {
|
|
|
243
406
|
this.selectedOption = option;
|
|
244
407
|
}
|
|
245
408
|
filterOptions() {
|
|
409
|
+
// Ensure allItems includes optionEls if not already populated (for edge cases)
|
|
410
|
+
if (this.allItems.length === 0 && this.optionEls.length > 0) {
|
|
411
|
+
this.allItems = [...this.optionEls];
|
|
412
|
+
}
|
|
246
413
|
if (this.mode === 'select-only') {
|
|
247
|
-
this.
|
|
414
|
+
this.filteredItems = [...this.allItems];
|
|
248
415
|
}
|
|
249
416
|
else {
|
|
250
417
|
const val = this.value.toLowerCase();
|
|
251
|
-
|
|
418
|
+
const filteredOptions = this.optionEls.filter(option => {
|
|
252
419
|
// For layout options, search both text content and data-search-text attribute
|
|
253
420
|
if (this.isOptionLayout(option)) {
|
|
254
421
|
const searchText = option.getAttribute('data-search-text') || option.textContent || '';
|
|
@@ -256,6 +423,31 @@ export class PdsCombobox {
|
|
|
256
423
|
}
|
|
257
424
|
return this.getOptionLabel(option).toLowerCase().includes(val);
|
|
258
425
|
});
|
|
426
|
+
// Rebuild filtered items maintaining group structure - simplified approach
|
|
427
|
+
this.filteredItems = [];
|
|
428
|
+
let currentGroupLabel = null;
|
|
429
|
+
this.allItems.forEach(item => {
|
|
430
|
+
if (item.tagName === 'OPTGROUP' || item.tagName === 'PDS-TEXT') {
|
|
431
|
+
currentGroupLabel = item;
|
|
432
|
+
}
|
|
433
|
+
else if (item.tagName === 'OPTION' && filteredOptions.includes(item)) {
|
|
434
|
+
const optionEl = item;
|
|
435
|
+
const parent = optionEl.parentElement;
|
|
436
|
+
let labelToUse = null;
|
|
437
|
+
if (parent && parent.tagName === 'OPTGROUP') {
|
|
438
|
+
// Only use the actual parent optgroup as label
|
|
439
|
+
labelToUse = parent;
|
|
440
|
+
}
|
|
441
|
+
else if (currentGroupLabel && currentGroupLabel.tagName === 'PDS-TEXT') {
|
|
442
|
+
// Allow pds-text to label subsequent top-level options until another label appears
|
|
443
|
+
labelToUse = currentGroupLabel;
|
|
444
|
+
}
|
|
445
|
+
if (labelToUse && !this.filteredItems.includes(labelToUse)) {
|
|
446
|
+
this.filteredItems.push(labelToUse);
|
|
447
|
+
}
|
|
448
|
+
this.filteredItems.push(optionEl);
|
|
449
|
+
}
|
|
450
|
+
});
|
|
259
451
|
}
|
|
260
452
|
this.highlightedIndex = -1;
|
|
261
453
|
}
|
|
@@ -288,7 +480,109 @@ export class PdsCombobox {
|
|
|
288
480
|
*/
|
|
289
481
|
async setFocus() {
|
|
290
482
|
var _a;
|
|
291
|
-
(
|
|
483
|
+
if (this.inputEl) {
|
|
484
|
+
this.inputEl.focus();
|
|
485
|
+
}
|
|
486
|
+
else {
|
|
487
|
+
(_a = this.triggerEl) === null || _a === void 0 ? void 0 : _a.focus();
|
|
488
|
+
}
|
|
489
|
+
}
|
|
490
|
+
/**
|
|
491
|
+
* Focus management helper - moves focus to the first option when dropdown opens
|
|
492
|
+
*/
|
|
493
|
+
focusFirstOption() {
|
|
494
|
+
if (this.isOpen) {
|
|
495
|
+
const selectableOptions = this.filteredItems.filter(item => item.tagName === 'OPTION');
|
|
496
|
+
if (selectableOptions.length > 0) {
|
|
497
|
+
this.highlightedIndex = 0;
|
|
498
|
+
// DON'T focus the option elements - keep focus on trigger and use aria-activedescendant
|
|
499
|
+
// This prevents the focusout event that was closing the dropdown
|
|
500
|
+
// But still call updateOptionFocus for scrolling
|
|
501
|
+
if (this.listboxEl) {
|
|
502
|
+
this.updateOptionFocus();
|
|
503
|
+
}
|
|
504
|
+
}
|
|
505
|
+
}
|
|
506
|
+
}
|
|
507
|
+
/**
|
|
508
|
+
* Focus management helper - actually focuses the first option when opened via arrow keys
|
|
509
|
+
*/
|
|
510
|
+
focusFirstOptionForArrowKeys() {
|
|
511
|
+
if (this.isOpen) {
|
|
512
|
+
// Set arrow-key navigation mode
|
|
513
|
+
this.isArrowKeyNavigationMode = true;
|
|
514
|
+
const selectableOptions = this.filteredItems.filter(item => item.tagName === 'OPTION');
|
|
515
|
+
if (selectableOptions.length > 0) {
|
|
516
|
+
this.highlightedIndex = 0;
|
|
517
|
+
// For arrow key navigation, actually focus the first option
|
|
518
|
+
if (this.listboxEl) {
|
|
519
|
+
const optionElements = this.listboxEl.querySelectorAll('[role="option"]');
|
|
520
|
+
const firstOption = optionElements[0];
|
|
521
|
+
if (firstOption) {
|
|
522
|
+
// Remove tabindex from all options first
|
|
523
|
+
optionElements.forEach(option => {
|
|
524
|
+
option.setAttribute('tabindex', '-1');
|
|
525
|
+
});
|
|
526
|
+
// Set tabindex and focus on first option
|
|
527
|
+
firstOption.setAttribute('tabindex', '0');
|
|
528
|
+
firstOption.focus();
|
|
529
|
+
firstOption.scrollIntoView({ block: 'nearest', behavior: 'smooth' });
|
|
530
|
+
}
|
|
531
|
+
}
|
|
532
|
+
// Update aria-activedescendant on trigger
|
|
533
|
+
this.updateAriaActiveDescendant();
|
|
534
|
+
}
|
|
535
|
+
}
|
|
536
|
+
}
|
|
537
|
+
/**
|
|
538
|
+
* Focus management helper - updates visual state and scrolling for the currently highlighted option
|
|
539
|
+
* Note: We don't actually focus the option to prevent focusout events that close the dropdown
|
|
540
|
+
*/
|
|
541
|
+
updateOptionFocus() {
|
|
542
|
+
if (!this.listboxEl || this.highlightedIndex < 0)
|
|
543
|
+
return;
|
|
544
|
+
const optionElements = this.listboxEl.querySelectorAll('[role="option"]');
|
|
545
|
+
const currentOption = optionElements[this.highlightedIndex];
|
|
546
|
+
if (currentOption) {
|
|
547
|
+
// Check if any option currently has focus OR if we're in arrow-key navigation mode
|
|
548
|
+
const hasOptionFocus = Array.from(optionElements).some(el => el === document.activeElement);
|
|
549
|
+
if (hasOptionFocus || this.isArrowKeyNavigationMode) {
|
|
550
|
+
// We're in arrow-key navigation mode, so actually move focus between options
|
|
551
|
+
optionElements.forEach(option => {
|
|
552
|
+
option.setAttribute('tabindex', '-1');
|
|
553
|
+
});
|
|
554
|
+
currentOption.setAttribute('tabindex', '0');
|
|
555
|
+
currentOption.focus();
|
|
556
|
+
}
|
|
557
|
+
// Always scroll the option into view
|
|
558
|
+
currentOption.scrollIntoView({ block: 'nearest', behavior: 'smooth' });
|
|
559
|
+
}
|
|
560
|
+
// Always update aria-activedescendant on the trigger element
|
|
561
|
+
this.updateAriaActiveDescendant();
|
|
562
|
+
}
|
|
563
|
+
/**
|
|
564
|
+
* Updates aria-activedescendant on the trigger element
|
|
565
|
+
*/
|
|
566
|
+
updateAriaActiveDescendant() {
|
|
567
|
+
if (this.triggerEl && this.highlightedIndex >= 0) {
|
|
568
|
+
this.triggerEl.setAttribute('aria-activedescendant', `pds-combobox-option-${this.highlightedIndex}`);
|
|
569
|
+
}
|
|
570
|
+
else if (this.triggerEl) {
|
|
571
|
+
this.triggerEl.removeAttribute('aria-activedescendant');
|
|
572
|
+
}
|
|
573
|
+
}
|
|
574
|
+
/**
|
|
575
|
+
* Focus management helper - restores focus to the trigger element
|
|
576
|
+
*/
|
|
577
|
+
restoreFocusToTrigger() {
|
|
578
|
+
setTimeout(() => {
|
|
579
|
+
if (this.inputEl) {
|
|
580
|
+
this.inputEl.focus();
|
|
581
|
+
}
|
|
582
|
+
else if (this.triggerEl) {
|
|
583
|
+
this.triggerEl.focus();
|
|
584
|
+
}
|
|
585
|
+
}, 0);
|
|
292
586
|
}
|
|
293
587
|
/**
|
|
294
588
|
* Gets the value of the currently selected option.
|
|
@@ -316,22 +610,38 @@ export class PdsCombobox {
|
|
|
316
610
|
this.pdsComboboxChange.emit({ value: option.value });
|
|
317
611
|
}
|
|
318
612
|
renderDropdown() {
|
|
319
|
-
if (!this.isOpen || this.
|
|
613
|
+
if (!this.isOpen || this.filteredItems.length === 0) {
|
|
614
|
+
return null;
|
|
615
|
+
}
|
|
616
|
+
let optionIndex = 0;
|
|
617
|
+
const selectableOptions = this.filteredItems.filter(item => item.tagName === 'OPTION');
|
|
618
|
+
return (h("ul", { class: "pds-combobox__listbox", role: "listbox", id: "pds-combobox-listbox", "aria-label": this.label || 'Options', "aria-multiselectable": "false", ref: el => (this.listboxEl = el) }, this.filteredItems.map((item, itemIdx) => {
|
|
619
|
+
if (item.tagName === 'OPTGROUP') {
|
|
620
|
+
const optgroup = item;
|
|
621
|
+
return (h("li", { key: `optgroup-${itemIdx}`, class: "pds-combobox__group-label", role: "presentation", "aria-label": optgroup.label }, optgroup.label));
|
|
622
|
+
}
|
|
623
|
+
else if (item.tagName === 'PDS-TEXT') {
|
|
624
|
+
const pdsText = item;
|
|
625
|
+
return (h("li", { key: `pds-text-${itemIdx}`, class: "pds-combobox__group-label", role: "presentation" }, pdsText.textContent));
|
|
626
|
+
}
|
|
627
|
+
else if (item.tagName === 'OPTION') {
|
|
628
|
+
const option = item;
|
|
629
|
+
const isSelected = this.isOptionSelected(option);
|
|
630
|
+
const isHighlighted = this.highlightedIndex === optionIndex;
|
|
631
|
+
const isLayout = this.isOptionLayout(option);
|
|
632
|
+
const currentOptionIndex = optionIndex++;
|
|
633
|
+
return (h("li", { key: option.value, id: `pds-combobox-option-${currentOptionIndex}`, role: "option", "aria-selected": isSelected ? 'true' : 'false', "aria-setsize": selectableOptions.length, "aria-posinset": currentOptionIndex + 1, "aria-label": isLayout ? option.getAttribute('aria-label') || this.getOptionLabel(option) : undefined, tabindex: isHighlighted ? '0' : '-1', class: {
|
|
634
|
+
'pds-combobox__option': true,
|
|
635
|
+
'pds-combobox__option--highlighted': isHighlighted,
|
|
636
|
+
'pds-combobox__option--layout': isLayout,
|
|
637
|
+
}, "data-option-index": currentOptionIndex, onMouseDown: this.onOptionMouseDown, onClick: this.onOptionClick, onMouseEnter: this.onOptionMouseEnter, onKeyDown: this.onOptionKeyDown }, isLayout ? (h("pds-box", { class: "pds-combobox__option-layout-wrapper", innerHTML: this.getOptionLayoutContent(option) })) : (this.getOptionLabel(option)), isSelected && h("pds-icon", { icon: "check", size: "regular", class: "pds-combobox__option-check" })));
|
|
638
|
+
}
|
|
320
639
|
return null;
|
|
321
|
-
return (h("ul", { class: "pds-combobox__listbox", role: "listbox", id: "pds-combobox-listbox", ref: el => (this.listboxEl = el) }, this.filteredOptions.map((option, idx) => {
|
|
322
|
-
const isSelected = this.isOptionSelected(option);
|
|
323
|
-
const isHighlighted = this.highlightedIndex === idx;
|
|
324
|
-
const isLayout = this.isOptionLayout(option);
|
|
325
|
-
return (h("li", { key: option.value, id: `pds-combobox-option-${idx}`, role: "option", "aria-selected": isSelected ? 'true' : 'false', class: {
|
|
326
|
-
'pds-combobox__option': true,
|
|
327
|
-
'pds-combobox__option--highlighted': isHighlighted,
|
|
328
|
-
'pds-combobox__option--layout': isLayout,
|
|
329
|
-
}, "data-option-index": idx, onMouseDown: this.onOptionMouseDown, onClick: this.onOptionClick, onMouseEnter: this.onOptionMouseEnter }, isLayout ? (h("pds-box", { class: "pds-combobox__option-layout-wrapper", innerHTML: this.getOptionLayoutContent(option) })) : (this.getOptionLabel(option)), isSelected && h("pds-icon", { icon: "check", size: "regular", class: "pds-combobox__option-check" })));
|
|
330
640
|
})));
|
|
331
641
|
}
|
|
332
642
|
// Helper method to render the caret icon
|
|
333
643
|
renderCaretIcon() {
|
|
334
|
-
return h("pds-icon", { icon: "caret-down", "aria-hidden": "true",
|
|
644
|
+
return h("pds-icon", { icon: "caret-down", "aria-hidden": "true", class: "pds-combobox__button-trigger-chevron" });
|
|
335
645
|
}
|
|
336
646
|
// Helper method to render layout content
|
|
337
647
|
renderLayoutContent() {
|
|
@@ -363,10 +673,10 @@ export class PdsCombobox {
|
|
|
363
673
|
}
|
|
364
674
|
render() {
|
|
365
675
|
const triggerClass = `pds-combobox__button-trigger pds-combobox__button-trigger--${this.triggerVariant}`;
|
|
366
|
-
return (h(Host, { key: '
|
|
676
|
+
return (h(Host, { key: 'a7e29f0e0c5ee43f1516b3668dbabb3231ecf728' }, h("div", { key: '67da7d8953761ec64f30a4292785b7e8ed5d1449', class: "pds-combobox", tabIndex: -1, onFocusout: this.onComboboxFocusOut }, this.label && (h("label", { key: '0f013de1a3d6ccdce2fe31c18b144f7178a2c30f', htmlFor: this.componentId, class: "pds-combobox__label" }, h("span", { key: '3c7dfa84d68565e10b5784aa2365d9c5164b7d06', class: this.hideLabel ? 'visually-hidden' : '' }, this.label))), this.trigger === 'input' ? (h("div", { class: "pds-combobox__input-wrapper", style: { width: this.triggerWidth } }, h("input", { ref: el => {
|
|
367
677
|
this.inputEl = el;
|
|
368
678
|
this.triggerEl = el;
|
|
369
|
-
}, class: "pds-combobox__input",
|
|
679
|
+
}, class: "pds-combobox__input", type: "text", role: "combobox", "aria-autocomplete": "list", "aria-controls": "pds-combobox-listbox", "aria-activedescendant": this.isOpen && this.highlightedIndex >= 0 ? `pds-combobox-option-${this.highlightedIndex}` : undefined, "aria-expanded": this.isOpen ? 'true' : 'false', "aria-disabled": this.disabled ? 'true' : 'false', "aria-label": this.hideLabel ? this.label : undefined, id: this.componentId, value: this.value, placeholder: this.placeholder, disabled: this.disabled, onInput: this.handleInput, onClick: this.handleInputClick, onKeyDown: this.handleKeyDown, autocomplete: "off", part: "input" }), h("pds-icon", { icon: "enlarge", "aria-hidden": "true", class: "pds-combobox__input-icon" }))) : (h("div", { class: triggerClass, style: { width: this.triggerWidth }, role: "combobox", "aria-haspopup": "listbox", "aria-controls": "pds-combobox-listbox", "aria-activedescendant": this.isOpen && this.highlightedIndex >= 0 ? `pds-combobox-option-${this.highlightedIndex}` : undefined, "aria-expanded": this.isOpen ? 'true' : 'false', "aria-disabled": this.disabled ? 'true' : 'false', "aria-label": this.hideLabel ? this.label : undefined, id: this.componentId, tabIndex: this.disabled ? -1 : 0, onClick: this.onButtonTriggerClick, "data-layout": this.customTriggerContent, onKeyDown: this.onButtonTriggerKeyDown, onKeyUp: this.onButtonTriggerKeyUp, ref: el => (this.triggerEl = el), part: "button-trigger" }, this.renderButtonTriggerContent())), h("div", { key: 'cbf26d489f2ffc32fc1f0820f962aef74b62bed4', style: { display: 'none' } }, h("slot", { key: 'ad01cd795f9cd5aba1bbe25d0dac2d489b3e5f20', onSlotchange: () => this.updateOptions() })), this.renderDropdown())));
|
|
370
680
|
}
|
|
371
681
|
static get is() { return "pds-combobox"; }
|
|
372
682
|
static get encapsulation() { return "shadow"; }
|
|
@@ -706,7 +1016,7 @@ export class PdsCombobox {
|
|
|
706
1016
|
}
|
|
707
1017
|
static get states() {
|
|
708
1018
|
return {
|
|
709
|
-
"
|
|
1019
|
+
"filteredItems": {},
|
|
710
1020
|
"highlightedIndex": {},
|
|
711
1021
|
"isOpen": {},
|
|
712
1022
|
"selectedOption": {},
|