@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.js
CHANGED
|
@@ -3521,7 +3521,7 @@ class MockPdsModal {
|
|
|
3521
3521
|
}; }
|
|
3522
3522
|
}
|
|
3523
3523
|
|
|
3524
|
-
/* pds-icons v9.
|
|
3524
|
+
/* pds-icons v9.13.0, ES Modules */
|
|
3525
3525
|
|
|
3526
3526
|
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>";
|
|
3527
3527
|
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>";
|
|
@@ -4721,8 +4721,9 @@ function getOppositeAxis(axis) {
|
|
|
4721
4721
|
function getAxisLength(axis) {
|
|
4722
4722
|
return axis === 'y' ? 'height' : 'width';
|
|
4723
4723
|
}
|
|
4724
|
+
const yAxisSides = /*#__PURE__*/new Set(['top', 'bottom']);
|
|
4724
4725
|
function getSideAxis(placement) {
|
|
4725
|
-
return
|
|
4726
|
+
return yAxisSides.has(getSide(placement)) ? 'y' : 'x';
|
|
4726
4727
|
}
|
|
4727
4728
|
function getAlignmentAxis(placement) {
|
|
4728
4729
|
return getOppositeAxis(getSideAxis(placement));
|
|
@@ -4747,19 +4748,19 @@ function getExpandedPlacements(placement) {
|
|
|
4747
4748
|
function getOppositeAlignmentPlacement(placement) {
|
|
4748
4749
|
return placement.replace(/start|end/g, alignment => oppositeAlignmentMap[alignment]);
|
|
4749
4750
|
}
|
|
4751
|
+
const lrPlacement = ['left', 'right'];
|
|
4752
|
+
const rlPlacement = ['right', 'left'];
|
|
4753
|
+
const tbPlacement = ['top', 'bottom'];
|
|
4754
|
+
const btPlacement = ['bottom', 'top'];
|
|
4750
4755
|
function getSideList(side, isStart, rtl) {
|
|
4751
|
-
const lr = ['left', 'right'];
|
|
4752
|
-
const rl = ['right', 'left'];
|
|
4753
|
-
const tb = ['top', 'bottom'];
|
|
4754
|
-
const bt = ['bottom', 'top'];
|
|
4755
4756
|
switch (side) {
|
|
4756
4757
|
case 'top':
|
|
4757
4758
|
case 'bottom':
|
|
4758
|
-
if (rtl) return isStart ?
|
|
4759
|
-
return isStart ?
|
|
4759
|
+
if (rtl) return isStart ? rlPlacement : lrPlacement;
|
|
4760
|
+
return isStart ? lrPlacement : rlPlacement;
|
|
4760
4761
|
case 'left':
|
|
4761
4762
|
case 'right':
|
|
4762
|
-
return isStart ?
|
|
4763
|
+
return isStart ? tbPlacement : btPlacement;
|
|
4763
4764
|
default:
|
|
4764
4765
|
return [];
|
|
4765
4766
|
}
|
|
@@ -5097,10 +5098,11 @@ const flip$1 = function (options) {
|
|
|
5097
5098
|
const nextIndex = (((_middlewareData$flip2 = middlewareData.flip) == null ? void 0 : _middlewareData$flip2.index) || 0) + 1;
|
|
5098
5099
|
const nextPlacement = placements[nextIndex];
|
|
5099
5100
|
if (nextPlacement) {
|
|
5100
|
-
var _overflowsData$;
|
|
5101
5101
|
const ignoreCrossAxisOverflow = checkCrossAxis === 'alignment' ? initialSideAxis !== getSideAxis(nextPlacement) : false;
|
|
5102
|
-
|
|
5103
|
-
if
|
|
5102
|
+
if (!ignoreCrossAxisOverflow ||
|
|
5103
|
+
// We leave the current main axis only if every placement on that axis
|
|
5104
|
+
// overflows the main axis.
|
|
5105
|
+
overflowsData.every(d => getSideAxis(d.placement) === initialSideAxis ? d.overflows[0] > 0 : true)) {
|
|
5104
5106
|
// Try next placement and re-run the lifecycle.
|
|
5105
5107
|
return {
|
|
5106
5108
|
data: {
|
|
@@ -5157,6 +5159,8 @@ const flip$1 = function (options) {
|
|
|
5157
5159
|
};
|
|
5158
5160
|
};
|
|
5159
5161
|
|
|
5162
|
+
const originSides = /*#__PURE__*/new Set(['left', 'top']);
|
|
5163
|
+
|
|
5160
5164
|
// For type backwards-compatibility, the `OffsetOptions` type was also
|
|
5161
5165
|
// Derivable.
|
|
5162
5166
|
|
|
@@ -5170,7 +5174,7 @@ async function convertValueToCoords(state, options) {
|
|
|
5170
5174
|
const side = getSide(placement);
|
|
5171
5175
|
const alignment = getAlignment(placement);
|
|
5172
5176
|
const isVertical = getSideAxis(placement) === 'y';
|
|
5173
|
-
const mainAxisMulti =
|
|
5177
|
+
const mainAxisMulti = originSides.has(side) ? -1 : 1;
|
|
5174
5178
|
const crossAxisMulti = rtl && isVertical ? -1 : 1;
|
|
5175
5179
|
const rawValue = evaluate(options, state);
|
|
5176
5180
|
|
|
@@ -5319,6 +5323,90 @@ const shift$1 = function (options) {
|
|
|
5319
5323
|
};
|
|
5320
5324
|
};
|
|
5321
5325
|
|
|
5326
|
+
/**
|
|
5327
|
+
* Provides data that allows you to change the size of the floating element —
|
|
5328
|
+
* for instance, prevent it from overflowing the clipping boundary or match the
|
|
5329
|
+
* width of the reference element.
|
|
5330
|
+
* @see https://floating-ui.com/docs/size
|
|
5331
|
+
*/
|
|
5332
|
+
const size$1 = function (options) {
|
|
5333
|
+
if (options === void 0) {
|
|
5334
|
+
options = {};
|
|
5335
|
+
}
|
|
5336
|
+
return {
|
|
5337
|
+
name: 'size',
|
|
5338
|
+
options,
|
|
5339
|
+
async fn(state) {
|
|
5340
|
+
var _state$middlewareData, _state$middlewareData2;
|
|
5341
|
+
const {
|
|
5342
|
+
placement,
|
|
5343
|
+
rects,
|
|
5344
|
+
platform,
|
|
5345
|
+
elements
|
|
5346
|
+
} = state;
|
|
5347
|
+
const {
|
|
5348
|
+
apply = () => {},
|
|
5349
|
+
...detectOverflowOptions
|
|
5350
|
+
} = evaluate(options, state);
|
|
5351
|
+
const overflow = await detectOverflow(state, detectOverflowOptions);
|
|
5352
|
+
const side = getSide(placement);
|
|
5353
|
+
const alignment = getAlignment(placement);
|
|
5354
|
+
const isYAxis = getSideAxis(placement) === 'y';
|
|
5355
|
+
const {
|
|
5356
|
+
width,
|
|
5357
|
+
height
|
|
5358
|
+
} = rects.floating;
|
|
5359
|
+
let heightSide;
|
|
5360
|
+
let widthSide;
|
|
5361
|
+
if (side === 'top' || side === 'bottom') {
|
|
5362
|
+
heightSide = side;
|
|
5363
|
+
widthSide = alignment === ((await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating))) ? 'start' : 'end') ? 'left' : 'right';
|
|
5364
|
+
} else {
|
|
5365
|
+
widthSide = side;
|
|
5366
|
+
heightSide = alignment === 'end' ? 'top' : 'bottom';
|
|
5367
|
+
}
|
|
5368
|
+
const maximumClippingHeight = height - overflow.top - overflow.bottom;
|
|
5369
|
+
const maximumClippingWidth = width - overflow.left - overflow.right;
|
|
5370
|
+
const overflowAvailableHeight = min(height - overflow[heightSide], maximumClippingHeight);
|
|
5371
|
+
const overflowAvailableWidth = min(width - overflow[widthSide], maximumClippingWidth);
|
|
5372
|
+
const noShift = !state.middlewareData.shift;
|
|
5373
|
+
let availableHeight = overflowAvailableHeight;
|
|
5374
|
+
let availableWidth = overflowAvailableWidth;
|
|
5375
|
+
if ((_state$middlewareData = state.middlewareData.shift) != null && _state$middlewareData.enabled.x) {
|
|
5376
|
+
availableWidth = maximumClippingWidth;
|
|
5377
|
+
}
|
|
5378
|
+
if ((_state$middlewareData2 = state.middlewareData.shift) != null && _state$middlewareData2.enabled.y) {
|
|
5379
|
+
availableHeight = maximumClippingHeight;
|
|
5380
|
+
}
|
|
5381
|
+
if (noShift && !alignment) {
|
|
5382
|
+
const xMin = max(overflow.left, 0);
|
|
5383
|
+
const xMax = max(overflow.right, 0);
|
|
5384
|
+
const yMin = max(overflow.top, 0);
|
|
5385
|
+
const yMax = max(overflow.bottom, 0);
|
|
5386
|
+
if (isYAxis) {
|
|
5387
|
+
availableWidth = width - 2 * (xMin !== 0 || xMax !== 0 ? xMin + xMax : max(overflow.left, overflow.right));
|
|
5388
|
+
} else {
|
|
5389
|
+
availableHeight = height - 2 * (yMin !== 0 || yMax !== 0 ? yMin + yMax : max(overflow.top, overflow.bottom));
|
|
5390
|
+
}
|
|
5391
|
+
}
|
|
5392
|
+
await apply({
|
|
5393
|
+
...state,
|
|
5394
|
+
availableWidth,
|
|
5395
|
+
availableHeight
|
|
5396
|
+
});
|
|
5397
|
+
const nextDimensions = await platform.getDimensions(elements.floating);
|
|
5398
|
+
if (width !== nextDimensions.width || height !== nextDimensions.height) {
|
|
5399
|
+
return {
|
|
5400
|
+
reset: {
|
|
5401
|
+
rects: true
|
|
5402
|
+
}
|
|
5403
|
+
};
|
|
5404
|
+
}
|
|
5405
|
+
return {};
|
|
5406
|
+
}
|
|
5407
|
+
};
|
|
5408
|
+
};
|
|
5409
|
+
|
|
5322
5410
|
function hasWindow() {
|
|
5323
5411
|
return typeof window !== 'undefined';
|
|
5324
5412
|
}
|
|
@@ -5363,6 +5451,7 @@ function isShadowRoot(value) {
|
|
|
5363
5451
|
}
|
|
5364
5452
|
return value instanceof ShadowRoot || value instanceof getWindow(value).ShadowRoot;
|
|
5365
5453
|
}
|
|
5454
|
+
const invalidOverflowDisplayValues = /*#__PURE__*/new Set(['inline', 'contents']);
|
|
5366
5455
|
function isOverflowElement(element) {
|
|
5367
5456
|
const {
|
|
5368
5457
|
overflow,
|
|
@@ -5370,27 +5459,32 @@ function isOverflowElement(element) {
|
|
|
5370
5459
|
overflowY,
|
|
5371
5460
|
display
|
|
5372
5461
|
} = getComputedStyle$1(element);
|
|
5373
|
-
return /auto|scroll|overlay|hidden|clip/.test(overflow + overflowY + overflowX) && !
|
|
5462
|
+
return /auto|scroll|overlay|hidden|clip/.test(overflow + overflowY + overflowX) && !invalidOverflowDisplayValues.has(display);
|
|
5374
5463
|
}
|
|
5464
|
+
const tableElements = /*#__PURE__*/new Set(['table', 'td', 'th']);
|
|
5375
5465
|
function isTableElement(element) {
|
|
5376
|
-
return
|
|
5466
|
+
return tableElements.has(getNodeName(element));
|
|
5377
5467
|
}
|
|
5468
|
+
const topLayerSelectors = [':popover-open', ':modal'];
|
|
5378
5469
|
function isTopLayer(element) {
|
|
5379
|
-
return
|
|
5470
|
+
return topLayerSelectors.some(selector => {
|
|
5380
5471
|
try {
|
|
5381
5472
|
return element.matches(selector);
|
|
5382
|
-
} catch (
|
|
5473
|
+
} catch (_e) {
|
|
5383
5474
|
return false;
|
|
5384
5475
|
}
|
|
5385
5476
|
});
|
|
5386
5477
|
}
|
|
5478
|
+
const transformProperties = ['transform', 'translate', 'scale', 'rotate', 'perspective'];
|
|
5479
|
+
const willChangeValues = ['transform', 'translate', 'scale', 'rotate', 'perspective', 'filter'];
|
|
5480
|
+
const containValues = ['paint', 'layout', 'strict', 'content'];
|
|
5387
5481
|
function isContainingBlock(elementOrCss) {
|
|
5388
5482
|
const webkit = isWebKit();
|
|
5389
5483
|
const css = isElement(elementOrCss) ? getComputedStyle$1(elementOrCss) : elementOrCss;
|
|
5390
5484
|
|
|
5391
5485
|
// https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block
|
|
5392
5486
|
// https://drafts.csswg.org/css-transforms-2/#individual-transforms
|
|
5393
|
-
return
|
|
5487
|
+
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));
|
|
5394
5488
|
}
|
|
5395
5489
|
function getContainingBlock(element) {
|
|
5396
5490
|
let currentNode = getParentNode(element);
|
|
@@ -5408,8 +5502,9 @@ function isWebKit() {
|
|
|
5408
5502
|
if (typeof CSS === 'undefined' || !CSS.supports) return false;
|
|
5409
5503
|
return CSS.supports('-webkit-backdrop-filter', 'none');
|
|
5410
5504
|
}
|
|
5505
|
+
const lastTraversableNodeNames = /*#__PURE__*/new Set(['html', 'body', '#document']);
|
|
5411
5506
|
function isLastTraversableNode(node) {
|
|
5412
|
-
return
|
|
5507
|
+
return lastTraversableNodeNames.has(getNodeName(node));
|
|
5413
5508
|
}
|
|
5414
5509
|
function getComputedStyle$1(element) {
|
|
5415
5510
|
return getWindow(element).getComputedStyle(element);
|
|
@@ -5609,14 +5704,9 @@ function getWindowScrollBarX(element, rect) {
|
|
|
5609
5704
|
return rect.left + leftScroll;
|
|
5610
5705
|
}
|
|
5611
5706
|
|
|
5612
|
-
function getHTMLOffset(documentElement, scroll
|
|
5613
|
-
if (ignoreScrollbarX === void 0) {
|
|
5614
|
-
ignoreScrollbarX = false;
|
|
5615
|
-
}
|
|
5707
|
+
function getHTMLOffset(documentElement, scroll) {
|
|
5616
5708
|
const htmlRect = documentElement.getBoundingClientRect();
|
|
5617
|
-
const x = htmlRect.left + scroll.scrollLeft - (
|
|
5618
|
-
// RTL <body> scrollbar.
|
|
5619
|
-
getWindowScrollBarX(documentElement, htmlRect));
|
|
5709
|
+
const x = htmlRect.left + scroll.scrollLeft - getWindowScrollBarX(documentElement, htmlRect);
|
|
5620
5710
|
const y = htmlRect.top + scroll.scrollTop;
|
|
5621
5711
|
return {
|
|
5622
5712
|
x,
|
|
@@ -5655,7 +5745,7 @@ function convertOffsetParentRelativeRectToViewportRelativeRect(_ref) {
|
|
|
5655
5745
|
offsets.y = offsetRect.y + offsetParent.clientTop;
|
|
5656
5746
|
}
|
|
5657
5747
|
}
|
|
5658
|
-
const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll
|
|
5748
|
+
const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll) : createCoords(0);
|
|
5659
5749
|
return {
|
|
5660
5750
|
width: rect.width * scale.x,
|
|
5661
5751
|
height: rect.height * scale.y,
|
|
@@ -5689,6 +5779,10 @@ function getDocumentRect(element) {
|
|
|
5689
5779
|
};
|
|
5690
5780
|
}
|
|
5691
5781
|
|
|
5782
|
+
// Safety check: ensure the scrollbar space is reasonable in case this
|
|
5783
|
+
// calculation is affected by unusual styles.
|
|
5784
|
+
// Most scrollbars leave 15-18px of space.
|
|
5785
|
+
const SCROLLBAR_MAX = 25;
|
|
5692
5786
|
function getViewportRect(element, strategy) {
|
|
5693
5787
|
const win = getWindow(element);
|
|
5694
5788
|
const html = getDocumentElement(element);
|
|
@@ -5706,6 +5800,24 @@ function getViewportRect(element, strategy) {
|
|
|
5706
5800
|
y = visualViewport.offsetTop;
|
|
5707
5801
|
}
|
|
5708
5802
|
}
|
|
5803
|
+
const windowScrollbarX = getWindowScrollBarX(html);
|
|
5804
|
+
// <html> `overflow: hidden` + `scrollbar-gutter: stable` reduces the
|
|
5805
|
+
// visual width of the <html> but this is not considered in the size
|
|
5806
|
+
// of `html.clientWidth`.
|
|
5807
|
+
if (windowScrollbarX <= 0) {
|
|
5808
|
+
const doc = html.ownerDocument;
|
|
5809
|
+
const body = doc.body;
|
|
5810
|
+
const bodyStyles = getComputedStyle(body);
|
|
5811
|
+
const bodyMarginInline = doc.compatMode === 'CSS1Compat' ? parseFloat(bodyStyles.marginLeft) + parseFloat(bodyStyles.marginRight) || 0 : 0;
|
|
5812
|
+
const clippingStableScrollbarWidth = Math.abs(html.clientWidth - body.clientWidth - bodyMarginInline);
|
|
5813
|
+
if (clippingStableScrollbarWidth <= SCROLLBAR_MAX) {
|
|
5814
|
+
width -= clippingStableScrollbarWidth;
|
|
5815
|
+
}
|
|
5816
|
+
} else if (windowScrollbarX <= SCROLLBAR_MAX) {
|
|
5817
|
+
// If the <body> scrollbar is on the left, the width needs to be extended
|
|
5818
|
+
// by the scrollbar amount so there isn't extra space on the right.
|
|
5819
|
+
width += windowScrollbarX;
|
|
5820
|
+
}
|
|
5709
5821
|
return {
|
|
5710
5822
|
width,
|
|
5711
5823
|
height,
|
|
@@ -5714,6 +5826,7 @@ function getViewportRect(element, strategy) {
|
|
|
5714
5826
|
};
|
|
5715
5827
|
}
|
|
5716
5828
|
|
|
5829
|
+
const absoluteOrFixed = /*#__PURE__*/new Set(['absolute', 'fixed']);
|
|
5717
5830
|
// Returns the inner client rect, subtracting scrollbars if present.
|
|
5718
5831
|
function getInnerBoundingClientRect(element, strategy) {
|
|
5719
5832
|
const clientRect = getBoundingClientRect(element, true, strategy === 'fixed');
|
|
@@ -5778,7 +5891,7 @@ function getClippingElementAncestors(element, cache) {
|
|
|
5778
5891
|
if (!currentNodeIsContaining && computedStyle.position === 'fixed') {
|
|
5779
5892
|
currentContainingBlockComputedStyle = null;
|
|
5780
5893
|
}
|
|
5781
|
-
const shouldDropCurrentNode = elementIsFixed ? !currentNodeIsContaining && !currentContainingBlockComputedStyle : !currentNodeIsContaining && computedStyle.position === 'static' && !!currentContainingBlockComputedStyle &&
|
|
5894
|
+
const shouldDropCurrentNode = elementIsFixed ? !currentNodeIsContaining && !currentContainingBlockComputedStyle : !currentNodeIsContaining && computedStyle.position === 'static' && !!currentContainingBlockComputedStyle && absoluteOrFixed.has(currentContainingBlockComputedStyle.position) || isOverflowElement(currentNode) && !currentNodeIsContaining && hasFixedPositionAncestor(element, currentNode);
|
|
5782
5895
|
if (shouldDropCurrentNode) {
|
|
5783
5896
|
// Drop non-containing blocks.
|
|
5784
5897
|
result = result.filter(ancestor => ancestor !== currentNode);
|
|
@@ -6150,6 +6263,14 @@ const shift = shift$1;
|
|
|
6150
6263
|
*/
|
|
6151
6264
|
const flip = flip$1;
|
|
6152
6265
|
|
|
6266
|
+
/**
|
|
6267
|
+
* Provides data that allows you to change the size of the floating element —
|
|
6268
|
+
* for instance, prevent it from overflowing the clipping boundary or match the
|
|
6269
|
+
* width of the reference element.
|
|
6270
|
+
* @see https://floating-ui.com/docs/size
|
|
6271
|
+
*/
|
|
6272
|
+
const size = size$1;
|
|
6273
|
+
|
|
6153
6274
|
/**
|
|
6154
6275
|
* Computes the `x` and `y` coordinates that will place the floating element
|
|
6155
6276
|
* next to a given reference element.
|
|
@@ -6173,7 +6294,7 @@ const computePosition = (reference, floating, options) => {
|
|
|
6173
6294
|
});
|
|
6174
6295
|
};
|
|
6175
6296
|
|
|
6176
|
-
/*! @license DOMPurify 3.
|
|
6297
|
+
/*! @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 */
|
|
6177
6298
|
|
|
6178
6299
|
const {
|
|
6179
6300
|
entries,
|
|
@@ -6202,12 +6323,18 @@ if (!seal) {
|
|
|
6202
6323
|
};
|
|
6203
6324
|
}
|
|
6204
6325
|
if (!apply) {
|
|
6205
|
-
apply = function apply(
|
|
6206
|
-
|
|
6326
|
+
apply = function apply(func, thisArg) {
|
|
6327
|
+
for (var _len = arguments.length, args = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {
|
|
6328
|
+
args[_key - 2] = arguments[_key];
|
|
6329
|
+
}
|
|
6330
|
+
return func.apply(thisArg, args);
|
|
6207
6331
|
};
|
|
6208
6332
|
}
|
|
6209
6333
|
if (!construct) {
|
|
6210
|
-
construct = function construct(Func
|
|
6334
|
+
construct = function construct(Func) {
|
|
6335
|
+
for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {
|
|
6336
|
+
args[_key2 - 1] = arguments[_key2];
|
|
6337
|
+
}
|
|
6211
6338
|
return new Func(...args);
|
|
6212
6339
|
};
|
|
6213
6340
|
}
|
|
@@ -6236,8 +6363,8 @@ function unapply(func) {
|
|
|
6236
6363
|
if (thisArg instanceof RegExp) {
|
|
6237
6364
|
thisArg.lastIndex = 0;
|
|
6238
6365
|
}
|
|
6239
|
-
for (var
|
|
6240
|
-
args[
|
|
6366
|
+
for (var _len3 = arguments.length, args = new Array(_len3 > 1 ? _len3 - 1 : 0), _key3 = 1; _key3 < _len3; _key3++) {
|
|
6367
|
+
args[_key3 - 1] = arguments[_key3];
|
|
6241
6368
|
}
|
|
6242
6369
|
return apply(func, thisArg, args);
|
|
6243
6370
|
};
|
|
@@ -6248,12 +6375,12 @@ function unapply(func) {
|
|
|
6248
6375
|
* @param func - The constructor function to be wrapped and called.
|
|
6249
6376
|
* @returns A new function that constructs an instance of the given constructor function with the provided arguments.
|
|
6250
6377
|
*/
|
|
6251
|
-
function unconstruct(
|
|
6378
|
+
function unconstruct(Func) {
|
|
6252
6379
|
return function () {
|
|
6253
|
-
for (var
|
|
6254
|
-
args[
|
|
6380
|
+
for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {
|
|
6381
|
+
args[_key4] = arguments[_key4];
|
|
6255
6382
|
}
|
|
6256
|
-
return construct(
|
|
6383
|
+
return construct(Func, args);
|
|
6257
6384
|
};
|
|
6258
6385
|
}
|
|
6259
6386
|
/**
|
|
@@ -6352,8 +6479,8 @@ function lookupGetter(object, prop) {
|
|
|
6352
6479
|
return fallbackValue;
|
|
6353
6480
|
}
|
|
6354
6481
|
|
|
6355
|
-
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']);
|
|
6356
|
-
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']);
|
|
6482
|
+
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']);
|
|
6483
|
+
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']);
|
|
6357
6484
|
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']);
|
|
6358
6485
|
// List of SVG elements that are disallowed by default.
|
|
6359
6486
|
// We still need to know them so that we can do namespace
|
|
@@ -6366,8 +6493,8 @@ const mathMl$1 = freeze(['math', 'menclose', 'merror', 'mfenced', 'mfrac', 'mgly
|
|
|
6366
6493
|
const mathMlDisallowed = freeze(['maction', 'maligngroup', 'malignmark', 'mlongdiv', 'mscarries', 'mscarry', 'msgroup', 'mstack', 'msline', 'msrow', 'semantics', 'annotation', 'annotation-xml', 'mprescripts', 'none']);
|
|
6367
6494
|
const text = freeze(['#text']);
|
|
6368
6495
|
|
|
6369
|
-
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']);
|
|
6370
|
-
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']);
|
|
6496
|
+
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']);
|
|
6497
|
+
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']);
|
|
6371
6498
|
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']);
|
|
6372
6499
|
const xml = freeze(['xlink:href', 'xml:id', 'xlink:title', 'xml:space', 'xmlns:xlink']);
|
|
6373
6500
|
|
|
@@ -6465,7 +6592,7 @@ const _createHooksMap = function _createHooksMap() {
|
|
|
6465
6592
|
function createDOMPurify() {
|
|
6466
6593
|
let window = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : getGlobal();
|
|
6467
6594
|
const DOMPurify = root => createDOMPurify(root);
|
|
6468
|
-
DOMPurify.version = '3.
|
|
6595
|
+
DOMPurify.version = '3.3.1';
|
|
6469
6596
|
DOMPurify.removed = [];
|
|
6470
6597
|
if (!window || !window.document || window.document.nodeType !== NODE_TYPE.document || !window.Element) {
|
|
6471
6598
|
// Not running in a browser, provide a factory function
|
|
@@ -6576,6 +6703,21 @@ function createDOMPurify() {
|
|
|
6576
6703
|
let FORBID_TAGS = null;
|
|
6577
6704
|
/* Explicitly forbidden attributes (overrides ALLOWED_ATTR/ADD_ATTR) */
|
|
6578
6705
|
let FORBID_ATTR = null;
|
|
6706
|
+
/* Config object to store ADD_TAGS/ADD_ATTR functions (when used as functions) */
|
|
6707
|
+
const EXTRA_ELEMENT_HANDLING = Object.seal(create(null, {
|
|
6708
|
+
tagCheck: {
|
|
6709
|
+
writable: true,
|
|
6710
|
+
configurable: false,
|
|
6711
|
+
enumerable: true,
|
|
6712
|
+
value: null
|
|
6713
|
+
},
|
|
6714
|
+
attributeCheck: {
|
|
6715
|
+
writable: true,
|
|
6716
|
+
configurable: false,
|
|
6717
|
+
enumerable: true,
|
|
6718
|
+
value: null
|
|
6719
|
+
}
|
|
6720
|
+
}));
|
|
6579
6721
|
/* Decide if ARIA attributes are okay */
|
|
6580
6722
|
let ALLOW_ARIA_ATTR = true;
|
|
6581
6723
|
/* Decide if custom data attributes are okay */
|
|
@@ -6768,16 +6910,24 @@ function createDOMPurify() {
|
|
|
6768
6910
|
}
|
|
6769
6911
|
/* Merge configuration parameters */
|
|
6770
6912
|
if (cfg.ADD_TAGS) {
|
|
6771
|
-
if (
|
|
6772
|
-
|
|
6913
|
+
if (typeof cfg.ADD_TAGS === 'function') {
|
|
6914
|
+
EXTRA_ELEMENT_HANDLING.tagCheck = cfg.ADD_TAGS;
|
|
6915
|
+
} else {
|
|
6916
|
+
if (ALLOWED_TAGS === DEFAULT_ALLOWED_TAGS) {
|
|
6917
|
+
ALLOWED_TAGS = clone$1(ALLOWED_TAGS);
|
|
6918
|
+
}
|
|
6919
|
+
addToSet(ALLOWED_TAGS, cfg.ADD_TAGS, transformCaseFunc);
|
|
6773
6920
|
}
|
|
6774
|
-
addToSet(ALLOWED_TAGS, cfg.ADD_TAGS, transformCaseFunc);
|
|
6775
6921
|
}
|
|
6776
6922
|
if (cfg.ADD_ATTR) {
|
|
6777
|
-
if (
|
|
6778
|
-
|
|
6923
|
+
if (typeof cfg.ADD_ATTR === 'function') {
|
|
6924
|
+
EXTRA_ELEMENT_HANDLING.attributeCheck = cfg.ADD_ATTR;
|
|
6925
|
+
} else {
|
|
6926
|
+
if (ALLOWED_ATTR === DEFAULT_ALLOWED_ATTR) {
|
|
6927
|
+
ALLOWED_ATTR = clone$1(ALLOWED_ATTR);
|
|
6928
|
+
}
|
|
6929
|
+
addToSet(ALLOWED_ATTR, cfg.ADD_ATTR, transformCaseFunc);
|
|
6779
6930
|
}
|
|
6780
|
-
addToSet(ALLOWED_ATTR, cfg.ADD_ATTR, transformCaseFunc);
|
|
6781
6931
|
}
|
|
6782
6932
|
if (cfg.ADD_URI_SAFE_ATTR) {
|
|
6783
6933
|
addToSet(URI_SAFE_ATTRIBUTES, cfg.ADD_URI_SAFE_ATTR, transformCaseFunc);
|
|
@@ -6788,6 +6938,12 @@ function createDOMPurify() {
|
|
|
6788
6938
|
}
|
|
6789
6939
|
addToSet(FORBID_CONTENTS, cfg.FORBID_CONTENTS, transformCaseFunc);
|
|
6790
6940
|
}
|
|
6941
|
+
if (cfg.ADD_FORBID_CONTENTS) {
|
|
6942
|
+
if (FORBID_CONTENTS === DEFAULT_FORBID_CONTENTS) {
|
|
6943
|
+
FORBID_CONTENTS = clone$1(FORBID_CONTENTS);
|
|
6944
|
+
}
|
|
6945
|
+
addToSet(FORBID_CONTENTS, cfg.ADD_FORBID_CONTENTS, transformCaseFunc);
|
|
6946
|
+
}
|
|
6791
6947
|
/* Add #text in case KEEP_CONTENT is set to true */
|
|
6792
6948
|
if (KEEP_CONTENT) {
|
|
6793
6949
|
ALLOWED_TAGS['#text'] = true;
|
|
@@ -7085,7 +7241,7 @@ function createDOMPurify() {
|
|
|
7085
7241
|
return true;
|
|
7086
7242
|
}
|
|
7087
7243
|
/* Remove element if anything forbids its presence */
|
|
7088
|
-
if (!ALLOWED_TAGS[tagName] || FORBID_TAGS[tagName]) {
|
|
7244
|
+
if (!(EXTRA_ELEMENT_HANDLING.tagCheck instanceof Function && EXTRA_ELEMENT_HANDLING.tagCheck(tagName)) && (!ALLOWED_TAGS[tagName] || FORBID_TAGS[tagName])) {
|
|
7089
7245
|
/* Check if we have a custom element to handle */
|
|
7090
7246
|
if (!FORBID_TAGS[tagName] && _isBasicCustomElement(tagName)) {
|
|
7091
7247
|
if (CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof RegExp && regExpTest(CUSTOM_ELEMENT_HANDLING.tagNameCheck, tagName)) {
|
|
@@ -7157,12 +7313,12 @@ function createDOMPurify() {
|
|
|
7157
7313
|
(https://html.spec.whatwg.org/multipage/dom.html#embedding-custom-non-visible-data-with-the-data-*-attributes)
|
|
7158
7314
|
XML-compatible (https://html.spec.whatwg.org/multipage/infrastructure.html#xml-compatible and http://www.w3.org/TR/xml/#d0e804)
|
|
7159
7315
|
We don't need to check the value; it's always URI safe. */
|
|
7160
|
-
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]) {
|
|
7316
|
+
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]) {
|
|
7161
7317
|
if (
|
|
7162
7318
|
// First condition does a very basic check if a) it's basically a valid custom element tagname AND
|
|
7163
7319
|
// b) if the tagName passes whatever the user has configured for CUSTOM_ELEMENT_HANDLING.tagNameCheck
|
|
7164
7320
|
// and c) if the attribute name passes whatever the user has configured for CUSTOM_ELEMENT_HANDLING.attributeNameCheck
|
|
7165
|
-
_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)) ||
|
|
7321
|
+
_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)) ||
|
|
7166
7322
|
// Alternative, second condition checks if it's an `is`-attribute, AND
|
|
7167
7323
|
// the value passes whatever the user has configured for CUSTOM_ELEMENT_HANDLING.tagNameCheck
|
|
7168
7324
|
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 {
|
|
@@ -7241,7 +7397,12 @@ function createDOMPurify() {
|
|
|
7241
7397
|
value = SANITIZE_NAMED_PROPS_PREFIX + value;
|
|
7242
7398
|
}
|
|
7243
7399
|
/* Work around a security issue with comments inside attributes */
|
|
7244
|
-
if (SAFE_FOR_XML && regExpTest(/((--!?|])>)|<\/(style|title)/i, value)) {
|
|
7400
|
+
if (SAFE_FOR_XML && regExpTest(/((--!?|])>)|<\/(style|title|textarea)/i, value)) {
|
|
7401
|
+
_removeAttribute(name, currentNode);
|
|
7402
|
+
continue;
|
|
7403
|
+
}
|
|
7404
|
+
/* Make sure we cannot easily use animated hrefs, even if animations are allowed */
|
|
7405
|
+
if (lcName === 'attributename' && stringMatch(value, 'href')) {
|
|
7245
7406
|
_removeAttribute(name, currentNode);
|
|
7246
7407
|
continue;
|
|
7247
7408
|
}
|
|
@@ -8700,7 +8861,7 @@ class PdsDivider {
|
|
|
8700
8861
|
}; }
|
|
8701
8862
|
}
|
|
8702
8863
|
|
|
8703
|
-
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:
|
|
8864
|
+
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)}";
|
|
8704
8865
|
|
|
8705
8866
|
/**
|
|
8706
8867
|
* @part menu-panel - Exposes the dropdown menu container for styling.
|
|
@@ -8755,6 +8916,7 @@ class PdsDropdownMenu {
|
|
|
8755
8916
|
const updatePosition = () => {
|
|
8756
8917
|
computePosition(this.triggerEl, this.panelEl, {
|
|
8757
8918
|
placement: this.placement,
|
|
8919
|
+
strategy: 'fixed',
|
|
8758
8920
|
middleware: [offset(6), flip(), shift({ padding: 5 })],
|
|
8759
8921
|
}).then(({ x, y }) => {
|
|
8760
8922
|
Object.assign(this.panelEl.style, {
|
|
@@ -8965,7 +9127,7 @@ class PdsDropdownMenu {
|
|
|
8965
9127
|
}
|
|
8966
9128
|
}
|
|
8967
9129
|
render() {
|
|
8968
|
-
return (hAsync(Host, { key: '
|
|
9130
|
+
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 }))));
|
|
8969
9131
|
}
|
|
8970
9132
|
get host() { return getElement(this); }
|
|
8971
9133
|
static get style() { return pdsDropdownMenuCss; }
|
|
@@ -8983,7 +9145,7 @@ class PdsDropdownMenu {
|
|
|
8983
9145
|
}; }
|
|
8984
9146
|
}
|
|
8985
9147
|
|
|
8986
|
-
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)}";
|
|
9148
|
+
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)}";
|
|
8987
9149
|
|
|
8988
9150
|
class PdsDropdownMenuItem {
|
|
8989
9151
|
constructor(hostRef) {
|
|
@@ -9100,7 +9262,7 @@ class PdsDropdownMenuSeparator {
|
|
|
9100
9262
|
}; }
|
|
9101
9263
|
}
|
|
9102
9264
|
|
|
9103
|
-
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)))}}";
|
|
9265
|
+
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)))}}";
|
|
9104
9266
|
|
|
9105
9267
|
/**
|
|
9106
9268
|
* Individual filter component with cross-browser popover positioning.
|
|
@@ -11067,6 +11229,632 @@ class PdsModalHeader {
|
|
|
11067
11229
|
}; }
|
|
11068
11230
|
}
|
|
11069
11231
|
|
|
11232
|
+
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}";
|
|
11233
|
+
|
|
11234
|
+
/**
|
|
11235
|
+
* @slot (default) - Static option elements for the multiselect
|
|
11236
|
+
* @slot empty - Custom empty state message when no options match
|
|
11237
|
+
* @slot loading - Custom loading indicator
|
|
11238
|
+
*/
|
|
11239
|
+
class PdsMultiselect {
|
|
11240
|
+
constructor(hostRef) {
|
|
11241
|
+
registerInstance(this, hostRef);
|
|
11242
|
+
this.pdsMultiselectChange = createEvent(this, "pdsMultiselectChange");
|
|
11243
|
+
this.pdsMultiselectSearch = createEvent(this, "pdsMultiselectSearch");
|
|
11244
|
+
this.pdsMultiselectLoadOptions = createEvent(this, "pdsMultiselectLoadOptions");
|
|
11245
|
+
/**
|
|
11246
|
+
* Placeholder text for the input field.
|
|
11247
|
+
*/
|
|
11248
|
+
this.placeholder = 'Select...';
|
|
11249
|
+
/**
|
|
11250
|
+
* Array of selected option values.
|
|
11251
|
+
*/
|
|
11252
|
+
this.value = [];
|
|
11253
|
+
/**
|
|
11254
|
+
* Determines whether or not the multiselect is disabled.
|
|
11255
|
+
*/
|
|
11256
|
+
this.disabled = false;
|
|
11257
|
+
/**
|
|
11258
|
+
* HTTP method for async requests.
|
|
11259
|
+
*/
|
|
11260
|
+
this.asyncMethod = 'GET';
|
|
11261
|
+
/**
|
|
11262
|
+
* Debounce delay in milliseconds for search/fetch.
|
|
11263
|
+
*/
|
|
11264
|
+
this.debounce = 300;
|
|
11265
|
+
/**
|
|
11266
|
+
* Maximum height of the dropdown before scrolling.
|
|
11267
|
+
*/
|
|
11268
|
+
this.maxHeight = '300px';
|
|
11269
|
+
/**
|
|
11270
|
+
* Width of the trigger button (and reference for dropdown positioning).
|
|
11271
|
+
*/
|
|
11272
|
+
this.triggerWidth = '100%';
|
|
11273
|
+
/**
|
|
11274
|
+
* Minimum width of the dropdown panel.
|
|
11275
|
+
*/
|
|
11276
|
+
this.minWidth = '250px';
|
|
11277
|
+
/**
|
|
11278
|
+
* Visually hides the label but keeps it accessible.
|
|
11279
|
+
*/
|
|
11280
|
+
this.hideLabel = false;
|
|
11281
|
+
/**
|
|
11282
|
+
* If true, the multiselect is required.
|
|
11283
|
+
*/
|
|
11284
|
+
this.required = false;
|
|
11285
|
+
/**
|
|
11286
|
+
* Whether the component is currently loading async options.
|
|
11287
|
+
*/
|
|
11288
|
+
this.loading = false;
|
|
11289
|
+
// Internal state
|
|
11290
|
+
this.isOpen = false;
|
|
11291
|
+
this.searchQuery = '';
|
|
11292
|
+
this.highlightedIndex = -1;
|
|
11293
|
+
this.internalOptions = [];
|
|
11294
|
+
this.selectedItems = [];
|
|
11295
|
+
this.currentPage = 1;
|
|
11296
|
+
this.hasMore = false;
|
|
11297
|
+
// Flag to prevent focusout from closing during open transition
|
|
11298
|
+
this.isOpening = false;
|
|
11299
|
+
this.handleTriggerClick = () => {
|
|
11300
|
+
if (this.disabled)
|
|
11301
|
+
return;
|
|
11302
|
+
if (this.isOpen) {
|
|
11303
|
+
this.closeDropdown();
|
|
11304
|
+
}
|
|
11305
|
+
else {
|
|
11306
|
+
this.openDropdown();
|
|
11307
|
+
}
|
|
11308
|
+
};
|
|
11309
|
+
this.handleTriggerKeyDown = (e) => {
|
|
11310
|
+
switch (e.key) {
|
|
11311
|
+
case 'ArrowDown':
|
|
11312
|
+
case 'ArrowUp':
|
|
11313
|
+
case 'Enter':
|
|
11314
|
+
case ' ':
|
|
11315
|
+
e.preventDefault();
|
|
11316
|
+
if (!this.isOpen) {
|
|
11317
|
+
this.openDropdown();
|
|
11318
|
+
}
|
|
11319
|
+
break;
|
|
11320
|
+
}
|
|
11321
|
+
};
|
|
11322
|
+
this.handleSearchInputChange = (e) => {
|
|
11323
|
+
const target = e.target;
|
|
11324
|
+
this.searchQuery = target.value;
|
|
11325
|
+
this.highlightedIndex = -1;
|
|
11326
|
+
// Emit search event for consumer-managed async
|
|
11327
|
+
this.pdsMultiselectSearch.emit({ query: this.searchQuery });
|
|
11328
|
+
// Fetch from async URL if configured
|
|
11329
|
+
if (this.asyncUrl) {
|
|
11330
|
+
this.debouncedFetchAsyncOptions(this.searchQuery, 1);
|
|
11331
|
+
}
|
|
11332
|
+
};
|
|
11333
|
+
this.handleSearchInputKeyDown = (e) => {
|
|
11334
|
+
const filteredOptions = this.getFilteredOptions();
|
|
11335
|
+
switch (e.key) {
|
|
11336
|
+
case 'ArrowDown':
|
|
11337
|
+
e.preventDefault();
|
|
11338
|
+
this.highlightedIndex = Math.min(this.highlightedIndex + 1, filteredOptions.length - 1);
|
|
11339
|
+
this.scrollOptionIntoView();
|
|
11340
|
+
break;
|
|
11341
|
+
case 'ArrowUp':
|
|
11342
|
+
e.preventDefault();
|
|
11343
|
+
this.highlightedIndex = Math.max(this.highlightedIndex - 1, 0);
|
|
11344
|
+
this.scrollOptionIntoView();
|
|
11345
|
+
break;
|
|
11346
|
+
case 'Enter':
|
|
11347
|
+
e.preventDefault();
|
|
11348
|
+
if (this.highlightedIndex >= 0) {
|
|
11349
|
+
const option = filteredOptions[this.highlightedIndex];
|
|
11350
|
+
if (option) {
|
|
11351
|
+
this.selectOption(option);
|
|
11352
|
+
}
|
|
11353
|
+
}
|
|
11354
|
+
break;
|
|
11355
|
+
// Escape is handled by the global @Listen('keydown') handler
|
|
11356
|
+
case 'Tab':
|
|
11357
|
+
this.closeDropdown();
|
|
11358
|
+
break;
|
|
11359
|
+
}
|
|
11360
|
+
};
|
|
11361
|
+
this.handleContainerFocusOut = () => {
|
|
11362
|
+
// Use setTimeout to delay the check - this allows click events and focus transitions to complete
|
|
11363
|
+
// before we decide to close the dropdown
|
|
11364
|
+
setTimeout(() => {
|
|
11365
|
+
var _a;
|
|
11366
|
+
// Don't close if we're in the middle of opening or already closed
|
|
11367
|
+
if (!this.isOpen || this.isOpening)
|
|
11368
|
+
return;
|
|
11369
|
+
const activeElement = document.activeElement;
|
|
11370
|
+
// Check if focus is within our component's shadow root
|
|
11371
|
+
const isInShadowRoot = (_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.contains(activeElement);
|
|
11372
|
+
// Also check if focus is on the host element itself
|
|
11373
|
+
const isOnHost = activeElement === this.el;
|
|
11374
|
+
if (!isInShadowRoot && !isOnHost) {
|
|
11375
|
+
this.closeDropdown();
|
|
11376
|
+
}
|
|
11377
|
+
}, 0);
|
|
11378
|
+
};
|
|
11379
|
+
this.handleOptionMouseDown = (option) => (e) => {
|
|
11380
|
+
e.preventDefault(); // Prevent focus change
|
|
11381
|
+
this.toggleOption(option);
|
|
11382
|
+
};
|
|
11383
|
+
this.handleOptionMouseEnter = (index) => () => {
|
|
11384
|
+
this.highlightedIndex = index;
|
|
11385
|
+
};
|
|
11386
|
+
this.handleScroll = (e) => {
|
|
11387
|
+
if (!this.asyncUrl || !this.hasMore || this.loading)
|
|
11388
|
+
return;
|
|
11389
|
+
const target = e.target;
|
|
11390
|
+
const scrollBottom = target.scrollHeight - target.scrollTop - target.clientHeight;
|
|
11391
|
+
// Load more when near bottom (within 50px)
|
|
11392
|
+
if (scrollBottom < 50) {
|
|
11393
|
+
this.pdsMultiselectLoadOptions.emit({
|
|
11394
|
+
query: this.searchQuery,
|
|
11395
|
+
page: this.currentPage + 1,
|
|
11396
|
+
});
|
|
11397
|
+
this.debouncedFetchAsyncOptions(this.searchQuery, this.currentPage + 1);
|
|
11398
|
+
}
|
|
11399
|
+
};
|
|
11400
|
+
}
|
|
11401
|
+
connectedCallback() {
|
|
11402
|
+
if (this.el.attachInternals) {
|
|
11403
|
+
this.internals = this.el.attachInternals();
|
|
11404
|
+
}
|
|
11405
|
+
}
|
|
11406
|
+
componentWillLoad() {
|
|
11407
|
+
this.originalSearchEmitter = this.pdsMultiselectSearch;
|
|
11408
|
+
this.syncSelectedItems();
|
|
11409
|
+
}
|
|
11410
|
+
componentDidLoad() {
|
|
11411
|
+
this.setupDebounce();
|
|
11412
|
+
this.setupMutationObserver();
|
|
11413
|
+
this.setupSlotChangeListener();
|
|
11414
|
+
this.updateFormValue();
|
|
11415
|
+
// Ensure preselected values sync after DOM is fully ready
|
|
11416
|
+
// This handles cases where slot content loads after initial render (e.g., in docs/MDX)
|
|
11417
|
+
requestAnimationFrame(() => {
|
|
11418
|
+
this.updateOptionsFromSlot();
|
|
11419
|
+
this.syncSelectedItems();
|
|
11420
|
+
});
|
|
11421
|
+
}
|
|
11422
|
+
setupSlotChangeListener() {
|
|
11423
|
+
var _a;
|
|
11424
|
+
const slot = (_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('slot:not([name])');
|
|
11425
|
+
if (slot) {
|
|
11426
|
+
slot.addEventListener('slotchange', () => {
|
|
11427
|
+
this.updateOptionsFromSlot();
|
|
11428
|
+
this.syncSelectedItems();
|
|
11429
|
+
});
|
|
11430
|
+
// Also call it immediately in case content is already slotted
|
|
11431
|
+
this.updateOptionsFromSlot();
|
|
11432
|
+
}
|
|
11433
|
+
}
|
|
11434
|
+
disconnectedCallback() {
|
|
11435
|
+
var _a, _b;
|
|
11436
|
+
(_a = this.observer) === null || _a === void 0 ? void 0 : _a.disconnect();
|
|
11437
|
+
(_b = this.cleanupAutoUpdate) === null || _b === void 0 ? void 0 : _b.call(this);
|
|
11438
|
+
this.clearAsyncFetchState();
|
|
11439
|
+
}
|
|
11440
|
+
setupDebounce() {
|
|
11441
|
+
const { pdsMultiselectSearch, debounce, originalSearchEmitter } = this;
|
|
11442
|
+
this.pdsMultiselectSearch = debounce === undefined
|
|
11443
|
+
? originalSearchEmitter !== null && originalSearchEmitter !== void 0 ? originalSearchEmitter : pdsMultiselectSearch
|
|
11444
|
+
: debounceEvent(pdsMultiselectSearch, debounce);
|
|
11445
|
+
}
|
|
11446
|
+
valueChanged(newValue) {
|
|
11447
|
+
// Handle JSON string values (from HTML attributes)
|
|
11448
|
+
if (typeof newValue === 'string') {
|
|
11449
|
+
try {
|
|
11450
|
+
const parsed = JSON.parse(newValue);
|
|
11451
|
+
if (Array.isArray(parsed)) {
|
|
11452
|
+
this.value = parsed;
|
|
11453
|
+
return; // The assignment will trigger this watcher again with the array
|
|
11454
|
+
}
|
|
11455
|
+
}
|
|
11456
|
+
catch (_a) {
|
|
11457
|
+
// Not valid JSON, treat as single value
|
|
11458
|
+
this.value = newValue ? [newValue] : [];
|
|
11459
|
+
return;
|
|
11460
|
+
}
|
|
11461
|
+
}
|
|
11462
|
+
this.syncSelectedItems();
|
|
11463
|
+
this.updateFormValue();
|
|
11464
|
+
}
|
|
11465
|
+
optionsChanged() {
|
|
11466
|
+
if (this.options) {
|
|
11467
|
+
this.internalOptions = [...this.options];
|
|
11468
|
+
}
|
|
11469
|
+
}
|
|
11470
|
+
internalOptionsChanged() {
|
|
11471
|
+
// Re-sync selected items when options become available
|
|
11472
|
+
// This handles the case where value is set before options are loaded (e.g., from slot)
|
|
11473
|
+
this.syncSelectedItems();
|
|
11474
|
+
}
|
|
11475
|
+
/**
|
|
11476
|
+
* Sets focus on the trigger button.
|
|
11477
|
+
*/
|
|
11478
|
+
async setFocus() {
|
|
11479
|
+
var _a;
|
|
11480
|
+
(_a = this.triggerEl) === null || _a === void 0 ? void 0 : _a.focus();
|
|
11481
|
+
}
|
|
11482
|
+
/**
|
|
11483
|
+
* Handle global keyboard events for accessibility.
|
|
11484
|
+
* Closes dropdown on Escape key press regardless of focus location.
|
|
11485
|
+
*/
|
|
11486
|
+
handleWindowKeyDown(event) {
|
|
11487
|
+
var _a;
|
|
11488
|
+
if (!this.isOpen)
|
|
11489
|
+
return;
|
|
11490
|
+
if (event.key === 'Escape') {
|
|
11491
|
+
event.preventDefault();
|
|
11492
|
+
this.closeDropdown();
|
|
11493
|
+
(_a = this.triggerEl) === null || _a === void 0 ? void 0 : _a.focus();
|
|
11494
|
+
}
|
|
11495
|
+
}
|
|
11496
|
+
setupMutationObserver() {
|
|
11497
|
+
this.observer = new MutationObserver(() => {
|
|
11498
|
+
this.updateOptionsFromSlot();
|
|
11499
|
+
});
|
|
11500
|
+
this.observer.observe(this.el, {
|
|
11501
|
+
childList: true,
|
|
11502
|
+
subtree: true,
|
|
11503
|
+
});
|
|
11504
|
+
}
|
|
11505
|
+
updateOptionsFromSlot() {
|
|
11506
|
+
var _a;
|
|
11507
|
+
const slot = (_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('slot:not([name])');
|
|
11508
|
+
if (!slot)
|
|
11509
|
+
return;
|
|
11510
|
+
const options = slot.assignedElements({ flatten: true })
|
|
11511
|
+
.filter((el) => el.tagName === 'OPTION')
|
|
11512
|
+
.map(opt => ({
|
|
11513
|
+
id: opt.value,
|
|
11514
|
+
text: opt.textContent || opt.value,
|
|
11515
|
+
}));
|
|
11516
|
+
// Only update if we actually found options AND we're not using async/external options
|
|
11517
|
+
// Don't clear internalOptions if slot returns empty (might be mid-DOM-update)
|
|
11518
|
+
if (options.length > 0 && !this.asyncUrl && !this.options) {
|
|
11519
|
+
this.internalOptions = options;
|
|
11520
|
+
}
|
|
11521
|
+
}
|
|
11522
|
+
clearAsyncFetchState() {
|
|
11523
|
+
var _a;
|
|
11524
|
+
if (this.fetchDebounceTimer !== undefined) {
|
|
11525
|
+
window.clearTimeout(this.fetchDebounceTimer);
|
|
11526
|
+
this.fetchDebounceTimer = undefined;
|
|
11527
|
+
}
|
|
11528
|
+
(_a = this.abortController) === null || _a === void 0 ? void 0 : _a.abort();
|
|
11529
|
+
this.abortController = undefined;
|
|
11530
|
+
}
|
|
11531
|
+
debouncedFetchAsyncOptions(query, page = 1) {
|
|
11532
|
+
var _a;
|
|
11533
|
+
if (!this.asyncUrl)
|
|
11534
|
+
return;
|
|
11535
|
+
if (this.fetchDebounceTimer !== undefined) {
|
|
11536
|
+
window.clearTimeout(this.fetchDebounceTimer);
|
|
11537
|
+
}
|
|
11538
|
+
const delay = Math.max(0, (_a = this.debounce) !== null && _a !== void 0 ? _a : 0);
|
|
11539
|
+
this.fetchDebounceTimer = window.setTimeout(() => {
|
|
11540
|
+
this.fetchDebounceTimer = undefined;
|
|
11541
|
+
this.fetchOptions(query, page);
|
|
11542
|
+
}, delay);
|
|
11543
|
+
}
|
|
11544
|
+
syncSelectedItems() {
|
|
11545
|
+
// Ensure value is an array (may be string from HTML attribute)
|
|
11546
|
+
const valueArray = this.ensureValueArray();
|
|
11547
|
+
const allOptions = this.getAllOptions();
|
|
11548
|
+
this.selectedItems = valueArray
|
|
11549
|
+
.map(val => allOptions.find(opt => String(opt.id) === String(val)))
|
|
11550
|
+
.filter((opt) => opt !== undefined);
|
|
11551
|
+
}
|
|
11552
|
+
ensureValueArray() {
|
|
11553
|
+
// Handle JSON string values passed via HTML attribute
|
|
11554
|
+
if (typeof this.value === 'string') {
|
|
11555
|
+
try {
|
|
11556
|
+
const parsed = JSON.parse(this.value);
|
|
11557
|
+
if (Array.isArray(parsed)) {
|
|
11558
|
+
this.value = parsed;
|
|
11559
|
+
return parsed;
|
|
11560
|
+
}
|
|
11561
|
+
}
|
|
11562
|
+
catch (_a) {
|
|
11563
|
+
// Not valid JSON, treat as single value
|
|
11564
|
+
const singleValue = this.value;
|
|
11565
|
+
this.value = singleValue ? [singleValue] : [];
|
|
11566
|
+
return this.value;
|
|
11567
|
+
}
|
|
11568
|
+
}
|
|
11569
|
+
return Array.isArray(this.value) ? this.value : [];
|
|
11570
|
+
}
|
|
11571
|
+
getAllOptions() {
|
|
11572
|
+
return this.options || this.internalOptions;
|
|
11573
|
+
}
|
|
11574
|
+
getFilteredOptions() {
|
|
11575
|
+
const allOptions = this.getAllOptions();
|
|
11576
|
+
const query = this.searchQuery.toLowerCase();
|
|
11577
|
+
return allOptions.filter(opt => {
|
|
11578
|
+
// Filter by search query only - don't filter out selected items
|
|
11579
|
+
if (query) {
|
|
11580
|
+
return opt.text.toLowerCase().includes(query);
|
|
11581
|
+
}
|
|
11582
|
+
return true;
|
|
11583
|
+
});
|
|
11584
|
+
}
|
|
11585
|
+
updateFormValue() {
|
|
11586
|
+
var _a;
|
|
11587
|
+
if ((_a = this.internals) === null || _a === void 0 ? void 0 : _a.setFormValue) {
|
|
11588
|
+
// Ensure value is an array before iterating
|
|
11589
|
+
const valueArray = this.ensureValueArray();
|
|
11590
|
+
// Submit as multiple values with same name (native select multiple behavior)
|
|
11591
|
+
const formData = new FormData();
|
|
11592
|
+
valueArray.forEach(val => {
|
|
11593
|
+
if (this.name) {
|
|
11594
|
+
formData.append(this.name, val);
|
|
11595
|
+
}
|
|
11596
|
+
});
|
|
11597
|
+
this.internals.setFormValue(formData);
|
|
11598
|
+
// Update validity state for required validation
|
|
11599
|
+
if (this.required && valueArray.length === 0) {
|
|
11600
|
+
this.internals.setValidity({ valueMissing: true }, 'Please select at least one option.', this.triggerEl);
|
|
11601
|
+
}
|
|
11602
|
+
else {
|
|
11603
|
+
this.internals.setValidity({});
|
|
11604
|
+
}
|
|
11605
|
+
}
|
|
11606
|
+
}
|
|
11607
|
+
async fetchOptions(query, page = 1) {
|
|
11608
|
+
var _a;
|
|
11609
|
+
if (!this.asyncUrl)
|
|
11610
|
+
return;
|
|
11611
|
+
(_a = this.abortController) === null || _a === void 0 ? void 0 : _a.abort();
|
|
11612
|
+
this.abortController = new AbortController();
|
|
11613
|
+
this.loading = true;
|
|
11614
|
+
try {
|
|
11615
|
+
const url = new URL(this.asyncUrl, window.location.origin);
|
|
11616
|
+
if (this.asyncMethod === 'GET') {
|
|
11617
|
+
url.searchParams.set('search', query);
|
|
11618
|
+
url.searchParams.set('page', String(page));
|
|
11619
|
+
}
|
|
11620
|
+
const response = await fetch(url.toString(), Object.assign({ method: this.asyncMethod, signal: this.abortController.signal, headers: {
|
|
11621
|
+
'Content-Type': 'application/json',
|
|
11622
|
+
'Accept': 'application/json',
|
|
11623
|
+
} }, (this.asyncMethod === 'POST' && {
|
|
11624
|
+
body: JSON.stringify({ search: query, page }),
|
|
11625
|
+
})));
|
|
11626
|
+
if (!response.ok)
|
|
11627
|
+
throw new Error('Failed to fetch options');
|
|
11628
|
+
const data = await response.json();
|
|
11629
|
+
const formattedResults = data.results.map(item => {
|
|
11630
|
+
if (this.formatResult) {
|
|
11631
|
+
return this.formatResult(item);
|
|
11632
|
+
}
|
|
11633
|
+
return Object.assign({ id: item.id, text: item.text }, item);
|
|
11634
|
+
});
|
|
11635
|
+
if (page === 1) {
|
|
11636
|
+
this.internalOptions = formattedResults;
|
|
11637
|
+
}
|
|
11638
|
+
else {
|
|
11639
|
+
this.internalOptions = [...this.internalOptions, ...formattedResults];
|
|
11640
|
+
}
|
|
11641
|
+
this.hasMore = data.totalCount ? this.internalOptions.length < data.totalCount : false;
|
|
11642
|
+
this.currentPage = page;
|
|
11643
|
+
}
|
|
11644
|
+
catch (error) {
|
|
11645
|
+
if (error.name !== 'AbortError') {
|
|
11646
|
+
console.error('PdsMultiselect: Failed to fetch options', error);
|
|
11647
|
+
}
|
|
11648
|
+
}
|
|
11649
|
+
finally {
|
|
11650
|
+
this.loading = false;
|
|
11651
|
+
}
|
|
11652
|
+
}
|
|
11653
|
+
openDropdown() {
|
|
11654
|
+
if (this.disabled)
|
|
11655
|
+
return;
|
|
11656
|
+
this.isOpening = true;
|
|
11657
|
+
this.isOpen = true;
|
|
11658
|
+
this.highlightedIndex = -1;
|
|
11659
|
+
// Trigger initial fetch if async
|
|
11660
|
+
if (this.asyncUrl && this.internalOptions.length === 0) {
|
|
11661
|
+
this.debouncedFetchAsyncOptions(this.searchQuery, 1);
|
|
11662
|
+
}
|
|
11663
|
+
requestAnimationFrame(() => {
|
|
11664
|
+
var _a;
|
|
11665
|
+
this.positionDropdown();
|
|
11666
|
+
// Focus the search input after the panel is positioned
|
|
11667
|
+
(_a = this.searchInputEl) === null || _a === void 0 ? void 0 : _a.focus();
|
|
11668
|
+
// Clear the opening flag after focus has moved
|
|
11669
|
+
setTimeout(() => {
|
|
11670
|
+
this.isOpening = false;
|
|
11671
|
+
}, 50);
|
|
11672
|
+
});
|
|
11673
|
+
}
|
|
11674
|
+
closeDropdown() {
|
|
11675
|
+
this.isOpen = false;
|
|
11676
|
+
this.highlightedIndex = -1;
|
|
11677
|
+
this.searchQuery = '';
|
|
11678
|
+
// Clean up auto-update
|
|
11679
|
+
if (this.cleanupAutoUpdate) {
|
|
11680
|
+
this.cleanupAutoUpdate();
|
|
11681
|
+
this.cleanupAutoUpdate = undefined;
|
|
11682
|
+
}
|
|
11683
|
+
}
|
|
11684
|
+
positionDropdown() {
|
|
11685
|
+
if (!this.containerEl || !this.panelEl)
|
|
11686
|
+
return;
|
|
11687
|
+
const referenceEl = this.triggerEl || this.containerEl;
|
|
11688
|
+
const { minWidth, panelWidth } = this;
|
|
11689
|
+
const updatePosition = () => {
|
|
11690
|
+
computePosition(referenceEl, this.panelEl, {
|
|
11691
|
+
placement: 'bottom-start',
|
|
11692
|
+
strategy: 'absolute',
|
|
11693
|
+
middleware: [
|
|
11694
|
+
offset(12),
|
|
11695
|
+
flip(),
|
|
11696
|
+
shift({ padding: 8 }),
|
|
11697
|
+
size({
|
|
11698
|
+
apply: ({ rects, elements }) => {
|
|
11699
|
+
Object.assign(elements.floating.style, {
|
|
11700
|
+
width: panelWidth !== null && panelWidth !== void 0 ? panelWidth : `${rects.reference.width}px`,
|
|
11701
|
+
minWidth,
|
|
11702
|
+
});
|
|
11703
|
+
},
|
|
11704
|
+
}),
|
|
11705
|
+
],
|
|
11706
|
+
}).then(({ x, y }) => {
|
|
11707
|
+
if (this.panelEl) {
|
|
11708
|
+
this.panelEl.style.left = `${x}px`;
|
|
11709
|
+
this.panelEl.style.top = `${y}px`;
|
|
11710
|
+
}
|
|
11711
|
+
});
|
|
11712
|
+
};
|
|
11713
|
+
// Initial position
|
|
11714
|
+
updatePosition();
|
|
11715
|
+
// Set up auto-update for window resize and scroll
|
|
11716
|
+
const cleanupAutoUpdate = autoUpdate(referenceEl, this.panelEl, updatePosition);
|
|
11717
|
+
this.cleanupAutoUpdate = () => {
|
|
11718
|
+
cleanupAutoUpdate();
|
|
11719
|
+
this.clearAsyncFetchState();
|
|
11720
|
+
};
|
|
11721
|
+
}
|
|
11722
|
+
scrollOptionIntoView() {
|
|
11723
|
+
requestAnimationFrame(() => {
|
|
11724
|
+
var _a;
|
|
11725
|
+
const highlighted = (_a = this.listboxEl) === null || _a === void 0 ? void 0 : _a.querySelector(`[data-index="${this.highlightedIndex}"]`);
|
|
11726
|
+
highlighted === null || highlighted === void 0 ? void 0 : highlighted.scrollIntoView({ block: 'nearest', behavior: 'smooth' });
|
|
11727
|
+
});
|
|
11728
|
+
}
|
|
11729
|
+
toggleOption(option) {
|
|
11730
|
+
var _a;
|
|
11731
|
+
const isSelected = this.value.includes(String(option.id));
|
|
11732
|
+
if (isSelected) {
|
|
11733
|
+
// Remove from selection
|
|
11734
|
+
const newValue = this.value.filter(v => v !== String(option.id));
|
|
11735
|
+
this.value = newValue;
|
|
11736
|
+
const newSelectedItems = this.selectedItems.filter(item => String(item.id) !== String(option.id));
|
|
11737
|
+
this.pdsMultiselectChange.emit({
|
|
11738
|
+
values: newValue,
|
|
11739
|
+
items: newSelectedItems,
|
|
11740
|
+
});
|
|
11741
|
+
}
|
|
11742
|
+
else {
|
|
11743
|
+
// Add to selection
|
|
11744
|
+
if (this.maxSelections && this.value.length >= this.maxSelections) {
|
|
11745
|
+
return;
|
|
11746
|
+
}
|
|
11747
|
+
const newValue = [...this.value, String(option.id)];
|
|
11748
|
+
this.value = newValue;
|
|
11749
|
+
const newSelectedItems = [...this.selectedItems, option];
|
|
11750
|
+
this.pdsMultiselectChange.emit({
|
|
11751
|
+
values: newValue,
|
|
11752
|
+
items: newSelectedItems,
|
|
11753
|
+
});
|
|
11754
|
+
}
|
|
11755
|
+
// Keep focus on search input, don't close dropdown
|
|
11756
|
+
(_a = this.searchInputEl) === null || _a === void 0 ? void 0 : _a.focus();
|
|
11757
|
+
}
|
|
11758
|
+
selectOption(option) {
|
|
11759
|
+
// For keyboard navigation - toggle the option
|
|
11760
|
+
this.toggleOption(option);
|
|
11761
|
+
}
|
|
11762
|
+
renderSelectedItemsList() {
|
|
11763
|
+
if (this.selectedItems.length === 0)
|
|
11764
|
+
return null;
|
|
11765
|
+
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))))));
|
|
11766
|
+
}
|
|
11767
|
+
renderDropdown() {
|
|
11768
|
+
if (!this.isOpen)
|
|
11769
|
+
return null;
|
|
11770
|
+
const filteredOptions = this.getFilteredOptions();
|
|
11771
|
+
const valueArray = this.ensureValueArray();
|
|
11772
|
+
const hasSlottedEmpty = !!this.el.querySelector('[slot="empty"]');
|
|
11773
|
+
const hasSlottedLoading = !!this.el.querySelector('[slot="loading"]');
|
|
11774
|
+
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) => {
|
|
11775
|
+
const isSelected = valueArray.includes(String(option.id));
|
|
11776
|
+
const isHighlighted = index === this.highlightedIndex;
|
|
11777
|
+
const optionId = `${this.componentId}-option-${index}`;
|
|
11778
|
+
return (hAsync("li", { key: String(option.id), id: optionId, class: {
|
|
11779
|
+
'pds-multiselect__option': true,
|
|
11780
|
+
'pds-multiselect__option--highlighted': isHighlighted,
|
|
11781
|
+
'pds-multiselect__option--selected': isSelected,
|
|
11782
|
+
}, 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' } })));
|
|
11783
|
+
}), this.hasMore && !this.loading && (hAsync("li", { class: "pds-multiselect__load-more", role: "presentation" }, hAsync("pds-loader", { size: "small" }))))));
|
|
11784
|
+
}
|
|
11785
|
+
getTriggerText() {
|
|
11786
|
+
const count = this.selectedItems.length;
|
|
11787
|
+
if (count === 0) {
|
|
11788
|
+
return this.placeholder || 'Select...';
|
|
11789
|
+
}
|
|
11790
|
+
return `${count} item${count === 1 ? '' : 's'}`;
|
|
11791
|
+
}
|
|
11792
|
+
render() {
|
|
11793
|
+
const hasSelections = this.selectedItems.length > 0;
|
|
11794
|
+
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: {
|
|
11795
|
+
'pds-multiselect__label': true,
|
|
11796
|
+
'visually-hidden': this.hideLabel,
|
|
11797
|
+
} }, 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: {
|
|
11798
|
+
'pds-multiselect__trigger': true,
|
|
11799
|
+
'pds-multiselect__trigger--open': this.isOpen,
|
|
11800
|
+
'pds-multiselect__trigger--disabled': this.disabled,
|
|
11801
|
+
'pds-multiselect__trigger--invalid': this.invalid || !!this.errorMessage,
|
|
11802
|
+
'pds-multiselect__trigger--has-value': hasSelections,
|
|
11803
|
+
}, 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: {
|
|
11804
|
+
'pds-multiselect__trigger-text': true,
|
|
11805
|
+
'pds-multiselect__trigger-text--placeholder': !hasSelections,
|
|
11806
|
+
} }, 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' })))));
|
|
11807
|
+
}
|
|
11808
|
+
static get formAssociated() { return true; }
|
|
11809
|
+
get el() { return getElement(this); }
|
|
11810
|
+
static get watchers() { return {
|
|
11811
|
+
"debounce": ["setupDebounce"],
|
|
11812
|
+
"value": ["valueChanged"],
|
|
11813
|
+
"options": ["optionsChanged"],
|
|
11814
|
+
"internalOptions": ["internalOptionsChanged"]
|
|
11815
|
+
}; }
|
|
11816
|
+
static get style() { return pdsMultiselectCss; }
|
|
11817
|
+
static get cmpMeta() { return {
|
|
11818
|
+
"$flags$": 329,
|
|
11819
|
+
"$tagName$": "pds-multiselect",
|
|
11820
|
+
"$members$": {
|
|
11821
|
+
"componentId": [1, "component-id"],
|
|
11822
|
+
"label": [1],
|
|
11823
|
+
"placeholder": [1],
|
|
11824
|
+
"name": [1],
|
|
11825
|
+
"value": [1040],
|
|
11826
|
+
"disabled": [4],
|
|
11827
|
+
"asyncUrl": [1, "async-url"],
|
|
11828
|
+
"asyncMethod": [1, "async-method"],
|
|
11829
|
+
"debounce": [2],
|
|
11830
|
+
"maxSelections": [2, "max-selections"],
|
|
11831
|
+
"maxHeight": [1, "max-height"],
|
|
11832
|
+
"triggerWidth": [1, "trigger-width"],
|
|
11833
|
+
"minWidth": [1, "min-width"],
|
|
11834
|
+
"panelWidth": [1, "panel-width"],
|
|
11835
|
+
"hideLabel": [4, "hide-label"],
|
|
11836
|
+
"errorMessage": [1, "error-message"],
|
|
11837
|
+
"helperMessage": [1, "helper-message"],
|
|
11838
|
+
"invalid": [4],
|
|
11839
|
+
"required": [4],
|
|
11840
|
+
"loading": [1028],
|
|
11841
|
+
"options": [16],
|
|
11842
|
+
"formatResult": [16],
|
|
11843
|
+
"isOpen": [32],
|
|
11844
|
+
"searchQuery": [32],
|
|
11845
|
+
"highlightedIndex": [32],
|
|
11846
|
+
"internalOptions": [32],
|
|
11847
|
+
"selectedItems": [32],
|
|
11848
|
+
"currentPage": [32],
|
|
11849
|
+
"hasMore": [32],
|
|
11850
|
+
"setFocus": [64]
|
|
11851
|
+
},
|
|
11852
|
+
"$listeners$": [[8, "keydown", "handleWindowKeyDown"]],
|
|
11853
|
+
"$lazyBundleId$": "-",
|
|
11854
|
+
"$attrsToReflect$": []
|
|
11855
|
+
}; }
|
|
11856
|
+
}
|
|
11857
|
+
|
|
11070
11858
|
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}";
|
|
11071
11859
|
|
|
11072
11860
|
/**
|
|
@@ -11627,7 +12415,7 @@ class PdsPopover {
|
|
|
11627
12415
|
}, 16); // ~1 frame at 60fps
|
|
11628
12416
|
}
|
|
11629
12417
|
render() {
|
|
11630
|
-
return (hAsync(Host, { key: '
|
|
12418
|
+
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 }))));
|
|
11631
12419
|
}
|
|
11632
12420
|
get el() { return getElement(this); }
|
|
11633
12421
|
static get style() { return pdsPopoverCss; }
|
|
@@ -11677,7 +12465,7 @@ class PdsProgress {
|
|
|
11677
12465
|
this.showPercent = false;
|
|
11678
12466
|
}
|
|
11679
12467
|
render() {
|
|
11680
|
-
return (hAsync(Host, { key: '
|
|
12468
|
+
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, "%")));
|
|
11681
12469
|
}
|
|
11682
12470
|
static get style() { return pdsProgressCss; }
|
|
11683
12471
|
static get cmpMeta() { return {
|
|
@@ -11711,7 +12499,7 @@ class PdsProperty {
|
|
|
11711
12499
|
this.icon = 'star';
|
|
11712
12500
|
}
|
|
11713
12501
|
render() {
|
|
11714
|
-
return (hAsync(Host, { key: '
|
|
12502
|
+
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' }))));
|
|
11715
12503
|
}
|
|
11716
12504
|
static get style() { return pdsPropertyCss; }
|
|
11717
12505
|
static get cmpMeta() { return {
|
|
@@ -11812,11 +12600,11 @@ class PdsRadio {
|
|
|
11812
12600
|
}
|
|
11813
12601
|
render() {
|
|
11814
12602
|
const renderLabelAndMessages = () => [
|
|
11815
|
-
hAsync("label", { htmlFor: this.componentId, key: `${this.componentId}-label` }, hAsync("input", { key: '
|
|
12603
|
+
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)),
|
|
11816
12604
|
this.helperMessage && (hAsync("div", { key: `${this.componentId}-helper`, class: 'pds-radio__message', id: messageId(this.componentId, 'helper') }, this.helperMessage)),
|
|
11817
|
-
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: '
|
|
12605
|
+
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))
|
|
11818
12606
|
];
|
|
11819
|
-
return (hAsync(Host, { key: '
|
|
12607
|
+
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())));
|
|
11820
12608
|
}
|
|
11821
12609
|
get el() { return getElement(this); }
|
|
11822
12610
|
static get style() { return labelCss$3 + pdsRadioCss; }
|
|
@@ -11991,13 +12779,13 @@ class PdsRadioGroup {
|
|
|
11991
12779
|
render() {
|
|
11992
12780
|
const gapValue = this.getGapValue();
|
|
11993
12781
|
const ariaDescribedBy = this.getAriaDescribedBy();
|
|
11994
|
-
return (hAsync(Host, { key: '
|
|
12782
|
+
return (hAsync(Host, { key: '4172c83d182d274660aca1f09cb3cf0a822623bc', class: this.classNames(), id: this._groupId, role: "group", "aria-describedby": ariaDescribedBy, style: {
|
|
11995
12783
|
'--pds-radio-group-gap': gapValue,
|
|
11996
|
-
} }, this.groupLabel && (hAsync("div", { key: '
|
|
12784
|
+
} }, this.groupLabel && (hAsync("div", { key: '9487046d8ce5f89535f220816192f63063eba7da', class: "pds-radio-group__label" }, this.groupLabel)), hAsync("div", { key: '691b01627a001a5be54e41ecfef7d0c182be30fb', class: {
|
|
11997
12785
|
'pds-radio-group__radios': true,
|
|
11998
12786
|
'pds-radio-group__radios--row': this.direction === 'row',
|
|
11999
12787
|
'pds-radio-group__radios--column': this.direction === 'column',
|
|
12000
|
-
} }, hAsync("slot", { key: '
|
|
12788
|
+
} }, 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))));
|
|
12001
12789
|
}
|
|
12002
12790
|
get el() { return getElement(this); }
|
|
12003
12791
|
static get watchers() { return {
|
|
@@ -12087,7 +12875,7 @@ class PdsRow {
|
|
|
12087
12875
|
})), (this.minHeight && {
|
|
12088
12876
|
'min-height': this.minHeight,
|
|
12089
12877
|
}));
|
|
12090
|
-
return hAsync(Host, { key: '
|
|
12878
|
+
return hAsync(Host, { key: '6e6e95f69cf5a84c481399737f9f5c68117aabd9', class: `pds-row ${rowClasses}`, style: rowInlineStyles });
|
|
12091
12879
|
}
|
|
12092
12880
|
static get style() { return pdsRowCss; }
|
|
12093
12881
|
static get cmpMeta() { return {
|
|
@@ -12340,7 +13128,7 @@ class PdsSelect {
|
|
|
12340
13128
|
}
|
|
12341
13129
|
render() {
|
|
12342
13130
|
const hasAction = this.el.querySelector('[slot="action"]') !== null;
|
|
12343
|
-
return (hAsync(Host, { key: '
|
|
13131
|
+
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 }))));
|
|
12344
13132
|
}
|
|
12345
13133
|
static get formAssociated() { return true; }
|
|
12346
13134
|
get el() { return getElement(this); }
|
|
@@ -15084,7 +15872,7 @@ class PdsSortable {
|
|
|
15084
15872
|
Sortable.create(this.el, sortableOptions);
|
|
15085
15873
|
}
|
|
15086
15874
|
render() {
|
|
15087
|
-
return (hAsync(Host, { key: '
|
|
15875
|
+
return (hAsync(Host, { key: 'b01f12d7d2973ce2fa513a468be3634e38241171', class: this.classNames(), id: this.componentId }, hAsync("slot", { key: '7d9dff192e9b6a01e71c41d9250c0245ca548658' })));
|
|
15088
15876
|
}
|
|
15089
15877
|
get el() { return getElement(this); }
|
|
15090
15878
|
static get style() { return pdsSortableCss; }
|
|
@@ -15131,7 +15919,7 @@ class PdsSortableItem {
|
|
|
15131
15919
|
}
|
|
15132
15920
|
}
|
|
15133
15921
|
render() {
|
|
15134
|
-
return (hAsync(Host, { key: '
|
|
15922
|
+
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" })))));
|
|
15135
15923
|
}
|
|
15136
15924
|
get el() { return getElement(this); }
|
|
15137
15925
|
static get style() { return pdsSortableItemCss; }
|
|
@@ -15236,9 +16024,9 @@ class PdsSwitch {
|
|
|
15236
16024
|
this.inheritedAttributes = Object.assign({}, inheritAriaAttributes(this.el));
|
|
15237
16025
|
}
|
|
15238
16026
|
render() {
|
|
15239
|
-
return (hAsync(Host, { key: '
|
|
15240
|
-
hAsync("div", { key: '
|
|
15241
|
-
hAsync("div", { key: '
|
|
16027
|
+
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 &&
|
|
16028
|
+
hAsync("div", { key: 'c8cbe1e266de9a67772d37bf1c25439f36705c2b', class: `pds-switch__message`, id: messageId(this.componentId, 'helper') }, this.helperMessage), this.errorMessage &&
|
|
16029
|
+
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)));
|
|
15242
16030
|
}
|
|
15243
16031
|
static get formAssociated() { return true; }
|
|
15244
16032
|
get el() { return getElement(this); }
|
|
@@ -15268,7 +16056,7 @@ class PdsSwitch {
|
|
|
15268
16056
|
}; }
|
|
15269
16057
|
}
|
|
15270
16058
|
|
|
15271
|
-
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)
|
|
16059
|
+
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)}";
|
|
15272
16060
|
|
|
15273
16061
|
class PdsTab {
|
|
15274
16062
|
constructor(hostRef) {
|
|
@@ -15299,9 +16087,9 @@ class PdsTab {
|
|
|
15299
16087
|
return classes.filter(Boolean).join(' ');
|
|
15300
16088
|
}
|
|
15301
16089
|
render() {
|
|
15302
|
-
const availabilityTabEdgeInlineStart = (hAsync("span", { key: '
|
|
15303
|
-
const availabilityTabEdgeInlineEnd = (hAsync("span", { key: '
|
|
15304
|
-
return (hAsync(Host, { key: '
|
|
16090
|
+
const availabilityTabEdgeInlineStart = (hAsync("span", { key: 'e8e263009d29fea16f1cf51de545f07d3529568d', class: "pds-tab-edge", role: "presentation" }));
|
|
16091
|
+
const availabilityTabEdgeInlineEnd = (hAsync("span", { key: 'f492586e916cddbbdf04c3a2cdb84ad0d669df36', class: "pds-tab-edge pds-tab-edge--end", role: "presentation" }));
|
|
16092
|
+
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' })))));
|
|
15305
16093
|
}
|
|
15306
16094
|
get el() { return getElement(this); }
|
|
15307
16095
|
static get style() { return pdsTabCss; }
|
|
@@ -15589,7 +16377,7 @@ class PdsTableBody {
|
|
|
15589
16377
|
registerInstance(this, hostRef);
|
|
15590
16378
|
}
|
|
15591
16379
|
render() {
|
|
15592
|
-
return (hAsync(Host, { key: '
|
|
16380
|
+
return (hAsync(Host, { key: '1f6ce73abaf0ecb3f592f754bedef557c7ea197d', role: "rowgroup", part: "body" }, hAsync("slot", { key: '4a9758bb6c17de60cb345216d9b3e7c58cd44499' })));
|
|
15593
16381
|
}
|
|
15594
16382
|
static get style() { return pdsTableBodyCss; }
|
|
15595
16383
|
static get cmpMeta() { return {
|
|
@@ -15700,11 +16488,11 @@ class PdsTableCell {
|
|
|
15700
16488
|
return classNames.join(' ');
|
|
15701
16489
|
}
|
|
15702
16490
|
render() {
|
|
15703
|
-
return (hAsync(Host, { key: '
|
|
16491
|
+
return (hAsync(Host, { key: '102c412e68bd877ee88866d2c66838d62cb7cab2', class: this.classNames(), role: "gridcell", part: "cell", style: this.tableRef &&
|
|
15704
16492
|
this.tableRef.fixedColumn &&
|
|
15705
16493
|
this.tableRef.selectable
|
|
15706
16494
|
? { '--fixed-cell-position': '40px' }
|
|
15707
|
-
: {} }, hAsync("slot", { key: '
|
|
16495
|
+
: {} }, hAsync("slot", { key: 'fae2d378d6e1c5c3abb34cb4a75b74930d56965c' })));
|
|
15708
16496
|
}
|
|
15709
16497
|
get hostElement() { return getElement(this); }
|
|
15710
16498
|
static get style() { return pdsTableCellCss; }
|
|
@@ -15776,7 +16564,7 @@ class PdsTableHead {
|
|
|
15776
16564
|
}
|
|
15777
16565
|
}
|
|
15778
16566
|
render() {
|
|
15779
|
-
return (hAsync(Host, { key: '
|
|
16567
|
+
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' })));
|
|
15780
16568
|
}
|
|
15781
16569
|
get hostElement() { return getElement(this); }
|
|
15782
16570
|
static get style() { return pdsTableHeadCss; }
|
|
@@ -15827,6 +16615,11 @@ class PdsTableHeadCell {
|
|
|
15827
16615
|
* @defaultValue false
|
|
15828
16616
|
*/
|
|
15829
16617
|
this.hasHeadBackground = false;
|
|
16618
|
+
/**
|
|
16619
|
+
* Determines if this column is the currently active sorted column.
|
|
16620
|
+
* @defaultValue false
|
|
16621
|
+
*/
|
|
16622
|
+
this.isActive = false;
|
|
15830
16623
|
/**
|
|
15831
16624
|
* Handles scroll events to update fixed column shadow state.
|
|
15832
16625
|
* Updates the tableScrolling state to control CSS classes for fixed column shadows.
|
|
@@ -15845,12 +16638,25 @@ class PdsTableHeadCell {
|
|
|
15845
16638
|
};
|
|
15846
16639
|
this.toggleSort = () => {
|
|
15847
16640
|
if (this.sortable) {
|
|
16641
|
+
// Guard: return early if tableRef is not available
|
|
16642
|
+
if (!this.tableRef) {
|
|
16643
|
+
return;
|
|
16644
|
+
}
|
|
15848
16645
|
const column = this.hostElement.innerText.trim();
|
|
16646
|
+
// Always toggle the direction (preserves original behavior)
|
|
15849
16647
|
this.sortingDirection = this.sortingDirection === 'asc' ? 'desc' : 'asc';
|
|
15850
|
-
|
|
15851
|
-
|
|
16648
|
+
// Reset all OTHER head cells to inactive state (skip the current one)
|
|
16649
|
+
this.tableRef.querySelectorAll('pds-table-head-cell').forEach(async (headCell) => {
|
|
16650
|
+
// Skip clearing the current cell
|
|
16651
|
+
if (headCell !== this.hostElement) {
|
|
16652
|
+
const headCellComponent = headCell;
|
|
16653
|
+
await headCellComponent.clearActiveSort();
|
|
16654
|
+
}
|
|
15852
16655
|
});
|
|
15853
|
-
this
|
|
16656
|
+
// Mark this column as active
|
|
16657
|
+
this.isActive = true;
|
|
16658
|
+
this.hostElement.classList.add('is-active');
|
|
16659
|
+
// Emit the sort event with the current direction
|
|
15854
16660
|
this.pdsTableSort.emit({ column, direction: this.sortingDirection });
|
|
15855
16661
|
}
|
|
15856
16662
|
};
|
|
@@ -15864,8 +16670,17 @@ class PdsTableHeadCell {
|
|
|
15864
16670
|
if (!this.sortable)
|
|
15865
16671
|
return;
|
|
15866
16672
|
this.sortingDirection = direction;
|
|
16673
|
+
this.isActive = true;
|
|
15867
16674
|
this.hostElement.classList.add('is-active');
|
|
15868
16675
|
}
|
|
16676
|
+
/**
|
|
16677
|
+
* Clears the active sort state from this column.
|
|
16678
|
+
* Used internally when another column becomes active.
|
|
16679
|
+
*/
|
|
16680
|
+
async clearActiveSort() {
|
|
16681
|
+
this.isActive = false;
|
|
16682
|
+
this.hostElement.classList.remove('is-active');
|
|
16683
|
+
}
|
|
15869
16684
|
componentWillLoad() {
|
|
15870
16685
|
// Set initial references and state before first render
|
|
15871
16686
|
this.tableRef = this.hostElement.closest('pds-table');
|
|
@@ -15970,11 +16785,11 @@ class PdsTableHeadCell {
|
|
|
15970
16785
|
return classNames.join(' ');
|
|
15971
16786
|
}
|
|
15972
16787
|
render() {
|
|
15973
|
-
return (hAsync(Host, { key: '
|
|
16788
|
+
return (hAsync(Host, { key: '7e85fb5e6b5fc1022034db9e4c94ca13dfc56257', class: this.classNames(), role: "columnheader", onClick: this.toggleSort, part: "head-cell", style: this.tableRef &&
|
|
15974
16789
|
this.tableRef.fixedColumn &&
|
|
15975
16790
|
this.tableRef.selectable
|
|
15976
16791
|
? { '--fixed-cell-position': '40px' }
|
|
15977
|
-
: {} }, hAsync("slot", { key: '
|
|
16792
|
+
: {} }, hAsync("slot", { key: '97d2b9621f7d61ad42719a4cc9f640a1210d78dc' }), this.sortable && this.isActive && (hAsync("pds-icon", { key: 'd80efe9b417ae34bf50f65b0e9cb15bcc9aabd40', icon: this.sortingDirection === 'asc' ? upSmall : downSmall, part: "sort-icon" }))));
|
|
15978
16793
|
}
|
|
15979
16794
|
get hostElement() { return getElement(this); }
|
|
15980
16795
|
static get style() { return pdsTableHeadCellCss; }
|
|
@@ -15989,7 +16804,9 @@ class PdsTableHeadCell {
|
|
|
15989
16804
|
"isSelected": [32],
|
|
15990
16805
|
"hasHeadBorder": [32],
|
|
15991
16806
|
"hasHeadBackground": [32],
|
|
15992
|
-
"
|
|
16807
|
+
"isActive": [32],
|
|
16808
|
+
"setActiveSort": [64],
|
|
16809
|
+
"clearActiveSort": [64]
|
|
15993
16810
|
},
|
|
15994
16811
|
"$listeners$": undefined,
|
|
15995
16812
|
"$lazyBundleId$": "-",
|
|
@@ -16138,7 +16955,7 @@ class PdsTableRow {
|
|
|
16138
16955
|
}
|
|
16139
16956
|
}
|
|
16140
16957
|
render() {
|
|
16141
|
-
return (hAsync(Host, { key: '
|
|
16958
|
+
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' })));
|
|
16142
16959
|
}
|
|
16143
16960
|
get hostElement() { return getElement(this); }
|
|
16144
16961
|
static get style() { return pdsTableRowCss; }
|
|
@@ -16169,7 +16986,7 @@ class PdsTabpanel {
|
|
|
16169
16986
|
this.selected = false; // eslint-disable-line @stencil-community/strict-mutable
|
|
16170
16987
|
}
|
|
16171
16988
|
render() {
|
|
16172
|
-
return (hAsync(Host, { key: '
|
|
16989
|
+
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' }))));
|
|
16173
16990
|
}
|
|
16174
16991
|
get el() { return getElement(this); }
|
|
16175
16992
|
static get style() { return pdsTabpanelCss; }
|
|
@@ -16281,7 +17098,7 @@ class PdsTabs {
|
|
|
16281
17098
|
this.passPropsToChildren();
|
|
16282
17099
|
}
|
|
16283
17100
|
render() {
|
|
16284
|
-
return (hAsync(Host, { key: '
|
|
17101
|
+
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" })));
|
|
16285
17102
|
}
|
|
16286
17103
|
get el() { return getElement(this); }
|
|
16287
17104
|
static get style() { return pdsTabsCss; }
|
|
@@ -16324,7 +17141,7 @@ class PdsText {
|
|
|
16324
17141
|
${this.weight !== undefined && this.weight.trim() !== '' ? `pds-text--weight-${this.weight}` : ''}
|
|
16325
17142
|
${this.decoration !== undefined && this.decoration.trim() !== '' ? `pds-text--decoration-${this.decoration}` : ''}
|
|
16326
17143
|
`;
|
|
16327
|
-
return (hAsync(Tag, { key: '
|
|
17144
|
+
return (hAsync(Tag, { key: '5f7d43603c8d412a375d2e49818b363b5e9a142b', style: this.color && setColor(this.color), class: typeClasses, part: "content" }, hAsync("slot", { key: '702d5065297e0405295aa941cd39dba38787519e' })));
|
|
16328
17145
|
}
|
|
16329
17146
|
get el() { return getElement(this); }
|
|
16330
17147
|
static get style() { return pdsTextCss; }
|
|
@@ -16649,10 +17466,10 @@ class PdsTextarea {
|
|
|
16649
17466
|
}
|
|
16650
17467
|
render() {
|
|
16651
17468
|
const value = this.getValue();
|
|
16652
|
-
return (hAsync(Host, { key: '
|
|
16653
|
-
hAsync("div", { key: '
|
|
16654
|
-
hAsync("p", { key: '
|
|
16655
|
-
hAsync("p", { key: '
|
|
17469
|
+
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 &&
|
|
17470
|
+
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 &&
|
|
17471
|
+
hAsync("p", { key: '5c53c22d2682d1960b31b2bc40ad6a83d445dda2', class: "pds-textarea__helper-message", id: messageId(this.componentId, 'helper') }, this.helperMessage), this.invalid &&
|
|
17472
|
+
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))));
|
|
16656
17473
|
}
|
|
16657
17474
|
static get formAssociated() { return true; }
|
|
16658
17475
|
get el() { return getElement(this); }
|
|
@@ -16775,13 +17592,13 @@ class PdsToast {
|
|
|
16775
17592
|
return this.icon && hAsync("pds-icon", { name: this.icon, class: "pds-toast__icon" });
|
|
16776
17593
|
}
|
|
16777
17594
|
render() {
|
|
16778
|
-
return (hAsync(Host, { key: '
|
|
17595
|
+
return (hAsync(Host, { key: 'bcc7fe0ad3b7823a940249fccfce30edfc1e808d', hidden: !this.isVisible }, hAsync("div", { key: '5265cbbdf05278cbd565e34f63b6c9566ec14290', class: {
|
|
16779
17596
|
'pds-toast': true,
|
|
16780
17597
|
[`pds-toast--${this.type}`]: this.type !== 'default',
|
|
16781
17598
|
'pds-toast--animating-out': this.isAnimatingOut
|
|
16782
|
-
}, role: "alert", "aria-live": "polite" }, this.renderIcon(), hAsync("span", { key: '
|
|
17599
|
+
}, 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: () => {
|
|
16783
17600
|
this.dismiss();
|
|
16784
|
-
}, "aria-label": "Dismiss message" }, hAsync("pds-icon", { key: '
|
|
17601
|
+
}, "aria-label": "Dismiss message" }, hAsync("pds-icon", { key: '359c0c05ddd6db8e7711fc0212bf80569106ecf4', name: "remove" }))))));
|
|
16785
17602
|
}
|
|
16786
17603
|
static get watchers() { return {
|
|
16787
17604
|
"duration": ["handleDurationChange"]
|
|
@@ -17121,9 +17938,9 @@ class PdsTooltip {
|
|
|
17121
17938
|
}
|
|
17122
17939
|
render() {
|
|
17123
17940
|
const hostId = this.componentId || undefined;
|
|
17124
|
-
return (hAsync(Host, { key: '
|
|
17941
|
+
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,
|
|
17125
17942
|
/* focusin/out bubble; ensure keyboard users see tooltips */
|
|
17126
|
-
onFocusin: this.handleShow, onFocusout: this.handleHide, ref: el => this.triggerEl = el }, hAsync("slot", { key: '
|
|
17943
|
+
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" }))));
|
|
17127
17944
|
}
|
|
17128
17945
|
get el() { return getElement(this); }
|
|
17129
17946
|
static get watchers() { return {
|
|
@@ -17178,6 +17995,7 @@ registerComponents([
|
|
|
17178
17995
|
PdsModalContent,
|
|
17179
17996
|
PdsModalFooter,
|
|
17180
17997
|
PdsModalHeader,
|
|
17998
|
+
PdsMultiselect,
|
|
17181
17999
|
PdsPopover,
|
|
17182
18000
|
PdsProgress,
|
|
17183
18001
|
PdsProperty,
|