@pine-ds/core 4.5.0 → 4.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/attributes.js +1 -1
- package/components/mock-pds-modal.js +1 -1
- package/components/pds-combobox.js +1 -1
- package/components/pds-container.js +1 -1
- package/components/pds-copytext.js +1 -1
- package/components/pds-datepicker.js +1 -1
- package/components/pds-divider.js +1 -1
- package/components/pds-drawer-content.js +1 -1
- package/components/pds-drawer-footer.js +1 -1
- package/components/pds-drawer-header.js +1 -1
- package/components/pds-drawer.js +1 -1
- package/components/pds-dropdown-menu-item.js +1 -1
- package/components/pds-dropdown-menu-separator.js +1 -1
- package/components/pds-dropdown-menu.js +1 -1
- package/components/pds-filter.js +1 -1
- package/components/pds-filters.js +1 -1
- package/components/pds-icon2.js +1 -1
- package/components/pds-image.js +1 -1
- package/components/pds-input2.js +1 -1
- package/components/pds-link2.js +1 -1
- package/components/pds-loader2.js +1 -1
- package/components/pds-modal-content.js +1 -1
- package/components/pds-modal-footer.js +1 -1
- package/components/pds-modal-header.js +1 -1
- package/components/pds-modal2.js +1 -1
- package/components/pds-multiselect.js +1 -1
- package/components/pds-popover.js +1 -1
- package/components/pds-progress.js +1 -1
- package/components/pds-property.js +1 -1
- package/components/pds-radio-group.js +1 -1
- package/components/pds-radio.js +1 -1
- package/components/pds-row.js +1 -1
- package/components/pds-select.js +1 -1
- package/components/pds-sortable-item.js +1 -1
- package/components/pds-sortable.js +1 -1
- package/components/pds-switch.js +1 -1
- package/components/pds-tab.js +1 -1
- package/components/pds-table-body.js +1 -1
- package/components/pds-table-cell2.js +1 -1
- package/components/pds-table-head-cell2.js +1 -1
- package/components/pds-table-head.js +1 -1
- package/components/pds-table-row.js +1 -1
- package/components/pds-tabpanel.js +1 -1
- package/components/pds-tabs.js +1 -1
- package/components/pds-text2.js +1 -1
- package/components/pds-textarea.js +1 -1
- package/components/pds-toast.js +1 -1
- package/components/pds-tooltip.js +1 -1
- package/dist/cjs/{attributes-DXvaSETR.js → attributes-BJ7KBHql.js} +18 -11
- package/dist/cjs/{index-D-QQKB0y.js → index-5Azb8EQG.js} +1 -1
- package/dist/cjs/{index-BQjWfQXw.js → index-jl_Q819j.js} +1 -1
- package/dist/cjs/index.cjs.js +1 -1
- package/dist/cjs/keep-hydrated-CiXgkEYd.js +196 -0
- package/dist/cjs/loader.cjs.js +3 -3
- package/dist/cjs/mock-pds-modal.cjs.entry.js +3 -3
- package/dist/cjs/pds-accordion.cjs.entry.js +3 -3
- package/dist/cjs/pds-alert.cjs.entry.js +2 -2
- package/dist/cjs/pds-avatar.cjs.entry.js +3 -3
- package/dist/cjs/pds-box.cjs.entry.js +3 -3
- package/dist/cjs/pds-button.cjs.entry.js +3 -3
- package/dist/cjs/pds-checkbox.cjs.entry.js +4 -4
- package/dist/cjs/pds-chip.cjs.entry.js +4 -4
- package/dist/cjs/pds-combobox.cjs.entry.js +187 -28
- package/dist/cjs/pds-container.cjs.entry.js +3 -3
- package/dist/cjs/pds-copytext.cjs.entry.js +5 -5
- package/dist/cjs/pds-datepicker.cjs.entry.js +5 -5
- package/dist/cjs/pds-divider.cjs.entry.js +3 -3
- package/dist/cjs/pds-drawer-content.cjs.entry.js +3 -3
- package/dist/cjs/pds-drawer-footer.cjs.entry.js +3 -3
- package/dist/cjs/pds-drawer-header.cjs.entry.js +3 -3
- package/dist/cjs/pds-drawer.cjs.entry.js +25 -12
- package/dist/cjs/pds-dropdown-menu-item.cjs.entry.js +3 -3
- package/dist/cjs/pds-dropdown-menu-separator.cjs.entry.js +3 -3
- package/dist/cjs/pds-dropdown-menu.cjs.entry.js +24 -12
- package/dist/cjs/pds-filter.cjs.entry.js +4 -4
- package/dist/cjs/pds-filters.cjs.entry.js +3 -3
- package/dist/cjs/pds-icon.cjs.entry.js +27 -4
- package/dist/cjs/pds-image.cjs.entry.js +4 -4
- package/dist/cjs/pds-input.cjs.entry.js +6 -6
- package/dist/cjs/pds-link.cjs.entry.js +5 -5
- package/dist/cjs/pds-loader.cjs.entry.js +4 -4
- package/dist/cjs/pds-modal-content.cjs.entry.js +4 -4
- package/dist/cjs/pds-modal-footer.cjs.entry.js +3 -3
- package/dist/cjs/pds-modal-header.cjs.entry.js +3 -3
- package/dist/cjs/pds-modal.cjs.entry.js +118 -33
- package/dist/cjs/pds-multiselect.cjs.entry.js +9 -8
- package/dist/cjs/pds-popover.cjs.entry.js +227 -37
- package/dist/cjs/pds-progress.cjs.entry.js +4 -4
- package/dist/cjs/pds-property.cjs.entry.js +3 -3
- package/dist/cjs/pds-radio-group.cjs.entry.js +6 -6
- package/dist/cjs/pds-radio.cjs.entry.js +7 -7
- package/dist/cjs/pds-row.cjs.entry.js +4 -4
- package/dist/cjs/pds-select.cjs.entry.js +5 -5
- package/dist/cjs/pds-sortable-item.cjs.entry.js +5 -5
- package/dist/cjs/pds-sortable.cjs.entry.js +4 -4
- package/dist/cjs/pds-switch.cjs.entry.js +7 -7
- package/dist/cjs/pds-tab.cjs.entry.js +13 -2
- package/dist/cjs/pds-table-body.cjs.entry.js +3 -3
- package/dist/cjs/pds-table-cell.cjs.entry.js +4 -4
- package/dist/cjs/pds-table-head-cell.cjs.entry.js +5 -5
- package/dist/cjs/pds-table-head.cjs.entry.js +3 -3
- package/dist/cjs/pds-table-row.cjs.entry.js +3 -3
- package/dist/cjs/pds-table.cjs.entry.js +2 -2
- package/dist/cjs/pds-tabpanel.cjs.entry.js +15 -3
- package/dist/cjs/pds-tabs.cjs.entry.js +111 -7
- package/dist/cjs/pds-text.cjs.entry.js +3 -3
- package/dist/cjs/pds-textarea.cjs.entry.js +8 -8
- package/dist/cjs/pds-toast.cjs.entry.js +5 -5
- package/dist/cjs/pds-tooltip.cjs.entry.js +4 -4
- package/dist/cjs/pine-core.cjs.js +3 -3
- package/dist/collection/components/pds-combobox/grouped-options-panel.js +21 -3
- package/dist/collection/components/pds-combobox/pds-combobox.css +42 -13
- package/dist/collection/components/pds-combobox/pds-combobox.js +166 -23
- package/dist/collection/components/pds-combobox/stories/pds-combobox.stories.js +45 -0
- package/dist/collection/components/pds-container/pds-container.js +1 -1
- package/dist/collection/components/pds-copytext/pds-copytext.js +1 -1
- package/dist/collection/components/pds-datepicker/pds-datepicker.js +2 -2
- package/dist/collection/components/pds-divider/pds-divider.js +1 -1
- package/dist/collection/components/pds-drawer/pds-drawer-content/pds-drawer-content.js +1 -1
- package/dist/collection/components/pds-drawer/pds-drawer-footer/pds-drawer-footer.js +1 -1
- package/dist/collection/components/pds-drawer/pds-drawer-header/pds-drawer-header.js +1 -1
- package/dist/collection/components/pds-drawer/pds-drawer.css +4 -1
- package/dist/collection/components/pds-drawer/pds-drawer.js +54 -17
- package/dist/collection/components/pds-drawer/stories/pds-drawer.stories.js +6 -1
- package/dist/collection/components/pds-dropdown-menu/pds-dropdown-menu-item/pds-dropdown-menu-item.js +1 -1
- package/dist/collection/components/pds-dropdown-menu/pds-dropdown-menu-separator/pds-dropdown-menu-separator.js +1 -1
- package/dist/collection/components/pds-dropdown-menu/pds-dropdown-menu.css +19 -5
- package/dist/collection/components/pds-dropdown-menu/pds-dropdown-menu.js +30 -9
- package/dist/collection/components/pds-filters/pds-filter/pds-filter.js +1 -1
- package/dist/collection/components/pds-filters/pds-filters.js +1 -1
- package/dist/collection/components/pds-image/pds-image.js +2 -2
- package/dist/collection/components/pds-input/pds-input.js +2 -2
- package/dist/collection/components/pds-link/pds-link.js +2 -2
- package/dist/collection/components/pds-loader/pds-loader.js +1 -1
- package/dist/collection/components/pds-modal/pds-modal-content/pds-modal-content.js +2 -2
- package/dist/collection/components/pds-modal/pds-modal-footer/pds-modal-footer.js +1 -1
- package/dist/collection/components/pds-modal/pds-modal-header/pds-modal-header.js +1 -1
- package/dist/collection/components/pds-modal/pds-modal.js +117 -32
- package/dist/collection/components/pds-modal/test/mock-pds-modal.js +1 -1
- package/dist/collection/components/pds-multiselect/pds-multiselect.js +8 -7
- package/dist/collection/components/pds-popover/pds-popover.js +185 -35
- package/dist/collection/components/pds-progress/pds-progress.js +1 -1
- package/dist/collection/components/pds-property/pds-property.js +1 -1
- package/dist/collection/components/pds-radio/pds-radio.js +3 -3
- package/dist/collection/components/pds-radio-group/pds-radio-group.js +3 -3
- package/dist/collection/components/pds-row/pds-row.js +1 -1
- package/dist/collection/components/pds-select/pds-select.js +1 -1
- package/dist/collection/components/pds-sortable/pds-sortable-item/pds-sortable-item.js +1 -1
- package/dist/collection/components/pds-sortable/pds-sortable.js +1 -1
- package/dist/collection/components/pds-switch/pds-switch.js +3 -3
- package/dist/collection/components/pds-table/pds-table-body/pds-table-body.js +1 -1
- package/dist/collection/components/pds-table/pds-table-cell/pds-table-cell.js +2 -2
- package/dist/collection/components/pds-table/pds-table-head/pds-table-head.js +1 -1
- package/dist/collection/components/pds-table/pds-table-head-cell/pds-table-head-cell.js +2 -2
- package/dist/collection/components/pds-table/pds-table-row/pds-table-row.js +1 -1
- package/dist/collection/components/pds-tabs/pds-tab/pds-tab.js +11 -0
- package/dist/collection/components/pds-tabs/pds-tabpanel/pds-tabpanel.js +13 -1
- package/dist/collection/components/pds-tabs/pds-tabs.js +111 -7
- package/dist/collection/components/pds-text/pds-text.js +1 -1
- package/dist/collection/components/pds-textarea/pds-textarea.js +4 -4
- package/dist/collection/components/pds-toast/pds-toast.js +3 -3
- package/dist/collection/components/pds-tooltip/pds-tooltip.js +2 -2
- package/dist/collection/utils/attributes.js +18 -11
- package/dist/collection/utils/css.js +41 -0
- package/dist/collection/utils/keep-hydrated.js +133 -6
- package/dist/docs.json +56 -12
- package/dist/esm/{attributes-CF5K2pxn.js → attributes-WXw_I_uJ.js} +18 -11
- package/dist/esm/{index-DxI-61GK.js → index-BJXk71tO.js} +1 -1
- package/dist/esm/{index-2HMD-zUO.js → index-Cw9J31qd.js} +1 -1
- package/dist/esm/index.js +1 -1
- package/dist/esm/keep-hydrated-BLG6RDBt.js +190 -0
- package/dist/esm/loader.js +4 -4
- package/dist/esm/mock-pds-modal.entry.js +3 -3
- package/dist/esm/pds-accordion.entry.js +3 -3
- package/dist/esm/pds-alert.entry.js +2 -2
- package/dist/esm/pds-avatar.entry.js +3 -3
- package/dist/esm/pds-box.entry.js +3 -3
- package/dist/esm/pds-button.entry.js +3 -3
- package/dist/esm/pds-checkbox.entry.js +4 -4
- package/dist/esm/pds-chip.entry.js +4 -4
- package/dist/esm/pds-combobox.entry.js +187 -28
- package/dist/esm/pds-container.entry.js +3 -3
- package/dist/esm/pds-copytext.entry.js +5 -5
- package/dist/esm/pds-datepicker.entry.js +5 -5
- package/dist/esm/pds-divider.entry.js +3 -3
- package/dist/esm/pds-drawer-content.entry.js +3 -3
- package/dist/esm/pds-drawer-footer.entry.js +3 -3
- package/dist/esm/pds-drawer-header.entry.js +3 -3
- package/dist/esm/pds-drawer.entry.js +25 -12
- package/dist/esm/pds-dropdown-menu-item.entry.js +3 -3
- package/dist/esm/pds-dropdown-menu-separator.entry.js +3 -3
- package/dist/esm/pds-dropdown-menu.entry.js +24 -12
- package/dist/esm/pds-filter.entry.js +4 -4
- package/dist/esm/pds-filters.entry.js +3 -3
- package/dist/esm/pds-icon.entry.js +27 -4
- package/dist/esm/pds-image.entry.js +4 -4
- package/dist/esm/pds-input.entry.js +6 -6
- package/dist/esm/pds-link.entry.js +5 -5
- package/dist/esm/pds-loader.entry.js +4 -4
- package/dist/esm/pds-modal-content.entry.js +4 -4
- package/dist/esm/pds-modal-footer.entry.js +3 -3
- package/dist/esm/pds-modal-header.entry.js +3 -3
- package/dist/esm/pds-modal.entry.js +118 -33
- package/dist/esm/pds-multiselect.entry.js +9 -8
- package/dist/esm/pds-popover.entry.js +228 -38
- package/dist/esm/pds-progress.entry.js +4 -4
- package/dist/esm/pds-property.entry.js +3 -3
- package/dist/esm/pds-radio-group.entry.js +6 -6
- package/dist/esm/pds-radio.entry.js +7 -7
- package/dist/esm/pds-row.entry.js +4 -4
- package/dist/esm/pds-select.entry.js +5 -5
- package/dist/esm/pds-sortable-item.entry.js +5 -5
- package/dist/esm/pds-sortable.entry.js +4 -4
- package/dist/esm/pds-switch.entry.js +7 -7
- package/dist/esm/pds-tab.entry.js +13 -2
- package/dist/esm/pds-table-body.entry.js +3 -3
- package/dist/esm/pds-table-cell.entry.js +4 -4
- package/dist/esm/pds-table-head-cell.entry.js +5 -5
- package/dist/esm/pds-table-head.entry.js +3 -3
- package/dist/esm/pds-table-row.entry.js +3 -3
- package/dist/esm/pds-table.entry.js +2 -2
- package/dist/esm/pds-tabpanel.entry.js +15 -3
- package/dist/esm/pds-tabs.entry.js +111 -7
- package/dist/esm/pds-text.entry.js +3 -3
- package/dist/esm/pds-textarea.entry.js +8 -8
- package/dist/esm/pds-toast.entry.js +5 -5
- package/dist/esm/pds-tooltip.entry.js +4 -4
- package/dist/esm/pine-core.js +4 -4
- package/dist/esm-es5/attributes-WXw_I_uJ.js +1 -0
- package/dist/esm-es5/{index-2HMD-zUO.js → index-Cw9J31qd.js} +2 -2
- package/dist/esm-es5/index.js +1 -1
- package/dist/esm-es5/keep-hydrated-BLG6RDBt.js +1 -0
- package/dist/esm-es5/loader.js +1 -1
- package/dist/esm-es5/mock-pds-modal.entry.js +1 -1
- package/dist/esm-es5/pds-accordion.entry.js +1 -1
- package/dist/esm-es5/pds-alert.entry.js +1 -1
- package/dist/esm-es5/pds-avatar.entry.js +1 -1
- package/dist/esm-es5/pds-box.entry.js +1 -1
- package/dist/esm-es5/pds-button.entry.js +1 -1
- package/dist/esm-es5/pds-checkbox.entry.js +1 -1
- package/dist/esm-es5/pds-chip.entry.js +1 -1
- package/dist/esm-es5/pds-combobox.entry.js +2 -2
- package/dist/esm-es5/pds-container.entry.js +1 -1
- package/dist/esm-es5/pds-copytext.entry.js +1 -1
- package/dist/esm-es5/pds-datepicker.entry.js +1 -1
- package/dist/esm-es5/pds-divider.entry.js +1 -1
- package/dist/esm-es5/pds-drawer-content.entry.js +1 -1
- package/dist/esm-es5/pds-drawer-footer.entry.js +1 -1
- package/dist/esm-es5/pds-drawer-header.entry.js +1 -1
- package/dist/esm-es5/pds-drawer.entry.js +1 -1
- package/dist/esm-es5/pds-dropdown-menu-item.entry.js +1 -1
- package/dist/esm-es5/pds-dropdown-menu-separator.entry.js +1 -1
- package/dist/esm-es5/pds-dropdown-menu.entry.js +1 -1
- package/dist/esm-es5/pds-filter.entry.js +1 -1
- package/dist/esm-es5/pds-filters.entry.js +1 -1
- package/dist/esm-es5/pds-icon.entry.js +1 -1
- package/dist/esm-es5/pds-image.entry.js +1 -1
- package/dist/esm-es5/pds-input.entry.js +1 -1
- package/dist/esm-es5/pds-link.entry.js +1 -1
- package/dist/esm-es5/pds-loader.entry.js +1 -1
- package/dist/esm-es5/pds-modal-content.entry.js +1 -1
- package/dist/esm-es5/pds-modal-footer.entry.js +1 -1
- package/dist/esm-es5/pds-modal-header.entry.js +1 -1
- package/dist/esm-es5/pds-modal.entry.js +1 -1
- package/dist/esm-es5/pds-multiselect.entry.js +1 -1
- package/dist/esm-es5/pds-popover.entry.js +1 -1
- package/dist/esm-es5/pds-progress.entry.js +1 -1
- package/dist/esm-es5/pds-property.entry.js +1 -1
- package/dist/esm-es5/pds-radio-group.entry.js +1 -1
- package/dist/esm-es5/pds-radio.entry.js +1 -1
- package/dist/esm-es5/pds-row.entry.js +1 -1
- package/dist/esm-es5/pds-select.entry.js +1 -1
- package/dist/esm-es5/pds-sortable-item.entry.js +1 -1
- package/dist/esm-es5/pds-sortable.entry.js +2 -2
- package/dist/esm-es5/pds-switch.entry.js +1 -1
- package/dist/esm-es5/pds-tab.entry.js +1 -1
- package/dist/esm-es5/pds-table-body.entry.js +1 -1
- package/dist/esm-es5/pds-table-cell.entry.js +1 -1
- package/dist/esm-es5/pds-table-head-cell.entry.js +1 -1
- package/dist/esm-es5/pds-table-head.entry.js +1 -1
- package/dist/esm-es5/pds-table-row.entry.js +1 -1
- package/dist/esm-es5/pds-table.entry.js +1 -1
- package/dist/esm-es5/pds-tabpanel.entry.js +1 -1
- package/dist/esm-es5/pds-tabs.entry.js +1 -1
- package/dist/esm-es5/pds-text.entry.js +1 -1
- package/dist/esm-es5/pds-textarea.entry.js +1 -1
- package/dist/esm-es5/pds-toast.entry.js +1 -1
- package/dist/esm-es5/pds-tooltip.entry.js +1 -1
- package/dist/esm-es5/pine-core.js +1 -1
- package/dist/pine-core/index.esm.js +1 -1
- package/dist/pine-core/{p-9a7ee7cb.system.entry.js → p-0092444c.system.entry.js} +1 -1
- package/dist/pine-core/{p-d576e542.system.entry.js → p-01aa382c.system.entry.js} +1 -1
- package/dist/pine-core/{p-d69cfaa4.entry.js → p-02088776.entry.js} +1 -1
- package/dist/pine-core/p-049f126a.entry.js +1 -0
- package/dist/pine-core/{p-8b9d8fb5.system.entry.js → p-080cb087.system.entry.js} +1 -1
- package/dist/pine-core/{p-99317375.system.entry.js → p-0913f696.system.entry.js} +1 -1
- package/dist/pine-core/{p-5737182f.entry.js → p-0a84d220.entry.js} +1 -1
- package/dist/pine-core/{p-4c9cccdb.system.entry.js → p-0b71ecb6.system.entry.js} +2 -2
- package/dist/pine-core/{p-37d73369.system.entry.js → p-1437585e.system.entry.js} +1 -1
- package/dist/pine-core/p-153ba77b.entry.js +1 -0
- package/dist/pine-core/{p-22f041ee.system.entry.js → p-1ee86d87.system.entry.js} +1 -1
- package/dist/pine-core/{p-5decd81f.entry.js → p-208c7dbf.entry.js} +1 -1
- package/dist/pine-core/p-21fe6ee1.system.entry.js +1 -0
- package/dist/pine-core/p-24fbbb74.system.entry.js +1 -0
- package/dist/pine-core/{p-51dff046.system.entry.js → p-258770cf.system.entry.js} +1 -1
- package/dist/pine-core/{p-1f2e5958.entry.js → p-258d5e83.entry.js} +1 -1
- package/dist/pine-core/{p-4e05a4f0.entry.js → p-26642718.entry.js} +1 -1
- package/dist/pine-core/{p-1b13f69c.system.entry.js → p-2ac2457b.system.entry.js} +1 -1
- package/dist/pine-core/p-2cb5483a.system.entry.js +1 -0
- package/dist/pine-core/{p-1f263c0b.system.entry.js → p-341c38f1.system.entry.js} +1 -1
- package/dist/pine-core/{p-bd7da23e.system.entry.js → p-3a959459.system.entry.js} +1 -1
- package/dist/pine-core/{p-1e464117.entry.js → p-432d5ec7.entry.js} +1 -1
- package/dist/pine-core/{p-0de74105.entry.js → p-4849fda7.entry.js} +1 -1
- package/dist/pine-core/{p-f30d6192.system.entry.js → p-4d03d1e2.system.entry.js} +1 -1
- package/dist/pine-core/{p-2cb02706.entry.js → p-4de8f333.entry.js} +1 -1
- package/dist/pine-core/{p-152245fa.system.entry.js → p-4f94b4f1.system.entry.js} +1 -1
- package/dist/pine-core/{p-66cfef6d.system.entry.js → p-4fa63723.system.entry.js} +1 -1
- package/dist/pine-core/p-4fd454f6.entry.js +1 -0
- package/dist/pine-core/{p-70c6f0ed.system.entry.js → p-5442d983.system.entry.js} +1 -1
- package/dist/pine-core/{p-8027db25.entry.js → p-550c2fd3.entry.js} +1 -1
- package/dist/pine-core/{p-7d01e719.entry.js → p-55224683.entry.js} +1 -1
- package/dist/pine-core/{p-65e30a4c.entry.js → p-57a2f927.entry.js} +1 -1
- package/dist/pine-core/{p-721297b5.system.entry.js → p-5870b092.system.entry.js} +1 -1
- package/dist/pine-core/p-5a10784e.system.entry.js +3 -0
- package/dist/pine-core/{p-6d83ad2d.system.entry.js → p-5c90091e.system.entry.js} +1 -1
- package/dist/pine-core/p-602c197f.entry.js +1 -0
- package/dist/pine-core/{p-45fcc5b7.entry.js → p-6bf853c9.entry.js} +1 -1
- package/dist/pine-core/{p-5d014059.entry.js → p-6d3610f9.entry.js} +1 -1
- package/dist/pine-core/{p-343546b1.system.entry.js → p-6eec23a7.system.entry.js} +1 -1
- package/dist/pine-core/{p-5132b8a1.entry.js → p-72865997.entry.js} +1 -1
- package/dist/pine-core/p-74a05bcc.entry.js +1 -0
- package/dist/pine-core/p-75ee0403.entry.js +1 -0
- package/dist/pine-core/p-77395d62.system.entry.js +1 -0
- package/dist/pine-core/p-7a287635.system.entry.js +1 -0
- package/dist/pine-core/p-7a5b21d2.system.entry.js +1 -0
- package/dist/pine-core/{p-a83a6618.system.entry.js → p-7bf6563a.system.entry.js} +1 -1
- package/dist/pine-core/{p-71e3a89e.system.entry.js → p-8191498f.system.entry.js} +1 -1
- package/dist/pine-core/{p-0166c620.entry.js → p-82cf4ec6.entry.js} +1 -1
- package/dist/pine-core/{p-16c2aa63.entry.js → p-84e9b7da.entry.js} +1 -1
- package/dist/pine-core/{p-bdf68e53.system.entry.js → p-86040cac.system.entry.js} +1 -1
- package/dist/pine-core/p-875b0436.system.entry.js +1 -0
- package/dist/pine-core/{p-87f91e02.system.entry.js → p-8c8cc079.system.entry.js} +1 -1
- package/dist/pine-core/{p-ba1b79c7.system.entry.js → p-8cc302aa.system.entry.js} +1 -1
- package/dist/pine-core/{p-5b7f7760.entry.js → p-8d292b48.entry.js} +1 -1
- package/dist/pine-core/{p-650ccffb.entry.js → p-8f531063.entry.js} +1 -1
- package/dist/pine-core/p-9109b90a.entry.js +1 -0
- package/dist/pine-core/p-92ae6082.entry.js +1 -0
- package/dist/pine-core/p-94593f20.system.entry.js +1 -0
- package/dist/pine-core/p-945fb0b1.entry.js +1 -0
- package/dist/pine-core/{p-04fe5da7.system.entry.js → p-9880d251.system.entry.js} +1 -1
- package/dist/pine-core/p-99459e27.entry.js +1 -0
- package/dist/pine-core/{p-9835c74b.entry.js → p-9ab95438.entry.js} +1 -1
- package/dist/pine-core/{p-a6d09102.system.entry.js → p-9af131d6.system.entry.js} +1 -1
- package/dist/pine-core/{p-59491f98.entry.js → p-9dcd2cdb.entry.js} +1 -1
- package/dist/pine-core/{p-c00e46a5.system.entry.js → p-9e0f920a.system.entry.js} +1 -1
- package/dist/pine-core/p-BGLP3keB.js +1 -0
- package/dist/pine-core/p-BLG6RDBt.js +1 -0
- package/dist/pine-core/p-BR5nujVX.system.js +1 -0
- package/dist/pine-core/{p-BJlg6wq7.system.js → p-CGRdQc49.system.js} +2 -2
- package/dist/pine-core/{p-DeIDZHrg.js → p-CmSJytt1.js} +2 -2
- package/dist/pine-core/p-CuSNnuFu.system.js +1 -0
- package/dist/pine-core/{p-YQa3CeL9.system.js → p-Cy8cvR7I.system.js} +1 -1
- package/dist/pine-core/p-XW4H0W6i.system.js +1 -0
- package/dist/pine-core/p-a0344e30.entry.js +2 -0
- package/dist/pine-core/p-a0960b3d.system.entry.js +1 -0
- package/dist/pine-core/p-a1230a74.system.entry.js +1 -0
- package/dist/pine-core/{p-fbea5703.entry.js → p-a19cd59c.entry.js} +1 -1
- package/dist/pine-core/p-a787b34a.system.entry.js +1 -0
- package/dist/pine-core/p-a826f290.entry.js +1 -0
- package/dist/pine-core/{p-1ec4eeaf.system.entry.js → p-a85a6ab9.system.entry.js} +1 -1
- package/dist/pine-core/p-acce8eb2.entry.js +1 -0
- package/dist/pine-core/p-b1548a20.entry.js +1 -0
- package/dist/pine-core/p-b60ac7eb.system.entry.js +1 -0
- package/dist/pine-core/{p-93877d4a.entry.js → p-b69f04b7.entry.js} +1 -1
- package/dist/pine-core/p-b75b0d09.system.entry.js +1 -0
- package/dist/pine-core/{p-02857936.entry.js → p-b8e8a4ce.entry.js} +1 -1
- package/dist/pine-core/{p-622e91e3.entry.js → p-b914dde8.entry.js} +2 -2
- package/dist/pine-core/{p-5bc670be.system.entry.js → p-ba1f65c2.system.entry.js} +1 -1
- package/dist/pine-core/p-bb68431a.entry.js +1 -0
- package/dist/pine-core/{p-c8e89b61.system.entry.js → p-bd67156b.system.entry.js} +1 -1
- package/dist/pine-core/{p-db4319fd.entry.js → p-beb23781.entry.js} +1 -1
- package/dist/pine-core/p-bf30dec0.entry.js +1 -0
- package/dist/pine-core/p-bf5887e8.system.entry.js +1 -0
- package/dist/pine-core/{p-91f712f4.system.entry.js → p-bf7ee3b7.system.entry.js} +1 -1
- package/dist/pine-core/{p-b5838211.system.entry.js → p-c5c9ed36.system.entry.js} +1 -1
- package/dist/pine-core/{p-21115986.system.entry.js → p-cb6a3e4c.system.entry.js} +1 -1
- package/dist/pine-core/{p-1cf1fced.entry.js → p-cde8eb81.entry.js} +1 -1
- package/dist/pine-core/{p-1d75a9b1.system.entry.js → p-cf08a6dd.system.entry.js} +1 -1
- package/dist/pine-core/p-cfd012d4.entry.js +1 -0
- package/dist/pine-core/{p-5e8d73d4.entry.js → p-d2c91e7a.entry.js} +1 -1
- package/dist/pine-core/{p-7bbfb965.system.entry.js → p-db17c626.system.entry.js} +1 -1
- package/dist/pine-core/p-e0917a26.entry.js +1 -0
- package/dist/pine-core/p-e21ff692.entry.js +1 -0
- package/dist/pine-core/p-e5420660.entry.js +1 -0
- package/dist/pine-core/{p-585832b1.entry.js → p-e800a2b1.entry.js} +1 -1
- package/dist/pine-core/{p-8b0fbeb3.entry.js → p-e836a041.entry.js} +1 -1
- package/dist/pine-core/{p-506d3e80.entry.js → p-e8cb76e8.entry.js} +1 -1
- package/dist/pine-core/p-ea4d4741.system.entry.js +1 -0
- package/dist/pine-core/{p-419f57c9.entry.js → p-eb5465ce.entry.js} +1 -1
- package/dist/pine-core/{p-63119d23.entry.js → p-ebd0bff2.entry.js} +1 -1
- package/dist/pine-core/p-f029b7da.system.entry.js +1 -0
- package/dist/pine-core/{p-e337f32c.system.entry.js → p-f0d24298.system.entry.js} +1 -1
- package/dist/pine-core/{p-9b9f66b7.entry.js → p-f1702281.entry.js} +1 -1
- package/dist/pine-core/{p-238e5171.system.entry.js → p-f25e4731.system.entry.js} +1 -1
- package/dist/pine-core/{p-37d95be9.entry.js → p-f2c253d8.entry.js} +1 -1
- package/dist/pine-core/{p-a22091c4.system.entry.js → p-f77905aa.system.entry.js} +1 -1
- package/dist/pine-core/{p-bef04e15.system.entry.js → p-fc25b956.system.entry.js} +1 -1
- package/dist/pine-core/{p-f06ca8df.entry.js → p-ff3de72e.entry.js} +1 -1
- package/dist/pine-core/pine-core.esm.js +1 -1
- package/dist/pine-core/pine-core.js +1 -1
- package/dist/types/components/pds-combobox/combobox-interface.d.ts +8 -1
- package/dist/types/components/pds-combobox/grouped-options-panel.d.ts +7 -1
- package/dist/types/components/pds-combobox/pds-combobox.d.ts +32 -0
- package/dist/types/components/pds-drawer/pds-drawer.d.ts +21 -9
- package/dist/types/components/pds-dropdown-menu/pds-dropdown-menu.d.ts +5 -0
- package/dist/types/components/pds-modal/pds-modal.d.ts +10 -3
- package/dist/types/components/pds-multiselect/pds-multiselect.d.ts +2 -1
- package/dist/types/components/pds-popover/pds-popover.d.ts +31 -1
- package/dist/types/components/pds-tabs/pds-tab/pds-tab.d.ts +3 -0
- package/dist/types/components/pds-tabs/pds-tabpanel/pds-tabpanel.d.ts +3 -0
- package/dist/types/components/pds-tabs/pds-tabs.d.ts +14 -2
- package/dist/types/components.d.ts +50 -35
- package/dist/types/utils/attributes.d.ts +2 -2
- package/dist/types/utils/css.d.ts +7 -0
- package/dist/types/utils/keep-hydrated.d.ts +29 -2
- package/dist/vscode.html-data.json +13 -6
- package/hydrate/index.js +961 -213
- package/hydrate/index.mjs +961 -213
- package/package.json +2 -2
- package/dist/cjs/keep-hydrated-iLS88j1Z.js +0 -67
- package/dist/esm/keep-hydrated-Dv7ssOTc.js +0 -63
- package/dist/esm-es5/attributes-CF5K2pxn.js +0 -1
- package/dist/esm-es5/keep-hydrated-Dv7ssOTc.js +0 -1
- package/dist/pine-core/p-1cd0acf0.system.entry.js +0 -1
- package/dist/pine-core/p-207c94da.entry.js +0 -1
- package/dist/pine-core/p-2357758d.system.entry.js +0 -1
- package/dist/pine-core/p-281efc69.entry.js +0 -1
- package/dist/pine-core/p-2ac9e90a.system.entry.js +0 -1
- package/dist/pine-core/p-2f539379.system.entry.js +0 -3
- package/dist/pine-core/p-347ae53c.system.entry.js +0 -1
- package/dist/pine-core/p-34b575b6.entry.js +0 -2
- package/dist/pine-core/p-3b1d8fae.entry.js +0 -1
- package/dist/pine-core/p-4414d442.system.entry.js +0 -1
- package/dist/pine-core/p-4e67e68e.entry.js +0 -1
- package/dist/pine-core/p-539ef98c.entry.js +0 -1
- package/dist/pine-core/p-56576b6e.entry.js +0 -1
- package/dist/pine-core/p-5ac84b2f.entry.js +0 -1
- package/dist/pine-core/p-63854c10.system.entry.js +0 -1
- package/dist/pine-core/p-73bc6e9f.system.entry.js +0 -1
- package/dist/pine-core/p-798839f7.system.entry.js +0 -1
- package/dist/pine-core/p-7e115d33.system.entry.js +0 -1
- package/dist/pine-core/p-834c678e.system.entry.js +0 -1
- package/dist/pine-core/p-912487fa.entry.js +0 -1
- package/dist/pine-core/p-969488f5.system.entry.js +0 -1
- package/dist/pine-core/p-9bcdfac2.entry.js +0 -1
- package/dist/pine-core/p-9d33bb05.entry.js +0 -1
- package/dist/pine-core/p-BMFBF3sJ.system.js +0 -1
- package/dist/pine-core/p-D2MUS7JO.js +0 -1
- package/dist/pine-core/p-D2yHYrxQ.system.js +0 -1
- package/dist/pine-core/p-Dv7ssOTc.js +0 -1
- package/dist/pine-core/p-TyevV8iv.system.js +0 -1
- package/dist/pine-core/p-afd5e2d7.entry.js +0 -1
- package/dist/pine-core/p-bde53290.system.entry.js +0 -1
- package/dist/pine-core/p-bf1aea9f.system.entry.js +0 -1
- package/dist/pine-core/p-c9395f43.system.entry.js +0 -1
- package/dist/pine-core/p-d5dd5599.entry.js +0 -1
- package/dist/pine-core/p-dc81ffff.entry.js +0 -1
- package/dist/pine-core/p-e46f7541.system.entry.js +0 -1
- package/dist/pine-core/p-e7ba30dd.system.entry.js +0 -1
- package/dist/pine-core/p-ed3dd3d2.entry.js +0 -1
- package/dist/pine-core/p-eee4f146.entry.js +0 -1
- package/dist/pine-core/p-f01e35e2.entry.js +0 -1
- package/dist/pine-core/p-f2e0da9a.entry.js +0 -1
- package/dist/pine-core/p-fc6ac917.entry.js +0 -1
- package/dist/pine-core/p-ffe276ef.entry.js +0 -1
- /package/dist/esm-es5/{index-DxI-61GK.js → index-BJXk71tO.js} +0 -0
- /package/dist/pine-core/{p-DxI-61GK.js → p-BJXk71tO.js} +0 -0
- /package/dist/pine-core/{p-CnO10OxH.system.js → p-n3_ytl_p.system.js} +0 -0
|
@@ -1,11 +1,63 @@
|
|
|
1
|
-
import { r as registerInstance, c as createEvent, h, H as Host, a as getElement } from './index-
|
|
2
|
-
import { c as containsComposed } from './closest-DHPzKMVS.js';
|
|
1
|
+
import { r as registerInstance, c as createEvent, h, H as Host, a as getElement } from './index-Cw9J31qd.js';
|
|
2
|
+
import { c as containsComposed, a as closest } from './closest-DHPzKMVS.js';
|
|
3
3
|
import { r as restoreReflectedDefault } from './reflected-attribute-default-t3idJwV0.js';
|
|
4
|
-
import { s as setAttributesIfChanged } from './attributes-
|
|
5
|
-
import './keep-hydrated-
|
|
4
|
+
import { s as setAttributesIfChanged } from './attributes-WXw_I_uJ.js';
|
|
5
|
+
import { l as limitRestores } from './keep-hydrated-BLG6RDBt.js';
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Escapes a string so it's safe to interpolate into a CSS identifier (an id selector like `#${id}`)
|
|
9
|
+
* or into CSS text (a stylesheet rule referencing that id). Equivalent to the native `CSS.escape`,
|
|
10
|
+
* reimplemented because Stencil's unit-test DOM (`newSpecPage`'s mock-doc) doesn't provide it.
|
|
11
|
+
* @param value - The string to escape, e.g. a consumer-supplied id
|
|
12
|
+
*/
|
|
13
|
+
const cssEscape = (value) => {
|
|
14
|
+
const string = String(value);
|
|
15
|
+
const length = string.length;
|
|
16
|
+
const firstCodeUnit = string.charCodeAt(0);
|
|
17
|
+
let result = '';
|
|
18
|
+
for (let index = 0; index < length; index++) {
|
|
19
|
+
const codeUnit = string.charCodeAt(index);
|
|
20
|
+
if (codeUnit === 0x0000) {
|
|
21
|
+
result += '�';
|
|
22
|
+
continue;
|
|
23
|
+
}
|
|
24
|
+
if ((codeUnit >= 0x0001 && codeUnit <= 0x001f) ||
|
|
25
|
+
codeUnit === 0x007f ||
|
|
26
|
+
(index === 0 && codeUnit >= 0x0030 && codeUnit <= 0x0039) ||
|
|
27
|
+
(index === 1 && codeUnit >= 0x0030 && codeUnit <= 0x0039 && firstCodeUnit === 0x002d)) {
|
|
28
|
+
result += `\\${codeUnit.toString(16)} `;
|
|
29
|
+
continue;
|
|
30
|
+
}
|
|
31
|
+
if (index === 0 && length === 1 && codeUnit === 0x002d) {
|
|
32
|
+
result += `\\${string.charAt(index)}`;
|
|
33
|
+
continue;
|
|
34
|
+
}
|
|
35
|
+
if (codeUnit >= 0x0080 ||
|
|
36
|
+
codeUnit === 0x002d ||
|
|
37
|
+
codeUnit === 0x005f ||
|
|
38
|
+
(codeUnit >= 0x0030 && codeUnit <= 0x0039) ||
|
|
39
|
+
(codeUnit >= 0x0041 && codeUnit <= 0x005a) ||
|
|
40
|
+
(codeUnit >= 0x0061 && codeUnit <= 0x007a)) {
|
|
41
|
+
result += string.charAt(index);
|
|
42
|
+
continue;
|
|
43
|
+
}
|
|
44
|
+
result += `\\${string.charAt(index)}`;
|
|
45
|
+
}
|
|
46
|
+
return result;
|
|
47
|
+
};
|
|
6
48
|
|
|
7
49
|
const pdsPopoverCss = () => `:host{--sizing-max-width-default:352px;display:inline-block}:host .pds-popover__trigger-wrapper{display:inline-block}:host .pds-popover__content-slot-wrapper{display:none}`;
|
|
8
50
|
|
|
51
|
+
/** Open auto popovers, in the order they opened: Escape goes to the last one it applies to. */
|
|
52
|
+
const openAutoPopovers = [];
|
|
53
|
+
/** The focused element, followed down through shadow roots to the control that has focus. */
|
|
54
|
+
function deepActiveElement() {
|
|
55
|
+
var _a;
|
|
56
|
+
let active = document.activeElement;
|
|
57
|
+
while ((_a = active === null || active === void 0 ? void 0 : active.shadowRoot) === null || _a === void 0 ? void 0 : _a.activeElement)
|
|
58
|
+
active = active.shadowRoot.activeElement;
|
|
59
|
+
return active;
|
|
60
|
+
}
|
|
9
61
|
const PdsPopover = class {
|
|
10
62
|
constructor(hostRef) {
|
|
11
63
|
registerInstance(this, hostRef);
|
|
@@ -37,7 +89,7 @@ const PdsPopover = class {
|
|
|
37
89
|
*/
|
|
38
90
|
this.triggerObserver = null;
|
|
39
91
|
/**
|
|
40
|
-
* Portal element
|
|
92
|
+
* Portal element: in document.body, or in the open dialog the popover is in
|
|
41
93
|
*/
|
|
42
94
|
this.portalEl = null;
|
|
43
95
|
/**
|
|
@@ -133,6 +185,26 @@ const PdsPopover = class {
|
|
|
133
185
|
break;
|
|
134
186
|
}
|
|
135
187
|
};
|
|
188
|
+
/** The focus style copied into a shadow root the panel opened in, which `document.head` can't reach. */
|
|
189
|
+
this.shadowFocusStyle = null;
|
|
190
|
+
/** The dialog the panel was opened in, closed along with it. */
|
|
191
|
+
this.watchedDialog = null;
|
|
192
|
+
this.onDialogClose = () => {
|
|
193
|
+
this.hide();
|
|
194
|
+
};
|
|
195
|
+
/**
|
|
196
|
+
* Inside a dialog, the panel can sit in a form that wraps the dialog, which a body portal never
|
|
197
|
+
* did. A submit from the panel (a button in it, or Enter in a field in it) is stopped, so the
|
|
198
|
+
* panel behaves as it does in the body.
|
|
199
|
+
*/
|
|
200
|
+
this.handleSubmitFromPanel = (event) => {
|
|
201
|
+
if (!this.portalEl || !containsComposed(event.target, this.portalEl))
|
|
202
|
+
return;
|
|
203
|
+
if (containsComposed(this.portalEl, event.submitter) || containsComposed(this.portalEl, deepActiveElement())) {
|
|
204
|
+
event.preventDefault();
|
|
205
|
+
event.stopPropagation();
|
|
206
|
+
}
|
|
207
|
+
};
|
|
136
208
|
}
|
|
137
209
|
restorePlacementDefault(newValue) {
|
|
138
210
|
this.placement = restoreReflectedDefault(this.el, 'placement', newValue, 'right');
|
|
@@ -169,7 +241,8 @@ const PdsPopover = class {
|
|
|
169
241
|
this.triggerObserver = null;
|
|
170
242
|
if (this.triggerEl == null || typeof MutationObserver === 'undefined')
|
|
171
243
|
return;
|
|
172
|
-
|
|
244
|
+
// Capped against a script that keeps undoing it; opening and closing still write it directly.
|
|
245
|
+
this.triggerObserver = new MutationObserver(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));
|
|
173
246
|
this.triggerObserver.observe(this.triggerEl, {
|
|
174
247
|
attributes: true,
|
|
175
248
|
attributeFilter: ['aria-expanded', 'aria-controls'],
|
|
@@ -179,9 +252,9 @@ const PdsPopover = class {
|
|
|
179
252
|
// This mirrors the native Popover API's accessibility behavior
|
|
180
253
|
linkTriggerToPortal() {
|
|
181
254
|
if (this.triggerEl == null || this.portalEl == null)
|
|
182
|
-
return;
|
|
255
|
+
return false;
|
|
183
256
|
// Skips values already in place, so the trigger observer's own callback doesn't loop.
|
|
184
|
-
setAttributesIfChanged(this.triggerEl, { 'aria-expanded': String(this.active), 'aria-controls': this.portalEl.id });
|
|
257
|
+
return setAttributesIfChanged(this.triggerEl, { 'aria-expanded': String(this.active), 'aria-controls': this.portalEl.id });
|
|
185
258
|
}
|
|
186
259
|
// componentDidLoad doesn't run again when a popover comes back, so rebuild whatever
|
|
187
260
|
// disconnectedCallback tore down. Each step is a no-op when nothing was.
|
|
@@ -194,19 +267,23 @@ const PdsPopover = class {
|
|
|
194
267
|
(_a = this.triggerEl) === null || _a === void 0 ? void 0 : _a.addEventListener('click', this.handleTriggerClick);
|
|
195
268
|
this.observeTrigger();
|
|
196
269
|
this.linkTriggerToPortal();
|
|
197
|
-
// Still open after a move: the trigger moved, so the portal follows it
|
|
270
|
+
// Still open after a move: the trigger moved, so the portal follows it, into the dialog it
|
|
271
|
+
// is in now, if any.
|
|
198
272
|
if (this.active) {
|
|
273
|
+
this.placePortal();
|
|
199
274
|
requestAnimationFrame(() => this.handlePopoverPositioning());
|
|
200
275
|
}
|
|
201
276
|
}
|
|
202
277
|
disconnectedCallback() {
|
|
203
278
|
var _a;
|
|
204
279
|
// Moved in one operation (a DOM morph, or a framework reparenting it), the popover is
|
|
205
|
-
// already back in the page. Its portal is
|
|
206
|
-
// where it was.
|
|
280
|
+
// already back in the page. Its portal is outside the popover, so it stays open, with focus
|
|
281
|
+
// where it was; connectedCallback moves it to follow the popover.
|
|
207
282
|
if (this.el.isConnected)
|
|
208
283
|
return;
|
|
209
284
|
this.isComponentMounted = false;
|
|
285
|
+
this.unwatchDialogClose();
|
|
286
|
+
this.forgetOpen();
|
|
210
287
|
// Open, the content sits in the portal; put it back before the portal goes. Only listeners on
|
|
211
288
|
// the popover itself hear the close event now, but those are the ones mirroring its state.
|
|
212
289
|
if (this.active) {
|
|
@@ -227,6 +304,7 @@ const PdsPopover = class {
|
|
|
227
304
|
// Clean up all event listeners
|
|
228
305
|
this.removeLightDismissListeners();
|
|
229
306
|
this.removeScrollAndResizeListeners();
|
|
307
|
+
document.removeEventListener('submit', this.handleSubmitFromPanel, true);
|
|
230
308
|
// Clear any pending debounce timers
|
|
231
309
|
this.clearDebounceTimers();
|
|
232
310
|
// Remove portal from DOM
|
|
@@ -271,9 +349,6 @@ const PdsPopover = class {
|
|
|
271
349
|
else {
|
|
272
350
|
this.portalEl.id = `${this.componentId}-portal`;
|
|
273
351
|
}
|
|
274
|
-
// Add accessibility attributes for screen readers
|
|
275
|
-
// Note: Native Popover API doesn't add a specific role, keeping semantic HTML
|
|
276
|
-
this.portalEl.setAttribute('aria-modal', 'false'); // Not a modal, can interact with rest of page
|
|
277
352
|
// Append to body
|
|
278
353
|
document.body.appendChild(this.portalEl);
|
|
279
354
|
// Add global focus styles to match Pine design system
|
|
@@ -288,22 +363,25 @@ const PdsPopover = class {
|
|
|
288
363
|
if (!this.portalEl)
|
|
289
364
|
return;
|
|
290
365
|
const portalId = this.portalEl.id;
|
|
366
|
+
// componentId comes from the consumer, so it can carry characters cssEscape needs to
|
|
367
|
+
// neutralize before the id is used as a selector or interpolated into stylesheet text.
|
|
368
|
+
const escapedPortalId = cssEscape(portalId);
|
|
291
369
|
// Check if style element already exists
|
|
292
|
-
const existingStyle = document.querySelector(`style[data-pds-popover-focus="${
|
|
370
|
+
const existingStyle = document.querySelector(`style[data-pds-popover-focus="${escapedPortalId}"]`);
|
|
293
371
|
if (existingStyle)
|
|
294
372
|
return;
|
|
295
373
|
// Create style element with Pine's focus ring styles and dark mode border
|
|
296
374
|
const styleEl = document.createElement('style');
|
|
297
375
|
styleEl.setAttribute('data-pds-popover-focus', portalId);
|
|
298
376
|
styleEl.textContent = `
|
|
299
|
-
#${
|
|
377
|
+
#${escapedPortalId}:focus {
|
|
300
378
|
outline: var(--pine-outline-focus, 2px solid var(--pine-color-focus-ring, #6366f1)) !important;
|
|
301
379
|
outline-offset: var(--pine-border-width, 1px);
|
|
302
380
|
}
|
|
303
|
-
#${
|
|
381
|
+
#${escapedPortalId}:focus:not(:focus-visible) {
|
|
304
382
|
outline: none;
|
|
305
383
|
}
|
|
306
|
-
[data-theme="dark"] #${
|
|
384
|
+
[data-theme="dark"] #${escapedPortalId} {
|
|
307
385
|
border: var(--pine-border);
|
|
308
386
|
}
|
|
309
387
|
`;
|
|
@@ -354,7 +432,27 @@ const PdsPopover = class {
|
|
|
354
432
|
// Clear tracking array
|
|
355
433
|
this.movedNodes = [];
|
|
356
434
|
}
|
|
435
|
+
copyFocusStylesInto(root) {
|
|
436
|
+
var _a, _b, _c;
|
|
437
|
+
// Outside a shadow root the document's own style applies, so drop a copy left in one.
|
|
438
|
+
if (!(root instanceof ShadowRoot)) {
|
|
439
|
+
(_a = this.shadowFocusStyle) === null || _a === void 0 ? void 0 : _a.remove();
|
|
440
|
+
this.shadowFocusStyle = null;
|
|
441
|
+
return;
|
|
442
|
+
}
|
|
443
|
+
if (((_b = this.shadowFocusStyle) === null || _b === void 0 ? void 0 : _b.parentNode) === root || !this.portalEl)
|
|
444
|
+
return;
|
|
445
|
+
const source = document.querySelector(`style[data-pds-popover-focus="${cssEscape(this.portalEl.id)}"]`);
|
|
446
|
+
if (!source)
|
|
447
|
+
return;
|
|
448
|
+
(_c = this.shadowFocusStyle) === null || _c === void 0 ? void 0 : _c.remove();
|
|
449
|
+
this.shadowFocusStyle = source.cloneNode(true);
|
|
450
|
+
root.appendChild(this.shadowFocusStyle);
|
|
451
|
+
}
|
|
357
452
|
removePortal() {
|
|
453
|
+
var _a;
|
|
454
|
+
(_a = this.shadowFocusStyle) === null || _a === void 0 ? void 0 : _a.remove();
|
|
455
|
+
this.shadowFocusStyle = null;
|
|
358
456
|
if (this.portalEl) {
|
|
359
457
|
// Remove the portal element from DOM
|
|
360
458
|
if (this.portalEl.parentNode) {
|
|
@@ -362,7 +460,7 @@ const PdsPopover = class {
|
|
|
362
460
|
}
|
|
363
461
|
// Remove the associated focus style element
|
|
364
462
|
const portalId = this.portalEl.id;
|
|
365
|
-
const styleEl = document.querySelector(`style[data-pds-popover-focus="${portalId}"]`);
|
|
463
|
+
const styleEl = document.querySelector(`style[data-pds-popover-focus="${cssEscape(portalId)}"]`);
|
|
366
464
|
if (styleEl && styleEl.parentNode) {
|
|
367
465
|
styleEl.parentNode.removeChild(styleEl);
|
|
368
466
|
}
|
|
@@ -379,9 +477,13 @@ const PdsPopover = class {
|
|
|
379
477
|
// Record open timestamp to prevent immediate close from opening click
|
|
380
478
|
this.openTimestamp = Date.now();
|
|
381
479
|
this.linkTriggerToPortal();
|
|
480
|
+
this.placePortal();
|
|
382
481
|
// Update portal content with latest slot content
|
|
383
482
|
this.updatePortalContent();
|
|
384
|
-
// Show portal
|
|
483
|
+
// Show portal. The attribute tells a modal around it that this popover takes Escape first; only
|
|
484
|
+
// an auto popover listens for Escape.
|
|
485
|
+
if (this.popoverType === 'auto')
|
|
486
|
+
this.portalEl.setAttribute('data-pds-popover-open', '');
|
|
385
487
|
this.portalEl.style.display = 'block';
|
|
386
488
|
this.portalEl.style.opacity = '1';
|
|
387
489
|
this.portalEl.style.visibility = 'visible';
|
|
@@ -393,8 +495,10 @@ const PdsPopover = class {
|
|
|
393
495
|
});
|
|
394
496
|
// Add scroll and resize listeners for repositioning (always)
|
|
395
497
|
this.addScrollAndResizeListeners();
|
|
498
|
+
document.addEventListener('submit', this.handleSubmitFromPanel, true);
|
|
396
499
|
// Add document listeners for light dismiss and escape key (auto type only)
|
|
397
500
|
if (this.popoverType === 'auto') {
|
|
501
|
+
openAutoPopovers.push(this);
|
|
398
502
|
this.addLightDismissListeners();
|
|
399
503
|
}
|
|
400
504
|
// Emit open event
|
|
@@ -410,12 +514,16 @@ const PdsPopover = class {
|
|
|
410
514
|
if (!this.active || !this.portalEl)
|
|
411
515
|
return;
|
|
412
516
|
this.active = false;
|
|
413
|
-
|
|
414
|
-
|
|
517
|
+
this.unwatchDialogClose();
|
|
518
|
+
// Restoring the content drops its focus to the body, so check where focus is first. In a
|
|
519
|
+
// shadow root, document.activeElement is only its host.
|
|
520
|
+
const focusWasInside = containsComposed(this.portalEl, deepActiveElement());
|
|
415
521
|
this.linkTriggerToPortal();
|
|
416
522
|
// Restore content back to original slot positions
|
|
417
523
|
this.restorePortalContent();
|
|
418
|
-
// Hide portal
|
|
524
|
+
// Hide portal. The dark-mode border set in a shadow root is worked out again on the next open.
|
|
525
|
+
this.portalEl.style.border = '';
|
|
526
|
+
this.portalEl.removeAttribute('data-pds-popover-open');
|
|
419
527
|
this.portalEl.style.display = 'none';
|
|
420
528
|
this.portalEl.style.opacity = '0';
|
|
421
529
|
this.portalEl.style.visibility = 'hidden';
|
|
@@ -425,8 +533,10 @@ const PdsPopover = class {
|
|
|
425
533
|
this.returnFocusToTrigger();
|
|
426
534
|
}
|
|
427
535
|
// Remove all listeners
|
|
536
|
+
this.forgetOpen();
|
|
428
537
|
this.removeLightDismissListeners();
|
|
429
538
|
this.removeScrollAndResizeListeners();
|
|
539
|
+
document.removeEventListener('submit', this.handleSubmitFromPanel, true);
|
|
430
540
|
// Clear any pending timers
|
|
431
541
|
this.clearDebounceTimers();
|
|
432
542
|
// Emit close event
|
|
@@ -446,6 +556,59 @@ const PdsPopover = class {
|
|
|
446
556
|
this.show();
|
|
447
557
|
}
|
|
448
558
|
}
|
|
559
|
+
/**
|
|
560
|
+
* Puts the panel where it shows above everything around the popover. In an open dialog, it goes
|
|
561
|
+
* inside it: a modal dialog sits in the top layer above the body and makes the rest of the page
|
|
562
|
+
* inert, and a non-modal one sits above it by z-index. Right after the popover, it's next in the
|
|
563
|
+
* Tab order. In another component's slot, though, it would have no slot to render in, and in a
|
|
564
|
+
* form its buttons would submit it, so there it goes at the end of the dialog.
|
|
565
|
+
*/
|
|
566
|
+
placePortal() {
|
|
567
|
+
var _a, _b;
|
|
568
|
+
if (!this.portalEl)
|
|
569
|
+
return;
|
|
570
|
+
const dialog = closest('dialog[open]', this.el);
|
|
571
|
+
if (!dialog) {
|
|
572
|
+
this.unwatchDialogClose();
|
|
573
|
+
this.portalEl.style.border = '';
|
|
574
|
+
if (this.portalEl.parentElement !== document.body)
|
|
575
|
+
document.body.appendChild(this.portalEl);
|
|
576
|
+
this.copyFocusStylesInto(document);
|
|
577
|
+
return;
|
|
578
|
+
}
|
|
579
|
+
const form = closest('form', this.el);
|
|
580
|
+
const besidePopover = !((_a = this.el.parentElement) === null || _a === void 0 ? void 0 : _a.shadowRoot) && !(form && containsComposed(dialog, form));
|
|
581
|
+
if (besidePopover) {
|
|
582
|
+
if (this.el.nextElementSibling !== this.portalEl)
|
|
583
|
+
(_b = this.el.parentNode) === null || _b === void 0 ? void 0 : _b.insertBefore(this.portalEl, this.el.nextSibling);
|
|
584
|
+
}
|
|
585
|
+
else if (this.portalEl.parentNode !== dialog) {
|
|
586
|
+
dialog.appendChild(this.portalEl);
|
|
587
|
+
}
|
|
588
|
+
this.watchDialogClose(dialog);
|
|
589
|
+
const root = this.portalEl.getRootNode();
|
|
590
|
+
this.copyFocusStylesInto(root);
|
|
591
|
+
// In a shadow root, the copied dark-mode rule can't see a [data-theme="dark"] on the page.
|
|
592
|
+
this.portalEl.style.border = root instanceof ShadowRoot && closest('[data-theme="dark"]', this.el) ? 'var(--pine-border)' : '';
|
|
593
|
+
}
|
|
594
|
+
forgetOpen() {
|
|
595
|
+
const index = openAutoPopovers.indexOf(this);
|
|
596
|
+
if (index >= 0)
|
|
597
|
+
openAutoPopovers.splice(index, 1);
|
|
598
|
+
}
|
|
599
|
+
/**
|
|
600
|
+
* Whether an Escape is this popover's. One from a dialog the popover isn't in belongs to that
|
|
601
|
+
* dialog when it's above it: a top-layer dialog or a pds-modal. A plain non-modal dialog inside
|
|
602
|
+
* the popover's modal doesn't close on Escape, so the popover takes it.
|
|
603
|
+
*/
|
|
604
|
+
takesEscapeFrom(event) {
|
|
605
|
+
var _a, _b;
|
|
606
|
+
const origin = ((_b = (_a = event.composedPath) === null || _a === void 0 ? void 0 : _a.call(event)[0]) !== null && _b !== void 0 ? _b : event.target);
|
|
607
|
+
const dialog = closest('dialog[open]', origin);
|
|
608
|
+
if (!dialog || containsComposed(dialog, this.portalEl))
|
|
609
|
+
return true;
|
|
610
|
+
return !(dialog.classList.contains('pds-modal__backdrop') || dialog.matches(':modal'));
|
|
611
|
+
}
|
|
449
612
|
/**
|
|
450
613
|
* Adds light dismiss listeners (click outside and escape key)
|
|
451
614
|
*/
|
|
@@ -454,6 +617,19 @@ const PdsPopover = class {
|
|
|
454
617
|
document.addEventListener('click', this.boundClickOutsideHandler, true);
|
|
455
618
|
document.addEventListener('keydown', this.boundEscapeKeyHandler);
|
|
456
619
|
}
|
|
620
|
+
/** Closes the popover when the dialog it opened in closes, so it isn't left open inside. */
|
|
621
|
+
watchDialogClose(dialog) {
|
|
622
|
+
if (this.watchedDialog === dialog)
|
|
623
|
+
return;
|
|
624
|
+
this.unwatchDialogClose();
|
|
625
|
+
this.watchedDialog = dialog;
|
|
626
|
+
dialog.addEventListener('close', this.onDialogClose);
|
|
627
|
+
}
|
|
628
|
+
unwatchDialogClose() {
|
|
629
|
+
var _a;
|
|
630
|
+
(_a = this.watchedDialog) === null || _a === void 0 ? void 0 : _a.removeEventListener('close', this.onDialogClose);
|
|
631
|
+
this.watchedDialog = null;
|
|
632
|
+
}
|
|
457
633
|
/**
|
|
458
634
|
* Removes light dismiss listeners
|
|
459
635
|
*/
|
|
@@ -479,7 +655,7 @@ const PdsPopover = class {
|
|
|
479
655
|
* Handles clicks outside the popover for light dismiss (auto type only)
|
|
480
656
|
*/
|
|
481
657
|
handleClickOutside(event) {
|
|
482
|
-
var _a, _b
|
|
658
|
+
var _a, _b;
|
|
483
659
|
// Ignore events that occurred at or before the popover opened
|
|
484
660
|
// This prevents the opening click from immediately closing the popover
|
|
485
661
|
// Convert event.timeStamp (DOMHighResTimeStamp from performance.now()) to epoch time
|
|
@@ -490,16 +666,18 @@ const PdsPopover = class {
|
|
|
490
666
|
if (eventTime <= this.openTimestamp) {
|
|
491
667
|
return;
|
|
492
668
|
}
|
|
493
|
-
|
|
669
|
+
// In a shadow root, event.target is only its host.
|
|
670
|
+
const target = ((_b = (_a = event.composedPath) === null || _a === void 0 ? void 0 : _a.call(event)[0]) !== null && _b !== void 0 ? _b : event.target);
|
|
494
671
|
// A datepicker's calendar is portaled to the body: a click in the calendar of a datepicker
|
|
495
|
-
// inside this popover, in its content or its trigger, isn't outside it.
|
|
496
|
-
|
|
672
|
+
// inside this popover, in its content or its trigger, isn't outside it. The target can be
|
|
673
|
+
// inside the calendar's shadow root, so look up across it.
|
|
674
|
+
const calendar = closest('.pds-datepicker-calendar-portal', target);
|
|
497
675
|
const owner = calendar === null || calendar === void 0 ? void 0 : calendar.pdsDatepicker;
|
|
498
676
|
if (owner && (containsComposed(this.portalEl, owner) || containsComposed(this.triggerEl, owner)))
|
|
499
677
|
return;
|
|
500
678
|
// Check if click is outside both the popover portal and the trigger
|
|
501
|
-
const clickedInsidePopover = (
|
|
502
|
-
const clickedInsideTrigger = (
|
|
679
|
+
const clickedInsidePopover = containsComposed(this.portalEl, target);
|
|
680
|
+
const clickedInsideTrigger = containsComposed(this.triggerEl, target);
|
|
503
681
|
if (!clickedInsidePopover && !clickedInsideTrigger) {
|
|
504
682
|
this.hide();
|
|
505
683
|
}
|
|
@@ -520,14 +698,19 @@ const PdsPopover = class {
|
|
|
520
698
|
* Mirrors native Popover API: Escape closes and returns focus to trigger
|
|
521
699
|
*/
|
|
522
700
|
handleEscapeKey(event) {
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
701
|
+
// A control inside that closes on Escape (a datepicker, a combobox) has handled it already.
|
|
702
|
+
if (event.key !== 'Escape' || event.defaultPrevented)
|
|
703
|
+
return;
|
|
704
|
+
// Like the native Popover API, Escape closes only the top popover: the last one opened that
|
|
705
|
+
// it applies to. Every open popover hears it, so each checks whether it's that one.
|
|
706
|
+
const top = [...openAutoPopovers].reverse().find(popover => popover.takesEscapeFrom(event));
|
|
707
|
+
if (top !== this)
|
|
708
|
+
return;
|
|
709
|
+
// Take the key, so the dialog or modal around it doesn't close too.
|
|
710
|
+
event.preventDefault();
|
|
711
|
+
event.stopPropagation();
|
|
712
|
+
// Close popover and return focus to trigger
|
|
713
|
+
this.hide();
|
|
531
714
|
}
|
|
532
715
|
/**
|
|
533
716
|
* Handles scroll events to reposition the popover (debounced for performance)
|
|
@@ -632,13 +815,20 @@ const PdsPopover = class {
|
|
|
632
815
|
}
|
|
633
816
|
this.portalEl.style.top = `${top}px`;
|
|
634
817
|
this.portalEl.style.left = `${left}px`;
|
|
818
|
+
// `position: fixed` measures from the viewport unless an ancestor becomes its containing block,
|
|
819
|
+
// as a modal dialog does with its backdrop filter. Shift by however far it landed from the spot.
|
|
820
|
+
const placed = this.portalEl.getBoundingClientRect();
|
|
821
|
+
if (Math.abs(placed.top - top) > 0.5 || Math.abs(placed.left - left) > 0.5) {
|
|
822
|
+
this.portalEl.style.top = `${2 * top - placed.top}px`;
|
|
823
|
+
this.portalEl.style.left = `${2 * left - placed.left}px`;
|
|
824
|
+
}
|
|
635
825
|
// Reset the repositioning guard after a short delay
|
|
636
826
|
setTimeout(() => {
|
|
637
827
|
this.isRepositioning = false;
|
|
638
828
|
}, 16); // ~1 frame at 60fps
|
|
639
829
|
}
|
|
640
830
|
render() {
|
|
641
|
-
return (h(Host, { key: '
|
|
831
|
+
return (h(Host, { key: 'da8a0c715df1199231b1265085f3f9ae0234032d', id: this.componentId }, h("span", { key: 'f35023492399420829cec2e88556462f5ac1663e', class: "pds-popover__trigger-wrapper" }, h("slot", { key: '38ebe92eebb87665467b3f92ff94dc8095450063', name: "trigger", onSlotchange: this.handleTriggerSlotChange })), h("div", { key: '8917930f4520544d14bbd68b4c7936dd60af19e3', class: "pds-popover__content-slot-wrapper" }, h("slot", { key: '28d3f9112256edd95721a79a7072a9e35a3712bf', onSlotchange: this.handleContentSlotChange }))));
|
|
642
832
|
}
|
|
643
833
|
get el() { return getElement(this); }
|
|
644
834
|
static get watchers() { return {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { r as registerInstance, h, H as Host, a as getElement } from './index-
|
|
2
|
-
import { H as HostStylingKeeper } from './attributes-
|
|
1
|
+
import { r as registerInstance, h, H as Host, a as getElement } from './index-Cw9J31qd.js';
|
|
2
|
+
import { H as HostStylingKeeper } from './attributes-WXw_I_uJ.js';
|
|
3
3
|
import { n as normalizeColorValue } from './utils-OYK5-nwe.js';
|
|
4
|
-
import './keep-hydrated-
|
|
4
|
+
import './keep-hydrated-BLG6RDBt.js';
|
|
5
5
|
|
|
6
6
|
const pdsProgressCss = () => `:host{--color-progress-fill:var(--pine-color-primary);--sizing-progress-bar-width:100%;-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex;width:var(--sizing-progress-bar-width)}@-webkit-keyframes progressBar{0%{width:0}100%{width:var(--sizing-progress-bar-width)}}@keyframes progressBar{0%{width:0}100%{width:var(--sizing-progress-bar-width)}}.pds-progress{-ms-flex-align:center;align-items:center;background-color:var(--pine-color-background-muted);border-radius:var(--pine-dimension-2xs);display:-ms-flexbox;display:flex;-ms-flex-direction:row;flex-direction:row;height:var(--pine-dimension-xs);position:relative;width:100%}:host(.is-animated) progress,:host(.is-animated) progress::-webkit-progress-bar{-webkit-animation:progressBar 3s ease;animation:progressBar 3s ease;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards}progress,progress::-webkit-progress-bar{background-color:transparent;border:0;height:var(--pine-dimension-xs);width:100%}progress::-webkit-progress-value{background:var(--color-progress-fill, var(--pine-color-primary));border-radius:var(--pine-dimension-2xs)}progress::-moz-progress-bar{background:var(--color-progress-fill, var(--pine-color-primary));border-radius:var(--pine-dimension-2xs)}.pds-progress__label{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.pds-progress__percentage{font-weight:var(--pine-font-weight-medium);-webkit-margin-start:calc(var(--pine-dimension-md) / 2);margin-inline-start:calc(var(--pine-dimension-md) / 2)}`;
|
|
7
7
|
|
|
@@ -35,7 +35,7 @@ const PdsProgress = class {
|
|
|
35
35
|
const normalizedFillColor = normalizeColorValue(this.fillColor);
|
|
36
36
|
const hostClass = this.animated ? { 'is-animated': this.animated } : '';
|
|
37
37
|
this.hostKeeper.record(hostClass);
|
|
38
|
-
return (h(Host, { key: '
|
|
38
|
+
return (h(Host, { key: 'a224e1e9bc50433553ab8bf4b0d772f01148ee76', class: hostClass }, h("div", { key: '261742044f3d68c204cbf640cc4447eb6d74df11', class: "pds-progress" }, h("label", { key: 'd686bdc6ab450bf8c14dd56077525a3139593f46', class: "pds-progress__label", htmlFor: this.componentId }, this.label), h("progress", { key: 'c716e977a952a628aec600fa680aa9c3b8d0e996', id: this.componentId, max: "100", style: normalizedFillColor ? { '--color-progress-fill': normalizedFillColor } : {}, value: this.percent })), this.showPercent && h("div", { key: '44176a580b435f69993be4a60ee2e888b87e10fb', class: "pds-progress__percentage" }, this.percent, "%")));
|
|
39
39
|
}
|
|
40
40
|
get el() { return getElement(this); }
|
|
41
41
|
};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { r as registerInstance, h, H as Host } from './index-
|
|
2
|
-
import './keep-hydrated-
|
|
1
|
+
import { r as registerInstance, h, H as Host } from './index-Cw9J31qd.js';
|
|
2
|
+
import './keep-hydrated-BLG6RDBt.js';
|
|
3
3
|
|
|
4
4
|
const pdsPropertyCss = () => `:host{color:var(--pine-color-text-message);font:var(--pine-typography-body-medium)}`;
|
|
5
5
|
|
|
@@ -12,7 +12,7 @@ const PdsProperty = class {
|
|
|
12
12
|
this.icon = 'star';
|
|
13
13
|
}
|
|
14
14
|
render() {
|
|
15
|
-
return (h(Host, { key: '
|
|
15
|
+
return (h(Host, { key: 'd599b62be4bacf1d89afcc26b14fc93bdc9bb3a4', id: this.componentId }, h("pds-box", { key: 'd7f80f6598615c761d672893c8acab09bd9ea33f', "align-items": "center", gap: "xs" }, h("pds-icon", { key: '15a6a6545c2cd2332bd830451106b7b08adc39ff', icon: this.icon, size: "var(--pine-dimension-sm)", "aria-hidden": "true" }), h("slot", { key: '4e5661563b99ec56189447faabcdd1ae631159b2' }))));
|
|
16
16
|
}
|
|
17
17
|
};
|
|
18
18
|
PdsProperty.style = pdsPropertyCss();
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { r as registerInstance, c as createEvent, h, H as Host, a as getElement } from './index-
|
|
1
|
+
import { r as registerInstance, c as createEvent, h, H as Host, a as getElement } from './index-Cw9J31qd.js';
|
|
2
2
|
import { m as messageId } from './form-BuRbS7Hp.js';
|
|
3
|
-
import { b as danger } from './index-
|
|
4
|
-
import './keep-hydrated-
|
|
3
|
+
import { b as danger } from './index-BJXk71tO.js';
|
|
4
|
+
import './keep-hydrated-BLG6RDBt.js';
|
|
5
5
|
|
|
6
6
|
const pdsRadioGroupCss = () => `.sc-pds-radio-group-h{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;gap:var(--pine-dimension-sm)}.is-invalid.sc-pds-radio-group-h .pds-radio-group__message--error.sc-pds-radio-group{color:var(--pine-color-text-message-danger)}.pds-radio-group__label.sc-pds-radio-group{color:var(--pine-color-text-label);font:var(--pine-typography-heading-6);font-weight:var(--pine-font-weight-medium);letter-spacing:var(--pine-letter-spacing-heading-6)}.pds-radio-group__radios.sc-pds-radio-group{display:-ms-flexbox;display:flex;gap:var(--pds-radio-group-gap, var(--pine-dimension-xs))}.pds-radio-group__radios--row.sc-pds-radio-group{-ms-flex-align:start;align-items:flex-start;-ms-flex-direction:row;flex-direction:row;-ms-flex-wrap:wrap;flex-wrap:wrap}.pds-radio-group__radios--column.sc-pds-radio-group{-ms-flex-direction:column;flex-direction:column}.pds-radio-group__message.sc-pds-radio-group{color:var(--pine-color-text-message);font:var(--pine-typography-body);width:100%}.pds-radio-group__message--error.sc-pds-radio-group{display:-ms-flexbox;display:flex;gap:var(--pine-dimension-2xs)}.pds-radio-group__message--error.sc-pds-radio-group pds-icon.sc-pds-radio-group{-webkit-margin-before:var(--pine-dimension-050);margin-block-start:var(--pine-dimension-050)}`;
|
|
7
7
|
|
|
@@ -163,13 +163,13 @@ const PdsRadioGroup = class {
|
|
|
163
163
|
render() {
|
|
164
164
|
const gapValue = this.getGapValue();
|
|
165
165
|
const ariaDescribedBy = this.getAriaDescribedBy();
|
|
166
|
-
return (h(Host, { key: '
|
|
166
|
+
return (h(Host, { key: 'bf8063c1a99e272bb3f6bc647998a6ef103f8a71', class: this.classNames(), id: this._groupId, role: "group", "aria-describedby": ariaDescribedBy, style: {
|
|
167
167
|
'--pds-radio-group-gap': gapValue,
|
|
168
|
-
} }, this.groupLabel && (h("div", { key: '
|
|
168
|
+
} }, this.groupLabel && (h("div", { key: '8564ed3f8f99cdc1a0e5b189aacc6960923eb5f7', class: "pds-radio-group__label" }, this.groupLabel)), h("div", { key: '2309c9373790182cde030c1dbda88fa3bdcaaf12', class: {
|
|
169
169
|
'pds-radio-group__radios': true,
|
|
170
170
|
'pds-radio-group__radios--row': this.direction === 'row',
|
|
171
171
|
'pds-radio-group__radios--column': this.direction === 'column',
|
|
172
|
-
} }, h("slot", { key: '
|
|
172
|
+
} }, h("slot", { key: 'd88dde3c631e25c01bc7b6d3ef5d517255fabd1a', onSlotchange: () => this.updateChildRadios() })), this.helperMessage && (h("div", { key: 'a229214ed01663b0fc34f35e27c7148b4eb412ab', class: "pds-radio-group__message", id: messageId(this._groupId, 'helper') }, this.helperMessage)), this.errorMessage && (h("div", { key: 'dc092f2e6dbef0cb369cf00a6eccf9a095a0313d', class: "pds-radio-group__message pds-radio-group__message--error", id: messageId(this._groupId, 'error'), "aria-live": "assertive" }, h("pds-icon", { key: 'd242da328731e55fa52d8e624fdfc750bfa6cce4', icon: danger, size: "small" }), this.errorMessage))));
|
|
173
173
|
}
|
|
174
174
|
get el() { return getElement(this); }
|
|
175
175
|
static get watchers() { return {
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { r as registerInstance, c as createEvent, h, H as Host, a as getElement } from './index-
|
|
2
|
-
import { H as HostStylingKeeper } from './attributes-
|
|
1
|
+
import { r as registerInstance, c as createEvent, h, H as Host, a as getElement } from './index-Cw9J31qd.js';
|
|
2
|
+
import { H as HostStylingKeeper } from './attributes-WXw_I_uJ.js';
|
|
3
3
|
import { e as exposeTypeProperty, a as assignDescription, m as messageId } from './form-BuRbS7Hp.js';
|
|
4
|
-
import { b as danger } from './index-
|
|
5
|
-
import './keep-hydrated-
|
|
4
|
+
import { b as danger } from './index-BJXk71tO.js';
|
|
5
|
+
import './keep-hydrated-BLG6RDBt.js';
|
|
6
6
|
|
|
7
7
|
const labelCss = () => `.sc-pds-radio-h{display:inline-block}[aria-disabled=true].sc-pds-radio-h label.sc-pds-radio{color:var(--pine-color-text-label-disabled)}[aria-readonly=true].sc-pds-radio-h label.sc-pds-radio{color:var(--pine-color-text-label-readonly)}label.sc-pds-radio{color:var(--pine-color-text-label);font:var(--pine-typography-body-medium);letter-spacing:var(--pine-letter-spacing)}`;
|
|
8
8
|
|
|
@@ -102,13 +102,13 @@ const PdsRadio = class {
|
|
|
102
102
|
}
|
|
103
103
|
render() {
|
|
104
104
|
const renderLabelAndMessages = () => [
|
|
105
|
-
h("label", { htmlFor: this.componentId, key: `${this.componentId}-label` }, h("input", { key: '
|
|
105
|
+
h("label", { htmlFor: this.componentId, key: `${this.componentId}-label` }, h("input", { key: 'ccd618855831bcee309e815f2cd2712fd4e8fe1f', "aria-describedby": assignDescription(this.componentId, this.invalid, this.helperMessage, this.errorMessage), "aria-invalid": this.invalid ? "true" : undefined, type: "radio", id: this.componentId, name: this.name, value: this.value, checked: this.checked, required: this.required, disabled: this.disabled, onChange: this.handleRadioChange, class: this.hasImage() ? 'visually-hidden' : '' }), h("span", { key: '2e372a880c28f48fb804bac2518208082c141fad', class: this.hideLabel ? 'visually-hidden' : '' }, this.label)),
|
|
106
106
|
this.helperMessage && (h("div", { key: `${this.componentId}-helper`, class: 'pds-radio__message', id: messageId(this.componentId, 'helper') }, this.helperMessage)),
|
|
107
|
-
this.errorMessage && (h("div", { key: `${this.componentId}-error`, class: `pds-radio__message pds-radio__message--error`, id: messageId(this.componentId, 'error'), "aria-live": "assertive" }, h("pds-icon", { key: '
|
|
107
|
+
this.errorMessage && (h("div", { key: `${this.componentId}-error`, class: `pds-radio__message pds-radio__message--error`, id: messageId(this.componentId, 'error'), "aria-live": "assertive" }, h("pds-icon", { key: '889d502575f6a162f450b6b58d76a6f6f1c74e4b', icon: danger, size: "small" }), this.errorMessage))
|
|
108
108
|
];
|
|
109
109
|
const hostClass = this.classNames();
|
|
110
110
|
this.hostKeeper.record(hostClass);
|
|
111
|
-
return (h(Host, { key: '
|
|
111
|
+
return (h(Host, { key: '374003032b28407581a55f1fb0a304c49acf3c16', class: hostClass }, this.hasImage() && (h("div", { key: '7eeb516267de1afcfa85fc7567999db488c2f4f5', class: "pds-radio__image-container", part: "image-container" }, h("slot", { key: 'a312fea06f0c015bffab3bb392ff04d4913fd1c0', name: "image", onSlotchange: () => (this._hasImage = this.hasImageSlot()) }))), this.hasImage() ? (h("div", { class: "pds-radio__content-wrapper" }, renderLabelAndMessages())) : (renderLabelAndMessages())));
|
|
112
112
|
}
|
|
113
113
|
get el() { return getElement(this); }
|
|
114
114
|
};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { r as registerInstance, h, H as Host, a as getElement } from './index-
|
|
2
|
-
import { H as HostStylingKeeper } from './attributes-
|
|
3
|
-
import './keep-hydrated-
|
|
1
|
+
import { r as registerInstance, h, H as Host, a as getElement } from './index-Cw9J31qd.js';
|
|
2
|
+
import { H as HostStylingKeeper } from './attributes-WXw_I_uJ.js';
|
|
3
|
+
import './keep-hydrated-BLG6RDBt.js';
|
|
4
4
|
|
|
5
5
|
const pdsRowCss = () => `:host{--row-gap-y:var(--pine-dimension-125);--row-gap-x:var(--pine-dimension-125);display:block;-webkit-margin-after:calc(var(--row-gap-y) * -1);margin-block-end:calc(var(--row-gap-y) * -1);-webkit-margin-before:calc(var(--row-gap-y) * -1);margin-block-start:calc(var(--row-gap-y) * -1);-webkit-margin-end:calc(var(--row-gap-x) * -0.5);margin-inline-end:calc(var(--row-gap-x) * -0.5);-webkit-margin-start:calc(var(--row-gap-x) * -0.5);margin-inline-start:calc(var(--row-gap-x) * -0.5)}.pds-row{display:-ms-flexbox;display:flex;-ms-flex-positive:1;flex-grow:1;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-margin-after:calc(var(--row-gap-y) * -1);margin-block-end:calc(var(--row-gap-y) * -1);-webkit-margin-before:calc(var(--row-gap-y) * -1);margin-block-start:calc(var(--row-gap-y) * -1);-webkit-margin-end:calc(var(--row-gap-x) * -1);margin-inline-end:calc(var(--row-gap-x) * -1);-webkit-margin-start:calc(var(--row-gap-x) * -1);margin-inline-start:calc(var(--row-gap-x) * -1)}@layer layout{.pds-row>*{-webkit-padding-after:calc(var(--row-gap-y));padding-block-end:calc(var(--row-gap-y));-webkit-padding-before:calc(var(--row-gap-y));padding-block-start:calc(var(--row-gap-y));-webkit-padding-end:calc(var(--row-gap-x));padding-inline-end:calc(var(--row-gap-x));-webkit-padding-start:calc(var(--row-gap-x));padding-inline-start:calc(var(--row-gap-x))}}.pds-row--no-wrap{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.pds-row--border{border:var(--pine-border)}.pds-justify-content-start{-ms-flex-pack:start;justify-content:start}.pds-justify-content-center{-ms-flex-pack:center;justify-content:center}.pds-justify-content-end{-ms-flex-pack:end;justify-content:end}.pds-justify-content-space-between{-ms-flex-pack:justify;justify-content:space-between}.pds-justify-content-space-around{-ms-flex-pack:distribute;justify-content:space-around}.pds-justify-content-space-evenly{-ms-flex-pack:space-evenly;justify-content:space-evenly}.pds-align-items-start{-ms-flex-align:start;align-items:start}.pds-align-items-center{-ms-flex-align:center;align-items:center}.pds-align-items-end{-ms-flex-align:end;align-items:end}.pds-align-items-stretch{-ms-flex-align:stretch;align-items:stretch}.pds-align-items-baseline{-ms-flex-align:baseline;align-items:baseline}`;
|
|
6
6
|
|
|
@@ -69,7 +69,7 @@ const PdsRow = class {
|
|
|
69
69
|
'min-height': this.minHeight,
|
|
70
70
|
}));
|
|
71
71
|
this.hostKeeper.record(`pds-row ${rowClasses}`, rowInlineStyles);
|
|
72
|
-
return h(Host, { key: '
|
|
72
|
+
return h(Host, { key: '78a505fef7132f9545916155d2485a6d2df8f4a5', class: `pds-row ${rowClasses}`, style: rowInlineStyles });
|
|
73
73
|
}
|
|
74
74
|
get el() { return getElement(this); }
|
|
75
75
|
};
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { r as registerInstance, c as createEvent, h, H as Host, a as getElement } from './index-
|
|
2
|
-
import { H as HostStylingKeeper } from './attributes-
|
|
1
|
+
import { r as registerInstance, c as createEvent, h, H as Host, a as getElement } from './index-Cw9J31qd.js';
|
|
2
|
+
import { H as HostStylingKeeper } from './attributes-WXw_I_uJ.js';
|
|
3
3
|
import { e as exposeTypeProperty, m as messageId, i as isSpecTest, a as assignDescription } from './form-BuRbS7Hp.js';
|
|
4
|
-
import { b as danger, e as enlarge } from './index-
|
|
5
|
-
import './keep-hydrated-
|
|
4
|
+
import { b as danger, e as enlarge } from './index-BJXk71tO.js';
|
|
5
|
+
import './keep-hydrated-BLG6RDBt.js';
|
|
6
6
|
|
|
7
7
|
const pdsSelectTokensCss = () => `:host{--pine-select-color-background-danger:var(--pine-color-red-050)}`;
|
|
8
8
|
|
|
@@ -249,7 +249,7 @@ const PdsSelect = class {
|
|
|
249
249
|
'has-action': hasAction && !this.hideLabel ? 'true' : null,
|
|
250
250
|
};
|
|
251
251
|
this.hostKeeper.record(hostClass, {}, hostAttributes);
|
|
252
|
-
return (h(Host, Object.assign({ key: '
|
|
252
|
+
return (h(Host, Object.assign({ key: '343ed671e67dd1d6f9eb284b07e06d59877c64e9', class: hostClass }, hostAttributes), h("div", { key: '650aed0869b02f658feb16ee99f17e1cd22e5a8e', class: "pds-select" }, !this.hideLabel && (h("div", { key: '74739461acbea33c92279ec8ec9042d6af1773c1', class: "pds-select__label-wrapper" }, h("label", { key: '1ad96ffd243000358edfbd79054ee770e1ba97d3', htmlFor: this.componentId }, h("span", { key: 'b832868db4f9cd4fd2f8313054d2e96e106189ab', class: this.hideLabel ? 'visually-hidden' : '' }, this.label)), hasAction && this.renderAction())), h("select", { key: 'e83c1a1a0a5646fc8abf9e50bc374f52b56be773', "aria-describedby": assignDescription(this.componentId, this.isInvalid(), this.helperMessage, this.errorMessage), "aria-invalid": this.isInvalid() ? 'true' : undefined, "aria-label": this.hideLabel ? this.label : undefined, autocomplete: this.autocomplete || undefined, class: "pds-select__field", disabled: this.disabled, id: this.componentId, multiple: this.multiple, name: this.name, onBlur: this.onBlur, onChange: this.onSelectUpdate, onFocus: this.onFocus, onKeyDown: this.onKeyDown, part: "select", required: this.required, ref: (el) => (this.selectEl = el) }), h("div", { key: 'a34880120b88124b5122350856d023368f96abf7', "aria-hidden": "true", class: "hidden", ref: (el) => (this.slotContainer = el) }, h("slot", { key: 'df6abaf6a630761a32b263813181ff3453757e0d', onSlotchange: this.handleSlotChange })), this.renderMessages(), !this.multiple && h("pds-icon", { key: 'f9197284ef9965d693242a652b583f48bc3d7097', "aria-hidden": "true", class: "pds-select__select-icon", icon: enlarge }))));
|
|
253
253
|
}
|
|
254
254
|
static get formAssociated() { return true; }
|
|
255
255
|
get el() { return getElement(this); }
|