@pine-ds/core 3.14.0 → 3.14.2-dev.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/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-checkbox2.js +5 -4
- package/components/pds-checkbox2.js.map +1 -1
- package/components/pds-combobox.js +69 -29
- 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-input.js +3 -3
- package/components/pds-input.js.map +1 -1
- package/components/pds-loader2.js +2 -2
- package/components/pds-loader2.js.map +1 -1
- package/components/pds-multiselect.d.ts +11 -0
- package/components/pds-multiselect.js +667 -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 +3 -3
- package/components/pds-select.js.map +1 -1
- package/components/pds-sortable-item.js +1 -1
- package/components/pds-sortable.js +1 -1
- package/components/pds-switch.js +5 -4
- package/components/pds-switch.js.map +1 -1
- package/components/pds-tab.js +4 -4
- package/components/pds-tab.js.map +1 -1
- package/components/pds-table-body.js +1 -1
- package/components/pds-table-cell2.js +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 +6 -6
- package/components/pds-textarea.js.map +1 -1
- 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 +6 -5
- package/dist/cjs/pds-checkbox.entry.cjs.js.map +1 -1
- package/dist/cjs/pds-chip.cjs.entry.js +1 -1
- package/dist/cjs/pds-combobox.cjs.entry.js +70 -30
- 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 +4 -4
- package/dist/cjs/pds-input.entry.cjs.js.map +1 -1
- package/dist/cjs/pds-link.cjs.entry.js +1 -1
- package/dist/cjs/pds-loader.cjs.entry.js +2 -2
- package/dist/cjs/pds-loader.entry.cjs.js.map +1 -1
- package/dist/cjs/pds-multiselect.cjs.entry.js +593 -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 +4 -4
- package/dist/cjs/pds-select.entry.cjs.js.map +1 -1
- 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 +6 -5
- package/dist/cjs/pds-switch.entry.cjs.js.map +1 -1
- 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 +7 -7
- package/dist/cjs/pds-textarea.entry.cjs.js.map +1 -1
- 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-checkbox/pds-checkbox.js +5 -4
- package/dist/collection/components/pds-checkbox/pds-checkbox.js.map +1 -1
- package/dist/collection/components/pds-combobox/pds-combobox.js +4 -4
- package/dist/collection/components/pds-combobox/pds-combobox.js.map +1 -1
- 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-input/pds-input.js +3 -3
- package/dist/collection/components/pds-input/pds-input.js.map +1 -1
- package/dist/collection/components/pds-loader/pds-loader.js +2 -2
- package/dist/collection/components/pds-loader/pds-loader.js.map +1 -1
- 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 +1153 -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 +3 -3
- package/dist/collection/components/pds-select/pds-select.js.map +1 -1
- package/dist/collection/components/pds-sortable/pds-sortable-item/pds-sortable-item.js +1 -1
- package/dist/collection/components/pds-sortable/pds-sortable.js +1 -1
- package/dist/collection/components/pds-switch/pds-switch.js +5 -4
- package/dist/collection/components/pds-switch/pds-switch.js.map +1 -1
- package/dist/collection/components/pds-table/pds-table-body/pds-table-body.js +1 -1
- package/dist/collection/components/pds-table/pds-table-cell/pds-table-cell.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 +6 -6
- package/dist/collection/components/pds-textarea/pds-textarea.js.map +1 -1
- package/dist/collection/components/pds-toast/pds-toast.js +3 -3
- package/dist/collection/components/pds-tooltip/pds-tooltip.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 +6 -5
- package/dist/esm/pds-checkbox.entry.js.map +1 -1
- package/dist/esm/pds-chip.entry.js +1 -1
- package/dist/esm/pds-combobox.entry.js +70 -30
- 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 +4 -4
- package/dist/esm/pds-input.entry.js.map +1 -1
- package/dist/esm/pds-link.entry.js +1 -1
- package/dist/esm/pds-loader.entry.js +2 -2
- package/dist/esm/pds-loader.entry.js.map +1 -1
- package/dist/esm/pds-multiselect.entry.js +591 -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 +4 -4
- package/dist/esm/pds-select.entry.js.map +1 -1
- 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 +6 -5
- package/dist/esm/pds-switch.entry.js.map +1 -1
- 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 +7 -7
- package/dist/esm/pds-textarea.entry.js.map +1 -1
- 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-checkbox.entry.js.map +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-input.entry.js.map +1 -1
- package/dist/esm-es5/pds-link.entry.js +1 -1
- package/dist/esm-es5/pds-loader.entry.js +1 -1
- package/dist/esm-es5/pds-loader.entry.js.map +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-select.entry.js.map +1 -1
- package/dist/esm-es5/pds-sortable-item.entry.js +1 -1
- package/dist/esm-es5/pds-sortable.entry.js +1 -1
- package/dist/esm-es5/pds-switch.entry.js +1 -1
- package/dist/esm-es5/pds-switch.entry.js.map +1 -1
- package/dist/esm-es5/pds-tab.entry.js +1 -1
- package/dist/esm-es5/pds-tab.entry.js.map +1 -1
- package/dist/esm-es5/pds-table-body.entry.js +1 -1
- package/dist/esm-es5/pds-table-cell.entry.js +1 -1
- package/dist/esm-es5/pds-table-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-textarea.entry.js.map +1 -1
- package/dist/esm-es5/pds-toast.entry.js +1 -1
- package/dist/esm-es5/pds-tooltip.entry.js +1 -1
- package/dist/esm-es5/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-098cbcd7.system.entry.js → p-205ec2ac.system.entry.js} +2 -2
- package/dist/pine-core/{p-098cbcd7.system.entry.js.map → p-205ec2ac.system.entry.js.map} +1 -1
- package/dist/pine-core/{p-a847fad3.entry.js → p-2537aacb.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-4d25449c.entry.js → p-3440138d.entry.js} +2 -2
- package/dist/pine-core/{p-4d25449c.entry.js.map → p-3440138d.entry.js.map} +1 -1
- package/dist/pine-core/p-3c04c17e.system.entry.js +2 -0
- package/dist/pine-core/p-3c04c17e.system.entry.js.map +1 -0
- 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-5L_gsODn.system.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-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-622f1342.system.entry.js +4 -0
- package/dist/pine-core/p-622f1342.system.entry.js.map +1 -0
- package/dist/pine-core/p-63269b89.entry.js +2 -0
- package/dist/pine-core/{p-ff182316.system.entry.js → p-6d2da3ca.system.entry.js} +2 -2
- package/dist/pine-core/{p-ff182316.system.entry.js.map → p-6d2da3ca.system.entry.js.map} +1 -1
- 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-e3d76aa3.system.entry.js → p-7dd74fe2.system.entry.js} +2 -2
- package/dist/pine-core/p-7dd74fe2.system.entry.js.map +1 -0
- package/dist/pine-core/p-811e510d.system.entry.js +2 -0
- package/dist/pine-core/p-811e510d.system.entry.js.map +1 -0
- 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-711989de.entry.js → p-8c0fc8ff.entry.js} +2 -2
- package/dist/pine-core/p-8c0fc8ff.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-dad604e4.system.entry.js → p-9e7cd072.system.entry.js} +2 -2
- package/dist/pine-core/p-9e7cd072.system.entry.js.map +1 -0
- 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-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-B0Y1Zs9b.system.js.map → p-Bn36FPag.system.js.map} +1 -1
- package/dist/pine-core/{p-DpeOrUYB.system.js.map → p-CG5jdxoZ.system.js.map} +1 -1
- package/dist/pine-core/{p-PMNjgK0C.system.js.map → p-CP2nsJcg.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-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-CXGuX44q.system.js.map → p-Cn_QqTXg.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-DbNPEZgc.system.js.map +1 -0
- package/dist/pine-core/p-DieNsvcz.system.js.map +1 -0
- 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-DC2NZwtk.system.js.map → p-LM0mZTib.system.js.map} +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-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-aPfTGFhq.system.js.map +1 -0
- package/dist/pine-core/{p-646ac76d.entry.js → p-ab3b6e0c.entry.js} +2 -2
- package/dist/pine-core/p-ab3b6e0c.entry.js.map +1 -0
- 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-ac56273a.system.entry.js} +2 -2
- package/dist/pine-core/{p-fe28b975.system.entry.js.map → p-ac56273a.system.entry.js.map} +1 -1
- package/dist/pine-core/p-b41465b8.entry.js +3 -0
- package/dist/pine-core/p-b41465b8.entry.js.map +1 -0
- package/dist/pine-core/{p-b02936d2.entry.js → p-ba623ced.entry.js} +2 -2
- package/dist/pine-core/p-ba623ced.entry.js.map +1 -0
- 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-bff9fb8e.entry.js +2 -0
- package/dist/pine-core/p-bff9fb8e.entry.js.map +1 -0
- 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-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-e011d7e5.entry.js → p-d9693048.entry.js} +2 -2
- package/dist/pine-core/{p-e011d7e5.entry.js.map → p-d9693048.entry.js.map} +1 -1
- package/dist/pine-core/{p-04294b28.system.entry.js → p-daa36570.system.entry.js} +2 -2
- 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-95f2782c.entry.js → p-f47d6724.entry.js} +2 -2
- package/dist/pine-core/p-f47d6724.entry.js.map +1 -0
- 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-ztsUkqit.system.js.map +1 -0
- package/dist/pine-core/pds-checkbox.entry.esm.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-input.entry.esm.js.map +1 -1
- package/dist/pine-core/pds-loader.entry.esm.js.map +1 -1
- package/dist/pine-core/pds-multiselect.entry.esm.js.map +1 -0
- package/dist/pine-core/pds-select.entry.esm.js.map +1 -1
- package/dist/pine-core/pds-switch.entry.esm.js.map +1 -1
- package/dist/pine-core/pds-tab.entry.esm.js.map +1 -1
- package/dist/pine-core/pds-table-head-cell.entry.esm.js.map +1 -1
- package/dist/pine-core/pds-textarea.entry.esm.js.map +1 -1
- package/dist/pine-core/pine-core.esm.js +1 -1
- package/dist/types/components/pds-loader/pds-loader.d.ts +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 +939 -118
- package/hydrate/index.mjs +939 -118
- 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-646ac76d.entry.js.map +0 -1
- package/dist/pine-core/p-6bc7d67f.system.entry.js +0 -2
- package/dist/pine-core/p-711989de.entry.js.map +0 -1
- package/dist/pine-core/p-8323fe69.system.entry.js +0 -2
- package/dist/pine-core/p-8323fe69.system.entry.js.map +0 -1
- package/dist/pine-core/p-95f2782c.entry.js.map +0 -1
- 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-DSwKfctG.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-XCTiWii8.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-b02936d2.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-dad604e4.system.entry.js.map +0 -1
- package/dist/pine-core/p-dcc6ad67.system.entry.js +0 -2
- package/dist/pine-core/p-e3d76aa3.system.entry.js.map +0 -1
- 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-zgS7Vsk7.system.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-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-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-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-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-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-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-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/hydrate/index.mjs
CHANGED
|
@@ -3519,7 +3519,7 @@ class MockPdsModal {
|
|
|
3519
3519
|
}; }
|
|
3520
3520
|
}
|
|
3521
3521
|
|
|
3522
|
-
/* pds-icons v9.
|
|
3522
|
+
/* pds-icons v9.13.0, ES Modules */
|
|
3523
3523
|
|
|
3524
3524
|
const addCircle = "data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' class='pdsicon'><path fill-rule='evenodd' d='M12 3a9 9 0 1 0 0 18 9 9 0 0 0 0-18M1 12C1 5.925 5.925 1 12 1s11 4.925 11 11-4.925 11-11 11S1 18.075 1 12m11-5a1 1 0 0 1 1 1v3h3a1 1 0 1 1 0 2h-3v3a1 1 0 1 1-2 0v-3H8a1 1 0 1 1 0-2h3V8a1 1 0 0 1 1-1'/></svg>";
|
|
3525
3525
|
const caretDown = "data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' class='pdsicon'><path fill-rule='evenodd' d='M5.293 8.293a1 1 0 0 1 1.414 0L12 13.586l5.293-5.293a1 1 0 1 1 1.414 1.414l-6 6a1 1 0 0 1-1.414 0l-6-6a1 1 0 0 1 0-1.414'/></svg>";
|
|
@@ -4516,7 +4516,8 @@ class PdsCheckbox {
|
|
|
4516
4516
|
return classNames.join(' ');
|
|
4517
4517
|
}
|
|
4518
4518
|
connectedCallback() {
|
|
4519
|
-
|
|
4519
|
+
// Initialize ElementInternals for form association (only once per element instance)
|
|
4520
|
+
if (this.el.attachInternals && !this.internals) {
|
|
4520
4521
|
this.internals = this.el.attachInternals();
|
|
4521
4522
|
}
|
|
4522
4523
|
// Expose type property on the element instance to match native form element behavior
|
|
@@ -4557,9 +4558,9 @@ class PdsCheckbox {
|
|
|
4557
4558
|
this.inheritedAttributes = Object.assign({}, inheritAriaAttributes(this.el));
|
|
4558
4559
|
}
|
|
4559
4560
|
render() {
|
|
4560
|
-
return (hAsync(Host, { key: '
|
|
4561
|
-
hAsync("div", { key: '
|
|
4562
|
-
hAsync("div", { key: '
|
|
4561
|
+
return (hAsync(Host, { key: '89542cef41ee75d43ed9595fa4c034d11015c2b2', class: this.classNames() }, hAsync("label", { key: 'c42bc84be20638bc54b39e19740831fd384dd51d', htmlFor: this.componentId }, hAsync("input", Object.assign({ key: 'f99059d69fec916a33deb4e4e2449cf62029e4ca', type: "checkbox", "aria-describedby": assignDescription(this.componentId, this.invalid, this.errorMessage || this.helperMessage), "aria-invalid": this.invalid ? "true" : undefined, id: this.componentId, indeterminate: this.indeterminate, name: this.name, value: this.value, checked: this.checked, required: this.required, disabled: this.disabled, onChange: this.handleCheckboxChange, onInput: this.handleInput }, this.inheritedAttributes)), hAsync("span", { key: '5482e147bbfb151b4984ee6fa52781d0533bea8c', class: this.hideLabel ? 'visually-hidden' : '' }, this.label)), this.helperMessage &&
|
|
4562
|
+
hAsync("div", { key: '30792c96b68346304a4ba10d050904f74f5811ca', class: 'pds-checkbox__message', id: messageId(this.componentId, 'helper') }, this.helperMessage), this.errorMessage &&
|
|
4563
|
+
hAsync("div", { key: 'd3ee96dc4d6a7dc8f0ce7453850f3211b10b6b9f', class: `pds-checkbox__message pds-checkbox__message--error`, id: messageId(this.componentId, 'error'), "aria-live": "assertive" }, hAsync("pds-icon", { key: '0c4255a58ca7873bc23228e6097adc150006caa9', icon: danger, size: "small" }), this.errorMessage)));
|
|
4563
4564
|
}
|
|
4564
4565
|
static get formAssociated() { return true; }
|
|
4565
4566
|
get el() { return getElement(this); }
|
|
@@ -4719,8 +4720,9 @@ function getOppositeAxis(axis) {
|
|
|
4719
4720
|
function getAxisLength(axis) {
|
|
4720
4721
|
return axis === 'y' ? 'height' : 'width';
|
|
4721
4722
|
}
|
|
4723
|
+
const yAxisSides = /*#__PURE__*/new Set(['top', 'bottom']);
|
|
4722
4724
|
function getSideAxis(placement) {
|
|
4723
|
-
return
|
|
4725
|
+
return yAxisSides.has(getSide(placement)) ? 'y' : 'x';
|
|
4724
4726
|
}
|
|
4725
4727
|
function getAlignmentAxis(placement) {
|
|
4726
4728
|
return getOppositeAxis(getSideAxis(placement));
|
|
@@ -4745,19 +4747,19 @@ function getExpandedPlacements(placement) {
|
|
|
4745
4747
|
function getOppositeAlignmentPlacement(placement) {
|
|
4746
4748
|
return placement.replace(/start|end/g, alignment => oppositeAlignmentMap[alignment]);
|
|
4747
4749
|
}
|
|
4750
|
+
const lrPlacement = ['left', 'right'];
|
|
4751
|
+
const rlPlacement = ['right', 'left'];
|
|
4752
|
+
const tbPlacement = ['top', 'bottom'];
|
|
4753
|
+
const btPlacement = ['bottom', 'top'];
|
|
4748
4754
|
function getSideList(side, isStart, rtl) {
|
|
4749
|
-
const lr = ['left', 'right'];
|
|
4750
|
-
const rl = ['right', 'left'];
|
|
4751
|
-
const tb = ['top', 'bottom'];
|
|
4752
|
-
const bt = ['bottom', 'top'];
|
|
4753
4755
|
switch (side) {
|
|
4754
4756
|
case 'top':
|
|
4755
4757
|
case 'bottom':
|
|
4756
|
-
if (rtl) return isStart ?
|
|
4757
|
-
return isStart ?
|
|
4758
|
+
if (rtl) return isStart ? rlPlacement : lrPlacement;
|
|
4759
|
+
return isStart ? lrPlacement : rlPlacement;
|
|
4758
4760
|
case 'left':
|
|
4759
4761
|
case 'right':
|
|
4760
|
-
return isStart ?
|
|
4762
|
+
return isStart ? tbPlacement : btPlacement;
|
|
4761
4763
|
default:
|
|
4762
4764
|
return [];
|
|
4763
4765
|
}
|
|
@@ -5095,10 +5097,11 @@ const flip$1 = function (options) {
|
|
|
5095
5097
|
const nextIndex = (((_middlewareData$flip2 = middlewareData.flip) == null ? void 0 : _middlewareData$flip2.index) || 0) + 1;
|
|
5096
5098
|
const nextPlacement = placements[nextIndex];
|
|
5097
5099
|
if (nextPlacement) {
|
|
5098
|
-
var _overflowsData$;
|
|
5099
5100
|
const ignoreCrossAxisOverflow = checkCrossAxis === 'alignment' ? initialSideAxis !== getSideAxis(nextPlacement) : false;
|
|
5100
|
-
|
|
5101
|
-
if
|
|
5101
|
+
if (!ignoreCrossAxisOverflow ||
|
|
5102
|
+
// We leave the current main axis only if every placement on that axis
|
|
5103
|
+
// overflows the main axis.
|
|
5104
|
+
overflowsData.every(d => getSideAxis(d.placement) === initialSideAxis ? d.overflows[0] > 0 : true)) {
|
|
5102
5105
|
// Try next placement and re-run the lifecycle.
|
|
5103
5106
|
return {
|
|
5104
5107
|
data: {
|
|
@@ -5155,6 +5158,8 @@ const flip$1 = function (options) {
|
|
|
5155
5158
|
};
|
|
5156
5159
|
};
|
|
5157
5160
|
|
|
5161
|
+
const originSides = /*#__PURE__*/new Set(['left', 'top']);
|
|
5162
|
+
|
|
5158
5163
|
// For type backwards-compatibility, the `OffsetOptions` type was also
|
|
5159
5164
|
// Derivable.
|
|
5160
5165
|
|
|
@@ -5168,7 +5173,7 @@ async function convertValueToCoords(state, options) {
|
|
|
5168
5173
|
const side = getSide(placement);
|
|
5169
5174
|
const alignment = getAlignment(placement);
|
|
5170
5175
|
const isVertical = getSideAxis(placement) === 'y';
|
|
5171
|
-
const mainAxisMulti =
|
|
5176
|
+
const mainAxisMulti = originSides.has(side) ? -1 : 1;
|
|
5172
5177
|
const crossAxisMulti = rtl && isVertical ? -1 : 1;
|
|
5173
5178
|
const rawValue = evaluate(options, state);
|
|
5174
5179
|
|
|
@@ -5317,6 +5322,90 @@ const shift$1 = function (options) {
|
|
|
5317
5322
|
};
|
|
5318
5323
|
};
|
|
5319
5324
|
|
|
5325
|
+
/**
|
|
5326
|
+
* Provides data that allows you to change the size of the floating element —
|
|
5327
|
+
* for instance, prevent it from overflowing the clipping boundary or match the
|
|
5328
|
+
* width of the reference element.
|
|
5329
|
+
* @see https://floating-ui.com/docs/size
|
|
5330
|
+
*/
|
|
5331
|
+
const size$1 = function (options) {
|
|
5332
|
+
if (options === void 0) {
|
|
5333
|
+
options = {};
|
|
5334
|
+
}
|
|
5335
|
+
return {
|
|
5336
|
+
name: 'size',
|
|
5337
|
+
options,
|
|
5338
|
+
async fn(state) {
|
|
5339
|
+
var _state$middlewareData, _state$middlewareData2;
|
|
5340
|
+
const {
|
|
5341
|
+
placement,
|
|
5342
|
+
rects,
|
|
5343
|
+
platform,
|
|
5344
|
+
elements
|
|
5345
|
+
} = state;
|
|
5346
|
+
const {
|
|
5347
|
+
apply = () => {},
|
|
5348
|
+
...detectOverflowOptions
|
|
5349
|
+
} = evaluate(options, state);
|
|
5350
|
+
const overflow = await detectOverflow(state, detectOverflowOptions);
|
|
5351
|
+
const side = getSide(placement);
|
|
5352
|
+
const alignment = getAlignment(placement);
|
|
5353
|
+
const isYAxis = getSideAxis(placement) === 'y';
|
|
5354
|
+
const {
|
|
5355
|
+
width,
|
|
5356
|
+
height
|
|
5357
|
+
} = rects.floating;
|
|
5358
|
+
let heightSide;
|
|
5359
|
+
let widthSide;
|
|
5360
|
+
if (side === 'top' || side === 'bottom') {
|
|
5361
|
+
heightSide = side;
|
|
5362
|
+
widthSide = alignment === ((await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating))) ? 'start' : 'end') ? 'left' : 'right';
|
|
5363
|
+
} else {
|
|
5364
|
+
widthSide = side;
|
|
5365
|
+
heightSide = alignment === 'end' ? 'top' : 'bottom';
|
|
5366
|
+
}
|
|
5367
|
+
const maximumClippingHeight = height - overflow.top - overflow.bottom;
|
|
5368
|
+
const maximumClippingWidth = width - overflow.left - overflow.right;
|
|
5369
|
+
const overflowAvailableHeight = min(height - overflow[heightSide], maximumClippingHeight);
|
|
5370
|
+
const overflowAvailableWidth = min(width - overflow[widthSide], maximumClippingWidth);
|
|
5371
|
+
const noShift = !state.middlewareData.shift;
|
|
5372
|
+
let availableHeight = overflowAvailableHeight;
|
|
5373
|
+
let availableWidth = overflowAvailableWidth;
|
|
5374
|
+
if ((_state$middlewareData = state.middlewareData.shift) != null && _state$middlewareData.enabled.x) {
|
|
5375
|
+
availableWidth = maximumClippingWidth;
|
|
5376
|
+
}
|
|
5377
|
+
if ((_state$middlewareData2 = state.middlewareData.shift) != null && _state$middlewareData2.enabled.y) {
|
|
5378
|
+
availableHeight = maximumClippingHeight;
|
|
5379
|
+
}
|
|
5380
|
+
if (noShift && !alignment) {
|
|
5381
|
+
const xMin = max(overflow.left, 0);
|
|
5382
|
+
const xMax = max(overflow.right, 0);
|
|
5383
|
+
const yMin = max(overflow.top, 0);
|
|
5384
|
+
const yMax = max(overflow.bottom, 0);
|
|
5385
|
+
if (isYAxis) {
|
|
5386
|
+
availableWidth = width - 2 * (xMin !== 0 || xMax !== 0 ? xMin + xMax : max(overflow.left, overflow.right));
|
|
5387
|
+
} else {
|
|
5388
|
+
availableHeight = height - 2 * (yMin !== 0 || yMax !== 0 ? yMin + yMax : max(overflow.top, overflow.bottom));
|
|
5389
|
+
}
|
|
5390
|
+
}
|
|
5391
|
+
await apply({
|
|
5392
|
+
...state,
|
|
5393
|
+
availableWidth,
|
|
5394
|
+
availableHeight
|
|
5395
|
+
});
|
|
5396
|
+
const nextDimensions = await platform.getDimensions(elements.floating);
|
|
5397
|
+
if (width !== nextDimensions.width || height !== nextDimensions.height) {
|
|
5398
|
+
return {
|
|
5399
|
+
reset: {
|
|
5400
|
+
rects: true
|
|
5401
|
+
}
|
|
5402
|
+
};
|
|
5403
|
+
}
|
|
5404
|
+
return {};
|
|
5405
|
+
}
|
|
5406
|
+
};
|
|
5407
|
+
};
|
|
5408
|
+
|
|
5320
5409
|
function hasWindow() {
|
|
5321
5410
|
return typeof window !== 'undefined';
|
|
5322
5411
|
}
|
|
@@ -5361,6 +5450,7 @@ function isShadowRoot(value) {
|
|
|
5361
5450
|
}
|
|
5362
5451
|
return value instanceof ShadowRoot || value instanceof getWindow(value).ShadowRoot;
|
|
5363
5452
|
}
|
|
5453
|
+
const invalidOverflowDisplayValues = /*#__PURE__*/new Set(['inline', 'contents']);
|
|
5364
5454
|
function isOverflowElement(element) {
|
|
5365
5455
|
const {
|
|
5366
5456
|
overflow,
|
|
@@ -5368,27 +5458,32 @@ function isOverflowElement(element) {
|
|
|
5368
5458
|
overflowY,
|
|
5369
5459
|
display
|
|
5370
5460
|
} = getComputedStyle$1(element);
|
|
5371
|
-
return /auto|scroll|overlay|hidden|clip/.test(overflow + overflowY + overflowX) && !
|
|
5461
|
+
return /auto|scroll|overlay|hidden|clip/.test(overflow + overflowY + overflowX) && !invalidOverflowDisplayValues.has(display);
|
|
5372
5462
|
}
|
|
5463
|
+
const tableElements = /*#__PURE__*/new Set(['table', 'td', 'th']);
|
|
5373
5464
|
function isTableElement(element) {
|
|
5374
|
-
return
|
|
5465
|
+
return tableElements.has(getNodeName(element));
|
|
5375
5466
|
}
|
|
5467
|
+
const topLayerSelectors = [':popover-open', ':modal'];
|
|
5376
5468
|
function isTopLayer(element) {
|
|
5377
|
-
return
|
|
5469
|
+
return topLayerSelectors.some(selector => {
|
|
5378
5470
|
try {
|
|
5379
5471
|
return element.matches(selector);
|
|
5380
|
-
} catch (
|
|
5472
|
+
} catch (_e) {
|
|
5381
5473
|
return false;
|
|
5382
5474
|
}
|
|
5383
5475
|
});
|
|
5384
5476
|
}
|
|
5477
|
+
const transformProperties = ['transform', 'translate', 'scale', 'rotate', 'perspective'];
|
|
5478
|
+
const willChangeValues = ['transform', 'translate', 'scale', 'rotate', 'perspective', 'filter'];
|
|
5479
|
+
const containValues = ['paint', 'layout', 'strict', 'content'];
|
|
5385
5480
|
function isContainingBlock(elementOrCss) {
|
|
5386
5481
|
const webkit = isWebKit();
|
|
5387
5482
|
const css = isElement(elementOrCss) ? getComputedStyle$1(elementOrCss) : elementOrCss;
|
|
5388
5483
|
|
|
5389
5484
|
// https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block
|
|
5390
5485
|
// https://drafts.csswg.org/css-transforms-2/#individual-transforms
|
|
5391
|
-
return
|
|
5486
|
+
return transformProperties.some(value => css[value] ? css[value] !== 'none' : false) || (css.containerType ? css.containerType !== 'normal' : false) || !webkit && (css.backdropFilter ? css.backdropFilter !== 'none' : false) || !webkit && (css.filter ? css.filter !== 'none' : false) || willChangeValues.some(value => (css.willChange || '').includes(value)) || containValues.some(value => (css.contain || '').includes(value));
|
|
5392
5487
|
}
|
|
5393
5488
|
function getContainingBlock(element) {
|
|
5394
5489
|
let currentNode = getParentNode(element);
|
|
@@ -5406,8 +5501,9 @@ function isWebKit() {
|
|
|
5406
5501
|
if (typeof CSS === 'undefined' || !CSS.supports) return false;
|
|
5407
5502
|
return CSS.supports('-webkit-backdrop-filter', 'none');
|
|
5408
5503
|
}
|
|
5504
|
+
const lastTraversableNodeNames = /*#__PURE__*/new Set(['html', 'body', '#document']);
|
|
5409
5505
|
function isLastTraversableNode(node) {
|
|
5410
|
-
return
|
|
5506
|
+
return lastTraversableNodeNames.has(getNodeName(node));
|
|
5411
5507
|
}
|
|
5412
5508
|
function getComputedStyle$1(element) {
|
|
5413
5509
|
return getWindow(element).getComputedStyle(element);
|
|
@@ -5607,14 +5703,9 @@ function getWindowScrollBarX(element, rect) {
|
|
|
5607
5703
|
return rect.left + leftScroll;
|
|
5608
5704
|
}
|
|
5609
5705
|
|
|
5610
|
-
function getHTMLOffset(documentElement, scroll
|
|
5611
|
-
if (ignoreScrollbarX === void 0) {
|
|
5612
|
-
ignoreScrollbarX = false;
|
|
5613
|
-
}
|
|
5706
|
+
function getHTMLOffset(documentElement, scroll) {
|
|
5614
5707
|
const htmlRect = documentElement.getBoundingClientRect();
|
|
5615
|
-
const x = htmlRect.left + scroll.scrollLeft - (
|
|
5616
|
-
// RTL <body> scrollbar.
|
|
5617
|
-
getWindowScrollBarX(documentElement, htmlRect));
|
|
5708
|
+
const x = htmlRect.left + scroll.scrollLeft - getWindowScrollBarX(documentElement, htmlRect);
|
|
5618
5709
|
const y = htmlRect.top + scroll.scrollTop;
|
|
5619
5710
|
return {
|
|
5620
5711
|
x,
|
|
@@ -5653,7 +5744,7 @@ function convertOffsetParentRelativeRectToViewportRelativeRect(_ref) {
|
|
|
5653
5744
|
offsets.y = offsetRect.y + offsetParent.clientTop;
|
|
5654
5745
|
}
|
|
5655
5746
|
}
|
|
5656
|
-
const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll
|
|
5747
|
+
const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll) : createCoords(0);
|
|
5657
5748
|
return {
|
|
5658
5749
|
width: rect.width * scale.x,
|
|
5659
5750
|
height: rect.height * scale.y,
|
|
@@ -5687,6 +5778,10 @@ function getDocumentRect(element) {
|
|
|
5687
5778
|
};
|
|
5688
5779
|
}
|
|
5689
5780
|
|
|
5781
|
+
// Safety check: ensure the scrollbar space is reasonable in case this
|
|
5782
|
+
// calculation is affected by unusual styles.
|
|
5783
|
+
// Most scrollbars leave 15-18px of space.
|
|
5784
|
+
const SCROLLBAR_MAX = 25;
|
|
5690
5785
|
function getViewportRect(element, strategy) {
|
|
5691
5786
|
const win = getWindow(element);
|
|
5692
5787
|
const html = getDocumentElement(element);
|
|
@@ -5704,6 +5799,24 @@ function getViewportRect(element, strategy) {
|
|
|
5704
5799
|
y = visualViewport.offsetTop;
|
|
5705
5800
|
}
|
|
5706
5801
|
}
|
|
5802
|
+
const windowScrollbarX = getWindowScrollBarX(html);
|
|
5803
|
+
// <html> `overflow: hidden` + `scrollbar-gutter: stable` reduces the
|
|
5804
|
+
// visual width of the <html> but this is not considered in the size
|
|
5805
|
+
// of `html.clientWidth`.
|
|
5806
|
+
if (windowScrollbarX <= 0) {
|
|
5807
|
+
const doc = html.ownerDocument;
|
|
5808
|
+
const body = doc.body;
|
|
5809
|
+
const bodyStyles = getComputedStyle(body);
|
|
5810
|
+
const bodyMarginInline = doc.compatMode === 'CSS1Compat' ? parseFloat(bodyStyles.marginLeft) + parseFloat(bodyStyles.marginRight) || 0 : 0;
|
|
5811
|
+
const clippingStableScrollbarWidth = Math.abs(html.clientWidth - body.clientWidth - bodyMarginInline);
|
|
5812
|
+
if (clippingStableScrollbarWidth <= SCROLLBAR_MAX) {
|
|
5813
|
+
width -= clippingStableScrollbarWidth;
|
|
5814
|
+
}
|
|
5815
|
+
} else if (windowScrollbarX <= SCROLLBAR_MAX) {
|
|
5816
|
+
// If the <body> scrollbar is on the left, the width needs to be extended
|
|
5817
|
+
// by the scrollbar amount so there isn't extra space on the right.
|
|
5818
|
+
width += windowScrollbarX;
|
|
5819
|
+
}
|
|
5707
5820
|
return {
|
|
5708
5821
|
width,
|
|
5709
5822
|
height,
|
|
@@ -5712,6 +5825,7 @@ function getViewportRect(element, strategy) {
|
|
|
5712
5825
|
};
|
|
5713
5826
|
}
|
|
5714
5827
|
|
|
5828
|
+
const absoluteOrFixed = /*#__PURE__*/new Set(['absolute', 'fixed']);
|
|
5715
5829
|
// Returns the inner client rect, subtracting scrollbars if present.
|
|
5716
5830
|
function getInnerBoundingClientRect(element, strategy) {
|
|
5717
5831
|
const clientRect = getBoundingClientRect(element, true, strategy === 'fixed');
|
|
@@ -5776,7 +5890,7 @@ function getClippingElementAncestors(element, cache) {
|
|
|
5776
5890
|
if (!currentNodeIsContaining && computedStyle.position === 'fixed') {
|
|
5777
5891
|
currentContainingBlockComputedStyle = null;
|
|
5778
5892
|
}
|
|
5779
|
-
const shouldDropCurrentNode = elementIsFixed ? !currentNodeIsContaining && !currentContainingBlockComputedStyle : !currentNodeIsContaining && computedStyle.position === 'static' && !!currentContainingBlockComputedStyle &&
|
|
5893
|
+
const shouldDropCurrentNode = elementIsFixed ? !currentNodeIsContaining && !currentContainingBlockComputedStyle : !currentNodeIsContaining && computedStyle.position === 'static' && !!currentContainingBlockComputedStyle && absoluteOrFixed.has(currentContainingBlockComputedStyle.position) || isOverflowElement(currentNode) && !currentNodeIsContaining && hasFixedPositionAncestor(element, currentNode);
|
|
5780
5894
|
if (shouldDropCurrentNode) {
|
|
5781
5895
|
// Drop non-containing blocks.
|
|
5782
5896
|
result = result.filter(ancestor => ancestor !== currentNode);
|
|
@@ -6148,6 +6262,14 @@ const shift = shift$1;
|
|
|
6148
6262
|
*/
|
|
6149
6263
|
const flip = flip$1;
|
|
6150
6264
|
|
|
6265
|
+
/**
|
|
6266
|
+
* Provides data that allows you to change the size of the floating element —
|
|
6267
|
+
* for instance, prevent it from overflowing the clipping boundary or match the
|
|
6268
|
+
* width of the reference element.
|
|
6269
|
+
* @see https://floating-ui.com/docs/size
|
|
6270
|
+
*/
|
|
6271
|
+
const size = size$1;
|
|
6272
|
+
|
|
6151
6273
|
/**
|
|
6152
6274
|
* Computes the `x` and `y` coordinates that will place the floating element
|
|
6153
6275
|
* next to a given reference element.
|
|
@@ -6171,7 +6293,7 @@ const computePosition = (reference, floating, options) => {
|
|
|
6171
6293
|
});
|
|
6172
6294
|
};
|
|
6173
6295
|
|
|
6174
|
-
/*! @license DOMPurify 3.
|
|
6296
|
+
/*! @license DOMPurify 3.3.1 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.3.1/LICENSE */
|
|
6175
6297
|
|
|
6176
6298
|
const {
|
|
6177
6299
|
entries,
|
|
@@ -6200,12 +6322,18 @@ if (!seal) {
|
|
|
6200
6322
|
};
|
|
6201
6323
|
}
|
|
6202
6324
|
if (!apply) {
|
|
6203
|
-
apply = function apply(
|
|
6204
|
-
|
|
6325
|
+
apply = function apply(func, thisArg) {
|
|
6326
|
+
for (var _len = arguments.length, args = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {
|
|
6327
|
+
args[_key - 2] = arguments[_key];
|
|
6328
|
+
}
|
|
6329
|
+
return func.apply(thisArg, args);
|
|
6205
6330
|
};
|
|
6206
6331
|
}
|
|
6207
6332
|
if (!construct) {
|
|
6208
|
-
construct = function construct(Func
|
|
6333
|
+
construct = function construct(Func) {
|
|
6334
|
+
for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {
|
|
6335
|
+
args[_key2 - 1] = arguments[_key2];
|
|
6336
|
+
}
|
|
6209
6337
|
return new Func(...args);
|
|
6210
6338
|
};
|
|
6211
6339
|
}
|
|
@@ -6234,8 +6362,8 @@ function unapply(func) {
|
|
|
6234
6362
|
if (thisArg instanceof RegExp) {
|
|
6235
6363
|
thisArg.lastIndex = 0;
|
|
6236
6364
|
}
|
|
6237
|
-
for (var
|
|
6238
|
-
args[
|
|
6365
|
+
for (var _len3 = arguments.length, args = new Array(_len3 > 1 ? _len3 - 1 : 0), _key3 = 1; _key3 < _len3; _key3++) {
|
|
6366
|
+
args[_key3 - 1] = arguments[_key3];
|
|
6239
6367
|
}
|
|
6240
6368
|
return apply(func, thisArg, args);
|
|
6241
6369
|
};
|
|
@@ -6246,12 +6374,12 @@ function unapply(func) {
|
|
|
6246
6374
|
* @param func - The constructor function to be wrapped and called.
|
|
6247
6375
|
* @returns A new function that constructs an instance of the given constructor function with the provided arguments.
|
|
6248
6376
|
*/
|
|
6249
|
-
function unconstruct(
|
|
6377
|
+
function unconstruct(Func) {
|
|
6250
6378
|
return function () {
|
|
6251
|
-
for (var
|
|
6252
|
-
args[
|
|
6379
|
+
for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {
|
|
6380
|
+
args[_key4] = arguments[_key4];
|
|
6253
6381
|
}
|
|
6254
|
-
return construct(
|
|
6382
|
+
return construct(Func, args);
|
|
6255
6383
|
};
|
|
6256
6384
|
}
|
|
6257
6385
|
/**
|
|
@@ -6350,8 +6478,8 @@ function lookupGetter(object, prop) {
|
|
|
6350
6478
|
return fallbackValue;
|
|
6351
6479
|
}
|
|
6352
6480
|
|
|
6353
|
-
const html$1 = freeze(['a', 'abbr', 'acronym', 'address', 'area', 'article', 'aside', 'audio', 'b', 'bdi', 'bdo', 'big', 'blink', 'blockquote', 'body', 'br', 'button', 'canvas', 'caption', 'center', 'cite', 'code', 'col', 'colgroup', 'content', 'data', 'datalist', 'dd', 'decorator', 'del', 'details', 'dfn', 'dialog', 'dir', 'div', 'dl', 'dt', 'element', 'em', 'fieldset', 'figcaption', 'figure', 'font', 'footer', 'form', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'head', 'header', 'hgroup', 'hr', 'html', 'i', 'img', 'input', 'ins', 'kbd', 'label', 'legend', 'li', 'main', 'map', 'mark', 'marquee', 'menu', 'menuitem', 'meter', 'nav', 'nobr', 'ol', 'optgroup', 'option', 'output', 'p', 'picture', 'pre', 'progress', 'q', 'rp', 'rt', 'ruby', 's', 'samp', 'section', 'select', 'shadow', 'small', 'source', 'spacer', 'span', 'strike', 'strong', 'style', 'sub', 'summary', 'sup', 'table', 'tbody', 'td', 'template', 'textarea', 'tfoot', 'th', 'thead', 'time', 'tr', 'track', 'tt', 'u', 'ul', 'var', 'video', 'wbr']);
|
|
6354
|
-
const svg$1 = freeze(['svg', 'a', 'altglyph', 'altglyphdef', 'altglyphitem', 'animatecolor', 'animatemotion', 'animatetransform', 'circle', 'clippath', 'defs', 'desc', 'ellipse', 'filter', 'font', 'g', 'glyph', 'glyphref', 'hkern', 'image', 'line', 'lineargradient', 'marker', 'mask', 'metadata', 'mpath', 'path', 'pattern', 'polygon', 'polyline', 'radialgradient', 'rect', 'stop', 'style', 'switch', 'symbol', 'text', 'textpath', 'title', 'tref', 'tspan', 'view', 'vkern']);
|
|
6481
|
+
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']);
|
|
6482
|
+
const svg$1 = freeze(['svg', 'a', 'altglyph', 'altglyphdef', 'altglyphitem', 'animatecolor', 'animatemotion', 'animatetransform', 'circle', 'clippath', 'defs', 'desc', 'ellipse', 'enterkeyhint', 'exportparts', 'filter', 'font', 'g', 'glyph', 'glyphref', 'hkern', 'image', 'inputmode', 'line', 'lineargradient', 'marker', 'mask', 'metadata', 'mpath', 'part', 'path', 'pattern', 'polygon', 'polyline', 'radialgradient', 'rect', 'stop', 'style', 'switch', 'symbol', 'text', 'textpath', 'title', 'tref', 'tspan', 'view', 'vkern']);
|
|
6355
6483
|
const svgFilters = freeze(['feBlend', 'feColorMatrix', 'feComponentTransfer', 'feComposite', 'feConvolveMatrix', 'feDiffuseLighting', 'feDisplacementMap', 'feDistantLight', 'feDropShadow', 'feFlood', 'feFuncA', 'feFuncB', 'feFuncG', 'feFuncR', 'feGaussianBlur', 'feImage', 'feMerge', 'feMergeNode', 'feMorphology', 'feOffset', 'fePointLight', 'feSpecularLighting', 'feSpotLight', 'feTile', 'feTurbulence']);
|
|
6356
6484
|
// List of SVG elements that are disallowed by default.
|
|
6357
6485
|
// We still need to know them so that we can do namespace
|
|
@@ -6364,8 +6492,8 @@ const mathMl$1 = freeze(['math', 'menclose', 'merror', 'mfenced', 'mfrac', 'mgly
|
|
|
6364
6492
|
const mathMlDisallowed = freeze(['maction', 'maligngroup', 'malignmark', 'mlongdiv', 'mscarries', 'mscarry', 'msgroup', 'mstack', 'msline', 'msrow', 'semantics', 'annotation', 'annotation-xml', 'mprescripts', 'none']);
|
|
6365
6493
|
const text = freeze(['#text']);
|
|
6366
6494
|
|
|
6367
|
-
const html = freeze(['accept', 'action', 'align', 'alt', 'autocapitalize', 'autocomplete', 'autopictureinpicture', 'autoplay', 'background', 'bgcolor', 'border', 'capture', 'cellpadding', 'cellspacing', 'checked', 'cite', 'class', 'clear', 'color', 'cols', 'colspan', 'controls', 'controlslist', 'coords', 'crossorigin', 'datetime', 'decoding', 'default', 'dir', 'disabled', 'disablepictureinpicture', 'disableremoteplayback', 'download', 'draggable', 'enctype', 'enterkeyhint', 'face', 'for', 'headers', 'height', 'hidden', 'high', 'href', 'hreflang', 'id', 'inputmode', 'integrity', 'ismap', 'kind', 'label', 'lang', 'list', 'loading', 'loop', 'low', 'max', 'maxlength', 'media', 'method', 'min', 'minlength', 'multiple', 'muted', 'name', 'nonce', 'noshade', 'novalidate', 'nowrap', 'open', 'optimum', 'pattern', 'placeholder', 'playsinline', 'popover', 'popovertarget', 'popovertargetaction', 'poster', 'preload', 'pubdate', 'radiogroup', 'readonly', 'rel', 'required', 'rev', 'reversed', 'role', 'rows', 'rowspan', 'spellcheck', 'scope', 'selected', 'shape', 'size', 'sizes', 'span', 'srclang', 'start', 'src', 'srcset', 'step', 'style', 'summary', 'tabindex', 'title', 'translate', 'type', 'usemap', 'valign', 'value', 'width', 'wrap', 'xmlns', 'slot']);
|
|
6368
|
-
const svg = freeze(['accent-height', 'accumulate', 'additive', 'alignment-baseline', 'amplitude', 'ascent', 'attributename', 'attributetype', 'azimuth', 'basefrequency', 'baseline-shift', 'begin', 'bias', 'by', 'class', 'clip', 'clippathunits', 'clip-path', 'clip-rule', 'color', 'color-interpolation', 'color-interpolation-filters', 'color-profile', 'color-rendering', 'cx', 'cy', 'd', 'dx', 'dy', 'diffuseconstant', 'direction', 'display', 'divisor', 'dur', 'edgemode', 'elevation', 'end', 'exponent', 'fill', 'fill-opacity', 'fill-rule', 'filter', 'filterunits', 'flood-color', 'flood-opacity', 'font-family', 'font-size', 'font-size-adjust', 'font-stretch', 'font-style', 'font-variant', 'font-weight', 'fx', 'fy', 'g1', 'g2', 'glyph-name', 'glyphref', 'gradientunits', 'gradienttransform', 'height', 'href', 'id', 'image-rendering', 'in', 'in2', 'intercept', 'k', 'k1', 'k2', 'k3', 'k4', 'kerning', 'keypoints', 'keysplines', 'keytimes', 'lang', 'lengthadjust', 'letter-spacing', 'kernelmatrix', 'kernelunitlength', 'lighting-color', 'local', 'marker-end', 'marker-mid', 'marker-start', 'markerheight', 'markerunits', 'markerwidth', 'maskcontentunits', 'maskunits', 'max', 'mask', 'media', 'method', 'mode', 'min', 'name', 'numoctaves', 'offset', 'operator', 'opacity', 'order', 'orient', 'orientation', 'origin', 'overflow', 'paint-order', 'path', 'pathlength', 'patterncontentunits', 'patterntransform', 'patternunits', 'points', 'preservealpha', 'preserveaspectratio', 'primitiveunits', 'r', 'rx', 'ry', 'radius', 'refx', 'refy', 'repeatcount', 'repeatdur', 'restart', 'result', 'rotate', 'scale', 'seed', 'shape-rendering', 'slope', 'specularconstant', 'specularexponent', 'spreadmethod', 'startoffset', 'stddeviation', 'stitchtiles', 'stop-color', 'stop-opacity', 'stroke-dasharray', 'stroke-dashoffset', 'stroke-linecap', 'stroke-linejoin', 'stroke-miterlimit', 'stroke-opacity', 'stroke', 'stroke-width', 'style', 'surfacescale', 'systemlanguage', 'tabindex', 'tablevalues', 'targetx', 'targety', 'transform', 'transform-origin', 'text-anchor', 'text-decoration', 'text-rendering', 'textlength', 'type', 'u1', 'u2', 'unicode', 'values', 'viewbox', 'visibility', 'version', 'vert-adv-y', 'vert-origin-x', 'vert-origin-y', 'width', 'word-spacing', 'wrap', 'writing-mode', 'xchannelselector', 'ychannelselector', 'x', 'x1', 'x2', 'xmlns', 'y', 'y1', 'y2', 'z', 'zoomandpan']);
|
|
6495
|
+
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']);
|
|
6496
|
+
const svg = freeze(['accent-height', 'accumulate', 'additive', 'alignment-baseline', 'amplitude', 'ascent', 'attributename', 'attributetype', 'azimuth', 'basefrequency', 'baseline-shift', 'begin', 'bias', 'by', 'class', 'clip', 'clippathunits', 'clip-path', 'clip-rule', 'color', 'color-interpolation', 'color-interpolation-filters', 'color-profile', 'color-rendering', 'cx', 'cy', 'd', 'dx', 'dy', 'diffuseconstant', 'direction', 'display', 'divisor', 'dur', 'edgemode', 'elevation', 'end', 'exponent', 'fill', 'fill-opacity', 'fill-rule', 'filter', 'filterunits', 'flood-color', 'flood-opacity', 'font-family', 'font-size', 'font-size-adjust', 'font-stretch', 'font-style', 'font-variant', 'font-weight', 'fx', 'fy', 'g1', 'g2', 'glyph-name', 'glyphref', 'gradientunits', 'gradienttransform', 'height', 'href', 'id', 'image-rendering', 'in', 'in2', 'intercept', 'k', 'k1', 'k2', 'k3', 'k4', 'kerning', 'keypoints', 'keysplines', 'keytimes', 'lang', 'lengthadjust', 'letter-spacing', 'kernelmatrix', 'kernelunitlength', 'lighting-color', 'local', 'marker-end', 'marker-mid', 'marker-start', 'markerheight', 'markerunits', 'markerwidth', 'maskcontentunits', 'maskunits', 'max', 'mask', 'mask-type', 'media', 'method', 'mode', 'min', 'name', 'numoctaves', 'offset', 'operator', 'opacity', 'order', 'orient', 'orientation', 'origin', 'overflow', 'paint-order', 'path', 'pathlength', 'patterncontentunits', 'patterntransform', 'patternunits', 'points', 'preservealpha', 'preserveaspectratio', 'primitiveunits', 'r', 'rx', 'ry', 'radius', 'refx', 'refy', 'repeatcount', 'repeatdur', 'restart', 'result', 'rotate', 'scale', 'seed', 'shape-rendering', 'slope', 'specularconstant', 'specularexponent', 'spreadmethod', 'startoffset', 'stddeviation', 'stitchtiles', 'stop-color', 'stop-opacity', 'stroke-dasharray', 'stroke-dashoffset', 'stroke-linecap', 'stroke-linejoin', 'stroke-miterlimit', 'stroke-opacity', 'stroke', 'stroke-width', 'style', 'surfacescale', 'systemlanguage', 'tabindex', 'tablevalues', 'targetx', 'targety', 'transform', 'transform-origin', 'text-anchor', 'text-decoration', 'text-rendering', 'textlength', 'type', 'u1', 'u2', 'unicode', 'values', 'viewbox', 'visibility', 'version', 'vert-adv-y', 'vert-origin-x', 'vert-origin-y', 'width', 'word-spacing', 'wrap', 'writing-mode', 'xchannelselector', 'ychannelselector', 'x', 'x1', 'x2', 'xmlns', 'y', 'y1', 'y2', 'z', 'zoomandpan']);
|
|
6369
6497
|
const mathMl = freeze(['accent', 'accentunder', 'align', 'bevelled', 'close', 'columnsalign', 'columnlines', 'columnspan', 'denomalign', 'depth', 'dir', 'display', 'displaystyle', 'encoding', 'fence', 'frame', 'height', 'href', 'id', 'largeop', 'length', 'linethickness', 'lspace', 'lquote', 'mathbackground', 'mathcolor', 'mathsize', 'mathvariant', 'maxsize', 'minsize', 'movablelimits', 'notation', 'numalign', 'open', 'rowalign', 'rowlines', 'rowspacing', 'rowspan', 'rspace', 'rquote', 'scriptlevel', 'scriptminsize', 'scriptsizemultiplier', 'selection', 'separator', 'separators', 'stretchy', 'subscriptshift', 'supscriptshift', 'symmetric', 'voffset', 'width', 'xmlns']);
|
|
6370
6498
|
const xml = freeze(['xlink:href', 'xml:id', 'xlink:title', 'xml:space', 'xmlns:xlink']);
|
|
6371
6499
|
|
|
@@ -6463,7 +6591,7 @@ const _createHooksMap = function _createHooksMap() {
|
|
|
6463
6591
|
function createDOMPurify() {
|
|
6464
6592
|
let window = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : getGlobal();
|
|
6465
6593
|
const DOMPurify = root => createDOMPurify(root);
|
|
6466
|
-
DOMPurify.version = '3.
|
|
6594
|
+
DOMPurify.version = '3.3.1';
|
|
6467
6595
|
DOMPurify.removed = [];
|
|
6468
6596
|
if (!window || !window.document || window.document.nodeType !== NODE_TYPE.document || !window.Element) {
|
|
6469
6597
|
// Not running in a browser, provide a factory function
|
|
@@ -6574,6 +6702,21 @@ function createDOMPurify() {
|
|
|
6574
6702
|
let FORBID_TAGS = null;
|
|
6575
6703
|
/* Explicitly forbidden attributes (overrides ALLOWED_ATTR/ADD_ATTR) */
|
|
6576
6704
|
let FORBID_ATTR = null;
|
|
6705
|
+
/* Config object to store ADD_TAGS/ADD_ATTR functions (when used as functions) */
|
|
6706
|
+
const EXTRA_ELEMENT_HANDLING = Object.seal(create(null, {
|
|
6707
|
+
tagCheck: {
|
|
6708
|
+
writable: true,
|
|
6709
|
+
configurable: false,
|
|
6710
|
+
enumerable: true,
|
|
6711
|
+
value: null
|
|
6712
|
+
},
|
|
6713
|
+
attributeCheck: {
|
|
6714
|
+
writable: true,
|
|
6715
|
+
configurable: false,
|
|
6716
|
+
enumerable: true,
|
|
6717
|
+
value: null
|
|
6718
|
+
}
|
|
6719
|
+
}));
|
|
6577
6720
|
/* Decide if ARIA attributes are okay */
|
|
6578
6721
|
let ALLOW_ARIA_ATTR = true;
|
|
6579
6722
|
/* Decide if custom data attributes are okay */
|
|
@@ -6766,16 +6909,24 @@ function createDOMPurify() {
|
|
|
6766
6909
|
}
|
|
6767
6910
|
/* Merge configuration parameters */
|
|
6768
6911
|
if (cfg.ADD_TAGS) {
|
|
6769
|
-
if (
|
|
6770
|
-
|
|
6912
|
+
if (typeof cfg.ADD_TAGS === 'function') {
|
|
6913
|
+
EXTRA_ELEMENT_HANDLING.tagCheck = cfg.ADD_TAGS;
|
|
6914
|
+
} else {
|
|
6915
|
+
if (ALLOWED_TAGS === DEFAULT_ALLOWED_TAGS) {
|
|
6916
|
+
ALLOWED_TAGS = clone$1(ALLOWED_TAGS);
|
|
6917
|
+
}
|
|
6918
|
+
addToSet(ALLOWED_TAGS, cfg.ADD_TAGS, transformCaseFunc);
|
|
6771
6919
|
}
|
|
6772
|
-
addToSet(ALLOWED_TAGS, cfg.ADD_TAGS, transformCaseFunc);
|
|
6773
6920
|
}
|
|
6774
6921
|
if (cfg.ADD_ATTR) {
|
|
6775
|
-
if (
|
|
6776
|
-
|
|
6922
|
+
if (typeof cfg.ADD_ATTR === 'function') {
|
|
6923
|
+
EXTRA_ELEMENT_HANDLING.attributeCheck = cfg.ADD_ATTR;
|
|
6924
|
+
} else {
|
|
6925
|
+
if (ALLOWED_ATTR === DEFAULT_ALLOWED_ATTR) {
|
|
6926
|
+
ALLOWED_ATTR = clone$1(ALLOWED_ATTR);
|
|
6927
|
+
}
|
|
6928
|
+
addToSet(ALLOWED_ATTR, cfg.ADD_ATTR, transformCaseFunc);
|
|
6777
6929
|
}
|
|
6778
|
-
addToSet(ALLOWED_ATTR, cfg.ADD_ATTR, transformCaseFunc);
|
|
6779
6930
|
}
|
|
6780
6931
|
if (cfg.ADD_URI_SAFE_ATTR) {
|
|
6781
6932
|
addToSet(URI_SAFE_ATTRIBUTES, cfg.ADD_URI_SAFE_ATTR, transformCaseFunc);
|
|
@@ -6786,6 +6937,12 @@ function createDOMPurify() {
|
|
|
6786
6937
|
}
|
|
6787
6938
|
addToSet(FORBID_CONTENTS, cfg.FORBID_CONTENTS, transformCaseFunc);
|
|
6788
6939
|
}
|
|
6940
|
+
if (cfg.ADD_FORBID_CONTENTS) {
|
|
6941
|
+
if (FORBID_CONTENTS === DEFAULT_FORBID_CONTENTS) {
|
|
6942
|
+
FORBID_CONTENTS = clone$1(FORBID_CONTENTS);
|
|
6943
|
+
}
|
|
6944
|
+
addToSet(FORBID_CONTENTS, cfg.ADD_FORBID_CONTENTS, transformCaseFunc);
|
|
6945
|
+
}
|
|
6789
6946
|
/* Add #text in case KEEP_CONTENT is set to true */
|
|
6790
6947
|
if (KEEP_CONTENT) {
|
|
6791
6948
|
ALLOWED_TAGS['#text'] = true;
|
|
@@ -7083,7 +7240,7 @@ function createDOMPurify() {
|
|
|
7083
7240
|
return true;
|
|
7084
7241
|
}
|
|
7085
7242
|
/* Remove element if anything forbids its presence */
|
|
7086
|
-
if (!ALLOWED_TAGS[tagName] || FORBID_TAGS[tagName]) {
|
|
7243
|
+
if (!(EXTRA_ELEMENT_HANDLING.tagCheck instanceof Function && EXTRA_ELEMENT_HANDLING.tagCheck(tagName)) && (!ALLOWED_TAGS[tagName] || FORBID_TAGS[tagName])) {
|
|
7087
7244
|
/* Check if we have a custom element to handle */
|
|
7088
7245
|
if (!FORBID_TAGS[tagName] && _isBasicCustomElement(tagName)) {
|
|
7089
7246
|
if (CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof RegExp && regExpTest(CUSTOM_ELEMENT_HANDLING.tagNameCheck, tagName)) {
|
|
@@ -7155,12 +7312,12 @@ function createDOMPurify() {
|
|
|
7155
7312
|
(https://html.spec.whatwg.org/multipage/dom.html#embedding-custom-non-visible-data-with-the-data-*-attributes)
|
|
7156
7313
|
XML-compatible (https://html.spec.whatwg.org/multipage/infrastructure.html#xml-compatible and http://www.w3.org/TR/xml/#d0e804)
|
|
7157
7314
|
We don't need to check the value; it's always URI safe. */
|
|
7158
|
-
if (ALLOW_DATA_ATTR && !FORBID_ATTR[lcName] && regExpTest(DATA_ATTR, lcName)) ; else if (ALLOW_ARIA_ATTR && regExpTest(ARIA_ATTR, lcName)) ; else if (!ALLOWED_ATTR[lcName] || FORBID_ATTR[lcName]) {
|
|
7315
|
+
if (ALLOW_DATA_ATTR && !FORBID_ATTR[lcName] && regExpTest(DATA_ATTR, lcName)) ; else if (ALLOW_ARIA_ATTR && regExpTest(ARIA_ATTR, lcName)) ; else if (EXTRA_ELEMENT_HANDLING.attributeCheck instanceof Function && EXTRA_ELEMENT_HANDLING.attributeCheck(lcName, lcTag)) ; else if (!ALLOWED_ATTR[lcName] || FORBID_ATTR[lcName]) {
|
|
7159
7316
|
if (
|
|
7160
7317
|
// First condition does a very basic check if a) it's basically a valid custom element tagname AND
|
|
7161
7318
|
// b) if the tagName passes whatever the user has configured for CUSTOM_ELEMENT_HANDLING.tagNameCheck
|
|
7162
7319
|
// and c) if the attribute name passes whatever the user has configured for CUSTOM_ELEMENT_HANDLING.attributeNameCheck
|
|
7163
|
-
_isBasicCustomElement(lcTag) && (CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof RegExp && regExpTest(CUSTOM_ELEMENT_HANDLING.tagNameCheck, lcTag) || CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof Function && CUSTOM_ELEMENT_HANDLING.tagNameCheck(lcTag)) && (CUSTOM_ELEMENT_HANDLING.attributeNameCheck instanceof RegExp && regExpTest(CUSTOM_ELEMENT_HANDLING.attributeNameCheck, lcName) || CUSTOM_ELEMENT_HANDLING.attributeNameCheck instanceof Function && CUSTOM_ELEMENT_HANDLING.attributeNameCheck(lcName)) ||
|
|
7320
|
+
_isBasicCustomElement(lcTag) && (CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof RegExp && regExpTest(CUSTOM_ELEMENT_HANDLING.tagNameCheck, lcTag) || CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof Function && CUSTOM_ELEMENT_HANDLING.tagNameCheck(lcTag)) && (CUSTOM_ELEMENT_HANDLING.attributeNameCheck instanceof RegExp && regExpTest(CUSTOM_ELEMENT_HANDLING.attributeNameCheck, lcName) || CUSTOM_ELEMENT_HANDLING.attributeNameCheck instanceof Function && CUSTOM_ELEMENT_HANDLING.attributeNameCheck(lcName, lcTag)) ||
|
|
7164
7321
|
// Alternative, second condition checks if it's an `is`-attribute, AND
|
|
7165
7322
|
// the value passes whatever the user has configured for CUSTOM_ELEMENT_HANDLING.tagNameCheck
|
|
7166
7323
|
lcName === 'is' && CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements && (CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof RegExp && regExpTest(CUSTOM_ELEMENT_HANDLING.tagNameCheck, value) || CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof Function && CUSTOM_ELEMENT_HANDLING.tagNameCheck(value))) ; else {
|
|
@@ -7239,7 +7396,12 @@ function createDOMPurify() {
|
|
|
7239
7396
|
value = SANITIZE_NAMED_PROPS_PREFIX + value;
|
|
7240
7397
|
}
|
|
7241
7398
|
/* Work around a security issue with comments inside attributes */
|
|
7242
|
-
if (SAFE_FOR_XML && regExpTest(/((--!?|])>)|<\/(style|title)/i, value)) {
|
|
7399
|
+
if (SAFE_FOR_XML && regExpTest(/((--!?|])>)|<\/(style|title|textarea)/i, value)) {
|
|
7400
|
+
_removeAttribute(name, currentNode);
|
|
7401
|
+
continue;
|
|
7402
|
+
}
|
|
7403
|
+
/* Make sure we cannot easily use animated hrefs, even if animations are allowed */
|
|
7404
|
+
if (lcName === 'attributename' && stringMatch(value, 'href')) {
|
|
7243
7405
|
_removeAttribute(name, currentNode);
|
|
7244
7406
|
continue;
|
|
7245
7407
|
}
|
|
@@ -7838,8 +8000,8 @@ class PdsCombobox {
|
|
|
7838
8000
|
};
|
|
7839
8001
|
}
|
|
7840
8002
|
connectedCallback() {
|
|
7841
|
-
// Initialize ElementInternals for form association
|
|
7842
|
-
if (this.el.attachInternals) {
|
|
8003
|
+
// Initialize ElementInternals for form association (only once per element instance)
|
|
8004
|
+
if (this.el.attachInternals && !this.internals) {
|
|
7843
8005
|
this.internals = this.el.attachInternals();
|
|
7844
8006
|
}
|
|
7845
8007
|
}
|
|
@@ -8537,10 +8699,10 @@ class PdsCombobox {
|
|
|
8537
8699
|
}
|
|
8538
8700
|
render() {
|
|
8539
8701
|
const triggerClass = `pds-combobox__button-trigger pds-combobox__button-trigger--${this.triggerVariant}`;
|
|
8540
|
-
return (hAsync(Host, { key: '
|
|
8702
|
+
return (hAsync(Host, { key: 'e4de3982f971380d983bcb587de64f8767d4fc2b' }, hAsync("div", { key: 'c0637dfa13b6482514cef29c18cda354002f6e3b', class: "pds-combobox", tabIndex: -1, onFocusout: this.onComboboxFocusOut }, this.label && (hAsync("label", { key: 'cdbb49f63298e0003fff9a9456d3a8bfc1ce9978', htmlFor: this.componentId, class: "pds-combobox__label" }, hAsync("span", { key: '9c20cf24390599408a0f16b6cbf944c8c337979e', class: this.hideLabel ? 'visually-hidden' : '' }, this.label))), this.trigger === 'input' ? (hAsync("div", { class: "pds-combobox__input-wrapper", style: { width: this.triggerWidth } }, hAsync("input", { ref: el => {
|
|
8541
8703
|
this.inputEl = el;
|
|
8542
8704
|
this.triggerEl = el;
|
|
8543
|
-
}, class: "pds-combobox__input", type: "text", role: "combobox", "aria-autocomplete": "list", "aria-controls": "pds-combobox-listbox", "aria-activedescendant": this.isOpen && this.highlightedIndex >= 0 ? `pds-combobox-option-${this.highlightedIndex}` : undefined, "aria-expanded": this.isOpen ? 'true' : 'false', "aria-disabled": this.disabled ? 'true' : 'false', "aria-label": this.hideLabel ? this.label : undefined, id: this.componentId, value: this.displayText, placeholder: this.placeholder, disabled: this.disabled, onInput: this.handleInput, onClick: this.handleInputClick, onKeyDown: this.handleKeyDown, autocomplete: "off", part: "input" }), hAsync("pds-icon", { icon: "enlarge", "aria-hidden": "true", class: "pds-combobox__input-icon" }))) : this.trigger === 'chip' ? (hAsync("div", { class: this.getChipTriggerClass(), style: { width: this.triggerWidth }, role: "combobox", "aria-haspopup": "listbox", "aria-controls": "pds-combobox-listbox", "aria-activedescendant": this.isOpen && this.highlightedIndex >= 0 ? `pds-combobox-option-${this.highlightedIndex}` : undefined, "aria-expanded": this.isOpen ? 'true' : 'false', "aria-disabled": this.disabled ? 'true' : 'false', "aria-label": this.hideLabel ? this.label : undefined, id: this.componentId, tabIndex: this.disabled ? -1 : 0, onClick: this.onButtonTriggerClick, "data-layout": this.customTriggerContent, onKeyDown: this.onButtonTriggerKeyDown, onKeyUp: this.onButtonTriggerKeyUp, ref: el => (this.triggerEl = el), part: "chip-trigger" }, this.renderChipTriggerContent())) : (hAsync("div", { class: triggerClass, style: { width: this.triggerWidth }, role: "combobox", "aria-haspopup": "listbox", "aria-controls": "pds-combobox-listbox", "aria-activedescendant": this.isOpen && this.highlightedIndex >= 0 ? `pds-combobox-option-${this.highlightedIndex}` : undefined, "aria-expanded": this.isOpen ? 'true' : 'false', "aria-disabled": this.disabled ? 'true' : 'false', "aria-label": this.hideLabel ? this.label : undefined, id: this.componentId, tabIndex: this.disabled ? -1 : 0, onClick: this.onButtonTriggerClick, "data-layout": this.customTriggerContent, onKeyDown: this.onButtonTriggerKeyDown, onKeyUp: this.onButtonTriggerKeyUp, ref: el => (this.triggerEl = el), part: "button-trigger" }, this.renderButtonTriggerContent())), hAsync("div", { key: '
|
|
8705
|
+
}, class: "pds-combobox__input", type: "text", role: "combobox", "aria-autocomplete": "list", "aria-controls": "pds-combobox-listbox", "aria-activedescendant": this.isOpen && this.highlightedIndex >= 0 ? `pds-combobox-option-${this.highlightedIndex}` : undefined, "aria-expanded": this.isOpen ? 'true' : 'false', "aria-disabled": this.disabled ? 'true' : 'false', "aria-label": this.hideLabel ? this.label : undefined, id: this.componentId, value: this.displayText, placeholder: this.placeholder, disabled: this.disabled, onInput: this.handleInput, onClick: this.handleInputClick, onKeyDown: this.handleKeyDown, autocomplete: "off", part: "input" }), hAsync("pds-icon", { icon: "enlarge", "aria-hidden": "true", class: "pds-combobox__input-icon" }))) : this.trigger === 'chip' ? (hAsync("div", { class: this.getChipTriggerClass(), style: { width: this.triggerWidth }, role: "combobox", "aria-haspopup": "listbox", "aria-controls": "pds-combobox-listbox", "aria-activedescendant": this.isOpen && this.highlightedIndex >= 0 ? `pds-combobox-option-${this.highlightedIndex}` : undefined, "aria-expanded": this.isOpen ? 'true' : 'false', "aria-disabled": this.disabled ? 'true' : 'false', "aria-label": this.hideLabel ? this.label : undefined, id: this.componentId, tabIndex: this.disabled ? -1 : 0, onClick: this.onButtonTriggerClick, "data-layout": this.customTriggerContent, onKeyDown: this.onButtonTriggerKeyDown, onKeyUp: this.onButtonTriggerKeyUp, ref: el => (this.triggerEl = el), part: "chip-trigger" }, this.renderChipTriggerContent())) : (hAsync("div", { class: triggerClass, style: { width: this.triggerWidth }, role: "combobox", "aria-haspopup": "listbox", "aria-controls": "pds-combobox-listbox", "aria-activedescendant": this.isOpen && this.highlightedIndex >= 0 ? `pds-combobox-option-${this.highlightedIndex}` : undefined, "aria-expanded": this.isOpen ? 'true' : 'false', "aria-disabled": this.disabled ? 'true' : 'false', "aria-label": this.hideLabel ? this.label : undefined, id: this.componentId, tabIndex: this.disabled ? -1 : 0, onClick: this.onButtonTriggerClick, "data-layout": this.customTriggerContent, onKeyDown: this.onButtonTriggerKeyDown, onKeyUp: this.onButtonTriggerKeyUp, ref: el => (this.triggerEl = el), part: "button-trigger" }, this.renderButtonTriggerContent())), hAsync("div", { key: 'e78fc8514f56f3383e8bfec095ee7b6c9712e19b', style: { display: 'none' } }, hAsync("slot", { key: '6684dc11fa0dfefcf295080732897f87f2e1c7ff', onSlotchange: () => this.updateOptions() })), this.renderDropdown())));
|
|
8544
8706
|
}
|
|
8545
8707
|
static get formAssociated() { return true; }
|
|
8546
8708
|
get el() { return getElement(this); }
|
|
@@ -8698,7 +8860,7 @@ class PdsDivider {
|
|
|
8698
8860
|
}; }
|
|
8699
8861
|
}
|
|
8700
8862
|
|
|
8701
|
-
const pdsDropdownMenuCss = ":host{display:block}.is-hidden{display:none}.pds-dropdown-menu--panel{background-color:var(--pine-color-background-container);border-radius:var(--pine-dimension-xs);left:var(--pine-dimension-none);min-width:170px;padding:var(--pine-dimension-xs);position:
|
|
8863
|
+
const pdsDropdownMenuCss = ":host{display:block}.is-hidden{display:none}.pds-dropdown-menu--panel{background-color:var(--pine-color-background-container);border-radius:var(--pine-dimension-xs);left:var(--pine-dimension-none);min-width:170px;padding:var(--pine-dimension-xs);position:fixed;z-index:var(--pine-z-index-overlay)}:host-context([data-theme=dark]) .pds-dropdown-menu--panel{border:var(--pine-border)}";
|
|
8702
8864
|
|
|
8703
8865
|
/**
|
|
8704
8866
|
* @part menu-panel - Exposes the dropdown menu container for styling.
|
|
@@ -8753,6 +8915,7 @@ class PdsDropdownMenu {
|
|
|
8753
8915
|
const updatePosition = () => {
|
|
8754
8916
|
computePosition(this.triggerEl, this.panelEl, {
|
|
8755
8917
|
placement: this.placement,
|
|
8918
|
+
strategy: 'fixed',
|
|
8756
8919
|
middleware: [offset(6), flip(), shift({ padding: 5 })],
|
|
8757
8920
|
}).then(({ x, y }) => {
|
|
8758
8921
|
Object.assign(this.panelEl.style, {
|
|
@@ -8963,7 +9126,7 @@ class PdsDropdownMenu {
|
|
|
8963
9126
|
}
|
|
8964
9127
|
}
|
|
8965
9128
|
render() {
|
|
8966
|
-
return (hAsync(Host, { key: '
|
|
9129
|
+
return (hAsync(Host, { key: '9ae650f3d8026060386ac3c3e766e7cc3c7ecc07', id: this.componentId }, hAsync("slot", { key: '598502f3a1fc16df488fb9808f453a72e630cede', name: "trigger", onSlotchange: this.handleTriggerSlotChange }), hAsync("pds-box", { key: '5be72ded41caad2d9a9569d0aeabf7d22cf1b44c', "border-radius": "sm", display: "flex", direction: "column", class: "pds-dropdown-menu--panel is-hidden", shadow: "100", role: "menu", "aria-orientation": "vertical", part: "menu-panel" }, hAsync("slot", { key: '93b2d89a1e3714ac7895be71bc44583ce4cd3243', onSlotchange: this.handleSlotChange }))));
|
|
8967
9130
|
}
|
|
8968
9131
|
get host() { return getElement(this); }
|
|
8969
9132
|
static get style() { return pdsDropdownMenuCss; }
|
|
@@ -8981,7 +9144,7 @@ class PdsDropdownMenu {
|
|
|
8981
9144
|
}; }
|
|
8982
9145
|
}
|
|
8983
9146
|
|
|
8984
|
-
const pdsDropdownMenuItemCss = ":host{cursor:pointer;display:-ms-flexbox;display:flex;width:100%;}:host(.is-disabled){cursor:not-allowed !important;opacity:0.5 !important}:host(.is-disabled) .pds-dropdown-menu-item__content{cursor:not-allowed !important;pointer-events:none !important}.pds-dropdown-menu-item__content{-ms-flex-align:center;align-items:center;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:0;border-radius:var(--pine-dimension-xs);color:var(--pine-color-text);display:-ms-flexbox;display:flex;-ms-flex-positive:1;flex-grow:1;font:var(--pine-typography-body-medium);gap:var(--pine-dimension-xs);margin:calc(var(--pine-border-width) + 2px);padding:var(--pine-dimension-xs);text-align:start;width:100%;}.pds-dropdown-menu-item__content:hover{background-color:var(--pine-color-background-muted);color:var(--pine-color-text-hover)}.pds-dropdown-menu-item__content:focus,.pds-dropdown-menu-item__content:focus-visible,.pds-dropdown-menu-item__content.has-focus{outline:var(--pine-outline-focus);outline-offset:var(--pine-border-width)}:host(.destructive) .pds-dropdown-menu-item__content{-ms-flex-align:center;align-items:center;color:var(--pine-color-danger)}:host(.destructive) .pds-dropdown-menu-item__content:hover{background-color:var(--pine-color-danger-disabled);color:var(--pine-color-danger-hover)}:host(.destructive) .pds-dropdown-menu-item__content:focus,:host(.destructive) .pds-dropdown-menu-item__content:focus-visible,:host(.destructive) .pds-dropdown-menu-item__content.has-focus{background-color:var(--pine-color-danger-disabled);outline:var(--pine-outline-focus-danger);outline-offset:var(--pine-border-width)}pds-link::part(link):focus,pds-link::part(link):focus-visible{-webkit-box-shadow:none;box-shadow:none;outline:none}pds-link::part(link){display:block;margin:calc(var(--pine-dimension-xs) * -1);padding:var(--pine-dimension-xs);text-decoration:none;width:calc(100% + var(--pine-dimension-xs) * 2)}";
|
|
9147
|
+
const pdsDropdownMenuItemCss = ":host{cursor:pointer;display:-ms-flexbox;display:flex;width:100%;}:host(.is-disabled){cursor:not-allowed !important;opacity:0.5 !important}:host(.is-disabled) .pds-dropdown-menu-item__content{cursor:not-allowed !important;pointer-events:none !important}.pds-dropdown-menu-item__content{-ms-flex-align:center;align-items:center;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:0;border-radius:var(--pine-dimension-xs);color:var(--pine-color-text);display:-ms-flexbox;display:flex;-ms-flex-positive:1;flex-grow:1;font:var(--pine-typography-body-medium);gap:var(--pine-dimension-xs);margin:calc(var(--pine-border-width) + 2px);padding:var(--pine-dimension-xs);text-align:start;width:100%;}.pds-dropdown-menu-item__content:hover{background-color:var(--pine-color-background-muted);color:var(--pine-color-text-hover)}.pds-dropdown-menu-item__content{}.pds-dropdown-menu-item__content:focus,.pds-dropdown-menu-item__content:focus-visible,.pds-dropdown-menu-item__content.has-focus{outline:var(--pine-outline-focus);outline-offset:var(--pine-border-width)}:host(.destructive) .pds-dropdown-menu-item__content{-ms-flex-align:center;align-items:center;color:var(--pine-color-danger)}:host(.destructive) .pds-dropdown-menu-item__content:hover{background-color:var(--pine-color-danger-disabled);color:var(--pine-color-danger-hover)}:host(.destructive) .pds-dropdown-menu-item__content:focus,:host(.destructive) .pds-dropdown-menu-item__content:focus-visible,:host(.destructive) .pds-dropdown-menu-item__content.has-focus{background-color:var(--pine-color-danger-disabled);outline:var(--pine-outline-focus-danger);outline-offset:var(--pine-border-width)}pds-link::part(link):focus,pds-link::part(link):focus-visible{-webkit-box-shadow:none;box-shadow:none;outline:none}pds-link::part(link){display:block;margin:calc(var(--pine-dimension-xs) * -1);padding:var(--pine-dimension-xs);text-decoration:none;width:calc(100% + var(--pine-dimension-xs) * 2)}";
|
|
8985
9148
|
|
|
8986
9149
|
class PdsDropdownMenuItem {
|
|
8987
9150
|
constructor(hostRef) {
|
|
@@ -9098,7 +9261,7 @@ class PdsDropdownMenuSeparator {
|
|
|
9098
9261
|
}; }
|
|
9099
9262
|
}
|
|
9100
9263
|
|
|
9101
|
-
const pdsFilterCss = ":host{--box-shadow-focus:0 0 0 1px var(--pine-color-background-container), 0 0 0 3px var(--pine-color-focus-ring);display:inline-block;position:relative}.pds-filter__trigger{-ms-flex-align:center;align-items:center;anchor-name:--filter-trigger;background:var(--pine-color-background-container);border:var(--pine-border);border-radius:var(--pine-dimension-100);-webkit-box-shadow:var(--pine-box-shadow-050);box-shadow:var(--pine-box-shadow-050);-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--pine-color-text-tertiary);cursor:pointer;display:-ms-inline-flexbox;display:inline-flex;font-family:var(--pine-font-family-inter);font-size:var(--pine-font-size-100);font-weight:var(--pine-font-weight-400);gap:var(--pine-dimension-050);letter-spacing:var(--pine-letter-spacing-114);line-height:var(--pine-line-height-150);padding:var(--pine-dimension-025) var(--pine-dimension-125);position:relative;-webkit-transition:all 0.2s ease;transition:all 0.2s ease}.pds-filter__trigger pds-icon{block-size:var(--pine-font-size-100);color:var(--pine-color-text-secondary);-ms-flex-negative:0;flex-shrink:0;inline-size:var(--pine-font-size-100)}.pds-filter__trigger:hover,.pds-filter__trigger.pds-filter__trigger--open{background-color:var(--pine-color-background-subtle);border-color:var(--pine-color-border-hover);color:var(--pine-color-text-hover)}.pds-filter__trigger:hover pds-icon,.pds-filter__trigger.pds-filter__trigger--open pds-icon{color:var(--pine-color-text-secondary)}.pds-filter__trigger:focus-visible{-webkit-box-shadow:var(--box-shadow-focus);box-shadow:var(--box-shadow-focus);outline:none}.pds-filter__trigger:disabled{cursor:not-allowed;opacity:0.5}.pds-filter__trigger--selected{background-color:var(--pine-color-purple-050);border-color:var(--pine-color-purple-500);color:var(--pine-color-purple-600)}.pds-filter__trigger--selected pds-icon{color:var(--pine-color-purple-600)}.pds-filter__trigger--selected:hover,.pds-filter__trigger--selected.pds-filter__trigger--open{background-color:var(--pine-color-purple-100);border-color:var(--pine-color-purple-500);color:var(--pine-color-purple-600)}.pds-filter__trigger--selected:hover pds-icon,.pds-filter__trigger--selected.pds-filter__trigger--open pds-icon{color:var(--pine-color-purple-600)}.pds-filter__trigger--selected:focus-visible{-webkit-box-shadow:var(--box-shadow-focus);box-shadow:var(--box-shadow-focus);outline:none}.pds-filter__trigger--more{background-color:var(--pine-color-background-container-hover);border:var(--pine-border-width-thin) dashed var(--pine-color-border);color:var(--pine-color-text-tertiary)}.pds-filter__trigger--more pds-icon{color:var(--pine-color-text-secondary)}.pds-filter__trigger--more:hover,.pds-filter__trigger--more.pds-filter__trigger--open{background-color:var(--pine-color-background-subtle);border-color:var(--pine-color-border-hover);color:var(--pine-color-text-hover)}.pds-filter__trigger--more:hover pds-icon,.pds-filter__trigger--more.pds-filter__trigger--open pds-icon{color:var(--pine-color-text-secondary)}.pds-filter__trigger--more:focus-visible{-webkit-box-shadow:var(--box-shadow-focus);box-shadow:var(--box-shadow-focus);outline:none}.pds-filter__trigger--clear{background:transparent;border:var(--pine-border-width-thin) solid transparent;border-radius:var(--pine-dimension-100);-webkit-box-shadow:none;box-shadow:none;color:var(--pine-color-purple-600)}.pds-filter__trigger--clear pds-icon{color:var(--pine-color-purple-600)}.pds-filter__trigger--clear:hover{background-color:var(--pine-color-purple-100);border-color:var(--pine-color-purple-100);color:var(--pine-color-purple-600)}.pds-filter__trigger--clear:hover pds-icon{color:var(--pine-color-purple-600)}.pds-filter__trigger--clear:focus-visible{-webkit-box-shadow:var(--box-shadow-focus);box-shadow:var(--box-shadow-focus);outline:none}.pds-filter__button-content{-ms-flex-align:center;align-items:center;display:-ms-inline-flexbox;display:inline-flex;gap:var(--pine-dimension-050);max-inline-size:148px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pds-filter__button-text{line-height:var(--pine-line-height-150);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pds-filter__dropdown-icon{block-size:var(--pine-dimension-200);-ms-flex-negative:0;flex-shrink:0;inline-size:var(--pine-dimension-200)}.pds-filter__popover{background-color:var(--pine-color-background-container);border:0;border-radius:var(--pine-dimension-100);-webkit-box-shadow:var(--pine-box-shadow-100);box-shadow:var(--pine-box-shadow-100);display:none;inline-size:228px;inset:unset;padding:var(--pine-dimension-100);z-index:var(--pine-z-index-overlay);}.pds-filter__popover:popover-open,.pds-filter__popover.is-open{display:block}@supports (anchor-name: --test){.pds-filter__popover{inset-block-start:calc(anchor(--filter-trigger bottom) + var(--pine-dimension-100));inset-inline-start:anchor(--filter-trigger left);position:fixed;position-anchor:--filter-trigger;}.pds-filter__popover.popover-flip-horizontal{inset-inline-start:anchor(--filter-trigger right);-webkit-transform:translateX(-100%);transform:translateX(-100%)}.pds-filter__popover.popover-flip-vertical{inset-block-start:anchor(--filter-trigger top);-webkit-transform:translateY(calc(-100% - var(--pine-dimension-100)));transform:translateY(calc(-100% - var(--pine-dimension-100)))}.pds-filter__popover.popover-flip-horizontal.popover-flip-vertical{inset-block-start:anchor(--filter-trigger top);inset-inline-start:anchor(--filter-trigger right);-webkit-transform:translate(-100%, calc(-100% - var(--pine-dimension-100)));transform:translate(-100%, calc(-100% - var(--pine-dimension-100)))}.pds-filter__popover.is-open.popover-flip-horizontal{inset-inline-start:anchor(--filter-trigger right);-webkit-transform:translateX(-100%);transform:translateX(-100%)}.pds-filter__popover.is-open.popover-flip-vertical{inset-block-start:anchor(--filter-trigger top);-webkit-transform:translateY(calc(-100% - var(--pine-dimension-100)));transform:translateY(calc(-100% - var(--pine-dimension-100)))}.pds-filter__popover.is-open.popover-flip-horizontal.popover-flip-vertical{inset-block-start:anchor(--filter-trigger top);inset-inline-start:anchor(--filter-trigger right);-webkit-transform:translate(-100%, calc(-100% - var(--pine-dimension-100)));transform:translate(-100%, calc(-100% - var(--pine-dimension-100)))}}";
|
|
9264
|
+
const pdsFilterCss = ":host{--box-shadow-focus:0 0 0 1px var(--pine-color-background-container), 0 0 0 3px var(--pine-color-focus-ring);display:inline-block;position:relative}.pds-filter__trigger{-ms-flex-align:center;align-items:center;anchor-name:--filter-trigger;background:var(--pine-color-background-container);border:var(--pine-border);border-radius:var(--pine-dimension-100);-webkit-box-shadow:var(--pine-box-shadow-050);box-shadow:var(--pine-box-shadow-050);-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--pine-color-text-tertiary);cursor:pointer;display:-ms-inline-flexbox;display:inline-flex;font-family:var(--pine-font-family-inter);font-size:var(--pine-font-size-100);font-weight:var(--pine-font-weight-400);gap:var(--pine-dimension-050);letter-spacing:var(--pine-letter-spacing-114);line-height:var(--pine-line-height-150);padding:var(--pine-dimension-025) var(--pine-dimension-125);position:relative;-webkit-transition:all 0.2s ease;transition:all 0.2s ease}.pds-filter__trigger pds-icon{block-size:var(--pine-font-size-100);color:var(--pine-color-text-secondary);-ms-flex-negative:0;flex-shrink:0;inline-size:var(--pine-font-size-100)}.pds-filter__trigger:hover,.pds-filter__trigger.pds-filter__trigger--open{background-color:var(--pine-color-background-subtle);border-color:var(--pine-color-border-hover);color:var(--pine-color-text-hover)}.pds-filter__trigger:hover pds-icon,.pds-filter__trigger.pds-filter__trigger--open pds-icon{color:var(--pine-color-text-secondary)}.pds-filter__trigger:focus-visible{-webkit-box-shadow:var(--box-shadow-focus);box-shadow:var(--box-shadow-focus);outline:none}.pds-filter__trigger:disabled{cursor:not-allowed;opacity:0.5}.pds-filter__trigger--selected{background-color:var(--pine-color-purple-050);border-color:var(--pine-color-purple-500);color:var(--pine-color-purple-600)}.pds-filter__trigger--selected pds-icon{color:var(--pine-color-purple-600)}.pds-filter__trigger--selected:hover,.pds-filter__trigger--selected.pds-filter__trigger--open{background-color:var(--pine-color-purple-100);border-color:var(--pine-color-purple-500);color:var(--pine-color-purple-600)}.pds-filter__trigger--selected:hover pds-icon,.pds-filter__trigger--selected.pds-filter__trigger--open pds-icon{color:var(--pine-color-purple-600)}.pds-filter__trigger--selected:focus-visible{-webkit-box-shadow:var(--box-shadow-focus);box-shadow:var(--box-shadow-focus);outline:none}.pds-filter__trigger--more{background-color:var(--pine-color-background-container-hover);border:var(--pine-border-width-thin) dashed var(--pine-color-border);color:var(--pine-color-text-tertiary)}.pds-filter__trigger--more pds-icon{color:var(--pine-color-text-secondary)}.pds-filter__trigger--more:hover,.pds-filter__trigger--more.pds-filter__trigger--open{background-color:var(--pine-color-background-subtle);border-color:var(--pine-color-border-hover);color:var(--pine-color-text-hover)}.pds-filter__trigger--more:hover pds-icon,.pds-filter__trigger--more.pds-filter__trigger--open pds-icon{color:var(--pine-color-text-secondary)}.pds-filter__trigger--more:focus-visible{-webkit-box-shadow:var(--box-shadow-focus);box-shadow:var(--box-shadow-focus);outline:none}.pds-filter__trigger--clear{background:transparent;border:var(--pine-border-width-thin) solid transparent;border-radius:var(--pine-dimension-100);-webkit-box-shadow:none;box-shadow:none;color:var(--pine-color-purple-600)}.pds-filter__trigger--clear pds-icon{color:var(--pine-color-purple-600)}.pds-filter__trigger--clear:hover{background-color:var(--pine-color-purple-100);border-color:var(--pine-color-purple-100);color:var(--pine-color-purple-600)}.pds-filter__trigger--clear:hover pds-icon{color:var(--pine-color-purple-600)}.pds-filter__trigger--clear:focus-visible{-webkit-box-shadow:var(--box-shadow-focus);box-shadow:var(--box-shadow-focus);outline:none}.pds-filter__button-content{-ms-flex-align:center;align-items:center;display:-ms-inline-flexbox;display:inline-flex;gap:var(--pine-dimension-050);max-inline-size:148px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pds-filter__button-text{line-height:var(--pine-line-height-150);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pds-filter__dropdown-icon{block-size:var(--pine-dimension-200);-ms-flex-negative:0;flex-shrink:0;inline-size:var(--pine-dimension-200)}.pds-filter__popover{background-color:var(--pine-color-background-container);border:0;border-radius:var(--pine-dimension-100);-webkit-box-shadow:var(--pine-box-shadow-100);box-shadow:var(--pine-box-shadow-100);display:none;inline-size:228px;inset:unset;padding:var(--pine-dimension-100);z-index:var(--pine-z-index-overlay);}.pds-filter__popover:popover-open,.pds-filter__popover.is-open{display:block}.pds-filter__popover{}@supports (anchor-name: --test){.pds-filter__popover{inset-block-start:calc(anchor(--filter-trigger bottom) + var(--pine-dimension-100));inset-inline-start:anchor(--filter-trigger left);position:fixed;position-anchor:--filter-trigger;}.pds-filter__popover.popover-flip-horizontal{inset-inline-start:anchor(--filter-trigger right);-webkit-transform:translateX(-100%);transform:translateX(-100%)}.pds-filter__popover.popover-flip-vertical{inset-block-start:anchor(--filter-trigger top);-webkit-transform:translateY(calc(-100% - var(--pine-dimension-100)));transform:translateY(calc(-100% - var(--pine-dimension-100)))}.pds-filter__popover.popover-flip-horizontal.popover-flip-vertical{inset-block-start:anchor(--filter-trigger top);inset-inline-start:anchor(--filter-trigger right);-webkit-transform:translate(-100%, calc(-100% - var(--pine-dimension-100)));transform:translate(-100%, calc(-100% - var(--pine-dimension-100)))}.pds-filter__popover{}.pds-filter__popover.is-open.popover-flip-horizontal{inset-inline-start:anchor(--filter-trigger right);-webkit-transform:translateX(-100%);transform:translateX(-100%)}.pds-filter__popover.is-open.popover-flip-vertical{inset-block-start:anchor(--filter-trigger top);-webkit-transform:translateY(calc(-100% - var(--pine-dimension-100)));transform:translateY(calc(-100% - var(--pine-dimension-100)))}.pds-filter__popover.is-open.popover-flip-horizontal.popover-flip-vertical{inset-block-start:anchor(--filter-trigger top);inset-inline-start:anchor(--filter-trigger right);-webkit-transform:translate(-100%, calc(-100% - var(--pine-dimension-100)));transform:translate(-100%, calc(-100% - var(--pine-dimension-100)))}}";
|
|
9102
9265
|
|
|
9103
9266
|
/**
|
|
9104
9267
|
* Individual filter component with cross-browser popover positioning.
|
|
@@ -10264,8 +10427,8 @@ class PdsInput {
|
|
|
10264
10427
|
this.originalPdsInput = this.pdsInput;
|
|
10265
10428
|
}
|
|
10266
10429
|
connectedCallback() {
|
|
10267
|
-
// Initialize ElementInternals for form association
|
|
10268
|
-
if (this.el.attachInternals) {
|
|
10430
|
+
// Initialize ElementInternals for form association (only once per element instance)
|
|
10431
|
+
if (this.el.attachInternals && !this.internals) {
|
|
10269
10432
|
this.internals = this.el.attachInternals();
|
|
10270
10433
|
}
|
|
10271
10434
|
}
|
|
@@ -10370,7 +10533,7 @@ class PdsInput {
|
|
|
10370
10533
|
'has-prepend': this.hasPrepend,
|
|
10371
10534
|
'has-append': this.hasAppend,
|
|
10372
10535
|
};
|
|
10373
|
-
return (hAsync(Host, { key: '
|
|
10536
|
+
return (hAsync(Host, { key: '03943f9ccb2b64d59e4df0276f9e04a9ea146aa1', "aria-disabled": this.disabled ? 'true' : null, "aria-readonly": this.readonly ? 'true' : null, "has-prefix": this.hasPrefix ? 'true' : null, "has-suffix": this.hasSuffix ? 'true' : null, "has-prepend": this.hasPrepend ? 'true' : null, "has-append": this.hasAppend ? 'true' : null, "has-action": this.hasAction && !this.hideLabel ? 'true' : null, "full-width": this.fullWidth ? 'true' : null }, hAsync("div", { key: '3cc83e0ef17d4ae0278e30490ab4b2dbe0270209', class: "pds-input" }, label && (hAsync("div", { key: '5039b16a1ff68999f30014e259c40432ca7d1826', class: "pds-input__label-wrapper" }, hAsync("label", { key: '73d8511c3ac1b854a5052b4dbe2a65a14afe877e', htmlFor: componentId, class: "pds-input__label" }, hAsync("span", { key: 'f3b60b76cd9aae40d2195c92ffeb72192b1dac46', class: this.hideLabel ? 'visually-hidden' : '' }, label, this.required && hAsync("span", { key: '0744302392c40e03bb58fc818420e1d9658767c7', class: "pds-input__required-indicator" }, " *"))), !this.hideLabel && this.renderAction())), hAsync("div", { key: 'be0603300822d81b264fa03f280b1b3a3b1942a5', class: inputWrapperClasses }, this.renderPrepend(), this.renderPrefix(), hAsync("input", Object.assign({ key: '7a4efcc16452dbd236fa9f226b4283b138ea811a', ref: (input) => (this.nativeInput = input), class: "pds-input__field", "aria-describedby": assignDescription(componentId, invalid, helperMessage), "aria-invalid": invalid ? "true" : undefined, autocomplete: this.autocomplete, disabled: disabled, id: componentId, max: this.max, maxlength: this.maxlength, min: this.min, minlength: this.minlength, name: this.name, pattern: this.pattern, placeholder: this.placeholder, readOnly: this.readonly, required: this.required, step: this.step, type: this.type, value: value, onInput: this.onInputEvent, onChange: this.onChangeEvent, onBlur: this.onBlurEvent, onFocus: this.onFocusEvent, onKeyDown: this.onKeyDownEvent, onCompositionstart: this.onCompositionStart, onCompositionend: this.onCompositionEnd }, this.inheritedAttributes)), this.renderSuffix(), this.renderAppend()), helperMessage && (hAsync("p", { key: '048ced195153312a2a1b969f6095165b82fd1cb4', class: "pds-input__helper-message", id: messageId(componentId, 'helper') }, helperMessage)), errorMessage && (hAsync("p", { key: 'c61329eb7723cf146dcbefca3bd094582a6b73a6', class: "pds-input__error-message", id: messageId(componentId, 'error') }, hAsync("pds-icon", { key: '1ec4eebc73447e786a7db412937a06452c759635', icon: danger, size: "small" }), errorMessage)))));
|
|
10374
10537
|
}
|
|
10375
10538
|
static get formAssociated() { return true; }
|
|
10376
10539
|
get el() { return getElement(this); }
|
|
@@ -10513,7 +10676,7 @@ class PdsLoader {
|
|
|
10513
10676
|
* Determines the type of loader.
|
|
10514
10677
|
*/
|
|
10515
10678
|
this.variant = 'spinner';
|
|
10516
|
-
this.
|
|
10679
|
+
this.getSvgStyle = () => {
|
|
10517
10680
|
if (this.size !== undefined) {
|
|
10518
10681
|
return {
|
|
10519
10682
|
height: this.loaderSize(),
|
|
@@ -10538,7 +10701,7 @@ class PdsLoader {
|
|
|
10538
10701
|
}
|
|
10539
10702
|
}
|
|
10540
10703
|
render() {
|
|
10541
|
-
return (hAsync(Host, { key: '
|
|
10704
|
+
return (hAsync(Host, { key: 'fc312fc9ebf973506190e693cd251f25e37f3d0a', class: `pds-loader ${this.isLoading ? '' : 'pds-loader--hidden'}`, "aria-hidden": !this.isLoading, "aria-busy": this.isLoading, "aria-live": "polite" }, this.variant === 'spinner' && (hAsync("div", { key: 'c9eab32510368d1fd6db7669b3db640c229911f2', class: "pds-loader--spinner" }, hAsync("svg", { key: '359d9f171378064c6121e583efe09eace3377e44', style: this.getSvgStyle(), viewBox: "0 0 200 200", fill: "none", part: "loader-svg" }, hAsync("defs", { key: '263409d92ab95fa34df4e879934e04e6a587f23b' }, hAsync("linearGradient", { key: 'e9b32747efcb60bbebd8734fdd2c2d5a400974c1', id: "spinner-secondHalf" }, hAsync("stop", { key: 'db61c891cf635b72e36a152b944b6c9ce3569be3', offset: "0%", "stop-opacity": "0", "stop-color": "currentColor" }), hAsync("stop", { key: 'fb964af08941ad174ecaf0c329d79e25fff45a9c', offset: "100%", "stop-opacity": "0.5", "stop-color": "currentColor" })), hAsync("linearGradient", { key: '89d815d1f076ffe82d189d51fce14fb48ecb0926', id: "spinner-firstHalf" }, hAsync("stop", { key: '43b753f80ab136d38635a6ab921899fc8fd3a6b2', offset: "0%", "stop-opacity": "1", "stop-color": "currentColor" }), hAsync("stop", { key: '7ce201ac86ae5cd291f8fba22f1e6517d53af025', offset: "100%", "stop-opacity": "0.5", "stop-color": "currentColor" }))), hAsync("g", { key: 'ea7e594df07f7d634fa2142785f0791b21a71d41', class: "pds-loader__spinner-path" }, hAsync("path", { key: '8ac8cead5078716ca9169150be8c0c64ecedc854', stroke: "url(#spinner-secondHalf)", d: "M 4 100 A 96 96 0 0 1 196 100" }), hAsync("path", { key: 'c4ed3d7f386ac59dcb540b369f52925b216ea950', stroke: "url(#spinner-firstHalf)", d: "M 196 100 A 96 96 0 0 1 4 100" }), hAsync("path", { key: 'ecc2e2b7240c23e35af8b9aa049ac45dff43ac9f', stroke: "currentColor", "stroke-linecap": "round", d: "M 4 100 A 96 96 0 0 1 4 98" }))))), this.variant === 'typing' && (hAsync("div", { key: '8cb7180432a6cca86c7fcc2af3f1e05afb751a9d', class: "pds-loader--typing" }, hAsync("span", { key: 'c09247cbcf86fef899f206bee1458a1388cbdd39' }), hAsync("span", { key: '07bdfe8ab1971fa20544022412e2141721111506' }), hAsync("span", { key: '9444f7ed6a13475694e1eda50b891ff63fb91297' }))), hAsync("div", { key: '3b717ff6b9f38f9710ca0556ebbc66bd86b7e1b6', class: `pds-loader__label ${this.showLabel ? '' : 'pds-loader--hidden'}` }, hAsync("slot", { key: 'ab65224fab189a30d0cf18caf086c621cbd78eaa', name: "label" }, "Loading..."))));
|
|
10542
10705
|
}
|
|
10543
10706
|
static get style() { return pdsLoaderCss; }
|
|
10544
10707
|
static get cmpMeta() { return {
|
|
@@ -11065,6 +11228,633 @@ class PdsModalHeader {
|
|
|
11065
11228
|
}; }
|
|
11066
11229
|
}
|
|
11067
11230
|
|
|
11231
|
+
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}";
|
|
11232
|
+
|
|
11233
|
+
/**
|
|
11234
|
+
* @slot (default) - Static option elements for the multiselect
|
|
11235
|
+
* @slot empty - Custom empty state message when no options match
|
|
11236
|
+
* @slot loading - Custom loading indicator
|
|
11237
|
+
*/
|
|
11238
|
+
class PdsMultiselect {
|
|
11239
|
+
constructor(hostRef) {
|
|
11240
|
+
registerInstance(this, hostRef);
|
|
11241
|
+
this.pdsMultiselectChange = createEvent(this, "pdsMultiselectChange");
|
|
11242
|
+
this.pdsMultiselectSearch = createEvent(this, "pdsMultiselectSearch");
|
|
11243
|
+
this.pdsMultiselectLoadOptions = createEvent(this, "pdsMultiselectLoadOptions");
|
|
11244
|
+
/**
|
|
11245
|
+
* Placeholder text for the input field.
|
|
11246
|
+
*/
|
|
11247
|
+
this.placeholder = 'Select...';
|
|
11248
|
+
/**
|
|
11249
|
+
* Array of selected option values.
|
|
11250
|
+
*/
|
|
11251
|
+
this.value = [];
|
|
11252
|
+
/**
|
|
11253
|
+
* Determines whether or not the multiselect is disabled.
|
|
11254
|
+
*/
|
|
11255
|
+
this.disabled = false;
|
|
11256
|
+
/**
|
|
11257
|
+
* HTTP method for async requests.
|
|
11258
|
+
*/
|
|
11259
|
+
this.asyncMethod = 'GET';
|
|
11260
|
+
/**
|
|
11261
|
+
* Debounce delay in milliseconds for search/fetch.
|
|
11262
|
+
*/
|
|
11263
|
+
this.debounce = 300;
|
|
11264
|
+
/**
|
|
11265
|
+
* Maximum height of the dropdown before scrolling.
|
|
11266
|
+
*/
|
|
11267
|
+
this.maxHeight = '300px';
|
|
11268
|
+
/**
|
|
11269
|
+
* Width of the trigger button (and reference for dropdown positioning).
|
|
11270
|
+
*/
|
|
11271
|
+
this.triggerWidth = '100%';
|
|
11272
|
+
/**
|
|
11273
|
+
* Minimum width of the dropdown panel.
|
|
11274
|
+
*/
|
|
11275
|
+
this.minWidth = '250px';
|
|
11276
|
+
/**
|
|
11277
|
+
* Visually hides the label but keeps it accessible.
|
|
11278
|
+
*/
|
|
11279
|
+
this.hideLabel = false;
|
|
11280
|
+
/**
|
|
11281
|
+
* If true, the multiselect is required.
|
|
11282
|
+
*/
|
|
11283
|
+
this.required = false;
|
|
11284
|
+
/**
|
|
11285
|
+
* Whether the component is currently loading async options.
|
|
11286
|
+
*/
|
|
11287
|
+
this.loading = false;
|
|
11288
|
+
// Internal state
|
|
11289
|
+
this.isOpen = false;
|
|
11290
|
+
this.searchQuery = '';
|
|
11291
|
+
this.highlightedIndex = -1;
|
|
11292
|
+
this.internalOptions = [];
|
|
11293
|
+
this.selectedItems = [];
|
|
11294
|
+
this.currentPage = 1;
|
|
11295
|
+
this.hasMore = false;
|
|
11296
|
+
// Flag to prevent focusout from closing during open transition
|
|
11297
|
+
this.isOpening = false;
|
|
11298
|
+
this.handleTriggerClick = () => {
|
|
11299
|
+
if (this.disabled)
|
|
11300
|
+
return;
|
|
11301
|
+
if (this.isOpen) {
|
|
11302
|
+
this.closeDropdown();
|
|
11303
|
+
}
|
|
11304
|
+
else {
|
|
11305
|
+
this.openDropdown();
|
|
11306
|
+
}
|
|
11307
|
+
};
|
|
11308
|
+
this.handleTriggerKeyDown = (e) => {
|
|
11309
|
+
switch (e.key) {
|
|
11310
|
+
case 'ArrowDown':
|
|
11311
|
+
case 'ArrowUp':
|
|
11312
|
+
case 'Enter':
|
|
11313
|
+
case ' ':
|
|
11314
|
+
e.preventDefault();
|
|
11315
|
+
if (!this.isOpen) {
|
|
11316
|
+
this.openDropdown();
|
|
11317
|
+
}
|
|
11318
|
+
break;
|
|
11319
|
+
}
|
|
11320
|
+
};
|
|
11321
|
+
this.handleSearchInputChange = (e) => {
|
|
11322
|
+
const target = e.target;
|
|
11323
|
+
this.searchQuery = target.value;
|
|
11324
|
+
this.highlightedIndex = -1;
|
|
11325
|
+
// Emit search event for consumer-managed async
|
|
11326
|
+
this.pdsMultiselectSearch.emit({ query: this.searchQuery });
|
|
11327
|
+
// Fetch from async URL if configured
|
|
11328
|
+
if (this.asyncUrl) {
|
|
11329
|
+
this.debouncedFetchAsyncOptions(this.searchQuery, 1);
|
|
11330
|
+
}
|
|
11331
|
+
};
|
|
11332
|
+
this.handleSearchInputKeyDown = (e) => {
|
|
11333
|
+
const filteredOptions = this.getFilteredOptions();
|
|
11334
|
+
switch (e.key) {
|
|
11335
|
+
case 'ArrowDown':
|
|
11336
|
+
e.preventDefault();
|
|
11337
|
+
this.highlightedIndex = Math.min(this.highlightedIndex + 1, filteredOptions.length - 1);
|
|
11338
|
+
this.scrollOptionIntoView();
|
|
11339
|
+
break;
|
|
11340
|
+
case 'ArrowUp':
|
|
11341
|
+
e.preventDefault();
|
|
11342
|
+
this.highlightedIndex = Math.max(this.highlightedIndex - 1, 0);
|
|
11343
|
+
this.scrollOptionIntoView();
|
|
11344
|
+
break;
|
|
11345
|
+
case 'Enter':
|
|
11346
|
+
e.preventDefault();
|
|
11347
|
+
if (this.highlightedIndex >= 0) {
|
|
11348
|
+
const option = filteredOptions[this.highlightedIndex];
|
|
11349
|
+
if (option) {
|
|
11350
|
+
this.selectOption(option);
|
|
11351
|
+
}
|
|
11352
|
+
}
|
|
11353
|
+
break;
|
|
11354
|
+
// Escape is handled by the global @Listen('keydown') handler
|
|
11355
|
+
case 'Tab':
|
|
11356
|
+
this.closeDropdown();
|
|
11357
|
+
break;
|
|
11358
|
+
}
|
|
11359
|
+
};
|
|
11360
|
+
this.handleContainerFocusOut = () => {
|
|
11361
|
+
// Use setTimeout to delay the check - this allows click events and focus transitions to complete
|
|
11362
|
+
// before we decide to close the dropdown
|
|
11363
|
+
setTimeout(() => {
|
|
11364
|
+
var _a;
|
|
11365
|
+
// Don't close if we're in the middle of opening or already closed
|
|
11366
|
+
if (!this.isOpen || this.isOpening)
|
|
11367
|
+
return;
|
|
11368
|
+
const activeElement = document.activeElement;
|
|
11369
|
+
// Check if focus is within our component's shadow root
|
|
11370
|
+
const isInShadowRoot = (_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.contains(activeElement);
|
|
11371
|
+
// Also check if focus is on the host element itself
|
|
11372
|
+
const isOnHost = activeElement === this.el;
|
|
11373
|
+
if (!isInShadowRoot && !isOnHost) {
|
|
11374
|
+
this.closeDropdown();
|
|
11375
|
+
}
|
|
11376
|
+
}, 0);
|
|
11377
|
+
};
|
|
11378
|
+
this.handleOptionMouseDown = (option) => (e) => {
|
|
11379
|
+
e.preventDefault(); // Prevent focus change
|
|
11380
|
+
this.toggleOption(option);
|
|
11381
|
+
};
|
|
11382
|
+
this.handleOptionMouseEnter = (index) => () => {
|
|
11383
|
+
this.highlightedIndex = index;
|
|
11384
|
+
};
|
|
11385
|
+
this.handleScroll = (e) => {
|
|
11386
|
+
if (!this.asyncUrl || !this.hasMore || this.loading)
|
|
11387
|
+
return;
|
|
11388
|
+
const target = e.target;
|
|
11389
|
+
const scrollBottom = target.scrollHeight - target.scrollTop - target.clientHeight;
|
|
11390
|
+
// Load more when near bottom (within 50px)
|
|
11391
|
+
if (scrollBottom < 50) {
|
|
11392
|
+
this.pdsMultiselectLoadOptions.emit({
|
|
11393
|
+
query: this.searchQuery,
|
|
11394
|
+
page: this.currentPage + 1,
|
|
11395
|
+
});
|
|
11396
|
+
this.debouncedFetchAsyncOptions(this.searchQuery, this.currentPage + 1);
|
|
11397
|
+
}
|
|
11398
|
+
};
|
|
11399
|
+
}
|
|
11400
|
+
connectedCallback() {
|
|
11401
|
+
// Initialize ElementInternals for form association (only once per element instance)
|
|
11402
|
+
if (this.el.attachInternals && !this.internals) {
|
|
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: 'e7d872fd9bedb03390eaf8a2bd9c5d6ba1cc7ecc', "aria-disabled": this.disabled ? 'true' : null }, hAsync("div", { key: '141dee3c657dd17d3389d4a25979d0f748e36361', class: "pds-multiselect" }, this.label && (hAsync("label", { key: '386114a823424506857a1e927a2538e88d3c82f5', htmlFor: this.componentId, class: {
|
|
11795
|
+
'pds-multiselect__label': true,
|
|
11796
|
+
'visually-hidden': this.hideLabel,
|
|
11797
|
+
} }, this.label)), hAsync("div", { key: '9fc18bf93f981ee7f72f31c20f43f5251ed647e4', class: "pds-multiselect__wrapper", ref: el => (this.containerEl = el), onFocusout: this.handleContainerFocusOut, style: { width: this.triggerWidth } }, hAsync("button", { key: '74e8eb5ef5984307dce779ef63d54e49e07497ea', 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: 'fb7f9b9fffd46839ddc4ab0bb549b61de191f76c', class: {
|
|
11804
|
+
'pds-multiselect__trigger-text': true,
|
|
11805
|
+
'pds-multiselect__trigger-text--placeholder': !hasSelections,
|
|
11806
|
+
} }, this.getTriggerText()), hAsync("pds-icon", { key: '354e1c57758350d73557a6c94d0b31eb6732f12a', class: "pds-multiselect__icon", icon: enlarge })), this.renderDropdown()), this.helperMessage && !this.errorMessage && (hAsync("p", { key: '3709f184a7972e1acfd3826faefc4ba139a8d518', class: "pds-multiselect__helper", id: messageId(this.componentId, 'helper') }, this.helperMessage)), this.errorMessage && (hAsync("p", { key: '8029b58286455b7b4789a4336a79c324ca91ad74', class: "pds-multiselect__error", id: messageId(this.componentId, 'error') }, hAsync("pds-icon", { key: 'cd781f3caed8b81deef2ce43f0a4406b6ed2d53c', icon: danger, size: "small" }), this.errorMessage)), hAsync("div", { key: '7c303f4d64247b41b9e88892cfb8c02acd5d8d59', style: { display: 'none' } }, hAsync("slot", { key: 'e9b384038e67bb951613933bbf68fd2b2efc71ef' })))));
|
|
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
|
+
|
|
11068
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}";
|
|
11069
11859
|
|
|
11070
11860
|
/**
|
|
@@ -11625,7 +12415,7 @@ class PdsPopover {
|
|
|
11625
12415
|
}, 16); // ~1 frame at 60fps
|
|
11626
12416
|
}
|
|
11627
12417
|
render() {
|
|
11628
|
-
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 }))));
|
|
11629
12419
|
}
|
|
11630
12420
|
get el() { return getElement(this); }
|
|
11631
12421
|
static get style() { return pdsPopoverCss; }
|
|
@@ -11675,7 +12465,7 @@ class PdsProgress {
|
|
|
11675
12465
|
this.showPercent = false;
|
|
11676
12466
|
}
|
|
11677
12467
|
render() {
|
|
11678
|
-
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, "%")));
|
|
11679
12469
|
}
|
|
11680
12470
|
static get style() { return pdsProgressCss; }
|
|
11681
12471
|
static get cmpMeta() { return {
|
|
@@ -11709,7 +12499,7 @@ class PdsProperty {
|
|
|
11709
12499
|
this.icon = 'star';
|
|
11710
12500
|
}
|
|
11711
12501
|
render() {
|
|
11712
|
-
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' }))));
|
|
11713
12503
|
}
|
|
11714
12504
|
static get style() { return pdsPropertyCss; }
|
|
11715
12505
|
static get cmpMeta() { return {
|
|
@@ -11810,11 +12600,11 @@ class PdsRadio {
|
|
|
11810
12600
|
}
|
|
11811
12601
|
render() {
|
|
11812
12602
|
const renderLabelAndMessages = () => [
|
|
11813
|
-
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)),
|
|
11814
12604
|
this.helperMessage && (hAsync("div", { key: `${this.componentId}-helper`, class: 'pds-radio__message', id: messageId(this.componentId, 'helper') }, this.helperMessage)),
|
|
11815
|
-
this.errorMessage && (hAsync("div", { key: `${this.componentId}-error`, class: `pds-radio__message pds-radio__message--error`, id: messageId(this.componentId, 'error'), "aria-live": "assertive" }, hAsync("pds-icon", { key: '
|
|
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))
|
|
11816
12606
|
];
|
|
11817
|
-
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())));
|
|
11818
12608
|
}
|
|
11819
12609
|
get el() { return getElement(this); }
|
|
11820
12610
|
static get style() { return labelCss$3 + pdsRadioCss; }
|
|
@@ -11989,13 +12779,13 @@ class PdsRadioGroup {
|
|
|
11989
12779
|
render() {
|
|
11990
12780
|
const gapValue = this.getGapValue();
|
|
11991
12781
|
const ariaDescribedBy = this.getAriaDescribedBy();
|
|
11992
|
-
return (hAsync(Host, { key: '
|
|
12782
|
+
return (hAsync(Host, { key: '4172c83d182d274660aca1f09cb3cf0a822623bc', class: this.classNames(), id: this._groupId, role: "group", "aria-describedby": ariaDescribedBy, style: {
|
|
11993
12783
|
'--pds-radio-group-gap': gapValue,
|
|
11994
|
-
} }, this.groupLabel && (hAsync("div", { key: '
|
|
12784
|
+
} }, this.groupLabel && (hAsync("div", { key: '9487046d8ce5f89535f220816192f63063eba7da', class: "pds-radio-group__label" }, this.groupLabel)), hAsync("div", { key: '691b01627a001a5be54e41ecfef7d0c182be30fb', class: {
|
|
11995
12785
|
'pds-radio-group__radios': true,
|
|
11996
12786
|
'pds-radio-group__radios--row': this.direction === 'row',
|
|
11997
12787
|
'pds-radio-group__radios--column': this.direction === 'column',
|
|
11998
|
-
} }, 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))));
|
|
11999
12789
|
}
|
|
12000
12790
|
get el() { return getElement(this); }
|
|
12001
12791
|
static get watchers() { return {
|
|
@@ -12085,7 +12875,7 @@ class PdsRow {
|
|
|
12085
12875
|
})), (this.minHeight && {
|
|
12086
12876
|
'min-height': this.minHeight,
|
|
12087
12877
|
}));
|
|
12088
|
-
return hAsync(Host, { key: '
|
|
12878
|
+
return hAsync(Host, { key: '6e6e95f69cf5a84c481399737f9f5c68117aabd9', class: `pds-row ${rowClasses}`, style: rowInlineStyles });
|
|
12089
12879
|
}
|
|
12090
12880
|
static get style() { return pdsRowCss; }
|
|
12091
12881
|
static get cmpMeta() { return {
|
|
@@ -12206,8 +12996,8 @@ class PdsSelect {
|
|
|
12206
12996
|
this._type = this.multiple ? 'select-multiple' : 'select-one';
|
|
12207
12997
|
}
|
|
12208
12998
|
connectedCallback() {
|
|
12209
|
-
// Initialize ElementInternals for form association
|
|
12210
|
-
if (this.el.attachInternals) {
|
|
12999
|
+
// Initialize ElementInternals for form association (only once per element instance)
|
|
13000
|
+
if (this.el.attachInternals && !this.internals) {
|
|
12211
13001
|
this.internals = this.el.attachInternals();
|
|
12212
13002
|
}
|
|
12213
13003
|
// Expose type property on the element instance to match native form element behavior
|
|
@@ -12338,7 +13128,7 @@ class PdsSelect {
|
|
|
12338
13128
|
}
|
|
12339
13129
|
render() {
|
|
12340
13130
|
const hasAction = this.el.querySelector('[slot="action"]') !== null;
|
|
12341
|
-
return (hAsync(Host, { key: '
|
|
13131
|
+
return (hAsync(Host, { key: '722b36080f7c091e3a60d47d193d532b3bea50c3', "aria-disabled": this.disabled ? 'true' : null, class: this.classNames(), "has-action": hasAction && !this.hideLabel ? 'true' : null }, hAsync("div", { key: '90c0a9e4c39c462bea9b54e05ab0f9d10fdc4c74', class: "pds-select" }, !this.hideLabel && (hAsync("div", { key: '00604945aefe3706bda0f216757cd0247da6592b', class: "pds-select__label-wrapper" }, hAsync("label", { key: '71f5ed9b0d1fe5c2ac8b3ad43e9e053dba149068', htmlFor: this.componentId }, hAsync("span", { key: '346701454cec9e398f93919316f69605f73be895', class: this.hideLabel ? 'visually-hidden' : '' }, this.label)), hasAction && this.renderAction())), hAsync("select", { key: '929364187a6bd6b8b8267c28e3304e0514b13125', "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: '31cf48ef3bf95442eb9798d87fe0e6ba0330a5cb', "aria-hidden": "true", class: "hidden", ref: (el) => (this.slotContainer = el) }, hAsync("slot", { key: '3ed8926bce5949bc493c7a9ecfbed182704ee8d7', onSlotchange: this.handleSlotChange })), this.renderMessages(), !this.multiple && hAsync("pds-icon", { key: '3ab55ff62a6be2742668d8f963bd6c436e450dd2', class: "pds-select__select-icon", icon: enlarge }))));
|
|
12342
13132
|
}
|
|
12343
13133
|
static get formAssociated() { return true; }
|
|
12344
13134
|
get el() { return getElement(this); }
|
|
@@ -15082,7 +15872,7 @@ class PdsSortable {
|
|
|
15082
15872
|
Sortable.create(this.el, sortableOptions);
|
|
15083
15873
|
}
|
|
15084
15874
|
render() {
|
|
15085
|
-
return (hAsync(Host, { key: '
|
|
15875
|
+
return (hAsync(Host, { key: 'b01f12d7d2973ce2fa513a468be3634e38241171', class: this.classNames(), id: this.componentId }, hAsync("slot", { key: '7d9dff192e9b6a01e71c41d9250c0245ca548658' })));
|
|
15086
15876
|
}
|
|
15087
15877
|
get el() { return getElement(this); }
|
|
15088
15878
|
static get style() { return pdsSortableCss; }
|
|
@@ -15129,7 +15919,7 @@ class PdsSortableItem {
|
|
|
15129
15919
|
}
|
|
15130
15920
|
}
|
|
15131
15921
|
render() {
|
|
15132
|
-
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" })))));
|
|
15133
15923
|
}
|
|
15134
15924
|
get el() { return getElement(this); }
|
|
15135
15925
|
static get style() { return pdsSortableItemCss; }
|
|
@@ -15193,7 +15983,8 @@ class PdsSwitch {
|
|
|
15193
15983
|
};
|
|
15194
15984
|
}
|
|
15195
15985
|
connectedCallback() {
|
|
15196
|
-
|
|
15986
|
+
// Initialize ElementInternals for form association (only once per element instance)
|
|
15987
|
+
if (this.el.attachInternals && !this.internals) {
|
|
15197
15988
|
this.internals = this.el.attachInternals();
|
|
15198
15989
|
}
|
|
15199
15990
|
// Expose type property on the element instance to match native form element behavior
|
|
@@ -15234,9 +16025,9 @@ class PdsSwitch {
|
|
|
15234
16025
|
this.inheritedAttributes = Object.assign({}, inheritAriaAttributes(this.el));
|
|
15235
16026
|
}
|
|
15236
16027
|
render() {
|
|
15237
|
-
return (hAsync(Host, { key: '
|
|
15238
|
-
hAsync("div", { key: '
|
|
15239
|
-
hAsync("div", { key: '
|
|
16028
|
+
return (hAsync(Host, { key: 'f8025b631f550d179392c16b8a6fd2995d02db30', class: this.switchClassNames(), "aria-disabled": this.disabled ? 'true' : null }, hAsync("label", { key: 'f732f24b29e461e06de507d73ee930a2613d4763', htmlFor: this.componentId }, hAsync("input", Object.assign({ key: 'f8848c91248fa80dc717d0e1c331a2cf42354b26', "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: '1e9ce74d091e835d5f3adfc21b37a10257b84492', class: this.hideLabel ? 'visually-hidden' : '' }, this.label)), this.helperMessage &&
|
|
16029
|
+
hAsync("div", { key: 'c7973e1d05121a75d8a5e1398baa0d96ac96d18c', class: `pds-switch__message`, id: messageId(this.componentId, 'helper') }, this.helperMessage), this.errorMessage &&
|
|
16030
|
+
hAsync("div", { key: '4487146144a4eb5f1e87923f10a7e562b17c5968', class: `pds-switch__message pds-switch__message--error`, id: messageId(this.componentId, 'error'), "aria-live": "assertive" }, hAsync("pds-icon", { key: '0d3edf376b939ee900496aebab9e4faf62d8f7e5', icon: danger, size: "small" }), this.errorMessage)));
|
|
15240
16031
|
}
|
|
15241
16032
|
static get formAssociated() { return true; }
|
|
15242
16033
|
get el() { return getElement(this); }
|
|
@@ -15266,7 +16057,7 @@ class PdsSwitch {
|
|
|
15266
16057
|
}; }
|
|
15267
16058
|
}
|
|
15268
16059
|
|
|
15269
|
-
const pdsTabCss = "pds-tab{-ms-flex-align:center;align-items:center;display:-ms-inline-flexbox;display:inline-flex;position:relative}.pds-tabs--pill pds-tab{-ms-flex:1;flex:1}.pds-tab{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:transparent;border:var(--pine-border-width-none);-webkit-box-shadow:none;box-shadow:none;color:inherit;cursor:pointer;font-family:inherit;padding:var(--pine-dimension-none);-ms-flex-align:center;align-items:center;color:var(--pine-color-text-secondary);display:-ms-inline-flexbox;display:inline-flex;position:relative;text-decoration:none;white-space:nowrap}.pds-tab.is-active,.pds-tab[aria-selected=true]{color:var(--pine-color-text)}.pds-tab.is-active .pds-tab__content::after,.pds-tab[aria-selected=true] .pds-tab__content::after{opacity:1}.pds-tab:hover:not(:disabled){color:var(--pine-color-text)}.pds-tab:focus{outline:none}.pds-tab:focus-visible{outline:var(--pine-outline-focus);outline-offset:var(--pine-border-width)}.pds-tab:disabled,.pds-tab.is-disabled{color:var(--pine-color-text-disabled);cursor:not-allowed;pointer-events:none}.pds-tab .pds-tab__content{font-family:var(--pine-font-family-body);font-size:var(--pine-font-size);font-weight:var(--pine-font-weight-medium);letter-spacing:var(--pine-letter-spacing);line-height:var(--pine-line-height-body);-webkit-padding-after:11px;padding-block-end:11px;position:relative}.pds-tab .pds-tab__content::after{background-color:var(--pine-color-brand);content:\"\";height:3px;inset-block-end:var(--pine-dimension-none);inset-inline-end:var(--pine-dimension-none);inset-inline-start:var(--pine-dimension-none);opacity:0;position:absolute}.pds-tab .pds-tab-edge{display:none}.pds-tabs--availability{--color-background-tab:transparent}.pds-tabs--availability .pds-tab{background-color:var(--color-background-tab);border-radius:calc(var(--pine-dimension-xs) * 1.25) calc(var(--pine-dimension-xs) * 1.25) var(--pine-dimension-none) var(--pine-dimension-none);color:var(--pine-color-text-secondary);padding:8px 16px 13px}.pds-tabs--availability .pds-tab.is-active,.pds-tabs--availability .pds-tab[aria-selected=true]{--color-background-tab:var(--pine-color-secondary);color:var(--pine-color-text)}.pds-tabs--availability .pds-tab.is-active .pds-tab__content::after,.pds-tabs--availability .pds-tab[aria-selected=true] .pds-tab__content::after{opacity:1}.pds-tabs--availability .pds-tab.is-active .pds-tab-edge,.pds-tabs--availability .pds-tab[aria-selected=true] .pds-tab-edge{z-index:var(--pine-z-index-raised)}.pds-tabs--availability .pds-tab:hover:not(.is-active,[aria-selected=true],:disabled){--color-background-tab:var(--pine-color-secondary-hover);color:var(--pine-color-text)}.pds-tabs--availability .pds-tab:focus-visible{color:var(--pine-color-text-secondary)}.pds-tabs--availability .pds-tab:disabled,.pds-tabs--availability .pds-tab.is-disabled{--color-background-tab:transparent;color:var(--pine-color-text-disabled)}.pds-tabs--availability .pds-tab__content{-webkit-padding-after:7px;padding-block-end:7px}.pds-tabs--availability .pds-tab-edge{bottom:0;display:block;height:8px;inset-inline-end:100%;overflow:hidden;position:absolute;width:8px}.pds-tabs--availability .pds-tab-edge::before{border-radius:50%;bottom:0;-webkit-box-shadow:4px 4px 0 0 var(--color-background-tab);box-shadow:4px 4px 0 0 var(--color-background-tab);content:\"\";display:block;height:200%;inset-inline-end:0;position:absolute;width:200%}.pds-tabs--availability .pds-tab-edge--end{inset-inline-end:unset;inset-inline-start:100%}.pds-tabs--availability .pds-tab-edge--end::before{-webkit-box-shadow:-4px 4px 0 0 var(--color-background-tab);box-shadow:-4px 4px 0 0 var(--color-background-tab);inset-inline-end:unset;inset-inline-start:0}.pds-tabs--filter .pds-tab{background-color:var(--pine-color-background-muted);border-radius:50px;color:var(--pine-color-text);padding:6px 15px}.pds-tabs--filter .pds-tab.is-active,.pds-tabs--filter .pds-tab[aria-selected=true]{background-color:var(--pine-color-primary);color:var(--pine-color-text-primary)}.pds-tabs--filter .pds-tab.is-active:hover:not(:disabled),.pds-tabs--filter .pds-tab[aria-selected=true]:hover:not(:disabled){background-color:var(--pine-color-primary-hover)}.pds-tabs--filter .pds-tab:hover:not(.is-active,[aria-selected=true],:disabled){background-color:var(--pine-color-border-disabled)}.pds-tabs--filter .pds-tab:disabled,.pds-tabs--filter .pds-tab.is-disabled{background-color:transparent;color:var(--pine-color-text-disabled)}.pds-tabs--filter .pds-tab:disabled.is-active,.pds-tabs--filter .pds-tab:disabled[aria-selected=true],.pds-tabs--filter .pds-tab.is-disabled.is-active,.pds-tabs--filter .pds-tab.is-disabled[aria-selected=true]{background-color:var(--pine-color-primary-disabled)}.pds-tabs--filter .pds-tab__content{-webkit-padding-after:var(--pine-dimension-none);padding-block-end:var(--pine-dimension-none)}.pds-tabs--filter .pds-tab__content::after{content:unset}.pds-tabs--pill{--color-background-tab:transparent}.pds-tabs--pill .pds-tab{background-color:var(--color-background-tab);border:var(--pine-border-width-thin) solid transparent;border-radius:var(--pine-dimension-xs);color:var(--pine-color-text-muted);-ms-flex:1;flex:1;height:34px;-ms-flex-pack:center;justify-content:center}.pds-tabs--pill .pds-tab .pds-tab__content{-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;-webkit-padding-after:0;padding-block-end:0}.pds-tabs--pill .pds-tab.is-active,.pds-tabs--pill .pds-tab[aria-selected=true]{--color-background-tab:var(--pine-color-background-container);border-color:var(--pine-color-border);-webkit-box-shadow:var(--pine-box-shadow-100);box-shadow:var(--pine-box-shadow-100);color:var(--pine-color-text-active)
|
|
16060
|
+
const pdsTabCss = "pds-tab{-ms-flex-align:center;align-items:center;display:-ms-inline-flexbox;display:inline-flex;position:relative}.pds-tabs--pill pds-tab{-ms-flex:1;flex:1}.pds-tab{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:transparent;border:var(--pine-border-width-none);-webkit-box-shadow:none;box-shadow:none;color:inherit;cursor:pointer;font-family:inherit;padding:var(--pine-dimension-none);-ms-flex-align:center;align-items:center;color:var(--pine-color-text-secondary);display:-ms-inline-flexbox;display:inline-flex;position:relative;text-decoration:none;white-space:nowrap}.pds-tab.is-active,.pds-tab[aria-selected=true]{color:var(--pine-color-text)}.pds-tab.is-active .pds-tab__content::after,.pds-tab[aria-selected=true] .pds-tab__content::after{opacity:1}.pds-tab:hover:not(:disabled){color:var(--pine-color-text)}.pds-tab:focus{outline:none}.pds-tab:focus-visible{outline:var(--pine-outline-focus);outline-offset:var(--pine-border-width)}.pds-tab:disabled,.pds-tab.is-disabled{color:var(--pine-color-text-disabled);cursor:not-allowed;pointer-events:none}.pds-tab .pds-tab__content{font-family:var(--pine-font-family-body);font-size:var(--pine-font-size);font-weight:var(--pine-font-weight-medium);letter-spacing:var(--pine-letter-spacing);line-height:var(--pine-line-height-body);-webkit-padding-after:11px;padding-block-end:11px;position:relative}.pds-tab .pds-tab__content::after{background-color:var(--pine-color-brand);content:\"\";height:3px;inset-block-end:var(--pine-dimension-none);inset-inline-end:var(--pine-dimension-none);inset-inline-start:var(--pine-dimension-none);opacity:0;position:absolute}.pds-tab .pds-tab-edge{display:none}.pds-tabs--availability{--color-background-tab:transparent}.pds-tabs--availability .pds-tab{background-color:var(--color-background-tab);border-radius:calc(var(--pine-dimension-xs) * 1.25) calc(var(--pine-dimension-xs) * 1.25) var(--pine-dimension-none) var(--pine-dimension-none);color:var(--pine-color-text-secondary);padding:8px 16px 13px}.pds-tabs--availability .pds-tab.is-active,.pds-tabs--availability .pds-tab[aria-selected=true]{--color-background-tab:var(--pine-color-secondary);color:var(--pine-color-text)}.pds-tabs--availability .pds-tab.is-active .pds-tab__content::after,.pds-tabs--availability .pds-tab[aria-selected=true] .pds-tab__content::after{opacity:1}.pds-tabs--availability .pds-tab.is-active .pds-tab-edge,.pds-tabs--availability .pds-tab[aria-selected=true] .pds-tab-edge{z-index:var(--pine-z-index-raised)}.pds-tabs--availability .pds-tab:hover:not(.is-active,[aria-selected=true],:disabled){--color-background-tab:var(--pine-color-secondary-hover);color:var(--pine-color-text)}.pds-tabs--availability .pds-tab:focus-visible{color:var(--pine-color-text-secondary)}.pds-tabs--availability .pds-tab:disabled,.pds-tabs--availability .pds-tab.is-disabled{--color-background-tab:transparent;color:var(--pine-color-text-disabled)}.pds-tabs--availability .pds-tab__content{-webkit-padding-after:7px;padding-block-end:7px}.pds-tabs--availability .pds-tab-edge{bottom:0;display:block;height:8px;inset-inline-end:100%;overflow:hidden;position:absolute;width:8px}.pds-tabs--availability .pds-tab-edge::before{border-radius:50%;bottom:0;-webkit-box-shadow:4px 4px 0 0 var(--color-background-tab);box-shadow:4px 4px 0 0 var(--color-background-tab);content:\"\";display:block;height:200%;inset-inline-end:0;position:absolute;width:200%}.pds-tabs--availability .pds-tab-edge--end{inset-inline-end:unset;inset-inline-start:100%}.pds-tabs--availability .pds-tab-edge--end::before{-webkit-box-shadow:-4px 4px 0 0 var(--color-background-tab);box-shadow:-4px 4px 0 0 var(--color-background-tab);inset-inline-end:unset;inset-inline-start:0}.pds-tabs--filter .pds-tab{background-color:var(--pine-color-background-muted);border-radius:50px;color:var(--pine-color-text);padding:6px 15px}.pds-tabs--filter .pds-tab.is-active,.pds-tabs--filter .pds-tab[aria-selected=true]{background-color:var(--pine-color-primary);color:var(--pine-color-text-primary)}.pds-tabs--filter .pds-tab.is-active:hover:not(:disabled),.pds-tabs--filter .pds-tab[aria-selected=true]:hover:not(:disabled){background-color:var(--pine-color-primary-hover)}.pds-tabs--filter .pds-tab:hover:not(.is-active,[aria-selected=true],:disabled){background-color:var(--pine-color-border-disabled)}.pds-tabs--filter .pds-tab:disabled,.pds-tabs--filter .pds-tab.is-disabled{background-color:transparent;color:var(--pine-color-text-disabled)}.pds-tabs--filter .pds-tab:disabled.is-active,.pds-tabs--filter .pds-tab:disabled[aria-selected=true],.pds-tabs--filter .pds-tab.is-disabled.is-active,.pds-tabs--filter .pds-tab.is-disabled[aria-selected=true]{background-color:var(--pine-color-primary-disabled)}.pds-tabs--filter .pds-tab__content{-webkit-padding-after:var(--pine-dimension-none);padding-block-end:var(--pine-dimension-none)}.pds-tabs--filter .pds-tab__content::after{content:unset}.pds-tabs--pill{--color-background-tab:transparent}.pds-tabs--pill .pds-tab{background-color:var(--color-background-tab);border:var(--pine-border-width-thin) solid transparent;border-radius:var(--pine-dimension-xs);color:var(--pine-color-text-muted);-ms-flex:1;flex:1;height:34px;-ms-flex-pack:center;justify-content:center}.pds-tabs--pill .pds-tab .pds-tab__content{-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;-webkit-padding-after:0;padding-block-end:0}.pds-tabs--pill .pds-tab.is-active,.pds-tabs--pill .pds-tab[aria-selected=true]{--color-background-tab:var(--pine-color-background-container);border-color:var(--pine-color-border);-webkit-box-shadow:var(--pine-box-shadow-100);box-shadow:var(--pine-box-shadow-100);color:var(--pine-color-text-active)}.pds-tabs--pill .pds-tab.is-active:focus-visible,.pds-tabs--pill .pds-tab[aria-selected=true]:focus-visible{border-color:var(--color-border-focus);outline:var(--pine-outline-focus);outline-offset:var(--pine-border-width)}.pds-tabs--pill .pds-tab.is-active,.pds-tabs--pill .pds-tab[aria-selected=true]{}.pds-tabs--pill .pds-tab.is-active .pds-tab__content::after,.pds-tabs--pill .pds-tab[aria-selected=true] .pds-tab__content::after{opacity:0}.pds-tabs--pill .pds-tab.is-active,.pds-tabs--pill .pds-tab[aria-selected=true]{}.pds-tabs--pill .pds-tab:disabled,.pds-tabs--pill .pds-tab.is-disabled{color:var(--pine-color-text-disabled)}";
|
|
15270
16061
|
|
|
15271
16062
|
class PdsTab {
|
|
15272
16063
|
constructor(hostRef) {
|
|
@@ -15297,9 +16088,9 @@ class PdsTab {
|
|
|
15297
16088
|
return classes.filter(Boolean).join(' ');
|
|
15298
16089
|
}
|
|
15299
16090
|
render() {
|
|
15300
|
-
const availabilityTabEdgeInlineStart = (hAsync("span", { key: '
|
|
15301
|
-
const availabilityTabEdgeInlineEnd = (hAsync("span", { key: '
|
|
15302
|
-
return (hAsync(Host, { key: '
|
|
16091
|
+
const availabilityTabEdgeInlineStart = (hAsync("span", { key: 'e8e263009d29fea16f1cf51de545f07d3529568d', class: "pds-tab-edge", role: "presentation" }));
|
|
16092
|
+
const availabilityTabEdgeInlineEnd = (hAsync("span", { key: 'f492586e916cddbbdf04c3a2cdb84ad0d669df36', class: "pds-tab-edge pds-tab-edge--end", role: "presentation" }));
|
|
16093
|
+
return (hAsync(Host, { key: 'ec4c47883d2a1721d7986a152f787852352cb058', variant: this.variant, slot: "tabs", index: this.index }, hAsync("button", { key: '2f2436892e5cf20e777bf9624c022a88177776dd', role: "tab", id: this.parentComponentId + "__" + this.name, "aria-controls": this.parentComponentId + "__" + this.name + "-panel", tabindex: this.disabled ? "-1" : (this.selected ? "0" : "-1"), "aria-selected": this.selected ? "true" : "false", "aria-disabled": this.disabled ? "true" : null, disabled: this.disabled, class: this.classNames(), onClick: this.onTabClick.bind(this, this.index, this.parentComponentId) }, this.variant === "availability" && availabilityTabEdgeInlineStart, this.variant === "availability" && availabilityTabEdgeInlineEnd, hAsync("div", { key: '202d34facfc70b5ca3ef6dfb9d9a2f36a09747d2', class: "pds-tab__content" }, hAsync("slot", { key: '002cc5de784ff0cd01b06688c2205a490c47d27b' })))));
|
|
15303
16094
|
}
|
|
15304
16095
|
get el() { return getElement(this); }
|
|
15305
16096
|
static get style() { return pdsTabCss; }
|
|
@@ -15587,7 +16378,7 @@ class PdsTableBody {
|
|
|
15587
16378
|
registerInstance(this, hostRef);
|
|
15588
16379
|
}
|
|
15589
16380
|
render() {
|
|
15590
|
-
return (hAsync(Host, { key: '
|
|
16381
|
+
return (hAsync(Host, { key: '1f6ce73abaf0ecb3f592f754bedef557c7ea197d', role: "rowgroup", part: "body" }, hAsync("slot", { key: '4a9758bb6c17de60cb345216d9b3e7c58cd44499' })));
|
|
15591
16382
|
}
|
|
15592
16383
|
static get style() { return pdsTableBodyCss; }
|
|
15593
16384
|
static get cmpMeta() { return {
|
|
@@ -15698,11 +16489,11 @@ class PdsTableCell {
|
|
|
15698
16489
|
return classNames.join(' ');
|
|
15699
16490
|
}
|
|
15700
16491
|
render() {
|
|
15701
|
-
return (hAsync(Host, { key: '
|
|
16492
|
+
return (hAsync(Host, { key: '102c412e68bd877ee88866d2c66838d62cb7cab2', class: this.classNames(), role: "gridcell", part: "cell", style: this.tableRef &&
|
|
15702
16493
|
this.tableRef.fixedColumn &&
|
|
15703
16494
|
this.tableRef.selectable
|
|
15704
16495
|
? { '--fixed-cell-position': '40px' }
|
|
15705
|
-
: {} }, hAsync("slot", { key: '
|
|
16496
|
+
: {} }, hAsync("slot", { key: 'fae2d378d6e1c5c3abb34cb4a75b74930d56965c' })));
|
|
15706
16497
|
}
|
|
15707
16498
|
get hostElement() { return getElement(this); }
|
|
15708
16499
|
static get style() { return pdsTableCellCss; }
|
|
@@ -15774,7 +16565,7 @@ class PdsTableHead {
|
|
|
15774
16565
|
}
|
|
15775
16566
|
}
|
|
15776
16567
|
render() {
|
|
15777
|
-
return (hAsync(Host, { key: '
|
|
16568
|
+
return (hAsync(Host, { key: 'b68c0d7259cfced019c138dc4504c142e7e12ff9', role: "row", part: "head" }, this.tableRef && this.tableRef.selectable && (hAsync("pds-table-head-cell", { key: '90c91ee525359986e7878e8ae647411bf9b4a637', part: this.tableRef.selectable ? 'checkbox-cell' : '' }, hAsync("pds-checkbox", { key: 'd79ebef09df3424ed36d8838ecdc5ca6a0029c8a', componentId: this.generateUniqueId(), indeterminate: this.indeterminate, onInput: this.handleInput, label: "Select All Rows", hideLabel: true, checked: this.isSelected, part: "select-all-checkbox" }))), hAsync("slot", { key: '17eca8a861fceb73b8d957ab0d5ba2cf7b256b55' })));
|
|
15778
16569
|
}
|
|
15779
16570
|
get hostElement() { return getElement(this); }
|
|
15780
16571
|
static get style() { return pdsTableHeadCss; }
|
|
@@ -15825,6 +16616,11 @@ class PdsTableHeadCell {
|
|
|
15825
16616
|
* @defaultValue false
|
|
15826
16617
|
*/
|
|
15827
16618
|
this.hasHeadBackground = false;
|
|
16619
|
+
/**
|
|
16620
|
+
* Determines if this column is the currently active sorted column.
|
|
16621
|
+
* @defaultValue false
|
|
16622
|
+
*/
|
|
16623
|
+
this.isActive = false;
|
|
15828
16624
|
/**
|
|
15829
16625
|
* Handles scroll events to update fixed column shadow state.
|
|
15830
16626
|
* Updates the tableScrolling state to control CSS classes for fixed column shadows.
|
|
@@ -15843,12 +16639,25 @@ class PdsTableHeadCell {
|
|
|
15843
16639
|
};
|
|
15844
16640
|
this.toggleSort = () => {
|
|
15845
16641
|
if (this.sortable) {
|
|
16642
|
+
// Guard: return early if tableRef is not available
|
|
16643
|
+
if (!this.tableRef) {
|
|
16644
|
+
return;
|
|
16645
|
+
}
|
|
15846
16646
|
const column = this.hostElement.innerText.trim();
|
|
16647
|
+
// Always toggle the direction (preserves original behavior)
|
|
15847
16648
|
this.sortingDirection = this.sortingDirection === 'asc' ? 'desc' : 'asc';
|
|
15848
|
-
|
|
15849
|
-
|
|
16649
|
+
// Reset all OTHER head cells to inactive state (skip the current one)
|
|
16650
|
+
this.tableRef.querySelectorAll('pds-table-head-cell').forEach(async (headCell) => {
|
|
16651
|
+
// Skip clearing the current cell
|
|
16652
|
+
if (headCell !== this.hostElement) {
|
|
16653
|
+
const headCellComponent = headCell;
|
|
16654
|
+
await headCellComponent.clearActiveSort();
|
|
16655
|
+
}
|
|
15850
16656
|
});
|
|
15851
|
-
this
|
|
16657
|
+
// Mark this column as active
|
|
16658
|
+
this.isActive = true;
|
|
16659
|
+
this.hostElement.classList.add('is-active');
|
|
16660
|
+
// Emit the sort event with the current direction
|
|
15852
16661
|
this.pdsTableSort.emit({ column, direction: this.sortingDirection });
|
|
15853
16662
|
}
|
|
15854
16663
|
};
|
|
@@ -15862,8 +16671,17 @@ class PdsTableHeadCell {
|
|
|
15862
16671
|
if (!this.sortable)
|
|
15863
16672
|
return;
|
|
15864
16673
|
this.sortingDirection = direction;
|
|
16674
|
+
this.isActive = true;
|
|
15865
16675
|
this.hostElement.classList.add('is-active');
|
|
15866
16676
|
}
|
|
16677
|
+
/**
|
|
16678
|
+
* Clears the active sort state from this column.
|
|
16679
|
+
* Used internally when another column becomes active.
|
|
16680
|
+
*/
|
|
16681
|
+
async clearActiveSort() {
|
|
16682
|
+
this.isActive = false;
|
|
16683
|
+
this.hostElement.classList.remove('is-active');
|
|
16684
|
+
}
|
|
15867
16685
|
componentWillLoad() {
|
|
15868
16686
|
// Set initial references and state before first render
|
|
15869
16687
|
this.tableRef = this.hostElement.closest('pds-table');
|
|
@@ -15968,11 +16786,11 @@ class PdsTableHeadCell {
|
|
|
15968
16786
|
return classNames.join(' ');
|
|
15969
16787
|
}
|
|
15970
16788
|
render() {
|
|
15971
|
-
return (hAsync(Host, { key: '
|
|
16789
|
+
return (hAsync(Host, { key: '7e85fb5e6b5fc1022034db9e4c94ca13dfc56257', class: this.classNames(), role: "columnheader", onClick: this.toggleSort, part: "head-cell", style: this.tableRef &&
|
|
15972
16790
|
this.tableRef.fixedColumn &&
|
|
15973
16791
|
this.tableRef.selectable
|
|
15974
16792
|
? { '--fixed-cell-position': '40px' }
|
|
15975
|
-
: {} }, hAsync("slot", { key: '
|
|
16793
|
+
: {} }, hAsync("slot", { key: '97d2b9621f7d61ad42719a4cc9f640a1210d78dc' }), this.sortable && this.isActive && (hAsync("pds-icon", { key: 'd80efe9b417ae34bf50f65b0e9cb15bcc9aabd40', icon: this.sortingDirection === 'asc' ? upSmall : downSmall, part: "sort-icon" }))));
|
|
15976
16794
|
}
|
|
15977
16795
|
get hostElement() { return getElement(this); }
|
|
15978
16796
|
static get style() { return pdsTableHeadCellCss; }
|
|
@@ -15987,7 +16805,9 @@ class PdsTableHeadCell {
|
|
|
15987
16805
|
"isSelected": [32],
|
|
15988
16806
|
"hasHeadBorder": [32],
|
|
15989
16807
|
"hasHeadBackground": [32],
|
|
15990
|
-
"
|
|
16808
|
+
"isActive": [32],
|
|
16809
|
+
"setActiveSort": [64],
|
|
16810
|
+
"clearActiveSort": [64]
|
|
15991
16811
|
},
|
|
15992
16812
|
"$listeners$": undefined,
|
|
15993
16813
|
"$lazyBundleId$": "-",
|
|
@@ -16136,7 +16956,7 @@ class PdsTableRow {
|
|
|
16136
16956
|
}
|
|
16137
16957
|
}
|
|
16138
16958
|
render() {
|
|
16139
|
-
return (hAsync(Host, { key: '
|
|
16959
|
+
return (hAsync(Host, { key: '900905bc103a54d3f13b59a66cfd53178de0da49', class: this.classNames(), role: "row", part: "row" }, this.tableRef && this.tableRef.selectable && (hAsync("pds-table-cell", { key: 'f5a5a0426f15182e278b052090c71f45e8848347', part: this.tableRef.fixedColumn ? 'checkbox-cell' : 'checkbox-cell', class: this.tableRef.selectable ? 'has-checkbox' : '' }, hAsync("pds-checkbox", { key: '1fd91b0d4bf412dc3a2705fcb5909e42a54bde56', componentId: this.generateUniqueId(), onClick: this.handleClick, indeterminate: this.indeterminate, label: "Select Row", hideLabel: true, checked: this.isSelected, part: "row-checkbox" }))), hAsync("slot", { key: '17a60a0251a36613cc8631efe780020d4a5e1167' })));
|
|
16140
16960
|
}
|
|
16141
16961
|
get hostElement() { return getElement(this); }
|
|
16142
16962
|
static get style() { return pdsTableRowCss; }
|
|
@@ -16167,7 +16987,7 @@ class PdsTabpanel {
|
|
|
16167
16987
|
this.selected = false; // eslint-disable-line @stencil-community/strict-mutable
|
|
16168
16988
|
}
|
|
16169
16989
|
render() {
|
|
16170
|
-
return (hAsync(Host, { key: '
|
|
16990
|
+
return (hAsync(Host, { key: '0f64285738a96afa3cf2e1134201e942cf04b0ee', slot: "tabpanels" }, hAsync("div", { key: 'f677ed3b377ce2f5f6868831369338829af89868', role: "tabpanel", id: this.parentComponentId + "__" + this.name + '-panel', tabindex: "0", "aria-labelledby": this.parentComponentId + "__" + this.name, class: this.selected ? "pds-tabpanel is-active" : "pds-tabpanel" }, hAsync("slot", { key: '46a236b465f387508aa494ecf80aa146cecd4ade' }))));
|
|
16171
16991
|
}
|
|
16172
16992
|
get el() { return getElement(this); }
|
|
16173
16993
|
static get style() { return pdsTabpanelCss; }
|
|
@@ -16279,7 +17099,7 @@ class PdsTabs {
|
|
|
16279
17099
|
this.passPropsToChildren();
|
|
16280
17100
|
}
|
|
16281
17101
|
render() {
|
|
16282
|
-
return (hAsync(Host, { key: '
|
|
17102
|
+
return (hAsync(Host, { key: 'fee342f0fbc06387fd964a518c0e97a091d1aded', "active-tab-name": this.activeTabName, class: this.classNames(), id: this.componentId }, hAsync("div", { key: '7512b1d02a8320aad1e2934428dec970ff0c1743', class: "pds-tabs__tablist", role: "tablist", "aria-label": this.tablistLabel, part: "tab-list" }, hAsync("slot", { key: 'dccf28dad2d084185e5f1b0f1f1eeab1c77cd541', name: "tabs" })), hAsync("slot", { key: 'bd8b9040808925ea5f1c73c06d636f35c297b4b7', name: "tabpanels" })));
|
|
16283
17103
|
}
|
|
16284
17104
|
get el() { return getElement(this); }
|
|
16285
17105
|
static get style() { return pdsTabsCss; }
|
|
@@ -16322,7 +17142,7 @@ class PdsText {
|
|
|
16322
17142
|
${this.weight !== undefined && this.weight.trim() !== '' ? `pds-text--weight-${this.weight}` : ''}
|
|
16323
17143
|
${this.decoration !== undefined && this.decoration.trim() !== '' ? `pds-text--decoration-${this.decoration}` : ''}
|
|
16324
17144
|
`;
|
|
16325
|
-
return (hAsync(Tag, { key: '
|
|
17145
|
+
return (hAsync(Tag, { key: '5f7d43603c8d412a375d2e49818b363b5e9a142b', style: this.color && setColor(this.color), class: typeClasses, part: "content" }, hAsync("slot", { key: '702d5065297e0405295aa941cd39dba38787519e' })));
|
|
16326
17146
|
}
|
|
16327
17147
|
get el() { return getElement(this); }
|
|
16328
17148
|
static get style() { return pdsTextCss; }
|
|
@@ -16510,8 +17330,8 @@ class PdsTextarea {
|
|
|
16510
17330
|
}
|
|
16511
17331
|
connectedCallback() {
|
|
16512
17332
|
this.debounceChanged();
|
|
16513
|
-
// Initialize ElementInternals for form association
|
|
16514
|
-
if (this.el.attachInternals) {
|
|
17333
|
+
// Initialize ElementInternals for form association (only once per element instance)
|
|
17334
|
+
if (this.el.attachInternals && !this.internals) {
|
|
16515
17335
|
this.internals = this.el.attachInternals();
|
|
16516
17336
|
}
|
|
16517
17337
|
}
|
|
@@ -16647,10 +17467,10 @@ class PdsTextarea {
|
|
|
16647
17467
|
}
|
|
16648
17468
|
render() {
|
|
16649
17469
|
const value = this.getValue();
|
|
16650
|
-
return (hAsync(Host, { key: '
|
|
16651
|
-
hAsync("div", { key: '
|
|
16652
|
-
hAsync("p", { key: '
|
|
16653
|
-
hAsync("p", { key: '
|
|
17470
|
+
return (hAsync(Host, { key: '89ecd4a781f49c6db2efcb993ea5ce2cdcabab95', "aria-disabled": this.disabled ? 'true' : null, "aria-readonly": this.readonly ? 'true' : null, "has-action": this.hasAction && !this.hideLabel ? 'true' : null }, hAsync("div", { key: '3970d9a4d469103ea6355b79642a67ea6be748df', class: "pds-textarea" }, this.label &&
|
|
17471
|
+
hAsync("div", { key: '74763078aefb4130859e2dac108c09ec70b7c57e', class: "pds-textarea__label-wrapper" }, hAsync("label", { key: 'b40e73f522b76424a69b8423544deb3442d3d508', htmlFor: this.componentId }, hAsync("span", { key: '176b4c9fc6e41e0744a9a5e384b25c29ff759d6f', class: this.hideLabel ? 'visually-hidden' : '' }, this.label)), !this.hideLabel && this.renderAction()), hAsync("div", { key: 'f2b0730430d5c3830193c5af859a5e5e6665017a', class: "pds-textarea__field-wrapper" }, hAsync("textarea", Object.assign({ key: '293a1b5fd1c5f7c58077ecd7967d28001b8d423c', 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 &&
|
|
17472
|
+
hAsync("p", { key: 'e9e848434ad237c6aeef144dbf7e23dee57caf55', class: "pds-textarea__helper-message", id: messageId(this.componentId, 'helper') }, this.helperMessage), this.invalid &&
|
|
17473
|
+
hAsync("p", { key: 'f1069f927a6d475a6b7dfa0f17eedcb04ed821ad', "aria-live": "assertive", class: "pds-textarea__error-message", id: messageId(this.componentId, 'error') }, hAsync("pds-icon", { key: 'ad1105ae8d86d760d981a2fe3f888b219eaaa91e', icon: danger, size: "small" }), this.errorMessage))));
|
|
16654
17474
|
}
|
|
16655
17475
|
static get formAssociated() { return true; }
|
|
16656
17476
|
get el() { return getElement(this); }
|
|
@@ -16773,13 +17593,13 @@ class PdsToast {
|
|
|
16773
17593
|
return this.icon && hAsync("pds-icon", { name: this.icon, class: "pds-toast__icon" });
|
|
16774
17594
|
}
|
|
16775
17595
|
render() {
|
|
16776
|
-
return (hAsync(Host, { key: '
|
|
17596
|
+
return (hAsync(Host, { key: 'bcc7fe0ad3b7823a940249fccfce30edfc1e808d', hidden: !this.isVisible }, hAsync("div", { key: '5265cbbdf05278cbd565e34f63b6c9566ec14290', class: {
|
|
16777
17597
|
'pds-toast': true,
|
|
16778
17598
|
[`pds-toast--${this.type}`]: this.type !== 'default',
|
|
16779
17599
|
'pds-toast--animating-out': this.isAnimatingOut
|
|
16780
|
-
}, role: "alert", "aria-live": "polite" }, this.renderIcon(), hAsync("span", { key: '
|
|
17600
|
+
}, role: "alert", "aria-live": "polite" }, this.renderIcon(), hAsync("span", { key: 'd650b57fb5cddeb369d8245b239423575da63cd8', class: "pds-toast__message" }, hAsync("slot", { key: 'd4e2d6b6136b75dfd97a37da4588c8c51ca4bcd0' })), this.dismissible && (hAsync("button", { key: 'c89170f321c47b83096a01aaa8012298dc3ca440', type: "button", class: "pds-toast__button", onClick: () => {
|
|
16781
17601
|
this.dismiss();
|
|
16782
|
-
}, "aria-label": "Dismiss message" }, hAsync("pds-icon", { key: '
|
|
17602
|
+
}, "aria-label": "Dismiss message" }, hAsync("pds-icon", { key: '359c0c05ddd6db8e7711fc0212bf80569106ecf4', name: "remove" }))))));
|
|
16783
17603
|
}
|
|
16784
17604
|
static get watchers() { return {
|
|
16785
17605
|
"duration": ["handleDurationChange"]
|
|
@@ -17119,9 +17939,9 @@ class PdsTooltip {
|
|
|
17119
17939
|
}
|
|
17120
17940
|
render() {
|
|
17121
17941
|
const hostId = this.componentId || undefined;
|
|
17122
|
-
return (hAsync(Host, { key: '
|
|
17942
|
+
return (hAsync(Host, { key: '41dffb4751c1e40789de07ec5b2f96202cedb82c', id: hostId, class: { 'pds-tooltip--is-open': this.opened } }, hAsync("span", { key: '156d6e9d23d3194caa387db9de35226d2d5fd02f', class: "pds-tooltip__trigger", onMouseEnter: this.handleShow, onMouseLeave: this.handleHide,
|
|
17123
17943
|
/* focusin/out bubble; ensure keyboard users see tooltips */
|
|
17124
|
-
onFocusin: this.handleShow, onFocusout: this.handleHide, ref: el => this.triggerEl = el }, hAsync("slot", { key: '
|
|
17944
|
+
onFocusin: this.handleShow, onFocusout: this.handleHide, ref: el => this.triggerEl = el }, hAsync("slot", { key: 'e67bae6e3c9726c39d193e5771c0e66818575c65' })), hAsync("div", { key: '60ec7b351e574b2e2fc8b0b8c8b87f4977e6eed7', class: "pds-tooltip__content-slot-wrapper", hidden: true }, hAsync("slot", { key: 'b66966dba3d142401e588b7437689c0f6386cfcd', name: "content" }))));
|
|
17125
17945
|
}
|
|
17126
17946
|
get el() { return getElement(this); }
|
|
17127
17947
|
static get watchers() { return {
|
|
@@ -17176,6 +17996,7 @@ registerComponents([
|
|
|
17176
17996
|
PdsModalContent,
|
|
17177
17997
|
PdsModalFooter,
|
|
17178
17998
|
PdsModalHeader,
|
|
17999
|
+
PdsMultiselect,
|
|
17179
18000
|
PdsPopover,
|
|
17180
18001
|
PdsProgress,
|
|
17181
18002
|
PdsProperty,
|