@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,13 +1,65 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var index = require('./index-
|
|
3
|
+
var index = require('./index-jl_Q819j.js');
|
|
4
4
|
var closest = require('./closest-D0qyYtJ3.js');
|
|
5
5
|
var reflectedAttributeDefault = require('./reflected-attribute-default-DVYHG6O1.js');
|
|
6
|
-
var attributes = require('./attributes-
|
|
7
|
-
require('./keep-hydrated-
|
|
6
|
+
var attributes = require('./attributes-BJ7KBHql.js');
|
|
7
|
+
var keepHydrated = require('./keep-hydrated-CiXgkEYd.js');
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* Escapes a string so it's safe to interpolate into a CSS identifier (an id selector like `#${id}`)
|
|
11
|
+
* or into CSS text (a stylesheet rule referencing that id). Equivalent to the native `CSS.escape`,
|
|
12
|
+
* reimplemented because Stencil's unit-test DOM (`newSpecPage`'s mock-doc) doesn't provide it.
|
|
13
|
+
* @param value - The string to escape, e.g. a consumer-supplied id
|
|
14
|
+
*/
|
|
15
|
+
const cssEscape = (value) => {
|
|
16
|
+
const string = String(value);
|
|
17
|
+
const length = string.length;
|
|
18
|
+
const firstCodeUnit = string.charCodeAt(0);
|
|
19
|
+
let result = '';
|
|
20
|
+
for (let index = 0; index < length; index++) {
|
|
21
|
+
const codeUnit = string.charCodeAt(index);
|
|
22
|
+
if (codeUnit === 0x0000) {
|
|
23
|
+
result += '�';
|
|
24
|
+
continue;
|
|
25
|
+
}
|
|
26
|
+
if ((codeUnit >= 0x0001 && codeUnit <= 0x001f) ||
|
|
27
|
+
codeUnit === 0x007f ||
|
|
28
|
+
(index === 0 && codeUnit >= 0x0030 && codeUnit <= 0x0039) ||
|
|
29
|
+
(index === 1 && codeUnit >= 0x0030 && codeUnit <= 0x0039 && firstCodeUnit === 0x002d)) {
|
|
30
|
+
result += `\\${codeUnit.toString(16)} `;
|
|
31
|
+
continue;
|
|
32
|
+
}
|
|
33
|
+
if (index === 0 && length === 1 && codeUnit === 0x002d) {
|
|
34
|
+
result += `\\${string.charAt(index)}`;
|
|
35
|
+
continue;
|
|
36
|
+
}
|
|
37
|
+
if (codeUnit >= 0x0080 ||
|
|
38
|
+
codeUnit === 0x002d ||
|
|
39
|
+
codeUnit === 0x005f ||
|
|
40
|
+
(codeUnit >= 0x0030 && codeUnit <= 0x0039) ||
|
|
41
|
+
(codeUnit >= 0x0041 && codeUnit <= 0x005a) ||
|
|
42
|
+
(codeUnit >= 0x0061 && codeUnit <= 0x007a)) {
|
|
43
|
+
result += string.charAt(index);
|
|
44
|
+
continue;
|
|
45
|
+
}
|
|
46
|
+
result += `\\${string.charAt(index)}`;
|
|
47
|
+
}
|
|
48
|
+
return result;
|
|
49
|
+
};
|
|
8
50
|
|
|
9
51
|
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}`;
|
|
10
52
|
|
|
53
|
+
/** Open auto popovers, in the order they opened: Escape goes to the last one it applies to. */
|
|
54
|
+
const openAutoPopovers = [];
|
|
55
|
+
/** The focused element, followed down through shadow roots to the control that has focus. */
|
|
56
|
+
function deepActiveElement() {
|
|
57
|
+
var _a;
|
|
58
|
+
let active = document.activeElement;
|
|
59
|
+
while ((_a = active === null || active === void 0 ? void 0 : active.shadowRoot) === null || _a === void 0 ? void 0 : _a.activeElement)
|
|
60
|
+
active = active.shadowRoot.activeElement;
|
|
61
|
+
return active;
|
|
62
|
+
}
|
|
11
63
|
const PdsPopover = class {
|
|
12
64
|
constructor(hostRef) {
|
|
13
65
|
index.registerInstance(this, hostRef);
|
|
@@ -39,7 +91,7 @@ const PdsPopover = class {
|
|
|
39
91
|
*/
|
|
40
92
|
this.triggerObserver = null;
|
|
41
93
|
/**
|
|
42
|
-
* Portal element
|
|
94
|
+
* Portal element: in document.body, or in the open dialog the popover is in
|
|
43
95
|
*/
|
|
44
96
|
this.portalEl = null;
|
|
45
97
|
/**
|
|
@@ -135,6 +187,26 @@ const PdsPopover = class {
|
|
|
135
187
|
break;
|
|
136
188
|
}
|
|
137
189
|
};
|
|
190
|
+
/** The focus style copied into a shadow root the panel opened in, which `document.head` can't reach. */
|
|
191
|
+
this.shadowFocusStyle = null;
|
|
192
|
+
/** The dialog the panel was opened in, closed along with it. */
|
|
193
|
+
this.watchedDialog = null;
|
|
194
|
+
this.onDialogClose = () => {
|
|
195
|
+
this.hide();
|
|
196
|
+
};
|
|
197
|
+
/**
|
|
198
|
+
* Inside a dialog, the panel can sit in a form that wraps the dialog, which a body portal never
|
|
199
|
+
* did. A submit from the panel (a button in it, or Enter in a field in it) is stopped, so the
|
|
200
|
+
* panel behaves as it does in the body.
|
|
201
|
+
*/
|
|
202
|
+
this.handleSubmitFromPanel = (event) => {
|
|
203
|
+
if (!this.portalEl || !closest.containsComposed(event.target, this.portalEl))
|
|
204
|
+
return;
|
|
205
|
+
if (closest.containsComposed(this.portalEl, event.submitter) || closest.containsComposed(this.portalEl, deepActiveElement())) {
|
|
206
|
+
event.preventDefault();
|
|
207
|
+
event.stopPropagation();
|
|
208
|
+
}
|
|
209
|
+
};
|
|
138
210
|
}
|
|
139
211
|
restorePlacementDefault(newValue) {
|
|
140
212
|
this.placement = reflectedAttributeDefault.restoreReflectedDefault(this.el, 'placement', newValue, 'right');
|
|
@@ -171,7 +243,8 @@ const PdsPopover = class {
|
|
|
171
243
|
this.triggerObserver = null;
|
|
172
244
|
if (this.triggerEl == null || typeof MutationObserver === 'undefined')
|
|
173
245
|
return;
|
|
174
|
-
|
|
246
|
+
// Capped against a script that keeps undoing it; opening and closing still write it directly.
|
|
247
|
+
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));
|
|
175
248
|
this.triggerObserver.observe(this.triggerEl, {
|
|
176
249
|
attributes: true,
|
|
177
250
|
attributeFilter: ['aria-expanded', 'aria-controls'],
|
|
@@ -181,9 +254,9 @@ const PdsPopover = class {
|
|
|
181
254
|
// This mirrors the native Popover API's accessibility behavior
|
|
182
255
|
linkTriggerToPortal() {
|
|
183
256
|
if (this.triggerEl == null || this.portalEl == null)
|
|
184
|
-
return;
|
|
257
|
+
return false;
|
|
185
258
|
// Skips values already in place, so the trigger observer's own callback doesn't loop.
|
|
186
|
-
attributes.setAttributesIfChanged(this.triggerEl, { 'aria-expanded': String(this.active), 'aria-controls': this.portalEl.id });
|
|
259
|
+
return attributes.setAttributesIfChanged(this.triggerEl, { 'aria-expanded': String(this.active), 'aria-controls': this.portalEl.id });
|
|
187
260
|
}
|
|
188
261
|
// componentDidLoad doesn't run again when a popover comes back, so rebuild whatever
|
|
189
262
|
// disconnectedCallback tore down. Each step is a no-op when nothing was.
|
|
@@ -196,19 +269,23 @@ const PdsPopover = class {
|
|
|
196
269
|
(_a = this.triggerEl) === null || _a === void 0 ? void 0 : _a.addEventListener('click', this.handleTriggerClick);
|
|
197
270
|
this.observeTrigger();
|
|
198
271
|
this.linkTriggerToPortal();
|
|
199
|
-
// Still open after a move: the trigger moved, so the portal follows it
|
|
272
|
+
// Still open after a move: the trigger moved, so the portal follows it, into the dialog it
|
|
273
|
+
// is in now, if any.
|
|
200
274
|
if (this.active) {
|
|
275
|
+
this.placePortal();
|
|
201
276
|
requestAnimationFrame(() => this.handlePopoverPositioning());
|
|
202
277
|
}
|
|
203
278
|
}
|
|
204
279
|
disconnectedCallback() {
|
|
205
280
|
var _a;
|
|
206
281
|
// Moved in one operation (a DOM morph, or a framework reparenting it), the popover is
|
|
207
|
-
// already back in the page. Its portal is
|
|
208
|
-
// where it was.
|
|
282
|
+
// already back in the page. Its portal is outside the popover, so it stays open, with focus
|
|
283
|
+
// where it was; connectedCallback moves it to follow the popover.
|
|
209
284
|
if (this.el.isConnected)
|
|
210
285
|
return;
|
|
211
286
|
this.isComponentMounted = false;
|
|
287
|
+
this.unwatchDialogClose();
|
|
288
|
+
this.forgetOpen();
|
|
212
289
|
// Open, the content sits in the portal; put it back before the portal goes. Only listeners on
|
|
213
290
|
// the popover itself hear the close event now, but those are the ones mirroring its state.
|
|
214
291
|
if (this.active) {
|
|
@@ -229,6 +306,7 @@ const PdsPopover = class {
|
|
|
229
306
|
// Clean up all event listeners
|
|
230
307
|
this.removeLightDismissListeners();
|
|
231
308
|
this.removeScrollAndResizeListeners();
|
|
309
|
+
document.removeEventListener('submit', this.handleSubmitFromPanel, true);
|
|
232
310
|
// Clear any pending debounce timers
|
|
233
311
|
this.clearDebounceTimers();
|
|
234
312
|
// Remove portal from DOM
|
|
@@ -273,9 +351,6 @@ const PdsPopover = class {
|
|
|
273
351
|
else {
|
|
274
352
|
this.portalEl.id = `${this.componentId}-portal`;
|
|
275
353
|
}
|
|
276
|
-
// Add accessibility attributes for screen readers
|
|
277
|
-
// Note: Native Popover API doesn't add a specific role, keeping semantic HTML
|
|
278
|
-
this.portalEl.setAttribute('aria-modal', 'false'); // Not a modal, can interact with rest of page
|
|
279
354
|
// Append to body
|
|
280
355
|
document.body.appendChild(this.portalEl);
|
|
281
356
|
// Add global focus styles to match Pine design system
|
|
@@ -290,22 +365,25 @@ const PdsPopover = class {
|
|
|
290
365
|
if (!this.portalEl)
|
|
291
366
|
return;
|
|
292
367
|
const portalId = this.portalEl.id;
|
|
368
|
+
// componentId comes from the consumer, so it can carry characters cssEscape needs to
|
|
369
|
+
// neutralize before the id is used as a selector or interpolated into stylesheet text.
|
|
370
|
+
const escapedPortalId = cssEscape(portalId);
|
|
293
371
|
// Check if style element already exists
|
|
294
|
-
const existingStyle = document.querySelector(`style[data-pds-popover-focus="${
|
|
372
|
+
const existingStyle = document.querySelector(`style[data-pds-popover-focus="${escapedPortalId}"]`);
|
|
295
373
|
if (existingStyle)
|
|
296
374
|
return;
|
|
297
375
|
// Create style element with Pine's focus ring styles and dark mode border
|
|
298
376
|
const styleEl = document.createElement('style');
|
|
299
377
|
styleEl.setAttribute('data-pds-popover-focus', portalId);
|
|
300
378
|
styleEl.textContent = `
|
|
301
|
-
#${
|
|
379
|
+
#${escapedPortalId}:focus {
|
|
302
380
|
outline: var(--pine-outline-focus, 2px solid var(--pine-color-focus-ring, #6366f1)) !important;
|
|
303
381
|
outline-offset: var(--pine-border-width, 1px);
|
|
304
382
|
}
|
|
305
|
-
#${
|
|
383
|
+
#${escapedPortalId}:focus:not(:focus-visible) {
|
|
306
384
|
outline: none;
|
|
307
385
|
}
|
|
308
|
-
[data-theme="dark"] #${
|
|
386
|
+
[data-theme="dark"] #${escapedPortalId} {
|
|
309
387
|
border: var(--pine-border);
|
|
310
388
|
}
|
|
311
389
|
`;
|
|
@@ -356,7 +434,27 @@ const PdsPopover = class {
|
|
|
356
434
|
// Clear tracking array
|
|
357
435
|
this.movedNodes = [];
|
|
358
436
|
}
|
|
437
|
+
copyFocusStylesInto(root) {
|
|
438
|
+
var _a, _b, _c;
|
|
439
|
+
// Outside a shadow root the document's own style applies, so drop a copy left in one.
|
|
440
|
+
if (!(root instanceof ShadowRoot)) {
|
|
441
|
+
(_a = this.shadowFocusStyle) === null || _a === void 0 ? void 0 : _a.remove();
|
|
442
|
+
this.shadowFocusStyle = null;
|
|
443
|
+
return;
|
|
444
|
+
}
|
|
445
|
+
if (((_b = this.shadowFocusStyle) === null || _b === void 0 ? void 0 : _b.parentNode) === root || !this.portalEl)
|
|
446
|
+
return;
|
|
447
|
+
const source = document.querySelector(`style[data-pds-popover-focus="${cssEscape(this.portalEl.id)}"]`);
|
|
448
|
+
if (!source)
|
|
449
|
+
return;
|
|
450
|
+
(_c = this.shadowFocusStyle) === null || _c === void 0 ? void 0 : _c.remove();
|
|
451
|
+
this.shadowFocusStyle = source.cloneNode(true);
|
|
452
|
+
root.appendChild(this.shadowFocusStyle);
|
|
453
|
+
}
|
|
359
454
|
removePortal() {
|
|
455
|
+
var _a;
|
|
456
|
+
(_a = this.shadowFocusStyle) === null || _a === void 0 ? void 0 : _a.remove();
|
|
457
|
+
this.shadowFocusStyle = null;
|
|
360
458
|
if (this.portalEl) {
|
|
361
459
|
// Remove the portal element from DOM
|
|
362
460
|
if (this.portalEl.parentNode) {
|
|
@@ -364,7 +462,7 @@ const PdsPopover = class {
|
|
|
364
462
|
}
|
|
365
463
|
// Remove the associated focus style element
|
|
366
464
|
const portalId = this.portalEl.id;
|
|
367
|
-
const styleEl = document.querySelector(`style[data-pds-popover-focus="${portalId}"]`);
|
|
465
|
+
const styleEl = document.querySelector(`style[data-pds-popover-focus="${cssEscape(portalId)}"]`);
|
|
368
466
|
if (styleEl && styleEl.parentNode) {
|
|
369
467
|
styleEl.parentNode.removeChild(styleEl);
|
|
370
468
|
}
|
|
@@ -381,9 +479,13 @@ const PdsPopover = class {
|
|
|
381
479
|
// Record open timestamp to prevent immediate close from opening click
|
|
382
480
|
this.openTimestamp = Date.now();
|
|
383
481
|
this.linkTriggerToPortal();
|
|
482
|
+
this.placePortal();
|
|
384
483
|
// Update portal content with latest slot content
|
|
385
484
|
this.updatePortalContent();
|
|
386
|
-
// Show portal
|
|
485
|
+
// Show portal. The attribute tells a modal around it that this popover takes Escape first; only
|
|
486
|
+
// an auto popover listens for Escape.
|
|
487
|
+
if (this.popoverType === 'auto')
|
|
488
|
+
this.portalEl.setAttribute('data-pds-popover-open', '');
|
|
387
489
|
this.portalEl.style.display = 'block';
|
|
388
490
|
this.portalEl.style.opacity = '1';
|
|
389
491
|
this.portalEl.style.visibility = 'visible';
|
|
@@ -395,8 +497,10 @@ const PdsPopover = class {
|
|
|
395
497
|
});
|
|
396
498
|
// Add scroll and resize listeners for repositioning (always)
|
|
397
499
|
this.addScrollAndResizeListeners();
|
|
500
|
+
document.addEventListener('submit', this.handleSubmitFromPanel, true);
|
|
398
501
|
// Add document listeners for light dismiss and escape key (auto type only)
|
|
399
502
|
if (this.popoverType === 'auto') {
|
|
503
|
+
openAutoPopovers.push(this);
|
|
400
504
|
this.addLightDismissListeners();
|
|
401
505
|
}
|
|
402
506
|
// Emit open event
|
|
@@ -412,12 +516,16 @@ const PdsPopover = class {
|
|
|
412
516
|
if (!this.active || !this.portalEl)
|
|
413
517
|
return;
|
|
414
518
|
this.active = false;
|
|
415
|
-
|
|
416
|
-
|
|
519
|
+
this.unwatchDialogClose();
|
|
520
|
+
// Restoring the content drops its focus to the body, so check where focus is first. In a
|
|
521
|
+
// shadow root, document.activeElement is only its host.
|
|
522
|
+
const focusWasInside = closest.containsComposed(this.portalEl, deepActiveElement());
|
|
417
523
|
this.linkTriggerToPortal();
|
|
418
524
|
// Restore content back to original slot positions
|
|
419
525
|
this.restorePortalContent();
|
|
420
|
-
// Hide portal
|
|
526
|
+
// Hide portal. The dark-mode border set in a shadow root is worked out again on the next open.
|
|
527
|
+
this.portalEl.style.border = '';
|
|
528
|
+
this.portalEl.removeAttribute('data-pds-popover-open');
|
|
421
529
|
this.portalEl.style.display = 'none';
|
|
422
530
|
this.portalEl.style.opacity = '0';
|
|
423
531
|
this.portalEl.style.visibility = 'hidden';
|
|
@@ -427,8 +535,10 @@ const PdsPopover = class {
|
|
|
427
535
|
this.returnFocusToTrigger();
|
|
428
536
|
}
|
|
429
537
|
// Remove all listeners
|
|
538
|
+
this.forgetOpen();
|
|
430
539
|
this.removeLightDismissListeners();
|
|
431
540
|
this.removeScrollAndResizeListeners();
|
|
541
|
+
document.removeEventListener('submit', this.handleSubmitFromPanel, true);
|
|
432
542
|
// Clear any pending timers
|
|
433
543
|
this.clearDebounceTimers();
|
|
434
544
|
// Emit close event
|
|
@@ -448,6 +558,59 @@ const PdsPopover = class {
|
|
|
448
558
|
this.show();
|
|
449
559
|
}
|
|
450
560
|
}
|
|
561
|
+
/**
|
|
562
|
+
* Puts the panel where it shows above everything around the popover. In an open dialog, it goes
|
|
563
|
+
* inside it: a modal dialog sits in the top layer above the body and makes the rest of the page
|
|
564
|
+
* inert, and a non-modal one sits above it by z-index. Right after the popover, it's next in the
|
|
565
|
+
* Tab order. In another component's slot, though, it would have no slot to render in, and in a
|
|
566
|
+
* form its buttons would submit it, so there it goes at the end of the dialog.
|
|
567
|
+
*/
|
|
568
|
+
placePortal() {
|
|
569
|
+
var _a, _b;
|
|
570
|
+
if (!this.portalEl)
|
|
571
|
+
return;
|
|
572
|
+
const dialog = closest.closest('dialog[open]', this.el);
|
|
573
|
+
if (!dialog) {
|
|
574
|
+
this.unwatchDialogClose();
|
|
575
|
+
this.portalEl.style.border = '';
|
|
576
|
+
if (this.portalEl.parentElement !== document.body)
|
|
577
|
+
document.body.appendChild(this.portalEl);
|
|
578
|
+
this.copyFocusStylesInto(document);
|
|
579
|
+
return;
|
|
580
|
+
}
|
|
581
|
+
const form = closest.closest('form', this.el);
|
|
582
|
+
const besidePopover = !((_a = this.el.parentElement) === null || _a === void 0 ? void 0 : _a.shadowRoot) && !(form && closest.containsComposed(dialog, form));
|
|
583
|
+
if (besidePopover) {
|
|
584
|
+
if (this.el.nextElementSibling !== this.portalEl)
|
|
585
|
+
(_b = this.el.parentNode) === null || _b === void 0 ? void 0 : _b.insertBefore(this.portalEl, this.el.nextSibling);
|
|
586
|
+
}
|
|
587
|
+
else if (this.portalEl.parentNode !== dialog) {
|
|
588
|
+
dialog.appendChild(this.portalEl);
|
|
589
|
+
}
|
|
590
|
+
this.watchDialogClose(dialog);
|
|
591
|
+
const root = this.portalEl.getRootNode();
|
|
592
|
+
this.copyFocusStylesInto(root);
|
|
593
|
+
// In a shadow root, the copied dark-mode rule can't see a [data-theme="dark"] on the page.
|
|
594
|
+
this.portalEl.style.border = root instanceof ShadowRoot && closest.closest('[data-theme="dark"]', this.el) ? 'var(--pine-border)' : '';
|
|
595
|
+
}
|
|
596
|
+
forgetOpen() {
|
|
597
|
+
const index = openAutoPopovers.indexOf(this);
|
|
598
|
+
if (index >= 0)
|
|
599
|
+
openAutoPopovers.splice(index, 1);
|
|
600
|
+
}
|
|
601
|
+
/**
|
|
602
|
+
* Whether an Escape is this popover's. One from a dialog the popover isn't in belongs to that
|
|
603
|
+
* dialog when it's above it: a top-layer dialog or a pds-modal. A plain non-modal dialog inside
|
|
604
|
+
* the popover's modal doesn't close on Escape, so the popover takes it.
|
|
605
|
+
*/
|
|
606
|
+
takesEscapeFrom(event) {
|
|
607
|
+
var _a, _b;
|
|
608
|
+
const origin = ((_b = (_a = event.composedPath) === null || _a === void 0 ? void 0 : _a.call(event)[0]) !== null && _b !== void 0 ? _b : event.target);
|
|
609
|
+
const dialog = closest.closest('dialog[open]', origin);
|
|
610
|
+
if (!dialog || closest.containsComposed(dialog, this.portalEl))
|
|
611
|
+
return true;
|
|
612
|
+
return !(dialog.classList.contains('pds-modal__backdrop') || dialog.matches(':modal'));
|
|
613
|
+
}
|
|
451
614
|
/**
|
|
452
615
|
* Adds light dismiss listeners (click outside and escape key)
|
|
453
616
|
*/
|
|
@@ -456,6 +619,19 @@ const PdsPopover = class {
|
|
|
456
619
|
document.addEventListener('click', this.boundClickOutsideHandler, true);
|
|
457
620
|
document.addEventListener('keydown', this.boundEscapeKeyHandler);
|
|
458
621
|
}
|
|
622
|
+
/** Closes the popover when the dialog it opened in closes, so it isn't left open inside. */
|
|
623
|
+
watchDialogClose(dialog) {
|
|
624
|
+
if (this.watchedDialog === dialog)
|
|
625
|
+
return;
|
|
626
|
+
this.unwatchDialogClose();
|
|
627
|
+
this.watchedDialog = dialog;
|
|
628
|
+
dialog.addEventListener('close', this.onDialogClose);
|
|
629
|
+
}
|
|
630
|
+
unwatchDialogClose() {
|
|
631
|
+
var _a;
|
|
632
|
+
(_a = this.watchedDialog) === null || _a === void 0 ? void 0 : _a.removeEventListener('close', this.onDialogClose);
|
|
633
|
+
this.watchedDialog = null;
|
|
634
|
+
}
|
|
459
635
|
/**
|
|
460
636
|
* Removes light dismiss listeners
|
|
461
637
|
*/
|
|
@@ -481,7 +657,7 @@ const PdsPopover = class {
|
|
|
481
657
|
* Handles clicks outside the popover for light dismiss (auto type only)
|
|
482
658
|
*/
|
|
483
659
|
handleClickOutside(event) {
|
|
484
|
-
var _a, _b
|
|
660
|
+
var _a, _b;
|
|
485
661
|
// Ignore events that occurred at or before the popover opened
|
|
486
662
|
// This prevents the opening click from immediately closing the popover
|
|
487
663
|
// Convert event.timeStamp (DOMHighResTimeStamp from performance.now()) to epoch time
|
|
@@ -492,16 +668,18 @@ const PdsPopover = class {
|
|
|
492
668
|
if (eventTime <= this.openTimestamp) {
|
|
493
669
|
return;
|
|
494
670
|
}
|
|
495
|
-
|
|
671
|
+
// In a shadow root, event.target is only its host.
|
|
672
|
+
const target = ((_b = (_a = event.composedPath) === null || _a === void 0 ? void 0 : _a.call(event)[0]) !== null && _b !== void 0 ? _b : event.target);
|
|
496
673
|
// A datepicker's calendar is portaled to the body: a click in the calendar of a datepicker
|
|
497
|
-
// inside this popover, in its content or its trigger, isn't outside it.
|
|
498
|
-
|
|
674
|
+
// inside this popover, in its content or its trigger, isn't outside it. The target can be
|
|
675
|
+
// inside the calendar's shadow root, so look up across it.
|
|
676
|
+
const calendar = closest.closest('.pds-datepicker-calendar-portal', target);
|
|
499
677
|
const owner = calendar === null || calendar === void 0 ? void 0 : calendar.pdsDatepicker;
|
|
500
678
|
if (owner && (closest.containsComposed(this.portalEl, owner) || closest.containsComposed(this.triggerEl, owner)))
|
|
501
679
|
return;
|
|
502
680
|
// Check if click is outside both the popover portal and the trigger
|
|
503
|
-
const clickedInsidePopover = (
|
|
504
|
-
const clickedInsideTrigger = (
|
|
681
|
+
const clickedInsidePopover = closest.containsComposed(this.portalEl, target);
|
|
682
|
+
const clickedInsideTrigger = closest.containsComposed(this.triggerEl, target);
|
|
505
683
|
if (!clickedInsidePopover && !clickedInsideTrigger) {
|
|
506
684
|
this.hide();
|
|
507
685
|
}
|
|
@@ -522,14 +700,19 @@ const PdsPopover = class {
|
|
|
522
700
|
* Mirrors native Popover API: Escape closes and returns focus to trigger
|
|
523
701
|
*/
|
|
524
702
|
handleEscapeKey(event) {
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
703
|
+
// A control inside that closes on Escape (a datepicker, a combobox) has handled it already.
|
|
704
|
+
if (event.key !== 'Escape' || event.defaultPrevented)
|
|
705
|
+
return;
|
|
706
|
+
// Like the native Popover API, Escape closes only the top popover: the last one opened that
|
|
707
|
+
// it applies to. Every open popover hears it, so each checks whether it's that one.
|
|
708
|
+
const top = [...openAutoPopovers].reverse().find(popover => popover.takesEscapeFrom(event));
|
|
709
|
+
if (top !== this)
|
|
710
|
+
return;
|
|
711
|
+
// Take the key, so the dialog or modal around it doesn't close too.
|
|
712
|
+
event.preventDefault();
|
|
713
|
+
event.stopPropagation();
|
|
714
|
+
// Close popover and return focus to trigger
|
|
715
|
+
this.hide();
|
|
533
716
|
}
|
|
534
717
|
/**
|
|
535
718
|
* Handles scroll events to reposition the popover (debounced for performance)
|
|
@@ -634,13 +817,20 @@ const PdsPopover = class {
|
|
|
634
817
|
}
|
|
635
818
|
this.portalEl.style.top = `${top}px`;
|
|
636
819
|
this.portalEl.style.left = `${left}px`;
|
|
820
|
+
// `position: fixed` measures from the viewport unless an ancestor becomes its containing block,
|
|
821
|
+
// as a modal dialog does with its backdrop filter. Shift by however far it landed from the spot.
|
|
822
|
+
const placed = this.portalEl.getBoundingClientRect();
|
|
823
|
+
if (Math.abs(placed.top - top) > 0.5 || Math.abs(placed.left - left) > 0.5) {
|
|
824
|
+
this.portalEl.style.top = `${2 * top - placed.top}px`;
|
|
825
|
+
this.portalEl.style.left = `${2 * left - placed.left}px`;
|
|
826
|
+
}
|
|
637
827
|
// Reset the repositioning guard after a short delay
|
|
638
828
|
setTimeout(() => {
|
|
639
829
|
this.isRepositioning = false;
|
|
640
830
|
}, 16); // ~1 frame at 60fps
|
|
641
831
|
}
|
|
642
832
|
render() {
|
|
643
|
-
return (index.h(index.Host, { key: '
|
|
833
|
+
return (index.h(index.Host, { key: 'da8a0c715df1199231b1265085f3f9ae0234032d', id: this.componentId }, index.h("span", { key: 'f35023492399420829cec2e88556462f5ac1663e', class: "pds-popover__trigger-wrapper" }, index.h("slot", { key: '38ebe92eebb87665467b3f92ff94dc8095450063', name: "trigger", onSlotchange: this.handleTriggerSlotChange })), index.h("div", { key: '8917930f4520544d14bbd68b4c7936dd60af19e3', class: "pds-popover__content-slot-wrapper" }, index.h("slot", { key: '28d3f9112256edd95721a79a7072a9e35a3712bf', onSlotchange: this.handleContentSlotChange }))));
|
|
644
834
|
}
|
|
645
835
|
get el() { return index.getElement(this); }
|
|
646
836
|
static get watchers() { return {
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var index = require('./index-
|
|
4
|
-
var attributes = require('./attributes-
|
|
3
|
+
var index = require('./index-jl_Q819j.js');
|
|
4
|
+
var attributes = require('./attributes-BJ7KBHql.js');
|
|
5
5
|
var utils = require('./utils-BhRmyxT8.js');
|
|
6
|
-
require('./keep-hydrated-
|
|
6
|
+
require('./keep-hydrated-CiXgkEYd.js');
|
|
7
7
|
|
|
8
8
|
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)}`;
|
|
9
9
|
|
|
@@ -37,7 +37,7 @@ const PdsProgress = class {
|
|
|
37
37
|
const normalizedFillColor = utils.normalizeColorValue(this.fillColor);
|
|
38
38
|
const hostClass = this.animated ? { 'is-animated': this.animated } : '';
|
|
39
39
|
this.hostKeeper.record(hostClass);
|
|
40
|
-
return (index.h(index.Host, { key: '
|
|
40
|
+
return (index.h(index.Host, { key: 'a224e1e9bc50433553ab8bf4b0d772f01148ee76', class: hostClass }, index.h("div", { key: '261742044f3d68c204cbf640cc4447eb6d74df11', class: "pds-progress" }, index.h("label", { key: 'd686bdc6ab450bf8c14dd56077525a3139593f46', class: "pds-progress__label", htmlFor: this.componentId }, this.label), index.h("progress", { key: 'c716e977a952a628aec600fa680aa9c3b8d0e996', id: this.componentId, max: "100", style: normalizedFillColor ? { '--color-progress-fill': normalizedFillColor } : {}, value: this.percent })), this.showPercent && index.h("div", { key: '44176a580b435f69993be4a60ee2e888b87e10fb', class: "pds-progress__percentage" }, this.percent, "%")));
|
|
41
41
|
}
|
|
42
42
|
get el() { return index.getElement(this); }
|
|
43
43
|
};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var index = require('./index-
|
|
4
|
-
require('./keep-hydrated-
|
|
3
|
+
var index = require('./index-jl_Q819j.js');
|
|
4
|
+
require('./keep-hydrated-CiXgkEYd.js');
|
|
5
5
|
|
|
6
6
|
const pdsPropertyCss = () => `:host{color:var(--pine-color-text-message);font:var(--pine-typography-body-medium)}`;
|
|
7
7
|
|
|
@@ -14,7 +14,7 @@ const PdsProperty = class {
|
|
|
14
14
|
this.icon = 'star';
|
|
15
15
|
}
|
|
16
16
|
render() {
|
|
17
|
-
return (index.h(index.Host, { key: '
|
|
17
|
+
return (index.h(index.Host, { key: 'd599b62be4bacf1d89afcc26b14fc93bdc9bb3a4', id: this.componentId }, index.h("pds-box", { key: 'd7f80f6598615c761d672893c8acab09bd9ea33f', "align-items": "center", gap: "xs" }, index.h("pds-icon", { key: '15a6a6545c2cd2332bd830451106b7b08adc39ff', icon: this.icon, size: "var(--pine-dimension-sm)", "aria-hidden": "true" }), index.h("slot", { key: '4e5661563b99ec56189447faabcdd1ae631159b2' }))));
|
|
18
18
|
}
|
|
19
19
|
};
|
|
20
20
|
PdsProperty.style = pdsPropertyCss();
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var index = require('./index-
|
|
3
|
+
var index = require('./index-jl_Q819j.js');
|
|
4
4
|
var form = require('./form-MhwfKTuo.js');
|
|
5
|
-
var index$1 = require('./index-
|
|
6
|
-
require('./keep-hydrated-
|
|
5
|
+
var index$1 = require('./index-5Azb8EQG.js');
|
|
6
|
+
require('./keep-hydrated-CiXgkEYd.js');
|
|
7
7
|
|
|
8
8
|
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)}`;
|
|
9
9
|
|
|
@@ -165,13 +165,13 @@ const PdsRadioGroup = class {
|
|
|
165
165
|
render() {
|
|
166
166
|
const gapValue = this.getGapValue();
|
|
167
167
|
const ariaDescribedBy = this.getAriaDescribedBy();
|
|
168
|
-
return (index.h(index.Host, { key: '
|
|
168
|
+
return (index.h(index.Host, { key: 'bf8063c1a99e272bb3f6bc647998a6ef103f8a71', class: this.classNames(), id: this._groupId, role: "group", "aria-describedby": ariaDescribedBy, style: {
|
|
169
169
|
'--pds-radio-group-gap': gapValue,
|
|
170
|
-
} }, this.groupLabel && (index.h("div", { key: '
|
|
170
|
+
} }, this.groupLabel && (index.h("div", { key: '8564ed3f8f99cdc1a0e5b189aacc6960923eb5f7', class: "pds-radio-group__label" }, this.groupLabel)), index.h("div", { key: '2309c9373790182cde030c1dbda88fa3bdcaaf12', class: {
|
|
171
171
|
'pds-radio-group__radios': true,
|
|
172
172
|
'pds-radio-group__radios--row': this.direction === 'row',
|
|
173
173
|
'pds-radio-group__radios--column': this.direction === 'column',
|
|
174
|
-
} }, index.h("slot", { key: '
|
|
174
|
+
} }, index.h("slot", { key: 'd88dde3c631e25c01bc7b6d3ef5d517255fabd1a', onSlotchange: () => this.updateChildRadios() })), this.helperMessage && (index.h("div", { key: 'a229214ed01663b0fc34f35e27c7148b4eb412ab', class: "pds-radio-group__message", id: form.messageId(this._groupId, 'helper') }, this.helperMessage)), this.errorMessage && (index.h("div", { key: 'dc092f2e6dbef0cb369cf00a6eccf9a095a0313d', class: "pds-radio-group__message pds-radio-group__message--error", id: form.messageId(this._groupId, 'error'), "aria-live": "assertive" }, index.h("pds-icon", { key: 'd242da328731e55fa52d8e624fdfc750bfa6cce4', icon: index$1.danger, size: "small" }), this.errorMessage))));
|
|
175
175
|
}
|
|
176
176
|
get el() { return index.getElement(this); }
|
|
177
177
|
static get watchers() { return {
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var index = require('./index-
|
|
4
|
-
var attributes = require('./attributes-
|
|
3
|
+
var index = require('./index-jl_Q819j.js');
|
|
4
|
+
var attributes = require('./attributes-BJ7KBHql.js');
|
|
5
5
|
var form = require('./form-MhwfKTuo.js');
|
|
6
|
-
var index$1 = require('./index-
|
|
7
|
-
require('./keep-hydrated-
|
|
6
|
+
var index$1 = require('./index-5Azb8EQG.js');
|
|
7
|
+
require('./keep-hydrated-CiXgkEYd.js');
|
|
8
8
|
|
|
9
9
|
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)}`;
|
|
10
10
|
|
|
@@ -104,13 +104,13 @@ const PdsRadio = class {
|
|
|
104
104
|
}
|
|
105
105
|
render() {
|
|
106
106
|
const renderLabelAndMessages = () => [
|
|
107
|
-
index.h("label", { htmlFor: this.componentId, key: `${this.componentId}-label` }, index.h("input", { key: '
|
|
107
|
+
index.h("label", { htmlFor: this.componentId, key: `${this.componentId}-label` }, index.h("input", { key: 'ccd618855831bcee309e815f2cd2712fd4e8fe1f', "aria-describedby": form.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' : '' }), index.h("span", { key: '2e372a880c28f48fb804bac2518208082c141fad', class: this.hideLabel ? 'visually-hidden' : '' }, this.label)),
|
|
108
108
|
this.helperMessage && (index.h("div", { key: `${this.componentId}-helper`, class: 'pds-radio__message', id: form.messageId(this.componentId, 'helper') }, this.helperMessage)),
|
|
109
|
-
this.errorMessage && (index.h("div", { key: `${this.componentId}-error`, class: `pds-radio__message pds-radio__message--error`, id: form.messageId(this.componentId, 'error'), "aria-live": "assertive" }, index.h("pds-icon", { key: '
|
|
109
|
+
this.errorMessage && (index.h("div", { key: `${this.componentId}-error`, class: `pds-radio__message pds-radio__message--error`, id: form.messageId(this.componentId, 'error'), "aria-live": "assertive" }, index.h("pds-icon", { key: '889d502575f6a162f450b6b58d76a6f6f1c74e4b', icon: index$1.danger, size: "small" }), this.errorMessage))
|
|
110
110
|
];
|
|
111
111
|
const hostClass = this.classNames();
|
|
112
112
|
this.hostKeeper.record(hostClass);
|
|
113
|
-
return (index.h(index.Host, { key: '
|
|
113
|
+
return (index.h(index.Host, { key: '374003032b28407581a55f1fb0a304c49acf3c16', class: hostClass }, this.hasImage() && (index.h("div", { key: '7eeb516267de1afcfa85fc7567999db488c2f4f5', class: "pds-radio__image-container", part: "image-container" }, index.h("slot", { key: 'a312fea06f0c015bffab3bb392ff04d4913fd1c0', name: "image", onSlotchange: () => (this._hasImage = this.hasImageSlot()) }))), this.hasImage() ? (index.h("div", { class: "pds-radio__content-wrapper" }, renderLabelAndMessages())) : (renderLabelAndMessages())));
|
|
114
114
|
}
|
|
115
115
|
get el() { return index.getElement(this); }
|
|
116
116
|
};
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var index = require('./index-
|
|
4
|
-
var attributes = require('./attributes-
|
|
5
|
-
require('./keep-hydrated-
|
|
3
|
+
var index = require('./index-jl_Q819j.js');
|
|
4
|
+
var attributes = require('./attributes-BJ7KBHql.js');
|
|
5
|
+
require('./keep-hydrated-CiXgkEYd.js');
|
|
6
6
|
|
|
7
7
|
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}`;
|
|
8
8
|
|
|
@@ -71,7 +71,7 @@ const PdsRow = class {
|
|
|
71
71
|
'min-height': this.minHeight,
|
|
72
72
|
}));
|
|
73
73
|
this.hostKeeper.record(`pds-row ${rowClasses}`, rowInlineStyles);
|
|
74
|
-
return index.h(index.Host, { key: '
|
|
74
|
+
return index.h(index.Host, { key: '78a505fef7132f9545916155d2485a6d2df8f4a5', class: `pds-row ${rowClasses}`, style: rowInlineStyles });
|
|
75
75
|
}
|
|
76
76
|
get el() { return index.getElement(this); }
|
|
77
77
|
};
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var index = require('./index-
|
|
4
|
-
var attributes = require('./attributes-
|
|
3
|
+
var index = require('./index-jl_Q819j.js');
|
|
4
|
+
var attributes = require('./attributes-BJ7KBHql.js');
|
|
5
5
|
var form = require('./form-MhwfKTuo.js');
|
|
6
|
-
var index$1 = require('./index-
|
|
7
|
-
require('./keep-hydrated-
|
|
6
|
+
var index$1 = require('./index-5Azb8EQG.js');
|
|
7
|
+
require('./keep-hydrated-CiXgkEYd.js');
|
|
8
8
|
|
|
9
9
|
const pdsSelectTokensCss = () => `:host{--pine-select-color-background-danger:var(--pine-color-red-050)}`;
|
|
10
10
|
|
|
@@ -251,7 +251,7 @@ const PdsSelect = class {
|
|
|
251
251
|
'has-action': hasAction && !this.hideLabel ? 'true' : null,
|
|
252
252
|
};
|
|
253
253
|
this.hostKeeper.record(hostClass, {}, hostAttributes);
|
|
254
|
-
return (index.h(index.Host, Object.assign({ key: '
|
|
254
|
+
return (index.h(index.Host, Object.assign({ key: '343ed671e67dd1d6f9eb284b07e06d59877c64e9', class: hostClass }, hostAttributes), index.h("div", { key: '650aed0869b02f658feb16ee99f17e1cd22e5a8e', class: "pds-select" }, !this.hideLabel && (index.h("div", { key: '74739461acbea33c92279ec8ec9042d6af1773c1', class: "pds-select__label-wrapper" }, index.h("label", { key: '1ad96ffd243000358edfbd79054ee770e1ba97d3', htmlFor: this.componentId }, index.h("span", { key: 'b832868db4f9cd4fd2f8313054d2e96e106189ab', class: this.hideLabel ? 'visually-hidden' : '' }, this.label)), hasAction && this.renderAction())), index.h("select", { key: 'e83c1a1a0a5646fc8abf9e50bc374f52b56be773', "aria-describedby": form.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) }), index.h("div", { key: 'a34880120b88124b5122350856d023368f96abf7', "aria-hidden": "true", class: "hidden", ref: (el) => (this.slotContainer = el) }, index.h("slot", { key: 'df6abaf6a630761a32b263813181ff3453757e0d', onSlotchange: this.handleSlotChange })), this.renderMessages(), !this.multiple && index.h("pds-icon", { key: 'f9197284ef9965d693242a652b583f48bc3d7097', "aria-hidden": "true", class: "pds-select__select-icon", icon: index$1.enlarge }))));
|
|
255
255
|
}
|
|
256
256
|
static get formAssociated() { return true; }
|
|
257
257
|
get el() { return index.getElement(this); }
|