@pine-ds/core 5.0.0-mercury.0 → 5.0.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/aria-references.js +1 -0
- package/components/attributes.js +1 -0
- package/components/closest.js +1 -11
- package/components/floating-ui.dom.js +1 -0
- package/components/form.js +1 -0
- package/components/i18n-format.js +1 -0
- package/components/index.d.ts +51 -0
- package/components/index.js +1 -33
- package/components/index2.js +1 -14
- package/components/keep-hydrated.js +1 -0
- package/components/mock-pds-modal.d.ts +11 -0
- package/components/mock-pds-modal.js +1 -0
- package/components/pds-accordion.js +1 -68
- package/components/pds-alert.d.ts +11 -0
- package/components/pds-alert.js +1 -0
- package/components/pds-avatar.js +1 -103
- package/components/pds-box.js +1 -124
- package/components/pds-box2.js +1 -0
- package/components/pds-button.js +1 -8
- package/components/pds-button2.js +1 -84
- package/components/pds-checkbox.js +1 -8
- package/components/pds-checkbox2.js +1 -101
- package/components/pds-chip.js +1 -78
- package/components/pds-chip2.js +1 -0
- package/components/pds-combobox.d.ts +11 -0
- package/components/pds-combobox.js +2 -0
- package/components/pds-container.d.ts +11 -0
- package/components/pds-container.js +1 -0
- package/components/pds-copytext.js +1 -88
- package/components/pds-datepicker.d.ts +11 -0
- package/components/pds-datepicker.js +1 -0
- package/components/pds-divider.js +1 -54
- package/components/pds-drawer-content.d.ts +11 -0
- package/components/pds-drawer-content.js +1 -0
- package/components/pds-drawer-footer.d.ts +11 -0
- package/components/pds-drawer-footer.js +1 -0
- package/components/pds-drawer-header.d.ts +11 -0
- package/components/pds-drawer-header.js +1 -0
- package/components/pds-drawer.d.ts +11 -0
- package/components/pds-drawer.js +1 -0
- package/components/pds-dropdown-menu-item.d.ts +11 -0
- package/components/pds-dropdown-menu-item.js +1 -0
- package/components/pds-dropdown-menu-separator.d.ts +11 -0
- package/components/pds-dropdown-menu-separator.js +1 -0
- package/components/pds-dropdown-menu.d.ts +11 -0
- package/components/pds-dropdown-menu.js +1 -0
- package/components/pds-filter.d.ts +11 -0
- package/components/pds-filter.js +1 -0
- package/components/pds-filters.d.ts +11 -0
- package/components/pds-filters.js +1 -0
- package/components/pds-icon.js +1 -8
- package/components/pds-icon2.js +1 -370
- package/components/pds-image.js +1 -55
- package/components/pds-input.js +1 -72
- package/components/pds-input2.js +1 -0
- package/components/pds-link.js +1 -65
- package/components/pds-link2.js +1 -0
- package/components/pds-loader.js +1 -68
- package/components/pds-loader2.js +1 -0
- package/components/pds-modal-content.d.ts +11 -0
- package/components/pds-modal-content.js +1 -0
- package/components/pds-modal-footer.d.ts +11 -0
- package/components/pds-modal-footer.js +1 -0
- package/components/pds-modal-header.d.ts +11 -0
- package/components/pds-modal-header.js +1 -0
- package/components/pds-modal.d.ts +11 -0
- package/components/pds-modal.js +1 -0
- package/components/pds-modal2.js +1 -0
- package/components/pds-multiselect.d.ts +11 -0
- package/components/pds-multiselect.js +1 -0
- package/components/pds-popover.d.ts +11 -0
- package/components/pds-popover.js +1 -0
- package/components/pds-progress.js +1 -49
- package/components/pds-property.d.ts +11 -0
- package/components/pds-property.js +1 -0
- package/components/pds-radio-group.d.ts +11 -0
- package/components/pds-radio-group.js +1 -0
- package/components/pds-radio.js +1 -78
- package/components/pds-row.js +1 -72
- package/components/pds-select.d.ts +11 -0
- package/components/pds-select.js +1 -0
- package/components/pds-sortable-item.js +1 -58
- package/components/pds-sortable.js +3 -2718
- package/components/pds-switch.js +1 -82
- package/components/pds-tab.js +1 -53
- package/components/pds-table-body.js +1 -36
- package/components/pds-table-cell.js +1 -8
- package/components/pds-table-cell2.js +1 -72
- package/components/pds-table-head-cell.js +1 -8
- package/components/pds-table-head-cell2.js +1 -98
- package/components/pds-table-head.js +1 -90
- package/components/pds-table-row.js +1 -95
- package/components/pds-table.js +1 -124
- package/components/pds-tabpanel.js +1 -45
- package/components/pds-tabs.js +1 -119
- package/components/pds-text.d.ts +11 -0
- package/components/pds-text.js +1 -0
- package/components/pds-text2.js +1 -0
- package/components/pds-textarea.js +1 -82
- package/components/pds-toast.d.ts +11 -0
- package/components/pds-toast.js +1 -0
- package/components/pds-tooltip.js +1 -178
- package/components/portal-target.js +1 -0
- package/components/reconnected-content.js +1 -0
- package/components/reflected-attribute-default.js +1 -0
- package/components/scroll.js +1 -0
- package/components/sortable-label.js +1 -0
- package/components/tabbable.js +1 -0
- package/components/truncation-tooltip.js +1 -0
- package/components/utils.js +1 -0
- package/dist/cjs/aria-references-CUmqibnO.js +54 -0
- package/dist/cjs/attributes-Cgbkw6gO.js +188 -0
- package/dist/cjs/closest-D0qyYtJ3.js +20 -0
- package/dist/cjs/floating-ui.dom-Dw41zbyY.js +1715 -0
- package/dist/cjs/form-MhwfKTuo.js +69 -0
- package/dist/cjs/i18n-format-BD0PmYzT.js +65 -0
- package/dist/cjs/index-BDnbr0DK.js +39 -0
- package/dist/cjs/index-D9iJuJCP.js +2950 -0
- package/dist/cjs/index.cjs.js +21 -2
- package/dist/cjs/keep-hydrated-AKoh0DG4.js +197 -0
- package/dist/cjs/loader.cjs.js +4 -8
- package/dist/cjs/mock-pds-modal.cjs.entry.js +92 -0
- package/dist/cjs/pds-accordion.cjs.entry.js +16 -14
- package/dist/cjs/pds-alert.cjs.entry.js +88 -0
- package/dist/cjs/pds-avatar.cjs.entry.js +123 -28
- package/dist/cjs/pds-box.cjs.entry.js +143 -58
- package/dist/cjs/pds-button.cjs.entry.js +234 -25
- package/dist/cjs/pds-checkbox.cjs.entry.js +102 -26
- package/dist/cjs/pds-chip.cjs.entry.js +226 -23
- package/dist/cjs/pds-combobox.cjs.entry.js +4500 -0
- package/dist/cjs/pds-container.cjs.entry.js +37 -0
- package/dist/cjs/pds-copytext.cjs.entry.js +98 -17
- package/dist/cjs/pds-datepicker.cjs.entry.js +2139 -0
- package/dist/cjs/pds-divider.cjs.entry.js +16 -11
- package/dist/cjs/pds-drawer-content.cjs.entry.js +24 -0
- package/dist/cjs/pds-drawer-footer.cjs.entry.js +24 -0
- package/dist/cjs/pds-drawer-header.cjs.entry.js +24 -0
- package/dist/cjs/pds-drawer.cjs.entry.js +156 -0
- package/dist/cjs/pds-dropdown-menu-item.cjs.entry.js +151 -0
- package/dist/cjs/pds-dropdown-menu-separator.cjs.entry.js +23 -0
- package/dist/cjs/pds-dropdown-menu.cjs.entry.js +453 -0
- package/dist/cjs/pds-filter.cjs.entry.js +512 -0
- package/dist/cjs/pds-filters.cjs.entry.js +18 -0
- package/dist/cjs/pds-icon.cjs.entry.js +334 -44
- package/dist/cjs/pds-image.cjs.entry.js +158 -16
- package/dist/cjs/pds-input.cjs.entry.js +300 -26
- package/dist/cjs/pds-link.cjs.entry.js +50 -13
- package/dist/cjs/pds-loader.cjs.entry.js +49 -14
- package/dist/cjs/pds-modal-content.cjs.entry.js +199 -0
- package/dist/cjs/pds-modal-footer.cjs.entry.js +24 -0
- package/dist/cjs/pds-modal-header.cjs.entry.js +24 -0
- package/dist/cjs/pds-modal.cjs.entry.js +592 -0
- package/dist/cjs/pds-multiselect.cjs.entry.js +1384 -0
- package/dist/cjs/pds-popover.cjs.entry.js +1103 -0
- package/dist/cjs/pds-progress.cjs.entry.js +30 -12
- package/dist/cjs/pds-property.cjs.entry.js +22 -0
- package/dist/cjs/pds-radio-group.cjs.entry.js +260 -0
- package/dist/cjs/pds-radio.cjs.entry.js +101 -23
- package/dist/cjs/pds-row.cjs.entry.js +50 -21
- package/dist/cjs/pds-select.cjs.entry.js +380 -0
- package/dist/cjs/pds-sortable-item.cjs.entry.js +59 -11
- package/dist/cjs/pds-sortable.cjs.entry.js +504 -119
- package/dist/cjs/pds-switch.cjs.entry.js +185 -27
- package/dist/cjs/pds-tab.cjs.entry.js +78 -16
- package/dist/cjs/pds-table-body.cjs.entry.js +5 -9
- package/dist/cjs/pds-table-cell.cjs.entry.js +150 -19
- package/dist/cjs/pds-table-head-cell.cjs.entry.js +222 -30
- package/dist/cjs/pds-table-head.cjs.entry.js +17 -13
- package/dist/cjs/pds-table-row.cjs.entry.js +104 -16
- package/dist/cjs/pds-table.cjs.entry.js +434 -22
- package/dist/cjs/pds-tabpanel.cjs.entry.js +32 -13
- package/dist/cjs/pds-tabs.cjs.entry.js +206 -18
- package/dist/cjs/pds-text.cjs.entry.js +141 -0
- package/dist/cjs/pds-textarea.cjs.entry.js +318 -29
- package/dist/cjs/pds-toast.cjs.entry.js +156 -0
- package/dist/cjs/pds-tooltip.cjs.entry.js +401 -110
- package/dist/cjs/pine-core.cjs.js +8 -10
- package/dist/cjs/portal-target-e8WQ6dLx.js +70 -0
- package/dist/cjs/reconnected-content-CpnEQcTp.js +29 -0
- package/dist/cjs/reflected-attribute-default-DVYHG6O1.js +44 -0
- package/dist/cjs/scroll-2XcoE_6Q.js +79 -0
- package/dist/cjs/sortable-label-DOcJrHvA.js +37 -0
- package/dist/cjs/tabbable-BrrrGvdG.js +86 -0
- package/dist/cjs/truncation-tooltip-CM5HgRHh.js +430 -0
- package/dist/cjs/utils-BhRmyxT8.js +121 -0
- package/dist/collection/collection-manifest.json +30 -3
- package/dist/collection/components/_internal/pds-label/pds-label.js +0 -1
- package/dist/collection/components/pds-accordion/pds-accordion.css +24 -29
- package/dist/collection/components/pds-accordion/pds-accordion.js +36 -9
- package/dist/collection/components/pds-accordion/stories/pds-accordion.stories.js +12 -18
- package/dist/collection/components/pds-alert/pds-alert.css +141 -0
- package/dist/collection/components/pds-alert/pds-alert.js +291 -0
- package/dist/collection/components/pds-alert/pds-alert.tokens.css +85 -0
- package/dist/collection/components/pds-alert/stories/pds-alert.stories.js +114 -0
- package/dist/collection/components/pds-avatar/pds-avatar.css +56 -23
- package/dist/collection/components/pds-avatar/pds-avatar.js +284 -32
- package/dist/collection/components/pds-avatar/stories/pds-avatar.stories.js +41 -3
- package/dist/collection/components/pds-box/pds-box.css +5520 -264
- package/dist/collection/components/pds-box/pds-box.js +2854 -252
- package/dist/collection/components/pds-box/stories/pds-box.stories.js +86 -30
- package/dist/collection/components/pds-button/pds-button.css +255 -93
- package/dist/collection/components/pds-button/pds-button.js +470 -40
- package/dist/collection/components/pds-button/stories/pds-button.stories.js +242 -16
- package/dist/collection/components/pds-checkbox/checkbox-interface.js +0 -1
- package/dist/collection/components/pds-checkbox/pds-checkbox.css +168 -60
- package/dist/collection/components/pds-checkbox/pds-checkbox.js +186 -54
- package/dist/collection/components/pds-checkbox/stories/pds-checkbox.stories.js +45 -15
- package/dist/collection/components/pds-chip/pds-chip.css +239 -114
- package/dist/collection/components/pds-chip/pds-chip.js +437 -60
- package/dist/collection/components/pds-chip/pds-chip.tokens.css +69 -0
- package/dist/collection/components/pds-chip/stories/pds-chip.stories.js +164 -24
- package/dist/collection/components/pds-combobox/combobox-interface.js +1 -0
- package/dist/collection/components/pds-combobox/grouped-options-panel.js +318 -0
- package/dist/collection/components/pds-combobox/pds-combobox.css +953 -0
- package/dist/collection/components/pds-combobox/pds-combobox.js +3839 -0
- package/dist/collection/components/pds-combobox/stories/pds-combobox.stories.js +934 -0
- package/dist/collection/components/pds-container/pds-container.css +26 -0
- package/dist/collection/components/pds-container/pds-container.js +111 -0
- package/dist/collection/components/pds-container/stories/pds-container.stories.js +89 -0
- package/dist/collection/components/pds-copytext/pds-copytext.css +39 -51
- package/dist/collection/components/pds-copytext/pds-copytext.js +116 -23
- package/dist/collection/components/pds-copytext/stories/pds-copytext.stories.js +6 -12
- package/dist/collection/components/pds-datepicker/calendar-portal.js +99 -0
- package/dist/collection/components/pds-datepicker/date-utils.js +174 -0
- package/dist/collection/components/pds-datepicker/datepicker-interface.js +1 -0
- package/dist/collection/components/pds-datepicker/pds-datepicker.css +547 -0
- package/dist/collection/components/pds-datepicker/pds-datepicker.js +2505 -0
- package/dist/collection/components/pds-datepicker/presets.js +131 -0
- package/dist/collection/components/pds-datepicker/stories/pds-datepicker.stories.js +206 -0
- package/dist/collection/components/pds-datepicker/value.js +296 -0
- package/dist/collection/components/pds-divider/pds-divider.css +71 -40
- package/dist/collection/components/pds-divider/pds-divider.js +47 -11
- package/dist/collection/components/pds-divider/stories/pds-divider.stories.js +7 -2
- package/dist/collection/components/pds-drawer/pds-drawer-content/pds-drawer-content.css +22 -0
- package/dist/collection/components/pds-drawer/pds-drawer-content/pds-drawer-content.js +27 -0
- package/dist/collection/components/pds-drawer/pds-drawer-footer/pds-drawer-footer.css +15 -0
- package/dist/collection/components/pds-drawer/pds-drawer-footer/pds-drawer-footer.js +27 -0
- package/dist/collection/components/pds-drawer/pds-drawer-header/pds-drawer-header.css +15 -0
- package/dist/collection/components/pds-drawer/pds-drawer-header/pds-drawer-header.js +27 -0
- package/dist/collection/components/pds-drawer/pds-drawer.css +47 -0
- package/dist/collection/components/pds-drawer/pds-drawer.js +405 -0
- package/dist/collection/components/pds-drawer/stories/pds-drawer.stories.js +77 -0
- package/dist/collection/components/pds-dropdown-menu/pds-dropdown-menu-item/pds-dropdown-menu-item.css +93 -0
- package/dist/collection/components/pds-dropdown-menu/pds-dropdown-menu-item/pds-dropdown-menu-item.js +398 -0
- package/dist/collection/components/pds-dropdown-menu/pds-dropdown-menu-separator/pds-dropdown-menu-separator.css +7 -0
- package/dist/collection/components/pds-dropdown-menu/pds-dropdown-menu-separator/pds-dropdown-menu-separator.js +71 -0
- package/dist/collection/components/pds-dropdown-menu/pds-dropdown-menu.css +68 -0
- package/dist/collection/components/pds-dropdown-menu/pds-dropdown-menu.js +545 -0
- package/dist/collection/components/pds-dropdown-menu/stories/pds-dropdown-menu.stories.js +100 -0
- package/dist/collection/components/pds-filters/pds-filter/filter-interface.js +1 -0
- package/dist/collection/components/pds-filters/pds-filter/pds-filter.css +200 -0
- package/dist/collection/components/pds-filters/pds-filter/pds-filter.js +756 -0
- package/dist/collection/components/pds-filters/pds-filter/stories/pds-filter.stories.js +87 -0
- package/dist/collection/components/pds-filters/pds-filters.css +10 -0
- package/dist/collection/components/pds-filters/pds-filters.js +44 -0
- package/dist/collection/components/pds-filters/stories/pds-filters.stories.js +34 -0
- package/dist/collection/components/pds-icon/stories/pds-icon.stories.js +2 -2
- package/dist/collection/components/pds-image/image-interface.js +1 -0
- package/dist/collection/components/pds-image/pds-image.css +13 -1
- package/dist/collection/components/pds-image/pds-image.js +297 -31
- package/dist/collection/components/pds-image/stories/pds-image.stories.js +124 -8
- package/dist/collection/components/pds-input/input-interface.js +1 -0
- package/dist/collection/components/pds-input/pds-input.css +275 -63
- package/dist/collection/components/pds-input/pds-input.js +687 -57
- package/dist/collection/components/pds-input/pds-input.tokens.css +3 -0
- package/dist/collection/components/pds-input/stories/pds-input.stories.js +310 -14
- package/dist/collection/components/pds-link/pds-link.css +45 -30
- package/dist/collection/components/pds-link/pds-link.js +332 -19
- package/dist/collection/components/pds-link/stories/pds-link.stories.js +82 -4
- package/dist/collection/components/pds-loader/pds-loader.css +17 -30
- package/dist/collection/components/pds-loader/pds-loader.js +62 -14
- package/dist/collection/components/pds-loader/stories/pds-loader.stories.js +3 -5
- package/dist/collection/components/pds-modal/pds-modal-content/pds-modal-content.css +25 -0
- package/dist/collection/components/pds-modal/pds-modal-content/pds-modal-content.js +235 -0
- package/dist/collection/components/pds-modal/pds-modal-footer/pds-modal-footer.css +8 -0
- package/dist/collection/components/pds-modal/pds-modal-footer/pds-modal-footer.js +27 -0
- package/dist/collection/components/pds-modal/pds-modal-header/pds-modal-header.css +8 -0
- package/dist/collection/components/pds-modal/pds-modal-header/pds-modal-header.js +27 -0
- package/dist/collection/components/pds-modal/pds-modal.css +142 -0
- package/dist/collection/components/pds-modal/pds-modal.js +852 -0
- package/dist/collection/components/pds-modal/stories/pds-modal.stories.js +745 -0
- package/dist/collection/components/pds-modal/test/mock-pds-modal.js +286 -0
- package/dist/collection/components/pds-multiselect/multiselect-interface.js +1 -0
- package/dist/collection/components/pds-multiselect/pds-multiselect.css +365 -0
- package/dist/collection/components/pds-multiselect/pds-multiselect.js +2597 -0
- package/dist/collection/components/pds-multiselect/stories/pds-multiselect.stories.js +866 -0
- package/dist/collection/components/pds-popover/pds-popover.css +16 -0
- package/dist/collection/components/pds-popover/pds-popover.js +1347 -0
- package/dist/collection/components/pds-popover/popover-interface.js +1 -0
- package/dist/collection/components/pds-popover/stories/pds-popover.stories.js +117 -0
- package/dist/collection/components/pds-progress/pds-progress.css +11 -24
- package/dist/collection/components/pds-progress/pds-progress.js +49 -16
- package/dist/collection/components/pds-progress/stories/pds-progress.stories.js +2 -4
- package/dist/collection/components/pds-property/pds-property.css +4 -0
- package/dist/collection/components/pds-property/pds-property.js +70 -0
- package/dist/collection/components/pds-property/stories/pds-property.stories.js +16 -0
- package/dist/collection/components/pds-radio/pds-radio.css +285 -54
- package/dist/collection/components/pds-radio/pds-radio.js +226 -53
- package/dist/collection/components/pds-radio/stories/pds-radio.stories.js +66 -19
- package/dist/collection/components/pds-radio-group/pds-radio-group.css +45 -0
- package/dist/collection/components/pds-radio-group/pds-radio-group.js +514 -0
- package/dist/collection/components/pds-radio-group/radio-group-interface.js +1 -0
- package/dist/collection/components/pds-radio-group/stories/pds-radio-group.stories.js +179 -0
- package/dist/collection/components/pds-row/pds-row.css +10 -9
- package/dist/collection/components/pds-row/pds-row.js +132 -30
- package/dist/collection/components/pds-row/stories/pds-row.stories.js +27 -24
- package/dist/collection/components/pds-select/pds-select.css +168 -0
- package/dist/collection/components/pds-select/pds-select.js +728 -0
- package/dist/collection/components/pds-select/pds-select.tokens.css +3 -0
- package/dist/collection/components/pds-select/stories/pds-select.stories.js +205 -0
- package/dist/collection/components/pds-sortable/pds-sortable-item/pds-sortable-item.css +64 -26
- package/dist/collection/components/pds-sortable/pds-sortable-item/pds-sortable-item.js +87 -10
- package/dist/collection/components/pds-sortable/pds-sortable-item/stories/pds-sortable-item.stories.js +0 -2
- package/dist/collection/components/pds-sortable/pds-sortable.css +2 -4
- package/dist/collection/components/pds-sortable/pds-sortable.js +571 -17
- package/dist/collection/components/pds-sortable/sortable-interface.js +0 -1
- package/dist/collection/components/pds-sortable/sortable-label.js +33 -0
- package/dist/collection/components/pds-sortable/stories/pds-sortable.stories.js +49 -13
- package/dist/collection/components/pds-switch/pds-switch.css +60 -59
- package/dist/collection/components/pds-switch/pds-switch.js +268 -63
- package/dist/collection/components/pds-switch/stories/pds-switch.stories.js +90 -28
- package/dist/collection/components/pds-table/pds-table-body/pds-table-body.js +4 -2
- package/dist/collection/components/pds-table/pds-table-cell/pds-table-cell.css +36 -19
- package/dist/collection/components/pds-table/pds-table-cell/pds-table-cell.js +193 -15
- package/dist/collection/components/pds-table/pds-table-cell/stories/pds-table-cell.stories.js +22 -7
- package/dist/collection/components/pds-table/pds-table-head/pds-table-head.css +22 -5
- package/dist/collection/components/pds-table/pds-table-head/pds-table-head.js +75 -11
- package/dist/collection/components/pds-table/pds-table-head-cell/pds-table-head-cell.css +57 -25
- package/dist/collection/components/pds-table/pds-table-head-cell/pds-table-head-cell.js +328 -24
- package/dist/collection/components/pds-table/pds-table-head-cell/stories/pds-table-head-cell.stories.js +12 -7
- package/dist/collection/components/pds-table/pds-table-row/pds-table-row.css +14 -5
- package/dist/collection/components/pds-table/pds-table-row/pds-table-row.js +118 -13
- package/dist/collection/components/pds-table/pds-table-row/stories/pds-table-row.stories.js +3 -9
- package/dist/collection/components/pds-table/pds-table.css +106 -17
- package/dist/collection/components/pds-table/pds-table.js +576 -44
- package/dist/collection/components/pds-table/stories/pds-table.stories.js +428 -33
- package/dist/collection/components/pds-tabs/pds-tab/pds-tab.css +102 -60
- package/dist/collection/components/pds-tabs/pds-tab/pds-tab.js +240 -18
- package/dist/collection/components/pds-tabs/pds-tab/stories/pds-tab.stories.js +15 -0
- package/dist/collection/components/pds-tabs/pds-tabpanel/pds-tabpanel.css +15 -2
- package/dist/collection/components/pds-tabs/pds-tabpanel/pds-tabpanel.js +68 -12
- package/dist/collection/components/pds-tabs/pds-tabpanel/stories/pds-tabpanel.stories.js +15 -0
- package/dist/collection/components/pds-tabs/pds-tabs.css +31 -11
- package/dist/collection/components/pds-tabs/pds-tabs.js +301 -30
- package/dist/collection/components/pds-tabs/stories/pds-tabs.stories.js +70 -27
- package/dist/collection/components/pds-text/pds-text.css +207 -0
- package/dist/collection/components/pds-text/pds-text.js +328 -0
- package/dist/collection/components/pds-text/stories/pds-text.stories.js +141 -0
- package/dist/collection/components/pds-textarea/pds-textarea.css +127 -57
- package/dist/collection/components/pds-textarea/pds-textarea.js +598 -57
- package/dist/collection/components/pds-textarea/stories/pds-textarea.stories.js +101 -25
- package/dist/collection/components/pds-textarea/textarea-interface.js +0 -1
- package/dist/collection/components/pds-toast/pds-toast.css +167 -0
- package/dist/collection/components/pds-toast/pds-toast.js +362 -0
- package/dist/collection/components/pds-toast/stories/pds-toast.stories.js +98 -0
- package/dist/collection/components/pds-tooltip/pds-tooltip.css +73 -79
- package/dist/collection/components/pds-tooltip/pds-tooltip.js +451 -80
- package/dist/collection/components/pds-tooltip/stories/pds-tooltip.stories.js +52 -24
- package/dist/collection/global/pine-global.js +6 -0
- package/dist/collection/global/pine-ui-global.js +0 -1
- package/dist/collection/global/styles/utils/label.css +17 -0
- package/dist/collection/i18n/i18n-format.js +59 -0
- package/dist/collection/i18n/index.js +1 -0
- package/dist/collection/index.js +3 -1
- package/dist/collection/utils/aria-references.js +48 -0
- package/dist/collection/utils/attributes.js +180 -0
- package/dist/collection/utils/closest.js +8 -1
- package/dist/collection/utils/css.js +41 -0
- package/dist/collection/utils/form.js +41 -8
- package/dist/collection/utils/interfaces.js +1 -0
- package/dist/collection/utils/keep-hydrated.js +188 -0
- package/dist/collection/utils/overlay.js +66 -50
- package/dist/collection/utils/portal-target.js +64 -0
- package/dist/collection/utils/reconnected-content.js +25 -0
- package/dist/collection/utils/reflected-attribute-default.js +40 -0
- package/dist/collection/utils/scroll.js +77 -0
- package/dist/collection/utils/tabbable.js +82 -0
- package/dist/collection/utils/test/axe.js +106 -0
- package/dist/collection/utils/test/host-strip.js +50 -0
- package/dist/collection/utils/test/reconnect-safety.js +31 -0
- package/dist/collection/utils/test/reduced-motion.js +78 -0
- package/dist/collection/utils/truncation-tooltip.js +422 -0
- package/dist/collection/utils/types.js +18 -2
- package/dist/collection/utils/utils.js +109 -4
- package/dist/docs.d.ts +45 -0
- package/dist/docs.json +25718 -2809
- package/dist/esm/aria-references-CNn1lObg.js +50 -0
- package/dist/esm/attributes-CD8knu3a.js +183 -0
- package/dist/esm/closest-DHPzKMVS.js +17 -0
- package/dist/esm/floating-ui.dom-Cuc0DYlm.js +1706 -0
- package/dist/esm/form-BuRbS7Hp.js +63 -0
- package/dist/esm/i18n-format-BJgZHCWe.js +61 -0
- package/dist/esm/index-4_RRPJTO.js +2938 -0
- package/dist/esm/index-B0DXTeeV.js +21 -0
- package/dist/esm/index.js +21 -2
- package/dist/esm/keep-hydrated-BgNaWLoS.js +190 -0
- package/dist/esm/loader.js +4 -6
- package/dist/esm/mock-pds-modal.entry.js +90 -0
- package/dist/esm/pds-accordion.entry.js +16 -12
- package/dist/esm/pds-alert.entry.js +86 -0
- package/dist/esm/pds-avatar.entry.js +123 -26
- package/dist/esm/pds-box.entry.js +143 -56
- package/dist/esm/pds-button.entry.js +233 -22
- package/dist/esm/pds-checkbox.entry.js +103 -25
- package/dist/esm/pds-chip.entry.js +227 -22
- package/dist/esm/pds-combobox.entry.js +4498 -0
- package/dist/esm/pds-container.entry.js +35 -0
- package/dist/esm/pds-copytext.entry.js +98 -15
- package/dist/esm/pds-datepicker.entry.js +2137 -0
- package/dist/esm/pds-divider.entry.js +16 -9
- package/dist/esm/pds-drawer-content.entry.js +22 -0
- package/dist/esm/pds-drawer-footer.entry.js +22 -0
- package/dist/esm/pds-drawer-header.entry.js +22 -0
- package/dist/esm/pds-drawer.entry.js +154 -0
- package/dist/esm/pds-dropdown-menu-item.entry.js +149 -0
- package/dist/esm/pds-dropdown-menu-separator.entry.js +21 -0
- package/dist/esm/pds-dropdown-menu.entry.js +451 -0
- package/dist/esm/pds-filter.entry.js +510 -0
- package/dist/esm/pds-filters.entry.js +16 -0
- package/dist/esm/pds-icon.entry.js +334 -42
- package/dist/esm/pds-image.entry.js +158 -14
- package/dist/esm/pds-input.entry.js +301 -25
- package/dist/esm/pds-link.entry.js +50 -11
- package/dist/esm/pds-loader.entry.js +49 -12
- package/dist/esm/pds-modal-content.entry.js +197 -0
- package/dist/esm/pds-modal-footer.entry.js +22 -0
- package/dist/esm/pds-modal-header.entry.js +22 -0
- package/dist/esm/pds-modal.entry.js +590 -0
- package/dist/esm/pds-multiselect.entry.js +1382 -0
- package/dist/esm/pds-popover.entry.js +1101 -0
- package/dist/esm/pds-progress.entry.js +30 -10
- package/dist/esm/pds-property.entry.js +20 -0
- package/dist/esm/pds-radio-group.entry.js +258 -0
- package/dist/esm/pds-radio.entry.js +102 -22
- package/dist/esm/pds-row.entry.js +50 -19
- package/dist/esm/pds-select.entry.js +378 -0
- package/dist/esm/pds-sortable-item.entry.js +59 -9
- package/dist/esm/pds-sortable.entry.js +504 -117
- package/dist/esm/pds-switch.entry.js +186 -26
- package/dist/esm/pds-tab.entry.js +78 -14
- package/dist/esm/pds-table-body.entry.js +5 -7
- package/dist/esm/pds-table-cell.entry.js +150 -17
- package/dist/esm/pds-table-head-cell.entry.js +222 -28
- package/dist/esm/pds-table-head.entry.js +17 -11
- package/dist/esm/pds-table-row.entry.js +104 -14
- package/dist/esm/pds-table.entry.js +434 -20
- package/dist/esm/pds-tabpanel.entry.js +32 -11
- package/dist/esm/pds-tabs.entry.js +206 -16
- package/dist/esm/pds-text.entry.js +139 -0
- package/dist/esm/pds-textarea.entry.js +319 -28
- package/dist/esm/pds-toast.entry.js +154 -0
- package/dist/esm/pds-tooltip.entry.js +401 -108
- package/dist/esm/pine-core.js +6 -7
- package/dist/esm/portal-target-CKRzRKdO.js +66 -0
- package/dist/esm/reconnected-content-RFpTWV6r.js +27 -0
- package/dist/esm/reflected-attribute-default-t3idJwV0.js +42 -0
- package/dist/esm/scroll-DtgUQhjl.js +75 -0
- package/dist/esm/sortable-label-PItnzVVR.js +35 -0
- package/dist/esm/tabbable-C6ZWpp3v.js +84 -0
- package/dist/esm/truncation-tooltip-CkIWm6Z-.js +425 -0
- package/dist/esm/utils-OYK5-nwe.js +114 -0
- package/dist/esm-es5/aria-references-CNn1lObg.js +1 -0
- package/dist/esm-es5/attributes-CD8knu3a.js +1 -0
- package/dist/esm-es5/closest-DHPzKMVS.js +1 -0
- package/dist/esm-es5/floating-ui.dom-Cuc0DYlm.js +1 -0
- package/dist/esm-es5/form-BuRbS7Hp.js +1 -0
- package/dist/esm-es5/i18n-format-BJgZHCWe.js +1 -0
- package/dist/esm-es5/index-4_RRPJTO.js +2 -0
- package/dist/esm-es5/index-B0DXTeeV.js +1 -0
- package/dist/esm-es5/index.js +1 -2
- package/dist/esm-es5/keep-hydrated-BgNaWLoS.js +1 -0
- package/dist/esm-es5/loader.js +1 -2
- package/dist/esm-es5/mock-pds-modal.entry.js +1 -0
- package/dist/esm-es5/pds-accordion.entry.js +1 -2
- package/dist/esm-es5/pds-alert.entry.js +1 -0
- package/dist/esm-es5/pds-avatar.entry.js +1 -2
- package/dist/esm-es5/pds-box.entry.js +1 -2
- package/dist/esm-es5/pds-button.entry.js +1 -2
- package/dist/esm-es5/pds-checkbox.entry.js +1 -2
- package/dist/esm-es5/pds-chip.entry.js +1 -2
- package/dist/esm-es5/pds-combobox.entry.js +2 -0
- package/dist/esm-es5/pds-container.entry.js +1 -0
- package/dist/esm-es5/pds-copytext.entry.js +1 -2
- package/dist/esm-es5/pds-datepicker.entry.js +1 -0
- package/dist/esm-es5/pds-divider.entry.js +1 -2
- package/dist/esm-es5/pds-drawer-content.entry.js +1 -0
- package/dist/esm-es5/pds-drawer-footer.entry.js +1 -0
- package/dist/esm-es5/pds-drawer-header.entry.js +1 -0
- package/dist/esm-es5/pds-drawer.entry.js +1 -0
- package/dist/esm-es5/pds-dropdown-menu-item.entry.js +1 -0
- package/dist/esm-es5/pds-dropdown-menu-separator.entry.js +1 -0
- package/dist/esm-es5/pds-dropdown-menu.entry.js +1 -0
- package/dist/esm-es5/pds-filter.entry.js +1 -0
- package/dist/esm-es5/pds-filters.entry.js +1 -0
- package/dist/esm-es5/pds-icon.entry.js +1 -2
- package/dist/esm-es5/pds-image.entry.js +1 -2
- package/dist/esm-es5/pds-input.entry.js +1 -2
- package/dist/esm-es5/pds-link.entry.js +1 -2
- package/dist/esm-es5/pds-loader.entry.js +1 -2
- package/dist/esm-es5/pds-modal-content.entry.js +1 -0
- package/dist/esm-es5/pds-modal-footer.entry.js +1 -0
- package/dist/esm-es5/pds-modal-header.entry.js +1 -0
- package/dist/esm-es5/pds-modal.entry.js +1 -0
- package/dist/esm-es5/pds-multiselect.entry.js +1 -0
- package/dist/esm-es5/pds-popover.entry.js +1 -0
- package/dist/esm-es5/pds-progress.entry.js +1 -2
- package/dist/esm-es5/pds-property.entry.js +1 -0
- package/dist/esm-es5/pds-radio-group.entry.js +1 -0
- package/dist/esm-es5/pds-radio.entry.js +1 -2
- package/dist/esm-es5/pds-row.entry.js +1 -2
- package/dist/esm-es5/pds-select.entry.js +1 -0
- package/dist/esm-es5/pds-sortable-item.entry.js +1 -2
- package/dist/esm-es5/pds-sortable.entry.js +3 -4
- package/dist/esm-es5/pds-switch.entry.js +1 -2
- package/dist/esm-es5/pds-tab.entry.js +1 -2
- package/dist/esm-es5/pds-table-body.entry.js +1 -2
- package/dist/esm-es5/pds-table-cell.entry.js +1 -2
- package/dist/esm-es5/pds-table-head-cell.entry.js +1 -2
- package/dist/esm-es5/pds-table-head.entry.js +1 -2
- package/dist/esm-es5/pds-table-row.entry.js +1 -2
- package/dist/esm-es5/pds-table.entry.js +1 -2
- package/dist/esm-es5/pds-tabpanel.entry.js +1 -2
- package/dist/esm-es5/pds-tabs.entry.js +1 -2
- package/dist/esm-es5/pds-text.entry.js +1 -0
- package/dist/esm-es5/pds-textarea.entry.js +1 -2
- package/dist/esm-es5/pds-toast.entry.js +1 -0
- package/dist/esm-es5/pds-tooltip.entry.js +1 -2
- package/dist/esm-es5/pine-core.js +1 -2
- package/dist/esm-es5/portal-target-CKRzRKdO.js +1 -0
- package/dist/esm-es5/reconnected-content-RFpTWV6r.js +1 -0
- package/dist/esm-es5/reflected-attribute-default-t3idJwV0.js +1 -0
- package/dist/esm-es5/scroll-DtgUQhjl.js +1 -0
- package/dist/esm-es5/sortable-label-PItnzVVR.js +1 -0
- package/dist/esm-es5/tabbable-C6ZWpp3v.js +1 -0
- package/dist/esm-es5/truncation-tooltip-CkIWm6Z-.js +1 -0
- package/dist/esm-es5/utils-OYK5-nwe.js +1 -0
- package/dist/pine-core/index.esm.js +1 -2
- package/dist/pine-core/p-053ff8eb.system.entry.js +1 -0
- package/dist/pine-core/p-08b9e3ad.entry.js +1 -0
- package/dist/pine-core/p-0ac4262e.system.entry.js +1 -0
- package/dist/pine-core/p-0e1b8bd1.system.entry.js +1 -0
- package/dist/pine-core/p-12fdc65f.entry.js +1 -0
- package/dist/pine-core/p-1765a41b.system.entry.js +1 -0
- package/dist/pine-core/p-18524c25.entry.js +1 -0
- package/dist/pine-core/p-191eb9e5.system.entry.js +1 -0
- package/dist/pine-core/p-1c584a20.entry.js +1 -0
- package/dist/pine-core/p-1d4ecc35.entry.js +7 -0
- package/dist/pine-core/p-1e0c9738.system.entry.js +1 -0
- package/dist/pine-core/p-1fb1ca3d.entry.js +1 -0
- package/dist/pine-core/p-2482e4ab.system.entry.js +1 -0
- package/dist/pine-core/p-2cc7c682.entry.js +1 -0
- package/dist/pine-core/p-2f15e85f.entry.js +1 -0
- package/dist/pine-core/p-3306dc5a.system.entry.js +1 -0
- package/dist/pine-core/p-3338fc2e.entry.js +1 -0
- package/dist/pine-core/p-33da254f.system.entry.js +1 -0
- package/dist/pine-core/p-34d22a45.system.entry.js +1 -0
- package/dist/pine-core/p-35b90796.entry.js +1 -0
- package/dist/pine-core/p-38148f5b.entry.js +1 -0
- package/dist/pine-core/p-39264dfb.system.entry.js +1 -0
- package/dist/pine-core/p-3aed0418.system.entry.js +1 -0
- package/dist/pine-core/p-3dd879fd.entry.js +1 -0
- package/dist/pine-core/p-3f1c05cd.system.entry.js +1 -0
- package/dist/pine-core/p-3fc9ef80.system.entry.js +1 -0
- package/dist/pine-core/p-4125a4a6.system.entry.js +1 -0
- package/dist/pine-core/p-42376f2c.entry.js +1 -0
- package/dist/pine-core/p-4263038f.entry.js +1 -0
- package/dist/pine-core/p-47df9e9f.system.entry.js +3 -0
- package/dist/pine-core/p-55a4659a.system.entry.js +1 -0
- package/dist/pine-core/p-563baadd.system.entry.js +1 -0
- package/dist/pine-core/p-57af5c29.system.entry.js +1 -0
- package/dist/pine-core/p-587bd9ed.entry.js +1 -0
- package/dist/pine-core/p-5c7dfa7a.entry.js +1 -0
- package/dist/pine-core/p-5db87fda.system.entry.js +1 -0
- package/dist/pine-core/p-5eb0c78c.system.entry.js +1 -0
- package/dist/pine-core/p-6017afb5.system.entry.js +1 -0
- package/dist/pine-core/p-63d47dd4.system.entry.js +1 -0
- package/dist/pine-core/p-66e61921.system.entry.js +1 -0
- package/dist/pine-core/p-67999353.entry.js +1 -0
- package/dist/pine-core/p-68328afc.entry.js +1 -0
- package/dist/pine-core/p-6a965119.entry.js +1 -0
- package/dist/pine-core/p-6fdc6df9.system.entry.js +1 -0
- package/dist/pine-core/p-72668673.system.entry.js +1 -0
- package/dist/pine-core/p-765f4207.entry.js +1 -0
- package/dist/pine-core/p-77530cf2.entry.js +1 -0
- package/dist/pine-core/p-77a22399.entry.js +1 -0
- package/dist/pine-core/p-783127bf.entry.js +1 -0
- package/dist/pine-core/p-7a51f15e.entry.js +1 -0
- package/dist/pine-core/p-7b978fff.system.entry.js +1 -0
- package/dist/pine-core/p-82f7eed1.entry.js +1 -0
- package/dist/pine-core/p-863ff553.system.entry.js +1 -0
- package/dist/pine-core/p-87a32ded.system.entry.js +1 -0
- package/dist/pine-core/p-87cadd6f.system.entry.js +8 -0
- package/dist/pine-core/p-8db554fe.entry.js +1 -0
- package/dist/pine-core/p-8e7e7bba.entry.js +1 -0
- package/dist/pine-core/p-907c69e9.system.entry.js +1 -0
- package/dist/pine-core/p-90f83a5b.system.entry.js +1 -0
- package/dist/pine-core/p-931a0ccd.system.entry.js +1 -0
- package/dist/pine-core/p-94fd9595.entry.js +1 -0
- package/dist/pine-core/p-96bccf85.system.entry.js +1 -0
- package/dist/pine-core/p-9a63bf72.entry.js +1 -0
- package/dist/pine-core/p-9d983e09.system.entry.js +1 -0
- package/dist/pine-core/p-9da10cfb.system.entry.js +1 -0
- package/dist/pine-core/p-9e005996.entry.js +1 -0
- package/dist/pine-core/p-B0DXTeeV.js +1 -0
- package/dist/pine-core/p-BJgZHCWe.js +1 -0
- package/dist/pine-core/p-BK1sLRfg.system.js +2 -0
- package/dist/pine-core/p-BNTlHhoO.system.js +1 -0
- package/dist/pine-core/p-BSRFZB4I.system.js +1 -0
- package/dist/pine-core/p-BZ1l3LGl.system.js +1 -0
- package/dist/pine-core/p-BZsj6eAn.system.js +1 -0
- package/dist/pine-core/p-BbXp4qBM.system.js +1 -0
- package/dist/pine-core/p-BgNaWLoS.js +1 -0
- package/dist/pine-core/p-Bkho_oFB.system.js +1 -0
- package/dist/pine-core/p-BlJQebvG.system.js +1 -0
- package/dist/pine-core/p-BuRbS7Hp.js +1 -0
- package/dist/pine-core/p-BxIzb-Wc.system.js +1 -0
- package/dist/pine-core/p-C35-349-.system.js +1 -0
- package/dist/pine-core/p-C6ZWpp3v.js +1 -0
- package/dist/pine-core/p-CANeE7Ss.system.js +1 -0
- package/dist/pine-core/p-CIe1DGXa.system.js +1 -0
- package/dist/pine-core/p-CKRzRKdO.js +1 -0
- package/dist/pine-core/p-CNn1lObg.js +1 -0
- package/dist/pine-core/p-CQJ44c6o.system.js +1 -0
- package/dist/pine-core/p-Cuc0DYlm.js +1 -0
- package/dist/pine-core/p-DHPzKMVS.js +1 -0
- package/dist/pine-core/p-DVra397g.system.js +1 -0
- package/dist/pine-core/p-DtgUQhjl.js +1 -0
- package/dist/pine-core/p-Dv9QBmIF.js +1 -0
- package/dist/pine-core/p-Dx8tEj0U.system.js +1 -0
- package/dist/pine-core/p-M31tvpDN.js +2 -0
- package/dist/pine-core/p-OYK5-nwe.js +1 -0
- package/dist/pine-core/p-PItnzVVR.js +1 -0
- package/dist/pine-core/p-RFpTWV6r.js +1 -0
- package/dist/pine-core/p-VPGVqK3P.system.js +1 -0
- package/dist/pine-core/p-XK45dzWR.system.js +1 -0
- package/dist/pine-core/p-a0fa77b1.system.entry.js +1 -0
- package/dist/pine-core/p-a149af29.entry.js +1 -0
- package/dist/pine-core/p-a1575919.entry.js +1 -0
- package/dist/pine-core/p-a20d9eca.system.entry.js +1 -0
- package/dist/pine-core/p-a5782d99.entry.js +1 -0
- package/dist/pine-core/p-a9eaf160.system.entry.js +1 -0
- package/dist/pine-core/p-aae96744.entry.js +1 -0
- package/dist/pine-core/p-b379d9bc.system.entry.js +1 -0
- package/dist/pine-core/p-b96bdff6.entry.js +1 -0
- package/dist/pine-core/p-badde164.entry.js +1 -0
- package/dist/pine-core/p-bbd9ab75.entry.js +1 -0
- package/dist/pine-core/p-biShcgLI.js +1 -0
- package/dist/pine-core/p-c12b5cd7.system.entry.js +1 -0
- package/dist/pine-core/p-c2afe4f3.system.entry.js +1 -0
- package/dist/pine-core/p-c65f4eaa.system.entry.js +1 -0
- package/dist/pine-core/p-c6c5ada6.system.entry.js +1 -0
- package/dist/pine-core/p-c76d8b9e.system.entry.js +1 -0
- package/dist/pine-core/p-c89ea2d3.entry.js +1 -0
- package/dist/pine-core/p-ce9fa14b.entry.js +1 -0
- package/dist/pine-core/p-d4b0122f.system.entry.js +1 -0
- package/dist/pine-core/p-d61a0fe8.system.entry.js +1 -0
- package/dist/pine-core/p-d7d7a4e1.entry.js +1 -0
- package/dist/pine-core/p-d85d50cb.entry.js +1 -0
- package/dist/pine-core/p-daa802f1.entry.js +2 -0
- package/dist/pine-core/p-de3f4a28.system.entry.js +1 -0
- package/dist/pine-core/p-e00777da.system.entry.js +1 -0
- package/dist/pine-core/p-e2a1a49a.system.entry.js +1 -0
- package/dist/pine-core/p-e334af06.entry.js +1 -0
- package/dist/pine-core/p-e4216ff6.entry.js +1 -0
- package/dist/pine-core/p-e68044b3.entry.js +1 -0
- package/dist/pine-core/p-e75d8bc1.entry.js +1 -0
- package/dist/pine-core/p-e871cfce.entry.js +1 -0
- package/dist/pine-core/p-e92d0f0f.system.entry.js +1 -0
- package/dist/pine-core/p-eab165b9.system.entry.js +1 -0
- package/dist/pine-core/p-eabc4bd8.entry.js +1 -0
- package/dist/pine-core/p-eeYeEogd.system.js +1 -0
- package/dist/pine-core/p-eee042d3.entry.js +1 -0
- package/dist/pine-core/p-ef9f84f2.system.entry.js +1 -0
- package/dist/pine-core/p-f026af73.entry.js +1 -0
- package/dist/pine-core/p-f0509c8e.entry.js +1 -0
- package/dist/pine-core/p-f1252e72.system.entry.js +1 -0
- package/dist/pine-core/p-f3496fd1.entry.js +1 -0
- package/dist/pine-core/p-f65127f1.entry.js +1 -0
- package/dist/pine-core/p-f90f4be7.system.entry.js +1 -0
- package/dist/pine-core/p-f99bd77f.entry.js +1 -0
- package/dist/pine-core/p-fda791df.entry.js +1 -0
- package/dist/pine-core/p-t3idJwV0.js +1 -0
- package/dist/pine-core/p-wB2y8gR7.system.js +1 -0
- package/dist/pine-core/pine-core.css +1 -1
- package/dist/pine-core/pine-core.esm.js +1 -2
- package/dist/pine-core/pine-core.js +1 -1
- package/dist/scripts/vscode-custom-data-generator.js +406 -0
- package/dist/scripts/vscode-settings-patcher.cjs +89 -0
- package/dist/types/components/pds-accordion/pds-accordion.d.ts +9 -1
- package/dist/types/components/pds-alert/pds-alert.d.ts +62 -0
- package/dist/types/components/pds-avatar/pds-avatar.d.ts +53 -3
- package/dist/types/components/pds-box/pds-box.d.ts +495 -16
- package/dist/types/components/pds-button/pds-button.d.ts +91 -13
- package/dist/types/components/pds-checkbox/pds-checkbox.d.ts +43 -9
- package/dist/types/components/pds-chip/pds-chip.d.ts +77 -14
- package/dist/types/components/pds-combobox/combobox-interface.d.ts +73 -0
- package/dist/types/components/pds-combobox/grouped-options-panel.d.ts +128 -0
- package/dist/types/components/pds-combobox/pds-combobox.d.ts +714 -0
- package/dist/types/components/pds-container/pds-container.d.ts +22 -0
- package/dist/types/components/pds-copytext/pds-copytext.d.ts +20 -5
- package/dist/types/components/pds-datepicker/calendar-portal.d.ts +36 -0
- package/dist/types/components/pds-datepicker/date-utils.d.ts +67 -0
- package/dist/types/components/pds-datepicker/datepicker-interface.d.ts +47 -0
- package/dist/types/components/pds-datepicker/pds-datepicker.d.ts +515 -0
- package/dist/types/components/pds-datepicker/presets.d.ts +24 -0
- package/dist/types/components/pds-datepicker/value.d.ts +59 -0
- package/dist/types/components/pds-divider/pds-divider.d.ts +10 -2
- package/dist/types/components/pds-drawer/pds-drawer-content/pds-drawer-content.d.ts +9 -0
- package/dist/types/components/pds-drawer/pds-drawer-footer/pds-drawer-footer.d.ts +9 -0
- package/dist/types/components/pds-drawer/pds-drawer-header/pds-drawer-header.d.ts +9 -0
- package/dist/types/components/pds-drawer/pds-drawer.d.ts +89 -0
- package/dist/types/components/pds-dropdown-menu/pds-dropdown-menu-item/pds-dropdown-menu-item.d.ts +87 -0
- package/dist/types/components/pds-dropdown-menu/pds-dropdown-menu-separator/pds-dropdown-menu-separator.d.ts +13 -0
- package/dist/types/components/pds-dropdown-menu/pds-dropdown-menu.d.ts +60 -0
- package/dist/types/components/pds-filters/pds-filter/filter-interface.d.ts +19 -0
- package/dist/types/components/pds-filters/pds-filter/pds-filter.d.ts +135 -0
- package/dist/types/components/pds-filters/pds-filters.d.ts +11 -0
- package/dist/types/components/pds-image/image-interface.d.ts +12 -0
- package/dist/types/components/pds-image/pds-image.d.ts +75 -11
- package/dist/types/components/pds-input/input-interface.d.ts +12 -0
- package/dist/types/components/pds-input/pds-input.d.ts +174 -9
- package/dist/types/components/pds-link/pds-link.d.ts +81 -11
- package/dist/types/components/pds-loader/pds-loader.d.ts +10 -3
- package/dist/types/components/pds-modal/pds-modal-content/pds-modal-content.d.ts +43 -0
- package/dist/types/components/pds-modal/pds-modal-footer/pds-modal-footer.d.ts +9 -0
- package/dist/types/components/pds-modal/pds-modal-header/pds-modal-header.d.ts +9 -0
- package/dist/types/components/pds-modal/pds-modal.d.ts +152 -0
- package/dist/types/components/pds-modal/test/mock-pds-modal.d.ts +68 -0
- package/dist/types/components/pds-multiselect/multiselect-interface.d.ts +61 -0
- package/dist/types/components/pds-multiselect/pds-multiselect.d.ts +402 -0
- package/dist/types/components/pds-popover/pds-popover.d.ts +292 -0
- package/dist/types/components/pds-popover/popover-interface.d.ts +4 -0
- package/dist/types/components/pds-progress/pds-progress.d.ts +6 -2
- package/dist/types/components/pds-property/pds-property.d.ts +14 -0
- package/dist/types/components/pds-radio/pds-radio.d.ts +42 -11
- package/dist/types/components/pds-radio-group/pds-radio-group.d.ts +84 -0
- package/dist/types/components/pds-radio-group/radio-group-interface.d.ts +5 -0
- package/dist/types/components/pds-row/pds-row.d.ts +17 -2
- package/dist/types/components/pds-select/pds-select.d.ts +182 -0
- package/dist/types/components/pds-sortable/pds-sortable-item/pds-sortable-item.d.ts +14 -3
- package/dist/types/components/pds-sortable/pds-sortable.d.ts +99 -4
- package/dist/types/components/pds-sortable/sortable-interface.d.ts +3 -1
- package/dist/types/components/pds-sortable/sortable-label.d.ts +7 -0
- package/dist/types/components/pds-switch/pds-switch.d.ts +51 -17
- package/dist/types/components/pds-table/pds-table-body/pds-table-body.d.ts +3 -0
- package/dist/types/components/pds-table/pds-table-cell/pds-table-cell.d.ts +40 -1
- package/dist/types/components/pds-table/pds-table-head/pds-table-head.d.ts +19 -2
- package/dist/types/components/pds-table/pds-table-head-cell/pds-table-head-cell.d.ts +73 -2
- package/dist/types/components/pds-table/pds-table-row/pds-table-row.d.ts +27 -4
- package/dist/types/components/pds-table/pds-table.d.ts +138 -12
- package/dist/types/components/pds-tabs/pds-tab/pds-tab.d.ts +55 -0
- package/dist/types/components/pds-tabs/pds-tabpanel/pds-tabpanel.d.ts +12 -0
- package/dist/types/components/pds-tabs/pds-tabs.d.ts +45 -5
- package/dist/types/components/pds-text/pds-text.d.ts +61 -0
- package/dist/types/components/pds-textarea/pds-textarea.d.ts +140 -15
- package/dist/types/components/pds-textarea/textarea-interface.d.ts +5 -1
- package/dist/types/components/pds-toast/pds-toast.d.ts +83 -0
- package/dist/types/components/pds-tooltip/pds-tooltip.d.ts +80 -20
- package/dist/types/components.d.ts +7070 -1247
- package/dist/types/global/pine-global.d.ts +2 -0
- package/dist/types/home/runner/work/pine/pine/libs/core/.stencil/scripts/vscode-custom-data-generator.d.ts +6 -0
- package/dist/types/i18n/i18n-format.d.ts +38 -0
- package/dist/types/i18n/index.d.ts +2 -0
- package/dist/types/index.d.ts +3 -0
- package/dist/types/stencil-public-runtime.d.ts +195 -8
- package/dist/types/utils/aria-references.d.ts +28 -0
- package/dist/types/utils/attributes.d.ts +44 -0
- package/dist/types/utils/closest.d.ts +2 -0
- package/dist/types/utils/css.d.ts +7 -0
- package/dist/types/utils/form.d.ts +23 -1
- package/dist/types/utils/interfaces.d.ts +6 -0
- package/dist/types/utils/keep-hydrated.d.ts +56 -0
- package/dist/types/utils/overlay.d.ts +3 -3
- package/dist/types/utils/portal-target.d.ts +17 -0
- package/dist/types/utils/reconnected-content.d.ts +14 -0
- package/dist/types/utils/reflected-attribute-default.d.ts +31 -0
- package/dist/types/utils/scroll.d.ts +21 -0
- package/dist/types/utils/tabbable.d.ts +2 -0
- package/dist/types/utils/test/axe.d.ts +81 -0
- package/dist/types/utils/test/host-strip.d.ts +10 -0
- package/dist/types/utils/test/reconnect-safety.d.ts +11 -0
- package/dist/types/utils/test/reduced-motion.d.ts +30 -0
- package/dist/types/utils/truncation-tooltip.d.ts +88 -0
- package/dist/types/utils/types.d.ts +13 -2
- package/dist/types/utils/utils.d.ts +37 -2
- package/dist/vscode.html-data.json +11913 -0
- package/hydrate/index.d.ts +58 -7
- package/hydrate/index.js +29932 -3726
- package/hydrate/index.mjs +29929 -3725
- package/package.json +52 -26
- package/readme.md +26 -55
- package/components/closest.js.map +0 -1
- package/components/index.js.map +0 -1
- package/components/index2.js.map +0 -1
- package/components/pds-accordion.js.map +0 -1
- package/components/pds-avatar.js.map +0 -1
- package/components/pds-box.js.map +0 -1
- package/components/pds-button.js.map +0 -1
- package/components/pds-button2.js.map +0 -1
- package/components/pds-checkbox.js.map +0 -1
- package/components/pds-checkbox2.js.map +0 -1
- package/components/pds-chip.js.map +0 -1
- package/components/pds-copytext.js.map +0 -1
- package/components/pds-divider.js.map +0 -1
- package/components/pds-icon.js.map +0 -1
- package/components/pds-icon2.js.map +0 -1
- package/components/pds-image.js.map +0 -1
- package/components/pds-input.js.map +0 -1
- package/components/pds-label.js +0 -39
- package/components/pds-label.js.map +0 -1
- package/components/pds-link.js.map +0 -1
- package/components/pds-loader.js.map +0 -1
- package/components/pds-progress.js.map +0 -1
- package/components/pds-radio.js.map +0 -1
- package/components/pds-row.js.map +0 -1
- package/components/pds-sortable-item.js.map +0 -1
- package/components/pds-sortable.js.map +0 -1
- package/components/pds-switch.js.map +0 -1
- package/components/pds-tab.js.map +0 -1
- package/components/pds-table-body.js.map +0 -1
- package/components/pds-table-cell.js.map +0 -1
- package/components/pds-table-cell2.js.map +0 -1
- package/components/pds-table-head-cell.js.map +0 -1
- package/components/pds-table-head-cell2.js.map +0 -1
- package/components/pds-table-head.js.map +0 -1
- package/components/pds-table-row.js.map +0 -1
- package/components/pds-table.js.map +0 -1
- package/components/pds-tabpanel.js.map +0 -1
- package/components/pds-tabs.js.map +0 -1
- package/components/pds-textarea.js.map +0 -1
- package/components/pds-tooltip.js.map +0 -1
- package/dist/cjs/app-globals-3a1e7e63.js +0 -7
- package/dist/cjs/app-globals-3a1e7e63.js.map +0 -1
- package/dist/cjs/closest-b45138d3.js +0 -13
- package/dist/cjs/closest-b45138d3.js.map +0 -1
- package/dist/cjs/index-46fb0736.js +0 -1956
- package/dist/cjs/index-46fb0736.js.map +0 -1
- package/dist/cjs/index-de3f0730.js +0 -24
- package/dist/cjs/index-de3f0730.js.map +0 -1
- package/dist/cjs/index.cjs.js.map +0 -1
- package/dist/cjs/loader.cjs.js.map +0 -1
- package/dist/cjs/pds-accordion.cjs.entry.js.map +0 -1
- package/dist/cjs/pds-avatar.cjs.entry.js.map +0 -1
- package/dist/cjs/pds-box.cjs.entry.js.map +0 -1
- package/dist/cjs/pds-button.cjs.entry.js.map +0 -1
- package/dist/cjs/pds-checkbox.cjs.entry.js.map +0 -1
- package/dist/cjs/pds-chip.cjs.entry.js.map +0 -1
- package/dist/cjs/pds-copytext.cjs.entry.js.map +0 -1
- package/dist/cjs/pds-divider.cjs.entry.js.map +0 -1
- package/dist/cjs/pds-icon.cjs.entry.js.map +0 -1
- package/dist/cjs/pds-image.cjs.entry.js.map +0 -1
- package/dist/cjs/pds-input.cjs.entry.js.map +0 -1
- package/dist/cjs/pds-label-7aabdc4e.js +0 -44
- package/dist/cjs/pds-label-7aabdc4e.js.map +0 -1
- package/dist/cjs/pds-link.cjs.entry.js.map +0 -1
- package/dist/cjs/pds-loader.cjs.entry.js.map +0 -1
- package/dist/cjs/pds-progress.cjs.entry.js.map +0 -1
- package/dist/cjs/pds-radio.cjs.entry.js.map +0 -1
- package/dist/cjs/pds-row.cjs.entry.js.map +0 -1
- package/dist/cjs/pds-sortable-item.cjs.entry.js.map +0 -1
- package/dist/cjs/pds-sortable.cjs.entry.js.map +0 -1
- package/dist/cjs/pds-switch.cjs.entry.js.map +0 -1
- package/dist/cjs/pds-tab.cjs.entry.js.map +0 -1
- package/dist/cjs/pds-table-body.cjs.entry.js.map +0 -1
- package/dist/cjs/pds-table-cell.cjs.entry.js.map +0 -1
- package/dist/cjs/pds-table-head-cell.cjs.entry.js.map +0 -1
- package/dist/cjs/pds-table-head.cjs.entry.js.map +0 -1
- package/dist/cjs/pds-table-row.cjs.entry.js.map +0 -1
- package/dist/cjs/pds-table.cjs.entry.js.map +0 -1
- package/dist/cjs/pds-tabpanel.cjs.entry.js.map +0 -1
- package/dist/cjs/pds-tabs.cjs.entry.js.map +0 -1
- package/dist/cjs/pds-textarea.cjs.entry.js.map +0 -1
- package/dist/cjs/pds-tooltip.cjs.entry.js.map +0 -1
- package/dist/cjs/pine-core.cjs.js.map +0 -1
- package/dist/collection/components/_internal/pds-label/pds-label.js.map +0 -1
- package/dist/collection/components/pds-accordion/pds-accordion.js.map +0 -1
- package/dist/collection/components/pds-avatar/pds-avatar.js.map +0 -1
- package/dist/collection/components/pds-box/pds-box.js.map +0 -1
- package/dist/collection/components/pds-button/pds-button.js.map +0 -1
- package/dist/collection/components/pds-checkbox/checkbox-interface.js.map +0 -1
- package/dist/collection/components/pds-checkbox/pds-checkbox.js.map +0 -1
- package/dist/collection/components/pds-chip/pds-chip.js.map +0 -1
- package/dist/collection/components/pds-copytext/pds-copytext.js.map +0 -1
- package/dist/collection/components/pds-divider/pds-divider.js.map +0 -1
- package/dist/collection/components/pds-image/pds-image.js.map +0 -1
- package/dist/collection/components/pds-input/pds-input.js.map +0 -1
- package/dist/collection/components/pds-link/pds-link.js.map +0 -1
- package/dist/collection/components/pds-loader/pds-loader.js.map +0 -1
- package/dist/collection/components/pds-progress/pds-progress.js.map +0 -1
- package/dist/collection/components/pds-radio/pds-radio.js.map +0 -1
- package/dist/collection/components/pds-row/pds-row.js.map +0 -1
- package/dist/collection/components/pds-sortable/pds-sortable-item/pds-sortable-item.js.map +0 -1
- package/dist/collection/components/pds-sortable/pds-sortable.js.map +0 -1
- package/dist/collection/components/pds-sortable/sortable-interface.js.map +0 -1
- package/dist/collection/components/pds-switch/pds-switch.js.map +0 -1
- package/dist/collection/components/pds-table/pds-table-body/pds-table-body.js.map +0 -1
- package/dist/collection/components/pds-table/pds-table-cell/pds-table-cell.js.map +0 -1
- package/dist/collection/components/pds-table/pds-table-head/pds-table-head.js.map +0 -1
- package/dist/collection/components/pds-table/pds-table-head-cell/pds-table-head-cell.js.map +0 -1
- package/dist/collection/components/pds-table/pds-table-row/pds-table-row.js.map +0 -1
- package/dist/collection/components/pds-table/pds-table.js.map +0 -1
- package/dist/collection/components/pds-tabs/pds-tab/pds-tab.js.map +0 -1
- package/dist/collection/components/pds-tabs/pds-tabpanel/pds-tabpanel.js.map +0 -1
- package/dist/collection/components/pds-tabs/pds-tabs.js.map +0 -1
- package/dist/collection/components/pds-textarea/pds-textarea.js.map +0 -1
- package/dist/collection/components/pds-textarea/textarea-interface.js.map +0 -1
- package/dist/collection/components/pds-tooltip/pds-tooltip.js.map +0 -1
- package/dist/collection/global/pine-ui-global.js.map +0 -1
- package/dist/collection/index.js.map +0 -1
- package/dist/collection/stories/_helpers/index.js +0 -15
- package/dist/collection/stories/_helpers/index.js.map +0 -1
- package/dist/collection/utils/closest.js.map +0 -1
- package/dist/collection/utils/form.js.map +0 -1
- package/dist/collection/utils/overlay.js.map +0 -1
- package/dist/collection/utils/types.js.map +0 -1
- package/dist/collection/utils/utils.js.map +0 -1
- package/dist/esm/app-globals-0f993ce5.js +0 -5
- package/dist/esm/app-globals-0f993ce5.js.map +0 -1
- package/dist/esm/closest-d2d192be.js +0 -11
- package/dist/esm/closest-d2d192be.js.map +0 -1
- package/dist/esm/index-2a33b470.js +0 -1927
- package/dist/esm/index-2a33b470.js.map +0 -1
- package/dist/esm/index-a1e2f9af.js +0 -14
- package/dist/esm/index-a1e2f9af.js.map +0 -1
- package/dist/esm/index.js.map +0 -1
- package/dist/esm/loader.js.map +0 -1
- package/dist/esm/pds-accordion.entry.js.map +0 -1
- package/dist/esm/pds-avatar.entry.js.map +0 -1
- package/dist/esm/pds-box.entry.js.map +0 -1
- package/dist/esm/pds-button.entry.js.map +0 -1
- package/dist/esm/pds-checkbox.entry.js.map +0 -1
- package/dist/esm/pds-chip.entry.js.map +0 -1
- package/dist/esm/pds-copytext.entry.js.map +0 -1
- package/dist/esm/pds-divider.entry.js.map +0 -1
- package/dist/esm/pds-icon.entry.js.map +0 -1
- package/dist/esm/pds-image.entry.js.map +0 -1
- package/dist/esm/pds-input.entry.js.map +0 -1
- package/dist/esm/pds-label-31a5848b.js +0 -39
- package/dist/esm/pds-label-31a5848b.js.map +0 -1
- package/dist/esm/pds-link.entry.js.map +0 -1
- package/dist/esm/pds-loader.entry.js.map +0 -1
- package/dist/esm/pds-progress.entry.js.map +0 -1
- package/dist/esm/pds-radio.entry.js.map +0 -1
- package/dist/esm/pds-row.entry.js.map +0 -1
- package/dist/esm/pds-sortable-item.entry.js.map +0 -1
- package/dist/esm/pds-sortable.entry.js.map +0 -1
- package/dist/esm/pds-switch.entry.js.map +0 -1
- package/dist/esm/pds-tab.entry.js.map +0 -1
- package/dist/esm/pds-table-body.entry.js.map +0 -1
- package/dist/esm/pds-table-cell.entry.js.map +0 -1
- package/dist/esm/pds-table-head-cell.entry.js.map +0 -1
- package/dist/esm/pds-table-head.entry.js.map +0 -1
- package/dist/esm/pds-table-row.entry.js.map +0 -1
- package/dist/esm/pds-table.entry.js.map +0 -1
- package/dist/esm/pds-tabpanel.entry.js.map +0 -1
- package/dist/esm/pds-tabs.entry.js.map +0 -1
- package/dist/esm/pds-textarea.entry.js.map +0 -1
- package/dist/esm/pds-tooltip.entry.js.map +0 -1
- package/dist/esm/pine-core.js.map +0 -1
- package/dist/esm-es5/app-globals-0f993ce5.js +0 -2
- package/dist/esm-es5/app-globals-0f993ce5.js.map +0 -1
- package/dist/esm-es5/closest-d2d192be.js +0 -2
- package/dist/esm-es5/closest-d2d192be.js.map +0 -1
- package/dist/esm-es5/index-2a33b470.js +0 -3
- package/dist/esm-es5/index-2a33b470.js.map +0 -1
- package/dist/esm-es5/index-a1e2f9af.js +0 -2
- package/dist/esm-es5/index-a1e2f9af.js.map +0 -1
- package/dist/esm-es5/index.js.map +0 -1
- package/dist/esm-es5/loader.js.map +0 -1
- package/dist/esm-es5/pds-accordion.entry.js.map +0 -1
- package/dist/esm-es5/pds-avatar.entry.js.map +0 -1
- package/dist/esm-es5/pds-box.entry.js.map +0 -1
- package/dist/esm-es5/pds-button.entry.js.map +0 -1
- package/dist/esm-es5/pds-checkbox.entry.js.map +0 -1
- package/dist/esm-es5/pds-chip.entry.js.map +0 -1
- package/dist/esm-es5/pds-copytext.entry.js.map +0 -1
- package/dist/esm-es5/pds-divider.entry.js.map +0 -1
- package/dist/esm-es5/pds-icon.entry.js.map +0 -1
- package/dist/esm-es5/pds-image.entry.js.map +0 -1
- package/dist/esm-es5/pds-input.entry.js.map +0 -1
- package/dist/esm-es5/pds-label-31a5848b.js +0 -2
- package/dist/esm-es5/pds-label-31a5848b.js.map +0 -1
- package/dist/esm-es5/pds-link.entry.js.map +0 -1
- package/dist/esm-es5/pds-loader.entry.js.map +0 -1
- package/dist/esm-es5/pds-progress.entry.js.map +0 -1
- package/dist/esm-es5/pds-radio.entry.js.map +0 -1
- package/dist/esm-es5/pds-row.entry.js.map +0 -1
- package/dist/esm-es5/pds-sortable-item.entry.js.map +0 -1
- package/dist/esm-es5/pds-sortable.entry.js.map +0 -1
- package/dist/esm-es5/pds-switch.entry.js.map +0 -1
- package/dist/esm-es5/pds-tab.entry.js.map +0 -1
- package/dist/esm-es5/pds-table-body.entry.js.map +0 -1
- package/dist/esm-es5/pds-table-cell.entry.js.map +0 -1
- package/dist/esm-es5/pds-table-head-cell.entry.js.map +0 -1
- package/dist/esm-es5/pds-table-head.entry.js.map +0 -1
- package/dist/esm-es5/pds-table-row.entry.js.map +0 -1
- package/dist/esm-es5/pds-table.entry.js.map +0 -1
- package/dist/esm-es5/pds-tabpanel.entry.js.map +0 -1
- package/dist/esm-es5/pds-tabs.entry.js.map +0 -1
- package/dist/esm-es5/pds-textarea.entry.js.map +0 -1
- package/dist/esm-es5/pds-tooltip.entry.js.map +0 -1
- package/dist/esm-es5/pine-core.js.map +0 -1
- package/dist/pine-core/index.esm.js.map +0 -1
- package/dist/pine-core/p-06c33261.system.entry.js +0 -2
- package/dist/pine-core/p-06c33261.system.entry.js.map +0 -1
- package/dist/pine-core/p-07f80cb6.entry.js +0 -2
- package/dist/pine-core/p-07f80cb6.entry.js.map +0 -1
- package/dist/pine-core/p-09b1c7f1.system.entry.js +0 -2
- package/dist/pine-core/p-09b1c7f1.system.entry.js.map +0 -1
- package/dist/pine-core/p-0a4b1ce9.system.entry.js +0 -2
- package/dist/pine-core/p-0a4b1ce9.system.entry.js.map +0 -1
- package/dist/pine-core/p-0b541f88.js +0 -3
- package/dist/pine-core/p-0b541f88.js.map +0 -1
- package/dist/pine-core/p-0b77685e.js +0 -2
- package/dist/pine-core/p-0b77685e.js.map +0 -1
- package/dist/pine-core/p-0d6fafef.system.entry.js +0 -2
- package/dist/pine-core/p-0d6fafef.system.entry.js.map +0 -1
- package/dist/pine-core/p-0e1c0d03.entry.js +0 -8
- package/dist/pine-core/p-0e1c0d03.entry.js.map +0 -1
- package/dist/pine-core/p-0e936138.entry.js +0 -2
- package/dist/pine-core/p-0e936138.entry.js.map +0 -1
- package/dist/pine-core/p-143795e5.system.entry.js +0 -2
- package/dist/pine-core/p-143795e5.system.entry.js.map +0 -1
- package/dist/pine-core/p-1f2b0be3.system.entry.js +0 -2
- package/dist/pine-core/p-1f2b0be3.system.entry.js.map +0 -1
- package/dist/pine-core/p-224a435b.system.js +0 -2
- package/dist/pine-core/p-224a435b.system.js.map +0 -1
- package/dist/pine-core/p-31056348.system.entry.js +0 -2
- package/dist/pine-core/p-31056348.system.entry.js.map +0 -1
- package/dist/pine-core/p-32498622.system.entry.js +0 -2
- package/dist/pine-core/p-32498622.system.entry.js.map +0 -1
- package/dist/pine-core/p-3261fdf5.system.entry.js +0 -2
- package/dist/pine-core/p-3261fdf5.system.entry.js.map +0 -1
- package/dist/pine-core/p-32e41e3d.system.entry.js +0 -2
- package/dist/pine-core/p-32e41e3d.system.entry.js.map +0 -1
- package/dist/pine-core/p-34631565.system.js +0 -2
- package/dist/pine-core/p-34631565.system.js.map +0 -1
- package/dist/pine-core/p-3ba3d44c.entry.js +0 -2
- package/dist/pine-core/p-3ba3d44c.entry.js.map +0 -1
- package/dist/pine-core/p-46161cec.entry.js +0 -2
- package/dist/pine-core/p-46161cec.entry.js.map +0 -1
- package/dist/pine-core/p-4f69a7b7.entry.js +0 -2
- package/dist/pine-core/p-4f69a7b7.entry.js.map +0 -1
- package/dist/pine-core/p-50a23474.entry.js +0 -2
- package/dist/pine-core/p-50a23474.entry.js.map +0 -1
- package/dist/pine-core/p-511bf308.entry.js +0 -2
- package/dist/pine-core/p-511bf308.entry.js.map +0 -1
- package/dist/pine-core/p-52515d64.system.entry.js +0 -2
- package/dist/pine-core/p-52515d64.system.entry.js.map +0 -1
- package/dist/pine-core/p-56ba5cbf.system.js +0 -2
- package/dist/pine-core/p-56ba5cbf.system.js.map +0 -1
- package/dist/pine-core/p-5a384517.entry.js +0 -2
- package/dist/pine-core/p-5a384517.entry.js.map +0 -1
- package/dist/pine-core/p-5bee6677.system.entry.js +0 -2
- package/dist/pine-core/p-5bee6677.system.entry.js.map +0 -1
- package/dist/pine-core/p-5df76e04.system.js +0 -2
- package/dist/pine-core/p-5df76e04.system.js.map +0 -1
- package/dist/pine-core/p-62ec9a0f.system.entry.js +0 -2
- package/dist/pine-core/p-62ec9a0f.system.entry.js.map +0 -1
- package/dist/pine-core/p-6a7a864f.entry.js +0 -2
- package/dist/pine-core/p-6a7a864f.entry.js.map +0 -1
- package/dist/pine-core/p-6ae2f0f5.entry.js +0 -2
- package/dist/pine-core/p-6ae2f0f5.entry.js.map +0 -1
- package/dist/pine-core/p-6e146962.entry.js +0 -2
- package/dist/pine-core/p-6e146962.entry.js.map +0 -1
- package/dist/pine-core/p-6ff9ebfa.entry.js +0 -2
- package/dist/pine-core/p-6ff9ebfa.entry.js.map +0 -1
- package/dist/pine-core/p-701ba882.entry.js +0 -2
- package/dist/pine-core/p-701ba882.entry.js.map +0 -1
- package/dist/pine-core/p-73eb1722.entry.js +0 -2
- package/dist/pine-core/p-73eb1722.entry.js.map +0 -1
- package/dist/pine-core/p-78c6c37a.system.entry.js +0 -2
- package/dist/pine-core/p-78c6c37a.system.entry.js.map +0 -1
- package/dist/pine-core/p-79ca4ab9.system.entry.js +0 -2
- package/dist/pine-core/p-79ca4ab9.system.entry.js.map +0 -1
- package/dist/pine-core/p-7c33a02e.entry.js +0 -2
- package/dist/pine-core/p-7c33a02e.entry.js.map +0 -1
- package/dist/pine-core/p-7dac515e.system.entry.js +0 -2
- package/dist/pine-core/p-7dac515e.system.entry.js.map +0 -1
- package/dist/pine-core/p-7ea6838b.system.entry.js +0 -2
- package/dist/pine-core/p-7ea6838b.system.entry.js.map +0 -1
- package/dist/pine-core/p-7ebfdef4.system.entry.js +0 -2
- package/dist/pine-core/p-7ebfdef4.system.entry.js.map +0 -1
- package/dist/pine-core/p-829777e4.system.entry.js +0 -2
- package/dist/pine-core/p-829777e4.system.entry.js.map +0 -1
- package/dist/pine-core/p-8317c6c2.js +0 -2
- package/dist/pine-core/p-8317c6c2.js.map +0 -1
- package/dist/pine-core/p-8469b65a.entry.js +0 -2
- package/dist/pine-core/p-8469b65a.entry.js.map +0 -1
- package/dist/pine-core/p-8d8de5fd.entry.js +0 -2
- package/dist/pine-core/p-8d8de5fd.entry.js.map +0 -1
- package/dist/pine-core/p-8df8debd.entry.js +0 -2
- package/dist/pine-core/p-8df8debd.entry.js.map +0 -1
- package/dist/pine-core/p-8f73bf14.system.entry.js +0 -2
- package/dist/pine-core/p-8f73bf14.system.entry.js.map +0 -1
- package/dist/pine-core/p-8fbec4fe.system.js +0 -2
- package/dist/pine-core/p-8fbec4fe.system.js.map +0 -1
- package/dist/pine-core/p-909b305c.system.entry.js +0 -2
- package/dist/pine-core/p-909b305c.system.entry.js.map +0 -1
- package/dist/pine-core/p-936d96ec.system.entry.js +0 -9
- package/dist/pine-core/p-936d96ec.system.entry.js.map +0 -1
- package/dist/pine-core/p-9583e6d5.entry.js +0 -2
- package/dist/pine-core/p-9583e6d5.entry.js.map +0 -1
- package/dist/pine-core/p-96c750d1.entry.js +0 -2
- package/dist/pine-core/p-96c750d1.entry.js.map +0 -1
- package/dist/pine-core/p-a03e587c.entry.js +0 -2
- package/dist/pine-core/p-a03e587c.entry.js.map +0 -1
- package/dist/pine-core/p-a79a8159.entry.js +0 -2
- package/dist/pine-core/p-a79a8159.entry.js.map +0 -1
- package/dist/pine-core/p-a962fe8e.entry.js +0 -2
- package/dist/pine-core/p-a962fe8e.entry.js.map +0 -1
- package/dist/pine-core/p-ac228abf.entry.js +0 -2
- package/dist/pine-core/p-ac228abf.entry.js.map +0 -1
- package/dist/pine-core/p-ad4238c9.system.entry.js +0 -2
- package/dist/pine-core/p-ad4238c9.system.entry.js.map +0 -1
- package/dist/pine-core/p-af7df3c2.system.entry.js +0 -2
- package/dist/pine-core/p-af7df3c2.system.entry.js.map +0 -1
- package/dist/pine-core/p-b18b20f4.system.js +0 -2
- package/dist/pine-core/p-b18b20f4.system.js.map +0 -1
- package/dist/pine-core/p-b4518566.entry.js +0 -2
- package/dist/pine-core/p-b4518566.entry.js.map +0 -1
- package/dist/pine-core/p-b5c7e02a.entry.js +0 -2
- package/dist/pine-core/p-b5c7e02a.entry.js.map +0 -1
- package/dist/pine-core/p-bc20946b.system.entry.js +0 -2
- package/dist/pine-core/p-bc20946b.system.entry.js.map +0 -1
- package/dist/pine-core/p-c52d0465.system.entry.js +0 -2
- package/dist/pine-core/p-c52d0465.system.entry.js.map +0 -1
- package/dist/pine-core/p-c84cc2f8.system.entry.js +0 -2
- package/dist/pine-core/p-c84cc2f8.system.entry.js.map +0 -1
- package/dist/pine-core/p-ca239d59.system.entry.js +0 -2
- package/dist/pine-core/p-ca239d59.system.entry.js.map +0 -1
- package/dist/pine-core/p-cfacf2e0.system.entry.js +0 -2
- package/dist/pine-core/p-cfacf2e0.system.entry.js.map +0 -1
- package/dist/pine-core/p-e1255160.js +0 -2
- package/dist/pine-core/p-e1255160.js.map +0 -1
- package/dist/pine-core/p-e4b3115c.entry.js +0 -2
- package/dist/pine-core/p-e4b3115c.entry.js.map +0 -1
- package/dist/pine-core/p-e60fccc0.js +0 -2
- package/dist/pine-core/p-e60fccc0.js.map +0 -1
- package/dist/pine-core/p-eb56f262.system.entry.js +0 -2
- package/dist/pine-core/p-eb56f262.system.entry.js.map +0 -1
- package/dist/pine-core/p-ec484bf6.entry.js +0 -2
- package/dist/pine-core/p-ec484bf6.entry.js.map +0 -1
- package/dist/pine-core/p-f59d4a46.entry.js +0 -2
- package/dist/pine-core/p-f59d4a46.entry.js.map +0 -1
- package/dist/pine-core/p-f74c489d.system.js +0 -3
- package/dist/pine-core/p-f74c489d.system.js.map +0 -1
- package/dist/pine-core/pine-core.esm.js.map +0 -1
- package/dist/pine-core/svg/access-key.svg +0 -1
- package/dist/pine-core/svg/add-circle.svg +0 -1
- package/dist/pine-core/svg/add-image.svg +0 -1
- package/dist/pine-core/svg/add-small.svg +0 -1
- package/dist/pine-core/svg/add-square.svg +0 -1
- package/dist/pine-core/svg/add.svg +0 -1
- package/dist/pine-core/svg/advanced.svg +0 -1
- package/dist/pine-core/svg/ai-sparkle.svg +0 -1
- package/dist/pine-core/svg/ai-writer-filled.svg +0 -1
- package/dist/pine-core/svg/ai-writer.svg +0 -1
- package/dist/pine-core/svg/align-center.svg +0 -1
- package/dist/pine-core/svg/align-justify.svg +0 -1
- package/dist/pine-core/svg/align-left.svg +0 -1
- package/dist/pine-core/svg/align-right.svg +0 -1
- package/dist/pine-core/svg/app-store.svg +0 -1
- package/dist/pine-core/svg/archive.svg +0 -1
- package/dist/pine-core/svg/arrow-corner.svg +0 -1
- package/dist/pine-core/svg/arrow-down.svg +0 -1
- package/dist/pine-core/svg/arrow-left.svg +0 -1
- package/dist/pine-core/svg/arrow-right.svg +0 -1
- package/dist/pine-core/svg/arrow-up.svg +0 -1
- package/dist/pine-core/svg/assessment.svg +0 -1
- package/dist/pine-core/svg/at-sign.svg +0 -1
- package/dist/pine-core/svg/attach.svg +0 -1
- package/dist/pine-core/svg/automations.svg +0 -1
- package/dist/pine-core/svg/ban.svg +0 -1
- package/dist/pine-core/svg/bank.svg +0 -1
- package/dist/pine-core/svg/bar-chart-10-tone.svg +0 -1
- package/dist/pine-core/svg/bell-01-tone.svg +0 -1
- package/dist/pine-core/svg/bell.svg +0 -1
- package/dist/pine-core/svg/block.svg +0 -1
- package/dist/pine-core/svg/blog-filled.svg +0 -1
- package/dist/pine-core/svg/blog.svg +0 -1
- package/dist/pine-core/svg/bold.svg +0 -1
- package/dist/pine-core/svg/broadcast.svg +0 -1
- package/dist/pine-core/svg/bulb.svg +0 -1
- package/dist/pine-core/svg/button.svg +0 -1
- package/dist/pine-core/svg/calendar-date.svg +0 -1
- package/dist/pine-core/svg/calendar-schedule.svg +0 -1
- package/dist/pine-core/svg/calendar-simple.svg +0 -1
- package/dist/pine-core/svg/card-amex.svg +0 -1
- package/dist/pine-core/svg/card-android.svg +0 -1
- package/dist/pine-core/svg/card-apple.svg +0 -1
- package/dist/pine-core/svg/card-diners-club.svg +0 -1
- package/dist/pine-core/svg/card-discover.svg +0 -1
- package/dist/pine-core/svg/card-generic.svg +0 -1
- package/dist/pine-core/svg/card-gpay.svg +0 -1
- package/dist/pine-core/svg/card-mastercard.svg +0 -1
- package/dist/pine-core/svg/card-paypal.svg +0 -1
- package/dist/pine-core/svg/card-stripe.svg +0 -1
- package/dist/pine-core/svg/card-update.svg +0 -1
- package/dist/pine-core/svg/card-visa.svg +0 -1
- package/dist/pine-core/svg/caret-down.svg +0 -1
- package/dist/pine-core/svg/caret-left.svg +0 -1
- package/dist/pine-core/svg/caret-right.svg +0 -1
- package/dist/pine-core/svg/caret-up.svg +0 -1
- package/dist/pine-core/svg/cart-add.svg +0 -1
- package/dist/pine-core/svg/cart.svg +0 -1
- package/dist/pine-core/svg/certificate.svg +0 -1
- package/dist/pine-core/svg/chart-filled.svg +0 -1
- package/dist/pine-core/svg/chart.svg +0 -1
- package/dist/pine-core/svg/check-circle-filled.svg +0 -1
- package/dist/pine-core/svg/check-circle.svg +0 -1
- package/dist/pine-core/svg/check.svg +0 -1
- package/dist/pine-core/svg/circle-1.svg +0 -1
- package/dist/pine-core/svg/circle-2.svg +0 -1
- package/dist/pine-core/svg/circle-3.svg +0 -1
- package/dist/pine-core/svg/circle-4.svg +0 -1
- package/dist/pine-core/svg/circle-5.svg +0 -1
- package/dist/pine-core/svg/circle-6.svg +0 -1
- package/dist/pine-core/svg/circle-7.svg +0 -1
- package/dist/pine-core/svg/circle-8.svg +0 -1
- package/dist/pine-core/svg/circle-9.svg +0 -1
- package/dist/pine-core/svg/circle-a.svg +0 -1
- package/dist/pine-core/svg/circle-b.svg +0 -1
- package/dist/pine-core/svg/circle-dashed.svg +0 -1
- package/dist/pine-core/svg/clapperboard-tone.svg +0 -1
- package/dist/pine-core/svg/clock.svg +0 -1
- package/dist/pine-core/svg/closed-captions.svg +0 -1
- package/dist/pine-core/svg/cloud-upload.svg +0 -1
- package/dist/pine-core/svg/code-block.svg +0 -1
- package/dist/pine-core/svg/code.svg +0 -1
- package/dist/pine-core/svg/color.svg +0 -1
- package/dist/pine-core/svg/columns.svg +0 -1
- package/dist/pine-core/svg/comment-no.svg +0 -1
- package/dist/pine-core/svg/comment.svg +0 -1
- package/dist/pine-core/svg/connect.svg +0 -1
- package/dist/pine-core/svg/contact.svg +0 -1
- package/dist/pine-core/svg/conversation.svg +0 -1
- package/dist/pine-core/svg/copy.svg +0 -1
- package/dist/pine-core/svg/coupon.svg +0 -1
- package/dist/pine-core/svg/course-filled.svg +0 -1
- package/dist/pine-core/svg/course.svg +0 -1
- package/dist/pine-core/svg/creator-studio-filled.svg +0 -1
- package/dist/pine-core/svg/creator-studio.svg +0 -1
- package/dist/pine-core/svg/credit-card-02-tone.svg +0 -1
- package/dist/pine-core/svg/cube-01-tone.svg +0 -1
- package/dist/pine-core/svg/cursor-pointer.svg +0 -1
- package/dist/pine-core/svg/cursor.svg +0 -1
- package/dist/pine-core/svg/custom-field.svg +0 -1
- package/dist/pine-core/svg/customize.svg +0 -1
- package/dist/pine-core/svg/danger-filled.svg +0 -1
- package/dist/pine-core/svg/danger.svg +0 -1
- package/dist/pine-core/svg/delete-circle.svg +0 -1
- package/dist/pine-core/svg/delete-key.svg +0 -1
- package/dist/pine-core/svg/delete-x.svg +0 -1
- package/dist/pine-core/svg/dollar.svg +0 -1
- package/dist/pine-core/svg/dot-menu-horizontal.svg +0 -1
- package/dist/pine-core/svg/dots-horizontal-tone.svg +0 -1
- package/dist/pine-core/svg/down-small.svg +0 -1
- package/dist/pine-core/svg/download.svg +0 -1
- package/dist/pine-core/svg/downsell.svg +0 -1
- package/dist/pine-core/svg/draft.svg +0 -1
- package/dist/pine-core/svg/drawer-collapse.svg +0 -1
- package/dist/pine-core/svg/drawer-expand.svg +0 -1
- package/dist/pine-core/svg/drop.svg +0 -1
- package/dist/pine-core/svg/duplicate.svg +0 -1
- package/dist/pine-core/svg/editor-filled.svg +0 -1
- package/dist/pine-core/svg/editor.svg +0 -1
- package/dist/pine-core/svg/email-activity.svg +0 -1
- package/dist/pine-core/svg/emoji.svg +0 -1
- package/dist/pine-core/svg/enlarge-vertical.svg +0 -1
- package/dist/pine-core/svg/enlarge.svg +0 -1
- package/dist/pine-core/svg/expand.svg +0 -1
- package/dist/pine-core/svg/favorite.svg +0 -1
- package/dist/pine-core/svg/feedback.svg +0 -1
- package/dist/pine-core/svg/file-02.svg +0 -1
- package/dist/pine-core/svg/file-money.svg +0 -1
- package/dist/pine-core/svg/file.svg +0 -1
- package/dist/pine-core/svg/filter.svg +0 -1
- package/dist/pine-core/svg/flag.svg +0 -1
- package/dist/pine-core/svg/flash-filled.svg +0 -1
- package/dist/pine-core/svg/flash.svg +0 -1
- package/dist/pine-core/svg/floppy-disk.svg +0 -1
- package/dist/pine-core/svg/folder-group.svg +0 -1
- package/dist/pine-core/svg/folder.svg +0 -1
- package/dist/pine-core/svg/form-field.svg +0 -1
- package/dist/pine-core/svg/form-filled.svg +0 -1
- package/dist/pine-core/svg/form.svg +0 -1
- package/dist/pine-core/svg/fullscreen.svg +0 -1
- package/dist/pine-core/svg/funnel.svg +0 -1
- package/dist/pine-core/svg/gear-filled.svg +0 -1
- package/dist/pine-core/svg/gear.svg +0 -1
- package/dist/pine-core/svg/grant-offer.svg +0 -1
- package/dist/pine-core/svg/handle-2-vertical.svg +0 -1
- package/dist/pine-core/svg/handle-2.svg +0 -1
- package/dist/pine-core/svg/handle.svg +0 -1
- package/dist/pine-core/svg/hashtag.svg +0 -1
- package/dist/pine-core/svg/hd-video.svg +0 -1
- package/dist/pine-core/svg/heading-1.svg +0 -1
- package/dist/pine-core/svg/heading-2.svg +0 -1
- package/dist/pine-core/svg/heading-3.svg +0 -1
- package/dist/pine-core/svg/heading-4.svg +0 -1
- package/dist/pine-core/svg/heading-5.svg +0 -1
- package/dist/pine-core/svg/heading-6.svg +0 -1
- package/dist/pine-core/svg/heading-large.svg +0 -1
- package/dist/pine-core/svg/heading-small.svg +0 -1
- package/dist/pine-core/svg/headset-tone.svg +0 -1
- package/dist/pine-core/svg/headset.svg +0 -1
- package/dist/pine-core/svg/help-filled.svg +0 -1
- package/dist/pine-core/svg/help.svg +0 -1
- package/dist/pine-core/svg/home-02-tone.svg +0 -1
- package/dist/pine-core/svg/home-alt.svg +0 -1
- package/dist/pine-core/svg/home-filled.svg +0 -1
- package/dist/pine-core/svg/home.svg +0 -1
- package/dist/pine-core/svg/horizontal-line.svg +0 -1
- package/dist/pine-core/svg/image.svg +0 -1
- package/dist/pine-core/svg/info-circle-filled.svg +0 -1
- package/dist/pine-core/svg/info-circle.svg +0 -1
- package/dist/pine-core/svg/ios-battery.svg +0 -1
- package/dist/pine-core/svg/ios-data.svg +0 -1
- package/dist/pine-core/svg/ios-wifi.svg +0 -1
- package/dist/pine-core/svg/italic.svg +0 -1
- package/dist/pine-core/svg/kajabi-filled.svg +0 -1
- package/dist/pine-core/svg/kajabi.svg +0 -1
- package/dist/pine-core/svg/klarna.svg +0 -1
- package/dist/pine-core/svg/lab.svg +0 -1
- package/dist/pine-core/svg/launch.svg +0 -1
- package/dist/pine-core/svg/layout-grid.svg +0 -1
- package/dist/pine-core/svg/layout-list.svg +0 -1
- package/dist/pine-core/svg/left-small.svg +0 -1
- package/dist/pine-core/svg/list-bullet.svg +0 -1
- package/dist/pine-core/svg/list-details.svg +0 -1
- package/dist/pine-core/svg/list-numbers.svg +0 -1
- package/dist/pine-core/svg/location.svg +0 -1
- package/dist/pine-core/svg/lock-alt.svg +0 -1
- package/dist/pine-core/svg/lock.svg +0 -1
- package/dist/pine-core/svg/logo-afterpay.svg +0 -1
- package/dist/pine-core/svg/logo-facebook-round.svg +0 -1
- package/dist/pine-core/svg/logo-facebook.svg +0 -1
- package/dist/pine-core/svg/logo-instagram.svg +0 -1
- package/dist/pine-core/svg/logo-linkedin.svg +0 -1
- package/dist/pine-core/svg/logo-tiktok.svg +0 -1
- package/dist/pine-core/svg/logo-twitter-x.svg +0 -1
- package/dist/pine-core/svg/logo-twitter.svg +0 -1
- package/dist/pine-core/svg/logo-youtube.svg +0 -1
- package/dist/pine-core/svg/loop.svg +0 -1
- package/dist/pine-core/svg/mail-01-tone.svg +0 -1
- package/dist/pine-core/svg/mail-filled.svg +0 -1
- package/dist/pine-core/svg/mail-open.svg +0 -1
- package/dist/pine-core/svg/mail.svg +0 -1
- package/dist/pine-core/svg/map.svg +0 -1
- package/dist/pine-core/svg/mapped.svg +0 -1
- package/dist/pine-core/svg/margin-left.svg +0 -1
- package/dist/pine-core/svg/margin-right.svg +0 -1
- package/dist/pine-core/svg/marker-filled.svg +0 -1
- package/dist/pine-core/svg/marker.svg +0 -1
- package/dist/pine-core/svg/megaphone-filled.svg +0 -1
- package/dist/pine-core/svg/megaphone.svg +0 -1
- package/dist/pine-core/svg/menu-alt.svg +0 -1
- package/dist/pine-core/svg/menu-bordered.svg +0 -1
- package/dist/pine-core/svg/menu.svg +0 -1
- package/dist/pine-core/svg/merge.svg +0 -1
- package/dist/pine-core/svg/microphone-off.svg +0 -1
- package/dist/pine-core/svg/microphone.svg +0 -1
- package/dist/pine-core/svg/monitor-03-tone.svg +0 -1
- package/dist/pine-core/svg/monitor-filled.svg +0 -1
- package/dist/pine-core/svg/monitor.svg +0 -1
- package/dist/pine-core/svg/more-menu-filled.svg +0 -1
- package/dist/pine-core/svg/more-menu.svg +0 -1
- package/dist/pine-core/svg/move-left.svg +0 -1
- package/dist/pine-core/svg/move-right.svg +0 -1
- package/dist/pine-core/svg/multi-pay.svg +0 -1
- package/dist/pine-core/svg/newsletter-2.svg +0 -1
- package/dist/pine-core/svg/newsletter.svg +0 -1
- package/dist/pine-core/svg/one-off-session.svg +0 -1
- package/dist/pine-core/svg/one-time.svg +0 -1
- package/dist/pine-core/svg/packages.svg +0 -1
- package/dist/pine-core/svg/pause-circle.svg +0 -1
- package/dist/pine-core/svg/pause.svg +0 -1
- package/dist/pine-core/svg/payout.svg +0 -1
- package/dist/pine-core/svg/pen.svg +0 -1
- package/dist/pine-core/svg/phone-02-tone.svg +0 -1
- package/dist/pine-core/svg/phone-portrait.svg +0 -1
- package/dist/pine-core/svg/phone-toolbar-filled.svg +0 -1
- package/dist/pine-core/svg/phone-toolbar.svg +0 -1
- package/dist/pine-core/svg/play-circle.svg +0 -1
- package/dist/pine-core/svg/play-outline.svg +0 -1
- package/dist/pine-core/svg/play-store.svg +0 -1
- package/dist/pine-core/svg/play.svg +0 -1
- package/dist/pine-core/svg/plug.svg +0 -1
- package/dist/pine-core/svg/premium.svg +0 -1
- package/dist/pine-core/svg/present.svg +0 -1
- package/dist/pine-core/svg/preview-off.svg +0 -1
- package/dist/pine-core/svg/preview-on.svg +0 -1
- package/dist/pine-core/svg/product-filled.svg +0 -1
- package/dist/pine-core/svg/product.svg +0 -1
- package/dist/pine-core/svg/question-circle.svg +0 -1
- package/dist/pine-core/svg/quote.svg +0 -1
- package/dist/pine-core/svg/redo.svg +0 -1
- package/dist/pine-core/svg/refresh.svg +0 -1
- package/dist/pine-core/svg/remove-circle.svg +0 -1
- package/dist/pine-core/svg/remove.svg +0 -1
- package/dist/pine-core/svg/rename.svg +0 -1
- package/dist/pine-core/svg/reset-password.svg +0 -1
- package/dist/pine-core/svg/restore.svg +0 -1
- package/dist/pine-core/svg/right-small.svg +0 -1
- package/dist/pine-core/svg/rocket-filled.svg +0 -1
- package/dist/pine-core/svg/rocket.svg +0 -1
- package/dist/pine-core/svg/round-dollar.svg +0 -1
- package/dist/pine-core/svg/rows.svg +0 -1
- package/dist/pine-core/svg/scissor.svg +0 -1
- package/dist/pine-core/svg/screen-share-off.svg +0 -1
- package/dist/pine-core/svg/screen-share-on.svg +0 -1
- package/dist/pine-core/svg/search-md-tone.svg +0 -1
- package/dist/pine-core/svg/search-small.svg +0 -1
- package/dist/pine-core/svg/search.svg +0 -1
- package/dist/pine-core/svg/send-message.svg +0 -1
- package/dist/pine-core/svg/sequences.svg +0 -1
- package/dist/pine-core/svg/settings-01-tone.svg +0 -1
- package/dist/pine-core/svg/share.svg +0 -1
- package/dist/pine-core/svg/skipped.svg +0 -1
- package/dist/pine-core/svg/slash-divider.svg +0 -1
- package/dist/pine-core/svg/speaker.svg +0 -1
- package/dist/pine-core/svg/stack.svg +0 -1
- package/dist/pine-core/svg/star.svg +0 -1
- package/dist/pine-core/svg/stars-01-tone.svg +0 -1
- package/dist/pine-core/svg/stop.svg +0 -1
- package/dist/pine-core/svg/stopwatch.svg +0 -1
- package/dist/pine-core/svg/strikethrough.svg +0 -1
- package/dist/pine-core/svg/subscript.svg +0 -1
- package/dist/pine-core/svg/subscriptions.svg +0 -1
- package/dist/pine-core/svg/super-admin.svg +0 -1
- package/dist/pine-core/svg/superscript.svg +0 -1
- package/dist/pine-core/svg/sync.svg +0 -1
- package/dist/pine-core/svg/tablet-landscape.svg +0 -1
- package/dist/pine-core/svg/tablet-portrait.svg +0 -1
- package/dist/pine-core/svg/tag-filled.svg +0 -1
- package/dist/pine-core/svg/tag.svg +0 -1
- package/dist/pine-core/svg/text-styles.svg +0 -1
- package/dist/pine-core/svg/theme-store-filled.svg +0 -1
- package/dist/pine-core/svg/theme-store.svg +0 -1
- package/dist/pine-core/svg/thumb-down-filled.svg +0 -1
- package/dist/pine-core/svg/thumb-down.svg +0 -1
- package/dist/pine-core/svg/thumb-up-filled.svg +0 -1
- package/dist/pine-core/svg/thumb-up.svg +0 -1
- package/dist/pine-core/svg/trash.svg +0 -1
- package/dist/pine-core/svg/trophy-filled.svg +0 -1
- package/dist/pine-core/svg/trophy.svg +0 -1
- package/dist/pine-core/svg/underline.svg +0 -1
- package/dist/pine-core/svg/undo.svg +0 -1
- package/dist/pine-core/svg/unlock.svg +0 -1
- package/dist/pine-core/svg/unmapped.svg +0 -1
- package/dist/pine-core/svg/up-small.svg +0 -1
- package/dist/pine-core/svg/upload.svg +0 -1
- package/dist/pine-core/svg/url.svg +0 -1
- package/dist/pine-core/svg/user-circle-filled.svg +0 -1
- package/dist/pine-core/svg/user-circle.svg +0 -1
- package/dist/pine-core/svg/user-filled.svg +0 -1
- package/dist/pine-core/svg/user-star-filled.svg +0 -1
- package/dist/pine-core/svg/user-star.svg +0 -1
- package/dist/pine-core/svg/user.svg +0 -1
- package/dist/pine-core/svg/users-02-tone.svg +0 -1
- package/dist/pine-core/svg/users-alt.svg +0 -1
- package/dist/pine-core/svg/users-filled.svg +0 -1
- package/dist/pine-core/svg/users.svg +0 -1
- package/dist/pine-core/svg/video-off.svg +0 -1
- package/dist/pine-core/svg/video-on.svg +0 -1
- package/dist/pine-core/svg/warning-filled.svg +0 -1
- package/dist/pine-core/svg/warning.svg +0 -1
- package/dist/pine-core/svg/window-paragraph.svg +0 -1
- package/dist/pine-core/svg/world.svg +0 -1
- package/dist/pine-core/svg/wrench.svg +0 -1
- package/dist/types/stories/_helpers/index.d.ts +0 -12
- package/loader/package.json +0 -11
|
@@ -0,0 +1,1103 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var index = require('./index-D9iJuJCP.js');
|
|
4
|
+
var floatingUi_dom = require('./floating-ui.dom-Dw41zbyY.js');
|
|
5
|
+
var closest = require('./closest-D0qyYtJ3.js');
|
|
6
|
+
var reflectedAttributeDefault = require('./reflected-attribute-default-DVYHG6O1.js');
|
|
7
|
+
var attributes = require('./attributes-Cgbkw6gO.js');
|
|
8
|
+
var keepHydrated = require('./keep-hydrated-AKoh0DG4.js');
|
|
9
|
+
var tabbable = require('./tabbable-BrrrGvdG.js');
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* Escapes a string so it's safe to interpolate into a CSS identifier (an id selector like `#${id}`)
|
|
13
|
+
* or into CSS text (a stylesheet rule referencing that id). Equivalent to the native `CSS.escape`,
|
|
14
|
+
* reimplemented because Stencil's unit-test DOM (`newSpecPage`'s mock-doc) doesn't provide it.
|
|
15
|
+
* @param value - The string to escape, e.g. a consumer-supplied id
|
|
16
|
+
*/
|
|
17
|
+
const cssEscape = (value) => {
|
|
18
|
+
const string = String(value);
|
|
19
|
+
const length = string.length;
|
|
20
|
+
const firstCodeUnit = string.charCodeAt(0);
|
|
21
|
+
let result = '';
|
|
22
|
+
for (let index = 0; index < length; index++) {
|
|
23
|
+
const codeUnit = string.charCodeAt(index);
|
|
24
|
+
if (codeUnit === 0x0000) {
|
|
25
|
+
result += '�';
|
|
26
|
+
continue;
|
|
27
|
+
}
|
|
28
|
+
if ((codeUnit >= 0x0001 && codeUnit <= 0x001f) ||
|
|
29
|
+
codeUnit === 0x007f ||
|
|
30
|
+
(index === 0 && codeUnit >= 0x0030 && codeUnit <= 0x0039) ||
|
|
31
|
+
(index === 1 && codeUnit >= 0x0030 && codeUnit <= 0x0039 && firstCodeUnit === 0x002d)) {
|
|
32
|
+
result += `\\${codeUnit.toString(16)} `;
|
|
33
|
+
continue;
|
|
34
|
+
}
|
|
35
|
+
if (index === 0 && length === 1 && codeUnit === 0x002d) {
|
|
36
|
+
result += `\\${string.charAt(index)}`;
|
|
37
|
+
continue;
|
|
38
|
+
}
|
|
39
|
+
if (codeUnit >= 0x0080 ||
|
|
40
|
+
codeUnit === 0x002d ||
|
|
41
|
+
codeUnit === 0x005f ||
|
|
42
|
+
(codeUnit >= 0x0030 && codeUnit <= 0x0039) ||
|
|
43
|
+
(codeUnit >= 0x0041 && codeUnit <= 0x005a) ||
|
|
44
|
+
(codeUnit >= 0x0061 && codeUnit <= 0x007a)) {
|
|
45
|
+
result += string.charAt(index);
|
|
46
|
+
continue;
|
|
47
|
+
}
|
|
48
|
+
result += `\\${string.charAt(index)}`;
|
|
49
|
+
}
|
|
50
|
+
return result;
|
|
51
|
+
};
|
|
52
|
+
|
|
53
|
+
const pdsPopoverCss = () => `:host{--sizing-max-width-default:400px;display:inline-block}:host .pds-popover__trigger-wrapper{display:inline-block}:host .pds-popover__tab-guard{opacity:0;outline:none;pointer-events:none;position:fixed}:host .pds-popover__content-slot-wrapper{display:none}`;
|
|
54
|
+
|
|
55
|
+
/** Open popovers that close on Escape, in the order they opened: Escape goes to the last one it applies to. */
|
|
56
|
+
const popoversTakingEscape = [];
|
|
57
|
+
/** Hovering the trigger waits this long before opening, so a pointer passing over it doesn't open it. */
|
|
58
|
+
const HOVER_OPEN_DELAY_MS = 120;
|
|
59
|
+
/** Leaving the trigger and panel waits this long before closing, which covers the gap between them. */
|
|
60
|
+
const HOVER_CLOSE_DELAY_MS = 200;
|
|
61
|
+
/**
|
|
62
|
+
* floating-ui reporting viewport coordinates, as `position: fixed` uses without a containing block. Its own
|
|
63
|
+
* containing-block check misses a backdrop filter in WebKit, so handlePopoverPositioning corrects for one itself.
|
|
64
|
+
*/
|
|
65
|
+
const viewportPlatform = Object.assign(Object.assign({}, floatingUi_dom.platform), { getOffsetParent: () => window });
|
|
66
|
+
/**
|
|
67
|
+
* Where `top: 0; left: 0` puts a fixed element beside the given one. An empty probe is measured instead of the
|
|
68
|
+
* element, whose own transforms, such as an entrance animation, would otherwise read as part of the offset.
|
|
69
|
+
*/
|
|
70
|
+
const containingBlockOrigin = (element) => {
|
|
71
|
+
var _a;
|
|
72
|
+
const probe = document.createElement('div');
|
|
73
|
+
probe.style.cssText = 'all: initial; position: fixed; top: 0; left: 0;';
|
|
74
|
+
(_a = element.parentNode) === null || _a === void 0 ? void 0 : _a.insertBefore(probe, element);
|
|
75
|
+
const { top, left } = probe.getBoundingClientRect();
|
|
76
|
+
probe.remove();
|
|
77
|
+
return { top, left };
|
|
78
|
+
};
|
|
79
|
+
/** The focused element, followed down through shadow roots to the control that has focus. */
|
|
80
|
+
function deepActiveElement() {
|
|
81
|
+
var _a;
|
|
82
|
+
let active = document.activeElement;
|
|
83
|
+
while ((_a = active === null || active === void 0 ? void 0 : active.shadowRoot) === null || _a === void 0 ? void 0 : _a.activeElement)
|
|
84
|
+
active = active.shadowRoot.activeElement;
|
|
85
|
+
return active;
|
|
86
|
+
}
|
|
87
|
+
/** `node`, or the shadow host it sits in, lifted until it shares a tree with `other` or reaches the document. */
|
|
88
|
+
function liftToTreeOf(node, other) {
|
|
89
|
+
let current = node;
|
|
90
|
+
while (current.getRootNode() !== other.getRootNode() && current.getRootNode() instanceof ShadowRoot) {
|
|
91
|
+
current = current.getRootNode().host;
|
|
92
|
+
}
|
|
93
|
+
return current;
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Where `node` sits relative to `ref`, as `compareDocumentPosition` reports it. Whichever of the two
|
|
97
|
+
* is inside a shadow root is lifted to its host first, so a control inside a component compares too.
|
|
98
|
+
*/
|
|
99
|
+
function positionAcrossTrees(ref, node) {
|
|
100
|
+
const lifted = liftToTreeOf(node, ref);
|
|
101
|
+
return liftToTreeOf(ref, lifted).compareDocumentPosition(lifted);
|
|
102
|
+
}
|
|
103
|
+
const isPosition = (position, flag) => (position & Node.DOCUMENT_POSITION_DISCONNECTED) === 0 && (position & flag) !== 0;
|
|
104
|
+
/** The popover each panel belongs to, so a popover inside another one's panel can find it. */
|
|
105
|
+
const panelOwners = new WeakMap();
|
|
106
|
+
/** Floating layers Pine components put at the end of the page or of a dialog, as a popover does its panel. */
|
|
107
|
+
const FLOATING_LAYERS = '.pds-popover, .pds-datepicker-calendar-portal, .pds-combobox-dropdown-portal';
|
|
108
|
+
const PdsPopover = class {
|
|
109
|
+
constructor(hostRef) {
|
|
110
|
+
index.registerInstance(this, hostRef);
|
|
111
|
+
this.pdsPopoverOpen = index.createEvent(this, "pdsPopoverOpen");
|
|
112
|
+
this.pdsPopoverClose = index.createEvent(this, "pdsPopoverClose");
|
|
113
|
+
/**
|
|
114
|
+
* Determines when the popover is active
|
|
115
|
+
* @defaultValue false
|
|
116
|
+
*/
|
|
117
|
+
this.active = false;
|
|
118
|
+
/**
|
|
119
|
+
* Tracks if the component is still mounted to prevent memory leaks
|
|
120
|
+
*/
|
|
121
|
+
this.isComponentMounted = true;
|
|
122
|
+
/**
|
|
123
|
+
* Set once `componentDidLoad` has built the portal, so a later reconnect knows to rebuild it
|
|
124
|
+
*/
|
|
125
|
+
this.hasLoaded = false;
|
|
126
|
+
/**
|
|
127
|
+
* A popover without a componentId keeps one generated portal id, even when the portal is rebuilt
|
|
128
|
+
*/
|
|
129
|
+
this.generatedPortalId = null;
|
|
130
|
+
/**
|
|
131
|
+
* Reference to the trigger element
|
|
132
|
+
*/
|
|
133
|
+
this.triggerEl = null;
|
|
134
|
+
/**
|
|
135
|
+
* Puts the trigger's ARIA back when something else removes or changes it
|
|
136
|
+
*/
|
|
137
|
+
this.triggerObserver = null;
|
|
138
|
+
/**
|
|
139
|
+
* Portal element: in document.body, or in the open dialog the popover is in
|
|
140
|
+
*/
|
|
141
|
+
this.portalEl = null;
|
|
142
|
+
/**
|
|
143
|
+
* Stops floating-ui's autoUpdate, which repositions the open panel as its trigger or the page moves or resizes
|
|
144
|
+
*/
|
|
145
|
+
this.stopAutoUpdate = null;
|
|
146
|
+
/**
|
|
147
|
+
* Counts positioning runs, so a run that resolves after a newer one started is dropped
|
|
148
|
+
*/
|
|
149
|
+
this.positioningRun = 0;
|
|
150
|
+
/**
|
|
151
|
+
* The latest positioning run, which pdsPopoverOpen waits for so the panel's side is set when it fires
|
|
152
|
+
*/
|
|
153
|
+
this.positioning = Promise.resolve();
|
|
154
|
+
/**
|
|
155
|
+
* Set while show() waits to emit pdsPopoverOpen, so a hide() in the meantime emits it first
|
|
156
|
+
*/
|
|
157
|
+
this.openEventPending = false;
|
|
158
|
+
/**
|
|
159
|
+
* Track moved nodes and their placeholders for restoration
|
|
160
|
+
*/
|
|
161
|
+
this.movedNodes = [];
|
|
162
|
+
/**
|
|
163
|
+
* Timestamp when popover was opened (for preventing immediate close)
|
|
164
|
+
*/
|
|
165
|
+
this.openTimestamp = 0;
|
|
166
|
+
/**
|
|
167
|
+
* Set while hover holds the popover open, until a click pins it or it closes
|
|
168
|
+
*/
|
|
169
|
+
this.hoverOpened = false;
|
|
170
|
+
/**
|
|
171
|
+
* Set when the pointer left while focus was in the panel, so focus leaving it closes it instead
|
|
172
|
+
*/
|
|
173
|
+
this.closeWhenFocusLeaves = false;
|
|
174
|
+
/**
|
|
175
|
+
* How far the pointer was from the panel at its last move after leaving the trigger
|
|
176
|
+
*/
|
|
177
|
+
this.panelDistance = Infinity;
|
|
178
|
+
/**
|
|
179
|
+
* Stands in for the panel in the Tab order, right after the trigger, while the popover is open
|
|
180
|
+
*/
|
|
181
|
+
this.tabGuardEl = null;
|
|
182
|
+
/**
|
|
183
|
+
* Set while focus passes through the guard on its way out of the panel
|
|
184
|
+
*/
|
|
185
|
+
this.leavingPanel = false;
|
|
186
|
+
/**
|
|
187
|
+
* The direction of the Tab key being handled, until its default action has run
|
|
188
|
+
*/
|
|
189
|
+
this.tabDirection = null;
|
|
190
|
+
/**
|
|
191
|
+
* Determines the action that triggers the popover. For manual popovers, the consumer is responsible for toggling this value.
|
|
192
|
+
* @defaultValue "show"
|
|
193
|
+
*/
|
|
194
|
+
this.popoverTargetAction = 'show';
|
|
195
|
+
/**
|
|
196
|
+
* Determines how the popover opens. With `hover`, it also opens when the pointer rests on the trigger and closes
|
|
197
|
+
* when the pointer leaves, until a click on the trigger keeps it open. Enter or Space on the trigger opens it either way.
|
|
198
|
+
* @defaultValue "click"
|
|
199
|
+
*/
|
|
200
|
+
this.openOn = 'click';
|
|
201
|
+
/**
|
|
202
|
+
* Determines the type of popover. Auto popovers can be "light dismissed" by clicking outside of the popover.
|
|
203
|
+
* Manual popovers require the consumer to handle the visibility of the popover.
|
|
204
|
+
*/
|
|
205
|
+
this.popoverType = 'auto';
|
|
206
|
+
/**
|
|
207
|
+
* Sets the maximum width of the popover, in pixels, including its padding.
|
|
208
|
+
* @defaultValue 400
|
|
209
|
+
*/
|
|
210
|
+
this.maxWidth = 400;
|
|
211
|
+
/**
|
|
212
|
+
* Sets the padding of the popover content
|
|
213
|
+
* @defaultValue "md"
|
|
214
|
+
*/
|
|
215
|
+
this.padding = 'md';
|
|
216
|
+
/**
|
|
217
|
+
* Determines the preferred position of the popover
|
|
218
|
+
* @defaultValue "right"
|
|
219
|
+
*/
|
|
220
|
+
this.placement = 'right';
|
|
221
|
+
/**
|
|
222
|
+
* Handles changes to the trigger slot
|
|
223
|
+
*/
|
|
224
|
+
this.handleTriggerSlotChange = (event) => {
|
|
225
|
+
const slot = event.target;
|
|
226
|
+
const assignedElements = slot.assignedElements();
|
|
227
|
+
// Clean up previous trigger's event listener if it exists
|
|
228
|
+
if (this.triggerEl != null) {
|
|
229
|
+
this.triggerEl.removeEventListener('click', this.handleTriggerClick);
|
|
230
|
+
this.stopListeningForHover(this.triggerEl);
|
|
231
|
+
}
|
|
232
|
+
if (assignedElements.length > 0) {
|
|
233
|
+
// Use the first assigned element as the trigger
|
|
234
|
+
this.triggerEl = assignedElements[0];
|
|
235
|
+
this.linkTriggerToPortal();
|
|
236
|
+
// Attach click listener to handle popover visibility
|
|
237
|
+
this.triggerEl.addEventListener('click', this.handleTriggerClick);
|
|
238
|
+
this.listenForHover(this.triggerEl);
|
|
239
|
+
}
|
|
240
|
+
else {
|
|
241
|
+
this.triggerEl = null;
|
|
242
|
+
}
|
|
243
|
+
// autoUpdate watches the trigger it started with, so an open popover starts it again on the new one.
|
|
244
|
+
if (this.active)
|
|
245
|
+
this.addScrollAndResizeListeners();
|
|
246
|
+
this.observeTrigger();
|
|
247
|
+
};
|
|
248
|
+
/**
|
|
249
|
+
* Handles changes to the default slot (popover content)
|
|
250
|
+
* When the popover is active, re-sync content with portal to handle dynamic updates
|
|
251
|
+
*/
|
|
252
|
+
this.handleContentSlotChange = () => {
|
|
253
|
+
if (!this.active)
|
|
254
|
+
return;
|
|
255
|
+
this.updatePortalContent();
|
|
256
|
+
};
|
|
257
|
+
/**
|
|
258
|
+
* Handles clicks on the trigger element
|
|
259
|
+
*/
|
|
260
|
+
this.handleTriggerClick = (event) => {
|
|
261
|
+
// Only prevent default if the trigger is not an anchor with href
|
|
262
|
+
// This allows link navigation while still controlling popover visibility
|
|
263
|
+
const composedPath = event.composedPath();
|
|
264
|
+
const anchorWithHref = composedPath.find((el) => el instanceof HTMLAnchorElement && el.href);
|
|
265
|
+
if (!anchorWithHref) {
|
|
266
|
+
event.preventDefault();
|
|
267
|
+
}
|
|
268
|
+
if (this.openOn === 'hover' && this.popoverTargetAction !== 'hide') {
|
|
269
|
+
const heldByHover = this.hoverOpened;
|
|
270
|
+
this.pin();
|
|
271
|
+
// Pinning, not toggling: the hover before a click has already opened it.
|
|
272
|
+
if (heldByHover)
|
|
273
|
+
return;
|
|
274
|
+
}
|
|
275
|
+
// Execute the appropriate action based on popoverTargetAction prop
|
|
276
|
+
switch (this.popoverTargetAction) {
|
|
277
|
+
case 'show':
|
|
278
|
+
this.show();
|
|
279
|
+
break;
|
|
280
|
+
case 'hide':
|
|
281
|
+
this.hide();
|
|
282
|
+
break;
|
|
283
|
+
case 'toggle':
|
|
284
|
+
default:
|
|
285
|
+
this.toggle();
|
|
286
|
+
break;
|
|
287
|
+
}
|
|
288
|
+
};
|
|
289
|
+
// A tap sends touch pointer events and then a click, so touch takes the click path alone.
|
|
290
|
+
this.handleHoverEnter = (event) => {
|
|
291
|
+
if (event.pointerType === 'touch')
|
|
292
|
+
return;
|
|
293
|
+
this.clearHoverTimers();
|
|
294
|
+
if (this.active)
|
|
295
|
+
return;
|
|
296
|
+
this.hoverOpenTimer = setTimeout(() => {
|
|
297
|
+
this.hoverOpenTimer = undefined;
|
|
298
|
+
if (this.active || this.portalEl == null)
|
|
299
|
+
return;
|
|
300
|
+
this.hoverOpened = true;
|
|
301
|
+
this.show();
|
|
302
|
+
}, HOVER_OPEN_DELAY_MS);
|
|
303
|
+
};
|
|
304
|
+
this.handleHoverLeave = (event) => {
|
|
305
|
+
if (event.pointerType === 'touch')
|
|
306
|
+
return;
|
|
307
|
+
this.clearHoverTimers();
|
|
308
|
+
if (!this.hoverOpened)
|
|
309
|
+
return;
|
|
310
|
+
this.hoverCloseTimer = setTimeout(this.closeFromHover, HOVER_CLOSE_DELAY_MS);
|
|
311
|
+
if (event.currentTarget !== this.triggerEl)
|
|
312
|
+
return;
|
|
313
|
+
this.panelDistance = this.distanceToPanel(event);
|
|
314
|
+
document.addEventListener('pointermove', this.handleMoveTowardPanel);
|
|
315
|
+
};
|
|
316
|
+
// A slow diagonal from the trigger to a panel shorter than it runs beside the panel for longer
|
|
317
|
+
// than the close delay, so each move that brings the pointer closer starts the delay again.
|
|
318
|
+
this.handleMoveTowardPanel = (event) => {
|
|
319
|
+
const distance = this.distanceToPanel(event);
|
|
320
|
+
if (distance < this.panelDistance) {
|
|
321
|
+
clearTimeout(this.hoverCloseTimer);
|
|
322
|
+
this.hoverCloseTimer = setTimeout(this.closeFromHover, HOVER_CLOSE_DELAY_MS);
|
|
323
|
+
}
|
|
324
|
+
this.panelDistance = distance;
|
|
325
|
+
};
|
|
326
|
+
this.handleHoverFocusOut = (event) => {
|
|
327
|
+
if (!this.closeWhenFocusLeaves || closest.containsComposed(this.portalEl, event.relatedTarget))
|
|
328
|
+
return;
|
|
329
|
+
this.closeWhenFocusLeaves = false;
|
|
330
|
+
this.hoverCloseTimer = setTimeout(this.closeFromHover, HOVER_CLOSE_DELAY_MS);
|
|
331
|
+
};
|
|
332
|
+
this.closeFromHover = () => {
|
|
333
|
+
this.clearHoverTimers();
|
|
334
|
+
if (!this.hoverOpened)
|
|
335
|
+
return;
|
|
336
|
+
// Content shown on hover stays while focus is in it (WCAG 1.4.13).
|
|
337
|
+
if (closest.containsComposed(this.portalEl, deepActiveElement())) {
|
|
338
|
+
this.closeWhenFocusLeaves = true;
|
|
339
|
+
return;
|
|
340
|
+
}
|
|
341
|
+
this.hide();
|
|
342
|
+
};
|
|
343
|
+
/** The focus style copied into a shadow root the panel opened in, which `document.head` can't reach. */
|
|
344
|
+
this.shadowFocusStyle = null;
|
|
345
|
+
/** The dialog the panel was opened in, closed along with it. */
|
|
346
|
+
this.watchedDialog = null;
|
|
347
|
+
this.onDialogClose = () => {
|
|
348
|
+
this.hide();
|
|
349
|
+
};
|
|
350
|
+
/**
|
|
351
|
+
* Inside a dialog, the panel can sit in a form that wraps the dialog, which a body portal never
|
|
352
|
+
* did. A submit from the panel (a button in it, or Enter in a field in it) is stopped, so the
|
|
353
|
+
* panel behaves as it does in the body.
|
|
354
|
+
*/
|
|
355
|
+
this.handleSubmitFromPanel = (event) => {
|
|
356
|
+
if (!this.portalEl || !closest.containsComposed(event.target, this.portalEl))
|
|
357
|
+
return;
|
|
358
|
+
if (closest.containsComposed(this.portalEl, event.submitter) || closest.containsComposed(this.portalEl, deepActiveElement())) {
|
|
359
|
+
event.preventDefault();
|
|
360
|
+
event.stopPropagation();
|
|
361
|
+
}
|
|
362
|
+
};
|
|
363
|
+
// At the end of the body or of a dialog, the panel would come last in the Tab order. The guard
|
|
364
|
+
// after the trigger takes its place there, while the panel has a control for it to lead to.
|
|
365
|
+
this.syncTabGuard = (event) => {
|
|
366
|
+
if (event.key !== 'Tab')
|
|
367
|
+
return;
|
|
368
|
+
this.releasePanel();
|
|
369
|
+
this.tabDirection = event.shiftKey ? 'backward' : 'forward';
|
|
370
|
+
setTimeout(this.endTabKey);
|
|
371
|
+
// Read on each Tab, as the panel's content can arrive after it opens.
|
|
372
|
+
const guarding = this.guardedTabbables().length > 0;
|
|
373
|
+
if (this.tabGuardEl != null)
|
|
374
|
+
this.tabGuardEl.tabIndex = guarding ? 0 : -1;
|
|
375
|
+
// Inert for this key press, the panel is reached only through the guard, either way round. A
|
|
376
|
+
// control in another floating layer, such as a nested popover's panel, may move focus back into it.
|
|
377
|
+
const focused = deepActiveElement();
|
|
378
|
+
if (guarding && !closest.containsComposed(this.portalEl, focused) && !closest.closest(FLOATING_LAYERS, focused !== null && focused !== void 0 ? focused : document)) {
|
|
379
|
+
this.portalEl.inert = true;
|
|
380
|
+
}
|
|
381
|
+
};
|
|
382
|
+
this.endTabKey = () => {
|
|
383
|
+
this.tabDirection = null;
|
|
384
|
+
this.releasePanel();
|
|
385
|
+
};
|
|
386
|
+
this.handleTabGuardFocus = (event) => {
|
|
387
|
+
if (this.leavingPanel)
|
|
388
|
+
return;
|
|
389
|
+
// An inert panel's controls aren't tabbable, so the guard would find none to send focus to.
|
|
390
|
+
this.releasePanel();
|
|
391
|
+
const tabbables = this.guardedTabbables();
|
|
392
|
+
// A Tab press says which end of the panel focus comes in at; without one, where it came from does.
|
|
393
|
+
const from = event.relatedTarget;
|
|
394
|
+
const backward = this.tabDirection != null ? this.tabDirection === 'backward' : from != null && this.isAfterPopover(from);
|
|
395
|
+
const target = backward ? tabbables[tabbables.length - 1] : tabbables[0];
|
|
396
|
+
// Focus can reach the guard without a Tab keydown here (from a frame, or assistive tech) after
|
|
397
|
+
// the panel's controls are gone. The trigger is the nearest visible place for it.
|
|
398
|
+
if (target == null)
|
|
399
|
+
this.returnFocusToTrigger();
|
|
400
|
+
else
|
|
401
|
+
target.focus();
|
|
402
|
+
};
|
|
403
|
+
this.handleTabFromPanel = (event) => {
|
|
404
|
+
if (event.key !== 'Tab' || event.defaultPrevented || this.tabGuardEl == null)
|
|
405
|
+
return;
|
|
406
|
+
const tabbables = this.guardedTabbables();
|
|
407
|
+
const edge = event.shiftKey ? tabbables[0] : tabbables[tabbables.length - 1];
|
|
408
|
+
if (edge == null || deepActiveElement() !== edge)
|
|
409
|
+
return;
|
|
410
|
+
this.leavePanel(edge, event.shiftKey);
|
|
411
|
+
};
|
|
412
|
+
this.releasePanel = () => {
|
|
413
|
+
if (this.portalEl != null)
|
|
414
|
+
this.portalEl.inert = false;
|
|
415
|
+
};
|
|
416
|
+
}
|
|
417
|
+
openOnChanged() {
|
|
418
|
+
this.pin();
|
|
419
|
+
this.stopListeningForHover(this.triggerEl);
|
|
420
|
+
this.stopListeningForHover(this.portalEl);
|
|
421
|
+
// Out of the page, connectedCallback binds them when it comes back.
|
|
422
|
+
if (!this.isComponentMounted)
|
|
423
|
+
return;
|
|
424
|
+
this.listenForHover(this.triggerEl);
|
|
425
|
+
this.listenForHover(this.portalEl);
|
|
426
|
+
}
|
|
427
|
+
applyPadding() {
|
|
428
|
+
if (this.portalEl != null)
|
|
429
|
+
this.portalEl.style.padding = this.paddingToken();
|
|
430
|
+
}
|
|
431
|
+
paddingToken() {
|
|
432
|
+
switch (this.padding) {
|
|
433
|
+
case 'none':
|
|
434
|
+
return 'var(--pine-dimension-none)';
|
|
435
|
+
case 'xs':
|
|
436
|
+
return 'var(--pine-dimension-xs)';
|
|
437
|
+
case 'sm':
|
|
438
|
+
return 'var(--pine-dimension-sm)';
|
|
439
|
+
default:
|
|
440
|
+
return 'var(--pine-dimension-md)';
|
|
441
|
+
}
|
|
442
|
+
}
|
|
443
|
+
restorePlacementDefault(newValue) {
|
|
444
|
+
this.placement = reflectedAttributeDefault.restoreReflectedDefault(this.el, 'placement', newValue, 'right');
|
|
445
|
+
}
|
|
446
|
+
componentDidLoad() {
|
|
447
|
+
var _a;
|
|
448
|
+
// Bind event handlers for cleanup
|
|
449
|
+
this.boundClickOutsideHandler = this.handleClickOutside.bind(this);
|
|
450
|
+
this.boundEscapeKeyHandler = this.handleEscapeKey.bind(this);
|
|
451
|
+
// Create portal element
|
|
452
|
+
this.createPortal();
|
|
453
|
+
this.hasLoaded = true;
|
|
454
|
+
// Initialize trigger element by calling slot change handler
|
|
455
|
+
// This is a fallback for environments where slot change might not fire reliably
|
|
456
|
+
const triggerSlot = (_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('slot[name="trigger"]');
|
|
457
|
+
if (triggerSlot && this.triggerEl == null) {
|
|
458
|
+
const CustomEvent = (typeof window !== 'undefined' ? window.Event : global.Event);
|
|
459
|
+
const slotChangeEvent = new CustomEvent('slotchange');
|
|
460
|
+
Object.defineProperty(slotChangeEvent, 'target', { value: triggerSlot, enumerable: true });
|
|
461
|
+
this.handleTriggerSlotChange(slotChangeEvent);
|
|
462
|
+
}
|
|
463
|
+
else {
|
|
464
|
+
// A component trigger delays componentDidLoad, so its slotchange ran before the portal existed.
|
|
465
|
+
this.linkTriggerToPortal();
|
|
466
|
+
}
|
|
467
|
+
}
|
|
468
|
+
// The trigger is the consumer's element, so anything can rewrite its attributes (a Turbo morph
|
|
469
|
+
// matches it to server HTML that has no ARIA). Put Pine's values back when that happens.
|
|
470
|
+
observeTrigger() {
|
|
471
|
+
var _a;
|
|
472
|
+
(_a = this.triggerObserver) === null || _a === void 0 ? void 0 : _a.disconnect();
|
|
473
|
+
this.triggerObserver = null;
|
|
474
|
+
if (this.triggerEl == null || typeof MutationObserver === 'undefined')
|
|
475
|
+
return;
|
|
476
|
+
// Capped against a script that keeps undoing it; opening and closing still write it directly.
|
|
477
|
+
this.triggerObserver = new MutationObserver(keepHydrated.limitRestores(() => this.linkTriggerToPortal(), 'pds-popover: stopped restoring its trigger ARIA, as another script keeps changing it. It may be wrong until the popover opens or closes.', this.triggerEl));
|
|
478
|
+
this.triggerObserver.observe(this.triggerEl, {
|
|
479
|
+
attributes: true,
|
|
480
|
+
attributeFilter: ['aria-expanded', 'aria-controls'],
|
|
481
|
+
});
|
|
482
|
+
}
|
|
483
|
+
// Set ARIA attributes to establish relationship between trigger and popover
|
|
484
|
+
// This mirrors the native Popover API's accessibility behavior
|
|
485
|
+
linkTriggerToPortal() {
|
|
486
|
+
if (this.triggerEl == null || this.portalEl == null)
|
|
487
|
+
return false;
|
|
488
|
+
// Skips values already in place, so the trigger observer's own callback doesn't loop.
|
|
489
|
+
return attributes.setAttributesIfChanged(this.triggerEl, { 'aria-expanded': String(this.active), 'aria-controls': this.portalEl.id });
|
|
490
|
+
}
|
|
491
|
+
listenForHover(el) {
|
|
492
|
+
if (this.openOn !== 'hover' || el == null)
|
|
493
|
+
return;
|
|
494
|
+
el.addEventListener('pointerenter', this.handleHoverEnter);
|
|
495
|
+
el.addEventListener('pointerleave', this.handleHoverLeave);
|
|
496
|
+
el.addEventListener('focusout', this.handleHoverFocusOut);
|
|
497
|
+
}
|
|
498
|
+
stopListeningForHover(el) {
|
|
499
|
+
if (el == null)
|
|
500
|
+
return;
|
|
501
|
+
el.removeEventListener('pointerenter', this.handleHoverEnter);
|
|
502
|
+
el.removeEventListener('pointerleave', this.handleHoverLeave);
|
|
503
|
+
el.removeEventListener('focusout', this.handleHoverFocusOut);
|
|
504
|
+
}
|
|
505
|
+
distanceToPanel({ clientX, clientY }) {
|
|
506
|
+
const panel = this.portalEl.getBoundingClientRect();
|
|
507
|
+
return Math.hypot(Math.max(panel.left - clientX, 0, clientX - panel.right), Math.max(panel.top - clientY, 0, clientY - panel.bottom));
|
|
508
|
+
}
|
|
509
|
+
/**
|
|
510
|
+
* Keeps a popover that hover opened open, closing from then on as one opened by a click does. A
|
|
511
|
+
* manual one gives up Escape again, which it took only while hover held it.
|
|
512
|
+
*/
|
|
513
|
+
pin() {
|
|
514
|
+
var _a;
|
|
515
|
+
this.clearHoverTimers();
|
|
516
|
+
if (!this.hoverOpened)
|
|
517
|
+
return;
|
|
518
|
+
this.hoverOpened = false;
|
|
519
|
+
if (this.popoverType === 'auto')
|
|
520
|
+
return;
|
|
521
|
+
this.forgetOpen();
|
|
522
|
+
(_a = this.portalEl) === null || _a === void 0 ? void 0 : _a.removeAttribute('data-pds-popover-open');
|
|
523
|
+
document.removeEventListener('keydown', this.boundEscapeKeyHandler);
|
|
524
|
+
}
|
|
525
|
+
clearHoverTimers() {
|
|
526
|
+
clearTimeout(this.hoverOpenTimer);
|
|
527
|
+
clearTimeout(this.hoverCloseTimer);
|
|
528
|
+
this.hoverOpenTimer = undefined;
|
|
529
|
+
this.hoverCloseTimer = undefined;
|
|
530
|
+
this.closeWhenFocusLeaves = false;
|
|
531
|
+
document.removeEventListener('pointermove', this.handleMoveTowardPanel);
|
|
532
|
+
}
|
|
533
|
+
// componentDidLoad doesn't run again when a popover comes back, so rebuild whatever
|
|
534
|
+
// disconnectedCallback tore down. Each step is a no-op when nothing was.
|
|
535
|
+
connectedCallback() {
|
|
536
|
+
var _a;
|
|
537
|
+
if (!this.hasLoaded)
|
|
538
|
+
return;
|
|
539
|
+
this.isComponentMounted = true;
|
|
540
|
+
this.createPortal();
|
|
541
|
+
(_a = this.triggerEl) === null || _a === void 0 ? void 0 : _a.addEventListener('click', this.handleTriggerClick);
|
|
542
|
+
this.listenForHover(this.triggerEl);
|
|
543
|
+
this.observeTrigger();
|
|
544
|
+
this.linkTriggerToPortal();
|
|
545
|
+
// Still open after a move: the trigger moved, so the portal follows it, into the dialog it
|
|
546
|
+
// is in now, if any.
|
|
547
|
+
if (this.active) {
|
|
548
|
+
this.placePortal();
|
|
549
|
+
// autoUpdate listens to the scroll containers around where the trigger was, so it starts again.
|
|
550
|
+
this.addScrollAndResizeListeners();
|
|
551
|
+
}
|
|
552
|
+
}
|
|
553
|
+
disconnectedCallback() {
|
|
554
|
+
var _a, _b;
|
|
555
|
+
// Moved in one operation (a DOM morph, or a framework reparenting it), the popover is
|
|
556
|
+
// already back in the page. Its portal is outside the popover, so it stays open, with focus
|
|
557
|
+
// where it was; connectedCallback moves it to follow the popover.
|
|
558
|
+
if (this.el.isConnected)
|
|
559
|
+
return;
|
|
560
|
+
this.isComponentMounted = false;
|
|
561
|
+
this.unwatchDialogClose();
|
|
562
|
+
this.forgetOpen();
|
|
563
|
+
// Open, the content sits in the portal; put it back before the portal goes. Only listeners on
|
|
564
|
+
// the popover itself hear the close event now, but those are the ones mirroring its state.
|
|
565
|
+
if (this.active) {
|
|
566
|
+
this.restorePortalContent();
|
|
567
|
+
this.active = false;
|
|
568
|
+
this.linkTriggerToPortal();
|
|
569
|
+
this.emitOpenEvent();
|
|
570
|
+
this.pdsPopoverClose.emit({
|
|
571
|
+
componentId: this.componentId,
|
|
572
|
+
popoverType: this.popoverType,
|
|
573
|
+
});
|
|
574
|
+
}
|
|
575
|
+
// Clean up trigger click event listener
|
|
576
|
+
if (this.triggerEl != null) {
|
|
577
|
+
this.triggerEl.removeEventListener('click', this.handleTriggerClick);
|
|
578
|
+
}
|
|
579
|
+
this.stopListeningForHover(this.triggerEl);
|
|
580
|
+
(_a = this.triggerObserver) === null || _a === void 0 ? void 0 : _a.disconnect();
|
|
581
|
+
this.triggerObserver = null;
|
|
582
|
+
// Clean up all event listeners
|
|
583
|
+
this.removeLightDismissListeners();
|
|
584
|
+
this.removeScrollAndResizeListeners();
|
|
585
|
+
document.removeEventListener('submit', this.handleSubmitFromPanel, true);
|
|
586
|
+
document.removeEventListener('keydown', this.syncTabGuard, true);
|
|
587
|
+
(_b = this.tabGuardEl) === null || _b === void 0 ? void 0 : _b.removeAttribute('tabindex');
|
|
588
|
+
this.clearHoverTimers();
|
|
589
|
+
this.hoverOpened = false;
|
|
590
|
+
// Remove portal from DOM
|
|
591
|
+
this.removePortal();
|
|
592
|
+
}
|
|
593
|
+
createPortal() {
|
|
594
|
+
var _a;
|
|
595
|
+
if (this.portalEl !== null)
|
|
596
|
+
return;
|
|
597
|
+
this.portalEl = document.createElement('div');
|
|
598
|
+
this.portalEl.className = 'pds-popover';
|
|
599
|
+
panelOwners.set(this.portalEl, this);
|
|
600
|
+
// Apply all styles inline since portal is outside shadow DOM
|
|
601
|
+
this.portalEl.style.position = 'fixed';
|
|
602
|
+
this.portalEl.style.zIndex = 'var(--pine-z-index-raised)';
|
|
603
|
+
this.portalEl.style.maxWidth = `${this.maxWidth}px`;
|
|
604
|
+
this.portalEl.style.display = 'none';
|
|
605
|
+
this.portalEl.style.opacity = '0';
|
|
606
|
+
this.portalEl.style.visibility = 'hidden';
|
|
607
|
+
this.portalEl.style.backgroundColor = 'var(--pine-color-background-overlay)';
|
|
608
|
+
this.portalEl.style.borderRadius = 'var(--pine-dimension-125)';
|
|
609
|
+
this.portalEl.style.boxShadow = 'var(--pine-box-shadow-200)';
|
|
610
|
+
// So the padding below stays inside max-width rather than adding to it.
|
|
611
|
+
this.portalEl.style.boxSizing = 'border-box';
|
|
612
|
+
this.portalEl.style.margin = 'var(--pine-dimension-none)';
|
|
613
|
+
this.portalEl.style.padding = this.paddingToken();
|
|
614
|
+
// Generate unique ID
|
|
615
|
+
if (!this.componentId) {
|
|
616
|
+
(_a = this.generatedPortalId) !== null && _a !== void 0 ? _a : (this.generatedPortalId = `pds-popover-portal-${PdsPopover.instanceCounter++}`);
|
|
617
|
+
this.portalEl.id = this.generatedPortalId;
|
|
618
|
+
}
|
|
619
|
+
else {
|
|
620
|
+
this.portalEl.id = `${this.componentId}-portal`;
|
|
621
|
+
}
|
|
622
|
+
// Append to body
|
|
623
|
+
document.body.appendChild(this.portalEl);
|
|
624
|
+
// Add global focus styles to match Pine design system
|
|
625
|
+
// This is done after appending to ensure it's part of the document and can access CSS variables
|
|
626
|
+
this.addPortalFocusStyles();
|
|
627
|
+
this.listenForHover(this.portalEl);
|
|
628
|
+
this.portalEl.addEventListener('keydown', this.handleTabFromPanel);
|
|
629
|
+
}
|
|
630
|
+
/**
|
|
631
|
+
* Adds Pine design system focus styles and dark mode border to the portal element
|
|
632
|
+
* Uses CSS variables from Pine's design tokens
|
|
633
|
+
*/
|
|
634
|
+
addPortalFocusStyles() {
|
|
635
|
+
if (!this.portalEl)
|
|
636
|
+
return;
|
|
637
|
+
const portalId = this.portalEl.id;
|
|
638
|
+
// componentId comes from the consumer, so it can carry characters cssEscape needs to
|
|
639
|
+
// neutralize before the id is used as a selector or interpolated into stylesheet text.
|
|
640
|
+
const escapedPortalId = cssEscape(portalId);
|
|
641
|
+
// Check if style element already exists
|
|
642
|
+
const existingStyle = document.querySelector(`style[data-pds-popover-focus="${escapedPortalId}"]`);
|
|
643
|
+
if (existingStyle)
|
|
644
|
+
return;
|
|
645
|
+
// Create style element with Pine's focus ring styles and dark mode border
|
|
646
|
+
const styleEl = document.createElement('style');
|
|
647
|
+
styleEl.setAttribute('data-pds-popover-focus', portalId);
|
|
648
|
+
styleEl.textContent = `
|
|
649
|
+
#${escapedPortalId}:focus {
|
|
650
|
+
outline: var(--pine-outline-focus, 2px solid var(--pine-color-focus-ring, #6366f1)) !important;
|
|
651
|
+
outline-offset: var(--pine-border-width, 1px);
|
|
652
|
+
}
|
|
653
|
+
#${escapedPortalId}:focus:not(:focus-visible) {
|
|
654
|
+
outline: none;
|
|
655
|
+
}
|
|
656
|
+
[data-theme="dark"] #${escapedPortalId} {
|
|
657
|
+
border: var(--pine-border);
|
|
658
|
+
}
|
|
659
|
+
`;
|
|
660
|
+
document.head.appendChild(styleEl);
|
|
661
|
+
}
|
|
662
|
+
/**
|
|
663
|
+
* Moves slot content into portal (preserves event handlers and component instances)
|
|
664
|
+
*/
|
|
665
|
+
updatePortalContent() {
|
|
666
|
+
var _a;
|
|
667
|
+
if (!this.portalEl)
|
|
668
|
+
return;
|
|
669
|
+
const contentSlotWrapper = (_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.pds-popover__content-slot-wrapper');
|
|
670
|
+
const defaultSlot = contentSlotWrapper === null || contentSlotWrapper === void 0 ? void 0 : contentSlotWrapper.querySelector('slot');
|
|
671
|
+
if (defaultSlot) {
|
|
672
|
+
const assignedNodes = defaultSlot.assignedNodes();
|
|
673
|
+
// Move each node into portal and track with placeholder for restoration
|
|
674
|
+
assignedNodes.forEach(node => {
|
|
675
|
+
var _a;
|
|
676
|
+
// Skip if node is already in the portal or already tracked
|
|
677
|
+
const isAlreadyInPortal = node.parentNode === this.portalEl;
|
|
678
|
+
const isAlreadyTracked = this.movedNodes.some(moved => moved.node === node);
|
|
679
|
+
if (isAlreadyInPortal || isAlreadyTracked) {
|
|
680
|
+
return;
|
|
681
|
+
}
|
|
682
|
+
// Create a placeholder comment to mark original position
|
|
683
|
+
const placeholder = document.createComment('pds-popover-placeholder');
|
|
684
|
+
// Insert placeholder before moving the node
|
|
685
|
+
(_a = node.parentNode) === null || _a === void 0 ? void 0 : _a.insertBefore(placeholder, node);
|
|
686
|
+
// Move the actual node to portal (preserves all handlers and state)
|
|
687
|
+
this.portalEl.appendChild(node);
|
|
688
|
+
// Track for restoration
|
|
689
|
+
this.movedNodes.push({ node, placeholder });
|
|
690
|
+
});
|
|
691
|
+
}
|
|
692
|
+
}
|
|
693
|
+
/**
|
|
694
|
+
* Restores moved nodes back to their original positions
|
|
695
|
+
*/
|
|
696
|
+
restorePortalContent() {
|
|
697
|
+
// Restore each moved node to its original position
|
|
698
|
+
this.movedNodes.forEach(({ node, placeholder }) => {
|
|
699
|
+
if (placeholder.parentNode) {
|
|
700
|
+
placeholder.parentNode.insertBefore(node, placeholder);
|
|
701
|
+
placeholder.parentNode.removeChild(placeholder);
|
|
702
|
+
}
|
|
703
|
+
});
|
|
704
|
+
// Clear tracking array
|
|
705
|
+
this.movedNodes = [];
|
|
706
|
+
}
|
|
707
|
+
copyFocusStylesInto(root) {
|
|
708
|
+
var _a, _b, _c;
|
|
709
|
+
// Outside a shadow root the document's own style applies, so drop a copy left in one.
|
|
710
|
+
if (!(root instanceof ShadowRoot)) {
|
|
711
|
+
(_a = this.shadowFocusStyle) === null || _a === void 0 ? void 0 : _a.remove();
|
|
712
|
+
this.shadowFocusStyle = null;
|
|
713
|
+
return;
|
|
714
|
+
}
|
|
715
|
+
if (((_b = this.shadowFocusStyle) === null || _b === void 0 ? void 0 : _b.parentNode) === root || !this.portalEl)
|
|
716
|
+
return;
|
|
717
|
+
const source = document.querySelector(`style[data-pds-popover-focus="${cssEscape(this.portalEl.id)}"]`);
|
|
718
|
+
if (!source)
|
|
719
|
+
return;
|
|
720
|
+
(_c = this.shadowFocusStyle) === null || _c === void 0 ? void 0 : _c.remove();
|
|
721
|
+
this.shadowFocusStyle = source.cloneNode(true);
|
|
722
|
+
root.appendChild(this.shadowFocusStyle);
|
|
723
|
+
}
|
|
724
|
+
removePortal() {
|
|
725
|
+
var _a;
|
|
726
|
+
(_a = this.shadowFocusStyle) === null || _a === void 0 ? void 0 : _a.remove();
|
|
727
|
+
this.shadowFocusStyle = null;
|
|
728
|
+
if (this.portalEl) {
|
|
729
|
+
// Remove the portal element from DOM
|
|
730
|
+
if (this.portalEl.parentNode) {
|
|
731
|
+
this.portalEl.parentNode.removeChild(this.portalEl);
|
|
732
|
+
}
|
|
733
|
+
// Remove the associated focus style element
|
|
734
|
+
const portalId = this.portalEl.id;
|
|
735
|
+
const styleEl = document.querySelector(`style[data-pds-popover-focus="${cssEscape(portalId)}"]`);
|
|
736
|
+
if (styleEl && styleEl.parentNode) {
|
|
737
|
+
styleEl.parentNode.removeChild(styleEl);
|
|
738
|
+
}
|
|
739
|
+
}
|
|
740
|
+
this.portalEl = null;
|
|
741
|
+
}
|
|
742
|
+
/**
|
|
743
|
+
* Opens the popover programmatically
|
|
744
|
+
*/
|
|
745
|
+
async show() {
|
|
746
|
+
if (this.active || !this.portalEl)
|
|
747
|
+
return;
|
|
748
|
+
this.active = true;
|
|
749
|
+
// Record open timestamp to prevent immediate close from opening click
|
|
750
|
+
this.openTimestamp = Date.now();
|
|
751
|
+
this.linkTriggerToPortal();
|
|
752
|
+
this.placePortal();
|
|
753
|
+
// Update portal content with latest slot content
|
|
754
|
+
this.updatePortalContent();
|
|
755
|
+
// Show portal. The attribute tells a modal around it that this popover takes Escape first; only
|
|
756
|
+
// an auto popover, or one hover opened, listens for Escape.
|
|
757
|
+
if (this.popoverType === 'auto' || this.hoverOpened)
|
|
758
|
+
this.portalEl.setAttribute('data-pds-popover-open', '');
|
|
759
|
+
this.portalEl.style.display = 'block';
|
|
760
|
+
this.portalEl.style.opacity = '1';
|
|
761
|
+
this.portalEl.style.visibility = 'visible';
|
|
762
|
+
// Position the popover now, and again whenever its trigger or the page moves or resizes
|
|
763
|
+
this.addScrollAndResizeListeners();
|
|
764
|
+
document.addEventListener('submit', this.handleSubmitFromPanel, true);
|
|
765
|
+
document.addEventListener('keydown', this.syncTabGuard, true);
|
|
766
|
+
// Add document listeners for light dismiss and escape key (auto type only), or for the escape
|
|
767
|
+
// key alone while hover holds a manual popover open
|
|
768
|
+
if (this.popoverType === 'auto') {
|
|
769
|
+
popoversTakingEscape.push(this);
|
|
770
|
+
this.addLightDismissListeners();
|
|
771
|
+
}
|
|
772
|
+
else if (this.hoverOpened) {
|
|
773
|
+
popoversTakingEscape.push(this);
|
|
774
|
+
document.addEventListener('keydown', this.boundEscapeKeyHandler);
|
|
775
|
+
}
|
|
776
|
+
// Emit open event once the panel is positioned, with the side it took already on it. A reconnect, a
|
|
777
|
+
// trigger swap or another show() can start a newer run meanwhile, which drops this one, so wait for the latest.
|
|
778
|
+
this.openEventPending = true;
|
|
779
|
+
let positioning;
|
|
780
|
+
do {
|
|
781
|
+
positioning = this.positioning;
|
|
782
|
+
await positioning;
|
|
783
|
+
} while (positioning !== this.positioning);
|
|
784
|
+
this.emitOpenEvent();
|
|
785
|
+
}
|
|
786
|
+
emitOpenEvent() {
|
|
787
|
+
if (!this.openEventPending)
|
|
788
|
+
return;
|
|
789
|
+
this.openEventPending = false;
|
|
790
|
+
this.pdsPopoverOpen.emit({
|
|
791
|
+
componentId: this.componentId,
|
|
792
|
+
popoverType: this.popoverType,
|
|
793
|
+
});
|
|
794
|
+
}
|
|
795
|
+
/**
|
|
796
|
+
* Closes the popover programmatically
|
|
797
|
+
*/
|
|
798
|
+
async hide() {
|
|
799
|
+
var _a;
|
|
800
|
+
this.clearHoverTimers();
|
|
801
|
+
if (!this.active || !this.portalEl)
|
|
802
|
+
return;
|
|
803
|
+
this.active = false;
|
|
804
|
+
this.hoverOpened = false;
|
|
805
|
+
this.unwatchDialogClose();
|
|
806
|
+
// Restoring the content drops its focus to the body, so check where focus is first. In a
|
|
807
|
+
// shadow root, document.activeElement is only its host.
|
|
808
|
+
const focusWasInside = closest.containsComposed(this.portalEl, deepActiveElement());
|
|
809
|
+
this.linkTriggerToPortal();
|
|
810
|
+
// Restore content back to original slot positions
|
|
811
|
+
this.restorePortalContent();
|
|
812
|
+
// Hide portal. The dark-mode border set in a shadow root is worked out again on the next open.
|
|
813
|
+
this.portalEl.style.border = '';
|
|
814
|
+
this.portalEl.removeAttribute('data-pds-popover-open');
|
|
815
|
+
this.portalEl.removeAttribute('data-pds-popover-placement');
|
|
816
|
+
this.portalEl.style.display = 'none';
|
|
817
|
+
this.portalEl.style.opacity = '0';
|
|
818
|
+
this.portalEl.style.visibility = 'hidden';
|
|
819
|
+
// Return focus to trigger for keyboard accessibility
|
|
820
|
+
// This mirrors native Popover API behavior on close
|
|
821
|
+
if (focusWasInside) {
|
|
822
|
+
this.returnFocusToTrigger();
|
|
823
|
+
}
|
|
824
|
+
// Remove all listeners
|
|
825
|
+
this.forgetOpen();
|
|
826
|
+
this.removeLightDismissListeners();
|
|
827
|
+
this.removeScrollAndResizeListeners();
|
|
828
|
+
document.removeEventListener('submit', this.handleSubmitFromPanel, true);
|
|
829
|
+
document.removeEventListener('keydown', this.syncTabGuard, true);
|
|
830
|
+
(_a = this.tabGuardEl) === null || _a === void 0 ? void 0 : _a.removeAttribute('tabindex');
|
|
831
|
+
this.releasePanel();
|
|
832
|
+
// Closed before its first position resolved, it still announces the open before the close.
|
|
833
|
+
this.emitOpenEvent();
|
|
834
|
+
// Emit close event
|
|
835
|
+
this.pdsPopoverClose.emit({
|
|
836
|
+
componentId: this.componentId,
|
|
837
|
+
popoverType: this.popoverType,
|
|
838
|
+
});
|
|
839
|
+
}
|
|
840
|
+
/**
|
|
841
|
+
* Toggles the popover open/closed state programmatically
|
|
842
|
+
*/
|
|
843
|
+
async toggle() {
|
|
844
|
+
if (this.active) {
|
|
845
|
+
await this.hide();
|
|
846
|
+
}
|
|
847
|
+
else {
|
|
848
|
+
await this.show();
|
|
849
|
+
}
|
|
850
|
+
}
|
|
851
|
+
/**
|
|
852
|
+
* Puts the panel where it shows above everything around the popover. In an open dialog, it goes
|
|
853
|
+
* inside it: a modal dialog sits in the top layer above the body and makes the rest of the page
|
|
854
|
+
* inert, and a non-modal one sits above it by z-index. Right after the popover, it's next in the
|
|
855
|
+
* Tab order. In another component's slot, though, it would have no slot to render in, and in a
|
|
856
|
+
* form its buttons would submit it, so there it goes at the end of the dialog.
|
|
857
|
+
*/
|
|
858
|
+
placePortal() {
|
|
859
|
+
var _a, _b;
|
|
860
|
+
if (!this.portalEl)
|
|
861
|
+
return;
|
|
862
|
+
const dialog = closest.closest('dialog[open]', this.el);
|
|
863
|
+
if (!dialog) {
|
|
864
|
+
this.unwatchDialogClose();
|
|
865
|
+
this.portalEl.style.border = '';
|
|
866
|
+
if (this.portalEl.parentElement !== document.body)
|
|
867
|
+
document.body.appendChild(this.portalEl);
|
|
868
|
+
this.copyFocusStylesInto(document);
|
|
869
|
+
return;
|
|
870
|
+
}
|
|
871
|
+
const form = closest.closest('form', this.el);
|
|
872
|
+
const besidePopover = !((_a = this.el.parentElement) === null || _a === void 0 ? void 0 : _a.shadowRoot) && !(form && closest.containsComposed(dialog, form));
|
|
873
|
+
if (besidePopover) {
|
|
874
|
+
if (this.el.nextElementSibling !== this.portalEl)
|
|
875
|
+
(_b = this.el.parentNode) === null || _b === void 0 ? void 0 : _b.insertBefore(this.portalEl, this.el.nextSibling);
|
|
876
|
+
}
|
|
877
|
+
else if (this.portalEl.parentNode !== dialog) {
|
|
878
|
+
dialog.appendChild(this.portalEl);
|
|
879
|
+
}
|
|
880
|
+
this.watchDialogClose(dialog);
|
|
881
|
+
const root = this.portalEl.getRootNode();
|
|
882
|
+
this.copyFocusStylesInto(root);
|
|
883
|
+
// In a shadow root, the copied dark-mode rule can't see a [data-theme="dark"] on the page.
|
|
884
|
+
this.portalEl.style.border = root instanceof ShadowRoot && closest.closest('[data-theme="dark"]', this.el) ? 'var(--pine-border)' : '';
|
|
885
|
+
}
|
|
886
|
+
forgetOpen() {
|
|
887
|
+
const index = popoversTakingEscape.indexOf(this);
|
|
888
|
+
if (index >= 0)
|
|
889
|
+
popoversTakingEscape.splice(index, 1);
|
|
890
|
+
}
|
|
891
|
+
/**
|
|
892
|
+
* Whether an Escape is this popover's. One from a dialog the popover isn't in belongs to that
|
|
893
|
+
* dialog when it's above it: a top-layer dialog or a pds-modal. A plain non-modal dialog inside
|
|
894
|
+
* the popover's modal doesn't close on Escape, so the popover takes it.
|
|
895
|
+
*/
|
|
896
|
+
takesEscapeFrom(event) {
|
|
897
|
+
var _a, _b;
|
|
898
|
+
const origin = ((_b = (_a = event.composedPath) === null || _a === void 0 ? void 0 : _a.call(event)[0]) !== null && _b !== void 0 ? _b : event.target);
|
|
899
|
+
const dialog = closest.closest('dialog[open]', origin);
|
|
900
|
+
if (!dialog || closest.containsComposed(dialog, this.portalEl))
|
|
901
|
+
return true;
|
|
902
|
+
return !(dialog.classList.contains('pds-modal__backdrop') || dialog.matches(':modal'));
|
|
903
|
+
}
|
|
904
|
+
/**
|
|
905
|
+
* Adds light dismiss listeners (click outside and escape key)
|
|
906
|
+
*/
|
|
907
|
+
addLightDismissListeners() {
|
|
908
|
+
// Add listeners immediately - handleClickOutside will check timestamp
|
|
909
|
+
document.addEventListener('click', this.boundClickOutsideHandler, true);
|
|
910
|
+
document.addEventListener('keydown', this.boundEscapeKeyHandler);
|
|
911
|
+
}
|
|
912
|
+
/** Closes the popover when the dialog it opened in closes, so it isn't left open inside. */
|
|
913
|
+
watchDialogClose(dialog) {
|
|
914
|
+
if (this.watchedDialog === dialog)
|
|
915
|
+
return;
|
|
916
|
+
this.unwatchDialogClose();
|
|
917
|
+
this.watchedDialog = dialog;
|
|
918
|
+
dialog.addEventListener('close', this.onDialogClose);
|
|
919
|
+
}
|
|
920
|
+
unwatchDialogClose() {
|
|
921
|
+
var _a;
|
|
922
|
+
(_a = this.watchedDialog) === null || _a === void 0 ? void 0 : _a.removeEventListener('close', this.onDialogClose);
|
|
923
|
+
this.watchedDialog = null;
|
|
924
|
+
}
|
|
925
|
+
/**
|
|
926
|
+
* Removes light dismiss listeners
|
|
927
|
+
*/
|
|
928
|
+
removeLightDismissListeners() {
|
|
929
|
+
document.removeEventListener('click', this.boundClickOutsideHandler, true);
|
|
930
|
+
document.removeEventListener('keydown', this.boundEscapeKeyHandler);
|
|
931
|
+
}
|
|
932
|
+
/**
|
|
933
|
+
* The panel's controls that Tab reaches through the guard. None when the panel sits right after
|
|
934
|
+
* the popover, in a dialog, where it's already next in the Tab order.
|
|
935
|
+
*/
|
|
936
|
+
guardedTabbables() {
|
|
937
|
+
if (this.portalEl == null || this.el.nextElementSibling === this.portalEl)
|
|
938
|
+
return [];
|
|
939
|
+
return tabbable.tabbableIn(this.portalEl);
|
|
940
|
+
}
|
|
941
|
+
isAfterPopover(node) {
|
|
942
|
+
if (closest.containsComposed(this.el, node))
|
|
943
|
+
return false;
|
|
944
|
+
return isPosition(positionAcrossTrees(this.el, node), Node.DOCUMENT_POSITION_FOLLOWING);
|
|
945
|
+
}
|
|
946
|
+
/**
|
|
947
|
+
* Moves focus to the guard without preventing the Tab, so the browser's Tab carries on from there.
|
|
948
|
+
* Inert until then, the panel can't be where it lands.
|
|
949
|
+
*/
|
|
950
|
+
leavePanel(edge, backward) {
|
|
951
|
+
var _a, _b;
|
|
952
|
+
this.leavingPanel = true;
|
|
953
|
+
(_a = this.tabGuardEl) === null || _a === void 0 ? void 0 : _a.focus();
|
|
954
|
+
this.leavingPanel = false;
|
|
955
|
+
this.portalEl.inert = true;
|
|
956
|
+
setTimeout(() => this.finishLeavingPanel(edge));
|
|
957
|
+
// Last in another popover's panel, the guard hands the Tab on to that popover's own guard.
|
|
958
|
+
const outer = panelOwners.get(closest.closest('.pds-popover', this.el));
|
|
959
|
+
const outerTabbables = (_b = outer === null || outer === void 0 ? void 0 : outer.guardedTabbables()) !== null && _b !== void 0 ? _b : [];
|
|
960
|
+
if (!backward && outerTabbables[outerTabbables.length - 1] === this.tabGuardEl)
|
|
961
|
+
outer.leavePanel(edge, false);
|
|
962
|
+
}
|
|
963
|
+
// With nowhere for the browser's Tab to go, focus would stay on the invisible guard.
|
|
964
|
+
finishLeavingPanel(edge) {
|
|
965
|
+
var _a;
|
|
966
|
+
this.releasePanel();
|
|
967
|
+
if (this.active && ((_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.activeElement) === this.tabGuardEl)
|
|
968
|
+
edge.focus();
|
|
969
|
+
}
|
|
970
|
+
/**
|
|
971
|
+
* Adds scroll and resize listeners for repositioning
|
|
972
|
+
*/
|
|
973
|
+
addScrollAndResizeListeners() {
|
|
974
|
+
this.removeScrollAndResizeListeners();
|
|
975
|
+
if (this.triggerEl == null || this.portalEl == null)
|
|
976
|
+
return;
|
|
977
|
+
this.stopAutoUpdate = floatingUi_dom.autoUpdate(this.triggerEl, this.portalEl, () => {
|
|
978
|
+
this.positioning = this.handlePopoverPositioning().catch(error => console.warn('pds-popover: failed to position the panel', error));
|
|
979
|
+
});
|
|
980
|
+
}
|
|
981
|
+
/**
|
|
982
|
+
* Removes scroll and resize listeners
|
|
983
|
+
*/
|
|
984
|
+
removeScrollAndResizeListeners() {
|
|
985
|
+
var _a;
|
|
986
|
+
(_a = this.stopAutoUpdate) === null || _a === void 0 ? void 0 : _a.call(this);
|
|
987
|
+
this.stopAutoUpdate = null;
|
|
988
|
+
}
|
|
989
|
+
/**
|
|
990
|
+
* Handles clicks outside the popover for light dismiss (auto type only)
|
|
991
|
+
*/
|
|
992
|
+
handleClickOutside(event) {
|
|
993
|
+
var _a, _b;
|
|
994
|
+
// Ignore events that occurred at or before the popover opened
|
|
995
|
+
// This prevents the opening click from immediately closing the popover
|
|
996
|
+
// Convert event.timeStamp (DOMHighResTimeStamp from performance.now()) to epoch time
|
|
997
|
+
// by calculating: currentEpochTime - (currentPerfTime - eventPerfTime)
|
|
998
|
+
const eventTime = event.timeStamp
|
|
999
|
+
? Date.now() - (performance.now() - event.timeStamp)
|
|
1000
|
+
: Date.now();
|
|
1001
|
+
if (eventTime <= this.openTimestamp) {
|
|
1002
|
+
return;
|
|
1003
|
+
}
|
|
1004
|
+
// In a shadow root, event.target is only its host.
|
|
1005
|
+
const target = ((_b = (_a = event.composedPath) === null || _a === void 0 ? void 0 : _a.call(event)[0]) !== null && _b !== void 0 ? _b : event.target);
|
|
1006
|
+
// A datepicker's calendar is portaled to the body: a click in the calendar of a datepicker
|
|
1007
|
+
// inside this popover, in its content or its trigger, isn't outside it. The target can be
|
|
1008
|
+
// inside the calendar's shadow root, so look up across it.
|
|
1009
|
+
const calendar = closest.closest('.pds-datepicker-calendar-portal', target);
|
|
1010
|
+
const owner = calendar === null || calendar === void 0 ? void 0 : calendar.pdsDatepicker;
|
|
1011
|
+
if (owner && (closest.containsComposed(this.portalEl, owner) || closest.containsComposed(this.triggerEl, owner)))
|
|
1012
|
+
return;
|
|
1013
|
+
// Check if click is outside both the popover portal and the trigger
|
|
1014
|
+
const clickedInsidePopover = closest.containsComposed(this.portalEl, target);
|
|
1015
|
+
const clickedInsideTrigger = closest.containsComposed(this.triggerEl, target);
|
|
1016
|
+
if (!clickedInsidePopover && !clickedInsideTrigger) {
|
|
1017
|
+
this.hide();
|
|
1018
|
+
}
|
|
1019
|
+
}
|
|
1020
|
+
/**
|
|
1021
|
+
* Returns focus to the trigger element with visible focus indicator
|
|
1022
|
+
* This ensures focus rings/outlines are shown as they would be with keyboard navigation
|
|
1023
|
+
*/
|
|
1024
|
+
returnFocusToTrigger() {
|
|
1025
|
+
if (!this.triggerEl)
|
|
1026
|
+
return;
|
|
1027
|
+
// Focus immediately while still in keyboard event context
|
|
1028
|
+
// This ensures the browser treats it as keyboard-initiated and shows focus ring
|
|
1029
|
+
this.triggerEl.focus({ preventScroll: true });
|
|
1030
|
+
}
|
|
1031
|
+
/**
|
|
1032
|
+
* Handles escape key press to close the popover
|
|
1033
|
+
* Mirrors native Popover API: Escape closes and returns focus to trigger
|
|
1034
|
+
*/
|
|
1035
|
+
handleEscapeKey(event) {
|
|
1036
|
+
// A control inside that closes on Escape (a datepicker, a combobox) has handled it already.
|
|
1037
|
+
if (event.key !== 'Escape' || event.defaultPrevented)
|
|
1038
|
+
return;
|
|
1039
|
+
// Like the native Popover API, Escape closes only the top popover: the last one opened that
|
|
1040
|
+
// it applies to. Every open popover hears it, so each checks whether it's that one.
|
|
1041
|
+
const top = [...popoversTakingEscape].reverse().find(popover => popover.takesEscapeFrom(event));
|
|
1042
|
+
if (top !== this)
|
|
1043
|
+
return;
|
|
1044
|
+
// Take the key, so the dialog or modal around it doesn't close too.
|
|
1045
|
+
event.preventDefault();
|
|
1046
|
+
event.stopPropagation();
|
|
1047
|
+
// Close popover and return focus to trigger
|
|
1048
|
+
this.hide();
|
|
1049
|
+
}
|
|
1050
|
+
/**
|
|
1051
|
+
* Positions the popover relative to its trigger element, flipping to the opposite side when only that side has
|
|
1052
|
+
* room and shifting to stay 8px inside the viewport. The side it takes goes on the panel's `data-pds-popover-placement`.
|
|
1053
|
+
*/
|
|
1054
|
+
async handlePopoverPositioning() {
|
|
1055
|
+
// Counted before the guards, so a run still in flight is dropped even when this one can't position.
|
|
1056
|
+
const run = ++this.positioningRun;
|
|
1057
|
+
if (this.triggerEl == null || this.portalEl == null)
|
|
1058
|
+
return;
|
|
1059
|
+
// Safety check: ensure trigger has valid dimensions (is rendered and visible)
|
|
1060
|
+
const triggerRect = this.triggerEl.getBoundingClientRect();
|
|
1061
|
+
if (triggerRect.width === 0 || triggerRect.height === 0)
|
|
1062
|
+
return;
|
|
1063
|
+
const portal = this.portalEl;
|
|
1064
|
+
const { x: left, y: top, placement } = await floatingUi_dom.computePosition(this.triggerEl, portal, {
|
|
1065
|
+
placement: this.placement,
|
|
1066
|
+
strategy: 'fixed',
|
|
1067
|
+
// With no room on either side, stay on the preferred side: the side that overflows less can still push
|
|
1068
|
+
// a tall panel's start above the viewport.
|
|
1069
|
+
middleware: [floatingUi_dom.offset(8), floatingUi_dom.flip({ fallbackStrategy: 'initialPlacement' }), floatingUi_dom.shift({ padding: 8 })],
|
|
1070
|
+
platform: viewportPlatform,
|
|
1071
|
+
});
|
|
1072
|
+
if (!this.active || run !== this.positioningRun || portal !== this.portalEl)
|
|
1073
|
+
return;
|
|
1074
|
+
portal.setAttribute('data-pds-popover-placement', placement);
|
|
1075
|
+
// `position: fixed` measures from the viewport unless an ancestor becomes its containing block,
|
|
1076
|
+
// as a modal dialog does with its backdrop filter. Offset by however far that block's corner is from the viewport's.
|
|
1077
|
+
const origin = containingBlockOrigin(portal);
|
|
1078
|
+
portal.style.top = `${top - origin.top}px`;
|
|
1079
|
+
portal.style.left = `${left - origin.left}px`;
|
|
1080
|
+
}
|
|
1081
|
+
render() {
|
|
1082
|
+
return (index.h(index.Host, { key: '1767e44f8f0fba0938cc99fefdeb786cf9131384' }, index.h("span", { key: 'b5369451958d62562f007d600e7567809f281bfb', class: "pds-popover__trigger-wrapper" }, index.h("slot", { key: '30a8273c6365eff7fd8265966ae09d66ac84e0a9', name: "trigger", onSlotchange: this.handleTriggerSlotChange })), index.h("span", { key: 'a562458380244ca76af047edd00d40d012bc30ce', class: "pds-popover__tab-guard", ref: (el) => (this.tabGuardEl = el !== null && el !== void 0 ? el : null), onFocus: this.handleTabGuardFocus }), index.h("div", { key: '36db874a9f1bcdf0dc52d9cce368c5fc4f296b62', class: "pds-popover__content-slot-wrapper" }, index.h("slot", { key: '295f000fcdcaa4ef5249f4e98ed83cbd467351b0', onSlotchange: this.handleContentSlotChange }))));
|
|
1083
|
+
}
|
|
1084
|
+
get el() { return index.getElement(this); }
|
|
1085
|
+
static get watchers() { return {
|
|
1086
|
+
"openOn": [{
|
|
1087
|
+
"openOnChanged": 0
|
|
1088
|
+
}],
|
|
1089
|
+
"padding": [{
|
|
1090
|
+
"applyPadding": 0
|
|
1091
|
+
}],
|
|
1092
|
+
"placement": [{
|
|
1093
|
+
"restorePlacementDefault": 0
|
|
1094
|
+
}]
|
|
1095
|
+
}; }
|
|
1096
|
+
};
|
|
1097
|
+
/**
|
|
1098
|
+
* Instance counter for unique IDs
|
|
1099
|
+
*/
|
|
1100
|
+
PdsPopover.instanceCounter = 0;
|
|
1101
|
+
PdsPopover.style = pdsPopoverCss();
|
|
1102
|
+
|
|
1103
|
+
exports.pds_popover = PdsPopover;
|