@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,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var index = require('./index-
|
|
3
|
+
var index = require('./index-DDTyvZD7.js');
|
|
4
4
|
var floatingUi_dom = require('./floating-ui.dom-DTAy35nv.js');
|
|
5
5
|
|
|
6
6
|
/*! @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 */
|
|
@@ -1338,7 +1338,7 @@ function createDOMPurify() {
|
|
|
1338
1338
|
}
|
|
1339
1339
|
var purify = createDOMPurify();
|
|
1340
1340
|
|
|
1341
|
-
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)}";
|
|
1341
|
+
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)}";
|
|
1342
1342
|
|
|
1343
1343
|
const PdsCombobox = class {
|
|
1344
1344
|
constructor(hostRef) {
|
|
@@ -1382,7 +1382,7 @@ const PdsCombobox = class {
|
|
|
1382
1382
|
*/
|
|
1383
1383
|
this.mode = 'filter';
|
|
1384
1384
|
/**
|
|
1385
|
-
* Determines the combobox trigger: 'input' (editable input)
|
|
1385
|
+
* Determines the combobox trigger: 'input' (editable input), 'button' (button-like, non-editable), or 'chip' (chip-like, non-editable).
|
|
1386
1386
|
* @default 'input'
|
|
1387
1387
|
*/
|
|
1388
1388
|
this.trigger = 'input';
|
|
@@ -1396,14 +1396,33 @@ const PdsCombobox = class {
|
|
|
1396
1396
|
* @default 'secondary'
|
|
1397
1397
|
*/
|
|
1398
1398
|
this.triggerVariant = 'secondary';
|
|
1399
|
+
/**
|
|
1400
|
+
* The sentiment for the chip trigger. Matches Pine chip sentiments.
|
|
1401
|
+
* @default 'neutral'
|
|
1402
|
+
*/
|
|
1403
|
+
this.chipSentiment = 'neutral';
|
|
1404
|
+
/**
|
|
1405
|
+
* Whether the chip trigger should be displayed in a larger size.
|
|
1406
|
+
* @default false
|
|
1407
|
+
*/
|
|
1408
|
+
this.chipLarge = false;
|
|
1409
|
+
/**
|
|
1410
|
+
* Whether a dot should be displayed on the chip trigger.
|
|
1411
|
+
* @default false
|
|
1412
|
+
*/
|
|
1413
|
+
this.chipDot = false;
|
|
1399
1414
|
/**
|
|
1400
1415
|
* The value of the combobox input.
|
|
1401
1416
|
*/
|
|
1402
1417
|
this.value = '';
|
|
1403
1418
|
/**
|
|
1404
|
-
* Internal state for
|
|
1419
|
+
* Internal state for the display text shown in the input/trigger
|
|
1420
|
+
*/
|
|
1421
|
+
this.displayText = '';
|
|
1422
|
+
/**
|
|
1423
|
+
* Internal state for filtered options and group labels
|
|
1405
1424
|
*/
|
|
1406
|
-
this.
|
|
1425
|
+
this.filteredItems = [];
|
|
1407
1426
|
/**
|
|
1408
1427
|
* Internal state for the currently highlighted option index
|
|
1409
1428
|
*/
|
|
@@ -1420,45 +1439,143 @@ const PdsCombobox = class {
|
|
|
1420
1439
|
* Internal state for the sanitized layout content of the selected option
|
|
1421
1440
|
*/
|
|
1422
1441
|
this.selectedOptionLayoutContent = '';
|
|
1442
|
+
/**
|
|
1443
|
+
* Internal state to track chip properties for automatic rendering
|
|
1444
|
+
*/
|
|
1445
|
+
this.selectedOptionChipProps = null;
|
|
1423
1446
|
this.optionEls = [];
|
|
1447
|
+
this.allItems = [];
|
|
1448
|
+
this.isUpdatingFromSelection = false;
|
|
1424
1449
|
this.handleInput = (e) => {
|
|
1425
1450
|
const target = e.target;
|
|
1426
|
-
this.
|
|
1451
|
+
this.displayText = target.value;
|
|
1427
1452
|
this.isOpen = true;
|
|
1428
1453
|
this.filterOptions();
|
|
1429
1454
|
setTimeout(() => this.openDropdownPositioning(), 0);
|
|
1430
1455
|
};
|
|
1431
|
-
this.
|
|
1432
|
-
|
|
1433
|
-
this.
|
|
1434
|
-
|
|
1456
|
+
this.handleInputClick = () => {
|
|
1457
|
+
// Open dropdown when input is clicked (but not when tabbed into)
|
|
1458
|
+
if (!this.isOpen) {
|
|
1459
|
+
this.isOpen = true;
|
|
1460
|
+
this.filterOptions();
|
|
1461
|
+
this.setInitialHighlightedIndex();
|
|
1462
|
+
setTimeout(() => this.openDropdownPositioning(), 0);
|
|
1463
|
+
}
|
|
1435
1464
|
};
|
|
1436
1465
|
this.handleKeyDown = (e) => {
|
|
1437
|
-
if (!this.isOpen && (e.key === 'ArrowDown' || e.key === 'ArrowUp')) {
|
|
1466
|
+
if (!this.isOpen && (e.key === 'ArrowDown' || e.key === 'ArrowUp' || (e.altKey && e.key === 'ArrowDown'))) {
|
|
1467
|
+
e.preventDefault();
|
|
1438
1468
|
this.isOpen = true;
|
|
1469
|
+
this.filterOptions();
|
|
1470
|
+
// Set highlighted index immediately for testing
|
|
1471
|
+
this.setInitialHighlightedIndex();
|
|
1472
|
+
setTimeout(() => {
|
|
1473
|
+
this.openDropdownPositioning();
|
|
1474
|
+
// For input trigger, keep focus on input and use aria-activedescendant
|
|
1475
|
+
// For button trigger, move focus to first option for keyboard navigation
|
|
1476
|
+
if (this.trigger === 'input') {
|
|
1477
|
+
this.focusFirstOption();
|
|
1478
|
+
}
|
|
1479
|
+
else {
|
|
1480
|
+
this.focusFirstOptionForArrowKeys();
|
|
1481
|
+
}
|
|
1482
|
+
}, 0);
|
|
1483
|
+
return;
|
|
1484
|
+
}
|
|
1485
|
+
if (!this.isOpen) {
|
|
1439
1486
|
return;
|
|
1440
1487
|
}
|
|
1488
|
+
// Get only the option elements (skip group labels) for navigation
|
|
1489
|
+
const selectableOptions = this.filteredItems.filter(item => item.tagName === 'OPTION');
|
|
1441
1490
|
switch (e.key) {
|
|
1442
1491
|
case 'ArrowDown':
|
|
1443
|
-
|
|
1492
|
+
e.preventDefault();
|
|
1493
|
+
// If no option is highlighted and we have options, start at 0
|
|
1494
|
+
if (this.highlightedIndex < 0 && selectableOptions.length > 0) {
|
|
1495
|
+
this.highlightedIndex = 0;
|
|
1496
|
+
}
|
|
1497
|
+
else {
|
|
1498
|
+
this.highlightedIndex = Math.min(this.highlightedIndex + 1, selectableOptions.length - 1);
|
|
1499
|
+
}
|
|
1500
|
+
this.updateOptionFocus();
|
|
1444
1501
|
break;
|
|
1445
1502
|
case 'ArrowUp':
|
|
1446
|
-
|
|
1503
|
+
e.preventDefault();
|
|
1504
|
+
// If no option is highlighted and we have options, start at last option
|
|
1505
|
+
if (this.highlightedIndex < 0 && selectableOptions.length > 0) {
|
|
1506
|
+
this.highlightedIndex = selectableOptions.length - 1;
|
|
1507
|
+
}
|
|
1508
|
+
else {
|
|
1509
|
+
this.highlightedIndex = Math.max(this.highlightedIndex - 1, 0);
|
|
1510
|
+
}
|
|
1511
|
+
this.updateOptionFocus();
|
|
1512
|
+
break;
|
|
1513
|
+
case 'Home':
|
|
1514
|
+
e.preventDefault();
|
|
1515
|
+
if (selectableOptions.length > 0) {
|
|
1516
|
+
this.highlightedIndex = 0;
|
|
1517
|
+
this.updateOptionFocus();
|
|
1518
|
+
}
|
|
1519
|
+
break;
|
|
1520
|
+
case 'End':
|
|
1521
|
+
e.preventDefault();
|
|
1522
|
+
if (selectableOptions.length > 0) {
|
|
1523
|
+
this.highlightedIndex = selectableOptions.length - 1;
|
|
1524
|
+
this.updateOptionFocus();
|
|
1525
|
+
}
|
|
1526
|
+
break;
|
|
1527
|
+
case 'PageDown':
|
|
1528
|
+
e.preventDefault();
|
|
1529
|
+
if (selectableOptions.length > 0) {
|
|
1530
|
+
const nextIndex = Math.min(this.highlightedIndex + 10, selectableOptions.length - 1);
|
|
1531
|
+
this.highlightedIndex = nextIndex;
|
|
1532
|
+
this.updateOptionFocus();
|
|
1533
|
+
}
|
|
1534
|
+
break;
|
|
1535
|
+
case 'PageUp':
|
|
1536
|
+
e.preventDefault();
|
|
1537
|
+
if (selectableOptions.length > 0) {
|
|
1538
|
+
const prevIndex = Math.max(this.highlightedIndex - 10, 0);
|
|
1539
|
+
this.highlightedIndex = prevIndex;
|
|
1540
|
+
this.updateOptionFocus();
|
|
1541
|
+
}
|
|
1447
1542
|
break;
|
|
1448
1543
|
case 'Enter':
|
|
1449
|
-
|
|
1450
|
-
|
|
1544
|
+
e.preventDefault();
|
|
1545
|
+
if (this.highlightedIndex >= 0 && this.highlightedIndex < selectableOptions.length) {
|
|
1546
|
+
this.handleOptionClick(selectableOptions[this.highlightedIndex]);
|
|
1547
|
+
this.restoreFocusToTrigger();
|
|
1548
|
+
}
|
|
1549
|
+
break;
|
|
1550
|
+
case ' ':
|
|
1551
|
+
e.preventDefault();
|
|
1552
|
+
if (this.highlightedIndex >= 0 && this.highlightedIndex < selectableOptions.length) {
|
|
1553
|
+
this.handleOptionClick(selectableOptions[this.highlightedIndex]);
|
|
1554
|
+
this.restoreFocusToTrigger();
|
|
1451
1555
|
}
|
|
1452
1556
|
break;
|
|
1453
1557
|
case 'Escape':
|
|
1558
|
+
e.preventDefault();
|
|
1454
1559
|
this.isOpen = false;
|
|
1560
|
+
this.highlightedIndex = -1;
|
|
1561
|
+
this.isArrowKeyNavigationMode = false; // Reset arrow-key navigation mode
|
|
1562
|
+
this.restoreFocusToTrigger();
|
|
1563
|
+
break;
|
|
1564
|
+
case 'Tab':
|
|
1565
|
+
// Allow normal tab behavior to close dropdown and move focus
|
|
1566
|
+
this.isOpen = false;
|
|
1567
|
+
this.highlightedIndex = -1;
|
|
1568
|
+
this.isArrowKeyNavigationMode = false; // Reset arrow-key navigation mode
|
|
1455
1569
|
break;
|
|
1456
1570
|
}
|
|
1457
1571
|
};
|
|
1572
|
+
// Track if we're in arrow-key navigation mode (focus should move between options)
|
|
1573
|
+
this.isArrowKeyNavigationMode = false;
|
|
1458
1574
|
// Event handler for option click
|
|
1459
1575
|
this.onOptionClick = (event) => {
|
|
1460
1576
|
const idx = Number(event.currentTarget.getAttribute('data-option-index'));
|
|
1461
|
-
const
|
|
1577
|
+
const selectableOptions = this.filteredItems.filter(item => item.tagName === 'OPTION');
|
|
1578
|
+
const option = selectableOptions[idx];
|
|
1462
1579
|
this.handleOptionClick(option);
|
|
1463
1580
|
};
|
|
1464
1581
|
// Event handler for mouse enter on option
|
|
@@ -1470,58 +1587,233 @@ const PdsCombobox = class {
|
|
|
1470
1587
|
this.onOptionMouseDown = (event) => {
|
|
1471
1588
|
event.preventDefault();
|
|
1472
1589
|
};
|
|
1590
|
+
// Event handler for option keyboard events
|
|
1591
|
+
this.onOptionKeyDown = (event) => {
|
|
1592
|
+
// Delegate to main keyboard handler
|
|
1593
|
+
this.handleKeyDown(event);
|
|
1594
|
+
};
|
|
1473
1595
|
// Handler for button trigger click
|
|
1474
1596
|
this.onButtonTriggerClick = () => {
|
|
1475
1597
|
this.isOpen = !this.isOpen;
|
|
1476
|
-
if (this.isOpen)
|
|
1598
|
+
if (this.isOpen) {
|
|
1599
|
+
this.filterOptions();
|
|
1600
|
+
// Set highlighted index and prepare for keyboard navigation
|
|
1601
|
+
this.setInitialHighlightedIndex();
|
|
1602
|
+
// For button trigger, prepare for arrow-key navigation mode
|
|
1603
|
+
this.isArrowKeyNavigationMode = true;
|
|
1477
1604
|
setTimeout(() => this.openDropdownPositioning(), 0);
|
|
1605
|
+
}
|
|
1606
|
+
else {
|
|
1607
|
+
// Reset navigation mode when closing
|
|
1608
|
+
this.isArrowKeyNavigationMode = false;
|
|
1609
|
+
}
|
|
1478
1610
|
};
|
|
1479
1611
|
// Handler for button trigger keyboard events
|
|
1480
1612
|
this.onButtonTriggerKeyDown = (e) => {
|
|
1481
|
-
if (e.key === 'Enter' || e.key === ' ' || e.key === 'ArrowDown') {
|
|
1613
|
+
if ((e.key === 'Enter' || e.key === ' ' || e.key === 'ArrowDown' || e.key === 'ArrowUp') && !this.isOpen) {
|
|
1482
1614
|
e.preventDefault();
|
|
1615
|
+
e.stopPropagation(); // Prevent the event from bubbling and triggering click
|
|
1483
1616
|
this.isOpen = true;
|
|
1484
|
-
this.
|
|
1485
|
-
|
|
1617
|
+
this.filterOptions();
|
|
1618
|
+
// Set highlighted index immediately
|
|
1619
|
+
this.setInitialHighlightedIndex();
|
|
1620
|
+
setTimeout(() => {
|
|
1621
|
+
this.openDropdownPositioning();
|
|
1622
|
+
// For all button trigger keyboard opening, focus the first option so subsequent navigation works
|
|
1623
|
+
this.focusFirstOptionForArrowKeys();
|
|
1624
|
+
}, 0);
|
|
1486
1625
|
}
|
|
1487
1626
|
else if (e.key === 'Escape') {
|
|
1488
|
-
|
|
1627
|
+
e.preventDefault();
|
|
1628
|
+
if (this.isOpen) {
|
|
1629
|
+
this.isOpen = false;
|
|
1630
|
+
this.highlightedIndex = -1;
|
|
1631
|
+
this.updateAriaActiveDescendant(); // Clear aria-activedescendant
|
|
1632
|
+
this.restoreFocusToTrigger();
|
|
1633
|
+
}
|
|
1634
|
+
}
|
|
1635
|
+
else if (this.isOpen) {
|
|
1636
|
+
// Delegate other keys to main keyboard handler when dropdown is open
|
|
1637
|
+
this.handleKeyDown(e);
|
|
1638
|
+
}
|
|
1639
|
+
};
|
|
1640
|
+
// Handler for button trigger keyup events - prevents space key from triggering synthetic click
|
|
1641
|
+
this.onButtonTriggerKeyUp = (e) => {
|
|
1642
|
+
if (e.key === ' ') {
|
|
1643
|
+
e.preventDefault();
|
|
1644
|
+
e.stopPropagation();
|
|
1489
1645
|
}
|
|
1490
1646
|
};
|
|
1491
1647
|
// Close dropdown when focus leaves the combobox
|
|
1492
1648
|
this.onComboboxFocusOut = (event) => {
|
|
1649
|
+
var _a;
|
|
1493
1650
|
const relatedTarget = event.relatedTarget;
|
|
1494
|
-
if (
|
|
1651
|
+
// Check if the related target is within our shadow DOM (listbox options)
|
|
1652
|
+
const isRelatedTargetInListbox = relatedTarget && ((_a = this.listboxEl) === null || _a === void 0 ? void 0 : _a.contains(relatedTarget));
|
|
1653
|
+
const isRelatedTargetInCombobox = this.el.contains(relatedTarget);
|
|
1654
|
+
// Don't close if focus is moving to an option in the listbox or staying within the combobox
|
|
1655
|
+
if (!isRelatedTargetInCombobox && !isRelatedTargetInListbox) {
|
|
1495
1656
|
this.isOpen = false;
|
|
1496
|
-
|
|
1497
|
-
|
|
1498
|
-
|
|
1657
|
+
this.highlightedIndex = -1;
|
|
1658
|
+
this.isArrowKeyNavigationMode = false; // Reset arrow-key navigation mode
|
|
1659
|
+
this.updateAriaActiveDescendant(); // Clear aria-activedescendant
|
|
1660
|
+
// If there's a selected option but the display text doesn't match, restore the selected option's display text
|
|
1661
|
+
if (this.selectedOption && this.displayText !== this.getOptionLabel(this.selectedOption)) {
|
|
1662
|
+
this.displayText = this.getOptionLabel(this.selectedOption);
|
|
1663
|
+
// The @Watch('selectedOption') will handle value and form internals if needed
|
|
1499
1664
|
}
|
|
1500
1665
|
}
|
|
1501
1666
|
};
|
|
1502
1667
|
}
|
|
1668
|
+
connectedCallback() {
|
|
1669
|
+
// Initialize ElementInternals for form association
|
|
1670
|
+
if (this.el.attachInternals) {
|
|
1671
|
+
this.internals = this.el.attachInternals();
|
|
1672
|
+
}
|
|
1673
|
+
}
|
|
1503
1674
|
componentWillLoad() {
|
|
1504
1675
|
this.updateOptions();
|
|
1505
1676
|
}
|
|
1677
|
+
componentDidLoad() {
|
|
1678
|
+
var _a, _b, _c;
|
|
1679
|
+
// Check for value-based preselection if no option is selected yet
|
|
1680
|
+
if (!this.selectedOption && this.value && this.optionEls.length > 0) {
|
|
1681
|
+
const matchingOption = this.optionEls.find(opt => opt.value === this.value);
|
|
1682
|
+
if (matchingOption) {
|
|
1683
|
+
this.setSelectedOption(matchingOption);
|
|
1684
|
+
// Update the display text to show the option's text content
|
|
1685
|
+
this.displayText = this.getOptionLabel(matchingOption);
|
|
1686
|
+
// Keep this.value as the actual option value
|
|
1687
|
+
// this.value remains unchanged (already matches matchingOption.value)
|
|
1688
|
+
}
|
|
1689
|
+
}
|
|
1690
|
+
// Initialize form value with current value
|
|
1691
|
+
if (this.internals) {
|
|
1692
|
+
try {
|
|
1693
|
+
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 : '');
|
|
1694
|
+
}
|
|
1695
|
+
catch (e) {
|
|
1696
|
+
// ElementInternals.setFormValue not available in unit tests
|
|
1697
|
+
}
|
|
1698
|
+
}
|
|
1699
|
+
}
|
|
1506
1700
|
handleValueChange() {
|
|
1507
1701
|
this.filterOptions();
|
|
1702
|
+
// Sync with form internals for form association
|
|
1703
|
+
if (this.internals) {
|
|
1704
|
+
try {
|
|
1705
|
+
this.internals.setFormValue(this.value);
|
|
1706
|
+
}
|
|
1707
|
+
catch (e) {
|
|
1708
|
+
// ElementInternals.setFormValue not available in unit tests
|
|
1709
|
+
}
|
|
1710
|
+
}
|
|
1711
|
+
// Find and select option that matches the value (for external value changes)
|
|
1712
|
+
// Only do this if we're not already updating from a selection
|
|
1713
|
+
if (!this.isUpdatingFromSelection && this.value && this.optionEls.length > 0) {
|
|
1714
|
+
const currentSelectedValue = this.selectedOption ? this.selectedOption.value : null;
|
|
1715
|
+
// If the value doesn't match the currently selected option's value, we need to update
|
|
1716
|
+
if (this.value !== currentSelectedValue) {
|
|
1717
|
+
const matchingOption = this.optionEls.find(opt => opt.value === this.value);
|
|
1718
|
+
if (matchingOption) {
|
|
1719
|
+
this.isUpdatingFromSelection = true;
|
|
1720
|
+
this.setSelectedOption(matchingOption);
|
|
1721
|
+
// Update the display text to show the option's text content
|
|
1722
|
+
this.displayText = this.getOptionLabel(matchingOption);
|
|
1723
|
+
// Keep this.value as the actual option value (already correct)
|
|
1724
|
+
this.isUpdatingFromSelection = false;
|
|
1725
|
+
}
|
|
1726
|
+
}
|
|
1727
|
+
}
|
|
1508
1728
|
}
|
|
1509
1729
|
handleSelectedOptionChange() {
|
|
1510
1730
|
// Update the layout content when selected option changes
|
|
1511
1731
|
this.selectedOptionLayoutContent = this.selectedOption && this.isOptionLayout(this.selectedOption)
|
|
1512
1732
|
? this.getOptionLayoutContent(this.selectedOption)
|
|
1513
1733
|
: '';
|
|
1734
|
+
// Update chip properties for automatic rendering when selected option changes
|
|
1735
|
+
this.selectedOptionChipProps = this.selectedOption && this.isOptionChip(this.selectedOption)
|
|
1736
|
+
? this.getOptionChipProps(this.selectedOption)
|
|
1737
|
+
: null;
|
|
1738
|
+
// Update display text when selected option changes
|
|
1739
|
+
if (this.selectedOption) {
|
|
1740
|
+
this.displayText = this.getOptionLabel(this.selectedOption);
|
|
1741
|
+
this.value = this.selectedOption.value;
|
|
1742
|
+
// Update form internals with the actual option value
|
|
1743
|
+
if (this.internals) {
|
|
1744
|
+
try {
|
|
1745
|
+
this.internals.setFormValue(this.selectedOption.value);
|
|
1746
|
+
}
|
|
1747
|
+
catch (e) {
|
|
1748
|
+
// ElementInternals.setFormValue not available in unit tests
|
|
1749
|
+
}
|
|
1750
|
+
}
|
|
1751
|
+
}
|
|
1752
|
+
else {
|
|
1753
|
+
this.displayText = '';
|
|
1754
|
+
this.value = '';
|
|
1755
|
+
if (this.internals) {
|
|
1756
|
+
try {
|
|
1757
|
+
this.internals.setFormValue('');
|
|
1758
|
+
}
|
|
1759
|
+
catch (e) {
|
|
1760
|
+
// ElementInternals.setFormValue not available in unit tests
|
|
1761
|
+
}
|
|
1762
|
+
}
|
|
1763
|
+
}
|
|
1514
1764
|
}
|
|
1515
1765
|
updateOptions() {
|
|
1516
1766
|
var _a;
|
|
1517
|
-
// Get all
|
|
1767
|
+
// Get all elements from the slot
|
|
1518
1768
|
const slot = (_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('slot[name="option"], slot:not([name])');
|
|
1519
1769
|
if (slot) {
|
|
1520
|
-
|
|
1521
|
-
|
|
1522
|
-
|
|
1523
|
-
|
|
1524
|
-
|
|
1770
|
+
const allElements = slot.assignedElements({ flatten: true });
|
|
1771
|
+
// Separate options from group labels and flatten optgroups
|
|
1772
|
+
this.allItems = [];
|
|
1773
|
+
this.optionEls = [];
|
|
1774
|
+
allElements.forEach(el => {
|
|
1775
|
+
if (el.tagName === 'OPTION') {
|
|
1776
|
+
this.optionEls.push(el);
|
|
1777
|
+
this.allItems.push(el);
|
|
1778
|
+
}
|
|
1779
|
+
else if (el.tagName === 'OPTGROUP') {
|
|
1780
|
+
const optgroup = el;
|
|
1781
|
+
this.allItems.push(optgroup);
|
|
1782
|
+
// Add optgroup children (options)
|
|
1783
|
+
Array.from(optgroup.children).forEach(child => {
|
|
1784
|
+
if (child.tagName === 'OPTION') {
|
|
1785
|
+
this.optionEls.push(child);
|
|
1786
|
+
this.allItems.push(child);
|
|
1787
|
+
}
|
|
1788
|
+
});
|
|
1789
|
+
}
|
|
1790
|
+
else if (el.tagName === 'PDS-TEXT') {
|
|
1791
|
+
this.allItems.push(el);
|
|
1792
|
+
}
|
|
1793
|
+
});
|
|
1794
|
+
// Set initial selected option based on value property
|
|
1795
|
+
let initialSelected = null;
|
|
1796
|
+
// Check if value property matches any option
|
|
1797
|
+
if (this.value) {
|
|
1798
|
+
initialSelected = this.optionEls.find(opt => opt.value === this.value) || null;
|
|
1799
|
+
if (initialSelected) {
|
|
1800
|
+
// Update the display text to show the option's text content
|
|
1801
|
+
this.displayText = this.getOptionLabel(initialSelected);
|
|
1802
|
+
// Keep this.value as the actual option value (already correct)
|
|
1803
|
+
}
|
|
1804
|
+
}
|
|
1805
|
+
// For chip triggers, ensure we always have a selected option
|
|
1806
|
+
if (!initialSelected && this.trigger === 'chip' && this.optionEls.length > 0) {
|
|
1807
|
+
initialSelected = this.optionEls[0]; // Select first option as default
|
|
1808
|
+
this.value = initialSelected.value;
|
|
1809
|
+
this.displayText = this.getOptionLabel(initialSelected);
|
|
1810
|
+
console.warn('PDS Combobox: Chip triggers should always have a selected option. Automatically selected the first option.');
|
|
1811
|
+
}
|
|
1812
|
+
// Update selection if we found a different selected option or if we don't have one
|
|
1813
|
+
if (initialSelected && initialSelected !== this.selectedOption) {
|
|
1814
|
+
this.setSelectedOption(initialSelected);
|
|
1815
|
+
}
|
|
1816
|
+
else if (!this.selectedOption && initialSelected) {
|
|
1525
1817
|
this.setSelectedOption(initialSelected);
|
|
1526
1818
|
}
|
|
1527
1819
|
this.filterOptions();
|
|
@@ -1571,6 +1863,22 @@ const PdsCombobox = class {
|
|
|
1571
1863
|
isOptionLayout(option) {
|
|
1572
1864
|
return this.customOptionLayouts && option.hasAttribute('data-layout');
|
|
1573
1865
|
}
|
|
1866
|
+
// Helper method to check if option has chip attributes (new automatic approach)
|
|
1867
|
+
isOptionChip(option) {
|
|
1868
|
+
return option.hasAttribute('chip-sentiment') ||
|
|
1869
|
+
option.hasAttribute('chip-large') ||
|
|
1870
|
+
option.hasAttribute('chip-icon') ||
|
|
1871
|
+
option.hasAttribute('chip-dot');
|
|
1872
|
+
}
|
|
1873
|
+
// Helper method to get chip properties from option attributes
|
|
1874
|
+
getOptionChipProps(option) {
|
|
1875
|
+
return {
|
|
1876
|
+
sentiment: option.getAttribute('chip-sentiment') || 'neutral',
|
|
1877
|
+
large: option.hasAttribute('chip-large'),
|
|
1878
|
+
icon: option.getAttribute('chip-icon') || undefined,
|
|
1879
|
+
dot: option.hasAttribute('chip-dot')
|
|
1880
|
+
};
|
|
1881
|
+
}
|
|
1574
1882
|
// Helper method to check if option is selected (single source of truth)
|
|
1575
1883
|
isOptionSelected(option) {
|
|
1576
1884
|
return this.selectedOption === option;
|
|
@@ -1578,14 +1886,25 @@ const PdsCombobox = class {
|
|
|
1578
1886
|
// Helper method to set selected option (centralized state management)
|
|
1579
1887
|
setSelectedOption(option) {
|
|
1580
1888
|
this.selectedOption = option;
|
|
1889
|
+
// Immediately update chip properties for automatic rendering to ensure reactivity
|
|
1890
|
+
if (option && this.isOptionChip(option)) {
|
|
1891
|
+
this.selectedOptionChipProps = this.getOptionChipProps(option);
|
|
1892
|
+
}
|
|
1893
|
+
else {
|
|
1894
|
+
this.selectedOptionChipProps = null;
|
|
1895
|
+
}
|
|
1581
1896
|
}
|
|
1582
1897
|
filterOptions() {
|
|
1898
|
+
// Ensure allItems includes optionEls if not already populated (for edge cases)
|
|
1899
|
+
if (this.allItems.length === 0 && this.optionEls.length > 0) {
|
|
1900
|
+
this.allItems = [...this.optionEls];
|
|
1901
|
+
}
|
|
1583
1902
|
if (this.mode === 'select-only') {
|
|
1584
|
-
this.
|
|
1903
|
+
this.filteredItems = [...this.allItems];
|
|
1585
1904
|
}
|
|
1586
1905
|
else {
|
|
1587
|
-
const val = this.
|
|
1588
|
-
|
|
1906
|
+
const val = this.displayText.toLowerCase();
|
|
1907
|
+
const filteredOptions = this.optionEls.filter(option => {
|
|
1589
1908
|
// For layout options, search both text content and data-search-text attribute
|
|
1590
1909
|
if (this.isOptionLayout(option)) {
|
|
1591
1910
|
const searchText = option.getAttribute('data-search-text') || option.textContent || '';
|
|
@@ -1593,6 +1912,31 @@ const PdsCombobox = class {
|
|
|
1593
1912
|
}
|
|
1594
1913
|
return this.getOptionLabel(option).toLowerCase().includes(val);
|
|
1595
1914
|
});
|
|
1915
|
+
// Rebuild filtered items maintaining group structure - simplified approach
|
|
1916
|
+
this.filteredItems = [];
|
|
1917
|
+
let currentGroupLabel = null;
|
|
1918
|
+
this.allItems.forEach(item => {
|
|
1919
|
+
if (item.tagName === 'OPTGROUP' || item.tagName === 'PDS-TEXT') {
|
|
1920
|
+
currentGroupLabel = item;
|
|
1921
|
+
}
|
|
1922
|
+
else if (item.tagName === 'OPTION' && filteredOptions.includes(item)) {
|
|
1923
|
+
const optionEl = item;
|
|
1924
|
+
const parent = optionEl.parentElement;
|
|
1925
|
+
let labelToUse = null;
|
|
1926
|
+
if (parent && parent.tagName === 'OPTGROUP') {
|
|
1927
|
+
// Only use the actual parent optgroup as label
|
|
1928
|
+
labelToUse = parent;
|
|
1929
|
+
}
|
|
1930
|
+
else if (currentGroupLabel && currentGroupLabel.tagName === 'PDS-TEXT') {
|
|
1931
|
+
// Allow pds-text to label subsequent top-level options until another label appears
|
|
1932
|
+
labelToUse = currentGroupLabel;
|
|
1933
|
+
}
|
|
1934
|
+
if (labelToUse && !this.filteredItems.includes(labelToUse)) {
|
|
1935
|
+
this.filteredItems.push(labelToUse);
|
|
1936
|
+
}
|
|
1937
|
+
this.filteredItems.push(optionEl);
|
|
1938
|
+
}
|
|
1939
|
+
});
|
|
1596
1940
|
}
|
|
1597
1941
|
this.highlightedIndex = -1;
|
|
1598
1942
|
}
|
|
@@ -1613,7 +1957,7 @@ const PdsCombobox = class {
|
|
|
1613
1957
|
left: `${x}px`,
|
|
1614
1958
|
top: `${y}px`,
|
|
1615
1959
|
position: 'absolute',
|
|
1616
|
-
zIndex:
|
|
1960
|
+
zIndex: 'var(--pine-z-index-raised)',
|
|
1617
1961
|
});
|
|
1618
1962
|
});
|
|
1619
1963
|
}
|
|
@@ -1623,7 +1967,130 @@ const PdsCombobox = class {
|
|
|
1623
1967
|
*/
|
|
1624
1968
|
async setFocus() {
|
|
1625
1969
|
var _a;
|
|
1626
|
-
(
|
|
1970
|
+
if (this.inputEl) {
|
|
1971
|
+
this.inputEl.focus();
|
|
1972
|
+
}
|
|
1973
|
+
else {
|
|
1974
|
+
(_a = this.triggerEl) === null || _a === void 0 ? void 0 : _a.focus();
|
|
1975
|
+
}
|
|
1976
|
+
}
|
|
1977
|
+
/**
|
|
1978
|
+
* Sets the initial highlighted index when dropdown opens.
|
|
1979
|
+
* If there's a selected option, highlight it. Otherwise, highlight the first option.
|
|
1980
|
+
*/
|
|
1981
|
+
setInitialHighlightedIndex() {
|
|
1982
|
+
const selectableOptions = this.filteredItems.filter(item => item.tagName === 'OPTION');
|
|
1983
|
+
if (selectableOptions.length === 0) {
|
|
1984
|
+
this.highlightedIndex = -1;
|
|
1985
|
+
return;
|
|
1986
|
+
}
|
|
1987
|
+
// If there's a selected option, find its index in the filtered options
|
|
1988
|
+
if (this.selectedOption) {
|
|
1989
|
+
const selectedIndex = selectableOptions.findIndex(option => option === this.selectedOption);
|
|
1990
|
+
if (selectedIndex >= 0) {
|
|
1991
|
+
this.highlightedIndex = selectedIndex;
|
|
1992
|
+
return;
|
|
1993
|
+
}
|
|
1994
|
+
}
|
|
1995
|
+
// No selected option or selected option not in filtered results, highlight first option
|
|
1996
|
+
this.highlightedIndex = 0;
|
|
1997
|
+
}
|
|
1998
|
+
/**
|
|
1999
|
+
* Focus management helper - moves focus to the first option when dropdown opens
|
|
2000
|
+
*/
|
|
2001
|
+
focusFirstOption() {
|
|
2002
|
+
if (this.isOpen) {
|
|
2003
|
+
const selectableOptions = this.filteredItems.filter(item => item.tagName === 'OPTION');
|
|
2004
|
+
if (selectableOptions.length > 0) {
|
|
2005
|
+
this.setInitialHighlightedIndex();
|
|
2006
|
+
// DON'T focus the option elements - keep focus on trigger and use aria-activedescendant
|
|
2007
|
+
// This prevents the focusout event that was closing the dropdown
|
|
2008
|
+
// But still call updateOptionFocus for scrolling
|
|
2009
|
+
if (this.listboxEl) {
|
|
2010
|
+
this.updateOptionFocus();
|
|
2011
|
+
}
|
|
2012
|
+
}
|
|
2013
|
+
}
|
|
2014
|
+
}
|
|
2015
|
+
/**
|
|
2016
|
+
* Focus management helper - actually focuses the first option when opened via arrow keys
|
|
2017
|
+
*/
|
|
2018
|
+
focusFirstOptionForArrowKeys() {
|
|
2019
|
+
if (this.isOpen) {
|
|
2020
|
+
// Set arrow-key navigation mode
|
|
2021
|
+
this.isArrowKeyNavigationMode = true;
|
|
2022
|
+
const selectableOptions = this.filteredItems.filter(item => item.tagName === 'OPTION');
|
|
2023
|
+
if (selectableOptions.length > 0) {
|
|
2024
|
+
this.setInitialHighlightedIndex();
|
|
2025
|
+
// For arrow key navigation, actually focus the highlighted option
|
|
2026
|
+
if (this.listboxEl) {
|
|
2027
|
+
const optionElements = this.listboxEl.querySelectorAll('[role="option"]');
|
|
2028
|
+
const highlightedOption = optionElements[this.highlightedIndex];
|
|
2029
|
+
if (highlightedOption) {
|
|
2030
|
+
// Remove tabindex from all options first
|
|
2031
|
+
optionElements.forEach(option => {
|
|
2032
|
+
option.setAttribute('tabindex', '-1');
|
|
2033
|
+
});
|
|
2034
|
+
// Set tabindex and focus on highlighted option
|
|
2035
|
+
highlightedOption.setAttribute('tabindex', '0');
|
|
2036
|
+
highlightedOption.focus();
|
|
2037
|
+
highlightedOption.scrollIntoView({ block: 'nearest', behavior: 'smooth' });
|
|
2038
|
+
}
|
|
2039
|
+
}
|
|
2040
|
+
// Update aria-activedescendant on trigger
|
|
2041
|
+
this.updateAriaActiveDescendant();
|
|
2042
|
+
}
|
|
2043
|
+
}
|
|
2044
|
+
}
|
|
2045
|
+
/**
|
|
2046
|
+
* Focus management helper - updates visual state and scrolling for the currently highlighted option
|
|
2047
|
+
* Note: We don't actually focus the option to prevent focusout events that close the dropdown
|
|
2048
|
+
*/
|
|
2049
|
+
updateOptionFocus() {
|
|
2050
|
+
if (!this.listboxEl || this.highlightedIndex < 0)
|
|
2051
|
+
return;
|
|
2052
|
+
const optionElements = this.listboxEl.querySelectorAll('[role="option"]');
|
|
2053
|
+
const currentOption = optionElements[this.highlightedIndex];
|
|
2054
|
+
if (currentOption) {
|
|
2055
|
+
// Check if any option currently has focus OR if we're in arrow-key navigation mode
|
|
2056
|
+
const hasOptionFocus = Array.from(optionElements).some(el => el === document.activeElement);
|
|
2057
|
+
if (hasOptionFocus || this.isArrowKeyNavigationMode) {
|
|
2058
|
+
// We're in arrow-key navigation mode, so actually move focus between options
|
|
2059
|
+
optionElements.forEach(option => {
|
|
2060
|
+
option.setAttribute('tabindex', '-1');
|
|
2061
|
+
});
|
|
2062
|
+
currentOption.setAttribute('tabindex', '0');
|
|
2063
|
+
currentOption.focus();
|
|
2064
|
+
}
|
|
2065
|
+
// Always scroll the option into view
|
|
2066
|
+
currentOption.scrollIntoView({ block: 'nearest', behavior: 'smooth' });
|
|
2067
|
+
}
|
|
2068
|
+
// Always update aria-activedescendant on the trigger element
|
|
2069
|
+
this.updateAriaActiveDescendant();
|
|
2070
|
+
}
|
|
2071
|
+
/**
|
|
2072
|
+
* Updates aria-activedescendant on the trigger element
|
|
2073
|
+
*/
|
|
2074
|
+
updateAriaActiveDescendant() {
|
|
2075
|
+
if (this.triggerEl && this.highlightedIndex >= 0) {
|
|
2076
|
+
this.triggerEl.setAttribute('aria-activedescendant', `pds-combobox-option-${this.highlightedIndex}`);
|
|
2077
|
+
}
|
|
2078
|
+
else if (this.triggerEl) {
|
|
2079
|
+
this.triggerEl.removeAttribute('aria-activedescendant');
|
|
2080
|
+
}
|
|
2081
|
+
}
|
|
2082
|
+
/**
|
|
2083
|
+
* Focus management helper - restores focus to the trigger element
|
|
2084
|
+
*/
|
|
2085
|
+
restoreFocusToTrigger() {
|
|
2086
|
+
setTimeout(() => {
|
|
2087
|
+
if (this.inputEl) {
|
|
2088
|
+
this.inputEl.focus();
|
|
2089
|
+
}
|
|
2090
|
+
else if (this.triggerEl) {
|
|
2091
|
+
this.triggerEl.focus();
|
|
2092
|
+
}
|
|
2093
|
+
}, 0);
|
|
1627
2094
|
}
|
|
1628
2095
|
/**
|
|
1629
2096
|
* Gets the value of the currently selected option.
|
|
@@ -1633,7 +2100,7 @@ const PdsCombobox = class {
|
|
|
1633
2100
|
}
|
|
1634
2101
|
// Get the label of the selected option
|
|
1635
2102
|
get selectedLabel() {
|
|
1636
|
-
return this.
|
|
2103
|
+
return this.displayText || '';
|
|
1637
2104
|
}
|
|
1638
2105
|
// Get the layout content of the selected option for button trigger
|
|
1639
2106
|
get selectedLayoutContent() {
|
|
@@ -1643,30 +2110,148 @@ const PdsCombobox = class {
|
|
|
1643
2110
|
get selectedHasLayout() {
|
|
1644
2111
|
return this.selectedOption ? this.isOptionLayout(this.selectedOption) : false;
|
|
1645
2112
|
}
|
|
2113
|
+
// Extract chip sentiment from selected option's attributes, layout content, or slotted trigger content
|
|
2114
|
+
get selectedChipSentiment() {
|
|
2115
|
+
// First priority: Check selected option's chip attributes (new automatic approach)
|
|
2116
|
+
if (this.selectedOption && this.isOptionChip(this.selectedOption)) {
|
|
2117
|
+
const sentiment = this.selectedOption.getAttribute('chip-sentiment');
|
|
2118
|
+
if (sentiment)
|
|
2119
|
+
return sentiment;
|
|
2120
|
+
}
|
|
2121
|
+
// Second priority: Check selected option's layout content (existing custom layout approach)
|
|
2122
|
+
if (this.selectedOption && this.isOptionLayout(this.selectedOption)) {
|
|
2123
|
+
const chipElement = this.selectedOption.querySelector('pds-chip');
|
|
2124
|
+
const sentiment = chipElement === null || chipElement === void 0 ? void 0 : chipElement.getAttribute('sentiment');
|
|
2125
|
+
if (sentiment)
|
|
2126
|
+
return sentiment;
|
|
2127
|
+
}
|
|
2128
|
+
// Third priority: Check if we have custom trigger content with a chip (initial state)
|
|
2129
|
+
if (this.customTriggerContent) {
|
|
2130
|
+
const slottedChip = this.el.querySelector('pds-chip[slot="trigger-content"]');
|
|
2131
|
+
if (slottedChip) {
|
|
2132
|
+
const sentiment = slottedChip.getAttribute('sentiment');
|
|
2133
|
+
if (sentiment)
|
|
2134
|
+
return sentiment;
|
|
2135
|
+
}
|
|
2136
|
+
}
|
|
2137
|
+
// Fallback: Use component props
|
|
2138
|
+
return this.chipSentiment;
|
|
2139
|
+
}
|
|
2140
|
+
// Extract chip large from selected option's attributes, layout content, or slotted trigger content
|
|
2141
|
+
get selectedChipLarge() {
|
|
2142
|
+
// First priority: Check selected option's chip attributes (new automatic approach)
|
|
2143
|
+
if (this.selectedOption && this.isOptionChip(this.selectedOption)) {
|
|
2144
|
+
if (this.selectedOption.hasAttribute('chip-large'))
|
|
2145
|
+
return true;
|
|
2146
|
+
}
|
|
2147
|
+
// Second priority: Check selected option's layout content (existing custom layout approach)
|
|
2148
|
+
if (this.selectedOption && this.isOptionLayout(this.selectedOption)) {
|
|
2149
|
+
const chipElement = this.selectedOption.querySelector('pds-chip');
|
|
2150
|
+
if (chipElement === null || chipElement === void 0 ? void 0 : chipElement.hasAttribute('large'))
|
|
2151
|
+
return true;
|
|
2152
|
+
}
|
|
2153
|
+
// Third priority: Check if we have custom trigger content with a chip (initial state)
|
|
2154
|
+
if (this.customTriggerContent) {
|
|
2155
|
+
const slottedChip = this.el.querySelector('pds-chip[slot="trigger-content"]');
|
|
2156
|
+
if (slottedChip && slottedChip.hasAttribute('large')) {
|
|
2157
|
+
return true;
|
|
2158
|
+
}
|
|
2159
|
+
}
|
|
2160
|
+
// Fallback: Use component props
|
|
2161
|
+
return this.chipLarge;
|
|
2162
|
+
}
|
|
2163
|
+
// Extract chip icon from selected option's attributes, layout content, or slotted trigger content
|
|
2164
|
+
get selectedChipIcon() {
|
|
2165
|
+
// First priority: Check selected option's chip attributes (new automatic approach)
|
|
2166
|
+
if (this.selectedOption && this.isOptionChip(this.selectedOption)) {
|
|
2167
|
+
const icon = this.selectedOption.getAttribute('chip-icon');
|
|
2168
|
+
if (icon)
|
|
2169
|
+
return icon;
|
|
2170
|
+
}
|
|
2171
|
+
// Second priority: Check selected option's layout content (existing custom layout approach)
|
|
2172
|
+
if (this.selectedOption && this.isOptionLayout(this.selectedOption)) {
|
|
2173
|
+
const chipElement = this.selectedOption.querySelector('pds-chip');
|
|
2174
|
+
const icon = chipElement === null || chipElement === void 0 ? void 0 : chipElement.getAttribute('icon');
|
|
2175
|
+
if (icon)
|
|
2176
|
+
return icon;
|
|
2177
|
+
}
|
|
2178
|
+
// Third priority: Check if we have custom trigger content with a chip (initial state)
|
|
2179
|
+
if (this.customTriggerContent) {
|
|
2180
|
+
const slottedChip = this.el.querySelector('pds-chip[slot="trigger-content"]');
|
|
2181
|
+
if (slottedChip) {
|
|
2182
|
+
const icon = slottedChip.getAttribute('icon');
|
|
2183
|
+
if (icon)
|
|
2184
|
+
return icon;
|
|
2185
|
+
}
|
|
2186
|
+
}
|
|
2187
|
+
// Fallback: Use component props
|
|
2188
|
+
return this.chipIcon;
|
|
2189
|
+
}
|
|
2190
|
+
// Extract chip dot from selected option's attributes, layout content, or slotted trigger content
|
|
2191
|
+
get selectedChipDot() {
|
|
2192
|
+
// First priority: Check selected option's chip attributes (new automatic approach)
|
|
2193
|
+
if (this.selectedOption && this.isOptionChip(this.selectedOption)) {
|
|
2194
|
+
if (this.selectedOption.hasAttribute('chip-dot'))
|
|
2195
|
+
return true;
|
|
2196
|
+
}
|
|
2197
|
+
// Second priority: Check selected option's layout content (existing custom layout approach)
|
|
2198
|
+
if (this.selectedOption && this.isOptionLayout(this.selectedOption)) {
|
|
2199
|
+
const chipElement = this.selectedOption.querySelector('pds-chip');
|
|
2200
|
+
if (chipElement === null || chipElement === void 0 ? void 0 : chipElement.hasAttribute('dot'))
|
|
2201
|
+
return true;
|
|
2202
|
+
}
|
|
2203
|
+
// Third priority: Check if we have custom trigger content with a chip (initial state)
|
|
2204
|
+
if (this.customTriggerContent) {
|
|
2205
|
+
const slottedChip = this.el.querySelector('pds-chip[slot="trigger-content"]');
|
|
2206
|
+
if (slottedChip && slottedChip.hasAttribute('dot')) {
|
|
2207
|
+
return true;
|
|
2208
|
+
}
|
|
2209
|
+
}
|
|
2210
|
+
// Fallback: Use component props
|
|
2211
|
+
return this.chipDot;
|
|
2212
|
+
}
|
|
1646
2213
|
handleOptionClick(option) {
|
|
1647
2214
|
// Update reactive state - single source of truth
|
|
2215
|
+
// The @Watch('selectedOption') will handle displayText, value, and form internals
|
|
1648
2216
|
this.setSelectedOption(option);
|
|
1649
|
-
this.value = this.getOptionLabel(option);
|
|
1650
2217
|
this.isOpen = false;
|
|
1651
2218
|
this.pdsComboboxChange.emit({ value: option.value });
|
|
1652
2219
|
}
|
|
1653
2220
|
renderDropdown() {
|
|
1654
|
-
if (!this.isOpen || this.
|
|
2221
|
+
if (!this.isOpen || this.filteredItems.length === 0) {
|
|
2222
|
+
return null;
|
|
2223
|
+
}
|
|
2224
|
+
let optionIndex = 0;
|
|
2225
|
+
const selectableOptions = this.filteredItems.filter(item => item.tagName === 'OPTION');
|
|
2226
|
+
return (index.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) => {
|
|
2227
|
+
if (item.tagName === 'OPTGROUP') {
|
|
2228
|
+
const optgroup = item;
|
|
2229
|
+
return (index.h("li", { key: `optgroup-${itemIdx}`, class: "pds-combobox__group-label", role: "presentation", "aria-label": optgroup.label }, optgroup.label));
|
|
2230
|
+
}
|
|
2231
|
+
else if (item.tagName === 'PDS-TEXT') {
|
|
2232
|
+
const pdsText = item;
|
|
2233
|
+
return (index.h("li", { key: `pds-text-${itemIdx}`, class: "pds-combobox__group-label", role: "presentation" }, pdsText.textContent));
|
|
2234
|
+
}
|
|
2235
|
+
else if (item.tagName === 'OPTION') {
|
|
2236
|
+
const option = item;
|
|
2237
|
+
const isSelected = this.isOptionSelected(option);
|
|
2238
|
+
const isHighlighted = this.highlightedIndex === optionIndex;
|
|
2239
|
+
const isLayout = this.isOptionLayout(option);
|
|
2240
|
+
const isChip = this.isOptionChip(option);
|
|
2241
|
+
const currentOptionIndex = optionIndex++;
|
|
2242
|
+
return (index.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: {
|
|
2243
|
+
'pds-combobox__option': true,
|
|
2244
|
+
'pds-combobox__option--highlighted': isHighlighted,
|
|
2245
|
+
'pds-combobox__option--layout': isLayout,
|
|
2246
|
+
'pds-combobox__option--chip': isChip,
|
|
2247
|
+
}, "data-option-index": currentOptionIndex, onMouseDown: this.onOptionMouseDown, onClick: this.onOptionClick, onMouseEnter: this.onOptionMouseEnter, onKeyDown: this.onOptionKeyDown }, isLayout ? (index.h("pds-box", { class: "pds-combobox__option-layout-wrapper", innerHTML: this.getOptionLayoutContent(option) })) : isChip ? (this.renderOptionChip(option)) : (this.getOptionLabel(option)), isSelected && index.h("pds-icon", { icon: "check", size: "regular", class: "pds-combobox__option-check" })));
|
|
2248
|
+
}
|
|
1655
2249
|
return null;
|
|
1656
|
-
return (index.h("ul", { class: "pds-combobox__listbox", role: "listbox", id: "pds-combobox-listbox", ref: el => (this.listboxEl = el) }, this.filteredOptions.map((option, idx) => {
|
|
1657
|
-
const isSelected = this.isOptionSelected(option);
|
|
1658
|
-
const isHighlighted = this.highlightedIndex === idx;
|
|
1659
|
-
const isLayout = this.isOptionLayout(option);
|
|
1660
|
-
return (index.h("li", { key: option.value, id: `pds-combobox-option-${idx}`, role: "option", "aria-selected": isSelected ? 'true' : 'false', class: {
|
|
1661
|
-
'pds-combobox__option': true,
|
|
1662
|
-
'pds-combobox__option--highlighted': isHighlighted,
|
|
1663
|
-
'pds-combobox__option--layout': isLayout,
|
|
1664
|
-
}, "data-option-index": idx, onMouseDown: this.onOptionMouseDown, onClick: this.onOptionClick, onMouseEnter: this.onOptionMouseEnter }, isLayout ? (index.h("pds-box", { class: "pds-combobox__option-layout-wrapper", innerHTML: this.getOptionLayoutContent(option) })) : (this.getOptionLabel(option)), isSelected && index.h("pds-icon", { icon: "check", size: "regular", class: "pds-combobox__option-check" })));
|
|
1665
2250
|
})));
|
|
1666
2251
|
}
|
|
1667
2252
|
// Helper method to render the caret icon
|
|
1668
2253
|
renderCaretIcon() {
|
|
1669
|
-
return index.h("pds-icon", { icon: "caret-down", "aria-hidden": "true",
|
|
2254
|
+
return index.h("pds-icon", { icon: "caret-down", "aria-hidden": "true", class: "pds-combobox__button-trigger-chevron" });
|
|
1670
2255
|
}
|
|
1671
2256
|
// Helper method to render layout content
|
|
1672
2257
|
renderLayoutContent() {
|
|
@@ -1680,6 +2265,23 @@ const PdsCombobox = class {
|
|
|
1680
2265
|
shouldShowLayoutContent() {
|
|
1681
2266
|
return this.selectedHasLayout && !!this.selectedLayoutContent;
|
|
1682
2267
|
}
|
|
2268
|
+
// Helper method to build chip trigger CSS classes
|
|
2269
|
+
getChipTriggerClass() {
|
|
2270
|
+
const classes = ['pds-combobox__chip-trigger'];
|
|
2271
|
+
// Add sentiment class
|
|
2272
|
+
classes.push(`pds-combobox__chip-trigger--${this.selectedChipSentiment}`);
|
|
2273
|
+
// Always use dropdown variant for chip triggers
|
|
2274
|
+
classes.push('pds-combobox__chip-trigger--dropdown');
|
|
2275
|
+
// Add large class if needed
|
|
2276
|
+
if (this.selectedChipLarge) {
|
|
2277
|
+
classes.push('pds-combobox__chip-trigger--large');
|
|
2278
|
+
}
|
|
2279
|
+
// Add dot class if needed
|
|
2280
|
+
if (this.selectedChipDot) {
|
|
2281
|
+
classes.push('pds-combobox__chip-trigger--dot');
|
|
2282
|
+
}
|
|
2283
|
+
return classes.join(' ');
|
|
2284
|
+
}
|
|
1683
2285
|
renderButtonTriggerContent() {
|
|
1684
2286
|
// Case 1: Custom trigger content with layout priority
|
|
1685
2287
|
if (this.customTriggerContent) {
|
|
@@ -1696,13 +2298,79 @@ const PdsCombobox = class {
|
|
|
1696
2298
|
// Case 3: Standard mode with default text content
|
|
1697
2299
|
return [this.renderDefaultContent(), this.renderCaretIcon()];
|
|
1698
2300
|
}
|
|
2301
|
+
renderChipTriggerContent() {
|
|
2302
|
+
// Case 1: Custom trigger content with layout priority
|
|
2303
|
+
if (this.customTriggerContent) {
|
|
2304
|
+
if (this.shouldShowLayoutContent()) {
|
|
2305
|
+
// When using custom layouts, the chip handles its own dropdown arrow
|
|
2306
|
+
return this.renderChipTriggerLayoutContent();
|
|
2307
|
+
}
|
|
2308
|
+
// Fall back to slot content when no layout is available - chip handles its own dropdown arrow
|
|
2309
|
+
return index.h("slot", { name: "trigger-content" });
|
|
2310
|
+
}
|
|
2311
|
+
// Case 2: Standard mode with layout content
|
|
2312
|
+
if (this.shouldShowLayoutContent()) {
|
|
2313
|
+
// When using custom layouts, the chip handles its own dropdown arrow
|
|
2314
|
+
return this.renderChipTriggerLayoutContent();
|
|
2315
|
+
}
|
|
2316
|
+
// Case 3: Automatic chip mode - selected option has chip attributes
|
|
2317
|
+
if (this.selectedOption && this.selectedOptionChipProps) {
|
|
2318
|
+
// Render as chip automatically - chip handles its own dropdown arrow
|
|
2319
|
+
return this.renderSelectedOptionAsChip();
|
|
2320
|
+
}
|
|
2321
|
+
// Case 4: Standard mode with default text content
|
|
2322
|
+
return [
|
|
2323
|
+
this.renderChipTriggerDefaultContent(),
|
|
2324
|
+
this.renderCaretIcon()
|
|
2325
|
+
];
|
|
2326
|
+
}
|
|
2327
|
+
// Helper method to render selected option as chip for trigger (automatic approach)
|
|
2328
|
+
renderSelectedOptionAsChip() {
|
|
2329
|
+
if (!this.selectedOption || !this.selectedOptionChipProps)
|
|
2330
|
+
return null;
|
|
2331
|
+
return (index.h("pds-chip", { sentiment: this.selectedOptionChipProps.sentiment, variant: "dropdown" // Always use dropdown variant for triggers
|
|
2332
|
+
,
|
|
2333
|
+
large: this.selectedOptionChipProps.large, icon: this.selectedOptionChipProps.icon, dot: this.selectedOptionChipProps.dot, class: "pds-combobox__chip-trigger-auto" }, this.getOptionLabel(this.selectedOption)));
|
|
2334
|
+
}
|
|
2335
|
+
// Helper method to render chip trigger layout content
|
|
2336
|
+
renderChipTriggerLayoutContent() {
|
|
2337
|
+
return (index.h("div", { class: "pds-combobox__chip-trigger-layout-wrapper", innerHTML: this.getModifiedLayoutContentForTrigger() }));
|
|
2338
|
+
}
|
|
2339
|
+
// Helper method to modify layout content for trigger use (ensure dropdown variant)
|
|
2340
|
+
getModifiedLayoutContentForTrigger() {
|
|
2341
|
+
let content = this.selectedLayoutContent;
|
|
2342
|
+
// If the content contains a pds-chip, ensure it has variant="dropdown"
|
|
2343
|
+
if (content.includes('<pds-chip')) {
|
|
2344
|
+
// Use a temporary div to parse and modify the HTML
|
|
2345
|
+
const tempDiv = document.createElement('div');
|
|
2346
|
+
tempDiv.innerHTML = content;
|
|
2347
|
+
const chipElement = tempDiv.querySelector('pds-chip');
|
|
2348
|
+
if (chipElement) {
|
|
2349
|
+
chipElement.setAttribute('variant', 'dropdown');
|
|
2350
|
+
content = tempDiv.innerHTML;
|
|
2351
|
+
}
|
|
2352
|
+
}
|
|
2353
|
+
return content;
|
|
2354
|
+
}
|
|
2355
|
+
// Helper method to render chip trigger default content
|
|
2356
|
+
renderChipTriggerDefaultContent() {
|
|
2357
|
+
return (index.h("span", { class: "pds-combobox__chip-trigger-label" }, this.selectedChipIcon && index.h("pds-icon", { icon: this.selectedChipIcon, class: "pds-combobox__chip-trigger-icon" }), this.selectedLabel || this.placeholder));
|
|
2358
|
+
}
|
|
2359
|
+
// Helper method to render option as chip (new automatic approach)
|
|
2360
|
+
renderOptionChip(option) {
|
|
2361
|
+
const chipProps = this.getOptionChipProps(option);
|
|
2362
|
+
return (index.h("pds-chip", { sentiment: chipProps.sentiment, variant: "text" // Dropdown options use text variant, not dropdown
|
|
2363
|
+
,
|
|
2364
|
+
large: chipProps.large, icon: chipProps.icon, dot: chipProps.dot, class: "pds-combobox__option-chip" }, this.getOptionLabel(option)));
|
|
2365
|
+
}
|
|
1699
2366
|
render() {
|
|
1700
2367
|
const triggerClass = `pds-combobox__button-trigger pds-combobox__button-trigger--${this.triggerVariant}`;
|
|
1701
|
-
return (index.h(index.Host, { key: '
|
|
2368
|
+
return (index.h(index.Host, { key: 'd62992abd6eae05cfff52cfc0272490ca6370291' }, index.h("div", { key: 'affff971535065b7352daee494742bf7b65a61f4', class: "pds-combobox", tabIndex: -1, onFocusout: this.onComboboxFocusOut }, this.label && (index.h("label", { key: 'c27f88928932bc4535698cb88595b1559cb22e55', htmlFor: this.componentId, class: "pds-combobox__label" }, index.h("span", { key: '0b65e67897735819cb2a4dc7d6d7d355af2f28d5', class: this.hideLabel ? 'visually-hidden' : '' }, this.label))), this.trigger === 'input' ? (index.h("div", { class: "pds-combobox__input-wrapper", style: { width: this.triggerWidth } }, index.h("input", { ref: el => {
|
|
1702
2369
|
this.inputEl = el;
|
|
1703
2370
|
this.triggerEl = el;
|
|
1704
|
-
}, class: "pds-combobox__input",
|
|
2371
|
+
}, 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" }), index.h("pds-icon", { icon: "enlarge", "aria-hidden": "true", class: "pds-combobox__input-icon" }))) : this.trigger === 'chip' ? (index.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())) : (index.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())), index.h("div", { key: '47c259c2bc5b6f4f1d249d9bddd476b11c5a90fe', style: { display: 'none' } }, index.h("slot", { key: '83355a804fe978b6fb58838b4174bc815cf2f933', onSlotchange: () => this.updateOptions() })), this.renderDropdown())));
|
|
1705
2372
|
}
|
|
2373
|
+
static get formAssociated() { return true; }
|
|
1706
2374
|
get el() { return index.getElement(this); }
|
|
1707
2375
|
static get watchers() { return {
|
|
1708
2376
|
"value": ["handleValueChange"],
|