@pine-ds/core 3.3.0 → 3.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/floating-ui.dom.js +1321 -0
- package/components/floating-ui.dom.js.map +1 -0
- package/components/index.d.ts +4 -0
- package/components/index.js +2 -0
- package/components/index.js.map +1 -1
- package/components/index2.js +1 -1
- package/components/index2.js.map +1 -1
- package/components/mock-pds-modal.js +2 -2
- package/components/mock-pds-modal.js.map +1 -1
- package/components/pds-box2.js +1 -1
- package/components/pds-box2.js.map +1 -1
- package/components/pds-button2.js +1 -1
- package/components/pds-button2.js.map +1 -1
- package/components/pds-checkbox2.js +1 -1
- package/components/pds-checkbox2.js.map +1 -1
- package/components/pds-chip.js.map +1 -1
- package/components/pds-combobox.d.ts +11 -0
- package/components/pds-combobox.js +1771 -0
- package/components/pds-combobox.js.map +1 -0
- package/components/pds-copytext.js +1 -1
- package/components/pds-divider.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 +4 -1320
- package/components/pds-dropdown-menu.js.map +1 -1
- package/components/pds-icon2.js +151 -18
- package/components/pds-icon2.js.map +1 -1
- package/components/pds-image.js +2 -2
- package/components/pds-input.js +69 -3
- package/components/pds-input.js.map +1 -1
- package/components/pds-link2.js +2 -2
- package/components/pds-loader2.js +1 -1
- package/components/pds-modal-content.js +2 -2
- package/components/pds-modal-footer.js +1 -1
- package/components/pds-modal-header.js +1 -1
- package/components/pds-modal.js +3 -3
- package/components/pds-modal.js.map +1 -1
- package/components/pds-popover.js +1 -1
- package/components/pds-progress.js +1 -1
- package/components/pds-property.d.ts +11 -0
- package/components/pds-property.js +55 -0
- package/components/pds-property.js.map +1 -0
- package/components/pds-radio.js +4 -4
- package/components/pds-radio.js.map +1 -1
- package/components/pds-row.js +1 -1
- package/components/pds-select.js +86 -3
- package/components/pds-select.js.map +1 -1
- package/components/pds-sortable-item.js +1 -1
- package/components/pds-sortable.js +1 -1
- package/components/pds-switch.js +3 -3
- package/components/pds-tab.js +3 -3
- package/components/pds-table-body.js +1 -1
- package/components/pds-table-cell2.js +2 -2
- package/components/pds-table-head-cell2.js +2 -2
- package/components/pds-table-head.js +1 -1
- package/components/pds-table-row.js +1 -1
- package/components/pds-table.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-text2.js.map +1 -1
- package/components/pds-textarea.js +69 -6
- package/components/pds-textarea.js.map +1 -1
- package/components/pds-toast.js +3 -3
- package/components/pds-tooltip.js +1 -1
- package/dist/cjs/floating-ui.dom-Bz4BD-cr.js +1326 -0
- package/dist/cjs/floating-ui.dom-Bz4BD-cr.js.map +1 -0
- package/dist/cjs/{index-B0qLG6KJ.js → index-BfqrB2cC.js} +3 -3
- package/dist/{esm/index-DpOSrebJ.js.map → cjs/index-BfqrB2cC.js.map} +1 -1
- package/dist/cjs/{index-CxX7ua5d.js → index-g-uSeICs.js} +30 -2
- package/dist/cjs/index-g-uSeICs.js.map +1 -0
- package/dist/cjs/index.cjs.js +1 -1
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/cjs/mock-pds-modal.cjs.entry.js +3 -3
- package/dist/cjs/mock-pds-modal.cjs.entry.js.map +1 -1
- package/dist/cjs/mock-pds-modal.entry.cjs.js.map +1 -1
- package/dist/cjs/pds-accordion.cjs.entry.js +2 -2
- package/dist/cjs/pds-alert.cjs.entry.js +1 -1
- package/dist/cjs/pds-avatar.cjs.entry.js +2 -2
- package/dist/cjs/pds-box.cjs.entry.js +2 -2
- package/dist/cjs/pds-box.cjs.entry.js.map +1 -1
- package/dist/cjs/pds-box.entry.cjs.js.map +1 -1
- package/dist/cjs/pds-button.cjs.entry.js +3 -3
- package/dist/cjs/pds-button.cjs.entry.js.map +1 -1
- package/dist/cjs/pds-button.entry.cjs.js.map +1 -1
- package/dist/cjs/pds-checkbox.cjs.entry.js +3 -3
- package/dist/cjs/pds-checkbox.cjs.entry.js.map +1 -1
- package/dist/cjs/pds-checkbox.entry.cjs.js.map +1 -1
- package/dist/cjs/pds-chip.cjs.entry.js +2 -2
- package/dist/cjs/pds-chip.cjs.entry.js.map +1 -1
- package/dist/cjs/pds-chip.entry.cjs.js.map +1 -1
- package/dist/cjs/pds-combobox.cjs.entry.js +1717 -0
- package/dist/cjs/pds-combobox.cjs.entry.js.map +1 -0
- package/dist/cjs/pds-combobox.entry.cjs.js.map +1 -0
- package/dist/cjs/pds-copytext.cjs.entry.js +3 -3
- package/dist/cjs/pds-divider.cjs.entry.js +2 -2
- package/dist/cjs/pds-dropdown-menu-item.cjs.entry.js +2 -2
- package/dist/cjs/pds-dropdown-menu-separator.cjs.entry.js +2 -2
- package/dist/cjs/pds-dropdown-menu.cjs.entry.js +5 -1321
- package/dist/cjs/pds-dropdown-menu.cjs.entry.js.map +1 -1
- package/dist/cjs/pds-dropdown-menu.entry.cjs.js.map +1 -1
- package/dist/cjs/pds-icon.cjs.entry.js +149 -16
- package/dist/cjs/pds-icon.cjs.entry.js.map +1 -1
- package/dist/cjs/pds-icon.entry.cjs.js.map +1 -1
- package/dist/cjs/pds-image.cjs.entry.js +3 -3
- package/dist/cjs/pds-input.cjs.entry.js +68 -4
- package/dist/cjs/pds-input.cjs.entry.js.map +1 -1
- package/dist/cjs/pds-input.entry.cjs.js.map +1 -1
- package/dist/cjs/pds-link.cjs.entry.js +4 -4
- package/dist/cjs/pds-loader.cjs.entry.js +2 -2
- package/dist/cjs/pds-modal-content.cjs.entry.js +3 -3
- package/dist/cjs/pds-modal-footer.cjs.entry.js +2 -2
- package/dist/cjs/pds-modal-header.cjs.entry.js +2 -2
- package/dist/cjs/pds-modal.cjs.entry.js +4 -4
- package/dist/cjs/pds-modal.cjs.entry.js.map +1 -1
- package/dist/cjs/pds-modal.entry.cjs.js.map +1 -1
- package/dist/cjs/pds-popover.cjs.entry.js +2 -2
- package/dist/cjs/pds-progress.cjs.entry.js +2 -2
- package/dist/cjs/pds-property.cjs.entry.js +24 -0
- package/dist/cjs/pds-property.cjs.entry.js.map +1 -0
- package/dist/cjs/pds-property.entry.cjs.js.map +1 -0
- package/dist/cjs/pds-radio.cjs.entry.js +6 -6
- package/dist/cjs/pds-radio.cjs.entry.js.map +1 -1
- package/dist/cjs/pds-radio.entry.cjs.js.map +1 -1
- package/dist/cjs/pds-row.cjs.entry.js +2 -2
- package/dist/cjs/pds-select.cjs.entry.js +87 -4
- package/dist/cjs/pds-select.cjs.entry.js.map +1 -1
- package/dist/cjs/pds-select.entry.cjs.js.map +1 -1
- package/dist/cjs/pds-sortable-item.cjs.entry.js +3 -3
- package/dist/cjs/pds-sortable.cjs.entry.js +2 -2
- package/dist/cjs/pds-switch.cjs.entry.js +5 -5
- package/dist/cjs/pds-tab.cjs.entry.js +4 -4
- package/dist/cjs/pds-table-body.cjs.entry.js +2 -2
- package/dist/cjs/pds-table-cell.cjs.entry.js +3 -3
- package/dist/cjs/pds-table-head-cell.cjs.entry.js +4 -4
- package/dist/cjs/pds-table-head.cjs.entry.js +2 -2
- package/dist/cjs/pds-table-row.cjs.entry.js +2 -2
- package/dist/cjs/pds-table.cjs.entry.js +2 -2
- package/dist/cjs/pds-tabpanel.cjs.entry.js +2 -2
- package/dist/cjs/pds-tabs.cjs.entry.js +2 -2
- package/dist/cjs/pds-text.cjs.entry.js +2 -2
- package/dist/cjs/pds-text.cjs.entry.js.map +1 -1
- package/dist/cjs/pds-text.entry.cjs.js.map +1 -1
- package/dist/cjs/pds-textarea.cjs.entry.js +69 -7
- package/dist/cjs/pds-textarea.cjs.entry.js.map +1 -1
- package/dist/cjs/pds-textarea.entry.cjs.js.map +1 -1
- package/dist/cjs/pds-toast.cjs.entry.js +4 -4
- package/dist/cjs/pds-tooltip.cjs.entry.js +2 -2
- package/dist/cjs/pine-core.cjs.js +2 -2
- package/dist/collection/collection-manifest.json +2 -0
- package/dist/collection/components/pds-box/pds-box.css +1 -1
- package/dist/collection/components/pds-button/pds-button.css +3 -2
- package/dist/collection/components/pds-checkbox/pds-checkbox.css +1 -0
- package/dist/collection/components/pds-combobox/pds-combobox.css +223 -0
- package/dist/collection/components/pds-combobox/pds-combobox.js +783 -0
- package/dist/collection/components/pds-combobox/pds-combobox.js.map +1 -0
- package/dist/collection/components/pds-combobox/stories/pds-combobox.stories.js +194 -0
- package/dist/collection/components/pds-copytext/pds-copytext.js +1 -1
- package/dist/collection/components/pds-divider/pds-divider.js +1 -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.js +1 -1
- package/dist/collection/components/pds-image/pds-image.js +2 -2
- package/dist/collection/components/pds-input/pds-input.css +28 -7
- package/dist/collection/components/pds-input/pds-input.js +86 -1
- package/dist/collection/components/pds-input/pds-input.js.map +1 -1
- package/dist/collection/components/pds-input/stories/pds-input.stories.js +180 -71
- 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.css +1 -1
- package/dist/collection/components/pds-modal/pds-modal.js +2 -2
- package/dist/collection/components/pds-modal/test/mock-pds-modal.js +1 -1
- package/dist/collection/components/pds-popover/pds-popover.js +1 -1
- package/dist/collection/components/pds-progress/pds-progress.js +1 -1
- package/dist/collection/components/pds-property/pds-property.css +4 -0
- package/dist/collection/components/pds-property/pds-property.js +71 -0
- package/dist/collection/components/pds-property/pds-property.js.map +1 -0
- package/dist/collection/components/pds-property/stories/pds-property.stories.js +20 -0
- package/dist/collection/components/pds-radio/pds-radio.css +1 -0
- package/dist/collection/components/pds-radio/pds-radio.js +3 -3
- package/dist/collection/components/pds-row/pds-row.js +1 -1
- package/dist/collection/components/pds-select/pds-select.css +21 -2
- package/dist/collection/components/pds-select/pds-select.js +87 -1
- package/dist/collection/components/pds-select/pds-select.js.map +1 -1
- package/dist/collection/components/pds-select/stories/pds-select.stories.js +42 -0
- 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-table/pds-table.js +1 -1
- package/dist/collection/components/pds-tabs/pds-tab/pds-tab.js +3 -3
- package/dist/collection/components/pds-tabs/pds-tabpanel/pds-tabpanel.js +1 -1
- package/dist/collection/components/pds-tabs/pds-tabs.js +1 -1
- package/dist/collection/components/pds-text/pds-text.js +4 -1
- package/dist/collection/components/pds-text/pds-text.js.map +1 -1
- package/dist/collection/components/pds-textarea/pds-textarea.css +18 -0
- package/dist/collection/components/pds-textarea/pds-textarea.js +71 -5
- package/dist/collection/components/pds-textarea/pds-textarea.js.map +1 -1
- package/dist/collection/components/pds-textarea/stories/pds-textarea.stories.js +48 -1
- package/dist/collection/components/pds-toast/pds-toast.js +3 -3
- package/dist/collection/components/pds-tooltip/pds-tooltip.js +1 -1
- package/dist/docs.json +751 -37
- package/dist/esm/floating-ui.dom-D_FwyeSw.js +1321 -0
- package/dist/esm/floating-ui.dom-D_FwyeSw.js.map +1 -0
- package/dist/esm/{index-Uh5ntVcq.js → index-BVCWKPy3.js} +30 -2
- package/dist/esm/index-BVCWKPy3.js.map +1 -0
- package/dist/esm/{index-DpOSrebJ.js → index-CzVv99mW.js} +3 -3
- package/dist/{cjs/index-B0qLG6KJ.js.map → esm/index-CzVv99mW.js.map} +1 -1
- package/dist/esm/index.js +1 -1
- package/dist/esm/loader.js +3 -3
- package/dist/esm/mock-pds-modal.entry.js +3 -3
- package/dist/esm/mock-pds-modal.entry.js.map +1 -1
- package/dist/esm/pds-accordion.entry.js +2 -2
- package/dist/esm/pds-alert.entry.js +1 -1
- package/dist/esm/pds-avatar.entry.js +2 -2
- package/dist/esm/pds-box.entry.js +2 -2
- package/dist/esm/pds-box.entry.js.map +1 -1
- package/dist/esm/pds-button.entry.js +3 -3
- package/dist/esm/pds-button.entry.js.map +1 -1
- package/dist/esm/pds-checkbox.entry.js +3 -3
- package/dist/esm/pds-checkbox.entry.js.map +1 -1
- package/dist/esm/pds-chip.entry.js +2 -2
- package/dist/esm/pds-chip.entry.js.map +1 -1
- package/dist/esm/pds-combobox.entry.js +1715 -0
- package/dist/esm/pds-combobox.entry.js.map +1 -0
- package/dist/esm/pds-copytext.entry.js +3 -3
- package/dist/esm/pds-divider.entry.js +2 -2
- package/dist/esm/pds-dropdown-menu-item.entry.js +2 -2
- package/dist/esm/pds-dropdown-menu-separator.entry.js +2 -2
- package/dist/esm/pds-dropdown-menu.entry.js +3 -1319
- package/dist/esm/pds-dropdown-menu.entry.js.map +1 -1
- package/dist/esm/pds-icon.entry.js +149 -16
- package/dist/esm/pds-icon.entry.js.map +1 -1
- package/dist/esm/pds-image.entry.js +3 -3
- package/dist/esm/pds-input.entry.js +68 -4
- package/dist/esm/pds-input.entry.js.map +1 -1
- package/dist/esm/pds-link.entry.js +4 -4
- package/dist/esm/pds-loader.entry.js +2 -2
- package/dist/esm/pds-modal-content.entry.js +3 -3
- package/dist/esm/pds-modal-footer.entry.js +2 -2
- package/dist/esm/pds-modal-header.entry.js +2 -2
- package/dist/esm/pds-modal.entry.js +4 -4
- package/dist/esm/pds-modal.entry.js.map +1 -1
- package/dist/esm/pds-popover.entry.js +2 -2
- package/dist/esm/pds-progress.entry.js +2 -2
- package/dist/esm/pds-property.entry.js +22 -0
- package/dist/esm/pds-property.entry.js.map +1 -0
- package/dist/esm/pds-radio.entry.js +6 -6
- package/dist/esm/pds-radio.entry.js.map +1 -1
- package/dist/esm/pds-row.entry.js +2 -2
- package/dist/esm/pds-select.entry.js +87 -4
- package/dist/esm/pds-select.entry.js.map +1 -1
- package/dist/esm/pds-sortable-item.entry.js +3 -3
- package/dist/esm/pds-sortable.entry.js +2 -2
- package/dist/esm/pds-switch.entry.js +5 -5
- package/dist/esm/pds-tab.entry.js +4 -4
- package/dist/esm/pds-table-body.entry.js +2 -2
- package/dist/esm/pds-table-cell.entry.js +3 -3
- package/dist/esm/pds-table-head-cell.entry.js +4 -4
- package/dist/esm/pds-table-head.entry.js +2 -2
- package/dist/esm/pds-table-row.entry.js +2 -2
- package/dist/esm/pds-table.entry.js +2 -2
- package/dist/esm/pds-tabpanel.entry.js +2 -2
- package/dist/esm/pds-tabs.entry.js +2 -2
- package/dist/esm/pds-text.entry.js +2 -2
- package/dist/esm/pds-text.entry.js.map +1 -1
- package/dist/esm/pds-textarea.entry.js +69 -7
- package/dist/esm/pds-textarea.entry.js.map +1 -1
- package/dist/esm/pds-toast.entry.js +4 -4
- package/dist/esm/pds-tooltip.entry.js +2 -2
- package/dist/esm/pine-core.js +3 -3
- package/dist/esm-es5/floating-ui.dom-D_FwyeSw.js +2 -0
- package/dist/esm-es5/floating-ui.dom-D_FwyeSw.js.map +1 -0
- package/dist/esm-es5/index-BVCWKPy3.js +3 -0
- package/dist/esm-es5/index-BVCWKPy3.js.map +1 -0
- package/dist/esm-es5/{index-DpOSrebJ.js → index-CzVv99mW.js} +1 -1
- package/dist/esm-es5/{index-DpOSrebJ.js.map → index-CzVv99mW.js.map} +1 -1
- package/dist/esm-es5/index.js +1 -1
- package/dist/esm-es5/loader.js +1 -1
- package/dist/esm-es5/mock-pds-modal.entry.js +1 -1
- package/dist/esm-es5/mock-pds-modal.entry.js.map +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-box.entry.js.map +1 -1
- package/dist/esm-es5/pds-button.entry.js +1 -1
- package/dist/esm-es5/pds-button.entry.js.map +1 -1
- package/dist/esm-es5/pds-checkbox.entry.js +1 -1
- package/dist/esm-es5/pds-checkbox.entry.js.map +1 -1
- package/dist/esm-es5/pds-chip.entry.js +1 -1
- package/dist/esm-es5/pds-chip.entry.js.map +1 -1
- package/dist/esm-es5/pds-combobox.entry.js +3 -0
- package/dist/esm-es5/pds-combobox.entry.js.map +1 -0
- package/dist/esm-es5/pds-copytext.entry.js +1 -1
- package/dist/esm-es5/pds-divider.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-dropdown-menu.entry.js.map +1 -1
- package/dist/esm-es5/pds-icon.entry.js +1 -1
- package/dist/esm-es5/pds-icon.entry.js.map +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-input.entry.js.map +1 -1
- package/dist/esm-es5/pds-link.entry.js +1 -1
- package/dist/esm-es5/pds-loader.entry.js +1 -1
- package/dist/esm-es5/pds-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-modal.entry.js.map +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 +2 -0
- package/dist/esm-es5/pds-property.entry.js.map +1 -0
- package/dist/esm-es5/pds-radio.entry.js +1 -1
- package/dist/esm-es5/pds-radio.entry.js.map +1 -1
- package/dist/esm-es5/pds-row.entry.js +1 -1
- package/dist/esm-es5/pds-select.entry.js +1 -1
- package/dist/esm-es5/pds-select.entry.js.map +1 -1
- package/dist/esm-es5/pds-sortable-item.entry.js +1 -1
- package/dist/esm-es5/pds-sortable.entry.js +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-text.entry.js.map +1 -1
- package/dist/esm-es5/pds-textarea.entry.js +1 -1
- package/dist/esm-es5/pds-textarea.entry.js.map +1 -1
- package/dist/esm-es5/pds-toast.entry.js +1 -1
- package/dist/esm-es5/pds-tooltip.entry.js +1 -1
- package/dist/esm-es5/pine-core.js +1 -1
- package/dist/pine-core/index.esm.js +1 -1
- package/dist/pine-core/mock-pds-modal.entry.esm.js.map +1 -1
- package/dist/pine-core/{p-99b5e1a5.entry.js → p-0066d249.entry.js} +2 -2
- package/dist/pine-core/{p-6a7936e7.system.entry.js → p-0199e3e9.system.entry.js} +2 -2
- package/dist/pine-core/{p-ab7e4700.system.entry.js → p-03d17841.system.entry.js} +2 -2
- package/dist/pine-core/p-03d17841.system.entry.js.map +1 -0
- package/dist/pine-core/{p-ef9ed75a.system.entry.js → p-051ff780.system.entry.js} +2 -2
- package/dist/pine-core/{p-04195bdb.entry.js → p-064e3d73.entry.js} +2 -2
- package/dist/pine-core/p-075eecf9.entry.js +2 -0
- package/dist/pine-core/p-075eecf9.entry.js.map +1 -0
- package/dist/pine-core/p-088828ce.entry.js +2 -0
- package/dist/pine-core/p-088828ce.entry.js.map +1 -0
- package/dist/pine-core/p-0a4fc9c7.entry.js +3 -0
- package/dist/pine-core/p-0a4fc9c7.entry.js.map +1 -0
- package/dist/pine-core/{p-d0adaca0.system.entry.js → p-0d8a2a39.system.entry.js} +2 -2
- package/dist/pine-core/{p-b2820acd.entry.js → p-0dbb2ae9.entry.js} +2 -2
- package/dist/pine-core/{p-1d395d27.entry.js → p-11d4036e.entry.js} +2 -2
- package/dist/pine-core/{p-0a11384e.entry.js → p-126197e5.entry.js} +2 -2
- package/dist/pine-core/{p-60fbeb1c.entry.js → p-13ac0852.entry.js} +2 -2
- package/dist/pine-core/{p-065208a1.system.entry.js → p-14b424ab.system.entry.js} +2 -2
- package/dist/pine-core/p-14b424ab.system.entry.js.map +1 -0
- package/dist/pine-core/{p-76e35041.entry.js → p-17c2f3fb.entry.js} +2 -2
- package/dist/pine-core/{p-833b2170.system.entry.js → p-1858ad6d.system.entry.js} +2 -2
- package/dist/pine-core/{p-8180b641.entry.js → p-1a5e79af.entry.js} +2 -2
- package/dist/pine-core/p-209b1d69.entry.js +2 -0
- package/dist/pine-core/p-209b1d69.entry.js.map +1 -0
- package/dist/pine-core/{p-aeaae417.system.entry.js → p-276a6a8b.system.entry.js} +2 -2
- package/dist/pine-core/p-2aad0209.system.entry.js +2 -0
- package/dist/pine-core/p-2aad0209.system.entry.js.map +1 -0
- package/dist/pine-core/{p-07f45626.entry.js → p-2b48499b.entry.js} +2 -2
- package/dist/pine-core/p-2fb60757.system.entry.js +2 -0
- package/dist/pine-core/{p-BcuE4ZrB.system.js.map → p-2kXtbFXu.system.js.map} +1 -1
- package/dist/pine-core/p-33016dd0.entry.js +2 -0
- package/dist/pine-core/p-33016dd0.entry.js.map +1 -0
- package/dist/pine-core/{p-942fa145.system.entry.js → p-39488f2c.system.entry.js} +2 -2
- package/dist/pine-core/{p-78f29270.entry.js → p-3e6229cc.entry.js} +3 -3
- package/dist/pine-core/{p-7bb3a5d4.system.entry.js → p-3f83d4c4.system.entry.js} +2 -2
- package/dist/pine-core/{p-79cb7835.system.entry.js → p-4066a9c0.system.entry.js} +2 -2
- package/dist/pine-core/{p-79cb7835.system.entry.js.map → p-4066a9c0.system.entry.js.map} +1 -1
- package/dist/pine-core/{p-27c0ffda.system.entry.js → p-41bf807f.system.entry.js} +2 -2
- package/dist/pine-core/{p-c1909a5d.system.entry.js → p-487552a9.system.entry.js} +2 -2
- package/dist/pine-core/{p-10e2feff.entry.js → p-4e5b9d19.entry.js} +2 -2
- package/dist/pine-core/{p-111e7da2.system.entry.js → p-51d83489.system.entry.js} +2 -2
- package/dist/pine-core/{p-86329612.entry.js → p-51e463bf.entry.js} +2 -2
- package/dist/pine-core/{p-86329612.entry.js.map → p-51e463bf.entry.js.map} +1 -1
- package/dist/pine-core/{p-f4fff209.system.entry.js → p-52af1890.system.entry.js} +2 -2
- package/dist/pine-core/p-55bf6be2.system.entry.js +2 -0
- package/dist/pine-core/p-568296f0.system.entry.js +2 -0
- package/dist/pine-core/p-568296f0.system.entry.js.map +1 -0
- package/dist/pine-core/{p-47a7a65b.entry.js → p-5a709348.entry.js} +2 -2
- package/dist/pine-core/{p-13481ef5.system.entry.js → p-5c87077e.system.entry.js} +2 -2
- package/dist/pine-core/p-5c87077e.system.entry.js.map +1 -0
- package/dist/pine-core/{p-3ea415b0.entry.js → p-63ef55dd.entry.js} +2 -2
- package/dist/pine-core/{p-3ea415b0.entry.js.map → p-63ef55dd.entry.js.map} +1 -1
- package/dist/pine-core/{p-0a87e2fc.system.entry.js → p-6438a29d.system.entry.js} +2 -2
- package/dist/pine-core/p-66b10d29.entry.js +2 -0
- package/dist/pine-core/p-69e95bc4.system.entry.js +2 -0
- package/dist/pine-core/p-69e95bc4.system.entry.js.map +1 -0
- package/dist/pine-core/{p-96e9774e.system.entry.js → p-6cc09a2f.system.entry.js} +2 -2
- package/dist/pine-core/p-6cc09a2f.system.entry.js.map +1 -0
- package/dist/pine-core/{p-d6d453d8.system.entry.js → p-6d601fc2.system.entry.js} +2 -2
- package/dist/pine-core/{p-ddcc4932.entry.js → p-6fd385ec.entry.js} +2 -2
- package/dist/pine-core/{p-5a437fcd.system.entry.js → p-7a95a90f.system.entry.js} +2 -2
- package/dist/pine-core/{p-d28768d1.entry.js → p-7c867f1b.entry.js} +2 -2
- package/dist/pine-core/p-7de61adb.entry.js +2 -0
- package/dist/pine-core/p-7de61adb.entry.js.map +1 -0
- package/dist/pine-core/{p-c5e1ed09.system.entry.js → p-7eb4ac7c.system.entry.js} +2 -2
- package/dist/pine-core/{p-c551191a.system.entry.js → p-81a28f54.system.entry.js} +2 -2
- package/dist/pine-core/{p-73412ca9.system.entry.js → p-81cf9a46.system.entry.js} +2 -2
- package/dist/pine-core/p-81cf9a46.system.entry.js.map +1 -0
- package/dist/pine-core/p-89d9f273.system.entry.js +4 -0
- package/dist/pine-core/p-89d9f273.system.entry.js.map +1 -0
- package/dist/pine-core/p-8a02c581.entry.js +2 -0
- package/dist/pine-core/p-8a02c581.entry.js.map +1 -0
- package/dist/pine-core/{p-fdf3a5ff.entry.js → p-8cb99f2f.entry.js} +2 -2
- package/dist/pine-core/{p-d35b3494.entry.js → p-91c6bd68.entry.js} +2 -2
- package/dist/pine-core/{p-fb2fb435.entry.js → p-94982c57.entry.js} +2 -2
- package/dist/pine-core/{p-8f06b020.entry.js → p-978e722a.entry.js} +2 -2
- package/dist/pine-core/{p-959c8247.system.entry.js → p-9860d0a8.system.entry.js} +2 -2
- package/dist/pine-core/{p-78327c08.system.entry.js → p-9afcab0c.system.entry.js} +2 -2
- package/dist/pine-core/{p-PkSWq78_.system.js.map → p-ACQU83St.system.js.map} +1 -1
- package/dist/pine-core/{p-PPIMiuZX.system.js.map → p-B4ww2WM0.system.js.map} +1 -1
- package/dist/pine-core/{p-C0oRS1F9.system.js.map → p-B6IFMveo.system.js.map} +1 -1
- package/dist/pine-core/{p-B2gfQpwn.system.js.map → p-B7S-9dbT.system.js.map} +1 -1
- package/dist/pine-core/{p-BPQAcMLl.system.js.map → p-BCZ4LK15.system.js.map} +1 -1
- package/dist/pine-core/{p-EqAbQY8l.system.js.map → p-BDQFLOLJ.system.js.map} +1 -1
- package/dist/pine-core/{p-CNkajx9x.system.js.map → p-BEky6idI.system.js.map} +1 -1
- package/dist/pine-core/p-BGbUqsWH.system.js +2 -0
- package/dist/pine-core/p-BGbUqsWH.system.js.map +1 -0
- package/dist/pine-core/p-BVCWKPy3.js +3 -0
- package/dist/pine-core/p-BVCWKPy3.js.map +1 -0
- package/dist/pine-core/p-BY7O1nGC.system.js.map +1 -0
- package/dist/pine-core/p-B_C-mRjx.system.js +3 -0
- package/dist/pine-core/p-B_C-mRjx.system.js.map +1 -0
- package/dist/pine-core/{p-BISuGf0f.system.js.map → p-B_c-HOvq.system.js.map} +1 -1
- package/dist/pine-core/{p-BHp2IZGP.system.js.map → p-Bw9e5h_G.system.js.map} +1 -1
- package/dist/pine-core/{p-DgTp_KeO.system.js.map → p-C36pvE-A.system.js.map} +1 -1
- package/dist/pine-core/p-C3lnYhcV.system.js.map +1 -0
- package/dist/pine-core/{p-BEYGfY83.system.js.map → p-C5Wo1bN2.system.js.map} +1 -1
- package/dist/pine-core/{p-CcsZC7UR.system.js.map → p-C5Y492i0.system.js.map} +1 -1
- package/dist/pine-core/p-CG_aggl0.system.js.map +1 -0
- package/dist/pine-core/{p-DGyATOIf.system.js.map → p-CMLxdmO2.system.js.map} +1 -1
- package/dist/pine-core/{p-UhZHDNH2.system.js.map → p-CNOeJ6ra.system.js.map} +1 -1
- package/dist/pine-core/p-CXLBzkzl.system.js.map +1 -0
- package/dist/pine-core/p-CaD_7MzD.system.js.map +1 -0
- package/dist/pine-core/{p-CNYB6FL-.system.js.map → p-CbDQeXQ4.system.js.map} +1 -1
- package/dist/pine-core/{p-BxBtA60x.system.js.map → p-CbQ4EQA9.system.js.map} +1 -1
- package/dist/pine-core/p-Ce_XeYF6.system.js.map +1 -0
- package/dist/pine-core/{p-B5JFBYFw.system.js.map → p-ChslVme6.system.js.map} +1 -1
- package/dist/pine-core/p-CnDggyDA.system.js.map +1 -0
- package/dist/pine-core/{p-C2d75seA.system.js.map → p-CoHBlcHu.system.js.map} +1 -1
- package/dist/pine-core/p-CqzGa2j0.system.js.map +1 -0
- package/dist/pine-core/{p-DpOSrebJ.js → p-CzVv99mW.js} +1 -1
- package/dist/pine-core/{p-DpOSrebJ.js.map → p-CzVv99mW.js.map} +1 -1
- package/dist/pine-core/{p-CTWkFhWu.system.js.map → p-DCdSlcTO.system.js.map} +1 -1
- package/dist/pine-core/p-DJu23j_m.system.js.map +1 -0
- package/dist/pine-core/{p-CIc_XeAg.system.js.map → p-DKuFjXiD.system.js.map} +1 -1
- package/dist/pine-core/{p-CTPMEWZT.system.js.map → p-DMNp4slx.system.js.map} +1 -1
- package/dist/pine-core/{p--YvWqEjm.system.js.map → p-DQnK6lQ2.system.js.map} +1 -1
- package/dist/pine-core/{p-ClVQjta4.system.js.map → p-DRqkTTfb.system.js.map} +1 -1
- package/dist/pine-core/{p-3D0orTx_.system.js.map → p-DXuK7cEc.system.js.map} +1 -1
- package/dist/pine-core/{p-B-hSZadO.system.js.map → p-DYb5Y47j.system.js.map} +1 -1
- package/dist/pine-core/p-D_FwyeSw.js +2 -0
- package/dist/pine-core/p-D_FwyeSw.js.map +1 -0
- package/dist/pine-core/{p-CGABEyvz.system.js.map → p-DdEbUZw3.system.js.map} +1 -1
- package/dist/pine-core/p-De9tROL-.system.js +2 -0
- package/dist/pine-core/{p-BsL2GDnH.system.js.map → p-De9tROL-.system.js.map} +1 -1
- package/dist/pine-core/{p-DyDReOdO.system.js → p-DiBM9O5Q.system.js} +1 -1
- package/dist/pine-core/{p-DyDReOdO.system.js.map → p-DiBM9O5Q.system.js.map} +1 -1
- package/dist/pine-core/{p-CkoeYrxa.system.js.map → p-Dm_a1Ag0.system.js.map} +1 -1
- package/dist/pine-core/{p-A4_UN20E.system.js.map → p-DvZWnvRb.system.js.map} +1 -1
- package/dist/pine-core/{p-BwHnCFqU.system.js.map → p-EytFbMH4.system.js.map} +1 -1
- package/dist/pine-core/{p-BaAcO8Mz.system.js.map → p-PgQPKVDh.system.js.map} +1 -1
- package/dist/pine-core/p-REBgf8JA.system.js.map +1 -0
- package/dist/pine-core/{p-Mqxw-gWj.system.js.map → p-XHvXi3U6.system.js.map} +1 -1
- package/dist/pine-core/p-ZCkmy1Gu.system.js +2 -0
- package/dist/pine-core/p-ZCkmy1Gu.system.js.map +1 -0
- package/dist/pine-core/p-a54f1d9e.entry.js +2 -0
- package/dist/pine-core/{p-a52b1413.entry.js.map → p-a54f1d9e.entry.js.map} +1 -1
- package/dist/pine-core/p-a7204f01.entry.js +2 -0
- package/dist/pine-core/p-aafb6e06.system.entry.js +2 -0
- package/dist/pine-core/p-aafb6e06.system.entry.js.map +1 -0
- package/dist/pine-core/{p-f46c4618.system.entry.js → p-adf2449e.system.entry.js} +2 -2
- package/dist/pine-core/{p-a556a328.system.entry.js → p-b2b405ca.system.entry.js} +3 -3
- package/dist/pine-core/p-b956922a.entry.js +2 -0
- package/dist/pine-core/p-b956922a.entry.js.map +1 -0
- package/dist/pine-core/{p-a98cda38.system.entry.js → p-b9fe17b8.system.entry.js} +2 -2
- package/dist/pine-core/{p-f256dd8a.entry.js → p-bfd08c9c.entry.js} +2 -2
- package/dist/pine-core/p-bfd08c9c.entry.js.map +1 -0
- package/dist/pine-core/p-c1099665.system.entry.js +2 -0
- package/dist/pine-core/{p-de550d9e.system.entry.js → p-c1115d78.system.entry.js} +2 -2
- package/dist/pine-core/{p-51cc93b3.entry.js → p-c16d01cc.entry.js} +2 -2
- package/dist/pine-core/{p-8b6b0db7.entry.js → p-c1a1475e.entry.js} +2 -2
- package/dist/pine-core/p-c1a1475e.entry.js.map +1 -0
- package/dist/pine-core/{p-80f36506.entry.js → p-c1f5148f.entry.js} +2 -2
- package/dist/pine-core/p-c1f5148f.entry.js.map +1 -0
- package/dist/pine-core/{p-9c01e81b.system.entry.js → p-c3f32f26.system.entry.js} +2 -2
- package/dist/pine-core/{p-9c01e81b.system.entry.js.map → p-c3f32f26.system.entry.js.map} +1 -1
- package/dist/pine-core/p-c652847a.entry.js +2 -0
- package/dist/pine-core/{p-44f10d3c.entry.js → p-c82c277f.entry.js} +2 -2
- package/dist/pine-core/p-c82d0a99.entry.js +2 -0
- package/dist/pine-core/p-cHtb875x.system.js.map +1 -0
- package/dist/pine-core/p-ce0d9f05.system.entry.js +2 -0
- package/dist/pine-core/p-cf5506db.system.entry.js +2 -0
- package/dist/pine-core/p-d06351b9.system.entry.js +2 -0
- package/dist/pine-core/p-d06351b9.system.entry.js.map +1 -0
- package/dist/pine-core/{p-4b2aab79.system.entry.js → p-d08ecd18.system.entry.js} +2 -2
- package/dist/pine-core/p-d6d87fbc.system.entry.js +2 -0
- package/dist/pine-core/p-d6d87fbc.system.entry.js.map +1 -0
- package/dist/pine-core/{p-19c01019.entry.js → p-df15e16a.entry.js} +2 -2
- package/dist/pine-core/p-e05135c5.entry.js +2 -0
- package/dist/pine-core/{p-f99c59a8.entry.js → p-e30601a6.entry.js} +2 -2
- package/dist/pine-core/p-e3fb0bc2.system.entry.js +2 -0
- package/dist/pine-core/p-e3fb0bc2.system.entry.js.map +1 -0
- package/dist/pine-core/{p-5c4aceb7.entry.js → p-e8d76117.entry.js} +2 -2
- package/dist/pine-core/{p-2007a0b5.entry.js → p-ed94947b.entry.js} +2 -2
- package/dist/pine-core/{p-bf699bad.entry.js → p-f2da93ea.entry.js} +2 -2
- package/dist/pine-core/p-f2da93ea.entry.js.map +1 -0
- package/dist/pine-core/{p-d553e05c.system.entry.js → p-f647c1af.system.entry.js} +2 -2
- package/dist/pine-core/{p-cc21ddcc.system.entry.js → p-f9bd0bc2.system.entry.js} +2 -2
- package/dist/pine-core/{p-f6b226df.entry.js → p-fcdbb73f.entry.js} +2 -2
- package/dist/pine-core/p-fcdbb73f.entry.js.map +1 -0
- package/dist/pine-core/{p-DVhX1_nD.system.js.map → p-lMetQ5Q0.system.js.map} +1 -1
- package/dist/pine-core/{p-D2UtaGL2.system.js.map → p-pm8ElBzm.system.js.map} +1 -1
- package/dist/pine-core/p-qjvXmIGJ.system.js.map +1 -0
- package/dist/pine-core/pds-box.entry.esm.js.map +1 -1
- package/dist/pine-core/pds-button.entry.esm.js.map +1 -1
- package/dist/pine-core/pds-checkbox.entry.esm.js.map +1 -1
- package/dist/pine-core/pds-chip.entry.esm.js.map +1 -1
- package/dist/pine-core/pds-combobox.entry.esm.js.map +1 -0
- package/dist/pine-core/pds-dropdown-menu.entry.esm.js.map +1 -1
- package/dist/pine-core/pds-icon.entry.esm.js.map +1 -1
- package/dist/pine-core/pds-input.entry.esm.js.map +1 -1
- package/dist/pine-core/pds-modal.entry.esm.js.map +1 -1
- package/dist/pine-core/pds-property.entry.esm.js.map +1 -0
- package/dist/pine-core/pds-radio.entry.esm.js.map +1 -1
- package/dist/pine-core/pds-select.entry.esm.js.map +1 -1
- package/dist/pine-core/pds-text.entry.esm.js.map +1 -1
- package/dist/pine-core/pds-textarea.entry.esm.js.map +1 -1
- package/dist/pine-core/pine-core.esm.js +1 -1
- package/dist/pine-core/pine-core.js +1 -1
- package/dist/types/components/pds-combobox/pds-combobox.d.ts +153 -0
- package/dist/types/components/pds-input/pds-input.d.ts +28 -0
- package/dist/types/components/pds-property/pds-property.d.ts +14 -0
- package/dist/types/components/pds-select/pds-select.d.ts +24 -0
- package/dist/types/components/pds-text/pds-text.d.ts +3 -0
- package/dist/types/components/pds-textarea/pds-textarea.d.ts +25 -0
- package/dist/types/components.d.ts +213 -0
- package/hydrate/index.js +2409 -239
- package/hydrate/index.mjs +2409 -239
- package/package.json +4 -2
- package/dist/cjs/index-CxX7ua5d.js.map +0 -1
- package/dist/esm/index-Uh5ntVcq.js.map +0 -1
- package/dist/esm-es5/index-Uh5ntVcq.js +0 -3
- package/dist/esm-es5/index-Uh5ntVcq.js.map +0 -1
- package/dist/pine-core/p-00599bd8.entry.js +0 -2
- package/dist/pine-core/p-00599bd8.entry.js.map +0 -1
- package/dist/pine-core/p-03d8cb4c.system.entry.js +0 -2
- package/dist/pine-core/p-065208a1.system.entry.js.map +0 -1
- package/dist/pine-core/p-0c30661b.system.entry.js +0 -2
- package/dist/pine-core/p-13481ef5.system.entry.js.map +0 -1
- package/dist/pine-core/p-35917a1a.entry.js +0 -2
- package/dist/pine-core/p-39a31730.system.entry.js +0 -2
- package/dist/pine-core/p-39a31730.system.entry.js.map +0 -1
- package/dist/pine-core/p-3e91dccd.entry.js +0 -2
- package/dist/pine-core/p-3e91dccd.entry.js.map +0 -1
- package/dist/pine-core/p-513c16c7.entry.js +0 -2
- package/dist/pine-core/p-513c16c7.entry.js.map +0 -1
- package/dist/pine-core/p-5367f477.system.entry.js +0 -2
- package/dist/pine-core/p-593df966.system.entry.js +0 -2
- package/dist/pine-core/p-593df966.system.entry.js.map +0 -1
- package/dist/pine-core/p-5acda4ac.system.entry.js +0 -2
- package/dist/pine-core/p-5acda4ac.system.entry.js.map +0 -1
- package/dist/pine-core/p-5e1e7762.entry.js +0 -2
- package/dist/pine-core/p-624db3d6.system.entry.js +0 -2
- package/dist/pine-core/p-624db3d6.system.entry.js.map +0 -1
- package/dist/pine-core/p-65a875f6.entry.js +0 -2
- package/dist/pine-core/p-73412ca9.system.entry.js.map +0 -1
- package/dist/pine-core/p-76f7cf21.entry.js +0 -2
- package/dist/pine-core/p-80f36506.entry.js.map +0 -1
- package/dist/pine-core/p-8b6b0db7.entry.js.map +0 -1
- package/dist/pine-core/p-96e9774e.system.entry.js.map +0 -1
- package/dist/pine-core/p-9db1f179.entry.js +0 -2
- package/dist/pine-core/p-9db1f179.entry.js.map +0 -1
- package/dist/pine-core/p-B5LBNcOw.system.js.map +0 -1
- package/dist/pine-core/p-BE1qV1Jc.system.js.map +0 -1
- package/dist/pine-core/p-BHZ6CSg4.system.js.map +0 -1
- package/dist/pine-core/p-BsL2GDnH.system.js +0 -2
- package/dist/pine-core/p-C3ud771n.system.js.map +0 -1
- package/dist/pine-core/p-CS2nVL5p.system.js.map +0 -1
- package/dist/pine-core/p-C_8VmA8d.system.js +0 -3
- package/dist/pine-core/p-C_8VmA8d.system.js.map +0 -1
- package/dist/pine-core/p-CdzfTGbZ.system.js.map +0 -1
- package/dist/pine-core/p-CuIq_L5Z.system.js +0 -2
- package/dist/pine-core/p-CuIq_L5Z.system.js.map +0 -1
- package/dist/pine-core/p-DMeT5CsE.system.js.map +0 -1
- package/dist/pine-core/p-DeW-6a7f.system.js.map +0 -1
- package/dist/pine-core/p-DjXmy34u.system.js.map +0 -1
- package/dist/pine-core/p-Ke8SGZqs.system.js.map +0 -1
- package/dist/pine-core/p-Uh5ntVcq.js +0 -3
- package/dist/pine-core/p-Uh5ntVcq.js.map +0 -1
- package/dist/pine-core/p-a52b1413.entry.js +0 -2
- package/dist/pine-core/p-ab7e4700.system.entry.js.map +0 -1
- package/dist/pine-core/p-bf699bad.entry.js.map +0 -1
- package/dist/pine-core/p-dcda4ff5.system.entry.js +0 -2
- package/dist/pine-core/p-dfd5a5b6.system.entry.js +0 -2
- package/dist/pine-core/p-dfd5a5b6.system.entry.js.map +0 -1
- package/dist/pine-core/p-e562ad73.system.entry.js +0 -2
- package/dist/pine-core/p-e562ad73.system.entry.js.map +0 -1
- package/dist/pine-core/p-e9f004c5.entry.js +0 -2
- package/dist/pine-core/p-e9f004c5.entry.js.map +0 -1
- package/dist/pine-core/p-f256dd8a.entry.js.map +0 -1
- package/dist/pine-core/p-f6b226df.entry.js.map +0 -1
- package/dist/pine-core/p-fb1eb0c4.entry.js +0 -2
- package/dist/pine-core/p-fb1eb0c4.entry.js.map +0 -1
- package/dist/pine-core/p-fd1ef1e1.entry.js +0 -2
- package/dist/pine-core/p-fed5f55e.system.entry.js +0 -2
- /package/dist/pine-core/{p-99b5e1a5.entry.js.map → p-0066d249.entry.js.map} +0 -0
- /package/dist/pine-core/{p-6a7936e7.system.entry.js.map → p-0199e3e9.system.entry.js.map} +0 -0
- /package/dist/pine-core/{p-ef9ed75a.system.entry.js.map → p-051ff780.system.entry.js.map} +0 -0
- /package/dist/pine-core/{p-04195bdb.entry.js.map → p-064e3d73.entry.js.map} +0 -0
- /package/dist/pine-core/{p-d0adaca0.system.entry.js.map → p-0d8a2a39.system.entry.js.map} +0 -0
- /package/dist/pine-core/{p-b2820acd.entry.js.map → p-0dbb2ae9.entry.js.map} +0 -0
- /package/dist/pine-core/{p-1d395d27.entry.js.map → p-11d4036e.entry.js.map} +0 -0
- /package/dist/pine-core/{p-0a11384e.entry.js.map → p-126197e5.entry.js.map} +0 -0
- /package/dist/pine-core/{p-60fbeb1c.entry.js.map → p-13ac0852.entry.js.map} +0 -0
- /package/dist/pine-core/{p-76e35041.entry.js.map → p-17c2f3fb.entry.js.map} +0 -0
- /package/dist/pine-core/{p-833b2170.system.entry.js.map → p-1858ad6d.system.entry.js.map} +0 -0
- /package/dist/pine-core/{p-8180b641.entry.js.map → p-1a5e79af.entry.js.map} +0 -0
- /package/dist/pine-core/{p-aeaae417.system.entry.js.map → p-276a6a8b.system.entry.js.map} +0 -0
- /package/dist/pine-core/{p-07f45626.entry.js.map → p-2b48499b.entry.js.map} +0 -0
- /package/dist/pine-core/{p-5367f477.system.entry.js.map → p-2fb60757.system.entry.js.map} +0 -0
- /package/dist/pine-core/{p-942fa145.system.entry.js.map → p-39488f2c.system.entry.js.map} +0 -0
- /package/dist/pine-core/{p-78f29270.entry.js.map → p-3e6229cc.entry.js.map} +0 -0
- /package/dist/pine-core/{p-7bb3a5d4.system.entry.js.map → p-3f83d4c4.system.entry.js.map} +0 -0
- /package/dist/pine-core/{p-27c0ffda.system.entry.js.map → p-41bf807f.system.entry.js.map} +0 -0
- /package/dist/pine-core/{p-c1909a5d.system.entry.js.map → p-487552a9.system.entry.js.map} +0 -0
- /package/dist/pine-core/{p-10e2feff.entry.js.map → p-4e5b9d19.entry.js.map} +0 -0
- /package/dist/pine-core/{p-111e7da2.system.entry.js.map → p-51d83489.system.entry.js.map} +0 -0
- /package/dist/pine-core/{p-f4fff209.system.entry.js.map → p-52af1890.system.entry.js.map} +0 -0
- /package/dist/pine-core/{p-fed5f55e.system.entry.js.map → p-55bf6be2.system.entry.js.map} +0 -0
- /package/dist/pine-core/{p-47a7a65b.entry.js.map → p-5a709348.entry.js.map} +0 -0
- /package/dist/pine-core/{p-0a87e2fc.system.entry.js.map → p-6438a29d.system.entry.js.map} +0 -0
- /package/dist/pine-core/{p-5e1e7762.entry.js.map → p-66b10d29.entry.js.map} +0 -0
- /package/dist/pine-core/{p-d6d453d8.system.entry.js.map → p-6d601fc2.system.entry.js.map} +0 -0
- /package/dist/pine-core/{p-ddcc4932.entry.js.map → p-6fd385ec.entry.js.map} +0 -0
- /package/dist/pine-core/{p-5a437fcd.system.entry.js.map → p-7a95a90f.system.entry.js.map} +0 -0
- /package/dist/pine-core/{p-d28768d1.entry.js.map → p-7c867f1b.entry.js.map} +0 -0
- /package/dist/pine-core/{p-c5e1ed09.system.entry.js.map → p-7eb4ac7c.system.entry.js.map} +0 -0
- /package/dist/pine-core/{p-c551191a.system.entry.js.map → p-81a28f54.system.entry.js.map} +0 -0
- /package/dist/pine-core/{p-fdf3a5ff.entry.js.map → p-8cb99f2f.entry.js.map} +0 -0
- /package/dist/pine-core/{p-d35b3494.entry.js.map → p-91c6bd68.entry.js.map} +0 -0
- /package/dist/pine-core/{p-fb2fb435.entry.js.map → p-94982c57.entry.js.map} +0 -0
- /package/dist/pine-core/{p-8f06b020.entry.js.map → p-978e722a.entry.js.map} +0 -0
- /package/dist/pine-core/{p-959c8247.system.entry.js.map → p-9860d0a8.system.entry.js.map} +0 -0
- /package/dist/pine-core/{p-78327c08.system.entry.js.map → p-9afcab0c.system.entry.js.map} +0 -0
- /package/dist/pine-core/{p-35917a1a.entry.js.map → p-a7204f01.entry.js.map} +0 -0
- /package/dist/pine-core/{p-f46c4618.system.entry.js.map → p-adf2449e.system.entry.js.map} +0 -0
- /package/dist/pine-core/{p-a556a328.system.entry.js.map → p-b2b405ca.system.entry.js.map} +0 -0
- /package/dist/pine-core/{p-a98cda38.system.entry.js.map → p-b9fe17b8.system.entry.js.map} +0 -0
- /package/dist/pine-core/{p-03d8cb4c.system.entry.js.map → p-c1099665.system.entry.js.map} +0 -0
- /package/dist/pine-core/{p-de550d9e.system.entry.js.map → p-c1115d78.system.entry.js.map} +0 -0
- /package/dist/pine-core/{p-51cc93b3.entry.js.map → p-c16d01cc.entry.js.map} +0 -0
- /package/dist/pine-core/{p-76f7cf21.entry.js.map → p-c652847a.entry.js.map} +0 -0
- /package/dist/pine-core/{p-44f10d3c.entry.js.map → p-c82c277f.entry.js.map} +0 -0
- /package/dist/pine-core/{p-65a875f6.entry.js.map → p-c82d0a99.entry.js.map} +0 -0
- /package/dist/pine-core/{p-0c30661b.system.entry.js.map → p-ce0d9f05.system.entry.js.map} +0 -0
- /package/dist/pine-core/{p-dcda4ff5.system.entry.js.map → p-cf5506db.system.entry.js.map} +0 -0
- /package/dist/pine-core/{p-4b2aab79.system.entry.js.map → p-d08ecd18.system.entry.js.map} +0 -0
- /package/dist/pine-core/{p-19c01019.entry.js.map → p-df15e16a.entry.js.map} +0 -0
- /package/dist/pine-core/{p-fd1ef1e1.entry.js.map → p-e05135c5.entry.js.map} +0 -0
- /package/dist/pine-core/{p-f99c59a8.entry.js.map → p-e30601a6.entry.js.map} +0 -0
- /package/dist/pine-core/{p-5c4aceb7.entry.js.map → p-e8d76117.entry.js.map} +0 -0
- /package/dist/pine-core/{p-2007a0b5.entry.js.map → p-ed94947b.entry.js.map} +0 -0
- /package/dist/pine-core/{p-d553e05c.system.entry.js.map → p-f647c1af.system.entry.js.map} +0 -0
- /package/dist/pine-core/{p-cc21ddcc.system.entry.js.map → p-f9bd0bc2.system.entry.js.map} +0 -0
package/hydrate/index.mjs
CHANGED
|
@@ -3071,7 +3071,7 @@ var registerHost = (elm, cmpMeta) => {
|
|
|
3071
3071
|
};
|
|
3072
3072
|
var styles = /* @__PURE__ */ new Map();
|
|
3073
3073
|
|
|
3074
|
-
const pdsModalCss$1 = ".pds-modal__backdrop{-ms-flex-align:start;align-items:flex-start;background-color:rgba(0, 0, 0, 0.4);border:0;display:-ms-flexbox;display:flex;height:100%;inset:0;-ms-flex-pack:center;justify-content:center;margin:0;max-height:100%;max-width:100%;opacity:0;padding:0;position:fixed;-webkit-transition:opacity 0.2s ease, visibility 0.2s ease;transition:opacity 0.2s ease, visibility 0.2s ease;visibility:hidden;width:100%;z-index:1000}@supports ((-webkit-backdrop-filter: blur(3px)) or (backdrop-filter: blur(3px))){.pds-modal__backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}}pds-modal .pds-modal__backdrop{z-index:1001}.pds-modal__backdrop::-webkit-backdrop{background:transparent}.pds-modal__backdrop::-ms-backdrop{background:transparent}.pds-modal__backdrop::backdrop{background:transparent}.pds-modal__backdrop.open{opacity:1;visibility:visible}.pds-modal{background:var(--pine-color-background-container);border-radius:var(--pine-dimension-sm);-webkit-box-shadow:var(--pine-box-shadow-400);box-shadow:var(--pine-box-shadow-400);display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;margin:var(--pine-dimension-md);max-height:calc(100vh - (
|
|
3074
|
+
const pdsModalCss$1 = ".pds-modal__backdrop{-ms-flex-align:start;align-items:flex-start;background-color:rgba(0, 0, 0, 0.4);border:0;display:-ms-flexbox;display:flex;height:100%;inset:0;-ms-flex-pack:center;justify-content:center;margin:0;max-height:100%;max-width:100%;opacity:0;padding:0;position:fixed;-webkit-transition:opacity 0.2s ease, visibility 0.2s ease;transition:opacity 0.2s ease, visibility 0.2s ease;visibility:hidden;width:100%;z-index:1000}@supports ((-webkit-backdrop-filter: blur(3px)) or (backdrop-filter: blur(3px))){.pds-modal__backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}}pds-modal .pds-modal__backdrop{z-index:1001}.pds-modal__backdrop::-webkit-backdrop{background:transparent}.pds-modal__backdrop::-ms-backdrop{background:transparent}.pds-modal__backdrop::backdrop{background:transparent}.pds-modal__backdrop.open{opacity:1;visibility:visible}.pds-modal{background:var(--pine-color-background-container);border-radius:var(--pine-dimension-sm);-webkit-box-shadow:var(--pine-box-shadow-400);box-shadow:var(--pine-box-shadow-400);display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;margin:var(--pine-dimension-md);max-height:calc(100vh - (5vh + 96px));width:100%}@media (min-width: 992px){.pds-modal{-webkit-margin-before:6vh;margin-block-start:6vh}}@media (min-width: 1200px){.pds-modal{-webkit-margin-before:8vh;margin-block-start:8vh}}.pds-modal--sm{max-width:520px}.pds-modal--md{max-width:700px}.pds-modal--lg{max-width:900px}.pds-modal--fullscreen{border-radius:0;height:100%;margin:0;max-height:100vh;max-width:100%}.pds-modal--fullscreen .pds-modal-content{-ms-flex:1;flex:1}";
|
|
3075
3075
|
|
|
3076
3076
|
/**
|
|
3077
3077
|
* Mock PdsModal component for testing purposes
|
|
@@ -3147,7 +3147,7 @@ class MockPdsModal {
|
|
|
3147
3147
|
'pds-modal__backdrop': true,
|
|
3148
3148
|
'open': this.open,
|
|
3149
3149
|
};
|
|
3150
|
-
return (hAsync("div", { key: '
|
|
3150
|
+
return (hAsync("div", { key: '34bb09afe2af63e8092dc1ca4b10e216550ce0ba', class: backdropClasses }, hAsync("div", { key: '8400a7dee99a128523a2238cf88d1bbcdfb65f79', class: modalClasses, role: "dialog", "aria-modal": "true", "aria-labelledby": this.componentId ? `${this.componentId}-heading` : null }, hAsync("div", { key: '9b1ee3bd413a110e4d3abfa4fce4e7fb4014d3f1', class: "pds-modal__header" }, hAsync("slot", { key: '4845c471151b08b7cb7a072a3d2e8c2e06143634', name: "header" })), hAsync("div", { key: '9132767dda413c5d7f2ab9fbe5c4952c6aebc709', class: "pds-modal-content" }, hAsync("slot", { key: 'cb8417be84699a117b76e9b3cbd98352bf3417f5' })), hAsync("div", { key: 'b56977cf61079ce61acd6fe71c9cbbc3fff7316b', class: "pds-modal__footer" }, hAsync("slot", { key: '0fcb7a8bab9322ba6962e0c205389a3d62b9c423', name: "footer" })))));
|
|
3151
3151
|
}
|
|
3152
3152
|
get el() { return getElement(this); }
|
|
3153
3153
|
static get style() { return pdsModalCss$1; }
|
|
@@ -3168,7 +3168,7 @@ class MockPdsModal {
|
|
|
3168
3168
|
}; }
|
|
3169
3169
|
}
|
|
3170
3170
|
|
|
3171
|
-
/* pds-icons v9.
|
|
3171
|
+
/* pds-icons v9.6.1, ES Modules */
|
|
3172
3172
|
|
|
3173
3173
|
const caretDown = "data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' class='pdsicon'><path fill-rule='evenodd' d='M5.293 8.293a1 1 0 0 1 1.414 0L12 13.586l5.293-5.293a1 1 0 1 1 1.414 1.414l-6 6a1 1 0 0 1-1.414 0l-6-6a1 1 0 0 1 0-1.414'/></svg>";
|
|
3174
3174
|
const checkCircleFilled = "data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' class='pdsicon'><path fill-rule='evenodd' d='M12 1C5.925 1 1 5.925 1 12s4.925 11 11 11 11-4.925 11-11S18.075 1 12 1m5.207 8.707a1 1 0 0 0-1.414-1.414L10.5 13.586l-2.293-2.293a1 1 0 0 0-1.414 1.414l3 3a1 1 0 0 0 1.414 0z'/></svg>";
|
|
@@ -3416,7 +3416,7 @@ class PdsAvatar {
|
|
|
3416
3416
|
}; }
|
|
3417
3417
|
}
|
|
3418
3418
|
|
|
3419
|
-
const pdsBoxCss = "pds-box{--border-width-default:var(--pine-border-width-thin);--color-background-box:inherit;--color-border-box:inherit;display:block}[class*=pds-box]{background-color:var(--color-background-box);-webkit-box-sizing:border-box;box-sizing:border-box;display:-ms-inline-flexbox;display:inline-flex;min-height:var(--sizing-min-height-box);min-width:var(--sizing-min-width-box)}.pds-row>[class*=pds-box]{position:relative;width:100%}.pds-row>[class*=pds-box].pds-box--auto{width:auto}.pds-spacing-xxs{margin:4px}.pds-spacing-xs{margin:8px}.pds-spacing-sm{margin:16px}.pds-spacing-md{margin:24px}.pds-spacing-lg{margin:36px}.pds-spacing-xl{margin:48px}.pds-spacing-xxl{margin:64px}.pds-spacing-top-xxs{-webkit-margin-before:4px;margin-block-start:4px}.pds-spacing-top-xs{-webkit-margin-before:8px;margin-block-start:8px}.pds-spacing-top-sm{-webkit-margin-before:16px;margin-block-start:16px}.pds-spacing-top-md{-webkit-margin-before:24px;margin-block-start:24px}.pds-spacing-top-lg{-webkit-margin-before:36px;margin-block-start:36px}.pds-spacing-top-xl{-webkit-margin-before:48px;margin-block-start:48px}.pds-spacing-top-xxl{-webkit-margin-before:64px;margin-block-start:64px}.pds-spacing-right-xxs{-webkit-margin-end:4px;margin-inline-end:4px}.pds-spacing-right-xs{-webkit-margin-end:8px;margin-inline-end:8px}.pds-spacing-right-sm{-webkit-margin-end:16px;margin-inline-end:16px}.pds-spacing-right-md{-webkit-margin-end:24px;margin-inline-end:24px}.pds-spacing-right-lg{-webkit-margin-end:36px;margin-inline-end:36px}.pds-spacing-right-xl{-webkit-margin-end:48px;margin-inline-end:48px}.pds-spacing-right-xxl{-webkit-margin-end:64px;margin-inline-end:64px}.pds-spacing-left-xxs{-webkit-margin-start:4px;margin-inline-start:4px}.pds-spacing-left-xs{-webkit-margin-start:8px;margin-inline-start:8px}.pds-spacing-left-sm{-webkit-margin-start:16px;margin-inline-start:16px}.pds-spacing-left-md{-webkit-margin-start:24px;margin-inline-start:24px}.pds-spacing-left-lg{-webkit-margin-start:36px;margin-inline-start:36px}.pds-spacing-left-xl{-webkit-margin-start:48px;margin-inline-start:48px}.pds-spacing-left-xxl{-webkit-margin-start:64px;margin-inline-start:64px}.pds-spacing-bottom-xxs{-webkit-margin-after:4px;margin-block-end:4px}.pds-spacing-bottom-xs{-webkit-margin-after:8px;margin-block-end:8px}.pds-spacing-bottom-sm{-webkit-margin-after:16px;margin-block-end:16px}.pds-spacing-bottom-md{-webkit-margin-after:24px;margin-block-end:24px}.pds-spacing-bottom-lg{-webkit-margin-after:36px;margin-block-end:36px}.pds-spacing-bottom-xl{-webkit-margin-after:48px;margin-block-end:48px}.pds-spacing-bottom-xxl{-webkit-margin-after:64px;margin-block-end:64px}.pds-box-offset-0{-webkit-margin-start:0;margin-inline-start:0}.pds-box-offset-1{-webkit-margin-start:8.3333333333%;margin-inline-start:8.3333333333%}.pds-box-offset-2{-webkit-margin-start:16.6666666667%;margin-inline-start:16.6666666667%}.pds-box-offset-3{-webkit-margin-start:25%;margin-inline-start:25%}.pds-box-offset-4{-webkit-margin-start:33.3333333333%;margin-inline-start:33.3333333333%}.pds-box-offset-5{-webkit-margin-start:41.6666666667%;margin-inline-start:41.6666666667%}.pds-box-offset-6{-webkit-margin-start:50%;margin-inline-start:50%}.pds-box-offset-7{-webkit-margin-start:58.3333333333%;margin-inline-start:58.3333333333%}.pds-box-offset-8{-webkit-margin-start:66.6666666667%;margin-inline-start:66.6666666667%}.pds-box-offset-9{-webkit-margin-start:75%;margin-inline-start:75%}.pds-box-offset-10{-webkit-margin-start:83.3333333333%;margin-inline-start:83.3333333333%}.pds-box-offset-11{-webkit-margin-start:91.6666666667%;margin-inline-start:91.6666666667%}.pds-box-offset-12{-webkit-margin-start:100%;margin-inline-start:100%}@media (max-width: 575px){.pds-box-offset-xs-0{-webkit-margin-start:0;margin-inline-start:0}.pds-box-offset-xs-1{-webkit-margin-start:8.3333333333%;margin-inline-start:8.3333333333%}.pds-box-offset-xs-2{-webkit-margin-start:16.6666666667%;margin-inline-start:16.6666666667%}.pds-box-offset-xs-3{-webkit-margin-start:25%;margin-inline-start:25%}.pds-box-offset-xs-4{-webkit-margin-start:33.3333333333%;margin-inline-start:33.3333333333%}.pds-box-offset-xs-5{-webkit-margin-start:41.6666666667%;margin-inline-start:41.6666666667%}.pds-box-offset-xs-6{-webkit-margin-start:50%;margin-inline-start:50%}.pds-box-offset-xs-7{-webkit-margin-start:58.3333333333%;margin-inline-start:58.3333333333%}.pds-box-offset-xs-8{-webkit-margin-start:66.6666666667%;margin-inline-start:66.6666666667%}.pds-box-offset-xs-9{-webkit-margin-start:75%;margin-inline-start:75%}.pds-box-offset-xs-10{-webkit-margin-start:83.3333333333%;margin-inline-start:83.3333333333%}.pds-box-offset-xs-11{-webkit-margin-start:91.6666666667%;margin-inline-start:91.6666666667%}.pds-box-offset-xs-12{-webkit-margin-start:100%;margin-inline-start:100%}}@media (min-width: 576px){.pds-box-offset-sm-0{-webkit-margin-start:0;margin-inline-start:0}.pds-box-offset-sm-1{-webkit-margin-start:8.3333333333%;margin-inline-start:8.3333333333%}.pds-box-offset-sm-2{-webkit-margin-start:16.6666666667%;margin-inline-start:16.6666666667%}.pds-box-offset-sm-3{-webkit-margin-start:25%;margin-inline-start:25%}.pds-box-offset-sm-4{-webkit-margin-start:33.3333333333%;margin-inline-start:33.3333333333%}.pds-box-offset-sm-5{-webkit-margin-start:41.6666666667%;margin-inline-start:41.6666666667%}.pds-box-offset-sm-6{-webkit-margin-start:50%;margin-inline-start:50%}.pds-box-offset-sm-7{-webkit-margin-start:58.3333333333%;margin-inline-start:58.3333333333%}.pds-box-offset-sm-8{-webkit-margin-start:66.6666666667%;margin-inline-start:66.6666666667%}.pds-box-offset-sm-9{-webkit-margin-start:75%;margin-inline-start:75%}.pds-box-offset-sm-10{-webkit-margin-start:83.3333333333%;margin-inline-start:83.3333333333%}.pds-box-offset-sm-11{-webkit-margin-start:91.6666666667%;margin-inline-start:91.6666666667%}.pds-box-offset-sm-12{-webkit-margin-start:100%;margin-inline-start:100%}}@media (min-width: 768px){.pds-box-offset-md-0{-webkit-margin-start:0;margin-inline-start:0}.pds-box-offset-md-1{-webkit-margin-start:8.3333333333%;margin-inline-start:8.3333333333%}.pds-box-offset-md-2{-webkit-margin-start:16.6666666667%;margin-inline-start:16.6666666667%}.pds-box-offset-md-3{-webkit-margin-start:25%;margin-inline-start:25%}.pds-box-offset-md-4{-webkit-margin-start:33.3333333333%;margin-inline-start:33.3333333333%}.pds-box-offset-md-5{-webkit-margin-start:41.6666666667%;margin-inline-start:41.6666666667%}.pds-box-offset-md-6{-webkit-margin-start:50%;margin-inline-start:50%}.pds-box-offset-md-7{-webkit-margin-start:58.3333333333%;margin-inline-start:58.3333333333%}.pds-box-offset-md-8{-webkit-margin-start:66.6666666667%;margin-inline-start:66.6666666667%}.pds-box-offset-md-9{-webkit-margin-start:75%;margin-inline-start:75%}.pds-box-offset-md-10{-webkit-margin-start:83.3333333333%;margin-inline-start:83.3333333333%}.pds-box-offset-md-11{-webkit-margin-start:91.6666666667%;margin-inline-start:91.6666666667%}.pds-box-offset-md-12{-webkit-margin-start:100%;margin-inline-start:100%}}@media (min-width: 992px){.pds-box-offset-lg-0{-webkit-margin-start:0;margin-inline-start:0}.pds-box-offset-lg-1{-webkit-margin-start:8.3333333333%;margin-inline-start:8.3333333333%}.pds-box-offset-lg-2{-webkit-margin-start:16.6666666667%;margin-inline-start:16.6666666667%}.pds-box-offset-lg-3{-webkit-margin-start:25%;margin-inline-start:25%}.pds-box-offset-lg-4{-webkit-margin-start:33.3333333333%;margin-inline-start:33.3333333333%}.pds-box-offset-lg-5{-webkit-margin-start:41.6666666667%;margin-inline-start:41.6666666667%}.pds-box-offset-lg-6{-webkit-margin-start:50%;margin-inline-start:50%}.pds-box-offset-lg-7{-webkit-margin-start:58.3333333333%;margin-inline-start:58.3333333333%}.pds-box-offset-lg-8{-webkit-margin-start:66.6666666667%;margin-inline-start:66.6666666667%}.pds-box-offset-lg-9{-webkit-margin-start:75%;margin-inline-start:75%}.pds-box-offset-lg-10{-webkit-margin-start:83.3333333333%;margin-inline-start:83.3333333333%}.pds-box-offset-lg-11{-webkit-margin-start:91.6666666667%;margin-inline-start:91.6666666667%}.pds-box-offset-lg-12{-webkit-margin-start:100%;margin-inline-start:100%}}@media (min-width: 1200px){.pds-box-offset-xl-0{-webkit-margin-start:0;margin-inline-start:0}.pds-box-offset-xl-1{-webkit-margin-start:8.3333333333%;margin-inline-start:8.3333333333%}.pds-box-offset-xl-2{-webkit-margin-start:16.6666666667%;margin-inline-start:16.6666666667%}.pds-box-offset-xl-3{-webkit-margin-start:25%;margin-inline-start:25%}.pds-box-offset-xl-4{-webkit-margin-start:33.3333333333%;margin-inline-start:33.3333333333%}.pds-box-offset-xl-5{-webkit-margin-start:41.6666666667%;margin-inline-start:41.6666666667%}.pds-box-offset-xl-6{-webkit-margin-start:50%;margin-inline-start:50%}.pds-box-offset-xl-7{-webkit-margin-start:58.3333333333%;margin-inline-start:58.3333333333%}.pds-box-offset-xl-8{-webkit-margin-start:66.6666666667%;margin-inline-start:66.6666666667%}.pds-box-offset-xl-9{-webkit-margin-start:75%;margin-inline-start:75%}.pds-box-offset-xl-10{-webkit-margin-start:83.3333333333%;margin-inline-start:83.3333333333%}.pds-box-offset-xl-11{-webkit-margin-start:91.6666666667%;margin-inline-start:91.6666666667%}.pds-box-offset-xl-12{-webkit-margin-start:100%;margin-inline-start:100%}}.pds-box-0{display:none}.pds-box-1{display:-ms-inline-flexbox;display:inline-flex;-ms-flex:8.3333333333%;flex:8.3333333333%;max-width:8.3333333333%}.pds-box-2{display:-ms-inline-flexbox;display:inline-flex;-ms-flex:16.6666666667%;flex:16.6666666667%;max-width:16.6666666667%}.pds-box-3{display:-ms-inline-flexbox;display:inline-flex;-ms-flex:25%;flex:25%;max-width:25%}.pds-box-4{display:-ms-inline-flexbox;display:inline-flex;-ms-flex:33.3333333333%;flex:33.3333333333%;max-width:33.3333333333%}.pds-box-5{display:-ms-inline-flexbox;display:inline-flex;-ms-flex:41.6666666667%;flex:41.6666666667%;max-width:41.6666666667%}.pds-box-6{display:-ms-inline-flexbox;display:inline-flex;-ms-flex:50%;flex:50%;max-width:50%}.pds-box-7{display:-ms-inline-flexbox;display:inline-flex;-ms-flex:58.3333333333%;flex:58.3333333333%;max-width:58.3333333333%}.pds-box-8{display:-ms-inline-flexbox;display:inline-flex;-ms-flex:66.6666666667%;flex:66.6666666667%;max-width:66.6666666667%}.pds-box-9{display:-ms-inline-flexbox;display:inline-flex;-ms-flex:75%;flex:75%;max-width:75%}.pds-box-10{display:-ms-inline-flexbox;display:inline-flex;-ms-flex:83.3333333333%;flex:83.3333333333%;max-width:83.3333333333%}.pds-box-11{display:-ms-inline-flexbox;display:inline-flex;-ms-flex:91.6666666667%;flex:91.6666666667%;max-width:91.6666666667%}.pds-box-12{display:-ms-inline-flexbox;display:inline-flex;-ms-flex:100%;flex:100%;max-width:100%}@media (max-width: 575px){.pds-box-xs-0{display:none}.pds-box-xs-1{display:-ms-inline-flexbox;display:inline-flex;-ms-flex:8.3333333333%;flex:8.3333333333%;max-width:8.3333333333%}.pds-box-xs-2{display:-ms-inline-flexbox;display:inline-flex;-ms-flex:16.6666666667%;flex:16.6666666667%;max-width:16.6666666667%}.pds-box-xs-3{display:-ms-inline-flexbox;display:inline-flex;-ms-flex:25%;flex:25%;max-width:25%}.pds-box-xs-4{display:-ms-inline-flexbox;display:inline-flex;-ms-flex:33.3333333333%;flex:33.3333333333%;max-width:33.3333333333%}.pds-box-xs-5{display:-ms-inline-flexbox;display:inline-flex;-ms-flex:41.6666666667%;flex:41.6666666667%;max-width:41.6666666667%}.pds-box-xs-6{display:-ms-inline-flexbox;display:inline-flex;-ms-flex:50%;flex:50%;max-width:50%}.pds-box-xs-7{display:-ms-inline-flexbox;display:inline-flex;-ms-flex:58.3333333333%;flex:58.3333333333%;max-width:58.3333333333%}.pds-box-xs-8{display:-ms-inline-flexbox;display:inline-flex;-ms-flex:66.6666666667%;flex:66.6666666667%;max-width:66.6666666667%}.pds-box-xs-9{display:-ms-inline-flexbox;display:inline-flex;-ms-flex:75%;flex:75%;max-width:75%}.pds-box-xs-10{display:-ms-inline-flexbox;display:inline-flex;-ms-flex:83.3333333333%;flex:83.3333333333%;max-width:83.3333333333%}.pds-box-xs-11{display:-ms-inline-flexbox;display:inline-flex;-ms-flex:91.6666666667%;flex:91.6666666667%;max-width:91.6666666667%}.pds-box-xs-12{display:-ms-inline-flexbox;display:inline-flex;-ms-flex:100%;flex:100%;max-width:100%}}@media (min-width: 576px){.pds-box-sm-0{display:none}.pds-box-sm-1{display:-ms-inline-flexbox;display:inline-flex;-ms-flex:8.3333333333%;flex:8.3333333333%;max-width:8.3333333333%}.pds-box-sm-2{display:-ms-inline-flexbox;display:inline-flex;-ms-flex:16.6666666667%;flex:16.6666666667%;max-width:16.6666666667%}.pds-box-sm-3{display:-ms-inline-flexbox;display:inline-flex;-ms-flex:25%;flex:25%;max-width:25%}.pds-box-sm-4{display:-ms-inline-flexbox;display:inline-flex;-ms-flex:33.3333333333%;flex:33.3333333333%;max-width:33.3333333333%}.pds-box-sm-5{display:-ms-inline-flexbox;display:inline-flex;-ms-flex:41.6666666667%;flex:41.6666666667%;max-width:41.6666666667%}.pds-box-sm-6{display:-ms-inline-flexbox;display:inline-flex;-ms-flex:50%;flex:50%;max-width:50%}.pds-box-sm-7{display:-ms-inline-flexbox;display:inline-flex;-ms-flex:58.3333333333%;flex:58.3333333333%;max-width:58.3333333333%}.pds-box-sm-8{display:-ms-inline-flexbox;display:inline-flex;-ms-flex:66.6666666667%;flex:66.6666666667%;max-width:66.6666666667%}.pds-box-sm-9{display:-ms-inline-flexbox;display:inline-flex;-ms-flex:75%;flex:75%;max-width:75%}.pds-box-sm-10{display:-ms-inline-flexbox;display:inline-flex;-ms-flex:83.3333333333%;flex:83.3333333333%;max-width:83.3333333333%}.pds-box-sm-11{display:-ms-inline-flexbox;display:inline-flex;-ms-flex:91.6666666667%;flex:91.6666666667%;max-width:91.6666666667%}.pds-box-sm-12{display:-ms-inline-flexbox;display:inline-flex;-ms-flex:100%;flex:100%;max-width:100%}}@media (min-width: 768px){.pds-box-md-0{display:none}.pds-box-md-1{display:-ms-inline-flexbox;display:inline-flex;-ms-flex:8.3333333333%;flex:8.3333333333%;max-width:8.3333333333%}.pds-box-md-2{display:-ms-inline-flexbox;display:inline-flex;-ms-flex:16.6666666667%;flex:16.6666666667%;max-width:16.6666666667%}.pds-box-md-3{display:-ms-inline-flexbox;display:inline-flex;-ms-flex:25%;flex:25%;max-width:25%}.pds-box-md-4{display:-ms-inline-flexbox;display:inline-flex;-ms-flex:33.3333333333%;flex:33.3333333333%;max-width:33.3333333333%}.pds-box-md-5{display:-ms-inline-flexbox;display:inline-flex;-ms-flex:41.6666666667%;flex:41.6666666667%;max-width:41.6666666667%}.pds-box-md-6{display:-ms-inline-flexbox;display:inline-flex;-ms-flex:50%;flex:50%;max-width:50%}.pds-box-md-7{display:-ms-inline-flexbox;display:inline-flex;-ms-flex:58.3333333333%;flex:58.3333333333%;max-width:58.3333333333%}.pds-box-md-8{display:-ms-inline-flexbox;display:inline-flex;-ms-flex:66.6666666667%;flex:66.6666666667%;max-width:66.6666666667%}.pds-box-md-9{display:-ms-inline-flexbox;display:inline-flex;-ms-flex:75%;flex:75%;max-width:75%}.pds-box-md-10{display:-ms-inline-flexbox;display:inline-flex;-ms-flex:83.3333333333%;flex:83.3333333333%;max-width:83.3333333333%}.pds-box-md-11{display:-ms-inline-flexbox;display:inline-flex;-ms-flex:91.6666666667%;flex:91.6666666667%;max-width:91.6666666667%}.pds-box-md-12{display:-ms-inline-flexbox;display:inline-flex;-ms-flex:100%;flex:100%;max-width:100%}}@media (min-width: 992px){.pds-box-lg-0{display:none}.pds-box-lg-1{display:-ms-inline-flexbox;display:inline-flex;-ms-flex:8.3333333333%;flex:8.3333333333%;max-width:8.3333333333%}.pds-box-lg-2{display:-ms-inline-flexbox;display:inline-flex;-ms-flex:16.6666666667%;flex:16.6666666667%;max-width:16.6666666667%}.pds-box-lg-3{display:-ms-inline-flexbox;display:inline-flex;-ms-flex:25%;flex:25%;max-width:25%}.pds-box-lg-4{display:-ms-inline-flexbox;display:inline-flex;-ms-flex:33.3333333333%;flex:33.3333333333%;max-width:33.3333333333%}.pds-box-lg-5{display:-ms-inline-flexbox;display:inline-flex;-ms-flex:41.6666666667%;flex:41.6666666667%;max-width:41.6666666667%}.pds-box-lg-6{display:-ms-inline-flexbox;display:inline-flex;-ms-flex:50%;flex:50%;max-width:50%}.pds-box-lg-7{display:-ms-inline-flexbox;display:inline-flex;-ms-flex:58.3333333333%;flex:58.3333333333%;max-width:58.3333333333%}.pds-box-lg-8{display:-ms-inline-flexbox;display:inline-flex;-ms-flex:66.6666666667%;flex:66.6666666667%;max-width:66.6666666667%}.pds-box-lg-9{display:-ms-inline-flexbox;display:inline-flex;-ms-flex:75%;flex:75%;max-width:75%}.pds-box-lg-10{display:-ms-inline-flexbox;display:inline-flex;-ms-flex:83.3333333333%;flex:83.3333333333%;max-width:83.3333333333%}.pds-box-lg-11{display:-ms-inline-flexbox;display:inline-flex;-ms-flex:91.6666666667%;flex:91.6666666667%;max-width:91.6666666667%}.pds-box-lg-12{display:-ms-inline-flexbox;display:inline-flex;-ms-flex:100%;flex:100%;max-width:100%}}@media (min-width: 1200px){.pds-box-xl-0{display:none}.pds-box-xl-1{display:-ms-inline-flexbox;display:inline-flex;-ms-flex:8.3333333333%;flex:8.3333333333%;max-width:8.3333333333%}.pds-box-xl-2{display:-ms-inline-flexbox;display:inline-flex;-ms-flex:16.6666666667%;flex:16.6666666667%;max-width:16.6666666667%}.pds-box-xl-3{display:-ms-inline-flexbox;display:inline-flex;-ms-flex:25%;flex:25%;max-width:25%}.pds-box-xl-4{display:-ms-inline-flexbox;display:inline-flex;-ms-flex:33.3333333333%;flex:33.3333333333%;max-width:33.3333333333%}.pds-box-xl-5{display:-ms-inline-flexbox;display:inline-flex;-ms-flex:41.6666666667%;flex:41.6666666667%;max-width:41.6666666667%}.pds-box-xl-6{display:-ms-inline-flexbox;display:inline-flex;-ms-flex:50%;flex:50%;max-width:50%}.pds-box-xl-7{display:-ms-inline-flexbox;display:inline-flex;-ms-flex:58.3333333333%;flex:58.3333333333%;max-width:58.3333333333%}.pds-box-xl-8{display:-ms-inline-flexbox;display:inline-flex;-ms-flex:66.6666666667%;flex:66.6666666667%;max-width:66.6666666667%}.pds-box-xl-9{display:-ms-inline-flexbox;display:inline-flex;-ms-flex:75%;flex:75%;max-width:75%}.pds-box-xl-10{display:-ms-inline-flexbox;display:inline-flex;-ms-flex:83.3333333333%;flex:83.3333333333%;max-width:83.3333333333%}.pds-box-xl-11{display:-ms-inline-flexbox;display:inline-flex;-ms-flex:91.6666666667%;flex:91.6666666667%;max-width:91.6666666667%}.pds-box-xl-12{display:-ms-inline-flexbox;display:inline-flex;-ms-flex:100%;flex:100%;max-width:100%}}.pds-box{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1}.pds-box--auto{-ms-flex:0 0 var(--sizing-min-width-box, fit-content);flex:0 0 var(--sizing-min-width-box, fit-content);min-width:auto;width:auto}.pds-box--fit{max-width:100%;min-width:100%;width:100%}.pds-box--border{border-color:var(--color-border-box, var(--pine-color-grey-300));border-style:solid;border-width:var(--border-width-default)}.pds-box--display-flex{display:-ms-flexbox;display:flex}.pds-box--display-inline-flex{display:-ms-inline-flexbox;display:inline-flex}.pds-box--display-block{display:block}.pds-box--display-inline-block{display:inline-block}.pds-box--flex-none{-ms-flex:0 0 auto;flex:0 0 auto}.pds-box--flex-grow{-ms-flex:1 1 auto;flex:1 1 auto}.pds-box--flex-shrink{-ms-flex:0 0 auto;flex:0 0 auto}.pds-border-radius-none{border-radius:0}.pds-border-radius-xs{border-radius:var(--pine-dimension-2xs)}.pds-border-radius-sm{border-radius:var(--pine-dimension-xs)}.pds-border-radius-md{border-radius:var(--pine-dimension-100)}.pds-border-radius-lg{border-radius:var(--pine-dimension-sm)}.pds-border-radius-circle{border-radius:var(--pine-border-radius-full)}.pds-shadow-050{-webkit-box-shadow:var(--pine-box-shadow-050);box-shadow:var(--pine-box-shadow-050)}.pds-shadow-100{-webkit-box-shadow:var(--pine-box-shadow-100);box-shadow:var(--pine-box-shadow-100)}.pds-shadow-150{-webkit-box-shadow:var(--pine-box-shadow-150);box-shadow:var(--pine-box-shadow-150)}.pds-shadow-200{-webkit-box-shadow:var(--pine-box-shadow-200);box-shadow:var(--pine-box-shadow-200)}.pds-shadow-300{-webkit-box-shadow:var(--pine-box-shadow-300);box-shadow:var(--pine-box-shadow-300)}.pds-shadow-400{-webkit-box-shadow:var(--pine-box-shadow-400);box-shadow:var(--pine-box-shadow-400)}.pds-shadow-500{-webkit-box-shadow:var(--pine-box-shadow-500);box-shadow:var(--pine-box-shadow-500)}.pds-shadow-xs{-webkit-box-shadow:var(--pine-box-shadow-050);box-shadow:var(--pine-box-shadow-050)}.pds-shadow-sm{-webkit-box-shadow:var(--pine-box-shadow-100);box-shadow:var(--pine-box-shadow-100)}.pds-shadow-md{-webkit-box-shadow:var(--pine-box-shadow-150);box-shadow:var(--pine-box-shadow-150)}.pds-shadow-lg{-webkit-box-shadow:var(--pine-box-shadow-200);box-shadow:var(--pine-box-shadow-200)}.pds-box-gap-none{gap:0}.pds-box-gap-xxs{gap:var(--pine-dimension-2xs)}.pds-box-gap-xs{gap:var(--pine-dimension-xs)}.pds-box-gap-sm{gap:var(--pine-dimension-sm)}.pds-box-gap-md{gap:var(--pine-dimension-md)}.pds-box-gap-lg{gap:var(--pine-dimension-lg)}.pds-box-gap-xl{gap:var(--pine-dimension-xl)}.pds-box-gap-xxl{gap:var(--pine-dimension-2xl)}.pds-margin-block-start-xxs{-webkit-margin-before:var(--pine-dimension-2xs);margin-block-start:var(--pine-dimension-2xs)}.pds-margin-block-start-xs{-webkit-margin-before:var(--pine-dimension-xs);margin-block-start:var(--pine-dimension-xs)}.pds-margin-block-start-sm{-webkit-margin-before:var(--pine-dimension-sm);margin-block-start:var(--pine-dimension-sm)}.pds-margin-block-start-md{-webkit-margin-before:var(--pine-dimension-md);margin-block-start:var(--pine-dimension-md)}.pds-margin-block-start-lg{-webkit-margin-before:var(--pine-dimension-lg);margin-block-start:var(--pine-dimension-lg)}.pds-margin-block-start-xl{-webkit-margin-before:var(--pine-dimension-xl);margin-block-start:var(--pine-dimension-xl)}.pds-margin-block-start-xxl{-webkit-margin-before:var(--pine-dimension-2xl);margin-block-start:var(--pine-dimension-2xl)}.pds-margin-inline-start-none{-webkit-margin-start:0;margin-inline-start:0}.pds-margin-inline-start-xxs{-webkit-margin-start:var(--pine-dimension-2xs);margin-inline-start:var(--pine-dimension-2xs)}.pds-margin-inline-start-xs{-webkit-margin-start:var(--pine-dimension-xs);margin-inline-start:var(--pine-dimension-xs)}.pds-margin-inline-start-sm{-webkit-margin-start:var(--pine-dimension-sm);margin-inline-start:var(--pine-dimension-sm)}.pds-margin-inline-start-md{-webkit-margin-start:var(--pine-dimension-md);margin-inline-start:var(--pine-dimension-md)}.pds-margin-inline-start-lg{-webkit-margin-start:var(--pine-dimension-lg);margin-inline-start:var(--pine-dimension-lg)}.pds-margin-inline-start-xl{-webkit-margin-start:var(--pine-dimension-xl);margin-inline-start:var(--pine-dimension-xl)}.pds-margin-inline-start-xxl{-webkit-margin-start:var(--pine-dimension-2xl);margin-inline-start:var(--pine-dimension-2xl)}.pds-margin-inline-end-none{-webkit-margin-end:0;margin-inline-end:0}.pds-margin-inline-end-xxs{-webkit-margin-end:var(--pine-dimension-2xs);margin-inline-end:var(--pine-dimension-2xs)}.pds-margin-inline-end-xs{-webkit-margin-end:var(--pine-dimension-xs);margin-inline-end:var(--pine-dimension-xs)}.pds-margin-inline-end-sm{-webkit-margin-end:var(--pine-dimension-sm);margin-inline-end:var(--pine-dimension-sm)}.pds-margin-inline-end-md{-webkit-margin-end:var(--pine-dimension-md);margin-inline-end:var(--pine-dimension-md)}.pds-margin-inline-end-lg{-webkit-margin-end:var(--pine-dimension-lg);margin-inline-end:var(--pine-dimension-lg)}.pds-margin-inline-end-xl{-webkit-margin-end:var(--pine-dimension-xl);margin-inline-end:var(--pine-dimension-xl)}.pds-margin-inline-end-xxl{-webkit-margin-end:var(--pine-dimension-2xl);margin-inline-end:var(--pine-dimension-2xl)}.pds-margin-block-end-none{-webkit-margin-after:0;margin-block-end:0}.pds-margin-block-end-xxs{-webkit-margin-after:var(--pine-dimension-2xs);margin-block-end:var(--pine-dimension-2xs)}.pds-margin-block-end-xs{-webkit-margin-after:var(--pine-dimension-xs);margin-block-end:var(--pine-dimension-xs)}.pds-margin-block-end-sm{-webkit-margin-after:var(--pine-dimension-sm);margin-block-end:var(--pine-dimension-sm)}.pds-margin-block-end-md{-webkit-margin-after:var(--pine-dimension-md);margin-block-end:var(--pine-dimension-md)}.pds-margin-block-end-lg{-webkit-margin-after:var(--pine-dimension-lg);margin-block-end:var(--pine-dimension-lg)}.pds-margin-block-end-xl{-webkit-margin-after:var(--pine-dimension-xl);margin-block-end:var(--pine-dimension-xl)}.pds-margin-block-end-xxl{-webkit-margin-after:var(--pine-dimension-2xl);margin-block-end:var(--pine-dimension-2xl)}.pds-padding-none{padding:0}.pds-padding-xxs{padding:var(--pine-dimension-2xs)}.pds-padding-xs{padding:var(--pine-dimension-xs)}.pds-padding-sm{padding:var(--pine-dimension-sm)}.pds-padding-md{padding:var(--pine-dimension-md)}.pds-padding-lg{padding:var(--pine-dimension-lg)}.pds-padding-xl{padding:var(--pine-dimension-xl)}.pds-padding-xxl{padding:var(--pine-dimension-2xl)}.pds-padding-block-start-none{-webkit-padding-before:var(--pine-dimension-none);padding-block-start:var(--pine-dimension-none)}.pds-padding-block-start-xxs{-webkit-padding-before:var(--pine-dimension-2xs);padding-block-start:var(--pine-dimension-2xs)}.pds-padding-block-start-xs{-webkit-padding-before:var(--pine-dimension-xs);padding-block-start:var(--pine-dimension-xs)}.pds-padding-block-start-sm{-webkit-padding-before:var(--pine-dimension-sm);padding-block-start:var(--pine-dimension-sm)}.pds-padding-block-start-md{-webkit-padding-before:var(--pine-dimension-md);padding-block-start:var(--pine-dimension-md)}.pds-padding-block-start-lg{-webkit-padding-before:var(--pine-dimension-lg);padding-block-start:var(--pine-dimension-lg)}.pds-padding-block-start-xl{-webkit-padding-before:var(--pine-dimension-xl);padding-block-start:var(--pine-dimension-xl)}.pds-padding-block-start-xxl{-webkit-padding-before:var(--pine-dimension-2xl);padding-block-start:var(--pine-dimension-2xl)}.pds-padding-block-end-none{-webkit-padding-after:var(--pine-dimension-none);padding-block-end:var(--pine-dimension-none)}.pds-padding-block-end-xxs{-webkit-padding-after:var(--pine-dimension-2xs);padding-block-end:var(--pine-dimension-2xs)}.pds-padding-block-end-xs{-webkit-padding-after:var(--pine-dimension-xs);padding-block-end:var(--pine-dimension-xs)}.pds-padding-block-end-sm{-webkit-padding-after:var(--pine-dimension-sm);padding-block-end:var(--pine-dimension-sm)}.pds-padding-block-end-md{-webkit-padding-after:var(--pine-dimension-md);padding-block-end:var(--pine-dimension-md)}.pds-padding-block-end-lg{-webkit-padding-after:var(--pine-dimension-lg);padding-block-end:var(--pine-dimension-lg)}.pds-padding-block-end-xl{-webkit-padding-after:var(--pine-dimension-xl);padding-block-end:var(--pine-dimension-xl)}.pds-padding-block-end-xxl{-webkit-padding-after:var(--pine-dimension-2xl);padding-block-end:var(--pine-dimension-2xl)}.pds-padding-inline-start-none{-webkit-padding-start:var(--pine-dimension-none);padding-inline-start:var(--pine-dimension-none)}.pds-padding-inline-start-xxs{-webkit-padding-start:var(--pine-dimension-2xs);padding-inline-start:var(--pine-dimension-2xs)}.pds-padding-inline-start-xs{-webkit-padding-start:var(--pine-dimension-xs);padding-inline-start:var(--pine-dimension-xs)}.pds-padding-inline-start-sm{-webkit-padding-start:var(--pine-dimension-sm);padding-inline-start:var(--pine-dimension-sm)}.pds-padding-inline-start-md{-webkit-padding-start:var(--pine-dimension-md);padding-inline-start:var(--pine-dimension-md)}.pds-padding-inline-start-lg{-webkit-padding-start:var(--pine-dimension-lg);padding-inline-start:var(--pine-dimension-lg)}.pds-padding-inline-start-xl{-webkit-padding-start:var(--pine-dimension-xl);padding-inline-start:var(--pine-dimension-xl)}.pds-padding-inline-start-xxl{-webkit-padding-start:var(--pine-dimension-2xl);padding-inline-start:var(--pine-dimension-2xl)}.pds-padding-inline-end-none{-webkit-padding-end:var(--pine-dimension-none);padding-inline-end:var(--pine-dimension-none)}.pds-padding-inline-end-xxs{-webkit-padding-end:var(--pine-dimension-2xs);padding-inline-end:var(--pine-dimension-2xs)}.pds-padding-inline-end-xs{-webkit-padding-end:var(--pine-dimension-xs);padding-inline-end:var(--pine-dimension-xs)}.pds-padding-inline-end-sm{-webkit-padding-end:var(--pine-dimension-sm);padding-inline-end:var(--pine-dimension-sm)}.pds-padding-inline-end-md{-webkit-padding-end:var(--pine-dimension-md);padding-inline-end:var(--pine-dimension-md)}.pds-padding-inline-end-lg{-webkit-padding-end:var(--pine-dimension-lg);padding-inline-end:var(--pine-dimension-lg)}.pds-padding-inline-end-xl{-webkit-padding-end:var(--pine-dimension-xl);padding-inline-end:var(--pine-dimension-xl)}.pds-padding-inline-end-xxl{-webkit-padding-end:var(--pine-dimension-2xl);padding-inline-end:var(--pine-dimension-2xl)}.pds-box-display-block{display:block}.pds-box-display-inline-block{display:inline-block}.pds-box-display-flex{display:-ms-flexbox;display:flex}.pds-box-display-inline-flex{display:-ms-inline-flexbox;display:inline-flex}.pds-box-direction-row{-ms-flex-direction:row;flex-direction:row}.pds-box-direction-column{-ms-flex-direction:column;flex-direction:column}.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}.pds-align-self-start{-ms-flex-item-align:start;align-self:start}.pds-align-self-center{-ms-flex-item-align:center;align-self:center}.pds-align-self-end{-ms-flex-item-align:end;align-self:end}.pds-align-self-baseline{-ms-flex-item-align:baseline;align-self:baseline}.pds-align-self-stretch{-ms-flex-item-align:stretch;align-self:stretch}";
|
|
3419
|
+
const pdsBoxCss = "pds-box{--border-width-default:var(--pine-border-width-thin);--color-background-box:inherit;--color-border-box:inherit;display:block}[class*=pds-box]{background-color:var(--color-background-box);-webkit-box-sizing:border-box;box-sizing:border-box;display:-ms-inline-flexbox;display:inline-flex;min-height:var(--sizing-min-height-box);min-width:var(--sizing-min-width-box)}.pds-row>[class*=pds-box]{position:relative;width:100%}.pds-row>[class*=pds-box].pds-box--auto{width:auto}.pds-spacing-xxs{margin:4px}.pds-spacing-xs{margin:8px}.pds-spacing-sm{margin:16px}.pds-spacing-md{margin:24px}.pds-spacing-lg{margin:36px}.pds-spacing-xl{margin:48px}.pds-spacing-xxl{margin:64px}.pds-spacing-top-xxs{-webkit-margin-before:4px;margin-block-start:4px}.pds-spacing-top-xs{-webkit-margin-before:8px;margin-block-start:8px}.pds-spacing-top-sm{-webkit-margin-before:16px;margin-block-start:16px}.pds-spacing-top-md{-webkit-margin-before:24px;margin-block-start:24px}.pds-spacing-top-lg{-webkit-margin-before:36px;margin-block-start:36px}.pds-spacing-top-xl{-webkit-margin-before:48px;margin-block-start:48px}.pds-spacing-top-xxl{-webkit-margin-before:64px;margin-block-start:64px}.pds-spacing-right-xxs{-webkit-margin-end:4px;margin-inline-end:4px}.pds-spacing-right-xs{-webkit-margin-end:8px;margin-inline-end:8px}.pds-spacing-right-sm{-webkit-margin-end:16px;margin-inline-end:16px}.pds-spacing-right-md{-webkit-margin-end:24px;margin-inline-end:24px}.pds-spacing-right-lg{-webkit-margin-end:36px;margin-inline-end:36px}.pds-spacing-right-xl{-webkit-margin-end:48px;margin-inline-end:48px}.pds-spacing-right-xxl{-webkit-margin-end:64px;margin-inline-end:64px}.pds-spacing-left-xxs{-webkit-margin-start:4px;margin-inline-start:4px}.pds-spacing-left-xs{-webkit-margin-start:8px;margin-inline-start:8px}.pds-spacing-left-sm{-webkit-margin-start:16px;margin-inline-start:16px}.pds-spacing-left-md{-webkit-margin-start:24px;margin-inline-start:24px}.pds-spacing-left-lg{-webkit-margin-start:36px;margin-inline-start:36px}.pds-spacing-left-xl{-webkit-margin-start:48px;margin-inline-start:48px}.pds-spacing-left-xxl{-webkit-margin-start:64px;margin-inline-start:64px}.pds-spacing-bottom-xxs{-webkit-margin-after:4px;margin-block-end:4px}.pds-spacing-bottom-xs{-webkit-margin-after:8px;margin-block-end:8px}.pds-spacing-bottom-sm{-webkit-margin-after:16px;margin-block-end:16px}.pds-spacing-bottom-md{-webkit-margin-after:24px;margin-block-end:24px}.pds-spacing-bottom-lg{-webkit-margin-after:36px;margin-block-end:36px}.pds-spacing-bottom-xl{-webkit-margin-after:48px;margin-block-end:48px}.pds-spacing-bottom-xxl{-webkit-margin-after:64px;margin-block-end:64px}.pds-box-offset-0{-webkit-margin-start:0;margin-inline-start:0}.pds-box-offset-1{-webkit-margin-start:8.3333333333%;margin-inline-start:8.3333333333%}.pds-box-offset-2{-webkit-margin-start:16.6666666667%;margin-inline-start:16.6666666667%}.pds-box-offset-3{-webkit-margin-start:25%;margin-inline-start:25%}.pds-box-offset-4{-webkit-margin-start:33.3333333333%;margin-inline-start:33.3333333333%}.pds-box-offset-5{-webkit-margin-start:41.6666666667%;margin-inline-start:41.6666666667%}.pds-box-offset-6{-webkit-margin-start:50%;margin-inline-start:50%}.pds-box-offset-7{-webkit-margin-start:58.3333333333%;margin-inline-start:58.3333333333%}.pds-box-offset-8{-webkit-margin-start:66.6666666667%;margin-inline-start:66.6666666667%}.pds-box-offset-9{-webkit-margin-start:75%;margin-inline-start:75%}.pds-box-offset-10{-webkit-margin-start:83.3333333333%;margin-inline-start:83.3333333333%}.pds-box-offset-11{-webkit-margin-start:91.6666666667%;margin-inline-start:91.6666666667%}.pds-box-offset-12{-webkit-margin-start:100%;margin-inline-start:100%}@media (max-width: 575px){.pds-box-offset-xs-0{-webkit-margin-start:0;margin-inline-start:0}.pds-box-offset-xs-1{-webkit-margin-start:8.3333333333%;margin-inline-start:8.3333333333%}.pds-box-offset-xs-2{-webkit-margin-start:16.6666666667%;margin-inline-start:16.6666666667%}.pds-box-offset-xs-3{-webkit-margin-start:25%;margin-inline-start:25%}.pds-box-offset-xs-4{-webkit-margin-start:33.3333333333%;margin-inline-start:33.3333333333%}.pds-box-offset-xs-5{-webkit-margin-start:41.6666666667%;margin-inline-start:41.6666666667%}.pds-box-offset-xs-6{-webkit-margin-start:50%;margin-inline-start:50%}.pds-box-offset-xs-7{-webkit-margin-start:58.3333333333%;margin-inline-start:58.3333333333%}.pds-box-offset-xs-8{-webkit-margin-start:66.6666666667%;margin-inline-start:66.6666666667%}.pds-box-offset-xs-9{-webkit-margin-start:75%;margin-inline-start:75%}.pds-box-offset-xs-10{-webkit-margin-start:83.3333333333%;margin-inline-start:83.3333333333%}.pds-box-offset-xs-11{-webkit-margin-start:91.6666666667%;margin-inline-start:91.6666666667%}.pds-box-offset-xs-12{-webkit-margin-start:100%;margin-inline-start:100%}}@media (min-width: 576px){.pds-box-offset-sm-0{-webkit-margin-start:0;margin-inline-start:0}.pds-box-offset-sm-1{-webkit-margin-start:8.3333333333%;margin-inline-start:8.3333333333%}.pds-box-offset-sm-2{-webkit-margin-start:16.6666666667%;margin-inline-start:16.6666666667%}.pds-box-offset-sm-3{-webkit-margin-start:25%;margin-inline-start:25%}.pds-box-offset-sm-4{-webkit-margin-start:33.3333333333%;margin-inline-start:33.3333333333%}.pds-box-offset-sm-5{-webkit-margin-start:41.6666666667%;margin-inline-start:41.6666666667%}.pds-box-offset-sm-6{-webkit-margin-start:50%;margin-inline-start:50%}.pds-box-offset-sm-7{-webkit-margin-start:58.3333333333%;margin-inline-start:58.3333333333%}.pds-box-offset-sm-8{-webkit-margin-start:66.6666666667%;margin-inline-start:66.6666666667%}.pds-box-offset-sm-9{-webkit-margin-start:75%;margin-inline-start:75%}.pds-box-offset-sm-10{-webkit-margin-start:83.3333333333%;margin-inline-start:83.3333333333%}.pds-box-offset-sm-11{-webkit-margin-start:91.6666666667%;margin-inline-start:91.6666666667%}.pds-box-offset-sm-12{-webkit-margin-start:100%;margin-inline-start:100%}}@media (min-width: 768px){.pds-box-offset-md-0{-webkit-margin-start:0;margin-inline-start:0}.pds-box-offset-md-1{-webkit-margin-start:8.3333333333%;margin-inline-start:8.3333333333%}.pds-box-offset-md-2{-webkit-margin-start:16.6666666667%;margin-inline-start:16.6666666667%}.pds-box-offset-md-3{-webkit-margin-start:25%;margin-inline-start:25%}.pds-box-offset-md-4{-webkit-margin-start:33.3333333333%;margin-inline-start:33.3333333333%}.pds-box-offset-md-5{-webkit-margin-start:41.6666666667%;margin-inline-start:41.6666666667%}.pds-box-offset-md-6{-webkit-margin-start:50%;margin-inline-start:50%}.pds-box-offset-md-7{-webkit-margin-start:58.3333333333%;margin-inline-start:58.3333333333%}.pds-box-offset-md-8{-webkit-margin-start:66.6666666667%;margin-inline-start:66.6666666667%}.pds-box-offset-md-9{-webkit-margin-start:75%;margin-inline-start:75%}.pds-box-offset-md-10{-webkit-margin-start:83.3333333333%;margin-inline-start:83.3333333333%}.pds-box-offset-md-11{-webkit-margin-start:91.6666666667%;margin-inline-start:91.6666666667%}.pds-box-offset-md-12{-webkit-margin-start:100%;margin-inline-start:100%}}@media (min-width: 992px){.pds-box-offset-lg-0{-webkit-margin-start:0;margin-inline-start:0}.pds-box-offset-lg-1{-webkit-margin-start:8.3333333333%;margin-inline-start:8.3333333333%}.pds-box-offset-lg-2{-webkit-margin-start:16.6666666667%;margin-inline-start:16.6666666667%}.pds-box-offset-lg-3{-webkit-margin-start:25%;margin-inline-start:25%}.pds-box-offset-lg-4{-webkit-margin-start:33.3333333333%;margin-inline-start:33.3333333333%}.pds-box-offset-lg-5{-webkit-margin-start:41.6666666667%;margin-inline-start:41.6666666667%}.pds-box-offset-lg-6{-webkit-margin-start:50%;margin-inline-start:50%}.pds-box-offset-lg-7{-webkit-margin-start:58.3333333333%;margin-inline-start:58.3333333333%}.pds-box-offset-lg-8{-webkit-margin-start:66.6666666667%;margin-inline-start:66.6666666667%}.pds-box-offset-lg-9{-webkit-margin-start:75%;margin-inline-start:75%}.pds-box-offset-lg-10{-webkit-margin-start:83.3333333333%;margin-inline-start:83.3333333333%}.pds-box-offset-lg-11{-webkit-margin-start:91.6666666667%;margin-inline-start:91.6666666667%}.pds-box-offset-lg-12{-webkit-margin-start:100%;margin-inline-start:100%}}@media (min-width: 1200px){.pds-box-offset-xl-0{-webkit-margin-start:0;margin-inline-start:0}.pds-box-offset-xl-1{-webkit-margin-start:8.3333333333%;margin-inline-start:8.3333333333%}.pds-box-offset-xl-2{-webkit-margin-start:16.6666666667%;margin-inline-start:16.6666666667%}.pds-box-offset-xl-3{-webkit-margin-start:25%;margin-inline-start:25%}.pds-box-offset-xl-4{-webkit-margin-start:33.3333333333%;margin-inline-start:33.3333333333%}.pds-box-offset-xl-5{-webkit-margin-start:41.6666666667%;margin-inline-start:41.6666666667%}.pds-box-offset-xl-6{-webkit-margin-start:50%;margin-inline-start:50%}.pds-box-offset-xl-7{-webkit-margin-start:58.3333333333%;margin-inline-start:58.3333333333%}.pds-box-offset-xl-8{-webkit-margin-start:66.6666666667%;margin-inline-start:66.6666666667%}.pds-box-offset-xl-9{-webkit-margin-start:75%;margin-inline-start:75%}.pds-box-offset-xl-10{-webkit-margin-start:83.3333333333%;margin-inline-start:83.3333333333%}.pds-box-offset-xl-11{-webkit-margin-start:91.6666666667%;margin-inline-start:91.6666666667%}.pds-box-offset-xl-12{-webkit-margin-start:100%;margin-inline-start:100%}}.pds-box-0{display:none}.pds-box-1{display:-ms-inline-flexbox;display:inline-flex;-ms-flex:8.3333333333%;flex:8.3333333333%;max-width:8.3333333333%}.pds-box-2{display:-ms-inline-flexbox;display:inline-flex;-ms-flex:16.6666666667%;flex:16.6666666667%;max-width:16.6666666667%}.pds-box-3{display:-ms-inline-flexbox;display:inline-flex;-ms-flex:25%;flex:25%;max-width:25%}.pds-box-4{display:-ms-inline-flexbox;display:inline-flex;-ms-flex:33.3333333333%;flex:33.3333333333%;max-width:33.3333333333%}.pds-box-5{display:-ms-inline-flexbox;display:inline-flex;-ms-flex:41.6666666667%;flex:41.6666666667%;max-width:41.6666666667%}.pds-box-6{display:-ms-inline-flexbox;display:inline-flex;-ms-flex:50%;flex:50%;max-width:50%}.pds-box-7{display:-ms-inline-flexbox;display:inline-flex;-ms-flex:58.3333333333%;flex:58.3333333333%;max-width:58.3333333333%}.pds-box-8{display:-ms-inline-flexbox;display:inline-flex;-ms-flex:66.6666666667%;flex:66.6666666667%;max-width:66.6666666667%}.pds-box-9{display:-ms-inline-flexbox;display:inline-flex;-ms-flex:75%;flex:75%;max-width:75%}.pds-box-10{display:-ms-inline-flexbox;display:inline-flex;-ms-flex:83.3333333333%;flex:83.3333333333%;max-width:83.3333333333%}.pds-box-11{display:-ms-inline-flexbox;display:inline-flex;-ms-flex:91.6666666667%;flex:91.6666666667%;max-width:91.6666666667%}.pds-box-12{display:-ms-inline-flexbox;display:inline-flex;-ms-flex:100%;flex:100%;max-width:100%}@media (max-width: 575px){.pds-box-xs-0{display:none}.pds-box-xs-1{display:-ms-inline-flexbox;display:inline-flex;-ms-flex:8.3333333333%;flex:8.3333333333%;max-width:8.3333333333%}.pds-box-xs-2{display:-ms-inline-flexbox;display:inline-flex;-ms-flex:16.6666666667%;flex:16.6666666667%;max-width:16.6666666667%}.pds-box-xs-3{display:-ms-inline-flexbox;display:inline-flex;-ms-flex:25%;flex:25%;max-width:25%}.pds-box-xs-4{display:-ms-inline-flexbox;display:inline-flex;-ms-flex:33.3333333333%;flex:33.3333333333%;max-width:33.3333333333%}.pds-box-xs-5{display:-ms-inline-flexbox;display:inline-flex;-ms-flex:41.6666666667%;flex:41.6666666667%;max-width:41.6666666667%}.pds-box-xs-6{display:-ms-inline-flexbox;display:inline-flex;-ms-flex:50%;flex:50%;max-width:50%}.pds-box-xs-7{display:-ms-inline-flexbox;display:inline-flex;-ms-flex:58.3333333333%;flex:58.3333333333%;max-width:58.3333333333%}.pds-box-xs-8{display:-ms-inline-flexbox;display:inline-flex;-ms-flex:66.6666666667%;flex:66.6666666667%;max-width:66.6666666667%}.pds-box-xs-9{display:-ms-inline-flexbox;display:inline-flex;-ms-flex:75%;flex:75%;max-width:75%}.pds-box-xs-10{display:-ms-inline-flexbox;display:inline-flex;-ms-flex:83.3333333333%;flex:83.3333333333%;max-width:83.3333333333%}.pds-box-xs-11{display:-ms-inline-flexbox;display:inline-flex;-ms-flex:91.6666666667%;flex:91.6666666667%;max-width:91.6666666667%}.pds-box-xs-12{display:-ms-inline-flexbox;display:inline-flex;-ms-flex:100%;flex:100%;max-width:100%}}@media (min-width: 576px){.pds-box-sm-0{display:none}.pds-box-sm-1{display:-ms-inline-flexbox;display:inline-flex;-ms-flex:8.3333333333%;flex:8.3333333333%;max-width:8.3333333333%}.pds-box-sm-2{display:-ms-inline-flexbox;display:inline-flex;-ms-flex:16.6666666667%;flex:16.6666666667%;max-width:16.6666666667%}.pds-box-sm-3{display:-ms-inline-flexbox;display:inline-flex;-ms-flex:25%;flex:25%;max-width:25%}.pds-box-sm-4{display:-ms-inline-flexbox;display:inline-flex;-ms-flex:33.3333333333%;flex:33.3333333333%;max-width:33.3333333333%}.pds-box-sm-5{display:-ms-inline-flexbox;display:inline-flex;-ms-flex:41.6666666667%;flex:41.6666666667%;max-width:41.6666666667%}.pds-box-sm-6{display:-ms-inline-flexbox;display:inline-flex;-ms-flex:50%;flex:50%;max-width:50%}.pds-box-sm-7{display:-ms-inline-flexbox;display:inline-flex;-ms-flex:58.3333333333%;flex:58.3333333333%;max-width:58.3333333333%}.pds-box-sm-8{display:-ms-inline-flexbox;display:inline-flex;-ms-flex:66.6666666667%;flex:66.6666666667%;max-width:66.6666666667%}.pds-box-sm-9{display:-ms-inline-flexbox;display:inline-flex;-ms-flex:75%;flex:75%;max-width:75%}.pds-box-sm-10{display:-ms-inline-flexbox;display:inline-flex;-ms-flex:83.3333333333%;flex:83.3333333333%;max-width:83.3333333333%}.pds-box-sm-11{display:-ms-inline-flexbox;display:inline-flex;-ms-flex:91.6666666667%;flex:91.6666666667%;max-width:91.6666666667%}.pds-box-sm-12{display:-ms-inline-flexbox;display:inline-flex;-ms-flex:100%;flex:100%;max-width:100%}}@media (min-width: 768px){.pds-box-md-0{display:none}.pds-box-md-1{display:-ms-inline-flexbox;display:inline-flex;-ms-flex:8.3333333333%;flex:8.3333333333%;max-width:8.3333333333%}.pds-box-md-2{display:-ms-inline-flexbox;display:inline-flex;-ms-flex:16.6666666667%;flex:16.6666666667%;max-width:16.6666666667%}.pds-box-md-3{display:-ms-inline-flexbox;display:inline-flex;-ms-flex:25%;flex:25%;max-width:25%}.pds-box-md-4{display:-ms-inline-flexbox;display:inline-flex;-ms-flex:33.3333333333%;flex:33.3333333333%;max-width:33.3333333333%}.pds-box-md-5{display:-ms-inline-flexbox;display:inline-flex;-ms-flex:41.6666666667%;flex:41.6666666667%;max-width:41.6666666667%}.pds-box-md-6{display:-ms-inline-flexbox;display:inline-flex;-ms-flex:50%;flex:50%;max-width:50%}.pds-box-md-7{display:-ms-inline-flexbox;display:inline-flex;-ms-flex:58.3333333333%;flex:58.3333333333%;max-width:58.3333333333%}.pds-box-md-8{display:-ms-inline-flexbox;display:inline-flex;-ms-flex:66.6666666667%;flex:66.6666666667%;max-width:66.6666666667%}.pds-box-md-9{display:-ms-inline-flexbox;display:inline-flex;-ms-flex:75%;flex:75%;max-width:75%}.pds-box-md-10{display:-ms-inline-flexbox;display:inline-flex;-ms-flex:83.3333333333%;flex:83.3333333333%;max-width:83.3333333333%}.pds-box-md-11{display:-ms-inline-flexbox;display:inline-flex;-ms-flex:91.6666666667%;flex:91.6666666667%;max-width:91.6666666667%}.pds-box-md-12{display:-ms-inline-flexbox;display:inline-flex;-ms-flex:100%;flex:100%;max-width:100%}}@media (min-width: 992px){.pds-box-lg-0{display:none}.pds-box-lg-1{display:-ms-inline-flexbox;display:inline-flex;-ms-flex:8.3333333333%;flex:8.3333333333%;max-width:8.3333333333%}.pds-box-lg-2{display:-ms-inline-flexbox;display:inline-flex;-ms-flex:16.6666666667%;flex:16.6666666667%;max-width:16.6666666667%}.pds-box-lg-3{display:-ms-inline-flexbox;display:inline-flex;-ms-flex:25%;flex:25%;max-width:25%}.pds-box-lg-4{display:-ms-inline-flexbox;display:inline-flex;-ms-flex:33.3333333333%;flex:33.3333333333%;max-width:33.3333333333%}.pds-box-lg-5{display:-ms-inline-flexbox;display:inline-flex;-ms-flex:41.6666666667%;flex:41.6666666667%;max-width:41.6666666667%}.pds-box-lg-6{display:-ms-inline-flexbox;display:inline-flex;-ms-flex:50%;flex:50%;max-width:50%}.pds-box-lg-7{display:-ms-inline-flexbox;display:inline-flex;-ms-flex:58.3333333333%;flex:58.3333333333%;max-width:58.3333333333%}.pds-box-lg-8{display:-ms-inline-flexbox;display:inline-flex;-ms-flex:66.6666666667%;flex:66.6666666667%;max-width:66.6666666667%}.pds-box-lg-9{display:-ms-inline-flexbox;display:inline-flex;-ms-flex:75%;flex:75%;max-width:75%}.pds-box-lg-10{display:-ms-inline-flexbox;display:inline-flex;-ms-flex:83.3333333333%;flex:83.3333333333%;max-width:83.3333333333%}.pds-box-lg-11{display:-ms-inline-flexbox;display:inline-flex;-ms-flex:91.6666666667%;flex:91.6666666667%;max-width:91.6666666667%}.pds-box-lg-12{display:-ms-inline-flexbox;display:inline-flex;-ms-flex:100%;flex:100%;max-width:100%}}@media (min-width: 1200px){.pds-box-xl-0{display:none}.pds-box-xl-1{display:-ms-inline-flexbox;display:inline-flex;-ms-flex:8.3333333333%;flex:8.3333333333%;max-width:8.3333333333%}.pds-box-xl-2{display:-ms-inline-flexbox;display:inline-flex;-ms-flex:16.6666666667%;flex:16.6666666667%;max-width:16.6666666667%}.pds-box-xl-3{display:-ms-inline-flexbox;display:inline-flex;-ms-flex:25%;flex:25%;max-width:25%}.pds-box-xl-4{display:-ms-inline-flexbox;display:inline-flex;-ms-flex:33.3333333333%;flex:33.3333333333%;max-width:33.3333333333%}.pds-box-xl-5{display:-ms-inline-flexbox;display:inline-flex;-ms-flex:41.6666666667%;flex:41.6666666667%;max-width:41.6666666667%}.pds-box-xl-6{display:-ms-inline-flexbox;display:inline-flex;-ms-flex:50%;flex:50%;max-width:50%}.pds-box-xl-7{display:-ms-inline-flexbox;display:inline-flex;-ms-flex:58.3333333333%;flex:58.3333333333%;max-width:58.3333333333%}.pds-box-xl-8{display:-ms-inline-flexbox;display:inline-flex;-ms-flex:66.6666666667%;flex:66.6666666667%;max-width:66.6666666667%}.pds-box-xl-9{display:-ms-inline-flexbox;display:inline-flex;-ms-flex:75%;flex:75%;max-width:75%}.pds-box-xl-10{display:-ms-inline-flexbox;display:inline-flex;-ms-flex:83.3333333333%;flex:83.3333333333%;max-width:83.3333333333%}.pds-box-xl-11{display:-ms-inline-flexbox;display:inline-flex;-ms-flex:91.6666666667%;flex:91.6666666667%;max-width:91.6666666667%}.pds-box-xl-12{display:-ms-inline-flexbox;display:inline-flex;-ms-flex:100%;flex:100%;max-width:100%}}.pds-box{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1}.pds-box--auto{-ms-flex:0 0 var(--sizing-min-width-box, fit-content);flex:0 0 var(--sizing-min-width-box, fit-content);min-width:auto;width:auto}.pds-box--fit{max-width:100%;min-width:100%;width:100%}.pds-box--border{border-color:var(--color-border-box, var(--pine-color-grey-300));border-style:solid;border-width:var(--border-width-default)}.pds-box--display-flex{display:-ms-flexbox;display:flex}.pds-box--display-inline-flex{display:-ms-inline-flexbox;display:inline-flex}.pds-box--display-block{display:block}.pds-box--display-inline-block{display:inline-block}.pds-box--flex-none{-ms-flex:0 0 auto;flex:0 0 auto}.pds-box--flex-grow{-ms-flex:1 1 auto;flex:1 1 auto}.pds-box--flex-shrink{-ms-flex:0 0 auto;flex:0 0 auto}.pds-border-radius-none{border-radius:0}.pds-border-radius-xs{border-radius:var(--pine-dimension-2xs)}.pds-border-radius-sm{border-radius:var(--pine-dimension-xs)}.pds-border-radius-md{border-radius:var(--pine-dimension-125)}.pds-border-radius-lg{border-radius:var(--pine-dimension-sm)}.pds-border-radius-circle{border-radius:var(--pine-border-radius-full)}.pds-shadow-050{-webkit-box-shadow:var(--pine-box-shadow-050);box-shadow:var(--pine-box-shadow-050)}.pds-shadow-100{-webkit-box-shadow:var(--pine-box-shadow-100);box-shadow:var(--pine-box-shadow-100)}.pds-shadow-150{-webkit-box-shadow:var(--pine-box-shadow-150);box-shadow:var(--pine-box-shadow-150)}.pds-shadow-200{-webkit-box-shadow:var(--pine-box-shadow-200);box-shadow:var(--pine-box-shadow-200)}.pds-shadow-300{-webkit-box-shadow:var(--pine-box-shadow-300);box-shadow:var(--pine-box-shadow-300)}.pds-shadow-400{-webkit-box-shadow:var(--pine-box-shadow-400);box-shadow:var(--pine-box-shadow-400)}.pds-shadow-500{-webkit-box-shadow:var(--pine-box-shadow-500);box-shadow:var(--pine-box-shadow-500)}.pds-shadow-xs{-webkit-box-shadow:var(--pine-box-shadow-050);box-shadow:var(--pine-box-shadow-050)}.pds-shadow-sm{-webkit-box-shadow:var(--pine-box-shadow-100);box-shadow:var(--pine-box-shadow-100)}.pds-shadow-md{-webkit-box-shadow:var(--pine-box-shadow-150);box-shadow:var(--pine-box-shadow-150)}.pds-shadow-lg{-webkit-box-shadow:var(--pine-box-shadow-200);box-shadow:var(--pine-box-shadow-200)}.pds-box-gap-none{gap:0}.pds-box-gap-xxs{gap:var(--pine-dimension-2xs)}.pds-box-gap-xs{gap:var(--pine-dimension-xs)}.pds-box-gap-sm{gap:var(--pine-dimension-sm)}.pds-box-gap-md{gap:var(--pine-dimension-md)}.pds-box-gap-lg{gap:var(--pine-dimension-lg)}.pds-box-gap-xl{gap:var(--pine-dimension-xl)}.pds-box-gap-xxl{gap:var(--pine-dimension-2xl)}.pds-margin-block-start-xxs{-webkit-margin-before:var(--pine-dimension-2xs);margin-block-start:var(--pine-dimension-2xs)}.pds-margin-block-start-xs{-webkit-margin-before:var(--pine-dimension-xs);margin-block-start:var(--pine-dimension-xs)}.pds-margin-block-start-sm{-webkit-margin-before:var(--pine-dimension-sm);margin-block-start:var(--pine-dimension-sm)}.pds-margin-block-start-md{-webkit-margin-before:var(--pine-dimension-md);margin-block-start:var(--pine-dimension-md)}.pds-margin-block-start-lg{-webkit-margin-before:var(--pine-dimension-lg);margin-block-start:var(--pine-dimension-lg)}.pds-margin-block-start-xl{-webkit-margin-before:var(--pine-dimension-xl);margin-block-start:var(--pine-dimension-xl)}.pds-margin-block-start-xxl{-webkit-margin-before:var(--pine-dimension-2xl);margin-block-start:var(--pine-dimension-2xl)}.pds-margin-inline-start-none{-webkit-margin-start:0;margin-inline-start:0}.pds-margin-inline-start-xxs{-webkit-margin-start:var(--pine-dimension-2xs);margin-inline-start:var(--pine-dimension-2xs)}.pds-margin-inline-start-xs{-webkit-margin-start:var(--pine-dimension-xs);margin-inline-start:var(--pine-dimension-xs)}.pds-margin-inline-start-sm{-webkit-margin-start:var(--pine-dimension-sm);margin-inline-start:var(--pine-dimension-sm)}.pds-margin-inline-start-md{-webkit-margin-start:var(--pine-dimension-md);margin-inline-start:var(--pine-dimension-md)}.pds-margin-inline-start-lg{-webkit-margin-start:var(--pine-dimension-lg);margin-inline-start:var(--pine-dimension-lg)}.pds-margin-inline-start-xl{-webkit-margin-start:var(--pine-dimension-xl);margin-inline-start:var(--pine-dimension-xl)}.pds-margin-inline-start-xxl{-webkit-margin-start:var(--pine-dimension-2xl);margin-inline-start:var(--pine-dimension-2xl)}.pds-margin-inline-end-none{-webkit-margin-end:0;margin-inline-end:0}.pds-margin-inline-end-xxs{-webkit-margin-end:var(--pine-dimension-2xs);margin-inline-end:var(--pine-dimension-2xs)}.pds-margin-inline-end-xs{-webkit-margin-end:var(--pine-dimension-xs);margin-inline-end:var(--pine-dimension-xs)}.pds-margin-inline-end-sm{-webkit-margin-end:var(--pine-dimension-sm);margin-inline-end:var(--pine-dimension-sm)}.pds-margin-inline-end-md{-webkit-margin-end:var(--pine-dimension-md);margin-inline-end:var(--pine-dimension-md)}.pds-margin-inline-end-lg{-webkit-margin-end:var(--pine-dimension-lg);margin-inline-end:var(--pine-dimension-lg)}.pds-margin-inline-end-xl{-webkit-margin-end:var(--pine-dimension-xl);margin-inline-end:var(--pine-dimension-xl)}.pds-margin-inline-end-xxl{-webkit-margin-end:var(--pine-dimension-2xl);margin-inline-end:var(--pine-dimension-2xl)}.pds-margin-block-end-none{-webkit-margin-after:0;margin-block-end:0}.pds-margin-block-end-xxs{-webkit-margin-after:var(--pine-dimension-2xs);margin-block-end:var(--pine-dimension-2xs)}.pds-margin-block-end-xs{-webkit-margin-after:var(--pine-dimension-xs);margin-block-end:var(--pine-dimension-xs)}.pds-margin-block-end-sm{-webkit-margin-after:var(--pine-dimension-sm);margin-block-end:var(--pine-dimension-sm)}.pds-margin-block-end-md{-webkit-margin-after:var(--pine-dimension-md);margin-block-end:var(--pine-dimension-md)}.pds-margin-block-end-lg{-webkit-margin-after:var(--pine-dimension-lg);margin-block-end:var(--pine-dimension-lg)}.pds-margin-block-end-xl{-webkit-margin-after:var(--pine-dimension-xl);margin-block-end:var(--pine-dimension-xl)}.pds-margin-block-end-xxl{-webkit-margin-after:var(--pine-dimension-2xl);margin-block-end:var(--pine-dimension-2xl)}.pds-padding-none{padding:0}.pds-padding-xxs{padding:var(--pine-dimension-2xs)}.pds-padding-xs{padding:var(--pine-dimension-xs)}.pds-padding-sm{padding:var(--pine-dimension-sm)}.pds-padding-md{padding:var(--pine-dimension-md)}.pds-padding-lg{padding:var(--pine-dimension-lg)}.pds-padding-xl{padding:var(--pine-dimension-xl)}.pds-padding-xxl{padding:var(--pine-dimension-2xl)}.pds-padding-block-start-none{-webkit-padding-before:var(--pine-dimension-none);padding-block-start:var(--pine-dimension-none)}.pds-padding-block-start-xxs{-webkit-padding-before:var(--pine-dimension-2xs);padding-block-start:var(--pine-dimension-2xs)}.pds-padding-block-start-xs{-webkit-padding-before:var(--pine-dimension-xs);padding-block-start:var(--pine-dimension-xs)}.pds-padding-block-start-sm{-webkit-padding-before:var(--pine-dimension-sm);padding-block-start:var(--pine-dimension-sm)}.pds-padding-block-start-md{-webkit-padding-before:var(--pine-dimension-md);padding-block-start:var(--pine-dimension-md)}.pds-padding-block-start-lg{-webkit-padding-before:var(--pine-dimension-lg);padding-block-start:var(--pine-dimension-lg)}.pds-padding-block-start-xl{-webkit-padding-before:var(--pine-dimension-xl);padding-block-start:var(--pine-dimension-xl)}.pds-padding-block-start-xxl{-webkit-padding-before:var(--pine-dimension-2xl);padding-block-start:var(--pine-dimension-2xl)}.pds-padding-block-end-none{-webkit-padding-after:var(--pine-dimension-none);padding-block-end:var(--pine-dimension-none)}.pds-padding-block-end-xxs{-webkit-padding-after:var(--pine-dimension-2xs);padding-block-end:var(--pine-dimension-2xs)}.pds-padding-block-end-xs{-webkit-padding-after:var(--pine-dimension-xs);padding-block-end:var(--pine-dimension-xs)}.pds-padding-block-end-sm{-webkit-padding-after:var(--pine-dimension-sm);padding-block-end:var(--pine-dimension-sm)}.pds-padding-block-end-md{-webkit-padding-after:var(--pine-dimension-md);padding-block-end:var(--pine-dimension-md)}.pds-padding-block-end-lg{-webkit-padding-after:var(--pine-dimension-lg);padding-block-end:var(--pine-dimension-lg)}.pds-padding-block-end-xl{-webkit-padding-after:var(--pine-dimension-xl);padding-block-end:var(--pine-dimension-xl)}.pds-padding-block-end-xxl{-webkit-padding-after:var(--pine-dimension-2xl);padding-block-end:var(--pine-dimension-2xl)}.pds-padding-inline-start-none{-webkit-padding-start:var(--pine-dimension-none);padding-inline-start:var(--pine-dimension-none)}.pds-padding-inline-start-xxs{-webkit-padding-start:var(--pine-dimension-2xs);padding-inline-start:var(--pine-dimension-2xs)}.pds-padding-inline-start-xs{-webkit-padding-start:var(--pine-dimension-xs);padding-inline-start:var(--pine-dimension-xs)}.pds-padding-inline-start-sm{-webkit-padding-start:var(--pine-dimension-sm);padding-inline-start:var(--pine-dimension-sm)}.pds-padding-inline-start-md{-webkit-padding-start:var(--pine-dimension-md);padding-inline-start:var(--pine-dimension-md)}.pds-padding-inline-start-lg{-webkit-padding-start:var(--pine-dimension-lg);padding-inline-start:var(--pine-dimension-lg)}.pds-padding-inline-start-xl{-webkit-padding-start:var(--pine-dimension-xl);padding-inline-start:var(--pine-dimension-xl)}.pds-padding-inline-start-xxl{-webkit-padding-start:var(--pine-dimension-2xl);padding-inline-start:var(--pine-dimension-2xl)}.pds-padding-inline-end-none{-webkit-padding-end:var(--pine-dimension-none);padding-inline-end:var(--pine-dimension-none)}.pds-padding-inline-end-xxs{-webkit-padding-end:var(--pine-dimension-2xs);padding-inline-end:var(--pine-dimension-2xs)}.pds-padding-inline-end-xs{-webkit-padding-end:var(--pine-dimension-xs);padding-inline-end:var(--pine-dimension-xs)}.pds-padding-inline-end-sm{-webkit-padding-end:var(--pine-dimension-sm);padding-inline-end:var(--pine-dimension-sm)}.pds-padding-inline-end-md{-webkit-padding-end:var(--pine-dimension-md);padding-inline-end:var(--pine-dimension-md)}.pds-padding-inline-end-lg{-webkit-padding-end:var(--pine-dimension-lg);padding-inline-end:var(--pine-dimension-lg)}.pds-padding-inline-end-xl{-webkit-padding-end:var(--pine-dimension-xl);padding-inline-end:var(--pine-dimension-xl)}.pds-padding-inline-end-xxl{-webkit-padding-end:var(--pine-dimension-2xl);padding-inline-end:var(--pine-dimension-2xl)}.pds-box-display-block{display:block}.pds-box-display-inline-block{display:inline-block}.pds-box-display-flex{display:-ms-flexbox;display:flex}.pds-box-display-inline-flex{display:-ms-inline-flexbox;display:inline-flex}.pds-box-direction-row{-ms-flex-direction:row;flex-direction:row}.pds-box-direction-column{-ms-flex-direction:column;flex-direction:column}.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}.pds-align-self-start{-ms-flex-item-align:start;align-self:start}.pds-align-self-center{-ms-flex-item-align:center;align-self:center}.pds-align-self-end{-ms-flex-item-align:end;align-self:end}.pds-align-self-baseline{-ms-flex-item-align:baseline;align-self:baseline}.pds-align-self-stretch{-ms-flex-item-align:stretch;align-self:stretch}";
|
|
3420
3420
|
|
|
3421
3421
|
class PdsBox {
|
|
3422
3422
|
constructor(hostRef) {
|
|
@@ -3556,7 +3556,7 @@ const setColor = (color, customColors) => {
|
|
|
3556
3556
|
};
|
|
3557
3557
|
};
|
|
3558
3558
|
|
|
3559
|
-
const pdsButtonCss = ":host{--pds-button-background:var(--color-background-default);--pds-button-border:var(--pine-border);--pds-button-border-radius:var(--pine-border-radius-full);--pds-button-border-radius-start-end:var(--pine-border-radius-full);--pds-button-border-radius-start-start:var(--pine-border-radius-full);--pds-button-border-radius-end-end:var(--pine-border-radius-full);--pds-button-border-radius-end-start:var(--pine-border-radius-full);--pds-button-min-height:
|
|
3559
|
+
const pdsButtonCss = ":host{--pds-button-background:var(--color-background-default);--pds-button-border:var(--pine-border);--pds-button-border-radius:var(--pine-border-radius-full);--pds-button-border-radius-start-end:var(--pine-border-radius-full);--pds-button-border-radius-start-start:var(--pine-border-radius-full);--pds-button-border-radius-end-end:var(--pine-border-radius-full);--pds-button-border-radius-end-start:var(--pine-border-radius-full);--pds-button-min-height:var(--pine-dimension-450);--color-border-default:transparent;--color-border-disabled:transparent;--color-border-focus:transparent;--color-border-hover:transparent;--button-loader-color:var(--color-text-default);display:-ms-inline-flexbox;display:inline-flex;vertical-align:middle}:host([full-width=true]){display:-ms-flexbox;display:flex;width:100%}:host([full-width=true]) button{-ms-flex-pack:center;justify-content:center;width:100%}:host([full-width=true]) .pds-button__content{-ms-flex-pack:center;justify-content:center;text-align:center}:host([loading=true]){cursor:wait;pointer-events:none}:host([disabled=true]){pointer-events:none}.pds-button{--pds-loader-color:var(--color-text-default);-ms-flex-align:center;align-items:center;background-color:var(--pds-button-background, var(--color-background-default));border:var(--pds-button-border);border-color:var(--color-border-default);border-end-end-radius:var(--pds-button-border-radius-end-end, var(--pds-button-border-radius));border-end-start-radius:var(--pds-button-border-radius-end-start, var(--pds-button-border-radius));border-radius:var(--pds-button-border-radius);border-start-end-radius:var(--pds-button-border-radius-start-end, var(--pds-button-border-radius));border-start-start-radius:var(--pds-button-border-radius-start-start, var(--pds-button-border-radius));-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--color-text-default);cursor:pointer;display:-ms-flexbox;display:flex;font:var(--pine-typography-body-brand-label);letter-spacing:var(--pine-letter-spacing);min-height:var(--pds-button-min-height);padding:calc(var(--pine-dimension-xs) - var(--pine-border-width)) var(--pine-dimension-sm);position:relative;text-decoration:none}.pds-button pds-icon{color:currentColor;fill:currentColor}.pds-button:hover{background-color:var(--color-background-hover);border-color:var(--color-border-hover)}.pds-button:focus-visible{border-color:var(--color-border-focus);outline:var(--pine-outline-focus);outline-offset:var(--pine-border-width)}.pds-button:disabled{background-color:var(--color-background-disabled);border-color:var(--color-border-disabled);color:var(--color-text-disabled);pointer-events:none}.pds-button--primary{--color-background-default:var(--pine-color-primary);--color-background-hover:var(--pine-color-primary-hover);--color-background-disabled:var(--pine-color-primary-disabled);--color-border-default:var(--pine-color-primary);--color-border-hover:var(--pine-color-primary-hover);--color-text-default:var(--pine-color-text-primary);--color-text-disabled:var(--pine-color-text-primary-disabled);--color-outline:var(--pine-color-focus-ring);--button-loader-color:var(--pine-color-text-primary)}.pds-button--accent{--color-background-default:var(--pine-color-accent);--color-background-hover:var(--pine-color-accent-hover);--color-background-disabled:var(--pine-color-accent-disabled);--color-border-default:var(--pine-color-accent);--color-border-hover:var(--pine-color-accent-hover);--color-text-default:var(--pine-color-text-primary);--color-text-disabled:var(--pine-color-text-accent-disabled);--color-outline:var(--pine-color-focus-ring);--button-loader-color:var(--pine-color-text-primary)}.pds-button--destructive{--color-background-default:var(--pine-color-danger);--color-background-hover:var(--pine-color-danger-hover);--color-background-disabled:var(--pine-color-danger-disabled);--color-border-default:var(--pine-color-danger);--color-border-hover:var(--pine-color-danger-hover);--color-text-default:var(--pine-color-text-primary);--color-text-disabled:var(--pine-color-text-danger-disabled);--color-outline:var(--pine-color-focus-ring-danger);--button-loader-color:var(--pine-color-text-primary)}.pds-button--destructive:focus-visible{outline-color:var(--pine-color-focus-ring-danger)}.pds-button--secondary,.pds-button--disclosure{--color-background-default:var(--pine-color-secondary);--color-background-hover:var(--pine-color-secondary-hover);--color-background-disabled:var(--pine-color-secondary-disabled);--color-border-disabled:var(--pine-color-border-disabled);--color-border-focus:var(--pine-color-border);--color-border-hover:var(--pine-color-border-hover);--color-border-default:var(--pine-color-border);--color-text-default:var(--pine-color-text-secondary);--color-text-disabled:var(--pine-color-text-secondary-disabled);--color-outline:var(--pine-color-focus-ring);--button-loader-color:var(--pine-color-text-secondary)}.pds-button--secondary:hover,.pds-button--disclosure:hover{background-color:var(--pine-color-secondary-hover)}.pds-button--unstyled{--color-background-default:transparent;--color-background-hover:transparent;--color-background-disabled:transparent;--color-text-default:inherit;--button-loader-color:inherit;border-width:var(--pine-dimension-none);margin:var(--pine-dimension-none);min-height:auto;padding:var(--pine-dimension-none);width:inherit}.pds-button__content{-ms-flex-align:center;align-items:center;display:-ms-inline-flexbox;display:inline-flex;gap:var(--pine-dimension-xs);position:relative;width:100%}.pds-button__icon{display:-ms-inline-flexbox;display:inline-flex}.pds-button__text{-ms-flex-align:center;align-items:center;display:-ms-inline-flexbox;display:inline-flex;white-space:nowrap}.pds-button__icon--hidden,.pds-button__text--hidden{opacity:0}.pds-button__loader{height:var(--pine-dimension-250);left:50%;position:absolute;top:50%;-webkit-transform:translate(-50%, -50%);transform:translate(-50%, -50%);width:var(--pine-dimension-250)}.pds-button--loading{cursor:wait;pointer-events:none}.pds-button--loading .pds-button__loader pds-loader{--loader-color:var(--button-loader-color)}.pds-button--icon-only{-ms-flex-align:center;align-items:center;border-radius:var(--pine-border-radius-full);height:var(--button-dimension);-ms-flex-pack:center;justify-content:center;min-height:var(--button-dimension);min-width:var(--button-dimension);padding:var(--pine-dimension-xs);width:var(--button-dimension)}.pds-button--icon-only .pds-button__content{height:100%;-ms-flex-pack:center;justify-content:center;width:100%}.pds-button--icon-only .pds-button__text--hidden{border:0;clip:rect(0 0 0 0);-webkit-clip-path:polygon(0 0, 0 0, 0 0);clip-path:polygon(0 0, 0 0, 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}";
|
|
3560
3560
|
|
|
3561
3561
|
/**
|
|
3562
3562
|
* @part button - Exposes the button element for styling.
|
|
@@ -3825,7 +3825,7 @@ const inheritAriaAttributes = (el, ignoreList) => {
|
|
|
3825
3825
|
|
|
3826
3826
|
const labelCss$5 = ":host{display:inline-block}:host([aria-disabled=true]) label{color:var(--pine-color-text-label-disabled)}:host([aria-readonly=true]) label{color:var(--pine-color-text-label-readonly)}label{color:var(--pine-color-text-label);font:var(--pine-typography-body-medium);letter-spacing:var(--pine-letter-spacing)}";
|
|
3827
3827
|
|
|
3828
|
-
const pdsCheckboxCss = ":host{-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex;-ms-flex-flow:row wrap;flex-flow:row wrap}:host(.is-invalid) input{border-color:var(--pine-color-border-danger)}:host(.is-invalid) input:checked{background:var(--pine-color-danger)}:host(.is-invalid) input:checked:hover{background:var(--pine-color-danger-hover);border-color:var(--pine-color-border-danger-hover)}:host(.is-invalid) input:focus-visible{outline-color:var(--pine-color-focus-ring-danger)}:host(.is-invalid) label,:host(.is-invalid) .pds-checkbox__message--error{color:var(--pine-color-text-message-danger)}:host(.is-indeterminate) input{background:var(--pine-color-accent);border-color:var(--pine-color-accent)}:host(.is-indeterminate) input:hover{background:var(--pine-color-accent);border-color:var(--pine-color-accent-hover)}:host(.is-indeterminate) input::after{border:1px solid var(--pine-color-secondary);-webkit-border-after:var(--pine-border-width-none);border-block-end:var(--pine-border-width-none);-webkit-border-before:var(--pine-border-width-none);border-block-start:var(--pine-border-width-none);-webkit-border-start:var(--pine-border-width-none);border-inline-start:var(--pine-border-width-none);content:\"\";display:block;height:7px;left:50%;position:absolute;top:50%;-webkit-transform:rotate(90deg) translate3d(-103%, 32%, 0);transform:rotate(90deg) translate3d(-103%, 32%, 0);width:4px}input{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--pine-color-background-container);border:var(--pine-border);border-radius:var(--pine-dimension-2xs);-ms-flex:none;flex:none;height:var(--pine-dimension-sm);margin:0;-webkit-margin-before:var(--pine-dimension-025);margin-block-start:var(--pine-dimension-025);position:relative;width:var(--pine-dimension-sm)}input:hover{background:var(--pine-color-background-container-hover);border:var(--pine-border-hover)}input:checked{background:var(--pine-color-accent);border-color:var(--pine-color-accent)}input:checked:hover{background:var(--pine-color-accent-hover);border-color:var(--pine-color-accent-hover)}input:checked::after{border:1px solid var(--pine-color-secondary);-webkit-border-before:var(--pine-border-width-none);border-block-start:var(--pine-border-width-none);-webkit-border-start:var(--pine-border-width-none);border-inline-start:var(--pine-border-width-none);content:\"\";display:block;height:7px;left:50%;position:absolute;top:50%;-webkit-transform:rotate(43deg) translate3d(-110%, -30%, 0);transform:rotate(43deg) translate3d(-110%, -30%, 0);width:4px}input:disabled{background:var(--pine-color-background-container-disabled);border-color:var(--pine-color-border-disabled);cursor:not-allowed}input:disabled:checked{background:var(--pine-color-background-container-disabled);border-color:var(--pine-color-border-disabled)}input:disabled:checked::after{border-color:var(--pine-color-grey-300)}input:disabled+label{cursor:not-allowed}input:disabled~.pds-checkbox__message{color:var(--pine-color-text-disabled)}input:focus-visible{outline:var(--pine-outline-focus)}label{display:-ms-flexbox;display:flex;gap:var(--pine-dimension-xs)}.visually-hidden{border:0;clip:rect(0 0 0 0);-webkit-clip-path:polygon(0 0, 0 0, 0 0);clip-path:polygon(0 0, 0 0, 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.pds-checkbox__message{color:var(--pine-color-text-message);-webkit-margin-before:6px;margin-block-start:6px;-webkit-margin-start:var(--pine-dimension-md);margin-inline-start:var(--pine-dimension-md);width:100%}.pds-checkbox__message--error{display:-ms-flexbox;display:flex;font-size:var(--pine-font-size-085);gap:var(--pine-dimension-050)}.pds-checkbox__message--error pds-icon{-webkit-margin-before:var(--pine-dimension-025);margin-block-start:var(--pine-dimension-025)}";
|
|
3828
|
+
const pdsCheckboxCss = ":host{-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex;-ms-flex-flow:row wrap;flex-flow:row wrap}:host(.is-invalid) input{border-color:var(--pine-color-border-danger)}:host(.is-invalid) input:checked{background:var(--pine-color-danger)}:host(.is-invalid) input:checked:hover{background:var(--pine-color-danger-hover);border-color:var(--pine-color-border-danger-hover)}:host(.is-invalid) input:focus-visible{outline-color:var(--pine-color-focus-ring-danger)}:host(.is-invalid) label,:host(.is-invalid) .pds-checkbox__message--error{color:var(--pine-color-text-message-danger)}:host(.is-indeterminate) input{background:var(--pine-color-accent);border-color:var(--pine-color-accent)}:host(.is-indeterminate) input:hover{background:var(--pine-color-accent);border-color:var(--pine-color-accent-hover)}:host(.is-indeterminate) input::after{border:1px solid var(--pine-color-secondary);-webkit-border-after:var(--pine-border-width-none);border-block-end:var(--pine-border-width-none);-webkit-border-before:var(--pine-border-width-none);border-block-start:var(--pine-border-width-none);-webkit-border-start:var(--pine-border-width-none);border-inline-start:var(--pine-border-width-none);content:\"\";display:block;height:7px;left:50%;position:absolute;top:50%;-webkit-transform:rotate(90deg) translate3d(-103%, 32%, 0);transform:rotate(90deg) translate3d(-103%, 32%, 0);width:4px}input{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--pine-color-background-container);border:var(--pine-border);border-radius:var(--pine-dimension-2xs);-ms-flex:none;flex:none;height:var(--pine-dimension-sm);margin:0;-webkit-margin-before:var(--pine-dimension-025);margin-block-start:var(--pine-dimension-025);position:relative;width:var(--pine-dimension-sm)}input:hover{background:var(--pine-color-background-container-hover);border:var(--pine-border-hover)}input:checked{background:var(--pine-color-accent);border-color:var(--pine-color-accent)}input:checked:hover{background:var(--pine-color-accent-hover);border-color:var(--pine-color-accent-hover)}input:checked::after{border:1px solid var(--pine-color-secondary);-webkit-border-before:var(--pine-border-width-none);border-block-start:var(--pine-border-width-none);-webkit-border-start:var(--pine-border-width-none);border-inline-start:var(--pine-border-width-none);content:\"\";display:block;height:7px;left:50%;position:absolute;top:50%;-webkit-transform:rotate(43deg) translate3d(-110%, -30%, 0);transform:rotate(43deg) translate3d(-110%, -30%, 0);width:4px}input:disabled{background:var(--pine-color-background-container-disabled);border-color:var(--pine-color-border-disabled);cursor:not-allowed}input:disabled:checked{background:var(--pine-color-background-container-disabled);border-color:var(--pine-color-border-disabled)}input:disabled:checked::after{border-color:var(--pine-color-grey-300)}input:disabled+label{cursor:not-allowed}input:disabled~.pds-checkbox__message{color:var(--pine-color-text-disabled)}input:focus-visible{outline:var(--pine-outline-focus)}label{display:-ms-flexbox;display:flex;gap:var(--pine-dimension-xs)}.visually-hidden{border:0;clip:rect(0 0 0 0);-webkit-clip-path:polygon(0 0, 0 0, 0 0);clip-path:polygon(0 0, 0 0, 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.pds-checkbox__message{color:var(--pine-color-text-message);font:var(--pine-typography-body-sm-medium);-webkit-margin-before:6px;margin-block-start:6px;-webkit-margin-start:var(--pine-dimension-md);margin-inline-start:var(--pine-dimension-md);width:100%}.pds-checkbox__message--error{display:-ms-flexbox;display:flex;font-size:var(--pine-font-size-085);gap:var(--pine-dimension-050)}.pds-checkbox__message--error pds-icon{-webkit-margin-before:var(--pine-dimension-025);margin-block-start:var(--pine-dimension-025)}";
|
|
3829
3829
|
|
|
3830
3830
|
class PdsCheckbox {
|
|
3831
3831
|
constructor(hostRef) {
|
|
@@ -3995,115 +3995,6 @@ class PdsChip {
|
|
|
3995
3995
|
}; }
|
|
3996
3996
|
}
|
|
3997
3997
|
|
|
3998
|
-
const pdsCopytextCss = ":host(.pds-copytext){--copytext-color-background-hover:var(--pine-color-grey-200)}:host(.pds-copytext) pds-button{-ms-flex-align:center;align-items:center;background:var(--pine-color-secondary);border-radius:var(--pine-border-radius-full);border-width:var(--pine-dimension-none);display:-ms-inline-flexbox;display:inline-flex;font-family:var(--pine-font-family-heading);font-size:var(--pine-font-size-body-md);font-weight:var(--pine-font-weight-body-medium);letter-spacing:var(--pine-letter-spacing);line-height:var(--pine-line-height-body);max-width:100%;padding:var(--pine-dimension-2xs) var(--pine-dimension-xs)}:host(.pds-copytext) pds-button::part(button){-webkit-padding-end:calc(var(--pine-dimension-xs) / 2);padding-inline-end:calc(var(--pine-dimension-xs) / 2)}:host(.pds-copytext) pds-button::part(button):hover{background-color:var(--copytext-color-background-hover);color:var(--pine-color-text-secondary-hover)}:host(.pds-copytext) pds-button span{font-weight:var(--pine-font-weight-medium);-webkit-margin-end:var(--pine-dimension-xs);margin-inline-end:var(--pine-dimension-xs);white-space:nowrap}:host(.pds-copytext) pds-button :nth-child(2){-ms-flex-negative:0;flex-shrink:0}:host(.pds-copytext):host(.pds-copytext--bordered){border-width:var(--pine-dimension-none);padding:var(--pine-dimension-none)}:host(.pds-copytext):host(.pds-copytext--bordered) pds-button{padding:var(--pine-dimension-none)}:host(.pds-copytext):host(.pds-copytext--bordered)::part(button):hover{background-color:transparent}:host(.pds-copytext):host(.pds-copytext--bordered) span{border:var(--pine-border);border-radius:var(--pine-border-radius-full);-webkit-margin-end:var(--pine-dimension-sm);margin-inline-end:var(--pine-dimension-sm);padding-block:var(--pine-dimension-xs);padding-inline:var(--pine-dimension-sm)}:host(.pds-copytext):host(.pds-copytext--bordered) :hover span{border:var(--pine-border-hover)}:host(.pds-copytext):host(.pds-copytext--full-width) pds-button,:host(.pds-copytext):host(.pds-copytext--truncated) pds-button{display:-ms-inline-flexbox;display:inline-flex;min-width:auto;width:100%}:host(.pds-copytext):host(.pds-copytext--full-width) pds-button::part(button-content),:host(.pds-copytext):host(.pds-copytext--full-width) pds-button::part(button-text),:host(.pds-copytext):host(.pds-copytext--truncated) pds-button::part(button-content),:host(.pds-copytext):host(.pds-copytext--truncated) pds-button::part(button-text){-ms-flex-negative:1;flex-shrink:1;width:100%}:host(.pds-copytext):host(.pds-copytext--full-width) pds-button span,:host(.pds-copytext):host(.pds-copytext--truncated) pds-button span{text-align:start;width:100%}:host(.pds-copytext):host(.pds-copytext--full-width) pds-button{-ms-flex-pack:justify;justify-content:space-between}:host(.pds-copytext):host(.pds-copytext--truncated) pds-button span{overflow:hidden;text-overflow:ellipsis}";
|
|
3999
|
-
|
|
4000
|
-
class PdsCopytext {
|
|
4001
|
-
constructor(hostRef) {
|
|
4002
|
-
registerInstance(this, hostRef);
|
|
4003
|
-
this.pdsCopyTextClick = createEvent(this, "pdsCopyTextClick");
|
|
4004
|
-
/**
|
|
4005
|
-
* Determines whether `copytext` should have a visible border.
|
|
4006
|
-
* @defaultValue true
|
|
4007
|
-
*/
|
|
4008
|
-
this.border = true;
|
|
4009
|
-
/**
|
|
4010
|
-
* Determines whether `copytext` should expand to the full width of its container.
|
|
4011
|
-
* @defaultValue false
|
|
4012
|
-
*/
|
|
4013
|
-
this.fullWidth = false;
|
|
4014
|
-
/**
|
|
4015
|
-
* Determines whether the `value` should truncate and display with an ellipsis.
|
|
4016
|
-
* @defaultValue false
|
|
4017
|
-
*/
|
|
4018
|
-
this.truncate = false;
|
|
4019
|
-
this.copyToClipboard = async (value) => {
|
|
4020
|
-
try {
|
|
4021
|
-
if (typeof navigator.clipboard !== 'undefined') {
|
|
4022
|
-
await navigator.clipboard.writeText(value);
|
|
4023
|
-
this.pdsCopyTextClick.emit('Copied to clipboard');
|
|
4024
|
-
}
|
|
4025
|
-
}
|
|
4026
|
-
catch (err) {
|
|
4027
|
-
this.pdsCopyTextClick.emit(`Error writing text to clipboard: ${err}`);
|
|
4028
|
-
}
|
|
4029
|
-
};
|
|
4030
|
-
this.handleClick = () => {
|
|
4031
|
-
this.copyToClipboard(this.value);
|
|
4032
|
-
};
|
|
4033
|
-
}
|
|
4034
|
-
classNames() {
|
|
4035
|
-
const classNames = ['pds-copytext'];
|
|
4036
|
-
if (this.border) {
|
|
4037
|
-
classNames.push('pds-copytext--bordered');
|
|
4038
|
-
}
|
|
4039
|
-
if (this.fullWidth) {
|
|
4040
|
-
classNames.push('pds-copytext--full-width');
|
|
4041
|
-
}
|
|
4042
|
-
if (this.truncate) {
|
|
4043
|
-
classNames.push('pds-copytext--truncated');
|
|
4044
|
-
}
|
|
4045
|
-
return classNames.join(' ');
|
|
4046
|
-
}
|
|
4047
|
-
render() {
|
|
4048
|
-
return (hAsync(Host, { key: '46c38faeba9b70d2e510a4b6af08866577936478', class: this.classNames(), id: this.componentId }, hAsync("pds-button", { key: '6e28c11a9a7a57f4c256b0283b64ec655a897f65', type: "button", variant: "unstyled", onClick: this.handleClick }, hAsync("span", { key: '6818451171f85fd6ad63f07c69871082d3fcba4e' }, this.value), hAsync("pds-icon", { key: '05e683d7b28575d924d6af482e6ce4c3cfee3f05', icon: copy, size: "16px" }))));
|
|
4049
|
-
}
|
|
4050
|
-
static get style() { return pdsCopytextCss; }
|
|
4051
|
-
static get cmpMeta() { return {
|
|
4052
|
-
"$flags$": 9,
|
|
4053
|
-
"$tagName$": "pds-copytext",
|
|
4054
|
-
"$members$": {
|
|
4055
|
-
"border": [516],
|
|
4056
|
-
"componentId": [1, "component-id"],
|
|
4057
|
-
"fullWidth": [4, "full-width"],
|
|
4058
|
-
"truncate": [4],
|
|
4059
|
-
"value": [1]
|
|
4060
|
-
},
|
|
4061
|
-
"$listeners$": undefined,
|
|
4062
|
-
"$lazyBundleId$": "-",
|
|
4063
|
-
"$attrsToReflect$": [["border", "border"]]
|
|
4064
|
-
}; }
|
|
4065
|
-
}
|
|
4066
|
-
|
|
4067
|
-
const pdsDividerCss = ".pds-divider{background:var(--pine-color-border);border:0;display:-ms-flexbox;display:flex;height:var(--pine-border-width);margin:0;width:100%}.pds-divider--vertical{height:100%;width:1px}.pds-divider--offset-xxs{margin:0 calc(var(--pine-dimension-2xs) * -1);padding:0 var(--pine-dimension-2xs)}.pds-divider--offset-xxs.pds-divider--vertical{margin:calc(var(--pine-dimension-2xs) * -1) 0;padding:var(--pine-dimension-2xs) 0}.pds-divider--offset-xs{margin:0 calc(var(--pine-dimension-xs) * -1);padding:0 var(--pine-dimension-xs)}.pds-divider--offset-xs.pds-divider--vertical{margin:calc(var(--pine-dimension-xs) * -1) 0;padding:var(--pine-dimension-xs) 0}.pds-divider--offset-sm{margin:0 calc(var(--pine-dimension-sm) * -1);padding:0 var(--pine-dimension-sm)}.pds-divider--offset-sm.pds-divider--vertical{margin:calc(var(--pine-dimension-sm) * -1) 0;padding:var(--pine-dimension-sm) 0}.pds-divider--offset-md{margin:0 calc(var(--pine-dimension-md) * -1);padding:0 var(--pine-dimension-md)}.pds-divider--offset-md.pds-divider--vertical{margin:calc(var(--pine-dimension-md) * -1) 0;padding:var(--pine-dimension-md) 0}.pds-divider--offset-lg{margin:0 calc(var(--pine-dimension-lg) * -1);padding:0 var(--pine-dimension-lg)}.pds-divider--offset-lg.pds-divider--vertical{margin:calc(var(--pine-dimension-lg) * -1) 0;padding:var(--pine-dimension-lg) 0}.pds-divider--offset-xl{margin:0 calc(var(--pine-dimension-xl) * -1);padding:0 var(--pine-dimension-xl)}.pds-divider--offset-xl.pds-divider--vertical{margin:calc(var(--pine-dimension-xl) * -1) 0;padding:var(--pine-dimension-xl) 0}.pds-divider--offset-xxl{margin:0 calc(var(--pine-dimension-2xl) * -1);padding:0 var(--pine-dimension-2xl)}.pds-divider--offset-xxl.pds-divider--vertical{margin:calc(var(--pine-dimension-2xl) * -1) 0;padding:var(--pine-dimension-2xl) 0}@media (max-width: 767px){.pds-divider--vertical{display:none}}";
|
|
4068
|
-
|
|
4069
|
-
class PdsDivider {
|
|
4070
|
-
constructor(hostRef) {
|
|
4071
|
-
registerInstance(this, hostRef);
|
|
4072
|
-
/**
|
|
4073
|
-
* Sets divider to display vertically.
|
|
4074
|
-
* @defaultValue false
|
|
4075
|
-
*/
|
|
4076
|
-
this.vertical = false;
|
|
4077
|
-
}
|
|
4078
|
-
classNames() {
|
|
4079
|
-
const classNames = ['pds-divider'];
|
|
4080
|
-
if (this.vertical) {
|
|
4081
|
-
classNames.push('pds-divider--vertical');
|
|
4082
|
-
}
|
|
4083
|
-
if (this.offset) {
|
|
4084
|
-
const offsetClassName = 'pds-divider--offset-' + this.offset;
|
|
4085
|
-
classNames.push(offsetClassName);
|
|
4086
|
-
}
|
|
4087
|
-
return classNames.join(' ');
|
|
4088
|
-
}
|
|
4089
|
-
render() {
|
|
4090
|
-
return (hAsync(Host, { key: 'ee48ee45e0463abbd3cb7aa686f8d86928830ccb', id: this.componentId }, hAsync("hr", { key: '4af739f85e502a7d9bff1b3581c283cb6ee53a0e', class: this.classNames() })));
|
|
4091
|
-
}
|
|
4092
|
-
static get style() { return pdsDividerCss; }
|
|
4093
|
-
static get cmpMeta() { return {
|
|
4094
|
-
"$flags$": 9,
|
|
4095
|
-
"$tagName$": "pds-divider",
|
|
4096
|
-
"$members$": {
|
|
4097
|
-
"componentId": [1, "component-id"],
|
|
4098
|
-
"offset": [1],
|
|
4099
|
-
"vertical": [4]
|
|
4100
|
-
},
|
|
4101
|
-
"$listeners$": undefined,
|
|
4102
|
-
"$lazyBundleId$": "-",
|
|
4103
|
-
"$attrsToReflect$": []
|
|
4104
|
-
}; }
|
|
4105
|
-
}
|
|
4106
|
-
|
|
4107
3998
|
/**
|
|
4108
3999
|
* Custom positioning reference element.
|
|
4109
4000
|
* @see https://floating-ui.com/docs/virtual-elements
|
|
@@ -5361,65 +5252,1917 @@ function isRTL$1(element) {
|
|
|
5361
5252
|
return getComputedStyle$1(element).direction === 'rtl';
|
|
5362
5253
|
}
|
|
5363
5254
|
|
|
5364
|
-
const platform = {
|
|
5365
|
-
convertOffsetParentRelativeRectToViewportRelativeRect,
|
|
5366
|
-
getDocumentElement,
|
|
5367
|
-
getClippingRect,
|
|
5368
|
-
getOffsetParent,
|
|
5369
|
-
getElementRects,
|
|
5370
|
-
getClientRects,
|
|
5371
|
-
getDimensions,
|
|
5372
|
-
getScale,
|
|
5373
|
-
isElement,
|
|
5374
|
-
isRTL: isRTL$1
|
|
5375
|
-
};
|
|
5376
|
-
|
|
5377
|
-
/**
|
|
5378
|
-
* Modifies the placement by translating the floating element along the
|
|
5379
|
-
* specified axes.
|
|
5380
|
-
* A number (shorthand for `mainAxis` or distance), or an axes configuration
|
|
5381
|
-
* object may be passed.
|
|
5382
|
-
* @see https://floating-ui.com/docs/offset
|
|
5383
|
-
*/
|
|
5384
|
-
const offset = offset$1;
|
|
5385
|
-
|
|
5386
|
-
/**
|
|
5387
|
-
* Optimizes the visibility of the floating element by shifting it in order to
|
|
5388
|
-
* keep it in view when it will overflow the clipping boundary.
|
|
5389
|
-
* @see https://floating-ui.com/docs/shift
|
|
5390
|
-
*/
|
|
5391
|
-
const shift = shift$1;
|
|
5392
|
-
|
|
5393
|
-
/**
|
|
5394
|
-
* Optimizes the visibility of the floating element by flipping the `placement`
|
|
5395
|
-
* in order to keep it in view when the preferred placement(s) will overflow the
|
|
5396
|
-
* clipping boundary. Alternative to `autoPlacement`.
|
|
5397
|
-
* @see https://floating-ui.com/docs/flip
|
|
5398
|
-
*/
|
|
5399
|
-
const flip = flip$1;
|
|
5255
|
+
const platform = {
|
|
5256
|
+
convertOffsetParentRelativeRectToViewportRelativeRect,
|
|
5257
|
+
getDocumentElement,
|
|
5258
|
+
getClippingRect,
|
|
5259
|
+
getOffsetParent,
|
|
5260
|
+
getElementRects,
|
|
5261
|
+
getClientRects,
|
|
5262
|
+
getDimensions,
|
|
5263
|
+
getScale,
|
|
5264
|
+
isElement,
|
|
5265
|
+
isRTL: isRTL$1
|
|
5266
|
+
};
|
|
5267
|
+
|
|
5268
|
+
/**
|
|
5269
|
+
* Modifies the placement by translating the floating element along the
|
|
5270
|
+
* specified axes.
|
|
5271
|
+
* A number (shorthand for `mainAxis` or distance), or an axes configuration
|
|
5272
|
+
* object may be passed.
|
|
5273
|
+
* @see https://floating-ui.com/docs/offset
|
|
5274
|
+
*/
|
|
5275
|
+
const offset = offset$1;
|
|
5276
|
+
|
|
5277
|
+
/**
|
|
5278
|
+
* Optimizes the visibility of the floating element by shifting it in order to
|
|
5279
|
+
* keep it in view when it will overflow the clipping boundary.
|
|
5280
|
+
* @see https://floating-ui.com/docs/shift
|
|
5281
|
+
*/
|
|
5282
|
+
const shift = shift$1;
|
|
5283
|
+
|
|
5284
|
+
/**
|
|
5285
|
+
* Optimizes the visibility of the floating element by flipping the `placement`
|
|
5286
|
+
* in order to keep it in view when the preferred placement(s) will overflow the
|
|
5287
|
+
* clipping boundary. Alternative to `autoPlacement`.
|
|
5288
|
+
* @see https://floating-ui.com/docs/flip
|
|
5289
|
+
*/
|
|
5290
|
+
const flip = flip$1;
|
|
5291
|
+
|
|
5292
|
+
/**
|
|
5293
|
+
* Computes the `x` and `y` coordinates that will place the floating element
|
|
5294
|
+
* next to a given reference element.
|
|
5295
|
+
*/
|
|
5296
|
+
const computePosition = (reference, floating, options) => {
|
|
5297
|
+
// This caches the expensive `getClippingElementAncestors` function so that
|
|
5298
|
+
// multiple lifecycle resets re-use the same result. It only lives for a
|
|
5299
|
+
// single call. If other functions become expensive, we can add them as well.
|
|
5300
|
+
const cache = new Map();
|
|
5301
|
+
const mergedOptions = {
|
|
5302
|
+
platform,
|
|
5303
|
+
...options
|
|
5304
|
+
};
|
|
5305
|
+
const platformWithCache = {
|
|
5306
|
+
...mergedOptions.platform,
|
|
5307
|
+
_c: cache
|
|
5308
|
+
};
|
|
5309
|
+
return computePosition$1(reference, floating, {
|
|
5310
|
+
...mergedOptions,
|
|
5311
|
+
platform: platformWithCache
|
|
5312
|
+
});
|
|
5313
|
+
};
|
|
5314
|
+
|
|
5315
|
+
/*! @license DOMPurify 3.2.6 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.2.6/LICENSE */
|
|
5316
|
+
|
|
5317
|
+
const {
|
|
5318
|
+
entries,
|
|
5319
|
+
setPrototypeOf,
|
|
5320
|
+
isFrozen,
|
|
5321
|
+
getPrototypeOf,
|
|
5322
|
+
getOwnPropertyDescriptor
|
|
5323
|
+
} = Object;
|
|
5324
|
+
let {
|
|
5325
|
+
freeze,
|
|
5326
|
+
seal,
|
|
5327
|
+
create
|
|
5328
|
+
} = Object; // eslint-disable-line import/no-mutable-exports
|
|
5329
|
+
let {
|
|
5330
|
+
apply,
|
|
5331
|
+
construct
|
|
5332
|
+
} = typeof Reflect !== 'undefined' && Reflect;
|
|
5333
|
+
if (!freeze) {
|
|
5334
|
+
freeze = function freeze(x) {
|
|
5335
|
+
return x;
|
|
5336
|
+
};
|
|
5337
|
+
}
|
|
5338
|
+
if (!seal) {
|
|
5339
|
+
seal = function seal(x) {
|
|
5340
|
+
return x;
|
|
5341
|
+
};
|
|
5342
|
+
}
|
|
5343
|
+
if (!apply) {
|
|
5344
|
+
apply = function apply(fun, thisValue, args) {
|
|
5345
|
+
return fun.apply(thisValue, args);
|
|
5346
|
+
};
|
|
5347
|
+
}
|
|
5348
|
+
if (!construct) {
|
|
5349
|
+
construct = function construct(Func, args) {
|
|
5350
|
+
return new Func(...args);
|
|
5351
|
+
};
|
|
5352
|
+
}
|
|
5353
|
+
const arrayForEach = unapply(Array.prototype.forEach);
|
|
5354
|
+
const arrayLastIndexOf = unapply(Array.prototype.lastIndexOf);
|
|
5355
|
+
const arrayPop = unapply(Array.prototype.pop);
|
|
5356
|
+
const arrayPush = unapply(Array.prototype.push);
|
|
5357
|
+
const arraySplice = unapply(Array.prototype.splice);
|
|
5358
|
+
const stringToLowerCase = unapply(String.prototype.toLowerCase);
|
|
5359
|
+
const stringToString = unapply(String.prototype.toString);
|
|
5360
|
+
const stringMatch = unapply(String.prototype.match);
|
|
5361
|
+
const stringReplace = unapply(String.prototype.replace);
|
|
5362
|
+
const stringIndexOf = unapply(String.prototype.indexOf);
|
|
5363
|
+
const stringTrim = unapply(String.prototype.trim);
|
|
5364
|
+
const objectHasOwnProperty = unapply(Object.prototype.hasOwnProperty);
|
|
5365
|
+
const regExpTest = unapply(RegExp.prototype.test);
|
|
5366
|
+
const typeErrorCreate = unconstruct(TypeError);
|
|
5367
|
+
/**
|
|
5368
|
+
* Creates a new function that calls the given function with a specified thisArg and arguments.
|
|
5369
|
+
*
|
|
5370
|
+
* @param func - The function to be wrapped and called.
|
|
5371
|
+
* @returns A new function that calls the given function with a specified thisArg and arguments.
|
|
5372
|
+
*/
|
|
5373
|
+
function unapply(func) {
|
|
5374
|
+
return function (thisArg) {
|
|
5375
|
+
if (thisArg instanceof RegExp) {
|
|
5376
|
+
thisArg.lastIndex = 0;
|
|
5377
|
+
}
|
|
5378
|
+
for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
|
|
5379
|
+
args[_key - 1] = arguments[_key];
|
|
5380
|
+
}
|
|
5381
|
+
return apply(func, thisArg, args);
|
|
5382
|
+
};
|
|
5383
|
+
}
|
|
5384
|
+
/**
|
|
5385
|
+
* Creates a new function that constructs an instance of the given constructor function with the provided arguments.
|
|
5386
|
+
*
|
|
5387
|
+
* @param func - The constructor function to be wrapped and called.
|
|
5388
|
+
* @returns A new function that constructs an instance of the given constructor function with the provided arguments.
|
|
5389
|
+
*/
|
|
5390
|
+
function unconstruct(func) {
|
|
5391
|
+
return function () {
|
|
5392
|
+
for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
|
|
5393
|
+
args[_key2] = arguments[_key2];
|
|
5394
|
+
}
|
|
5395
|
+
return construct(func, args);
|
|
5396
|
+
};
|
|
5397
|
+
}
|
|
5398
|
+
/**
|
|
5399
|
+
* Add properties to a lookup table
|
|
5400
|
+
*
|
|
5401
|
+
* @param set - The set to which elements will be added.
|
|
5402
|
+
* @param array - The array containing elements to be added to the set.
|
|
5403
|
+
* @param transformCaseFunc - An optional function to transform the case of each element before adding to the set.
|
|
5404
|
+
* @returns The modified set with added elements.
|
|
5405
|
+
*/
|
|
5406
|
+
function addToSet(set, array) {
|
|
5407
|
+
let transformCaseFunc = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : stringToLowerCase;
|
|
5408
|
+
if (setPrototypeOf) {
|
|
5409
|
+
// Make 'in' and truthy checks like Boolean(set.constructor)
|
|
5410
|
+
// independent of any properties defined on Object.prototype.
|
|
5411
|
+
// Prevent prototype setters from intercepting set as a this value.
|
|
5412
|
+
setPrototypeOf(set, null);
|
|
5413
|
+
}
|
|
5414
|
+
let l = array.length;
|
|
5415
|
+
while (l--) {
|
|
5416
|
+
let element = array[l];
|
|
5417
|
+
if (typeof element === 'string') {
|
|
5418
|
+
const lcElement = transformCaseFunc(element);
|
|
5419
|
+
if (lcElement !== element) {
|
|
5420
|
+
// Config presets (e.g. tags.js, attrs.js) are immutable.
|
|
5421
|
+
if (!isFrozen(array)) {
|
|
5422
|
+
array[l] = lcElement;
|
|
5423
|
+
}
|
|
5424
|
+
element = lcElement;
|
|
5425
|
+
}
|
|
5426
|
+
}
|
|
5427
|
+
set[element] = true;
|
|
5428
|
+
}
|
|
5429
|
+
return set;
|
|
5430
|
+
}
|
|
5431
|
+
/**
|
|
5432
|
+
* Clean up an array to harden against CSPP
|
|
5433
|
+
*
|
|
5434
|
+
* @param array - The array to be cleaned.
|
|
5435
|
+
* @returns The cleaned version of the array
|
|
5436
|
+
*/
|
|
5437
|
+
function cleanArray(array) {
|
|
5438
|
+
for (let index = 0; index < array.length; index++) {
|
|
5439
|
+
const isPropertyExist = objectHasOwnProperty(array, index);
|
|
5440
|
+
if (!isPropertyExist) {
|
|
5441
|
+
array[index] = null;
|
|
5442
|
+
}
|
|
5443
|
+
}
|
|
5444
|
+
return array;
|
|
5445
|
+
}
|
|
5446
|
+
/**
|
|
5447
|
+
* Shallow clone an object
|
|
5448
|
+
*
|
|
5449
|
+
* @param object - The object to be cloned.
|
|
5450
|
+
* @returns A new object that copies the original.
|
|
5451
|
+
*/
|
|
5452
|
+
function clone$1(object) {
|
|
5453
|
+
const newObject = create(null);
|
|
5454
|
+
for (const [property, value] of entries(object)) {
|
|
5455
|
+
const isPropertyExist = objectHasOwnProperty(object, property);
|
|
5456
|
+
if (isPropertyExist) {
|
|
5457
|
+
if (Array.isArray(value)) {
|
|
5458
|
+
newObject[property] = cleanArray(value);
|
|
5459
|
+
} else if (value && typeof value === 'object' && value.constructor === Object) {
|
|
5460
|
+
newObject[property] = clone$1(value);
|
|
5461
|
+
} else {
|
|
5462
|
+
newObject[property] = value;
|
|
5463
|
+
}
|
|
5464
|
+
}
|
|
5465
|
+
}
|
|
5466
|
+
return newObject;
|
|
5467
|
+
}
|
|
5468
|
+
/**
|
|
5469
|
+
* This method automatically checks if the prop is function or getter and behaves accordingly.
|
|
5470
|
+
*
|
|
5471
|
+
* @param object - The object to look up the getter function in its prototype chain.
|
|
5472
|
+
* @param prop - The property name for which to find the getter function.
|
|
5473
|
+
* @returns The getter function found in the prototype chain or a fallback function.
|
|
5474
|
+
*/
|
|
5475
|
+
function lookupGetter(object, prop) {
|
|
5476
|
+
while (object !== null) {
|
|
5477
|
+
const desc = getOwnPropertyDescriptor(object, prop);
|
|
5478
|
+
if (desc) {
|
|
5479
|
+
if (desc.get) {
|
|
5480
|
+
return unapply(desc.get);
|
|
5481
|
+
}
|
|
5482
|
+
if (typeof desc.value === 'function') {
|
|
5483
|
+
return unapply(desc.value);
|
|
5484
|
+
}
|
|
5485
|
+
}
|
|
5486
|
+
object = getPrototypeOf(object);
|
|
5487
|
+
}
|
|
5488
|
+
function fallbackValue() {
|
|
5489
|
+
return null;
|
|
5490
|
+
}
|
|
5491
|
+
return fallbackValue;
|
|
5492
|
+
}
|
|
5493
|
+
|
|
5494
|
+
const html$1 = freeze(['a', 'abbr', 'acronym', 'address', 'area', 'article', 'aside', 'audio', 'b', 'bdi', 'bdo', 'big', 'blink', 'blockquote', 'body', 'br', 'button', 'canvas', 'caption', 'center', 'cite', 'code', 'col', 'colgroup', 'content', 'data', 'datalist', 'dd', 'decorator', 'del', 'details', 'dfn', 'dialog', 'dir', 'div', 'dl', 'dt', 'element', 'em', 'fieldset', 'figcaption', 'figure', 'font', 'footer', 'form', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'head', 'header', 'hgroup', 'hr', 'html', 'i', 'img', 'input', 'ins', 'kbd', 'label', 'legend', 'li', 'main', 'map', 'mark', 'marquee', 'menu', 'menuitem', 'meter', 'nav', 'nobr', 'ol', 'optgroup', 'option', 'output', 'p', 'picture', 'pre', 'progress', 'q', 'rp', 'rt', 'ruby', 's', 'samp', 'section', 'select', 'shadow', 'small', 'source', 'spacer', 'span', 'strike', 'strong', 'style', 'sub', 'summary', 'sup', 'table', 'tbody', 'td', 'template', 'textarea', 'tfoot', 'th', 'thead', 'time', 'tr', 'track', 'tt', 'u', 'ul', 'var', 'video', 'wbr']);
|
|
5495
|
+
const svg$1 = freeze(['svg', 'a', 'altglyph', 'altglyphdef', 'altglyphitem', 'animatecolor', 'animatemotion', 'animatetransform', 'circle', 'clippath', 'defs', 'desc', 'ellipse', 'filter', 'font', 'g', 'glyph', 'glyphref', 'hkern', 'image', 'line', 'lineargradient', 'marker', 'mask', 'metadata', 'mpath', 'path', 'pattern', 'polygon', 'polyline', 'radialgradient', 'rect', 'stop', 'style', 'switch', 'symbol', 'text', 'textpath', 'title', 'tref', 'tspan', 'view', 'vkern']);
|
|
5496
|
+
const svgFilters = freeze(['feBlend', 'feColorMatrix', 'feComponentTransfer', 'feComposite', 'feConvolveMatrix', 'feDiffuseLighting', 'feDisplacementMap', 'feDistantLight', 'feDropShadow', 'feFlood', 'feFuncA', 'feFuncB', 'feFuncG', 'feFuncR', 'feGaussianBlur', 'feImage', 'feMerge', 'feMergeNode', 'feMorphology', 'feOffset', 'fePointLight', 'feSpecularLighting', 'feSpotLight', 'feTile', 'feTurbulence']);
|
|
5497
|
+
// List of SVG elements that are disallowed by default.
|
|
5498
|
+
// We still need to know them so that we can do namespace
|
|
5499
|
+
// checks properly in case one wants to add them to
|
|
5500
|
+
// allow-list.
|
|
5501
|
+
const svgDisallowed = freeze(['animate', 'color-profile', 'cursor', 'discard', 'font-face', 'font-face-format', 'font-face-name', 'font-face-src', 'font-face-uri', 'foreignobject', 'hatch', 'hatchpath', 'mesh', 'meshgradient', 'meshpatch', 'meshrow', 'missing-glyph', 'script', 'set', 'solidcolor', 'unknown', 'use']);
|
|
5502
|
+
const mathMl$1 = freeze(['math', 'menclose', 'merror', 'mfenced', 'mfrac', 'mglyph', 'mi', 'mlabeledtr', 'mmultiscripts', 'mn', 'mo', 'mover', 'mpadded', 'mphantom', 'mroot', 'mrow', 'ms', 'mspace', 'msqrt', 'mstyle', 'msub', 'msup', 'msubsup', 'mtable', 'mtd', 'mtext', 'mtr', 'munder', 'munderover', 'mprescripts']);
|
|
5503
|
+
// Similarly to SVG, we want to know all MathML elements,
|
|
5504
|
+
// even those that we disallow by default.
|
|
5505
|
+
const mathMlDisallowed = freeze(['maction', 'maligngroup', 'malignmark', 'mlongdiv', 'mscarries', 'mscarry', 'msgroup', 'mstack', 'msline', 'msrow', 'semantics', 'annotation', 'annotation-xml', 'mprescripts', 'none']);
|
|
5506
|
+
const text = freeze(['#text']);
|
|
5507
|
+
|
|
5508
|
+
const html = freeze(['accept', 'action', 'align', 'alt', 'autocapitalize', 'autocomplete', 'autopictureinpicture', 'autoplay', 'background', 'bgcolor', 'border', 'capture', 'cellpadding', 'cellspacing', 'checked', 'cite', 'class', 'clear', 'color', 'cols', 'colspan', 'controls', 'controlslist', 'coords', 'crossorigin', 'datetime', 'decoding', 'default', 'dir', 'disabled', 'disablepictureinpicture', 'disableremoteplayback', 'download', 'draggable', 'enctype', 'enterkeyhint', 'face', 'for', 'headers', 'height', 'hidden', 'high', 'href', 'hreflang', 'id', 'inputmode', 'integrity', 'ismap', 'kind', 'label', 'lang', 'list', 'loading', 'loop', 'low', 'max', 'maxlength', 'media', 'method', 'min', 'minlength', 'multiple', 'muted', 'name', 'nonce', 'noshade', 'novalidate', 'nowrap', 'open', 'optimum', 'pattern', 'placeholder', 'playsinline', 'popover', 'popovertarget', 'popovertargetaction', 'poster', 'preload', 'pubdate', 'radiogroup', 'readonly', 'rel', 'required', 'rev', 'reversed', 'role', 'rows', 'rowspan', 'spellcheck', 'scope', 'selected', 'shape', 'size', 'sizes', 'span', 'srclang', 'start', 'src', 'srcset', 'step', 'style', 'summary', 'tabindex', 'title', 'translate', 'type', 'usemap', 'valign', 'value', 'width', 'wrap', 'xmlns', 'slot']);
|
|
5509
|
+
const svg = freeze(['accent-height', 'accumulate', 'additive', 'alignment-baseline', 'amplitude', 'ascent', 'attributename', 'attributetype', 'azimuth', 'basefrequency', 'baseline-shift', 'begin', 'bias', 'by', 'class', 'clip', 'clippathunits', 'clip-path', 'clip-rule', 'color', 'color-interpolation', 'color-interpolation-filters', 'color-profile', 'color-rendering', 'cx', 'cy', 'd', 'dx', 'dy', 'diffuseconstant', 'direction', 'display', 'divisor', 'dur', 'edgemode', 'elevation', 'end', 'exponent', 'fill', 'fill-opacity', 'fill-rule', 'filter', 'filterunits', 'flood-color', 'flood-opacity', 'font-family', 'font-size', 'font-size-adjust', 'font-stretch', 'font-style', 'font-variant', 'font-weight', 'fx', 'fy', 'g1', 'g2', 'glyph-name', 'glyphref', 'gradientunits', 'gradienttransform', 'height', 'href', 'id', 'image-rendering', 'in', 'in2', 'intercept', 'k', 'k1', 'k2', 'k3', 'k4', 'kerning', 'keypoints', 'keysplines', 'keytimes', 'lang', 'lengthadjust', 'letter-spacing', 'kernelmatrix', 'kernelunitlength', 'lighting-color', 'local', 'marker-end', 'marker-mid', 'marker-start', 'markerheight', 'markerunits', 'markerwidth', 'maskcontentunits', 'maskunits', 'max', 'mask', 'media', 'method', 'mode', 'min', 'name', 'numoctaves', 'offset', 'operator', 'opacity', 'order', 'orient', 'orientation', 'origin', 'overflow', 'paint-order', 'path', 'pathlength', 'patterncontentunits', 'patterntransform', 'patternunits', 'points', 'preservealpha', 'preserveaspectratio', 'primitiveunits', 'r', 'rx', 'ry', 'radius', 'refx', 'refy', 'repeatcount', 'repeatdur', 'restart', 'result', 'rotate', 'scale', 'seed', 'shape-rendering', 'slope', 'specularconstant', 'specularexponent', 'spreadmethod', 'startoffset', 'stddeviation', 'stitchtiles', 'stop-color', 'stop-opacity', 'stroke-dasharray', 'stroke-dashoffset', 'stroke-linecap', 'stroke-linejoin', 'stroke-miterlimit', 'stroke-opacity', 'stroke', 'stroke-width', 'style', 'surfacescale', 'systemlanguage', 'tabindex', 'tablevalues', 'targetx', 'targety', 'transform', 'transform-origin', 'text-anchor', 'text-decoration', 'text-rendering', 'textlength', 'type', 'u1', 'u2', 'unicode', 'values', 'viewbox', 'visibility', 'version', 'vert-adv-y', 'vert-origin-x', 'vert-origin-y', 'width', 'word-spacing', 'wrap', 'writing-mode', 'xchannelselector', 'ychannelselector', 'x', 'x1', 'x2', 'xmlns', 'y', 'y1', 'y2', 'z', 'zoomandpan']);
|
|
5510
|
+
const mathMl = freeze(['accent', 'accentunder', 'align', 'bevelled', 'close', 'columnsalign', 'columnlines', 'columnspan', 'denomalign', 'depth', 'dir', 'display', 'displaystyle', 'encoding', 'fence', 'frame', 'height', 'href', 'id', 'largeop', 'length', 'linethickness', 'lspace', 'lquote', 'mathbackground', 'mathcolor', 'mathsize', 'mathvariant', 'maxsize', 'minsize', 'movablelimits', 'notation', 'numalign', 'open', 'rowalign', 'rowlines', 'rowspacing', 'rowspan', 'rspace', 'rquote', 'scriptlevel', 'scriptminsize', 'scriptsizemultiplier', 'selection', 'separator', 'separators', 'stretchy', 'subscriptshift', 'supscriptshift', 'symmetric', 'voffset', 'width', 'xmlns']);
|
|
5511
|
+
const xml = freeze(['xlink:href', 'xml:id', 'xlink:title', 'xml:space', 'xmlns:xlink']);
|
|
5512
|
+
|
|
5513
|
+
// eslint-disable-next-line unicorn/better-regex
|
|
5514
|
+
const MUSTACHE_EXPR = seal(/\{\{[\w\W]*|[\w\W]*\}\}/gm); // Specify template detection regex for SAFE_FOR_TEMPLATES mode
|
|
5515
|
+
const ERB_EXPR = seal(/<%[\w\W]*|[\w\W]*%>/gm);
|
|
5516
|
+
const TMPLIT_EXPR = seal(/\$\{[\w\W]*/gm); // eslint-disable-line unicorn/better-regex
|
|
5517
|
+
const DATA_ATTR = seal(/^data-[\-\w.\u00B7-\uFFFF]+$/); // eslint-disable-line no-useless-escape
|
|
5518
|
+
const ARIA_ATTR = seal(/^aria-[\-\w]+$/); // eslint-disable-line no-useless-escape
|
|
5519
|
+
const IS_ALLOWED_URI = seal(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i // eslint-disable-line no-useless-escape
|
|
5520
|
+
);
|
|
5521
|
+
const IS_SCRIPT_OR_DATA = seal(/^(?:\w+script|data):/i);
|
|
5522
|
+
const ATTR_WHITESPACE = seal(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g // eslint-disable-line no-control-regex
|
|
5523
|
+
);
|
|
5524
|
+
const DOCTYPE_NAME = seal(/^html$/i);
|
|
5525
|
+
const CUSTOM_ELEMENT = seal(/^[a-z][.\w]*(-[.\w]+)+$/i);
|
|
5526
|
+
|
|
5527
|
+
var EXPRESSIONS = /*#__PURE__*/Object.freeze({
|
|
5528
|
+
__proto__: null,
|
|
5529
|
+
ARIA_ATTR: ARIA_ATTR,
|
|
5530
|
+
ATTR_WHITESPACE: ATTR_WHITESPACE,
|
|
5531
|
+
CUSTOM_ELEMENT: CUSTOM_ELEMENT,
|
|
5532
|
+
DATA_ATTR: DATA_ATTR,
|
|
5533
|
+
DOCTYPE_NAME: DOCTYPE_NAME,
|
|
5534
|
+
ERB_EXPR: ERB_EXPR,
|
|
5535
|
+
IS_ALLOWED_URI: IS_ALLOWED_URI,
|
|
5536
|
+
IS_SCRIPT_OR_DATA: IS_SCRIPT_OR_DATA,
|
|
5537
|
+
MUSTACHE_EXPR: MUSTACHE_EXPR,
|
|
5538
|
+
TMPLIT_EXPR: TMPLIT_EXPR
|
|
5539
|
+
});
|
|
5540
|
+
|
|
5541
|
+
/* eslint-disable @typescript-eslint/indent */
|
|
5542
|
+
// https://developer.mozilla.org/en-US/docs/Web/API/Node/nodeType
|
|
5543
|
+
const NODE_TYPE = {
|
|
5544
|
+
element: 1,
|
|
5545
|
+
text: 3,
|
|
5546
|
+
// Deprecated
|
|
5547
|
+
progressingInstruction: 7,
|
|
5548
|
+
comment: 8,
|
|
5549
|
+
document: 9};
|
|
5550
|
+
const getGlobal = function getGlobal() {
|
|
5551
|
+
return typeof window === 'undefined' ? null : window;
|
|
5552
|
+
};
|
|
5553
|
+
/**
|
|
5554
|
+
* Creates a no-op policy for internal use only.
|
|
5555
|
+
* Don't export this function outside this module!
|
|
5556
|
+
* @param trustedTypes The policy factory.
|
|
5557
|
+
* @param purifyHostElement The Script element used to load DOMPurify (to determine policy name suffix).
|
|
5558
|
+
* @return The policy created (or null, if Trusted Types
|
|
5559
|
+
* are not supported or creating the policy failed).
|
|
5560
|
+
*/
|
|
5561
|
+
const _createTrustedTypesPolicy = function _createTrustedTypesPolicy(trustedTypes, purifyHostElement) {
|
|
5562
|
+
if (typeof trustedTypes !== 'object' || typeof trustedTypes.createPolicy !== 'function') {
|
|
5563
|
+
return null;
|
|
5564
|
+
}
|
|
5565
|
+
// Allow the callers to control the unique policy name
|
|
5566
|
+
// by adding a data-tt-policy-suffix to the script element with the DOMPurify.
|
|
5567
|
+
// Policy creation with duplicate names throws in Trusted Types.
|
|
5568
|
+
let suffix = null;
|
|
5569
|
+
const ATTR_NAME = 'data-tt-policy-suffix';
|
|
5570
|
+
if (purifyHostElement && purifyHostElement.hasAttribute(ATTR_NAME)) {
|
|
5571
|
+
suffix = purifyHostElement.getAttribute(ATTR_NAME);
|
|
5572
|
+
}
|
|
5573
|
+
const policyName = 'dompurify' + (suffix ? '#' + suffix : '');
|
|
5574
|
+
try {
|
|
5575
|
+
return trustedTypes.createPolicy(policyName, {
|
|
5576
|
+
createHTML(html) {
|
|
5577
|
+
return html;
|
|
5578
|
+
},
|
|
5579
|
+
createScriptURL(scriptUrl) {
|
|
5580
|
+
return scriptUrl;
|
|
5581
|
+
}
|
|
5582
|
+
});
|
|
5583
|
+
} catch (_) {
|
|
5584
|
+
// Policy creation failed (most likely another DOMPurify script has
|
|
5585
|
+
// already run). Skip creating the policy, as this will only cause errors
|
|
5586
|
+
// if TT are enforced.
|
|
5587
|
+
console.warn('TrustedTypes policy ' + policyName + ' could not be created.');
|
|
5588
|
+
return null;
|
|
5589
|
+
}
|
|
5590
|
+
};
|
|
5591
|
+
const _createHooksMap = function _createHooksMap() {
|
|
5592
|
+
return {
|
|
5593
|
+
afterSanitizeAttributes: [],
|
|
5594
|
+
afterSanitizeElements: [],
|
|
5595
|
+
afterSanitizeShadowDOM: [],
|
|
5596
|
+
beforeSanitizeAttributes: [],
|
|
5597
|
+
beforeSanitizeElements: [],
|
|
5598
|
+
beforeSanitizeShadowDOM: [],
|
|
5599
|
+
uponSanitizeAttribute: [],
|
|
5600
|
+
uponSanitizeElement: [],
|
|
5601
|
+
uponSanitizeShadowNode: []
|
|
5602
|
+
};
|
|
5603
|
+
};
|
|
5604
|
+
function createDOMPurify() {
|
|
5605
|
+
let window = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : getGlobal();
|
|
5606
|
+
const DOMPurify = root => createDOMPurify(root);
|
|
5607
|
+
DOMPurify.version = '3.2.6';
|
|
5608
|
+
DOMPurify.removed = [];
|
|
5609
|
+
if (!window || !window.document || window.document.nodeType !== NODE_TYPE.document || !window.Element) {
|
|
5610
|
+
// Not running in a browser, provide a factory function
|
|
5611
|
+
// so that you can pass your own Window
|
|
5612
|
+
DOMPurify.isSupported = false;
|
|
5613
|
+
return DOMPurify;
|
|
5614
|
+
}
|
|
5615
|
+
let {
|
|
5616
|
+
document
|
|
5617
|
+
} = window;
|
|
5618
|
+
const originalDocument = document;
|
|
5619
|
+
const currentScript = originalDocument.currentScript;
|
|
5620
|
+
const {
|
|
5621
|
+
DocumentFragment,
|
|
5622
|
+
HTMLTemplateElement,
|
|
5623
|
+
Node,
|
|
5624
|
+
Element,
|
|
5625
|
+
NodeFilter,
|
|
5626
|
+
NamedNodeMap = window.NamedNodeMap || window.MozNamedAttrMap,
|
|
5627
|
+
HTMLFormElement,
|
|
5628
|
+
DOMParser,
|
|
5629
|
+
trustedTypes
|
|
5630
|
+
} = window;
|
|
5631
|
+
const ElementPrototype = Element.prototype;
|
|
5632
|
+
const cloneNode = lookupGetter(ElementPrototype, 'cloneNode');
|
|
5633
|
+
const remove = lookupGetter(ElementPrototype, 'remove');
|
|
5634
|
+
const getNextSibling = lookupGetter(ElementPrototype, 'nextSibling');
|
|
5635
|
+
const getChildNodes = lookupGetter(ElementPrototype, 'childNodes');
|
|
5636
|
+
const getParentNode = lookupGetter(ElementPrototype, 'parentNode');
|
|
5637
|
+
// As per issue #47, the web-components registry is inherited by a
|
|
5638
|
+
// new document created via createHTMLDocument. As per the spec
|
|
5639
|
+
// (http://w3c.github.io/webcomponents/spec/custom/#creating-and-passing-registries)
|
|
5640
|
+
// a new empty registry is used when creating a template contents owner
|
|
5641
|
+
// document, so we use that as our parent document to ensure nothing
|
|
5642
|
+
// is inherited.
|
|
5643
|
+
if (typeof HTMLTemplateElement === 'function') {
|
|
5644
|
+
const template = document.createElement('template');
|
|
5645
|
+
if (template.content && template.content.ownerDocument) {
|
|
5646
|
+
document = template.content.ownerDocument;
|
|
5647
|
+
}
|
|
5648
|
+
}
|
|
5649
|
+
let trustedTypesPolicy;
|
|
5650
|
+
let emptyHTML = '';
|
|
5651
|
+
const {
|
|
5652
|
+
implementation,
|
|
5653
|
+
createNodeIterator,
|
|
5654
|
+
createDocumentFragment,
|
|
5655
|
+
getElementsByTagName
|
|
5656
|
+
} = document;
|
|
5657
|
+
const {
|
|
5658
|
+
importNode
|
|
5659
|
+
} = originalDocument;
|
|
5660
|
+
let hooks = _createHooksMap();
|
|
5661
|
+
/**
|
|
5662
|
+
* Expose whether this browser supports running the full DOMPurify.
|
|
5663
|
+
*/
|
|
5664
|
+
DOMPurify.isSupported = typeof entries === 'function' && typeof getParentNode === 'function' && implementation && implementation.createHTMLDocument !== undefined;
|
|
5665
|
+
const {
|
|
5666
|
+
MUSTACHE_EXPR,
|
|
5667
|
+
ERB_EXPR,
|
|
5668
|
+
TMPLIT_EXPR,
|
|
5669
|
+
DATA_ATTR,
|
|
5670
|
+
ARIA_ATTR,
|
|
5671
|
+
IS_SCRIPT_OR_DATA,
|
|
5672
|
+
ATTR_WHITESPACE,
|
|
5673
|
+
CUSTOM_ELEMENT
|
|
5674
|
+
} = EXPRESSIONS;
|
|
5675
|
+
let {
|
|
5676
|
+
IS_ALLOWED_URI: IS_ALLOWED_URI$1
|
|
5677
|
+
} = EXPRESSIONS;
|
|
5678
|
+
/**
|
|
5679
|
+
* We consider the elements and attributes below to be safe. Ideally
|
|
5680
|
+
* don't add any new ones but feel free to remove unwanted ones.
|
|
5681
|
+
*/
|
|
5682
|
+
/* allowed element names */
|
|
5683
|
+
let ALLOWED_TAGS = null;
|
|
5684
|
+
const DEFAULT_ALLOWED_TAGS = addToSet({}, [...html$1, ...svg$1, ...svgFilters, ...mathMl$1, ...text]);
|
|
5685
|
+
/* Allowed attribute names */
|
|
5686
|
+
let ALLOWED_ATTR = null;
|
|
5687
|
+
const DEFAULT_ALLOWED_ATTR = addToSet({}, [...html, ...svg, ...mathMl, ...xml]);
|
|
5688
|
+
/*
|
|
5689
|
+
* Configure how DOMPurify should handle custom elements and their attributes as well as customized built-in elements.
|
|
5690
|
+
* @property {RegExp|Function|null} tagNameCheck one of [null, regexPattern, predicate]. Default: `null` (disallow any custom elements)
|
|
5691
|
+
* @property {RegExp|Function|null} attributeNameCheck one of [null, regexPattern, predicate]. Default: `null` (disallow any attributes not on the allow list)
|
|
5692
|
+
* @property {boolean} allowCustomizedBuiltInElements allow custom elements derived from built-ins if they pass CUSTOM_ELEMENT_HANDLING.tagNameCheck. Default: `false`.
|
|
5693
|
+
*/
|
|
5694
|
+
let CUSTOM_ELEMENT_HANDLING = Object.seal(create(null, {
|
|
5695
|
+
tagNameCheck: {
|
|
5696
|
+
writable: true,
|
|
5697
|
+
configurable: false,
|
|
5698
|
+
enumerable: true,
|
|
5699
|
+
value: null
|
|
5700
|
+
},
|
|
5701
|
+
attributeNameCheck: {
|
|
5702
|
+
writable: true,
|
|
5703
|
+
configurable: false,
|
|
5704
|
+
enumerable: true,
|
|
5705
|
+
value: null
|
|
5706
|
+
},
|
|
5707
|
+
allowCustomizedBuiltInElements: {
|
|
5708
|
+
writable: true,
|
|
5709
|
+
configurable: false,
|
|
5710
|
+
enumerable: true,
|
|
5711
|
+
value: false
|
|
5712
|
+
}
|
|
5713
|
+
}));
|
|
5714
|
+
/* Explicitly forbidden tags (overrides ALLOWED_TAGS/ADD_TAGS) */
|
|
5715
|
+
let FORBID_TAGS = null;
|
|
5716
|
+
/* Explicitly forbidden attributes (overrides ALLOWED_ATTR/ADD_ATTR) */
|
|
5717
|
+
let FORBID_ATTR = null;
|
|
5718
|
+
/* Decide if ARIA attributes are okay */
|
|
5719
|
+
let ALLOW_ARIA_ATTR = true;
|
|
5720
|
+
/* Decide if custom data attributes are okay */
|
|
5721
|
+
let ALLOW_DATA_ATTR = true;
|
|
5722
|
+
/* Decide if unknown protocols are okay */
|
|
5723
|
+
let ALLOW_UNKNOWN_PROTOCOLS = false;
|
|
5724
|
+
/* Decide if self-closing tags in attributes are allowed.
|
|
5725
|
+
* Usually removed due to a mXSS issue in jQuery 3.0 */
|
|
5726
|
+
let ALLOW_SELF_CLOSE_IN_ATTR = true;
|
|
5727
|
+
/* Output should be safe for common template engines.
|
|
5728
|
+
* This means, DOMPurify removes data attributes, mustaches and ERB
|
|
5729
|
+
*/
|
|
5730
|
+
let SAFE_FOR_TEMPLATES = false;
|
|
5731
|
+
/* Output should be safe even for XML used within HTML and alike.
|
|
5732
|
+
* This means, DOMPurify removes comments when containing risky content.
|
|
5733
|
+
*/
|
|
5734
|
+
let SAFE_FOR_XML = true;
|
|
5735
|
+
/* Decide if document with <html>... should be returned */
|
|
5736
|
+
let WHOLE_DOCUMENT = false;
|
|
5737
|
+
/* Track whether config is already set on this instance of DOMPurify. */
|
|
5738
|
+
let SET_CONFIG = false;
|
|
5739
|
+
/* Decide if all elements (e.g. style, script) must be children of
|
|
5740
|
+
* document.body. By default, browsers might move them to document.head */
|
|
5741
|
+
let FORCE_BODY = false;
|
|
5742
|
+
/* Decide if a DOM `HTMLBodyElement` should be returned, instead of a html
|
|
5743
|
+
* string (or a TrustedHTML object if Trusted Types are supported).
|
|
5744
|
+
* If `WHOLE_DOCUMENT` is enabled a `HTMLHtmlElement` will be returned instead
|
|
5745
|
+
*/
|
|
5746
|
+
let RETURN_DOM = false;
|
|
5747
|
+
/* Decide if a DOM `DocumentFragment` should be returned, instead of a html
|
|
5748
|
+
* string (or a TrustedHTML object if Trusted Types are supported) */
|
|
5749
|
+
let RETURN_DOM_FRAGMENT = false;
|
|
5750
|
+
/* Try to return a Trusted Type object instead of a string, return a string in
|
|
5751
|
+
* case Trusted Types are not supported */
|
|
5752
|
+
let RETURN_TRUSTED_TYPE = false;
|
|
5753
|
+
/* Output should be free from DOM clobbering attacks?
|
|
5754
|
+
* This sanitizes markups named with colliding, clobberable built-in DOM APIs.
|
|
5755
|
+
*/
|
|
5756
|
+
let SANITIZE_DOM = true;
|
|
5757
|
+
/* Achieve full DOM Clobbering protection by isolating the namespace of named
|
|
5758
|
+
* properties and JS variables, mitigating attacks that abuse the HTML/DOM spec rules.
|
|
5759
|
+
*
|
|
5760
|
+
* HTML/DOM spec rules that enable DOM Clobbering:
|
|
5761
|
+
* - Named Access on Window (§7.3.3)
|
|
5762
|
+
* - DOM Tree Accessors (§3.1.5)
|
|
5763
|
+
* - Form Element Parent-Child Relations (§4.10.3)
|
|
5764
|
+
* - Iframe srcdoc / Nested WindowProxies (§4.8.5)
|
|
5765
|
+
* - HTMLCollection (§4.2.10.2)
|
|
5766
|
+
*
|
|
5767
|
+
* Namespace isolation is implemented by prefixing `id` and `name` attributes
|
|
5768
|
+
* with a constant string, i.e., `user-content-`
|
|
5769
|
+
*/
|
|
5770
|
+
let SANITIZE_NAMED_PROPS = false;
|
|
5771
|
+
const SANITIZE_NAMED_PROPS_PREFIX = 'user-content-';
|
|
5772
|
+
/* Keep element content when removing element? */
|
|
5773
|
+
let KEEP_CONTENT = true;
|
|
5774
|
+
/* If a `Node` is passed to sanitize(), then performs sanitization in-place instead
|
|
5775
|
+
* of importing it into a new Document and returning a sanitized copy */
|
|
5776
|
+
let IN_PLACE = false;
|
|
5777
|
+
/* Allow usage of profiles like html, svg and mathMl */
|
|
5778
|
+
let USE_PROFILES = {};
|
|
5779
|
+
/* Tags to ignore content of when KEEP_CONTENT is true */
|
|
5780
|
+
let FORBID_CONTENTS = null;
|
|
5781
|
+
const DEFAULT_FORBID_CONTENTS = addToSet({}, ['annotation-xml', 'audio', 'colgroup', 'desc', 'foreignobject', 'head', 'iframe', 'math', 'mi', 'mn', 'mo', 'ms', 'mtext', 'noembed', 'noframes', 'noscript', 'plaintext', 'script', 'style', 'svg', 'template', 'thead', 'title', 'video', 'xmp']);
|
|
5782
|
+
/* Tags that are safe for data: URIs */
|
|
5783
|
+
let DATA_URI_TAGS = null;
|
|
5784
|
+
const DEFAULT_DATA_URI_TAGS = addToSet({}, ['audio', 'video', 'img', 'source', 'image', 'track']);
|
|
5785
|
+
/* Attributes safe for values like "javascript:" */
|
|
5786
|
+
let URI_SAFE_ATTRIBUTES = null;
|
|
5787
|
+
const DEFAULT_URI_SAFE_ATTRIBUTES = addToSet({}, ['alt', 'class', 'for', 'id', 'label', 'name', 'pattern', 'placeholder', 'role', 'summary', 'title', 'value', 'style', 'xmlns']);
|
|
5788
|
+
const MATHML_NAMESPACE = 'http://www.w3.org/1998/Math/MathML';
|
|
5789
|
+
const SVG_NAMESPACE = 'http://www.w3.org/2000/svg';
|
|
5790
|
+
const HTML_NAMESPACE = 'http://www.w3.org/1999/xhtml';
|
|
5791
|
+
/* Document namespace */
|
|
5792
|
+
let NAMESPACE = HTML_NAMESPACE;
|
|
5793
|
+
let IS_EMPTY_INPUT = false;
|
|
5794
|
+
/* Allowed XHTML+XML namespaces */
|
|
5795
|
+
let ALLOWED_NAMESPACES = null;
|
|
5796
|
+
const DEFAULT_ALLOWED_NAMESPACES = addToSet({}, [MATHML_NAMESPACE, SVG_NAMESPACE, HTML_NAMESPACE], stringToString);
|
|
5797
|
+
let MATHML_TEXT_INTEGRATION_POINTS = addToSet({}, ['mi', 'mo', 'mn', 'ms', 'mtext']);
|
|
5798
|
+
let HTML_INTEGRATION_POINTS = addToSet({}, ['annotation-xml']);
|
|
5799
|
+
// Certain elements are allowed in both SVG and HTML
|
|
5800
|
+
// namespace. We need to specify them explicitly
|
|
5801
|
+
// so that they don't get erroneously deleted from
|
|
5802
|
+
// HTML namespace.
|
|
5803
|
+
const COMMON_SVG_AND_HTML_ELEMENTS = addToSet({}, ['title', 'style', 'font', 'a', 'script']);
|
|
5804
|
+
/* Parsing of strict XHTML documents */
|
|
5805
|
+
let PARSER_MEDIA_TYPE = null;
|
|
5806
|
+
const SUPPORTED_PARSER_MEDIA_TYPES = ['application/xhtml+xml', 'text/html'];
|
|
5807
|
+
const DEFAULT_PARSER_MEDIA_TYPE = 'text/html';
|
|
5808
|
+
let transformCaseFunc = null;
|
|
5809
|
+
/* Keep a reference to config to pass to hooks */
|
|
5810
|
+
let CONFIG = null;
|
|
5811
|
+
/* Ideally, do not touch anything below this line */
|
|
5812
|
+
/* ______________________________________________ */
|
|
5813
|
+
const formElement = document.createElement('form');
|
|
5814
|
+
const isRegexOrFunction = function isRegexOrFunction(testValue) {
|
|
5815
|
+
return testValue instanceof RegExp || testValue instanceof Function;
|
|
5816
|
+
};
|
|
5817
|
+
/**
|
|
5818
|
+
* _parseConfig
|
|
5819
|
+
*
|
|
5820
|
+
* @param cfg optional config literal
|
|
5821
|
+
*/
|
|
5822
|
+
// eslint-disable-next-line complexity
|
|
5823
|
+
const _parseConfig = function _parseConfig() {
|
|
5824
|
+
let cfg = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
5825
|
+
if (CONFIG && CONFIG === cfg) {
|
|
5826
|
+
return;
|
|
5827
|
+
}
|
|
5828
|
+
/* Shield configuration object from tampering */
|
|
5829
|
+
if (!cfg || typeof cfg !== 'object') {
|
|
5830
|
+
cfg = {};
|
|
5831
|
+
}
|
|
5832
|
+
/* Shield configuration object from prototype pollution */
|
|
5833
|
+
cfg = clone$1(cfg);
|
|
5834
|
+
PARSER_MEDIA_TYPE =
|
|
5835
|
+
// eslint-disable-next-line unicorn/prefer-includes
|
|
5836
|
+
SUPPORTED_PARSER_MEDIA_TYPES.indexOf(cfg.PARSER_MEDIA_TYPE) === -1 ? DEFAULT_PARSER_MEDIA_TYPE : cfg.PARSER_MEDIA_TYPE;
|
|
5837
|
+
// HTML tags and attributes are not case-sensitive, converting to lowercase. Keeping XHTML as is.
|
|
5838
|
+
transformCaseFunc = PARSER_MEDIA_TYPE === 'application/xhtml+xml' ? stringToString : stringToLowerCase;
|
|
5839
|
+
/* Set configuration parameters */
|
|
5840
|
+
ALLOWED_TAGS = objectHasOwnProperty(cfg, 'ALLOWED_TAGS') ? addToSet({}, cfg.ALLOWED_TAGS, transformCaseFunc) : DEFAULT_ALLOWED_TAGS;
|
|
5841
|
+
ALLOWED_ATTR = objectHasOwnProperty(cfg, 'ALLOWED_ATTR') ? addToSet({}, cfg.ALLOWED_ATTR, transformCaseFunc) : DEFAULT_ALLOWED_ATTR;
|
|
5842
|
+
ALLOWED_NAMESPACES = objectHasOwnProperty(cfg, 'ALLOWED_NAMESPACES') ? addToSet({}, cfg.ALLOWED_NAMESPACES, stringToString) : DEFAULT_ALLOWED_NAMESPACES;
|
|
5843
|
+
URI_SAFE_ATTRIBUTES = objectHasOwnProperty(cfg, 'ADD_URI_SAFE_ATTR') ? addToSet(clone$1(DEFAULT_URI_SAFE_ATTRIBUTES), cfg.ADD_URI_SAFE_ATTR, transformCaseFunc) : DEFAULT_URI_SAFE_ATTRIBUTES;
|
|
5844
|
+
DATA_URI_TAGS = objectHasOwnProperty(cfg, 'ADD_DATA_URI_TAGS') ? addToSet(clone$1(DEFAULT_DATA_URI_TAGS), cfg.ADD_DATA_URI_TAGS, transformCaseFunc) : DEFAULT_DATA_URI_TAGS;
|
|
5845
|
+
FORBID_CONTENTS = objectHasOwnProperty(cfg, 'FORBID_CONTENTS') ? addToSet({}, cfg.FORBID_CONTENTS, transformCaseFunc) : DEFAULT_FORBID_CONTENTS;
|
|
5846
|
+
FORBID_TAGS = objectHasOwnProperty(cfg, 'FORBID_TAGS') ? addToSet({}, cfg.FORBID_TAGS, transformCaseFunc) : clone$1({});
|
|
5847
|
+
FORBID_ATTR = objectHasOwnProperty(cfg, 'FORBID_ATTR') ? addToSet({}, cfg.FORBID_ATTR, transformCaseFunc) : clone$1({});
|
|
5848
|
+
USE_PROFILES = objectHasOwnProperty(cfg, 'USE_PROFILES') ? cfg.USE_PROFILES : false;
|
|
5849
|
+
ALLOW_ARIA_ATTR = cfg.ALLOW_ARIA_ATTR !== false; // Default true
|
|
5850
|
+
ALLOW_DATA_ATTR = cfg.ALLOW_DATA_ATTR !== false; // Default true
|
|
5851
|
+
ALLOW_UNKNOWN_PROTOCOLS = cfg.ALLOW_UNKNOWN_PROTOCOLS || false; // Default false
|
|
5852
|
+
ALLOW_SELF_CLOSE_IN_ATTR = cfg.ALLOW_SELF_CLOSE_IN_ATTR !== false; // Default true
|
|
5853
|
+
SAFE_FOR_TEMPLATES = cfg.SAFE_FOR_TEMPLATES || false; // Default false
|
|
5854
|
+
SAFE_FOR_XML = cfg.SAFE_FOR_XML !== false; // Default true
|
|
5855
|
+
WHOLE_DOCUMENT = cfg.WHOLE_DOCUMENT || false; // Default false
|
|
5856
|
+
RETURN_DOM = cfg.RETURN_DOM || false; // Default false
|
|
5857
|
+
RETURN_DOM_FRAGMENT = cfg.RETURN_DOM_FRAGMENT || false; // Default false
|
|
5858
|
+
RETURN_TRUSTED_TYPE = cfg.RETURN_TRUSTED_TYPE || false; // Default false
|
|
5859
|
+
FORCE_BODY = cfg.FORCE_BODY || false; // Default false
|
|
5860
|
+
SANITIZE_DOM = cfg.SANITIZE_DOM !== false; // Default true
|
|
5861
|
+
SANITIZE_NAMED_PROPS = cfg.SANITIZE_NAMED_PROPS || false; // Default false
|
|
5862
|
+
KEEP_CONTENT = cfg.KEEP_CONTENT !== false; // Default true
|
|
5863
|
+
IN_PLACE = cfg.IN_PLACE || false; // Default false
|
|
5864
|
+
IS_ALLOWED_URI$1 = cfg.ALLOWED_URI_REGEXP || IS_ALLOWED_URI;
|
|
5865
|
+
NAMESPACE = cfg.NAMESPACE || HTML_NAMESPACE;
|
|
5866
|
+
MATHML_TEXT_INTEGRATION_POINTS = cfg.MATHML_TEXT_INTEGRATION_POINTS || MATHML_TEXT_INTEGRATION_POINTS;
|
|
5867
|
+
HTML_INTEGRATION_POINTS = cfg.HTML_INTEGRATION_POINTS || HTML_INTEGRATION_POINTS;
|
|
5868
|
+
CUSTOM_ELEMENT_HANDLING = cfg.CUSTOM_ELEMENT_HANDLING || {};
|
|
5869
|
+
if (cfg.CUSTOM_ELEMENT_HANDLING && isRegexOrFunction(cfg.CUSTOM_ELEMENT_HANDLING.tagNameCheck)) {
|
|
5870
|
+
CUSTOM_ELEMENT_HANDLING.tagNameCheck = cfg.CUSTOM_ELEMENT_HANDLING.tagNameCheck;
|
|
5871
|
+
}
|
|
5872
|
+
if (cfg.CUSTOM_ELEMENT_HANDLING && isRegexOrFunction(cfg.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)) {
|
|
5873
|
+
CUSTOM_ELEMENT_HANDLING.attributeNameCheck = cfg.CUSTOM_ELEMENT_HANDLING.attributeNameCheck;
|
|
5874
|
+
}
|
|
5875
|
+
if (cfg.CUSTOM_ELEMENT_HANDLING && typeof cfg.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements === 'boolean') {
|
|
5876
|
+
CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements = cfg.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements;
|
|
5877
|
+
}
|
|
5878
|
+
if (SAFE_FOR_TEMPLATES) {
|
|
5879
|
+
ALLOW_DATA_ATTR = false;
|
|
5880
|
+
}
|
|
5881
|
+
if (RETURN_DOM_FRAGMENT) {
|
|
5882
|
+
RETURN_DOM = true;
|
|
5883
|
+
}
|
|
5884
|
+
/* Parse profile info */
|
|
5885
|
+
if (USE_PROFILES) {
|
|
5886
|
+
ALLOWED_TAGS = addToSet({}, text);
|
|
5887
|
+
ALLOWED_ATTR = [];
|
|
5888
|
+
if (USE_PROFILES.html === true) {
|
|
5889
|
+
addToSet(ALLOWED_TAGS, html$1);
|
|
5890
|
+
addToSet(ALLOWED_ATTR, html);
|
|
5891
|
+
}
|
|
5892
|
+
if (USE_PROFILES.svg === true) {
|
|
5893
|
+
addToSet(ALLOWED_TAGS, svg$1);
|
|
5894
|
+
addToSet(ALLOWED_ATTR, svg);
|
|
5895
|
+
addToSet(ALLOWED_ATTR, xml);
|
|
5896
|
+
}
|
|
5897
|
+
if (USE_PROFILES.svgFilters === true) {
|
|
5898
|
+
addToSet(ALLOWED_TAGS, svgFilters);
|
|
5899
|
+
addToSet(ALLOWED_ATTR, svg);
|
|
5900
|
+
addToSet(ALLOWED_ATTR, xml);
|
|
5901
|
+
}
|
|
5902
|
+
if (USE_PROFILES.mathMl === true) {
|
|
5903
|
+
addToSet(ALLOWED_TAGS, mathMl$1);
|
|
5904
|
+
addToSet(ALLOWED_ATTR, mathMl);
|
|
5905
|
+
addToSet(ALLOWED_ATTR, xml);
|
|
5906
|
+
}
|
|
5907
|
+
}
|
|
5908
|
+
/* Merge configuration parameters */
|
|
5909
|
+
if (cfg.ADD_TAGS) {
|
|
5910
|
+
if (ALLOWED_TAGS === DEFAULT_ALLOWED_TAGS) {
|
|
5911
|
+
ALLOWED_TAGS = clone$1(ALLOWED_TAGS);
|
|
5912
|
+
}
|
|
5913
|
+
addToSet(ALLOWED_TAGS, cfg.ADD_TAGS, transformCaseFunc);
|
|
5914
|
+
}
|
|
5915
|
+
if (cfg.ADD_ATTR) {
|
|
5916
|
+
if (ALLOWED_ATTR === DEFAULT_ALLOWED_ATTR) {
|
|
5917
|
+
ALLOWED_ATTR = clone$1(ALLOWED_ATTR);
|
|
5918
|
+
}
|
|
5919
|
+
addToSet(ALLOWED_ATTR, cfg.ADD_ATTR, transformCaseFunc);
|
|
5920
|
+
}
|
|
5921
|
+
if (cfg.ADD_URI_SAFE_ATTR) {
|
|
5922
|
+
addToSet(URI_SAFE_ATTRIBUTES, cfg.ADD_URI_SAFE_ATTR, transformCaseFunc);
|
|
5923
|
+
}
|
|
5924
|
+
if (cfg.FORBID_CONTENTS) {
|
|
5925
|
+
if (FORBID_CONTENTS === DEFAULT_FORBID_CONTENTS) {
|
|
5926
|
+
FORBID_CONTENTS = clone$1(FORBID_CONTENTS);
|
|
5927
|
+
}
|
|
5928
|
+
addToSet(FORBID_CONTENTS, cfg.FORBID_CONTENTS, transformCaseFunc);
|
|
5929
|
+
}
|
|
5930
|
+
/* Add #text in case KEEP_CONTENT is set to true */
|
|
5931
|
+
if (KEEP_CONTENT) {
|
|
5932
|
+
ALLOWED_TAGS['#text'] = true;
|
|
5933
|
+
}
|
|
5934
|
+
/* Add html, head and body to ALLOWED_TAGS in case WHOLE_DOCUMENT is true */
|
|
5935
|
+
if (WHOLE_DOCUMENT) {
|
|
5936
|
+
addToSet(ALLOWED_TAGS, ['html', 'head', 'body']);
|
|
5937
|
+
}
|
|
5938
|
+
/* Add tbody to ALLOWED_TAGS in case tables are permitted, see #286, #365 */
|
|
5939
|
+
if (ALLOWED_TAGS.table) {
|
|
5940
|
+
addToSet(ALLOWED_TAGS, ['tbody']);
|
|
5941
|
+
delete FORBID_TAGS.tbody;
|
|
5942
|
+
}
|
|
5943
|
+
if (cfg.TRUSTED_TYPES_POLICY) {
|
|
5944
|
+
if (typeof cfg.TRUSTED_TYPES_POLICY.createHTML !== 'function') {
|
|
5945
|
+
throw typeErrorCreate('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');
|
|
5946
|
+
}
|
|
5947
|
+
if (typeof cfg.TRUSTED_TYPES_POLICY.createScriptURL !== 'function') {
|
|
5948
|
+
throw typeErrorCreate('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');
|
|
5949
|
+
}
|
|
5950
|
+
// Overwrite existing TrustedTypes policy.
|
|
5951
|
+
trustedTypesPolicy = cfg.TRUSTED_TYPES_POLICY;
|
|
5952
|
+
// Sign local variables required by `sanitize`.
|
|
5953
|
+
emptyHTML = trustedTypesPolicy.createHTML('');
|
|
5954
|
+
} else {
|
|
5955
|
+
// Uninitialized policy, attempt to initialize the internal dompurify policy.
|
|
5956
|
+
if (trustedTypesPolicy === undefined) {
|
|
5957
|
+
trustedTypesPolicy = _createTrustedTypesPolicy(trustedTypes, currentScript);
|
|
5958
|
+
}
|
|
5959
|
+
// If creating the internal policy succeeded sign internal variables.
|
|
5960
|
+
if (trustedTypesPolicy !== null && typeof emptyHTML === 'string') {
|
|
5961
|
+
emptyHTML = trustedTypesPolicy.createHTML('');
|
|
5962
|
+
}
|
|
5963
|
+
}
|
|
5964
|
+
// Prevent further manipulation of configuration.
|
|
5965
|
+
// Not available in IE8, Safari 5, etc.
|
|
5966
|
+
if (freeze) {
|
|
5967
|
+
freeze(cfg);
|
|
5968
|
+
}
|
|
5969
|
+
CONFIG = cfg;
|
|
5970
|
+
};
|
|
5971
|
+
/* Keep track of all possible SVG and MathML tags
|
|
5972
|
+
* so that we can perform the namespace checks
|
|
5973
|
+
* correctly. */
|
|
5974
|
+
const ALL_SVG_TAGS = addToSet({}, [...svg$1, ...svgFilters, ...svgDisallowed]);
|
|
5975
|
+
const ALL_MATHML_TAGS = addToSet({}, [...mathMl$1, ...mathMlDisallowed]);
|
|
5976
|
+
/**
|
|
5977
|
+
* @param element a DOM element whose namespace is being checked
|
|
5978
|
+
* @returns Return false if the element has a
|
|
5979
|
+
* namespace that a spec-compliant parser would never
|
|
5980
|
+
* return. Return true otherwise.
|
|
5981
|
+
*/
|
|
5982
|
+
const _checkValidNamespace = function _checkValidNamespace(element) {
|
|
5983
|
+
let parent = getParentNode(element);
|
|
5984
|
+
// In JSDOM, if we're inside shadow DOM, then parentNode
|
|
5985
|
+
// can be null. We just simulate parent in this case.
|
|
5986
|
+
if (!parent || !parent.tagName) {
|
|
5987
|
+
parent = {
|
|
5988
|
+
namespaceURI: NAMESPACE,
|
|
5989
|
+
tagName: 'template'
|
|
5990
|
+
};
|
|
5991
|
+
}
|
|
5992
|
+
const tagName = stringToLowerCase(element.tagName);
|
|
5993
|
+
const parentTagName = stringToLowerCase(parent.tagName);
|
|
5994
|
+
if (!ALLOWED_NAMESPACES[element.namespaceURI]) {
|
|
5995
|
+
return false;
|
|
5996
|
+
}
|
|
5997
|
+
if (element.namespaceURI === SVG_NAMESPACE) {
|
|
5998
|
+
// The only way to switch from HTML namespace to SVG
|
|
5999
|
+
// is via <svg>. If it happens via any other tag, then
|
|
6000
|
+
// it should be killed.
|
|
6001
|
+
if (parent.namespaceURI === HTML_NAMESPACE) {
|
|
6002
|
+
return tagName === 'svg';
|
|
6003
|
+
}
|
|
6004
|
+
// The only way to switch from MathML to SVG is via`
|
|
6005
|
+
// svg if parent is either <annotation-xml> or MathML
|
|
6006
|
+
// text integration points.
|
|
6007
|
+
if (parent.namespaceURI === MATHML_NAMESPACE) {
|
|
6008
|
+
return tagName === 'svg' && (parentTagName === 'annotation-xml' || MATHML_TEXT_INTEGRATION_POINTS[parentTagName]);
|
|
6009
|
+
}
|
|
6010
|
+
// We only allow elements that are defined in SVG
|
|
6011
|
+
// spec. All others are disallowed in SVG namespace.
|
|
6012
|
+
return Boolean(ALL_SVG_TAGS[tagName]);
|
|
6013
|
+
}
|
|
6014
|
+
if (element.namespaceURI === MATHML_NAMESPACE) {
|
|
6015
|
+
// The only way to switch from HTML namespace to MathML
|
|
6016
|
+
// is via <math>. If it happens via any other tag, then
|
|
6017
|
+
// it should be killed.
|
|
6018
|
+
if (parent.namespaceURI === HTML_NAMESPACE) {
|
|
6019
|
+
return tagName === 'math';
|
|
6020
|
+
}
|
|
6021
|
+
// The only way to switch from SVG to MathML is via
|
|
6022
|
+
// <math> and HTML integration points
|
|
6023
|
+
if (parent.namespaceURI === SVG_NAMESPACE) {
|
|
6024
|
+
return tagName === 'math' && HTML_INTEGRATION_POINTS[parentTagName];
|
|
6025
|
+
}
|
|
6026
|
+
// We only allow elements that are defined in MathML
|
|
6027
|
+
// spec. All others are disallowed in MathML namespace.
|
|
6028
|
+
return Boolean(ALL_MATHML_TAGS[tagName]);
|
|
6029
|
+
}
|
|
6030
|
+
if (element.namespaceURI === HTML_NAMESPACE) {
|
|
6031
|
+
// The only way to switch from SVG to HTML is via
|
|
6032
|
+
// HTML integration points, and from MathML to HTML
|
|
6033
|
+
// is via MathML text integration points
|
|
6034
|
+
if (parent.namespaceURI === SVG_NAMESPACE && !HTML_INTEGRATION_POINTS[parentTagName]) {
|
|
6035
|
+
return false;
|
|
6036
|
+
}
|
|
6037
|
+
if (parent.namespaceURI === MATHML_NAMESPACE && !MATHML_TEXT_INTEGRATION_POINTS[parentTagName]) {
|
|
6038
|
+
return false;
|
|
6039
|
+
}
|
|
6040
|
+
// We disallow tags that are specific for MathML
|
|
6041
|
+
// or SVG and should never appear in HTML namespace
|
|
6042
|
+
return !ALL_MATHML_TAGS[tagName] && (COMMON_SVG_AND_HTML_ELEMENTS[tagName] || !ALL_SVG_TAGS[tagName]);
|
|
6043
|
+
}
|
|
6044
|
+
// For XHTML and XML documents that support custom namespaces
|
|
6045
|
+
if (PARSER_MEDIA_TYPE === 'application/xhtml+xml' && ALLOWED_NAMESPACES[element.namespaceURI]) {
|
|
6046
|
+
return true;
|
|
6047
|
+
}
|
|
6048
|
+
// The code should never reach this place (this means
|
|
6049
|
+
// that the element somehow got namespace that is not
|
|
6050
|
+
// HTML, SVG, MathML or allowed via ALLOWED_NAMESPACES).
|
|
6051
|
+
// Return false just in case.
|
|
6052
|
+
return false;
|
|
6053
|
+
};
|
|
6054
|
+
/**
|
|
6055
|
+
* _forceRemove
|
|
6056
|
+
*
|
|
6057
|
+
* @param node a DOM node
|
|
6058
|
+
*/
|
|
6059
|
+
const _forceRemove = function _forceRemove(node) {
|
|
6060
|
+
arrayPush(DOMPurify.removed, {
|
|
6061
|
+
element: node
|
|
6062
|
+
});
|
|
6063
|
+
try {
|
|
6064
|
+
// eslint-disable-next-line unicorn/prefer-dom-node-remove
|
|
6065
|
+
getParentNode(node).removeChild(node);
|
|
6066
|
+
} catch (_) {
|
|
6067
|
+
remove(node);
|
|
6068
|
+
}
|
|
6069
|
+
};
|
|
6070
|
+
/**
|
|
6071
|
+
* _removeAttribute
|
|
6072
|
+
*
|
|
6073
|
+
* @param name an Attribute name
|
|
6074
|
+
* @param element a DOM node
|
|
6075
|
+
*/
|
|
6076
|
+
const _removeAttribute = function _removeAttribute(name, element) {
|
|
6077
|
+
try {
|
|
6078
|
+
arrayPush(DOMPurify.removed, {
|
|
6079
|
+
attribute: element.getAttributeNode(name),
|
|
6080
|
+
from: element
|
|
6081
|
+
});
|
|
6082
|
+
} catch (_) {
|
|
6083
|
+
arrayPush(DOMPurify.removed, {
|
|
6084
|
+
attribute: null,
|
|
6085
|
+
from: element
|
|
6086
|
+
});
|
|
6087
|
+
}
|
|
6088
|
+
element.removeAttribute(name);
|
|
6089
|
+
// We void attribute values for unremovable "is" attributes
|
|
6090
|
+
if (name === 'is') {
|
|
6091
|
+
if (RETURN_DOM || RETURN_DOM_FRAGMENT) {
|
|
6092
|
+
try {
|
|
6093
|
+
_forceRemove(element);
|
|
6094
|
+
} catch (_) {}
|
|
6095
|
+
} else {
|
|
6096
|
+
try {
|
|
6097
|
+
element.setAttribute(name, '');
|
|
6098
|
+
} catch (_) {}
|
|
6099
|
+
}
|
|
6100
|
+
}
|
|
6101
|
+
};
|
|
6102
|
+
/**
|
|
6103
|
+
* _initDocument
|
|
6104
|
+
*
|
|
6105
|
+
* @param dirty - a string of dirty markup
|
|
6106
|
+
* @return a DOM, filled with the dirty markup
|
|
6107
|
+
*/
|
|
6108
|
+
const _initDocument = function _initDocument(dirty) {
|
|
6109
|
+
/* Create a HTML document */
|
|
6110
|
+
let doc = null;
|
|
6111
|
+
let leadingWhitespace = null;
|
|
6112
|
+
if (FORCE_BODY) {
|
|
6113
|
+
dirty = '<remove></remove>' + dirty;
|
|
6114
|
+
} else {
|
|
6115
|
+
/* If FORCE_BODY isn't used, leading whitespace needs to be preserved manually */
|
|
6116
|
+
const matches = stringMatch(dirty, /^[\r\n\t ]+/);
|
|
6117
|
+
leadingWhitespace = matches && matches[0];
|
|
6118
|
+
}
|
|
6119
|
+
if (PARSER_MEDIA_TYPE === 'application/xhtml+xml' && NAMESPACE === HTML_NAMESPACE) {
|
|
6120
|
+
// Root of XHTML doc must contain xmlns declaration (see https://www.w3.org/TR/xhtml1/normative.html#strict)
|
|
6121
|
+
dirty = '<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body>' + dirty + '</body></html>';
|
|
6122
|
+
}
|
|
6123
|
+
const dirtyPayload = trustedTypesPolicy ? trustedTypesPolicy.createHTML(dirty) : dirty;
|
|
6124
|
+
/*
|
|
6125
|
+
* Use the DOMParser API by default, fallback later if needs be
|
|
6126
|
+
* DOMParser not work for svg when has multiple root element.
|
|
6127
|
+
*/
|
|
6128
|
+
if (NAMESPACE === HTML_NAMESPACE) {
|
|
6129
|
+
try {
|
|
6130
|
+
doc = new DOMParser().parseFromString(dirtyPayload, PARSER_MEDIA_TYPE);
|
|
6131
|
+
} catch (_) {}
|
|
6132
|
+
}
|
|
6133
|
+
/* Use createHTMLDocument in case DOMParser is not available */
|
|
6134
|
+
if (!doc || !doc.documentElement) {
|
|
6135
|
+
doc = implementation.createDocument(NAMESPACE, 'template', null);
|
|
6136
|
+
try {
|
|
6137
|
+
doc.documentElement.innerHTML = IS_EMPTY_INPUT ? emptyHTML : dirtyPayload;
|
|
6138
|
+
} catch (_) {
|
|
6139
|
+
// Syntax error if dirtyPayload is invalid xml
|
|
6140
|
+
}
|
|
6141
|
+
}
|
|
6142
|
+
const body = doc.body || doc.documentElement;
|
|
6143
|
+
if (dirty && leadingWhitespace) {
|
|
6144
|
+
body.insertBefore(document.createTextNode(leadingWhitespace), body.childNodes[0] || null);
|
|
6145
|
+
}
|
|
6146
|
+
/* Work on whole document or just its body */
|
|
6147
|
+
if (NAMESPACE === HTML_NAMESPACE) {
|
|
6148
|
+
return getElementsByTagName.call(doc, WHOLE_DOCUMENT ? 'html' : 'body')[0];
|
|
6149
|
+
}
|
|
6150
|
+
return WHOLE_DOCUMENT ? doc.documentElement : body;
|
|
6151
|
+
};
|
|
6152
|
+
/**
|
|
6153
|
+
* Creates a NodeIterator object that you can use to traverse filtered lists of nodes or elements in a document.
|
|
6154
|
+
*
|
|
6155
|
+
* @param root The root element or node to start traversing on.
|
|
6156
|
+
* @return The created NodeIterator
|
|
6157
|
+
*/
|
|
6158
|
+
const _createNodeIterator = function _createNodeIterator(root) {
|
|
6159
|
+
return createNodeIterator.call(root.ownerDocument || root, root,
|
|
6160
|
+
// eslint-disable-next-line no-bitwise
|
|
6161
|
+
NodeFilter.SHOW_ELEMENT | NodeFilter.SHOW_COMMENT | NodeFilter.SHOW_TEXT | NodeFilter.SHOW_PROCESSING_INSTRUCTION | NodeFilter.SHOW_CDATA_SECTION, null);
|
|
6162
|
+
};
|
|
6163
|
+
/**
|
|
6164
|
+
* _isClobbered
|
|
6165
|
+
*
|
|
6166
|
+
* @param element element to check for clobbering attacks
|
|
6167
|
+
* @return true if clobbered, false if safe
|
|
6168
|
+
*/
|
|
6169
|
+
const _isClobbered = function _isClobbered(element) {
|
|
6170
|
+
return element instanceof HTMLFormElement && (typeof element.nodeName !== 'string' || typeof element.textContent !== 'string' || typeof element.removeChild !== 'function' || !(element.attributes instanceof NamedNodeMap) || typeof element.removeAttribute !== 'function' || typeof element.setAttribute !== 'function' || typeof element.namespaceURI !== 'string' || typeof element.insertBefore !== 'function' || typeof element.hasChildNodes !== 'function');
|
|
6171
|
+
};
|
|
6172
|
+
/**
|
|
6173
|
+
* Checks whether the given object is a DOM node.
|
|
6174
|
+
*
|
|
6175
|
+
* @param value object to check whether it's a DOM node
|
|
6176
|
+
* @return true is object is a DOM node
|
|
6177
|
+
*/
|
|
6178
|
+
const _isNode = function _isNode(value) {
|
|
6179
|
+
return typeof Node === 'function' && value instanceof Node;
|
|
6180
|
+
};
|
|
6181
|
+
function _executeHooks(hooks, currentNode, data) {
|
|
6182
|
+
arrayForEach(hooks, hook => {
|
|
6183
|
+
hook.call(DOMPurify, currentNode, data, CONFIG);
|
|
6184
|
+
});
|
|
6185
|
+
}
|
|
6186
|
+
/**
|
|
6187
|
+
* _sanitizeElements
|
|
6188
|
+
*
|
|
6189
|
+
* @protect nodeName
|
|
6190
|
+
* @protect textContent
|
|
6191
|
+
* @protect removeChild
|
|
6192
|
+
* @param currentNode to check for permission to exist
|
|
6193
|
+
* @return true if node was killed, false if left alive
|
|
6194
|
+
*/
|
|
6195
|
+
const _sanitizeElements = function _sanitizeElements(currentNode) {
|
|
6196
|
+
let content = null;
|
|
6197
|
+
/* Execute a hook if present */
|
|
6198
|
+
_executeHooks(hooks.beforeSanitizeElements, currentNode, null);
|
|
6199
|
+
/* Check if element is clobbered or can clobber */
|
|
6200
|
+
if (_isClobbered(currentNode)) {
|
|
6201
|
+
_forceRemove(currentNode);
|
|
6202
|
+
return true;
|
|
6203
|
+
}
|
|
6204
|
+
/* Now let's check the element's type and name */
|
|
6205
|
+
const tagName = transformCaseFunc(currentNode.nodeName);
|
|
6206
|
+
/* Execute a hook if present */
|
|
6207
|
+
_executeHooks(hooks.uponSanitizeElement, currentNode, {
|
|
6208
|
+
tagName,
|
|
6209
|
+
allowedTags: ALLOWED_TAGS
|
|
6210
|
+
});
|
|
6211
|
+
/* Detect mXSS attempts abusing namespace confusion */
|
|
6212
|
+
if (SAFE_FOR_XML && currentNode.hasChildNodes() && !_isNode(currentNode.firstElementChild) && regExpTest(/<[/\w!]/g, currentNode.innerHTML) && regExpTest(/<[/\w!]/g, currentNode.textContent)) {
|
|
6213
|
+
_forceRemove(currentNode);
|
|
6214
|
+
return true;
|
|
6215
|
+
}
|
|
6216
|
+
/* Remove any occurrence of processing instructions */
|
|
6217
|
+
if (currentNode.nodeType === NODE_TYPE.progressingInstruction) {
|
|
6218
|
+
_forceRemove(currentNode);
|
|
6219
|
+
return true;
|
|
6220
|
+
}
|
|
6221
|
+
/* Remove any kind of possibly harmful comments */
|
|
6222
|
+
if (SAFE_FOR_XML && currentNode.nodeType === NODE_TYPE.comment && regExpTest(/<[/\w]/g, currentNode.data)) {
|
|
6223
|
+
_forceRemove(currentNode);
|
|
6224
|
+
return true;
|
|
6225
|
+
}
|
|
6226
|
+
/* Remove element if anything forbids its presence */
|
|
6227
|
+
if (!ALLOWED_TAGS[tagName] || FORBID_TAGS[tagName]) {
|
|
6228
|
+
/* Check if we have a custom element to handle */
|
|
6229
|
+
if (!FORBID_TAGS[tagName] && _isBasicCustomElement(tagName)) {
|
|
6230
|
+
if (CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof RegExp && regExpTest(CUSTOM_ELEMENT_HANDLING.tagNameCheck, tagName)) {
|
|
6231
|
+
return false;
|
|
6232
|
+
}
|
|
6233
|
+
if (CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof Function && CUSTOM_ELEMENT_HANDLING.tagNameCheck(tagName)) {
|
|
6234
|
+
return false;
|
|
6235
|
+
}
|
|
6236
|
+
}
|
|
6237
|
+
/* Keep content except for bad-listed elements */
|
|
6238
|
+
if (KEEP_CONTENT && !FORBID_CONTENTS[tagName]) {
|
|
6239
|
+
const parentNode = getParentNode(currentNode) || currentNode.parentNode;
|
|
6240
|
+
const childNodes = getChildNodes(currentNode) || currentNode.childNodes;
|
|
6241
|
+
if (childNodes && parentNode) {
|
|
6242
|
+
const childCount = childNodes.length;
|
|
6243
|
+
for (let i = childCount - 1; i >= 0; --i) {
|
|
6244
|
+
const childClone = cloneNode(childNodes[i], true);
|
|
6245
|
+
childClone.__removalCount = (currentNode.__removalCount || 0) + 1;
|
|
6246
|
+
parentNode.insertBefore(childClone, getNextSibling(currentNode));
|
|
6247
|
+
}
|
|
6248
|
+
}
|
|
6249
|
+
}
|
|
6250
|
+
_forceRemove(currentNode);
|
|
6251
|
+
return true;
|
|
6252
|
+
}
|
|
6253
|
+
/* Check whether element has a valid namespace */
|
|
6254
|
+
if (currentNode instanceof Element && !_checkValidNamespace(currentNode)) {
|
|
6255
|
+
_forceRemove(currentNode);
|
|
6256
|
+
return true;
|
|
6257
|
+
}
|
|
6258
|
+
/* Make sure that older browsers don't get fallback-tag mXSS */
|
|
6259
|
+
if ((tagName === 'noscript' || tagName === 'noembed' || tagName === 'noframes') && regExpTest(/<\/no(script|embed|frames)/i, currentNode.innerHTML)) {
|
|
6260
|
+
_forceRemove(currentNode);
|
|
6261
|
+
return true;
|
|
6262
|
+
}
|
|
6263
|
+
/* Sanitize element content to be template-safe */
|
|
6264
|
+
if (SAFE_FOR_TEMPLATES && currentNode.nodeType === NODE_TYPE.text) {
|
|
6265
|
+
/* Get the element's text content */
|
|
6266
|
+
content = currentNode.textContent;
|
|
6267
|
+
arrayForEach([MUSTACHE_EXPR, ERB_EXPR, TMPLIT_EXPR], expr => {
|
|
6268
|
+
content = stringReplace(content, expr, ' ');
|
|
6269
|
+
});
|
|
6270
|
+
if (currentNode.textContent !== content) {
|
|
6271
|
+
arrayPush(DOMPurify.removed, {
|
|
6272
|
+
element: currentNode.cloneNode()
|
|
6273
|
+
});
|
|
6274
|
+
currentNode.textContent = content;
|
|
6275
|
+
}
|
|
6276
|
+
}
|
|
6277
|
+
/* Execute a hook if present */
|
|
6278
|
+
_executeHooks(hooks.afterSanitizeElements, currentNode, null);
|
|
6279
|
+
return false;
|
|
6280
|
+
};
|
|
6281
|
+
/**
|
|
6282
|
+
* _isValidAttribute
|
|
6283
|
+
*
|
|
6284
|
+
* @param lcTag Lowercase tag name of containing element.
|
|
6285
|
+
* @param lcName Lowercase attribute name.
|
|
6286
|
+
* @param value Attribute value.
|
|
6287
|
+
* @return Returns true if `value` is valid, otherwise false.
|
|
6288
|
+
*/
|
|
6289
|
+
// eslint-disable-next-line complexity
|
|
6290
|
+
const _isValidAttribute = function _isValidAttribute(lcTag, lcName, value) {
|
|
6291
|
+
/* Make sure attribute cannot clobber */
|
|
6292
|
+
if (SANITIZE_DOM && (lcName === 'id' || lcName === 'name') && (value in document || value in formElement)) {
|
|
6293
|
+
return false;
|
|
6294
|
+
}
|
|
6295
|
+
/* Allow valid data-* attributes: At least one character after "-"
|
|
6296
|
+
(https://html.spec.whatwg.org/multipage/dom.html#embedding-custom-non-visible-data-with-the-data-*-attributes)
|
|
6297
|
+
XML-compatible (https://html.spec.whatwg.org/multipage/infrastructure.html#xml-compatible and http://www.w3.org/TR/xml/#d0e804)
|
|
6298
|
+
We don't need to check the value; it's always URI safe. */
|
|
6299
|
+
if (ALLOW_DATA_ATTR && !FORBID_ATTR[lcName] && regExpTest(DATA_ATTR, lcName)) ; else if (ALLOW_ARIA_ATTR && regExpTest(ARIA_ATTR, lcName)) ; else if (!ALLOWED_ATTR[lcName] || FORBID_ATTR[lcName]) {
|
|
6300
|
+
if (
|
|
6301
|
+
// First condition does a very basic check if a) it's basically a valid custom element tagname AND
|
|
6302
|
+
// b) if the tagName passes whatever the user has configured for CUSTOM_ELEMENT_HANDLING.tagNameCheck
|
|
6303
|
+
// and c) if the attribute name passes whatever the user has configured for CUSTOM_ELEMENT_HANDLING.attributeNameCheck
|
|
6304
|
+
_isBasicCustomElement(lcTag) && (CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof RegExp && regExpTest(CUSTOM_ELEMENT_HANDLING.tagNameCheck, lcTag) || CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof Function && CUSTOM_ELEMENT_HANDLING.tagNameCheck(lcTag)) && (CUSTOM_ELEMENT_HANDLING.attributeNameCheck instanceof RegExp && regExpTest(CUSTOM_ELEMENT_HANDLING.attributeNameCheck, lcName) || CUSTOM_ELEMENT_HANDLING.attributeNameCheck instanceof Function && CUSTOM_ELEMENT_HANDLING.attributeNameCheck(lcName)) ||
|
|
6305
|
+
// Alternative, second condition checks if it's an `is`-attribute, AND
|
|
6306
|
+
// the value passes whatever the user has configured for CUSTOM_ELEMENT_HANDLING.tagNameCheck
|
|
6307
|
+
lcName === 'is' && CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements && (CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof RegExp && regExpTest(CUSTOM_ELEMENT_HANDLING.tagNameCheck, value) || CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof Function && CUSTOM_ELEMENT_HANDLING.tagNameCheck(value))) ; else {
|
|
6308
|
+
return false;
|
|
6309
|
+
}
|
|
6310
|
+
/* Check value is safe. First, is attr inert? If so, is safe */
|
|
6311
|
+
} else if (URI_SAFE_ATTRIBUTES[lcName]) ; else if (regExpTest(IS_ALLOWED_URI$1, stringReplace(value, ATTR_WHITESPACE, ''))) ; else if ((lcName === 'src' || lcName === 'xlink:href' || lcName === 'href') && lcTag !== 'script' && stringIndexOf(value, 'data:') === 0 && DATA_URI_TAGS[lcTag]) ; else if (ALLOW_UNKNOWN_PROTOCOLS && !regExpTest(IS_SCRIPT_OR_DATA, stringReplace(value, ATTR_WHITESPACE, ''))) ; else if (value) {
|
|
6312
|
+
return false;
|
|
6313
|
+
} else ;
|
|
6314
|
+
return true;
|
|
6315
|
+
};
|
|
6316
|
+
/**
|
|
6317
|
+
* _isBasicCustomElement
|
|
6318
|
+
* checks if at least one dash is included in tagName, and it's not the first char
|
|
6319
|
+
* for more sophisticated checking see https://github.com/sindresorhus/validate-element-name
|
|
6320
|
+
*
|
|
6321
|
+
* @param tagName name of the tag of the node to sanitize
|
|
6322
|
+
* @returns Returns true if the tag name meets the basic criteria for a custom element, otherwise false.
|
|
6323
|
+
*/
|
|
6324
|
+
const _isBasicCustomElement = function _isBasicCustomElement(tagName) {
|
|
6325
|
+
return tagName !== 'annotation-xml' && stringMatch(tagName, CUSTOM_ELEMENT);
|
|
6326
|
+
};
|
|
6327
|
+
/**
|
|
6328
|
+
* _sanitizeAttributes
|
|
6329
|
+
*
|
|
6330
|
+
* @protect attributes
|
|
6331
|
+
* @protect nodeName
|
|
6332
|
+
* @protect removeAttribute
|
|
6333
|
+
* @protect setAttribute
|
|
6334
|
+
*
|
|
6335
|
+
* @param currentNode to sanitize
|
|
6336
|
+
*/
|
|
6337
|
+
const _sanitizeAttributes = function _sanitizeAttributes(currentNode) {
|
|
6338
|
+
/* Execute a hook if present */
|
|
6339
|
+
_executeHooks(hooks.beforeSanitizeAttributes, currentNode, null);
|
|
6340
|
+
const {
|
|
6341
|
+
attributes
|
|
6342
|
+
} = currentNode;
|
|
6343
|
+
/* Check if we have attributes; if not we might have a text node */
|
|
6344
|
+
if (!attributes || _isClobbered(currentNode)) {
|
|
6345
|
+
return;
|
|
6346
|
+
}
|
|
6347
|
+
const hookEvent = {
|
|
6348
|
+
attrName: '',
|
|
6349
|
+
attrValue: '',
|
|
6350
|
+
keepAttr: true,
|
|
6351
|
+
allowedAttributes: ALLOWED_ATTR,
|
|
6352
|
+
forceKeepAttr: undefined
|
|
6353
|
+
};
|
|
6354
|
+
let l = attributes.length;
|
|
6355
|
+
/* Go backwards over all attributes; safely remove bad ones */
|
|
6356
|
+
while (l--) {
|
|
6357
|
+
const attr = attributes[l];
|
|
6358
|
+
const {
|
|
6359
|
+
name,
|
|
6360
|
+
namespaceURI,
|
|
6361
|
+
value: attrValue
|
|
6362
|
+
} = attr;
|
|
6363
|
+
const lcName = transformCaseFunc(name);
|
|
6364
|
+
const initValue = attrValue;
|
|
6365
|
+
let value = name === 'value' ? initValue : stringTrim(initValue);
|
|
6366
|
+
/* Execute a hook if present */
|
|
6367
|
+
hookEvent.attrName = lcName;
|
|
6368
|
+
hookEvent.attrValue = value;
|
|
6369
|
+
hookEvent.keepAttr = true;
|
|
6370
|
+
hookEvent.forceKeepAttr = undefined; // Allows developers to see this is a property they can set
|
|
6371
|
+
_executeHooks(hooks.uponSanitizeAttribute, currentNode, hookEvent);
|
|
6372
|
+
value = hookEvent.attrValue;
|
|
6373
|
+
/* Full DOM Clobbering protection via namespace isolation,
|
|
6374
|
+
* Prefix id and name attributes with `user-content-`
|
|
6375
|
+
*/
|
|
6376
|
+
if (SANITIZE_NAMED_PROPS && (lcName === 'id' || lcName === 'name')) {
|
|
6377
|
+
// Remove the attribute with this value
|
|
6378
|
+
_removeAttribute(name, currentNode);
|
|
6379
|
+
// Prefix the value and later re-create the attribute with the sanitized value
|
|
6380
|
+
value = SANITIZE_NAMED_PROPS_PREFIX + value;
|
|
6381
|
+
}
|
|
6382
|
+
/* Work around a security issue with comments inside attributes */
|
|
6383
|
+
if (SAFE_FOR_XML && regExpTest(/((--!?|])>)|<\/(style|title)/i, value)) {
|
|
6384
|
+
_removeAttribute(name, currentNode);
|
|
6385
|
+
continue;
|
|
6386
|
+
}
|
|
6387
|
+
/* Did the hooks approve of the attribute? */
|
|
6388
|
+
if (hookEvent.forceKeepAttr) {
|
|
6389
|
+
continue;
|
|
6390
|
+
}
|
|
6391
|
+
/* Did the hooks approve of the attribute? */
|
|
6392
|
+
if (!hookEvent.keepAttr) {
|
|
6393
|
+
_removeAttribute(name, currentNode);
|
|
6394
|
+
continue;
|
|
6395
|
+
}
|
|
6396
|
+
/* Work around a security issue in jQuery 3.0 */
|
|
6397
|
+
if (!ALLOW_SELF_CLOSE_IN_ATTR && regExpTest(/\/>/i, value)) {
|
|
6398
|
+
_removeAttribute(name, currentNode);
|
|
6399
|
+
continue;
|
|
6400
|
+
}
|
|
6401
|
+
/* Sanitize attribute content to be template-safe */
|
|
6402
|
+
if (SAFE_FOR_TEMPLATES) {
|
|
6403
|
+
arrayForEach([MUSTACHE_EXPR, ERB_EXPR, TMPLIT_EXPR], expr => {
|
|
6404
|
+
value = stringReplace(value, expr, ' ');
|
|
6405
|
+
});
|
|
6406
|
+
}
|
|
6407
|
+
/* Is `value` valid for this attribute? */
|
|
6408
|
+
const lcTag = transformCaseFunc(currentNode.nodeName);
|
|
6409
|
+
if (!_isValidAttribute(lcTag, lcName, value)) {
|
|
6410
|
+
_removeAttribute(name, currentNode);
|
|
6411
|
+
continue;
|
|
6412
|
+
}
|
|
6413
|
+
/* Handle attributes that require Trusted Types */
|
|
6414
|
+
if (trustedTypesPolicy && typeof trustedTypes === 'object' && typeof trustedTypes.getAttributeType === 'function') {
|
|
6415
|
+
if (namespaceURI) ; else {
|
|
6416
|
+
switch (trustedTypes.getAttributeType(lcTag, lcName)) {
|
|
6417
|
+
case 'TrustedHTML':
|
|
6418
|
+
{
|
|
6419
|
+
value = trustedTypesPolicy.createHTML(value);
|
|
6420
|
+
break;
|
|
6421
|
+
}
|
|
6422
|
+
case 'TrustedScriptURL':
|
|
6423
|
+
{
|
|
6424
|
+
value = trustedTypesPolicy.createScriptURL(value);
|
|
6425
|
+
break;
|
|
6426
|
+
}
|
|
6427
|
+
}
|
|
6428
|
+
}
|
|
6429
|
+
}
|
|
6430
|
+
/* Handle invalid data-* attribute set by try-catching it */
|
|
6431
|
+
if (value !== initValue) {
|
|
6432
|
+
try {
|
|
6433
|
+
if (namespaceURI) {
|
|
6434
|
+
currentNode.setAttributeNS(namespaceURI, name, value);
|
|
6435
|
+
} else {
|
|
6436
|
+
/* Fallback to setAttribute() for browser-unrecognized namespaces e.g. "x-schema". */
|
|
6437
|
+
currentNode.setAttribute(name, value);
|
|
6438
|
+
}
|
|
6439
|
+
if (_isClobbered(currentNode)) {
|
|
6440
|
+
_forceRemove(currentNode);
|
|
6441
|
+
} else {
|
|
6442
|
+
arrayPop(DOMPurify.removed);
|
|
6443
|
+
}
|
|
6444
|
+
} catch (_) {
|
|
6445
|
+
_removeAttribute(name, currentNode);
|
|
6446
|
+
}
|
|
6447
|
+
}
|
|
6448
|
+
}
|
|
6449
|
+
/* Execute a hook if present */
|
|
6450
|
+
_executeHooks(hooks.afterSanitizeAttributes, currentNode, null);
|
|
6451
|
+
};
|
|
6452
|
+
/**
|
|
6453
|
+
* _sanitizeShadowDOM
|
|
6454
|
+
*
|
|
6455
|
+
* @param fragment to iterate over recursively
|
|
6456
|
+
*/
|
|
6457
|
+
const _sanitizeShadowDOM = function _sanitizeShadowDOM(fragment) {
|
|
6458
|
+
let shadowNode = null;
|
|
6459
|
+
const shadowIterator = _createNodeIterator(fragment);
|
|
6460
|
+
/* Execute a hook if present */
|
|
6461
|
+
_executeHooks(hooks.beforeSanitizeShadowDOM, fragment, null);
|
|
6462
|
+
while (shadowNode = shadowIterator.nextNode()) {
|
|
6463
|
+
/* Execute a hook if present */
|
|
6464
|
+
_executeHooks(hooks.uponSanitizeShadowNode, shadowNode, null);
|
|
6465
|
+
/* Sanitize tags and elements */
|
|
6466
|
+
_sanitizeElements(shadowNode);
|
|
6467
|
+
/* Check attributes next */
|
|
6468
|
+
_sanitizeAttributes(shadowNode);
|
|
6469
|
+
/* Deep shadow DOM detected */
|
|
6470
|
+
if (shadowNode.content instanceof DocumentFragment) {
|
|
6471
|
+
_sanitizeShadowDOM(shadowNode.content);
|
|
6472
|
+
}
|
|
6473
|
+
}
|
|
6474
|
+
/* Execute a hook if present */
|
|
6475
|
+
_executeHooks(hooks.afterSanitizeShadowDOM, fragment, null);
|
|
6476
|
+
};
|
|
6477
|
+
// eslint-disable-next-line complexity
|
|
6478
|
+
DOMPurify.sanitize = function (dirty) {
|
|
6479
|
+
let cfg = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
6480
|
+
let body = null;
|
|
6481
|
+
let importedNode = null;
|
|
6482
|
+
let currentNode = null;
|
|
6483
|
+
let returnNode = null;
|
|
6484
|
+
/* Make sure we have a string to sanitize.
|
|
6485
|
+
DO NOT return early, as this will return the wrong type if
|
|
6486
|
+
the user has requested a DOM object rather than a string */
|
|
6487
|
+
IS_EMPTY_INPUT = !dirty;
|
|
6488
|
+
if (IS_EMPTY_INPUT) {
|
|
6489
|
+
dirty = '<!-->';
|
|
6490
|
+
}
|
|
6491
|
+
/* Stringify, in case dirty is an object */
|
|
6492
|
+
if (typeof dirty !== 'string' && !_isNode(dirty)) {
|
|
6493
|
+
if (typeof dirty.toString === 'function') {
|
|
6494
|
+
dirty = dirty.toString();
|
|
6495
|
+
if (typeof dirty !== 'string') {
|
|
6496
|
+
throw typeErrorCreate('dirty is not a string, aborting');
|
|
6497
|
+
}
|
|
6498
|
+
} else {
|
|
6499
|
+
throw typeErrorCreate('toString is not a function');
|
|
6500
|
+
}
|
|
6501
|
+
}
|
|
6502
|
+
/* Return dirty HTML if DOMPurify cannot run */
|
|
6503
|
+
if (!DOMPurify.isSupported) {
|
|
6504
|
+
return dirty;
|
|
6505
|
+
}
|
|
6506
|
+
/* Assign config vars */
|
|
6507
|
+
if (!SET_CONFIG) {
|
|
6508
|
+
_parseConfig(cfg);
|
|
6509
|
+
}
|
|
6510
|
+
/* Clean up removed elements */
|
|
6511
|
+
DOMPurify.removed = [];
|
|
6512
|
+
/* Check if dirty is correctly typed for IN_PLACE */
|
|
6513
|
+
if (typeof dirty === 'string') {
|
|
6514
|
+
IN_PLACE = false;
|
|
6515
|
+
}
|
|
6516
|
+
if (IN_PLACE) {
|
|
6517
|
+
/* Do some early pre-sanitization to avoid unsafe root nodes */
|
|
6518
|
+
if (dirty.nodeName) {
|
|
6519
|
+
const tagName = transformCaseFunc(dirty.nodeName);
|
|
6520
|
+
if (!ALLOWED_TAGS[tagName] || FORBID_TAGS[tagName]) {
|
|
6521
|
+
throw typeErrorCreate('root node is forbidden and cannot be sanitized in-place');
|
|
6522
|
+
}
|
|
6523
|
+
}
|
|
6524
|
+
} else if (dirty instanceof Node) {
|
|
6525
|
+
/* If dirty is a DOM element, append to an empty document to avoid
|
|
6526
|
+
elements being stripped by the parser */
|
|
6527
|
+
body = _initDocument('<!---->');
|
|
6528
|
+
importedNode = body.ownerDocument.importNode(dirty, true);
|
|
6529
|
+
if (importedNode.nodeType === NODE_TYPE.element && importedNode.nodeName === 'BODY') {
|
|
6530
|
+
/* Node is already a body, use as is */
|
|
6531
|
+
body = importedNode;
|
|
6532
|
+
} else if (importedNode.nodeName === 'HTML') {
|
|
6533
|
+
body = importedNode;
|
|
6534
|
+
} else {
|
|
6535
|
+
// eslint-disable-next-line unicorn/prefer-dom-node-append
|
|
6536
|
+
body.appendChild(importedNode);
|
|
6537
|
+
}
|
|
6538
|
+
} else {
|
|
6539
|
+
/* Exit directly if we have nothing to do */
|
|
6540
|
+
if (!RETURN_DOM && !SAFE_FOR_TEMPLATES && !WHOLE_DOCUMENT &&
|
|
6541
|
+
// eslint-disable-next-line unicorn/prefer-includes
|
|
6542
|
+
dirty.indexOf('<') === -1) {
|
|
6543
|
+
return trustedTypesPolicy && RETURN_TRUSTED_TYPE ? trustedTypesPolicy.createHTML(dirty) : dirty;
|
|
6544
|
+
}
|
|
6545
|
+
/* Initialize the document to work on */
|
|
6546
|
+
body = _initDocument(dirty);
|
|
6547
|
+
/* Check we have a DOM node from the data */
|
|
6548
|
+
if (!body) {
|
|
6549
|
+
return RETURN_DOM ? null : RETURN_TRUSTED_TYPE ? emptyHTML : '';
|
|
6550
|
+
}
|
|
6551
|
+
}
|
|
6552
|
+
/* Remove first element node (ours) if FORCE_BODY is set */
|
|
6553
|
+
if (body && FORCE_BODY) {
|
|
6554
|
+
_forceRemove(body.firstChild);
|
|
6555
|
+
}
|
|
6556
|
+
/* Get node iterator */
|
|
6557
|
+
const nodeIterator = _createNodeIterator(IN_PLACE ? dirty : body);
|
|
6558
|
+
/* Now start iterating over the created document */
|
|
6559
|
+
while (currentNode = nodeIterator.nextNode()) {
|
|
6560
|
+
/* Sanitize tags and elements */
|
|
6561
|
+
_sanitizeElements(currentNode);
|
|
6562
|
+
/* Check attributes next */
|
|
6563
|
+
_sanitizeAttributes(currentNode);
|
|
6564
|
+
/* Shadow DOM detected, sanitize it */
|
|
6565
|
+
if (currentNode.content instanceof DocumentFragment) {
|
|
6566
|
+
_sanitizeShadowDOM(currentNode.content);
|
|
6567
|
+
}
|
|
6568
|
+
}
|
|
6569
|
+
/* If we sanitized `dirty` in-place, return it. */
|
|
6570
|
+
if (IN_PLACE) {
|
|
6571
|
+
return dirty;
|
|
6572
|
+
}
|
|
6573
|
+
/* Return sanitized string or DOM */
|
|
6574
|
+
if (RETURN_DOM) {
|
|
6575
|
+
if (RETURN_DOM_FRAGMENT) {
|
|
6576
|
+
returnNode = createDocumentFragment.call(body.ownerDocument);
|
|
6577
|
+
while (body.firstChild) {
|
|
6578
|
+
// eslint-disable-next-line unicorn/prefer-dom-node-append
|
|
6579
|
+
returnNode.appendChild(body.firstChild);
|
|
6580
|
+
}
|
|
6581
|
+
} else {
|
|
6582
|
+
returnNode = body;
|
|
6583
|
+
}
|
|
6584
|
+
if (ALLOWED_ATTR.shadowroot || ALLOWED_ATTR.shadowrootmode) {
|
|
6585
|
+
/*
|
|
6586
|
+
AdoptNode() is not used because internal state is not reset
|
|
6587
|
+
(e.g. the past names map of a HTMLFormElement), this is safe
|
|
6588
|
+
in theory but we would rather not risk another attack vector.
|
|
6589
|
+
The state that is cloned by importNode() is explicitly defined
|
|
6590
|
+
by the specs.
|
|
6591
|
+
*/
|
|
6592
|
+
returnNode = importNode.call(originalDocument, returnNode, true);
|
|
6593
|
+
}
|
|
6594
|
+
return returnNode;
|
|
6595
|
+
}
|
|
6596
|
+
let serializedHTML = WHOLE_DOCUMENT ? body.outerHTML : body.innerHTML;
|
|
6597
|
+
/* Serialize doctype if allowed */
|
|
6598
|
+
if (WHOLE_DOCUMENT && ALLOWED_TAGS['!doctype'] && body.ownerDocument && body.ownerDocument.doctype && body.ownerDocument.doctype.name && regExpTest(DOCTYPE_NAME, body.ownerDocument.doctype.name)) {
|
|
6599
|
+
serializedHTML = '<!DOCTYPE ' + body.ownerDocument.doctype.name + '>\n' + serializedHTML;
|
|
6600
|
+
}
|
|
6601
|
+
/* Sanitize final string template-safe */
|
|
6602
|
+
if (SAFE_FOR_TEMPLATES) {
|
|
6603
|
+
arrayForEach([MUSTACHE_EXPR, ERB_EXPR, TMPLIT_EXPR], expr => {
|
|
6604
|
+
serializedHTML = stringReplace(serializedHTML, expr, ' ');
|
|
6605
|
+
});
|
|
6606
|
+
}
|
|
6607
|
+
return trustedTypesPolicy && RETURN_TRUSTED_TYPE ? trustedTypesPolicy.createHTML(serializedHTML) : serializedHTML;
|
|
6608
|
+
};
|
|
6609
|
+
DOMPurify.setConfig = function () {
|
|
6610
|
+
let cfg = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
6611
|
+
_parseConfig(cfg);
|
|
6612
|
+
SET_CONFIG = true;
|
|
6613
|
+
};
|
|
6614
|
+
DOMPurify.clearConfig = function () {
|
|
6615
|
+
CONFIG = null;
|
|
6616
|
+
SET_CONFIG = false;
|
|
6617
|
+
};
|
|
6618
|
+
DOMPurify.isValidAttribute = function (tag, attr, value) {
|
|
6619
|
+
/* Initialize shared config vars if necessary. */
|
|
6620
|
+
if (!CONFIG) {
|
|
6621
|
+
_parseConfig({});
|
|
6622
|
+
}
|
|
6623
|
+
const lcTag = transformCaseFunc(tag);
|
|
6624
|
+
const lcName = transformCaseFunc(attr);
|
|
6625
|
+
return _isValidAttribute(lcTag, lcName, value);
|
|
6626
|
+
};
|
|
6627
|
+
DOMPurify.addHook = function (entryPoint, hookFunction) {
|
|
6628
|
+
if (typeof hookFunction !== 'function') {
|
|
6629
|
+
return;
|
|
6630
|
+
}
|
|
6631
|
+
arrayPush(hooks[entryPoint], hookFunction);
|
|
6632
|
+
};
|
|
6633
|
+
DOMPurify.removeHook = function (entryPoint, hookFunction) {
|
|
6634
|
+
if (hookFunction !== undefined) {
|
|
6635
|
+
const index = arrayLastIndexOf(hooks[entryPoint], hookFunction);
|
|
6636
|
+
return index === -1 ? undefined : arraySplice(hooks[entryPoint], index, 1)[0];
|
|
6637
|
+
}
|
|
6638
|
+
return arrayPop(hooks[entryPoint]);
|
|
6639
|
+
};
|
|
6640
|
+
DOMPurify.removeHooks = function (entryPoint) {
|
|
6641
|
+
hooks[entryPoint] = [];
|
|
6642
|
+
};
|
|
6643
|
+
DOMPurify.removeAllHooks = function () {
|
|
6644
|
+
hooks = _createHooksMap();
|
|
6645
|
+
};
|
|
6646
|
+
return DOMPurify;
|
|
6647
|
+
}
|
|
6648
|
+
var purify = createDOMPurify();
|
|
6649
|
+
|
|
6650
|
+
const pdsComboboxCss = ":host{display:block}.pds-combobox{position:relative}.pds-combobox__label{display:block;font-size:0.95rem;-webkit-margin-after:var(--pine-dimension-150);margin-block-end:var(--pine-dimension-150)}.pds-combobox__input{background:var(--pine-color-background-container);border:1px solid var(--pine-color-border);border-radius:var(--pine-dimension-125);-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--pine-color-text-active);-ms-flex:1;flex:1;font:var(--pine-typography-body-medium);padding:var(--pine-dimension-xs) var(--pine-dimension-150);-webkit-transition:border-color 0.2s ease;transition:border-color 0.2s ease;width:100%}.pds-combobox__input:hover:not(:disabled){border-color:var(--pine-color-border-hover)}.pds-combobox__input:disabled{background:var(--pine-color-background-container-disabled);border-color:var(--pine-color-border-disabled);color:var(--pine-color-text-disabled);cursor:not-allowed}.pds-combobox__input:disabled::-webkit-input-placeholder{color:var(--pine-color-text-placeholder-disabled)}.pds-combobox__input:disabled::-moz-placeholder{color:var(--pine-color-text-placeholder-disabled)}.pds-combobox__input:disabled:-ms-input-placeholder{color:var(--pine-color-text-placeholder-disabled)}.pds-combobox__input:disabled::-ms-input-placeholder{color:var(--pine-color-text-placeholder-disabled)}.pds-combobox__input:disabled::placeholder{color:var(--pine-color-text-placeholder-disabled)}.pds-combobox__input:focus-visible{border-color:var(--pine-color-border-active);outline:var(--pine-outline-focus);outline-offset:var(--pine-border-width)}.pds-combobox__input::-webkit-input-placeholder{color:var(--pine-color-text-placeholder)}.pds-combobox__input::-moz-placeholder{color:var(--pine-color-text-placeholder)}.pds-combobox__input:-ms-input-placeholder{color:var(--pine-color-text-placeholder)}.pds-combobox__input::-ms-input-placeholder{color:var(--pine-color-text-placeholder)}.pds-combobox__input::placeholder{color:var(--pine-color-text-placeholder)}.pds-combobox__listbox{background:var(--pine-color-background-container);border:0;border-radius:var(--pine-dimension-125);-webkit-box-shadow:var(--pine-box-shadow);box-shadow:var(--pine-box-shadow);list-style:none;margin:0;min-width:220px;overflow-y:auto;padding:var(--pine-dimension-xs);position:absolute;z-index:1000}.pds-combobox__option{-ms-flex-align:center;align-items:center;background:transparent;border-radius:var(--pine-dimension-125);cursor:pointer;display:-ms-flexbox;display:flex;font:var(--pine-typography-body-medium);-ms-flex-pack:justify;justify-content:space-between;padding:var(--pine-dimension-xs) var(--pine-dimension-sm);-webkit-transition:background 0.15s;transition:background 0.15s}.pds-combobox__option[aria-selected=true]{background:var(--pine-color-grey-150)}.pds-combobox__option .pds-combobox__option--layout .pds-combobox__option-layout-wrapper{-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex;width:100%}.pds-combobox__option:last-child{-webkit-margin-after:0;margin-block-end:0}.pds-combobox__option--highlighted,.pds-combobox__option[selected],.pds-combobox__option--selected{background:var(--pine-color-grey-150)}.pds-combobox__option-check{color:currentColor;font-size:var(--pine-dimension-150);-webkit-margin-start:var(--pine-dimension-150);margin-inline-start:var(--pine-dimension-150)}.pds-combobox__button-trigger{-ms-flex-align:center;align-items:center;background:var(--color-background-default, var(--pine-color-secondary));border:var(--pine-border);border-radius:var(--pine-border-radius-full);color:var(--color-text-default, #ffffff);cursor:pointer;display:-ms-flexbox;display:flex;font:var(--pine-typography-body-medium);-ms-flex-pack:justify;justify-content:space-between;min-height:var(--pine-dimension-450);outline:none;padding:0 var(--pine-dimension-sm);-webkit-transition:border-color 0.15s, background 0.15s, -webkit-box-shadow 0.15s;transition:border-color 0.15s, background 0.15s, -webkit-box-shadow 0.15s;transition:border-color 0.15s, box-shadow 0.15s, background 0.15s;transition:border-color 0.15s, box-shadow 0.15s, background 0.15s, -webkit-box-shadow 0.15s;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}.pds-combobox__button-trigger .pds-combobox__button-trigger-layout-wrapper{-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex;-ms-flex:1;flex:1}.pds-combobox__button-trigger .trigger-content{-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex;width:100%}.pds-combobox__button-trigger:focus-visible{border-color:var(--color-border-focus, var(--pine-color-border));-webkit-box-shadow:0 0 0 2px var(--color-outline, var(--pine-color-focus-ring));box-shadow:0 0 0 2px var(--color-outline, var(--pine-color-focus-ring))}.pds-combobox__button-trigger:hover{background:var(--color-background-hover, var(--pine-color-secondary-hover));border-color:var(--color-border-hover, var(--pine-color-border-hover))}.pds-combobox__button-trigger[aria-disabled=true],.pds-combobox__button-trigger:disabled{background:var(--color-background-disabled, var(--pine-color-secondary-disabled));border-color:var(--color-border-disabled, var(--pine-color-border-disabled));color:var(--color-text-disabled, var(--pine-color-text-secondary-disabled));cursor:not-allowed;opacity:0.6}.pds-combobox__button-trigger-label{color:inherit;-ms-flex:1 1 auto;flex:1 1 auto;text-align:start}.pds-combobox__button-trigger-chevron{color:currentColor;-webkit-margin-start:var(--pine-dimension-150);margin-inline-start:var(--pine-dimension-150)}.pds-combobox__button-trigger--primary{--color-background-default:var(--pine-color-primary);--color-background-hover:var(--pine-color-primary-hover);--color-background-disabled:var(--pine-color-primary-disabled);--color-border-default:var(--pine-color-primary);--color-border-hover:var(--pine-color-primary-hover);--color-border-disabled:var(--pine-color-primary-disabled);--color-border-focus:var(--pine-color-primary);--color-text-default:var(--pine-color-text-primary);--color-text-disabled:var(--pine-color-text-primary-disabled);--color-outline:var(--pine-color-focus-ring)}.pds-combobox__button-trigger--accent{--color-background-default:var(--pine-color-accent);--color-background-hover:var(--pine-color-accent-hover);--color-background-disabled:var(--pine-color-accent-disabled);--color-border-default:var(--pine-color-accent);--color-border-hover:var(--pine-color-accent-hover);--color-border-disabled:var(--pine-color-accent-disabled);--color-border-focus:var(--pine-color-accent);--color-text-default:var(--pine-color-text-primary);--color-text-disabled:var(--pine-color-text-accent-disabled);--color-outline:var(--pine-color-focus-ring)}.pds-combobox__button-trigger--secondary{--color-background-default:var(--pine-color-secondary);--color-background-hover:var(--pine-color-secondary-hover);--color-background-disabled:var(--pine-color-secondary-disabled);--color-border-default:var(--pine-color-border);--color-border-hover:var(--pine-color-border-hover);--color-border-disabled:var(--pine-color-border-disabled);--color-border-focus:var(--pine-color-border);--color-text-default:var(--pine-color-text-secondary);--color-text-disabled:var(--pine-color-text-secondary-disabled);--color-outline:var(--pine-color-focus-ring)}.pds-combobox__button-trigger--destructive{--color-background-default:var(--pine-color-danger);--color-background-hover:var(--pine-color-danger-hover);--color-background-disabled:var(--pine-color-danger-disabled);--color-border-default:var(--pine-color-danger);--color-border-hover:var(--pine-color-danger-hover);--color-border-disabled:var(--pine-color-danger-disabled);--color-border-focus:var(--pine-color-danger);--color-text-default:var(--pine-color-text-primary);--color-text-disabled:var(--pine-color-text-danger-disabled);--color-outline:var(--pine-color-focus-ring-danger)}.visually-hidden{border:0;clip:rect(0 0 0 0);-webkit-clip-path:polygon(0 0, 0 0, 0 0);clip-path:polygon(0 0, 0 0, 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}[data-layout]{border-radius:var(--pine-dimension-125);padding-block:var(--pine-dimension-xs)}";
|
|
6651
|
+
|
|
6652
|
+
/**
|
|
6653
|
+
* @slot option - Option elements for the combobox dropdown
|
|
6654
|
+
* @slot trigger-content - Custom content for the button trigger when customTriggerContent is true
|
|
6655
|
+
*/
|
|
6656
|
+
class PdsCombobox {
|
|
6657
|
+
constructor(hostRef) {
|
|
6658
|
+
registerInstance(this, hostRef);
|
|
6659
|
+
this.pdsComboboxChange = createEvent(this, "pdsComboboxChange");
|
|
6660
|
+
/**
|
|
6661
|
+
* Enable custom layout content for options. Options with data-layout attribute will render their HTML content.
|
|
6662
|
+
* ⚠️ Security Warning: Only use with trusted content. Basic XSS protection is applied, but avoid user-generated content.
|
|
6663
|
+
* @default false
|
|
6664
|
+
*/
|
|
6665
|
+
this.customOptionLayouts = false;
|
|
6666
|
+
/**
|
|
6667
|
+
* Enable custom layout content for the button trigger via the trigger-content slot.
|
|
6668
|
+
* When true, uses slot content for initial state but updates dynamically with selected option layout.
|
|
6669
|
+
* ⚠️ Security Warning: Only use with trusted content. Basic XSS protection is applied, but avoid user-generated content.
|
|
6670
|
+
* @default false
|
|
6671
|
+
*/
|
|
6672
|
+
this.customTriggerContent = false;
|
|
6673
|
+
/**
|
|
6674
|
+
* If true, the combobox is disabled.
|
|
6675
|
+
*/
|
|
6676
|
+
this.disabled = false;
|
|
6677
|
+
/**
|
|
6678
|
+
* Placement of the dropdown relative to the trigger.
|
|
6679
|
+
* @default 'bottom-start'
|
|
6680
|
+
*/
|
|
6681
|
+
this.dropdownPlacement = 'bottom-start';
|
|
6682
|
+
/**
|
|
6683
|
+
* Width of the dropdown. Any valid CSS width value.
|
|
6684
|
+
* @default '236px'
|
|
6685
|
+
*/
|
|
6686
|
+
this.dropdownWidth = '236px';
|
|
6687
|
+
/**
|
|
6688
|
+
* Visually hides the label text for instances where only the combobox should be displayed.
|
|
6689
|
+
* Label remains accessible to assistive technology such as screen readers.
|
|
6690
|
+
*/
|
|
6691
|
+
this.hideLabel = false;
|
|
6692
|
+
/**
|
|
6693
|
+
* Determines the combobox mode: 'filter' (filter options as you type) or 'select-only' (show all options).
|
|
6694
|
+
* @default 'filter'
|
|
6695
|
+
*/
|
|
6696
|
+
this.mode = 'filter';
|
|
6697
|
+
/**
|
|
6698
|
+
* Determines the combobox trigger: 'input' (editable input) or 'button' (button-like, non-editable).
|
|
6699
|
+
* @default 'input'
|
|
6700
|
+
*/
|
|
6701
|
+
this.trigger = 'input';
|
|
6702
|
+
/**
|
|
6703
|
+
* Width of the trigger (button or input). Any valid CSS width value.
|
|
6704
|
+
* @default 'fit-content'
|
|
6705
|
+
*/
|
|
6706
|
+
this.triggerWidth = 'fit-content';
|
|
6707
|
+
/**
|
|
6708
|
+
* The visual variant for the button trigger. Matches Pine button variants.
|
|
6709
|
+
* @default 'secondary'
|
|
6710
|
+
*/
|
|
6711
|
+
this.triggerVariant = 'secondary';
|
|
6712
|
+
/**
|
|
6713
|
+
* The value of the combobox input.
|
|
6714
|
+
*/
|
|
6715
|
+
this.value = '';
|
|
6716
|
+
/**
|
|
6717
|
+
* Internal state for filtered options
|
|
6718
|
+
*/
|
|
6719
|
+
this.filteredOptions = [];
|
|
6720
|
+
/**
|
|
6721
|
+
* Internal state for the currently highlighted option index
|
|
6722
|
+
*/
|
|
6723
|
+
this.highlightedIndex = -1;
|
|
6724
|
+
/**
|
|
6725
|
+
* Internal state for dropdown open/close
|
|
6726
|
+
*/
|
|
6727
|
+
this.isOpen = false;
|
|
6728
|
+
/**
|
|
6729
|
+
* Internal state for the currently selected option
|
|
6730
|
+
*/
|
|
6731
|
+
this.selectedOption = null;
|
|
6732
|
+
/**
|
|
6733
|
+
* Internal state for the sanitized layout content of the selected option
|
|
6734
|
+
*/
|
|
6735
|
+
this.selectedOptionLayoutContent = '';
|
|
6736
|
+
this.optionEls = [];
|
|
6737
|
+
this.handleInput = (e) => {
|
|
6738
|
+
const target = e.target;
|
|
6739
|
+
this.value = target.value;
|
|
6740
|
+
this.isOpen = true;
|
|
6741
|
+
this.filterOptions();
|
|
6742
|
+
setTimeout(() => this.openDropdownPositioning(), 0);
|
|
6743
|
+
};
|
|
6744
|
+
this.handleFocus = () => {
|
|
6745
|
+
this.isOpen = true;
|
|
6746
|
+
this.filterOptions();
|
|
6747
|
+
setTimeout(() => this.openDropdownPositioning(), 0);
|
|
6748
|
+
};
|
|
6749
|
+
this.handleKeyDown = (e) => {
|
|
6750
|
+
if (!this.isOpen && (e.key === 'ArrowDown' || e.key === 'ArrowUp')) {
|
|
6751
|
+
this.isOpen = true;
|
|
6752
|
+
return;
|
|
6753
|
+
}
|
|
6754
|
+
switch (e.key) {
|
|
6755
|
+
case 'ArrowDown':
|
|
6756
|
+
this.highlightedIndex = Math.min(this.highlightedIndex + 1, this.filteredOptions.length - 1);
|
|
6757
|
+
break;
|
|
6758
|
+
case 'ArrowUp':
|
|
6759
|
+
this.highlightedIndex = Math.max(this.highlightedIndex - 1, 0);
|
|
6760
|
+
break;
|
|
6761
|
+
case 'Enter':
|
|
6762
|
+
if (this.isOpen && this.highlightedIndex >= 0 && this.highlightedIndex < this.filteredOptions.length) {
|
|
6763
|
+
this.handleOptionClick(this.filteredOptions[this.highlightedIndex]);
|
|
6764
|
+
}
|
|
6765
|
+
break;
|
|
6766
|
+
case 'Escape':
|
|
6767
|
+
this.isOpen = false;
|
|
6768
|
+
break;
|
|
6769
|
+
}
|
|
6770
|
+
};
|
|
6771
|
+
// Event handler for option click
|
|
6772
|
+
this.onOptionClick = (event) => {
|
|
6773
|
+
const idx = Number(event.currentTarget.getAttribute('data-option-index'));
|
|
6774
|
+
const option = this.filteredOptions[idx];
|
|
6775
|
+
this.handleOptionClick(option);
|
|
6776
|
+
};
|
|
6777
|
+
// Event handler for mouse enter on option
|
|
6778
|
+
this.onOptionMouseEnter = (event) => {
|
|
6779
|
+
const idx = Number(event.currentTarget.getAttribute('data-option-index'));
|
|
6780
|
+
this.highlightedIndex = idx;
|
|
6781
|
+
};
|
|
6782
|
+
// Prevent blur on mousedown
|
|
6783
|
+
this.onOptionMouseDown = (event) => {
|
|
6784
|
+
event.preventDefault();
|
|
6785
|
+
};
|
|
6786
|
+
// Handler for button trigger click
|
|
6787
|
+
this.onButtonTriggerClick = () => {
|
|
6788
|
+
this.isOpen = !this.isOpen;
|
|
6789
|
+
if (this.isOpen)
|
|
6790
|
+
setTimeout(() => this.openDropdownPositioning(), 0);
|
|
6791
|
+
};
|
|
6792
|
+
// Handler for button trigger keyboard events
|
|
6793
|
+
this.onButtonTriggerKeyDown = (e) => {
|
|
6794
|
+
if (e.key === 'Enter' || e.key === ' ' || e.key === 'ArrowDown') {
|
|
6795
|
+
e.preventDefault();
|
|
6796
|
+
this.isOpen = true;
|
|
6797
|
+
this.highlightedIndex = 0;
|
|
6798
|
+
setTimeout(() => this.openDropdownPositioning(), 0);
|
|
6799
|
+
}
|
|
6800
|
+
else if (e.key === 'Escape') {
|
|
6801
|
+
this.isOpen = false;
|
|
6802
|
+
}
|
|
6803
|
+
};
|
|
6804
|
+
// Close dropdown when focus leaves the combobox
|
|
6805
|
+
this.onComboboxFocusOut = (event) => {
|
|
6806
|
+
const relatedTarget = event.relatedTarget;
|
|
6807
|
+
if (!this.el.contains(relatedTarget)) {
|
|
6808
|
+
this.isOpen = false;
|
|
6809
|
+
// If there's a selected option but the input value doesn't match, restore the selected option's value
|
|
6810
|
+
if (this.selectedOption && this.value !== this.getOptionLabel(this.selectedOption)) {
|
|
6811
|
+
this.value = this.getOptionLabel(this.selectedOption);
|
|
6812
|
+
}
|
|
6813
|
+
}
|
|
6814
|
+
};
|
|
6815
|
+
}
|
|
6816
|
+
componentWillLoad() {
|
|
6817
|
+
this.updateOptions();
|
|
6818
|
+
}
|
|
6819
|
+
handleValueChange() {
|
|
6820
|
+
this.filterOptions();
|
|
6821
|
+
}
|
|
6822
|
+
handleSelectedOptionChange() {
|
|
6823
|
+
// Update the layout content when selected option changes
|
|
6824
|
+
this.selectedOptionLayoutContent = this.selectedOption && this.isOptionLayout(this.selectedOption)
|
|
6825
|
+
? this.getOptionLayoutContent(this.selectedOption)
|
|
6826
|
+
: '';
|
|
6827
|
+
}
|
|
6828
|
+
updateOptions() {
|
|
6829
|
+
var _a;
|
|
6830
|
+
// Get all <option> elements from the slot
|
|
6831
|
+
const slot = (_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('slot[name="option"], slot:not([name])');
|
|
6832
|
+
if (slot) {
|
|
6833
|
+
this.optionEls = slot.assignedElements({ flatten: true })
|
|
6834
|
+
.filter(el => el.tagName === 'OPTION');
|
|
6835
|
+
// Set initial selected option if one exists (only check DOM on initialization)
|
|
6836
|
+
if (!this.selectedOption) {
|
|
6837
|
+
const initialSelected = this.optionEls.find(opt => opt.hasAttribute('selected')) || null;
|
|
6838
|
+
this.setSelectedOption(initialSelected);
|
|
6839
|
+
}
|
|
6840
|
+
this.filterOptions();
|
|
6841
|
+
}
|
|
6842
|
+
}
|
|
6843
|
+
// Helper method to get option label, falling back to text content if no label attribute
|
|
6844
|
+
getOptionLabel(option) {
|
|
6845
|
+
return option.label || option.textContent || '';
|
|
6846
|
+
}
|
|
6847
|
+
// Helper method to get option layout content
|
|
6848
|
+
getOptionLayoutContent(option) {
|
|
6849
|
+
return this.sanitizeHtml(option.innerHTML || '');
|
|
6850
|
+
}
|
|
6851
|
+
// HTML sanitization using DOMPurify library to prevent XSS attacks
|
|
6852
|
+
sanitizeHtml(html) {
|
|
6853
|
+
// Configure DOMPurify to allow Pine Design System components while removing dangerous content
|
|
6854
|
+
const config = {
|
|
6855
|
+
// Allow all custom elements (including pds-* components)
|
|
6856
|
+
CUSTOM_ELEMENT_HANDLING: {
|
|
6857
|
+
tagNameCheck: (tagName) => {
|
|
6858
|
+
// Allow all pds-* tags and standard safe HTML tags
|
|
6859
|
+
return tagName.startsWith('pds-') || /^[a-z]+$/i.test(tagName);
|
|
6860
|
+
},
|
|
6861
|
+
attributeNameCheck: (attr) => {
|
|
6862
|
+
// Allow standard HTML attributes, data-* attributes, and Pine component attributes
|
|
6863
|
+
return /^[a-zA-Z][a-zA-Z0-9-]*$/.test(attr) || attr.startsWith('data-') || attr.startsWith('aria-');
|
|
6864
|
+
},
|
|
6865
|
+
allowCustomizedBuiltInElements: false,
|
|
6866
|
+
},
|
|
6867
|
+
// Allow standard safe attributes
|
|
6868
|
+
ALLOW_DATA_ATTR: true,
|
|
6869
|
+
ALLOW_ARIA_ATTR: true,
|
|
6870
|
+
// Specifically forbid dangerous tags
|
|
6871
|
+
FORBID_TAGS: ['script', 'iframe', 'object', 'embed', 'form', 'input', 'textarea', 'select', 'button', 'style'],
|
|
6872
|
+
// Forbid all event handler attributes
|
|
6873
|
+
FORBID_ATTR: [
|
|
6874
|
+
'onerror', 'onload', 'onclick', 'onmouseover', 'onmouseout', 'onmousemove',
|
|
6875
|
+
'onfocus', 'onblur', 'onchange', 'onsubmit', 'onkeydown', 'onkeyup', 'onkeypress',
|
|
6876
|
+
'onmousedown', 'onmouseup', 'ondblclick', 'oncontextmenu', 'onscroll'
|
|
6877
|
+
],
|
|
6878
|
+
// Safe protocol whitelist
|
|
6879
|
+
ALLOWED_URI_REGEXP: /^(?:(?:(?:f|ht)tps?|mailto|tel|callto|cid|xmpp|data):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i,
|
|
6880
|
+
};
|
|
6881
|
+
return purify.sanitize(html, config);
|
|
6882
|
+
}
|
|
6883
|
+
// Helper method to check if option should render as layout
|
|
6884
|
+
isOptionLayout(option) {
|
|
6885
|
+
return this.customOptionLayouts && option.hasAttribute('data-layout');
|
|
6886
|
+
}
|
|
6887
|
+
// Helper method to check if option is selected (single source of truth)
|
|
6888
|
+
isOptionSelected(option) {
|
|
6889
|
+
return this.selectedOption === option;
|
|
6890
|
+
}
|
|
6891
|
+
// Helper method to set selected option (centralized state management)
|
|
6892
|
+
setSelectedOption(option) {
|
|
6893
|
+
this.selectedOption = option;
|
|
6894
|
+
}
|
|
6895
|
+
filterOptions() {
|
|
6896
|
+
if (this.mode === 'select-only') {
|
|
6897
|
+
this.filteredOptions = this.optionEls;
|
|
6898
|
+
}
|
|
6899
|
+
else {
|
|
6900
|
+
const val = this.value.toLowerCase();
|
|
6901
|
+
this.filteredOptions = this.optionEls.filter(option => {
|
|
6902
|
+
// For layout options, search both text content and data-search-text attribute
|
|
6903
|
+
if (this.isOptionLayout(option)) {
|
|
6904
|
+
const searchText = option.getAttribute('data-search-text') || option.textContent || '';
|
|
6905
|
+
return searchText.toLowerCase().includes(val);
|
|
6906
|
+
}
|
|
6907
|
+
return this.getOptionLabel(option).toLowerCase().includes(val);
|
|
6908
|
+
});
|
|
6909
|
+
}
|
|
6910
|
+
this.highlightedIndex = -1;
|
|
6911
|
+
}
|
|
6912
|
+
openDropdownPositioning() {
|
|
6913
|
+
if (this.triggerEl && this.listboxEl) {
|
|
6914
|
+
// Apply width and max-height BEFORE positioning calculations
|
|
6915
|
+
this.listboxEl.style.width = this.dropdownWidth;
|
|
6916
|
+
if (this.maxHeight) {
|
|
6917
|
+
this.listboxEl.style.maxHeight = this.maxHeight;
|
|
6918
|
+
this.listboxEl.style.overflowY = 'auto';
|
|
6919
|
+
}
|
|
6920
|
+
computePosition(this.triggerEl, this.listboxEl, {
|
|
6921
|
+
placement: this.dropdownPlacement,
|
|
6922
|
+
strategy: 'absolute',
|
|
6923
|
+
middleware: [offset(12), flip(), shift({ padding: 5 })],
|
|
6924
|
+
}).then(({ x, y }) => {
|
|
6925
|
+
Object.assign(this.listboxEl.style, {
|
|
6926
|
+
left: `${x}px`,
|
|
6927
|
+
top: `${y}px`,
|
|
6928
|
+
position: 'absolute',
|
|
6929
|
+
zIndex: 1000,
|
|
6930
|
+
});
|
|
6931
|
+
});
|
|
6932
|
+
}
|
|
6933
|
+
}
|
|
6934
|
+
/**
|
|
6935
|
+
* Sets focus on the native input element.
|
|
6936
|
+
*/
|
|
6937
|
+
async setFocus() {
|
|
6938
|
+
var _a;
|
|
6939
|
+
(_a = this.inputEl) === null || _a === void 0 ? void 0 : _a.focus();
|
|
6940
|
+
}
|
|
6941
|
+
/**
|
|
6942
|
+
* Gets the value of the currently selected option.
|
|
6943
|
+
*/
|
|
6944
|
+
async getSelectedValue() {
|
|
6945
|
+
return this.selectedOption ? this.selectedOption.value : null;
|
|
6946
|
+
}
|
|
6947
|
+
// Get the label of the selected option
|
|
6948
|
+
get selectedLabel() {
|
|
6949
|
+
return this.selectedOption ? this.getOptionLabel(this.selectedOption) : '';
|
|
6950
|
+
}
|
|
6951
|
+
// Get the layout content of the selected option for button trigger
|
|
6952
|
+
get selectedLayoutContent() {
|
|
6953
|
+
return this.selectedOptionLayoutContent;
|
|
6954
|
+
}
|
|
6955
|
+
// Check if selected option has layout
|
|
6956
|
+
get selectedHasLayout() {
|
|
6957
|
+
return this.selectedOption ? this.isOptionLayout(this.selectedOption) : false;
|
|
6958
|
+
}
|
|
6959
|
+
handleOptionClick(option) {
|
|
6960
|
+
// Update reactive state - single source of truth
|
|
6961
|
+
this.setSelectedOption(option);
|
|
6962
|
+
this.value = this.getOptionLabel(option);
|
|
6963
|
+
this.isOpen = false;
|
|
6964
|
+
this.pdsComboboxChange.emit({ value: option.value });
|
|
6965
|
+
}
|
|
6966
|
+
renderDropdown() {
|
|
6967
|
+
if (!this.isOpen || this.filteredOptions.length === 0)
|
|
6968
|
+
return null;
|
|
6969
|
+
return (hAsync("ul", { class: "pds-combobox__listbox", role: "listbox", id: "pds-combobox-listbox", ref: el => (this.listboxEl = el) }, this.filteredOptions.map((option, idx) => {
|
|
6970
|
+
const isSelected = this.isOptionSelected(option);
|
|
6971
|
+
const isHighlighted = this.highlightedIndex === idx;
|
|
6972
|
+
const isLayout = this.isOptionLayout(option);
|
|
6973
|
+
return (hAsync("li", { key: option.value, id: `pds-combobox-option-${idx}`, role: "option", "aria-selected": isSelected ? 'true' : 'false', class: {
|
|
6974
|
+
'pds-combobox__option': true,
|
|
6975
|
+
'pds-combobox__option--highlighted': isHighlighted,
|
|
6976
|
+
'pds-combobox__option--layout': isLayout,
|
|
6977
|
+
}, "data-option-index": idx, onMouseDown: this.onOptionMouseDown, onClick: this.onOptionClick, onMouseEnter: this.onOptionMouseEnter }, isLayout ? (hAsync("pds-box", { class: "pds-combobox__option-layout-wrapper", innerHTML: this.getOptionLayoutContent(option) })) : (this.getOptionLabel(option)), isSelected && hAsync("pds-icon", { icon: "check", size: "regular", class: "pds-combobox__option-check" })));
|
|
6978
|
+
})));
|
|
6979
|
+
}
|
|
6980
|
+
// Helper method to render the caret icon
|
|
6981
|
+
renderCaretIcon() {
|
|
6982
|
+
return hAsync("pds-icon", { icon: "caret-down", "aria-hidden": "true", "aria-label": "dropdown indicator", class: "pds-combobox__button-trigger-chevron" });
|
|
6983
|
+
}
|
|
6984
|
+
// Helper method to render layout content
|
|
6985
|
+
renderLayoutContent() {
|
|
6986
|
+
return (hAsync("div", { class: "pds-combobox__button-trigger-layout-wrapper", innerHTML: this.selectedLayoutContent }));
|
|
6987
|
+
}
|
|
6988
|
+
// Helper method to render default text content
|
|
6989
|
+
renderDefaultContent() {
|
|
6990
|
+
return (hAsync("span", { class: "pds-combobox__button-trigger-label" }, this.selectedLabel || this.placeholder));
|
|
6991
|
+
}
|
|
6992
|
+
// Helper method to check if we should show layout content
|
|
6993
|
+
shouldShowLayoutContent() {
|
|
6994
|
+
return this.selectedHasLayout && !!this.selectedLayoutContent;
|
|
6995
|
+
}
|
|
6996
|
+
renderButtonTriggerContent() {
|
|
6997
|
+
// Case 1: Custom trigger content with layout priority
|
|
6998
|
+
if (this.customTriggerContent) {
|
|
6999
|
+
if (this.shouldShowLayoutContent()) {
|
|
7000
|
+
return [this.renderLayoutContent(), this.renderCaretIcon()];
|
|
7001
|
+
}
|
|
7002
|
+
// Fall back to slot content when no layout is available
|
|
7003
|
+
return hAsync("slot", { name: "trigger-content" });
|
|
7004
|
+
}
|
|
7005
|
+
// Case 2: Standard mode with layout content
|
|
7006
|
+
if (this.shouldShowLayoutContent()) {
|
|
7007
|
+
return [this.renderLayoutContent(), this.renderCaretIcon()];
|
|
7008
|
+
}
|
|
7009
|
+
// Case 3: Standard mode with default text content
|
|
7010
|
+
return [this.renderDefaultContent(), this.renderCaretIcon()];
|
|
7011
|
+
}
|
|
7012
|
+
render() {
|
|
7013
|
+
const triggerClass = `pds-combobox__button-trigger pds-combobox__button-trigger--${this.triggerVariant}`;
|
|
7014
|
+
return (hAsync(Host, { key: 'ecc1f18dcb9869055af047446364afd66d13e5f6' }, hAsync("div", { key: 'caf80cf07647666e6ea21bc7e8fa7e944a98f3b5', class: "pds-combobox", tabIndex: -1, onFocusout: this.onComboboxFocusOut }, this.label && (hAsync("label", { key: '08d38b21ce3c2d78a6a405b81e4291d2f5e61aed', htmlFor: this.componentId, class: "pds-combobox__label" }, hAsync("span", { key: '58a3986e2656522377fce50dfad73a0960e8a9db', class: this.hideLabel ? 'visually-hidden' : '' }, this.label))), this.trigger === 'input' ? (hAsync("input", { ref: el => {
|
|
7015
|
+
this.inputEl = el;
|
|
7016
|
+
this.triggerEl = el;
|
|
7017
|
+
}, class: "pds-combobox__input", style: { width: this.triggerWidth }, type: "text", role: "combobox", "aria-autocomplete": "list", "aria-controls": "pds-combobox-listbox", "aria-activedescendant": this.highlightedIndex >= 0 ? `pds-combobox-option-${this.highlightedIndex}` : undefined, "aria-expanded": this.isOpen ? 'true' : 'false', "aria-disabled": this.disabled ? 'true' : 'false', "aria-label": this.hideLabel ? this.label : undefined, id: this.componentId, value: this.value, placeholder: this.placeholder, disabled: this.disabled, onInput: this.handleInput, onFocus: this.handleFocus, onKeyDown: this.handleKeyDown, autocomplete: "off", part: "input" })) : (hAsync("div", { class: triggerClass, style: { width: this.triggerWidth }, role: "combobox", "aria-haspopup": "listbox", "aria-controls": "pds-combobox-listbox", "aria-expanded": this.isOpen ? 'true' : 'false', "aria-disabled": this.disabled ? 'true' : 'false', "aria-label": this.hideLabel ? this.label : undefined, id: this.componentId, tabIndex: 0, onClick: this.onButtonTriggerClick, "data-layout": this.customTriggerContent, onKeyDown: this.onButtonTriggerKeyDown, ref: el => (this.triggerEl = el), part: "button-trigger" }, this.renderButtonTriggerContent())), hAsync("div", { key: 'a91eb5b7998c9274de0f7e7e5184def30d23ad06', style: { display: 'none' } }, hAsync("slot", { key: '40dbc40a9286b8caade78bfb70af366193bb08f2', onSlotchange: () => this.updateOptions() })), this.renderDropdown())));
|
|
7018
|
+
}
|
|
7019
|
+
get el() { return getElement(this); }
|
|
7020
|
+
static get watchers() { return {
|
|
7021
|
+
"value": ["handleValueChange"],
|
|
7022
|
+
"selectedOption": ["handleSelectedOptionChange"]
|
|
7023
|
+
}; }
|
|
7024
|
+
static get style() { return pdsComboboxCss; }
|
|
7025
|
+
static get cmpMeta() { return {
|
|
7026
|
+
"$flags$": 9,
|
|
7027
|
+
"$tagName$": "pds-combobox",
|
|
7028
|
+
"$members$": {
|
|
7029
|
+
"componentId": [1, "component-id"],
|
|
7030
|
+
"customOptionLayouts": [4, "custom-option-layouts"],
|
|
7031
|
+
"customTriggerContent": [4, "custom-trigger-content"],
|
|
7032
|
+
"disabled": [4],
|
|
7033
|
+
"dropdownPlacement": [1, "dropdown-placement"],
|
|
7034
|
+
"dropdownWidth": [1, "dropdown-width"],
|
|
7035
|
+
"hideLabel": [4, "hide-label"],
|
|
7036
|
+
"label": [1],
|
|
7037
|
+
"maxHeight": [1, "max-height"],
|
|
7038
|
+
"mode": [1],
|
|
7039
|
+
"placeholder": [1],
|
|
7040
|
+
"trigger": [1],
|
|
7041
|
+
"triggerWidth": [1, "trigger-width"],
|
|
7042
|
+
"triggerVariant": [1, "trigger-variant"],
|
|
7043
|
+
"value": [1025],
|
|
7044
|
+
"filteredOptions": [32],
|
|
7045
|
+
"highlightedIndex": [32],
|
|
7046
|
+
"isOpen": [32],
|
|
7047
|
+
"selectedOption": [32],
|
|
7048
|
+
"selectedOptionLayoutContent": [32],
|
|
7049
|
+
"setFocus": [64],
|
|
7050
|
+
"getSelectedValue": [64]
|
|
7051
|
+
},
|
|
7052
|
+
"$listeners$": undefined,
|
|
7053
|
+
"$lazyBundleId$": "-",
|
|
7054
|
+
"$attrsToReflect$": []
|
|
7055
|
+
}; }
|
|
7056
|
+
}
|
|
7057
|
+
|
|
7058
|
+
const pdsCopytextCss = ":host(.pds-copytext){--copytext-color-background-hover:var(--pine-color-grey-200)}:host(.pds-copytext) pds-button{-ms-flex-align:center;align-items:center;background:var(--pine-color-secondary);border-radius:var(--pine-border-radius-full);border-width:var(--pine-dimension-none);display:-ms-inline-flexbox;display:inline-flex;font-family:var(--pine-font-family-heading);font-size:var(--pine-font-size-body-md);font-weight:var(--pine-font-weight-body-medium);letter-spacing:var(--pine-letter-spacing);line-height:var(--pine-line-height-body);max-width:100%;padding:var(--pine-dimension-2xs) var(--pine-dimension-xs)}:host(.pds-copytext) pds-button::part(button){-webkit-padding-end:calc(var(--pine-dimension-xs) / 2);padding-inline-end:calc(var(--pine-dimension-xs) / 2)}:host(.pds-copytext) pds-button::part(button):hover{background-color:var(--copytext-color-background-hover);color:var(--pine-color-text-secondary-hover)}:host(.pds-copytext) pds-button span{font-weight:var(--pine-font-weight-medium);-webkit-margin-end:var(--pine-dimension-xs);margin-inline-end:var(--pine-dimension-xs);white-space:nowrap}:host(.pds-copytext) pds-button :nth-child(2){-ms-flex-negative:0;flex-shrink:0}:host(.pds-copytext):host(.pds-copytext--bordered){border-width:var(--pine-dimension-none);padding:var(--pine-dimension-none)}:host(.pds-copytext):host(.pds-copytext--bordered) pds-button{padding:var(--pine-dimension-none)}:host(.pds-copytext):host(.pds-copytext--bordered)::part(button):hover{background-color:transparent}:host(.pds-copytext):host(.pds-copytext--bordered) span{border:var(--pine-border);border-radius:var(--pine-border-radius-full);-webkit-margin-end:var(--pine-dimension-sm);margin-inline-end:var(--pine-dimension-sm);padding-block:var(--pine-dimension-xs);padding-inline:var(--pine-dimension-sm)}:host(.pds-copytext):host(.pds-copytext--bordered) :hover span{border:var(--pine-border-hover)}:host(.pds-copytext):host(.pds-copytext--full-width) pds-button,:host(.pds-copytext):host(.pds-copytext--truncated) pds-button{display:-ms-inline-flexbox;display:inline-flex;min-width:auto;width:100%}:host(.pds-copytext):host(.pds-copytext--full-width) pds-button::part(button-content),:host(.pds-copytext):host(.pds-copytext--full-width) pds-button::part(button-text),:host(.pds-copytext):host(.pds-copytext--truncated) pds-button::part(button-content),:host(.pds-copytext):host(.pds-copytext--truncated) pds-button::part(button-text){-ms-flex-negative:1;flex-shrink:1;width:100%}:host(.pds-copytext):host(.pds-copytext--full-width) pds-button span,:host(.pds-copytext):host(.pds-copytext--truncated) pds-button span{text-align:start;width:100%}:host(.pds-copytext):host(.pds-copytext--full-width) pds-button{-ms-flex-pack:justify;justify-content:space-between}:host(.pds-copytext):host(.pds-copytext--truncated) pds-button span{overflow:hidden;text-overflow:ellipsis}";
|
|
7059
|
+
|
|
7060
|
+
class PdsCopytext {
|
|
7061
|
+
constructor(hostRef) {
|
|
7062
|
+
registerInstance(this, hostRef);
|
|
7063
|
+
this.pdsCopyTextClick = createEvent(this, "pdsCopyTextClick");
|
|
7064
|
+
/**
|
|
7065
|
+
* Determines whether `copytext` should have a visible border.
|
|
7066
|
+
* @defaultValue true
|
|
7067
|
+
*/
|
|
7068
|
+
this.border = true;
|
|
7069
|
+
/**
|
|
7070
|
+
* Determines whether `copytext` should expand to the full width of its container.
|
|
7071
|
+
* @defaultValue false
|
|
7072
|
+
*/
|
|
7073
|
+
this.fullWidth = false;
|
|
7074
|
+
/**
|
|
7075
|
+
* Determines whether the `value` should truncate and display with an ellipsis.
|
|
7076
|
+
* @defaultValue false
|
|
7077
|
+
*/
|
|
7078
|
+
this.truncate = false;
|
|
7079
|
+
this.copyToClipboard = async (value) => {
|
|
7080
|
+
try {
|
|
7081
|
+
if (typeof navigator.clipboard !== 'undefined') {
|
|
7082
|
+
await navigator.clipboard.writeText(value);
|
|
7083
|
+
this.pdsCopyTextClick.emit('Copied to clipboard');
|
|
7084
|
+
}
|
|
7085
|
+
}
|
|
7086
|
+
catch (err) {
|
|
7087
|
+
this.pdsCopyTextClick.emit(`Error writing text to clipboard: ${err}`);
|
|
7088
|
+
}
|
|
7089
|
+
};
|
|
7090
|
+
this.handleClick = () => {
|
|
7091
|
+
this.copyToClipboard(this.value);
|
|
7092
|
+
};
|
|
7093
|
+
}
|
|
7094
|
+
classNames() {
|
|
7095
|
+
const classNames = ['pds-copytext'];
|
|
7096
|
+
if (this.border) {
|
|
7097
|
+
classNames.push('pds-copytext--bordered');
|
|
7098
|
+
}
|
|
7099
|
+
if (this.fullWidth) {
|
|
7100
|
+
classNames.push('pds-copytext--full-width');
|
|
7101
|
+
}
|
|
7102
|
+
if (this.truncate) {
|
|
7103
|
+
classNames.push('pds-copytext--truncated');
|
|
7104
|
+
}
|
|
7105
|
+
return classNames.join(' ');
|
|
7106
|
+
}
|
|
7107
|
+
render() {
|
|
7108
|
+
return (hAsync(Host, { key: 'fc3a4bb1d6aad33a1a3699dd50a48d2f00e26a47', class: this.classNames(), id: this.componentId }, hAsync("pds-button", { key: '7c555a209f7f8d6c82f909c726d32c1985f52e36', type: "button", variant: "unstyled", onClick: this.handleClick }, hAsync("span", { key: '63e6e5b84be71c1943cb21ec2a5a89af40658577' }, this.value), hAsync("pds-icon", { key: '49059150540623cad1036c1476a39731d1caed79', icon: copy, size: "16px" }))));
|
|
7109
|
+
}
|
|
7110
|
+
static get style() { return pdsCopytextCss; }
|
|
7111
|
+
static get cmpMeta() { return {
|
|
7112
|
+
"$flags$": 9,
|
|
7113
|
+
"$tagName$": "pds-copytext",
|
|
7114
|
+
"$members$": {
|
|
7115
|
+
"border": [516],
|
|
7116
|
+
"componentId": [1, "component-id"],
|
|
7117
|
+
"fullWidth": [4, "full-width"],
|
|
7118
|
+
"truncate": [4],
|
|
7119
|
+
"value": [1]
|
|
7120
|
+
},
|
|
7121
|
+
"$listeners$": undefined,
|
|
7122
|
+
"$lazyBundleId$": "-",
|
|
7123
|
+
"$attrsToReflect$": [["border", "border"]]
|
|
7124
|
+
}; }
|
|
7125
|
+
}
|
|
7126
|
+
|
|
7127
|
+
const pdsDividerCss = ".pds-divider{background:var(--pine-color-border);border:0;display:-ms-flexbox;display:flex;height:var(--pine-border-width);margin:0;width:100%}.pds-divider--vertical{height:100%;width:1px}.pds-divider--offset-xxs{margin:0 calc(var(--pine-dimension-2xs) * -1);padding:0 var(--pine-dimension-2xs)}.pds-divider--offset-xxs.pds-divider--vertical{margin:calc(var(--pine-dimension-2xs) * -1) 0;padding:var(--pine-dimension-2xs) 0}.pds-divider--offset-xs{margin:0 calc(var(--pine-dimension-xs) * -1);padding:0 var(--pine-dimension-xs)}.pds-divider--offset-xs.pds-divider--vertical{margin:calc(var(--pine-dimension-xs) * -1) 0;padding:var(--pine-dimension-xs) 0}.pds-divider--offset-sm{margin:0 calc(var(--pine-dimension-sm) * -1);padding:0 var(--pine-dimension-sm)}.pds-divider--offset-sm.pds-divider--vertical{margin:calc(var(--pine-dimension-sm) * -1) 0;padding:var(--pine-dimension-sm) 0}.pds-divider--offset-md{margin:0 calc(var(--pine-dimension-md) * -1);padding:0 var(--pine-dimension-md)}.pds-divider--offset-md.pds-divider--vertical{margin:calc(var(--pine-dimension-md) * -1) 0;padding:var(--pine-dimension-md) 0}.pds-divider--offset-lg{margin:0 calc(var(--pine-dimension-lg) * -1);padding:0 var(--pine-dimension-lg)}.pds-divider--offset-lg.pds-divider--vertical{margin:calc(var(--pine-dimension-lg) * -1) 0;padding:var(--pine-dimension-lg) 0}.pds-divider--offset-xl{margin:0 calc(var(--pine-dimension-xl) * -1);padding:0 var(--pine-dimension-xl)}.pds-divider--offset-xl.pds-divider--vertical{margin:calc(var(--pine-dimension-xl) * -1) 0;padding:var(--pine-dimension-xl) 0}.pds-divider--offset-xxl{margin:0 calc(var(--pine-dimension-2xl) * -1);padding:0 var(--pine-dimension-2xl)}.pds-divider--offset-xxl.pds-divider--vertical{margin:calc(var(--pine-dimension-2xl) * -1) 0;padding:var(--pine-dimension-2xl) 0}@media (max-width: 767px){.pds-divider--vertical{display:none}}";
|
|
5400
7128
|
|
|
5401
|
-
|
|
5402
|
-
|
|
5403
|
-
|
|
5404
|
-
|
|
5405
|
-
|
|
5406
|
-
|
|
5407
|
-
|
|
5408
|
-
|
|
5409
|
-
|
|
5410
|
-
|
|
5411
|
-
|
|
5412
|
-
|
|
5413
|
-
|
|
5414
|
-
|
|
5415
|
-
|
|
5416
|
-
|
|
5417
|
-
|
|
5418
|
-
|
|
5419
|
-
|
|
5420
|
-
|
|
5421
|
-
|
|
5422
|
-
};
|
|
7129
|
+
class PdsDivider {
|
|
7130
|
+
constructor(hostRef) {
|
|
7131
|
+
registerInstance(this, hostRef);
|
|
7132
|
+
/**
|
|
7133
|
+
* Sets divider to display vertically.
|
|
7134
|
+
* @defaultValue false
|
|
7135
|
+
*/
|
|
7136
|
+
this.vertical = false;
|
|
7137
|
+
}
|
|
7138
|
+
classNames() {
|
|
7139
|
+
const classNames = ['pds-divider'];
|
|
7140
|
+
if (this.vertical) {
|
|
7141
|
+
classNames.push('pds-divider--vertical');
|
|
7142
|
+
}
|
|
7143
|
+
if (this.offset) {
|
|
7144
|
+
const offsetClassName = 'pds-divider--offset-' + this.offset;
|
|
7145
|
+
classNames.push(offsetClassName);
|
|
7146
|
+
}
|
|
7147
|
+
return classNames.join(' ');
|
|
7148
|
+
}
|
|
7149
|
+
render() {
|
|
7150
|
+
return (hAsync(Host, { key: 'c3a01882db1119b8397353aaed193813cba0bfb8', id: this.componentId }, hAsync("hr", { key: 'fe20a28dbd2f10cec125df4dbb4ba7a2837628f1', class: this.classNames() })));
|
|
7151
|
+
}
|
|
7152
|
+
static get style() { return pdsDividerCss; }
|
|
7153
|
+
static get cmpMeta() { return {
|
|
7154
|
+
"$flags$": 9,
|
|
7155
|
+
"$tagName$": "pds-divider",
|
|
7156
|
+
"$members$": {
|
|
7157
|
+
"componentId": [1, "component-id"],
|
|
7158
|
+
"offset": [1],
|
|
7159
|
+
"vertical": [4]
|
|
7160
|
+
},
|
|
7161
|
+
"$listeners$": undefined,
|
|
7162
|
+
"$lazyBundleId$": "-",
|
|
7163
|
+
"$attrsToReflect$": []
|
|
7164
|
+
}; }
|
|
7165
|
+
}
|
|
5423
7166
|
|
|
5424
7167
|
const pdsDropdownMenuCss = ":host{display:block}.is-hidden{display:none}.pds-dropdown-menu--panel{background-color:var(--pine-color-background-container);left:var(--pine-dimension-none);min-width:170px;padding:var(--pine-dimension-xs);position:absolute;z-index:9999}";
|
|
5425
7168
|
|
|
@@ -5664,7 +7407,7 @@ class PdsDropdownMenu {
|
|
|
5664
7407
|
}
|
|
5665
7408
|
}
|
|
5666
7409
|
render() {
|
|
5667
|
-
return (hAsync(Host, { key: '
|
|
7410
|
+
return (hAsync(Host, { key: '1e4384c8ab3fb3ca73221dd7a7f156846e9b8274', id: this.componentId }, hAsync("slot", { key: '0b3b532a025580b36bbe06f86bdb776d99e0c896', name: "trigger", onSlotchange: this.handleTriggerSlotChange }), hAsync("pds-box", { key: '20229e833fa45ff5ce730d3a38e8faab582335c6', "border-radius": "sm", display: "flex", direction: "column", class: "pds-dropdown-menu--panel is-hidden", shadow: "100", role: "menu", "aria-orientation": "vertical" }, hAsync("slot", { key: '47cad78c2e1b5150be13a399820fe64d09955e9d', onSlotchange: this.handleSlotChange }))));
|
|
5668
7411
|
}
|
|
5669
7412
|
get host() { return getElement(this); }
|
|
5670
7413
|
static get style() { return pdsDropdownMenuCss; }
|
|
@@ -5750,7 +7493,7 @@ class PdsDropdownMenuItem {
|
|
|
5750
7493
|
}, tabIndex: this.disabled ? -1 : 0, type: "button", onKeyDown: this.handleKeyDown, onFocus: this.handleFocus, onBlur: this.handleBlur, disabled: this.disabled, "aria-disabled": this.disabled ? 'true' : null }, hAsync("slot", null)));
|
|
5751
7494
|
}
|
|
5752
7495
|
render() {
|
|
5753
|
-
return (hAsync(Host, { key: '
|
|
7496
|
+
return (hAsync(Host, { key: '89c2973b952f2a2d0b7054817c0532f8654ae279', id: this.componentId, class: { 'is-disabled': this.disabled, 'destructive': !this.disabled && this.destructive }, onClick: () => !this.disabled && this.handleClick(), role: "none", tabIndex: -1, "aria-disabled": this.disabled ? 'true' : null }, this.renderElement()));
|
|
5754
7497
|
}
|
|
5755
7498
|
get host() { return getElement(this); }
|
|
5756
7499
|
static get style() { return pdsDropdownMenuItemCss; }
|
|
@@ -5783,7 +7526,7 @@ class PdsDropdownMenuSeparator {
|
|
|
5783
7526
|
this.disabled = false;
|
|
5784
7527
|
}
|
|
5785
7528
|
render() {
|
|
5786
|
-
return (hAsync(Host, { key: '
|
|
7529
|
+
return (hAsync(Host, { key: '1058ea61d2ad7c311ee162b909df2531f3589e4c', id: this.componentId }, hAsync("hr", { key: 'a8c2f69ef5fba5ea4ea74553fe72544e31eafb1b' })));
|
|
5787
7530
|
}
|
|
5788
7531
|
static get style() { return pdsDropdownMenuSeparatorCss; }
|
|
5789
7532
|
static get cmpMeta() { return {
|
|
@@ -5799,6 +7542,55 @@ class PdsDropdownMenuSeparator {
|
|
|
5799
7542
|
}; }
|
|
5800
7543
|
}
|
|
5801
7544
|
|
|
7545
|
+
let missingAssetPathWarning = false;
|
|
7546
|
+
/**
|
|
7547
|
+
*
|
|
7548
|
+
* Reads the component asset path config from meta tag or a global variable.
|
|
7549
|
+
* This is a temporary workaround until these issues have been addressed:
|
|
7550
|
+
*
|
|
7551
|
+
* https://github.com/ionic-team/stencil/issues/2826/
|
|
7552
|
+
* https://github.com/ionic-team/stencil/issues/3470
|
|
7553
|
+
* https://github.com/ionic-team/stencil-ds-output-targets/issues/186
|
|
7554
|
+
*/
|
|
7555
|
+
const getAssetPath = (path) => {
|
|
7556
|
+
var _a;
|
|
7557
|
+
const metaPineAssetPath = (_a = document.head.querySelector('meta[data-pine-asset-path]')) === null || _a === void 0 ? void 0 : _a.dataset.pineAssetPath;
|
|
7558
|
+
// Get the asset path from the window object if available
|
|
7559
|
+
const windowAssetPath = window.__PINE_ASSET_PATH__;
|
|
7560
|
+
// Set the CDN Asset path using the latest version
|
|
7561
|
+
const cdnAssetPath = 'https://cdn.jsdelivr.net/npm/@pine-ds/icons/dist/';
|
|
7562
|
+
const assetBasePath = metaPineAssetPath || windowAssetPath || cdnAssetPath;
|
|
7563
|
+
// Display a warning if the assets are fetched from the CDN.
|
|
7564
|
+
if (assetBasePath.startsWith('https://cdn.jsdelivr.net/npm/') && !missingAssetPathWarning) {
|
|
7565
|
+
missingAssetPathWarning = true;
|
|
7566
|
+
console.warn(`
|
|
7567
|
+
Fetching Pine assets from jsDelivr CDN.\n\n It's recommended that you bundle Pine Assets with your application and set the path accordingly.\n\nFor more information, read the documentation: \nhttps://pine-design-system.netlify.app/?path=/docs/resources-assets--docs
|
|
7568
|
+
`);
|
|
7569
|
+
}
|
|
7570
|
+
let assetPath = path;
|
|
7571
|
+
if (path.startsWith('./')) {
|
|
7572
|
+
assetPath = path.substring(2);
|
|
7573
|
+
}
|
|
7574
|
+
if (!assetBasePath.endsWith('/')) {
|
|
7575
|
+
assetPath = '/' + assetPath;
|
|
7576
|
+
}
|
|
7577
|
+
return assetBasePath + assetPath;
|
|
7578
|
+
};
|
|
7579
|
+
|
|
7580
|
+
let CACHED_MAP;
|
|
7581
|
+
const getIconMap = () => {
|
|
7582
|
+
if (typeof window === 'undefined') {
|
|
7583
|
+
return new Map();
|
|
7584
|
+
}
|
|
7585
|
+
else {
|
|
7586
|
+
if (!CACHED_MAP) {
|
|
7587
|
+
const win = window; // eslint-disable-line @typescript-eslint/no-explicit-any
|
|
7588
|
+
win.PdsIcons = win.PdsIcons || {};
|
|
7589
|
+
CACHED_MAP = win.PdsIcons.map = win.PdsIcons.map || new Map();
|
|
7590
|
+
}
|
|
7591
|
+
return CACHED_MAP;
|
|
7592
|
+
}
|
|
7593
|
+
};
|
|
5802
7594
|
const getName = (iconName, icon) => {
|
|
5803
7595
|
if (!iconName && icon && !isSrc(icon)) {
|
|
5804
7596
|
iconName = icon;
|
|
@@ -5815,6 +7607,39 @@ const getName = (iconName, icon) => {
|
|
|
5815
7607
|
}
|
|
5816
7608
|
return iconName;
|
|
5817
7609
|
};
|
|
7610
|
+
const getNamedUrl = (iconName) => {
|
|
7611
|
+
const url = getIconMap().get(iconName);
|
|
7612
|
+
if (url) {
|
|
7613
|
+
return url;
|
|
7614
|
+
}
|
|
7615
|
+
return getAssetPath(`svg/${iconName}.svg`);
|
|
7616
|
+
};
|
|
7617
|
+
const getSrc = (src) => {
|
|
7618
|
+
if (isStr(src)) {
|
|
7619
|
+
src = src.trim();
|
|
7620
|
+
if (isSrc(src)) {
|
|
7621
|
+
return src;
|
|
7622
|
+
}
|
|
7623
|
+
}
|
|
7624
|
+
return null;
|
|
7625
|
+
};
|
|
7626
|
+
const getUrl = (pdsIcon) => {
|
|
7627
|
+
let url = getSrc(pdsIcon.src);
|
|
7628
|
+
if (url) {
|
|
7629
|
+
return url;
|
|
7630
|
+
}
|
|
7631
|
+
url = getName(pdsIcon.name, pdsIcon.icon);
|
|
7632
|
+
if (url) {
|
|
7633
|
+
return getNamedUrl(url);
|
|
7634
|
+
}
|
|
7635
|
+
if (pdsIcon.icon) {
|
|
7636
|
+
url = getSrc(pdsIcon.icon);
|
|
7637
|
+
if (url) {
|
|
7638
|
+
return url;
|
|
7639
|
+
}
|
|
7640
|
+
}
|
|
7641
|
+
return null;
|
|
7642
|
+
};
|
|
5818
7643
|
/**
|
|
5819
7644
|
* Returns `true` if the document or host element
|
|
5820
7645
|
* has a `dir` set to `rtl`. The host value will always
|
|
@@ -5927,6 +7752,8 @@ const ICONS_TO_FLIP = [
|
|
|
5927
7752
|
'users-tone'
|
|
5928
7753
|
];
|
|
5929
7754
|
|
|
7755
|
+
const pdsIconContent = new Map();
|
|
7756
|
+
|
|
5930
7757
|
const pdsIconCss = ":host{--dimension-icon-height:16px;--dimension-icon-width:16px;--color-icon-fill:currentColor;contain:strict;display:inline-block;fill:var(--color-icon-fill);-ms-flex-negative:0;flex-shrink:0;height:var(--dimension-icon-height);width:var(--dimension-icon-width)}:host .pdsicon{fill:var(--color-icon-fill)}.pds-icon-fill-none{fill:none}.icon-inner,.pds-icon,svg{display:block;height:100%;width:100%}:host(.flip-rtl):host-context([dir=rtl]) .icon-inner{-webkit-transform:scaleX(-1);transform:scaleX(-1)}:host(.flip-rtl:dir(rtl)) .icon-inner{-webkit-transform:scaleX(-1);transform:scaleX(-1)}:host(.flip-rtl:dir(ltr)) .icon-inner{-webkit-transform:scaleX(1);transform:scaleX(1)}";
|
|
5931
7758
|
|
|
5932
7759
|
class PdsIcon {
|
|
@@ -5968,10 +7795,26 @@ class PdsIcon {
|
|
|
5968
7795
|
if (!this.didLoadIcon) {
|
|
5969
7796
|
this.loadIcon();
|
|
5970
7797
|
}
|
|
7798
|
+
// Fallback: Ensure icon loads even if IntersectionObserver doesn't fire
|
|
7799
|
+
setTimeout(() => {
|
|
7800
|
+
if (!this.svgContent && !this.isVisible) {
|
|
7801
|
+
this.isVisible = true;
|
|
7802
|
+
this.loadIcon();
|
|
7803
|
+
}
|
|
7804
|
+
}, 100);
|
|
7805
|
+
// Additional fallback for client-side navigation (React Router, etc.)
|
|
7806
|
+
// React's useLayoutEffect and rendering cycles can delay visibility detection
|
|
7807
|
+
setTimeout(() => {
|
|
7808
|
+
if (!this.svgContent && !this.isVisible) {
|
|
7809
|
+
this.isVisible = true;
|
|
7810
|
+
this.loadIcon();
|
|
7811
|
+
}
|
|
7812
|
+
}, 500);
|
|
5971
7813
|
}
|
|
5972
7814
|
componentWillLoad() {
|
|
5973
7815
|
this.inheritedAttributes = inheritAttributes(this.el, ['aria-label']);
|
|
5974
7816
|
this.setCSSVariables();
|
|
7817
|
+
this.setupInitialAriaLabel();
|
|
5975
7818
|
}
|
|
5976
7819
|
setCSSVariables() {
|
|
5977
7820
|
this.el.style.setProperty(`--dimension-icon-height`, this.iconSize());
|
|
@@ -5979,10 +7822,18 @@ class PdsIcon {
|
|
|
5979
7822
|
this.el.style.setProperty(`--color-icon-fill`, typeof this.color !== 'undefined' ? this.color : 'currentColor');
|
|
5980
7823
|
}
|
|
5981
7824
|
connectedCallback() {
|
|
5982
|
-
|
|
7825
|
+
// Handle re-connection during client-side navigation
|
|
7826
|
+
if (!this.isVisible && !this.svgContent) {
|
|
7827
|
+
this.waitUntilVisible(this.el, '50px', () => {
|
|
7828
|
+
this.isVisible = true;
|
|
7829
|
+
this.loadIcon();
|
|
7830
|
+
});
|
|
7831
|
+
}
|
|
7832
|
+
// Immediate load attempt if already visible (e.g., during React navigation)
|
|
7833
|
+
if (this.isElementInViewport(this.el)) {
|
|
5983
7834
|
this.isVisible = true;
|
|
5984
7835
|
this.loadIcon();
|
|
5985
|
-
}
|
|
7836
|
+
}
|
|
5986
7837
|
}
|
|
5987
7838
|
disconnectedCallback() {
|
|
5988
7839
|
if (this.io) {
|
|
@@ -5993,11 +7844,17 @@ class PdsIcon {
|
|
|
5993
7844
|
updateStyles() {
|
|
5994
7845
|
this.setCSSVariables();
|
|
5995
7846
|
}
|
|
7847
|
+
onIconPropertyChange() {
|
|
7848
|
+
this.loadIcon();
|
|
7849
|
+
// Update aria-label when icon properties change
|
|
7850
|
+
this.setupInitialAriaLabel();
|
|
7851
|
+
}
|
|
5996
7852
|
loadIcon() {
|
|
7853
|
+
// Reset load state when URL changes
|
|
7854
|
+
this.didLoadIcon = false;
|
|
7855
|
+
// Clear existing content to prevent stale content when switching icons
|
|
7856
|
+
this.svgContent = undefined;
|
|
5997
7857
|
this.iconName = getName(this.name, this.icon);
|
|
5998
|
-
if (this.iconName) {
|
|
5999
|
-
this.ariaLabel = this.iconName.replace(/\-/g, ' ');
|
|
6000
|
-
}
|
|
6001
7858
|
}
|
|
6002
7859
|
render() {
|
|
6003
7860
|
const { ariaLabel, flipRtl, iconName, inheritedAttributes } = this;
|
|
@@ -6005,11 +7862,22 @@ class PdsIcon {
|
|
|
6005
7862
|
? shouldRtlFlipIcon(iconName, this.el) && flipRtl !== false
|
|
6006
7863
|
: false;
|
|
6007
7864
|
const shouldFlip = flipRtl || shouldIconAutoFlip;
|
|
6008
|
-
|
|
7865
|
+
// Use inherited aria-label if provided, otherwise fall back to auto-generated one
|
|
7866
|
+
const finalAriaLabel = inheritedAttributes['aria-label'] || ariaLabel;
|
|
7867
|
+
return (hAsync(Host, Object.assign({ key: '43aa73531314e6529a887468e69362430d006229', "aria-label": finalAriaLabel !== undefined && !this.hasAriaHidden() ? finalAriaLabel : null, alt: "", role: "img", class: Object.assign(Object.assign({}, createColorClasses(this.color)), { 'flip-rtl': shouldFlip, 'icon-rtl': shouldFlip && isRTL(this.el) }) }, inheritedAttributes), (hAsync("div", { class: "icon-inner" }))));
|
|
6009
7868
|
}
|
|
6010
7869
|
/*****
|
|
6011
7870
|
* Private Methods
|
|
6012
7871
|
****/
|
|
7872
|
+
setupInitialAriaLabel() {
|
|
7873
|
+
// Only set aria-label during initial load if one isn't already provided
|
|
7874
|
+
if (!this.inheritedAttributes['aria-label']) {
|
|
7875
|
+
const iconName = getName(this.name, this.icon);
|
|
7876
|
+
if (iconName) {
|
|
7877
|
+
this.ariaLabel = iconName.replace(/\-/g, ' ');
|
|
7878
|
+
}
|
|
7879
|
+
}
|
|
7880
|
+
}
|
|
6013
7881
|
waitUntilVisible(el, rootMargin, cb) {
|
|
6014
7882
|
{
|
|
6015
7883
|
// browser doesn't support IntersectionObserver
|
|
@@ -6017,14 +7885,62 @@ class PdsIcon {
|
|
|
6017
7885
|
cb();
|
|
6018
7886
|
}
|
|
6019
7887
|
}
|
|
7888
|
+
isElementInViewport(el) {
|
|
7889
|
+
if (!el || !el.isConnected)
|
|
7890
|
+
return false;
|
|
7891
|
+
const rect = el.getBoundingClientRect();
|
|
7892
|
+
const windowHeight = window.innerHeight || document.documentElement.clientHeight;
|
|
7893
|
+
const windowWidth = window.innerWidth || document.documentElement.clientWidth;
|
|
7894
|
+
return (rect.top >= 0 &&
|
|
7895
|
+
rect.left >= 0 &&
|
|
7896
|
+
rect.bottom <= windowHeight &&
|
|
7897
|
+
rect.right <= windowWidth) || (
|
|
7898
|
+
// Also consider partially visible elements
|
|
7899
|
+
rect.top < windowHeight &&
|
|
7900
|
+
rect.bottom > 0 &&
|
|
7901
|
+
rect.left < windowWidth &&
|
|
7902
|
+
rect.right > 0);
|
|
7903
|
+
}
|
|
7904
|
+
/**
|
|
7905
|
+
* Debug method to help diagnose loading issues
|
|
7906
|
+
* Call from browser console: document.querySelector('pds-icon').debugIconState()
|
|
7907
|
+
*/
|
|
7908
|
+
debugIconState() {
|
|
7909
|
+
var _a;
|
|
7910
|
+
const url = getUrl(this);
|
|
7911
|
+
const rect = this.el.getBoundingClientRect();
|
|
7912
|
+
console.log('PdsIcon Debug State:', {
|
|
7913
|
+
name: this.name,
|
|
7914
|
+
src: this.src,
|
|
7915
|
+
icon: this.icon,
|
|
7916
|
+
iconName: this.iconName,
|
|
7917
|
+
url,
|
|
7918
|
+
isVisible: this.isVisible,
|
|
7919
|
+
didLoadIcon: this.didLoadIcon,
|
|
7920
|
+
hasSvgContent: !!this.svgContent,
|
|
7921
|
+
svgContentLength: ((_a = this.svgContent) === null || _a === void 0 ? void 0 : _a.length) || 0,
|
|
7922
|
+
isInCache: url ? pdsIconContent.has(url) : false,
|
|
7923
|
+
cachedContent: url ? pdsIconContent.get(url) : null,
|
|
7924
|
+
element: this.el,
|
|
7925
|
+
// Client-side navigation specific debug info
|
|
7926
|
+
isConnected: this.el.isConnected,
|
|
7927
|
+
isInViewport: this.isElementInViewport(this.el),
|
|
7928
|
+
hasIntersectionObserver: !!this.io,
|
|
7929
|
+
boundingClientRect: rect,
|
|
7930
|
+
windowDimensions: {
|
|
7931
|
+
width: window.innerWidth || document.documentElement.clientWidth,
|
|
7932
|
+
height: window.innerHeight || document.documentElement.clientHeight
|
|
7933
|
+
}
|
|
7934
|
+
});
|
|
7935
|
+
}
|
|
6020
7936
|
static get assetsDirs() { return ["svg"]; }
|
|
6021
7937
|
get el() { return getElement(this); }
|
|
6022
7938
|
static get watchers() { return {
|
|
6023
7939
|
"size": ["updateStyles"],
|
|
6024
7940
|
"color": ["updateStyles"],
|
|
6025
|
-
"name": ["
|
|
6026
|
-
"src": ["
|
|
6027
|
-
"icon": ["
|
|
7941
|
+
"name": ["onIconPropertyChange"],
|
|
7942
|
+
"src": ["onIconPropertyChange"],
|
|
7943
|
+
"icon": ["onIconPropertyChange"]
|
|
6028
7944
|
}; }
|
|
6029
7945
|
static get style() { return pdsIconCss; }
|
|
6030
7946
|
static get cmpMeta() { return {
|
|
@@ -6074,9 +7990,9 @@ class PdsImage {
|
|
|
6074
7990
|
this.loading = 'eager';
|
|
6075
7991
|
}
|
|
6076
7992
|
render() {
|
|
6077
|
-
return (hAsync(Host, { key: '
|
|
7993
|
+
return (hAsync(Host, { key: 'bffcd250b41bcc96d6278f35be5287cf34ee91ac', class: {
|
|
6078
7994
|
'pds-image': true,
|
|
6079
|
-
}, id: this.componentId }, hAsync("img", { key: '
|
|
7995
|
+
}, id: this.componentId }, hAsync("img", { key: 'b241c3d7fcb061b530e57ef4ca0aafe4801d9341', alt: this.alt, height: this.height, loading: this.loading, sizes: this.sizes, src: this.src, srcset: this.srcset, width: this.width })));
|
|
6080
7996
|
}
|
|
6081
7997
|
static get style() { return pdsImageCss; }
|
|
6082
7998
|
static get cmpMeta() { return {
|
|
@@ -6102,13 +8018,14 @@ const pdsInputTokensCss$1 = ":host{--pine-input-color-background-danger:var(--pi
|
|
|
6102
8018
|
|
|
6103
8019
|
const labelCss$4 = ":host{display:inline-block}:host([aria-disabled=true]) label{color:var(--pine-color-text-label-disabled)}:host([aria-readonly=true]) label{color:var(--pine-color-text-label-readonly)}label{color:var(--pine-color-text-label);font:var(--pine-typography-body-medium);letter-spacing:var(--pine-letter-spacing)}";
|
|
6104
8020
|
|
|
6105
|
-
const pdsInputCss = ":host{--pds-input-background:var(--pine-color-background-container);--pds-input-border-color:var(--pine-color-border);--pds-input-border-color-hover:var(--pine-color-border-hover);--pds-input-border-color-disabled:var(--pine-color-border-disabled);--pds-input-border-radius:var(--pine-dimension-125);--pds-input-border-width:var(--pine-border-width-thin);--pds-input-padding-x:var(--pine-dimension-150);--pds-input-padding-y:var(--pine-dimension-xs);--pds-input-font:var(--pine-typography-body);--pds-input-text-color:var(--pine-color-text-active);--pds-input-placeholder-color:var(--pine-color-text-placeholder);--pds-input-icon-color:var(--pine-color-text-secondary);--pds-input-disabled-background:var(--pine-color-background-container-disabled);--pds-input-disabled-text-color:var(--pine-color-text-disabled);--pds-input-error-color:var(--pine-color-text-message-danger);--pds-input-error-background:var(--pine-input-color-background-danger);--pds-input-error-border:var(--pine-color-border-danger);--pds-input-error-border-hover:var(--pine-color-border-danger-hover);--pds-input-addon-background:var(--pine-color-background-subtle);--pds-input-addon-color:var(--pine-color-text-secondary);--pds-input-field-min-height:
|
|
8021
|
+
const pdsInputCss = ":host{--pds-input-background:var(--pine-color-background-container);--pds-input-border-color:var(--pine-color-border);--pds-input-border-color-hover:var(--pine-color-border-hover);--pds-input-border-color-disabled:var(--pine-color-border-disabled);--pds-input-border-radius:var(--pine-dimension-125);--pds-input-border-width:var(--pine-border-width-thin);--pds-input-padding-x:var(--pine-dimension-150);--pds-input-padding-y:calc(var(--pine-dimension-xs) - var(--pine-border-width));--pds-input-font:var(--pine-typography-body);--pds-input-text-color:var(--pine-color-text-active);--pds-input-placeholder-color:var(--pine-color-text-placeholder);--pds-input-icon-color:var(--pine-color-text-secondary);--pds-input-disabled-background:var(--pine-color-background-container-disabled);--pds-input-disabled-text-color:var(--pine-color-text-disabled);--pds-input-error-color:var(--pine-color-text-message-danger);--pds-input-error-background:var(--pine-input-color-background-danger);--pds-input-error-border:var(--pine-color-border-danger);--pds-input-error-border-hover:var(--pine-color-border-danger-hover);--pds-input-addon-background:var(--pine-color-background-subtle);--pds-input-addon-color:var(--pine-color-text-secondary);--pds-input-field-min-height:var(--pine-dimension-450);--box-shadow-focus:0 0 0 1px #ffffff, 0 0 0 3px var(--pine-color-focus-ring);--box-shadow-focus-error:0 0 0 1px #ffffff, 0 0 0 3px var(--pine-color-focus-ring-danger);display:inline}:host pds-select::part(select){background-color:var(--pds-input-error-background);border-color:var(--pds-input-error-border)}:host::part(prefix),:host::part(suffix){-ms-flex-align:center;align-items:center;color:var(--pine-color-text-label-readonly);display:-ms-flexbox;display:flex;height:100%;position:absolute;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);white-space:nowrap;z-index:1}:host::part(prefix){border-end-start-radius:var(--pds-input-border-radius);-webkit-border-end:var(--pine-border-width-none);border-inline-end:var(--pine-border-width-none);border-start-start-radius:var(--pds-input-border-radius);left:var(--pds-input-padding-x)}:host::part(suffix){border-end-end-radius:var(--pds-input-border-radius);-webkit-border-start:var(--pine-border-width-none);border-inline-start:var(--pine-border-width-none);border-start-end-radius:var(--pds-input-border-radius);right:var(--pds-input-padding-x)}:host::part(prepend),:host::part(append){-ms-flex-align:center;align-items:center;background-color:var(--pds-input-addon-background);border:var(--pds-input-border-width) solid var(--pds-input-border-color);color:var(--pds-input-addon-color);display:-ms-flexbox;display:flex}:host::part(prepend){border-end-start-radius:var(--pds-input-border-radius);-webkit-border-end:var(--pine-border-width-none);border-inline-end:var(--pine-border-width-none);border-start-start-radius:var(--pds-input-border-radius)}:host::part(append){border-end-end-radius:var(--pds-input-border-radius);-webkit-border-start:var(--pine-border-width-none);border-inline-start:var(--pine-border-width-none);border-start-end-radius:var(--pds-input-border-radius)}:host([has-prepend]) ::slotted(pds-button[slot=prepend]){--pds-button-background:var(--pds-input-addon-background);--pds-button-border:var(--pine-border-width-none);--pds-button-border-radius-end-end:var(--pine-dimension-none);--pds-button-border-radius-start-end:var(--pine-dimension-none);--pds-button-min-height:var(--pine-dimension-450)}:host([has-append]) ::slotted(pds-button[slot=append]){--pds-button-background:var(--pds-input-addon-background);--pds-button-border:var(--pine-border-width-none);--pds-button-border-radius-end-start:var(--pine-dimension-none);--pds-button-border-radius-start-start:var(--pine-dimension-none);--pds-button-min-height:var(--pine-dimension-450)}:host([has-prepend]) ::slotted(pds-select[slot=prepend]){--pds-select-background:var(--pds-input-addon-background);--pds-select-border:var(--pine-border-width-none);--pds-select-border-radius-end-end:var(--pine-dimension-none);--pds-select-border-radius-start-end:var(--pine-dimension-none);--pds-select-min-height:calc(var(--pine-dimension-450) - calc(2 * var(--pine-border-width)))}:host([has-append]) ::slotted(pds-select[slot=append]){--pds-select-background:var(--pds-input-addon-background);--pds-select-border:var(--pine-border-width-none);--pds-select-border-radius-end-start:var(--pine-dimension-none);--pds-select-border-radius-start-start:var(--pine-dimension-none);--pds-select-min-height:calc(var(--pine-dimension-450) - calc(2 * var(--pine-border-width)))}:host([aria-readonly=true]) input{background-color:var(--pine-color-background-container-disabled);color:var(--pine-color-text-readonly)}:host([disabled=true])::part(prepend),:host([disabled=true])::part(append){background-color:var(--pds-input-disabled-background);border:var(--pds-input-border-width) solid var(--pds-input-border-color-disabled)}:host([full-width=true]){width:100%}:host([invalid=true])::part(prepend),:host([invalid=true])::part(append){background-color:var(--pds-input-error-background);border:var(--pds-input-border-width) solid var(--pds-input-error-border)}.pds-input{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}.pds-input__label-wrapper{-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;-webkit-margin-after:var(--pine-dimension-2xs);margin-block-end:var(--pine-dimension-2xs)}.pds-input__label{color:var(--pine-color-text-active);-webkit-margin-after:var(--pine-dimension-2xs);margin-block-end:var(--pine-dimension-2xs)}.pds-input__label-wrapper .pds-input__label{-webkit-margin-after:0;margin-block-end:0}.pds-input__action{-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex;gap:var(--pine-dimension-xs);-webkit-margin-start:var(--pine-dimension-xs);margin-inline-start:var(--pine-dimension-xs)}.pds-input__field-wrapper{-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex;position:relative;width:100%}.pds-input__field-wrapper.has-prefix .pds-input__field{-webkit-padding-start:calc(2 * var(--pds-input-padding-x) + var(--prefix-width, 1em));padding-inline-start:calc(2 * var(--pds-input-padding-x) + var(--prefix-width, 1em))}.pds-input__field-wrapper.has-suffix .pds-input__field{-webkit-padding-end:calc(2 * var(--pds-input-padding-x) + var(--suffix-width, 1em));padding-inline-end:calc(2 * var(--pds-input-padding-x) + var(--suffix-width, 1em))}.pds-input__field-wrapper.has-prepend .pds-input__field{border-end-start-radius:var(--pine-dimension-none);border-start-start-radius:var(--pine-dimension-none)}.pds-input__field-wrapper.has-append .pds-input__field{border-end-end-radius:var(--pine-dimension-none);border-start-end-radius:var(--pine-dimension-none)}.pds-input__field{background:var(--pds-input-background);border:var(--pds-input-border-width) solid var(--pds-input-border-color);border-radius:var(--pds-input-border-radius);-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--pds-input-text-color);-ms-flex:1;flex:1;font:var(--pds-input-font);letter-spacing:var(--pine-letter-spacing);min-height:var(--pds-input-field-min-height);min-width:var(--pine-dimension-none);padding:var(--pds-input-padding-y) var(--pds-input-padding-x);-webkit-transition:border-color 0.2s ease;transition:border-color 0.2s ease;width:100%}.pds-input__field:hover:not(:disabled){border-color:var(--pds-input-border-color-hover)}.pds-input__field:disabled{background:var(--pds-input-disabled-background);border-color:var(--pine-color-border-disabled);color:var(--pds-input-disabled-text-color);cursor:not-allowed}.pds-input__field:disabled::-webkit-input-placeholder{color:var(--pine-color-text-placeholder-disabled)}.pds-input__field:disabled::-moz-placeholder{color:var(--pine-color-text-placeholder-disabled)}.pds-input__field:disabled:-ms-input-placeholder{color:var(--pine-color-text-placeholder-disabled)}.pds-input__field:disabled::-ms-input-placeholder{color:var(--pine-color-text-placeholder-disabled)}.pds-input__field:disabled::placeholder{color:var(--pine-color-text-placeholder-disabled)}.has-error .pds-input__field:hover:not(:disabled){border-color:var(--pds-input-error-border-hover)}.pds-input__field:focus-visible:not(.has-error){border-color:var(--pine-color-border-active);outline:var(--pine-outline-focus);outline-offset:var(--pine-border-width)}:host([has-prepend]) .pds-input__field:focus-visible:not(.has-error),:host([has-append]) .pds-input__field:focus-visible:not(.has-error),:host([has-prefix]) .pds-input__field:focus-visible:not(.has-error),:host([has-suffix]) .pds-input__field:focus-visible:not(.has-error){outline-offset:var(--pine-dimension-none)}.pds-input__field::-webkit-input-placeholder{color:var(--pds-input-placeholder-color)}.pds-input__field::-moz-placeholder{color:var(--pds-input-placeholder-color)}.pds-input__field:-ms-input-placeholder{color:var(--pds-input-placeholder-color)}.pds-input__field::-ms-input-placeholder{color:var(--pds-input-placeholder-color)}.pds-input__field::placeholder{color:var(--pds-input-placeholder-color)}.has-error .pds-input__field{background-color:var(--pds-input-error-background);border-color:var(--pds-input-error-border)}.has-error .pds-input__field:focus-visible{outline-color:var(--pine-color-focus-ring-danger)}.pds-input__error-message,.pds-input__helper-message{color:var(--pine-color-text-message);font:var(--pine-typography-body-sm);-webkit-margin-after:var(--pine-dimension-none);margin-block-end:var(--pine-dimension-none);-webkit-margin-before:var(--pine-dimension-2xs);margin-block-start:var(--pine-dimension-2xs)}.pds-input__error-message{-ms-flex-align:center;align-items:center;color:var(--pds-input-error-color);display:-ms-flexbox;display:flex;gap:var(--pine-dimension-2xs)}";
|
|
6106
8022
|
|
|
6107
8023
|
/**
|
|
6108
8024
|
* @slot append - Content to be displayed after the input field
|
|
6109
8025
|
* @slot prefix - Content that is displayed visually within the input field before the input field
|
|
6110
8026
|
* @slot prepend - Content to be displayed before the input field
|
|
6111
8027
|
* @slot suffix - Content that is displayed visually within the input field after the input field
|
|
8028
|
+
* @slot action - Content to be displayed in the label area, typically for help icons or links
|
|
6112
8029
|
*/
|
|
6113
8030
|
class PdsInput {
|
|
6114
8031
|
constructor(hostRef) {
|
|
@@ -6135,6 +8052,10 @@ class PdsInput {
|
|
|
6135
8052
|
* If true, the input has append content (focusable)
|
|
6136
8053
|
*/
|
|
6137
8054
|
this.hasAppend = false;
|
|
8055
|
+
/**
|
|
8056
|
+
* If true, the input has action content in the label area
|
|
8057
|
+
*/
|
|
8058
|
+
this.hasAction = false;
|
|
6138
8059
|
/**
|
|
6139
8060
|
* Determines the type of control that will be displayed
|
|
6140
8061
|
* `'email'`, `'number'`, `'password'`, `'tel'`, `'text'`, `'url'`
|
|
@@ -6231,18 +8152,34 @@ class PdsInput {
|
|
|
6231
8152
|
}
|
|
6232
8153
|
return null;
|
|
6233
8154
|
}
|
|
8155
|
+
renderAction() {
|
|
8156
|
+
const hasAction = this.el.querySelector('[slot="action"]') !== null;
|
|
8157
|
+
if (hasAction) {
|
|
8158
|
+
return (hAsync("div", { class: "pds-input__action", part: "action" }, hAsync("slot", { name: "action" })));
|
|
8159
|
+
}
|
|
8160
|
+
return null;
|
|
8161
|
+
}
|
|
6234
8162
|
componentWillLoad() {
|
|
6235
8163
|
this.inheritedAttributes = Object.assign({}, inheritAriaAttributes(this.el));
|
|
6236
8164
|
this.hasPrefix = this.el.querySelector('[slot="prefix"]') !== null;
|
|
6237
8165
|
this.hasSuffix = this.el.querySelector('[slot="suffix"]') !== null;
|
|
6238
8166
|
this.hasPrepend = this.el.querySelector('[slot="prepend"]') !== null;
|
|
6239
8167
|
this.hasAppend = this.el.querySelector('[slot="append"]') !== null;
|
|
8168
|
+
this.hasAction = this.el.querySelector('[slot="action"]') !== null;
|
|
6240
8169
|
// Store the original pdsInput event emitter
|
|
6241
8170
|
this.originalPdsInput = this.pdsInput;
|
|
6242
8171
|
}
|
|
8172
|
+
connectedCallback() {
|
|
8173
|
+
// Initialize ElementInternals for form association
|
|
8174
|
+
if (this.el.attachInternals) {
|
|
8175
|
+
this.internals = this.el.attachInternals();
|
|
8176
|
+
}
|
|
8177
|
+
}
|
|
6243
8178
|
componentDidLoad() {
|
|
6244
8179
|
this.debounceChanged();
|
|
6245
8180
|
this.updateAddonWidths();
|
|
8181
|
+
// Set initial form value
|
|
8182
|
+
this.updateFormValue();
|
|
6246
8183
|
}
|
|
6247
8184
|
componentDidUpdate() {
|
|
6248
8185
|
this.updateAddonWidths();
|
|
@@ -6261,6 +8198,8 @@ class PdsInput {
|
|
|
6261
8198
|
if (nativeInput && nativeInput.value !== value && !this.isComposing) {
|
|
6262
8199
|
nativeInput.value = value;
|
|
6263
8200
|
}
|
|
8201
|
+
// Update form value when value changes
|
|
8202
|
+
this.updateFormValue();
|
|
6264
8203
|
}
|
|
6265
8204
|
getValue() {
|
|
6266
8205
|
return typeof this.value === 'number' ? this.value.toString() : (this.value || '').toString();
|
|
@@ -6283,6 +8222,47 @@ class PdsInput {
|
|
|
6283
8222
|
const newValue = value == null ? value : value.toString();
|
|
6284
8223
|
this.pdsInput.emit({ value: newValue, event });
|
|
6285
8224
|
}
|
|
8225
|
+
/**
|
|
8226
|
+
* Updates the form value using ElementInternals API
|
|
8227
|
+
*/
|
|
8228
|
+
updateFormValue() {
|
|
8229
|
+
if (this.internals && this.internals.setFormValue) {
|
|
8230
|
+
const value = this.getValue();
|
|
8231
|
+
this.internals.setFormValue(value || null);
|
|
8232
|
+
// Set validity based on native input validation
|
|
8233
|
+
if (this.nativeInput && this.internals && this.internals.setValidity) {
|
|
8234
|
+
this.internals.setValidity(this.nativeInput.validity, this.nativeInput.validationMessage, this.nativeInput);
|
|
8235
|
+
}
|
|
8236
|
+
}
|
|
8237
|
+
}
|
|
8238
|
+
/**
|
|
8239
|
+
* Form Associated Custom Elements API: Called when the form is reset
|
|
8240
|
+
*/
|
|
8241
|
+
formResetCallback() {
|
|
8242
|
+
this.value = '';
|
|
8243
|
+
this.updateFormValue();
|
|
8244
|
+
}
|
|
8245
|
+
/**
|
|
8246
|
+
* Form Associated Custom Elements API: Called when the form is disabled
|
|
8247
|
+
*/
|
|
8248
|
+
formDisabledCallback(disabled) {
|
|
8249
|
+
this.disabled = disabled;
|
|
8250
|
+
}
|
|
8251
|
+
/**
|
|
8252
|
+
* Form Associated Custom Elements API: Called to restore form state
|
|
8253
|
+
*/
|
|
8254
|
+
formStateRestoreCallback(state) {
|
|
8255
|
+
if (typeof state === 'string') {
|
|
8256
|
+
this.value = state;
|
|
8257
|
+
}
|
|
8258
|
+
else if (state instanceof FormData && this.name) {
|
|
8259
|
+
// Extract value from FormData using the input's name
|
|
8260
|
+
const value = state.get(this.name);
|
|
8261
|
+
if (typeof value === 'string') {
|
|
8262
|
+
this.value = value;
|
|
8263
|
+
}
|
|
8264
|
+
}
|
|
8265
|
+
}
|
|
6286
8266
|
render() {
|
|
6287
8267
|
const { componentId, disabled, errorMessage, helperMessage, invalid = false, label, } = this;
|
|
6288
8268
|
const value = this.getValue();
|
|
@@ -6296,8 +8276,9 @@ class PdsInput {
|
|
|
6296
8276
|
'has-prepend': this.hasPrepend,
|
|
6297
8277
|
'has-append': this.hasAppend,
|
|
6298
8278
|
};
|
|
6299
|
-
return (hAsync(Host, { key: '
|
|
8279
|
+
return (hAsync(Host, { key: 'eac6a9c04f98b10e4eb6cb3eee49c7ecf4e2d8a2', "aria-disabled": this.disabled ? 'true' : null, "aria-readonly": this.readonly ? 'true' : null, "has-prefix": this.hasPrefix ? 'true' : null, "has-suffix": this.hasSuffix ? 'true' : null, "has-prepend": this.hasPrepend ? 'true' : null, "has-append": this.hasAppend ? 'true' : null, "has-action": this.hasAction ? 'true' : null, "full-width": this.fullWidth ? 'true' : null }, hAsync("div", { key: 'f67b518f3debb5f21cf48bd573126962d81deff5', class: "pds-input" }, label && (hAsync("div", { key: 'a45a7bd41f7d3f8009d2bbf6bcc432c45c0fc733', class: "pds-input__label-wrapper" }, hAsync("label", { key: '31b41266335a5197313d6aa44c277de57afe2f54', htmlFor: componentId, class: "pds-input__label" }, label, this.required && hAsync("span", { key: '4113f0e0e85cb81c5a501e52b3489b125fdb1cbf', class: "pds-input__required-indicator" }, " *")), this.renderAction())), hAsync("div", { key: 'ea99ed08f755dc72517fb1594054250a492340d0', class: inputWrapperClasses }, this.renderPrepend(), this.renderPrefix(), hAsync("input", Object.assign({ key: 'b48f1ccb88fdaa96b9e81cb1c459d3bfd1b512e0', ref: (input) => (this.nativeInput = input), class: "pds-input__field", "aria-describedby": assignDescription(componentId, invalid, helperMessage), "aria-invalid": invalid ? "true" : undefined, autocomplete: this.autocomplete, disabled: disabled, id: componentId, max: this.max, maxlength: this.maxlength, min: this.min, minlength: this.minlength, name: this.name, pattern: this.pattern, placeholder: this.placeholder, readOnly: this.readonly, required: this.required, step: this.step, type: this.type, value: value, onInput: this.onInputEvent, onChange: this.onChangeEvent, onBlur: this.onBlurEvent, onFocus: this.onFocusEvent, onCompositionstart: this.onCompositionStart, onCompositionend: this.onCompositionEnd }, this.inheritedAttributes)), this.renderSuffix(), this.renderAppend()), helperMessage && (hAsync("p", { key: '3f84a41082d20917d9ab85051cdfbb7c2a6407ee', class: "pds-input__helper-message", id: messageId(componentId, 'helper') }, helperMessage)), errorMessage && (hAsync("p", { key: 'd991dfdfc44a41640ef0070ce17e52b3f86b7782', class: "pds-input__error-message", id: messageId(componentId, 'error') }, hAsync("pds-icon", { key: '5ea499d7d2f5ff2602dbf39f81df59c06116c6d2', icon: danger, size: "small" }), errorMessage)))));
|
|
6300
8280
|
}
|
|
8281
|
+
static get formAssociated() { return true; }
|
|
6301
8282
|
get el() { return getElement(this); }
|
|
6302
8283
|
static get watchers() { return {
|
|
6303
8284
|
"debounce": ["debounceChanged"],
|
|
@@ -6305,7 +8286,7 @@ class PdsInput {
|
|
|
6305
8286
|
}; }
|
|
6306
8287
|
static get style() { return pdsInputTokensCss$1 + (labelCss$4 + pdsInputCss); }
|
|
6307
8288
|
static get cmpMeta() { return {
|
|
6308
|
-
"$flags$":
|
|
8289
|
+
"$flags$": 73,
|
|
6309
8290
|
"$tagName$": "pds-input",
|
|
6310
8291
|
"$members$": {
|
|
6311
8292
|
"autocomplete": [1],
|
|
@@ -6328,10 +8309,12 @@ class PdsInput {
|
|
|
6328
8309
|
"step": [1],
|
|
6329
8310
|
"type": [1],
|
|
6330
8311
|
"value": [1032],
|
|
8312
|
+
"fullWidth": [4, "full-width"],
|
|
6331
8313
|
"hasPrefix": [32],
|
|
6332
8314
|
"hasSuffix": [32],
|
|
6333
8315
|
"hasPrepend": [32],
|
|
6334
8316
|
"hasAppend": [32],
|
|
8317
|
+
"hasAction": [32],
|
|
6335
8318
|
"hasFocus": [32],
|
|
6336
8319
|
"setFocus": [64]
|
|
6337
8320
|
},
|
|
@@ -6388,8 +8371,8 @@ class PdsLink {
|
|
|
6388
8371
|
return linkStyles;
|
|
6389
8372
|
}
|
|
6390
8373
|
render() {
|
|
6391
|
-
return (hAsync("a", { key: '
|
|
6392
|
-
hAsync("pds-icon", { key: '
|
|
8374
|
+
return (hAsync("a", { key: 'eeea6a903a33bf8212506970eddff01e19e02523', class: this.classNames(), href: this.href, id: this.componentId, part: "link", target: this.external ? '_blank' : undefined, style: this.setLinkStyles() }, hAsync("slot", { key: 'b860a1927bc0938d139d9ba9ad69801f27dabc50' }, this.href), this.external &&
|
|
8375
|
+
hAsync("pds-icon", { key: 'eda897680a6e67afd2e112646a84b2bffd1d0cc9', icon: launch, size: this.fontSize })));
|
|
6393
8376
|
}
|
|
6394
8377
|
static get style() { return pdsLinkCss; }
|
|
6395
8378
|
static get cmpMeta() { return {
|
|
@@ -6458,7 +8441,7 @@ class PdsLoader {
|
|
|
6458
8441
|
}
|
|
6459
8442
|
}
|
|
6460
8443
|
render() {
|
|
6461
|
-
return (hAsync(Host, { key: '
|
|
8444
|
+
return (hAsync(Host, { key: '723a80c291dd72959e43f10575bb947db80b48bc', class: `pds-loader ${this.isLoading ? '' : 'pds-loader--hidden'}`, "aria-hidden": !this.isLoading, "aria-busy": this.isLoading, "aria-live": "polite" }, this.variant === 'spinner' && (hAsync("div", { key: 'f239c576ab11e3ddf07fc15e1084cc67b55e61d7', class: "pds-loader--spinner" }, hAsync("svg", { key: 'd1c7c73d1afbb62646faffae7f2101de5c7c6fb8', style: this.style(), viewBox: "0 0 200 200", fill: "none" }, hAsync("defs", { key: '8e4ff591173df6169ab0472f0e5952f72bf29b25' }, hAsync("linearGradient", { key: '06d48bf0fe1d0db36dbd842c8a1975f965936389', id: "spinner-secondHalf" }, hAsync("stop", { key: '7d4528b15ee0d029062465a2b38a138e17051344', offset: "0%", "stop-opacity": "0", "stop-color": "currentColor" }), hAsync("stop", { key: '67825cd7c3b08d4f50fe1bea3a2eee079b556229', offset: "100%", "stop-opacity": "0.5", "stop-color": "currentColor" })), hAsync("linearGradient", { key: '408f7bb876bd2649f2f22f4ab032d321d69cd6b0', id: "spinner-firstHalf" }, hAsync("stop", { key: '3e530c0cdee5f8d19db55cf8aeb099f50be6eeea', offset: "0%", "stop-opacity": "1", "stop-color": "currentColor" }), hAsync("stop", { key: '61ca38ceb7536a3eb6da8d70004834b8ecc03a4e', offset: "100%", "stop-opacity": "0.5", "stop-color": "currentColor" }))), hAsync("g", { key: 'cbbfe03013311e2830e7d0bc83585e3f58677a50', class: "pds-loader__spinner-path" }, hAsync("path", { key: 'e5376fd10b97844faf97167fd89c9630d42e8c26', stroke: "url(#spinner-secondHalf)", d: "M 4 100 A 96 96 0 0 1 196 100" }), hAsync("path", { key: '0c484548cee25d885bea7017ebbad7be9fe0a4df', stroke: "url(#spinner-firstHalf)", d: "M 196 100 A 96 96 0 0 1 4 100" }), hAsync("path", { key: 'c7d41b97e8cb16182ffb408b1205dd68e70a0b92', stroke: "currentColor", "stroke-linecap": "round", d: "M 4 100 A 96 96 0 0 1 4 98" }))))), this.variant === 'typing' && (hAsync("div", { key: '39fbcd19d720242aeef165281a68ae032c5f7368', class: "pds-loader--typing" }, hAsync("span", { key: 'ca2c0ef3d326be687b15196964be691cfb5de6e3' }), hAsync("span", { key: 'b2d72db5856ab236c546a67fe8cb375e5cf0d500' }), hAsync("span", { key: '9d64698e62e906d151ccbedd438a4390406505c5' }))), hAsync("div", { key: '2d485557a642a81aec4be06b9a6d2b6e86e45563', class: `pds-loader__label ${this.showLabel ? '' : 'pds-loader--hidden'}` }, hAsync("slot", { key: '5e1925ec79160b5ac0dc23530aae2a933ce2ef2f', name: "label" }, "Loading..."))));
|
|
6462
8445
|
}
|
|
6463
8446
|
static get style() { return pdsLoaderCss; }
|
|
6464
8447
|
static get cmpMeta() { return {
|
|
@@ -6476,7 +8459,7 @@ class PdsLoader {
|
|
|
6476
8459
|
}; }
|
|
6477
8460
|
}
|
|
6478
8461
|
|
|
6479
|
-
const pdsModalCss = ".pds-modal__backdrop{-ms-flex-align:start;align-items:flex-start;background-color:rgba(0, 0, 0, 0.4);border:0;display:-ms-flexbox;display:flex;height:100%;inset:0;-ms-flex-pack:center;justify-content:center;margin:0;max-height:100%;max-width:100%;opacity:0;padding:0;position:fixed;-webkit-transition:opacity 0.2s ease, visibility 0.2s ease;transition:opacity 0.2s ease, visibility 0.2s ease;visibility:hidden;width:100%;z-index:1000}@supports ((-webkit-backdrop-filter: blur(3px)) or (backdrop-filter: blur(3px))){.pds-modal__backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}}pds-modal .pds-modal__backdrop{z-index:1001}.pds-modal__backdrop::-webkit-backdrop{background:transparent}.pds-modal__backdrop::-ms-backdrop{background:transparent}.pds-modal__backdrop::backdrop{background:transparent}.pds-modal__backdrop.open{opacity:1;visibility:visible}.pds-modal{background:var(--pine-color-background-container);border-radius:var(--pine-dimension-sm);-webkit-box-shadow:var(--pine-box-shadow-400);box-shadow:var(--pine-box-shadow-400);display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;margin:var(--pine-dimension-md);max-height:calc(100vh - (
|
|
8462
|
+
const pdsModalCss = ".pds-modal__backdrop{-ms-flex-align:start;align-items:flex-start;background-color:rgba(0, 0, 0, 0.4);border:0;display:-ms-flexbox;display:flex;height:100%;inset:0;-ms-flex-pack:center;justify-content:center;margin:0;max-height:100%;max-width:100%;opacity:0;padding:0;position:fixed;-webkit-transition:opacity 0.2s ease, visibility 0.2s ease;transition:opacity 0.2s ease, visibility 0.2s ease;visibility:hidden;width:100%;z-index:1000}@supports ((-webkit-backdrop-filter: blur(3px)) or (backdrop-filter: blur(3px))){.pds-modal__backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}}pds-modal .pds-modal__backdrop{z-index:1001}.pds-modal__backdrop::-webkit-backdrop{background:transparent}.pds-modal__backdrop::-ms-backdrop{background:transparent}.pds-modal__backdrop::backdrop{background:transparent}.pds-modal__backdrop.open{opacity:1;visibility:visible}.pds-modal{background:var(--pine-color-background-container);border-radius:var(--pine-dimension-sm);-webkit-box-shadow:var(--pine-box-shadow-400);box-shadow:var(--pine-box-shadow-400);display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;margin:var(--pine-dimension-md);max-height:calc(100vh - (5vh + 96px));width:100%}@media (min-width: 992px){.pds-modal{-webkit-margin-before:6vh;margin-block-start:6vh}}@media (min-width: 1200px){.pds-modal{-webkit-margin-before:8vh;margin-block-start:8vh}}.pds-modal--sm{max-width:520px}.pds-modal--md{max-width:700px}.pds-modal--lg{max-width:900px}.pds-modal--fullscreen{border-radius:0;height:100%;margin:0;max-height:100vh;max-width:100%}.pds-modal--fullscreen .pds-modal-content{-ms-flex:1;flex:1}";
|
|
6480
8463
|
|
|
6481
8464
|
class PdsModal {
|
|
6482
8465
|
constructor(hostRef) {
|
|
@@ -6709,10 +8692,10 @@ class PdsModal {
|
|
|
6709
8692
|
return thisZIndex === maxZIndex;
|
|
6710
8693
|
}
|
|
6711
8694
|
render() {
|
|
6712
|
-
return (hAsync("dialog", { key: '
|
|
8695
|
+
return (hAsync("dialog", { key: '037701d53182dfa8a1c65c4f72433f80d569c2a0', class: {
|
|
6713
8696
|
'pds-modal__backdrop': true,
|
|
6714
8697
|
'open': this.open
|
|
6715
|
-
}, "aria-modal": "true", "aria-labelledby": `${this.componentId}-heading`, onClick: this.handleBackdropClick }, hAsync("div", { key: '
|
|
8698
|
+
}, "aria-modal": "true", "aria-labelledby": `${this.componentId}-heading`, onClick: this.handleBackdropClick }, hAsync("div", { key: '33cf8ccba3a56b0ce9795b85e871055ce1a1c1ec', class: `pds-modal pds-modal--${this.size} pds-modal--scrollable` }, hAsync("slot", { key: '9f98dc099f74cf9a33de8b71bf5508fd9b353c48' }))));
|
|
6716
8699
|
}
|
|
6717
8700
|
get el() { return getElement(this); }
|
|
6718
8701
|
static get watchers() { return {
|
|
@@ -6813,10 +8796,10 @@ class PdsModalContent {
|
|
|
6813
8796
|
}
|
|
6814
8797
|
}
|
|
6815
8798
|
render() {
|
|
6816
|
-
return (hAsync(Host, { key: '
|
|
8799
|
+
return (hAsync(Host, { key: '897268bfde6b22a4a8c05b413683b36a321df502' }, hAsync("div", { key: 'f61227128896753e6bdfa9ea62402a23460445e6', class: {
|
|
6817
8800
|
'pds-modal-content': true,
|
|
6818
8801
|
[`pds-modal-content--border-${this.border}`]: true
|
|
6819
|
-
}, style: { maxHeight: this.contentMaxHeight }, tabindex: "-1" }, hAsync("slot", { key: '
|
|
8802
|
+
}, style: { maxHeight: this.contentMaxHeight }, tabindex: "-1" }, hAsync("slot", { key: '20d4fbb16bc097eaa4f7899ea71feaac65e057d4' }))));
|
|
6820
8803
|
}
|
|
6821
8804
|
get el() { return getElement(this); }
|
|
6822
8805
|
static get style() { return pdsModalContentCss; }
|
|
@@ -6840,7 +8823,7 @@ class PdsModalFooter {
|
|
|
6840
8823
|
registerInstance(this, hostRef);
|
|
6841
8824
|
}
|
|
6842
8825
|
render() {
|
|
6843
|
-
return (hAsync("footer", { key: '
|
|
8826
|
+
return (hAsync("footer", { key: 'daaff7132c3b6bcaecafcb4e8dbbf25bf3ad1de4', class: "pds-modal__footer" }, hAsync("slot", { key: '06ba1513613bea247b8d533a750f1331c509e2e5' })));
|
|
6844
8827
|
}
|
|
6845
8828
|
static get style() { return pdsModalFooterCss; }
|
|
6846
8829
|
static get cmpMeta() { return {
|
|
@@ -6860,7 +8843,7 @@ class PdsModalHeader {
|
|
|
6860
8843
|
registerInstance(this, hostRef);
|
|
6861
8844
|
}
|
|
6862
8845
|
render() {
|
|
6863
|
-
return (hAsync("header", { key: '
|
|
8846
|
+
return (hAsync("header", { key: '8592e91625152d821a52a7c6ecb4b4077c8b12ae', class: "pds-modal__header" }, hAsync("slot", { key: '6a9f38a579019ef3fd6c3085eb3bfc9865070200' })));
|
|
6864
8847
|
}
|
|
6865
8848
|
static get style() { return pdsModalHeaderCss; }
|
|
6866
8849
|
static get cmpMeta() { return {
|
|
@@ -6979,7 +8962,7 @@ class PdsPopover {
|
|
|
6979
8962
|
popoverEl.style.left = `${left}px`;
|
|
6980
8963
|
}
|
|
6981
8964
|
render() {
|
|
6982
|
-
return (hAsync(Host, { key: '
|
|
8965
|
+
return (hAsync(Host, { key: '74048ac8ac89c87e9a65565151627dca0d7811b4' }, hAsync("button", { key: '61cbfd4ee6572e181e0f098acba36a5855280d62', class: "pds-popover__trigger", popoverTarget: this.componentId, popoverTargetAction: this.popoverTargetAction, onClick: this.handleClick }, this.text), hAsync("div", { key: 'f88b815d14fb15fe4eff85be908e1aa85f1195fb', class: `pds-popover ${this.active ? 'pds-popover--active' : ''}`, id: this.componentId, popover: this.popoverType, style: { maxWidth: `${this.maxWidth}px` } }, hAsync("slot", { key: '5dd632e9e4a833f5dc26626181f63b85340590a1' }))));
|
|
6983
8966
|
}
|
|
6984
8967
|
get el() { return getElement(this); }
|
|
6985
8968
|
static get style() { return pdsPopoverCss; }
|
|
@@ -7023,7 +9006,7 @@ class PdsProgress {
|
|
|
7023
9006
|
this.showPercent = false;
|
|
7024
9007
|
}
|
|
7025
9008
|
render() {
|
|
7026
|
-
return (hAsync(Host, { key: '
|
|
9009
|
+
return (hAsync(Host, { key: 'e260269fec1449c354e6c66d2547697180839002', class: this.animated ? { 'is-animated': this.animated } : '' }, hAsync("div", { key: '44996e689f4ba5e15d40a3e6df3382d532533290', class: "pds-progress" }, hAsync("label", { key: '01d3d9a419bd0f38e3b39c37739a9c7a4966da49', class: "pds-progress__label", htmlFor: this.componentId }, this.label), hAsync("progress", { key: '78013be8fb0d05059ee05a5aba1a6e4ae50e5019', id: this.componentId, max: "100", style: this.fillColor ? { '--color-progress-fill': this.fillColor } : {}, value: this.percent })), this.showPercent && hAsync("div", { key: 'd9da8650c998c67f119818e10a891f55c3baa18e', class: "pds-progress__percentage" }, this.percent, "%")));
|
|
7027
9010
|
}
|
|
7028
9011
|
static get style() { return pdsProgressCss; }
|
|
7029
9012
|
static get cmpMeta() { return {
|
|
@@ -7043,9 +9026,39 @@ class PdsProgress {
|
|
|
7043
9026
|
}; }
|
|
7044
9027
|
}
|
|
7045
9028
|
|
|
9029
|
+
const pdsPropertyCss = ":host{color:var(--pine-color-text-message);font:var(--pine-typography-body-medium)}";
|
|
9030
|
+
|
|
9031
|
+
/**
|
|
9032
|
+
* @slot (default) - The property text content.
|
|
9033
|
+
*/
|
|
9034
|
+
class PdsProperty {
|
|
9035
|
+
constructor(hostRef) {
|
|
9036
|
+
registerInstance(this, hostRef);
|
|
9037
|
+
/**
|
|
9038
|
+
* The name of the icon to display before the property text.
|
|
9039
|
+
*/
|
|
9040
|
+
this.icon = 'star';
|
|
9041
|
+
}
|
|
9042
|
+
render() {
|
|
9043
|
+
return (hAsync(Host, { key: 'ff84eef7431dfe6081018528a76987dec7f1dfbc', id: this.componentId }, hAsync("pds-box", { key: 'c9b8218d49ff7ac0a94cb65b9bbbe2069d4651ba', "align-items": "center", gap: "xs" }, hAsync("pds-icon", { key: '06d09314acdda08f48267c4af63eb5393eadfca1', icon: this.icon, size: "var(--pine-dimension-sm)", "aria-hidden": "true" }), hAsync("slot", { key: 'ca3654f3ee0791f5dcce5d0cff0c78e3aa22150b' }))));
|
|
9044
|
+
}
|
|
9045
|
+
static get style() { return pdsPropertyCss; }
|
|
9046
|
+
static get cmpMeta() { return {
|
|
9047
|
+
"$flags$": 9,
|
|
9048
|
+
"$tagName$": "pds-property",
|
|
9049
|
+
"$members$": {
|
|
9050
|
+
"componentId": [1, "component-id"],
|
|
9051
|
+
"icon": [1]
|
|
9052
|
+
},
|
|
9053
|
+
"$listeners$": undefined,
|
|
9054
|
+
"$lazyBundleId$": "-",
|
|
9055
|
+
"$attrsToReflect$": []
|
|
9056
|
+
}; }
|
|
9057
|
+
}
|
|
9058
|
+
|
|
7046
9059
|
const labelCss$3 = ".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)}";
|
|
7047
9060
|
|
|
7048
|
-
const pdsRadioCss = ".sc-pds-radio-h{--sizing-check-size:6px;--sizing-input-size:var(--pine-dimension-sm);--sizing-margin-block-start:6px;-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex;-ms-flex-flow:row wrap;flex-flow:row wrap}.is-invalid.sc-pds-radio-h input.sc-pds-radio{border-color:var(--pine-color-border-danger)}.is-invalid.sc-pds-radio-h input.sc-pds-radio:checked{background:var(--pine-color-border-danger)}.is-invalid.sc-pds-radio-h input.sc-pds-radio:checked:hover{background:var(--pine-color-border-danger-hover);border-color:var(--pine-color-border-danger-hover)}.is-invalid.sc-pds-radio-h input.sc-pds-radio:focus-visible{outline-color:var(--pine-color-focus-ring-danger)}.is-invalid.sc-pds-radio-h label.sc-pds-radio,.is-invalid.sc-pds-radio-h .pds-radio__message--error.sc-pds-radio{color:var(--pine-color-text-message-danger)}input.sc-pds-radio{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--pine-color-background-container);border:var(--pine-border);border-radius:var(--pine-border-radius-full);-ms-flex:none;flex:none;height:var(--sizing-input-size);margin:0;-webkit-margin-before:var(--pine-dimension-025);margin-block-start:var(--pine-dimension-025);position:relative;width:var(--sizing-input-size)}input.sc-pds-radio:hover{background:var(--pine-color-background-container-hover);border:var(--pine-border-hover)}input.sc-pds-radio:checked{background:var(--pine-color-accent);border-color:var(--pine-color-accent)}input.sc-pds-radio:checked:hover{background:var(--pine-color-accent-hover);border-color:var(--pine-color-accent-hover)}input.sc-pds-radio:checked::after{background:var(--pine-color-background-container);border-radius:var(--pine-border-radius-full);content:\"\";display:block;height:var(--sizing-check-size);left:50%;position:absolute;top:50%;-webkit-transform:translate(-50%, -50%);transform:translate(-50%, -50%);width:var(--sizing-check-size)}input.sc-pds-radio:disabled{background:var(--pine-color-background-container-disabled);border-color:var(--pine-color-border-disabled);cursor:not-allowed}input.sc-pds-radio:disabled:checked{background-color:var(--pine-color-accent-disabled);border-color:var(--pine-color-border-disabled)}input.sc-pds-radio:disabled:checked::after{border-color:var(--pine-color-border-disabled)}input.sc-pds-radio:disabled+label.sc-pds-radio{cursor:not-allowed}input.sc-pds-radio:disabled~.pds-radio__message.sc-pds-radio{color:var(--pine-color-text-message-disabled)}input.sc-pds-radio:focus-visible{outline:var(--pine-outline-focus)}label.sc-pds-radio{display:-ms-flexbox;display:flex;gap:var(--pine-dimension-xs)}.visually-hidden.sc-pds-radio{border:0;clip:rect(0 0 0 0);-webkit-clip-path:polygon(0 0, 0 0, 0 0);clip-path:polygon(0 0, 0 0, 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.pds-radio__message.sc-pds-radio{color:var(--pine-color-text-message);-webkit-margin-before:var(--sizing-margin-block-start);margin-block-start:var(--sizing-margin-block-start);-webkit-margin-start:var(--pine-dimension-md);margin-inline-start:var(--pine-dimension-md);width:100%}.pds-radio__message--error.sc-pds-radio{display:-ms-flexbox;display:flex;font-size:var(--pine-font-size-body-sm);gap:var(--pine-dimension-2xs)}.pds-radio__message--error.sc-pds-radio pds-icon.sc-pds-radio{-webkit-margin-before:var(--pine-dimension-025);margin-block-start:var(--pine-dimension-025)}";
|
|
9061
|
+
const pdsRadioCss = ".sc-pds-radio-h{--sizing-check-size:6px;--sizing-input-size:var(--pine-dimension-sm);--sizing-margin-block-start:6px;-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex;-ms-flex-flow:row wrap;flex-flow:row wrap}.is-invalid.sc-pds-radio-h input.sc-pds-radio{border-color:var(--pine-color-border-danger)}.is-invalid.sc-pds-radio-h input.sc-pds-radio:checked{background:var(--pine-color-border-danger)}.is-invalid.sc-pds-radio-h input.sc-pds-radio:checked:hover{background:var(--pine-color-border-danger-hover);border-color:var(--pine-color-border-danger-hover)}.is-invalid.sc-pds-radio-h input.sc-pds-radio:focus-visible{outline-color:var(--pine-color-focus-ring-danger)}.is-invalid.sc-pds-radio-h label.sc-pds-radio,.is-invalid.sc-pds-radio-h .pds-radio__message--error.sc-pds-radio{color:var(--pine-color-text-message-danger)}input.sc-pds-radio{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--pine-color-background-container);border:var(--pine-border);border-radius:var(--pine-border-radius-full);-ms-flex:none;flex:none;height:var(--sizing-input-size);margin:0;-webkit-margin-before:var(--pine-dimension-025);margin-block-start:var(--pine-dimension-025);position:relative;width:var(--sizing-input-size)}input.sc-pds-radio:hover{background:var(--pine-color-background-container-hover);border:var(--pine-border-hover)}input.sc-pds-radio:checked{background:var(--pine-color-accent);border-color:var(--pine-color-accent)}input.sc-pds-radio:checked:hover{background:var(--pine-color-accent-hover);border-color:var(--pine-color-accent-hover)}input.sc-pds-radio:checked::after{background:var(--pine-color-background-container);border-radius:var(--pine-border-radius-full);content:\"\";display:block;height:var(--sizing-check-size);left:50%;position:absolute;top:50%;-webkit-transform:translate(-50%, -50%);transform:translate(-50%, -50%);width:var(--sizing-check-size)}input.sc-pds-radio:disabled{background:var(--pine-color-background-container-disabled);border-color:var(--pine-color-border-disabled);cursor:not-allowed}input.sc-pds-radio:disabled:checked{background-color:var(--pine-color-accent-disabled);border-color:var(--pine-color-border-disabled)}input.sc-pds-radio:disabled:checked::after{border-color:var(--pine-color-border-disabled)}input.sc-pds-radio:disabled+label.sc-pds-radio{cursor:not-allowed}input.sc-pds-radio:disabled~.pds-radio__message.sc-pds-radio{color:var(--pine-color-text-message-disabled)}input.sc-pds-radio:focus-visible{outline:var(--pine-outline-focus)}label.sc-pds-radio{display:-ms-flexbox;display:flex;gap:var(--pine-dimension-xs)}.visually-hidden.sc-pds-radio{border:0;clip:rect(0 0 0 0);-webkit-clip-path:polygon(0 0, 0 0, 0 0);clip-path:polygon(0 0, 0 0, 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.pds-radio__message.sc-pds-radio{color:var(--pine-color-text-message);font:var(--pine-typography-body-sm-medium);-webkit-margin-before:var(--sizing-margin-block-start);margin-block-start:var(--sizing-margin-block-start);-webkit-margin-start:var(--pine-dimension-md);margin-inline-start:var(--pine-dimension-md);width:100%}.pds-radio__message--error.sc-pds-radio{display:-ms-flexbox;display:flex;font-size:var(--pine-font-size-body-sm);gap:var(--pine-dimension-2xs)}.pds-radio__message--error.sc-pds-radio pds-icon.sc-pds-radio{-webkit-margin-before:var(--pine-dimension-025);margin-block-start:var(--pine-dimension-025)}";
|
|
7049
9062
|
|
|
7050
9063
|
class PdsRadio {
|
|
7051
9064
|
constructor(hostRef) {
|
|
@@ -7091,9 +9104,9 @@ class PdsRadio {
|
|
|
7091
9104
|
return classNames.join(' ');
|
|
7092
9105
|
}
|
|
7093
9106
|
render() {
|
|
7094
|
-
return (hAsync(Host, { key: '
|
|
7095
|
-
hAsync("div", { key: '
|
|
7096
|
-
hAsync("div", { key: '
|
|
9107
|
+
return (hAsync(Host, { key: '5e8a4bd868172cda64aa2ad4697c7c41f0bdf633', class: this.classNames() }, hAsync("label", { key: 'f18a8a06cf3f9be68ab6b110fe67a8af7c1e8595', htmlFor: this.componentId }, hAsync("input", { key: '7a3ef56682ebe1facedf1eb52445f85e5e7de9d1', "aria-describedby": assignDescription(this.componentId, this.invalid, this.helperMessage), "aria-invalid": this.invalid ? "true" : undefined, type: "radio", id: this.componentId, name: this.name, value: this.value, checked: this.checked, required: this.required, disabled: this.disabled, onChange: this.handleRadioChange }), hAsync("span", { key: 'bd0c351062e30ac4f68252497affdcde4730ef3d', class: this.hideLabel ? 'visually-hidden' : '' }, this.label)), this.helperMessage &&
|
|
9108
|
+
hAsync("div", { key: '3b180595a4c088df1f121937c11f7518a802b22f', class: 'pds-radio__message', id: messageId(this.componentId, 'helper') }, this.helperMessage), this.errorMessage &&
|
|
9109
|
+
hAsync("div", { key: 'e931d2de83247c74bac1568f479ee99abd1f20a0', class: `pds-radio__message pds-radio__message--error`, id: messageId(this.componentId, 'error'), "aria-live": "assertive" }, hAsync("pds-icon", { key: '7dab998a2992e3738b5b3cd14ca7031ff6db6dbb', icon: danger, size: "small" }), this.errorMessage)));
|
|
7097
9110
|
}
|
|
7098
9111
|
static get style() { return labelCss$3 + pdsRadioCss; }
|
|
7099
9112
|
static get cmpMeta() { return {
|
|
@@ -7155,7 +9168,7 @@ class PdsRow {
|
|
|
7155
9168
|
})), (this.minHeight && {
|
|
7156
9169
|
'min-height': this.minHeight,
|
|
7157
9170
|
}));
|
|
7158
|
-
return hAsync(Host, { key: '
|
|
9171
|
+
return hAsync(Host, { key: 'b16cc4fa554894bccdb3dadbe07c531145dc2416', class: `pds-row ${rowClasses}`, style: rowInlineStyles });
|
|
7159
9172
|
}
|
|
7160
9173
|
static get style() { return pdsRowCss; }
|
|
7161
9174
|
static get cmpMeta() { return {
|
|
@@ -7180,8 +9193,11 @@ const pdsSelectTokensCss = ":host{--pine-select-color-background-danger:var(--pi
|
|
|
7180
9193
|
|
|
7181
9194
|
const labelCss$2 = ":host{display:inline-block}:host([aria-disabled=true]) label{color:var(--pine-color-text-label-disabled)}:host([aria-readonly=true]) label{color:var(--pine-color-text-label-readonly)}label{color:var(--pine-color-text-label);font:var(--pine-typography-body-medium);letter-spacing:var(--pine-letter-spacing)}";
|
|
7182
9195
|
|
|
7183
|
-
const pdsSelectCss = ":host{--pds-select-background:var(--pine-color-background-container);--pds-select-border:var(--pine-border);--pds-select-border-radius:var(--pine-dimension-125);--pds-select-border-radius-start-end:var(--pine-dimension-125);--pds-select-border-radius-start-start:var(--pine-dimension-125);--pds-select-border-radius-end-end:var(--pine-dimension-125);--pds-select-border-radius-end-start:var(--pine-dimension-125);--pds-select-min-height:36px;--box-shadow-focus:0 0 0 1px #ffffff, 0 0 0 3px var(--pine-color-focus-ring);--box-shadow-focus-error:0 0 0 1px #ffffff, 0 0 0 3px var(--pine-color-focus-ring-danger)}:host .hidden,:host :host([hidden]){display:none}.pds-select{display:grid;-ms-flex-direction:column;flex-direction:column;grid-template-areas:\"label label\" \"field field\" \"message message\";grid-template-columns:1fr minmax(2rem, -webkit-min-content);grid-template-columns:1fr minmax(2rem, min-content);grid-template-rows:-webkit-min-content -webkit-min-content -webkit-min-content;grid-template-rows:min-content min-content min-content;position:relative;width:100%}
|
|
9196
|
+
const pdsSelectCss = ":host{--pds-select-background:var(--pine-color-background-container);--pds-select-border:var(--pine-border);--pds-select-border-radius:var(--pine-dimension-125);--pds-select-border-radius-start-end:var(--pine-dimension-125);--pds-select-border-radius-start-start:var(--pine-dimension-125);--pds-select-border-radius-end-end:var(--pine-dimension-125);--pds-select-border-radius-end-start:var(--pine-dimension-125);--pds-select-min-height:36px;--box-shadow-focus:0 0 0 1px #ffffff, 0 0 0 3px var(--pine-color-focus-ring);--box-shadow-focus-error:0 0 0 1px #ffffff, 0 0 0 3px var(--pine-color-focus-ring-danger)}:host .hidden,:host :host([hidden]){display:none}.pds-select{display:grid;-ms-flex-direction:column;flex-direction:column;grid-template-areas:\"label label\" \"field field\" \"message message\";grid-template-columns:1fr minmax(2rem, -webkit-min-content);grid-template-columns:1fr minmax(2rem, min-content);grid-template-rows:-webkit-min-content -webkit-min-content -webkit-min-content;grid-template-rows:min-content min-content min-content;position:relative;width:100%}.pds-select__label-wrapper{-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex;grid-area:label;-ms-flex-pack:justify;justify-content:space-between;-webkit-margin-after:var(--pine-dimension-2xs);margin-block-end:var(--pine-dimension-2xs)}.pds-select__action{-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex;gap:var(--pine-dimension-xs);-webkit-margin-start:var(--pine-dimension-xs);margin-inline-start:var(--pine-dimension-xs)}label{-webkit-margin-after:var(--pine-dimension-2xs);margin-block-end:var(--pine-dimension-2xs)}.pds-select__label-wrapper label{-webkit-margin-after:0;margin-block-end:0}select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--pds-select-background);border:var(--pds-select-border);border-radius:var(--pds-select-border-radius);border-bottom-left-radius:var(--pds-select-border-radius-end-start, var(--pds-select-border-radius));border-bottom-right-radius:var(--pds-select-border-radius-end-end, var(--pds-select-border-radius));border-top-left-radius:var(--pds-select-border-radius-start-start, var(--pds-select-border-radius));border-top-right-radius:var(--pds-select-border-radius-start-end, var(--pds-select-border-radius));font:var(--pine-typography-body);grid-area:field;letter-spacing:var(--pine-letter-spacing);min-height:var(--pds-select-min-height);padding:calc(var(--pine-dimension-xs) - var(--pine-border-width)) var(--pine-dimension-150);-webkit-padding-end:var(--pine-dimension-450);padding-inline-end:var(--pine-dimension-450);position:relative}select:hover{border-color:var(--pine-color-border-hover);cursor:pointer}select:focus-visible{border-color:var(--pine-color-border-active);outline:var(--pine-outline-focus);outline-offset:var(--pine-border-width)}select:disabled{background-color:var(--pine-color-background-container-disabled);border-color:var(--pine-color-border-disabled);color:var(--pine-color-text-disabled);cursor:not-allowed}select:has(~.pds-select__message .pds-select__error-message){background-color:var(--pine-select-color-background-danger);border-color:var(--pine-color-border-danger)}select:has(~.pds-select__message .pds-select__error-message):focus-visible{outline-color:var(--pine-color-focus-ring-danger)}:host(.is-invalid) select{background-color:var(--pine-select-color-background-danger);border-color:var(--pine-color-border-danger)}:host(.is-invalid) select:focus-visible{outline-color:var(--pine-color-focus-ring-danger)}.pds-select__error-message,.pds-select__helper-message{color:var(--pine-color-text-message);font:var(--pine-typography-body-sm-medium);-webkit-margin-after:0;margin-block-end:0;-webkit-margin-before:var(--pine-dimension-2xs);margin-block-start:var(--pine-dimension-2xs)}.pds-select__error-message{-ms-flex-align:center;align-items:center;color:var(--pine-color-text-message-danger);display:-ms-flexbox;display:flex;gap:var(--pine-dimension-2xs)}.pds-select__message{grid-area:message}.pds-select__select-icon{-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex;grid-column:-1/-2;grid-row:2/3;height:var(--pds-select-min-height);pointer-events:none;position:relative;z-index:1}.visually-hidden{border:0;clip:rect(0 0 0 0);-webkit-clip-path:polygon(0 0, 0 0, 0 0);clip-path:polygon(0 0, 0 0, 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}";
|
|
7184
9197
|
|
|
9198
|
+
/**
|
|
9199
|
+
* @slot action - Content to be displayed in the label area, typically for help icons or links
|
|
9200
|
+
*/
|
|
7185
9201
|
class PdsSelect {
|
|
7186
9202
|
constructor(hostRef) {
|
|
7187
9203
|
registerInstance(this, hostRef);
|
|
@@ -7246,10 +9262,21 @@ class PdsSelect {
|
|
|
7246
9262
|
*/
|
|
7247
9263
|
valueChanged() {
|
|
7248
9264
|
this.updateSelectedOption();
|
|
9265
|
+
this.updateFormValue();
|
|
9266
|
+
}
|
|
9267
|
+
connectedCallback() {
|
|
9268
|
+
// Initialize ElementInternals for form association
|
|
9269
|
+
if (this.el.attachInternals) {
|
|
9270
|
+
this.internals = this.el.attachInternals();
|
|
9271
|
+
}
|
|
7249
9272
|
}
|
|
7250
9273
|
componentWillLoad() {
|
|
7251
9274
|
this.updateSelectedOption();
|
|
7252
9275
|
}
|
|
9276
|
+
componentDidLoad() {
|
|
9277
|
+
// Set initial form value
|
|
9278
|
+
this.updateFormValue();
|
|
9279
|
+
}
|
|
7253
9280
|
/**
|
|
7254
9281
|
* Updates the selected option in the select element based on the current value.
|
|
7255
9282
|
*
|
|
@@ -7295,15 +9322,87 @@ class PdsSelect {
|
|
|
7295
9322
|
}
|
|
7296
9323
|
return classNames.join(' ');
|
|
7297
9324
|
}
|
|
9325
|
+
renderAction() {
|
|
9326
|
+
const hasAction = this.el.querySelector('[slot="action"]') !== null;
|
|
9327
|
+
if (hasAction) {
|
|
9328
|
+
return (hAsync("div", { class: "pds-select__action", part: "action" }, hAsync("slot", { name: "action" })));
|
|
9329
|
+
}
|
|
9330
|
+
return null;
|
|
9331
|
+
}
|
|
9332
|
+
/**
|
|
9333
|
+
* Updates the form value using ElementInternals API
|
|
9334
|
+
*/
|
|
9335
|
+
updateFormValue() {
|
|
9336
|
+
if (this.internals && this.internals.setFormValue) {
|
|
9337
|
+
const value = this.value;
|
|
9338
|
+
// Handle multi-select arrays by converting to FormData or comma-separated string
|
|
9339
|
+
if (Array.isArray(value)) {
|
|
9340
|
+
if (value.length > 1) {
|
|
9341
|
+
// For multiple values, create FormData with multiple entries
|
|
9342
|
+
const formData = new FormData();
|
|
9343
|
+
value.forEach(val => formData.append(this.name || '', val));
|
|
9344
|
+
this.internals.setFormValue(formData);
|
|
9345
|
+
}
|
|
9346
|
+
else {
|
|
9347
|
+
// Single value in array, use the string value
|
|
9348
|
+
this.internals.setFormValue(value[0] || null);
|
|
9349
|
+
}
|
|
9350
|
+
}
|
|
9351
|
+
else {
|
|
9352
|
+
// Single string value
|
|
9353
|
+
this.internals.setFormValue(value || null);
|
|
9354
|
+
}
|
|
9355
|
+
// Set validity based on native select validation
|
|
9356
|
+
if (this.selectEl && this.internals && this.internals.setValidity) {
|
|
9357
|
+
this.internals.setValidity(this.selectEl.validity, this.selectEl.validationMessage, this.selectEl);
|
|
9358
|
+
}
|
|
9359
|
+
}
|
|
9360
|
+
}
|
|
9361
|
+
/**
|
|
9362
|
+
* Form Associated Custom Elements API: Called when the form is reset
|
|
9363
|
+
*/
|
|
9364
|
+
formResetCallback() {
|
|
9365
|
+
this.value = '';
|
|
9366
|
+
this.updateFormValue();
|
|
9367
|
+
}
|
|
9368
|
+
/**
|
|
9369
|
+
* Form Associated Custom Elements API: Called when the form is disabled
|
|
9370
|
+
*/
|
|
9371
|
+
formDisabledCallback(disabled) {
|
|
9372
|
+
this.disabled = disabled;
|
|
9373
|
+
}
|
|
9374
|
+
/**
|
|
9375
|
+
* Form Associated Custom Elements API: Called to restore form state
|
|
9376
|
+
*/
|
|
9377
|
+
formStateRestoreCallback(state) {
|
|
9378
|
+
if (typeof state === 'string') {
|
|
9379
|
+
this.value = state;
|
|
9380
|
+
}
|
|
9381
|
+
else if (state instanceof FormData && this.name) {
|
|
9382
|
+
// Extract value(s) from FormData using the select's name
|
|
9383
|
+
const values = state.getAll(this.name);
|
|
9384
|
+
if (values.length > 1) {
|
|
9385
|
+
// Multi-select: convert to string array
|
|
9386
|
+
this.value = values.filter(v => typeof v === 'string');
|
|
9387
|
+
}
|
|
9388
|
+
else if (values.length === 1 && typeof values[0] === 'string') {
|
|
9389
|
+
// Single select: use string value
|
|
9390
|
+
this.value = values[0];
|
|
9391
|
+
}
|
|
9392
|
+
}
|
|
9393
|
+
}
|
|
7298
9394
|
render() {
|
|
7299
|
-
|
|
9395
|
+
const hasAction = this.el.querySelector('[slot="action"]') !== null;
|
|
9396
|
+
return (hAsync(Host, { key: 'fea78ba16795a1eae88028f4ff13caeab17ad74f', "aria-disabled": this.disabled ? 'true' : null, class: this.classNames(), "has-action": hasAction && !this.hideLabel ? 'true' : null }, hAsync("div", { key: '532a1537af1cdc9928cdb42f33530d8141941f56', class: "pds-select" }, !this.hideLabel && (hAsync("div", { key: '6284c433266ba8991a7d32e16927147287fcf009', class: "pds-select__label-wrapper" }, hAsync("label", { key: '66979f8fc19801a7a8494dd254e32bca72a23e17', htmlFor: this.componentId }, hAsync("span", { key: '8aa8805e24b9fb085377510513f68a308e2bc78b', class: this.hideLabel ? 'visually-hidden' : '' }, this.label)), hasAction && this.renderAction())), hAsync("select", { key: 'c007dc0a49f1607745664a0527a67ad4721316c5', "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, onChange: this.onSelectUpdate, part: "select", required: this.required, ref: (el) => (this.selectEl = el) }), hAsync("div", { key: 'a96e7e5ef5ef4a20654956d27c4e58eb0aaad1ea', "aria-hidden": "true", class: "hidden", ref: (el) => (this.slotContainer = el) }, hAsync("slot", { key: '1910bf5bfdea7356f435e74dfe2427669b64d3d8', onSlotchange: this.handleSlotChange })), this.renderMessages(), !this.multiple && hAsync("pds-icon", { key: 'e9fa98965996e1a873360fa999149d5e0ab821ee', class: "pds-select__select-icon", icon: enlarge }))));
|
|
7300
9397
|
}
|
|
9398
|
+
static get formAssociated() { return true; }
|
|
9399
|
+
get el() { return getElement(this); }
|
|
7301
9400
|
static get watchers() { return {
|
|
7302
9401
|
"value": ["valueChanged"]
|
|
7303
9402
|
}; }
|
|
7304
9403
|
static get style() { return pdsSelectTokensCss + (labelCss$2 + pdsSelectCss); }
|
|
7305
9404
|
static get cmpMeta() { return {
|
|
7306
|
-
"$flags$":
|
|
9405
|
+
"$flags$": 73,
|
|
7307
9406
|
"$tagName$": "pds-select",
|
|
7308
9407
|
"$members$": {
|
|
7309
9408
|
"autocomplete": [1],
|
|
@@ -10036,7 +12135,7 @@ class PdsSortable {
|
|
|
10036
12135
|
Sortable.create(this.el, sortableOptions);
|
|
10037
12136
|
}
|
|
10038
12137
|
render() {
|
|
10039
|
-
return (hAsync(Host, { key: '
|
|
12138
|
+
return (hAsync(Host, { key: '1477131e596ce7320a0fd99164b330c3131ed148', class: this.classNames(), id: this.componentId }, hAsync("slot", { key: 'e5045a1937528b4cd269866dc5ec0f28361259d9' })));
|
|
10040
12139
|
}
|
|
10041
12140
|
get el() { return getElement(this); }
|
|
10042
12141
|
static get style() { return pdsSortableCss; }
|
|
@@ -10083,7 +12182,7 @@ class PdsSortableItem {
|
|
|
10083
12182
|
}
|
|
10084
12183
|
}
|
|
10085
12184
|
render() {
|
|
10086
|
-
return (hAsync(Host, { key: '
|
|
12185
|
+
return (hAsync(Host, { key: '221592dd0eec456c0baf58243f529ca463cbf135', class: "pds-sortable-item", id: this.componentId }, this.showHandle && (hAsync("div", { key: 'dbaff57b9faa68f8e72473b082108757b2283373', class: "pds-sortable-item__handle" }, hAsync("pds-icon", { key: '6d42dbe93a13bb6be2f76cccae9aa502d9940de5', icon: handle }))), hAsync("slot", { key: 'c4ae6785c184f6916ff4cc9b551e6cc07f4d0440' }), this.enableActions && (hAsync("div", { key: '4e2d581ae71cb669a06c0ec89c2f8e3e7a74cc65', class: "pds-sortable-item__actions" }, hAsync("slot", { key: '3ac9ddee2738b70fa2d4eec7fafa276d71125219', name: "sortable-item-actions" })))));
|
|
10087
12186
|
}
|
|
10088
12187
|
get el() { return getElement(this); }
|
|
10089
12188
|
static get style() { return pdsSortableItemCss; }
|
|
@@ -10148,9 +12247,9 @@ class PdsSwitch {
|
|
|
10148
12247
|
this.inheritedAttributes = Object.assign({}, inheritAriaAttributes(this.el));
|
|
10149
12248
|
}
|
|
10150
12249
|
render() {
|
|
10151
|
-
return (hAsync(Host, { key: '
|
|
10152
|
-
hAsync("div", { key: '
|
|
10153
|
-
hAsync("div", { key: '
|
|
12250
|
+
return (hAsync(Host, { key: '128ed012fe386dea88e6da282084589b22453588', class: this.switchClassNames(), "aria-disabled": this.disabled ? 'true' : null }, hAsync("label", { key: '3407eeffca9a0f0c047e5d7c761526b488aafb62', htmlFor: this.componentId }, hAsync("input", Object.assign({ key: '3f16f928b2b96aa212923ba09ee80a3559b8103c', "aria-describedby": assignDescription(this.componentId, this.invalid, this.errorMessage || this.helperMessage), "aria-invalid": this.invalid ? "true" : undefined, checked: this.checked, class: "pds-switch__input", disabled: this.disabled, id: this.componentId, name: this.name ? this.name : this.componentId, onChange: this.onSwitchUpdate, required: this.required, type: "checkbox", value: this.value }, this.inheritedAttributes)), hAsync("span", { key: '09c43ffbabce6a2fe133875ca15e0910d34064fa', class: this.hideLabel ? 'visually-hidden' : '' }, this.label)), this.helperMessage &&
|
|
12251
|
+
hAsync("div", { key: '90c9df8b2efef83cf238d540076bad04bf9aa2eb', class: `pds-switch__message`, id: messageId(this.componentId, 'helper') }, this.helperMessage), this.errorMessage &&
|
|
12252
|
+
hAsync("div", { key: 'e812446a907dc0ad822b0c5974fca5913117f051', class: `pds-switch__message pds-switch__message--error`, id: messageId(this.componentId, 'error'), "aria-live": "assertive" }, hAsync("pds-icon", { key: 'e1c93c8ac145e54a205f8bfecf465ba8e484313b', icon: danger, size: "small" }), this.errorMessage)));
|
|
10154
12253
|
}
|
|
10155
12254
|
get el() { return getElement(this); }
|
|
10156
12255
|
static get style() { return labelCss$1 + pdsSwitchCss; }
|
|
@@ -10192,9 +12291,9 @@ class PdsTab {
|
|
|
10192
12291
|
this.pdsTabClick.emit([index, parentComponentId]);
|
|
10193
12292
|
}
|
|
10194
12293
|
render() {
|
|
10195
|
-
const availabilityTabEdgeInlineStart = (hAsync("span", { key: '
|
|
10196
|
-
const availabilityTabEdgeInlineEnd = (hAsync("span", { key: '
|
|
10197
|
-
return (hAsync(Host, { key: '
|
|
12294
|
+
const availabilityTabEdgeInlineStart = (hAsync("span", { key: '4f66f8149bd22a451ddc9e2849dfb06110d9bad9', class: "pds-tab-edge", role: "presentation" }));
|
|
12295
|
+
const availabilityTabEdgeInlineEnd = (hAsync("span", { key: '2a8e8c25af220803c4b75d29f31d6381475a12dd', class: "pds-tab-edge pds-tab-edge--end", role: "presentation" }));
|
|
12296
|
+
return (hAsync(Host, { key: '62b2ccf5e478fc50b41bd837979311c535c78412', variant: this.variant, slot: "tabs", index: this.index }, hAsync("button", { key: 'e1b179b308791299b6d57441ea50f79da7bd8f21', role: "tab", id: this.parentComponentId + "__" + this.name, "aria-controls": this.parentComponentId + "__" + this.name + "-panel", tabindex: this.selected ? "0" : "-1", "aria-selected": this.selected ? "true" : "false", class: this.selected ? "pds-tab is-active" : "pds-tab", onClick: this.onTabClick.bind(this, this.index, this.parentComponentId) }, this.variant === "availability" && availabilityTabEdgeInlineStart, this.variant === "availability" && availabilityTabEdgeInlineEnd, hAsync("div", { key: 'fcf7b2db11eaa6e8f0c97b96f925540678a3c864', class: "pds-tab__content" }, hAsync("slot", { key: '2ee6ea6d01dc62bd177e9b8473602b9d5b2549b3' })))));
|
|
10198
12297
|
}
|
|
10199
12298
|
get el() { return getElement(this); }
|
|
10200
12299
|
static get style() { return pdsTabCss; }
|
|
@@ -10303,7 +12402,7 @@ class PdsTable {
|
|
|
10303
12402
|
headerCheckbox.indeterminate = !allSelectedRows && !noneSelectedRows;
|
|
10304
12403
|
}
|
|
10305
12404
|
render() {
|
|
10306
|
-
return (hAsync(Host, { key: '
|
|
12405
|
+
return (hAsync(Host, { key: '994a8ae5aae1ddcc7dd0271187dd65718bc1401f', class: this.classNames(), id: this.componentId, role: "grid", selectable: this.selectable, tabindex: "0" }, hAsync("slot", { key: 'e07c97a88d1bf1b2efb92f2cdf0159fc93ca9f9a' })));
|
|
10307
12406
|
}
|
|
10308
12407
|
get el() { return getElement(this); }
|
|
10309
12408
|
static get style() { return pdsTableCss; }
|
|
@@ -10332,7 +12431,7 @@ class PdsTableBody {
|
|
|
10332
12431
|
registerInstance(this, hostRef);
|
|
10333
12432
|
}
|
|
10334
12433
|
render() {
|
|
10335
|
-
return (hAsync(Host, { key: '
|
|
12434
|
+
return (hAsync(Host, { key: 'fc9edecfd03417cb9f6c4386b5fb4fd3a015138d', role: "rowgroup" }, hAsync("slot", { key: 'c79c6c1009b0afb456551d2e989491567fe73f43' })));
|
|
10336
12435
|
}
|
|
10337
12436
|
static get style() { return pdsTableBodyCss; }
|
|
10338
12437
|
static get cmpMeta() { return {
|
|
@@ -10386,11 +12485,11 @@ class PdsTableCell {
|
|
|
10386
12485
|
return classNames.join(' ');
|
|
10387
12486
|
}
|
|
10388
12487
|
render() {
|
|
10389
|
-
return (hAsync(Host, { key: '
|
|
12488
|
+
return (hAsync(Host, { key: '289640cb5d2d78067b4a32a26e2eb9200cdbde1a', class: this.classNames(), role: "gridcell", style: this.tableRef &&
|
|
10390
12489
|
this.tableRef.fixedColumn &&
|
|
10391
12490
|
this.tableRef.selectable
|
|
10392
12491
|
? { '--fixed-cell-position': '40px' }
|
|
10393
|
-
: {} }, hAsync("slot", { key: '
|
|
12492
|
+
: {} }, hAsync("slot", { key: 'e961e93f1d6cbc3bd6b9aa476632741dfc603bfc' })));
|
|
10394
12493
|
}
|
|
10395
12494
|
get hostElement() { return getElement(this); }
|
|
10396
12495
|
static get style() { return pdsTableCellCss; }
|
|
@@ -10451,7 +12550,7 @@ class PdsTableHead {
|
|
|
10451
12550
|
}
|
|
10452
12551
|
}
|
|
10453
12552
|
render() {
|
|
10454
|
-
return (hAsync(Host, { key: '
|
|
12553
|
+
return (hAsync(Host, { key: '3f315b70b0c57570cbb81415a5590760242e6904', role: "row" }, this.tableRef && this.tableRef.selectable && (hAsync("pds-table-head-cell", { key: '09dc3a0630448be1112650ae34d6c09e0bf2539b', part: this.tableRef.selectable ? 'checkbox-cell' : '' }, hAsync("pds-checkbox", { key: '518ec4ad92e8b0b11fbff1c064a6811e13b442e0', componentId: this.generateUniqueId(), indeterminate: this.indeterminate, onInput: this.handleInput, label: "Select All Rows", hideLabel: true, checked: this.isSelected }))), hAsync("slot", { key: '527db0d141790c0d673cb81d4cca2266495b117e' })));
|
|
10455
12554
|
}
|
|
10456
12555
|
get hostElement() { return getElement(this); }
|
|
10457
12556
|
static get style() { return pdsTableHeadCss; }
|
|
@@ -10533,11 +12632,11 @@ class PdsTableHeadCell {
|
|
|
10533
12632
|
return classNames.join(' ');
|
|
10534
12633
|
}
|
|
10535
12634
|
render() {
|
|
10536
|
-
return (hAsync(Host, { key: '
|
|
12635
|
+
return (hAsync(Host, { key: 'bf2f29d2214ba308be7c8cca6b2afb66fdccc2fa', class: this.classNames(), role: "columnheader", onClick: this.toggleSort, style: this.tableRef &&
|
|
10537
12636
|
this.tableRef.fixedColumn &&
|
|
10538
12637
|
this.tableRef.selectable
|
|
10539
12638
|
? { '--fixed-cell-position': '40px' }
|
|
10540
|
-
: {} }, hAsync("slot", { key: '
|
|
12639
|
+
: {} }, hAsync("slot", { key: '14a6849059768b901ec5be69cff37f56ce07c15b' }), this.sortable && (hAsync("pds-icon", { key: '29e0068115ec20dba39e4a798f11d0b0a0c6fef7', icon: this.sortingDirection === 'asc' ? upSmall : downSmall }))));
|
|
10541
12640
|
}
|
|
10542
12641
|
get hostElement() { return getElement(this); }
|
|
10543
12642
|
static get style() { return pdsTableHeadCellCss; }
|
|
@@ -10603,7 +12702,7 @@ class PdsTableRow {
|
|
|
10603
12702
|
}
|
|
10604
12703
|
}
|
|
10605
12704
|
render() {
|
|
10606
|
-
return (hAsync(Host, { key: '
|
|
12705
|
+
return (hAsync(Host, { key: '3c2be878370bd35f97a3fc4cc1136a6fdb096a24', class: this.classNames(), role: "row" }, this.tableRef && this.tableRef.selectable && (hAsync("pds-table-cell", { key: '40541b11040d4c243d82779cf84e212f73541368', part: this.tableRef.fixedColumn ? 'checkbox-cell' : '', class: this.tableRef.selectable ? 'has-checkbox' : '' }, hAsync("pds-checkbox", { key: 'd20e734a91562340f3808297c2bb6f5f257d7a46', componentId: this.generateUniqueId(), onClick: this.handleClick, indeterminate: this.indeterminate, label: "Select Row", hideLabel: true, checked: this.isSelected }))), hAsync("slot", { key: '148434aa3dace85b0d48aa2a0ead93cda6850d2a' })));
|
|
10607
12706
|
}
|
|
10608
12707
|
get hostElement() { return getElement(this); }
|
|
10609
12708
|
static get style() { return pdsTableRowCss; }
|
|
@@ -10632,7 +12731,7 @@ class PdsTabpanel {
|
|
|
10632
12731
|
this.selected = false; // eslint-disable-line @stencil-community/strict-mutable
|
|
10633
12732
|
}
|
|
10634
12733
|
render() {
|
|
10635
|
-
return (hAsync(Host, { key: '
|
|
12734
|
+
return (hAsync(Host, { key: '0465e33b28555596cc4a891a63a99c49153f577d', slot: "tabpanels" }, hAsync("div", { key: '8c2404f0aaee7dd7219552b51332d4194aa535ae', role: "tabpanel", id: this.parentComponentId + "__" + this.name + '-panel', tabindex: "0", "aria-labelledby": this.parentComponentId + "__" + this.name, class: this.selected ? "pds-tabpanel is-active" : "pds-tabpanel" }, hAsync("slot", { key: 'f7f9dc2a755aa726b8e46d8641087a8fdb1a9e5e' }))));
|
|
10636
12735
|
}
|
|
10637
12736
|
get el() { return getElement(this); }
|
|
10638
12737
|
static get style() { return pdsTabpanelCss; }
|
|
@@ -10733,7 +12832,7 @@ class PdsTabs {
|
|
|
10733
12832
|
this.passPropsToChildren();
|
|
10734
12833
|
}
|
|
10735
12834
|
render() {
|
|
10736
|
-
return (hAsync(Host, { key: '
|
|
12835
|
+
return (hAsync(Host, { key: '3b06654b1d2298a9cfa3fc42996ad72e80942ee4', "active-tab-name": this.activeTabName, class: this.classNames(), id: this.componentId }, hAsync("div", { key: '529e1aa48f7fea4754dbe8a3d8f655eb297e1a9a', class: "pds-tabs__tablist", role: "tablist", "aria-label": this.tablistLabel }, hAsync("slot", { key: 'cca3b75eec2a519e87878b39d8ca52a6c033dc4d', name: "tabs" })), hAsync("slot", { key: 'caf5abcc85eee1e45e197a7ec792a873cdfb104b', name: "tabpanels" })));
|
|
10737
12836
|
}
|
|
10738
12837
|
get el() { return getElement(this); }
|
|
10739
12838
|
static get style() { return pdsTabsCss; }
|
|
@@ -10755,6 +12854,9 @@ class PdsTabs {
|
|
|
10755
12854
|
|
|
10756
12855
|
const pdsTextCss = ":host{display:inline}:host([decoration=underline-dotted])>*{-webkit-text-decoration-color:var(--pine-color-grey-600);text-decoration-color:var(--pine-color-grey-600);-webkit-text-decoration-line:underline;text-decoration-line:underline;-webkit-text-decoration-style:dotted;text-decoration-style:dotted;text-decoration-thickness:12%;text-underline-offset:0.3rem;text-underline-position:under}:host([decoration=strikethrough])>*{text-decoration:line-through}h1{font:var(--pine-typography-heading-1);letter-spacing:var(--pine-letter-spacing-heading-1)}h2{font:var(--pine-typography-heading-2);letter-spacing:var(--pine-letter-spacing-heading-2)}h3{font:var(--pine-typography-heading-3);letter-spacing:var(--pine-letter-spacing-heading-3)}h4{font:var(--pine-typography-heading-4);letter-spacing:var(--pine-letter-spacing-heading-4)}h5{font:var(--pine-typography-heading-5);letter-spacing:var(--pine-letter-spacing-heading-5)}h6{font:var(--pine-typography-heading-6);letter-spacing:var(--pine-letter-spacing-heading-6)}code,em,p,pre,strong{font:var(--pine-typography-body);letter-spacing:var(--pine-letter-spacing)}code,pre{font-family:monospace;letter-spacing:0;line-height:1}em{font-style:normal}strong{font-weight:bolder}:host([truncate])>*{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:host([italic])>*{font-style:italic}.pds-text{color:var(--color, var(--pine-color-text));margin:var(--pine-dimension-none)}.pds-text--size-2xl{font-size:var(--pine-font-size-body-2xl)}.pds-text--size-xl{font-size:var(--pine-font-size-body-xl)}.pds-text--size-lg{font-size:var(--pine-font-size-body-lg)}.pds-text--size-md{font-size:var(--pine-font-size-body-md)}.pds-text--size-sm{font-size:var(--pine-font-size-body-sm)}.pds-text--size-xs{font-size:var(--pine-font-size-body-xs)}.pds-text--size-2xs{font-size:var(--pine-font-size-body-2xs)}.pds-text--size-h1{font-size:var(--pine-font-size-heading-1)}.pds-text--size-h2{font-size:var(--pine-font-size-heading-2)}.pds-text--size-h3{font-size:var(--pine-font-size-heading-3)}.pds-text--size-h4{font-size:var(--pine-font-size-heading-4)}.pds-text--size-h5{font-size:var(--pine-font-size-heading-5)}.pds-text--size-h6{font-size:var(--pine-font-size-heading-6)}.pds-text--weight-extra-light{font-weight:var(--pine-font-weight-extra-light)}.pds-text--weight-light{font-weight:var(--pine-font-weight-light)}.pds-text--weight-regular{font-weight:var(--pine-font-weight-regular)}.pds-text--weight-medium{font-weight:var(--pine-font-weight-medium)}.pds-text--weight-semibold{font-weight:var(--pine-font-weight-semi-bold)}.pds-text--weight-bold{font-weight:var(--pine-font-weight-bold)}.pds-text--gutter-2xl{-webkit-margin-after:var(--pine-dimension-2xl);margin-block-end:var(--pine-dimension-2xl)}.pds-text--gutter-xl{-webkit-margin-after:var(--pine-dimension-xl);margin-block-end:var(--pine-dimension-xl)}.pds-text--gutter-lg{-webkit-margin-after:var(--pine-dimension-lg);margin-block-end:var(--pine-dimension-lg)}.pds-text--gutter-md{-webkit-margin-after:var(--pine-dimension-md);margin-block-end:var(--pine-dimension-md)}.pds-text--gutter-sm{-webkit-margin-after:var(--pine-dimension-sm);margin-block-end:var(--pine-dimension-sm)}.pds-text--gutter-xs{-webkit-margin-after:var(--pine-dimension-xs);margin-block-end:var(--pine-dimension-xs)}.pds-text--gutter-2xs{-webkit-margin-after:var(--pine-dimension-2xs);margin-block-end:var(--pine-dimension-2xs)}.pds-text--align-start{text-align:start}.pds-text--align-center{text-align:center}.pds-text--align-end{text-align:end}.pds-text--align-justify{text-align:justify}";
|
|
10757
12856
|
|
|
12857
|
+
/**
|
|
12858
|
+
* @part content - The text content container
|
|
12859
|
+
*/
|
|
10758
12860
|
class PdsText {
|
|
10759
12861
|
constructor(hostRef) {
|
|
10760
12862
|
registerInstance(this, hostRef);
|
|
@@ -10773,7 +12875,7 @@ class PdsText {
|
|
|
10773
12875
|
${this.weight !== undefined && this.weight.trim() !== '' ? `pds-text--weight-${this.weight}` : ''}
|
|
10774
12876
|
${this.decoration !== undefined && this.decoration.trim() !== '' ? `pds-text--decoration-${this.decoration}` : ''}
|
|
10775
12877
|
`;
|
|
10776
|
-
return (hAsync(Tag, { key: '
|
|
12878
|
+
return (hAsync(Tag, { key: '2b8a2f2aaafd342a7df51029213c82224774fd5f', style: this.color && setColor(this.color), class: typeClasses, part: "content" }, hAsync("slot", { key: '8dd80aaec576c1e1ab152529f94732d6074c5542' })));
|
|
10777
12879
|
}
|
|
10778
12880
|
get el() { return getElement(this); }
|
|
10779
12881
|
static get style() { return pdsTextCss; }
|
|
@@ -10801,8 +12903,11 @@ const labelCss = ":host{display:inline-block}:host([aria-disabled=true]) label{c
|
|
|
10801
12903
|
|
|
10802
12904
|
const pdsInputTokensCss = ":host{--pine-input-color-background-danger:var(--pine-color-red-050)}";
|
|
10803
12905
|
|
|
10804
|
-
const pdsTextareaCss = ":host{display:inline}:host([aria-readonly=true]) textarea{background-color:var(--pine-color-background-container-disabled);color:var(--pine-color-text-readonly)}.pds-textarea{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}label{display:block;-webkit-margin-after:var(--pine-dimension-xs);margin-block-end:var(--pine-dimension-xs)}.pds-textarea__field{background-color:var(--pine-color-background-container);border:var(--pine-border);border-radius:calc(var(--pine-dimension-xs) * 1.25);font:var(--pine-typography-body);letter-spacing:var(--pine-letter-spacing);padding:var(--pine-dimension-xs) var(--pine-dimension-sm)}.pds-textarea__field:hover:not(:disabled,.is-invalid){border:var(--pine-border-hover)}.pds-textarea__field:disabled{background-color:var(--pine-color-background-container-disabled);color:var(--pine-color-text-disabled);cursor:not-allowed}.pds-textarea__field:focus-visible{outline:var(--pine-outline-focus);outline-offset:var(--pine-border-width)}.pds-textarea__field::-webkit-input-placeholder{color:var(--pine-color-text-placeholder)}.pds-textarea__field::-moz-placeholder{color:var(--pine-color-text-placeholder)}.pds-textarea__field:-ms-input-placeholder{color:var(--pine-color-text-placeholder)}.pds-textarea__field::-ms-input-placeholder{color:var(--pine-color-text-placeholder)}.pds-textarea__field::placeholder{color:var(--pine-color-text-placeholder)}.pds-textarea__field.is-invalid{background-color:var(--pine-input-color-background-danger);border-color:var(--pine-color-border-danger)}.pds-textarea__field.is-invalid:focus-visible{outline-color:var(--pine-color-focus-ring-danger)}.pds-textarea__error-message,.pds-textarea__helper-message{font:var(--pine-typography-body-sm-medium);-webkit-margin-before:var(--pine-dimension-xs);margin-block-start:var(--pine-dimension-xs)}.pds-textarea__error-message{-ms-flex-align:center;align-items:center;color:var(--pine-color-text-message-danger);display:-ms-flexbox;display:flex;gap:var(--pine-dimension-2xs)}";
|
|
12906
|
+
const pdsTextareaCss = ":host{display:inline}:host([aria-readonly=true]) textarea{background-color:var(--pine-color-background-container-disabled);color:var(--pine-color-text-readonly)}.pds-textarea{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}.pds-textarea__label-wrapper{-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between}.pds-textarea__action{-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex;gap:var(--pine-dimension-xs);-webkit-margin-start:var(--pine-dimension-xs);margin-inline-start:var(--pine-dimension-xs)}label{display:block;-webkit-margin-after:var(--pine-dimension-xs);margin-block-end:var(--pine-dimension-xs)}.pds-textarea__label-wrapper label{-webkit-margin-after:0;margin-block-end:0}.pds-textarea__field{background-color:var(--pine-color-background-container);border:var(--pine-border);border-radius:calc(var(--pine-dimension-xs) * 1.25);font:var(--pine-typography-body);letter-spacing:var(--pine-letter-spacing);padding:var(--pine-dimension-xs) var(--pine-dimension-sm)}.pds-textarea__field:hover:not(:disabled,.is-invalid){border:var(--pine-border-hover)}.pds-textarea__field:disabled{background-color:var(--pine-color-background-container-disabled);color:var(--pine-color-text-disabled);cursor:not-allowed}.pds-textarea__field:focus-visible{outline:var(--pine-outline-focus);outline-offset:var(--pine-border-width)}.pds-textarea__field::-webkit-input-placeholder{color:var(--pine-color-text-placeholder)}.pds-textarea__field::-moz-placeholder{color:var(--pine-color-text-placeholder)}.pds-textarea__field:-ms-input-placeholder{color:var(--pine-color-text-placeholder)}.pds-textarea__field::-ms-input-placeholder{color:var(--pine-color-text-placeholder)}.pds-textarea__field::placeholder{color:var(--pine-color-text-placeholder)}.pds-textarea__field.is-invalid{background-color:var(--pine-input-color-background-danger);border-color:var(--pine-color-border-danger)}.pds-textarea__field.is-invalid:focus-visible{outline-color:var(--pine-color-focus-ring-danger)}.pds-textarea__error-message,.pds-textarea__helper-message{color:var(--pine-color-text-message);font:var(--pine-typography-body-sm-medium);-webkit-margin-before:var(--pine-dimension-xs);margin-block-start:var(--pine-dimension-xs)}.pds-textarea__error-message{-ms-flex-align:center;align-items:center;color:var(--pine-color-text-message-danger);display:-ms-flexbox;display:flex;gap:var(--pine-dimension-2xs)}";
|
|
10805
12907
|
|
|
12908
|
+
/**
|
|
12909
|
+
* @slot action - Content to be displayed in the label area, typically for help icons or links
|
|
12910
|
+
*/
|
|
10806
12911
|
class PdsTextarea {
|
|
10807
12912
|
constructor(hostRef) {
|
|
10808
12913
|
registerInstance(this, hostRef);
|
|
@@ -10840,6 +12945,10 @@ class PdsTextarea {
|
|
|
10840
12945
|
*/
|
|
10841
12946
|
this.value = '';
|
|
10842
12947
|
this.hasFocus = false;
|
|
12948
|
+
/**
|
|
12949
|
+
* If true, the textarea has action content in the label area
|
|
12950
|
+
*/
|
|
12951
|
+
this.hasAction = false;
|
|
10843
12952
|
this.onBlur = (ev) => {
|
|
10844
12953
|
this.hasFocus = false;
|
|
10845
12954
|
if (this.focusedValue !== this.value) {
|
|
@@ -10885,6 +12994,8 @@ class PdsTextarea {
|
|
|
10885
12994
|
if (nativeTextarea && nativeTextarea.value !== value) {
|
|
10886
12995
|
nativeTextarea.value = value;
|
|
10887
12996
|
}
|
|
12997
|
+
// Update form value for Form Associated Custom Elements API
|
|
12998
|
+
this.updateFormValue();
|
|
10888
12999
|
}
|
|
10889
13000
|
/**
|
|
10890
13001
|
* Emits an `pdsInput` event.
|
|
@@ -10917,20 +13028,76 @@ class PdsTextarea {
|
|
|
10917
13028
|
}
|
|
10918
13029
|
connectedCallback() {
|
|
10919
13030
|
this.debounceChanged();
|
|
13031
|
+
// Initialize ElementInternals for form association
|
|
13032
|
+
if (this.el.attachInternals) {
|
|
13033
|
+
this.internals = this.el.attachInternals();
|
|
13034
|
+
}
|
|
10920
13035
|
}
|
|
10921
13036
|
componentWillLoad() {
|
|
10922
13037
|
this.inheritedAttributes = Object.assign(Object.assign({}, inheritAriaAttributes(this.el)), inheritAttributes$1(this.el));
|
|
13038
|
+
this.hasAction = this.el.querySelector('[slot="action"]') !== null;
|
|
10923
13039
|
}
|
|
10924
13040
|
componentDidLoad() {
|
|
10925
13041
|
this.originalPdsInput = this.pdsInput;
|
|
13042
|
+
// Set initial form value
|
|
13043
|
+
this.updateFormValue();
|
|
13044
|
+
}
|
|
13045
|
+
renderAction() {
|
|
13046
|
+
const hasAction = this.el.querySelector('[slot="action"]') !== null;
|
|
13047
|
+
if (hasAction) {
|
|
13048
|
+
return (hAsync("div", { class: "pds-textarea__action", part: "action" }, hAsync("slot", { name: "action" })));
|
|
13049
|
+
}
|
|
13050
|
+
return null;
|
|
13051
|
+
}
|
|
13052
|
+
/**
|
|
13053
|
+
* Updates the form value using ElementInternals API
|
|
13054
|
+
*/
|
|
13055
|
+
updateFormValue() {
|
|
13056
|
+
if (this.internals && this.internals.setFormValue) {
|
|
13057
|
+
const value = this.getValue();
|
|
13058
|
+
this.internals.setFormValue(value || null);
|
|
13059
|
+
// Set validity based on native textarea validation
|
|
13060
|
+
if (this.nativeTextarea && this.internals && this.internals.setValidity) {
|
|
13061
|
+
this.internals.setValidity(this.nativeTextarea.validity, this.nativeTextarea.validationMessage, this.nativeTextarea);
|
|
13062
|
+
}
|
|
13063
|
+
}
|
|
13064
|
+
}
|
|
13065
|
+
/**
|
|
13066
|
+
* Form Associated Custom Elements API: Called when the form is reset
|
|
13067
|
+
*/
|
|
13068
|
+
formResetCallback() {
|
|
13069
|
+
this.value = '';
|
|
13070
|
+
this.updateFormValue();
|
|
13071
|
+
}
|
|
13072
|
+
/**
|
|
13073
|
+
* Form Associated Custom Elements API: Called when the form is disabled
|
|
13074
|
+
*/
|
|
13075
|
+
formDisabledCallback(disabled) {
|
|
13076
|
+
this.disabled = disabled;
|
|
13077
|
+
}
|
|
13078
|
+
/**
|
|
13079
|
+
* Form Associated Custom Elements API: Called to restore form state
|
|
13080
|
+
*/
|
|
13081
|
+
formStateRestoreCallback(state) {
|
|
13082
|
+
if (typeof state === 'string') {
|
|
13083
|
+
this.value = state;
|
|
13084
|
+
}
|
|
13085
|
+
else if (state instanceof FormData && this.name) {
|
|
13086
|
+
// Extract value from FormData using the textarea's name
|
|
13087
|
+
const value = state.get(this.name);
|
|
13088
|
+
if (typeof value === 'string') {
|
|
13089
|
+
this.value = value;
|
|
13090
|
+
}
|
|
13091
|
+
}
|
|
10926
13092
|
}
|
|
10927
13093
|
render() {
|
|
10928
13094
|
const value = this.getValue();
|
|
10929
|
-
return (hAsync(Host, { key: '
|
|
10930
|
-
hAsync("label", { key: '
|
|
10931
|
-
hAsync("p", { key: '
|
|
10932
|
-
hAsync("p", { key: '
|
|
13095
|
+
return (hAsync(Host, { key: 'c16e4a612ae46f9ab893294f513e1564e941ddec', "aria-disabled": this.disabled ? 'true' : null, "aria-readonly": this.readonly ? 'true' : null, "has-action": this.hasAction ? 'true' : null }, hAsync("div", { key: 'd5acca80be2960ac20a3602c3e887e8d714062d7', class: "pds-textarea" }, this.label &&
|
|
13096
|
+
hAsync("div", { key: '49f3c081172f3d81f38e7ad49e4461b9d31772e7', class: "pds-textarea__label-wrapper" }, hAsync("label", { key: '105f191fb2db52c63d165fbda0e78e507f327c49', htmlFor: this.componentId }, this.label), this.renderAction()), hAsync("textarea", Object.assign({ key: '5cbfbee17d058767f6d9d530dbee936ee8638f99', ref: (el) => this.nativeTextarea = el, "aria-describedby": assignDescription(this.componentId, this.invalid, this.helperMessage), "aria-invalid": this.invalid ? "true" : undefined, autocomplete: this.autocomplete, class: this.textareaClassNames(), disabled: this.disabled, id: this.componentId, name: this.name, placeholder: this.placeholder, readOnly: this.readonly, required: this.required, rows: this.rows, onBlur: this.onBlur, onChange: this.onTextareaChange, onFocus: this.onFocus, onInput: this.onInput }, this.inheritedAttributes), value), this.helperMessage &&
|
|
13097
|
+
hAsync("p", { key: '0cef5379519c3a1d26a86bb2142a58583d5619ad', class: "pds-textarea__helper-message", id: messageId(this.componentId, 'helper') }, this.helperMessage), this.invalid &&
|
|
13098
|
+
hAsync("p", { key: '30a5fc1c6469dfa755db9a9bbb7b858b082700ac', "aria-live": "assertive", class: "pds-textarea__error-message", id: messageId(this.componentId, 'error') }, hAsync("pds-icon", { key: '51a725db0e4e522a584b673df174c7c97c8fe8e3', icon: danger, size: "small" }), this.errorMessage))));
|
|
10933
13099
|
}
|
|
13100
|
+
static get formAssociated() { return true; }
|
|
10934
13101
|
get el() { return getElement(this); }
|
|
10935
13102
|
static get watchers() { return {
|
|
10936
13103
|
"debounce": ["debounceChanged"],
|
|
@@ -10938,7 +13105,7 @@ class PdsTextarea {
|
|
|
10938
13105
|
}; }
|
|
10939
13106
|
static get style() { return labelCss + (pdsInputTokensCss + pdsTextareaCss); }
|
|
10940
13107
|
static get cmpMeta() { return {
|
|
10941
|
-
"$flags$":
|
|
13108
|
+
"$flags$": 73,
|
|
10942
13109
|
"$tagName$": "pds-textarea",
|
|
10943
13110
|
"$members$": {
|
|
10944
13111
|
"autocomplete": [1],
|
|
@@ -10956,6 +13123,7 @@ class PdsTextarea {
|
|
|
10956
13123
|
"rows": [2],
|
|
10957
13124
|
"value": [1025],
|
|
10958
13125
|
"hasFocus": [32],
|
|
13126
|
+
"hasAction": [32],
|
|
10959
13127
|
"setFocus": [64]
|
|
10960
13128
|
},
|
|
10961
13129
|
"$listeners$": undefined,
|
|
@@ -11046,13 +13214,13 @@ class PdsToast {
|
|
|
11046
13214
|
return this.icon && hAsync("pds-icon", { name: this.icon, class: "pds-toast__icon" });
|
|
11047
13215
|
}
|
|
11048
13216
|
render() {
|
|
11049
|
-
return (hAsync(Host, { key: '
|
|
13217
|
+
return (hAsync(Host, { key: '3fb4b7b3600555959e9ed09f9dfd3a725d4a2de7', hidden: !this.isVisible }, hAsync("div", { key: '4f8d554fc30a5e4fb3c498b8fa5a2972a60eb0ab', class: {
|
|
11050
13218
|
'pds-toast': true,
|
|
11051
13219
|
[`pds-toast--${this.type}`]: this.type !== 'default',
|
|
11052
13220
|
'pds-toast--animating-out': this.isAnimatingOut
|
|
11053
|
-
}, role: "alert", "aria-live": "polite" }, this.renderIcon(), hAsync("span", { key: '
|
|
13221
|
+
}, role: "alert", "aria-live": "polite" }, this.renderIcon(), hAsync("span", { key: 'a70883e76524ce76e562f48d62df1a42fb65659c', class: "pds-toast__message" }, hAsync("slot", { key: '3e2fd182b97d1cd89c59ca109404d77e9f834806' })), this.dismissible && (hAsync("button", { key: '945b766572831b259f2ff36fdf628b254189d334', type: "button", class: "pds-toast__button", onClick: () => {
|
|
11054
13222
|
this.dismiss();
|
|
11055
|
-
}, "aria-label": "Dismiss message" }, hAsync("pds-icon", { key: '
|
|
13223
|
+
}, "aria-label": "Dismiss message" }, hAsync("pds-icon", { key: '9492720d544270179ae43bd3d1ecb4b1f6c0882b', name: "remove" }))))));
|
|
11056
13224
|
}
|
|
11057
13225
|
static get watchers() { return {
|
|
11058
13226
|
"duration": ["handleDurationChange"]
|
|
@@ -11460,7 +13628,7 @@ class PdsTooltip {
|
|
|
11460
13628
|
}
|
|
11461
13629
|
render() {
|
|
11462
13630
|
const hostId = this.componentId || undefined;
|
|
11463
|
-
return (hAsync(Host, { key: '
|
|
13631
|
+
return (hAsync(Host, { key: 'd0651080fc68d70a01d8c487d08a59f356f06e88', id: hostId, class: { 'pds-tooltip--is-open': this.opened } }, hAsync("span", { key: '9f8c246c63a80c0d30c73687faa133b213c6bb63', class: "pds-tooltip__trigger", onMouseEnter: this.handleShow, onMouseLeave: this.handleHide, onFocus: this.handleShow, onBlur: this.handleHide, ref: el => this.triggerEl = el }, hAsync("slot", { key: '2295b22ac9ec244f31410cd6a3764248100a1c48' })), hAsync("div", { key: '7c8a59703b7c6ff43b0aa9352a869d59bca9b2b1', class: "pds-tooltip__content-slot-wrapper", style: { display: 'none' } }, hAsync("slot", { key: '612dab7daf61394624177c45d47f542d551af52c', name: "content" }))));
|
|
11464
13632
|
}
|
|
11465
13633
|
get el() { return getElement(this); }
|
|
11466
13634
|
static get watchers() { return {
|
|
@@ -11499,6 +13667,7 @@ registerComponents([
|
|
|
11499
13667
|
PdsButton,
|
|
11500
13668
|
PdsCheckbox,
|
|
11501
13669
|
PdsChip,
|
|
13670
|
+
PdsCombobox,
|
|
11502
13671
|
PdsCopytext,
|
|
11503
13672
|
PdsDivider,
|
|
11504
13673
|
PdsDropdownMenu,
|
|
@@ -11515,6 +13684,7 @@ registerComponents([
|
|
|
11515
13684
|
PdsModalHeader,
|
|
11516
13685
|
PdsPopover,
|
|
11517
13686
|
PdsProgress,
|
|
13687
|
+
PdsProperty,
|
|
11518
13688
|
PdsRadio,
|
|
11519
13689
|
PdsRow,
|
|
11520
13690
|
PdsSelect,
|