@pine-ds/core 3.14.0 → 3.14.1
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/floating-ui.dom.js +161 -40
- package/components/floating-ui.dom.js.map +1 -1
- package/components/index.d.ts +2 -0
- package/components/index.js +1 -0
- package/components/index.js.map +1 -1
- package/components/index2.js +1 -1
- package/components/index2.js.map +1 -1
- package/components/pds-combobox.js +65 -25
- package/components/pds-combobox.js.map +1 -1
- package/components/pds-dropdown-menu-item.js +1 -1
- package/components/pds-dropdown-menu-item.js.map +1 -1
- package/components/pds-dropdown-menu.js +3 -2
- package/components/pds-dropdown-menu.js.map +1 -1
- package/components/pds-filter.js +1 -1
- package/components/pds-filter.js.map +1 -1
- package/components/pds-multiselect.d.ts +11 -0
- package/components/pds-multiselect.js +666 -0
- package/components/pds-multiselect.js.map +1 -0
- 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 +3 -3
- package/components/pds-radio.js +3 -3
- 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 +3 -3
- package/components/pds-tab.js +4 -4
- package/components/pds-tab.js.map +1 -1
- package/components/pds-table-body.js +1 -1
- package/components/pds-table-cell2.js +2 -2
- package/components/pds-table-head-cell2.js +35 -6
- package/components/pds-table-head-cell2.js.map +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 +4 -4
- package/components/pds-toast.js +3 -3
- package/components/pds-tooltip.js +2 -2
- package/dist/cjs/{floating-ui.dom-DTAy35nv.js → floating-ui.dom-Ca6tS7ef.js} +163 -41
- package/dist/cjs/floating-ui.dom-Ca6tS7ef.js.map +1 -0
- package/dist/cjs/{index-CMeuo765.js → index-BA--jsiy.js} +3 -3
- package/dist/cjs/index-BA--jsiy.js.map +1 -0
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/pds-accordion.cjs.entry.js +1 -1
- package/dist/cjs/pds-avatar.cjs.entry.js +1 -1
- package/dist/cjs/pds-button.cjs.entry.js +1 -1
- package/dist/cjs/pds-checkbox.cjs.entry.js +1 -1
- package/dist/cjs/pds-chip.cjs.entry.js +1 -1
- package/dist/cjs/pds-combobox.cjs.entry.js +66 -26
- package/dist/cjs/pds-combobox.entry.cjs.js.map +1 -1
- package/dist/cjs/pds-copytext.cjs.entry.js +1 -1
- package/dist/cjs/pds-dropdown-menu-item.cjs.entry.js +1 -1
- package/dist/cjs/pds-dropdown-menu-item.entry.cjs.js.map +1 -1
- package/dist/cjs/pds-dropdown-menu.cjs.entry.js +4 -3
- package/dist/cjs/pds-dropdown-menu.entry.cjs.js.map +1 -1
- package/dist/cjs/pds-filter.cjs.entry.js +2 -2
- package/dist/cjs/pds-filter.entry.cjs.js.map +1 -1
- package/dist/cjs/pds-input.cjs.entry.js +1 -1
- package/dist/cjs/pds-link.cjs.entry.js +1 -1
- package/dist/cjs/pds-multiselect.cjs.entry.js +592 -0
- package/dist/cjs/pds-multiselect.entry.cjs.js.map +1 -0
- package/dist/cjs/pds-popover.cjs.entry.js +1 -1
- package/dist/cjs/pds-progress.cjs.entry.js +1 -1
- package/dist/cjs/pds-property.cjs.entry.js +1 -1
- package/dist/cjs/pds-radio-group.cjs.entry.js +4 -4
- package/dist/cjs/pds-radio.cjs.entry.js +4 -4
- package/dist/cjs/pds-row.cjs.entry.js +1 -1
- package/dist/cjs/pds-select.cjs.entry.js +2 -2
- package/dist/cjs/pds-sortable-item.cjs.entry.js +2 -2
- package/dist/cjs/pds-sortable.cjs.entry.js +1 -1
- package/dist/cjs/pds-switch.cjs.entry.js +4 -4
- package/dist/cjs/pds-tab.cjs.entry.js +4 -4
- package/dist/cjs/pds-tab.entry.cjs.js.map +1 -1
- package/dist/cjs/pds-table-body.cjs.entry.js +1 -1
- package/dist/cjs/pds-table-cell.cjs.entry.js +2 -2
- package/dist/cjs/pds-table-head-cell.cjs.entry.js +33 -6
- package/dist/cjs/pds-table-head-cell.entry.cjs.js.map +1 -1
- package/dist/cjs/pds-table-head.cjs.entry.js +1 -1
- package/dist/cjs/pds-table-row.cjs.entry.js +1 -1
- package/dist/cjs/pds-tabpanel.cjs.entry.js +1 -1
- package/dist/cjs/pds-tabs.cjs.entry.js +1 -1
- package/dist/cjs/pds-text.cjs.entry.js +1 -1
- package/dist/cjs/pds-textarea.cjs.entry.js +5 -5
- package/dist/cjs/pds-toast.cjs.entry.js +3 -3
- package/dist/cjs/pds-tooltip.cjs.entry.js +3 -3
- package/dist/cjs/pine-core.cjs.js +1 -1
- package/dist/collection/collection-manifest.json +1 -0
- package/dist/collection/components/pds-box/pds-box.css +0 -191
- package/dist/collection/components/pds-dropdown-menu/pds-dropdown-menu-item/pds-dropdown-menu-item.css +3 -1
- package/dist/collection/components/pds-dropdown-menu/pds-dropdown-menu.css +1 -1
- package/dist/collection/components/pds-dropdown-menu/pds-dropdown-menu.js +2 -1
- package/dist/collection/components/pds-dropdown-menu/pds-dropdown-menu.js.map +1 -1
- package/dist/collection/components/pds-filters/pds-filter/pds-filter.css +6 -2
- package/dist/collection/components/pds-multiselect/multiselect-interface.js +2 -0
- package/dist/collection/components/pds-multiselect/multiselect-interface.js.map +1 -0
- package/dist/collection/components/pds-multiselect/pds-multiselect.css +232 -0
- package/dist/collection/components/pds-multiselect/pds-multiselect.js +1152 -0
- package/dist/collection/components/pds-multiselect/pds-multiselect.js.map +1 -0
- package/dist/collection/components/pds-multiselect/stories/pds-multiselect.stories.js +371 -0
- package/dist/collection/components/pds-popover/pds-popover.js +1 -1
- package/dist/collection/components/pds-progress/pds-progress.js +1 -1
- package/dist/collection/components/pds-property/pds-property.js +1 -1
- package/dist/collection/components/pds-radio/pds-radio.js +3 -3
- package/dist/collection/components/pds-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 +51 -6
- package/dist/collection/components/pds-table/pds-table-head-cell/pds-table-head-cell.js.map +1 -1
- package/dist/collection/components/pds-table/pds-table-row/pds-table-row.js +1 -1
- package/dist/collection/components/pds-table/stories/pds-table.stories.js +32 -4
- package/dist/collection/components/pds-tabs/pds-tab/pds-tab.css +6 -2
- package/dist/collection/components/pds-tabs/pds-tab/pds-tab.js +3 -3
- package/dist/collection/components/pds-tabs/pds-tabpanel/pds-tabpanel.js +1 -1
- package/dist/collection/components/pds-tabs/pds-tabs.js +1 -1
- 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/docs.json +960 -174
- package/dist/esm/{floating-ui.dom-DbQzNDdQ.js → floating-ui.dom-BO6p966C.js} +163 -42
- package/dist/esm/floating-ui.dom-BO6p966C.js.map +1 -0
- package/dist/esm/{index-xbb79yLt.js → index-DY8eSueV.js} +3 -3
- package/dist/esm/index-DY8eSueV.js.map +1 -0
- package/dist/esm/loader.js +1 -1
- package/dist/esm/pds-accordion.entry.js +1 -1
- package/dist/esm/pds-avatar.entry.js +1 -1
- package/dist/esm/pds-button.entry.js +1 -1
- package/dist/esm/pds-checkbox.entry.js +1 -1
- package/dist/esm/pds-chip.entry.js +1 -1
- package/dist/esm/pds-combobox.entry.js +66 -26
- package/dist/esm/pds-combobox.entry.js.map +1 -1
- package/dist/esm/pds-copytext.entry.js +1 -1
- package/dist/esm/pds-dropdown-menu-item.entry.js +1 -1
- package/dist/esm/pds-dropdown-menu-item.entry.js.map +1 -1
- package/dist/esm/pds-dropdown-menu.entry.js +4 -3
- package/dist/esm/pds-dropdown-menu.entry.js.map +1 -1
- package/dist/esm/pds-filter.entry.js +2 -2
- package/dist/esm/pds-filter.entry.js.map +1 -1
- package/dist/esm/pds-input.entry.js +1 -1
- package/dist/esm/pds-link.entry.js +1 -1
- package/dist/esm/pds-multiselect.entry.js +590 -0
- package/dist/esm/pds-multiselect.entry.js.map +1 -0
- package/dist/esm/pds-popover.entry.js +1 -1
- package/dist/esm/pds-progress.entry.js +1 -1
- package/dist/esm/pds-property.entry.js +1 -1
- package/dist/esm/pds-radio-group.entry.js +4 -4
- package/dist/esm/pds-radio.entry.js +4 -4
- package/dist/esm/pds-row.entry.js +1 -1
- package/dist/esm/pds-select.entry.js +2 -2
- package/dist/esm/pds-sortable-item.entry.js +2 -2
- package/dist/esm/pds-sortable.entry.js +1 -1
- package/dist/esm/pds-switch.entry.js +4 -4
- package/dist/esm/pds-tab.entry.js +4 -4
- package/dist/esm/pds-tab.entry.js.map +1 -1
- package/dist/esm/pds-table-body.entry.js +1 -1
- package/dist/esm/pds-table-cell.entry.js +2 -2
- package/dist/esm/pds-table-head-cell.entry.js +33 -6
- package/dist/esm/pds-table-head-cell.entry.js.map +1 -1
- package/dist/esm/pds-table-head.entry.js +1 -1
- package/dist/esm/pds-table-row.entry.js +1 -1
- package/dist/esm/pds-tabpanel.entry.js +1 -1
- package/dist/esm/pds-tabs.entry.js +1 -1
- package/dist/esm/pds-text.entry.js +1 -1
- package/dist/esm/pds-textarea.entry.js +5 -5
- package/dist/esm/pds-toast.entry.js +3 -3
- package/dist/esm/pds-tooltip.entry.js +3 -3
- package/dist/esm/pine-core.js +1 -1
- package/dist/esm-es5/floating-ui.dom-BO6p966C.js +2 -0
- package/dist/esm-es5/floating-ui.dom-BO6p966C.js.map +1 -0
- package/dist/esm-es5/{index-xbb79yLt.js → index-DY8eSueV.js} +1 -1
- package/dist/esm-es5/index-DY8eSueV.js.map +1 -0
- package/dist/esm-es5/loader.js +1 -1
- package/dist/esm-es5/pds-accordion.entry.js +1 -1
- package/dist/esm-es5/pds-avatar.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-combobox.entry.js.map +1 -1
- package/dist/esm-es5/pds-copytext.entry.js +1 -1
- package/dist/esm-es5/pds-dropdown-menu-item.entry.js +1 -1
- package/dist/esm-es5/pds-dropdown-menu-item.entry.js.map +1 -1
- package/dist/esm-es5/pds-dropdown-menu.entry.js +1 -1
- package/dist/esm-es5/pds-dropdown-menu.entry.js.map +1 -1
- package/dist/esm-es5/pds-filter.entry.js +1 -1
- package/dist/esm-es5/pds-filter.entry.js.map +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-multiselect.entry.js +2 -0
- package/dist/esm-es5/pds-multiselect.entry.js.map +1 -0
- 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 +1 -1
- package/dist/esm-es5/pds-switch.entry.js +1 -1
- package/dist/esm-es5/pds-tab.entry.js +1 -1
- package/dist/esm-es5/pds-tab.entry.js.map +1 -1
- package/dist/esm-es5/pds-table-body.entry.js +1 -1
- package/dist/esm-es5/pds-table-cell.entry.js +1 -1
- package/dist/esm-es5/pds-table-head-cell.entry.js +1 -1
- package/dist/esm-es5/pds-table-head-cell.entry.js.map +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-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/p-02f48157.system.entry.js +2 -0
- package/dist/pine-core/{p-b30424e3.system.entry.js → p-063afa19.system.entry.js} +2 -2
- package/dist/pine-core/p-0sPVsRFU.system.js.map +1 -0
- package/dist/pine-core/{p-15202869.entry.js → p-10dbe3e2.entry.js} +2 -2
- package/dist/pine-core/{p-5b7ab891.entry.js → p-12360e47.entry.js} +2 -2
- package/dist/pine-core/{p-ac14c8e3.system.entry.js → p-137b3289.system.entry.js} +2 -2
- package/dist/pine-core/{p-a737df90.entry.js → p-154a32f4.entry.js} +2 -2
- package/dist/pine-core/p-1ca116fa.entry.js +3 -0
- package/dist/pine-core/p-1ca116fa.entry.js.map +1 -0
- package/dist/pine-core/{p-a847fad3.entry.js → p-2537aacb.entry.js} +2 -2
- package/dist/pine-core/{p-4d25449c.entry.js → p-2cd0d520.entry.js} +2 -2
- package/dist/pine-core/{p-cd335ec2.system.entry.js → p-2fe330d0.system.entry.js} +2 -2
- package/dist/pine-core/p-30ea3668.system.entry.js +2 -0
- package/dist/pine-core/{p-1daf66d1.entry.js → p-31168da5.entry.js} +2 -2
- package/dist/pine-core/{p-732e2564.system.entry.js → p-325b3b0d.system.entry.js} +2 -2
- package/dist/pine-core/p-32c13896.system.entry.js +2 -0
- package/dist/pine-core/p-32c13896.system.entry.js.map +1 -0
- package/dist/pine-core/{p-95f2782c.entry.js → p-3f97a965.entry.js} +2 -2
- package/dist/pine-core/{p-ff182316.system.entry.js → p-40988b4d.system.entry.js} +2 -2
- package/dist/pine-core/{p-b02936d2.entry.js → p-415ba884.entry.js} +2 -2
- package/dist/pine-core/p-475bb340.entry.js +2 -0
- package/dist/pine-core/p-475bb340.entry.js.map +1 -0
- package/dist/pine-core/{p-CGo2P4Fr.system.js.map → p-4EbKXnVN.system.js.map} +1 -1
- package/dist/pine-core/{p-4SEjggIC.system.js.map → p-4alPHnzl.system.js.map} +1 -1
- package/dist/pine-core/{p-9bfaed7e.system.entry.js → p-4c23c75b.system.entry.js} +2 -2
- package/dist/pine-core/{p-bdf8bff3.system.entry.js → p-4d85945b.system.entry.js} +2 -2
- package/dist/pine-core/{p-3f8b0885.system.entry.js → p-4d9eee67.system.entry.js} +2 -2
- package/dist/pine-core/{p-4fD2iHS9.system.js.map → p-4f1cRPxE.system.js.map} +1 -1
- package/dist/pine-core/{p-e2104c31.entry.js → p-5040a872.entry.js} +2 -2
- package/dist/pine-core/p-51114c2b.system.entry.js +2 -0
- package/dist/pine-core/p-51114c2b.system.entry.js.map +1 -0
- package/dist/pine-core/{p-bbc349b3.system.entry.js → p-5b3ac18e.system.entry.js} +2 -2
- package/dist/pine-core/{p-bbc349b3.system.entry.js.map → p-5b3ac18e.system.entry.js.map} +1 -1
- package/dist/pine-core/{p-a08b60ae.entry.js → p-5b9110fe.entry.js} +2 -2
- package/dist/pine-core/{p-e3d76aa3.system.entry.js → p-5c982339.system.entry.js} +2 -2
- package/dist/pine-core/{p-94b1997d.system.entry.js → p-5e92aa34.system.entry.js} +2 -2
- package/dist/pine-core/{p-41d89f20.entry.js → p-5f2865df.entry.js} +2 -2
- package/dist/pine-core/{p-41d89f20.entry.js.map → p-5f2865df.entry.js.map} +1 -1
- package/dist/pine-core/p-6321b70b.entry.js +2 -0
- package/dist/pine-core/p-6321b70b.entry.js.map +1 -0
- package/dist/pine-core/p-63269b89.entry.js +2 -0
- package/dist/pine-core/p-6e862168.system.entry.js +2 -0
- package/dist/pine-core/{p-dcc6ad67.system.entry.js.map → p-6e862168.system.entry.js.map} +1 -1
- package/dist/pine-core/{p-cf2e1c07.system.entry.js → p-70aa35fc.system.entry.js} +2 -2
- package/dist/pine-core/{p-fc0ee6da.entry.js → p-757c7b80.entry.js} +2 -2
- package/dist/pine-core/{p-1df25b57.system.entry.js → p-78ee2e08.system.entry.js} +2 -2
- package/dist/pine-core/{p-2319298c.system.entry.js → p-7b5c8248.system.entry.js} +2 -2
- package/dist/pine-core/{p-dad604e4.system.entry.js → p-84c7f663.system.entry.js} +2 -2
- package/dist/pine-core/{p-f9ef2f74.system.entry.js → p-87eb8d4b.system.entry.js} +2 -2
- package/dist/pine-core/p-8b201c9a.system.entry.js +2 -0
- package/dist/pine-core/p-8b201c9a.system.entry.js.map +1 -0
- package/dist/pine-core/p-8eb1c168.entry.js +2 -0
- package/dist/pine-core/{p-e5bc22b6.system.entry.js → p-8fdb10c4.system.entry.js} +2 -2
- package/dist/pine-core/{p-232e4282.system.entry.js → p-90615423.system.entry.js} +2 -2
- package/dist/pine-core/{p-f79f6f08.system.entry.js → p-932283cf.system.entry.js} +2 -2
- package/dist/pine-core/{p-0b05708b.entry.js → p-9ada659b.entry.js} +2 -2
- package/dist/pine-core/{p-4778ae70.entry.js → p-9bb6cc3d.entry.js} +2 -2
- package/dist/pine-core/{p-3f6b9520.entry.js → p-9c928c44.entry.js} +2 -2
- package/dist/pine-core/{p-646ac76d.entry.js → p-9e4fc025.entry.js} +2 -2
- package/dist/pine-core/{p-e8aad8dc.entry.js → p-9eccf7b9.entry.js} +2 -2
- package/dist/pine-core/{p-WhfStK1C.system.js.map → p-B0Otb6kF.system.js.map} +1 -1
- package/dist/pine-core/{p-CUmDvil2.system.js.map → p-BA95hFrH.system.js.map} +1 -1
- package/dist/pine-core/{p-B4EMeCRH.system.js.map → p-BHjZufAO.system.js.map} +1 -1
- package/dist/pine-core/{p-DC2NZwtk.system.js.map → p-BJE1EIse.system.js.map} +1 -1
- package/dist/pine-core/{p-IH8oGXiE.system.js.map → p-BJtTt670.system.js.map} +1 -1
- package/dist/pine-core/p-BO6p966C.js +2 -0
- package/dist/pine-core/p-BO6p966C.js.map +1 -0
- package/dist/pine-core/{p-jBhqNO5u.system.js.map → p-BSRmAvMC.system.js.map} +1 -1
- package/dist/pine-core/{p-DyrNlfLT.system.js.map → p-BTe59phF.system.js.map} +1 -1
- package/dist/pine-core/{p-PMNjgK0C.system.js.map → p-BmKJgY0X.system.js.map} +1 -1
- package/dist/pine-core/{p-B0Y1Zs9b.system.js.map → p-Bn36FPag.system.js.map} +1 -1
- package/dist/pine-core/p-CBCT89qf.system.js.map +1 -0
- package/dist/pine-core/{p-DpeOrUYB.system.js.map → p-CG5jdxoZ.system.js.map} +1 -1
- package/dist/pine-core/{p-CKzDRRgx.system.js → p-CP48ADFM.system.js} +1 -1
- package/dist/pine-core/p-CP48ADFM.system.js.map +1 -0
- package/dist/pine-core/p-CR01VmO6.system.js.map +1 -0
- package/dist/pine-core/{p-CAnnMfDw.system.js.map → p-CSLo9qKS.system.js.map} +1 -1
- package/dist/pine-core/{p-DmVKABQy.system.js.map → p-CboCokff.system.js.map} +1 -1
- package/dist/pine-core/{p-XCTiWii8.system.js.map → p-CfZCQYfD.system.js.map} +1 -1
- package/dist/pine-core/{p-r_cS5LMw.system.js.map → p-Civ2VHC7.system.js.map} +1 -1
- package/dist/pine-core/{p-ChiYqN-p.system.js.map → p-CmquVvkz.system.js.map} +1 -1
- package/dist/pine-core/{p-tHMXRB8d.system.js.map → p-CpyTw2IQ.system.js.map} +1 -1
- package/dist/pine-core/{p-Brpt0zl5.system.js.map → p-Ct9csNdF.system.js.map} +1 -1
- package/dist/pine-core/{p-B_Co5NfG.system.js.map → p-Cun139qe.system.js.map} +1 -1
- package/dist/pine-core/p-D2eS6fhD.system.js +2 -0
- package/dist/pine-core/p-D2eS6fhD.system.js.map +1 -0
- package/dist/pine-core/{p-CTfQ_9yC.system.js.map → p-DFXWnbHE.system.js.map} +1 -1
- package/dist/pine-core/{p-xbb79yLt.js → p-DY8eSueV.js} +1 -1
- package/dist/pine-core/p-DY8eSueV.js.map +1 -0
- package/dist/pine-core/{p-CXGuX44q.system.js.map → p-DaXZLSA0.system.js.map} +1 -1
- package/dist/pine-core/{p-DB45WSlG.system.js.map → p-DwQewDCV.system.js.map} +1 -1
- package/dist/pine-core/p-JAVnELnm.system.js +1 -1
- package/dist/pine-core/{p-DAvCgWA9.system.js.map → p-Lk6DnEPT.system.js.map} +1 -1
- package/dist/pine-core/{p-Bjj4Pcbb.system.js.map → p-YqHO7iPZ.system.js.map} +1 -1
- package/dist/pine-core/{p-00568c20.system.entry.js → p-a07b8e45.system.entry.js} +2 -2
- package/dist/pine-core/p-a3bCMZF8.system.js.map +1 -0
- package/dist/pine-core/{p-c5013d20.entry.js → p-a3cdff85.entry.js} +2 -2
- package/dist/pine-core/{p-a4b16b32.system.entry.js → p-a5b24b1d.system.entry.js} +2 -2
- package/dist/pine-core/{p-596acf65.entry.js → p-a99e8caf.entry.js} +2 -2
- package/dist/pine-core/{p-002fe322.system.entry.js → p-ac240034.system.entry.js} +2 -2
- package/dist/pine-core/{p-fe28b975.system.entry.js → p-b9650ed9.system.entry.js} +2 -2
- package/dist/pine-core/{p-f8fba315.entry.js → p-bc85016b.entry.js} +2 -2
- package/dist/pine-core/{p-61588eac.entry.js → p-bddc9c5a.entry.js} +2 -2
- package/dist/pine-core/{p--gPqixhD.system.js.map → p-bs74TBAh.system.js.map} +1 -1
- package/dist/pine-core/{p-7de73ac5.entry.js → p-c24d11c7.entry.js} +2 -2
- package/dist/pine-core/p-c292e5da.system.entry.js +2 -0
- package/dist/pine-core/{p-6bc7d67f.system.entry.js.map → p-c292e5da.system.entry.js.map} +1 -1
- package/dist/pine-core/p-c68bceb1.entry.js +2 -0
- package/dist/pine-core/{p-478d1107.entry.js.map → p-c68bceb1.entry.js.map} +1 -1
- package/dist/pine-core/{p-0ace9c16.entry.js → p-c7c00a27.entry.js} +2 -2
- package/dist/pine-core/{p-cb6c279a.system.entry.js → p-cac3128b.system.entry.js} +2 -2
- package/dist/pine-core/p-ccab748a.entry.js +2 -0
- package/dist/pine-core/p-ccab748a.entry.js.map +1 -0
- package/dist/pine-core/{p-098cbcd7.system.entry.js → p-cfb24f97.system.entry.js} +2 -2
- package/dist/pine-core/p-d41112ad.entry.js +2 -0
- package/dist/pine-core/{p-f82b464c.entry.js.map → p-d41112ad.entry.js.map} +1 -1
- package/dist/pine-core/{p-6cba6806.entry.js → p-d6302edd.entry.js} +2 -2
- package/dist/pine-core/{p-04294b28.system.entry.js → p-daa36570.system.entry.js} +2 -2
- package/dist/pine-core/p-db06ad25.system.entry.js +4 -0
- package/dist/pine-core/p-db06ad25.system.entry.js.map +1 -0
- package/dist/pine-core/{p-15650db8.entry.js → p-e6dc2297.entry.js} +2 -2
- package/dist/pine-core/{p-9f53eb94.system.entry.js → p-e8cf15d7.system.entry.js} +2 -2
- package/dist/pine-core/p-eb026745.entry.js +2 -0
- package/dist/pine-core/{p-e011d7e5.entry.js → p-fa05ea14.entry.js} +2 -2
- package/dist/pine-core/{p-D8Jc24Qq.system.js.map → p-htODgUCV.system.js.map} +1 -1
- package/dist/pine-core/{p-DYq1Mef8.system.js.map → p-j0609tLE.system.js.map} +1 -1
- package/dist/pine-core/{p-DoP8Sl1O.system.js.map → p-rcUX-rt5.system.js.map} +1 -1
- package/dist/pine-core/{p-DSwKfctG.system.js.map → p-uyztncxJ.system.js.map} +1 -1
- package/dist/pine-core/pds-combobox.entry.esm.js.map +1 -1
- package/dist/pine-core/pds-dropdown-menu-item.entry.esm.js.map +1 -1
- package/dist/pine-core/pds-dropdown-menu.entry.esm.js.map +1 -1
- package/dist/pine-core/pds-filter.entry.esm.js.map +1 -1
- package/dist/pine-core/pds-multiselect.entry.esm.js.map +1 -0
- package/dist/pine-core/pds-tab.entry.esm.js.map +1 -1
- package/dist/pine-core/pds-table-head-cell.entry.esm.js.map +1 -1
- package/dist/pine-core/pine-core.esm.js +1 -1
- package/dist/types/components/pds-multiselect/multiselect-interface.d.ts +24 -0
- package/dist/types/components/pds-multiselect/pds-multiselect.d.ts +175 -0
- package/dist/types/components/pds-table/pds-table-head-cell/pds-table-head-cell.d.ts +10 -0
- package/dist/types/components.d.ts +250 -0
- package/dist/vscode.html-data.json +156 -0
- package/hydrate/index.js +918 -100
- package/hydrate/index.mjs +918 -100
- package/package.json +5 -5
- package/dist/cjs/floating-ui.dom-DTAy35nv.js.map +0 -1
- package/dist/cjs/index-CMeuo765.js.map +0 -1
- package/dist/esm/floating-ui.dom-DbQzNDdQ.js.map +0 -1
- package/dist/esm/index-xbb79yLt.js.map +0 -1
- package/dist/esm-es5/floating-ui.dom-DbQzNDdQ.js +0 -2
- package/dist/esm-es5/floating-ui.dom-DbQzNDdQ.js.map +0 -1
- package/dist/esm-es5/index-xbb79yLt.js.map +0 -1
- package/dist/pine-core/p-43990889.entry.js +0 -2
- package/dist/pine-core/p-478d1107.entry.js +0 -2
- package/dist/pine-core/p-534e44cb.system.entry.js +0 -4
- package/dist/pine-core/p-534e44cb.system.entry.js.map +0 -1
- package/dist/pine-core/p-54a56826.entry.js +0 -3
- package/dist/pine-core/p-54a56826.entry.js.map +0 -1
- package/dist/pine-core/p-553e4543.entry.js +0 -2
- package/dist/pine-core/p-553e4543.entry.js.map +0 -1
- package/dist/pine-core/p-5f6cd30d.system.entry.js +0 -2
- package/dist/pine-core/p-5f6cd30d.system.entry.js.map +0 -1
- package/dist/pine-core/p-6bc7d67f.system.entry.js +0 -2
- package/dist/pine-core/p-9e62c418.system.entry.js +0 -2
- package/dist/pine-core/p-9e62c418.system.entry.js.map +0 -1
- package/dist/pine-core/p-BOmQOnQe.system.js +0 -2
- package/dist/pine-core/p-BOmQOnQe.system.js.map +0 -1
- package/dist/pine-core/p-Bnp3zJ0T.system.js.map +0 -1
- package/dist/pine-core/p-CKzDRRgx.system.js.map +0 -1
- package/dist/pine-core/p-DbQzNDdQ.js +0 -2
- package/dist/pine-core/p-DbQzNDdQ.js.map +0 -1
- package/dist/pine-core/p-DfCCzxYg.system.js.map +0 -1
- package/dist/pine-core/p-X0_TH-op.system.js.map +0 -1
- package/dist/pine-core/p-ac2f9463.entry.js +0 -2
- package/dist/pine-core/p-ac2f9463.entry.js.map +0 -1
- package/dist/pine-core/p-b59a0c6b.system.entry.js +0 -2
- package/dist/pine-core/p-d0e336b7.system.entry.js +0 -2
- package/dist/pine-core/p-dcc6ad67.system.entry.js +0 -2
- package/dist/pine-core/p-e7e25d42.entry.js +0 -2
- package/dist/pine-core/p-f82b464c.entry.js +0 -2
- package/dist/pine-core/p-f92055f3.entry.js +0 -2
- package/dist/pine-core/p-xbb79yLt.js.map +0 -1
- /package/dist/pine-core/{p-b59a0c6b.system.entry.js.map → p-02f48157.system.entry.js.map} +0 -0
- /package/dist/pine-core/{p-b30424e3.system.entry.js.map → p-063afa19.system.entry.js.map} +0 -0
- /package/dist/pine-core/{p-15202869.entry.js.map → p-10dbe3e2.entry.js.map} +0 -0
- /package/dist/pine-core/{p-5b7ab891.entry.js.map → p-12360e47.entry.js.map} +0 -0
- /package/dist/pine-core/{p-ac14c8e3.system.entry.js.map → p-137b3289.system.entry.js.map} +0 -0
- /package/dist/pine-core/{p-a737df90.entry.js.map → p-154a32f4.entry.js.map} +0 -0
- /package/dist/pine-core/{p-a847fad3.entry.js.map → p-2537aacb.entry.js.map} +0 -0
- /package/dist/pine-core/{p-4d25449c.entry.js.map → p-2cd0d520.entry.js.map} +0 -0
- /package/dist/pine-core/{p-cd335ec2.system.entry.js.map → p-2fe330d0.system.entry.js.map} +0 -0
- /package/dist/pine-core/{p-d0e336b7.system.entry.js.map → p-30ea3668.system.entry.js.map} +0 -0
- /package/dist/pine-core/{p-1daf66d1.entry.js.map → p-31168da5.entry.js.map} +0 -0
- /package/dist/pine-core/{p-732e2564.system.entry.js.map → p-325b3b0d.system.entry.js.map} +0 -0
- /package/dist/pine-core/{p-95f2782c.entry.js.map → p-3f97a965.entry.js.map} +0 -0
- /package/dist/pine-core/{p-ff182316.system.entry.js.map → p-40988b4d.system.entry.js.map} +0 -0
- /package/dist/pine-core/{p-b02936d2.entry.js.map → p-415ba884.entry.js.map} +0 -0
- /package/dist/pine-core/{p-9bfaed7e.system.entry.js.map → p-4c23c75b.system.entry.js.map} +0 -0
- /package/dist/pine-core/{p-bdf8bff3.system.entry.js.map → p-4d85945b.system.entry.js.map} +0 -0
- /package/dist/pine-core/{p-3f8b0885.system.entry.js.map → p-4d9eee67.system.entry.js.map} +0 -0
- /package/dist/pine-core/{p-e2104c31.entry.js.map → p-5040a872.entry.js.map} +0 -0
- /package/dist/pine-core/{p-a08b60ae.entry.js.map → p-5b9110fe.entry.js.map} +0 -0
- /package/dist/pine-core/{p-e3d76aa3.system.entry.js.map → p-5c982339.system.entry.js.map} +0 -0
- /package/dist/pine-core/{p-94b1997d.system.entry.js.map → p-5e92aa34.system.entry.js.map} +0 -0
- /package/dist/pine-core/{p-43990889.entry.js.map → p-63269b89.entry.js.map} +0 -0
- /package/dist/pine-core/{p-cf2e1c07.system.entry.js.map → p-70aa35fc.system.entry.js.map} +0 -0
- /package/dist/pine-core/{p-fc0ee6da.entry.js.map → p-757c7b80.entry.js.map} +0 -0
- /package/dist/pine-core/{p-1df25b57.system.entry.js.map → p-78ee2e08.system.entry.js.map} +0 -0
- /package/dist/pine-core/{p-2319298c.system.entry.js.map → p-7b5c8248.system.entry.js.map} +0 -0
- /package/dist/pine-core/{p-dad604e4.system.entry.js.map → p-84c7f663.system.entry.js.map} +0 -0
- /package/dist/pine-core/{p-f9ef2f74.system.entry.js.map → p-87eb8d4b.system.entry.js.map} +0 -0
- /package/dist/pine-core/{p-e7e25d42.entry.js.map → p-8eb1c168.entry.js.map} +0 -0
- /package/dist/pine-core/{p-e5bc22b6.system.entry.js.map → p-8fdb10c4.system.entry.js.map} +0 -0
- /package/dist/pine-core/{p-232e4282.system.entry.js.map → p-90615423.system.entry.js.map} +0 -0
- /package/dist/pine-core/{p-f79f6f08.system.entry.js.map → p-932283cf.system.entry.js.map} +0 -0
- /package/dist/pine-core/{p-0b05708b.entry.js.map → p-9ada659b.entry.js.map} +0 -0
- /package/dist/pine-core/{p-4778ae70.entry.js.map → p-9bb6cc3d.entry.js.map} +0 -0
- /package/dist/pine-core/{p-3f6b9520.entry.js.map → p-9c928c44.entry.js.map} +0 -0
- /package/dist/pine-core/{p-646ac76d.entry.js.map → p-9e4fc025.entry.js.map} +0 -0
- /package/dist/pine-core/{p-e8aad8dc.entry.js.map → p-9eccf7b9.entry.js.map} +0 -0
- /package/dist/pine-core/{p-00568c20.system.entry.js.map → p-a07b8e45.system.entry.js.map} +0 -0
- /package/dist/pine-core/{p-c5013d20.entry.js.map → p-a3cdff85.entry.js.map} +0 -0
- /package/dist/pine-core/{p-a4b16b32.system.entry.js.map → p-a5b24b1d.system.entry.js.map} +0 -0
- /package/dist/pine-core/{p-596acf65.entry.js.map → p-a99e8caf.entry.js.map} +0 -0
- /package/dist/pine-core/{p-002fe322.system.entry.js.map → p-ac240034.system.entry.js.map} +0 -0
- /package/dist/pine-core/{p-fe28b975.system.entry.js.map → p-b9650ed9.system.entry.js.map} +0 -0
- /package/dist/pine-core/{p-f8fba315.entry.js.map → p-bc85016b.entry.js.map} +0 -0
- /package/dist/pine-core/{p-61588eac.entry.js.map → p-bddc9c5a.entry.js.map} +0 -0
- /package/dist/pine-core/{p-7de73ac5.entry.js.map → p-c24d11c7.entry.js.map} +0 -0
- /package/dist/pine-core/{p-0ace9c16.entry.js.map → p-c7c00a27.entry.js.map} +0 -0
- /package/dist/pine-core/{p-cb6c279a.system.entry.js.map → p-cac3128b.system.entry.js.map} +0 -0
- /package/dist/pine-core/{p-098cbcd7.system.entry.js.map → p-cfb24f97.system.entry.js.map} +0 -0
- /package/dist/pine-core/{p-6cba6806.entry.js.map → p-d6302edd.entry.js.map} +0 -0
- /package/dist/pine-core/{p-04294b28.system.entry.js.map → p-daa36570.system.entry.js.map} +0 -0
- /package/dist/pine-core/{p-15650db8.entry.js.map → p-e6dc2297.entry.js.map} +0 -0
- /package/dist/pine-core/{p-9f53eb94.system.entry.js.map → p-e8cf15d7.system.entry.js.map} +0 -0
- /package/dist/pine-core/{p-f92055f3.entry.js.map → p-eb026745.entry.js.map} +0 -0
- /package/dist/pine-core/{p-e011d7e5.entry.js.map → p-fa05ea14.entry.js.map} +0 -0
package/hydrate/index.mjs
CHANGED
|
@@ -3519,7 +3519,7 @@ class MockPdsModal {
|
|
|
3519
3519
|
}; }
|
|
3520
3520
|
}
|
|
3521
3521
|
|
|
3522
|
-
/* pds-icons v9.
|
|
3522
|
+
/* pds-icons v9.13.0, ES Modules */
|
|
3523
3523
|
|
|
3524
3524
|
const addCircle = "data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' class='pdsicon'><path fill-rule='evenodd' d='M12 3a9 9 0 1 0 0 18 9 9 0 0 0 0-18M1 12C1 5.925 5.925 1 12 1s11 4.925 11 11-4.925 11-11 11S1 18.075 1 12m11-5a1 1 0 0 1 1 1v3h3a1 1 0 1 1 0 2h-3v3a1 1 0 1 1-2 0v-3H8a1 1 0 1 1 0-2h3V8a1 1 0 0 1 1-1'/></svg>";
|
|
3525
3525
|
const caretDown = "data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' class='pdsicon'><path fill-rule='evenodd' d='M5.293 8.293a1 1 0 0 1 1.414 0L12 13.586l5.293-5.293a1 1 0 1 1 1.414 1.414l-6 6a1 1 0 0 1-1.414 0l-6-6a1 1 0 0 1 0-1.414'/></svg>";
|
|
@@ -4719,8 +4719,9 @@ function getOppositeAxis(axis) {
|
|
|
4719
4719
|
function getAxisLength(axis) {
|
|
4720
4720
|
return axis === 'y' ? 'height' : 'width';
|
|
4721
4721
|
}
|
|
4722
|
+
const yAxisSides = /*#__PURE__*/new Set(['top', 'bottom']);
|
|
4722
4723
|
function getSideAxis(placement) {
|
|
4723
|
-
return
|
|
4724
|
+
return yAxisSides.has(getSide(placement)) ? 'y' : 'x';
|
|
4724
4725
|
}
|
|
4725
4726
|
function getAlignmentAxis(placement) {
|
|
4726
4727
|
return getOppositeAxis(getSideAxis(placement));
|
|
@@ -4745,19 +4746,19 @@ function getExpandedPlacements(placement) {
|
|
|
4745
4746
|
function getOppositeAlignmentPlacement(placement) {
|
|
4746
4747
|
return placement.replace(/start|end/g, alignment => oppositeAlignmentMap[alignment]);
|
|
4747
4748
|
}
|
|
4749
|
+
const lrPlacement = ['left', 'right'];
|
|
4750
|
+
const rlPlacement = ['right', 'left'];
|
|
4751
|
+
const tbPlacement = ['top', 'bottom'];
|
|
4752
|
+
const btPlacement = ['bottom', 'top'];
|
|
4748
4753
|
function getSideList(side, isStart, rtl) {
|
|
4749
|
-
const lr = ['left', 'right'];
|
|
4750
|
-
const rl = ['right', 'left'];
|
|
4751
|
-
const tb = ['top', 'bottom'];
|
|
4752
|
-
const bt = ['bottom', 'top'];
|
|
4753
4754
|
switch (side) {
|
|
4754
4755
|
case 'top':
|
|
4755
4756
|
case 'bottom':
|
|
4756
|
-
if (rtl) return isStart ?
|
|
4757
|
-
return isStart ?
|
|
4757
|
+
if (rtl) return isStart ? rlPlacement : lrPlacement;
|
|
4758
|
+
return isStart ? lrPlacement : rlPlacement;
|
|
4758
4759
|
case 'left':
|
|
4759
4760
|
case 'right':
|
|
4760
|
-
return isStart ?
|
|
4761
|
+
return isStart ? tbPlacement : btPlacement;
|
|
4761
4762
|
default:
|
|
4762
4763
|
return [];
|
|
4763
4764
|
}
|
|
@@ -5095,10 +5096,11 @@ const flip$1 = function (options) {
|
|
|
5095
5096
|
const nextIndex = (((_middlewareData$flip2 = middlewareData.flip) == null ? void 0 : _middlewareData$flip2.index) || 0) + 1;
|
|
5096
5097
|
const nextPlacement = placements[nextIndex];
|
|
5097
5098
|
if (nextPlacement) {
|
|
5098
|
-
var _overflowsData$;
|
|
5099
5099
|
const ignoreCrossAxisOverflow = checkCrossAxis === 'alignment' ? initialSideAxis !== getSideAxis(nextPlacement) : false;
|
|
5100
|
-
|
|
5101
|
-
if
|
|
5100
|
+
if (!ignoreCrossAxisOverflow ||
|
|
5101
|
+
// We leave the current main axis only if every placement on that axis
|
|
5102
|
+
// overflows the main axis.
|
|
5103
|
+
overflowsData.every(d => getSideAxis(d.placement) === initialSideAxis ? d.overflows[0] > 0 : true)) {
|
|
5102
5104
|
// Try next placement and re-run the lifecycle.
|
|
5103
5105
|
return {
|
|
5104
5106
|
data: {
|
|
@@ -5155,6 +5157,8 @@ const flip$1 = function (options) {
|
|
|
5155
5157
|
};
|
|
5156
5158
|
};
|
|
5157
5159
|
|
|
5160
|
+
const originSides = /*#__PURE__*/new Set(['left', 'top']);
|
|
5161
|
+
|
|
5158
5162
|
// For type backwards-compatibility, the `OffsetOptions` type was also
|
|
5159
5163
|
// Derivable.
|
|
5160
5164
|
|
|
@@ -5168,7 +5172,7 @@ async function convertValueToCoords(state, options) {
|
|
|
5168
5172
|
const side = getSide(placement);
|
|
5169
5173
|
const alignment = getAlignment(placement);
|
|
5170
5174
|
const isVertical = getSideAxis(placement) === 'y';
|
|
5171
|
-
const mainAxisMulti =
|
|
5175
|
+
const mainAxisMulti = originSides.has(side) ? -1 : 1;
|
|
5172
5176
|
const crossAxisMulti = rtl && isVertical ? -1 : 1;
|
|
5173
5177
|
const rawValue = evaluate(options, state);
|
|
5174
5178
|
|
|
@@ -5317,6 +5321,90 @@ const shift$1 = function (options) {
|
|
|
5317
5321
|
};
|
|
5318
5322
|
};
|
|
5319
5323
|
|
|
5324
|
+
/**
|
|
5325
|
+
* Provides data that allows you to change the size of the floating element —
|
|
5326
|
+
* for instance, prevent it from overflowing the clipping boundary or match the
|
|
5327
|
+
* width of the reference element.
|
|
5328
|
+
* @see https://floating-ui.com/docs/size
|
|
5329
|
+
*/
|
|
5330
|
+
const size$1 = function (options) {
|
|
5331
|
+
if (options === void 0) {
|
|
5332
|
+
options = {};
|
|
5333
|
+
}
|
|
5334
|
+
return {
|
|
5335
|
+
name: 'size',
|
|
5336
|
+
options,
|
|
5337
|
+
async fn(state) {
|
|
5338
|
+
var _state$middlewareData, _state$middlewareData2;
|
|
5339
|
+
const {
|
|
5340
|
+
placement,
|
|
5341
|
+
rects,
|
|
5342
|
+
platform,
|
|
5343
|
+
elements
|
|
5344
|
+
} = state;
|
|
5345
|
+
const {
|
|
5346
|
+
apply = () => {},
|
|
5347
|
+
...detectOverflowOptions
|
|
5348
|
+
} = evaluate(options, state);
|
|
5349
|
+
const overflow = await detectOverflow(state, detectOverflowOptions);
|
|
5350
|
+
const side = getSide(placement);
|
|
5351
|
+
const alignment = getAlignment(placement);
|
|
5352
|
+
const isYAxis = getSideAxis(placement) === 'y';
|
|
5353
|
+
const {
|
|
5354
|
+
width,
|
|
5355
|
+
height
|
|
5356
|
+
} = rects.floating;
|
|
5357
|
+
let heightSide;
|
|
5358
|
+
let widthSide;
|
|
5359
|
+
if (side === 'top' || side === 'bottom') {
|
|
5360
|
+
heightSide = side;
|
|
5361
|
+
widthSide = alignment === ((await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating))) ? 'start' : 'end') ? 'left' : 'right';
|
|
5362
|
+
} else {
|
|
5363
|
+
widthSide = side;
|
|
5364
|
+
heightSide = alignment === 'end' ? 'top' : 'bottom';
|
|
5365
|
+
}
|
|
5366
|
+
const maximumClippingHeight = height - overflow.top - overflow.bottom;
|
|
5367
|
+
const maximumClippingWidth = width - overflow.left - overflow.right;
|
|
5368
|
+
const overflowAvailableHeight = min(height - overflow[heightSide], maximumClippingHeight);
|
|
5369
|
+
const overflowAvailableWidth = min(width - overflow[widthSide], maximumClippingWidth);
|
|
5370
|
+
const noShift = !state.middlewareData.shift;
|
|
5371
|
+
let availableHeight = overflowAvailableHeight;
|
|
5372
|
+
let availableWidth = overflowAvailableWidth;
|
|
5373
|
+
if ((_state$middlewareData = state.middlewareData.shift) != null && _state$middlewareData.enabled.x) {
|
|
5374
|
+
availableWidth = maximumClippingWidth;
|
|
5375
|
+
}
|
|
5376
|
+
if ((_state$middlewareData2 = state.middlewareData.shift) != null && _state$middlewareData2.enabled.y) {
|
|
5377
|
+
availableHeight = maximumClippingHeight;
|
|
5378
|
+
}
|
|
5379
|
+
if (noShift && !alignment) {
|
|
5380
|
+
const xMin = max(overflow.left, 0);
|
|
5381
|
+
const xMax = max(overflow.right, 0);
|
|
5382
|
+
const yMin = max(overflow.top, 0);
|
|
5383
|
+
const yMax = max(overflow.bottom, 0);
|
|
5384
|
+
if (isYAxis) {
|
|
5385
|
+
availableWidth = width - 2 * (xMin !== 0 || xMax !== 0 ? xMin + xMax : max(overflow.left, overflow.right));
|
|
5386
|
+
} else {
|
|
5387
|
+
availableHeight = height - 2 * (yMin !== 0 || yMax !== 0 ? yMin + yMax : max(overflow.top, overflow.bottom));
|
|
5388
|
+
}
|
|
5389
|
+
}
|
|
5390
|
+
await apply({
|
|
5391
|
+
...state,
|
|
5392
|
+
availableWidth,
|
|
5393
|
+
availableHeight
|
|
5394
|
+
});
|
|
5395
|
+
const nextDimensions = await platform.getDimensions(elements.floating);
|
|
5396
|
+
if (width !== nextDimensions.width || height !== nextDimensions.height) {
|
|
5397
|
+
return {
|
|
5398
|
+
reset: {
|
|
5399
|
+
rects: true
|
|
5400
|
+
}
|
|
5401
|
+
};
|
|
5402
|
+
}
|
|
5403
|
+
return {};
|
|
5404
|
+
}
|
|
5405
|
+
};
|
|
5406
|
+
};
|
|
5407
|
+
|
|
5320
5408
|
function hasWindow() {
|
|
5321
5409
|
return typeof window !== 'undefined';
|
|
5322
5410
|
}
|
|
@@ -5361,6 +5449,7 @@ function isShadowRoot(value) {
|
|
|
5361
5449
|
}
|
|
5362
5450
|
return value instanceof ShadowRoot || value instanceof getWindow(value).ShadowRoot;
|
|
5363
5451
|
}
|
|
5452
|
+
const invalidOverflowDisplayValues = /*#__PURE__*/new Set(['inline', 'contents']);
|
|
5364
5453
|
function isOverflowElement(element) {
|
|
5365
5454
|
const {
|
|
5366
5455
|
overflow,
|
|
@@ -5368,27 +5457,32 @@ function isOverflowElement(element) {
|
|
|
5368
5457
|
overflowY,
|
|
5369
5458
|
display
|
|
5370
5459
|
} = getComputedStyle$1(element);
|
|
5371
|
-
return /auto|scroll|overlay|hidden|clip/.test(overflow + overflowY + overflowX) && !
|
|
5460
|
+
return /auto|scroll|overlay|hidden|clip/.test(overflow + overflowY + overflowX) && !invalidOverflowDisplayValues.has(display);
|
|
5372
5461
|
}
|
|
5462
|
+
const tableElements = /*#__PURE__*/new Set(['table', 'td', 'th']);
|
|
5373
5463
|
function isTableElement(element) {
|
|
5374
|
-
return
|
|
5464
|
+
return tableElements.has(getNodeName(element));
|
|
5375
5465
|
}
|
|
5466
|
+
const topLayerSelectors = [':popover-open', ':modal'];
|
|
5376
5467
|
function isTopLayer(element) {
|
|
5377
|
-
return
|
|
5468
|
+
return topLayerSelectors.some(selector => {
|
|
5378
5469
|
try {
|
|
5379
5470
|
return element.matches(selector);
|
|
5380
|
-
} catch (
|
|
5471
|
+
} catch (_e) {
|
|
5381
5472
|
return false;
|
|
5382
5473
|
}
|
|
5383
5474
|
});
|
|
5384
5475
|
}
|
|
5476
|
+
const transformProperties = ['transform', 'translate', 'scale', 'rotate', 'perspective'];
|
|
5477
|
+
const willChangeValues = ['transform', 'translate', 'scale', 'rotate', 'perspective', 'filter'];
|
|
5478
|
+
const containValues = ['paint', 'layout', 'strict', 'content'];
|
|
5385
5479
|
function isContainingBlock(elementOrCss) {
|
|
5386
5480
|
const webkit = isWebKit();
|
|
5387
5481
|
const css = isElement(elementOrCss) ? getComputedStyle$1(elementOrCss) : elementOrCss;
|
|
5388
5482
|
|
|
5389
5483
|
// https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block
|
|
5390
5484
|
// https://drafts.csswg.org/css-transforms-2/#individual-transforms
|
|
5391
|
-
return
|
|
5485
|
+
return transformProperties.some(value => css[value] ? css[value] !== 'none' : false) || (css.containerType ? css.containerType !== 'normal' : false) || !webkit && (css.backdropFilter ? css.backdropFilter !== 'none' : false) || !webkit && (css.filter ? css.filter !== 'none' : false) || willChangeValues.some(value => (css.willChange || '').includes(value)) || containValues.some(value => (css.contain || '').includes(value));
|
|
5392
5486
|
}
|
|
5393
5487
|
function getContainingBlock(element) {
|
|
5394
5488
|
let currentNode = getParentNode(element);
|
|
@@ -5406,8 +5500,9 @@ function isWebKit() {
|
|
|
5406
5500
|
if (typeof CSS === 'undefined' || !CSS.supports) return false;
|
|
5407
5501
|
return CSS.supports('-webkit-backdrop-filter', 'none');
|
|
5408
5502
|
}
|
|
5503
|
+
const lastTraversableNodeNames = /*#__PURE__*/new Set(['html', 'body', '#document']);
|
|
5409
5504
|
function isLastTraversableNode(node) {
|
|
5410
|
-
return
|
|
5505
|
+
return lastTraversableNodeNames.has(getNodeName(node));
|
|
5411
5506
|
}
|
|
5412
5507
|
function getComputedStyle$1(element) {
|
|
5413
5508
|
return getWindow(element).getComputedStyle(element);
|
|
@@ -5607,14 +5702,9 @@ function getWindowScrollBarX(element, rect) {
|
|
|
5607
5702
|
return rect.left + leftScroll;
|
|
5608
5703
|
}
|
|
5609
5704
|
|
|
5610
|
-
function getHTMLOffset(documentElement, scroll
|
|
5611
|
-
if (ignoreScrollbarX === void 0) {
|
|
5612
|
-
ignoreScrollbarX = false;
|
|
5613
|
-
}
|
|
5705
|
+
function getHTMLOffset(documentElement, scroll) {
|
|
5614
5706
|
const htmlRect = documentElement.getBoundingClientRect();
|
|
5615
|
-
const x = htmlRect.left + scroll.scrollLeft - (
|
|
5616
|
-
// RTL <body> scrollbar.
|
|
5617
|
-
getWindowScrollBarX(documentElement, htmlRect));
|
|
5707
|
+
const x = htmlRect.left + scroll.scrollLeft - getWindowScrollBarX(documentElement, htmlRect);
|
|
5618
5708
|
const y = htmlRect.top + scroll.scrollTop;
|
|
5619
5709
|
return {
|
|
5620
5710
|
x,
|
|
@@ -5653,7 +5743,7 @@ function convertOffsetParentRelativeRectToViewportRelativeRect(_ref) {
|
|
|
5653
5743
|
offsets.y = offsetRect.y + offsetParent.clientTop;
|
|
5654
5744
|
}
|
|
5655
5745
|
}
|
|
5656
|
-
const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll
|
|
5746
|
+
const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll) : createCoords(0);
|
|
5657
5747
|
return {
|
|
5658
5748
|
width: rect.width * scale.x,
|
|
5659
5749
|
height: rect.height * scale.y,
|
|
@@ -5687,6 +5777,10 @@ function getDocumentRect(element) {
|
|
|
5687
5777
|
};
|
|
5688
5778
|
}
|
|
5689
5779
|
|
|
5780
|
+
// Safety check: ensure the scrollbar space is reasonable in case this
|
|
5781
|
+
// calculation is affected by unusual styles.
|
|
5782
|
+
// Most scrollbars leave 15-18px of space.
|
|
5783
|
+
const SCROLLBAR_MAX = 25;
|
|
5690
5784
|
function getViewportRect(element, strategy) {
|
|
5691
5785
|
const win = getWindow(element);
|
|
5692
5786
|
const html = getDocumentElement(element);
|
|
@@ -5704,6 +5798,24 @@ function getViewportRect(element, strategy) {
|
|
|
5704
5798
|
y = visualViewport.offsetTop;
|
|
5705
5799
|
}
|
|
5706
5800
|
}
|
|
5801
|
+
const windowScrollbarX = getWindowScrollBarX(html);
|
|
5802
|
+
// <html> `overflow: hidden` + `scrollbar-gutter: stable` reduces the
|
|
5803
|
+
// visual width of the <html> but this is not considered in the size
|
|
5804
|
+
// of `html.clientWidth`.
|
|
5805
|
+
if (windowScrollbarX <= 0) {
|
|
5806
|
+
const doc = html.ownerDocument;
|
|
5807
|
+
const body = doc.body;
|
|
5808
|
+
const bodyStyles = getComputedStyle(body);
|
|
5809
|
+
const bodyMarginInline = doc.compatMode === 'CSS1Compat' ? parseFloat(bodyStyles.marginLeft) + parseFloat(bodyStyles.marginRight) || 0 : 0;
|
|
5810
|
+
const clippingStableScrollbarWidth = Math.abs(html.clientWidth - body.clientWidth - bodyMarginInline);
|
|
5811
|
+
if (clippingStableScrollbarWidth <= SCROLLBAR_MAX) {
|
|
5812
|
+
width -= clippingStableScrollbarWidth;
|
|
5813
|
+
}
|
|
5814
|
+
} else if (windowScrollbarX <= SCROLLBAR_MAX) {
|
|
5815
|
+
// If the <body> scrollbar is on the left, the width needs to be extended
|
|
5816
|
+
// by the scrollbar amount so there isn't extra space on the right.
|
|
5817
|
+
width += windowScrollbarX;
|
|
5818
|
+
}
|
|
5707
5819
|
return {
|
|
5708
5820
|
width,
|
|
5709
5821
|
height,
|
|
@@ -5712,6 +5824,7 @@ function getViewportRect(element, strategy) {
|
|
|
5712
5824
|
};
|
|
5713
5825
|
}
|
|
5714
5826
|
|
|
5827
|
+
const absoluteOrFixed = /*#__PURE__*/new Set(['absolute', 'fixed']);
|
|
5715
5828
|
// Returns the inner client rect, subtracting scrollbars if present.
|
|
5716
5829
|
function getInnerBoundingClientRect(element, strategy) {
|
|
5717
5830
|
const clientRect = getBoundingClientRect(element, true, strategy === 'fixed');
|
|
@@ -5776,7 +5889,7 @@ function getClippingElementAncestors(element, cache) {
|
|
|
5776
5889
|
if (!currentNodeIsContaining && computedStyle.position === 'fixed') {
|
|
5777
5890
|
currentContainingBlockComputedStyle = null;
|
|
5778
5891
|
}
|
|
5779
|
-
const shouldDropCurrentNode = elementIsFixed ? !currentNodeIsContaining && !currentContainingBlockComputedStyle : !currentNodeIsContaining && computedStyle.position === 'static' && !!currentContainingBlockComputedStyle &&
|
|
5892
|
+
const shouldDropCurrentNode = elementIsFixed ? !currentNodeIsContaining && !currentContainingBlockComputedStyle : !currentNodeIsContaining && computedStyle.position === 'static' && !!currentContainingBlockComputedStyle && absoluteOrFixed.has(currentContainingBlockComputedStyle.position) || isOverflowElement(currentNode) && !currentNodeIsContaining && hasFixedPositionAncestor(element, currentNode);
|
|
5780
5893
|
if (shouldDropCurrentNode) {
|
|
5781
5894
|
// Drop non-containing blocks.
|
|
5782
5895
|
result = result.filter(ancestor => ancestor !== currentNode);
|
|
@@ -6148,6 +6261,14 @@ const shift = shift$1;
|
|
|
6148
6261
|
*/
|
|
6149
6262
|
const flip = flip$1;
|
|
6150
6263
|
|
|
6264
|
+
/**
|
|
6265
|
+
* Provides data that allows you to change the size of the floating element —
|
|
6266
|
+
* for instance, prevent it from overflowing the clipping boundary or match the
|
|
6267
|
+
* width of the reference element.
|
|
6268
|
+
* @see https://floating-ui.com/docs/size
|
|
6269
|
+
*/
|
|
6270
|
+
const size = size$1;
|
|
6271
|
+
|
|
6151
6272
|
/**
|
|
6152
6273
|
* Computes the `x` and `y` coordinates that will place the floating element
|
|
6153
6274
|
* next to a given reference element.
|
|
@@ -6171,7 +6292,7 @@ const computePosition = (reference, floating, options) => {
|
|
|
6171
6292
|
});
|
|
6172
6293
|
};
|
|
6173
6294
|
|
|
6174
|
-
/*! @license DOMPurify 3.
|
|
6295
|
+
/*! @license DOMPurify 3.3.1 | (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.1/LICENSE */
|
|
6175
6296
|
|
|
6176
6297
|
const {
|
|
6177
6298
|
entries,
|
|
@@ -6200,12 +6321,18 @@ if (!seal) {
|
|
|
6200
6321
|
};
|
|
6201
6322
|
}
|
|
6202
6323
|
if (!apply) {
|
|
6203
|
-
apply = function apply(
|
|
6204
|
-
|
|
6324
|
+
apply = function apply(func, thisArg) {
|
|
6325
|
+
for (var _len = arguments.length, args = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {
|
|
6326
|
+
args[_key - 2] = arguments[_key];
|
|
6327
|
+
}
|
|
6328
|
+
return func.apply(thisArg, args);
|
|
6205
6329
|
};
|
|
6206
6330
|
}
|
|
6207
6331
|
if (!construct) {
|
|
6208
|
-
construct = function construct(Func
|
|
6332
|
+
construct = function construct(Func) {
|
|
6333
|
+
for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {
|
|
6334
|
+
args[_key2 - 1] = arguments[_key2];
|
|
6335
|
+
}
|
|
6209
6336
|
return new Func(...args);
|
|
6210
6337
|
};
|
|
6211
6338
|
}
|
|
@@ -6234,8 +6361,8 @@ function unapply(func) {
|
|
|
6234
6361
|
if (thisArg instanceof RegExp) {
|
|
6235
6362
|
thisArg.lastIndex = 0;
|
|
6236
6363
|
}
|
|
6237
|
-
for (var
|
|
6238
|
-
args[
|
|
6364
|
+
for (var _len3 = arguments.length, args = new Array(_len3 > 1 ? _len3 - 1 : 0), _key3 = 1; _key3 < _len3; _key3++) {
|
|
6365
|
+
args[_key3 - 1] = arguments[_key3];
|
|
6239
6366
|
}
|
|
6240
6367
|
return apply(func, thisArg, args);
|
|
6241
6368
|
};
|
|
@@ -6246,12 +6373,12 @@ function unapply(func) {
|
|
|
6246
6373
|
* @param func - The constructor function to be wrapped and called.
|
|
6247
6374
|
* @returns A new function that constructs an instance of the given constructor function with the provided arguments.
|
|
6248
6375
|
*/
|
|
6249
|
-
function unconstruct(
|
|
6376
|
+
function unconstruct(Func) {
|
|
6250
6377
|
return function () {
|
|
6251
|
-
for (var
|
|
6252
|
-
args[
|
|
6378
|
+
for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {
|
|
6379
|
+
args[_key4] = arguments[_key4];
|
|
6253
6380
|
}
|
|
6254
|
-
return construct(
|
|
6381
|
+
return construct(Func, args);
|
|
6255
6382
|
};
|
|
6256
6383
|
}
|
|
6257
6384
|
/**
|
|
@@ -6350,8 +6477,8 @@ function lookupGetter(object, prop) {
|
|
|
6350
6477
|
return fallbackValue;
|
|
6351
6478
|
}
|
|
6352
6479
|
|
|
6353
|
-
const html$1 = freeze(['a', 'abbr', 'acronym', 'address', 'area', 'article', 'aside', 'audio', 'b', 'bdi', 'bdo', 'big', 'blink', 'blockquote', 'body', 'br', 'button', 'canvas', 'caption', 'center', 'cite', 'code', 'col', 'colgroup', 'content', 'data', 'datalist', 'dd', 'decorator', 'del', 'details', 'dfn', 'dialog', 'dir', 'div', 'dl', 'dt', 'element', 'em', 'fieldset', 'figcaption', 'figure', 'font', 'footer', 'form', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'head', 'header', 'hgroup', 'hr', 'html', 'i', 'img', 'input', 'ins', 'kbd', 'label', 'legend', 'li', 'main', 'map', 'mark', 'marquee', 'menu', 'menuitem', 'meter', 'nav', 'nobr', 'ol', 'optgroup', 'option', 'output', 'p', 'picture', 'pre', 'progress', 'q', 'rp', 'rt', 'ruby', 's', 'samp', 'section', 'select', 'shadow', 'small', 'source', 'spacer', 'span', 'strike', 'strong', 'style', 'sub', 'summary', 'sup', 'table', 'tbody', 'td', 'template', 'textarea', 'tfoot', 'th', 'thead', 'time', 'tr', 'track', 'tt', 'u', 'ul', 'var', 'video', 'wbr']);
|
|
6354
|
-
const svg$1 = freeze(['svg', 'a', 'altglyph', 'altglyphdef', 'altglyphitem', 'animatecolor', 'animatemotion', 'animatetransform', 'circle', 'clippath', 'defs', 'desc', 'ellipse', 'filter', 'font', 'g', 'glyph', 'glyphref', 'hkern', 'image', 'line', 'lineargradient', 'marker', 'mask', 'metadata', 'mpath', 'path', 'pattern', 'polygon', 'polyline', 'radialgradient', 'rect', 'stop', 'style', 'switch', 'symbol', 'text', 'textpath', 'title', 'tref', 'tspan', 'view', 'vkern']);
|
|
6480
|
+
const html$1 = freeze(['a', 'abbr', 'acronym', 'address', 'area', 'article', 'aside', 'audio', 'b', 'bdi', 'bdo', 'big', 'blink', 'blockquote', 'body', 'br', 'button', 'canvas', 'caption', 'center', 'cite', 'code', 'col', 'colgroup', 'content', 'data', 'datalist', 'dd', 'decorator', 'del', 'details', 'dfn', 'dialog', 'dir', 'div', 'dl', 'dt', 'element', 'em', 'fieldset', 'figcaption', 'figure', 'font', 'footer', 'form', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'head', 'header', 'hgroup', 'hr', 'html', 'i', 'img', 'input', 'ins', 'kbd', 'label', 'legend', 'li', 'main', 'map', 'mark', 'marquee', 'menu', 'menuitem', 'meter', 'nav', 'nobr', 'ol', 'optgroup', 'option', 'output', 'p', 'picture', 'pre', 'progress', 'q', 'rp', 'rt', 'ruby', 's', 'samp', 'search', 'section', 'select', 'shadow', 'slot', 'small', 'source', 'spacer', 'span', 'strike', 'strong', 'style', 'sub', 'summary', 'sup', 'table', 'tbody', 'td', 'template', 'textarea', 'tfoot', 'th', 'thead', 'time', 'tr', 'track', 'tt', 'u', 'ul', 'var', 'video', 'wbr']);
|
|
6481
|
+
const svg$1 = freeze(['svg', 'a', 'altglyph', 'altglyphdef', 'altglyphitem', 'animatecolor', 'animatemotion', 'animatetransform', 'circle', 'clippath', 'defs', 'desc', 'ellipse', 'enterkeyhint', 'exportparts', 'filter', 'font', 'g', 'glyph', 'glyphref', 'hkern', 'image', 'inputmode', 'line', 'lineargradient', 'marker', 'mask', 'metadata', 'mpath', 'part', 'path', 'pattern', 'polygon', 'polyline', 'radialgradient', 'rect', 'stop', 'style', 'switch', 'symbol', 'text', 'textpath', 'title', 'tref', 'tspan', 'view', 'vkern']);
|
|
6355
6482
|
const svgFilters = freeze(['feBlend', 'feColorMatrix', 'feComponentTransfer', 'feComposite', 'feConvolveMatrix', 'feDiffuseLighting', 'feDisplacementMap', 'feDistantLight', 'feDropShadow', 'feFlood', 'feFuncA', 'feFuncB', 'feFuncG', 'feFuncR', 'feGaussianBlur', 'feImage', 'feMerge', 'feMergeNode', 'feMorphology', 'feOffset', 'fePointLight', 'feSpecularLighting', 'feSpotLight', 'feTile', 'feTurbulence']);
|
|
6356
6483
|
// List of SVG elements that are disallowed by default.
|
|
6357
6484
|
// We still need to know them so that we can do namespace
|
|
@@ -6364,8 +6491,8 @@ const mathMl$1 = freeze(['math', 'menclose', 'merror', 'mfenced', 'mfrac', 'mgly
|
|
|
6364
6491
|
const mathMlDisallowed = freeze(['maction', 'maligngroup', 'malignmark', 'mlongdiv', 'mscarries', 'mscarry', 'msgroup', 'mstack', 'msline', 'msrow', 'semantics', 'annotation', 'annotation-xml', 'mprescripts', 'none']);
|
|
6365
6492
|
const text = freeze(['#text']);
|
|
6366
6493
|
|
|
6367
|
-
const html = freeze(['accept', 'action', 'align', 'alt', 'autocapitalize', 'autocomplete', 'autopictureinpicture', 'autoplay', 'background', 'bgcolor', 'border', 'capture', 'cellpadding', 'cellspacing', 'checked', 'cite', 'class', 'clear', 'color', 'cols', 'colspan', 'controls', 'controlslist', 'coords', 'crossorigin', 'datetime', 'decoding', 'default', 'dir', 'disabled', 'disablepictureinpicture', 'disableremoteplayback', 'download', 'draggable', 'enctype', 'enterkeyhint', 'face', 'for', 'headers', 'height', 'hidden', 'high', 'href', 'hreflang', 'id', 'inputmode', 'integrity', 'ismap', 'kind', 'label', 'lang', 'list', 'loading', 'loop', 'low', 'max', 'maxlength', 'media', 'method', 'min', 'minlength', 'multiple', 'muted', 'name', 'nonce', 'noshade', 'novalidate', 'nowrap', 'open', 'optimum', 'pattern', 'placeholder', 'playsinline', 'popover', 'popovertarget', 'popovertargetaction', 'poster', 'preload', 'pubdate', 'radiogroup', 'readonly', 'rel', 'required', 'rev', 'reversed', 'role', 'rows', 'rowspan', 'spellcheck', 'scope', 'selected', 'shape', 'size', 'sizes', 'span', 'srclang', 'start', 'src', 'srcset', 'step', 'style', 'summary', 'tabindex', 'title', 'translate', 'type', 'usemap', 'valign', 'value', 'width', 'wrap', 'xmlns', 'slot']);
|
|
6368
|
-
const svg = freeze(['accent-height', 'accumulate', 'additive', 'alignment-baseline', 'amplitude', 'ascent', 'attributename', 'attributetype', 'azimuth', 'basefrequency', 'baseline-shift', 'begin', 'bias', 'by', 'class', 'clip', 'clippathunits', 'clip-path', 'clip-rule', 'color', 'color-interpolation', 'color-interpolation-filters', 'color-profile', 'color-rendering', 'cx', 'cy', 'd', 'dx', 'dy', 'diffuseconstant', 'direction', 'display', 'divisor', 'dur', 'edgemode', 'elevation', 'end', 'exponent', 'fill', 'fill-opacity', 'fill-rule', 'filter', 'filterunits', 'flood-color', 'flood-opacity', 'font-family', 'font-size', 'font-size-adjust', 'font-stretch', 'font-style', 'font-variant', 'font-weight', 'fx', 'fy', 'g1', 'g2', 'glyph-name', 'glyphref', 'gradientunits', 'gradienttransform', 'height', 'href', 'id', 'image-rendering', 'in', 'in2', 'intercept', 'k', 'k1', 'k2', 'k3', 'k4', 'kerning', 'keypoints', 'keysplines', 'keytimes', 'lang', 'lengthadjust', 'letter-spacing', 'kernelmatrix', 'kernelunitlength', 'lighting-color', 'local', 'marker-end', 'marker-mid', 'marker-start', 'markerheight', 'markerunits', 'markerwidth', 'maskcontentunits', 'maskunits', 'max', 'mask', 'media', 'method', 'mode', 'min', 'name', 'numoctaves', 'offset', 'operator', 'opacity', 'order', 'orient', 'orientation', 'origin', 'overflow', 'paint-order', 'path', 'pathlength', 'patterncontentunits', 'patterntransform', 'patternunits', 'points', 'preservealpha', 'preserveaspectratio', 'primitiveunits', 'r', 'rx', 'ry', 'radius', 'refx', 'refy', 'repeatcount', 'repeatdur', 'restart', 'result', 'rotate', 'scale', 'seed', 'shape-rendering', 'slope', 'specularconstant', 'specularexponent', 'spreadmethod', 'startoffset', 'stddeviation', 'stitchtiles', 'stop-color', 'stop-opacity', 'stroke-dasharray', 'stroke-dashoffset', 'stroke-linecap', 'stroke-linejoin', 'stroke-miterlimit', 'stroke-opacity', 'stroke', 'stroke-width', 'style', 'surfacescale', 'systemlanguage', 'tabindex', 'tablevalues', 'targetx', 'targety', 'transform', 'transform-origin', 'text-anchor', 'text-decoration', 'text-rendering', 'textlength', 'type', 'u1', 'u2', 'unicode', 'values', 'viewbox', 'visibility', 'version', 'vert-adv-y', 'vert-origin-x', 'vert-origin-y', 'width', 'word-spacing', 'wrap', 'writing-mode', 'xchannelselector', 'ychannelselector', 'x', 'x1', 'x2', 'xmlns', 'y', 'y1', 'y2', 'z', 'zoomandpan']);
|
|
6494
|
+
const html = freeze(['accept', 'action', 'align', 'alt', 'autocapitalize', 'autocomplete', 'autopictureinpicture', 'autoplay', 'background', 'bgcolor', 'border', 'capture', 'cellpadding', 'cellspacing', 'checked', 'cite', 'class', 'clear', 'color', 'cols', 'colspan', 'controls', 'controlslist', 'coords', 'crossorigin', 'datetime', 'decoding', 'default', 'dir', 'disabled', 'disablepictureinpicture', 'disableremoteplayback', 'download', 'draggable', 'enctype', 'enterkeyhint', 'exportparts', 'face', 'for', 'headers', 'height', 'hidden', 'high', 'href', 'hreflang', 'id', 'inert', 'inputmode', 'integrity', 'ismap', 'kind', 'label', 'lang', 'list', 'loading', 'loop', 'low', 'max', 'maxlength', 'media', 'method', 'min', 'minlength', 'multiple', 'muted', 'name', 'nonce', 'noshade', 'novalidate', 'nowrap', 'open', 'optimum', 'part', 'pattern', 'placeholder', 'playsinline', 'popover', 'popovertarget', 'popovertargetaction', 'poster', 'preload', 'pubdate', 'radiogroup', 'readonly', 'rel', 'required', 'rev', 'reversed', 'role', 'rows', 'rowspan', 'spellcheck', 'scope', 'selected', 'shape', 'size', 'sizes', 'slot', 'span', 'srclang', 'start', 'src', 'srcset', 'step', 'style', 'summary', 'tabindex', 'title', 'translate', 'type', 'usemap', 'valign', 'value', 'width', 'wrap', 'xmlns', 'slot']);
|
|
6495
|
+
const svg = freeze(['accent-height', 'accumulate', 'additive', 'alignment-baseline', 'amplitude', 'ascent', 'attributename', 'attributetype', 'azimuth', 'basefrequency', 'baseline-shift', 'begin', 'bias', 'by', 'class', 'clip', 'clippathunits', 'clip-path', 'clip-rule', 'color', 'color-interpolation', 'color-interpolation-filters', 'color-profile', 'color-rendering', 'cx', 'cy', 'd', 'dx', 'dy', 'diffuseconstant', 'direction', 'display', 'divisor', 'dur', 'edgemode', 'elevation', 'end', 'exponent', 'fill', 'fill-opacity', 'fill-rule', 'filter', 'filterunits', 'flood-color', 'flood-opacity', 'font-family', 'font-size', 'font-size-adjust', 'font-stretch', 'font-style', 'font-variant', 'font-weight', 'fx', 'fy', 'g1', 'g2', 'glyph-name', 'glyphref', 'gradientunits', 'gradienttransform', 'height', 'href', 'id', 'image-rendering', 'in', 'in2', 'intercept', 'k', 'k1', 'k2', 'k3', 'k4', 'kerning', 'keypoints', 'keysplines', 'keytimes', 'lang', 'lengthadjust', 'letter-spacing', 'kernelmatrix', 'kernelunitlength', 'lighting-color', 'local', 'marker-end', 'marker-mid', 'marker-start', 'markerheight', 'markerunits', 'markerwidth', 'maskcontentunits', 'maskunits', 'max', 'mask', 'mask-type', 'media', 'method', 'mode', 'min', 'name', 'numoctaves', 'offset', 'operator', 'opacity', 'order', 'orient', 'orientation', 'origin', 'overflow', 'paint-order', 'path', 'pathlength', 'patterncontentunits', 'patterntransform', 'patternunits', 'points', 'preservealpha', 'preserveaspectratio', 'primitiveunits', 'r', 'rx', 'ry', 'radius', 'refx', 'refy', 'repeatcount', 'repeatdur', 'restart', 'result', 'rotate', 'scale', 'seed', 'shape-rendering', 'slope', 'specularconstant', 'specularexponent', 'spreadmethod', 'startoffset', 'stddeviation', 'stitchtiles', 'stop-color', 'stop-opacity', 'stroke-dasharray', 'stroke-dashoffset', 'stroke-linecap', 'stroke-linejoin', 'stroke-miterlimit', 'stroke-opacity', 'stroke', 'stroke-width', 'style', 'surfacescale', 'systemlanguage', 'tabindex', 'tablevalues', 'targetx', 'targety', 'transform', 'transform-origin', 'text-anchor', 'text-decoration', 'text-rendering', 'textlength', 'type', 'u1', 'u2', 'unicode', 'values', 'viewbox', 'visibility', 'version', 'vert-adv-y', 'vert-origin-x', 'vert-origin-y', 'width', 'word-spacing', 'wrap', 'writing-mode', 'xchannelselector', 'ychannelselector', 'x', 'x1', 'x2', 'xmlns', 'y', 'y1', 'y2', 'z', 'zoomandpan']);
|
|
6369
6496
|
const mathMl = freeze(['accent', 'accentunder', 'align', 'bevelled', 'close', 'columnsalign', 'columnlines', 'columnspan', 'denomalign', 'depth', 'dir', 'display', 'displaystyle', 'encoding', 'fence', 'frame', 'height', 'href', 'id', 'largeop', 'length', 'linethickness', 'lspace', 'lquote', 'mathbackground', 'mathcolor', 'mathsize', 'mathvariant', 'maxsize', 'minsize', 'movablelimits', 'notation', 'numalign', 'open', 'rowalign', 'rowlines', 'rowspacing', 'rowspan', 'rspace', 'rquote', 'scriptlevel', 'scriptminsize', 'scriptsizemultiplier', 'selection', 'separator', 'separators', 'stretchy', 'subscriptshift', 'supscriptshift', 'symmetric', 'voffset', 'width', 'xmlns']);
|
|
6370
6497
|
const xml = freeze(['xlink:href', 'xml:id', 'xlink:title', 'xml:space', 'xmlns:xlink']);
|
|
6371
6498
|
|
|
@@ -6463,7 +6590,7 @@ const _createHooksMap = function _createHooksMap() {
|
|
|
6463
6590
|
function createDOMPurify() {
|
|
6464
6591
|
let window = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : getGlobal();
|
|
6465
6592
|
const DOMPurify = root => createDOMPurify(root);
|
|
6466
|
-
DOMPurify.version = '3.
|
|
6593
|
+
DOMPurify.version = '3.3.1';
|
|
6467
6594
|
DOMPurify.removed = [];
|
|
6468
6595
|
if (!window || !window.document || window.document.nodeType !== NODE_TYPE.document || !window.Element) {
|
|
6469
6596
|
// Not running in a browser, provide a factory function
|
|
@@ -6574,6 +6701,21 @@ function createDOMPurify() {
|
|
|
6574
6701
|
let FORBID_TAGS = null;
|
|
6575
6702
|
/* Explicitly forbidden attributes (overrides ALLOWED_ATTR/ADD_ATTR) */
|
|
6576
6703
|
let FORBID_ATTR = null;
|
|
6704
|
+
/* Config object to store ADD_TAGS/ADD_ATTR functions (when used as functions) */
|
|
6705
|
+
const EXTRA_ELEMENT_HANDLING = Object.seal(create(null, {
|
|
6706
|
+
tagCheck: {
|
|
6707
|
+
writable: true,
|
|
6708
|
+
configurable: false,
|
|
6709
|
+
enumerable: true,
|
|
6710
|
+
value: null
|
|
6711
|
+
},
|
|
6712
|
+
attributeCheck: {
|
|
6713
|
+
writable: true,
|
|
6714
|
+
configurable: false,
|
|
6715
|
+
enumerable: true,
|
|
6716
|
+
value: null
|
|
6717
|
+
}
|
|
6718
|
+
}));
|
|
6577
6719
|
/* Decide if ARIA attributes are okay */
|
|
6578
6720
|
let ALLOW_ARIA_ATTR = true;
|
|
6579
6721
|
/* Decide if custom data attributes are okay */
|
|
@@ -6766,16 +6908,24 @@ function createDOMPurify() {
|
|
|
6766
6908
|
}
|
|
6767
6909
|
/* Merge configuration parameters */
|
|
6768
6910
|
if (cfg.ADD_TAGS) {
|
|
6769
|
-
if (
|
|
6770
|
-
|
|
6911
|
+
if (typeof cfg.ADD_TAGS === 'function') {
|
|
6912
|
+
EXTRA_ELEMENT_HANDLING.tagCheck = cfg.ADD_TAGS;
|
|
6913
|
+
} else {
|
|
6914
|
+
if (ALLOWED_TAGS === DEFAULT_ALLOWED_TAGS) {
|
|
6915
|
+
ALLOWED_TAGS = clone$1(ALLOWED_TAGS);
|
|
6916
|
+
}
|
|
6917
|
+
addToSet(ALLOWED_TAGS, cfg.ADD_TAGS, transformCaseFunc);
|
|
6771
6918
|
}
|
|
6772
|
-
addToSet(ALLOWED_TAGS, cfg.ADD_TAGS, transformCaseFunc);
|
|
6773
6919
|
}
|
|
6774
6920
|
if (cfg.ADD_ATTR) {
|
|
6775
|
-
if (
|
|
6776
|
-
|
|
6921
|
+
if (typeof cfg.ADD_ATTR === 'function') {
|
|
6922
|
+
EXTRA_ELEMENT_HANDLING.attributeCheck = cfg.ADD_ATTR;
|
|
6923
|
+
} else {
|
|
6924
|
+
if (ALLOWED_ATTR === DEFAULT_ALLOWED_ATTR) {
|
|
6925
|
+
ALLOWED_ATTR = clone$1(ALLOWED_ATTR);
|
|
6926
|
+
}
|
|
6927
|
+
addToSet(ALLOWED_ATTR, cfg.ADD_ATTR, transformCaseFunc);
|
|
6777
6928
|
}
|
|
6778
|
-
addToSet(ALLOWED_ATTR, cfg.ADD_ATTR, transformCaseFunc);
|
|
6779
6929
|
}
|
|
6780
6930
|
if (cfg.ADD_URI_SAFE_ATTR) {
|
|
6781
6931
|
addToSet(URI_SAFE_ATTRIBUTES, cfg.ADD_URI_SAFE_ATTR, transformCaseFunc);
|
|
@@ -6786,6 +6936,12 @@ function createDOMPurify() {
|
|
|
6786
6936
|
}
|
|
6787
6937
|
addToSet(FORBID_CONTENTS, cfg.FORBID_CONTENTS, transformCaseFunc);
|
|
6788
6938
|
}
|
|
6939
|
+
if (cfg.ADD_FORBID_CONTENTS) {
|
|
6940
|
+
if (FORBID_CONTENTS === DEFAULT_FORBID_CONTENTS) {
|
|
6941
|
+
FORBID_CONTENTS = clone$1(FORBID_CONTENTS);
|
|
6942
|
+
}
|
|
6943
|
+
addToSet(FORBID_CONTENTS, cfg.ADD_FORBID_CONTENTS, transformCaseFunc);
|
|
6944
|
+
}
|
|
6789
6945
|
/* Add #text in case KEEP_CONTENT is set to true */
|
|
6790
6946
|
if (KEEP_CONTENT) {
|
|
6791
6947
|
ALLOWED_TAGS['#text'] = true;
|
|
@@ -7083,7 +7239,7 @@ function createDOMPurify() {
|
|
|
7083
7239
|
return true;
|
|
7084
7240
|
}
|
|
7085
7241
|
/* Remove element if anything forbids its presence */
|
|
7086
|
-
if (!ALLOWED_TAGS[tagName] || FORBID_TAGS[tagName]) {
|
|
7242
|
+
if (!(EXTRA_ELEMENT_HANDLING.tagCheck instanceof Function && EXTRA_ELEMENT_HANDLING.tagCheck(tagName)) && (!ALLOWED_TAGS[tagName] || FORBID_TAGS[tagName])) {
|
|
7087
7243
|
/* Check if we have a custom element to handle */
|
|
7088
7244
|
if (!FORBID_TAGS[tagName] && _isBasicCustomElement(tagName)) {
|
|
7089
7245
|
if (CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof RegExp && regExpTest(CUSTOM_ELEMENT_HANDLING.tagNameCheck, tagName)) {
|
|
@@ -7155,12 +7311,12 @@ function createDOMPurify() {
|
|
|
7155
7311
|
(https://html.spec.whatwg.org/multipage/dom.html#embedding-custom-non-visible-data-with-the-data-*-attributes)
|
|
7156
7312
|
XML-compatible (https://html.spec.whatwg.org/multipage/infrastructure.html#xml-compatible and http://www.w3.org/TR/xml/#d0e804)
|
|
7157
7313
|
We don't need to check the value; it's always URI safe. */
|
|
7158
|
-
if (ALLOW_DATA_ATTR && !FORBID_ATTR[lcName] && regExpTest(DATA_ATTR, lcName)) ; else if (ALLOW_ARIA_ATTR && regExpTest(ARIA_ATTR, lcName)) ; else if (!ALLOWED_ATTR[lcName] || FORBID_ATTR[lcName]) {
|
|
7314
|
+
if (ALLOW_DATA_ATTR && !FORBID_ATTR[lcName] && regExpTest(DATA_ATTR, lcName)) ; else if (ALLOW_ARIA_ATTR && regExpTest(ARIA_ATTR, lcName)) ; else if (EXTRA_ELEMENT_HANDLING.attributeCheck instanceof Function && EXTRA_ELEMENT_HANDLING.attributeCheck(lcName, lcTag)) ; else if (!ALLOWED_ATTR[lcName] || FORBID_ATTR[lcName]) {
|
|
7159
7315
|
if (
|
|
7160
7316
|
// First condition does a very basic check if a) it's basically a valid custom element tagname AND
|
|
7161
7317
|
// b) if the tagName passes whatever the user has configured for CUSTOM_ELEMENT_HANDLING.tagNameCheck
|
|
7162
7318
|
// and c) if the attribute name passes whatever the user has configured for CUSTOM_ELEMENT_HANDLING.attributeNameCheck
|
|
7163
|
-
_isBasicCustomElement(lcTag) && (CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof RegExp && regExpTest(CUSTOM_ELEMENT_HANDLING.tagNameCheck, lcTag) || CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof Function && CUSTOM_ELEMENT_HANDLING.tagNameCheck(lcTag)) && (CUSTOM_ELEMENT_HANDLING.attributeNameCheck instanceof RegExp && regExpTest(CUSTOM_ELEMENT_HANDLING.attributeNameCheck, lcName) || CUSTOM_ELEMENT_HANDLING.attributeNameCheck instanceof Function && CUSTOM_ELEMENT_HANDLING.attributeNameCheck(lcName)) ||
|
|
7319
|
+
_isBasicCustomElement(lcTag) && (CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof RegExp && regExpTest(CUSTOM_ELEMENT_HANDLING.tagNameCheck, lcTag) || CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof Function && CUSTOM_ELEMENT_HANDLING.tagNameCheck(lcTag)) && (CUSTOM_ELEMENT_HANDLING.attributeNameCheck instanceof RegExp && regExpTest(CUSTOM_ELEMENT_HANDLING.attributeNameCheck, lcName) || CUSTOM_ELEMENT_HANDLING.attributeNameCheck instanceof Function && CUSTOM_ELEMENT_HANDLING.attributeNameCheck(lcName, lcTag)) ||
|
|
7164
7320
|
// Alternative, second condition checks if it's an `is`-attribute, AND
|
|
7165
7321
|
// the value passes whatever the user has configured for CUSTOM_ELEMENT_HANDLING.tagNameCheck
|
|
7166
7322
|
lcName === 'is' && CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements && (CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof RegExp && regExpTest(CUSTOM_ELEMENT_HANDLING.tagNameCheck, value) || CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof Function && CUSTOM_ELEMENT_HANDLING.tagNameCheck(value))) ; else {
|
|
@@ -7239,7 +7395,12 @@ function createDOMPurify() {
|
|
|
7239
7395
|
value = SANITIZE_NAMED_PROPS_PREFIX + value;
|
|
7240
7396
|
}
|
|
7241
7397
|
/* Work around a security issue with comments inside attributes */
|
|
7242
|
-
if (SAFE_FOR_XML && regExpTest(/((--!?|])>)|<\/(style|title)/i, value)) {
|
|
7398
|
+
if (SAFE_FOR_XML && regExpTest(/((--!?|])>)|<\/(style|title|textarea)/i, value)) {
|
|
7399
|
+
_removeAttribute(name, currentNode);
|
|
7400
|
+
continue;
|
|
7401
|
+
}
|
|
7402
|
+
/* Make sure we cannot easily use animated hrefs, even if animations are allowed */
|
|
7403
|
+
if (lcName === 'attributename' && stringMatch(value, 'href')) {
|
|
7243
7404
|
_removeAttribute(name, currentNode);
|
|
7244
7405
|
continue;
|
|
7245
7406
|
}
|
|
@@ -8698,7 +8859,7 @@ class PdsDivider {
|
|
|
8698
8859
|
}; }
|
|
8699
8860
|
}
|
|
8700
8861
|
|
|
8701
|
-
const pdsDropdownMenuCss = ":host{display:block}.is-hidden{display:none}.pds-dropdown-menu--panel{background-color:var(--pine-color-background-container);border-radius:var(--pine-dimension-xs);left:var(--pine-dimension-none);min-width:170px;padding:var(--pine-dimension-xs);position:
|
|
8862
|
+
const pdsDropdownMenuCss = ":host{display:block}.is-hidden{display:none}.pds-dropdown-menu--panel{background-color:var(--pine-color-background-container);border-radius:var(--pine-dimension-xs);left:var(--pine-dimension-none);min-width:170px;padding:var(--pine-dimension-xs);position:fixed;z-index:var(--pine-z-index-overlay)}:host-context([data-theme=dark]) .pds-dropdown-menu--panel{border:var(--pine-border)}";
|
|
8702
8863
|
|
|
8703
8864
|
/**
|
|
8704
8865
|
* @part menu-panel - Exposes the dropdown menu container for styling.
|
|
@@ -8753,6 +8914,7 @@ class PdsDropdownMenu {
|
|
|
8753
8914
|
const updatePosition = () => {
|
|
8754
8915
|
computePosition(this.triggerEl, this.panelEl, {
|
|
8755
8916
|
placement: this.placement,
|
|
8917
|
+
strategy: 'fixed',
|
|
8756
8918
|
middleware: [offset(6), flip(), shift({ padding: 5 })],
|
|
8757
8919
|
}).then(({ x, y }) => {
|
|
8758
8920
|
Object.assign(this.panelEl.style, {
|
|
@@ -8963,7 +9125,7 @@ class PdsDropdownMenu {
|
|
|
8963
9125
|
}
|
|
8964
9126
|
}
|
|
8965
9127
|
render() {
|
|
8966
|
-
return (hAsync(Host, { key: '
|
|
9128
|
+
return (hAsync(Host, { key: '9ae650f3d8026060386ac3c3e766e7cc3c7ecc07', id: this.componentId }, hAsync("slot", { key: '598502f3a1fc16df488fb9808f453a72e630cede', name: "trigger", onSlotchange: this.handleTriggerSlotChange }), hAsync("pds-box", { key: '5be72ded41caad2d9a9569d0aeabf7d22cf1b44c', "border-radius": "sm", display: "flex", direction: "column", class: "pds-dropdown-menu--panel is-hidden", shadow: "100", role: "menu", "aria-orientation": "vertical", part: "menu-panel" }, hAsync("slot", { key: '93b2d89a1e3714ac7895be71bc44583ce4cd3243', onSlotchange: this.handleSlotChange }))));
|
|
8967
9129
|
}
|
|
8968
9130
|
get host() { return getElement(this); }
|
|
8969
9131
|
static get style() { return pdsDropdownMenuCss; }
|
|
@@ -8981,7 +9143,7 @@ class PdsDropdownMenu {
|
|
|
8981
9143
|
}; }
|
|
8982
9144
|
}
|
|
8983
9145
|
|
|
8984
|
-
const pdsDropdownMenuItemCss = ":host{cursor:pointer;display:-ms-flexbox;display:flex;width:100%;}:host(.is-disabled){cursor:not-allowed !important;opacity:0.5 !important}:host(.is-disabled) .pds-dropdown-menu-item__content{cursor:not-allowed !important;pointer-events:none !important}.pds-dropdown-menu-item__content{-ms-flex-align:center;align-items:center;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:0;border-radius:var(--pine-dimension-xs);color:var(--pine-color-text);display:-ms-flexbox;display:flex;-ms-flex-positive:1;flex-grow:1;font:var(--pine-typography-body-medium);gap:var(--pine-dimension-xs);margin:calc(var(--pine-border-width) + 2px);padding:var(--pine-dimension-xs);text-align:start;width:100%;}.pds-dropdown-menu-item__content:hover{background-color:var(--pine-color-background-muted);color:var(--pine-color-text-hover)}.pds-dropdown-menu-item__content:focus,.pds-dropdown-menu-item__content:focus-visible,.pds-dropdown-menu-item__content.has-focus{outline:var(--pine-outline-focus);outline-offset:var(--pine-border-width)}:host(.destructive) .pds-dropdown-menu-item__content{-ms-flex-align:center;align-items:center;color:var(--pine-color-danger)}:host(.destructive) .pds-dropdown-menu-item__content:hover{background-color:var(--pine-color-danger-disabled);color:var(--pine-color-danger-hover)}:host(.destructive) .pds-dropdown-menu-item__content:focus,:host(.destructive) .pds-dropdown-menu-item__content:focus-visible,:host(.destructive) .pds-dropdown-menu-item__content.has-focus{background-color:var(--pine-color-danger-disabled);outline:var(--pine-outline-focus-danger);outline-offset:var(--pine-border-width)}pds-link::part(link):focus,pds-link::part(link):focus-visible{-webkit-box-shadow:none;box-shadow:none;outline:none}pds-link::part(link){display:block;margin:calc(var(--pine-dimension-xs) * -1);padding:var(--pine-dimension-xs);text-decoration:none;width:calc(100% + var(--pine-dimension-xs) * 2)}";
|
|
9146
|
+
const pdsDropdownMenuItemCss = ":host{cursor:pointer;display:-ms-flexbox;display:flex;width:100%;}:host(.is-disabled){cursor:not-allowed !important;opacity:0.5 !important}:host(.is-disabled) .pds-dropdown-menu-item__content{cursor:not-allowed !important;pointer-events:none !important}.pds-dropdown-menu-item__content{-ms-flex-align:center;align-items:center;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:0;border-radius:var(--pine-dimension-xs);color:var(--pine-color-text);display:-ms-flexbox;display:flex;-ms-flex-positive:1;flex-grow:1;font:var(--pine-typography-body-medium);gap:var(--pine-dimension-xs);margin:calc(var(--pine-border-width) + 2px);padding:var(--pine-dimension-xs);text-align:start;width:100%;}.pds-dropdown-menu-item__content:hover{background-color:var(--pine-color-background-muted);color:var(--pine-color-text-hover)}.pds-dropdown-menu-item__content{}.pds-dropdown-menu-item__content:focus,.pds-dropdown-menu-item__content:focus-visible,.pds-dropdown-menu-item__content.has-focus{outline:var(--pine-outline-focus);outline-offset:var(--pine-border-width)}:host(.destructive) .pds-dropdown-menu-item__content{-ms-flex-align:center;align-items:center;color:var(--pine-color-danger)}:host(.destructive) .pds-dropdown-menu-item__content:hover{background-color:var(--pine-color-danger-disabled);color:var(--pine-color-danger-hover)}:host(.destructive) .pds-dropdown-menu-item__content:focus,:host(.destructive) .pds-dropdown-menu-item__content:focus-visible,:host(.destructive) .pds-dropdown-menu-item__content.has-focus{background-color:var(--pine-color-danger-disabled);outline:var(--pine-outline-focus-danger);outline-offset:var(--pine-border-width)}pds-link::part(link):focus,pds-link::part(link):focus-visible{-webkit-box-shadow:none;box-shadow:none;outline:none}pds-link::part(link){display:block;margin:calc(var(--pine-dimension-xs) * -1);padding:var(--pine-dimension-xs);text-decoration:none;width:calc(100% + var(--pine-dimension-xs) * 2)}";
|
|
8985
9147
|
|
|
8986
9148
|
class PdsDropdownMenuItem {
|
|
8987
9149
|
constructor(hostRef) {
|
|
@@ -9098,7 +9260,7 @@ class PdsDropdownMenuSeparator {
|
|
|
9098
9260
|
}; }
|
|
9099
9261
|
}
|
|
9100
9262
|
|
|
9101
|
-
const pdsFilterCss = ":host{--box-shadow-focus:0 0 0 1px var(--pine-color-background-container), 0 0 0 3px var(--pine-color-focus-ring);display:inline-block;position:relative}.pds-filter__trigger{-ms-flex-align:center;align-items:center;anchor-name:--filter-trigger;background:var(--pine-color-background-container);border:var(--pine-border);border-radius:var(--pine-dimension-100);-webkit-box-shadow:var(--pine-box-shadow-050);box-shadow:var(--pine-box-shadow-050);-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--pine-color-text-tertiary);cursor:pointer;display:-ms-inline-flexbox;display:inline-flex;font-family:var(--pine-font-family-inter);font-size:var(--pine-font-size-100);font-weight:var(--pine-font-weight-400);gap:var(--pine-dimension-050);letter-spacing:var(--pine-letter-spacing-114);line-height:var(--pine-line-height-150);padding:var(--pine-dimension-025) var(--pine-dimension-125);position:relative;-webkit-transition:all 0.2s ease;transition:all 0.2s ease}.pds-filter__trigger pds-icon{block-size:var(--pine-font-size-100);color:var(--pine-color-text-secondary);-ms-flex-negative:0;flex-shrink:0;inline-size:var(--pine-font-size-100)}.pds-filter__trigger:hover,.pds-filter__trigger.pds-filter__trigger--open{background-color:var(--pine-color-background-subtle);border-color:var(--pine-color-border-hover);color:var(--pine-color-text-hover)}.pds-filter__trigger:hover pds-icon,.pds-filter__trigger.pds-filter__trigger--open pds-icon{color:var(--pine-color-text-secondary)}.pds-filter__trigger:focus-visible{-webkit-box-shadow:var(--box-shadow-focus);box-shadow:var(--box-shadow-focus);outline:none}.pds-filter__trigger:disabled{cursor:not-allowed;opacity:0.5}.pds-filter__trigger--selected{background-color:var(--pine-color-purple-050);border-color:var(--pine-color-purple-500);color:var(--pine-color-purple-600)}.pds-filter__trigger--selected pds-icon{color:var(--pine-color-purple-600)}.pds-filter__trigger--selected:hover,.pds-filter__trigger--selected.pds-filter__trigger--open{background-color:var(--pine-color-purple-100);border-color:var(--pine-color-purple-500);color:var(--pine-color-purple-600)}.pds-filter__trigger--selected:hover pds-icon,.pds-filter__trigger--selected.pds-filter__trigger--open pds-icon{color:var(--pine-color-purple-600)}.pds-filter__trigger--selected:focus-visible{-webkit-box-shadow:var(--box-shadow-focus);box-shadow:var(--box-shadow-focus);outline:none}.pds-filter__trigger--more{background-color:var(--pine-color-background-container-hover);border:var(--pine-border-width-thin) dashed var(--pine-color-border);color:var(--pine-color-text-tertiary)}.pds-filter__trigger--more pds-icon{color:var(--pine-color-text-secondary)}.pds-filter__trigger--more:hover,.pds-filter__trigger--more.pds-filter__trigger--open{background-color:var(--pine-color-background-subtle);border-color:var(--pine-color-border-hover);color:var(--pine-color-text-hover)}.pds-filter__trigger--more:hover pds-icon,.pds-filter__trigger--more.pds-filter__trigger--open pds-icon{color:var(--pine-color-text-secondary)}.pds-filter__trigger--more:focus-visible{-webkit-box-shadow:var(--box-shadow-focus);box-shadow:var(--box-shadow-focus);outline:none}.pds-filter__trigger--clear{background:transparent;border:var(--pine-border-width-thin) solid transparent;border-radius:var(--pine-dimension-100);-webkit-box-shadow:none;box-shadow:none;color:var(--pine-color-purple-600)}.pds-filter__trigger--clear pds-icon{color:var(--pine-color-purple-600)}.pds-filter__trigger--clear:hover{background-color:var(--pine-color-purple-100);border-color:var(--pine-color-purple-100);color:var(--pine-color-purple-600)}.pds-filter__trigger--clear:hover pds-icon{color:var(--pine-color-purple-600)}.pds-filter__trigger--clear:focus-visible{-webkit-box-shadow:var(--box-shadow-focus);box-shadow:var(--box-shadow-focus);outline:none}.pds-filter__button-content{-ms-flex-align:center;align-items:center;display:-ms-inline-flexbox;display:inline-flex;gap:var(--pine-dimension-050);max-inline-size:148px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pds-filter__button-text{line-height:var(--pine-line-height-150);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pds-filter__dropdown-icon{block-size:var(--pine-dimension-200);-ms-flex-negative:0;flex-shrink:0;inline-size:var(--pine-dimension-200)}.pds-filter__popover{background-color:var(--pine-color-background-container);border:0;border-radius:var(--pine-dimension-100);-webkit-box-shadow:var(--pine-box-shadow-100);box-shadow:var(--pine-box-shadow-100);display:none;inline-size:228px;inset:unset;padding:var(--pine-dimension-100);z-index:var(--pine-z-index-overlay);}.pds-filter__popover:popover-open,.pds-filter__popover.is-open{display:block}@supports (anchor-name: --test){.pds-filter__popover{inset-block-start:calc(anchor(--filter-trigger bottom) + var(--pine-dimension-100));inset-inline-start:anchor(--filter-trigger left);position:fixed;position-anchor:--filter-trigger;}.pds-filter__popover.popover-flip-horizontal{inset-inline-start:anchor(--filter-trigger right);-webkit-transform:translateX(-100%);transform:translateX(-100%)}.pds-filter__popover.popover-flip-vertical{inset-block-start:anchor(--filter-trigger top);-webkit-transform:translateY(calc(-100% - var(--pine-dimension-100)));transform:translateY(calc(-100% - var(--pine-dimension-100)))}.pds-filter__popover.popover-flip-horizontal.popover-flip-vertical{inset-block-start:anchor(--filter-trigger top);inset-inline-start:anchor(--filter-trigger right);-webkit-transform:translate(-100%, calc(-100% - var(--pine-dimension-100)));transform:translate(-100%, calc(-100% - var(--pine-dimension-100)))}.pds-filter__popover.is-open.popover-flip-horizontal{inset-inline-start:anchor(--filter-trigger right);-webkit-transform:translateX(-100%);transform:translateX(-100%)}.pds-filter__popover.is-open.popover-flip-vertical{inset-block-start:anchor(--filter-trigger top);-webkit-transform:translateY(calc(-100% - var(--pine-dimension-100)));transform:translateY(calc(-100% - var(--pine-dimension-100)))}.pds-filter__popover.is-open.popover-flip-horizontal.popover-flip-vertical{inset-block-start:anchor(--filter-trigger top);inset-inline-start:anchor(--filter-trigger right);-webkit-transform:translate(-100%, calc(-100% - var(--pine-dimension-100)));transform:translate(-100%, calc(-100% - var(--pine-dimension-100)))}}";
|
|
9263
|
+
const pdsFilterCss = ":host{--box-shadow-focus:0 0 0 1px var(--pine-color-background-container), 0 0 0 3px var(--pine-color-focus-ring);display:inline-block;position:relative}.pds-filter__trigger{-ms-flex-align:center;align-items:center;anchor-name:--filter-trigger;background:var(--pine-color-background-container);border:var(--pine-border);border-radius:var(--pine-dimension-100);-webkit-box-shadow:var(--pine-box-shadow-050);box-shadow:var(--pine-box-shadow-050);-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--pine-color-text-tertiary);cursor:pointer;display:-ms-inline-flexbox;display:inline-flex;font-family:var(--pine-font-family-inter);font-size:var(--pine-font-size-100);font-weight:var(--pine-font-weight-400);gap:var(--pine-dimension-050);letter-spacing:var(--pine-letter-spacing-114);line-height:var(--pine-line-height-150);padding:var(--pine-dimension-025) var(--pine-dimension-125);position:relative;-webkit-transition:all 0.2s ease;transition:all 0.2s ease}.pds-filter__trigger pds-icon{block-size:var(--pine-font-size-100);color:var(--pine-color-text-secondary);-ms-flex-negative:0;flex-shrink:0;inline-size:var(--pine-font-size-100)}.pds-filter__trigger:hover,.pds-filter__trigger.pds-filter__trigger--open{background-color:var(--pine-color-background-subtle);border-color:var(--pine-color-border-hover);color:var(--pine-color-text-hover)}.pds-filter__trigger:hover pds-icon,.pds-filter__trigger.pds-filter__trigger--open pds-icon{color:var(--pine-color-text-secondary)}.pds-filter__trigger:focus-visible{-webkit-box-shadow:var(--box-shadow-focus);box-shadow:var(--box-shadow-focus);outline:none}.pds-filter__trigger:disabled{cursor:not-allowed;opacity:0.5}.pds-filter__trigger--selected{background-color:var(--pine-color-purple-050);border-color:var(--pine-color-purple-500);color:var(--pine-color-purple-600)}.pds-filter__trigger--selected pds-icon{color:var(--pine-color-purple-600)}.pds-filter__trigger--selected:hover,.pds-filter__trigger--selected.pds-filter__trigger--open{background-color:var(--pine-color-purple-100);border-color:var(--pine-color-purple-500);color:var(--pine-color-purple-600)}.pds-filter__trigger--selected:hover pds-icon,.pds-filter__trigger--selected.pds-filter__trigger--open pds-icon{color:var(--pine-color-purple-600)}.pds-filter__trigger--selected:focus-visible{-webkit-box-shadow:var(--box-shadow-focus);box-shadow:var(--box-shadow-focus);outline:none}.pds-filter__trigger--more{background-color:var(--pine-color-background-container-hover);border:var(--pine-border-width-thin) dashed var(--pine-color-border);color:var(--pine-color-text-tertiary)}.pds-filter__trigger--more pds-icon{color:var(--pine-color-text-secondary)}.pds-filter__trigger--more:hover,.pds-filter__trigger--more.pds-filter__trigger--open{background-color:var(--pine-color-background-subtle);border-color:var(--pine-color-border-hover);color:var(--pine-color-text-hover)}.pds-filter__trigger--more:hover pds-icon,.pds-filter__trigger--more.pds-filter__trigger--open pds-icon{color:var(--pine-color-text-secondary)}.pds-filter__trigger--more:focus-visible{-webkit-box-shadow:var(--box-shadow-focus);box-shadow:var(--box-shadow-focus);outline:none}.pds-filter__trigger--clear{background:transparent;border:var(--pine-border-width-thin) solid transparent;border-radius:var(--pine-dimension-100);-webkit-box-shadow:none;box-shadow:none;color:var(--pine-color-purple-600)}.pds-filter__trigger--clear pds-icon{color:var(--pine-color-purple-600)}.pds-filter__trigger--clear:hover{background-color:var(--pine-color-purple-100);border-color:var(--pine-color-purple-100);color:var(--pine-color-purple-600)}.pds-filter__trigger--clear:hover pds-icon{color:var(--pine-color-purple-600)}.pds-filter__trigger--clear:focus-visible{-webkit-box-shadow:var(--box-shadow-focus);box-shadow:var(--box-shadow-focus);outline:none}.pds-filter__button-content{-ms-flex-align:center;align-items:center;display:-ms-inline-flexbox;display:inline-flex;gap:var(--pine-dimension-050);max-inline-size:148px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pds-filter__button-text{line-height:var(--pine-line-height-150);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pds-filter__dropdown-icon{block-size:var(--pine-dimension-200);-ms-flex-negative:0;flex-shrink:0;inline-size:var(--pine-dimension-200)}.pds-filter__popover{background-color:var(--pine-color-background-container);border:0;border-radius:var(--pine-dimension-100);-webkit-box-shadow:var(--pine-box-shadow-100);box-shadow:var(--pine-box-shadow-100);display:none;inline-size:228px;inset:unset;padding:var(--pine-dimension-100);z-index:var(--pine-z-index-overlay);}.pds-filter__popover:popover-open,.pds-filter__popover.is-open{display:block}.pds-filter__popover{}@supports (anchor-name: --test){.pds-filter__popover{inset-block-start:calc(anchor(--filter-trigger bottom) + var(--pine-dimension-100));inset-inline-start:anchor(--filter-trigger left);position:fixed;position-anchor:--filter-trigger;}.pds-filter__popover.popover-flip-horizontal{inset-inline-start:anchor(--filter-trigger right);-webkit-transform:translateX(-100%);transform:translateX(-100%)}.pds-filter__popover.popover-flip-vertical{inset-block-start:anchor(--filter-trigger top);-webkit-transform:translateY(calc(-100% - var(--pine-dimension-100)));transform:translateY(calc(-100% - var(--pine-dimension-100)))}.pds-filter__popover.popover-flip-horizontal.popover-flip-vertical{inset-block-start:anchor(--filter-trigger top);inset-inline-start:anchor(--filter-trigger right);-webkit-transform:translate(-100%, calc(-100% - var(--pine-dimension-100)));transform:translate(-100%, calc(-100% - var(--pine-dimension-100)))}.pds-filter__popover{}.pds-filter__popover.is-open.popover-flip-horizontal{inset-inline-start:anchor(--filter-trigger right);-webkit-transform:translateX(-100%);transform:translateX(-100%)}.pds-filter__popover.is-open.popover-flip-vertical{inset-block-start:anchor(--filter-trigger top);-webkit-transform:translateY(calc(-100% - var(--pine-dimension-100)));transform:translateY(calc(-100% - var(--pine-dimension-100)))}.pds-filter__popover.is-open.popover-flip-horizontal.popover-flip-vertical{inset-block-start:anchor(--filter-trigger top);inset-inline-start:anchor(--filter-trigger right);-webkit-transform:translate(-100%, calc(-100% - var(--pine-dimension-100)));transform:translate(-100%, calc(-100% - var(--pine-dimension-100)))}}";
|
|
9102
9264
|
|
|
9103
9265
|
/**
|
|
9104
9266
|
* Individual filter component with cross-browser popover positioning.
|
|
@@ -11065,6 +11227,632 @@ class PdsModalHeader {
|
|
|
11065
11227
|
}; }
|
|
11066
11228
|
}
|
|
11067
11229
|
|
|
11230
|
+
const pdsMultiselectCss = ":host{display:block}:host([aria-disabled=true]) .pds-multiselect__trigger{background:var(--pine-color-background-container-disabled);border-color:var(--pine-color-border-disabled);color:var(--pine-color-text-disabled);cursor:not-allowed}:host([aria-disabled=true]) .pds-multiselect__icon{color:var(--pine-color-text-disabled)}.pds-multiselect{position:relative}.pds-multiselect__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-multiselect__wrapper{position:relative}.pds-multiselect__trigger{-ms-flex-align:center;align-items:center;background:var(--pine-color-background-container);border:var(--pine-border);border-radius:var(--pine-dimension-125);cursor:pointer;display:-ms-flexbox;display:flex;font:var(--pine-typography-body);gap:var(--pine-dimension-xs);-ms-flex-pack:justify;justify-content:space-between;letter-spacing:var(--pine-letter-spacing);min-height:var(--pine-dimension-550);padding:var(--pine-dimension-xs) var(--pine-dimension-sm);position:relative;text-align:start;-webkit-transition:border-color 0.2s ease, -webkit-box-shadow 0.2s ease;transition:border-color 0.2s ease, -webkit-box-shadow 0.2s ease;transition:border-color 0.2s ease, box-shadow 0.2s ease;transition:border-color 0.2s ease, box-shadow 0.2s ease, -webkit-box-shadow 0.2s ease;width:100%}.pds-multiselect__trigger:hover:not(.pds-multiselect__trigger--disabled){border-color:var(--pine-color-border-hover)}.pds-multiselect__trigger:focus:not(.pds-multiselect__trigger--disabled){border-color:var(--pine-color-border-active);outline:var(--pine-outline-focus);outline-offset:var(--pine-border-width)}.pds-multiselect__trigger.pds-multiselect__trigger--open{border-color:var(--pine-color-border-active)}.pds-multiselect__trigger.pds-multiselect__trigger--invalid{background-color:var(--pine-color-red-050);border-color:var(--pine-color-border-danger)}.pds-multiselect__trigger.pds-multiselect__trigger--invalid:focus{outline-color:var(--pine-color-focus-ring-danger)}.pds-multiselect__trigger.pds-multiselect__trigger--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-multiselect__trigger-text{color:var(--pine-color-text-strong);-ms-flex:1;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pds-multiselect__trigger-text.pds-multiselect__trigger-text--placeholder{color:var(--pine-color-text-placeholder)}.pds-multiselect__trigger--disabled .pds-multiselect__trigger-text{color:var(--pine-color-text-disabled)}.pds-multiselect__icon{color:var(--pine-color-icon);-ms-flex-negative:var(--pine-dimension-none);flex-shrink:var(--pine-dimension-none)}.pds-multiselect__panel{background:var(--pine-color-background-container);border-radius:var(--pine-dimension-125);-webkit-box-shadow:var(--pine-box-shadow);box-shadow:var(--pine-box-shadow);-webkit-box-sizing:border-box;box-sizing:border-box;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;position:absolute;z-index:var(--pine-z-index-raised)}.pds-multiselect__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;gap:var(--pine-dimension-xs);padding:var(--pine-dimension-xs) var(--pine-dimension-sm)}.pds-multiselect__search pds-icon{color:var(--pine-color-text-muted);-ms-flex-negative:var(--pine-dimension-none);flex-shrink:var(--pine-dimension-none)}.pds-multiselect__search-input{background:transparent;border:var(--pine-dimension-none);color:var(--pine-color-text-strong);-ms-flex:1;flex:1;font:var(--pine-typography-body);letter-spacing:var(--pine-letter-spacing);min-width:var(--pine-dimension-none);outline:none}.pds-multiselect__search-input::-webkit-input-placeholder{color:var(--pine-color-text-placeholder)}.pds-multiselect__search-input::-moz-placeholder{color:var(--pine-color-text-placeholder)}.pds-multiselect__search-input:-ms-input-placeholder{color:var(--pine-color-text-placeholder)}.pds-multiselect__search-input::-ms-input-placeholder{color:var(--pine-color-text-placeholder)}.pds-multiselect__search-input::placeholder{color:var(--pine-color-text-placeholder)}.pds-multiselect__selected-section{-webkit-border-after:var(--pine-border);border-block-end:var(--pine-border);border-block-end-color:var(--pine-color-border-subtle);padding:var(--pine-dimension-xs)}.pds-multiselect__selected-list{list-style:none;margin:var(--pine-dimension-none);padding:var(--pine-dimension-none)}.pds-multiselect__selected-item{color:var(--pine-color-text-strong);font:var(--pine-typography-body);letter-spacing:var(--pine-letter-spacing);overflow:hidden;padding:var(--pine-dimension-2xs) var(--pine-dimension-xs);text-overflow:ellipsis;white-space:nowrap}.pds-multiselect__listbox{background:transparent;border:var(--pine-dimension-none);-webkit-box-sizing:border-box;box-sizing:border-box;list-style:none;margin:var(--pine-dimension-none);overflow-y:auto;padding:var(--pine-dimension-xs)}.pds-multiselect__option{-ms-flex-align:center;align-items:center;background:transparent;border-radius:var(--pine-dimension-xs);cursor:pointer;display:-ms-flexbox;display:flex;padding:var(--pine-dimension-2xs) var(--pine-dimension-xs);-webkit-transition:background 0.15s;transition:background 0.15s}.pds-multiselect__option pds-checkbox{pointer-events:none;width:100%}.pds-multiselect__option:hover,.pds-multiselect__option.pds-multiselect__option--highlighted{background:var(--pine-color-background-muted)}.pds-multiselect__option:focus-visible{outline:var(--pine-dimension-none)}.pds-multiselect__empty,.pds-multiselect__loading{-ms-flex-align:center;align-items:center;color:var(--pine-color-text-muted);display:-ms-flexbox;display:flex;font:var(--pine-typography-body);-ms-flex-pack:center;justify-content:center;padding:var(--pine-dimension-sm)}.pds-multiselect__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-xs)}.pds-multiselect__helper{color:var(--pine-color-text-message);font:var(--pine-typography-body-sm);-webkit-margin-before:var(--pine-dimension-2xs);margin-block-start:var(--pine-dimension-2xs);-webkit-margin-start:var(--pine-dimension-none);margin-inline-start:var(--pine-dimension-none)}.pds-multiselect__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);gap:var(--pine-dimension-2xs);-webkit-margin-before:var(--pine-dimension-2xs);margin-block-start:var(--pine-dimension-2xs);-webkit-margin-start:var(--pine-dimension-none);margin-inline-start:var(--pine-dimension-none)}.pds-multiselect__error pds-icon{-ms-flex-negative:var(--pine-dimension-none);flex-shrink:var(--pine-dimension-none);-webkit-margin-before:var(--pine-dimension-025);margin-block-start:var(--pine-dimension-025)}.visually-hidden{border:var(--pine-dimension-none);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:var(--pine-dimension-none);position:absolute;white-space:nowrap;width:1px}";
|
|
11231
|
+
|
|
11232
|
+
/**
|
|
11233
|
+
* @slot (default) - Static option elements for the multiselect
|
|
11234
|
+
* @slot empty - Custom empty state message when no options match
|
|
11235
|
+
* @slot loading - Custom loading indicator
|
|
11236
|
+
*/
|
|
11237
|
+
class PdsMultiselect {
|
|
11238
|
+
constructor(hostRef) {
|
|
11239
|
+
registerInstance(this, hostRef);
|
|
11240
|
+
this.pdsMultiselectChange = createEvent(this, "pdsMultiselectChange");
|
|
11241
|
+
this.pdsMultiselectSearch = createEvent(this, "pdsMultiselectSearch");
|
|
11242
|
+
this.pdsMultiselectLoadOptions = createEvent(this, "pdsMultiselectLoadOptions");
|
|
11243
|
+
/**
|
|
11244
|
+
* Placeholder text for the input field.
|
|
11245
|
+
*/
|
|
11246
|
+
this.placeholder = 'Select...';
|
|
11247
|
+
/**
|
|
11248
|
+
* Array of selected option values.
|
|
11249
|
+
*/
|
|
11250
|
+
this.value = [];
|
|
11251
|
+
/**
|
|
11252
|
+
* Determines whether or not the multiselect is disabled.
|
|
11253
|
+
*/
|
|
11254
|
+
this.disabled = false;
|
|
11255
|
+
/**
|
|
11256
|
+
* HTTP method for async requests.
|
|
11257
|
+
*/
|
|
11258
|
+
this.asyncMethod = 'GET';
|
|
11259
|
+
/**
|
|
11260
|
+
* Debounce delay in milliseconds for search/fetch.
|
|
11261
|
+
*/
|
|
11262
|
+
this.debounce = 300;
|
|
11263
|
+
/**
|
|
11264
|
+
* Maximum height of the dropdown before scrolling.
|
|
11265
|
+
*/
|
|
11266
|
+
this.maxHeight = '300px';
|
|
11267
|
+
/**
|
|
11268
|
+
* Width of the trigger button (and reference for dropdown positioning).
|
|
11269
|
+
*/
|
|
11270
|
+
this.triggerWidth = '100%';
|
|
11271
|
+
/**
|
|
11272
|
+
* Minimum width of the dropdown panel.
|
|
11273
|
+
*/
|
|
11274
|
+
this.minWidth = '250px';
|
|
11275
|
+
/**
|
|
11276
|
+
* Visually hides the label but keeps it accessible.
|
|
11277
|
+
*/
|
|
11278
|
+
this.hideLabel = false;
|
|
11279
|
+
/**
|
|
11280
|
+
* If true, the multiselect is required.
|
|
11281
|
+
*/
|
|
11282
|
+
this.required = false;
|
|
11283
|
+
/**
|
|
11284
|
+
* Whether the component is currently loading async options.
|
|
11285
|
+
*/
|
|
11286
|
+
this.loading = false;
|
|
11287
|
+
// Internal state
|
|
11288
|
+
this.isOpen = false;
|
|
11289
|
+
this.searchQuery = '';
|
|
11290
|
+
this.highlightedIndex = -1;
|
|
11291
|
+
this.internalOptions = [];
|
|
11292
|
+
this.selectedItems = [];
|
|
11293
|
+
this.currentPage = 1;
|
|
11294
|
+
this.hasMore = false;
|
|
11295
|
+
// Flag to prevent focusout from closing during open transition
|
|
11296
|
+
this.isOpening = false;
|
|
11297
|
+
this.handleTriggerClick = () => {
|
|
11298
|
+
if (this.disabled)
|
|
11299
|
+
return;
|
|
11300
|
+
if (this.isOpen) {
|
|
11301
|
+
this.closeDropdown();
|
|
11302
|
+
}
|
|
11303
|
+
else {
|
|
11304
|
+
this.openDropdown();
|
|
11305
|
+
}
|
|
11306
|
+
};
|
|
11307
|
+
this.handleTriggerKeyDown = (e) => {
|
|
11308
|
+
switch (e.key) {
|
|
11309
|
+
case 'ArrowDown':
|
|
11310
|
+
case 'ArrowUp':
|
|
11311
|
+
case 'Enter':
|
|
11312
|
+
case ' ':
|
|
11313
|
+
e.preventDefault();
|
|
11314
|
+
if (!this.isOpen) {
|
|
11315
|
+
this.openDropdown();
|
|
11316
|
+
}
|
|
11317
|
+
break;
|
|
11318
|
+
}
|
|
11319
|
+
};
|
|
11320
|
+
this.handleSearchInputChange = (e) => {
|
|
11321
|
+
const target = e.target;
|
|
11322
|
+
this.searchQuery = target.value;
|
|
11323
|
+
this.highlightedIndex = -1;
|
|
11324
|
+
// Emit search event for consumer-managed async
|
|
11325
|
+
this.pdsMultiselectSearch.emit({ query: this.searchQuery });
|
|
11326
|
+
// Fetch from async URL if configured
|
|
11327
|
+
if (this.asyncUrl) {
|
|
11328
|
+
this.debouncedFetchAsyncOptions(this.searchQuery, 1);
|
|
11329
|
+
}
|
|
11330
|
+
};
|
|
11331
|
+
this.handleSearchInputKeyDown = (e) => {
|
|
11332
|
+
const filteredOptions = this.getFilteredOptions();
|
|
11333
|
+
switch (e.key) {
|
|
11334
|
+
case 'ArrowDown':
|
|
11335
|
+
e.preventDefault();
|
|
11336
|
+
this.highlightedIndex = Math.min(this.highlightedIndex + 1, filteredOptions.length - 1);
|
|
11337
|
+
this.scrollOptionIntoView();
|
|
11338
|
+
break;
|
|
11339
|
+
case 'ArrowUp':
|
|
11340
|
+
e.preventDefault();
|
|
11341
|
+
this.highlightedIndex = Math.max(this.highlightedIndex - 1, 0);
|
|
11342
|
+
this.scrollOptionIntoView();
|
|
11343
|
+
break;
|
|
11344
|
+
case 'Enter':
|
|
11345
|
+
e.preventDefault();
|
|
11346
|
+
if (this.highlightedIndex >= 0) {
|
|
11347
|
+
const option = filteredOptions[this.highlightedIndex];
|
|
11348
|
+
if (option) {
|
|
11349
|
+
this.selectOption(option);
|
|
11350
|
+
}
|
|
11351
|
+
}
|
|
11352
|
+
break;
|
|
11353
|
+
// Escape is handled by the global @Listen('keydown') handler
|
|
11354
|
+
case 'Tab':
|
|
11355
|
+
this.closeDropdown();
|
|
11356
|
+
break;
|
|
11357
|
+
}
|
|
11358
|
+
};
|
|
11359
|
+
this.handleContainerFocusOut = () => {
|
|
11360
|
+
// Use setTimeout to delay the check - this allows click events and focus transitions to complete
|
|
11361
|
+
// before we decide to close the dropdown
|
|
11362
|
+
setTimeout(() => {
|
|
11363
|
+
var _a;
|
|
11364
|
+
// Don't close if we're in the middle of opening or already closed
|
|
11365
|
+
if (!this.isOpen || this.isOpening)
|
|
11366
|
+
return;
|
|
11367
|
+
const activeElement = document.activeElement;
|
|
11368
|
+
// Check if focus is within our component's shadow root
|
|
11369
|
+
const isInShadowRoot = (_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.contains(activeElement);
|
|
11370
|
+
// Also check if focus is on the host element itself
|
|
11371
|
+
const isOnHost = activeElement === this.el;
|
|
11372
|
+
if (!isInShadowRoot && !isOnHost) {
|
|
11373
|
+
this.closeDropdown();
|
|
11374
|
+
}
|
|
11375
|
+
}, 0);
|
|
11376
|
+
};
|
|
11377
|
+
this.handleOptionMouseDown = (option) => (e) => {
|
|
11378
|
+
e.preventDefault(); // Prevent focus change
|
|
11379
|
+
this.toggleOption(option);
|
|
11380
|
+
};
|
|
11381
|
+
this.handleOptionMouseEnter = (index) => () => {
|
|
11382
|
+
this.highlightedIndex = index;
|
|
11383
|
+
};
|
|
11384
|
+
this.handleScroll = (e) => {
|
|
11385
|
+
if (!this.asyncUrl || !this.hasMore || this.loading)
|
|
11386
|
+
return;
|
|
11387
|
+
const target = e.target;
|
|
11388
|
+
const scrollBottom = target.scrollHeight - target.scrollTop - target.clientHeight;
|
|
11389
|
+
// Load more when near bottom (within 50px)
|
|
11390
|
+
if (scrollBottom < 50) {
|
|
11391
|
+
this.pdsMultiselectLoadOptions.emit({
|
|
11392
|
+
query: this.searchQuery,
|
|
11393
|
+
page: this.currentPage + 1,
|
|
11394
|
+
});
|
|
11395
|
+
this.debouncedFetchAsyncOptions(this.searchQuery, this.currentPage + 1);
|
|
11396
|
+
}
|
|
11397
|
+
};
|
|
11398
|
+
}
|
|
11399
|
+
connectedCallback() {
|
|
11400
|
+
if (this.el.attachInternals) {
|
|
11401
|
+
this.internals = this.el.attachInternals();
|
|
11402
|
+
}
|
|
11403
|
+
}
|
|
11404
|
+
componentWillLoad() {
|
|
11405
|
+
this.originalSearchEmitter = this.pdsMultiselectSearch;
|
|
11406
|
+
this.syncSelectedItems();
|
|
11407
|
+
}
|
|
11408
|
+
componentDidLoad() {
|
|
11409
|
+
this.setupDebounce();
|
|
11410
|
+
this.setupMutationObserver();
|
|
11411
|
+
this.setupSlotChangeListener();
|
|
11412
|
+
this.updateFormValue();
|
|
11413
|
+
// Ensure preselected values sync after DOM is fully ready
|
|
11414
|
+
// This handles cases where slot content loads after initial render (e.g., in docs/MDX)
|
|
11415
|
+
requestAnimationFrame(() => {
|
|
11416
|
+
this.updateOptionsFromSlot();
|
|
11417
|
+
this.syncSelectedItems();
|
|
11418
|
+
});
|
|
11419
|
+
}
|
|
11420
|
+
setupSlotChangeListener() {
|
|
11421
|
+
var _a;
|
|
11422
|
+
const slot = (_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('slot:not([name])');
|
|
11423
|
+
if (slot) {
|
|
11424
|
+
slot.addEventListener('slotchange', () => {
|
|
11425
|
+
this.updateOptionsFromSlot();
|
|
11426
|
+
this.syncSelectedItems();
|
|
11427
|
+
});
|
|
11428
|
+
// Also call it immediately in case content is already slotted
|
|
11429
|
+
this.updateOptionsFromSlot();
|
|
11430
|
+
}
|
|
11431
|
+
}
|
|
11432
|
+
disconnectedCallback() {
|
|
11433
|
+
var _a, _b;
|
|
11434
|
+
(_a = this.observer) === null || _a === void 0 ? void 0 : _a.disconnect();
|
|
11435
|
+
(_b = this.cleanupAutoUpdate) === null || _b === void 0 ? void 0 : _b.call(this);
|
|
11436
|
+
this.clearAsyncFetchState();
|
|
11437
|
+
}
|
|
11438
|
+
setupDebounce() {
|
|
11439
|
+
const { pdsMultiselectSearch, debounce, originalSearchEmitter } = this;
|
|
11440
|
+
this.pdsMultiselectSearch = debounce === undefined
|
|
11441
|
+
? originalSearchEmitter !== null && originalSearchEmitter !== void 0 ? originalSearchEmitter : pdsMultiselectSearch
|
|
11442
|
+
: debounceEvent(pdsMultiselectSearch, debounce);
|
|
11443
|
+
}
|
|
11444
|
+
valueChanged(newValue) {
|
|
11445
|
+
// Handle JSON string values (from HTML attributes)
|
|
11446
|
+
if (typeof newValue === 'string') {
|
|
11447
|
+
try {
|
|
11448
|
+
const parsed = JSON.parse(newValue);
|
|
11449
|
+
if (Array.isArray(parsed)) {
|
|
11450
|
+
this.value = parsed;
|
|
11451
|
+
return; // The assignment will trigger this watcher again with the array
|
|
11452
|
+
}
|
|
11453
|
+
}
|
|
11454
|
+
catch (_a) {
|
|
11455
|
+
// Not valid JSON, treat as single value
|
|
11456
|
+
this.value = newValue ? [newValue] : [];
|
|
11457
|
+
return;
|
|
11458
|
+
}
|
|
11459
|
+
}
|
|
11460
|
+
this.syncSelectedItems();
|
|
11461
|
+
this.updateFormValue();
|
|
11462
|
+
}
|
|
11463
|
+
optionsChanged() {
|
|
11464
|
+
if (this.options) {
|
|
11465
|
+
this.internalOptions = [...this.options];
|
|
11466
|
+
}
|
|
11467
|
+
}
|
|
11468
|
+
internalOptionsChanged() {
|
|
11469
|
+
// Re-sync selected items when options become available
|
|
11470
|
+
// This handles the case where value is set before options are loaded (e.g., from slot)
|
|
11471
|
+
this.syncSelectedItems();
|
|
11472
|
+
}
|
|
11473
|
+
/**
|
|
11474
|
+
* Sets focus on the trigger button.
|
|
11475
|
+
*/
|
|
11476
|
+
async setFocus() {
|
|
11477
|
+
var _a;
|
|
11478
|
+
(_a = this.triggerEl) === null || _a === void 0 ? void 0 : _a.focus();
|
|
11479
|
+
}
|
|
11480
|
+
/**
|
|
11481
|
+
* Handle global keyboard events for accessibility.
|
|
11482
|
+
* Closes dropdown on Escape key press regardless of focus location.
|
|
11483
|
+
*/
|
|
11484
|
+
handleWindowKeyDown(event) {
|
|
11485
|
+
var _a;
|
|
11486
|
+
if (!this.isOpen)
|
|
11487
|
+
return;
|
|
11488
|
+
if (event.key === 'Escape') {
|
|
11489
|
+
event.preventDefault();
|
|
11490
|
+
this.closeDropdown();
|
|
11491
|
+
(_a = this.triggerEl) === null || _a === void 0 ? void 0 : _a.focus();
|
|
11492
|
+
}
|
|
11493
|
+
}
|
|
11494
|
+
setupMutationObserver() {
|
|
11495
|
+
this.observer = new MutationObserver(() => {
|
|
11496
|
+
this.updateOptionsFromSlot();
|
|
11497
|
+
});
|
|
11498
|
+
this.observer.observe(this.el, {
|
|
11499
|
+
childList: true,
|
|
11500
|
+
subtree: true,
|
|
11501
|
+
});
|
|
11502
|
+
}
|
|
11503
|
+
updateOptionsFromSlot() {
|
|
11504
|
+
var _a;
|
|
11505
|
+
const slot = (_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('slot:not([name])');
|
|
11506
|
+
if (!slot)
|
|
11507
|
+
return;
|
|
11508
|
+
const options = slot.assignedElements({ flatten: true })
|
|
11509
|
+
.filter((el) => el.tagName === 'OPTION')
|
|
11510
|
+
.map(opt => ({
|
|
11511
|
+
id: opt.value,
|
|
11512
|
+
text: opt.textContent || opt.value,
|
|
11513
|
+
}));
|
|
11514
|
+
// Only update if we actually found options AND we're not using async/external options
|
|
11515
|
+
// Don't clear internalOptions if slot returns empty (might be mid-DOM-update)
|
|
11516
|
+
if (options.length > 0 && !this.asyncUrl && !this.options) {
|
|
11517
|
+
this.internalOptions = options;
|
|
11518
|
+
}
|
|
11519
|
+
}
|
|
11520
|
+
clearAsyncFetchState() {
|
|
11521
|
+
var _a;
|
|
11522
|
+
if (this.fetchDebounceTimer !== undefined) {
|
|
11523
|
+
window.clearTimeout(this.fetchDebounceTimer);
|
|
11524
|
+
this.fetchDebounceTimer = undefined;
|
|
11525
|
+
}
|
|
11526
|
+
(_a = this.abortController) === null || _a === void 0 ? void 0 : _a.abort();
|
|
11527
|
+
this.abortController = undefined;
|
|
11528
|
+
}
|
|
11529
|
+
debouncedFetchAsyncOptions(query, page = 1) {
|
|
11530
|
+
var _a;
|
|
11531
|
+
if (!this.asyncUrl)
|
|
11532
|
+
return;
|
|
11533
|
+
if (this.fetchDebounceTimer !== undefined) {
|
|
11534
|
+
window.clearTimeout(this.fetchDebounceTimer);
|
|
11535
|
+
}
|
|
11536
|
+
const delay = Math.max(0, (_a = this.debounce) !== null && _a !== void 0 ? _a : 0);
|
|
11537
|
+
this.fetchDebounceTimer = window.setTimeout(() => {
|
|
11538
|
+
this.fetchDebounceTimer = undefined;
|
|
11539
|
+
this.fetchOptions(query, page);
|
|
11540
|
+
}, delay);
|
|
11541
|
+
}
|
|
11542
|
+
syncSelectedItems() {
|
|
11543
|
+
// Ensure value is an array (may be string from HTML attribute)
|
|
11544
|
+
const valueArray = this.ensureValueArray();
|
|
11545
|
+
const allOptions = this.getAllOptions();
|
|
11546
|
+
this.selectedItems = valueArray
|
|
11547
|
+
.map(val => allOptions.find(opt => String(opt.id) === String(val)))
|
|
11548
|
+
.filter((opt) => opt !== undefined);
|
|
11549
|
+
}
|
|
11550
|
+
ensureValueArray() {
|
|
11551
|
+
// Handle JSON string values passed via HTML attribute
|
|
11552
|
+
if (typeof this.value === 'string') {
|
|
11553
|
+
try {
|
|
11554
|
+
const parsed = JSON.parse(this.value);
|
|
11555
|
+
if (Array.isArray(parsed)) {
|
|
11556
|
+
this.value = parsed;
|
|
11557
|
+
return parsed;
|
|
11558
|
+
}
|
|
11559
|
+
}
|
|
11560
|
+
catch (_a) {
|
|
11561
|
+
// Not valid JSON, treat as single value
|
|
11562
|
+
const singleValue = this.value;
|
|
11563
|
+
this.value = singleValue ? [singleValue] : [];
|
|
11564
|
+
return this.value;
|
|
11565
|
+
}
|
|
11566
|
+
}
|
|
11567
|
+
return Array.isArray(this.value) ? this.value : [];
|
|
11568
|
+
}
|
|
11569
|
+
getAllOptions() {
|
|
11570
|
+
return this.options || this.internalOptions;
|
|
11571
|
+
}
|
|
11572
|
+
getFilteredOptions() {
|
|
11573
|
+
const allOptions = this.getAllOptions();
|
|
11574
|
+
const query = this.searchQuery.toLowerCase();
|
|
11575
|
+
return allOptions.filter(opt => {
|
|
11576
|
+
// Filter by search query only - don't filter out selected items
|
|
11577
|
+
if (query) {
|
|
11578
|
+
return opt.text.toLowerCase().includes(query);
|
|
11579
|
+
}
|
|
11580
|
+
return true;
|
|
11581
|
+
});
|
|
11582
|
+
}
|
|
11583
|
+
updateFormValue() {
|
|
11584
|
+
var _a;
|
|
11585
|
+
if ((_a = this.internals) === null || _a === void 0 ? void 0 : _a.setFormValue) {
|
|
11586
|
+
// Ensure value is an array before iterating
|
|
11587
|
+
const valueArray = this.ensureValueArray();
|
|
11588
|
+
// Submit as multiple values with same name (native select multiple behavior)
|
|
11589
|
+
const formData = new FormData();
|
|
11590
|
+
valueArray.forEach(val => {
|
|
11591
|
+
if (this.name) {
|
|
11592
|
+
formData.append(this.name, val);
|
|
11593
|
+
}
|
|
11594
|
+
});
|
|
11595
|
+
this.internals.setFormValue(formData);
|
|
11596
|
+
// Update validity state for required validation
|
|
11597
|
+
if (this.required && valueArray.length === 0) {
|
|
11598
|
+
this.internals.setValidity({ valueMissing: true }, 'Please select at least one option.', this.triggerEl);
|
|
11599
|
+
}
|
|
11600
|
+
else {
|
|
11601
|
+
this.internals.setValidity({});
|
|
11602
|
+
}
|
|
11603
|
+
}
|
|
11604
|
+
}
|
|
11605
|
+
async fetchOptions(query, page = 1) {
|
|
11606
|
+
var _a;
|
|
11607
|
+
if (!this.asyncUrl)
|
|
11608
|
+
return;
|
|
11609
|
+
(_a = this.abortController) === null || _a === void 0 ? void 0 : _a.abort();
|
|
11610
|
+
this.abortController = new AbortController();
|
|
11611
|
+
this.loading = true;
|
|
11612
|
+
try {
|
|
11613
|
+
const url = new URL(this.asyncUrl, window.location.origin);
|
|
11614
|
+
if (this.asyncMethod === 'GET') {
|
|
11615
|
+
url.searchParams.set('search', query);
|
|
11616
|
+
url.searchParams.set('page', String(page));
|
|
11617
|
+
}
|
|
11618
|
+
const response = await fetch(url.toString(), Object.assign({ method: this.asyncMethod, signal: this.abortController.signal, headers: {
|
|
11619
|
+
'Content-Type': 'application/json',
|
|
11620
|
+
'Accept': 'application/json',
|
|
11621
|
+
} }, (this.asyncMethod === 'POST' && {
|
|
11622
|
+
body: JSON.stringify({ search: query, page }),
|
|
11623
|
+
})));
|
|
11624
|
+
if (!response.ok)
|
|
11625
|
+
throw new Error('Failed to fetch options');
|
|
11626
|
+
const data = await response.json();
|
|
11627
|
+
const formattedResults = data.results.map(item => {
|
|
11628
|
+
if (this.formatResult) {
|
|
11629
|
+
return this.formatResult(item);
|
|
11630
|
+
}
|
|
11631
|
+
return Object.assign({ id: item.id, text: item.text }, item);
|
|
11632
|
+
});
|
|
11633
|
+
if (page === 1) {
|
|
11634
|
+
this.internalOptions = formattedResults;
|
|
11635
|
+
}
|
|
11636
|
+
else {
|
|
11637
|
+
this.internalOptions = [...this.internalOptions, ...formattedResults];
|
|
11638
|
+
}
|
|
11639
|
+
this.hasMore = data.totalCount ? this.internalOptions.length < data.totalCount : false;
|
|
11640
|
+
this.currentPage = page;
|
|
11641
|
+
}
|
|
11642
|
+
catch (error) {
|
|
11643
|
+
if (error.name !== 'AbortError') {
|
|
11644
|
+
console.error('PdsMultiselect: Failed to fetch options', error);
|
|
11645
|
+
}
|
|
11646
|
+
}
|
|
11647
|
+
finally {
|
|
11648
|
+
this.loading = false;
|
|
11649
|
+
}
|
|
11650
|
+
}
|
|
11651
|
+
openDropdown() {
|
|
11652
|
+
if (this.disabled)
|
|
11653
|
+
return;
|
|
11654
|
+
this.isOpening = true;
|
|
11655
|
+
this.isOpen = true;
|
|
11656
|
+
this.highlightedIndex = -1;
|
|
11657
|
+
// Trigger initial fetch if async
|
|
11658
|
+
if (this.asyncUrl && this.internalOptions.length === 0) {
|
|
11659
|
+
this.debouncedFetchAsyncOptions(this.searchQuery, 1);
|
|
11660
|
+
}
|
|
11661
|
+
requestAnimationFrame(() => {
|
|
11662
|
+
var _a;
|
|
11663
|
+
this.positionDropdown();
|
|
11664
|
+
// Focus the search input after the panel is positioned
|
|
11665
|
+
(_a = this.searchInputEl) === null || _a === void 0 ? void 0 : _a.focus();
|
|
11666
|
+
// Clear the opening flag after focus has moved
|
|
11667
|
+
setTimeout(() => {
|
|
11668
|
+
this.isOpening = false;
|
|
11669
|
+
}, 50);
|
|
11670
|
+
});
|
|
11671
|
+
}
|
|
11672
|
+
closeDropdown() {
|
|
11673
|
+
this.isOpen = false;
|
|
11674
|
+
this.highlightedIndex = -1;
|
|
11675
|
+
this.searchQuery = '';
|
|
11676
|
+
// Clean up auto-update
|
|
11677
|
+
if (this.cleanupAutoUpdate) {
|
|
11678
|
+
this.cleanupAutoUpdate();
|
|
11679
|
+
this.cleanupAutoUpdate = undefined;
|
|
11680
|
+
}
|
|
11681
|
+
}
|
|
11682
|
+
positionDropdown() {
|
|
11683
|
+
if (!this.containerEl || !this.panelEl)
|
|
11684
|
+
return;
|
|
11685
|
+
const referenceEl = this.triggerEl || this.containerEl;
|
|
11686
|
+
const { minWidth, panelWidth } = this;
|
|
11687
|
+
const updatePosition = () => {
|
|
11688
|
+
computePosition(referenceEl, this.panelEl, {
|
|
11689
|
+
placement: 'bottom-start',
|
|
11690
|
+
strategy: 'absolute',
|
|
11691
|
+
middleware: [
|
|
11692
|
+
offset(12),
|
|
11693
|
+
flip(),
|
|
11694
|
+
shift({ padding: 8 }),
|
|
11695
|
+
size({
|
|
11696
|
+
apply: ({ rects, elements }) => {
|
|
11697
|
+
Object.assign(elements.floating.style, {
|
|
11698
|
+
width: panelWidth !== null && panelWidth !== void 0 ? panelWidth : `${rects.reference.width}px`,
|
|
11699
|
+
minWidth,
|
|
11700
|
+
});
|
|
11701
|
+
},
|
|
11702
|
+
}),
|
|
11703
|
+
],
|
|
11704
|
+
}).then(({ x, y }) => {
|
|
11705
|
+
if (this.panelEl) {
|
|
11706
|
+
this.panelEl.style.left = `${x}px`;
|
|
11707
|
+
this.panelEl.style.top = `${y}px`;
|
|
11708
|
+
}
|
|
11709
|
+
});
|
|
11710
|
+
};
|
|
11711
|
+
// Initial position
|
|
11712
|
+
updatePosition();
|
|
11713
|
+
// Set up auto-update for window resize and scroll
|
|
11714
|
+
const cleanupAutoUpdate = autoUpdate(referenceEl, this.panelEl, updatePosition);
|
|
11715
|
+
this.cleanupAutoUpdate = () => {
|
|
11716
|
+
cleanupAutoUpdate();
|
|
11717
|
+
this.clearAsyncFetchState();
|
|
11718
|
+
};
|
|
11719
|
+
}
|
|
11720
|
+
scrollOptionIntoView() {
|
|
11721
|
+
requestAnimationFrame(() => {
|
|
11722
|
+
var _a;
|
|
11723
|
+
const highlighted = (_a = this.listboxEl) === null || _a === void 0 ? void 0 : _a.querySelector(`[data-index="${this.highlightedIndex}"]`);
|
|
11724
|
+
highlighted === null || highlighted === void 0 ? void 0 : highlighted.scrollIntoView({ block: 'nearest', behavior: 'smooth' });
|
|
11725
|
+
});
|
|
11726
|
+
}
|
|
11727
|
+
toggleOption(option) {
|
|
11728
|
+
var _a;
|
|
11729
|
+
const isSelected = this.value.includes(String(option.id));
|
|
11730
|
+
if (isSelected) {
|
|
11731
|
+
// Remove from selection
|
|
11732
|
+
const newValue = this.value.filter(v => v !== String(option.id));
|
|
11733
|
+
this.value = newValue;
|
|
11734
|
+
const newSelectedItems = this.selectedItems.filter(item => String(item.id) !== String(option.id));
|
|
11735
|
+
this.pdsMultiselectChange.emit({
|
|
11736
|
+
values: newValue,
|
|
11737
|
+
items: newSelectedItems,
|
|
11738
|
+
});
|
|
11739
|
+
}
|
|
11740
|
+
else {
|
|
11741
|
+
// Add to selection
|
|
11742
|
+
if (this.maxSelections && this.value.length >= this.maxSelections) {
|
|
11743
|
+
return;
|
|
11744
|
+
}
|
|
11745
|
+
const newValue = [...this.value, String(option.id)];
|
|
11746
|
+
this.value = newValue;
|
|
11747
|
+
const newSelectedItems = [...this.selectedItems, option];
|
|
11748
|
+
this.pdsMultiselectChange.emit({
|
|
11749
|
+
values: newValue,
|
|
11750
|
+
items: newSelectedItems,
|
|
11751
|
+
});
|
|
11752
|
+
}
|
|
11753
|
+
// Keep focus on search input, don't close dropdown
|
|
11754
|
+
(_a = this.searchInputEl) === null || _a === void 0 ? void 0 : _a.focus();
|
|
11755
|
+
}
|
|
11756
|
+
selectOption(option) {
|
|
11757
|
+
// For keyboard navigation - toggle the option
|
|
11758
|
+
this.toggleOption(option);
|
|
11759
|
+
}
|
|
11760
|
+
renderSelectedItemsList() {
|
|
11761
|
+
if (this.selectedItems.length === 0)
|
|
11762
|
+
return null;
|
|
11763
|
+
return (hAsync("div", { class: "pds-multiselect__selected-section" }, hAsync("ul", { class: "pds-multiselect__selected-list", role: "list" }, this.selectedItems.map(item => (hAsync("li", { key: String(item.id), class: "pds-multiselect__selected-item" }, item.text))))));
|
|
11764
|
+
}
|
|
11765
|
+
renderDropdown() {
|
|
11766
|
+
if (!this.isOpen)
|
|
11767
|
+
return null;
|
|
11768
|
+
const filteredOptions = this.getFilteredOptions();
|
|
11769
|
+
const valueArray = this.ensureValueArray();
|
|
11770
|
+
const hasSlottedEmpty = !!this.el.querySelector('[slot="empty"]');
|
|
11771
|
+
const hasSlottedLoading = !!this.el.querySelector('[slot="loading"]');
|
|
11772
|
+
return (hAsync("div", { class: "pds-multiselect__panel", ref: el => (this.panelEl = el), style: { minWidth: this.minWidth } }, hAsync("div", { class: "pds-multiselect__search" }, hAsync("pds-icon", { name: "search", size: "small" }), hAsync("input", { ref: el => (this.searchInputEl = el), type: "text", class: "pds-multiselect__search-input", placeholder: "Find...", value: this.searchQuery, "aria-label": "Search options", "aria-controls": `${this.componentId}-listbox`, "aria-activedescendant": this.highlightedIndex >= 0 ? `${this.componentId}-option-${this.highlightedIndex}` : undefined, role: "combobox", "aria-haspopup": "listbox", "aria-expanded": "true", "aria-autocomplete": "list", autocomplete: "off", onInput: this.handleSearchInputChange, onKeyDown: this.handleSearchInputKeyDown })), this.renderSelectedItemsList(), hAsync("ul", { class: "pds-multiselect__listbox", role: "listbox", "aria-multiselectable": "true", "aria-label": this.label || 'Options', id: `${this.componentId}-listbox`, ref: el => (this.listboxEl = el), style: { maxHeight: this.maxHeight }, onScroll: this.handleScroll }, this.loading && (hAsync("li", { class: "pds-multiselect__loading", role: "presentation" }, hasSlottedLoading ? (hAsync("slot", { name: "loading" })) : (hAsync("pds-loader", { size: "small" })))), !this.loading && filteredOptions.length === 0 && (hAsync("li", { class: "pds-multiselect__empty", role: "presentation" }, hasSlottedEmpty ? (hAsync("slot", { name: "empty" })) : (hAsync("span", null, "No options found")))), filteredOptions.map((option, index) => {
|
|
11773
|
+
const isSelected = valueArray.includes(String(option.id));
|
|
11774
|
+
const isHighlighted = index === this.highlightedIndex;
|
|
11775
|
+
const optionId = `${this.componentId}-option-${index}`;
|
|
11776
|
+
return (hAsync("li", { key: String(option.id), id: optionId, class: {
|
|
11777
|
+
'pds-multiselect__option': true,
|
|
11778
|
+
'pds-multiselect__option--highlighted': isHighlighted,
|
|
11779
|
+
'pds-multiselect__option--selected': isSelected,
|
|
11780
|
+
}, role: "option", "aria-selected": isSelected ? 'true' : 'false', "data-index": index, onMouseDown: this.handleOptionMouseDown(option), onMouseEnter: this.handleOptionMouseEnter(index) }, hAsync("pds-checkbox", { componentId: `${this.componentId}-checkbox-${index}`, checked: isSelected, label: option.text, style: { pointerEvents: 'none' } })));
|
|
11781
|
+
}), this.hasMore && !this.loading && (hAsync("li", { class: "pds-multiselect__load-more", role: "presentation" }, hAsync("pds-loader", { size: "small" }))))));
|
|
11782
|
+
}
|
|
11783
|
+
getTriggerText() {
|
|
11784
|
+
const count = this.selectedItems.length;
|
|
11785
|
+
if (count === 0) {
|
|
11786
|
+
return this.placeholder || 'Select...';
|
|
11787
|
+
}
|
|
11788
|
+
return `${count} item${count === 1 ? '' : 's'}`;
|
|
11789
|
+
}
|
|
11790
|
+
render() {
|
|
11791
|
+
const hasSelections = this.selectedItems.length > 0;
|
|
11792
|
+
return (hAsync(Host, { key: '0d8a40829a0a7f2cf89d9fbe036c0880d17652c0', "aria-disabled": this.disabled ? 'true' : null }, hAsync("div", { key: '375297b4cc85ca3afd28965b2138fcd144a42474', class: "pds-multiselect" }, this.label && (hAsync("label", { key: '3976caded352614dbae48b710d8615f2c46fe688', htmlFor: this.componentId, class: {
|
|
11793
|
+
'pds-multiselect__label': true,
|
|
11794
|
+
'visually-hidden': this.hideLabel,
|
|
11795
|
+
} }, this.label)), hAsync("div", { key: 'ec02d5c84873688d155be28b0cdd8c495d60d796', class: "pds-multiselect__wrapper", ref: el => (this.containerEl = el), onFocusout: this.handleContainerFocusOut, style: { width: this.triggerWidth } }, hAsync("button", { key: '87c5a8847d26e18425389dd8fd8f1f198263a7c0', ref: el => (this.triggerEl = el), type: "button", class: {
|
|
11796
|
+
'pds-multiselect__trigger': true,
|
|
11797
|
+
'pds-multiselect__trigger--open': this.isOpen,
|
|
11798
|
+
'pds-multiselect__trigger--disabled': this.disabled,
|
|
11799
|
+
'pds-multiselect__trigger--invalid': this.invalid || !!this.errorMessage,
|
|
11800
|
+
'pds-multiselect__trigger--has-value': hasSelections,
|
|
11801
|
+
}, id: this.componentId, disabled: this.disabled, "aria-required": this.required ? 'true' : undefined, "aria-expanded": this.isOpen ? 'true' : 'false', "aria-haspopup": "listbox", "aria-describedby": assignDescription(this.componentId, this.invalid || !!this.errorMessage, this.errorMessage || this.helperMessage), "aria-invalid": this.invalid || !!this.errorMessage ? 'true' : undefined, onClick: this.handleTriggerClick, onKeyDown: this.handleTriggerKeyDown }, hAsync("span", { key: '4660140f3fa4201b5706b6e4870e463ed718cd0d', class: {
|
|
11802
|
+
'pds-multiselect__trigger-text': true,
|
|
11803
|
+
'pds-multiselect__trigger-text--placeholder': !hasSelections,
|
|
11804
|
+
} }, this.getTriggerText()), hAsync("pds-icon", { key: 'dbba532de1a4b915c64b3b79d414cf3b53203c5f', class: "pds-multiselect__icon", icon: enlarge })), this.renderDropdown()), this.helperMessage && !this.errorMessage && (hAsync("p", { key: '0524ae0fabff8365f9bf61ab71878c6d3bec362d', class: "pds-multiselect__helper", id: messageId(this.componentId, 'helper') }, this.helperMessage)), this.errorMessage && (hAsync("p", { key: 'e014047181cb25a40fae151797406cdd726ee3ea', class: "pds-multiselect__error", id: messageId(this.componentId, 'error') }, hAsync("pds-icon", { key: '45cd498f7f60b4b15193e16a6521bb2324cca06d', icon: danger, size: "small" }), this.errorMessage)), hAsync("div", { key: 'fc24922ae45ef799a34f5fa696cd7a5e4e1d945f', style: { display: 'none' } }, hAsync("slot", { key: '0c3a84477eabf0779e84feaf2b936b3ca7ad9606' })))));
|
|
11805
|
+
}
|
|
11806
|
+
static get formAssociated() { return true; }
|
|
11807
|
+
get el() { return getElement(this); }
|
|
11808
|
+
static get watchers() { return {
|
|
11809
|
+
"debounce": ["setupDebounce"],
|
|
11810
|
+
"value": ["valueChanged"],
|
|
11811
|
+
"options": ["optionsChanged"],
|
|
11812
|
+
"internalOptions": ["internalOptionsChanged"]
|
|
11813
|
+
}; }
|
|
11814
|
+
static get style() { return pdsMultiselectCss; }
|
|
11815
|
+
static get cmpMeta() { return {
|
|
11816
|
+
"$flags$": 329,
|
|
11817
|
+
"$tagName$": "pds-multiselect",
|
|
11818
|
+
"$members$": {
|
|
11819
|
+
"componentId": [1, "component-id"],
|
|
11820
|
+
"label": [1],
|
|
11821
|
+
"placeholder": [1],
|
|
11822
|
+
"name": [1],
|
|
11823
|
+
"value": [1040],
|
|
11824
|
+
"disabled": [4],
|
|
11825
|
+
"asyncUrl": [1, "async-url"],
|
|
11826
|
+
"asyncMethod": [1, "async-method"],
|
|
11827
|
+
"debounce": [2],
|
|
11828
|
+
"maxSelections": [2, "max-selections"],
|
|
11829
|
+
"maxHeight": [1, "max-height"],
|
|
11830
|
+
"triggerWidth": [1, "trigger-width"],
|
|
11831
|
+
"minWidth": [1, "min-width"],
|
|
11832
|
+
"panelWidth": [1, "panel-width"],
|
|
11833
|
+
"hideLabel": [4, "hide-label"],
|
|
11834
|
+
"errorMessage": [1, "error-message"],
|
|
11835
|
+
"helperMessage": [1, "helper-message"],
|
|
11836
|
+
"invalid": [4],
|
|
11837
|
+
"required": [4],
|
|
11838
|
+
"loading": [1028],
|
|
11839
|
+
"options": [16],
|
|
11840
|
+
"formatResult": [16],
|
|
11841
|
+
"isOpen": [32],
|
|
11842
|
+
"searchQuery": [32],
|
|
11843
|
+
"highlightedIndex": [32],
|
|
11844
|
+
"internalOptions": [32],
|
|
11845
|
+
"selectedItems": [32],
|
|
11846
|
+
"currentPage": [32],
|
|
11847
|
+
"hasMore": [32],
|
|
11848
|
+
"setFocus": [64]
|
|
11849
|
+
},
|
|
11850
|
+
"$listeners$": [[8, "keydown", "handleWindowKeyDown"]],
|
|
11851
|
+
"$lazyBundleId$": "-",
|
|
11852
|
+
"$attrsToReflect$": []
|
|
11853
|
+
}; }
|
|
11854
|
+
}
|
|
11855
|
+
|
|
11068
11856
|
const pdsPopoverCss = ":host{--sizing-max-width-default:352px;display:inline-block}:host .pds-popover__trigger-wrapper{display:inline-block}:host .pds-popover__content-slot-wrapper{display:none}";
|
|
11069
11857
|
|
|
11070
11858
|
/**
|
|
@@ -11625,7 +12413,7 @@ class PdsPopover {
|
|
|
11625
12413
|
}, 16); // ~1 frame at 60fps
|
|
11626
12414
|
}
|
|
11627
12415
|
render() {
|
|
11628
|
-
return (hAsync(Host, { key: '
|
|
12416
|
+
return (hAsync(Host, { key: '4cdcc590173cf0edc4412b611277d7cce152c567', id: this.componentId }, hAsync("span", { key: '5136bc20db4630da4264d389e6ff2d25353900c6', class: "pds-popover__trigger-wrapper" }, hAsync("slot", { key: '7127a728bc5b6458d339c54cdd795d9768219479', name: "trigger", onSlotchange: this.handleTriggerSlotChange })), hAsync("div", { key: '3ffd0aca1500b59f8e577c063d3ff766fc95a550', class: "pds-popover__content-slot-wrapper" }, hAsync("slot", { key: '30093c1e7d9a94c5297386f07eb921be85e59a97', onSlotchange: this.handleContentSlotChange }))));
|
|
11629
12417
|
}
|
|
11630
12418
|
get el() { return getElement(this); }
|
|
11631
12419
|
static get style() { return pdsPopoverCss; }
|
|
@@ -11675,7 +12463,7 @@ class PdsProgress {
|
|
|
11675
12463
|
this.showPercent = false;
|
|
11676
12464
|
}
|
|
11677
12465
|
render() {
|
|
11678
|
-
return (hAsync(Host, { key: '
|
|
12466
|
+
return (hAsync(Host, { key: '5ba399b7d026ddcee0b6b3c2626baa2cb175afab', class: this.animated ? { 'is-animated': this.animated } : '' }, hAsync("div", { key: '020ea8e805013e36fedb9c9aa67f06792878297c', class: "pds-progress" }, hAsync("label", { key: '18d751a8526bdde6e3e907a3d1e3755eb3c3c99d', class: "pds-progress__label", htmlFor: this.componentId }, this.label), hAsync("progress", { key: '1f3c07efa8ba71744133c49fd90bfaa5d62752e9', id: this.componentId, max: "100", style: this.fillColor ? { '--color-progress-fill': this.fillColor } : {}, value: this.percent })), this.showPercent && hAsync("div", { key: '768d517ffb6fa3ece02533eba0da3fa015530293', class: "pds-progress__percentage" }, this.percent, "%")));
|
|
11679
12467
|
}
|
|
11680
12468
|
static get style() { return pdsProgressCss; }
|
|
11681
12469
|
static get cmpMeta() { return {
|
|
@@ -11709,7 +12497,7 @@ class PdsProperty {
|
|
|
11709
12497
|
this.icon = 'star';
|
|
11710
12498
|
}
|
|
11711
12499
|
render() {
|
|
11712
|
-
return (hAsync(Host, { key: '
|
|
12500
|
+
return (hAsync(Host, { key: '8caea739a84ede1f76b0564fb76183530c9ac0b7', id: this.componentId }, hAsync("pds-box", { key: 'a539e91af082e31d64cfca1a73bc94c1660f6960', "align-items": "center", gap: "xs" }, hAsync("pds-icon", { key: 'f3ac971b857c1b236b8e3d7345633d3846c21bea', icon: this.icon, size: "var(--pine-dimension-sm)", "aria-hidden": "true" }), hAsync("slot", { key: 'c2e88b899f814084998bd63eabdd43204e5fafad' }))));
|
|
11713
12501
|
}
|
|
11714
12502
|
static get style() { return pdsPropertyCss; }
|
|
11715
12503
|
static get cmpMeta() { return {
|
|
@@ -11810,11 +12598,11 @@ class PdsRadio {
|
|
|
11810
12598
|
}
|
|
11811
12599
|
render() {
|
|
11812
12600
|
const renderLabelAndMessages = () => [
|
|
11813
|
-
hAsync("label", { htmlFor: this.componentId, key: `${this.componentId}-label` }, hAsync("input", { key: '
|
|
12601
|
+
hAsync("label", { htmlFor: this.componentId, key: `${this.componentId}-label` }, hAsync("input", { key: 'f2f2f199931f721f52dacdbe419ff78fdc7d0eff', "aria-describedby": assignDescription(this.componentId, this.invalid, this.helperMessage), "aria-invalid": this.invalid ? "true" : undefined, type: "radio", id: this.componentId, name: this.name, value: this.value, checked: this.checked, required: this.required, disabled: this.disabled, onChange: this.handleRadioChange, class: this.hasImage() ? 'visually-hidden' : '' }), hAsync("span", { key: 'e51195a03fa69e1bda7cdd7a5a6518833162be8e', class: this.hideLabel ? 'visually-hidden' : '' }, this.label)),
|
|
11814
12602
|
this.helperMessage && (hAsync("div", { key: `${this.componentId}-helper`, class: 'pds-radio__message', id: messageId(this.componentId, 'helper') }, this.helperMessage)),
|
|
11815
|
-
this.errorMessage && (hAsync("div", { key: `${this.componentId}-error`, class: `pds-radio__message pds-radio__message--error`, id: messageId(this.componentId, 'error'), "aria-live": "assertive" }, hAsync("pds-icon", { key: '
|
|
12603
|
+
this.errorMessage && (hAsync("div", { key: `${this.componentId}-error`, class: `pds-radio__message pds-radio__message--error`, id: messageId(this.componentId, 'error'), "aria-live": "assertive" }, hAsync("pds-icon", { key: '519b558a41aafa223dbbc1f4e40d4de27f26aa69', icon: danger, size: "small" }), this.errorMessage))
|
|
11816
12604
|
];
|
|
11817
|
-
return (hAsync(Host, { key: '
|
|
12605
|
+
return (hAsync(Host, { key: 'edf88fa769c7d87e86b36a4a9476d460b8ea7105', class: this.classNames() }, this.hasImage() && (hAsync("div", { key: '09c2eb9d72e87550a557cd7fbaf69e9b16636940', class: "pds-radio__image-container", part: "image-container" }, hAsync("slot", { key: 'd0f939ea5bb07f2b0cdb2bb8c8576fdf2c03b196', name: "image", onSlotchange: () => (this._hasImage = this.hasImageSlot()) }))), this.hasImage() ? (hAsync("div", { class: "pds-radio__content-wrapper" }, renderLabelAndMessages())) : (renderLabelAndMessages())));
|
|
11818
12606
|
}
|
|
11819
12607
|
get el() { return getElement(this); }
|
|
11820
12608
|
static get style() { return labelCss$3 + pdsRadioCss; }
|
|
@@ -11989,13 +12777,13 @@ class PdsRadioGroup {
|
|
|
11989
12777
|
render() {
|
|
11990
12778
|
const gapValue = this.getGapValue();
|
|
11991
12779
|
const ariaDescribedBy = this.getAriaDescribedBy();
|
|
11992
|
-
return (hAsync(Host, { key: '
|
|
12780
|
+
return (hAsync(Host, { key: '4172c83d182d274660aca1f09cb3cf0a822623bc', class: this.classNames(), id: this._groupId, role: "group", "aria-describedby": ariaDescribedBy, style: {
|
|
11993
12781
|
'--pds-radio-group-gap': gapValue,
|
|
11994
|
-
} }, this.groupLabel && (hAsync("div", { key: '
|
|
12782
|
+
} }, this.groupLabel && (hAsync("div", { key: '9487046d8ce5f89535f220816192f63063eba7da', class: "pds-radio-group__label" }, this.groupLabel)), hAsync("div", { key: '691b01627a001a5be54e41ecfef7d0c182be30fb', class: {
|
|
11995
12783
|
'pds-radio-group__radios': true,
|
|
11996
12784
|
'pds-radio-group__radios--row': this.direction === 'row',
|
|
11997
12785
|
'pds-radio-group__radios--column': this.direction === 'column',
|
|
11998
|
-
} }, hAsync("slot", { key: '
|
|
12786
|
+
} }, hAsync("slot", { key: 'b92f475d38f0eb35dcb0a5c20bbc9442db64559d', onSlotchange: () => this.updateChildRadios() })), this.helperMessage && (hAsync("div", { key: 'fb2b8e6c06ea02ee5b7203c26cd30901dde7752d', class: "pds-radio-group__message", id: messageId(this._groupId, 'helper') }, this.helperMessage)), this.errorMessage && (hAsync("div", { key: 'cd496c7eea405bc4cf76462326e2309bce5b1d7f', class: "pds-radio-group__message pds-radio-group__message--error", id: messageId(this._groupId, 'error'), "aria-live": "assertive" }, hAsync("pds-icon", { key: '7a76c505dd8c9673b2c6ac8b652bede5ec5557c6', icon: danger, size: "small" }), this.errorMessage))));
|
|
11999
12787
|
}
|
|
12000
12788
|
get el() { return getElement(this); }
|
|
12001
12789
|
static get watchers() { return {
|
|
@@ -12085,7 +12873,7 @@ class PdsRow {
|
|
|
12085
12873
|
})), (this.minHeight && {
|
|
12086
12874
|
'min-height': this.minHeight,
|
|
12087
12875
|
}));
|
|
12088
|
-
return hAsync(Host, { key: '
|
|
12876
|
+
return hAsync(Host, { key: '6e6e95f69cf5a84c481399737f9f5c68117aabd9', class: `pds-row ${rowClasses}`, style: rowInlineStyles });
|
|
12089
12877
|
}
|
|
12090
12878
|
static get style() { return pdsRowCss; }
|
|
12091
12879
|
static get cmpMeta() { return {
|
|
@@ -12338,7 +13126,7 @@ class PdsSelect {
|
|
|
12338
13126
|
}
|
|
12339
13127
|
render() {
|
|
12340
13128
|
const hasAction = this.el.querySelector('[slot="action"]') !== null;
|
|
12341
|
-
return (hAsync(Host, { key: '
|
|
13129
|
+
return (hAsync(Host, { key: 'ce2ea014cb9651d4702eddc57a873684bd30aecb', "aria-disabled": this.disabled ? 'true' : null, class: this.classNames(), "has-action": hasAction && !this.hideLabel ? 'true' : null }, hAsync("div", { key: '960c12bb9cc16261ddd54f381dc633a72724847d', class: "pds-select" }, !this.hideLabel && (hAsync("div", { key: '599ab73596c72413778aeb54148105d28556c7b6', class: "pds-select__label-wrapper" }, hAsync("label", { key: '04a9c836822bc80013d022e5e91f025ac304c34b', htmlFor: this.componentId }, hAsync("span", { key: '5b01e324cc15017672682af17126bcc5942b0d6a', class: this.hideLabel ? 'visually-hidden' : '' }, this.label)), hasAction && this.renderAction())), hAsync("select", { key: 'f13a0bfa5b6e7b34e7edcf9b807e90bbdcc8da95', "aria-label": this.hideLabel ? this.label : undefined, autocomplete: this.autocomplete || undefined, class: "pds-select__field", disabled: this.disabled, id: this.componentId, multiple: this.multiple, name: this.name, onBlur: this.onBlur, onChange: this.onSelectUpdate, onFocus: this.onFocus, onKeyDown: this.onKeyDown, part: "select", required: this.required, ref: (el) => (this.selectEl = el) }), hAsync("div", { key: 'cd01ea77340c9d1ffdf61494a64138c9361a93a1', "aria-hidden": "true", class: "hidden", ref: (el) => (this.slotContainer = el) }, hAsync("slot", { key: '34c97591724950d7e4a5dfcb35b1945f2d457dbb', onSlotchange: this.handleSlotChange })), this.renderMessages(), !this.multiple && hAsync("pds-icon", { key: '7179c3c86292e79839fa245d7ed5b050295893cc', class: "pds-select__select-icon", icon: enlarge }))));
|
|
12342
13130
|
}
|
|
12343
13131
|
static get formAssociated() { return true; }
|
|
12344
13132
|
get el() { return getElement(this); }
|
|
@@ -15082,7 +15870,7 @@ class PdsSortable {
|
|
|
15082
15870
|
Sortable.create(this.el, sortableOptions);
|
|
15083
15871
|
}
|
|
15084
15872
|
render() {
|
|
15085
|
-
return (hAsync(Host, { key: '
|
|
15873
|
+
return (hAsync(Host, { key: 'b01f12d7d2973ce2fa513a468be3634e38241171', class: this.classNames(), id: this.componentId }, hAsync("slot", { key: '7d9dff192e9b6a01e71c41d9250c0245ca548658' })));
|
|
15086
15874
|
}
|
|
15087
15875
|
get el() { return getElement(this); }
|
|
15088
15876
|
static get style() { return pdsSortableCss; }
|
|
@@ -15129,7 +15917,7 @@ class PdsSortableItem {
|
|
|
15129
15917
|
}
|
|
15130
15918
|
}
|
|
15131
15919
|
render() {
|
|
15132
|
-
return (hAsync(Host, { key: '
|
|
15920
|
+
return (hAsync(Host, { key: 'c2b286104572c25626e9c1ae419c2526ac1eb9a1', class: "pds-sortable-item", id: this.componentId }, this.showHandle && (hAsync("div", { key: '29354af0cc9ca6623794e3abf7b9419edd0a8e8f', class: "pds-sortable-item__handle" }, hAsync("pds-icon", { key: '17a662d94426e292c3a25c4567f3714f207e2383', icon: handle }))), hAsync("slot", { key: 'a3cee3d4c8dbb213e7a1d9bbf6fdce59fa8b796d' }), this.enableActions && (hAsync("div", { key: '8b314f938ed53ab6680b020bd38aa6dbee804aad', class: "pds-sortable-item__actions" }, hAsync("slot", { key: '60fe3c241349d91d6325e67bf2a63fe1f7858fc8', name: "sortable-item-actions" })))));
|
|
15133
15921
|
}
|
|
15134
15922
|
get el() { return getElement(this); }
|
|
15135
15923
|
static get style() { return pdsSortableItemCss; }
|
|
@@ -15234,9 +16022,9 @@ class PdsSwitch {
|
|
|
15234
16022
|
this.inheritedAttributes = Object.assign({}, inheritAriaAttributes(this.el));
|
|
15235
16023
|
}
|
|
15236
16024
|
render() {
|
|
15237
|
-
return (hAsync(Host, { key: '
|
|
15238
|
-
hAsync("div", { key: '
|
|
15239
|
-
hAsync("div", { key: '
|
|
16025
|
+
return (hAsync(Host, { key: '9854669943e6649187ce91c8a129d2dd9f100e85', class: this.switchClassNames(), "aria-disabled": this.disabled ? 'true' : null }, hAsync("label", { key: '11d9a6deb7223a77981da4a7145059255e9a5629', htmlFor: this.componentId }, hAsync("input", Object.assign({ key: '525888746cd4181d8216878352b0ddfe0a16a64d', "aria-describedby": assignDescription(this.componentId, this.invalid, this.errorMessage || this.helperMessage), "aria-invalid": this.invalid ? "true" : undefined, checked: this.checked, class: "pds-switch__input", disabled: this.disabled, id: this.componentId, name: this.name ? this.name : this.componentId, onChange: this.onSwitchUpdate, required: this.required, type: "checkbox", value: this.value }, this.inheritedAttributes)), hAsync("span", { key: '11dbfd6f30488217164949130d5629aea305a65c', class: this.hideLabel ? 'visually-hidden' : '' }, this.label)), this.helperMessage &&
|
|
16026
|
+
hAsync("div", { key: 'c8cbe1e266de9a67772d37bf1c25439f36705c2b', class: `pds-switch__message`, id: messageId(this.componentId, 'helper') }, this.helperMessage), this.errorMessage &&
|
|
16027
|
+
hAsync("div", { key: 'f1155010ae7aca24a7e860d8b67897254e32db00', class: `pds-switch__message pds-switch__message--error`, id: messageId(this.componentId, 'error'), "aria-live": "assertive" }, hAsync("pds-icon", { key: '530e2a963f9051ee3d044dc9a82b673613a93f5c', icon: danger, size: "small" }), this.errorMessage)));
|
|
15240
16028
|
}
|
|
15241
16029
|
static get formAssociated() { return true; }
|
|
15242
16030
|
get el() { return getElement(this); }
|
|
@@ -15266,7 +16054,7 @@ class PdsSwitch {
|
|
|
15266
16054
|
}; }
|
|
15267
16055
|
}
|
|
15268
16056
|
|
|
15269
|
-
const pdsTabCss = "pds-tab{-ms-flex-align:center;align-items:center;display:-ms-inline-flexbox;display:inline-flex;position:relative}.pds-tabs--pill pds-tab{-ms-flex:1;flex:1}.pds-tab{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:transparent;border:var(--pine-border-width-none);-webkit-box-shadow:none;box-shadow:none;color:inherit;cursor:pointer;font-family:inherit;padding:var(--pine-dimension-none);-ms-flex-align:center;align-items:center;color:var(--pine-color-text-secondary);display:-ms-inline-flexbox;display:inline-flex;position:relative;text-decoration:none;white-space:nowrap}.pds-tab.is-active,.pds-tab[aria-selected=true]{color:var(--pine-color-text)}.pds-tab.is-active .pds-tab__content::after,.pds-tab[aria-selected=true] .pds-tab__content::after{opacity:1}.pds-tab:hover:not(:disabled){color:var(--pine-color-text)}.pds-tab:focus{outline:none}.pds-tab:focus-visible{outline:var(--pine-outline-focus);outline-offset:var(--pine-border-width)}.pds-tab:disabled,.pds-tab.is-disabled{color:var(--pine-color-text-disabled);cursor:not-allowed;pointer-events:none}.pds-tab .pds-tab__content{font-family:var(--pine-font-family-body);font-size:var(--pine-font-size);font-weight:var(--pine-font-weight-medium);letter-spacing:var(--pine-letter-spacing);line-height:var(--pine-line-height-body);-webkit-padding-after:11px;padding-block-end:11px;position:relative}.pds-tab .pds-tab__content::after{background-color:var(--pine-color-brand);content:\"\";height:3px;inset-block-end:var(--pine-dimension-none);inset-inline-end:var(--pine-dimension-none);inset-inline-start:var(--pine-dimension-none);opacity:0;position:absolute}.pds-tab .pds-tab-edge{display:none}.pds-tabs--availability{--color-background-tab:transparent}.pds-tabs--availability .pds-tab{background-color:var(--color-background-tab);border-radius:calc(var(--pine-dimension-xs) * 1.25) calc(var(--pine-dimension-xs) * 1.25) var(--pine-dimension-none) var(--pine-dimension-none);color:var(--pine-color-text-secondary);padding:8px 16px 13px}.pds-tabs--availability .pds-tab.is-active,.pds-tabs--availability .pds-tab[aria-selected=true]{--color-background-tab:var(--pine-color-secondary);color:var(--pine-color-text)}.pds-tabs--availability .pds-tab.is-active .pds-tab__content::after,.pds-tabs--availability .pds-tab[aria-selected=true] .pds-tab__content::after{opacity:1}.pds-tabs--availability .pds-tab.is-active .pds-tab-edge,.pds-tabs--availability .pds-tab[aria-selected=true] .pds-tab-edge{z-index:var(--pine-z-index-raised)}.pds-tabs--availability .pds-tab:hover:not(.is-active,[aria-selected=true],:disabled){--color-background-tab:var(--pine-color-secondary-hover);color:var(--pine-color-text)}.pds-tabs--availability .pds-tab:focus-visible{color:var(--pine-color-text-secondary)}.pds-tabs--availability .pds-tab:disabled,.pds-tabs--availability .pds-tab.is-disabled{--color-background-tab:transparent;color:var(--pine-color-text-disabled)}.pds-tabs--availability .pds-tab__content{-webkit-padding-after:7px;padding-block-end:7px}.pds-tabs--availability .pds-tab-edge{bottom:0;display:block;height:8px;inset-inline-end:100%;overflow:hidden;position:absolute;width:8px}.pds-tabs--availability .pds-tab-edge::before{border-radius:50%;bottom:0;-webkit-box-shadow:4px 4px 0 0 var(--color-background-tab);box-shadow:4px 4px 0 0 var(--color-background-tab);content:\"\";display:block;height:200%;inset-inline-end:0;position:absolute;width:200%}.pds-tabs--availability .pds-tab-edge--end{inset-inline-end:unset;inset-inline-start:100%}.pds-tabs--availability .pds-tab-edge--end::before{-webkit-box-shadow:-4px 4px 0 0 var(--color-background-tab);box-shadow:-4px 4px 0 0 var(--color-background-tab);inset-inline-end:unset;inset-inline-start:0}.pds-tabs--filter .pds-tab{background-color:var(--pine-color-background-muted);border-radius:50px;color:var(--pine-color-text);padding:6px 15px}.pds-tabs--filter .pds-tab.is-active,.pds-tabs--filter .pds-tab[aria-selected=true]{background-color:var(--pine-color-primary);color:var(--pine-color-text-primary)}.pds-tabs--filter .pds-tab.is-active:hover:not(:disabled),.pds-tabs--filter .pds-tab[aria-selected=true]:hover:not(:disabled){background-color:var(--pine-color-primary-hover)}.pds-tabs--filter .pds-tab:hover:not(.is-active,[aria-selected=true],:disabled){background-color:var(--pine-color-border-disabled)}.pds-tabs--filter .pds-tab:disabled,.pds-tabs--filter .pds-tab.is-disabled{background-color:transparent;color:var(--pine-color-text-disabled)}.pds-tabs--filter .pds-tab:disabled.is-active,.pds-tabs--filter .pds-tab:disabled[aria-selected=true],.pds-tabs--filter .pds-tab.is-disabled.is-active,.pds-tabs--filter .pds-tab.is-disabled[aria-selected=true]{background-color:var(--pine-color-primary-disabled)}.pds-tabs--filter .pds-tab__content{-webkit-padding-after:var(--pine-dimension-none);padding-block-end:var(--pine-dimension-none)}.pds-tabs--filter .pds-tab__content::after{content:unset}.pds-tabs--pill{--color-background-tab:transparent}.pds-tabs--pill .pds-tab{background-color:var(--color-background-tab);border:var(--pine-border-width-thin) solid transparent;border-radius:var(--pine-dimension-xs);color:var(--pine-color-text-muted);-ms-flex:1;flex:1;height:34px;-ms-flex-pack:center;justify-content:center}.pds-tabs--pill .pds-tab .pds-tab__content{-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;-webkit-padding-after:0;padding-block-end:0}.pds-tabs--pill .pds-tab.is-active,.pds-tabs--pill .pds-tab[aria-selected=true]{--color-background-tab:var(--pine-color-background-container);border-color:var(--pine-color-border);-webkit-box-shadow:var(--pine-box-shadow-100);box-shadow:var(--pine-box-shadow-100);color:var(--pine-color-text-active)
|
|
16057
|
+
const pdsTabCss = "pds-tab{-ms-flex-align:center;align-items:center;display:-ms-inline-flexbox;display:inline-flex;position:relative}.pds-tabs--pill pds-tab{-ms-flex:1;flex:1}.pds-tab{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:transparent;border:var(--pine-border-width-none);-webkit-box-shadow:none;box-shadow:none;color:inherit;cursor:pointer;font-family:inherit;padding:var(--pine-dimension-none);-ms-flex-align:center;align-items:center;color:var(--pine-color-text-secondary);display:-ms-inline-flexbox;display:inline-flex;position:relative;text-decoration:none;white-space:nowrap}.pds-tab.is-active,.pds-tab[aria-selected=true]{color:var(--pine-color-text)}.pds-tab.is-active .pds-tab__content::after,.pds-tab[aria-selected=true] .pds-tab__content::after{opacity:1}.pds-tab:hover:not(:disabled){color:var(--pine-color-text)}.pds-tab:focus{outline:none}.pds-tab:focus-visible{outline:var(--pine-outline-focus);outline-offset:var(--pine-border-width)}.pds-tab:disabled,.pds-tab.is-disabled{color:var(--pine-color-text-disabled);cursor:not-allowed;pointer-events:none}.pds-tab .pds-tab__content{font-family:var(--pine-font-family-body);font-size:var(--pine-font-size);font-weight:var(--pine-font-weight-medium);letter-spacing:var(--pine-letter-spacing);line-height:var(--pine-line-height-body);-webkit-padding-after:11px;padding-block-end:11px;position:relative}.pds-tab .pds-tab__content::after{background-color:var(--pine-color-brand);content:\"\";height:3px;inset-block-end:var(--pine-dimension-none);inset-inline-end:var(--pine-dimension-none);inset-inline-start:var(--pine-dimension-none);opacity:0;position:absolute}.pds-tab .pds-tab-edge{display:none}.pds-tabs--availability{--color-background-tab:transparent}.pds-tabs--availability .pds-tab{background-color:var(--color-background-tab);border-radius:calc(var(--pine-dimension-xs) * 1.25) calc(var(--pine-dimension-xs) * 1.25) var(--pine-dimension-none) var(--pine-dimension-none);color:var(--pine-color-text-secondary);padding:8px 16px 13px}.pds-tabs--availability .pds-tab.is-active,.pds-tabs--availability .pds-tab[aria-selected=true]{--color-background-tab:var(--pine-color-secondary);color:var(--pine-color-text)}.pds-tabs--availability .pds-tab.is-active .pds-tab__content::after,.pds-tabs--availability .pds-tab[aria-selected=true] .pds-tab__content::after{opacity:1}.pds-tabs--availability .pds-tab.is-active .pds-tab-edge,.pds-tabs--availability .pds-tab[aria-selected=true] .pds-tab-edge{z-index:var(--pine-z-index-raised)}.pds-tabs--availability .pds-tab:hover:not(.is-active,[aria-selected=true],:disabled){--color-background-tab:var(--pine-color-secondary-hover);color:var(--pine-color-text)}.pds-tabs--availability .pds-tab:focus-visible{color:var(--pine-color-text-secondary)}.pds-tabs--availability .pds-tab:disabled,.pds-tabs--availability .pds-tab.is-disabled{--color-background-tab:transparent;color:var(--pine-color-text-disabled)}.pds-tabs--availability .pds-tab__content{-webkit-padding-after:7px;padding-block-end:7px}.pds-tabs--availability .pds-tab-edge{bottom:0;display:block;height:8px;inset-inline-end:100%;overflow:hidden;position:absolute;width:8px}.pds-tabs--availability .pds-tab-edge::before{border-radius:50%;bottom:0;-webkit-box-shadow:4px 4px 0 0 var(--color-background-tab);box-shadow:4px 4px 0 0 var(--color-background-tab);content:\"\";display:block;height:200%;inset-inline-end:0;position:absolute;width:200%}.pds-tabs--availability .pds-tab-edge--end{inset-inline-end:unset;inset-inline-start:100%}.pds-tabs--availability .pds-tab-edge--end::before{-webkit-box-shadow:-4px 4px 0 0 var(--color-background-tab);box-shadow:-4px 4px 0 0 var(--color-background-tab);inset-inline-end:unset;inset-inline-start:0}.pds-tabs--filter .pds-tab{background-color:var(--pine-color-background-muted);border-radius:50px;color:var(--pine-color-text);padding:6px 15px}.pds-tabs--filter .pds-tab.is-active,.pds-tabs--filter .pds-tab[aria-selected=true]{background-color:var(--pine-color-primary);color:var(--pine-color-text-primary)}.pds-tabs--filter .pds-tab.is-active:hover:not(:disabled),.pds-tabs--filter .pds-tab[aria-selected=true]:hover:not(:disabled){background-color:var(--pine-color-primary-hover)}.pds-tabs--filter .pds-tab:hover:not(.is-active,[aria-selected=true],:disabled){background-color:var(--pine-color-border-disabled)}.pds-tabs--filter .pds-tab:disabled,.pds-tabs--filter .pds-tab.is-disabled{background-color:transparent;color:var(--pine-color-text-disabled)}.pds-tabs--filter .pds-tab:disabled.is-active,.pds-tabs--filter .pds-tab:disabled[aria-selected=true],.pds-tabs--filter .pds-tab.is-disabled.is-active,.pds-tabs--filter .pds-tab.is-disabled[aria-selected=true]{background-color:var(--pine-color-primary-disabled)}.pds-tabs--filter .pds-tab__content{-webkit-padding-after:var(--pine-dimension-none);padding-block-end:var(--pine-dimension-none)}.pds-tabs--filter .pds-tab__content::after{content:unset}.pds-tabs--pill{--color-background-tab:transparent}.pds-tabs--pill .pds-tab{background-color:var(--color-background-tab);border:var(--pine-border-width-thin) solid transparent;border-radius:var(--pine-dimension-xs);color:var(--pine-color-text-muted);-ms-flex:1;flex:1;height:34px;-ms-flex-pack:center;justify-content:center}.pds-tabs--pill .pds-tab .pds-tab__content{-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;-webkit-padding-after:0;padding-block-end:0}.pds-tabs--pill .pds-tab.is-active,.pds-tabs--pill .pds-tab[aria-selected=true]{--color-background-tab:var(--pine-color-background-container);border-color:var(--pine-color-border);-webkit-box-shadow:var(--pine-box-shadow-100);box-shadow:var(--pine-box-shadow-100);color:var(--pine-color-text-active)}.pds-tabs--pill .pds-tab.is-active:focus-visible,.pds-tabs--pill .pds-tab[aria-selected=true]:focus-visible{border-color:var(--color-border-focus);outline:var(--pine-outline-focus);outline-offset:var(--pine-border-width)}.pds-tabs--pill .pds-tab.is-active,.pds-tabs--pill .pds-tab[aria-selected=true]{}.pds-tabs--pill .pds-tab.is-active .pds-tab__content::after,.pds-tabs--pill .pds-tab[aria-selected=true] .pds-tab__content::after{opacity:0}.pds-tabs--pill .pds-tab.is-active,.pds-tabs--pill .pds-tab[aria-selected=true]{}.pds-tabs--pill .pds-tab:disabled,.pds-tabs--pill .pds-tab.is-disabled{color:var(--pine-color-text-disabled)}";
|
|
15270
16058
|
|
|
15271
16059
|
class PdsTab {
|
|
15272
16060
|
constructor(hostRef) {
|
|
@@ -15297,9 +16085,9 @@ class PdsTab {
|
|
|
15297
16085
|
return classes.filter(Boolean).join(' ');
|
|
15298
16086
|
}
|
|
15299
16087
|
render() {
|
|
15300
|
-
const availabilityTabEdgeInlineStart = (hAsync("span", { key: '
|
|
15301
|
-
const availabilityTabEdgeInlineEnd = (hAsync("span", { key: '
|
|
15302
|
-
return (hAsync(Host, { key: '
|
|
16088
|
+
const availabilityTabEdgeInlineStart = (hAsync("span", { key: 'e8e263009d29fea16f1cf51de545f07d3529568d', class: "pds-tab-edge", role: "presentation" }));
|
|
16089
|
+
const availabilityTabEdgeInlineEnd = (hAsync("span", { key: 'f492586e916cddbbdf04c3a2cdb84ad0d669df36', class: "pds-tab-edge pds-tab-edge--end", role: "presentation" }));
|
|
16090
|
+
return (hAsync(Host, { key: 'ec4c47883d2a1721d7986a152f787852352cb058', variant: this.variant, slot: "tabs", index: this.index }, hAsync("button", { key: '2f2436892e5cf20e777bf9624c022a88177776dd', role: "tab", id: this.parentComponentId + "__" + this.name, "aria-controls": this.parentComponentId + "__" + this.name + "-panel", tabindex: this.disabled ? "-1" : (this.selected ? "0" : "-1"), "aria-selected": this.selected ? "true" : "false", "aria-disabled": this.disabled ? "true" : null, disabled: this.disabled, class: this.classNames(), onClick: this.onTabClick.bind(this, this.index, this.parentComponentId) }, this.variant === "availability" && availabilityTabEdgeInlineStart, this.variant === "availability" && availabilityTabEdgeInlineEnd, hAsync("div", { key: '202d34facfc70b5ca3ef6dfb9d9a2f36a09747d2', class: "pds-tab__content" }, hAsync("slot", { key: '002cc5de784ff0cd01b06688c2205a490c47d27b' })))));
|
|
15303
16091
|
}
|
|
15304
16092
|
get el() { return getElement(this); }
|
|
15305
16093
|
static get style() { return pdsTabCss; }
|
|
@@ -15587,7 +16375,7 @@ class PdsTableBody {
|
|
|
15587
16375
|
registerInstance(this, hostRef);
|
|
15588
16376
|
}
|
|
15589
16377
|
render() {
|
|
15590
|
-
return (hAsync(Host, { key: '
|
|
16378
|
+
return (hAsync(Host, { key: '1f6ce73abaf0ecb3f592f754bedef557c7ea197d', role: "rowgroup", part: "body" }, hAsync("slot", { key: '4a9758bb6c17de60cb345216d9b3e7c58cd44499' })));
|
|
15591
16379
|
}
|
|
15592
16380
|
static get style() { return pdsTableBodyCss; }
|
|
15593
16381
|
static get cmpMeta() { return {
|
|
@@ -15698,11 +16486,11 @@ class PdsTableCell {
|
|
|
15698
16486
|
return classNames.join(' ');
|
|
15699
16487
|
}
|
|
15700
16488
|
render() {
|
|
15701
|
-
return (hAsync(Host, { key: '
|
|
16489
|
+
return (hAsync(Host, { key: '102c412e68bd877ee88866d2c66838d62cb7cab2', class: this.classNames(), role: "gridcell", part: "cell", style: this.tableRef &&
|
|
15702
16490
|
this.tableRef.fixedColumn &&
|
|
15703
16491
|
this.tableRef.selectable
|
|
15704
16492
|
? { '--fixed-cell-position': '40px' }
|
|
15705
|
-
: {} }, hAsync("slot", { key: '
|
|
16493
|
+
: {} }, hAsync("slot", { key: 'fae2d378d6e1c5c3abb34cb4a75b74930d56965c' })));
|
|
15706
16494
|
}
|
|
15707
16495
|
get hostElement() { return getElement(this); }
|
|
15708
16496
|
static get style() { return pdsTableCellCss; }
|
|
@@ -15774,7 +16562,7 @@ class PdsTableHead {
|
|
|
15774
16562
|
}
|
|
15775
16563
|
}
|
|
15776
16564
|
render() {
|
|
15777
|
-
return (hAsync(Host, { key: '
|
|
16565
|
+
return (hAsync(Host, { key: 'b68c0d7259cfced019c138dc4504c142e7e12ff9', role: "row", part: "head" }, this.tableRef && this.tableRef.selectable && (hAsync("pds-table-head-cell", { key: '90c91ee525359986e7878e8ae647411bf9b4a637', part: this.tableRef.selectable ? 'checkbox-cell' : '' }, hAsync("pds-checkbox", { key: 'd79ebef09df3424ed36d8838ecdc5ca6a0029c8a', componentId: this.generateUniqueId(), indeterminate: this.indeterminate, onInput: this.handleInput, label: "Select All Rows", hideLabel: true, checked: this.isSelected, part: "select-all-checkbox" }))), hAsync("slot", { key: '17eca8a861fceb73b8d957ab0d5ba2cf7b256b55' })));
|
|
15778
16566
|
}
|
|
15779
16567
|
get hostElement() { return getElement(this); }
|
|
15780
16568
|
static get style() { return pdsTableHeadCss; }
|
|
@@ -15825,6 +16613,11 @@ class PdsTableHeadCell {
|
|
|
15825
16613
|
* @defaultValue false
|
|
15826
16614
|
*/
|
|
15827
16615
|
this.hasHeadBackground = false;
|
|
16616
|
+
/**
|
|
16617
|
+
* Determines if this column is the currently active sorted column.
|
|
16618
|
+
* @defaultValue false
|
|
16619
|
+
*/
|
|
16620
|
+
this.isActive = false;
|
|
15828
16621
|
/**
|
|
15829
16622
|
* Handles scroll events to update fixed column shadow state.
|
|
15830
16623
|
* Updates the tableScrolling state to control CSS classes for fixed column shadows.
|
|
@@ -15843,12 +16636,25 @@ class PdsTableHeadCell {
|
|
|
15843
16636
|
};
|
|
15844
16637
|
this.toggleSort = () => {
|
|
15845
16638
|
if (this.sortable) {
|
|
16639
|
+
// Guard: return early if tableRef is not available
|
|
16640
|
+
if (!this.tableRef) {
|
|
16641
|
+
return;
|
|
16642
|
+
}
|
|
15846
16643
|
const column = this.hostElement.innerText.trim();
|
|
16644
|
+
// Always toggle the direction (preserves original behavior)
|
|
15847
16645
|
this.sortingDirection = this.sortingDirection === 'asc' ? 'desc' : 'asc';
|
|
15848
|
-
|
|
15849
|
-
|
|
16646
|
+
// Reset all OTHER head cells to inactive state (skip the current one)
|
|
16647
|
+
this.tableRef.querySelectorAll('pds-table-head-cell').forEach(async (headCell) => {
|
|
16648
|
+
// Skip clearing the current cell
|
|
16649
|
+
if (headCell !== this.hostElement) {
|
|
16650
|
+
const headCellComponent = headCell;
|
|
16651
|
+
await headCellComponent.clearActiveSort();
|
|
16652
|
+
}
|
|
15850
16653
|
});
|
|
15851
|
-
this
|
|
16654
|
+
// Mark this column as active
|
|
16655
|
+
this.isActive = true;
|
|
16656
|
+
this.hostElement.classList.add('is-active');
|
|
16657
|
+
// Emit the sort event with the current direction
|
|
15852
16658
|
this.pdsTableSort.emit({ column, direction: this.sortingDirection });
|
|
15853
16659
|
}
|
|
15854
16660
|
};
|
|
@@ -15862,8 +16668,17 @@ class PdsTableHeadCell {
|
|
|
15862
16668
|
if (!this.sortable)
|
|
15863
16669
|
return;
|
|
15864
16670
|
this.sortingDirection = direction;
|
|
16671
|
+
this.isActive = true;
|
|
15865
16672
|
this.hostElement.classList.add('is-active');
|
|
15866
16673
|
}
|
|
16674
|
+
/**
|
|
16675
|
+
* Clears the active sort state from this column.
|
|
16676
|
+
* Used internally when another column becomes active.
|
|
16677
|
+
*/
|
|
16678
|
+
async clearActiveSort() {
|
|
16679
|
+
this.isActive = false;
|
|
16680
|
+
this.hostElement.classList.remove('is-active');
|
|
16681
|
+
}
|
|
15867
16682
|
componentWillLoad() {
|
|
15868
16683
|
// Set initial references and state before first render
|
|
15869
16684
|
this.tableRef = this.hostElement.closest('pds-table');
|
|
@@ -15968,11 +16783,11 @@ class PdsTableHeadCell {
|
|
|
15968
16783
|
return classNames.join(' ');
|
|
15969
16784
|
}
|
|
15970
16785
|
render() {
|
|
15971
|
-
return (hAsync(Host, { key: '
|
|
16786
|
+
return (hAsync(Host, { key: '7e85fb5e6b5fc1022034db9e4c94ca13dfc56257', class: this.classNames(), role: "columnheader", onClick: this.toggleSort, part: "head-cell", style: this.tableRef &&
|
|
15972
16787
|
this.tableRef.fixedColumn &&
|
|
15973
16788
|
this.tableRef.selectable
|
|
15974
16789
|
? { '--fixed-cell-position': '40px' }
|
|
15975
|
-
: {} }, hAsync("slot", { key: '
|
|
16790
|
+
: {} }, hAsync("slot", { key: '97d2b9621f7d61ad42719a4cc9f640a1210d78dc' }), this.sortable && this.isActive && (hAsync("pds-icon", { key: 'd80efe9b417ae34bf50f65b0e9cb15bcc9aabd40', icon: this.sortingDirection === 'asc' ? upSmall : downSmall, part: "sort-icon" }))));
|
|
15976
16791
|
}
|
|
15977
16792
|
get hostElement() { return getElement(this); }
|
|
15978
16793
|
static get style() { return pdsTableHeadCellCss; }
|
|
@@ -15987,7 +16802,9 @@ class PdsTableHeadCell {
|
|
|
15987
16802
|
"isSelected": [32],
|
|
15988
16803
|
"hasHeadBorder": [32],
|
|
15989
16804
|
"hasHeadBackground": [32],
|
|
15990
|
-
"
|
|
16805
|
+
"isActive": [32],
|
|
16806
|
+
"setActiveSort": [64],
|
|
16807
|
+
"clearActiveSort": [64]
|
|
15991
16808
|
},
|
|
15992
16809
|
"$listeners$": undefined,
|
|
15993
16810
|
"$lazyBundleId$": "-",
|
|
@@ -16136,7 +16953,7 @@ class PdsTableRow {
|
|
|
16136
16953
|
}
|
|
16137
16954
|
}
|
|
16138
16955
|
render() {
|
|
16139
|
-
return (hAsync(Host, { key: '
|
|
16956
|
+
return (hAsync(Host, { key: '900905bc103a54d3f13b59a66cfd53178de0da49', class: this.classNames(), role: "row", part: "row" }, this.tableRef && this.tableRef.selectable && (hAsync("pds-table-cell", { key: 'f5a5a0426f15182e278b052090c71f45e8848347', part: this.tableRef.fixedColumn ? 'checkbox-cell' : 'checkbox-cell', class: this.tableRef.selectable ? 'has-checkbox' : '' }, hAsync("pds-checkbox", { key: '1fd91b0d4bf412dc3a2705fcb5909e42a54bde56', componentId: this.generateUniqueId(), onClick: this.handleClick, indeterminate: this.indeterminate, label: "Select Row", hideLabel: true, checked: this.isSelected, part: "row-checkbox" }))), hAsync("slot", { key: '17a60a0251a36613cc8631efe780020d4a5e1167' })));
|
|
16140
16957
|
}
|
|
16141
16958
|
get hostElement() { return getElement(this); }
|
|
16142
16959
|
static get style() { return pdsTableRowCss; }
|
|
@@ -16167,7 +16984,7 @@ class PdsTabpanel {
|
|
|
16167
16984
|
this.selected = false; // eslint-disable-line @stencil-community/strict-mutable
|
|
16168
16985
|
}
|
|
16169
16986
|
render() {
|
|
16170
|
-
return (hAsync(Host, { key: '
|
|
16987
|
+
return (hAsync(Host, { key: '0f64285738a96afa3cf2e1134201e942cf04b0ee', slot: "tabpanels" }, hAsync("div", { key: 'f677ed3b377ce2f5f6868831369338829af89868', role: "tabpanel", id: this.parentComponentId + "__" + this.name + '-panel', tabindex: "0", "aria-labelledby": this.parentComponentId + "__" + this.name, class: this.selected ? "pds-tabpanel is-active" : "pds-tabpanel" }, hAsync("slot", { key: '46a236b465f387508aa494ecf80aa146cecd4ade' }))));
|
|
16171
16988
|
}
|
|
16172
16989
|
get el() { return getElement(this); }
|
|
16173
16990
|
static get style() { return pdsTabpanelCss; }
|
|
@@ -16279,7 +17096,7 @@ class PdsTabs {
|
|
|
16279
17096
|
this.passPropsToChildren();
|
|
16280
17097
|
}
|
|
16281
17098
|
render() {
|
|
16282
|
-
return (hAsync(Host, { key: '
|
|
17099
|
+
return (hAsync(Host, { key: 'fee342f0fbc06387fd964a518c0e97a091d1aded', "active-tab-name": this.activeTabName, class: this.classNames(), id: this.componentId }, hAsync("div", { key: '7512b1d02a8320aad1e2934428dec970ff0c1743', class: "pds-tabs__tablist", role: "tablist", "aria-label": this.tablistLabel, part: "tab-list" }, hAsync("slot", { key: 'dccf28dad2d084185e5f1b0f1f1eeab1c77cd541', name: "tabs" })), hAsync("slot", { key: 'bd8b9040808925ea5f1c73c06d636f35c297b4b7', name: "tabpanels" })));
|
|
16283
17100
|
}
|
|
16284
17101
|
get el() { return getElement(this); }
|
|
16285
17102
|
static get style() { return pdsTabsCss; }
|
|
@@ -16322,7 +17139,7 @@ class PdsText {
|
|
|
16322
17139
|
${this.weight !== undefined && this.weight.trim() !== '' ? `pds-text--weight-${this.weight}` : ''}
|
|
16323
17140
|
${this.decoration !== undefined && this.decoration.trim() !== '' ? `pds-text--decoration-${this.decoration}` : ''}
|
|
16324
17141
|
`;
|
|
16325
|
-
return (hAsync(Tag, { key: '
|
|
17142
|
+
return (hAsync(Tag, { key: '5f7d43603c8d412a375d2e49818b363b5e9a142b', style: this.color && setColor(this.color), class: typeClasses, part: "content" }, hAsync("slot", { key: '702d5065297e0405295aa941cd39dba38787519e' })));
|
|
16326
17143
|
}
|
|
16327
17144
|
get el() { return getElement(this); }
|
|
16328
17145
|
static get style() { return pdsTextCss; }
|
|
@@ -16647,10 +17464,10 @@ class PdsTextarea {
|
|
|
16647
17464
|
}
|
|
16648
17465
|
render() {
|
|
16649
17466
|
const value = this.getValue();
|
|
16650
|
-
return (hAsync(Host, { key: '
|
|
16651
|
-
hAsync("div", { key: '
|
|
16652
|
-
hAsync("p", { key: '
|
|
16653
|
-
hAsync("p", { key: '
|
|
17467
|
+
return (hAsync(Host, { key: '3c78b9f124cf82fd48b2cbc29122c458d9918962', "aria-disabled": this.disabled ? 'true' : null, "aria-readonly": this.readonly ? 'true' : null, "has-action": this.hasAction && !this.hideLabel ? 'true' : null }, hAsync("div", { key: '58ecb566c248304e19c33fab2431cf6062a203d7', class: "pds-textarea" }, this.label &&
|
|
17468
|
+
hAsync("div", { key: 'ad2c21f27492d374c4f56fed0f203f72bc3a4a6e', class: "pds-textarea__label-wrapper" }, hAsync("label", { key: 'f966575088fe5699951c7762938cb80304bb0df5', htmlFor: this.componentId }, hAsync("span", { key: 'ad9370de15d0c41e065d99d3b9859eb8b343424a', class: this.hideLabel ? 'visually-hidden' : '' }, this.label)), !this.hideLabel && this.renderAction()), hAsync("div", { key: 'e76662a380252b0813c0b00d42bfaa4239c063dd', class: "pds-textarea__field-wrapper" }, hAsync("textarea", Object.assign({ key: '4f9b3250d888b9da284a5583b5042df4f25b66f5', ref: (el) => this.nativeTextarea = el, "aria-describedby": assignDescription(this.componentId, this.invalid, this.helperMessage), "aria-invalid": this.invalid ? "true" : undefined, autocomplete: this.autocomplete, class: this.textareaClassNames(), disabled: this.disabled, id: this.componentId, maxlength: this.maxLength, name: this.name, placeholder: this.placeholder, readOnly: this.readonly, required: this.required, rows: this.rows, onBlur: this.onBlur, onChange: this.onTextareaChange, onFocus: this.onFocus, onInput: this.onInput, onKeyDown: this.onKeyDown }, this.inheritedAttributes), value), this.renderCharacterCounter()), this.helperMessage &&
|
|
17469
|
+
hAsync("p", { key: '5c53c22d2682d1960b31b2bc40ad6a83d445dda2', class: "pds-textarea__helper-message", id: messageId(this.componentId, 'helper') }, this.helperMessage), this.invalid &&
|
|
17470
|
+
hAsync("p", { key: '74c79c4a218977a01932d1b94206b68867787064', "aria-live": "assertive", class: "pds-textarea__error-message", id: messageId(this.componentId, 'error') }, hAsync("pds-icon", { key: 'c8118c35e1f6f6bcba281dd00e8abf8109827f30', icon: danger, size: "small" }), this.errorMessage))));
|
|
16654
17471
|
}
|
|
16655
17472
|
static get formAssociated() { return true; }
|
|
16656
17473
|
get el() { return getElement(this); }
|
|
@@ -16773,13 +17590,13 @@ class PdsToast {
|
|
|
16773
17590
|
return this.icon && hAsync("pds-icon", { name: this.icon, class: "pds-toast__icon" });
|
|
16774
17591
|
}
|
|
16775
17592
|
render() {
|
|
16776
|
-
return (hAsync(Host, { key: '
|
|
17593
|
+
return (hAsync(Host, { key: 'bcc7fe0ad3b7823a940249fccfce30edfc1e808d', hidden: !this.isVisible }, hAsync("div", { key: '5265cbbdf05278cbd565e34f63b6c9566ec14290', class: {
|
|
16777
17594
|
'pds-toast': true,
|
|
16778
17595
|
[`pds-toast--${this.type}`]: this.type !== 'default',
|
|
16779
17596
|
'pds-toast--animating-out': this.isAnimatingOut
|
|
16780
|
-
}, role: "alert", "aria-live": "polite" }, this.renderIcon(), hAsync("span", { key: '
|
|
17597
|
+
}, role: "alert", "aria-live": "polite" }, this.renderIcon(), hAsync("span", { key: 'd650b57fb5cddeb369d8245b239423575da63cd8', class: "pds-toast__message" }, hAsync("slot", { key: 'd4e2d6b6136b75dfd97a37da4588c8c51ca4bcd0' })), this.dismissible && (hAsync("button", { key: 'c89170f321c47b83096a01aaa8012298dc3ca440', type: "button", class: "pds-toast__button", onClick: () => {
|
|
16781
17598
|
this.dismiss();
|
|
16782
|
-
}, "aria-label": "Dismiss message" }, hAsync("pds-icon", { key: '
|
|
17599
|
+
}, "aria-label": "Dismiss message" }, hAsync("pds-icon", { key: '359c0c05ddd6db8e7711fc0212bf80569106ecf4', name: "remove" }))))));
|
|
16783
17600
|
}
|
|
16784
17601
|
static get watchers() { return {
|
|
16785
17602
|
"duration": ["handleDurationChange"]
|
|
@@ -17119,9 +17936,9 @@ class PdsTooltip {
|
|
|
17119
17936
|
}
|
|
17120
17937
|
render() {
|
|
17121
17938
|
const hostId = this.componentId || undefined;
|
|
17122
|
-
return (hAsync(Host, { key: '
|
|
17939
|
+
return (hAsync(Host, { key: '41dffb4751c1e40789de07ec5b2f96202cedb82c', id: hostId, class: { 'pds-tooltip--is-open': this.opened } }, hAsync("span", { key: '156d6e9d23d3194caa387db9de35226d2d5fd02f', class: "pds-tooltip__trigger", onMouseEnter: this.handleShow, onMouseLeave: this.handleHide,
|
|
17123
17940
|
/* focusin/out bubble; ensure keyboard users see tooltips */
|
|
17124
|
-
onFocusin: this.handleShow, onFocusout: this.handleHide, ref: el => this.triggerEl = el }, hAsync("slot", { key: '
|
|
17941
|
+
onFocusin: this.handleShow, onFocusout: this.handleHide, ref: el => this.triggerEl = el }, hAsync("slot", { key: 'e67bae6e3c9726c39d193e5771c0e66818575c65' })), hAsync("div", { key: '60ec7b351e574b2e2fc8b0b8c8b87f4977e6eed7', class: "pds-tooltip__content-slot-wrapper", hidden: true }, hAsync("slot", { key: 'b66966dba3d142401e588b7437689c0f6386cfcd', name: "content" }))));
|
|
17125
17942
|
}
|
|
17126
17943
|
get el() { return getElement(this); }
|
|
17127
17944
|
static get watchers() { return {
|
|
@@ -17176,6 +17993,7 @@ registerComponents([
|
|
|
17176
17993
|
PdsModalContent,
|
|
17177
17994
|
PdsModalFooter,
|
|
17178
17995
|
PdsModalHeader,
|
|
17996
|
+
PdsMultiselect,
|
|
17179
17997
|
PdsPopover,
|
|
17180
17998
|
PdsProgress,
|
|
17181
17999
|
PdsProperty,
|