@pine-ds/core 4.4.4 → 4.6.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/attributes.js +1 -1
- package/components/index.js +1 -1
- package/components/mock-pds-modal.js +1 -1
- package/components/pds-combobox.js +1 -1
- package/components/pds-container.js +1 -1
- package/components/pds-copytext.js +1 -1
- package/components/pds-datepicker.js +1 -1
- package/components/pds-divider.js +1 -1
- package/components/pds-drawer-content.js +1 -1
- package/components/pds-drawer-footer.js +1 -1
- package/components/pds-drawer-header.js +1 -1
- package/components/pds-drawer.js +1 -1
- package/components/pds-dropdown-menu-item.js +1 -1
- package/components/pds-dropdown-menu-separator.js +1 -1
- package/components/pds-dropdown-menu.js +1 -1
- package/components/pds-filter.js +1 -1
- package/components/pds-filters.js +1 -1
- package/components/pds-icon2.js +1 -1
- package/components/pds-image.js +1 -1
- package/components/pds-input2.js +1 -1
- package/components/pds-link2.js +1 -1
- package/components/pds-loader2.js +1 -1
- package/components/pds-modal-content.js +1 -1
- package/components/pds-modal-footer.js +1 -1
- package/components/pds-modal-header.js +1 -1
- package/components/pds-modal2.js +1 -1
- package/components/pds-multiselect.js +1 -1
- package/components/pds-popover.js +1 -1
- package/components/pds-progress.js +1 -1
- package/components/pds-property.js +1 -1
- package/components/pds-radio-group.js +1 -1
- package/components/pds-radio.js +1 -1
- package/components/pds-row.js +1 -1
- package/components/pds-select.js +1 -1
- package/components/pds-sortable-item.js +1 -1
- package/components/pds-sortable.js +1 -1
- package/components/pds-switch.js +1 -1
- package/components/pds-tab.js +1 -1
- package/components/pds-table-body.js +1 -1
- package/components/pds-table-cell2.js +1 -1
- package/components/pds-table-head-cell2.js +1 -1
- package/components/pds-table-head.js +1 -1
- package/components/pds-table-row.js +1 -1
- package/components/pds-tabpanel.js +1 -1
- package/components/pds-tabs.js +1 -1
- package/components/pds-text2.js +1 -1
- package/components/pds-textarea.js +1 -1
- package/components/pds-toast.js +1 -1
- package/components/pds-tooltip.js +1 -1
- package/dist/cjs/{attributes-DrQqSEv4.js → attributes-BJ7KBHql.js} +22 -25
- package/dist/cjs/{index-D-QQKB0y.js → index-5Azb8EQG.js} +1 -1
- package/dist/cjs/{index-D8Gl0bIB.js → index-jl_Q819j.js} +10 -1
- package/dist/cjs/index.cjs.js +3 -0
- package/dist/cjs/keep-hydrated-CiXgkEYd.js +196 -0
- package/dist/cjs/loader.cjs.js +3 -2
- package/dist/cjs/mock-pds-modal.cjs.entry.js +3 -2
- package/dist/cjs/pds-accordion.cjs.entry.js +3 -2
- package/dist/cjs/pds-alert.cjs.entry.js +2 -1
- package/dist/cjs/pds-avatar.cjs.entry.js +3 -2
- package/dist/cjs/pds-box.cjs.entry.js +3 -2
- package/dist/cjs/pds-button.cjs.entry.js +3 -2
- package/dist/cjs/pds-checkbox.cjs.entry.js +4 -3
- package/dist/cjs/pds-chip.cjs.entry.js +4 -3
- package/dist/cjs/pds-combobox.cjs.entry.js +156 -26
- package/dist/cjs/pds-container.cjs.entry.js +3 -2
- package/dist/cjs/pds-copytext.cjs.entry.js +5 -4
- package/dist/cjs/pds-datepicker.cjs.entry.js +6 -5
- package/dist/cjs/pds-divider.cjs.entry.js +3 -2
- package/dist/cjs/pds-drawer-content.cjs.entry.js +3 -2
- package/dist/cjs/pds-drawer-footer.cjs.entry.js +3 -2
- package/dist/cjs/pds-drawer-header.cjs.entry.js +3 -2
- package/dist/cjs/pds-drawer.cjs.entry.js +4 -3
- package/dist/cjs/pds-dropdown-menu-item.cjs.entry.js +3 -2
- package/dist/cjs/pds-dropdown-menu-separator.cjs.entry.js +3 -2
- package/dist/cjs/pds-dropdown-menu.cjs.entry.js +16 -7
- package/dist/cjs/pds-filter.cjs.entry.js +4 -3
- package/dist/cjs/pds-filters.cjs.entry.js +3 -2
- package/dist/cjs/pds-icon.cjs.entry.js +27 -3
- package/dist/cjs/pds-image.cjs.entry.js +4 -3
- package/dist/cjs/pds-input.cjs.entry.js +6 -5
- package/dist/cjs/pds-link.cjs.entry.js +5 -4
- package/dist/cjs/pds-loader.cjs.entry.js +4 -3
- package/dist/cjs/pds-modal-content.cjs.entry.js +4 -3
- package/dist/cjs/pds-modal-footer.cjs.entry.js +3 -2
- package/dist/cjs/pds-modal-header.cjs.entry.js +3 -2
- package/dist/cjs/pds-modal.cjs.entry.js +5 -4
- package/dist/cjs/pds-multiselect.cjs.entry.js +6 -5
- package/dist/cjs/pds-popover.cjs.entry.js +58 -11
- package/dist/cjs/pds-progress.cjs.entry.js +4 -3
- package/dist/cjs/pds-property.cjs.entry.js +3 -2
- package/dist/cjs/pds-radio-group.cjs.entry.js +6 -5
- package/dist/cjs/pds-radio.cjs.entry.js +7 -6
- package/dist/cjs/pds-row.cjs.entry.js +4 -3
- package/dist/cjs/pds-select.cjs.entry.js +5 -4
- package/dist/cjs/pds-sortable-item.cjs.entry.js +5 -4
- package/dist/cjs/pds-sortable.cjs.entry.js +4 -3
- package/dist/cjs/pds-switch.cjs.entry.js +7 -6
- package/dist/cjs/pds-tab.cjs.entry.js +13 -1
- package/dist/cjs/pds-table-body.cjs.entry.js +3 -2
- package/dist/cjs/pds-table-cell.cjs.entry.js +4 -3
- package/dist/cjs/pds-table-head-cell.cjs.entry.js +5 -4
- package/dist/cjs/pds-table-head.cjs.entry.js +3 -2
- package/dist/cjs/pds-table-row.cjs.entry.js +3 -2
- package/dist/cjs/pds-table.cjs.entry.js +2 -1
- package/dist/cjs/pds-tabpanel.cjs.entry.js +15 -2
- package/dist/cjs/pds-tabs.cjs.entry.js +111 -6
- package/dist/cjs/pds-text.cjs.entry.js +3 -2
- package/dist/cjs/pds-textarea.cjs.entry.js +8 -7
- package/dist/cjs/pds-toast.cjs.entry.js +5 -4
- package/dist/cjs/pds-tooltip.cjs.entry.js +4 -3
- package/dist/cjs/pine-core.cjs.js +3 -2
- package/dist/collection/collection-manifest.json +2 -1
- package/dist/collection/components/pds-combobox/grouped-options-panel.js +21 -3
- package/dist/collection/components/pds-combobox/pds-combobox.css +42 -13
- package/dist/collection/components/pds-combobox/pds-combobox.js +135 -22
- package/dist/collection/components/pds-combobox/stories/pds-combobox.stories.js +45 -0
- package/dist/collection/components/pds-container/pds-container.js +1 -1
- package/dist/collection/components/pds-copytext/pds-copytext.js +1 -1
- package/dist/collection/components/pds-datepicker/pds-datepicker.css +4 -2
- package/dist/collection/components/pds-datepicker/pds-datepicker.js +2 -2
- package/dist/collection/components/pds-divider/pds-divider.js +1 -1
- package/dist/collection/components/pds-drawer/pds-drawer-content/pds-drawer-content.js +1 -1
- package/dist/collection/components/pds-drawer/pds-drawer-footer/pds-drawer-footer.js +1 -1
- package/dist/collection/components/pds-drawer/pds-drawer-header/pds-drawer-header.js +1 -1
- package/dist/collection/components/pds-drawer/pds-drawer.js +2 -2
- package/dist/collection/components/pds-dropdown-menu/pds-dropdown-menu-item/pds-dropdown-menu-item.js +1 -1
- package/dist/collection/components/pds-dropdown-menu/pds-dropdown-menu-separator/pds-dropdown-menu-separator.js +1 -1
- package/dist/collection/components/pds-dropdown-menu/pds-dropdown-menu.css +19 -5
- package/dist/collection/components/pds-dropdown-menu/pds-dropdown-menu.js +16 -5
- package/dist/collection/components/pds-filters/pds-filter/pds-filter.js +1 -1
- package/dist/collection/components/pds-filters/pds-filters.js +1 -1
- package/dist/collection/components/pds-image/pds-image.js +2 -2
- package/dist/collection/components/pds-input/pds-input.js +2 -2
- 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.js +3 -3
- package/dist/collection/components/pds-modal/test/mock-pds-modal.js +1 -1
- package/dist/collection/components/pds-multiselect/pds-multiselect.js +3 -3
- package/dist/collection/components/pds-popover/pds-popover.js +15 -9
- package/dist/collection/components/pds-progress/pds-progress.js +1 -1
- package/dist/collection/components/pds-property/pds-property.js +1 -1
- package/dist/collection/components/pds-radio/pds-radio.js +3 -3
- package/dist/collection/components/pds-radio-group/pds-radio-group.js +3 -3
- package/dist/collection/components/pds-row/pds-row.js +1 -1
- package/dist/collection/components/pds-select/pds-select.js +1 -1
- package/dist/collection/components/pds-sortable/pds-sortable-item/pds-sortable-item.js +1 -1
- package/dist/collection/components/pds-sortable/pds-sortable.js +1 -1
- package/dist/collection/components/pds-switch/pds-switch.js +3 -3
- package/dist/collection/components/pds-table/pds-table-body/pds-table-body.js +1 -1
- package/dist/collection/components/pds-table/pds-table-cell/pds-table-cell.js +2 -2
- package/dist/collection/components/pds-table/pds-table-head/pds-table-head.js +1 -1
- package/dist/collection/components/pds-table/pds-table-head-cell/pds-table-head-cell.js +2 -2
- package/dist/collection/components/pds-table/pds-table-row/pds-table-row.js +1 -1
- package/dist/collection/components/pds-tabs/pds-tab/pds-tab.js +11 -0
- package/dist/collection/components/pds-tabs/pds-tabpanel/pds-tabpanel.js +13 -1
- package/dist/collection/components/pds-tabs/pds-tabs.js +111 -7
- package/dist/collection/components/pds-text/pds-text.js +1 -1
- package/dist/collection/components/pds-textarea/pds-textarea.js +4 -4
- package/dist/collection/components/pds-toast/pds-toast.js +3 -3
- package/dist/collection/components/pds-tooltip/pds-tooltip.js +2 -2
- package/dist/collection/global/pine-global.js +6 -0
- package/dist/collection/index.js +1 -0
- package/dist/collection/utils/attributes.js +20 -24
- package/dist/collection/utils/css.js +41 -0
- package/dist/collection/utils/keep-hydrated.js +188 -0
- package/dist/docs.json +15 -6
- package/dist/esm/{attributes-myrJDwbR.js → attributes-WXw_I_uJ.js} +21 -24
- package/dist/esm/{index-DxI-61GK.js → index-BJXk71tO.js} +1 -1
- package/dist/esm/{index-bLhIfh0N.js → index-Cw9J31qd.js} +10 -1
- package/dist/esm/index.js +2 -0
- package/dist/esm/keep-hydrated-BLG6RDBt.js +190 -0
- package/dist/esm/loader.js +4 -3
- package/dist/esm/mock-pds-modal.entry.js +3 -2
- package/dist/esm/pds-accordion.entry.js +3 -2
- package/dist/esm/pds-alert.entry.js +2 -1
- package/dist/esm/pds-avatar.entry.js +3 -2
- package/dist/esm/pds-box.entry.js +3 -2
- package/dist/esm/pds-button.entry.js +3 -2
- package/dist/esm/pds-checkbox.entry.js +4 -3
- package/dist/esm/pds-chip.entry.js +4 -3
- package/dist/esm/pds-combobox.entry.js +156 -26
- package/dist/esm/pds-container.entry.js +3 -2
- package/dist/esm/pds-copytext.entry.js +5 -4
- package/dist/esm/pds-datepicker.entry.js +6 -5
- package/dist/esm/pds-divider.entry.js +3 -2
- package/dist/esm/pds-drawer-content.entry.js +3 -2
- package/dist/esm/pds-drawer-footer.entry.js +3 -2
- package/dist/esm/pds-drawer-header.entry.js +3 -2
- package/dist/esm/pds-drawer.entry.js +4 -3
- package/dist/esm/pds-dropdown-menu-item.entry.js +3 -2
- package/dist/esm/pds-dropdown-menu-separator.entry.js +3 -2
- package/dist/esm/pds-dropdown-menu.entry.js +16 -7
- package/dist/esm/pds-filter.entry.js +4 -3
- package/dist/esm/pds-filters.entry.js +3 -2
- package/dist/esm/pds-icon.entry.js +27 -3
- package/dist/esm/pds-image.entry.js +4 -3
- package/dist/esm/pds-input.entry.js +6 -5
- package/dist/esm/pds-link.entry.js +5 -4
- package/dist/esm/pds-loader.entry.js +4 -3
- package/dist/esm/pds-modal-content.entry.js +4 -3
- package/dist/esm/pds-modal-footer.entry.js +3 -2
- package/dist/esm/pds-modal-header.entry.js +3 -2
- package/dist/esm/pds-modal.entry.js +5 -4
- package/dist/esm/pds-multiselect.entry.js +6 -5
- package/dist/esm/pds-popover.entry.js +58 -11
- package/dist/esm/pds-progress.entry.js +4 -3
- package/dist/esm/pds-property.entry.js +3 -2
- package/dist/esm/pds-radio-group.entry.js +6 -5
- package/dist/esm/pds-radio.entry.js +7 -6
- package/dist/esm/pds-row.entry.js +4 -3
- package/dist/esm/pds-select.entry.js +5 -4
- package/dist/esm/pds-sortable-item.entry.js +5 -4
- package/dist/esm/pds-sortable.entry.js +4 -3
- package/dist/esm/pds-switch.entry.js +7 -6
- package/dist/esm/pds-tab.entry.js +13 -1
- package/dist/esm/pds-table-body.entry.js +3 -2
- package/dist/esm/pds-table-cell.entry.js +4 -3
- package/dist/esm/pds-table-head-cell.entry.js +5 -4
- package/dist/esm/pds-table-head.entry.js +3 -2
- package/dist/esm/pds-table-row.entry.js +3 -2
- package/dist/esm/pds-table.entry.js +2 -1
- package/dist/esm/pds-tabpanel.entry.js +15 -2
- package/dist/esm/pds-tabs.entry.js +111 -6
- package/dist/esm/pds-text.entry.js +3 -2
- package/dist/esm/pds-textarea.entry.js +8 -7
- package/dist/esm/pds-toast.entry.js +5 -4
- package/dist/esm/pds-tooltip.entry.js +4 -3
- package/dist/esm/pine-core.js +4 -3
- package/dist/esm-es5/attributes-WXw_I_uJ.js +1 -0
- package/dist/esm-es5/{index-bLhIfh0N.js → index-Cw9J31qd.js} +2 -2
- package/dist/esm-es5/index.js +1 -1
- package/dist/esm-es5/keep-hydrated-BLG6RDBt.js +1 -0
- package/dist/esm-es5/loader.js +1 -1
- package/dist/esm-es5/mock-pds-modal.entry.js +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-checkbox.entry.js +1 -1
- package/dist/esm-es5/pds-chip.entry.js +1 -1
- package/dist/esm-es5/pds-combobox.entry.js +2 -2
- package/dist/esm-es5/pds-container.entry.js +1 -1
- package/dist/esm-es5/pds-copytext.entry.js +1 -1
- package/dist/esm-es5/pds-datepicker.entry.js +1 -1
- package/dist/esm-es5/pds-divider.entry.js +1 -1
- package/dist/esm-es5/pds-drawer-content.entry.js +1 -1
- package/dist/esm-es5/pds-drawer-footer.entry.js +1 -1
- package/dist/esm-es5/pds-drawer-header.entry.js +1 -1
- package/dist/esm-es5/pds-drawer.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.entry.js +1 -1
- package/dist/esm-es5/pds-filter.entry.js +1 -1
- package/dist/esm-es5/pds-filters.entry.js +1 -1
- package/dist/esm-es5/pds-icon.entry.js +1 -1
- package/dist/esm-es5/pds-image.entry.js +1 -1
- package/dist/esm-es5/pds-input.entry.js +1 -1
- package/dist/esm-es5/pds-link.entry.js +1 -1
- package/dist/esm-es5/pds-loader.entry.js +1 -1
- package/dist/esm-es5/pds-modal-content.entry.js +1 -1
- package/dist/esm-es5/pds-modal-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-multiselect.entry.js +1 -1
- package/dist/esm-es5/pds-popover.entry.js +1 -1
- package/dist/esm-es5/pds-progress.entry.js +1 -1
- package/dist/esm-es5/pds-property.entry.js +1 -1
- package/dist/esm-es5/pds-radio-group.entry.js +1 -1
- package/dist/esm-es5/pds-radio.entry.js +1 -1
- package/dist/esm-es5/pds-row.entry.js +1 -1
- package/dist/esm-es5/pds-select.entry.js +1 -1
- package/dist/esm-es5/pds-sortable-item.entry.js +1 -1
- package/dist/esm-es5/pds-sortable.entry.js +2 -2
- package/dist/esm-es5/pds-switch.entry.js +1 -1
- package/dist/esm-es5/pds-tab.entry.js +1 -1
- package/dist/esm-es5/pds-table-body.entry.js +1 -1
- package/dist/esm-es5/pds-table-cell.entry.js +1 -1
- package/dist/esm-es5/pds-table-head-cell.entry.js +1 -1
- package/dist/esm-es5/pds-table-head.entry.js +1 -1
- package/dist/esm-es5/pds-table-row.entry.js +1 -1
- package/dist/esm-es5/pds-table.entry.js +1 -1
- package/dist/esm-es5/pds-tabpanel.entry.js +1 -1
- package/dist/esm-es5/pds-tabs.entry.js +1 -1
- package/dist/esm-es5/pds-text.entry.js +1 -1
- package/dist/esm-es5/pds-textarea.entry.js +1 -1
- package/dist/esm-es5/pds-toast.entry.js +1 -1
- package/dist/esm-es5/pds-tooltip.entry.js +1 -1
- package/dist/esm-es5/pine-core.js +1 -1
- package/dist/pine-core/index.esm.js +1 -1
- package/dist/pine-core/p-0092444c.system.entry.js +1 -0
- package/dist/pine-core/p-01aa382c.system.entry.js +1 -0
- package/dist/pine-core/p-01c9b8f3.entry.js +1 -0
- package/dist/pine-core/p-02088776.entry.js +1 -0
- package/dist/pine-core/p-049f126a.entry.js +1 -0
- package/dist/pine-core/p-080cb087.system.entry.js +1 -0
- package/dist/pine-core/p-0913f696.system.entry.js +1 -0
- package/dist/pine-core/p-0a84d220.entry.js +1 -0
- package/dist/pine-core/{p-f3188c57.system.entry.js → p-0b71ecb6.system.entry.js} +2 -2
- package/dist/pine-core/p-1437585e.system.entry.js +1 -0
- package/dist/pine-core/p-1ee86d87.system.entry.js +1 -0
- package/dist/pine-core/p-208c7dbf.entry.js +1 -0
- package/dist/pine-core/p-258770cf.system.entry.js +1 -0
- package/dist/pine-core/p-258d5e83.entry.js +1 -0
- package/dist/pine-core/p-26642718.entry.js +1 -0
- package/dist/pine-core/p-2ac2457b.system.entry.js +1 -0
- package/dist/pine-core/p-2cb5483a.system.entry.js +1 -0
- package/dist/pine-core/p-341c38f1.system.entry.js +1 -0
- package/dist/pine-core/p-3a959459.system.entry.js +1 -0
- package/dist/pine-core/p-3c27088f.system.entry.js +1 -0
- package/dist/pine-core/p-432d5ec7.entry.js +1 -0
- package/dist/pine-core/p-4849fda7.entry.js +1 -0
- package/dist/pine-core/p-4d03d1e2.system.entry.js +1 -0
- package/dist/pine-core/p-4de8f333.entry.js +1 -0
- package/dist/pine-core/p-4f94b4f1.system.entry.js +1 -0
- package/dist/pine-core/p-4fa63723.system.entry.js +1 -0
- package/dist/pine-core/p-4fd454f6.entry.js +1 -0
- package/dist/pine-core/p-5442d983.system.entry.js +1 -0
- package/dist/pine-core/p-550c2fd3.entry.js +1 -0
- package/dist/pine-core/p-55224683.entry.js +1 -0
- package/dist/pine-core/p-57a2f927.entry.js +1 -0
- package/dist/pine-core/p-5870b092.system.entry.js +1 -0
- package/dist/pine-core/p-5c90091e.system.entry.js +1 -0
- package/dist/pine-core/p-602c197f.entry.js +1 -0
- package/dist/pine-core/p-646afbca.system.entry.js +1 -0
- package/dist/pine-core/p-6bf853c9.entry.js +1 -0
- package/dist/pine-core/p-6d3610f9.entry.js +1 -0
- package/dist/pine-core/p-6eec23a7.system.entry.js +1 -0
- package/dist/pine-core/p-72865997.entry.js +1 -0
- package/dist/pine-core/p-73eb47fa.entry.js +1 -0
- package/dist/pine-core/p-75ee0403.entry.js +1 -0
- package/dist/pine-core/p-77395d62.system.entry.js +1 -0
- package/dist/pine-core/p-7a287635.system.entry.js +1 -0
- package/dist/pine-core/p-7a5b21d2.system.entry.js +1 -0
- package/dist/pine-core/p-7bf6563a.system.entry.js +1 -0
- package/dist/pine-core/p-7f367db4.system.entry.js +1 -0
- package/dist/pine-core/p-8191498f.system.entry.js +1 -0
- package/dist/pine-core/p-82cf4ec6.entry.js +1 -0
- package/dist/pine-core/p-84e9b7da.entry.js +1 -0
- package/dist/pine-core/p-86040cac.system.entry.js +1 -0
- package/dist/pine-core/p-875b0436.system.entry.js +1 -0
- package/dist/pine-core/p-8c8cc079.system.entry.js +1 -0
- package/dist/pine-core/p-8cc302aa.system.entry.js +1 -0
- package/dist/pine-core/p-8d292b48.entry.js +1 -0
- package/dist/pine-core/p-8f531063.entry.js +1 -0
- package/dist/pine-core/p-9109b90a.entry.js +1 -0
- package/dist/pine-core/p-94593f20.system.entry.js +1 -0
- package/dist/pine-core/p-9880d251.system.entry.js +1 -0
- package/dist/pine-core/p-99459e27.entry.js +1 -0
- package/dist/pine-core/p-9a0083dd.system.entry.js +1 -0
- package/dist/pine-core/p-9ab95438.entry.js +1 -0
- package/dist/pine-core/{p-f83fe305.entry.js → p-9af131d6.system.entry.js} +1 -1
- package/dist/pine-core/p-9dcd2cdb.entry.js +1 -0
- package/dist/pine-core/p-9e0f920a.system.entry.js +1 -0
- package/dist/pine-core/p-BGLP3keB.js +1 -0
- package/dist/pine-core/p-BLG6RDBt.js +1 -0
- package/dist/pine-core/p-BR5nujVX.system.js +1 -0
- package/dist/pine-core/p-CGRdQc49.system.js +2 -0
- package/dist/pine-core/p-CmSJytt1.js +2 -0
- package/dist/pine-core/p-CuSNnuFu.system.js +1 -0
- package/dist/pine-core/p-Cy8cvR7I.system.js +1 -0
- package/dist/pine-core/p-XW4H0W6i.system.js +1 -0
- package/dist/pine-core/p-a0960b3d.system.entry.js +1 -0
- package/dist/pine-core/p-a1230a74.system.entry.js +1 -0
- package/dist/pine-core/p-a19cd59c.entry.js +1 -0
- package/dist/pine-core/p-a3735199.entry.js +1 -0
- package/dist/pine-core/p-a826f290.entry.js +1 -0
- package/dist/pine-core/p-a85a6ab9.system.entry.js +1 -0
- package/dist/pine-core/p-acce8eb2.entry.js +1 -0
- package/dist/pine-core/p-b1548a20.entry.js +1 -0
- package/dist/pine-core/p-b69f04b7.entry.js +1 -0
- package/dist/pine-core/p-b75b0d09.system.entry.js +1 -0
- package/dist/pine-core/p-b8e8a4ce.entry.js +1 -0
- package/dist/pine-core/{p-09d10e9e.entry.js → p-b914dde8.entry.js} +2 -2
- package/dist/pine-core/p-ba1f65c2.system.entry.js +1 -0
- package/dist/pine-core/p-bb68431a.entry.js +1 -0
- package/dist/pine-core/p-bd67156b.system.entry.js +1 -0
- package/dist/pine-core/p-beb23781.entry.js +1 -0
- package/dist/pine-core/p-bf30dec0.entry.js +1 -0
- package/dist/pine-core/p-bf7ee3b7.system.entry.js +1 -0
- package/dist/pine-core/p-c5c9ed36.system.entry.js +1 -0
- package/dist/pine-core/p-cb6a3e4c.system.entry.js +1 -0
- package/dist/pine-core/p-cde8eb81.entry.js +1 -0
- package/dist/pine-core/p-cf08a6dd.system.entry.js +1 -0
- package/dist/pine-core/p-cfd012d4.entry.js +1 -0
- package/dist/pine-core/p-d2c91e7a.entry.js +1 -0
- package/dist/pine-core/p-da103a54.system.entry.js +1 -0
- package/dist/pine-core/p-db17c626.system.entry.js +1 -0
- package/dist/pine-core/p-df539c42.system.entry.js +3 -0
- package/dist/pine-core/p-e0917a26.entry.js +1 -0
- package/dist/pine-core/p-e5420660.entry.js +1 -0
- package/dist/pine-core/p-e800a2b1.entry.js +1 -0
- package/dist/pine-core/p-e836a041.entry.js +1 -0
- package/dist/pine-core/p-e8cb76e8.entry.js +1 -0
- package/dist/pine-core/p-ea4d4741.system.entry.js +1 -0
- package/dist/pine-core/p-eb5465ce.entry.js +1 -0
- package/dist/pine-core/{p-48ab7da8.system.entry.js → p-ebd0bff2.entry.js} +1 -1
- package/dist/pine-core/p-ec5428fb.entry.js +1 -0
- package/dist/pine-core/p-ed4b979e.entry.js +1 -0
- package/dist/pine-core/p-f029b7da.system.entry.js +1 -0
- package/dist/pine-core/p-f0d24298.system.entry.js +1 -0
- package/dist/pine-core/p-f1702281.entry.js +1 -0
- package/dist/pine-core/p-f1f17940.entry.js +2 -0
- package/dist/pine-core/p-f25e4731.system.entry.js +1 -0
- package/dist/pine-core/p-f2c253d8.entry.js +1 -0
- package/dist/pine-core/p-f77905aa.system.entry.js +1 -0
- package/dist/pine-core/p-fc25b956.system.entry.js +1 -0
- package/dist/pine-core/p-ff3de72e.entry.js +1 -0
- package/dist/pine-core/pine-core.esm.js +1 -1
- package/dist/pine-core/pine-core.js +1 -1
- package/dist/types/components/pds-combobox/combobox-interface.d.ts +8 -1
- package/dist/types/components/pds-combobox/grouped-options-panel.d.ts +7 -1
- package/dist/types/components/pds-combobox/pds-combobox.d.ts +31 -0
- package/dist/types/components/pds-dropdown-menu/pds-dropdown-menu.d.ts +4 -0
- package/dist/types/components/pds-tabs/pds-tab/pds-tab.d.ts +3 -0
- package/dist/types/components/pds-tabs/pds-tabpanel/pds-tabpanel.d.ts +3 -0
- package/dist/types/components/pds-tabs/pds-tabs.d.ts +14 -2
- package/dist/types/components.d.ts +5 -5
- package/dist/types/global/pine-global.d.ts +2 -0
- package/dist/types/index.d.ts +1 -0
- package/dist/types/utils/attributes.d.ts +2 -6
- package/dist/types/utils/css.d.ts +7 -0
- package/dist/types/utils/keep-hydrated.d.ts +56 -0
- package/dist/vscode.html-data.json +2 -2
- package/hydrate/index.js +673 -144
- package/hydrate/index.mjs +673 -144
- package/package.json +2 -2
- package/dist/esm-es5/attributes-myrJDwbR.js +0 -1
- package/dist/pine-core/p-085c92aa.system.entry.js +0 -1
- package/dist/pine-core/p-0bfe152a.entry.js +0 -1
- package/dist/pine-core/p-0ce3bcf2.system.entry.js +0 -1
- package/dist/pine-core/p-1dd395d8.system.entry.js +0 -1
- package/dist/pine-core/p-1feace6a.system.entry.js +0 -1
- package/dist/pine-core/p-2126b4e4.system.entry.js +0 -1
- package/dist/pine-core/p-21abd971.entry.js +0 -1
- package/dist/pine-core/p-2212224a.system.entry.js +0 -1
- package/dist/pine-core/p-23044953.system.entry.js +0 -1
- package/dist/pine-core/p-26d8c4f7.system.entry.js +0 -1
- package/dist/pine-core/p-2806fa55.system.entry.js +0 -1
- package/dist/pine-core/p-28abc253.system.entry.js +0 -1
- package/dist/pine-core/p-2dd3ab72.entry.js +0 -1
- package/dist/pine-core/p-30784d57.entry.js +0 -1
- package/dist/pine-core/p-3088cd66.entry.js +0 -1
- package/dist/pine-core/p-3add97f7.system.entry.js +0 -1
- package/dist/pine-core/p-3e829372.system.entry.js +0 -1
- package/dist/pine-core/p-40928521.system.entry.js +0 -1
- package/dist/pine-core/p-40ebfe59.system.entry.js +0 -1
- package/dist/pine-core/p-44cbdf94.system.entry.js +0 -1
- package/dist/pine-core/p-468f0dab.system.entry.js +0 -1
- package/dist/pine-core/p-4765f7f0.entry.js +0 -1
- package/dist/pine-core/p-478e69d1.entry.js +0 -1
- package/dist/pine-core/p-4af5f936.entry.js +0 -1
- package/dist/pine-core/p-4d3f5098.system.entry.js +0 -1
- package/dist/pine-core/p-5064f007.system.entry.js +0 -1
- package/dist/pine-core/p-5081a96f.entry.js +0 -1
- package/dist/pine-core/p-517e04f6.entry.js +0 -1
- package/dist/pine-core/p-51eb36f4.system.entry.js +0 -3
- package/dist/pine-core/p-5527e825.system.entry.js +0 -1
- package/dist/pine-core/p-563ba784.entry.js +0 -1
- package/dist/pine-core/p-5bf397ca.entry.js +0 -1
- package/dist/pine-core/p-5c7c2ffa.entry.js +0 -1
- package/dist/pine-core/p-5db91557.entry.js +0 -1
- package/dist/pine-core/p-60393d52.entry.js +0 -1
- package/dist/pine-core/p-60a15bf7.system.entry.js +0 -1
- package/dist/pine-core/p-60e687ac.entry.js +0 -1
- package/dist/pine-core/p-61ae5a4b.system.entry.js +0 -1
- package/dist/pine-core/p-62377463.system.entry.js +0 -1
- package/dist/pine-core/p-62974869.entry.js +0 -1
- package/dist/pine-core/p-63644dbd.entry.js +0 -1
- package/dist/pine-core/p-686b526d.entry.js +0 -1
- package/dist/pine-core/p-69f60432.system.entry.js +0 -1
- package/dist/pine-core/p-6d6079f5.entry.js +0 -1
- package/dist/pine-core/p-6eb2070a.entry.js +0 -1
- package/dist/pine-core/p-7386bbdf.system.entry.js +0 -1
- package/dist/pine-core/p-74b1b841.entry.js +0 -1
- package/dist/pine-core/p-74d93179.system.entry.js +0 -1
- package/dist/pine-core/p-7647b568.system.entry.js +0 -1
- package/dist/pine-core/p-7698fcfa.system.entry.js +0 -1
- package/dist/pine-core/p-778a0228.system.entry.js +0 -1
- package/dist/pine-core/p-77e12080.system.entry.js +0 -1
- package/dist/pine-core/p-7a9c687d.system.entry.js +0 -1
- package/dist/pine-core/p-7fbb7037.entry.js +0 -1
- package/dist/pine-core/p-85d77b55.entry.js +0 -1
- package/dist/pine-core/p-86978a51.entry.js +0 -1
- package/dist/pine-core/p-88728d46.system.entry.js +0 -1
- package/dist/pine-core/p-893b02b7.entry.js +0 -1
- package/dist/pine-core/p-8d8512ae.system.entry.js +0 -1
- package/dist/pine-core/p-93341083.system.entry.js +0 -1
- package/dist/pine-core/p-9452adc4.entry.js +0 -1
- package/dist/pine-core/p-95649e1c.entry.js +0 -1
- package/dist/pine-core/p-977db8b2.entry.js +0 -1
- package/dist/pine-core/p-97c04215.system.entry.js +0 -1
- package/dist/pine-core/p-9903eb37.system.entry.js +0 -1
- package/dist/pine-core/p-9b18314c.entry.js +0 -1
- package/dist/pine-core/p-9ca1b473.system.entry.js +0 -1
- package/dist/pine-core/p-BwmzR47K.system.js +0 -1
- package/dist/pine-core/p-CrXTJmBd.system.js +0 -2
- package/dist/pine-core/p-DO9XKAkv.system.js +0 -1
- package/dist/pine-core/p-G3CPPJEt.system.js +0 -1
- package/dist/pine-core/p-a0f8a61a.entry.js +0 -1
- package/dist/pine-core/p-a232dc19.entry.js +0 -1
- package/dist/pine-core/p-a44316ad.entry.js +0 -1
- package/dist/pine-core/p-a8884f2d.system.entry.js +0 -1
- package/dist/pine-core/p-a8f23db0.system.entry.js +0 -1
- package/dist/pine-core/p-a9ea3c9d.entry.js +0 -1
- package/dist/pine-core/p-ae125139.entry.js +0 -1
- package/dist/pine-core/p-af9bce53.entry.js +0 -1
- package/dist/pine-core/p-b15777a2.entry.js +0 -1
- package/dist/pine-core/p-b2901e60.system.entry.js +0 -1
- package/dist/pine-core/p-b82a0693.entry.js +0 -1
- package/dist/pine-core/p-b852c82b.system.entry.js +0 -1
- package/dist/pine-core/p-b979105e.entry.js +0 -1
- package/dist/pine-core/p-bLhIfh0N.js +0 -2
- package/dist/pine-core/p-bb9d158c.system.entry.js +0 -1
- package/dist/pine-core/p-bc7ba7d3.system.entry.js +0 -1
- package/dist/pine-core/p-bd1bdb07.system.entry.js +0 -1
- package/dist/pine-core/p-c497d6c6.entry.js +0 -1
- package/dist/pine-core/p-c971cdb3.entry.js +0 -1
- package/dist/pine-core/p-cbae27a4.system.entry.js +0 -1
- package/dist/pine-core/p-cdd21cbe.entry.js +0 -1
- package/dist/pine-core/p-ce74a47e.entry.js +0 -2
- package/dist/pine-core/p-cf4758a7.entry.js +0 -1
- package/dist/pine-core/p-cfc9d4a8.entry.js +0 -1
- package/dist/pine-core/p-d1b0b372.entry.js +0 -1
- package/dist/pine-core/p-d6002d5b.entry.js +0 -1
- package/dist/pine-core/p-d8a6298c.system.entry.js +0 -1
- package/dist/pine-core/p-d933227e.system.entry.js +0 -1
- package/dist/pine-core/p-d962fc84.entry.js +0 -1
- package/dist/pine-core/p-da7a7cca.entry.js +0 -1
- package/dist/pine-core/p-daaf653f.system.entry.js +0 -1
- package/dist/pine-core/p-dafff7dd.system.entry.js +0 -1
- package/dist/pine-core/p-ea9468fb.entry.js +0 -1
- package/dist/pine-core/p-ed22da0c.system.entry.js +0 -1
- package/dist/pine-core/p-f0632690.system.entry.js +0 -1
- package/dist/pine-core/p-f1c6b23a.entry.js +0 -1
- package/dist/pine-core/p-f279f435.system.entry.js +0 -1
- package/dist/pine-core/p-f33d6417.entry.js +0 -1
- package/dist/pine-core/p-f832dcd9.entry.js +0 -1
- package/dist/pine-core/p-fe09b6fb.system.entry.js +0 -1
- package/dist/pine-core/p-myrJDwbR.js +0 -1
- /package/dist/esm-es5/{index-DxI-61GK.js → index-BJXk71tO.js} +0 -0
- /package/dist/pine-core/{p-DxI-61GK.js → p-BJXk71tO.js} +0 -0
- /package/dist/pine-core/{p-CnO10OxH.system.js → p-n3_ytl_p.system.js} +0 -0
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import { r as registerInstance, c as createEvent, h, H as Host, a as getElement } from './index-
|
|
1
|
+
import { r as registerInstance, c as createEvent, h, H as Host, a as getElement } from './index-Cw9J31qd.js';
|
|
2
2
|
import { i as isSpecTest, m as messageId, a as assignDescription } from './form-BuRbS7Hp.js';
|
|
3
3
|
import { a as autoUpdate, c as computePosition, o as offset, f as flip, s as shift, b as size, h as hide } from './floating-ui.dom-BPqJgIq6.js';
|
|
4
4
|
import { c as cancelDebouncedEvent, d as debounceEvent, f as flushDebouncedEvent } from './utils-OYK5-nwe.js';
|
|
5
5
|
import { a as closest } from './closest-DHPzKMVS.js';
|
|
6
|
+
import './keep-hydrated-BLG6RDBt.js';
|
|
6
7
|
|
|
7
8
|
/*! @license DOMPurify 3.3.3 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.3.3/LICENSE */
|
|
8
9
|
|
|
@@ -1403,7 +1404,14 @@ const PINE_ICON_NAME = /^[a-z0-9-]+$/i;
|
|
|
1403
1404
|
* only ever passed to `pds-icon` as `name`.
|
|
1404
1405
|
*/
|
|
1405
1406
|
function groupIconOf(optgroup) {
|
|
1406
|
-
|
|
1407
|
+
return iconOf(optgroup);
|
|
1408
|
+
}
|
|
1409
|
+
/** An option's `data-icon` when it's a Pine icon name, or null; the same check as a group's. */
|
|
1410
|
+
function optionIconOf(option) {
|
|
1411
|
+
return iconOf(option);
|
|
1412
|
+
}
|
|
1413
|
+
function iconOf(element) {
|
|
1414
|
+
const icon = element.getAttribute('data-icon');
|
|
1407
1415
|
return icon !== null && PINE_ICON_NAME.test(icon) ? icon : null;
|
|
1408
1416
|
}
|
|
1409
1417
|
/** An option is disabled by its own `disabled` or its optgroup's, as in a native select. */
|
|
@@ -1421,8 +1429,12 @@ function isGroupDisabled(group) {
|
|
|
1421
1429
|
* Groups the combobox's filtered items for the panel: each optgroup becomes one entry holding its
|
|
1422
1430
|
* options, and ungrouped options stay where they are. Indexes count options in list order, the
|
|
1423
1431
|
* same as the inline listbox, so `data-option-index` means the same thing in every mode.
|
|
1432
|
+
*
|
|
1433
|
+
* `position`, when given, orders the entries instead: an ungrouped option or an optgroup it knows
|
|
1434
|
+
* goes where it reports, and the rest keep their place after those. Options from the `options` prop
|
|
1435
|
+
* use it, so a row the data lists between two groups is drawn between them.
|
|
1424
1436
|
*/
|
|
1425
|
-
function buildPanelEntries(items) {
|
|
1437
|
+
function buildPanelEntries(items, position) {
|
|
1426
1438
|
const entries = [];
|
|
1427
1439
|
const groups = new Map();
|
|
1428
1440
|
let index = 0;
|
|
@@ -1444,7 +1456,14 @@ function buildPanelEntries(items) {
|
|
|
1444
1456
|
entries.push({ kind: 'option', option, index: index++ });
|
|
1445
1457
|
}
|
|
1446
1458
|
});
|
|
1447
|
-
|
|
1459
|
+
if (position === undefined)
|
|
1460
|
+
return entries;
|
|
1461
|
+
const at = (entry) => { var _a; return (_a = position(entry.kind === 'group' ? entry.group.optgroup : entry.option)) !== null && _a !== void 0 ? _a : Infinity; };
|
|
1462
|
+
// Array.prototype.sort is stable, so entries with no position keep their order.
|
|
1463
|
+
return entries.sort((a, b) => {
|
|
1464
|
+
const [first, second] = [at(a), at(b)];
|
|
1465
|
+
return first === second ? 0 : first < second ? -1 : 1;
|
|
1466
|
+
});
|
|
1448
1467
|
}
|
|
1449
1468
|
/** The label of the optgroup an option sits in, or null for an ungrouped option. */
|
|
1450
1469
|
function groupLabelOf(option) {
|
|
@@ -1652,7 +1671,7 @@ class FlyoutController {
|
|
|
1652
1671
|
}
|
|
1653
1672
|
}
|
|
1654
1673
|
|
|
1655
|
-
const pdsComboboxCss = () => `:host{display:block}:host([aria-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:var(--pine-border);border-radius:var(--pine-dimension-125);-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--pine-color-text-strong);-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 var(--pine-motion-duration-base) ease;transition:border-color var(--pine-motion-duration-base) 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.pds-combobox__input--invalid{background:var(--pine-color-red-050);border-color:var(--pine-color-border-danger)}:host-context([data-theme=dark]) .pds-combobox__input.pds-combobox__input--invalid{background:var(--pine-color-red-950)}.pds-combobox__input.pds-combobox__input--invalid:hover:not(:disabled){border-color:var(--pine-color-border-danger)}.pds-combobox__input.pds-combobox__input--invalid:focus-visible{outline-color:var(--pine-color-focus-ring-danger)}.pds-combobox__input-icon{color:var(--pine-color-text-secondary);inset-inline-end:var(--pine-dimension-150);pointer-events:none;position:absolute;z-index:calc(var(--pine-z-index-raised) - 1)}.pds-combobox__helper{color:var(--pine-color-text-message);font:var(--pine-typography-body-sm-medium);-webkit-margin-before:var(--pine-dimension-2xs);margin-block-start:var(--pine-dimension-2xs)}.pds-combobox__error{-ms-flex-align:start;align-items:flex-start;color:var(--pine-color-text-message-danger);display:-ms-flexbox;display:flex;font:var(--pine-typography-body-sm-medium);gap:var(--pine-dimension-2xs);-webkit-margin-before:var(--pine-dimension-2xs);margin-block-start:var(--pine-dimension-2xs)}.pds-combobox__error pds-icon{-ms-flex-negative:0;flex-shrink:0;-webkit-margin-before:var(--pine-dimension-025);margin-block-start:var(--pine-dimension-025)}.pds-combobox__listbox{background:var(--pine-color-background-overlay);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-background-muted)}.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-background-muted)}.pds-combobox__option--disabled,.pds-combobox__group-row--disabled>.pds-combobox__group-row-trigger,.pds-combobox__group-back--disabled>.pds-combobox__group-back-trigger,.pds-combobox__group--disabled>.pds-combobox__group-label{color:var(--pine-color-text-disabled)}.pds-combobox__option--disabled{cursor:not-allowed}.pds-combobox__option--disabled .pds-combobox__option-chip,.pds-combobox__option--disabled .pds-combobox__option-layout-wrapper{opacity:0.5}.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-tertiary);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__group{list-style:none;-webkit-margin-before:var(--pine-dimension-150);margin-block-start:var(--pine-dimension-150)}.pds-combobox__group:first-child{-webkit-margin-before:0;margin-block-start:0}.pds-combobox__group-list{list-style:none;margin:0;padding:0}.pds-combobox__listbox--grouped .pds-combobox__group-list{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;gap:var(--pine-dimension-2xs)}.pds-combobox__group-label--with-icon{-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex;gap:var(--pine-dimension-xs)}.pds-combobox__group-icon{-ms-flex-negative:0;flex-shrink:0}.pds-combobox__group-row{list-style:none;position:relative}.pds-combobox__group-row-trigger{-ms-flex-align:center;align-items:center;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);gap:var(--pine-dimension-xs);-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__group-row--open>.pds-combobox__group-row-trigger,.pds-combobox__group-row--has-selection>.pds-combobox__group-row-trigger,.pds-combobox__group-row--highlighted>.pds-combobox__group-row-trigger,.pds-combobox__group-back--highlighted>.pds-combobox__group-row-trigger,.pds-combobox__group-row-trigger:hover{background:var(--pine-color-background-muted)}.pds-combobox__listbox--drill-in,.pds-combobox__listbox--drill-out{overflow-x:hidden}.pds-combobox__listbox--drill-in>.pds-combobox__group-back{-webkit-animation:pds-combobox-drill-from-end var(--pine-motion-duration-base) var(--pine-motion-easing-out);animation:pds-combobox-drill-from-end var(--pine-motion-duration-base) var(--pine-motion-easing-out)}.pds-combobox__listbox--drill-out>li{-webkit-animation:pds-combobox-drill-from-start var(--pine-motion-duration-base) var(--pine-motion-easing-out);animation:pds-combobox-drill-from-start var(--pine-motion-duration-base) var(--pine-motion-easing-out)}@-webkit-keyframes pds-combobox-drill-from-end{from{opacity:0;-webkit-transform:translateX(var(--pine-dimension-sm));transform:translateX(var(--pine-dimension-sm))}}@keyframes pds-combobox-drill-from-end{from{opacity:0;-webkit-transform:translateX(var(--pine-dimension-sm));transform:translateX(var(--pine-dimension-sm))}}@-webkit-keyframes pds-combobox-drill-from-start{from{opacity:0;-webkit-transform:translateX(calc(var(--pine-dimension-sm) * -1));transform:translateX(calc(var(--pine-dimension-sm) * -1))}}@keyframes pds-combobox-drill-from-start{from{opacity:0;-webkit-transform:translateX(calc(var(--pine-dimension-sm) * -1));transform:translateX(calc(var(--pine-dimension-sm) * -1))}}.pds-combobox__group-row--keyboard>.pds-combobox__group-row-trigger,.pds-combobox__group-back--keyboard>.pds-combobox__group-row-trigger{outline:var(--pine-outline-focus);outline-offset:calc(var(--pine-border-width) * -2)}.pds-combobox__group-row-label{-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex;gap:var(--pine-dimension-xs);min-width:0}.pds-combobox__group-row-caret{-ms-flex-negative:0;flex-shrink:0}.pds-combobox__listbox--grouped,.pds-combobox__flyout{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;gap:var(--pine-dimension-2xs);padding:var(--pine-dimension-2xs)}.pds-combobox__flyout{background:var(--pine-color-background-overlay);border-radius:var(--pine-dimension-125);-webkit-box-shadow:var(--pine-box-shadow);box-shadow:var(--pine-box-shadow);list-style:none;margin:0;overflow-y:auto;position:fixed;visibility:hidden;width:-webkit-max-content;width:-moz-max-content;width:max-content;z-index:1}.pds-combobox__listbox--with-search{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;overflow:hidden;padding:0}.pds-combobox__listbox-options{-ms-flex:1;flex:1;list-style:none;margin:0;min-height:0;overflow-y:auto;padding:var(--pine-dimension-xs)}.pds-combobox__listbox-options.pds-combobox__listbox--grouped{padding:var(--pine-dimension-2xs)}.pds-combobox__panel-search{-ms-flex-align:center;align-items:center;-webkit-border-after:var(--pine-border);border-block-end:var(--pine-border);border-block-end-color:var(--pine-color-border-subtle);display:-ms-flexbox;display:flex;-ms-flex-negative:0;flex-shrink:0;gap:var(--pine-dimension-xs);padding:var(--pine-dimension-sm)}.pds-combobox__panel-search pds-icon{color:var(--pine-color-text-muted);-ms-flex-negative:0;flex-shrink:0}.pds-combobox__panel-search:focus-within{border-block-end-color:var(--pine-color-border-active)}.pds-combobox__panel-search-input{background:transparent;border:0;color:var(--pine-color-text-strong);-ms-flex:1;flex:1;font:var(--pine-typography-body);letter-spacing:var(--pine-letter-spacing);min-width:0;outline:none;padding:0}.pds-combobox__panel-search-input::-webkit-input-placeholder{color:var(--pine-color-text-placeholder)}.pds-combobox__panel-search-input::-moz-placeholder{color:var(--pine-color-text-placeholder)}.pds-combobox__panel-search-input:-ms-input-placeholder{color:var(--pine-color-text-placeholder)}.pds-combobox__panel-search-input::-ms-input-placeholder{color:var(--pine-color-text-placeholder)}.pds-combobox__panel-search-input::placeholder{color:var(--pine-color-text-placeholder)}.pds-combobox__group-back{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;gap:var(--pine-dimension-2xs);list-style:none}.pds-combobox__group-back-trigger{-ms-flex-pack:start;justify-content:flex-start}.pds-combobox__listbox-options--drilled-in.pds-combobox__listbox--grouped{-webkit-padding-before:0;padding-block-start:0}.pds-combobox__listbox-options--drilled-in:focus{outline:none}.pds-combobox__listbox-options--drilled-in:focus .pds-combobox__group-back-trigger{border-block-end-color:var(--pine-color-border-active)}:where(.pds-combobox__listbox-options--drilled-in) .pds-combobox__group-back-trigger{background-color:var(--pine-color-background-overlay);-webkit-border-after:var(--pine-border);border-block-end:var(--pine-border);border-block-end-color:var(--pine-color-border-subtle);border-radius:0;color:var(--pine-color-text-strong);font:var(--pine-typography-body);inset-block-start:0;letter-spacing:var(--pine-letter-spacing);margin-inline:calc(var(--pine-dimension-2xs) * -1);padding:var(--pine-dimension-sm);position:-webkit-sticky;position:sticky;z-index:1}.pds-combobox__drill-in-options{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;gap:var(--pine-dimension-2xs);list-style:none;margin:0;padding:0}.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}.pds-combobox__loading{-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;padding:var(--pine-dimension-150)}.pds-combobox__empty{color:var(--pine-color-text-tertiary);padding:var(--pine-dimension-150) var(--pine-dimension-sm);text-align:center}.pds-combobox__load-more{-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;padding:var(--pine-dimension-150)}:host(.pds-combobox-dropdown-portal) .pds-combobox__listbox{position:fixed;z-index:var(--pine-z-index-priority)}.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);-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--color-text-default, var(--pine-color-text-inverse-emphasis));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--input-shape{border-radius:var(--pine-dimension-125);font:var(--pine-typography-body);letter-spacing:var(--pine-letter-spacing);min-height:var(--pine-dimension-450);padding:calc(var(--pine-dimension-xs) - var(--pine-border-width)) var(--pine-dimension-150)}.pds-combobox__button-trigger--secondary.pds-combobox__button-trigger--input-shape:not([aria-disabled=true]) .pds-combobox__button-trigger-label--placeholder{color:var(--pine-color-text-muted)}.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-white);--color-text-disabled:var(--pine-color-text-danger-disabled);--color-outline:var(--pine-color-focus-ring-danger)}[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);-webkit-box-sizing:border-box;box-sizing:border-box;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)}`;
|
|
1674
|
+
const pdsComboboxCss = () => `:host{display:block}:host([aria-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:var(--pine-border);border-radius:var(--pine-dimension-125);-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--pine-color-text-strong);-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 var(--pine-motion-duration-base) ease;transition:border-color var(--pine-motion-duration-base) 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.pds-combobox__input--invalid{background:var(--pine-color-red-050);border-color:var(--pine-color-border-danger)}:host-context([data-theme=dark]) .pds-combobox__input.pds-combobox__input--invalid{background:var(--pine-color-red-950)}.pds-combobox__input.pds-combobox__input--invalid:hover:not(:disabled){border-color:var(--pine-color-border-danger)}.pds-combobox__input.pds-combobox__input--invalid:focus-visible{outline-color:var(--pine-color-focus-ring-danger)}.pds-combobox__input-icon{color:var(--pine-color-text-secondary);inset-inline-end:var(--pine-dimension-150);pointer-events:none;position:absolute;z-index:calc(var(--pine-z-index-raised) - 1)}.pds-combobox__helper{color:var(--pine-color-text-message);font:var(--pine-typography-body-sm-medium);-webkit-margin-before:var(--pine-dimension-2xs);margin-block-start:var(--pine-dimension-2xs)}.pds-combobox__error{-ms-flex-align:start;align-items:flex-start;color:var(--pine-color-text-message-danger);display:-ms-flexbox;display:flex;font:var(--pine-typography-body-sm-medium);gap:var(--pine-dimension-2xs);-webkit-margin-before:var(--pine-dimension-2xs);margin-block-start:var(--pine-dimension-2xs)}.pds-combobox__error pds-icon{-ms-flex-negative:0;flex-shrink:0;-webkit-margin-before:var(--pine-dimension-025);margin-block-start:var(--pine-dimension-025)}.pds-combobox__listbox{background:var(--pine-color-background-overlay);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-background-muted)}.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-background-muted)}.pds-combobox__option--disabled,.pds-combobox__group-row--disabled>.pds-combobox__group-row-trigger,.pds-combobox__group-back--disabled>.pds-combobox__group-back-trigger,.pds-combobox__group--disabled>.pds-combobox__group-label{color:var(--pine-color-text-disabled)}.pds-combobox__option--disabled{cursor:not-allowed}.pds-combobox__option--disabled .pds-combobox__option-chip,.pds-combobox__option--disabled .pds-combobox__option-layout-wrapper{opacity:0.5}.pds-combobox__option-label{-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex;gap:var(--pine-dimension-xs);min-width:0;overflow-wrap:anywhere}.pds-combobox__option-icon{-ms-flex-negative:0;flex-shrink:0}.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-tertiary);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__group{list-style:none;-webkit-margin-before:var(--pine-dimension-150);margin-block-start:var(--pine-dimension-150)}.pds-combobox__group:first-child{-webkit-margin-before:0;margin-block-start:0}.pds-combobox__group-list{list-style:none;margin:0;padding:0}.pds-combobox__listbox--grouped .pds-combobox__group-list{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;gap:var(--pine-dimension-2xs)}.pds-combobox__group-label--with-icon{-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex;gap:var(--pine-dimension-xs)}.pds-combobox__group-icon{-ms-flex-negative:0;flex-shrink:0}.pds-combobox__group-row{list-style:none;position:relative}.pds-combobox__group-row-trigger{-ms-flex-align:center;align-items:center;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);gap:var(--pine-dimension-xs);-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__group-row--open>.pds-combobox__group-row-trigger,.pds-combobox__group-row--has-selection>.pds-combobox__group-row-trigger,.pds-combobox__group-row--highlighted>.pds-combobox__group-row-trigger,.pds-combobox__group-back--highlighted>.pds-combobox__group-row-trigger{background:var(--pine-color-background-muted)}.pds-combobox__listbox--pointer-hover .pds-combobox__group-row-trigger:hover{background:var(--pine-color-background-muted)}.pds-combobox__listbox--drill-in,.pds-combobox__listbox--drill-out{overflow-x:hidden}.pds-combobox__listbox--drill-in,.pds-combobox__listbox--drill-out:dir(rtl){--pds-combobox-drill-from:var(--pine-dimension-sm)}.pds-combobox__listbox--drill-out,.pds-combobox__listbox--drill-in:dir(rtl){--pds-combobox-drill-from:calc(var(--pine-dimension-sm) * -1)}.pds-combobox__listbox--drill-in .pds-combobox__drill-in-options>li,.pds-combobox__listbox--drill-in .pds-combobox__group-back-trigger,.pds-combobox__listbox--drill-out>li{-webkit-animation:pds-combobox-drill var(--pine-motion-duration-base) var(--pine-motion-easing-out);animation:pds-combobox-drill var(--pine-motion-duration-base) var(--pine-motion-easing-out)}@-webkit-keyframes pds-combobox-drill{from{opacity:0;-webkit-transform:translateX(var(--pds-combobox-drill-from));transform:translateX(var(--pds-combobox-drill-from))}}@keyframes pds-combobox-drill{from{opacity:0;-webkit-transform:translateX(var(--pds-combobox-drill-from));transform:translateX(var(--pds-combobox-drill-from))}}.pds-combobox__group-row--keyboard>.pds-combobox__group-row-trigger,.pds-combobox__group-back--keyboard>.pds-combobox__group-row-trigger{outline:var(--pine-outline-focus);outline-offset:calc(var(--pine-border-width) * -2)}.pds-combobox__group-row-label{-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex;gap:var(--pine-dimension-xs);min-width:0}.pds-combobox__group-row-caret{-ms-flex-negative:0;flex-shrink:0}.pds-combobox__listbox--grouped,.pds-combobox__flyout{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;gap:var(--pine-dimension-2xs);padding:var(--pine-dimension-2xs)}.pds-combobox__flyout{background:var(--pine-color-background-overlay);border-radius:var(--pine-dimension-125);-webkit-box-shadow:var(--pine-box-shadow);box-shadow:var(--pine-box-shadow);list-style:none;margin:0;overflow-y:auto;position:fixed;visibility:hidden;width:-webkit-max-content;width:-moz-max-content;width:max-content;z-index:1}.pds-combobox__listbox--with-search{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;overflow:hidden;padding:0}.pds-combobox__listbox-options{-ms-flex:1;flex:1;list-style:none;margin:0;min-height:0;overflow-y:auto;padding:var(--pine-dimension-xs)}.pds-combobox__listbox-options.pds-combobox__listbox--grouped{padding:var(--pine-dimension-2xs)}.pds-combobox__panel-search{-ms-flex-align:center;align-items:center;-webkit-border-after:var(--pine-border);border-block-end:var(--pine-border);border-block-end-color:var(--pine-color-border-subtle);display:-ms-flexbox;display:flex;-ms-flex-negative:0;flex-shrink:0;gap:var(--pine-dimension-xs);padding:var(--pine-dimension-sm)}.pds-combobox__panel-search pds-icon{color:var(--pine-color-text-muted);-ms-flex-negative:0;flex-shrink:0}.pds-combobox__panel-search:focus-within{border-block-end-color:var(--pine-color-border-active)}.pds-combobox__panel-search-input{background:transparent;border:0;color:var(--pine-color-text-strong);-ms-flex:1;flex:1;font:var(--pine-typography-body);letter-spacing:var(--pine-letter-spacing);min-width:0;outline:none;padding:0}.pds-combobox__panel-search-input::-webkit-input-placeholder{color:var(--pine-color-text-placeholder)}.pds-combobox__panel-search-input::-moz-placeholder{color:var(--pine-color-text-placeholder)}.pds-combobox__panel-search-input:-ms-input-placeholder{color:var(--pine-color-text-placeholder)}.pds-combobox__panel-search-input::-ms-input-placeholder{color:var(--pine-color-text-placeholder)}.pds-combobox__panel-search-input::placeholder{color:var(--pine-color-text-placeholder)}.pds-combobox__group-back{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;gap:var(--pine-dimension-2xs);list-style:none}.pds-combobox__group-back-trigger{-ms-flex-pack:start;justify-content:flex-start}.pds-combobox__listbox-options--drilled-in.pds-combobox__listbox--grouped{-webkit-padding-before:0;padding-block-start:0}.pds-combobox__listbox-options--drilled-in:focus{outline:none}.pds-combobox__listbox-options--drilled-in:focus .pds-combobox__group-back-trigger{border-block-end-color:var(--pine-color-border-active)}:where(.pds-combobox__listbox-options--drilled-in) .pds-combobox__group-back-trigger{background-color:var(--pine-color-background-overlay);-webkit-border-after:var(--pine-border);border-block-end:var(--pine-border);border-block-end-color:var(--pine-color-border-subtle);border-radius:0;color:var(--pine-color-text-strong);font:var(--pine-typography-body);inset-block-start:0;letter-spacing:var(--pine-letter-spacing);margin-inline:calc(var(--pine-dimension-2xs) * -1);padding:var(--pine-dimension-sm);position:-webkit-sticky;position:sticky;z-index:1}.pds-combobox__drill-in-options{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;gap:var(--pine-dimension-2xs);list-style:none;margin:0;padding:0}.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}.pds-combobox__loading{-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;padding:var(--pine-dimension-150)}.pds-combobox__empty{color:var(--pine-color-text-tertiary);padding:var(--pine-dimension-150) var(--pine-dimension-sm);text-align:center}.pds-combobox__load-more{-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;padding:var(--pine-dimension-150)}:host(.pds-combobox-dropdown-portal) .pds-combobox__listbox{position:fixed;z-index:var(--pine-z-index-priority)}.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);-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--color-text-default, var(--pine-color-text-inverse-emphasis));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;min-width:0;overflow-wrap:anywhere;text-align:start}.pds-combobox__button-trigger-label--with-icon{-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex;gap:var(--pine-dimension-xs)}.pds-combobox__button-trigger-icon{-ms-flex-negative:0;flex-shrink:0}.pds-combobox__button-trigger--input-shape{border-radius:var(--pine-dimension-125);font:var(--pine-typography-body);letter-spacing:var(--pine-letter-spacing);min-height:var(--pine-dimension-450);padding:calc(var(--pine-dimension-xs) - var(--pine-border-width)) var(--pine-dimension-150)}.pds-combobox__button-trigger--secondary.pds-combobox__button-trigger--input-shape:not([aria-disabled=true]) .pds-combobox__button-trigger-label--placeholder{color:var(--pine-color-text-muted)}.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-white);--color-text-disabled:var(--pine-color-text-danger-disabled);--color-outline:var(--pine-color-focus-ring-danger)}[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);-webkit-box-sizing:border-box;box-sizing:border-box;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)}`;
|
|
1656
1675
|
|
|
1657
1676
|
const PdsCombobox = class {
|
|
1658
1677
|
constructor(hostRef) {
|
|
@@ -1854,6 +1873,17 @@ const PdsCombobox = class {
|
|
|
1854
1873
|
this.highlightedGroup = null;
|
|
1855
1874
|
/** The keys, not the pointer, moved the highlight last; the focus ring shows only then. */
|
|
1856
1875
|
this.keyboardNavigating = false;
|
|
1876
|
+
/**
|
|
1877
|
+
* A drill-in group row the first arrow showed rather than moved past. `aria-activedescendant`
|
|
1878
|
+
* already pointed at it, so the status region says it instead.
|
|
1879
|
+
*/
|
|
1880
|
+
this.revealedGroupLabel = null;
|
|
1881
|
+
/**
|
|
1882
|
+
* The pointer in the panel can hover: a mouse or pen, not touch. Touch browsers keep a tapped row
|
|
1883
|
+
* hovered, so group rows shade on `:hover` only for a pointer that can hover. Checked on the
|
|
1884
|
+
* pointer itself rather than `(hover: hover)`, which a touch-first device with a trackpad fails.
|
|
1885
|
+
*/
|
|
1886
|
+
this.pointerCanHover = true;
|
|
1857
1887
|
/**
|
|
1858
1888
|
* What's typed in the dropdown's own search field (`panelSearch`).
|
|
1859
1889
|
*/
|
|
@@ -1898,6 +1928,11 @@ const PdsCombobox = class {
|
|
|
1898
1928
|
});
|
|
1899
1929
|
/** The groups in the flyout panel's last render, so a row's index finds its optgroup. */
|
|
1900
1930
|
this.renderedGroups = [];
|
|
1931
|
+
/**
|
|
1932
|
+
* Where each ungrouped option and optgroup built from the `options` prop came in the data, so
|
|
1933
|
+
* the flyout and drill-in panels draw them in that order. Slotted markup is already in order.
|
|
1934
|
+
*/
|
|
1935
|
+
this.panelPositions = new WeakMap();
|
|
1901
1936
|
/** Room for a flyout was checked for this open. */
|
|
1902
1937
|
this.flyoutRoomChecked = false;
|
|
1903
1938
|
/** The highlighted option sits in a flyout that hasn't rendered yet; focus it after the next render. */
|
|
@@ -1911,10 +1946,14 @@ const PdsCombobox = class {
|
|
|
1911
1946
|
* the list shows every option until the user types (then normal filtering applies).
|
|
1912
1947
|
*/
|
|
1913
1948
|
this.expandFilterListWhileOpen = false;
|
|
1949
|
+
this.onPanelPointer = (event) => {
|
|
1950
|
+
const canHover = event.pointerType !== 'touch';
|
|
1951
|
+
if (this.pointerCanHover !== canHover)
|
|
1952
|
+
this.pointerCanHover = canHover;
|
|
1953
|
+
};
|
|
1914
1954
|
this.onDrillAnimationEnd = (event) => {
|
|
1915
|
-
var _a;
|
|
1916
1955
|
// Only the slide's own end: slotted consumer content can animate inside the list too.
|
|
1917
|
-
if (
|
|
1956
|
+
if (event.animationName === 'pds-combobox-drill')
|
|
1918
1957
|
this.drillDirection = null;
|
|
1919
1958
|
};
|
|
1920
1959
|
/** `<label for>` only works on the input trigger; for a div trigger a click on the label focuses it. */
|
|
@@ -2333,6 +2372,31 @@ const PdsCombobox = class {
|
|
|
2333
2372
|
this.focusPanel(panelFocusEl);
|
|
2334
2373
|
}
|
|
2335
2374
|
}
|
|
2375
|
+
/**
|
|
2376
|
+
* Scrolls just enough to show `el`, as `scrollIntoView({ block: 'nearest' })` does. In the drill-in
|
|
2377
|
+
* panel it scrolls the list alone, and never sideways: while a drill-in slide offsets a row past
|
|
2378
|
+
* the list's edge, `scrollIntoView` also scrolls the list horizontally to reach it, which eats most
|
|
2379
|
+
* of the slide. There it keeps clear of the sticky row back, through the scroll padding set for it,
|
|
2380
|
+
* but doesn't scroll the page or a scrolling ancestor.
|
|
2381
|
+
*/
|
|
2382
|
+
scrollIntoViewNearest(el, smooth) {
|
|
2383
|
+
const behavior = smooth ? 'smooth' : 'auto';
|
|
2384
|
+
if (!this.showsGroupedPanel || this.effectiveGroupDisplay !== 'drill-in') {
|
|
2385
|
+
el.scrollIntoView({ block: 'nearest', behavior });
|
|
2386
|
+
return;
|
|
2387
|
+
}
|
|
2388
|
+
const list = this.usesPanelSearch ? this.panelTreeEl : this.listboxEl;
|
|
2389
|
+
if (!list)
|
|
2390
|
+
return;
|
|
2391
|
+
const offset = el.getBoundingClientRect().top - list.getBoundingClientRect().top - list.clientTop;
|
|
2392
|
+
// The padding keeps rows clear of the sticky row back; the row back itself doesn't need it.
|
|
2393
|
+
const padding = el.classList.contains('pds-combobox__group-back-trigger') ? 0 : parseFloat(list.style.scrollPaddingBlockStart) || 0;
|
|
2394
|
+
const top = list.scrollTop + offset - padding;
|
|
2395
|
+
const bottom = list.scrollTop + offset + el.offsetHeight - list.clientHeight;
|
|
2396
|
+
const target = top < list.scrollTop ? top : bottom > list.scrollTop ? bottom : null;
|
|
2397
|
+
if (target !== null)
|
|
2398
|
+
list.scrollTo({ top: target, behavior });
|
|
2399
|
+
}
|
|
2336
2400
|
focusPanel(el) {
|
|
2337
2401
|
var _a, _b;
|
|
2338
2402
|
this.panelFocusEl = el;
|
|
@@ -2353,6 +2417,7 @@ const PdsCombobox = class {
|
|
|
2353
2417
|
}
|
|
2354
2418
|
openGroupChanged(next, previous) {
|
|
2355
2419
|
this.handPanelFocusToList();
|
|
2420
|
+
this.revealedGroupLabel = null;
|
|
2356
2421
|
// Only moves between the drill-in panel's views slide; search results don't.
|
|
2357
2422
|
if (!this.isOpen || this.effectiveGroupDisplay !== 'drill-in' || !this.showsGroupedPanel)
|
|
2358
2423
|
return;
|
|
@@ -2375,6 +2440,7 @@ const PdsCombobox = class {
|
|
|
2375
2440
|
}
|
|
2376
2441
|
isOpenChanged(isOpen) {
|
|
2377
2442
|
if (!isOpen) {
|
|
2443
|
+
this.revealedGroupLabel = null;
|
|
2378
2444
|
this.drillDirection = null;
|
|
2379
2445
|
this.openGroup = null;
|
|
2380
2446
|
this.highlightedGroup = null;
|
|
@@ -2653,20 +2719,25 @@ const PdsCombobox = class {
|
|
|
2653
2719
|
// slotted markup would be, so grouping, filtering and labels work the same either way. Each
|
|
2654
2720
|
// group is listed where it first appears with all of its options, even when the data
|
|
2655
2721
|
// interleaves groups, so an option never renders under another group's label. Ungrouped
|
|
2656
|
-
// options come first, so none reads as part of the group above it.
|
|
2722
|
+
// options come first, so none reads as part of the group above it. The flyout and drill-in
|
|
2723
|
+
// panels draw groups as rows, where that can't happen, so they keep the data's order instead.
|
|
2657
2724
|
const asyncOptions = this.options || this.internalOptions;
|
|
2658
2725
|
const groups = new Map();
|
|
2659
2726
|
const ungrouped = [];
|
|
2660
2727
|
const groupEntries = [];
|
|
2661
|
-
|
|
2728
|
+
this.panelPositions = new WeakMap();
|
|
2729
|
+
asyncOptions.forEach((opt, position) => {
|
|
2662
2730
|
const optionEl = document.createElement('option');
|
|
2663
2731
|
optionEl.value = String(opt.id);
|
|
2664
2732
|
optionEl.textContent = opt.text;
|
|
2665
2733
|
if (opt.disabled === true)
|
|
2666
2734
|
optionEl.setAttribute('disabled', '');
|
|
2667
2735
|
// Only strings group an option or name an icon; anything else from JS is ignored, not coerced.
|
|
2736
|
+
if (typeof opt.icon === 'string' && opt.icon !== '')
|
|
2737
|
+
optionEl.setAttribute('data-icon', opt.icon);
|
|
2668
2738
|
if (typeof opt.group !== 'string' || opt.group === '') {
|
|
2669
2739
|
ungrouped.push(optionEl);
|
|
2740
|
+
this.panelPositions.set(optionEl, position);
|
|
2670
2741
|
return;
|
|
2671
2742
|
}
|
|
2672
2743
|
let optgroup = groups.get(opt.group);
|
|
@@ -2675,6 +2746,7 @@ const PdsCombobox = class {
|
|
|
2675
2746
|
optgroup.label = opt.group;
|
|
2676
2747
|
groups.set(opt.group, optgroup);
|
|
2677
2748
|
groupEntries.push(optgroup);
|
|
2749
|
+
this.panelPositions.set(optgroup, position);
|
|
2678
2750
|
}
|
|
2679
2751
|
if (!optgroup.hasAttribute('data-icon') && typeof opt.groupIcon === 'string' && opt.groupIcon !== '') {
|
|
2680
2752
|
optgroup.setAttribute('data-icon', opt.groupIcon);
|
|
@@ -3139,6 +3211,7 @@ const PdsCombobox = class {
|
|
|
3139
3211
|
handleGroupedPanelKey(e) {
|
|
3140
3212
|
if (!this.showsGroupedPanel)
|
|
3141
3213
|
return false;
|
|
3214
|
+
const highlightShown = this.keyboardNavigating;
|
|
3142
3215
|
this.keyboardNavigating = true;
|
|
3143
3216
|
// In the input trigger, Left and Right still move the caret through typed text, and Space,
|
|
3144
3217
|
// Home and End edit it, as they do in the panel's search field.
|
|
@@ -3148,23 +3221,32 @@ const PdsCombobox = class {
|
|
|
3148
3221
|
if (e.key === ' ' || e.key === 'Home' || e.key === 'End')
|
|
3149
3222
|
return false;
|
|
3150
3223
|
}
|
|
3151
|
-
const entries =
|
|
3224
|
+
const entries = this.panelEntries();
|
|
3152
3225
|
const drilledIn = this.effectiveGroupDisplay === 'drill-in' && this.openGroup !== null;
|
|
3153
3226
|
const current = this.currentPanelItem();
|
|
3154
3227
|
const column = panelColumn(entries, this.openGroup, current, drilledIn);
|
|
3155
3228
|
if (column.length === 0)
|
|
3156
3229
|
return false;
|
|
3157
3230
|
const position = current === null ? -1 : column.indexOf(current);
|
|
3231
|
+
// Drill-in doesn't shade a group row the pointer or a click-open highlighted, so the first Up or
|
|
3232
|
+
// Down shows that row rather than moving past one the user never saw.
|
|
3233
|
+
const unseenRow = !highlightShown && this.effectiveGroupDisplay === 'drill-in' && current !== null && typeof current !== 'number' && current !== this.openGroup;
|
|
3158
3234
|
const moveTo = (to) => {
|
|
3159
3235
|
e.preventDefault();
|
|
3160
3236
|
this.highlightPanelItem(column[Math.max(0, Math.min(column.length - 1, to))]);
|
|
3237
|
+
this.revealedGroupLabel = null;
|
|
3238
|
+
return true;
|
|
3239
|
+
};
|
|
3240
|
+
const reveal = () => {
|
|
3241
|
+
e.preventDefault();
|
|
3242
|
+
this.revealedGroupLabel = current.label;
|
|
3161
3243
|
return true;
|
|
3162
3244
|
};
|
|
3163
3245
|
switch (e.key) {
|
|
3164
3246
|
case 'ArrowDown':
|
|
3165
|
-
return moveTo(position < 0 ? 0 : position + 1);
|
|
3247
|
+
return unseenRow ? reveal() : moveTo(position < 0 ? 0 : position + 1);
|
|
3166
3248
|
case 'ArrowUp':
|
|
3167
|
-
return moveTo(position < 0 ? column.length - 1 : position - 1);
|
|
3249
|
+
return unseenRow ? reveal() : moveTo(position < 0 ? column.length - 1 : position - 1);
|
|
3168
3250
|
case 'Home':
|
|
3169
3251
|
return moveTo(0);
|
|
3170
3252
|
case 'End':
|
|
@@ -3297,7 +3379,7 @@ const PdsCombobox = class {
|
|
|
3297
3379
|
// In the grouped panel, the first row with something to choose: a group stays closed until
|
|
3298
3380
|
// it's opened.
|
|
3299
3381
|
if (this.showsGroupedPanel) {
|
|
3300
|
-
const first =
|
|
3382
|
+
const first = this.panelEntries().find(entry => entry.kind === 'group' ? !isGroupDisabled(entry.group) : !isOptionDisabled(entry.option));
|
|
3301
3383
|
this.highlightedIndex = (first === null || first === void 0 ? void 0 : first.kind) === 'option' ? first.index : -1;
|
|
3302
3384
|
this.highlightedGroup = (first === null || first === void 0 ? void 0 : first.kind) === 'group' ? first.group.optgroup : null;
|
|
3303
3385
|
return;
|
|
@@ -3362,8 +3444,13 @@ const PdsCombobox = class {
|
|
|
3362
3444
|
}
|
|
3363
3445
|
// Matched by id, not a selector: componentId is consumer text and may not be selector-safe.
|
|
3364
3446
|
const id = this.groupDomId(groupRow);
|
|
3365
|
-
|
|
3366
|
-
.find(
|
|
3447
|
+
const row = Array.from(this.listboxEl.querySelectorAll('[role="treeitem"]'))
|
|
3448
|
+
.find(item => item.id === id);
|
|
3449
|
+
// The row's trigger, not its item: the row back's item wraps the group's options, and showing
|
|
3450
|
+
// all of a group taller than the list would scroll the row back itself out of view.
|
|
3451
|
+
const trigger = Array.from((_a = row === null || row === void 0 ? void 0 : row.children) !== null && _a !== void 0 ? _a : []).find(child => child.classList.contains('pds-combobox__group-row-trigger'));
|
|
3452
|
+
if (trigger)
|
|
3453
|
+
this.scrollIntoViewNearest(trigger, false);
|
|
3367
3454
|
this.updateAriaActiveDescendant();
|
|
3368
3455
|
return;
|
|
3369
3456
|
}
|
|
@@ -3414,7 +3501,7 @@ const PdsCombobox = class {
|
|
|
3414
3501
|
this.flyout.reveal(flyout, currentOption);
|
|
3415
3502
|
}
|
|
3416
3503
|
else {
|
|
3417
|
-
|
|
3504
|
+
this.scrollIntoViewNearest(currentOption, true);
|
|
3418
3505
|
}
|
|
3419
3506
|
}
|
|
3420
3507
|
// Always update aria-activedescendant on the trigger element
|
|
@@ -3511,6 +3598,8 @@ const PdsCombobox = class {
|
|
|
3511
3598
|
this.highlightedIndex = -1;
|
|
3512
3599
|
this.highlightedGroup = group;
|
|
3513
3600
|
this.keyboardNavigating = false;
|
|
3601
|
+
// So revealing this row again later is announced again.
|
|
3602
|
+
this.revealedGroupLabel = null;
|
|
3514
3603
|
}
|
|
3515
3604
|
// Get the label of the selected option
|
|
3516
3605
|
get selectedLabel() {
|
|
@@ -3666,7 +3755,8 @@ const PdsCombobox = class {
|
|
|
3666
3755
|
'pds-combobox__listbox--grouped': this.groupDisplay !== 'inline',
|
|
3667
3756
|
'pds-combobox__listbox--drill-in': this.drillDirection === 'in',
|
|
3668
3757
|
'pds-combobox__listbox--drill-out': this.drillDirection === 'out',
|
|
3669
|
-
|
|
3758
|
+
'pds-combobox__listbox--pointer-hover': this.pointerCanHover,
|
|
3759
|
+
}, onAnimationEnd: this.onDrillAnimationEnd, onPointerMove: this.onPanelPointer, onPointerDown: this.onPanelPointer, role: this.showsGroupedPanel ? 'tree' : 'listbox', id: this.listboxId, "aria-label": this.label || 'Options', "aria-multiselectable": "false",
|
|
3670
3760
|
// Focusable but out of the tab order with panel search, so it can take focus when a
|
|
3671
3761
|
// drilled-in group hides the field. Dropping it while focused would blur the list and close.
|
|
3672
3762
|
tabIndex: withSearch ? -1 : undefined, "aria-activedescendant": listTakesFocus ? this.activeDescendantId : undefined, onKeyDown: withSearch ? this.onPanelTreeKeyDown : undefined, ref: el => {
|
|
@@ -3832,7 +3922,21 @@ const PdsCombobox = class {
|
|
|
3832
3922
|
'pds-combobox__option--layout': isLayout,
|
|
3833
3923
|
'pds-combobox__option--chip': isChip,
|
|
3834
3924
|
'pds-combobox__option--disabled': isDisabled,
|
|
3835
|
-
}, "data-option-index": index, onMouseDown: this.onOptionMouseDown, onClick: this.onOptionClick, onMouseEnter: this.onOptionMouseEnter, onKeyDown: this.onOptionKeyDown }, isLayout ? (h("pds-box", { class: "pds-combobox__option-layout-wrapper", innerHTML: this.getOptionLayoutContent(option) })) : isChip ? (this.renderOptionChip(option)) : (this.
|
|
3925
|
+
}, "data-option-index": index, onMouseDown: this.onOptionMouseDown, onClick: this.onOptionClick, onMouseEnter: this.onOptionMouseEnter, onKeyDown: this.onOptionKeyDown }, isLayout ? (h("pds-box", { class: "pds-combobox__option-layout-wrapper", innerHTML: this.getOptionLayoutContent(option) })) : isChip ? (this.renderOptionChip(option)) : (this.renderOptionLabel(option)), isSelected && h("pds-icon", { icon: "check", size: "regular", class: "pds-combobox__option-check" })));
|
|
3926
|
+
}
|
|
3927
|
+
/** An option's text, after its `data-icon` when it has one. */
|
|
3928
|
+
renderOptionLabel(option) {
|
|
3929
|
+
const icon = optionIconOf(option);
|
|
3930
|
+
if (icon === null)
|
|
3931
|
+
return this.getOptionLabel(option);
|
|
3932
|
+
return (h("span", { class: "pds-combobox__option-label" }, h("pds-icon", { name: icon, size: "regular", "aria-hidden": "true", class: "pds-combobox__option-icon" }), this.getOptionLabel(option)));
|
|
3933
|
+
}
|
|
3934
|
+
/** The grouped panel's rows, in the order the panel draws them and the keyboard moves through. */
|
|
3935
|
+
panelEntries() {
|
|
3936
|
+
// Slotted markup is already in order; only options from data record positions.
|
|
3937
|
+
if (this.options === undefined && !this.asyncUrl)
|
|
3938
|
+
return buildPanelEntries(this.filteredItems);
|
|
3939
|
+
return buildPanelEntries(this.filteredItems, element => this.panelPositions.get(element));
|
|
3836
3940
|
}
|
|
3837
3941
|
/**
|
|
3838
3942
|
* `flyout`: one row per group, its options in a flyout beside it. `drill-in`: the same rows, and
|
|
@@ -3840,7 +3944,7 @@ const PdsCombobox = class {
|
|
|
3840
3944
|
* it's a tree: the rows and ungrouped options are level 1, a group's options level 2.
|
|
3841
3945
|
*/
|
|
3842
3946
|
renderGroupedPanel() {
|
|
3843
|
-
const entries =
|
|
3947
|
+
const entries = this.panelEntries();
|
|
3844
3948
|
const setsize = entries.length;
|
|
3845
3949
|
if (this.effectiveGroupDisplay === 'drill-in' && this.openGroup !== null) {
|
|
3846
3950
|
const position = entries.findIndex(entry => entry.kind === 'group' && entry.group.optgroup === this.openGroup);
|
|
@@ -3871,22 +3975,26 @@ const PdsCombobox = class {
|
|
|
3871
3975
|
return (h("li", { key: "group-back", id: id, class: {
|
|
3872
3976
|
'pds-combobox__group-back': true,
|
|
3873
3977
|
'pds-combobox__group-back--disabled': disabled,
|
|
3874
|
-
|
|
3978
|
+
// As the group rows: shaded for the keys, and by `:hover` for the pointer.
|
|
3979
|
+
'pds-combobox__group-back--highlighted': this.keyboardNavigating && this.highlightedGroupRow === group.optgroup,
|
|
3875
3980
|
'pds-combobox__group-back--keyboard': this.keyboardNavigating && this.highlightedGroupRow === group.optgroup,
|
|
3876
3981
|
}, role: "treeitem", "aria-expanded": "true", "aria-disabled": disabled ? 'true' : undefined, "aria-level": 1, "aria-posinset": posinset, "aria-setsize": setsize, "aria-labelledby": `${id}-label` }, h("div", { class: "pds-combobox__group-row-trigger pds-combobox__group-back-trigger", onMouseDown: this.onOptionMouseDown, onMouseEnter: this.onGroupBackMouseEnter, onClick: this.onGroupBackClick }, h("span", { class: "pds-combobox__group-row-label", id: `${id}-label` }, h("pds-icon", { name: "caret-left", size: "regular", "aria-hidden": "true", class: "pds-combobox__group-row-caret" }), h("span", { class: "visually-hidden" }, this.drillInBackLabel, ": "), group.label)), h("ul", { class: "pds-combobox__drill-in-options", role: "group", "aria-label": group.label }, this.renderGroupOptions(group))));
|
|
3877
3982
|
}
|
|
3878
3983
|
renderGroupRow(group, groupIndex, { posinset, setsize }) {
|
|
3879
3984
|
const flyout = this.effectiveGroupDisplay === 'flyout';
|
|
3880
3985
|
const isOpen = flyout && this.openGroup === group.optgroup;
|
|
3881
|
-
|
|
3986
|
+
// Drill-in shades a group row only for the keys: not for the group holding the selection, or the
|
|
3987
|
+
// row the pointer or a click-open left highlighted, which read as picked. `:hover` covers the pointer.
|
|
3988
|
+
const hasSelection = flyout && group.options.some(({ option }) => this.isOptionSelected(option));
|
|
3989
|
+
const isCurrent = this.highlightedGroupRow === group.optgroup;
|
|
3882
3990
|
const disabled = isGroupDisabled(group);
|
|
3883
3991
|
const id = this.groupDomId(group.optgroup);
|
|
3884
3992
|
return (h("li", { key: `group-${groupIndex}`, id: id, class: {
|
|
3885
3993
|
'pds-combobox__group-row': true,
|
|
3886
3994
|
'pds-combobox__group-row--open': isOpen,
|
|
3887
3995
|
'pds-combobox__group-row--has-selection': hasSelection,
|
|
3888
|
-
'pds-combobox__group-row--highlighted':
|
|
3889
|
-
'pds-combobox__group-row--keyboard':
|
|
3996
|
+
'pds-combobox__group-row--highlighted': isCurrent && (flyout || this.keyboardNavigating),
|
|
3997
|
+
'pds-combobox__group-row--keyboard': isCurrent && this.keyboardNavigating,
|
|
3890
3998
|
'pds-combobox__group-row--disabled': disabled,
|
|
3891
3999
|
}, role: "treeitem", "aria-expanded": isOpen ? 'true' : 'false', "aria-disabled": disabled ? 'true' : undefined, "aria-level": 1, "aria-posinset": posinset, "aria-setsize": setsize, "aria-labelledby": `${id}-label`, "data-group-index": groupIndex, onMouseEnter: flyout ? this.onGroupRowMouseEnter : undefined, onMouseLeave: flyout ? this.onGroupRowMouseLeave : undefined }, h("div", { class: "pds-combobox__group-row-trigger", "data-group-index": groupIndex, onMouseDown: this.onOptionMouseDown, onMouseEnter: this.onGroupRowTriggerMouseEnter, onClick: this.onGroupRowClick }, h("span", { class: "pds-combobox__group-row-label", id: `${id}-label` }, group.icon !== null && (
|
|
3892
4000
|
// `name`, not `icon`: `icon` also loads URLs and data: SVGs, unsanitized.
|
|
@@ -3902,7 +4010,23 @@ const PdsCombobox = class {
|
|
|
3902
4010
|
}
|
|
3903
4011
|
// Helper method to render default text content
|
|
3904
4012
|
renderDefaultContent() {
|
|
3905
|
-
|
|
4013
|
+
const icon = this.selectedIcon;
|
|
4014
|
+
return (h("span", { class: {
|
|
4015
|
+
'pds-combobox__button-trigger-label': true,
|
|
4016
|
+
'pds-combobox__button-trigger-label--placeholder': !this.selectedLabel,
|
|
4017
|
+
'pds-combobox__button-trigger-label--with-icon': icon !== null,
|
|
4018
|
+
} }, icon !== null && (
|
|
4019
|
+
// `name`, not `icon`: `icon` also loads URLs and data: SVGs, unsanitized.
|
|
4020
|
+
h("pds-icon", { name: icon, size: "regular", "aria-hidden": "true", class: "pds-combobox__button-trigger-icon" })), this.selectedLabel || this.placeholder));
|
|
4021
|
+
}
|
|
4022
|
+
/** The selection's icon for the button trigger: the option's own, or else its group's. */
|
|
4023
|
+
get selectedIcon() {
|
|
4024
|
+
var _a;
|
|
4025
|
+
const option = this.selectedOption;
|
|
4026
|
+
if (!option)
|
|
4027
|
+
return null;
|
|
4028
|
+
const optgroup = parentOptgroupOf(option);
|
|
4029
|
+
return (_a = optionIconOf(option)) !== null && _a !== void 0 ? _a : (optgroup !== null ? groupIconOf(optgroup) : null);
|
|
3906
4030
|
}
|
|
3907
4031
|
// Helper method to check if we should show layout content
|
|
3908
4032
|
shouldShowLayoutContent() {
|
|
@@ -4020,6 +4144,7 @@ const PdsCombobox = class {
|
|
|
4020
4144
|
];
|
|
4021
4145
|
}
|
|
4022
4146
|
render() {
|
|
4147
|
+
var _a;
|
|
4023
4148
|
const triggerClass = [
|
|
4024
4149
|
'pds-combobox__button-trigger',
|
|
4025
4150
|
`pds-combobox__button-trigger--${this.triggerVariant}`,
|
|
@@ -4027,13 +4152,18 @@ const PdsCombobox = class {
|
|
|
4027
4152
|
]
|
|
4028
4153
|
.filter(Boolean)
|
|
4029
4154
|
.join(' ');
|
|
4030
|
-
return (h(Host, { key: '
|
|
4155
|
+
return (h(Host, { key: 'e934b937916e45f715e6fb54d23a2a5e7c8ce4f6', "aria-disabled": this.disabled ? 'true' : null }, h("div", { key: '79d282907c4f218e124b4f9250e0aedb0e9ea51d', class: "pds-combobox", tabIndex: -1, onFocusout: this.onComboboxFocusOut, part: "combobox" }, this.hasVisibleLabel && (h("label", { key: 'd05a4a8fe5362b2b0a684f36115c127689c35c2f', htmlFor: this.trigger === 'input' ? this.componentId : undefined, id: this.labelId, class: "pds-combobox__label", onClick: this.onLabelClick }, this.label)), this.trigger === 'input' ? (h("div", { class: "pds-combobox__input-wrapper", style: { width: this.triggerWidth } }, h("input", { ref: el => {
|
|
4031
4156
|
this.inputEl = el;
|
|
4032
4157
|
this.triggerEl = el;
|
|
4033
4158
|
}, class: {
|
|
4034
4159
|
'pds-combobox__input': true,
|
|
4035
4160
|
'pds-combobox__input--invalid': this.isInvalid(),
|
|
4036
|
-
}, type: "text", role: "combobox", "aria-autocomplete": "list", "aria-haspopup": this.inputPopupRole === 'tree' ? 'tree' : undefined, "aria-controls": this.listboxId, "aria-describedby": assignDescription(this.componentId, this.isInvalid(), this.helperMessage, this.errorMessage), "aria-invalid": this.isInvalid() ? 'true' : undefined, "aria-activedescendant": this.usesPanelSearch ? undefined : this.activeDescendantId, "aria-expanded": this.isOpen ? 'true' : 'false', "aria-disabled": this.disabled ? 'true' : 'false', "aria-label": this.hideLabel ? this.label : undefined, id: this.componentId, value: this.displayText, placeholder: this.placeholder, disabled: this.disabled, onInput: this.handleInput, onClick: this.handleInputClick, onKeyDown: this.handleKeyDown, autocomplete: "off", part: "input" }), h("pds-icon", { icon: "enlarge", "aria-hidden": "true", class: "pds-combobox__input-icon" }))) : this.trigger === 'chip' ? (h("div", { class: this.getChipTriggerClass(), style: { width: this.triggerWidth }, role: this.usesPanelSearch ? 'button' : 'combobox', "aria-haspopup": this.triggerPopupRole, "aria-controls": this.listboxId, "aria-describedby": assignDescription(this.componentId, this.isInvalid(), this.helperMessage, this.errorMessage), "aria-invalid": this.isInvalid() ? 'true' : undefined, "aria-activedescendant": this.usesPanelSearch ? undefined : this.activeDescendantId, "aria-expanded": this.isOpen ? 'true' : 'false', "aria-disabled": this.disabled ? 'true' : 'false', "aria-label": this.triggerAriaLabel, "aria-labelledby": this.triggerLabelledBy, id: this.componentId, tabIndex: this.disabled ? -1 : 0, onClick: this.onButtonTriggerClick, "data-layout": this.customTriggerContent, onKeyDown: this.onButtonTriggerKeyDown, onKeyUp: this.onButtonTriggerKeyUp, ref: el => (this.triggerEl = el), part: "chip-trigger" }, this.renderChipTriggerContent())) : (h("div", { class: triggerClass, style: { width: this.triggerWidth }, role: this.usesPanelSearch ? 'button' : 'combobox', "aria-haspopup": this.triggerPopupRole, "aria-controls": this.listboxId, "aria-describedby": assignDescription(this.componentId, this.isInvalid(), this.helperMessage, this.errorMessage), "aria-invalid": this.isInvalid() ? 'true' : undefined, "aria-activedescendant": this.usesPanelSearch ? undefined : this.activeDescendantId, "aria-expanded": this.isOpen ? 'true' : 'false', "aria-disabled": this.disabled ? 'true' : 'false', "aria-label": this.triggerAriaLabel, "aria-labelledby": this.triggerLabelledBy, 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())), this.renderMessages(), h("div", { key: '
|
|
4161
|
+
}, type: "text", role: "combobox", "aria-autocomplete": "list", "aria-haspopup": this.inputPopupRole === 'tree' ? 'tree' : undefined, "aria-controls": this.listboxId, "aria-describedby": assignDescription(this.componentId, this.isInvalid(), this.helperMessage, this.errorMessage), "aria-invalid": this.isInvalid() ? 'true' : undefined, "aria-activedescendant": this.usesPanelSearch ? undefined : this.activeDescendantId, "aria-expanded": this.isOpen ? 'true' : 'false', "aria-disabled": this.disabled ? 'true' : 'false', "aria-label": this.hideLabel ? this.label : undefined, id: this.componentId, value: this.displayText, placeholder: this.placeholder, disabled: this.disabled, onInput: this.handleInput, onClick: this.handleInputClick, onKeyDown: this.handleKeyDown, autocomplete: "off", part: "input" }), h("pds-icon", { icon: "enlarge", "aria-hidden": "true", class: "pds-combobox__input-icon" }))) : this.trigger === 'chip' ? (h("div", { class: this.getChipTriggerClass(), style: { width: this.triggerWidth }, role: this.usesPanelSearch ? 'button' : 'combobox', "aria-haspopup": this.triggerPopupRole, "aria-controls": this.listboxId, "aria-describedby": assignDescription(this.componentId, this.isInvalid(), this.helperMessage, this.errorMessage), "aria-invalid": this.isInvalid() ? 'true' : undefined, "aria-activedescendant": this.usesPanelSearch ? undefined : this.activeDescendantId, "aria-expanded": this.isOpen ? 'true' : 'false', "aria-disabled": this.disabled ? 'true' : 'false', "aria-label": this.triggerAriaLabel, "aria-labelledby": this.triggerLabelledBy, id: this.componentId, tabIndex: this.disabled ? -1 : 0, onClick: this.onButtonTriggerClick, "data-layout": this.customTriggerContent, onKeyDown: this.onButtonTriggerKeyDown, onKeyUp: this.onButtonTriggerKeyUp, ref: el => (this.triggerEl = el), part: "chip-trigger" }, this.renderChipTriggerContent())) : (h("div", { class: triggerClass, style: { width: this.triggerWidth }, role: this.usesPanelSearch ? 'button' : 'combobox', "aria-haspopup": this.triggerPopupRole, "aria-controls": this.listboxId, "aria-describedby": assignDescription(this.componentId, this.isInvalid(), this.helperMessage, this.errorMessage), "aria-invalid": this.isInvalid() ? 'true' : undefined, "aria-activedescendant": this.usesPanelSearch ? undefined : this.activeDescendantId, "aria-expanded": this.isOpen ? 'true' : 'false', "aria-disabled": this.disabled ? 'true' : 'false', "aria-label": this.triggerAriaLabel, "aria-labelledby": this.triggerLabelledBy, 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())), this.renderMessages(), h("div", { key: '38d9c018d59472ef8b7eb3facb47bea5c73f5f1e', style: { display: 'none' } }, h("slot", { key: '26acb32e5f301b568485d52e29b68e526ef1d525', onSlotchange: () => this.updateOptions() })), this.renderDropdown(), this.groupDisplay !== 'inline' && [
|
|
4162
|
+
h("span", { key: "drill-status", class: "visually-hidden", role: "status", "aria-live": "polite" }, this.isOpen && this.effectiveGroupDisplay === 'drill-in' && this.openGroup !== null ? this.openGroup.label : ''),
|
|
4163
|
+
// Its own region: sharing one, revealing a row then opening it would leave the text the
|
|
4164
|
+
// same, and opening the group would go unannounced.
|
|
4165
|
+
h("span", { key: "reveal-status", class: "visually-hidden", role: "status", "aria-live": "polite" }, this.isOpen ? (_a = this.revealedGroupLabel) !== null && _a !== void 0 ? _a : '' : ''),
|
|
4166
|
+
])));
|
|
4037
4167
|
}
|
|
4038
4168
|
static get formAssociated() { return true; }
|
|
4039
4169
|
get el() { return getElement(this); }
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { r as registerInstance, h, H as Host } from './index-
|
|
1
|
+
import { r as registerInstance, h, H as Host } from './index-Cw9J31qd.js';
|
|
2
|
+
import './keep-hydrated-BLG6RDBt.js';
|
|
2
3
|
|
|
3
4
|
const pdsContainerCss = () => `:host{display:block;margin-inline:auto;max-width:var(--pine-container-max-width, none);width:100%}:host(.pds-container--sm){--pine-container-max-width:340px}:host(.pds-container--md){--pine-container-max-width:520px}:host(.pds-container--lg){--pine-container-max-width:700px}:host(.pds-container--xl){--pine-container-max-width:1064px}:host(.pds-container--full){--pine-container-max-width:1440px}`;
|
|
4
5
|
|
|
@@ -26,7 +27,7 @@ const PdsContainer = class {
|
|
|
26
27
|
hostStyle['--pine-container-max-width'] = customSize;
|
|
27
28
|
if (!this.centered)
|
|
28
29
|
hostStyle['margin-inline'] = '0';
|
|
29
|
-
return (h(Host, { key: '
|
|
30
|
+
return (h(Host, { key: '8a9b10b5d0e348b73f8a6bd7933083c596df10d8', class: { [`pds-container--${this.size}`]: isNamed }, style: Object.keys(hostStyle).length ? hostStyle : undefined }, h(Tag, { key: '55fb22be49377c4cccf08381e7cf954a3f097d08', part: "container" }, h("slot", { key: '4cd9c4fa74a2c6a056e076ab67a0279c395b5c79' }))));
|
|
30
31
|
}
|
|
31
32
|
};
|
|
32
33
|
PdsContainer.style = pdsContainerCss();
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import { r as registerInstance, c as createEvent, h, H as Host, a as getElement } from './index-
|
|
2
|
-
import { H as HostStylingKeeper } from './attributes-
|
|
3
|
-
import { a as copy } from './index-
|
|
1
|
+
import { r as registerInstance, c as createEvent, h, H as Host, a as getElement } from './index-Cw9J31qd.js';
|
|
2
|
+
import { H as HostStylingKeeper } from './attributes-WXw_I_uJ.js';
|
|
3
|
+
import { a as copy } from './index-BJXk71tO.js';
|
|
4
4
|
import { r as restoreReflectedDefault } from './reflected-attribute-default-t3idJwV0.js';
|
|
5
5
|
import { s as setupTruncationTooltip } from './truncation-tooltip-_902ENWC.js';
|
|
6
|
+
import './keep-hydrated-BLG6RDBt.js';
|
|
6
7
|
import './floating-ui.dom-BPqJgIq6.js';
|
|
7
8
|
|
|
8
9
|
const pdsCopytextCss = () => `:host(.pds-copytext){--copytext-color-background-hover:var(--pine-color-background-inset)}:host(.pds-copytext) pds-button{-ms-flex-align:center;align-items:center;border-radius:var(--pine-border-radius-full);border-width:var(--pine-dimension-none);display:-ms-inline-flexbox;display:inline-flex;font-family:var(--pine-font-family-heading);font-size:var(--pine-font-size-body-md);font-weight:var(--pine-font-weight-body-medium);letter-spacing:var(--pine-letter-spacing);line-height:var(--pine-line-height-body);max-width:100%}:host(.pds-copytext) pds-button::part(button){padding-block:var(--pine-dimension-2xs);padding-inline:var(--pine-dimension-xs)}:host(.pds-copytext) pds-button::part(button):hover{background-color:var(--copytext-color-background-hover);color:var(--pine-color-text-secondary-hover)}:host(.pds-copytext) pds-button span{font-weight:var(--pine-font-weight-medium);-webkit-margin-end:var(--pine-dimension-xs);margin-inline-end:var(--pine-dimension-xs);white-space:nowrap}:host(.pds-copytext) pds-button :nth-child(2){-ms-flex-negative:0;flex-shrink:0}:host(.pds-copytext):host(.pds-copytext--bordered){border-width:var(--pine-dimension-none);padding:var(--pine-dimension-none)}:host(.pds-copytext):host(.pds-copytext--bordered) pds-button{padding:var(--pine-dimension-none)}:host(.pds-copytext):host(.pds-copytext--bordered) pds-button::part(button){padding:var(--pine-dimension-none)}:host(.pds-copytext):host(.pds-copytext--bordered) pds-button::part(button):hover{background-color:transparent}:host(.pds-copytext):host(.pds-copytext--bordered) span{background:var(--pine-color-secondary);border:var(--pine-border);border-radius:var(--pine-border-radius-full);-webkit-margin-end:var(--pine-dimension-sm);margin-inline-end:var(--pine-dimension-sm);padding-block:var(--pine-dimension-xs);padding-inline:var(--pine-dimension-sm)}:host(.pds-copytext):host(.pds-copytext--bordered) :hover span{border:var(--pine-border-hover)}:host(.pds-copytext):host(.pds-copytext--full-width) pds-button,:host(.pds-copytext):host(.pds-copytext--truncated) pds-button{display:-ms-inline-flexbox;display:inline-flex;min-width:auto;width:100%}:host(.pds-copytext):host(.pds-copytext--full-width) pds-button::part(button-content),:host(.pds-copytext):host(.pds-copytext--full-width) pds-button::part(button-text),:host(.pds-copytext):host(.pds-copytext--truncated) pds-button::part(button-content),:host(.pds-copytext):host(.pds-copytext--truncated) pds-button::part(button-text){-ms-flex-negative:1;flex-shrink:1;width:100%}:host(.pds-copytext):host(.pds-copytext--full-width) pds-button span,:host(.pds-copytext):host(.pds-copytext--truncated) pds-button span{text-align:start;width:100%}:host(.pds-copytext):host(.pds-copytext--full-width) pds-button{-ms-flex-pack:justify;justify-content:space-between}:host(.pds-copytext):host(.pds-copytext--truncated) pds-button span{overflow:hidden;text-overflow:ellipsis}`;
|
|
@@ -108,7 +109,7 @@ const PdsCopytext = class {
|
|
|
108
109
|
render() {
|
|
109
110
|
const hostClass = this.classNames();
|
|
110
111
|
this.hostKeeper.record(hostClass);
|
|
111
|
-
return (h(Host, { key: '
|
|
112
|
+
return (h(Host, { key: 'd9bd40af6e435d606841cb551341eab33c5983b7', class: hostClass, id: this.componentId }, h("pds-button", { key: '7a42b32678fccb2cbe0d7a68a5da6d5fe5276a4a', type: "button", variant: "unstyled", onClick: this.handleClick }, h("span", { key: '732db283b8075ebad8e1daff70692bac2978aade', ref: (el) => this.valueSpanEl = el }, this.value), h("pds-icon", { key: 'ebfd34b9b5a47b78783302ce97d752af09e3f3e3', "aria-hidden": "true", icon: copy, size: "16px" }))));
|
|
112
113
|
}
|
|
113
114
|
get el() { return getElement(this); }
|
|
114
115
|
static get watchers() { return {
|