@pine-ds/core 3.6.0 → 3.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/form.js +16 -1
- package/components/form.js.map +1 -1
- package/components/index.d.ts +4 -0
- package/components/index.js +2 -0
- package/components/index.js.map +1 -1
- package/components/index2.js +4 -2
- package/components/index2.js.map +1 -1
- package/components/mock-pds-modal.js +2 -2
- package/components/mock-pds-modal.js.map +1 -1
- package/components/pds-avatar.js +1 -1
- package/components/pds-button2.js +7 -4
- package/components/pds-button2.js.map +1 -1
- package/components/pds-checkbox2.js +8 -5
- package/components/pds-checkbox2.js.map +1 -1
- package/components/pds-chip.js +1 -100
- package/components/pds-chip.js.map +1 -1
- package/components/pds-chip2.js +105 -0
- package/components/pds-chip2.js.map +1 -0
- package/components/pds-combobox.js +735 -54
- package/components/pds-combobox.js.map +1 -1
- package/components/pds-copytext.js +4 -4
- package/components/pds-copytext.js.map +1 -1
- package/components/pds-dropdown-menu-separator.js +1 -1
- package/components/pds-dropdown-menu-separator.js.map +1 -1
- package/components/pds-dropdown-menu.js +1 -1
- package/components/pds-dropdown-menu.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 +3 -3
- package/components/pds-input.js.map +1 -1
- package/components/pds-link2.js +2 -2
- package/components/pds-loader2.js +1 -1
- package/components/pds-modal-content.js +2 -2
- package/components/pds-modal-footer.js +1 -1
- package/components/pds-modal-header.js +1 -1
- package/components/pds-modal.js +4 -4
- package/components/pds-modal.js.map +1 -1
- package/components/pds-popover.js +123 -15
- package/components/pds-popover.js.map +1 -1
- package/components/pds-progress.js +1 -1
- package/components/pds-property.js +1 -1
- package/components/pds-radio.js +11 -5
- package/components/pds-radio.js.map +1 -1
- package/components/pds-row.js +1 -1
- package/components/pds-select.js +22 -6
- package/components/pds-select.js.map +1 -1
- package/components/pds-sortable-item.js +1 -1
- package/components/pds-sortable.js +1 -1
- package/components/pds-switch.js +8 -5
- package/components/pds-switch.js.map +1 -1
- 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 +3 -3
- package/components/pds-table-cell2.js.map +1 -1
- package/components/pds-table-head-cell2.js +3 -3
- package/components/pds-table-head-cell2.js.map +1 -1
- package/components/pds-table-head.js +2 -2
- package/components/pds-table-head.js.map +1 -1
- package/components/pds-table-row.js +2 -2
- package/components/pds-table-row.js.map +1 -1
- package/components/pds-table.js +1 -1
- package/components/pds-table.js.map +1 -1
- package/components/pds-tabpanel.js +1 -1
- package/components/pds-tabs.js +14 -4
- package/components/pds-tabs.js.map +1 -1
- package/components/pds-text2.js +1 -1
- package/components/pds-textarea.js +10 -7
- package/components/pds-textarea.js.map +1 -1
- package/components/pds-toast.js +3 -3
- package/components/pds-tooltip.js +4 -4
- package/components/pds-tooltip.js.map +1 -1
- package/dist/cjs/{form-Bx4nzJBo.js → form-hmpgbT1I.js} +18 -2
- package/dist/cjs/form-hmpgbT1I.js.map +1 -0
- 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-DVaLegMK.js → index-DtnvzYhe.js} +7 -3
- package/dist/cjs/index-DtnvzYhe.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 +3 -3
- 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 +1 -1
- package/dist/cjs/pds-button.cjs.entry.js +8 -5
- 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 +9 -6
- package/dist/cjs/pds-checkbox.cjs.entry.js.map +1 -1
- package/dist/cjs/pds-checkbox.entry.cjs.js.map +1 -1
- package/dist/cjs/pds-chip.cjs.entry.js +4 -4
- package/dist/cjs/pds-chip.cjs.entry.js.map +1 -1
- package/dist/cjs/pds-chip.entry.cjs.js.map +1 -1
- package/dist/cjs/pds-combobox.cjs.entry.js +719 -51
- 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 +5 -5
- package/dist/cjs/pds-copytext.cjs.entry.js.map +1 -1
- package/dist/cjs/pds-copytext.entry.cjs.js.map +1 -1
- 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 +2 -2
- package/dist/cjs/pds-dropdown-menu.cjs.entry.js.map +1 -1
- package/dist/cjs/pds-dropdown-menu.entry.cjs.js.map +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 +5 -5
- package/dist/cjs/pds-input.cjs.entry.js.map +1 -1
- package/dist/cjs/pds-input.entry.cjs.js.map +1 -1
- 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 +3 -3
- 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 +5 -5
- 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 +118 -13
- package/dist/cjs/pds-popover.cjs.entry.js.map +1 -1
- package/dist/cjs/pds-popover.entry.cjs.js.map +1 -1
- 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 +12 -6
- package/dist/cjs/pds-radio.cjs.entry.js.map +1 -1
- package/dist/cjs/pds-radio.entry.cjs.js.map +1 -1
- package/dist/cjs/pds-row.cjs.entry.js +2 -2
- package/dist/cjs/pds-select.cjs.entry.js +21 -6
- package/dist/cjs/pds-select.cjs.entry.js.map +1 -1
- package/dist/cjs/pds-select.entry.cjs.js.map +1 -1
- 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 +9 -6
- package/dist/cjs/pds-switch.cjs.entry.js.map +1 -1
- package/dist/cjs/pds-switch.entry.cjs.js.map +1 -1
- 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 +4 -4
- package/dist/cjs/pds-table-cell.cjs.entry.js.map +1 -1
- package/dist/cjs/pds-table-cell.entry.cjs.js.map +1 -1
- package/dist/cjs/pds-table-head-cell.cjs.entry.js +5 -5
- package/dist/cjs/pds-table-head-cell.cjs.entry.js.map +1 -1
- package/dist/cjs/pds-table-head-cell.entry.cjs.js.map +1 -1
- package/dist/cjs/pds-table-head.cjs.entry.js +3 -3
- package/dist/cjs/pds-table-head.cjs.entry.js.map +1 -1
- package/dist/cjs/pds-table-head.entry.cjs.js.map +1 -1
- package/dist/cjs/pds-table-row.cjs.entry.js +3 -3
- package/dist/cjs/pds-table-row.cjs.entry.js.map +1 -1
- package/dist/cjs/pds-table-row.entry.cjs.js.map +1 -1
- package/dist/cjs/pds-table.cjs.entry.js +2 -2
- package/dist/cjs/pds-table.cjs.entry.js.map +1 -1
- package/dist/cjs/pds-table.entry.cjs.js.map +1 -1
- package/dist/cjs/pds-tabpanel.cjs.entry.js +2 -2
- package/dist/cjs/pds-tabs.cjs.entry.js +15 -5
- 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 +11 -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 +5 -5
- package/dist/cjs/pds-tooltip.cjs.entry.js.map +1 -1
- package/dist/cjs/pds-tooltip.entry.cjs.js.map +1 -1
- package/dist/cjs/pine-core.cjs.js +2 -2
- package/dist/collection/collection-manifest.json +2 -0
- package/dist/collection/components/pds-button/pds-button.css +29 -3
- package/dist/collection/components/pds-button/pds-button.js +8 -5
- 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-checkbox/pds-checkbox.js +7 -4
- package/dist/collection/components/pds-checkbox/pds-checkbox.js.map +1 -1
- package/dist/collection/components/pds-chip/pds-chip.css +2 -2
- package/dist/collection/components/pds-chip/pds-chip.js +17 -5
- package/dist/collection/components/pds-chip/pds-chip.js.map +1 -1
- package/dist/collection/components/pds-combobox/pds-combobox.css +213 -4
- package/dist/collection/components/pds-combobox/pds-combobox.js +837 -54
- package/dist/collection/components/pds-combobox/pds-combobox.js.map +1 -1
- package/dist/collection/components/pds-combobox/stories/pds-combobox.stories.js +182 -2
- package/dist/collection/components/pds-copytext/pds-copytext.css +6 -3
- package/dist/collection/components/pds-copytext/pds-copytext.js +2 -2
- package/dist/collection/components/pds-copytext/pds-copytext.js.map +1 -1
- package/dist/collection/components/pds-copytext/stories/pds-copytext.stories.js +1 -1
- package/dist/collection/components/pds-dropdown-menu/pds-dropdown-menu-separator/pds-dropdown-menu-separator.css +4 -1
- package/dist/collection/components/pds-dropdown-menu/pds-dropdown-menu.css +1 -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.css +18 -3
- package/dist/collection/components/pds-input/pds-input.js +1 -1
- package/dist/collection/components/pds-input/stories/pds-input.stories.js +42 -0
- 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.js +2 -2
- 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 +2 -2
- package/dist/collection/components/pds-modal/pds-modal.js +3 -3
- package/dist/collection/components/pds-modal/test/mock-pds-modal.js +1 -1
- package/dist/collection/components/pds-popover/pds-popover.css +3 -0
- package/dist/collection/components/pds-popover/pds-popover.js +226 -17
- package/dist/collection/components/pds-popover/pds-popover.js.map +1 -1
- package/dist/collection/components/pds-popover/popover-interface.js +2 -0
- package/dist/collection/components/pds-popover/popover-interface.js.map +1 -0
- package/dist/collection/components/pds-popover/stories/pds-popover.stories.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 +10 -4
- package/dist/collection/components/pds-radio/pds-radio.js.map +1 -1
- package/dist/collection/components/pds-row/pds-row.js +1 -1
- package/dist/collection/components/pds-select/pds-select.css +1 -1
- package/dist/collection/components/pds-select/pds-select.js +19 -2
- package/dist/collection/components/pds-select/pds-select.js.map +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 +7 -4
- package/dist/collection/components/pds-switch/pds-switch.js.map +1 -1
- 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.css +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.css +1 -1
- 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.css +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.css +1 -1
- package/dist/collection/components/pds-table/pds-table-row/pds-table-row.js +1 -1
- package/dist/collection/components/pds-table/pds-table.css +1 -1
- package/dist/collection/components/pds-tabs/pds-tab/pds-tab.css +5 -2
- 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 +15 -4
- package/dist/collection/components/pds-tabs/pds-tabs.js.map +1 -1
- package/dist/collection/components/pds-tabs/stories/pds-tabs.stories.js +1 -1
- package/dist/collection/components/pds-text/pds-text.js +1 -1
- package/dist/collection/components/pds-textarea/pds-textarea.css +1 -1
- package/dist/collection/components/pds-textarea/pds-textarea.js +8 -5
- package/dist/collection/components/pds-textarea/pds-textarea.js.map +1 -1
- package/dist/collection/components/pds-toast/pds-toast.js +3 -3
- package/dist/collection/components/pds-tooltip/pds-tooltip.css +1 -1
- package/dist/collection/components/pds-tooltip/pds-tooltip.js +3 -3
- package/dist/collection/components/pds-tooltip/pds-tooltip.js.map +1 -1
- package/dist/collection/utils/form.js +15 -0
- package/dist/collection/utils/form.js.map +1 -1
- package/dist/collection/utils/types.js.map +1 -1
- package/dist/docs.json +825 -84
- package/dist/esm/form-DwjNklzi.js +47 -0
- package/dist/esm/form-DwjNklzi.js.map +1 -0
- 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-D4zJBIgl.js} +6 -4
- package/dist/esm/index-D4zJBIgl.js.map +1 -0
- package/dist/esm/index.js +1 -1
- package/dist/esm/loader.js +3 -3
- package/dist/esm/mock-pds-modal.entry.js +3 -3
- 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 +1 -1
- package/dist/esm/pds-button.entry.js +8 -5
- package/dist/esm/pds-button.entry.js.map +1 -1
- package/dist/esm/pds-checkbox.entry.js +9 -6
- package/dist/esm/pds-checkbox.entry.js.map +1 -1
- package/dist/esm/pds-chip.entry.js +4 -4
- package/dist/esm/pds-chip.entry.js.map +1 -1
- package/dist/esm/pds-combobox.entry.js +719 -51
- package/dist/esm/pds-combobox.entry.js.map +1 -1
- package/dist/esm/pds-copytext.entry.js +5 -5
- package/dist/esm/pds-copytext.entry.js.map +1 -1
- 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 +2 -2
- package/dist/esm/pds-dropdown-menu.entry.js.map +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 +5 -5
- package/dist/esm/pds-input.entry.js.map +1 -1
- 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 +3 -3
- 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 +5 -5
- package/dist/esm/pds-modal.entry.js.map +1 -1
- package/dist/esm/pds-popover.entry.js +118 -13
- package/dist/esm/pds-popover.entry.js.map +1 -1
- 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 +12 -6
- package/dist/esm/pds-radio.entry.js.map +1 -1
- package/dist/esm/pds-row.entry.js +2 -2
- package/dist/esm/pds-select.entry.js +21 -6
- package/dist/esm/pds-select.entry.js.map +1 -1
- 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 +9 -6
- package/dist/esm/pds-switch.entry.js.map +1 -1
- 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 +4 -4
- package/dist/esm/pds-table-cell.entry.js.map +1 -1
- package/dist/esm/pds-table-head-cell.entry.js +5 -5
- package/dist/esm/pds-table-head-cell.entry.js.map +1 -1
- package/dist/esm/pds-table-head.entry.js +3 -3
- package/dist/esm/pds-table-head.entry.js.map +1 -1
- package/dist/esm/pds-table-row.entry.js +3 -3
- package/dist/esm/pds-table-row.entry.js.map +1 -1
- package/dist/esm/pds-table.entry.js +2 -2
- package/dist/esm/pds-table.entry.js.map +1 -1
- package/dist/esm/pds-tabpanel.entry.js +2 -2
- package/dist/esm/pds-tabs.entry.js +15 -5
- 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 +11 -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 +5 -5
- package/dist/esm/pds-tooltip.entry.js.map +1 -1
- package/dist/esm/pine-core.js +3 -3
- package/dist/esm-es5/form-DwjNklzi.js +2 -0
- package/dist/esm-es5/form-DwjNklzi.js.map +1 -0
- 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-D4zJBIgl.js +2 -0
- package/dist/esm-es5/index-D4zJBIgl.js.map +1 -0
- 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-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-checkbox.entry.js.map +1 -1
- package/dist/esm-es5/pds-chip.entry.js +1 -1
- package/dist/esm-es5/pds-chip.entry.js.map +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-copytext.entry.js.map +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-dropdown-menu.entry.js.map +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-input.entry.js.map +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-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-popover.entry.js.map +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-radio.entry.js.map +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-select.entry.js.map +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-switch.entry.js.map +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-cell.entry.js.map +1 -1
- package/dist/esm-es5/pds-table-head-cell.entry.js +1 -1
- package/dist/esm-es5/pds-table-head-cell.entry.js.map +1 -1
- package/dist/esm-es5/pds-table-head.entry.js +1 -1
- package/dist/esm-es5/pds-table-head.entry.js.map +1 -1
- package/dist/esm-es5/pds-table-row.entry.js +1 -1
- package/dist/esm-es5/pds-table-row.entry.js.map +1 -1
- package/dist/esm-es5/pds-table.entry.js +1 -1
- package/dist/esm-es5/pds-table.entry.js.map +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/pds-tooltip.entry.js.map +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-00346c62.system.entry.js +2 -0
- package/dist/pine-core/p-00346c62.system.entry.js.map +1 -0
- package/dist/pine-core/{p-72b05928.system.entry.js → p-0486ecc6.system.entry.js} +2 -2
- package/dist/pine-core/{p-72b05928.system.entry.js.map → p-0486ecc6.system.entry.js.map} +1 -1
- package/dist/pine-core/p-07e129db.entry.js +2 -0
- package/dist/pine-core/{p-540cfd70.entry.js → p-1009009c.entry.js} +2 -2
- package/dist/pine-core/{p-349a8869.entry.js → p-100de2b7.entry.js} +2 -2
- package/dist/pine-core/p-1b932ee3.entry.js +2 -0
- package/dist/pine-core/p-1b932ee3.entry.js.map +1 -0
- 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-20466115.entry.js +2 -0
- package/dist/pine-core/p-20466115.entry.js.map +1 -0
- package/dist/pine-core/{p-dfc5ab34.system.entry.js → p-2054b5cb.system.entry.js} +2 -2
- package/dist/pine-core/{p-8726c99d.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-54183d70.system.entry.js → p-2aab28b1.system.entry.js} +2 -2
- 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-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-378df5eb.system.entry.js +2 -0
- package/dist/pine-core/{p-e08f492a.entry.js → p-39648ce2.entry.js} +2 -2
- package/dist/pine-core/p-3dce3bc0.system.entry.js +2 -0
- package/dist/pine-core/p-3dce3bc0.system.entry.js.map +1 -0
- package/dist/pine-core/{p-5f5b19f4.entry.js → p-41e2fe3a.entry.js} +2 -2
- package/dist/pine-core/p-449ebe39.system.entry.js +2 -0
- package/dist/pine-core/p-45d574f1.system.entry.js +2 -0
- package/dist/pine-core/p-45d574f1.system.entry.js.map +1 -0
- package/dist/pine-core/p-465e3418.system.entry.js +2 -0
- package/dist/pine-core/p-465e3418.system.entry.js.map +1 -0
- package/dist/pine-core/p-4xv5UVkx.system.js.map +1 -0
- package/dist/pine-core/p-538b3902.system.entry.js +2 -0
- package/dist/pine-core/p-538b3902.system.entry.js.map +1 -0
- package/dist/pine-core/{p-c13ef6a7.system.entry.js → p-55d06d0a.system.entry.js} +3 -3
- package/dist/pine-core/{p-075eecf9.entry.js → p-5ac7af9e.entry.js} +2 -2
- package/dist/pine-core/p-61a25ab2.entry.js +2 -0
- package/dist/pine-core/p-61a25ab2.entry.js.map +1 -0
- package/dist/pine-core/p-6381a811.system.entry.js +4 -0
- package/dist/pine-core/p-6381a811.system.entry.js.map +1 -0
- package/dist/pine-core/p-6c36cab6.entry.js +2 -0
- package/dist/pine-core/p-6c36cab6.entry.js.map +1 -0
- package/dist/pine-core/p-6ed297cb.entry.js +2 -0
- package/dist/pine-core/p-6ed297cb.entry.js.map +1 -0
- package/dist/pine-core/p-708e963c.system.entry.js +2 -0
- package/dist/pine-core/p-708e963c.system.entry.js.map +1 -0
- package/dist/pine-core/p-7090d42d.system.entry.js +2 -0
- package/dist/pine-core/p-7090d42d.system.entry.js.map +1 -0
- package/dist/pine-core/{p-4deb7b8c.entry.js → p-725c350c.entry.js} +2 -2
- package/dist/pine-core/{p-4deb7b8c.entry.js.map → p-725c350c.entry.js.map} +1 -1
- package/dist/pine-core/{p-b2b1b7a9.system.entry.js → p-73a2e028.system.entry.js} +2 -2
- package/dist/pine-core/p-75187352.system.entry.js +2 -0
- package/dist/pine-core/p-75187352.system.entry.js.map +1 -0
- package/dist/pine-core/p-786967e8.entry.js +2 -0
- package/dist/pine-core/p-79422986.entry.js +2 -0
- package/dist/pine-core/p-79422986.entry.js.map +1 -0
- package/dist/pine-core/p-81bc089e.entry.js +2 -0
- package/dist/pine-core/p-81bc089e.entry.js.map +1 -0
- package/dist/pine-core/p-85c41629.entry.js +2 -0
- package/dist/pine-core/p-85c41629.entry.js.map +1 -0
- package/dist/pine-core/p-86263a62.entry.js +2 -0
- package/dist/pine-core/p-86263a62.entry.js.map +1 -0
- package/dist/pine-core/p-875d5d5a.system.entry.js +2 -0
- package/dist/pine-core/p-87ed43d5.entry.js +2 -0
- package/dist/pine-core/p-87ed43d5.entry.js.map +1 -0
- package/dist/pine-core/{p-c8122bea.entry.js → p-88773b86.entry.js} +2 -2
- package/dist/pine-core/p-8b4fb3f0.entry.js +2 -0
- package/dist/pine-core/p-8b4fb3f0.entry.js.map +1 -0
- package/dist/pine-core/p-8b5fc4b4.system.entry.js +2 -0
- package/dist/pine-core/p-8b5fc4b4.system.entry.js.map +1 -0
- package/dist/pine-core/{p-e89cb1f2.system.entry.js → p-8f69dd71.system.entry.js} +2 -2
- package/dist/pine-core/p-94183716.entry.js +2 -0
- package/dist/pine-core/p-94183716.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-9766923f.entry.js +2 -0
- package/dist/pine-core/p-9766923f.entry.js.map +1 -0
- package/dist/pine-core/p-9b335a9f.entry.js +2 -0
- package/dist/pine-core/p-9b335a9f.entry.js.map +1 -0
- package/dist/pine-core/p-9c579956.system.entry.js +2 -0
- package/dist/pine-core/p-9c579956.system.entry.js.map +1 -0
- package/dist/pine-core/p-9cf2b7a6.entry.js +2 -0
- package/dist/pine-core/p-9cf2b7a6.entry.js.map +1 -0
- package/dist/pine-core/{p-Dh7jcLgJ.system.js.map → p-B-Doh1Wu.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-BG99uNIQ.system.js +2 -0
- package/dist/pine-core/p-BG99uNIQ.system.js.map +1 -0
- package/dist/pine-core/p-BHavepTY.system.js +2 -0
- package/dist/pine-core/p-BHavepTY.system.js.map +1 -0
- package/dist/pine-core/{p-_E9ZEzfO.system.js.map → p-BIjeWHX_.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-BLC5kuro.system.js.map +1 -0
- 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-D05FrqXr.system.js.map → p-BRIdBthP.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-Kj_j7PHx.system.js.map → p-BkPtASB1.system.js.map} +1 -1
- package/dist/pine-core/p-Bkfqi7zE.system.js.map +1 -0
- package/dist/pine-core/p-ByzULH8m.system.js.map +1 -0
- package/dist/pine-core/p-C1KChp5Q.system.js.map +1 -0
- package/dist/pine-core/p-C2W-sHx5.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-CIBXMJd-.system.js.map +1 -0
- package/dist/pine-core/p-CJNB_wrl.system.js.map +1 -0
- package/dist/pine-core/p-CSa_b_JX.system.js.map +1 -0
- package/dist/pine-core/p-Cid662up.system.js.map +1 -0
- 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-Cqzmj3D8.system.js.map +1 -0
- package/dist/pine-core/{p-B1FQkx7R.system.js.map → p-Ctdx1tCG.system.js.map} +1 -1
- package/dist/pine-core/{p-3gYSFJIn.system.js.map → p-CwNRZQss.system.js.map} +1 -1
- package/dist/pine-core/p-Cxlv_2hD.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-D0foS5EP.system.js.map +1 -0
- package/dist/pine-core/p-D4zJBIgl.js +2 -0
- package/dist/pine-core/p-D4zJBIgl.js.map +1 -0
- package/dist/pine-core/{p-MBv7PsKc.system.js.map → p-D52TGCLt.system.js.map} +1 -1
- package/dist/pine-core/{p-CHJgq_z7.system.js.map → p-D7B3vOdC.system.js.map} +1 -1
- package/dist/pine-core/p-DCjZr2HA.system.js.map +1 -0
- package/dist/pine-core/p-DN3VK2yy.system.js.map +1 -0
- package/dist/pine-core/{p-Df_3qA_L.system.js.map → p-DOqVoXeA.system.js.map} +1 -1
- package/dist/pine-core/p-DW3lkDNz.system.js.map +1 -0
- package/dist/pine-core/p-DfrSuf6X.system.js.map +1 -0
- package/dist/pine-core/{p-CLoi4eKt.system.js.map → p-DmWU0f_O.system.js.map} +1 -1
- package/dist/pine-core/p-DpemOPFJ.system.js.map +1 -0
- package/dist/pine-core/p-DpzRSULT.system.js.map +1 -0
- package/dist/pine-core/{p-DYb5Y47j.system.js.map → p-Dq7Wu9rr.system.js.map} +1 -1
- package/dist/pine-core/p-DtdXdmNp.system.js.map +1 -0
- package/dist/pine-core/p-Dw05F6Xg.system.js.map +1 -0
- package/dist/pine-core/p-Dw7zXw_6.system.js.map +1 -0
- package/dist/pine-core/p-DwjNklzi.js +2 -0
- package/dist/pine-core/p-DwjNklzi.js.map +1 -0
- package/dist/pine-core/p-GrmqKqN8.system.js.map +1 -0
- package/dist/pine-core/p-HHZU8rBT.system.js.map +1 -0
- package/dist/pine-core/{p-C5Y492i0.system.js.map → p-M-zMP2QX.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-a2708028.entry.js +2 -0
- package/dist/pine-core/p-a2708028.entry.js.map +1 -0
- package/dist/pine-core/{p-72053224.entry.js → p-a2cb65df.entry.js} +3 -3
- package/dist/pine-core/{p-52d37cc1.entry.js → p-a3785977.entry.js} +2 -2
- package/dist/pine-core/p-a645818a.entry.js +2 -0
- package/dist/pine-core/p-a707a7da.system.entry.js +2 -0
- package/dist/pine-core/p-a707a7da.system.entry.js.map +1 -0
- package/dist/pine-core/{p-f583e5d4.entry.js → p-a9cfaa1f.entry.js} +2 -2
- package/dist/pine-core/p-acd87a10.entry.js +2 -0
- package/dist/pine-core/p-acd87a10.entry.js.map +1 -0
- package/dist/pine-core/p-ae4ec5cf.system.entry.js +2 -0
- package/dist/pine-core/p-ae4ec5cf.system.entry.js.map +1 -0
- package/dist/pine-core/p-b23dd01c.entry.js +2 -0
- package/dist/pine-core/p-b23dd01c.entry.js.map +1 -0
- package/dist/pine-core/p-b669e1d9.entry.js +2 -0
- package/dist/pine-core/p-b9aafec7.system.entry.js +2 -0
- package/dist/pine-core/p-b9aafec7.system.entry.js.map +1 -0
- package/dist/pine-core/{p-52cb152b.system.entry.js → p-bc2fecd4.system.entry.js} +2 -2
- 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-c3579585.system.entry.js +2 -0
- package/dist/pine-core/p-c3579585.system.entry.js.map +1 -0
- package/dist/pine-core/{p-fcb39155.system.entry.js → p-c3f84df8.system.entry.js} +2 -2
- 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-cffc98ae.entry.js +3 -0
- package/dist/pine-core/p-cffc98ae.entry.js.map +1 -0
- package/dist/pine-core/{p-5e8badb9.entry.js → p-d1b27fa4.entry.js} +2 -2
- package/dist/pine-core/p-d2b15290.system.entry.js +2 -0
- package/dist/pine-core/p-d2b15290.system.entry.js.map +1 -0
- package/dist/pine-core/p-d4d22aee.entry.js +2 -0
- package/dist/pine-core/p-d4d22aee.entry.js.map +1 -0
- package/dist/pine-core/{p-5da82e8c.system.entry.js → p-dace69e7.system.entry.js} +2 -2
- package/dist/pine-core/p-db12273e.system.entry.js +2 -0
- package/dist/pine-core/p-e34c1224.system.entry.js +2 -0
- package/dist/pine-core/p-e34c1224.system.entry.js.map +1 -0
- package/dist/pine-core/p-e5adbf74.system.entry.js +2 -0
- package/dist/pine-core/p-e5adbf74.system.entry.js.map +1 -0
- package/dist/pine-core/p-e6085566.system.entry.js +2 -0
- package/dist/pine-core/p-e6085566.system.entry.js.map +1 -0
- package/dist/pine-core/p-e683e197.system.entry.js +2 -0
- package/dist/pine-core/p-e683e197.system.entry.js.map +1 -0
- package/dist/pine-core/p-e6b051e8.system.entry.js +2 -0
- package/dist/pine-core/p-e6b051e8.system.entry.js.map +1 -0
- package/dist/pine-core/{p-f55b9f90.system.entry.js → p-e702a8dc.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-f15cd180.entry.js +2 -0
- package/dist/pine-core/p-f15cd180.entry.js.map +1 -0
- 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-f6d0bd39.entry.js +2 -0
- package/dist/pine-core/p-f6d0bd39.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-f92d7570.system.entry.js +2 -0
- package/dist/pine-core/p-f92d7570.system.entry.js.map +1 -0
- package/dist/pine-core/{p-BZoPY2dP.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-B7S-9dbT.system.js.map → p-kcOuXqWo.system.js.map} +1 -1
- package/dist/pine-core/{p-c0df3222.entry.js.map → p-ozqEY4Zc.system.js.map} +1 -1
- package/dist/pine-core/{p-CqK-uhv8.system.js.map → p-yaM1kuaC.system.js.map} +1 -1
- package/dist/pine-core/pds-button.entry.esm.js.map +1 -1
- package/dist/pine-core/pds-checkbox.entry.esm.js.map +1 -1
- package/dist/pine-core/pds-chip.entry.esm.js.map +1 -1
- package/dist/pine-core/pds-combobox.entry.esm.js.map +1 -1
- package/dist/pine-core/pds-copytext.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-dropdown-menu.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-input.entry.esm.js.map +1 -1
- package/dist/pine-core/pds-modal.entry.esm.js.map +1 -1
- package/dist/pine-core/pds-popover.entry.esm.js.map +1 -1
- package/dist/pine-core/pds-radio.entry.esm.js.map +1 -1
- package/dist/pine-core/pds-select.entry.esm.js.map +1 -1
- package/dist/pine-core/pds-switch.entry.esm.js.map +1 -1
- package/dist/pine-core/pds-tab.entry.esm.js.map +1 -1
- package/dist/pine-core/pds-table-cell.entry.esm.js.map +1 -1
- package/dist/pine-core/pds-table-head-cell.entry.esm.js.map +1 -1
- package/dist/pine-core/pds-table-head.entry.esm.js.map +1 -1
- package/dist/pine-core/pds-table-row.entry.esm.js.map +1 -1
- package/dist/pine-core/pds-table.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/pds-tooltip.entry.esm.js.map +1 -1
- package/dist/pine-core/pine-core.css +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-button/pds-button.d.ts +1 -1
- package/dist/types/components/pds-checkbox/pds-checkbox.d.ts +1 -0
- package/dist/types/components/pds-chip/pds-chip.d.ts +3 -2
- package/dist/types/components/pds-combobox/pds-combobox.d.ts +84 -5
- 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-popover/pds-popover.d.ts +33 -2
- package/dist/types/components/pds-popover/popover-interface.d.ts +8 -0
- package/dist/types/components/pds-radio/pds-radio.d.ts +3 -0
- package/dist/types/components/pds-select/pds-select.d.ts +6 -0
- package/dist/types/components/pds-switch/pds-switch.d.ts +1 -0
- package/dist/types/components/pds-tabs/pds-tabs.d.ts +1 -0
- package/dist/types/components/pds-textarea/pds-textarea.d.ts +1 -0
- package/dist/types/components.d.ts +227 -12
- package/dist/types/utils/form.d.ts +9 -0
- package/dist/types/utils/types.d.ts +2 -0
- package/hydrate/index.js +1529 -146
- package/hydrate/index.mjs +1529 -146
- package/package.json +2 -2
- package/dist/cjs/form-Bx4nzJBo.js.map +0 -1
- package/dist/cjs/index-DVaLegMK.js.map +0 -1
- package/dist/cjs/index-g-uSeICs.js.map +0 -1
- package/dist/esm/form-DTL_39D_.js +0 -32
- package/dist/esm/form-DTL_39D_.js.map +0 -1
- package/dist/esm/index-BVCWKPy3.js.map +0 -1
- package/dist/esm/index-DrJ5r5Pu.js.map +0 -1
- package/dist/esm-es5/form-DTL_39D_.js +0 -2
- package/dist/esm-es5/form-DTL_39D_.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/esm-es5/index-DrJ5r5Pu.js.map +0 -1
- package/dist/pine-core/p-00616fc9.entry.js +0 -2
- package/dist/pine-core/p-00616fc9.entry.js.map +0 -1
- package/dist/pine-core/p-023d8b71.system.entry.js +0 -2
- package/dist/pine-core/p-023d8b71.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-0TIvNV5c.system.js.map +0 -1
- package/dist/pine-core/p-0de9f8da.system.entry.js +0 -2
- package/dist/pine-core/p-0de9f8da.system.entry.js.map +0 -1
- package/dist/pine-core/p-14a52961.system.entry.js +0 -2
- package/dist/pine-core/p-14a52961.system.entry.js.map +0 -1
- package/dist/pine-core/p-232a2043.entry.js +0 -2
- package/dist/pine-core/p-25190921.entry.js +0 -2
- package/dist/pine-core/p-25190921.entry.js.map +0 -1
- package/dist/pine-core/p-297afc49.system.entry.js +0 -2
- package/dist/pine-core/p-297afc49.system.entry.js.map +0 -1
- package/dist/pine-core/p-2e19f167.system.entry.js +0 -2
- package/dist/pine-core/p-2e19f167.system.entry.js.map +0 -1
- package/dist/pine-core/p-318fd0cf.entry.js +0 -2
- package/dist/pine-core/p-318fd0cf.entry.js.map +0 -1
- package/dist/pine-core/p-346561a6.system.entry.js +0 -2
- package/dist/pine-core/p-346561a6.system.entry.js.map +0 -1
- package/dist/pine-core/p-3pEJO0vO.system.js.map +0 -1
- package/dist/pine-core/p-41d1b164.entry.js +0 -2
- package/dist/pine-core/p-41d1b164.entry.js.map +0 -1
- package/dist/pine-core/p-44087d1c.entry.js +0 -2
- package/dist/pine-core/p-44087d1c.entry.js.map +0 -1
- package/dist/pine-core/p-464dd476.entry.js +0 -2
- package/dist/pine-core/p-464dd476.entry.js.map +0 -1
- 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-4bbf3e31.entry.js +0 -2
- package/dist/pine-core/p-4bbf3e31.entry.js.map +0 -1
- package/dist/pine-core/p-4c81420c.entry.js +0 -2
- package/dist/pine-core/p-4c81420c.entry.js.map +0 -1
- package/dist/pine-core/p-503cab1f.entry.js +0 -2
- package/dist/pine-core/p-503cab1f.entry.js.map +0 -1
- package/dist/pine-core/p-50c9e865.entry.js +0 -2
- package/dist/pine-core/p-50c9e865.entry.js.map +0 -1
- package/dist/pine-core/p-5708f95a.entry.js +0 -2
- package/dist/pine-core/p-651861ff.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-6d4d4705.system.entry.js +0 -2
- package/dist/pine-core/p-6d4d4705.system.entry.js.map +0 -1
- package/dist/pine-core/p-6f4a6d0b.entry.js +0 -2
- package/dist/pine-core/p-6f4a6d0b.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-73158adf.system.entry.js.map +0 -1
- 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-7cb4f0de.entry.js +0 -2
- package/dist/pine-core/p-7cb4f0de.entry.js.map +0 -1
- package/dist/pine-core/p-84949a12.entry.js +0 -2
- package/dist/pine-core/p-84949a12.entry.js.map +0 -1
- package/dist/pine-core/p-8722865f.system.entry.js +0 -2
- package/dist/pine-core/p-8722865f.system.entry.js.map +0 -1
- package/dist/pine-core/p-8999b63d.system.entry.js +0 -2
- package/dist/pine-core/p-8999b63d.system.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-8d7abc83.entry.js +0 -2
- package/dist/pine-core/p-8d7abc83.entry.js.map +0 -1
- package/dist/pine-core/p-92c52409.system.entry.js +0 -2
- package/dist/pine-core/p-92c52409.system.entry.js.map +0 -1
- package/dist/pine-core/p-98fe56d9.entry.js +0 -2
- package/dist/pine-core/p-98fe56d9.entry.js.map +0 -1
- package/dist/pine-core/p-BEn3hirk.system.js +0 -2
- package/dist/pine-core/p-BEn3hirk.system.js.map +0 -1
- package/dist/pine-core/p-BG7_qxVr.system.js +0 -2
- package/dist/pine-core/p-BG7_qxVr.system.js.map +0 -1
- 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-BRygGju8.system.js.map +0 -1
- package/dist/pine-core/p-BVCWKPy3.js.map +0 -1
- package/dist/pine-core/p-BVKCNX0X.system.js.map +0 -1
- package/dist/pine-core/p-B_C-mRjx.system.js.map +0 -1
- package/dist/pine-core/p-C0zqu7Gr.system.js.map +0 -1
- package/dist/pine-core/p-CCQUgOoR.system.js.map +0 -1
- package/dist/pine-core/p-CJT--ZXC.system.js.map +0 -1
- package/dist/pine-core/p-CQ8f8GnD.system.js.map +0 -1
- package/dist/pine-core/p-CcXaBX2A.system.js.map +0 -1
- package/dist/pine-core/p-CgyVIfOY.system.js.map +0 -1
- package/dist/pine-core/p-Cmzqpibo.system.js.map +0 -1
- package/dist/pine-core/p-Co5XZmTN.system.js.map +0 -1
- package/dist/pine-core/p-CpdNWpfd.system.js.map +0 -1
- package/dist/pine-core/p-Czoq9yJM.system.js.map +0 -1
- package/dist/pine-core/p-D9_z2w3q.system.js.map +0 -1
- package/dist/pine-core/p-DHmJZxQk.system.js.map +0 -1
- package/dist/pine-core/p-DTL_39D_.js +0 -2
- package/dist/pine-core/p-DTL_39D_.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-DrJ5r5Pu.js.map +0 -1
- package/dist/pine-core/p-IhWWc2L_.system.js.map +0 -1
- package/dist/pine-core/p-UsEwlBJ0.system.js.map +0 -1
- package/dist/pine-core/p-WkrM7Vv0.system.js.map +0 -1
- package/dist/pine-core/p-a04556e4.system.entry.js +0 -2
- package/dist/pine-core/p-a04556e4.system.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-a9895385.system.entry.js +0 -2
- package/dist/pine-core/p-a9895385.system.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-ac37cf0d.entry.js +0 -2
- package/dist/pine-core/p-ac37cf0d.entry.js.map +0 -1
- package/dist/pine-core/p-ba187a35.entry.js +0 -2
- package/dist/pine-core/p-ba187a35.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-c0df3222.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-cd785026.system.entry.js +0 -2
- package/dist/pine-core/p-d8d8fe07.system.entry.js +0 -2
- package/dist/pine-core/p-d8d8fe07.system.entry.js.map +0 -1
- package/dist/pine-core/p-da367b5e.system.entry.js +0 -2
- package/dist/pine-core/p-da367b5e.system.entry.js.map +0 -1
- package/dist/pine-core/p-dc19ce6c.system.entry.js +0 -2
- package/dist/pine-core/p-dc19ce6c.system.entry.js.map +0 -1
- package/dist/pine-core/p-deb8a499.system.entry.js +0 -2
- package/dist/pine-core/p-deb8a499.system.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-fd091234.system.entry.js +0 -2
- package/dist/pine-core/p-fd091234.system.entry.js.map +0 -1
- package/dist/pine-core/p-m6UZWRsP.system.js.map +0 -1
- package/dist/pine-core/p-pQqXEKPh.system.js.map +0 -1
- /package/dist/pine-core/{p-66b10d29.entry.js.map → p-07e129db.entry.js.map} +0 -0
- /package/dist/pine-core/{p-540cfd70.entry.js.map → p-1009009c.entry.js.map} +0 -0
- /package/dist/pine-core/{p-349a8869.entry.js.map → p-100de2b7.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-dfc5ab34.system.entry.js.map → p-2054b5cb.system.entry.js.map} +0 -0
- /package/dist/pine-core/{p-8726c99d.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-54183d70.system.entry.js.map → p-2aab28b1.system.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-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-e08f492a.entry.js.map → p-39648ce2.entry.js.map} +0 -0
- /package/dist/pine-core/{p-5f5b19f4.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-c13ef6a7.system.entry.js.map → p-55d06d0a.system.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-b2b1b7a9.system.entry.js.map → p-73a2e028.system.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-e65a7d1c.system.entry.js.map → p-875d5d5a.system.entry.js.map} +0 -0
- /package/dist/pine-core/{p-c8122bea.entry.js.map → p-88773b86.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-72053224.entry.js.map → p-a2cb65df.entry.js.map} +0 -0
- /package/dist/pine-core/{p-52d37cc1.entry.js.map → p-a3785977.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-5708f95a.entry.js.map → p-b669e1d9.entry.js.map} +0 -0
- /package/dist/pine-core/{p-52cb152b.system.entry.js.map → p-bc2fecd4.system.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-fcb39155.system.entry.js.map → p-c3f84df8.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-5e8badb9.entry.js.map → p-d1b27fa4.entry.js.map} +0 -0
- /package/dist/pine-core/{p-5da82e8c.system.entry.js.map → p-dace69e7.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-f55b9f90.system.entry.js.map → p-e702a8dc.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-52af1890.system.entry.js.map → p-f911dde3.system.entry.js.map} +0 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { r as registerInstance, c as createEvent, h, H as Host, g as getElement } from './index-
|
|
1
|
+
import { r as registerInstance, c as createEvent, h, H as Host, g as getElement } from './index-Bf1dou5H.js';
|
|
2
2
|
import { c as computePosition, o as offset, f as flip, s as shift } from './floating-ui.dom-DbQzNDdQ.js';
|
|
3
3
|
|
|
4
4
|
/*! @license DOMPurify 3.2.6 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.2.6/LICENSE */
|
|
@@ -1336,7 +1336,7 @@ function createDOMPurify() {
|
|
|
1336
1336
|
}
|
|
1337
1337
|
var purify = createDOMPurify();
|
|
1338
1338
|
|
|
1339
|
-
const pdsComboboxCss = ":host{display:block}.pds-combobox{position:relative}.pds-combobox__label{display:block;font-size:0.95rem;-webkit-margin-after:var(--pine-dimension-150);margin-block-end:var(--pine-dimension-150)}.pds-combobox__input{background:var(--pine-color-background-container);border:1px solid var(--pine-color-border);border-radius:var(--pine-dimension-125);-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--pine-color-text-active);-ms-flex:1;flex:1;font:var(--pine-typography-body-medium);padding:var(--pine-dimension-xs) var(--pine-dimension-150);-webkit-transition:border-color 0.2s ease;transition:border-color 0.2s ease;width:100%}.pds-combobox__input:hover:not(:disabled){border-color:var(--pine-color-border-hover)}.pds-combobox__input:disabled{background:var(--pine-color-background-container-disabled);border-color:var(--pine-color-border-disabled);color:var(--pine-color-text-disabled);cursor:not-allowed}.pds-combobox__input:disabled::-webkit-input-placeholder{color:var(--pine-color-text-placeholder-disabled)}.pds-combobox__input:disabled::-moz-placeholder{color:var(--pine-color-text-placeholder-disabled)}.pds-combobox__input:disabled:-ms-input-placeholder{color:var(--pine-color-text-placeholder-disabled)}.pds-combobox__input:disabled::-ms-input-placeholder{color:var(--pine-color-text-placeholder-disabled)}.pds-combobox__input:disabled::placeholder{color:var(--pine-color-text-placeholder-disabled)}.pds-combobox__input:focus-visible{border-color:var(--pine-color-border-active);outline:var(--pine-outline-focus);outline-offset:var(--pine-border-width)}.pds-combobox__input::-webkit-input-placeholder{color:var(--pine-color-text-placeholder)}.pds-combobox__input::-moz-placeholder{color:var(--pine-color-text-placeholder)}.pds-combobox__input:-ms-input-placeholder{color:var(--pine-color-text-placeholder)}.pds-combobox__input::-ms-input-placeholder{color:var(--pine-color-text-placeholder)}.pds-combobox__input::placeholder{color:var(--pine-color-text-placeholder)}.pds-combobox__listbox{background:var(--pine-color-background-container);border:0;border-radius:var(--pine-dimension-125);-webkit-box-shadow:var(--pine-box-shadow);box-shadow:var(--pine-box-shadow);list-style:none;margin:0;min-width:220px;overflow-y:auto;padding:var(--pine-dimension-xs);position:absolute;z-index:1000}.pds-combobox__option{-ms-flex-align:center;align-items:center;background:transparent;border-radius:var(--pine-dimension-125);cursor:pointer;display:-ms-flexbox;display:flex;font:var(--pine-typography-body-medium);-ms-flex-pack:justify;justify-content:space-between;padding:var(--pine-dimension-xs) var(--pine-dimension-sm);-webkit-transition:background 0.15s;transition:background 0.15s}.pds-combobox__option[aria-selected=true]{background:var(--pine-color-grey-150)}.pds-combobox__option .pds-combobox__option--layout .pds-combobox__option-layout-wrapper{-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex;width:100%}.pds-combobox__option:last-child{-webkit-margin-after:0;margin-block-end:0}.pds-combobox__option--highlighted,.pds-combobox__option[selected],.pds-combobox__option--selected{background:var(--pine-color-grey-150)}.pds-combobox__option-check{color:currentColor;font-size:var(--pine-dimension-150);-webkit-margin-start:var(--pine-dimension-150);margin-inline-start:var(--pine-dimension-150)}.pds-combobox__button-trigger{-ms-flex-align:center;align-items:center;background:var(--color-background-default, var(--pine-color-secondary));border:var(--pine-border);border-radius:var(--pine-border-radius-full);color:var(--color-text-default, #ffffff);cursor:pointer;display:-ms-flexbox;display:flex;font:var(--pine-typography-body-medium);-ms-flex-pack:justify;justify-content:space-between;min-height:var(--pine-dimension-450);outline:none;padding:0 var(--pine-dimension-sm);-webkit-transition:border-color 0.15s, background 0.15s, -webkit-box-shadow 0.15s;transition:border-color 0.15s, background 0.15s, -webkit-box-shadow 0.15s;transition:border-color 0.15s, box-shadow 0.15s, background 0.15s;transition:border-color 0.15s, box-shadow 0.15s, background 0.15s, -webkit-box-shadow 0.15s;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}.pds-combobox__button-trigger .pds-combobox__button-trigger-layout-wrapper{-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex;-ms-flex:1;flex:1}.pds-combobox__button-trigger .trigger-content{-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex;width:100%}.pds-combobox__button-trigger:focus-visible{border-color:var(--color-border-focus, var(--pine-color-border));-webkit-box-shadow:0 0 0 2px var(--color-outline, var(--pine-color-focus-ring));box-shadow:0 0 0 2px var(--color-outline, var(--pine-color-focus-ring))}.pds-combobox__button-trigger:hover{background:var(--color-background-hover, var(--pine-color-secondary-hover));border-color:var(--color-border-hover, var(--pine-color-border-hover))}.pds-combobox__button-trigger[aria-disabled=true],.pds-combobox__button-trigger:disabled{background:var(--color-background-disabled, var(--pine-color-secondary-disabled));border-color:var(--color-border-disabled, var(--pine-color-border-disabled));color:var(--color-text-disabled, var(--pine-color-text-secondary-disabled));cursor:not-allowed;opacity:0.6}.pds-combobox__button-trigger-label{color:inherit;-ms-flex:1 1 auto;flex:1 1 auto;text-align:start}.pds-combobox__button-trigger-chevron{color:currentColor;-webkit-margin-start:var(--pine-dimension-150);margin-inline-start:var(--pine-dimension-150)}.pds-combobox__button-trigger--primary{--color-background-default:var(--pine-color-primary);--color-background-hover:var(--pine-color-primary-hover);--color-background-disabled:var(--pine-color-primary-disabled);--color-border-default:var(--pine-color-primary);--color-border-hover:var(--pine-color-primary-hover);--color-border-disabled:var(--pine-color-primary-disabled);--color-border-focus:var(--pine-color-primary);--color-text-default:var(--pine-color-text-primary);--color-text-disabled:var(--pine-color-text-primary-disabled);--color-outline:var(--pine-color-focus-ring)}.pds-combobox__button-trigger--accent{--color-background-default:var(--pine-color-accent);--color-background-hover:var(--pine-color-accent-hover);--color-background-disabled:var(--pine-color-accent-disabled);--color-border-default:var(--pine-color-accent);--color-border-hover:var(--pine-color-accent-hover);--color-border-disabled:var(--pine-color-accent-disabled);--color-border-focus:var(--pine-color-accent);--color-text-default:var(--pine-color-text-primary);--color-text-disabled:var(--pine-color-text-accent-disabled);--color-outline:var(--pine-color-focus-ring)}.pds-combobox__button-trigger--secondary{--color-background-default:var(--pine-color-secondary);--color-background-hover:var(--pine-color-secondary-hover);--color-background-disabled:var(--pine-color-secondary-disabled);--color-border-default:var(--pine-color-border);--color-border-hover:var(--pine-color-border-hover);--color-border-disabled:var(--pine-color-border-disabled);--color-border-focus:var(--pine-color-border);--color-text-default:var(--pine-color-text-secondary);--color-text-disabled:var(--pine-color-text-secondary-disabled);--color-outline:var(--pine-color-focus-ring)}.pds-combobox__button-trigger--destructive{--color-background-default:var(--pine-color-danger);--color-background-hover:var(--pine-color-danger-hover);--color-background-disabled:var(--pine-color-danger-disabled);--color-border-default:var(--pine-color-danger);--color-border-hover:var(--pine-color-danger-hover);--color-border-disabled:var(--pine-color-danger-disabled);--color-border-focus:var(--pine-color-danger);--color-text-default:var(--pine-color-text-primary);--color-text-disabled:var(--pine-color-text-danger-disabled);--color-outline:var(--pine-color-focus-ring-danger)}.visually-hidden{border:0;clip:rect(0 0 0 0);-webkit-clip-path:polygon(0 0, 0 0, 0 0);clip-path:polygon(0 0, 0 0, 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}[data-layout]{border-radius:var(--pine-dimension-125);padding-block:var(--pine-dimension-xs)}";
|
|
1339
|
+
const pdsComboboxCss = ":host{display:block}:host([disabled=true]) .pds-combobox__input-icon{color:var(--pine-color-text-disabled);pointer-events:none}.pds-combobox{position:relative}.pds-combobox__label{color:var(--pine-color-text-label);display:block;font:var(--pine-typography-body-medium);letter-spacing:var(--pine-letter-spacing);-webkit-margin-after:var(--pine-dimension-2xs);margin-block-end:var(--pine-dimension-2xs)}.pds-combobox__input-wrapper{-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex;position:relative;width:100%}.pds-combobox__input{background:var(--pine-color-background-container);border:1px solid var(--pine-color-border);border-radius:var(--pine-dimension-125);-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--pine-color-text-active);-ms-flex:1;flex:1;font:var(--pine-typography-body-medium);padding:var(--pine-dimension-xs) var(--pine-dimension-450) var(--pine-dimension-xs) var(--pine-dimension-150);-webkit-transition:border-color 0.2s ease;transition:border-color 0.2s ease;width:100%}.pds-combobox__input:hover:not(:disabled){border-color:var(--pine-color-border-hover)}.pds-combobox__input:disabled{background:var(--pine-color-background-container-disabled);border-color:var(--pine-color-border-disabled);color:var(--pine-color-text-disabled);cursor:not-allowed}.pds-combobox__input:disabled::-webkit-input-placeholder{color:var(--pine-color-text-placeholder-disabled)}.pds-combobox__input:disabled::-moz-placeholder{color:var(--pine-color-text-placeholder-disabled)}.pds-combobox__input:disabled:-ms-input-placeholder{color:var(--pine-color-text-placeholder-disabled)}.pds-combobox__input:disabled::-ms-input-placeholder{color:var(--pine-color-text-placeholder-disabled)}.pds-combobox__input:disabled::placeholder{color:var(--pine-color-text-placeholder-disabled)}.pds-combobox__input:focus-visible{border-color:var(--pine-color-border-active);outline:var(--pine-outline-focus);outline-offset:var(--pine-border-width)}.pds-combobox__input::-webkit-input-placeholder{color:var(--pine-color-text-placeholder)}.pds-combobox__input::-moz-placeholder{color:var(--pine-color-text-placeholder)}.pds-combobox__input:-ms-input-placeholder{color:var(--pine-color-text-placeholder)}.pds-combobox__input::-ms-input-placeholder{color:var(--pine-color-text-placeholder)}.pds-combobox__input::placeholder{color:var(--pine-color-text-placeholder)}.pds-combobox__input-icon{color:var(--pine-color-text-secondary);pointer-events:none;position:absolute;right:var(--pine-dimension-150);z-index:var(--pine-z-index-raised)}.pds-combobox__listbox{background:var(--pine-color-background-container);border:0;border-radius:var(--pine-dimension-125);-webkit-box-shadow:var(--pine-box-shadow);box-shadow:var(--pine-box-shadow);list-style:none;margin:0;min-width:220px;overflow-y:auto;padding:var(--pine-dimension-xs);position:absolute;z-index:var(--pine-z-index-raised)}.pds-combobox__option{-ms-flex-align:center;align-items:center;background:transparent;border-radius:var(--pine-dimension-125);color:var(--pine-color-text-secondary);cursor:pointer;display:-ms-flexbox;display:flex;font:var(--pine-typography-body-medium);-ms-flex-pack:justify;justify-content:space-between;padding:var(--pine-dimension-xs) var(--pine-dimension-sm);position:relative;-webkit-transition:background 0.15s;transition:background 0.15s}.pds-combobox__option[aria-selected=true]{background:var(--pine-color-grey-150)}.pds-combobox__option:focus-visible{outline:0}.pds-combobox__option .pds-combobox__option--layout .pds-combobox__option-layout-wrapper{-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex;width:100%}.pds-combobox__option .pds-combobox__option--chip .pds-combobox__option-chip{-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex;width:100%}.pds-combobox__option:last-child{-webkit-margin-after:0;margin-block-end:0}.pds-combobox__option--highlighted,.pds-combobox__option[selected],.pds-combobox__option--selected{background:var(--pine-color-grey-150)}.pds-combobox__option-check{color:currentColor;font-size:var(--pine-dimension-150);-webkit-margin-start:var(--pine-dimension-150);margin-inline-start:var(--pine-dimension-150)}.pds-combobox__group-label{color:var(--pine-color-text-placeholder);cursor:default;font:var(--pine-typography-heading-caption);-webkit-margin-after:var(--pine-dimension-2xs);margin-block-end:var(--pine-dimension-2xs);-webkit-margin-before:var(--pine-dimension-150);margin-block-start:var(--pine-dimension-150);padding:var(--pine-dimension-2xs) var(--pine-dimension-sm);text-transform:uppercase}.pds-combobox__group-label:first-child{-webkit-margin-before:0;margin-block-start:0}.pds-combobox__button-trigger{-ms-flex-align:center;align-items:center;background:var(--color-background-default, var(--pine-color-secondary));border:var(--pine-border);border-radius:var(--pine-border-radius-full);color:var(--color-text-default, #ffffff);cursor:pointer;display:-ms-flexbox;display:flex;font:var(--pine-typography-body-medium);-ms-flex-pack:justify;justify-content:space-between;min-height:var(--pine-dimension-450);outline:none;padding:0 var(--pine-dimension-sm);-webkit-transition:border-color 0.15s, background 0.15s, -webkit-box-shadow 0.15s;transition:border-color 0.15s, background 0.15s, -webkit-box-shadow 0.15s;transition:border-color 0.15s, box-shadow 0.15s, background 0.15s;transition:border-color 0.15s, box-shadow 0.15s, background 0.15s, -webkit-box-shadow 0.15s;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}.pds-combobox__button-trigger .pds-combobox__button-trigger-layout-wrapper{-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex;-ms-flex:1;flex:1}.pds-combobox__button-trigger .trigger-content{-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex;width:100%}.pds-combobox__button-trigger:focus-visible{border-color:var(--color-border-focus, var(--pine-color-border));-webkit-box-shadow:0 0 0 2px var(--color-outline, var(--pine-color-focus-ring));box-shadow:0 0 0 2px var(--color-outline, var(--pine-color-focus-ring))}.pds-combobox__button-trigger:hover{background:var(--color-background-hover, var(--pine-color-secondary-hover));border-color:var(--color-border-hover, var(--pine-color-border-hover))}.pds-combobox__button-trigger[aria-disabled=true],.pds-combobox__button-trigger:disabled{background:var(--color-background-disabled, var(--pine-color-secondary-disabled));border-color:var(--color-border-disabled, var(--pine-color-border-disabled));color:var(--color-text-disabled, var(--pine-color-text-secondary-disabled));cursor:not-allowed;opacity:0.6}.pds-combobox__button-trigger-label{color:inherit;-ms-flex:1 1 auto;flex:1 1 auto;text-align:start}.pds-combobox__button-trigger-chevron{color:currentColor;-webkit-margin-start:var(--pine-dimension-150);margin-inline-start:var(--pine-dimension-150)}.pds-combobox__button-trigger--primary{--color-background-default:var(--pine-color-primary);--color-background-hover:var(--pine-color-primary-hover);--color-background-disabled:var(--pine-color-primary-disabled);--color-border-default:var(--pine-color-primary);--color-border-hover:var(--pine-color-primary-hover);--color-border-disabled:var(--pine-color-primary-disabled);--color-border-focus:var(--pine-color-primary);--color-text-default:var(--pine-color-text-primary);--color-text-disabled:var(--pine-color-text-primary-disabled);--color-outline:var(--pine-color-focus-ring)}.pds-combobox__button-trigger--accent{--color-background-default:var(--pine-color-accent);--color-background-hover:var(--pine-color-accent-hover);--color-background-disabled:var(--pine-color-accent-disabled);--color-border-default:var(--pine-color-accent);--color-border-hover:var(--pine-color-accent-hover);--color-border-disabled:var(--pine-color-accent-disabled);--color-border-focus:var(--pine-color-accent);--color-text-default:var(--pine-color-text-primary);--color-text-disabled:var(--pine-color-text-accent-disabled);--color-outline:var(--pine-color-focus-ring)}.pds-combobox__button-trigger--secondary{--color-background-default:var(--pine-color-secondary);--color-background-hover:var(--pine-color-secondary-hover);--color-background-disabled:var(--pine-color-secondary-disabled);--color-border-default:var(--pine-color-border);--color-border-hover:var(--pine-color-border-hover);--color-border-disabled:var(--pine-color-border-disabled);--color-border-focus:var(--pine-color-border);--color-text-default:var(--pine-color-text-secondary);--color-text-disabled:var(--pine-color-text-secondary-disabled);--color-outline:var(--pine-color-focus-ring)}.pds-combobox__button-trigger--destructive{--color-background-default:var(--pine-color-danger);--color-background-hover:var(--pine-color-danger-hover);--color-background-disabled:var(--pine-color-danger-disabled);--color-border-default:var(--pine-color-danger);--color-border-hover:var(--pine-color-danger-hover);--color-border-disabled:var(--pine-color-danger-disabled);--color-border-focus:var(--pine-color-danger);--color-text-default:var(--pine-color-text-primary);--color-text-disabled:var(--pine-color-text-danger-disabled);--color-outline:var(--pine-color-focus-ring-danger)}.visually-hidden{border:0;clip:rect(0 0 0 0);-webkit-clip-path:polygon(0 0, 0 0, 0 0);clip-path:polygon(0 0, 0 0, 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}[data-layout]{border-radius:var(--pine-dimension-125);padding-block:var(--pine-dimension-xs)}.pds-combobox__chip-trigger{-ms-flex-align:center;align-items:center;border-radius:var(--pine-dimension-sm);cursor:pointer;display:-ms-inline-flexbox;display:inline-flex;font:var(--pine-typography-body-medium);-ms-flex-pack:justify;justify-content:space-between;outline:none;padding-block:var(--pine-dimension-025);padding-inline:var(--pine-dimension-150);-webkit-transition:all 0.15s ease;transition:all 0.15s ease;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}.pds-combobox__chip-trigger .pds-combobox__chip-trigger-layout-wrapper{-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex;-ms-flex:1;flex:1}.pds-combobox__chip-trigger .trigger-content{-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex;width:100%}.pds-combobox__chip-trigger:focus-visible{outline:var(--pine-outline-focus);outline-offset:var(--pine-border-width)}.pds-combobox__chip-trigger[aria-disabled=true]{cursor:not-allowed;opacity:0.6}.pds-combobox__chip-trigger-label{color:inherit;-ms-flex:1 1 auto;flex:1 1 auto;text-align:start}.pds-combobox__chip-trigger-chevron{color:currentColor;-webkit-margin-start:var(--pine-dimension-150);margin-inline-start:var(--pine-dimension-150)}.pds-combobox__chip-trigger-icon{-webkit-margin-end:var(--pine-dimension-2xs);margin-inline-end:var(--pine-dimension-2xs)}.pds-combobox__chip-trigger--neutral,.pds-combobox__chip-trigger--accent,.pds-combobox__chip-trigger--success,.pds-combobox__chip-trigger--warning,.pds-combobox__chip-trigger--danger,.pds-combobox__chip-trigger--info{background:var(--chip-bg);border:var(--pine-border-width) solid var(--chip-border);color:var(--chip-text)}.pds-combobox__chip-trigger--neutral:hover:not([aria-disabled=true]),.pds-combobox__chip-trigger--accent:hover:not([aria-disabled=true]),.pds-combobox__chip-trigger--success:hover:not([aria-disabled=true]),.pds-combobox__chip-trigger--warning:hover:not([aria-disabled=true]),.pds-combobox__chip-trigger--danger:hover:not([aria-disabled=true]),.pds-combobox__chip-trigger--info:hover:not([aria-disabled=true]){background:var(--chip-bg-hover)}.pds-combobox__chip-trigger--neutral:focus-visible,.pds-combobox__chip-trigger--accent:focus-visible,.pds-combobox__chip-trigger--success:focus-visible,.pds-combobox__chip-trigger--warning:focus-visible,.pds-combobox__chip-trigger--danger:focus-visible,.pds-combobox__chip-trigger--info:focus-visible{border-color:var(--chip-border)}.pds-combobox__chip-trigger--neutral{--chip-bg:var(--pine-chip-color-neutral);--chip-bg-hover:var(--pine-chip-color-neutral-hover);--chip-border:var(--pine-chip-color-neutral-hover);--chip-text:var(--pine-color-text-neutral)}.pds-combobox__chip-trigger--accent{--chip-bg:var(--pine-chip-color-accent);--chip-bg-hover:var(--pine-chip-color-accent-hover);--chip-border:var(--pine-chip-color-accent-hover);--chip-text:var(--pine-color-text-accent)}.pds-combobox__chip-trigger--success{--chip-bg:var(--pine-chip-color-success);--chip-bg-hover:var(--pine-chip-color-success-hover);--chip-border:var(--pine-chip-color-success-hover);--chip-text:var(--pine-color-text-success)}.pds-combobox__chip-trigger--warning{--chip-bg:var(--pine-chip-color-warning);--chip-bg-hover:var(--pine-chip-color-warning-hover);--chip-border:var(--pine-chip-color-warning-hover);--chip-text:var(--pine-color-text-warning)}.pds-combobox__chip-trigger--danger{--chip-bg:var(--pine-chip-color-danger);--chip-bg-hover:var(--pine-chip-color-danger-hover);--chip-border:var(--pine-chip-color-danger-hover);--chip-text:var(--pine-color-text-danger)}.pds-combobox__chip-trigger--info{--chip-bg:var(--pine-chip-color-info);--chip-bg-hover:var(--pine-chip-color-info-hover);--chip-border:var(--pine-chip-color-info-hover);--chip-text:var(--pine-color-text-info)}.pds-combobox__chip-trigger--brand{background:-webkit-gradient(linear, left top, right top, from(#FF3E14), to(#6B62F2));background:linear-gradient(90deg, #FF3E14 0%, #6B62F2 100%);border:0;color:var(--pine-color-text-neutral);padding:1px;position:relative}.pds-combobox__chip-trigger--brand .pds-combobox__chip-trigger-label{background:rgba(255, 255, 255, 0.9);border-radius:calc(var(--pine-dimension-sm) - 1px);color:var(--pine-color-text-neutral);font-weight:var(--pine-font-weight-medium);padding:var(--pine-dimension-025) var(--pine-dimension-150);position:relative;z-index:1}.pds-combobox__chip-trigger--brand .pds-combobox__chip-trigger-chevron{position:relative;z-index:1}.pds-combobox__chip-trigger--brand:hover:not([aria-disabled=true]) .pds-combobox__chip-trigger-label{background:rgba(255, 255, 255, 0.8)}.pds-combobox__chip-trigger--dropdown:not(.pds-combobox__chip-trigger--brand){padding:var(--pine-dimension-none)}.pds-combobox__chip-trigger--dropdown:not(.pds-combobox__chip-trigger--brand) .pds-combobox__chip-trigger-label{padding:var(--pine-dimension-025) var(--pine-dimension-150)}.pds-combobox__chip-trigger--large .pds-combobox__chip-trigger-label{font-family:var(--pine-font-family-heading);font-size:var(--pine-font-size-heading-6);font-weight:var(--pine-font-weight-medium);letter-spacing:var(--pine-letter-spacing-heading-6)}.pds-combobox__chip-trigger--dot .pds-combobox__chip-trigger-label::before{border:var(--pine-border-width) solid transparent;border-radius:var(--pine-border-radius-full);content:\"\";display:inline-block;height:var(--pine-dimension-2xs);-webkit-margin-end:var(--pine-dimension-2xs);margin-inline-end:var(--pine-dimension-2xs);width:var(--pine-dimension-2xs)}";
|
|
1340
1340
|
|
|
1341
1341
|
const PdsCombobox = class {
|
|
1342
1342
|
constructor(hostRef) {
|
|
@@ -1380,7 +1380,7 @@ const PdsCombobox = class {
|
|
|
1380
1380
|
*/
|
|
1381
1381
|
this.mode = 'filter';
|
|
1382
1382
|
/**
|
|
1383
|
-
* Determines the combobox trigger: 'input' (editable input)
|
|
1383
|
+
* Determines the combobox trigger: 'input' (editable input), 'button' (button-like, non-editable), or 'chip' (chip-like, non-editable).
|
|
1384
1384
|
* @default 'input'
|
|
1385
1385
|
*/
|
|
1386
1386
|
this.trigger = 'input';
|
|
@@ -1394,14 +1394,33 @@ const PdsCombobox = class {
|
|
|
1394
1394
|
* @default 'secondary'
|
|
1395
1395
|
*/
|
|
1396
1396
|
this.triggerVariant = 'secondary';
|
|
1397
|
+
/**
|
|
1398
|
+
* The sentiment for the chip trigger. Matches Pine chip sentiments.
|
|
1399
|
+
* @default 'neutral'
|
|
1400
|
+
*/
|
|
1401
|
+
this.chipSentiment = 'neutral';
|
|
1402
|
+
/**
|
|
1403
|
+
* Whether the chip trigger should be displayed in a larger size.
|
|
1404
|
+
* @default false
|
|
1405
|
+
*/
|
|
1406
|
+
this.chipLarge = false;
|
|
1407
|
+
/**
|
|
1408
|
+
* Whether a dot should be displayed on the chip trigger.
|
|
1409
|
+
* @default false
|
|
1410
|
+
*/
|
|
1411
|
+
this.chipDot = false;
|
|
1397
1412
|
/**
|
|
1398
1413
|
* The value of the combobox input.
|
|
1399
1414
|
*/
|
|
1400
1415
|
this.value = '';
|
|
1401
1416
|
/**
|
|
1402
|
-
* Internal state for
|
|
1417
|
+
* Internal state for the display text shown in the input/trigger
|
|
1418
|
+
*/
|
|
1419
|
+
this.displayText = '';
|
|
1420
|
+
/**
|
|
1421
|
+
* Internal state for filtered options and group labels
|
|
1403
1422
|
*/
|
|
1404
|
-
this.
|
|
1423
|
+
this.filteredItems = [];
|
|
1405
1424
|
/**
|
|
1406
1425
|
* Internal state for the currently highlighted option index
|
|
1407
1426
|
*/
|
|
@@ -1418,45 +1437,143 @@ const PdsCombobox = class {
|
|
|
1418
1437
|
* Internal state for the sanitized layout content of the selected option
|
|
1419
1438
|
*/
|
|
1420
1439
|
this.selectedOptionLayoutContent = '';
|
|
1440
|
+
/**
|
|
1441
|
+
* Internal state to track chip properties for automatic rendering
|
|
1442
|
+
*/
|
|
1443
|
+
this.selectedOptionChipProps = null;
|
|
1421
1444
|
this.optionEls = [];
|
|
1445
|
+
this.allItems = [];
|
|
1446
|
+
this.isUpdatingFromSelection = false;
|
|
1422
1447
|
this.handleInput = (e) => {
|
|
1423
1448
|
const target = e.target;
|
|
1424
|
-
this.
|
|
1449
|
+
this.displayText = target.value;
|
|
1425
1450
|
this.isOpen = true;
|
|
1426
1451
|
this.filterOptions();
|
|
1427
1452
|
setTimeout(() => this.openDropdownPositioning(), 0);
|
|
1428
1453
|
};
|
|
1429
|
-
this.
|
|
1430
|
-
|
|
1431
|
-
this.
|
|
1432
|
-
|
|
1454
|
+
this.handleInputClick = () => {
|
|
1455
|
+
// Open dropdown when input is clicked (but not when tabbed into)
|
|
1456
|
+
if (!this.isOpen) {
|
|
1457
|
+
this.isOpen = true;
|
|
1458
|
+
this.filterOptions();
|
|
1459
|
+
this.setInitialHighlightedIndex();
|
|
1460
|
+
setTimeout(() => this.openDropdownPositioning(), 0);
|
|
1461
|
+
}
|
|
1433
1462
|
};
|
|
1434
1463
|
this.handleKeyDown = (e) => {
|
|
1435
|
-
if (!this.isOpen && (e.key === 'ArrowDown' || e.key === 'ArrowUp')) {
|
|
1464
|
+
if (!this.isOpen && (e.key === 'ArrowDown' || e.key === 'ArrowUp' || (e.altKey && e.key === 'ArrowDown'))) {
|
|
1465
|
+
e.preventDefault();
|
|
1436
1466
|
this.isOpen = true;
|
|
1467
|
+
this.filterOptions();
|
|
1468
|
+
// Set highlighted index immediately for testing
|
|
1469
|
+
this.setInitialHighlightedIndex();
|
|
1470
|
+
setTimeout(() => {
|
|
1471
|
+
this.openDropdownPositioning();
|
|
1472
|
+
// For input trigger, keep focus on input and use aria-activedescendant
|
|
1473
|
+
// For button trigger, move focus to first option for keyboard navigation
|
|
1474
|
+
if (this.trigger === 'input') {
|
|
1475
|
+
this.focusFirstOption();
|
|
1476
|
+
}
|
|
1477
|
+
else {
|
|
1478
|
+
this.focusFirstOptionForArrowKeys();
|
|
1479
|
+
}
|
|
1480
|
+
}, 0);
|
|
1481
|
+
return;
|
|
1482
|
+
}
|
|
1483
|
+
if (!this.isOpen) {
|
|
1437
1484
|
return;
|
|
1438
1485
|
}
|
|
1486
|
+
// Get only the option elements (skip group labels) for navigation
|
|
1487
|
+
const selectableOptions = this.filteredItems.filter(item => item.tagName === 'OPTION');
|
|
1439
1488
|
switch (e.key) {
|
|
1440
1489
|
case 'ArrowDown':
|
|
1441
|
-
|
|
1490
|
+
e.preventDefault();
|
|
1491
|
+
// If no option is highlighted and we have options, start at 0
|
|
1492
|
+
if (this.highlightedIndex < 0 && selectableOptions.length > 0) {
|
|
1493
|
+
this.highlightedIndex = 0;
|
|
1494
|
+
}
|
|
1495
|
+
else {
|
|
1496
|
+
this.highlightedIndex = Math.min(this.highlightedIndex + 1, selectableOptions.length - 1);
|
|
1497
|
+
}
|
|
1498
|
+
this.updateOptionFocus();
|
|
1442
1499
|
break;
|
|
1443
1500
|
case 'ArrowUp':
|
|
1444
|
-
|
|
1501
|
+
e.preventDefault();
|
|
1502
|
+
// If no option is highlighted and we have options, start at last option
|
|
1503
|
+
if (this.highlightedIndex < 0 && selectableOptions.length > 0) {
|
|
1504
|
+
this.highlightedIndex = selectableOptions.length - 1;
|
|
1505
|
+
}
|
|
1506
|
+
else {
|
|
1507
|
+
this.highlightedIndex = Math.max(this.highlightedIndex - 1, 0);
|
|
1508
|
+
}
|
|
1509
|
+
this.updateOptionFocus();
|
|
1510
|
+
break;
|
|
1511
|
+
case 'Home':
|
|
1512
|
+
e.preventDefault();
|
|
1513
|
+
if (selectableOptions.length > 0) {
|
|
1514
|
+
this.highlightedIndex = 0;
|
|
1515
|
+
this.updateOptionFocus();
|
|
1516
|
+
}
|
|
1517
|
+
break;
|
|
1518
|
+
case 'End':
|
|
1519
|
+
e.preventDefault();
|
|
1520
|
+
if (selectableOptions.length > 0) {
|
|
1521
|
+
this.highlightedIndex = selectableOptions.length - 1;
|
|
1522
|
+
this.updateOptionFocus();
|
|
1523
|
+
}
|
|
1524
|
+
break;
|
|
1525
|
+
case 'PageDown':
|
|
1526
|
+
e.preventDefault();
|
|
1527
|
+
if (selectableOptions.length > 0) {
|
|
1528
|
+
const nextIndex = Math.min(this.highlightedIndex + 10, selectableOptions.length - 1);
|
|
1529
|
+
this.highlightedIndex = nextIndex;
|
|
1530
|
+
this.updateOptionFocus();
|
|
1531
|
+
}
|
|
1532
|
+
break;
|
|
1533
|
+
case 'PageUp':
|
|
1534
|
+
e.preventDefault();
|
|
1535
|
+
if (selectableOptions.length > 0) {
|
|
1536
|
+
const prevIndex = Math.max(this.highlightedIndex - 10, 0);
|
|
1537
|
+
this.highlightedIndex = prevIndex;
|
|
1538
|
+
this.updateOptionFocus();
|
|
1539
|
+
}
|
|
1445
1540
|
break;
|
|
1446
1541
|
case 'Enter':
|
|
1447
|
-
|
|
1448
|
-
|
|
1542
|
+
e.preventDefault();
|
|
1543
|
+
if (this.highlightedIndex >= 0 && this.highlightedIndex < selectableOptions.length) {
|
|
1544
|
+
this.handleOptionClick(selectableOptions[this.highlightedIndex]);
|
|
1545
|
+
this.restoreFocusToTrigger();
|
|
1546
|
+
}
|
|
1547
|
+
break;
|
|
1548
|
+
case ' ':
|
|
1549
|
+
e.preventDefault();
|
|
1550
|
+
if (this.highlightedIndex >= 0 && this.highlightedIndex < selectableOptions.length) {
|
|
1551
|
+
this.handleOptionClick(selectableOptions[this.highlightedIndex]);
|
|
1552
|
+
this.restoreFocusToTrigger();
|
|
1449
1553
|
}
|
|
1450
1554
|
break;
|
|
1451
1555
|
case 'Escape':
|
|
1556
|
+
e.preventDefault();
|
|
1452
1557
|
this.isOpen = false;
|
|
1558
|
+
this.highlightedIndex = -1;
|
|
1559
|
+
this.isArrowKeyNavigationMode = false; // Reset arrow-key navigation mode
|
|
1560
|
+
this.restoreFocusToTrigger();
|
|
1561
|
+
break;
|
|
1562
|
+
case 'Tab':
|
|
1563
|
+
// Allow normal tab behavior to close dropdown and move focus
|
|
1564
|
+
this.isOpen = false;
|
|
1565
|
+
this.highlightedIndex = -1;
|
|
1566
|
+
this.isArrowKeyNavigationMode = false; // Reset arrow-key navigation mode
|
|
1453
1567
|
break;
|
|
1454
1568
|
}
|
|
1455
1569
|
};
|
|
1570
|
+
// Track if we're in arrow-key navigation mode (focus should move between options)
|
|
1571
|
+
this.isArrowKeyNavigationMode = false;
|
|
1456
1572
|
// Event handler for option click
|
|
1457
1573
|
this.onOptionClick = (event) => {
|
|
1458
1574
|
const idx = Number(event.currentTarget.getAttribute('data-option-index'));
|
|
1459
|
-
const
|
|
1575
|
+
const selectableOptions = this.filteredItems.filter(item => item.tagName === 'OPTION');
|
|
1576
|
+
const option = selectableOptions[idx];
|
|
1460
1577
|
this.handleOptionClick(option);
|
|
1461
1578
|
};
|
|
1462
1579
|
// Event handler for mouse enter on option
|
|
@@ -1468,58 +1585,233 @@ const PdsCombobox = class {
|
|
|
1468
1585
|
this.onOptionMouseDown = (event) => {
|
|
1469
1586
|
event.preventDefault();
|
|
1470
1587
|
};
|
|
1588
|
+
// Event handler for option keyboard events
|
|
1589
|
+
this.onOptionKeyDown = (event) => {
|
|
1590
|
+
// Delegate to main keyboard handler
|
|
1591
|
+
this.handleKeyDown(event);
|
|
1592
|
+
};
|
|
1471
1593
|
// Handler for button trigger click
|
|
1472
1594
|
this.onButtonTriggerClick = () => {
|
|
1473
1595
|
this.isOpen = !this.isOpen;
|
|
1474
|
-
if (this.isOpen)
|
|
1596
|
+
if (this.isOpen) {
|
|
1597
|
+
this.filterOptions();
|
|
1598
|
+
// Set highlighted index and prepare for keyboard navigation
|
|
1599
|
+
this.setInitialHighlightedIndex();
|
|
1600
|
+
// For button trigger, prepare for arrow-key navigation mode
|
|
1601
|
+
this.isArrowKeyNavigationMode = true;
|
|
1475
1602
|
setTimeout(() => this.openDropdownPositioning(), 0);
|
|
1603
|
+
}
|
|
1604
|
+
else {
|
|
1605
|
+
// Reset navigation mode when closing
|
|
1606
|
+
this.isArrowKeyNavigationMode = false;
|
|
1607
|
+
}
|
|
1476
1608
|
};
|
|
1477
1609
|
// Handler for button trigger keyboard events
|
|
1478
1610
|
this.onButtonTriggerKeyDown = (e) => {
|
|
1479
|
-
if (e.key === 'Enter' || e.key === ' ' || e.key === 'ArrowDown') {
|
|
1611
|
+
if ((e.key === 'Enter' || e.key === ' ' || e.key === 'ArrowDown' || e.key === 'ArrowUp') && !this.isOpen) {
|
|
1480
1612
|
e.preventDefault();
|
|
1613
|
+
e.stopPropagation(); // Prevent the event from bubbling and triggering click
|
|
1481
1614
|
this.isOpen = true;
|
|
1482
|
-
this.
|
|
1483
|
-
|
|
1615
|
+
this.filterOptions();
|
|
1616
|
+
// Set highlighted index immediately
|
|
1617
|
+
this.setInitialHighlightedIndex();
|
|
1618
|
+
setTimeout(() => {
|
|
1619
|
+
this.openDropdownPositioning();
|
|
1620
|
+
// For all button trigger keyboard opening, focus the first option so subsequent navigation works
|
|
1621
|
+
this.focusFirstOptionForArrowKeys();
|
|
1622
|
+
}, 0);
|
|
1484
1623
|
}
|
|
1485
1624
|
else if (e.key === 'Escape') {
|
|
1486
|
-
|
|
1625
|
+
e.preventDefault();
|
|
1626
|
+
if (this.isOpen) {
|
|
1627
|
+
this.isOpen = false;
|
|
1628
|
+
this.highlightedIndex = -1;
|
|
1629
|
+
this.updateAriaActiveDescendant(); // Clear aria-activedescendant
|
|
1630
|
+
this.restoreFocusToTrigger();
|
|
1631
|
+
}
|
|
1632
|
+
}
|
|
1633
|
+
else if (this.isOpen) {
|
|
1634
|
+
// Delegate other keys to main keyboard handler when dropdown is open
|
|
1635
|
+
this.handleKeyDown(e);
|
|
1636
|
+
}
|
|
1637
|
+
};
|
|
1638
|
+
// Handler for button trigger keyup events - prevents space key from triggering synthetic click
|
|
1639
|
+
this.onButtonTriggerKeyUp = (e) => {
|
|
1640
|
+
if (e.key === ' ') {
|
|
1641
|
+
e.preventDefault();
|
|
1642
|
+
e.stopPropagation();
|
|
1487
1643
|
}
|
|
1488
1644
|
};
|
|
1489
1645
|
// Close dropdown when focus leaves the combobox
|
|
1490
1646
|
this.onComboboxFocusOut = (event) => {
|
|
1647
|
+
var _a;
|
|
1491
1648
|
const relatedTarget = event.relatedTarget;
|
|
1492
|
-
if (
|
|
1649
|
+
// Check if the related target is within our shadow DOM (listbox options)
|
|
1650
|
+
const isRelatedTargetInListbox = relatedTarget && ((_a = this.listboxEl) === null || _a === void 0 ? void 0 : _a.contains(relatedTarget));
|
|
1651
|
+
const isRelatedTargetInCombobox = this.el.contains(relatedTarget);
|
|
1652
|
+
// Don't close if focus is moving to an option in the listbox or staying within the combobox
|
|
1653
|
+
if (!isRelatedTargetInCombobox && !isRelatedTargetInListbox) {
|
|
1493
1654
|
this.isOpen = false;
|
|
1494
|
-
|
|
1495
|
-
|
|
1496
|
-
|
|
1655
|
+
this.highlightedIndex = -1;
|
|
1656
|
+
this.isArrowKeyNavigationMode = false; // Reset arrow-key navigation mode
|
|
1657
|
+
this.updateAriaActiveDescendant(); // Clear aria-activedescendant
|
|
1658
|
+
// If there's a selected option but the display text doesn't match, restore the selected option's display text
|
|
1659
|
+
if (this.selectedOption && this.displayText !== this.getOptionLabel(this.selectedOption)) {
|
|
1660
|
+
this.displayText = this.getOptionLabel(this.selectedOption);
|
|
1661
|
+
// The @Watch('selectedOption') will handle value and form internals if needed
|
|
1497
1662
|
}
|
|
1498
1663
|
}
|
|
1499
1664
|
};
|
|
1500
1665
|
}
|
|
1666
|
+
connectedCallback() {
|
|
1667
|
+
// Initialize ElementInternals for form association
|
|
1668
|
+
if (this.el.attachInternals) {
|
|
1669
|
+
this.internals = this.el.attachInternals();
|
|
1670
|
+
}
|
|
1671
|
+
}
|
|
1501
1672
|
componentWillLoad() {
|
|
1502
1673
|
this.updateOptions();
|
|
1503
1674
|
}
|
|
1675
|
+
componentDidLoad() {
|
|
1676
|
+
var _a, _b, _c;
|
|
1677
|
+
// Check for value-based preselection if no option is selected yet
|
|
1678
|
+
if (!this.selectedOption && this.value && this.optionEls.length > 0) {
|
|
1679
|
+
const matchingOption = this.optionEls.find(opt => opt.value === this.value);
|
|
1680
|
+
if (matchingOption) {
|
|
1681
|
+
this.setSelectedOption(matchingOption);
|
|
1682
|
+
// Update the display text to show the option's text content
|
|
1683
|
+
this.displayText = this.getOptionLabel(matchingOption);
|
|
1684
|
+
// Keep this.value as the actual option value
|
|
1685
|
+
// this.value remains unchanged (already matches matchingOption.value)
|
|
1686
|
+
}
|
|
1687
|
+
}
|
|
1688
|
+
// Initialize form value with current value
|
|
1689
|
+
if (this.internals) {
|
|
1690
|
+
try {
|
|
1691
|
+
this.internals.setFormValue((_c = (_b = (_a = this.selectedOption) === null || _a === void 0 ? void 0 : _a.value) !== null && _b !== void 0 ? _b : this.value) !== null && _c !== void 0 ? _c : '');
|
|
1692
|
+
}
|
|
1693
|
+
catch (e) {
|
|
1694
|
+
// ElementInternals.setFormValue not available in unit tests
|
|
1695
|
+
}
|
|
1696
|
+
}
|
|
1697
|
+
}
|
|
1504
1698
|
handleValueChange() {
|
|
1505
1699
|
this.filterOptions();
|
|
1700
|
+
// Sync with form internals for form association
|
|
1701
|
+
if (this.internals) {
|
|
1702
|
+
try {
|
|
1703
|
+
this.internals.setFormValue(this.value);
|
|
1704
|
+
}
|
|
1705
|
+
catch (e) {
|
|
1706
|
+
// ElementInternals.setFormValue not available in unit tests
|
|
1707
|
+
}
|
|
1708
|
+
}
|
|
1709
|
+
// Find and select option that matches the value (for external value changes)
|
|
1710
|
+
// Only do this if we're not already updating from a selection
|
|
1711
|
+
if (!this.isUpdatingFromSelection && this.value && this.optionEls.length > 0) {
|
|
1712
|
+
const currentSelectedValue = this.selectedOption ? this.selectedOption.value : null;
|
|
1713
|
+
// If the value doesn't match the currently selected option's value, we need to update
|
|
1714
|
+
if (this.value !== currentSelectedValue) {
|
|
1715
|
+
const matchingOption = this.optionEls.find(opt => opt.value === this.value);
|
|
1716
|
+
if (matchingOption) {
|
|
1717
|
+
this.isUpdatingFromSelection = true;
|
|
1718
|
+
this.setSelectedOption(matchingOption);
|
|
1719
|
+
// Update the display text to show the option's text content
|
|
1720
|
+
this.displayText = this.getOptionLabel(matchingOption);
|
|
1721
|
+
// Keep this.value as the actual option value (already correct)
|
|
1722
|
+
this.isUpdatingFromSelection = false;
|
|
1723
|
+
}
|
|
1724
|
+
}
|
|
1725
|
+
}
|
|
1506
1726
|
}
|
|
1507
1727
|
handleSelectedOptionChange() {
|
|
1508
1728
|
// Update the layout content when selected option changes
|
|
1509
1729
|
this.selectedOptionLayoutContent = this.selectedOption && this.isOptionLayout(this.selectedOption)
|
|
1510
1730
|
? this.getOptionLayoutContent(this.selectedOption)
|
|
1511
1731
|
: '';
|
|
1732
|
+
// Update chip properties for automatic rendering when selected option changes
|
|
1733
|
+
this.selectedOptionChipProps = this.selectedOption && this.isOptionChip(this.selectedOption)
|
|
1734
|
+
? this.getOptionChipProps(this.selectedOption)
|
|
1735
|
+
: null;
|
|
1736
|
+
// Update display text when selected option changes
|
|
1737
|
+
if (this.selectedOption) {
|
|
1738
|
+
this.displayText = this.getOptionLabel(this.selectedOption);
|
|
1739
|
+
this.value = this.selectedOption.value;
|
|
1740
|
+
// Update form internals with the actual option value
|
|
1741
|
+
if (this.internals) {
|
|
1742
|
+
try {
|
|
1743
|
+
this.internals.setFormValue(this.selectedOption.value);
|
|
1744
|
+
}
|
|
1745
|
+
catch (e) {
|
|
1746
|
+
// ElementInternals.setFormValue not available in unit tests
|
|
1747
|
+
}
|
|
1748
|
+
}
|
|
1749
|
+
}
|
|
1750
|
+
else {
|
|
1751
|
+
this.displayText = '';
|
|
1752
|
+
this.value = '';
|
|
1753
|
+
if (this.internals) {
|
|
1754
|
+
try {
|
|
1755
|
+
this.internals.setFormValue('');
|
|
1756
|
+
}
|
|
1757
|
+
catch (e) {
|
|
1758
|
+
// ElementInternals.setFormValue not available in unit tests
|
|
1759
|
+
}
|
|
1760
|
+
}
|
|
1761
|
+
}
|
|
1512
1762
|
}
|
|
1513
1763
|
updateOptions() {
|
|
1514
1764
|
var _a;
|
|
1515
|
-
// Get all
|
|
1765
|
+
// Get all elements from the slot
|
|
1516
1766
|
const slot = (_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('slot[name="option"], slot:not([name])');
|
|
1517
1767
|
if (slot) {
|
|
1518
|
-
|
|
1519
|
-
|
|
1520
|
-
|
|
1521
|
-
|
|
1522
|
-
|
|
1768
|
+
const allElements = slot.assignedElements({ flatten: true });
|
|
1769
|
+
// Separate options from group labels and flatten optgroups
|
|
1770
|
+
this.allItems = [];
|
|
1771
|
+
this.optionEls = [];
|
|
1772
|
+
allElements.forEach(el => {
|
|
1773
|
+
if (el.tagName === 'OPTION') {
|
|
1774
|
+
this.optionEls.push(el);
|
|
1775
|
+
this.allItems.push(el);
|
|
1776
|
+
}
|
|
1777
|
+
else if (el.tagName === 'OPTGROUP') {
|
|
1778
|
+
const optgroup = el;
|
|
1779
|
+
this.allItems.push(optgroup);
|
|
1780
|
+
// Add optgroup children (options)
|
|
1781
|
+
Array.from(optgroup.children).forEach(child => {
|
|
1782
|
+
if (child.tagName === 'OPTION') {
|
|
1783
|
+
this.optionEls.push(child);
|
|
1784
|
+
this.allItems.push(child);
|
|
1785
|
+
}
|
|
1786
|
+
});
|
|
1787
|
+
}
|
|
1788
|
+
else if (el.tagName === 'PDS-TEXT') {
|
|
1789
|
+
this.allItems.push(el);
|
|
1790
|
+
}
|
|
1791
|
+
});
|
|
1792
|
+
// Set initial selected option based on value property
|
|
1793
|
+
let initialSelected = null;
|
|
1794
|
+
// Check if value property matches any option
|
|
1795
|
+
if (this.value) {
|
|
1796
|
+
initialSelected = this.optionEls.find(opt => opt.value === this.value) || null;
|
|
1797
|
+
if (initialSelected) {
|
|
1798
|
+
// Update the display text to show the option's text content
|
|
1799
|
+
this.displayText = this.getOptionLabel(initialSelected);
|
|
1800
|
+
// Keep this.value as the actual option value (already correct)
|
|
1801
|
+
}
|
|
1802
|
+
}
|
|
1803
|
+
// For chip triggers, ensure we always have a selected option
|
|
1804
|
+
if (!initialSelected && this.trigger === 'chip' && this.optionEls.length > 0) {
|
|
1805
|
+
initialSelected = this.optionEls[0]; // Select first option as default
|
|
1806
|
+
this.value = initialSelected.value;
|
|
1807
|
+
this.displayText = this.getOptionLabel(initialSelected);
|
|
1808
|
+
console.warn('PDS Combobox: Chip triggers should always have a selected option. Automatically selected the first option.');
|
|
1809
|
+
}
|
|
1810
|
+
// Update selection if we found a different selected option or if we don't have one
|
|
1811
|
+
if (initialSelected && initialSelected !== this.selectedOption) {
|
|
1812
|
+
this.setSelectedOption(initialSelected);
|
|
1813
|
+
}
|
|
1814
|
+
else if (!this.selectedOption && initialSelected) {
|
|
1523
1815
|
this.setSelectedOption(initialSelected);
|
|
1524
1816
|
}
|
|
1525
1817
|
this.filterOptions();
|
|
@@ -1569,6 +1861,22 @@ const PdsCombobox = class {
|
|
|
1569
1861
|
isOptionLayout(option) {
|
|
1570
1862
|
return this.customOptionLayouts && option.hasAttribute('data-layout');
|
|
1571
1863
|
}
|
|
1864
|
+
// Helper method to check if option has chip attributes (new automatic approach)
|
|
1865
|
+
isOptionChip(option) {
|
|
1866
|
+
return option.hasAttribute('chip-sentiment') ||
|
|
1867
|
+
option.hasAttribute('chip-large') ||
|
|
1868
|
+
option.hasAttribute('chip-icon') ||
|
|
1869
|
+
option.hasAttribute('chip-dot');
|
|
1870
|
+
}
|
|
1871
|
+
// Helper method to get chip properties from option attributes
|
|
1872
|
+
getOptionChipProps(option) {
|
|
1873
|
+
return {
|
|
1874
|
+
sentiment: option.getAttribute('chip-sentiment') || 'neutral',
|
|
1875
|
+
large: option.hasAttribute('chip-large'),
|
|
1876
|
+
icon: option.getAttribute('chip-icon') || undefined,
|
|
1877
|
+
dot: option.hasAttribute('chip-dot')
|
|
1878
|
+
};
|
|
1879
|
+
}
|
|
1572
1880
|
// Helper method to check if option is selected (single source of truth)
|
|
1573
1881
|
isOptionSelected(option) {
|
|
1574
1882
|
return this.selectedOption === option;
|
|
@@ -1576,14 +1884,25 @@ const PdsCombobox = class {
|
|
|
1576
1884
|
// Helper method to set selected option (centralized state management)
|
|
1577
1885
|
setSelectedOption(option) {
|
|
1578
1886
|
this.selectedOption = option;
|
|
1887
|
+
// Immediately update chip properties for automatic rendering to ensure reactivity
|
|
1888
|
+
if (option && this.isOptionChip(option)) {
|
|
1889
|
+
this.selectedOptionChipProps = this.getOptionChipProps(option);
|
|
1890
|
+
}
|
|
1891
|
+
else {
|
|
1892
|
+
this.selectedOptionChipProps = null;
|
|
1893
|
+
}
|
|
1579
1894
|
}
|
|
1580
1895
|
filterOptions() {
|
|
1896
|
+
// Ensure allItems includes optionEls if not already populated (for edge cases)
|
|
1897
|
+
if (this.allItems.length === 0 && this.optionEls.length > 0) {
|
|
1898
|
+
this.allItems = [...this.optionEls];
|
|
1899
|
+
}
|
|
1581
1900
|
if (this.mode === 'select-only') {
|
|
1582
|
-
this.
|
|
1901
|
+
this.filteredItems = [...this.allItems];
|
|
1583
1902
|
}
|
|
1584
1903
|
else {
|
|
1585
|
-
const val = this.
|
|
1586
|
-
|
|
1904
|
+
const val = this.displayText.toLowerCase();
|
|
1905
|
+
const filteredOptions = this.optionEls.filter(option => {
|
|
1587
1906
|
// For layout options, search both text content and data-search-text attribute
|
|
1588
1907
|
if (this.isOptionLayout(option)) {
|
|
1589
1908
|
const searchText = option.getAttribute('data-search-text') || option.textContent || '';
|
|
@@ -1591,6 +1910,31 @@ const PdsCombobox = class {
|
|
|
1591
1910
|
}
|
|
1592
1911
|
return this.getOptionLabel(option).toLowerCase().includes(val);
|
|
1593
1912
|
});
|
|
1913
|
+
// Rebuild filtered items maintaining group structure - simplified approach
|
|
1914
|
+
this.filteredItems = [];
|
|
1915
|
+
let currentGroupLabel = null;
|
|
1916
|
+
this.allItems.forEach(item => {
|
|
1917
|
+
if (item.tagName === 'OPTGROUP' || item.tagName === 'PDS-TEXT') {
|
|
1918
|
+
currentGroupLabel = item;
|
|
1919
|
+
}
|
|
1920
|
+
else if (item.tagName === 'OPTION' && filteredOptions.includes(item)) {
|
|
1921
|
+
const optionEl = item;
|
|
1922
|
+
const parent = optionEl.parentElement;
|
|
1923
|
+
let labelToUse = null;
|
|
1924
|
+
if (parent && parent.tagName === 'OPTGROUP') {
|
|
1925
|
+
// Only use the actual parent optgroup as label
|
|
1926
|
+
labelToUse = parent;
|
|
1927
|
+
}
|
|
1928
|
+
else if (currentGroupLabel && currentGroupLabel.tagName === 'PDS-TEXT') {
|
|
1929
|
+
// Allow pds-text to label subsequent top-level options until another label appears
|
|
1930
|
+
labelToUse = currentGroupLabel;
|
|
1931
|
+
}
|
|
1932
|
+
if (labelToUse && !this.filteredItems.includes(labelToUse)) {
|
|
1933
|
+
this.filteredItems.push(labelToUse);
|
|
1934
|
+
}
|
|
1935
|
+
this.filteredItems.push(optionEl);
|
|
1936
|
+
}
|
|
1937
|
+
});
|
|
1594
1938
|
}
|
|
1595
1939
|
this.highlightedIndex = -1;
|
|
1596
1940
|
}
|
|
@@ -1611,7 +1955,7 @@ const PdsCombobox = class {
|
|
|
1611
1955
|
left: `${x}px`,
|
|
1612
1956
|
top: `${y}px`,
|
|
1613
1957
|
position: 'absolute',
|
|
1614
|
-
zIndex:
|
|
1958
|
+
zIndex: 'var(--pine-z-index-raised)',
|
|
1615
1959
|
});
|
|
1616
1960
|
});
|
|
1617
1961
|
}
|
|
@@ -1621,7 +1965,130 @@ const PdsCombobox = class {
|
|
|
1621
1965
|
*/
|
|
1622
1966
|
async setFocus() {
|
|
1623
1967
|
var _a;
|
|
1624
|
-
(
|
|
1968
|
+
if (this.inputEl) {
|
|
1969
|
+
this.inputEl.focus();
|
|
1970
|
+
}
|
|
1971
|
+
else {
|
|
1972
|
+
(_a = this.triggerEl) === null || _a === void 0 ? void 0 : _a.focus();
|
|
1973
|
+
}
|
|
1974
|
+
}
|
|
1975
|
+
/**
|
|
1976
|
+
* Sets the initial highlighted index when dropdown opens.
|
|
1977
|
+
* If there's a selected option, highlight it. Otherwise, highlight the first option.
|
|
1978
|
+
*/
|
|
1979
|
+
setInitialHighlightedIndex() {
|
|
1980
|
+
const selectableOptions = this.filteredItems.filter(item => item.tagName === 'OPTION');
|
|
1981
|
+
if (selectableOptions.length === 0) {
|
|
1982
|
+
this.highlightedIndex = -1;
|
|
1983
|
+
return;
|
|
1984
|
+
}
|
|
1985
|
+
// If there's a selected option, find its index in the filtered options
|
|
1986
|
+
if (this.selectedOption) {
|
|
1987
|
+
const selectedIndex = selectableOptions.findIndex(option => option === this.selectedOption);
|
|
1988
|
+
if (selectedIndex >= 0) {
|
|
1989
|
+
this.highlightedIndex = selectedIndex;
|
|
1990
|
+
return;
|
|
1991
|
+
}
|
|
1992
|
+
}
|
|
1993
|
+
// No selected option or selected option not in filtered results, highlight first option
|
|
1994
|
+
this.highlightedIndex = 0;
|
|
1995
|
+
}
|
|
1996
|
+
/**
|
|
1997
|
+
* Focus management helper - moves focus to the first option when dropdown opens
|
|
1998
|
+
*/
|
|
1999
|
+
focusFirstOption() {
|
|
2000
|
+
if (this.isOpen) {
|
|
2001
|
+
const selectableOptions = this.filteredItems.filter(item => item.tagName === 'OPTION');
|
|
2002
|
+
if (selectableOptions.length > 0) {
|
|
2003
|
+
this.setInitialHighlightedIndex();
|
|
2004
|
+
// DON'T focus the option elements - keep focus on trigger and use aria-activedescendant
|
|
2005
|
+
// This prevents the focusout event that was closing the dropdown
|
|
2006
|
+
// But still call updateOptionFocus for scrolling
|
|
2007
|
+
if (this.listboxEl) {
|
|
2008
|
+
this.updateOptionFocus();
|
|
2009
|
+
}
|
|
2010
|
+
}
|
|
2011
|
+
}
|
|
2012
|
+
}
|
|
2013
|
+
/**
|
|
2014
|
+
* Focus management helper - actually focuses the first option when opened via arrow keys
|
|
2015
|
+
*/
|
|
2016
|
+
focusFirstOptionForArrowKeys() {
|
|
2017
|
+
if (this.isOpen) {
|
|
2018
|
+
// Set arrow-key navigation mode
|
|
2019
|
+
this.isArrowKeyNavigationMode = true;
|
|
2020
|
+
const selectableOptions = this.filteredItems.filter(item => item.tagName === 'OPTION');
|
|
2021
|
+
if (selectableOptions.length > 0) {
|
|
2022
|
+
this.setInitialHighlightedIndex();
|
|
2023
|
+
// For arrow key navigation, actually focus the highlighted option
|
|
2024
|
+
if (this.listboxEl) {
|
|
2025
|
+
const optionElements = this.listboxEl.querySelectorAll('[role="option"]');
|
|
2026
|
+
const highlightedOption = optionElements[this.highlightedIndex];
|
|
2027
|
+
if (highlightedOption) {
|
|
2028
|
+
// Remove tabindex from all options first
|
|
2029
|
+
optionElements.forEach(option => {
|
|
2030
|
+
option.setAttribute('tabindex', '-1');
|
|
2031
|
+
});
|
|
2032
|
+
// Set tabindex and focus on highlighted option
|
|
2033
|
+
highlightedOption.setAttribute('tabindex', '0');
|
|
2034
|
+
highlightedOption.focus();
|
|
2035
|
+
highlightedOption.scrollIntoView({ block: 'nearest', behavior: 'smooth' });
|
|
2036
|
+
}
|
|
2037
|
+
}
|
|
2038
|
+
// Update aria-activedescendant on trigger
|
|
2039
|
+
this.updateAriaActiveDescendant();
|
|
2040
|
+
}
|
|
2041
|
+
}
|
|
2042
|
+
}
|
|
2043
|
+
/**
|
|
2044
|
+
* Focus management helper - updates visual state and scrolling for the currently highlighted option
|
|
2045
|
+
* Note: We don't actually focus the option to prevent focusout events that close the dropdown
|
|
2046
|
+
*/
|
|
2047
|
+
updateOptionFocus() {
|
|
2048
|
+
if (!this.listboxEl || this.highlightedIndex < 0)
|
|
2049
|
+
return;
|
|
2050
|
+
const optionElements = this.listboxEl.querySelectorAll('[role="option"]');
|
|
2051
|
+
const currentOption = optionElements[this.highlightedIndex];
|
|
2052
|
+
if (currentOption) {
|
|
2053
|
+
// Check if any option currently has focus OR if we're in arrow-key navigation mode
|
|
2054
|
+
const hasOptionFocus = Array.from(optionElements).some(el => el === document.activeElement);
|
|
2055
|
+
if (hasOptionFocus || this.isArrowKeyNavigationMode) {
|
|
2056
|
+
// We're in arrow-key navigation mode, so actually move focus between options
|
|
2057
|
+
optionElements.forEach(option => {
|
|
2058
|
+
option.setAttribute('tabindex', '-1');
|
|
2059
|
+
});
|
|
2060
|
+
currentOption.setAttribute('tabindex', '0');
|
|
2061
|
+
currentOption.focus();
|
|
2062
|
+
}
|
|
2063
|
+
// Always scroll the option into view
|
|
2064
|
+
currentOption.scrollIntoView({ block: 'nearest', behavior: 'smooth' });
|
|
2065
|
+
}
|
|
2066
|
+
// Always update aria-activedescendant on the trigger element
|
|
2067
|
+
this.updateAriaActiveDescendant();
|
|
2068
|
+
}
|
|
2069
|
+
/**
|
|
2070
|
+
* Updates aria-activedescendant on the trigger element
|
|
2071
|
+
*/
|
|
2072
|
+
updateAriaActiveDescendant() {
|
|
2073
|
+
if (this.triggerEl && this.highlightedIndex >= 0) {
|
|
2074
|
+
this.triggerEl.setAttribute('aria-activedescendant', `pds-combobox-option-${this.highlightedIndex}`);
|
|
2075
|
+
}
|
|
2076
|
+
else if (this.triggerEl) {
|
|
2077
|
+
this.triggerEl.removeAttribute('aria-activedescendant');
|
|
2078
|
+
}
|
|
2079
|
+
}
|
|
2080
|
+
/**
|
|
2081
|
+
* Focus management helper - restores focus to the trigger element
|
|
2082
|
+
*/
|
|
2083
|
+
restoreFocusToTrigger() {
|
|
2084
|
+
setTimeout(() => {
|
|
2085
|
+
if (this.inputEl) {
|
|
2086
|
+
this.inputEl.focus();
|
|
2087
|
+
}
|
|
2088
|
+
else if (this.triggerEl) {
|
|
2089
|
+
this.triggerEl.focus();
|
|
2090
|
+
}
|
|
2091
|
+
}, 0);
|
|
1625
2092
|
}
|
|
1626
2093
|
/**
|
|
1627
2094
|
* Gets the value of the currently selected option.
|
|
@@ -1631,7 +2098,7 @@ const PdsCombobox = class {
|
|
|
1631
2098
|
}
|
|
1632
2099
|
// Get the label of the selected option
|
|
1633
2100
|
get selectedLabel() {
|
|
1634
|
-
return this.
|
|
2101
|
+
return this.displayText || '';
|
|
1635
2102
|
}
|
|
1636
2103
|
// Get the layout content of the selected option for button trigger
|
|
1637
2104
|
get selectedLayoutContent() {
|
|
@@ -1641,30 +2108,148 @@ const PdsCombobox = class {
|
|
|
1641
2108
|
get selectedHasLayout() {
|
|
1642
2109
|
return this.selectedOption ? this.isOptionLayout(this.selectedOption) : false;
|
|
1643
2110
|
}
|
|
2111
|
+
// Extract chip sentiment from selected option's attributes, layout content, or slotted trigger content
|
|
2112
|
+
get selectedChipSentiment() {
|
|
2113
|
+
// First priority: Check selected option's chip attributes (new automatic approach)
|
|
2114
|
+
if (this.selectedOption && this.isOptionChip(this.selectedOption)) {
|
|
2115
|
+
const sentiment = this.selectedOption.getAttribute('chip-sentiment');
|
|
2116
|
+
if (sentiment)
|
|
2117
|
+
return sentiment;
|
|
2118
|
+
}
|
|
2119
|
+
// Second priority: Check selected option's layout content (existing custom layout approach)
|
|
2120
|
+
if (this.selectedOption && this.isOptionLayout(this.selectedOption)) {
|
|
2121
|
+
const chipElement = this.selectedOption.querySelector('pds-chip');
|
|
2122
|
+
const sentiment = chipElement === null || chipElement === void 0 ? void 0 : chipElement.getAttribute('sentiment');
|
|
2123
|
+
if (sentiment)
|
|
2124
|
+
return sentiment;
|
|
2125
|
+
}
|
|
2126
|
+
// Third priority: Check if we have custom trigger content with a chip (initial state)
|
|
2127
|
+
if (this.customTriggerContent) {
|
|
2128
|
+
const slottedChip = this.el.querySelector('pds-chip[slot="trigger-content"]');
|
|
2129
|
+
if (slottedChip) {
|
|
2130
|
+
const sentiment = slottedChip.getAttribute('sentiment');
|
|
2131
|
+
if (sentiment)
|
|
2132
|
+
return sentiment;
|
|
2133
|
+
}
|
|
2134
|
+
}
|
|
2135
|
+
// Fallback: Use component props
|
|
2136
|
+
return this.chipSentiment;
|
|
2137
|
+
}
|
|
2138
|
+
// Extract chip large from selected option's attributes, layout content, or slotted trigger content
|
|
2139
|
+
get selectedChipLarge() {
|
|
2140
|
+
// First priority: Check selected option's chip attributes (new automatic approach)
|
|
2141
|
+
if (this.selectedOption && this.isOptionChip(this.selectedOption)) {
|
|
2142
|
+
if (this.selectedOption.hasAttribute('chip-large'))
|
|
2143
|
+
return true;
|
|
2144
|
+
}
|
|
2145
|
+
// Second priority: Check selected option's layout content (existing custom layout approach)
|
|
2146
|
+
if (this.selectedOption && this.isOptionLayout(this.selectedOption)) {
|
|
2147
|
+
const chipElement = this.selectedOption.querySelector('pds-chip');
|
|
2148
|
+
if (chipElement === null || chipElement === void 0 ? void 0 : chipElement.hasAttribute('large'))
|
|
2149
|
+
return true;
|
|
2150
|
+
}
|
|
2151
|
+
// Third priority: Check if we have custom trigger content with a chip (initial state)
|
|
2152
|
+
if (this.customTriggerContent) {
|
|
2153
|
+
const slottedChip = this.el.querySelector('pds-chip[slot="trigger-content"]');
|
|
2154
|
+
if (slottedChip && slottedChip.hasAttribute('large')) {
|
|
2155
|
+
return true;
|
|
2156
|
+
}
|
|
2157
|
+
}
|
|
2158
|
+
// Fallback: Use component props
|
|
2159
|
+
return this.chipLarge;
|
|
2160
|
+
}
|
|
2161
|
+
// Extract chip icon from selected option's attributes, layout content, or slotted trigger content
|
|
2162
|
+
get selectedChipIcon() {
|
|
2163
|
+
// First priority: Check selected option's chip attributes (new automatic approach)
|
|
2164
|
+
if (this.selectedOption && this.isOptionChip(this.selectedOption)) {
|
|
2165
|
+
const icon = this.selectedOption.getAttribute('chip-icon');
|
|
2166
|
+
if (icon)
|
|
2167
|
+
return icon;
|
|
2168
|
+
}
|
|
2169
|
+
// Second priority: Check selected option's layout content (existing custom layout approach)
|
|
2170
|
+
if (this.selectedOption && this.isOptionLayout(this.selectedOption)) {
|
|
2171
|
+
const chipElement = this.selectedOption.querySelector('pds-chip');
|
|
2172
|
+
const icon = chipElement === null || chipElement === void 0 ? void 0 : chipElement.getAttribute('icon');
|
|
2173
|
+
if (icon)
|
|
2174
|
+
return icon;
|
|
2175
|
+
}
|
|
2176
|
+
// Third priority: Check if we have custom trigger content with a chip (initial state)
|
|
2177
|
+
if (this.customTriggerContent) {
|
|
2178
|
+
const slottedChip = this.el.querySelector('pds-chip[slot="trigger-content"]');
|
|
2179
|
+
if (slottedChip) {
|
|
2180
|
+
const icon = slottedChip.getAttribute('icon');
|
|
2181
|
+
if (icon)
|
|
2182
|
+
return icon;
|
|
2183
|
+
}
|
|
2184
|
+
}
|
|
2185
|
+
// Fallback: Use component props
|
|
2186
|
+
return this.chipIcon;
|
|
2187
|
+
}
|
|
2188
|
+
// Extract chip dot from selected option's attributes, layout content, or slotted trigger content
|
|
2189
|
+
get selectedChipDot() {
|
|
2190
|
+
// First priority: Check selected option's chip attributes (new automatic approach)
|
|
2191
|
+
if (this.selectedOption && this.isOptionChip(this.selectedOption)) {
|
|
2192
|
+
if (this.selectedOption.hasAttribute('chip-dot'))
|
|
2193
|
+
return true;
|
|
2194
|
+
}
|
|
2195
|
+
// Second priority: Check selected option's layout content (existing custom layout approach)
|
|
2196
|
+
if (this.selectedOption && this.isOptionLayout(this.selectedOption)) {
|
|
2197
|
+
const chipElement = this.selectedOption.querySelector('pds-chip');
|
|
2198
|
+
if (chipElement === null || chipElement === void 0 ? void 0 : chipElement.hasAttribute('dot'))
|
|
2199
|
+
return true;
|
|
2200
|
+
}
|
|
2201
|
+
// Third priority: Check if we have custom trigger content with a chip (initial state)
|
|
2202
|
+
if (this.customTriggerContent) {
|
|
2203
|
+
const slottedChip = this.el.querySelector('pds-chip[slot="trigger-content"]');
|
|
2204
|
+
if (slottedChip && slottedChip.hasAttribute('dot')) {
|
|
2205
|
+
return true;
|
|
2206
|
+
}
|
|
2207
|
+
}
|
|
2208
|
+
// Fallback: Use component props
|
|
2209
|
+
return this.chipDot;
|
|
2210
|
+
}
|
|
1644
2211
|
handleOptionClick(option) {
|
|
1645
2212
|
// Update reactive state - single source of truth
|
|
2213
|
+
// The @Watch('selectedOption') will handle displayText, value, and form internals
|
|
1646
2214
|
this.setSelectedOption(option);
|
|
1647
|
-
this.value = this.getOptionLabel(option);
|
|
1648
2215
|
this.isOpen = false;
|
|
1649
2216
|
this.pdsComboboxChange.emit({ value: option.value });
|
|
1650
2217
|
}
|
|
1651
2218
|
renderDropdown() {
|
|
1652
|
-
if (!this.isOpen || this.
|
|
2219
|
+
if (!this.isOpen || this.filteredItems.length === 0) {
|
|
2220
|
+
return null;
|
|
2221
|
+
}
|
|
2222
|
+
let optionIndex = 0;
|
|
2223
|
+
const selectableOptions = this.filteredItems.filter(item => item.tagName === 'OPTION');
|
|
2224
|
+
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) => {
|
|
2225
|
+
if (item.tagName === 'OPTGROUP') {
|
|
2226
|
+
const optgroup = item;
|
|
2227
|
+
return (h("li", { key: `optgroup-${itemIdx}`, class: "pds-combobox__group-label", role: "presentation", "aria-label": optgroup.label }, optgroup.label));
|
|
2228
|
+
}
|
|
2229
|
+
else if (item.tagName === 'PDS-TEXT') {
|
|
2230
|
+
const pdsText = item;
|
|
2231
|
+
return (h("li", { key: `pds-text-${itemIdx}`, class: "pds-combobox__group-label", role: "presentation" }, pdsText.textContent));
|
|
2232
|
+
}
|
|
2233
|
+
else if (item.tagName === 'OPTION') {
|
|
2234
|
+
const option = item;
|
|
2235
|
+
const isSelected = this.isOptionSelected(option);
|
|
2236
|
+
const isHighlighted = this.highlightedIndex === optionIndex;
|
|
2237
|
+
const isLayout = this.isOptionLayout(option);
|
|
2238
|
+
const isChip = this.isOptionChip(option);
|
|
2239
|
+
const currentOptionIndex = optionIndex++;
|
|
2240
|
+
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 || isChip ? option.getAttribute('aria-label') || this.getOptionLabel(option) : undefined, tabindex: isHighlighted ? '0' : '-1', class: {
|
|
2241
|
+
'pds-combobox__option': true,
|
|
2242
|
+
'pds-combobox__option--highlighted': isHighlighted,
|
|
2243
|
+
'pds-combobox__option--layout': isLayout,
|
|
2244
|
+
'pds-combobox__option--chip': isChip,
|
|
2245
|
+
}, "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) })) : isChip ? (this.renderOptionChip(option)) : (this.getOptionLabel(option)), isSelected && h("pds-icon", { icon: "check", size: "regular", class: "pds-combobox__option-check" })));
|
|
2246
|
+
}
|
|
1653
2247
|
return null;
|
|
1654
|
-
return (h("ul", { class: "pds-combobox__listbox", role: "listbox", id: "pds-combobox-listbox", ref: el => (this.listboxEl = el) }, this.filteredOptions.map((option, idx) => {
|
|
1655
|
-
const isSelected = this.isOptionSelected(option);
|
|
1656
|
-
const isHighlighted = this.highlightedIndex === idx;
|
|
1657
|
-
const isLayout = this.isOptionLayout(option);
|
|
1658
|
-
return (h("li", { key: option.value, id: `pds-combobox-option-${idx}`, role: "option", "aria-selected": isSelected ? 'true' : 'false', class: {
|
|
1659
|
-
'pds-combobox__option': true,
|
|
1660
|
-
'pds-combobox__option--highlighted': isHighlighted,
|
|
1661
|
-
'pds-combobox__option--layout': isLayout,
|
|
1662
|
-
}, "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" })));
|
|
1663
2248
|
})));
|
|
1664
2249
|
}
|
|
1665
2250
|
// Helper method to render the caret icon
|
|
1666
2251
|
renderCaretIcon() {
|
|
1667
|
-
return h("pds-icon", { icon: "caret-down", "aria-hidden": "true",
|
|
2252
|
+
return h("pds-icon", { icon: "caret-down", "aria-hidden": "true", class: "pds-combobox__button-trigger-chevron" });
|
|
1668
2253
|
}
|
|
1669
2254
|
// Helper method to render layout content
|
|
1670
2255
|
renderLayoutContent() {
|
|
@@ -1678,6 +2263,23 @@ const PdsCombobox = class {
|
|
|
1678
2263
|
shouldShowLayoutContent() {
|
|
1679
2264
|
return this.selectedHasLayout && !!this.selectedLayoutContent;
|
|
1680
2265
|
}
|
|
2266
|
+
// Helper method to build chip trigger CSS classes
|
|
2267
|
+
getChipTriggerClass() {
|
|
2268
|
+
const classes = ['pds-combobox__chip-trigger'];
|
|
2269
|
+
// Add sentiment class
|
|
2270
|
+
classes.push(`pds-combobox__chip-trigger--${this.selectedChipSentiment}`);
|
|
2271
|
+
// Always use dropdown variant for chip triggers
|
|
2272
|
+
classes.push('pds-combobox__chip-trigger--dropdown');
|
|
2273
|
+
// Add large class if needed
|
|
2274
|
+
if (this.selectedChipLarge) {
|
|
2275
|
+
classes.push('pds-combobox__chip-trigger--large');
|
|
2276
|
+
}
|
|
2277
|
+
// Add dot class if needed
|
|
2278
|
+
if (this.selectedChipDot) {
|
|
2279
|
+
classes.push('pds-combobox__chip-trigger--dot');
|
|
2280
|
+
}
|
|
2281
|
+
return classes.join(' ');
|
|
2282
|
+
}
|
|
1681
2283
|
renderButtonTriggerContent() {
|
|
1682
2284
|
// Case 1: Custom trigger content with layout priority
|
|
1683
2285
|
if (this.customTriggerContent) {
|
|
@@ -1694,13 +2296,79 @@ const PdsCombobox = class {
|
|
|
1694
2296
|
// Case 3: Standard mode with default text content
|
|
1695
2297
|
return [this.renderDefaultContent(), this.renderCaretIcon()];
|
|
1696
2298
|
}
|
|
2299
|
+
renderChipTriggerContent() {
|
|
2300
|
+
// Case 1: Custom trigger content with layout priority
|
|
2301
|
+
if (this.customTriggerContent) {
|
|
2302
|
+
if (this.shouldShowLayoutContent()) {
|
|
2303
|
+
// When using custom layouts, the chip handles its own dropdown arrow
|
|
2304
|
+
return this.renderChipTriggerLayoutContent();
|
|
2305
|
+
}
|
|
2306
|
+
// Fall back to slot content when no layout is available - chip handles its own dropdown arrow
|
|
2307
|
+
return h("slot", { name: "trigger-content" });
|
|
2308
|
+
}
|
|
2309
|
+
// Case 2: Standard mode with layout content
|
|
2310
|
+
if (this.shouldShowLayoutContent()) {
|
|
2311
|
+
// When using custom layouts, the chip handles its own dropdown arrow
|
|
2312
|
+
return this.renderChipTriggerLayoutContent();
|
|
2313
|
+
}
|
|
2314
|
+
// Case 3: Automatic chip mode - selected option has chip attributes
|
|
2315
|
+
if (this.selectedOption && this.selectedOptionChipProps) {
|
|
2316
|
+
// Render as chip automatically - chip handles its own dropdown arrow
|
|
2317
|
+
return this.renderSelectedOptionAsChip();
|
|
2318
|
+
}
|
|
2319
|
+
// Case 4: Standard mode with default text content
|
|
2320
|
+
return [
|
|
2321
|
+
this.renderChipTriggerDefaultContent(),
|
|
2322
|
+
this.renderCaretIcon()
|
|
2323
|
+
];
|
|
2324
|
+
}
|
|
2325
|
+
// Helper method to render selected option as chip for trigger (automatic approach)
|
|
2326
|
+
renderSelectedOptionAsChip() {
|
|
2327
|
+
if (!this.selectedOption || !this.selectedOptionChipProps)
|
|
2328
|
+
return null;
|
|
2329
|
+
return (h("pds-chip", { sentiment: this.selectedOptionChipProps.sentiment, variant: "dropdown" // Always use dropdown variant for triggers
|
|
2330
|
+
,
|
|
2331
|
+
large: this.selectedOptionChipProps.large, icon: this.selectedOptionChipProps.icon, dot: this.selectedOptionChipProps.dot, class: "pds-combobox__chip-trigger-auto" }, this.getOptionLabel(this.selectedOption)));
|
|
2332
|
+
}
|
|
2333
|
+
// Helper method to render chip trigger layout content
|
|
2334
|
+
renderChipTriggerLayoutContent() {
|
|
2335
|
+
return (h("div", { class: "pds-combobox__chip-trigger-layout-wrapper", innerHTML: this.getModifiedLayoutContentForTrigger() }));
|
|
2336
|
+
}
|
|
2337
|
+
// Helper method to modify layout content for trigger use (ensure dropdown variant)
|
|
2338
|
+
getModifiedLayoutContentForTrigger() {
|
|
2339
|
+
let content = this.selectedLayoutContent;
|
|
2340
|
+
// If the content contains a pds-chip, ensure it has variant="dropdown"
|
|
2341
|
+
if (content.includes('<pds-chip')) {
|
|
2342
|
+
// Use a temporary div to parse and modify the HTML
|
|
2343
|
+
const tempDiv = document.createElement('div');
|
|
2344
|
+
tempDiv.innerHTML = content;
|
|
2345
|
+
const chipElement = tempDiv.querySelector('pds-chip');
|
|
2346
|
+
if (chipElement) {
|
|
2347
|
+
chipElement.setAttribute('variant', 'dropdown');
|
|
2348
|
+
content = tempDiv.innerHTML;
|
|
2349
|
+
}
|
|
2350
|
+
}
|
|
2351
|
+
return content;
|
|
2352
|
+
}
|
|
2353
|
+
// Helper method to render chip trigger default content
|
|
2354
|
+
renderChipTriggerDefaultContent() {
|
|
2355
|
+
return (h("span", { class: "pds-combobox__chip-trigger-label" }, this.selectedChipIcon && h("pds-icon", { icon: this.selectedChipIcon, class: "pds-combobox__chip-trigger-icon" }), this.selectedLabel || this.placeholder));
|
|
2356
|
+
}
|
|
2357
|
+
// Helper method to render option as chip (new automatic approach)
|
|
2358
|
+
renderOptionChip(option) {
|
|
2359
|
+
const chipProps = this.getOptionChipProps(option);
|
|
2360
|
+
return (h("pds-chip", { sentiment: chipProps.sentiment, variant: "text" // Dropdown options use text variant, not dropdown
|
|
2361
|
+
,
|
|
2362
|
+
large: chipProps.large, icon: chipProps.icon, dot: chipProps.dot, class: "pds-combobox__option-chip" }, this.getOptionLabel(option)));
|
|
2363
|
+
}
|
|
1697
2364
|
render() {
|
|
1698
2365
|
const triggerClass = `pds-combobox__button-trigger pds-combobox__button-trigger--${this.triggerVariant}`;
|
|
1699
|
-
return (h(Host, { key: '
|
|
2366
|
+
return (h(Host, { key: 'd62992abd6eae05cfff52cfc0272490ca6370291' }, h("div", { key: 'affff971535065b7352daee494742bf7b65a61f4', class: "pds-combobox", tabIndex: -1, onFocusout: this.onComboboxFocusOut }, this.label && (h("label", { key: 'c27f88928932bc4535698cb88595b1559cb22e55', htmlFor: this.componentId, class: "pds-combobox__label" }, h("span", { key: '0b65e67897735819cb2a4dc7d6d7d355af2f28d5', 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 => {
|
|
1700
2367
|
this.inputEl = el;
|
|
1701
2368
|
this.triggerEl = el;
|
|
1702
|
-
}, class: "pds-combobox__input",
|
|
2369
|
+
}, 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.displayText, 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" }))) : this.trigger === 'chip' ? (h("div", { class: this.getChipTriggerClass(), 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: "chip-trigger" }, this.renderChipTriggerContent())) : (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: '47c259c2bc5b6f4f1d249d9bddd476b11c5a90fe', style: { display: 'none' } }, h("slot", { key: '83355a804fe978b6fb58838b4174bc815cf2f933', onSlotchange: () => this.updateOptions() })), this.renderDropdown())));
|
|
1703
2370
|
}
|
|
2371
|
+
static get formAssociated() { return true; }
|
|
1704
2372
|
get el() { return getElement(this); }
|
|
1705
2373
|
static get watchers() { return {
|
|
1706
2374
|
"value": ["handleValueChange"],
|