@pine-ds/core 3.26.3 → 3.27.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/attributes.js +1 -85
- package/components/closest.js +1 -12
- package/components/floating-ui.dom.js +1 -1631
- package/components/form.js +1 -62
- package/components/index.d.ts +1 -0
- package/components/index.js +1 -54
- package/components/index2.js +1 -20
- package/components/mock-pds-modal.js +1 -119
- package/components/pds-accordion.js +1 -74
- package/components/pds-alert.js +1 -115
- package/components/pds-avatar.js +1 -141
- package/components/pds-box.js +1 -9
- package/components/pds-box2.js +1 -283
- package/components/pds-button.js +1 -9
- package/components/pds-button2.js +1 -250
- package/components/pds-checkbox.js +1 -9
- package/components/pds-checkbox2.js +1 -150
- package/components/pds-chip.js +1 -9
- package/components/pds-chip2.js +1 -167
- package/components/pds-combobox.js +2 -2958
- package/components/pds-container.js +1 -61
- package/components/pds-copytext.js +1 -154
- package/components/pds-divider.js +1 -58
- package/components/pds-dropdown-menu-item.js +1 -128
- package/components/pds-dropdown-menu-separator.js +1 -46
- package/components/pds-dropdown-menu.js +1 -349
- package/components/pds-filter.js +1 -524
- package/components/pds-filters.js +1 -40
- package/components/pds-icon.js +1 -9
- package/components/pds-icon2.js +1 -601
- package/components/pds-image.js +1 -61
- package/components/pds-input.js +1 -372
- package/components/pds-link.js +1 -9
- package/components/pds-link2.js +1 -93
- package/components/pds-loader.js +1 -9
- package/components/pds-loader2.js +1 -79
- package/components/pds-modal-content.js +1 -214
- package/components/pds-modal-footer.js +1 -37
- package/components/pds-modal-header.js +1 -37
- package/components/pds-modal.js +1 -291
- package/components/pds-multiselect.js +1 -1087
- package/components/pds-popover.js +1 -602
- package/components/pds-progress.js +1 -60
- package/components/pds-property.js +1 -57
- package/components/pds-radio-group.js +1 -211
- package/components/pds-radio.js +1 -138
- package/components/pds-row.js +1 -99
- package/components/pds-select.js +1 -291
- package/components/pds-sortable-item.js +1 -67
- package/components/pds-sortable.js +2 -2747
- package/components/pds-switch.js +1 -147
- package/components/pds-tab.js +1 -71
- package/components/pds-table-body.js +1 -38
- package/components/pds-table-cell.js +1 -9
- package/components/pds-table-cell2.js +1 -169
- package/components/pds-table-head-cell.js +1 -9
- package/components/pds-table-head-cell2.js +1 -254
- package/components/pds-table-head.js +1 -102
- package/components/pds-table-row.js +1 -197
- package/components/pds-table.js +1 -291
- package/components/pds-tabpanel.js +1 -48
- package/components/pds-tabs.js +1 -126
- package/components/pds-text.js +1 -9
- package/components/pds-text2.js +1 -110
- package/components/pds-textarea.js +1 -376
- package/components/pds-toast.js +1 -139
- package/components/pds-tooltip.js +1 -362
- package/components/scroll.js +1 -78
- package/components/truncation-tooltip.js +1 -247
- package/components/utils.js +1 -74
- package/dist/cjs/attributes-oNMnBEnP.js +0 -3
- package/dist/cjs/closest-BZXvuB_Y.js +0 -3
- package/dist/cjs/floating-ui.dom-BZk7Blsu.js +0 -3
- package/dist/cjs/form-CpM5Z8q7.js +0 -3
- package/dist/cjs/{index-BYnQkA7p.js → index-DBhfI2Jq.js} +568 -388
- package/dist/cjs/index-DGBoDsAL.js +0 -3
- package/dist/cjs/index.cjs.js +0 -1
- package/dist/cjs/loader.cjs.js +2 -3
- package/dist/cjs/mock-pds-modal.cjs.entry.js +3 -4
- package/dist/cjs/pds-accordion.cjs.entry.js +7 -6
- package/dist/cjs/pds-alert.cjs.entry.js +4 -5
- package/dist/cjs/pds-avatar.cjs.entry.js +3 -4
- package/dist/cjs/pds-box.cjs.entry.js +3 -4
- package/dist/cjs/pds-button.cjs.entry.js +3 -4
- package/dist/cjs/pds-checkbox.cjs.entry.js +9 -6
- package/dist/cjs/pds-chip.cjs.entry.js +4 -5
- package/dist/cjs/pds-combobox.cjs.entry.js +18 -9
- package/dist/cjs/pds-container.cjs.entry.js +3 -4
- package/dist/cjs/pds-copytext.cjs.entry.js +10 -7
- package/dist/cjs/pds-divider.cjs.entry.js +3 -4
- package/dist/cjs/pds-dropdown-menu-item.cjs.entry.js +3 -4
- package/dist/cjs/pds-dropdown-menu-separator.cjs.entry.js +3 -4
- package/dist/cjs/pds-dropdown-menu.cjs.entry.js +3 -4
- package/dist/cjs/pds-filter.cjs.entry.js +3 -4
- package/dist/cjs/pds-filters.cjs.entry.js +3 -4
- package/dist/cjs/pds-icon.cjs.entry.js +18 -9
- package/dist/cjs/pds-image.cjs.entry.js +3 -4
- package/dist/cjs/pds-input.cjs.entry.js +12 -9
- package/dist/cjs/pds-link.cjs.entry.js +5 -6
- package/dist/cjs/pds-loader.cjs.entry.js +3 -4
- package/dist/cjs/pds-modal-content.cjs.entry.js +3 -4
- package/dist/cjs/pds-modal-footer.cjs.entry.js +3 -4
- package/dist/cjs/pds-modal-header.cjs.entry.js +3 -4
- package/dist/cjs/pds-modal.cjs.entry.js +6 -5
- package/dist/cjs/pds-multiselect.cjs.entry.js +15 -8
- package/dist/cjs/pds-popover.cjs.entry.js +5 -6
- package/dist/cjs/pds-progress.cjs.entry.js +3 -4
- package/dist/cjs/pds-property.cjs.entry.js +3 -4
- package/dist/cjs/pds-radio-group.cjs.entry.js +15 -8
- package/dist/cjs/pds-radio.cjs.entry.js +4 -5
- package/dist/cjs/pds-row.cjs.entry.js +3 -4
- package/dist/cjs/pds-select.cjs.entry.js +13 -10
- package/dist/cjs/pds-sortable-item.cjs.entry.js +4 -5
- package/dist/cjs/pds-sortable.cjs.entry.js +6 -5
- package/dist/cjs/pds-switch.cjs.entry.js +7 -6
- package/dist/cjs/pds-tab.cjs.entry.js +3 -4
- package/dist/cjs/pds-table-body.cjs.entry.js +3 -4
- package/dist/cjs/pds-table-cell.cjs.entry.js +6 -5
- package/dist/cjs/pds-table-head-cell.cjs.entry.js +3 -4
- package/dist/cjs/pds-table-head.cjs.entry.js +3 -4
- package/dist/cjs/pds-table-row.cjs.entry.js +3 -4
- package/dist/cjs/pds-table.cjs.entry.js +3 -4
- package/dist/cjs/pds-tabpanel.cjs.entry.js +3 -4
- package/dist/cjs/pds-tabs.cjs.entry.js +3 -4
- package/dist/cjs/pds-text.cjs.entry.js +46 -6
- package/dist/cjs/pds-textarea.cjs.entry.js +14 -9
- package/dist/cjs/pds-toast.cjs.entry.js +47 -10
- package/dist/cjs/pds-tooltip.cjs.entry.js +6 -5
- package/dist/cjs/pine-core.cjs.js +3 -4
- package/dist/cjs/scroll-2XcoE_6Q.js +0 -3
- package/dist/cjs/truncation-tooltip-CVzAha5B.js +0 -3
- package/dist/cjs/utils-7jx8T2mW.js +0 -3
- package/dist/collection/collection-manifest.json +3 -2
- package/dist/collection/components/_internal/pds-label/pds-label.js +0 -1
- package/dist/collection/components/pds-accordion/pds-accordion.js +1 -2
- package/dist/collection/components/pds-alert/pds-alert.js +0 -1
- package/dist/collection/components/pds-avatar/pds-avatar.js +0 -1
- package/dist/collection/components/pds-box/pds-box.js +206 -134
- package/dist/collection/components/pds-button/pds-button.css +74 -74
- package/dist/collection/components/pds-button/pds-button.js +2 -2
- package/dist/collection/components/pds-checkbox/checkbox-interface.js +0 -1
- package/dist/collection/components/pds-checkbox/pds-checkbox.js +4 -3
- package/dist/collection/components/pds-chip/pds-chip.js +6 -4
- package/dist/collection/components/pds-combobox/combobox-interface.js +0 -1
- package/dist/collection/components/pds-combobox/pds-combobox.css +5 -2
- package/dist/collection/components/pds-combobox/pds-combobox.js +10 -6
- package/dist/collection/components/pds-container/pds-container.js +0 -1
- package/dist/collection/components/pds-copytext/pds-copytext.js +1 -2
- package/dist/collection/components/pds-divider/pds-divider.js +0 -1
- package/dist/collection/components/pds-dropdown-menu/pds-dropdown-menu-item/pds-dropdown-menu-item.js +0 -1
- package/dist/collection/components/pds-dropdown-menu/pds-dropdown-menu-separator/pds-dropdown-menu-separator.js +0 -1
- package/dist/collection/components/pds-dropdown-menu/pds-dropdown-menu.css +1 -1
- package/dist/collection/components/pds-dropdown-menu/pds-dropdown-menu.js +2 -2
- package/dist/collection/components/pds-filters/pds-filter/filter-interface.js +0 -1
- package/dist/collection/components/pds-filters/pds-filter/pds-filter.css +2 -2
- package/dist/collection/components/pds-filters/pds-filter/pds-filter.js +8 -5
- package/dist/collection/components/pds-filters/pds-filters.js +0 -1
- package/dist/collection/components/pds-image/pds-image.js +0 -1
- package/dist/collection/components/pds-input/input-interface.js +0 -1
- package/dist/collection/components/pds-input/pds-input.css +1 -1
- package/dist/collection/components/pds-input/pds-input.js +5 -4
- package/dist/collection/components/pds-link/pds-link.js +154 -3
- package/dist/collection/components/pds-loader/pds-loader.js +0 -1
- package/dist/collection/components/pds-modal/pds-modal-content/pds-modal-content.js +0 -1
- package/dist/collection/components/pds-modal/pds-modal-footer/pds-modal-footer.js +0 -1
- package/dist/collection/components/pds-modal/pds-modal-header/pds-modal-header.js +0 -1
- package/dist/collection/components/pds-modal/pds-modal.css +1 -1
- package/dist/collection/components/pds-modal/pds-modal.js +0 -1
- package/dist/collection/components/pds-modal/test/mock-pds-modal.js +0 -1
- package/dist/collection/components/pds-multiselect/multiselect-interface.js +0 -1
- package/dist/collection/components/pds-multiselect/pds-multiselect.css +3 -2
- package/dist/collection/components/pds-multiselect/pds-multiselect.js +12 -7
- package/dist/collection/components/pds-popover/pds-popover.js +8 -6
- package/dist/collection/components/pds-popover/popover-interface.js +0 -1
- package/dist/collection/components/pds-progress/pds-progress.js +0 -1
- package/dist/collection/components/pds-property/pds-property.js +0 -1
- package/dist/collection/components/pds-radio/pds-radio.css +1 -1
- package/dist/collection/components/pds-radio/pds-radio.js +0 -1
- package/dist/collection/components/pds-radio-group/pds-radio-group.js +2 -2
- package/dist/collection/components/pds-radio-group/radio-group-interface.js +0 -1
- package/dist/collection/components/pds-row/pds-row.js +9 -7
- package/dist/collection/components/pds-select/pds-select.js +2 -3
- package/dist/collection/components/pds-sortable/pds-sortable-item/pds-sortable-item.js +1 -2
- package/dist/collection/components/pds-sortable/pds-sortable.js +2 -2
- package/dist/collection/components/pds-sortable/sortable-interface.js +0 -1
- package/dist/collection/components/pds-switch/pds-switch.js +0 -1
- package/dist/collection/components/pds-table/pds-table-body/pds-table-body.js +0 -1
- package/dist/collection/components/pds-table/pds-table-cell/pds-table-cell.js +0 -1
- package/dist/collection/components/pds-table/pds-table-head/pds-table-head.js +0 -1
- package/dist/collection/components/pds-table/pds-table-head-cell/pds-table-head-cell.js +0 -1
- package/dist/collection/components/pds-table/pds-table-row/pds-table-row.js +0 -1
- package/dist/collection/components/pds-table/pds-table.css +1 -0
- package/dist/collection/components/pds-table/pds-table.js +0 -1
- package/dist/collection/components/pds-tabs/pds-tab/pds-tab.js +0 -1
- package/dist/collection/components/pds-tabs/pds-tabpanel/pds-tabpanel.js +0 -1
- package/dist/collection/components/pds-tabs/pds-tabs.js +0 -1
- package/dist/collection/components/pds-text/pds-text.js +31 -4
- package/dist/collection/components/pds-textarea/pds-textarea.js +4 -3
- package/dist/collection/components/pds-textarea/textarea-interface.js +0 -1
- package/dist/collection/components/pds-toast/pds-toast.css +2 -2
- package/dist/collection/components/pds-toast/pds-toast.js +41 -6
- package/dist/collection/components/pds-tooltip/pds-tooltip.js +2 -2
- package/dist/collection/global/pine-ui-global.js +0 -1
- package/dist/collection/index.js +0 -1
- package/dist/collection/utils/attributes.js +0 -1
- package/dist/collection/utils/closest.js +0 -1
- package/dist/collection/utils/form.js +0 -1
- package/dist/collection/utils/interfaces.js +0 -1
- package/dist/collection/utils/overlay.js +0 -1
- package/dist/collection/utils/scroll.js +0 -1
- package/dist/collection/utils/test/axe.js +9 -4
- package/dist/collection/utils/truncation-tooltip.js +0 -1
- package/dist/collection/utils/types.js +18 -2
- package/dist/collection/utils/utils.js +0 -1
- package/dist/docs.d.ts +37 -0
- package/dist/docs.json +2335 -1965
- package/dist/esm/attributes-C0M1gTKv.js +0 -3
- package/dist/esm/closest-DnUJodVd.js +0 -3
- package/dist/esm/floating-ui.dom-DDtwbwIl.js +0 -3
- package/dist/esm/form-C3xDZBme.js +0 -3
- package/dist/esm/{index-QYCDCKN2.js → index-CaRgVPt7.js} +568 -388
- package/dist/esm/index-D4ys0pep.js +0 -3
- package/dist/esm/index.js +0 -1
- package/dist/esm/loader.js +3 -4
- package/dist/esm/mock-pds-modal.entry.js +3 -4
- package/dist/esm/pds-accordion.entry.js +7 -6
- package/dist/esm/pds-alert.entry.js +4 -5
- package/dist/esm/pds-avatar.entry.js +3 -4
- package/dist/esm/pds-box.entry.js +3 -4
- package/dist/esm/pds-button.entry.js +3 -4
- package/dist/esm/pds-checkbox.entry.js +9 -6
- package/dist/esm/pds-chip.entry.js +4 -5
- package/dist/esm/pds-combobox.entry.js +18 -9
- package/dist/esm/pds-container.entry.js +3 -4
- package/dist/esm/pds-copytext.entry.js +10 -7
- package/dist/esm/pds-divider.entry.js +3 -4
- package/dist/esm/pds-dropdown-menu-item.entry.js +3 -4
- package/dist/esm/pds-dropdown-menu-separator.entry.js +3 -4
- package/dist/esm/pds-dropdown-menu.entry.js +3 -4
- package/dist/esm/pds-filter.entry.js +3 -4
- package/dist/esm/pds-filters.entry.js +3 -4
- package/dist/esm/pds-icon.entry.js +18 -9
- package/dist/esm/pds-image.entry.js +3 -4
- package/dist/esm/pds-input.entry.js +12 -9
- package/dist/esm/pds-link.entry.js +5 -6
- package/dist/esm/pds-loader.entry.js +3 -4
- package/dist/esm/pds-modal-content.entry.js +3 -4
- package/dist/esm/pds-modal-footer.entry.js +3 -4
- package/dist/esm/pds-modal-header.entry.js +3 -4
- package/dist/esm/pds-modal.entry.js +6 -5
- package/dist/esm/pds-multiselect.entry.js +15 -8
- package/dist/esm/pds-popover.entry.js +5 -6
- package/dist/esm/pds-progress.entry.js +3 -4
- package/dist/esm/pds-property.entry.js +3 -4
- package/dist/esm/pds-radio-group.entry.js +15 -8
- package/dist/esm/pds-radio.entry.js +4 -5
- package/dist/esm/pds-row.entry.js +3 -4
- package/dist/esm/pds-select.entry.js +13 -10
- package/dist/esm/pds-sortable-item.entry.js +4 -5
- package/dist/esm/pds-sortable.entry.js +6 -5
- package/dist/esm/pds-switch.entry.js +7 -6
- package/dist/esm/pds-tab.entry.js +3 -4
- package/dist/esm/pds-table-body.entry.js +3 -4
- package/dist/esm/pds-table-cell.entry.js +6 -5
- package/dist/esm/pds-table-head-cell.entry.js +3 -4
- package/dist/esm/pds-table-head.entry.js +3 -4
- package/dist/esm/pds-table-row.entry.js +3 -4
- package/dist/esm/pds-table.entry.js +3 -4
- package/dist/esm/pds-tabpanel.entry.js +3 -4
- package/dist/esm/pds-tabs.entry.js +3 -4
- package/dist/esm/pds-text.entry.js +46 -6
- package/dist/esm/pds-textarea.entry.js +14 -9
- package/dist/esm/pds-toast.entry.js +47 -10
- package/dist/esm/pds-tooltip.entry.js +6 -5
- package/dist/esm/pine-core.js +4 -5
- package/dist/esm/scroll-DtgUQhjl.js +0 -3
- package/dist/esm/truncation-tooltip-Blk4GigP.js +0 -3
- package/dist/esm/utils-tJa4KYNO.js +0 -3
- package/dist/esm-es5/attributes-C0M1gTKv.js +1 -2
- package/dist/esm-es5/closest-DnUJodVd.js +1 -2
- package/dist/esm-es5/floating-ui.dom-DDtwbwIl.js +1 -2
- package/dist/esm-es5/form-C3xDZBme.js +1 -2
- package/dist/esm-es5/index-CaRgVPt7.js +2 -0
- package/dist/esm-es5/index-D4ys0pep.js +1 -2
- package/dist/esm-es5/index.js +0 -2
- package/dist/esm-es5/loader.js +1 -2
- package/dist/esm-es5/mock-pds-modal.entry.js +1 -2
- package/dist/esm-es5/pds-accordion.entry.js +1 -2
- package/dist/esm-es5/pds-alert.entry.js +1 -2
- package/dist/esm-es5/pds-avatar.entry.js +1 -2
- package/dist/esm-es5/pds-box.entry.js +1 -2
- package/dist/esm-es5/pds-button.entry.js +1 -2
- package/dist/esm-es5/pds-checkbox.entry.js +1 -2
- package/dist/esm-es5/pds-chip.entry.js +1 -2
- package/dist/esm-es5/pds-combobox.entry.js +2 -3
- package/dist/esm-es5/pds-container.entry.js +1 -2
- package/dist/esm-es5/pds-copytext.entry.js +1 -2
- package/dist/esm-es5/pds-divider.entry.js +1 -2
- package/dist/esm-es5/pds-dropdown-menu-item.entry.js +1 -2
- package/dist/esm-es5/pds-dropdown-menu-separator.entry.js +1 -2
- package/dist/esm-es5/pds-dropdown-menu.entry.js +1 -2
- package/dist/esm-es5/pds-filter.entry.js +1 -2
- package/dist/esm-es5/pds-filters.entry.js +1 -2
- package/dist/esm-es5/pds-icon.entry.js +1 -2
- package/dist/esm-es5/pds-image.entry.js +1 -2
- package/dist/esm-es5/pds-input.entry.js +1 -2
- package/dist/esm-es5/pds-link.entry.js +1 -2
- package/dist/esm-es5/pds-loader.entry.js +1 -2
- package/dist/esm-es5/pds-modal-content.entry.js +1 -2
- package/dist/esm-es5/pds-modal-footer.entry.js +1 -2
- package/dist/esm-es5/pds-modal-header.entry.js +1 -2
- package/dist/esm-es5/pds-modal.entry.js +1 -2
- package/dist/esm-es5/pds-multiselect.entry.js +1 -2
- package/dist/esm-es5/pds-popover.entry.js +1 -2
- package/dist/esm-es5/pds-progress.entry.js +1 -2
- package/dist/esm-es5/pds-property.entry.js +1 -2
- package/dist/esm-es5/pds-radio-group.entry.js +1 -2
- package/dist/esm-es5/pds-radio.entry.js +1 -2
- package/dist/esm-es5/pds-row.entry.js +1 -2
- package/dist/esm-es5/pds-select.entry.js +1 -2
- package/dist/esm-es5/pds-sortable-item.entry.js +1 -2
- package/dist/esm-es5/pds-sortable.entry.js +2 -3
- package/dist/esm-es5/pds-switch.entry.js +1 -2
- package/dist/esm-es5/pds-tab.entry.js +1 -2
- package/dist/esm-es5/pds-table-body.entry.js +1 -2
- package/dist/esm-es5/pds-table-cell.entry.js +1 -2
- package/dist/esm-es5/pds-table-head-cell.entry.js +1 -2
- package/dist/esm-es5/pds-table-head.entry.js +1 -2
- package/dist/esm-es5/pds-table-row.entry.js +1 -2
- package/dist/esm-es5/pds-table.entry.js +1 -2
- package/dist/esm-es5/pds-tabpanel.entry.js +1 -2
- package/dist/esm-es5/pds-tabs.entry.js +1 -2
- package/dist/esm-es5/pds-text.entry.js +1 -2
- package/dist/esm-es5/pds-textarea.entry.js +1 -2
- package/dist/esm-es5/pds-toast.entry.js +1 -2
- package/dist/esm-es5/pds-tooltip.entry.js +1 -2
- package/dist/esm-es5/pine-core.js +1 -2
- package/dist/esm-es5/scroll-DtgUQhjl.js +1 -2
- package/dist/esm-es5/truncation-tooltip-Blk4GigP.js +1 -2
- package/dist/esm-es5/utils-tJa4KYNO.js +1 -2
- package/dist/pine-core/index.esm.js +0 -2
- package/dist/pine-core/p-002c420f.system.entry.js +1 -0
- package/dist/pine-core/p-003f91b1.system.entry.js +1 -0
- package/dist/pine-core/p-006398c3.system.entry.js +1 -0
- package/dist/pine-core/p-01dba061.entry.js +1 -0
- package/dist/pine-core/p-0451fdf7.entry.js +1 -0
- package/dist/pine-core/p-04f8b32a.entry.js +1 -0
- package/dist/pine-core/p-0bf56f61.entry.js +1 -0
- package/dist/pine-core/p-13ec2343.entry.js +1 -0
- package/dist/pine-core/p-190ba1df.entry.js +1 -0
- package/dist/pine-core/p-1e1804ed.system.entry.js +1 -0
- package/dist/pine-core/p-1e3beca4.system.entry.js +1 -0
- package/dist/pine-core/p-20f39b93.system.entry.js +1 -0
- package/dist/pine-core/p-22bfa998.entry.js +1 -0
- package/dist/pine-core/p-27ac77c3.entry.js +1 -0
- package/dist/pine-core/p-2b0cb8c4.system.entry.js +1 -0
- package/dist/pine-core/p-334b7c30.entry.js +1 -0
- package/dist/pine-core/p-3876b9be.entry.js +1 -0
- package/dist/pine-core/p-3a1b7302.system.entry.js +1 -0
- package/dist/pine-core/p-3ad9bcef.system.entry.js +1 -0
- package/dist/pine-core/p-3ba36512.system.entry.js +1 -0
- package/dist/pine-core/p-3f19666c.entry.js +1 -0
- package/dist/pine-core/p-3fa80c5a.system.entry.js +1 -0
- package/dist/pine-core/p-44388b8f.system.entry.js +1 -0
- package/dist/pine-core/p-44f58d33.system.entry.js +1 -0
- package/dist/pine-core/p-46de2438.entry.js +1 -0
- package/dist/pine-core/p-4abec102.system.entry.js +3 -0
- package/dist/pine-core/p-4e49712d.entry.js +1 -0
- package/dist/pine-core/p-52e9ec4f.entry.js +1 -0
- package/dist/pine-core/p-52f7115b.entry.js +1 -0
- package/dist/pine-core/p-5584a56b.entry.js +1 -0
- package/dist/pine-core/p-568bb210.system.entry.js +1 -0
- package/dist/pine-core/p-571d6bef.system.entry.js +1 -0
- package/dist/pine-core/p-587a15ee.system.entry.js +1 -0
- package/dist/pine-core/p-59a5dd77.system.entry.js +1 -0
- package/dist/pine-core/p-59c60e5b.entry.js +1 -0
- package/dist/pine-core/p-5a2df1e2.entry.js +1 -0
- package/dist/pine-core/p-5c6c2f79.system.entry.js +1 -0
- package/dist/pine-core/p-618ba6d5.system.entry.js +1 -0
- package/dist/pine-core/p-638e9cb3.entry.js +1 -0
- package/dist/pine-core/p-63e0d4a5.system.entry.js +1 -0
- package/dist/pine-core/p-65fb166c.system.entry.js +1 -0
- package/dist/pine-core/p-68121613.system.entry.js +1 -0
- package/dist/pine-core/p-6a2373d0.system.entry.js +1 -0
- package/dist/pine-core/p-6c5aacad.entry.js +1 -0
- package/dist/pine-core/p-71ca8845.system.entry.js +1 -0
- package/dist/pine-core/p-7247fb4f.entry.js +2 -0
- package/dist/pine-core/p-73b81009.entry.js +1 -0
- package/dist/pine-core/p-73dd2a2b.entry.js +1 -0
- package/dist/pine-core/p-74e06c8d.system.entry.js +1 -0
- package/dist/pine-core/p-7520a715.system.entry.js +1 -0
- package/dist/pine-core/p-7766e970.entry.js +1 -0
- package/dist/pine-core/p-7874fe2b.entry.js +1 -0
- package/dist/pine-core/p-791d357a.entry.js +1 -0
- package/dist/pine-core/p-7a4da839.entry.js +1 -0
- package/dist/pine-core/p-7aca41d9.system.entry.js +1 -0
- package/dist/pine-core/p-7b71f1bf.system.entry.js +1 -0
- package/dist/pine-core/p-7b954dbf.entry.js +1 -0
- package/dist/pine-core/p-8065c732.entry.js +1 -0
- package/dist/pine-core/p-829c52dc.entry.js +1 -0
- package/dist/pine-core/p-835d9f18.system.entry.js +1 -0
- package/dist/pine-core/p-83eb33d4.entry.js +1 -0
- package/dist/pine-core/p-855dfc31.system.entry.js +1 -0
- package/dist/pine-core/p-889fce8a.entry.js +7 -0
- package/dist/pine-core/p-974bf0c5.entry.js +1 -0
- package/dist/pine-core/p-9865431f.system.entry.js +1 -0
- package/dist/pine-core/p-B1u-QvFn.system.js +1 -2
- package/dist/pine-core/p-BG6uGRQj.system.js +1 -2
- package/dist/pine-core/p-BNSGedhN.js +1 -2
- package/dist/pine-core/p-BhQhw0S3.system.js +1 -2
- package/dist/pine-core/p-BrLs99ML.system.js +1 -2
- package/dist/pine-core/p-C0M1gTKv.js +1 -2
- package/dist/pine-core/p-C3xDZBme.js +1 -2
- package/dist/pine-core/p-C61CFP22.system.js +1 -0
- package/dist/pine-core/p-C62JIZmE.system.js +1 -2
- package/dist/pine-core/p-CRCxGYgw.system.js +1 -2
- package/dist/pine-core/p-CaRgVPt7.js +2 -0
- package/dist/pine-core/p-CdwliqhD.system.js +2 -0
- package/dist/pine-core/p-D4ys0pep.js +1 -2
- package/dist/pine-core/p-DDtwbwIl.js +1 -2
- package/dist/pine-core/p-DVra397g.system.js +1 -2
- package/dist/pine-core/p-DnUJodVd.js +1 -2
- package/dist/pine-core/p-DtgUQhjl.js +1 -2
- package/dist/pine-core/p-YWpyar7R.system.js +1 -2
- package/dist/pine-core/p-a1750a54.entry.js +1 -0
- package/dist/pine-core/p-a659cce1.entry.js +1 -0
- package/dist/pine-core/p-a739bdfa.entry.js +1 -0
- package/dist/pine-core/p-a982ac91.system.entry.js +1 -0
- package/dist/pine-core/p-ab957ace.system.entry.js +1 -0
- package/dist/pine-core/p-ae2b466a.system.entry.js +1 -0
- package/dist/pine-core/p-ae840ec4.entry.js +1 -0
- package/dist/pine-core/p-b0b6acdb.system.entry.js +1 -0
- package/dist/pine-core/p-b1b317a5.entry.js +1 -0
- package/dist/pine-core/p-b88be8be.entry.js +1 -0
- package/dist/pine-core/p-ba88ff60.system.entry.js +1 -0
- package/dist/pine-core/p-babd0607.system.entry.js +1 -0
- package/dist/pine-core/p-bdf18687.entry.js +1 -0
- package/dist/pine-core/p-c273210a.entry.js +1 -0
- package/dist/pine-core/p-c3a99f39.entry.js +1 -0
- package/dist/pine-core/p-ccb889d8.system.entry.js +1 -0
- package/dist/pine-core/p-cce6dcf0.system.entry.js +1 -0
- package/dist/pine-core/p-cce83ef0.entry.js +1 -0
- package/dist/pine-core/p-d09ae46d.system.entry.js +1 -0
- package/dist/pine-core/p-d5c1f85e.system.entry.js +1 -0
- package/dist/pine-core/p-db1572a3.entry.js +1 -0
- package/dist/pine-core/p-e0cfb931.system.entry.js +1 -0
- package/dist/pine-core/p-e291db30.entry.js +1 -0
- package/dist/pine-core/p-e620e492.system.entry.js +1 -0
- package/dist/pine-core/p-e70c9002.entry.js +1 -0
- package/dist/pine-core/p-e77c5c08.system.entry.js +1 -0
- package/dist/pine-core/p-edf4e4eb.system.entry.js +1 -0
- package/dist/pine-core/p-ee6f914c.entry.js +1 -0
- package/dist/pine-core/{p-c7259d80.system.entry.js → p-ef71710b.system.entry.js} +2 -3
- package/dist/pine-core/p-f2315f2a.entry.js +1 -0
- package/dist/pine-core/p-f2cf8e76.entry.js +1 -0
- package/dist/pine-core/p-f366f064.entry.js +1 -0
- package/dist/pine-core/p-f928817f.system.entry.js +1 -0
- package/dist/pine-core/p-fa81009f.system.entry.js +1 -0
- package/dist/pine-core/p-fb68e503.system.entry.js +1 -0
- package/dist/pine-core/p-kYMYDfJY.system.js +1 -2
- package/dist/pine-core/p-tJa4KYNO.js +1 -2
- package/dist/pine-core/pine-core.css +1 -1
- package/dist/pine-core/pine-core.esm.js +1 -2
- package/dist/pine-core/pine-core.js +1 -1
- package/dist/scripts/vscode-custom-data-generator.js +0 -1
- package/dist/types/components/pds-link/pds-link.d.ts +40 -0
- package/dist/types/components/pds-text/pds-text.d.ts +4 -1
- package/dist/types/components/pds-toast/pds-toast.d.ts +4 -0
- package/dist/types/components.d.ts +768 -123
- package/dist/types/stencil-public-runtime.d.ts +110 -5
- package/dist/types/utils/test/axe.d.ts +5 -4
- package/dist/types/utils/types.d.ts +2 -0
- package/hydrate/index.d.ts +12 -0
- package/hydrate/index.js +5252 -1062
- package/hydrate/index.mjs +5251 -1063
- package/package.json +11 -11
- package/components/attributes.js.map +0 -1
- package/components/closest.js.map +0 -1
- package/components/floating-ui.dom.js.map +0 -1
- package/components/form.js.map +0 -1
- package/components/index.js.map +0 -1
- package/components/index2.js.map +0 -1
- package/components/mock-pds-modal.js.map +0 -1
- package/components/pds-accordion.js.map +0 -1
- package/components/pds-alert.js.map +0 -1
- package/components/pds-avatar.js.map +0 -1
- package/components/pds-box.js.map +0 -1
- package/components/pds-box2.js.map +0 -1
- package/components/pds-button.js.map +0 -1
- package/components/pds-button2.js.map +0 -1
- package/components/pds-checkbox.js.map +0 -1
- package/components/pds-checkbox2.js.map +0 -1
- package/components/pds-chip.js.map +0 -1
- package/components/pds-chip2.js.map +0 -1
- package/components/pds-combobox.js.map +0 -1
- package/components/pds-container.js.map +0 -1
- package/components/pds-copytext.js.map +0 -1
- package/components/pds-divider.js.map +0 -1
- package/components/pds-dropdown-menu-item.js.map +0 -1
- package/components/pds-dropdown-menu-separator.js.map +0 -1
- package/components/pds-dropdown-menu.js.map +0 -1
- package/components/pds-filter.js.map +0 -1
- package/components/pds-filters.js.map +0 -1
- package/components/pds-icon.js.map +0 -1
- package/components/pds-icon2.js.map +0 -1
- package/components/pds-image.js.map +0 -1
- package/components/pds-input.js.map +0 -1
- package/components/pds-link.js.map +0 -1
- package/components/pds-link2.js.map +0 -1
- package/components/pds-loader.js.map +0 -1
- package/components/pds-loader2.js.map +0 -1
- package/components/pds-modal-content.js.map +0 -1
- package/components/pds-modal-footer.js.map +0 -1
- package/components/pds-modal-header.js.map +0 -1
- package/components/pds-modal.js.map +0 -1
- package/components/pds-multiselect.js.map +0 -1
- package/components/pds-popover.js.map +0 -1
- package/components/pds-progress.js.map +0 -1
- package/components/pds-property.js.map +0 -1
- package/components/pds-radio-group.js.map +0 -1
- package/components/pds-radio.js.map +0 -1
- package/components/pds-row.js.map +0 -1
- package/components/pds-select.js.map +0 -1
- package/components/pds-sortable-item.js.map +0 -1
- package/components/pds-sortable.js.map +0 -1
- package/components/pds-switch.js.map +0 -1
- package/components/pds-tab.js.map +0 -1
- package/components/pds-table-body.js.map +0 -1
- package/components/pds-table-cell.js.map +0 -1
- package/components/pds-table-cell2.js.map +0 -1
- package/components/pds-table-head-cell.js.map +0 -1
- package/components/pds-table-head-cell2.js.map +0 -1
- package/components/pds-table-head.js.map +0 -1
- package/components/pds-table-row.js.map +0 -1
- package/components/pds-table.js.map +0 -1
- package/components/pds-tabpanel.js.map +0 -1
- package/components/pds-tabs.js.map +0 -1
- package/components/pds-text.js.map +0 -1
- package/components/pds-text2.js.map +0 -1
- package/components/pds-textarea.js.map +0 -1
- package/components/pds-toast.js.map +0 -1
- package/components/pds-tooltip.js.map +0 -1
- package/components/scroll.js.map +0 -1
- package/components/truncation-tooltip.js.map +0 -1
- package/components/utils.js.map +0 -1
- package/dist/cjs/attributes-oNMnBEnP.js.map +0 -1
- package/dist/cjs/closest-BZXvuB_Y.js.map +0 -1
- package/dist/cjs/floating-ui.dom-BZk7Blsu.js.map +0 -1
- package/dist/cjs/form-CpM5Z8q7.js.map +0 -1
- package/dist/cjs/index-BYnQkA7p.js.map +0 -1
- package/dist/cjs/index-DGBoDsAL.js.map +0 -1
- package/dist/cjs/index.cjs.js.map +0 -1
- package/dist/cjs/loader.cjs.js.map +0 -1
- package/dist/cjs/mock-pds-modal.entry.cjs.js.map +0 -1
- package/dist/cjs/pds-accordion.entry.cjs.js.map +0 -1
- package/dist/cjs/pds-alert.entry.cjs.js.map +0 -1
- package/dist/cjs/pds-avatar.entry.cjs.js.map +0 -1
- package/dist/cjs/pds-box.entry.cjs.js.map +0 -1
- package/dist/cjs/pds-button.entry.cjs.js.map +0 -1
- package/dist/cjs/pds-checkbox.entry.cjs.js.map +0 -1
- package/dist/cjs/pds-chip.entry.cjs.js.map +0 -1
- package/dist/cjs/pds-combobox.entry.cjs.js.map +0 -1
- package/dist/cjs/pds-container.entry.cjs.js.map +0 -1
- package/dist/cjs/pds-copytext.entry.cjs.js.map +0 -1
- package/dist/cjs/pds-divider.entry.cjs.js.map +0 -1
- package/dist/cjs/pds-dropdown-menu-item.entry.cjs.js.map +0 -1
- package/dist/cjs/pds-dropdown-menu-separator.entry.cjs.js.map +0 -1
- package/dist/cjs/pds-dropdown-menu.entry.cjs.js.map +0 -1
- package/dist/cjs/pds-filter.entry.cjs.js.map +0 -1
- package/dist/cjs/pds-filters.entry.cjs.js.map +0 -1
- package/dist/cjs/pds-icon.entry.cjs.js.map +0 -1
- package/dist/cjs/pds-image.entry.cjs.js.map +0 -1
- package/dist/cjs/pds-input.entry.cjs.js.map +0 -1
- package/dist/cjs/pds-link.entry.cjs.js.map +0 -1
- package/dist/cjs/pds-loader.entry.cjs.js.map +0 -1
- package/dist/cjs/pds-modal-content.entry.cjs.js.map +0 -1
- package/dist/cjs/pds-modal-footer.entry.cjs.js.map +0 -1
- package/dist/cjs/pds-modal-header.entry.cjs.js.map +0 -1
- package/dist/cjs/pds-modal.entry.cjs.js.map +0 -1
- package/dist/cjs/pds-multiselect.entry.cjs.js.map +0 -1
- package/dist/cjs/pds-popover.entry.cjs.js.map +0 -1
- package/dist/cjs/pds-progress.entry.cjs.js.map +0 -1
- package/dist/cjs/pds-property.entry.cjs.js.map +0 -1
- package/dist/cjs/pds-radio-group.entry.cjs.js.map +0 -1
- package/dist/cjs/pds-radio.entry.cjs.js.map +0 -1
- package/dist/cjs/pds-row.entry.cjs.js.map +0 -1
- package/dist/cjs/pds-select.entry.cjs.js.map +0 -1
- package/dist/cjs/pds-sortable-item.entry.cjs.js.map +0 -1
- package/dist/cjs/pds-sortable.entry.cjs.js.map +0 -1
- package/dist/cjs/pds-switch.entry.cjs.js.map +0 -1
- package/dist/cjs/pds-tab.entry.cjs.js.map +0 -1
- package/dist/cjs/pds-table-body.entry.cjs.js.map +0 -1
- package/dist/cjs/pds-table-cell.entry.cjs.js.map +0 -1
- package/dist/cjs/pds-table-head-cell.entry.cjs.js.map +0 -1
- package/dist/cjs/pds-table-head.entry.cjs.js.map +0 -1
- package/dist/cjs/pds-table-row.entry.cjs.js.map +0 -1
- package/dist/cjs/pds-table.entry.cjs.js.map +0 -1
- package/dist/cjs/pds-tabpanel.entry.cjs.js.map +0 -1
- package/dist/cjs/pds-tabs.entry.cjs.js.map +0 -1
- package/dist/cjs/pds-text.entry.cjs.js.map +0 -1
- package/dist/cjs/pds-textarea.entry.cjs.js.map +0 -1
- package/dist/cjs/pds-toast.entry.cjs.js.map +0 -1
- package/dist/cjs/pds-tooltip.entry.cjs.js.map +0 -1
- package/dist/cjs/pine-core.cjs.js.map +0 -1
- package/dist/cjs/scroll-2XcoE_6Q.js.map +0 -1
- package/dist/cjs/truncation-tooltip-CVzAha5B.js.map +0 -1
- package/dist/cjs/utils-7jx8T2mW.js.map +0 -1
- package/dist/collection/components/_internal/pds-label/pds-label.js.map +0 -1
- package/dist/collection/components/pds-accordion/pds-accordion.js.map +0 -1
- package/dist/collection/components/pds-alert/pds-alert.js.map +0 -1
- package/dist/collection/components/pds-avatar/pds-avatar.js.map +0 -1
- package/dist/collection/components/pds-box/pds-box.js.map +0 -1
- package/dist/collection/components/pds-button/pds-button.js.map +0 -1
- package/dist/collection/components/pds-checkbox/checkbox-interface.js.map +0 -1
- package/dist/collection/components/pds-checkbox/pds-checkbox.js.map +0 -1
- package/dist/collection/components/pds-chip/pds-chip.js.map +0 -1
- package/dist/collection/components/pds-combobox/combobox-interface.js.map +0 -1
- package/dist/collection/components/pds-combobox/pds-combobox.js.map +0 -1
- package/dist/collection/components/pds-container/pds-container.js.map +0 -1
- package/dist/collection/components/pds-copytext/pds-copytext.js.map +0 -1
- package/dist/collection/components/pds-divider/pds-divider.js.map +0 -1
- package/dist/collection/components/pds-dropdown-menu/pds-dropdown-menu-item/pds-dropdown-menu-item.js.map +0 -1
- package/dist/collection/components/pds-dropdown-menu/pds-dropdown-menu-separator/pds-dropdown-menu-separator.js.map +0 -1
- package/dist/collection/components/pds-dropdown-menu/pds-dropdown-menu.js.map +0 -1
- package/dist/collection/components/pds-filters/pds-filter/filter-interface.js.map +0 -1
- package/dist/collection/components/pds-filters/pds-filter/pds-filter.js.map +0 -1
- package/dist/collection/components/pds-filters/pds-filters.js.map +0 -1
- package/dist/collection/components/pds-image/pds-image.js.map +0 -1
- package/dist/collection/components/pds-input/input-interface.js.map +0 -1
- package/dist/collection/components/pds-input/pds-input.js.map +0 -1
- package/dist/collection/components/pds-link/pds-link.js.map +0 -1
- package/dist/collection/components/pds-loader/pds-loader.js.map +0 -1
- package/dist/collection/components/pds-modal/pds-modal-content/pds-modal-content.js.map +0 -1
- package/dist/collection/components/pds-modal/pds-modal-footer/pds-modal-footer.js.map +0 -1
- package/dist/collection/components/pds-modal/pds-modal-header/pds-modal-header.js.map +0 -1
- package/dist/collection/components/pds-modal/pds-modal.js.map +0 -1
- package/dist/collection/components/pds-modal/test/mock-pds-modal.js.map +0 -1
- package/dist/collection/components/pds-multiselect/multiselect-interface.js.map +0 -1
- package/dist/collection/components/pds-multiselect/pds-multiselect.js.map +0 -1
- package/dist/collection/components/pds-popover/pds-popover.js.map +0 -1
- package/dist/collection/components/pds-popover/popover-interface.js.map +0 -1
- package/dist/collection/components/pds-progress/pds-progress.js.map +0 -1
- package/dist/collection/components/pds-property/pds-property.js.map +0 -1
- package/dist/collection/components/pds-radio/pds-radio.js.map +0 -1
- package/dist/collection/components/pds-radio-group/pds-radio-group.js.map +0 -1
- package/dist/collection/components/pds-radio-group/radio-group-interface.js.map +0 -1
- package/dist/collection/components/pds-row/pds-row.js.map +0 -1
- package/dist/collection/components/pds-select/pds-select.js.map +0 -1
- package/dist/collection/components/pds-sortable/pds-sortable-item/pds-sortable-item.js.map +0 -1
- package/dist/collection/components/pds-sortable/pds-sortable.js.map +0 -1
- package/dist/collection/components/pds-sortable/sortable-interface.js.map +0 -1
- package/dist/collection/components/pds-switch/pds-switch.js.map +0 -1
- package/dist/collection/components/pds-table/pds-table-body/pds-table-body.js.map +0 -1
- package/dist/collection/components/pds-table/pds-table-cell/pds-table-cell.js.map +0 -1
- package/dist/collection/components/pds-table/pds-table-head/pds-table-head.js.map +0 -1
- package/dist/collection/components/pds-table/pds-table-head-cell/pds-table-head-cell.js.map +0 -1
- package/dist/collection/components/pds-table/pds-table-row/pds-table-row.js.map +0 -1
- package/dist/collection/components/pds-table/pds-table.js.map +0 -1
- package/dist/collection/components/pds-tabs/pds-tab/pds-tab.js.map +0 -1
- package/dist/collection/components/pds-tabs/pds-tabpanel/pds-tabpanel.js.map +0 -1
- package/dist/collection/components/pds-tabs/pds-tabs.js.map +0 -1
- package/dist/collection/components/pds-text/pds-text.js.map +0 -1
- package/dist/collection/components/pds-textarea/pds-textarea.js.map +0 -1
- package/dist/collection/components/pds-textarea/textarea-interface.js.map +0 -1
- package/dist/collection/components/pds-toast/pds-toast.js.map +0 -1
- package/dist/collection/components/pds-tooltip/pds-tooltip.js.map +0 -1
- package/dist/collection/global/pine-ui-global.js.map +0 -1
- package/dist/collection/index.js.map +0 -1
- package/dist/collection/utils/attributes.js.map +0 -1
- package/dist/collection/utils/closest.js.map +0 -1
- package/dist/collection/utils/form.js.map +0 -1
- package/dist/collection/utils/interfaces.js.map +0 -1
- package/dist/collection/utils/overlay.js.map +0 -1
- package/dist/collection/utils/scroll.js.map +0 -1
- package/dist/collection/utils/test/axe.js.map +0 -1
- package/dist/collection/utils/truncation-tooltip.js.map +0 -1
- package/dist/collection/utils/types.js.map +0 -1
- package/dist/collection/utils/utils.js.map +0 -1
- package/dist/esm/attributes-C0M1gTKv.js.map +0 -1
- package/dist/esm/closest-DnUJodVd.js.map +0 -1
- package/dist/esm/floating-ui.dom-DDtwbwIl.js.map +0 -1
- package/dist/esm/form-C3xDZBme.js.map +0 -1
- package/dist/esm/index-D4ys0pep.js.map +0 -1
- package/dist/esm/index-QYCDCKN2.js.map +0 -1
- package/dist/esm/index.js.map +0 -1
- package/dist/esm/loader.js.map +0 -1
- package/dist/esm/mock-pds-modal.entry.js.map +0 -1
- package/dist/esm/pds-accordion.entry.js.map +0 -1
- package/dist/esm/pds-alert.entry.js.map +0 -1
- package/dist/esm/pds-avatar.entry.js.map +0 -1
- package/dist/esm/pds-box.entry.js.map +0 -1
- package/dist/esm/pds-button.entry.js.map +0 -1
- package/dist/esm/pds-checkbox.entry.js.map +0 -1
- package/dist/esm/pds-chip.entry.js.map +0 -1
- package/dist/esm/pds-combobox.entry.js.map +0 -1
- package/dist/esm/pds-container.entry.js.map +0 -1
- package/dist/esm/pds-copytext.entry.js.map +0 -1
- package/dist/esm/pds-divider.entry.js.map +0 -1
- package/dist/esm/pds-dropdown-menu-item.entry.js.map +0 -1
- package/dist/esm/pds-dropdown-menu-separator.entry.js.map +0 -1
- package/dist/esm/pds-dropdown-menu.entry.js.map +0 -1
- package/dist/esm/pds-filter.entry.js.map +0 -1
- package/dist/esm/pds-filters.entry.js.map +0 -1
- package/dist/esm/pds-icon.entry.js.map +0 -1
- package/dist/esm/pds-image.entry.js.map +0 -1
- package/dist/esm/pds-input.entry.js.map +0 -1
- package/dist/esm/pds-link.entry.js.map +0 -1
- package/dist/esm/pds-loader.entry.js.map +0 -1
- package/dist/esm/pds-modal-content.entry.js.map +0 -1
- package/dist/esm/pds-modal-footer.entry.js.map +0 -1
- package/dist/esm/pds-modal-header.entry.js.map +0 -1
- package/dist/esm/pds-modal.entry.js.map +0 -1
- package/dist/esm/pds-multiselect.entry.js.map +0 -1
- package/dist/esm/pds-popover.entry.js.map +0 -1
- package/dist/esm/pds-progress.entry.js.map +0 -1
- package/dist/esm/pds-property.entry.js.map +0 -1
- package/dist/esm/pds-radio-group.entry.js.map +0 -1
- package/dist/esm/pds-radio.entry.js.map +0 -1
- package/dist/esm/pds-row.entry.js.map +0 -1
- package/dist/esm/pds-select.entry.js.map +0 -1
- package/dist/esm/pds-sortable-item.entry.js.map +0 -1
- package/dist/esm/pds-sortable.entry.js.map +0 -1
- package/dist/esm/pds-switch.entry.js.map +0 -1
- package/dist/esm/pds-tab.entry.js.map +0 -1
- package/dist/esm/pds-table-body.entry.js.map +0 -1
- package/dist/esm/pds-table-cell.entry.js.map +0 -1
- package/dist/esm/pds-table-head-cell.entry.js.map +0 -1
- package/dist/esm/pds-table-head.entry.js.map +0 -1
- package/dist/esm/pds-table-row.entry.js.map +0 -1
- package/dist/esm/pds-table.entry.js.map +0 -1
- package/dist/esm/pds-tabpanel.entry.js.map +0 -1
- package/dist/esm/pds-tabs.entry.js.map +0 -1
- package/dist/esm/pds-text.entry.js.map +0 -1
- package/dist/esm/pds-textarea.entry.js.map +0 -1
- package/dist/esm/pds-toast.entry.js.map +0 -1
- package/dist/esm/pds-tooltip.entry.js.map +0 -1
- package/dist/esm/pine-core.js.map +0 -1
- package/dist/esm/scroll-DtgUQhjl.js.map +0 -1
- package/dist/esm/truncation-tooltip-Blk4GigP.js.map +0 -1
- package/dist/esm/utils-tJa4KYNO.js.map +0 -1
- package/dist/esm-es5/attributes-C0M1gTKv.js.map +0 -1
- package/dist/esm-es5/closest-DnUJodVd.js.map +0 -1
- package/dist/esm-es5/floating-ui.dom-DDtwbwIl.js.map +0 -1
- package/dist/esm-es5/form-C3xDZBme.js.map +0 -1
- package/dist/esm-es5/index-D4ys0pep.js.map +0 -1
- package/dist/esm-es5/index-QYCDCKN2.js +0 -3
- package/dist/esm-es5/index-QYCDCKN2.js.map +0 -1
- package/dist/esm-es5/index.js.map +0 -1
- package/dist/esm-es5/loader.js.map +0 -1
- package/dist/esm-es5/mock-pds-modal.entry.js.map +0 -1
- package/dist/esm-es5/pds-accordion.entry.js.map +0 -1
- package/dist/esm-es5/pds-alert.entry.js.map +0 -1
- package/dist/esm-es5/pds-avatar.entry.js.map +0 -1
- package/dist/esm-es5/pds-box.entry.js.map +0 -1
- package/dist/esm-es5/pds-button.entry.js.map +0 -1
- package/dist/esm-es5/pds-checkbox.entry.js.map +0 -1
- package/dist/esm-es5/pds-chip.entry.js.map +0 -1
- package/dist/esm-es5/pds-combobox.entry.js.map +0 -1
- package/dist/esm-es5/pds-container.entry.js.map +0 -1
- package/dist/esm-es5/pds-copytext.entry.js.map +0 -1
- package/dist/esm-es5/pds-divider.entry.js.map +0 -1
- package/dist/esm-es5/pds-dropdown-menu-item.entry.js.map +0 -1
- package/dist/esm-es5/pds-dropdown-menu-separator.entry.js.map +0 -1
- package/dist/esm-es5/pds-dropdown-menu.entry.js.map +0 -1
- package/dist/esm-es5/pds-filter.entry.js.map +0 -1
- package/dist/esm-es5/pds-filters.entry.js.map +0 -1
- package/dist/esm-es5/pds-icon.entry.js.map +0 -1
- package/dist/esm-es5/pds-image.entry.js.map +0 -1
- package/dist/esm-es5/pds-input.entry.js.map +0 -1
- package/dist/esm-es5/pds-link.entry.js.map +0 -1
- package/dist/esm-es5/pds-loader.entry.js.map +0 -1
- package/dist/esm-es5/pds-modal-content.entry.js.map +0 -1
- package/dist/esm-es5/pds-modal-footer.entry.js.map +0 -1
- package/dist/esm-es5/pds-modal-header.entry.js.map +0 -1
- package/dist/esm-es5/pds-modal.entry.js.map +0 -1
- package/dist/esm-es5/pds-multiselect.entry.js.map +0 -1
- package/dist/esm-es5/pds-popover.entry.js.map +0 -1
- package/dist/esm-es5/pds-progress.entry.js.map +0 -1
- package/dist/esm-es5/pds-property.entry.js.map +0 -1
- package/dist/esm-es5/pds-radio-group.entry.js.map +0 -1
- package/dist/esm-es5/pds-radio.entry.js.map +0 -1
- package/dist/esm-es5/pds-row.entry.js.map +0 -1
- package/dist/esm-es5/pds-select.entry.js.map +0 -1
- package/dist/esm-es5/pds-sortable-item.entry.js.map +0 -1
- package/dist/esm-es5/pds-sortable.entry.js.map +0 -1
- package/dist/esm-es5/pds-switch.entry.js.map +0 -1
- package/dist/esm-es5/pds-tab.entry.js.map +0 -1
- package/dist/esm-es5/pds-table-body.entry.js.map +0 -1
- package/dist/esm-es5/pds-table-cell.entry.js.map +0 -1
- package/dist/esm-es5/pds-table-head-cell.entry.js.map +0 -1
- package/dist/esm-es5/pds-table-head.entry.js.map +0 -1
- package/dist/esm-es5/pds-table-row.entry.js.map +0 -1
- package/dist/esm-es5/pds-table.entry.js.map +0 -1
- package/dist/esm-es5/pds-tabpanel.entry.js.map +0 -1
- package/dist/esm-es5/pds-tabs.entry.js.map +0 -1
- package/dist/esm-es5/pds-text.entry.js.map +0 -1
- package/dist/esm-es5/pds-textarea.entry.js.map +0 -1
- package/dist/esm-es5/pds-toast.entry.js.map +0 -1
- package/dist/esm-es5/pds-tooltip.entry.js.map +0 -1
- package/dist/esm-es5/pine-core.js.map +0 -1
- package/dist/esm-es5/scroll-DtgUQhjl.js.map +0 -1
- package/dist/esm-es5/truncation-tooltip-Blk4GigP.js.map +0 -1
- package/dist/esm-es5/utils-tJa4KYNO.js.map +0 -1
- package/dist/pine-core/index.esm.js.map +0 -1
- package/dist/pine-core/loader.esm.js.map +0 -1
- package/dist/pine-core/mock-pds-modal.entry.esm.js.map +0 -1
- package/dist/pine-core/p-043395a8.entry.js +0 -2
- package/dist/pine-core/p-043395a8.entry.js.map +0 -1
- package/dist/pine-core/p-07a19657.entry.js +0 -2
- package/dist/pine-core/p-07a19657.entry.js.map +0 -1
- package/dist/pine-core/p-08267d86.system.entry.js +0 -2
- package/dist/pine-core/p-08267d86.system.entry.js.map +0 -1
- package/dist/pine-core/p-0bc89023.system.entry.js +0 -2
- package/dist/pine-core/p-0bc89023.system.entry.js.map +0 -1
- package/dist/pine-core/p-0ca1dada.entry.js +0 -2
- package/dist/pine-core/p-0ca1dada.entry.js.map +0 -1
- package/dist/pine-core/p-0d3a6abc.entry.js +0 -2
- package/dist/pine-core/p-0d3a6abc.entry.js.map +0 -1
- package/dist/pine-core/p-0jF8lVUy.system.js.map +0 -1
- package/dist/pine-core/p-1256b83e.entry.js +0 -2
- package/dist/pine-core/p-1256b83e.entry.js.map +0 -1
- package/dist/pine-core/p-1700705c.entry.js +0 -2
- package/dist/pine-core/p-1700705c.entry.js.map +0 -1
- package/dist/pine-core/p-1d7cbf49.system.entry.js +0 -2
- package/dist/pine-core/p-1d7cbf49.system.entry.js.map +0 -1
- package/dist/pine-core/p-1eJB2hvd.system.js.map +0 -1
- package/dist/pine-core/p-1hZDd74J.system.js.map +0 -1
- package/dist/pine-core/p-21a858a0.entry.js +0 -2
- package/dist/pine-core/p-21a858a0.entry.js.map +0 -1
- package/dist/pine-core/p-2335222d.entry.js +0 -2
- package/dist/pine-core/p-2335222d.entry.js.map +0 -1
- package/dist/pine-core/p-24656fd4.entry.js +0 -2
- package/dist/pine-core/p-24656fd4.entry.js.map +0 -1
- package/dist/pine-core/p-2549e386.system.entry.js +0 -2
- package/dist/pine-core/p-2549e386.system.entry.js.map +0 -1
- package/dist/pine-core/p-2728bb30.system.entry.js +0 -2
- package/dist/pine-core/p-2728bb30.system.entry.js.map +0 -1
- package/dist/pine-core/p-2a4be282.entry.js +0 -3
- package/dist/pine-core/p-2a4be282.entry.js.map +0 -1
- package/dist/pine-core/p-2c88b85e.entry.js +0 -2
- package/dist/pine-core/p-2c88b85e.entry.js.map +0 -1
- package/dist/pine-core/p-2dcd369d.entry.js +0 -2
- package/dist/pine-core/p-2dcd369d.entry.js.map +0 -1
- package/dist/pine-core/p-30302dbb.system.entry.js +0 -2
- package/dist/pine-core/p-30302dbb.system.entry.js.map +0 -1
- package/dist/pine-core/p-33fd214a.system.entry.js +0 -2
- package/dist/pine-core/p-33fd214a.system.entry.js.map +0 -1
- package/dist/pine-core/p-360130c2.entry.js +0 -2
- package/dist/pine-core/p-360130c2.entry.js.map +0 -1
- package/dist/pine-core/p-3824d80d.system.entry.js +0 -2
- package/dist/pine-core/p-3824d80d.system.entry.js.map +0 -1
- package/dist/pine-core/p-3c89502e.system.entry.js +0 -2
- package/dist/pine-core/p-3c89502e.system.entry.js.map +0 -1
- package/dist/pine-core/p-3d0f3dcb.system.entry.js +0 -2
- package/dist/pine-core/p-3d0f3dcb.system.entry.js.map +0 -1
- package/dist/pine-core/p-3eae6f9f.system.entry.js +0 -2
- package/dist/pine-core/p-3eae6f9f.system.entry.js.map +0 -1
- package/dist/pine-core/p-3f4435b8.system.entry.js +0 -2
- package/dist/pine-core/p-3f4435b8.system.entry.js.map +0 -1
- package/dist/pine-core/p-43565cf5.entry.js +0 -2
- package/dist/pine-core/p-43565cf5.entry.js.map +0 -1
- package/dist/pine-core/p-44318b5c.entry.js +0 -2
- package/dist/pine-core/p-44318b5c.entry.js.map +0 -1
- package/dist/pine-core/p-4728c80a.entry.js +0 -2
- package/dist/pine-core/p-4728c80a.entry.js.map +0 -1
- package/dist/pine-core/p-4a4048f3.entry.js +0 -2
- package/dist/pine-core/p-4a4048f3.entry.js.map +0 -1
- package/dist/pine-core/p-4e79023c.system.entry.js +0 -2
- package/dist/pine-core/p-4e79023c.system.entry.js.map +0 -1
- package/dist/pine-core/p-4fc48330.entry.js +0 -2
- package/dist/pine-core/p-4fc48330.entry.js.map +0 -1
- package/dist/pine-core/p-500ef8ee.entry.js +0 -2
- package/dist/pine-core/p-500ef8ee.entry.js.map +0 -1
- package/dist/pine-core/p-528d50eb.system.entry.js +0 -2
- package/dist/pine-core/p-528d50eb.system.entry.js.map +0 -1
- package/dist/pine-core/p-56aedf71.entry.js +0 -2
- package/dist/pine-core/p-56aedf71.entry.js.map +0 -1
- package/dist/pine-core/p-58bd1590.system.entry.js +0 -2
- package/dist/pine-core/p-58bd1590.system.entry.js.map +0 -1
- package/dist/pine-core/p-5b521b20.entry.js +0 -2
- package/dist/pine-core/p-5b521b20.entry.js.map +0 -1
- package/dist/pine-core/p-5c259f42.system.entry.js +0 -4
- package/dist/pine-core/p-5c259f42.system.entry.js.map +0 -1
- package/dist/pine-core/p-5f9a6f53.entry.js +0 -2
- package/dist/pine-core/p-5f9a6f53.entry.js.map +0 -1
- package/dist/pine-core/p-61bcaaee.entry.js +0 -2
- package/dist/pine-core/p-61bcaaee.entry.js.map +0 -1
- package/dist/pine-core/p-621405fc.entry.js +0 -2
- package/dist/pine-core/p-621405fc.entry.js.map +0 -1
- package/dist/pine-core/p-65224129.system.entry.js +0 -2
- package/dist/pine-core/p-65224129.system.entry.js.map +0 -1
- package/dist/pine-core/p-67a81e55.entry.js +0 -2
- package/dist/pine-core/p-67a81e55.entry.js.map +0 -1
- package/dist/pine-core/p-6a20ba14.system.entry.js +0 -2
- package/dist/pine-core/p-6a20ba14.system.entry.js.map +0 -1
- package/dist/pine-core/p-6af000e5.entry.js +0 -2
- package/dist/pine-core/p-6af000e5.entry.js.map +0 -1
- package/dist/pine-core/p-6c836757.entry.js +0 -2
- package/dist/pine-core/p-6c836757.entry.js.map +0 -1
- package/dist/pine-core/p-6c9bb2a5.entry.js +0 -2
- package/dist/pine-core/p-6c9bb2a5.entry.js.map +0 -1
- package/dist/pine-core/p-6ca31ddd.entry.js +0 -2
- package/dist/pine-core/p-6ca31ddd.entry.js.map +0 -1
- package/dist/pine-core/p-6f4f62ff.system.entry.js +0 -2
- package/dist/pine-core/p-6f4f62ff.system.entry.js.map +0 -1
- package/dist/pine-core/p-74486022.system.entry.js +0 -2
- package/dist/pine-core/p-74486022.system.entry.js.map +0 -1
- package/dist/pine-core/p-7456ae7a.system.entry.js +0 -2
- package/dist/pine-core/p-7456ae7a.system.entry.js.map +0 -1
- package/dist/pine-core/p-77807b63.entry.js +0 -2
- package/dist/pine-core/p-77807b63.entry.js.map +0 -1
- package/dist/pine-core/p-78184199.entry.js +0 -2
- package/dist/pine-core/p-78184199.entry.js.map +0 -1
- package/dist/pine-core/p-7ba75e19.entry.js +0 -8
- package/dist/pine-core/p-7ba75e19.entry.js.map +0 -1
- package/dist/pine-core/p-7u7MeeeZ.system.js.map +0 -1
- package/dist/pine-core/p-847ca369.entry.js +0 -2
- package/dist/pine-core/p-847ca369.entry.js.map +0 -1
- package/dist/pine-core/p-859aa3b0.entry.js +0 -2
- package/dist/pine-core/p-859aa3b0.entry.js.map +0 -1
- package/dist/pine-core/p-8c8048df.entry.js +0 -2
- package/dist/pine-core/p-8c8048df.entry.js.map +0 -1
- package/dist/pine-core/p-8dea1946.system.entry.js +0 -2
- package/dist/pine-core/p-8dea1946.system.entry.js.map +0 -1
- package/dist/pine-core/p-8nqjUIna.system.js.map +0 -1
- package/dist/pine-core/p-9120a7fa.system.entry.js +0 -2
- package/dist/pine-core/p-9120a7fa.system.entry.js.map +0 -1
- package/dist/pine-core/p-97d5a937.system.entry.js +0 -2
- package/dist/pine-core/p-97d5a937.system.entry.js.map +0 -1
- package/dist/pine-core/p-97e0b205.system.entry.js +0 -2
- package/dist/pine-core/p-97e0b205.system.entry.js.map +0 -1
- package/dist/pine-core/p-98332835.system.entry.js +0 -2
- package/dist/pine-core/p-98332835.system.entry.js.map +0 -1
- package/dist/pine-core/p-99739465.entry.js +0 -2
- package/dist/pine-core/p-99739465.entry.js.map +0 -1
- package/dist/pine-core/p-9X_erY0S.system.js +0 -2
- package/dist/pine-core/p-9X_erY0S.system.js.map +0 -1
- package/dist/pine-core/p-9a2dc18d.system.entry.js +0 -2
- package/dist/pine-core/p-9a2dc18d.system.entry.js.map +0 -1
- package/dist/pine-core/p-9e62532d.entry.js +0 -2
- package/dist/pine-core/p-9e62532d.entry.js.map +0 -1
- package/dist/pine-core/p-9e98793e.entry.js +0 -2
- package/dist/pine-core/p-9e98793e.entry.js.map +0 -1
- package/dist/pine-core/p-B1u-QvFn.system.js.map +0 -1
- package/dist/pine-core/p-B5hxTy5U.system.js.map +0 -1
- package/dist/pine-core/p-B8wXrRCn.system.js.map +0 -1
- package/dist/pine-core/p-BEk_6bpE.system.js.map +0 -1
- package/dist/pine-core/p-BG6uGRQj.system.js.map +0 -1
- package/dist/pine-core/p-BHr70Hts.system.js.map +0 -1
- package/dist/pine-core/p-BILA6IDX.system.js.map +0 -1
- package/dist/pine-core/p-BNSGedhN.js.map +0 -1
- package/dist/pine-core/p-BR3EzrR2.system.js.map +0 -1
- package/dist/pine-core/p-BWYstZfx.system.js.map +0 -1
- package/dist/pine-core/p-B_ue56xA.system.js.map +0 -1
- package/dist/pine-core/p-Bdrd1hDP.system.js.map +0 -1
- package/dist/pine-core/p-BfwVCQ2C.system.js.map +0 -1
- package/dist/pine-core/p-BhQhw0S3.system.js.map +0 -1
- package/dist/pine-core/p-BhXECqd_.system.js.map +0 -1
- package/dist/pine-core/p-Bq2VWG-F.system.js.map +0 -1
- package/dist/pine-core/p-BrLs99ML.system.js.map +0 -1
- package/dist/pine-core/p-BtZYIh3H.system.js.map +0 -1
- package/dist/pine-core/p-BzszOvm1.system.js.map +0 -1
- package/dist/pine-core/p-C0M1gTKv.js.map +0 -1
- package/dist/pine-core/p-C0XRql_j.system.js.map +0 -1
- package/dist/pine-core/p-C0r-Omcz.system.js.map +0 -1
- package/dist/pine-core/p-C2Pw0xAP.system.js.map +0 -1
- package/dist/pine-core/p-C3xDZBme.js.map +0 -1
- package/dist/pine-core/p-C62JIZmE.system.js.map +0 -1
- package/dist/pine-core/p-C6LTEDPh.system.js.map +0 -1
- package/dist/pine-core/p-C8wBjwhX.system.js.map +0 -1
- package/dist/pine-core/p-CG-Uj3mN.system.js.map +0 -1
- package/dist/pine-core/p-CIRsbQAW.system.js.map +0 -1
- package/dist/pine-core/p-CKshb3YH.system.js.map +0 -1
- package/dist/pine-core/p-CMbqUapr.system.js.map +0 -1
- package/dist/pine-core/p-CQS3Y0nn.system.js.map +0 -1
- package/dist/pine-core/p-CRCxGYgw.system.js.map +0 -1
- package/dist/pine-core/p-CX0Csdth.system.js.map +0 -1
- package/dist/pine-core/p-CZSA3A1S.system.js.map +0 -1
- package/dist/pine-core/p-CbRVp4gv.system.js.map +0 -1
- package/dist/pine-core/p-CfyFDUw5.system.js.map +0 -1
- package/dist/pine-core/p-CgPvrU-c.system.js.map +0 -1
- package/dist/pine-core/p-CjuuQ5fk.system.js.map +0 -1
- package/dist/pine-core/p-Ck9i0WVa.system.js.map +0 -1
- package/dist/pine-core/p-Cm5r7dPz.system.js.map +0 -1
- package/dist/pine-core/p-CtZbV7sl.system.js.map +0 -1
- package/dist/pine-core/p-CwlStDlm.system.js.map +0 -1
- package/dist/pine-core/p-CyJVqIlm.system.js +0 -3
- package/dist/pine-core/p-CyJVqIlm.system.js.map +0 -1
- package/dist/pine-core/p-D2ZsBdFi.system.js.map +0 -1
- package/dist/pine-core/p-D4ys0pep.js.map +0 -1
- package/dist/pine-core/p-DDtwbwIl.js.map +0 -1
- package/dist/pine-core/p-DSfc0hSW.system.js.map +0 -1
- package/dist/pine-core/p-DUOWHRqL.system.js.map +0 -1
- package/dist/pine-core/p-DUaDwLU_.system.js.map +0 -1
- package/dist/pine-core/p-DVra397g.system.js.map +0 -1
- package/dist/pine-core/p-D_X9pwRF.system.js.map +0 -1
- package/dist/pine-core/p-Dn6xWpZX.system.js.map +0 -1
- package/dist/pine-core/p-DnUJodVd.js.map +0 -1
- package/dist/pine-core/p-Dt4eN_hu.system.js.map +0 -1
- package/dist/pine-core/p-DtKEcQXo.system.js.map +0 -1
- package/dist/pine-core/p-DtgUQhjl.js.map +0 -1
- package/dist/pine-core/p-DuIwxDGo.system.js.map +0 -1
- package/dist/pine-core/p-KgPSFwRc.system.js.map +0 -1
- package/dist/pine-core/p-QYCDCKN2.js +0 -3
- package/dist/pine-core/p-QYCDCKN2.js.map +0 -1
- package/dist/pine-core/p-YWpyar7R.system.js.map +0 -1
- package/dist/pine-core/p-a6ab979f.system.entry.js +0 -2
- package/dist/pine-core/p-a6ab979f.system.entry.js.map +0 -1
- package/dist/pine-core/p-a80f68ce.entry.js +0 -2
- package/dist/pine-core/p-a80f68ce.entry.js.map +0 -1
- package/dist/pine-core/p-a81aa273.system.entry.js +0 -2
- package/dist/pine-core/p-a81aa273.system.entry.js.map +0 -1
- package/dist/pine-core/p-a896db32.system.entry.js +0 -2
- package/dist/pine-core/p-a896db32.system.entry.js.map +0 -1
- package/dist/pine-core/p-ac2900e1.system.entry.js +0 -2
- package/dist/pine-core/p-ac2900e1.system.entry.js.map +0 -1
- package/dist/pine-core/p-acf6592f.system.entry.js +0 -2
- package/dist/pine-core/p-acf6592f.system.entry.js.map +0 -1
- package/dist/pine-core/p-ad2bb5e4.entry.js +0 -2
- package/dist/pine-core/p-ad2bb5e4.entry.js.map +0 -1
- package/dist/pine-core/p-ae80a5cc.system.entry.js +0 -2
- package/dist/pine-core/p-ae80a5cc.system.entry.js.map +0 -1
- package/dist/pine-core/p-b294a16b.entry.js +0 -2
- package/dist/pine-core/p-b294a16b.entry.js.map +0 -1
- package/dist/pine-core/p-b37b3ad2.entry.js +0 -2
- package/dist/pine-core/p-b37b3ad2.entry.js.map +0 -1
- package/dist/pine-core/p-b42320fe.entry.js +0 -2
- package/dist/pine-core/p-b42320fe.entry.js.map +0 -1
- package/dist/pine-core/p-b4c51353.system.entry.js +0 -2
- package/dist/pine-core/p-b4c51353.system.entry.js.map +0 -1
- package/dist/pine-core/p-b611b9ab.system.entry.js +0 -2
- package/dist/pine-core/p-b611b9ab.system.entry.js.map +0 -1
- package/dist/pine-core/p-b7342b09.entry.js +0 -2
- package/dist/pine-core/p-b7342b09.entry.js.map +0 -1
- package/dist/pine-core/p-c53bfe6e.entry.js +0 -2
- package/dist/pine-core/p-c53bfe6e.entry.js.map +0 -1
- package/dist/pine-core/p-c7259d80.system.entry.js.map +0 -1
- package/dist/pine-core/p-cb9b6ccc.system.entry.js +0 -2
- package/dist/pine-core/p-cb9b6ccc.system.entry.js.map +0 -1
- package/dist/pine-core/p-cc7e0da3.entry.js +0 -2
- package/dist/pine-core/p-cc7e0da3.entry.js.map +0 -1
- package/dist/pine-core/p-cd6b266c.system.entry.js +0 -2
- package/dist/pine-core/p-cd6b266c.system.entry.js.map +0 -1
- package/dist/pine-core/p-ce4de7f0.system.entry.js +0 -2
- package/dist/pine-core/p-ce4de7f0.system.entry.js.map +0 -1
- package/dist/pine-core/p-cfebee75.system.entry.js +0 -2
- package/dist/pine-core/p-cfebee75.system.entry.js.map +0 -1
- package/dist/pine-core/p-d5ba377c.system.entry.js +0 -2
- package/dist/pine-core/p-d5ba377c.system.entry.js.map +0 -1
- package/dist/pine-core/p-d83e411d.entry.js +0 -2
- package/dist/pine-core/p-d83e411d.entry.js.map +0 -1
- package/dist/pine-core/p-d96c3850.entry.js +0 -2
- package/dist/pine-core/p-d96c3850.entry.js.map +0 -1
- package/dist/pine-core/p-e2c42a2e.system.entry.js +0 -2
- package/dist/pine-core/p-e2c42a2e.system.entry.js.map +0 -1
- package/dist/pine-core/p-e4f66d23.system.entry.js +0 -2
- package/dist/pine-core/p-e4f66d23.system.entry.js.map +0 -1
- package/dist/pine-core/p-e626cbd5.system.entry.js +0 -2
- package/dist/pine-core/p-e626cbd5.system.entry.js.map +0 -1
- package/dist/pine-core/p-e65b1e5f.system.entry.js +0 -2
- package/dist/pine-core/p-e65b1e5f.system.entry.js.map +0 -1
- package/dist/pine-core/p-e9e4e7f9.system.entry.js +0 -2
- package/dist/pine-core/p-e9e4e7f9.system.entry.js.map +0 -1
- package/dist/pine-core/p-ec7f210f.entry.js +0 -2
- package/dist/pine-core/p-ec7f210f.entry.js.map +0 -1
- package/dist/pine-core/p-ef155f8e.system.entry.js +0 -2
- package/dist/pine-core/p-ef155f8e.system.entry.js.map +0 -1
- package/dist/pine-core/p-f9a46770.system.entry.js +0 -2
- package/dist/pine-core/p-f9a46770.system.entry.js.map +0 -1
- package/dist/pine-core/p-fa68509f.entry.js +0 -2
- package/dist/pine-core/p-fa68509f.entry.js.map +0 -1
- package/dist/pine-core/p-fc2789df.system.entry.js +0 -2
- package/dist/pine-core/p-fc2789df.system.entry.js.map +0 -1
- package/dist/pine-core/p-fcea314c.system.entry.js +0 -2
- package/dist/pine-core/p-fcea314c.system.entry.js.map +0 -1
- package/dist/pine-core/p-kYMYDfJY.system.js.map +0 -1
- package/dist/pine-core/p-lXz5a0gw.system.js.map +0 -1
- package/dist/pine-core/p-tJa4KYNO.js.map +0 -1
- package/dist/pine-core/p-yb-SBJqk.system.js.map +0 -1
- package/dist/pine-core/pds-accordion.entry.esm.js.map +0 -1
- package/dist/pine-core/pds-alert.entry.esm.js.map +0 -1
- package/dist/pine-core/pds-avatar.entry.esm.js.map +0 -1
- package/dist/pine-core/pds-box.entry.esm.js.map +0 -1
- package/dist/pine-core/pds-button.entry.esm.js.map +0 -1
- package/dist/pine-core/pds-checkbox.entry.esm.js.map +0 -1
- package/dist/pine-core/pds-chip.entry.esm.js.map +0 -1
- package/dist/pine-core/pds-combobox.entry.esm.js.map +0 -1
- package/dist/pine-core/pds-container.entry.esm.js.map +0 -1
- package/dist/pine-core/pds-copytext.entry.esm.js.map +0 -1
- package/dist/pine-core/pds-divider.entry.esm.js.map +0 -1
- package/dist/pine-core/pds-dropdown-menu-item.entry.esm.js.map +0 -1
- package/dist/pine-core/pds-dropdown-menu-separator.entry.esm.js.map +0 -1
- package/dist/pine-core/pds-dropdown-menu.entry.esm.js.map +0 -1
- package/dist/pine-core/pds-filter.entry.esm.js.map +0 -1
- package/dist/pine-core/pds-filters.entry.esm.js.map +0 -1
- package/dist/pine-core/pds-icon.entry.esm.js.map +0 -1
- package/dist/pine-core/pds-image.entry.esm.js.map +0 -1
- package/dist/pine-core/pds-input.entry.esm.js.map +0 -1
- package/dist/pine-core/pds-link.entry.esm.js.map +0 -1
- package/dist/pine-core/pds-loader.entry.esm.js.map +0 -1
- package/dist/pine-core/pds-modal-content.entry.esm.js.map +0 -1
- package/dist/pine-core/pds-modal-footer.entry.esm.js.map +0 -1
- package/dist/pine-core/pds-modal-header.entry.esm.js.map +0 -1
- package/dist/pine-core/pds-modal.entry.esm.js.map +0 -1
- package/dist/pine-core/pds-multiselect.entry.esm.js.map +0 -1
- package/dist/pine-core/pds-popover.entry.esm.js.map +0 -1
- package/dist/pine-core/pds-progress.entry.esm.js.map +0 -1
- package/dist/pine-core/pds-property.entry.esm.js.map +0 -1
- package/dist/pine-core/pds-radio-group.entry.esm.js.map +0 -1
- package/dist/pine-core/pds-radio.entry.esm.js.map +0 -1
- package/dist/pine-core/pds-row.entry.esm.js.map +0 -1
- package/dist/pine-core/pds-select.entry.esm.js.map +0 -1
- package/dist/pine-core/pds-sortable-item.entry.esm.js.map +0 -1
- package/dist/pine-core/pds-sortable.entry.esm.js.map +0 -1
- package/dist/pine-core/pds-switch.entry.esm.js.map +0 -1
- package/dist/pine-core/pds-tab.entry.esm.js.map +0 -1
- package/dist/pine-core/pds-table-body.entry.esm.js.map +0 -1
- package/dist/pine-core/pds-table-cell.entry.esm.js.map +0 -1
- package/dist/pine-core/pds-table-head-cell.entry.esm.js.map +0 -1
- package/dist/pine-core/pds-table-head.entry.esm.js.map +0 -1
- package/dist/pine-core/pds-table-row.entry.esm.js.map +0 -1
- package/dist/pine-core/pds-table.entry.esm.js.map +0 -1
- package/dist/pine-core/pds-tabpanel.entry.esm.js.map +0 -1
- package/dist/pine-core/pds-tabs.entry.esm.js.map +0 -1
- package/dist/pine-core/pds-text.entry.esm.js.map +0 -1
- package/dist/pine-core/pds-textarea.entry.esm.js.map +0 -1
- package/dist/pine-core/pds-toast.entry.esm.js.map +0 -1
- package/dist/pine-core/pds-tooltip.entry.esm.js.map +0 -1
- package/dist/pine-core/pine-core.esm.js.map +0 -1
- package/dist/scripts/vscode-custom-data-generator.js.map +0 -1
- package/dist/vscode.html-data.json +0 -10551
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"p-C6LTEDPh.system.js","sources":["src/components/pds-table/pds-table-cell/pds-table-cell.scss?tag=pds-table-cell&encapsulation=shadow","src/components/pds-table/pds-table-cell/pds-table-cell.tsx"],"sourcesContent":[":host {\n /* stylelint-disable-next-line pine-design-system/no-hardcoded-colors */\n --box-shadow-fixed: 3px 3px 6px -2px rgba(0, 0, 0, 0.2);\n\n color: var(--pine-color-text);\n display: table-cell;\n font-family: var(--pine-font-family-body);\n font-size: var(--pine-font-size);\n font-weight: var(--pine-font-weight-regular);\n inset-inline-start: var(--pine-dimension-none);\n letter-spacing: var(--pine-letter-spacing);\n line-height: var(--pine-line-height-body);\n padding: var(--pine-dimension-sm);\n vertical-align: middle;\n}\n\n:host(.is-compact) {\n padding-block: var(--pine-dimension-2xs)\n}\n\n:host(.is-fixed) {\n background: var(--pine-color-background-container);\n inset-inline-start: 0;\n position: sticky;\n z-index: var(--pine-z-index-raised);\n}\n\n// Flip shadow toward scrollable content when fixed column is on the inline-end edge.\n:host-context([dir='rtl']) {\n /* stylelint-disable-next-line pine-design-system/no-hardcoded-colors */\n --box-shadow-fixed: -3px 3px 6px -2px rgba(0, 0, 0, 0.2);\n}\n\n// box shadow when table has scrolled and cell is fixed\n:host(.has-scrolled.is-fixed) {\n box-shadow: var(--box-shadow-fixed);\n}\n\n:host(.is-truncated) {\n max-width: var(--pds-table-cell-truncate-max-width, 100px);\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n:host(.has-checkbox) {\n vertical-align: middle;\n width: 16px;\n}\n\n// Text Alignment\n:host(.pds-table-cell--align-start) {\n text-align: start;\n}\n\n:host(.pds-table-cell--align-center) {\n text-align: center;\n}\n\n:host(.pds-table-cell--align-end) {\n text-align: end;\n}\n\n:host(.pds-table-cell--align-justify) {\n text-align: justify;\n}\n","import { Component, Element, Host, Prop, State, Watch, h } from '@stencil/core';\nimport { isScrolledFromInlineStart } from '../../../utils/scroll';\nimport { setupTruncationTooltip } from '../../../utils/truncation-tooltip';\n\n@Component({\n tag: 'pds-table-cell',\n styleUrls: ['pds-table-cell.scss'],\n shadow: true,\n})\nexport class PdsTableCell {\n @Element() hostElement: HTMLPdsTableCellElement;\n private tableRef: HTMLPdsTableElement;\n private scrollContainer: HTMLElement | null = null;\n private setupTimer: number | undefined;\n private setupRetries: number = 0;\n private truncationCleanup: (() => void) | null = null;\n\n componentWillRender() {\n this.tableRef = this.hostElement.closest('pds-table') as HTMLPdsTableElement;\n }\n\n componentDidLoad() {\n if (this.tableRef && this.tableRef.responsive && this.tableRef.fixedColumn) {\n // For responsive tables with fixed columns, set up scroll detection\n // This enables the first column to show a shadow when the table is scrolled horizontally\n this.setupScrollListener();\n }\n\n if (this.truncate) {\n this.initTruncationTooltip();\n }\n }\n\n disconnectedCallback() {\n this.cleanupScrollListener();\n this.destroyTruncationTooltip();\n }\n\n private setupScrollListener() {\n if (!this.tableRef) return;\n\n // Query shadowRoot once and cache the container\n const container = this.tableRef.shadowRoot?.querySelector('.pds-table-responsive-container') as HTMLElement;\n\n if (container) {\n // Container available immediately\n this.scrollContainer = container;\n this.scrollContainer.addEventListener('scroll', this.handleScroll, { passive: true });\n this.handleScroll(); // Initial check\n this.setupRetries = 0; // Reset counter on success\n } else {\n // Container not ready, set up timer for retry with bounds\n this.setupTimer = window.setTimeout(() => {\n if (this.scrollContainer) return; // Already found\n this.setupRetries = (this.setupRetries || 0) + 1;\n if (this.setupRetries <= 50) {\n this.setupScrollListener();\n } else {\n console.warn('Failed to find responsive container after 50 attempts');\n }\n }, 100);\n }\n }\n\n private cleanupScrollListener() {\n if (this.scrollContainer) {\n this.scrollContainer.removeEventListener('scroll', this.handleScroll);\n this.scrollContainer = null;\n }\n\n if (this.setupTimer !== undefined) {\n window.clearTimeout(this.setupTimer);\n this.setupTimer = undefined;\n }\n\n this.setupRetries = 0; // Reset retry counter\n }\n\n /**\n * Sets the text alignment within the cell.\n */\n @Prop() cellAlign?: 'start' | 'center' | 'end' | 'justify';\n\n /**\n * Truncates content to a max width and adds an ellipsis.\n * When text overflows, a tooltip showing the full text will appear on hover/focus.\n * Note: When truncate is enabled, the element automatically receives tabindex=\"0\" for keyboard accessibility.\n */\n @Prop() truncate: boolean;\n\n @Watch('truncate')\n handleTruncateChange(newValue: boolean) {\n if (newValue) {\n this.initTruncationTooltip();\n } else {\n this.destroyTruncationTooltip();\n }\n }\n\n /**\n * Determines if the table is currently scrolling.\n * @defaultValue false\n */\n @State() private tableScrolling: boolean = false;\n\n private initTruncationTooltip() {\n this.destroyTruncationTooltip();\n\n this.truncationCleanup = setupTruncationTooltip({\n hostEl: this.hostElement,\n contentEl: this.hostElement,\n getTooltipText: () => this.hostElement.textContent || '',\n });\n }\n\n private destroyTruncationTooltip() {\n if (this.truncationCleanup) {\n this.truncationCleanup();\n this.truncationCleanup = null;\n }\n }\n\n private classNames() {\n const classNames = [];\n\n if (this.tableRef && this.tableRef.compact) {\n classNames.push('is-compact');\n }\n\n if (this.cellAlign) {\n classNames.push(`pds-table-cell--align-${this.cellAlign}`);\n }\n\n if (this.truncate) {\n classNames.push('is-truncated');\n }\n\n if (this.tableRef && this.tableRef.fixedColumn && this.tableScrolling) {\n classNames.push('has-scrolled');\n }\n\n return classNames.join(' ');\n }\n\n /**\n * Handles scroll events to update fixed column shadow state.\n * Updates the tableScrolling state to control CSS classes for fixed column shadows.\n * @private\n */\n private handleScroll = () => {\n if (!this.scrollContainer) {\n return;\n }\n\n try {\n this.tableScrolling = isScrolledFromInlineStart(this.scrollContainer);\n } catch (error) {\n console.warn('Scroll handler error:', error);\n }\n };\n\n render() {\n return (\n <Host\n class={this.classNames()}\n role=\"gridcell\"\n part=\"cell\"\n tabIndex={this.truncate ? 0 : undefined}\n style={\n this.tableRef &&\n this.tableRef.fixedColumn &&\n this.tableRef.selectable\n ? { '--fixed-cell-position': '40px' }\n : {}\n }\n >\n <slot></slot>\n </Host>\n );\n }\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"p-C8wBjwhX.system.js","sources":["src/components/pds-box/pds-box.scss?tag=pds-box","src/components/pds-box/pds-box.tsx"],"sourcesContent":["@use './pds-box.mixins' as *;\n\npds-box {\n --border-width-default: var(--pine-border-width-thin);\n --color-background-box: inherit;\n --color-border-box: inherit;\n\n display: block;\n}\n\n[class*='pds-box'] {\n background-color: var(--color-background-box);\n box-sizing: border-box;\n display: inline-flex;\n\n &[min-height] {\n min-height: var(--sizing-min-height-box);\n }\n\n &[min-width] {\n min-width: var(--sizing-min-width-box);\n }\n\n // The immediate child of the row will fit the width of the row\n .pds-row > & {\n position: relative;\n width: 100%;\n\n &.pds-box--auto {\n width: auto;\n }\n }\n}\n\n// Spacing mixin\n$pine-spacing-tokens: (\n xxs: 4px,\n xs: 8px,\n sm: 16px,\n md: 24px,\n lg: 36px,\n xl: 48px,\n xxl: 64px,\n);\n\n// Generate spacing classes\n@include generate-spacing-classes(false, $pine-spacing-tokens);\n@include generate-spacing-classes('top', $pine-spacing-tokens);\n@include generate-spacing-classes('right', $pine-spacing-tokens);\n@include generate-spacing-classes('left', $pine-spacing-tokens);\n@include generate-spacing-classes('bottom', $pine-spacing-tokens);\n\n// Base offset classes\n@include generate-column-offsets(false, 12);\n\n// Responsive offset classes\n@media (max-width: 575px) {\n @include generate-column-offsets('xs', 12);\n}\n\n@media (min-width: 576px) {\n @include generate-column-offsets('sm', 12);\n}\n\n@media (min-width: 768px) {\n @include generate-column-offsets('md', 12);\n}\n\n@media (min-width: 992px) {\n @include generate-column-offsets('lg', 12);\n}\n\n@media (min-width: 1200px) {\n @include generate-column-offsets('xl', 12);\n}\n\n\n// Base column width classes\n@include generate-columns(false, 12);\n\n// Responsive column width classes\n@media (max-width: 575px) {\n @include generate-columns('xs', 12);\n}\n\n@media (min-width: 576px) {\n @include generate-columns('sm', 12);\n}\n\n@media (min-width: 768px) {\n @include generate-columns('md', 12);\n}\n\n@media (min-width: 992px) {\n @include generate-columns('lg', 12);\n}\n\n@media (min-width: 1200px) {\n @include generate-columns('xl', 12);\n}\n\n.pds-box {\n flex-basis: 0;\n flex-grow: 1;\n}\n\n.pds-row > .pds-box[class*='pds-box-'] {\n flex-basis: auto;\n}\n\n.pds-box--auto {\n flex: 0 0 var(--sizing-min-width-box, fit-content);\n min-width: auto;\n width: auto;\n}\n\n.pds-box--fit {\n max-width: 100%;\n min-width: 100%;\n width: 100%;\n}\n\n.pds-box--border {\n border-color: var(--color-border-box, var(--pine-color-border));\n border-style: solid;\n border-width: var(--border-width-default);\n}\n\n// Display helpers\n.pds-box--display-flex {\n display: flex;\n}\n\n.pds-box--display-inline-flex {\n display: inline-flex;\n}\n\n.pds-box--display-block {\n display: block;\n}\n\n.pds-box--display-inline-block {\n display: inline-block;\n}\n\n// Flex helpers\n.pds-box--flex-none {\n flex: 0 0 auto;\n}\n\n.pds-box--flex-grow {\n flex: 1 1 auto\n}\n\n.pds-box--flex-shrink {\n flex: 0 0 auto;\n}\n\n// Border radius helpers\n.pds-border-radius-none {\n border-radius: 0;\n}\n\n.pds-border-radius-xs {\n border-radius: var(--pine-dimension-2xs);\n}\n\n.pds-border-radius-sm {\n border-radius: var(--pine-dimension-xs);\n}\n\n.pds-border-radius-md {\n border-radius: var(--pine-dimension-125);\n}\n\n.pds-border-radius-lg {\n border-radius: var(--pine-dimension-sm);\n}\n\n.pds-border-radius-circle {\n border-radius: var(--pine-border-radius-full);\n}\n\n// Box shadow helpers\n.pds-shadow-050 {\n box-shadow: var(--pine-box-shadow-050);\n}\n\n.pds-shadow-100 {\n box-shadow: var(--pine-box-shadow-100);\n}\n\n.pds-shadow-150 {\n box-shadow: var(--pine-box-shadow-150);\n}\n\n.pds-shadow-200 {\n box-shadow: var(--pine-box-shadow-200);\n}\n\n.pds-shadow-300 {\n box-shadow: var(--pine-box-shadow-300);\n}\n\n.pds-shadow-400 {\n box-shadow: var(--pine-box-shadow-400);\n}\n\n.pds-shadow-500 {\n box-shadow: var(--pine-box-shadow-500);\n}\n\n\n.pds-shadow-xs {\n box-shadow: var(--pine-box-shadow-050);\n}\n\n.pds-shadow-sm {\n box-shadow: var(--pine-box-shadow-100);\n}\n\n.pds-shadow-md {\n box-shadow: var(--pine-box-shadow-150);\n}\n\n.pds-shadow-lg {\n box-shadow: var(--pine-box-shadow-200);\n}\n\n// Spacing values map - includes semantic sizes and numeric tokens\n// Used for gap, margin, and padding helpers\n$spacing-values: (\n 'none': 0,\n 'xxs': var(--pine-dimension-2xs),\n 'xs': var(--pine-dimension-xs),\n 'sm': var(--pine-dimension-sm),\n 'md': var(--pine-dimension-md),\n 'lg': var(--pine-dimension-lg),\n 'xl': var(--pine-dimension-xl),\n 'xxl': var(--pine-dimension-2xl),\n '025': var(--pine-dimension-025),\n '050': var(--pine-dimension-050),\n '100': var(--pine-dimension-100),\n '125': var(--pine-dimension-125),\n '150': var(--pine-dimension-150),\n '200': var(--pine-dimension-200),\n '250': var(--pine-dimension-250),\n '300': var(--pine-dimension-300),\n '350': var(--pine-dimension-350),\n '400': var(--pine-dimension-400),\n '450': var(--pine-dimension-450),\n '500': var(--pine-dimension-500),\n '550': var(--pine-dimension-550),\n '600': var(--pine-dimension-600),\n '650': var(--pine-dimension-650),\n '700': var(--pine-dimension-700),\n '750': var(--pine-dimension-750),\n '800': var(--pine-dimension-800)\n);\n\n// Gap helpers\n@each $name, $value in $spacing-values {\n .pds-box-gap-#{$name} {\n gap: $value;\n }\n}\n\n// Margin helpers\n@each $name, $value in $spacing-values {\n .pds-margin-block-start-#{$name} {\n margin-block-start: $value;\n }\n}\n\n@each $name, $value in $spacing-values {\n .pds-margin-inline-start-#{$name} {\n margin-inline-start: $value;\n }\n}\n\n@each $name, $value in $spacing-values {\n .pds-margin-inline-end-#{$name} {\n margin-inline-end: $value;\n }\n}\n\n@each $name, $value in $spacing-values {\n .pds-margin-block-end-#{$name} {\n margin-block-end: $value;\n }\n}\n\n// Padding helpers\n@each $name, $value in $spacing-values {\n .pds-padding-#{$name} {\n padding: $value;\n }\n}\n\n// Padding block start helpers\n@each $name, $value in $spacing-values {\n .pds-padding-block-start-#{$name} {\n padding-block-start: $value;\n }\n}\n\n// Padding block end helpers\n@each $name, $value in $spacing-values {\n .pds-padding-block-end-#{$name} {\n padding-block-end: $value;\n }\n}\n\n// Padding inline start helpers\n@each $name, $value in $spacing-values {\n .pds-padding-inline-start-#{$name} {\n padding-inline-start: $value;\n }\n}\n\n// Padding inline end helpers\n@each $name, $value in $spacing-values {\n .pds-padding-inline-end-#{$name} {\n padding-inline-end: $value;\n }\n}\n\n\n// Display helpers\n.pds-box-display-block {\n display: block;\n}\n\n.pds-box-display-inline-block {\n display: inline-block;\n}\n\n.pds-box-display-flex {\n display: flex;\n}\n\n.pds-box-display-inline-flex {\n display: inline-flex;\n}\n\n// Flex Direction helpers\n.pds-box-direction-row {\n flex-direction: row;\n}\n\n.pds-box-direction-column {\n flex-direction: column;\n}\n\n// Flex Wrap helpers\n.pds-box--wrap {\n flex-wrap: wrap;\n}\n\n// Maps for flex properties\n$justify-content-values: (\n 'start': start,\n 'center': center,\n 'end': end,\n 'space-between': space-between,\n 'space-around': space-around,\n 'space-evenly': space-evenly\n);\n\n$align-items-values: (\n 'start': start,\n 'center': center,\n 'end': end,\n 'baseline': baseline,\n 'stretch': stretch\n);\n\n$align-self-values: (\n 'start': start,\n 'center': center,\n 'end': end,\n 'baseline': baseline,\n 'stretch': stretch\n);\n\n$breakpoints: (\n 'xs': '(max-width: 575px)',\n 'sm': '(min-width: 576px)',\n 'md': '(min-width: 768px)',\n 'lg': '(min-width: 992px)',\n 'xl': '(min-width: 1200px)'\n);\n\n// Justify Content helpers\n@each $name, $value in $justify-content-values {\n .pds-justify-content-#{$name} {\n justify-content: $value;\n }\n}\n\n// Responsive Justify Content helpers\n@each $breakpoint-name, $breakpoint-value in $breakpoints {\n @media #{$breakpoint-value} {\n @each $name, $value in $justify-content-values {\n .pds-justify-content-#{$breakpoint-name}-#{$name} {\n justify-content: $value;\n }\n }\n }\n}\n\n// Align Items helpers\n@each $name, $value in $align-items-values {\n .pds-align-items-#{$name} {\n align-items: $value;\n }\n}\n\n// Responsive Align Items helpers\n@each $breakpoint-name, $breakpoint-value in $breakpoints {\n @media #{$breakpoint-value} {\n @each $name, $value in $align-items-values {\n .pds-align-items-#{$breakpoint-name}-#{$name} {\n align-items: $value;\n }\n }\n }\n}\n\n// Align Self helpers\n@each $name, $value in $align-self-values {\n .pds-align-self-#{$name} {\n align-self: $value;\n }\n}\n\n// Responsive Align Self helpers\n@each $breakpoint-name, $breakpoint-value in $breakpoints {\n @media #{$breakpoint-value} {\n @each $name, $value in $align-self-values {\n .pds-align-self-#{$breakpoint-name}-#{$name} {\n align-self: $value;\n }\n }\n }\n}\n\n// Responsive Flex Wrap helpers\n@each $breakpoint-name, $breakpoint-value in $breakpoints {\n @media #{$breakpoint-value} {\n .pds-box--wrap-#{$breakpoint-name} {\n flex-wrap: wrap;\n }\n }\n}\n\n// Responsive Auto helpers\n@each $breakpoint-name, $breakpoint-value in $breakpoints {\n @media #{$breakpoint-value} {\n .pds-box--auto-#{$breakpoint-name} {\n flex: 0 0 var(--sizing-min-width-box, fit-content);\n min-width: auto;\n width: auto;\n }\n }\n}\n\n// Responsive Fit helpers\n@each $breakpoint-name, $breakpoint-value in $breakpoints {\n @media #{$breakpoint-value} {\n .pds-box--fit-#{$breakpoint-name} {\n max-width: 100%;\n min-width: 100%;\n width: 100%;\n }\n }\n}\n\n// Responsive Gap helpers\n@each $breakpoint-name, $breakpoint-value in $breakpoints {\n @media #{$breakpoint-value} {\n @each $name, $value in $spacing-values {\n .pds-box-gap-#{$breakpoint-name}-#{$name} {\n gap: $value;\n }\n }\n }\n}\n\n// Responsive Margin helpers\n@each $breakpoint-name, $breakpoint-value in $breakpoints {\n @media #{$breakpoint-value} {\n @each $name, $value in $spacing-values {\n .pds-margin-block-start-#{$breakpoint-name}-#{$name} {\n margin-block-start: $value;\n }\n\n .pds-margin-inline-start-#{$breakpoint-name}-#{$name} {\n margin-inline-start: $value;\n }\n\n .pds-margin-inline-end-#{$breakpoint-name}-#{$name} {\n margin-inline-end: $value;\n }\n\n .pds-margin-block-end-#{$breakpoint-name}-#{$name} {\n margin-block-end: $value;\n }\n }\n }\n}\n\n// Responsive Padding helpers\n@each $breakpoint-name, $breakpoint-value in $breakpoints {\n @media #{$breakpoint-value} {\n @each $name, $value in $spacing-values {\n .pds-padding-#{$breakpoint-name}-#{$name} {\n padding: $value;\n }\n\n .pds-padding-block-start-#{$breakpoint-name}-#{$name} {\n padding-block-start: $value;\n }\n\n .pds-padding-block-end-#{$breakpoint-name}-#{$name} {\n padding-block-end: $value;\n }\n\n .pds-padding-inline-start-#{$breakpoint-name}-#{$name} {\n padding-inline-start: $value;\n }\n\n .pds-padding-inline-end-#{$breakpoint-name}-#{$name} {\n padding-inline-end: $value;\n }\n }\n }\n}\n","import { Component, h, Host, Prop } from '@stencil/core';\n\nimport { BoxColumnType, BoxSpacingType, BoxShadowSizeType } from '../../utils/types';\nimport { normalizeColorValue } from '../../utils/utils';\n\n@Component({\n tag: 'pds-box',\n styleUrl: 'pds-box.scss',\n})\nexport class PdsBox {\n /**\n * Defines how items within the box are aligned.\n * @defaultValue stretch\n */\n @Prop() alignItems?: `start` | `center` | `end` | `baseline` | `stretch` ;\n\n /**\n * Defines how items within the box are aligned at the XS breakpoint.\n * @defaultValue stretch\n */\n @Prop() alignItemsXs?: `start` | `center` | `end` | `baseline` | `stretch`;\n\n /**\n * Defines how items within the box are aligned at the SM breakpoint.\n * @defaultValue stretch\n */\n @Prop() alignItemsSm?: `start` | `center` | `end` | `baseline` | `stretch`;\n\n /**\n * Defines how items within the box are aligned at the MD breakpoint.\n * @defaultValue stretch\n */\n @Prop() alignItemsMd?: `start` | `center` | `end` | `baseline` | `stretch`;\n\n /**\n * Defines how items within the box are aligned at the LG breakpoint.\n * @defaultValue stretch\n */\n @Prop() alignItemsLg?: `start` | `center` | `end` | `baseline` | `stretch`;\n\n /**\n * Defines how items within the box are aligned at the XL breakpoint.\n * @defaultValue stretch\n */\n @Prop() alignItemsXl?: `start` | `center` | `end` | `baseline` | `stretch`;\n\n /**\n * Defines how the box is aligned within its container.\n * @defaultValue stretch\n */\n @Prop() alignSelf?: `start` | `center` | `end` | `baseline` | `stretch`;\n\n /**\n * Defines how the box is aligned within its container at the XS breakpoint.\n *\n */\n @Prop() alignSelfXs?: `start` | `center` | `end` | `baseline` | `stretch`;\n\n /**\n * Defines how the box is aligned within its container at the SM breakpoint.\n *\n */\n @Prop() alignSelfSm?: `start` | `center` | `end` | `baseline` | `stretch`;\n\n /**\n * Defines how the box is aligned within its container at the MD breakpoint.\n *\n */\n @Prop() alignSelfMd?: `start` | `center` | `end` | `baseline` | `stretch`;\n\n /**\n * Defines how the box is aligned within its container at the LG breakpoint.\n *\n */\n @Prop() alignSelfLg?: `start` | `center` | `end` | `baseline` | `stretch`;\n\n /**\n * Defines how the box is aligned within its container at the XL breakpoint.\n *\n */\n @Prop() alignSelfXl?: `start` | `center` | `end` | `baseline` | `stretch`;\n\n /**\n * If `true`, the box will be sized to fit its contents.\n */\n @Prop() auto?: boolean;\n\n /**\n * If `true`, the box will be sized to fit its contents at the XS breakpoint.\n */\n @Prop() autoXs?: boolean;\n\n /**\n * If `true`, the box will be sized to fit its contents at the SM breakpoint.\n */\n @Prop() autoSm?: boolean;\n\n /**\n * If `true`, the box will be sized to fit its contents at the MD breakpoint.\n */\n @Prop() autoMd?: boolean;\n\n /**\n * If `true`, the box will be sized to fit its contents at the LG breakpoint.\n */\n @Prop() autoLg?: boolean;\n\n /**\n * If `true`, the box will be sized to fit its contents at the XL breakpoint.\n */\n @Prop() autoXl?: boolean;\n\n /**\n * Defines the background-color of the box.\n */\n @Prop() backgroundColor?: string;\n\n /**\n * If `true`, the box will have a border.\n */\n @Prop() border? = false;\n\n /**\n * Defines the border color of the box.\n */\n @Prop() borderColor?: string;\n\n /**\n * Defines how rounded the box corners are.\n * @defaultValue none\n */\n @Prop() borderRadius?: `none` | `xs`| `sm` | `md` | `lg` | `circle`;\n\n /**\n * Defines the orientation of the box items.\n * @defaultValue row\n */\n @Prop() direction?: `row` | `column`;\n\n /**\n * Defines the display style of the box.\n * @defaultValue flex\n */\n @Prop() display?: `flex` | `inline-flex` | `block` | `inline-block`;\n\n /**\n * If `true`, sets the box `max-width` to `100%`.\n */\n @Prop() fit?: boolean;\n\n /**\n * If `true`, sets the box `max-width` to `100%` at the XS breakpoint.\n */\n @Prop() fitXs?: boolean;\n\n /**\n * If `true`, sets the box `max-width` to `100%` at the SM breakpoint.\n */\n @Prop() fitSm?: boolean;\n\n /**\n * If `true`, sets the box `max-width` to `100%` at the MD breakpoint.\n */\n @Prop() fitMd?: boolean;\n\n /**\n * If `true`, sets the box `max-width` to `100%` at the LG breakpoint.\n */\n @Prop() fitLg?: boolean;\n\n /**\n * If `true`, sets the box `max-width` to `100%` at the XL breakpoint.\n */\n @Prop() fitXl?: boolean;\n\n /**\n * Defines the spacing between the box items.\n * @defaultValue none\n */\n @Prop() gap?: BoxSpacingType;\n\n /**\n * Defines the spacing between the box items at the XS breakpoint.\n * @defaultValue none\n */\n @Prop() gapXs?: BoxSpacingType;\n\n /**\n * Defines the spacing between the box items at the SM breakpoint.\n * @defaultValue none\n */\n @Prop() gapSm?: BoxSpacingType;\n\n /**\n * Defines the spacing between the box items at the MD breakpoint.\n * @defaultValue none\n */\n @Prop() gapMd?: BoxSpacingType;\n\n /**\n * Defines the spacing between the box items at the LG breakpoint.\n * @defaultValue none\n */\n @Prop() gapLg?: BoxSpacingType;\n\n /**\n * Defines the spacing between the box items at the XL breakpoint.\n * @defaultValue none\n */\n @Prop() gapXl?: BoxSpacingType;\n\n /**\n * Defines whether flex items are forced onto one line or can wrap onto multiple lines.\n * @defaultValue false\n */\n @Prop() wrap?: boolean;\n\n /**\n * Defines whether flex items can wrap onto multiple lines at the XS breakpoint.\n * @defaultValue false\n */\n @Prop() wrapXs?: boolean;\n\n /**\n * Defines whether flex items can wrap onto multiple lines at the SM breakpoint.\n * @defaultValue false\n */\n @Prop() wrapSm?: boolean;\n\n /**\n * Defines whether flex items can wrap onto multiple lines at the MD breakpoint.\n * @defaultValue false\n */\n @Prop() wrapMd?: boolean;\n\n /**\n * Defines whether flex items can wrap onto multiple lines at the LG breakpoint.\n * @defaultValue false\n */\n @Prop() wrapLg?: boolean;\n\n /**\n * Defines whether flex items can wrap onto multiple lines at the XL breakpoint.\n * @defaultValue false\n */\n @Prop() wrapXl?: boolean;\n\n /**\n * Defines how a box will grow or shrink to fit the space available in its container.\n * Can be a predefined value ('none', 'grow', 'shrink') or a custom flex value (e.g., '1', '0 1 auto').\n * @defaultValue none\n */\n @Prop() flex?: `none` | `grow` | `shrink` | string;\n\n /**\n * Defines the horizontal alignment of the box items.\n * @defaultValue start\n */\n @Prop() justifyContent?: `start` | `center` | `end` | `space-between` | `space-around` | `space-evenly`;\n\n /**\n * Defines the horizontal alignment of the box items at the XS breakpoint.\n * @defaultValue start\n */\n @Prop() justifyContentXs?: `start` | `center` | `end` | `space-between` | `space-around` | `space-evenly`;\n\n /**\n * Defines the horizontal alignment of the box items at the SM breakpoint.\n * @defaultValue start\n */\n @Prop() justifyContentSm?: `start` | `center` | `end` | `space-between` | `space-around` | `space-evenly`;\n\n /**\n * Defines the horizontal alignment of the box items at the MD breakpoint.\n * @defaultValue start\n */\n @Prop() justifyContentMd?: `start` | `center` | `end` | `space-between` | `space-around` | `space-evenly`;\n\n /**\n * Defines the horizontal alignment of the box items at the LG breakpoint.\n * @defaultValue start\n */\n @Prop() justifyContentLg?: `start` | `center` | `end` | `space-between` | `space-around` | `space-evenly`;\n\n /**\n * Defines the horizontal alignment of the box items at the XL breakpoint.\n * @defaultValue start\n */\n @Prop() justifyContentXl?: `start` | `center` | `end` | `space-between` | `space-around` | `space-evenly`;\n\n /**\n * Defines the box's outer top spacing.\n * @defaultValue none\n */\n @Prop() marginBlockStart?: BoxSpacingType;\n\n /**\n * Defines the box's outer top spacing at the XS breakpoint.\n * @defaultValue none\n */\n @Prop() marginBlockStartXs?: BoxSpacingType;\n\n /**\n * Defines the box's outer top spacing at the SM breakpoint.\n * @defaultValue none\n */\n @Prop() marginBlockStartSm?: BoxSpacingType;\n\n /**\n * Defines the box's outer top spacing at the MD breakpoint.\n * @defaultValue none\n */\n @Prop() marginBlockStartMd?: BoxSpacingType;\n\n /**\n * Defines the box's outer top spacing at the LG breakpoint.\n * @defaultValue none\n */\n @Prop() marginBlockStartLg?: BoxSpacingType;\n\n /**\n * Defines the box's outer top spacing at the XL breakpoint.\n * @defaultValue none\n */\n @Prop() marginBlockStartXl?: BoxSpacingType;\n\n /**\n * Defines the box's outer left spacing.\n * @defaultValue none\n */\n @Prop() marginInlineStart?: BoxSpacingType;\n\n /**\n * Defines the box's outer left spacing at the XS breakpoint.\n * @defaultValue none\n */\n @Prop() marginInlineStartXs?: BoxSpacingType;\n\n /**\n * Defines the box's outer left spacing at the SM breakpoint.\n * @defaultValue none\n */\n @Prop() marginInlineStartSm?: BoxSpacingType;\n\n /**\n * Defines the box's outer left spacing at the MD breakpoint.\n * @defaultValue none\n */\n @Prop() marginInlineStartMd?: BoxSpacingType;\n\n /**\n * Defines the box's outer left spacing at the LG breakpoint.\n * @defaultValue none\n */\n @Prop() marginInlineStartLg?: BoxSpacingType;\n\n /**\n * Defines the box's outer left spacing at the XL breakpoint.\n * @defaultValue none\n */\n @Prop() marginInlineStartXl?: BoxSpacingType;\n\n /**\n * Defines the box's outer right spacing.\n * @defaultValue none\n */\n @Prop() marginInlineEnd?: BoxSpacingType;\n\n /**\n * Defines the box's outer right spacing at the XS breakpoint.\n * @defaultValue none\n */\n @Prop() marginInlineEndXs?: BoxSpacingType;\n\n /**\n * Defines the box's outer right spacing at the SM breakpoint.\n * @defaultValue none\n */\n @Prop() marginInlineEndSm?: BoxSpacingType;\n\n /**\n * Defines the box's outer right spacing at the MD breakpoint.\n * @defaultValue none\n */\n @Prop() marginInlineEndMd?: BoxSpacingType;\n\n /**\n * Defines the box's outer right spacing at the LG breakpoint.\n * @defaultValue none\n */\n @Prop() marginInlineEndLg?: BoxSpacingType;\n\n /**\n * Defines the box's outer right spacing at the XL breakpoint.\n * @defaultValue none\n */\n @Prop() marginInlineEndXl?: BoxSpacingType;\n\n /**\n * Defines the box's outer bottom spacing.\n * @defaultValue none\n */\n @Prop() marginBlockEnd?: BoxSpacingType;\n\n /**\n * Defines the box's outer bottom spacing at the XS breakpoint.\n * @defaultValue none\n */\n @Prop() marginBlockEndXs?: BoxSpacingType;\n\n /**\n * Defines the box's outer bottom spacing at the SM breakpoint.\n * @defaultValue none\n */\n @Prop() marginBlockEndSm?: BoxSpacingType;\n\n /**\n * Defines the box's outer bottom spacing at the MD breakpoint.\n * @defaultValue none\n */\n @Prop() marginBlockEndMd?: BoxSpacingType;\n\n /**\n * Defines the box's outer bottom spacing at the LG breakpoint.\n * @defaultValue none\n */\n @Prop() marginBlockEndLg?: BoxSpacingType;\n\n /**\n * Defines the box's outer bottom spacing at the XL breakpoint.\n * @defaultValue none\n */\n @Prop() marginBlockEndXl?: BoxSpacingType;\n\n /**\n * The minimum height of the row. Used in conjunction with alignment props\n */\n @Prop({ reflect: true }) minHeight?: string;\n\n /**\n * The minimum width of the row. Used in conjunction with alignment props\n */\n @Prop({ reflect: true }) minWidth?: string;\n\n /**\n * Move columns to the end direction of the row for all screen sizes. Increases the starting margin of a column by specified number of columns.\n */\n @Prop() offset?: BoxColumnType;\n\n /**\n * Move columns to the end direction of the row for `XS` screen sizes. Increases the starting margin of a column by specified number of columns.\n */\n @Prop() offsetXs?: BoxColumnType;\n\n /**\n * Move columns to the end direction of the row for `SM` screen sizes. Increases the starting margin of a column by specified number of columns.\n */\n @Prop() offsetSm?: BoxColumnType;\n\n /**\n * Move columns to the end direction of the row for `MD` screen sizes. Increases the starting margin of a column by specified number of columns.\n */\n @Prop() offsetMd?: BoxColumnType;\n\n /**\n * Move columns to the end direction of the row for `LG` screen sizes. Increases the starting margin of a column by specified number of columns.\n */\n @Prop() offsetLg?: BoxColumnType;\n\n /**\n * Move columns to the end direction of the row for `XL` screen sizes. Increases the starting margin of a column by specified number of columns.\n */\n @Prop() offsetXl?: BoxColumnType;\n\n /**\n * Defines the spacing between the box items.\n * @defaultValue none\n */\n @Prop() padding?: BoxSpacingType;\n\n /**\n * Defines the spacing between the box items at the XS breakpoint.\n * @defaultValue none\n */\n @Prop() paddingXs?: BoxSpacingType;\n\n /**\n * Defines the spacing between the box items at the SM breakpoint.\n * @defaultValue none\n */\n @Prop() paddingSm?: BoxSpacingType;\n\n /**\n * Defines the spacing between the box items at the MD breakpoint.\n * @defaultValue none\n */\n @Prop() paddingMd?: BoxSpacingType;\n\n /**\n * Defines the spacing between the box items at the LG breakpoint.\n * @defaultValue none\n */\n @Prop() paddingLg?: BoxSpacingType;\n\n /**\n * Defines the spacing between the box items at the XL breakpoint.\n * @defaultValue none\n */\n @Prop() paddingXl?: BoxSpacingType;\n\n\n /**\n * Defines the top spacing.\n * @defaultValue none\n */\n @Prop() paddingBlockStart?: BoxSpacingType;\n\n /**\n * Defines the top spacing at the XS breakpoint.\n * @defaultValue none\n */\n @Prop() paddingBlockStartXs?: BoxSpacingType;\n\n /**\n * Defines the top spacing at the SM breakpoint.\n * @defaultValue none\n */\n @Prop() paddingBlockStartSm?: BoxSpacingType;\n\n /**\n * Defines the top spacing at the MD breakpoint.\n * @defaultValue none\n */\n @Prop() paddingBlockStartMd?: BoxSpacingType;\n\n /**\n * Defines the top spacing at the LG breakpoint.\n * @defaultValue none\n */\n @Prop() paddingBlockStartLg?: BoxSpacingType;\n\n /**\n * Defines the top spacing at the XL breakpoint.\n * @defaultValue none\n */\n @Prop() paddingBlockStartXl?: BoxSpacingType;\n\n /**\n * Defines the bottom spacing.\n * @defaultValue none\n */\n @Prop() paddingBlockEnd?: BoxSpacingType;\n\n /**\n * Defines the bottom spacing at the XS breakpoint.\n * @defaultValue none\n */\n @Prop() paddingBlockEndXs?: BoxSpacingType;\n\n /**\n * Defines the bottom spacing at the SM breakpoint.\n * @defaultValue none\n */\n @Prop() paddingBlockEndSm?: BoxSpacingType;\n\n /**\n * Defines the bottom spacing at the MD breakpoint.\n * @defaultValue none\n */\n @Prop() paddingBlockEndMd?: BoxSpacingType;\n\n /**\n * Defines the bottom spacing at the LG breakpoint.\n * @defaultValue none\n */\n @Prop() paddingBlockEndLg?: BoxSpacingType;\n\n /**\n * Defines the bottom spacing at the XL breakpoint.\n * @defaultValue none\n */\n @Prop() paddingBlockEndXl?: BoxSpacingType;\n\n /**\n * Defines the left spacing.\n * @defaultValue none\n */\n @Prop() paddingInlineStart?: BoxSpacingType;\n\n /**\n * Defines the left spacing at the XS breakpoint.\n * @defaultValue none\n */\n @Prop() paddingInlineStartXs?: BoxSpacingType;\n\n /**\n * Defines the left spacing at the SM breakpoint.\n * @defaultValue none\n */\n @Prop() paddingInlineStartSm?: BoxSpacingType;\n\n /**\n * Defines the left spacing at the MD breakpoint.\n * @defaultValue none\n */\n @Prop() paddingInlineStartMd?: BoxSpacingType;\n\n /**\n * Defines the left spacing at the LG breakpoint.\n * @defaultValue none\n */\n @Prop() paddingInlineStartLg?: BoxSpacingType;\n\n /**\n * Defines the left spacing at the XL breakpoint.\n * @defaultValue none\n */\n @Prop() paddingInlineStartXl?: BoxSpacingType;\n\n /**\n * Defines the right spacing.\n * @defaultValue none\n */\n @Prop() paddingInlineEnd?: BoxSpacingType;\n\n /**\n * Defines the right spacing at the XS breakpoint.\n * @defaultValue none\n */\n @Prop() paddingInlineEndXs?: BoxSpacingType;\n\n /**\n * Defines the right spacing at the SM breakpoint.\n * @defaultValue none\n */\n @Prop() paddingInlineEndSm?: BoxSpacingType;\n\n /**\n * Defines the right spacing at the MD breakpoint.\n * @defaultValue none\n */\n @Prop() paddingInlineEndMd?: BoxSpacingType;\n\n /**\n * Defines the right spacing at the LG breakpoint.\n * @defaultValue none\n */\n @Prop() paddingInlineEndLg?: BoxSpacingType;\n\n /**\n * Defines the right spacing at the XL breakpoint.\n * @defaultValue none\n */\n @Prop() paddingInlineEndXl?: BoxSpacingType;\n\n /**\n * Defines the box shadow.\n * @defaultValue none\n */\n @Prop() shadow?: BoxShadowSizeType;\n\n /**\n * Sets the default column width for the component. This value applies from the smallest screen size (XS) upwards, unless overridden by a breakpoint-specific size prop at that breakpoint or larger.\n */\n @Prop() size?: BoxColumnType;\n\n /**\n * At the XS breakpoint, this prop will take the number of columns specified. This overrides the base size prop for this specific range.\n */\n @Prop() sizeXs?: BoxColumnType;\n\n /**\n * At screen sizes from the SM breakpoint and larger (576px and up), this will take the specified number of columns. This overrides any value set by size or sizeXs.\n */\n @Prop() sizeSm?: BoxColumnType;\n\n /**\n * At screen sizes from the MD breakpoint and larger (768px and up), this will take the specified number of columns. This overrides any value set by size, sizeXs, and up.\n */\n @Prop() sizeMd?: BoxColumnType;\n\n /**\n * At screen sizes from the LG breakpoint and larger (992px and up), this will take the specified number of columns. This overrides any value set by size, sizeXs, and up.\n */\n @Prop() sizeLg?: BoxColumnType;\n\n /**\n * At screen sizes from the XL breakpoint and larger (1200px and up), this will take the specified number of columns. This overrides any value set by size, sizeXs, and up.\n */\n @Prop() sizeXl?: BoxColumnType;\n\n\n\n render() {\n const boxClasses = `\n ${this.alignItems !== undefined && this.alignItems.trim() !== '' ? `pds-align-items-${this.alignItems}` : ''}\n ${this.alignItemsXs !== undefined && this.alignItemsXs.trim() !== '' ? `pds-align-items-xs-${this.alignItemsXs}` : ''}\n ${this.alignItemsSm !== undefined && this.alignItemsSm.trim() !== '' ? `pds-align-items-sm-${this.alignItemsSm}` : ''}\n ${this.alignItemsMd !== undefined && this.alignItemsMd.trim() !== '' ? `pds-align-items-md-${this.alignItemsMd}` : ''}\n ${this.alignItemsLg !== undefined && this.alignItemsLg.trim() !== '' ? `pds-align-items-lg-${this.alignItemsLg}` : ''}\n ${this.alignItemsXl !== undefined && this.alignItemsXl.trim() !== '' ? `pds-align-items-xl-${this.alignItemsXl}` : ''}\n ${this.alignSelf !== undefined && this.alignSelf.trim() !== '' ? `pds-align-self-${this.alignSelf}` : ''}\n ${this.alignSelfXs !== undefined && this.alignSelfXs.trim() !== '' ? `pds-align-self-xs-${this.alignSelfXs}` : ''}\n ${this.alignSelfSm !== undefined && this.alignSelfSm.trim() !== '' ? `pds-align-self-sm-${this.alignSelfSm}` : ''}\n ${this.alignSelfMd !== undefined && this.alignSelfMd.trim() !== '' ? `pds-align-self-md-${this.alignSelfMd}` : ''}\n ${this.alignSelfLg !== undefined && this.alignSelfLg.trim() !== '' ? `pds-align-self-lg-${this.alignSelfLg}` : ''}\n ${this.alignSelfXl !== undefined && this.alignSelfXl.trim() !== '' ? `pds-align-self-xl-${this.alignSelfXl}` : ''}\n ${this.auto ? 'pds-box--auto' : ''}\n ${this.autoXs ? 'pds-box--auto-xs' : ''}\n ${this.autoSm ? 'pds-box--auto-sm' : ''}\n ${this.autoMd ? 'pds-box--auto-md' : ''}\n ${this.autoLg ? 'pds-box--auto-lg' : ''}\n ${this.autoXl ? 'pds-box--auto-xl' : ''}\n ${this.border ? 'pds-box--border' : ''}\n ${this.borderRadius !== undefined && this.borderRadius.trim() !== '' ? `pds-border-radius-${this.borderRadius}` : ''}\n ${this.direction !== undefined && this.direction.trim() !== '' ? `pds-box-direction-${this.direction}` : ''}\n ${this.display !== undefined && this.display.trim() !== '' ? `pds-box--display-${this.display}` : ''}\n ${this.fit ? 'pds-box--fit' : ''}\n ${this.fitXs ? 'pds-box--fit-xs' : ''}\n ${this.fitSm ? 'pds-box--fit-sm' : ''}\n ${this.fitMd ? 'pds-box--fit-md' : ''}\n ${this.fitLg ? 'pds-box--fit-lg' : ''}\n ${this.fitXl ? 'pds-box--fit-xl' : ''}\n ${this.gap !== undefined && this.gap.trim() !== '' ? `pds-box-gap-${this.gap}` : ''}\n ${this.gapXs !== undefined && this.gapXs.trim() !== '' ? `pds-box-gap-xs-${this.gapXs}` : ''}\n ${this.gapSm !== undefined && this.gapSm.trim() !== '' ? `pds-box-gap-sm-${this.gapSm}` : ''}\n ${this.gapMd !== undefined && this.gapMd.trim() !== '' ? `pds-box-gap-md-${this.gapMd}` : ''}\n ${this.gapLg !== undefined && this.gapLg.trim() !== '' ? `pds-box-gap-lg-${this.gapLg}` : ''}\n ${this.gapXl !== undefined && this.gapXl.trim() !== '' ? `pds-box-gap-xl-${this.gapXl}` : ''}\n ${this.wrap ? 'pds-box--wrap' : ''}\n ${this.wrapXs ? 'pds-box--wrap-xs' : ''}\n ${this.wrapSm ? 'pds-box--wrap-sm' : ''}\n ${this.wrapMd ? 'pds-box--wrap-md' : ''}\n ${this.wrapLg ? 'pds-box--wrap-lg' : ''}\n ${this.wrapXl ? 'pds-box--wrap-xl' : ''}\n ${this.flex !== undefined && this.flex.trim() !== '' && ['none', 'grow', 'shrink'].includes(this.flex) ? `pds-box--flex-${this.flex}` : ''}\n ${this.justifyContent !== undefined && this.justifyContent.trim() !== '' ? `pds-justify-content-${this.justifyContent}` : ''}\n ${this.justifyContentXs !== undefined && this.justifyContentXs.trim() !== '' ? `pds-justify-content-xs-${this.justifyContentXs}` : ''}\n ${this.justifyContentSm !== undefined && this.justifyContentSm.trim() !== '' ? `pds-justify-content-sm-${this.justifyContentSm}` : ''}\n ${this.justifyContentMd !== undefined && this.justifyContentMd.trim() !== '' ? `pds-justify-content-md-${this.justifyContentMd}` : ''}\n ${this.justifyContentLg !== undefined && this.justifyContentLg.trim() !== '' ? `pds-justify-content-lg-${this.justifyContentLg}` : ''}\n ${this.justifyContentXl !== undefined && this.justifyContentXl.trim() !== '' ? `pds-justify-content-xl-${this.justifyContentXl}` : ''}\n ${this.marginBlockStart !== undefined && this.marginBlockStart.trim() !== '' ? `pds-margin-block-start-${this.marginBlockStart}` : ''}\n ${this.marginBlockStartXs !== undefined && this.marginBlockStartXs.trim() !== '' ? `pds-margin-block-start-xs-${this.marginBlockStartXs}` : ''}\n ${this.marginBlockStartSm !== undefined && this.marginBlockStartSm.trim() !== '' ? `pds-margin-block-start-sm-${this.marginBlockStartSm}` : ''}\n ${this.marginBlockStartMd !== undefined && this.marginBlockStartMd.trim() !== '' ? `pds-margin-block-start-md-${this.marginBlockStartMd}` : ''}\n ${this.marginBlockStartLg !== undefined && this.marginBlockStartLg.trim() !== '' ? `pds-margin-block-start-lg-${this.marginBlockStartLg}` : ''}\n ${this.marginBlockStartXl !== undefined && this.marginBlockStartXl.trim() !== '' ? `pds-margin-block-start-xl-${this.marginBlockStartXl}` : ''}\n ${this.marginInlineStart !== undefined && this.marginInlineStart.trim() !== '' ? `pds-margin-inline-start-${this.marginInlineStart}` : ''}\n ${this.marginInlineStartXs !== undefined && this.marginInlineStartXs.trim() !== '' ? `pds-margin-inline-start-xs-${this.marginInlineStartXs}` : ''}\n ${this.marginInlineStartSm !== undefined && this.marginInlineStartSm.trim() !== '' ? `pds-margin-inline-start-sm-${this.marginInlineStartSm}` : ''}\n ${this.marginInlineStartMd !== undefined && this.marginInlineStartMd.trim() !== '' ? `pds-margin-inline-start-md-${this.marginInlineStartMd}` : ''}\n ${this.marginInlineStartLg !== undefined && this.marginInlineStartLg.trim() !== '' ? `pds-margin-inline-start-lg-${this.marginInlineStartLg}` : ''}\n ${this.marginInlineStartXl !== undefined && this.marginInlineStartXl.trim() !== '' ? `pds-margin-inline-start-xl-${this.marginInlineStartXl}` : ''}\n ${this.marginInlineEnd !== undefined && this.marginInlineEnd.trim() !== '' ? `pds-margin-inline-end-${this.marginInlineEnd}` : ''}\n ${this.marginInlineEndXs !== undefined && this.marginInlineEndXs.trim() !== '' ? `pds-margin-inline-end-xs-${this.marginInlineEndXs}` : ''}\n ${this.marginInlineEndSm !== undefined && this.marginInlineEndSm.trim() !== '' ? `pds-margin-inline-end-sm-${this.marginInlineEndSm}` : ''}\n ${this.marginInlineEndMd !== undefined && this.marginInlineEndMd.trim() !== '' ? `pds-margin-inline-end-md-${this.marginInlineEndMd}` : ''}\n ${this.marginInlineEndLg !== undefined && this.marginInlineEndLg.trim() !== '' ? `pds-margin-inline-end-lg-${this.marginInlineEndLg}` : ''}\n ${this.marginInlineEndXl !== undefined && this.marginInlineEndXl.trim() !== '' ? `pds-margin-inline-end-xl-${this.marginInlineEndXl}` : ''}\n ${this.marginBlockEnd !== undefined && this.marginBlockEnd.trim() !== '' ? `pds-margin-block-end-${this.marginBlockEnd}` : ''}\n ${this.marginBlockEndXs !== undefined && this.marginBlockEndXs.trim() !== '' ? `pds-margin-block-end-xs-${this.marginBlockEndXs}` : ''}\n ${this.marginBlockEndSm !== undefined && this.marginBlockEndSm.trim() !== '' ? `pds-margin-block-end-sm-${this.marginBlockEndSm}` : ''}\n ${this.marginBlockEndMd !== undefined && this.marginBlockEndMd.trim() !== '' ? `pds-margin-block-end-md-${this.marginBlockEndMd}` : ''}\n ${this.marginBlockEndLg !== undefined && this.marginBlockEndLg.trim() !== '' ? `pds-margin-block-end-lg-${this.marginBlockEndLg}` : ''}\n ${this.marginBlockEndXl !== undefined && this.marginBlockEndXl.trim() !== '' ? `pds-margin-block-end-xl-${this.marginBlockEndXl}` : ''}\n ${this.offset !== undefined && this.offset.trim() !== '' ? `pds-box-offset-${this.offset}` : ''}\n ${this.offsetXs !== undefined && this.offsetXs.trim() !== '' ? `pds-box-offset-xs-${this.offsetXs}` : ''}\n ${this.offsetSm !== undefined && this.offsetSm.trim() !== '' ? `pds-box-offset-sm-${this.offsetSm}` : ''}\n ${this.offsetMd !== undefined && this.offsetMd.trim() !== '' ? `pds-box-offset-md-${this.offsetMd}` : ''}\n ${this.offsetLg !== undefined && this.offsetLg.trim() !== '' ? `pds-box-offset-lg-${this.offsetLg}` : ''}\n ${this.offsetXl !== undefined && this.offsetXl.trim() !== '' ? `pds-box-offset-xl-${this.offsetXl}` : ''}\n ${this.padding !== undefined && this.padding.trim() !== '' ? `pds-padding-${this.padding}` : ''}\n ${this.paddingXs !== undefined && this.paddingXs.trim() !== '' ? `pds-padding-xs-${this.paddingXs}` : ''}\n ${this.paddingSm !== undefined && this.paddingSm.trim() !== '' ? `pds-padding-sm-${this.paddingSm}` : ''}\n ${this.paddingMd !== undefined && this.paddingMd.trim() !== '' ? `pds-padding-md-${this.paddingMd}` : ''}\n ${this.paddingLg !== undefined && this.paddingLg.trim() !== '' ? `pds-padding-lg-${this.paddingLg}` : ''}\n ${this.paddingXl !== undefined && this.paddingXl.trim() !== '' ? `pds-padding-xl-${this.paddingXl}` : ''}\n ${this.paddingBlockStart !== undefined && this.paddingBlockStart.trim() !== '' ? `pds-padding-block-start-${this.paddingBlockStart}` : ''}\n ${this.paddingBlockStartXs !== undefined && this.paddingBlockStartXs.trim() !== '' ? `pds-padding-block-start-xs-${this.paddingBlockStartXs}` : ''}\n ${this.paddingBlockStartSm !== undefined && this.paddingBlockStartSm.trim() !== '' ? `pds-padding-block-start-sm-${this.paddingBlockStartSm}` : ''}\n ${this.paddingBlockStartMd !== undefined && this.paddingBlockStartMd.trim() !== '' ? `pds-padding-block-start-md-${this.paddingBlockStartMd}` : ''}\n ${this.paddingBlockStartLg !== undefined && this.paddingBlockStartLg.trim() !== '' ? `pds-padding-block-start-lg-${this.paddingBlockStartLg}` : ''}\n ${this.paddingBlockStartXl !== undefined && this.paddingBlockStartXl.trim() !== '' ? `pds-padding-block-start-xl-${this.paddingBlockStartXl}` : ''}\n ${this.paddingBlockEnd !== undefined && this.paddingBlockEnd.trim() !== '' ? `pds-padding-block-end-${this.paddingBlockEnd}` : ''}\n ${this.paddingBlockEndXs !== undefined && this.paddingBlockEndXs.trim() !== '' ? `pds-padding-block-end-xs-${this.paddingBlockEndXs}` : ''}\n ${this.paddingBlockEndSm !== undefined && this.paddingBlockEndSm.trim() !== '' ? `pds-padding-block-end-sm-${this.paddingBlockEndSm}` : ''}\n ${this.paddingBlockEndMd !== undefined && this.paddingBlockEndMd.trim() !== '' ? `pds-padding-block-end-md-${this.paddingBlockEndMd}` : ''}\n ${this.paddingBlockEndLg !== undefined && this.paddingBlockEndLg.trim() !== '' ? `pds-padding-block-end-lg-${this.paddingBlockEndLg}` : ''}\n ${this.paddingBlockEndXl !== undefined && this.paddingBlockEndXl.trim() !== '' ? `pds-padding-block-end-xl-${this.paddingBlockEndXl}` : ''}\n ${this.paddingInlineStart !== undefined && this.paddingInlineStart.trim() !== '' ? `pds-padding-inline-start-${this.paddingInlineStart}` : ''}\n ${this.paddingInlineStartXs !== undefined && this.paddingInlineStartXs.trim() !== '' ? `pds-padding-inline-start-xs-${this.paddingInlineStartXs}` : ''}\n ${this.paddingInlineStartSm !== undefined && this.paddingInlineStartSm.trim() !== '' ? `pds-padding-inline-start-sm-${this.paddingInlineStartSm}` : ''}\n ${this.paddingInlineStartMd !== undefined && this.paddingInlineStartMd.trim() !== '' ? `pds-padding-inline-start-md-${this.paddingInlineStartMd}` : ''}\n ${this.paddingInlineStartLg !== undefined && this.paddingInlineStartLg.trim() !== '' ? `pds-padding-inline-start-lg-${this.paddingInlineStartLg}` : ''}\n ${this.paddingInlineStartXl !== undefined && this.paddingInlineStartXl.trim() !== '' ? `pds-padding-inline-start-xl-${this.paddingInlineStartXl}` : ''}\n ${this.paddingInlineEnd !== undefined && this.paddingInlineEnd.trim() !== '' ? `pds-padding-inline-end-${this.paddingInlineEnd}` : ''}\n ${this.paddingInlineEndXs !== undefined && this.paddingInlineEndXs.trim() !== '' ? `pds-padding-inline-end-xs-${this.paddingInlineEndXs}` : ''}\n ${this.paddingInlineEndSm !== undefined && this.paddingInlineEndSm.trim() !== '' ? `pds-padding-inline-end-sm-${this.paddingInlineEndSm}` : ''}\n ${this.paddingInlineEndMd !== undefined && this.paddingInlineEndMd.trim() !== '' ? `pds-padding-inline-end-md-${this.paddingInlineEndMd}` : ''}\n ${this.paddingInlineEndLg !== undefined && this.paddingInlineEndLg.trim() !== '' ? `pds-padding-inline-end-lg-${this.paddingInlineEndLg}` : ''}\n ${this.paddingInlineEndXl !== undefined && this.paddingInlineEndXl.trim() !== '' ? `pds-padding-inline-end-xl-${this.paddingInlineEndXl}` : ''}\n ${this.shadow !== undefined && this.shadow.trim() !== '' ? `pds-shadow-${this.shadow}` : ''}\n ${this.size !== undefined && this.size.trim() !== '' ? `pds-box pds-box-${this.size}` : ''}\n ${this.sizeXs !== undefined && this.sizeXs.trim() !== '' ? `pds-box-xs-${this.sizeXs}` : ''}\n ${this.sizeSm !== undefined && this.sizeSm.trim() !== '' ? `pds-box-sm-${this.sizeSm}` : ''}\n ${this.sizeMd !== undefined && this.sizeMd.trim() !== '' ? `pds-box-md-${this.sizeMd}` : ''}\n ${this.sizeLg !== undefined && this.sizeLg.trim() !== '' ? `pds-box-lg-${this.sizeLg}` : ''}\n ${this.sizeXl !== undefined && this.sizeXl.trim() !== '' ? `pds-box-xl-${this.sizeXl}` : ''}\n ${this.size == undefined &&\n this.sizeSm == undefined &&\n this.sizeMd == undefined &&\n this.sizeLg == undefined &&\n this.sizeXl == undefined ? 'pds-box' : ''}\n `;\n\n // Normalize so pds-box accepts --token, var(--token), or literals (no semantic names)\n const normalizedBackground = normalizeColorValue(this.backgroundColor);\n const normalizedBorder = normalizeColorValue(this.borderColor);\n\n const boxInlineStyles = {\n ...(normalizedBackground && { '--color-background-box': normalizedBackground }),\n ...(normalizedBorder && { '--color-border-box': normalizedBorder }),\n ...(this.minHeight && { '--sizing-min-height-box': this.minHeight }),\n ...(this.minWidth && { '--sizing-min-width-box': this.minWidth }),\n ...(this.flex && !['none', 'grow', 'shrink'].includes(this.flex) && { 'flex': this.flex }),\n };\n\n return (\n <Host class={boxClasses} style={boxInlineStyles}>\n </Host>\n );\n }\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"p-CG-Uj3mN.system.js","sources":["src/components/pds-progress/pds-progress.scss?tag=pds-progress&encapsulation=shadow","src/components/pds-progress/pds-progress.tsx"],"sourcesContent":[":host {\n --color-progress-fill: var(--pine-color-primary);\n\n --sizing-progress-bar-width: 100%;\n\n align-items: center;\n display: flex;\n width: var(--sizing-progress-bar-width);\n}\n\n@keyframes progressBar {\n 0% {\n width: 0\n }\n\n 100% {\n width: var(--sizing-progress-bar-width);\n }\n}\n\n.pds-progress {\n align-items: center;\n background-color: var(--pine-color-background-muted);\n border-radius: var(--pine-dimension-2xs);\n display: flex;\n flex-direction: row;\n height: var(--pine-dimension-xs);\n position: relative;\n width: 100%;\n}\n\n:host(.is-animated) progress,\n:host(.is-animated) progress::-webkit-progress-bar {\n animation: progressBar 3s ease;\n animation-fill-mode: forwards;\n}\n\nprogress,\nprogress::-webkit-progress-bar {\n background-color: transparent;\n border: 0;\n height: var(--pine-dimension-xs);\n width: 100%;\n}\n\nprogress::-webkit-progress-value {\n background: var(--color-progress-fill, var(--pine-color-primary));\n border-radius: var(--pine-dimension-2xs);\n}\n\nprogress::-moz-progress-bar {\n background: var(--color-progress-fill, var(--pine-color-primary));\n border-radius: var(--pine-dimension-2xs);\n}\n\n.pds-progress__label {\n border: 0;\n clip: rect(0 0 0 0);\n height: 1px;\n margin: -1px;\n overflow: hidden;\n padding: 0;\n position: absolute;\n width: 1px;\n}\n\n.pds-progress__percentage {\n font-weight: var(--pine-font-weight-medium);\n margin-inline-start: calc(var(--pine-dimension-md) / 2);\n}\n","import { Component, Host, h, Prop } from '@stencil/core';\n\n@Component({\n tag: 'pds-progress',\n styleUrls: ['pds-progress.scss'],\n shadow: true,\n})\nexport class PdsProgress {\n /**\n * Determines whether or not progress is animated.\n * @defaultValue false\n */\n @Prop() animated = false;\n\n /**\n * A unique identifier used for the underlying component `id` attribute and the label `for` attribute.\n */\n @Prop() componentId!: string;\n\n /**\n * Sets the progress fill color. Accepts a color token or a [valid color value](https://developer.mozilla.org/en-US/docs/Web/CSS/color_value).\n * @defaultValue 'var(--pine-color-blue-300)'\n */\n @Prop() fillColor: string;\n\n /**\n * String used for label text. Label is visually hidden but required for better accessibility.\n */\n @Prop() label!: string;\n\n /**\n * Sets the progress fill pecentage and visually displayed when `show-percentage=true`.\n * @defaultValue 0\n */\n @Prop() percent = 0;\n\n /**\n * Determines whether or not the percent value should be displayed as text.\n * @defaultValue false\n */\n @Prop() showPercent = false;\n\n render() {\n return (\n <Host class={this.animated ? { 'is-animated': this.animated } : ''}>\n <div class=\"pds-progress\">\n <label class=\"pds-progress__label\" htmlFor={this.componentId}>\n {this.label}\n </label>\n <progress\n id={this.componentId}\n max=\"100\"\n style={this.fillColor ? { '--color-progress-fill': this.fillColor } : {}}\n value={this.percent}\n >\n </progress>\n </div>\n {this.showPercent && <div class=\"pds-progress__percentage\">{this.percent}%</div>}\n </Host>\n );\n }\n}\n"],"names":[],"mappings":";;;;;;;;;;;MAAA,MAAM,cAAc,GAAG,2hDAA2hD;;YCOriD,WAAW,2BAAA,MAAA;MALxB,IAAA,WAAA,CAAA,OAAA,EAAA;;MAME;;;MAGE;MACM,QAAA,IAAQ,CAAA,QAAA,GAAG,KAAK;MAkBxB;;;MAGE;MACM,QAAA,IAAO,CAAA,OAAA,GAAG,CAAC;MAEnB;;;MAGE;MACM,QAAA,IAAW,CAAA,WAAA,GAAG,KAAK;MAqB5B;UAnBC,MAAM,GAAA;MACJ,QAAA,QACE,EAAC,IAAI,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,GAAG,EAAE,aAAa,EAAE,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE,EAAA,EAChE,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,cAAc,EAAA,EACvB,CAAA,CAAA,OAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAO,KAAK,EAAC,qBAAqB,EAAC,OAAO,EAAE,IAAI,CAAC,WAAW,EAAA,EACzD,IAAI,CAAC,KAAK,CACL,EACR,CAAA,CAAA,UAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EACE,EAAE,EAAE,IAAI,CAAC,WAAW,EACpB,GAAG,EAAC,KAAK,EACT,KAAK,EAAE,IAAI,CAAC,SAAS,GAAG,EAAE,uBAAuB,EAAE,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE,EACxE,KAAK,EAAE,IAAI,CAAC,OAAO,GAEV,CACP,EACL,IAAI,CAAC,WAAW,IAAI,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,0BAA0B,EAAA,EAAE,IAAI,CAAC,OAAO,EAAQ,GAAA,CAAA,CAC3E;;;;;;;;;;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"p-CIRsbQAW.system.js","sources":["src/components/pds-row/pds-row.scss?tag=pds-row","src/components/pds-row/pds-row.tsx"],"sourcesContent":[":host {\n --row-gap-y: var(--pine-dimension-125);\n --row-gap-x: var(--pine-dimension-125);\n\n display: block;\n margin-block-end: calc(var(--row-gap-y) * -1);\n margin-block-start: calc(var(--row-gap-y) * -1);\n margin-inline-end: calc(var(--row-gap-x) * -0.5);\n margin-inline-start: calc(var(--row-gap-x) * -0.5);\n}\n\n.pds-row {\n display: flex;\n flex-grow: 1;\n flex-wrap: wrap;\n margin-block-end: calc(var(--row-gap-y) * -1);\n margin-block-start: calc(var(--row-gap-y) * -1);\n margin-inline-end: calc(var(--row-gap-x) * -1);\n margin-inline-start: calc(var(--row-gap-x) * -1);\n\n @layer layout {\n > * {\n padding-block-end: calc(var(--row-gap-y));\n padding-block-start: calc(var(--row-gap-y));\n padding-inline-end: calc(var(--row-gap-x));\n padding-inline-start: calc(var(--row-gap-x));\n }\n }\n}\n\n.pds-row--no-wrap {\n flex-wrap: nowrap;\n}\n\n.pds-row--border {\n border: var(--pine-border);\n}\n\n// Justify Content helpers\n.pds-justify-content-start {\n justify-content: start;\n}\n\n.pds-justify-content-center {\n justify-content: center;\n}\n\n.pds-justify-content-end {\n justify-content: end;\n}\n\n.pds-justify-content-space-between {\n justify-content: space-between;\n}\n\n.pds-justify-content-space-around {\n justify-content: space-around;\n}\n\n.pds-justify-content-space-evenly {\n justify-content: space-evenly;\n}\n\n// Align Items helpers\n.pds-align-items-start {\n align-items: start;\n}\n\n.pds-align-items-center {\n align-items: center;\n}\n\n.pds-align-items-end {\n align-items: end;\n}\n\n.pds-align-items-stretch {\n align-items: stretch;\n}\n\n.pds-align-items-baseline {\n align-items: baseline;\n}\n","import { Component, Prop, h, Host } from '@stencil/core';\n\nimport { BoxSpacingType } from '../../utils/types';\n\n@Component({\n tag: 'pds-row',\n styleUrl: 'pds-row.scss',\n})\nexport class PdsRow {\n /**\n * Defines the vertical alignment of the row items.\n * @defaultValue start\n */\n @Prop() alignItems?: `start` | `center` | `end` | `baseline` | `stretch`;\n\n /**\n * If `true`, the row will have a border.\n */\n @Prop() border? = false;\n\n /**\n * Defines the spacing between the row items.\n */\n @Prop() colGap?: BoxSpacingType | null;\n\n /**\n * Defines the spacing between the row items vertically.\n */\n @Prop() colGapBlock?: BoxSpacingType | null;\n\n /**\n * Defines the spacing between the row items horizontally.\n */\n @Prop() colGapInline?: BoxSpacingType | null;\n\n /**\n * A unique identifier used for the underlying component `id` attribute.\n */\n @Prop() componentId: string;\n\n /**\n * Defines the horizontal alignment of the row items.\n * @defaultValue start\n */\n @Prop() justifyContent?: `start` | `center` | `end` | `space-between` | `space-around`;\n\n /**\n * The minimum height of the row. Used in conjunction with alignment props\n */\n @Prop() minHeight?: string;\n\n /**\n * If `true`, the row items will not wrap to the next line if horizontal space is not available.\n */\n @Prop() noWrap? = false;\n\n private colGapMap: { [key in BoxSpacingType]: string } = {\n none: '0',\n xxs: '.25rem',\n xs: '.5rem',\n sm: '1rem',\n md: '1.5rem',\n lg: '2.25rem',\n xl: '3rem',\n xxl: '4rem',\n '025': 'var(--pine-dimension-025)',\n '050': 'var(--pine-dimension-050)',\n '100': 'var(--pine-dimension-100)',\n '125': 'var(--pine-dimension-125)',\n '150': 'var(--pine-dimension-150)',\n '200': 'var(--pine-dimension-200)',\n '250': 'var(--pine-dimension-250)',\n '300': 'var(--pine-dimension-300)',\n '350': 'var(--pine-dimension-350)',\n '400': 'var(--pine-dimension-400)',\n '450': 'var(--pine-dimension-450)',\n '500': 'var(--pine-dimension-500)',\n '550': 'var(--pine-dimension-550)',\n '600': 'var(--pine-dimension-600)',\n '650': 'var(--pine-dimension-650)',\n '700': 'var(--pine-dimension-700)',\n '750': 'var(--pine-dimension-750)',\n '800': 'var(--pine-dimension-800)'\n };\n\n render() {\n const rowClasses = `\n ${this.alignItems !== undefined && this.alignItems.trim() !== '' ? `pds-align-items-${this.alignItems}` : ''}\n ${this.border ? 'pds-row--border' : ''}\n ${this.justifyContent !== undefined && this.justifyContent.trim() !== '' ? `pds-justify-content-${this.justifyContent}` : ''}\n ${this.noWrap ? 'pds-row--no-wrap' : ''}\n `;\n\n const rowInlineStyles = {\n ...(this.colGap && {\n '--row-gap-x': this.colGap !== undefined && this.colGap.trim() !== '' ? this.colGapMap[this.colGap] : '',\n '--row-gap-y': this.colGap !== undefined && this.colGap.trim() !== '' ? this.colGapMap[this.colGap] : '',\n }),\n ...(this.colGapBlock && {\n '--row-gap-y': this.colGapBlock !== undefined && this.colGapBlock.trim() !== '' ? this.colGapMap[this.colGapBlock] : '',\n }),\n ...(this.colGapInline && {\n '--row-gap-x': this.colGapInline !== undefined && this.colGapInline.trim() !== '' ? this.colGapMap[this.colGapInline] : '',\n }),\n ...(this.minHeight && {\n 'min-height': this.minHeight,\n }),\n };\n\n return <Host class={`pds-row ${rowClasses}`} style={rowInlineStyles}></Host>;\n }\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"p-CKshb3YH.system.js","sources":["src/components/pds-tabs/pds-tabs.scss?tag=pds-tabs&encapsulation=shadow","src/components/pds-tabs/pds-tabs.tsx"],"sourcesContent":[":host {\n /**\n * @prop --tabs-dimension-panel-margin-top: Optional margin-top for panels\n */\n --tabs-dimension-panel-margin-top: var(--pine-dimension-none);\n /**\n * @prop --tabs-dimension-panel-padding: Optional padding for panels\n */\n --tabs-dimension-panel-padding: 0;\n\n display: block;\n}\n\n.pds-tabs__tablist {\n display: flex;\n flex-wrap: wrap;\n gap: var(--pine-dimension-md);\n}\n\n:host(.pds-tabs--availability) .pds-tabs__tablist {\n gap: var(--pine-dimension-xs);\n}\n\n:host(.pds-tabs--filter) .pds-tabs__tablist {\n gap: var(--pine-dimension-sm);\n}\n\n:host(.pds-tabs--pill) .pds-tabs__tablist {\n background-color: var(--pine-color-background-app);\n border: var(--pine-border-width-thin) solid var(--pine-color-border-subtle);\n border-radius: var(--pine-dimension-100);\n display: inline-flex;\n display: flex;\n gap: 0;\n height: var(--pine-dimension-450);\n}\n","import { Component, Element, Host, h, Prop, Listen } from '@stencil/core';\n\n /**\n * @slot tabs - Content is placed within the `div[role=\"tablist\"]` element as children\n * @slot tabpanels - Content is placed directly after the `div[role=\"tablist\"]` element as siblings\n * @part tab-list - Exposes the container element that holds all the tab buttons for styling.\n */\n@Component({\n tag: 'pds-tabs',\n styleUrls: ['pds-tabs.scss'],\n shadow: true,\n})\nexport class PdsTabs {\n private tabs;\n private tabPanels;\n\n @Element() el: HTMLPdsTabsElement;\n\n /**\n * Sets the aria-label attached to the tablist element\n */\n @Prop() tablistLabel!: string;\n\n /**\n * A unique identifier used for the underlying component `id` attribute.\n */\n @Prop() componentId!: string;\n\n /**\n * Sets tabs variant styles as outlined in Figma documentation\n */\n @Prop() variant!: 'primary' | 'availability' | 'filter' | 'pill';\n\n /**\n * Sets the starting active tab name and maintains the name as the component re-renders\n */\n @Prop({mutable: true}) activeTabName!: string;\n\n /**\n * Sets the starting active tab index number and maintains the index number as the component re-renders\n */\n /** @internal */\n @Prop({mutable: true}) activeTabIndex: number;\n\n @Listen('pdsTabClick', {\n target: 'body',\n })\n tabClickHandler(event: CustomEvent<any>) {\n if (this.componentId === event.detail[1]) {\n this.activeTabIndex = event.detail[0];\n this.activeTabName = this.tabs[this.activeTabIndex].name;\n }\n }\n\n @Listen('keydown', {})\n handleKeyDown(ev: KeyboardEvent) {\n const keySet = [\"ArrowLeft\", \"ArrowRight\", \"Home\", \"End\"];\n\n // Only handle keyboard navigation if the event originated from a tab button\n // that belongs to THIS tabs component\n const target = ev.target as HTMLElement;\n const targetTab = target.closest('pds-tab');\n\n // Check if the tab belongs to this tabs instance (not a nested one)\n const isOwnTab = targetTab && targetTab.closest('pds-tabs') === this.el;\n\n if (keySet.includes(ev.key) && isOwnTab) {\n ev.preventDefault();\n this.moveActiveTab(ev.key);\n }\n }\n\n private moveActiveTab(key: string) {\n const firstTabNumber = 0;\n const lastTabNumber = this.tabs.length - 1;\n\n let moveFocusTo = null;\n\n switch (key) {\n case 'ArrowLeft':\n moveFocusTo = (this.activeTabIndex === firstTabNumber) ? lastTabNumber : (this.activeTabIndex + (-1));\n break;\n case 'ArrowRight':\n moveFocusTo = (this.activeTabIndex === lastTabNumber) ? firstTabNumber : (this.activeTabIndex + 1);\n break;\n case 'Home':\n moveFocusTo = firstTabNumber;\n break;\n case 'End':\n moveFocusTo = lastTabNumber;\n break;\n }\n\n // Move focus to the button element within `pds-tab`\n this.tabs[moveFocusTo].children[0].focus();\n this.activeTabName = this.tabs[moveFocusTo].name;\n this.activeTabIndex = moveFocusTo;\n }\n\n private findAllChildren() {\n // Only select direct children tabs/tabpanels, not nested ones\n const allTabs = Array.from(this.el.querySelectorAll('pds-tab'));\n const allTabPanels = Array.from(this.el.querySelectorAll('pds-tabpanel'));\n\n // Filter to only include tabs that belong to this tabs component (not nested)\n this.tabs = allTabs.filter(tab => tab.closest('pds-tabs') === this.el);\n this.tabPanels = allTabPanels.filter(panel => panel.closest('pds-tabs') === this.el);\n }\n\n private propGeneration(child, index = 0) {\n child.parentComponentId = this.componentId.toString();\n child.variant = this.variant.toString();\n child.selected = (this.activeTabName === child.name) ? true : false;\n child['index'] = index;\n }\n\n private passPropsToChildren() {\n this.tabs.forEach((child, index) => {\n if (this.activeTabName === child.name) this.activeTabIndex = index;\n this.propGeneration(child, index);\n });\n\n this.tabPanels.forEach((child) => {\n this.propGeneration(child);\n });\n }\n\n private classNames() {\n let className = `pds-tabs`;\n if (this.variant && this.variant != 'primary') {\n const variantClassName = `pds-tabs--${this.variant}`;\n className += ' ' + variantClassName;\n }\n\n return className;\n };\n\n componentWillLoad() {\n this.findAllChildren();\n }\n\n componentWillRender() {\n this.passPropsToChildren();\n }\n\n render() {\n return (\n <Host active-tab-name={this.activeTabName} class={this.classNames()} id={this.componentId}>\n <div class=\"pds-tabs__tablist\" role=\"tablist\" aria-label={this.tablistLabel} part=\"tab-list\">\n <slot name=\"tabs\" />\n </div>\n <slot name=\"tabpanels\" />\n </Host>\n );\n }\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"p-CMbqUapr.system.js","sources":["src/components/pds-sortable/pds-sortable-item/pds-sortable-item.scss?tag=pds-sortable-item&encapsulation=scoped","src/components/pds-sortable/pds-sortable-item/pds-sortable-item.tsx"],"sourcesContent":[":host(.pds-sortable-item) {\n align-items: center;\n display: flex;\n padding-block: var(--pine-dimension-xs);\n padding-inline: var(--pine-dimension-md);\n\n .pds-sortable-item__actions {\n margin-inline-start: auto;\n padding-inline-start: var(--pine-dimension-md);\n }\n\n .pds-sortable-item__handle {\n line-height: 1;\n margin-inline-end: var(--pine-dimension-md);\n }\n\n // styles when sortable is bordered\n .pds-sortable--bordered & {\n &:first-child {\n border-start-end-radius: calc(var(--pine-dimension-xs) * 1.25);\n border-start-start-radius: calc(var(--pine-dimension-xs) * 1.25);\n }\n\n &:last-child {\n border-end-end-radius: calc(var(--pine-dimension-xs) * 1.25);\n border-end-start-radius: calc(var(--pine-dimension-xs) * 1.25);\n }\n }\n\n // styles when sortable is divided\n .pds-sortable--divided & {\n border-block-end: var(--pine-border);\n\n &:last-child {\n border-block-end: 0;\n }\n }\n\n // cursor styles based on handle-type\n .pds-sortable--handle-type-row & {\n cursor: grab;\n }\n\n .pds-sortable--handle-type-handle & {\n .pds-sortable-item__handle {\n cursor: grab;\n }\n }\n\n // styles when sortable is disabled\n .pds-sortable--disabled & {\n cursor: not-allowed;\n opacity: 0.5;\n\n .pds-sortable-item__handle {\n cursor: not-allowed;\n }\n }\n}\n\n:host(.pds-sortable-item):hover {\n .pds-sortable--disabled & {\n background-color: transparent;\n }\n\n .pds-sortable:not(.pds-sortable--disabled) & {\n background-color: var(--pine-color-background-container-hover);\n\n pds-icon {\n color: var(--pine-color-info)\n }\n }\n}\n\n:host(.pds-sortable-item--drag) {\n background-color: var(--pine-color-background-container);\n border-radius: 0;\n box-shadow: var(--pine-box-shadow-400);\n opacity: 1;\n}\n\n:host(.pds-sortable-item--ghost) {\n background-color: var(--pine-color-background-container-hover);\n border-radius: 0;\n}\n","import { Component, Element, Host, h, Prop } from '@stencil/core';\n\nimport { handle as handleIcon } from '@pine-ds/icons/icons';\n/**\n * @slot sortable-item-actions - Content is placed within the `pds-sortable-item__actions` element as children. This slot is only rendered if `actions` is set to `true`.\n */\n@Component({\n tag: 'pds-sortable-item',\n styleUrl: 'pds-sortable-item.scss',\n scoped: true,\n})\nexport class PdsSortableItem {\n @Element() el: HTMLPdsSortableItemElement;\n sortableRef: HTMLPdsSortableElement;\n /**\n * Determines whether `sortable-item-actions` slot should be enabled.\n * @defaultValue false\n */\n @Prop() enableActions = false;\n\n /**\n * A unique identifier used for the sortable item `id` attribute.\n */\n @Prop() componentId: string;\n\n /**\n * Determines whether `sortable-item` should have a handle.\n * @defaultValue false\n */\n @Prop({ mutable: true }) showHandle = false;\n\n componentWillRender() {\n // When the parent sortable has a type of 'handle', the sortable items\n // will automatically set showHandle to 'true'.\n this.sortableRef = this.el.closest('pds-sortable') as HTMLPdsSortableElement;\n\n if (this.sortableRef && this.sortableRef.handleType === 'handle') {\n this.showHandle = true;\n }\n }\n\n render() {\n return (\n <Host class=\"pds-sortable-item\" id={this.componentId}>\n {this.showHandle && (\n <div class=\"pds-sortable-item__handle\">\n <pds-icon icon={handleIcon}></pds-icon>\n </div>\n )}\n <slot></slot>\n {this.enableActions && (\n <div class=\"pds-sortable-item__actions\">\n <slot name=\"sortable-item-actions\" />\n </div>\n )}\n </Host>\n );\n }\n}\n"],"names":["handleIcon"],"mappings":";;;;;;;;;;;;;;MAAA,MAAM,kBAAkB,GAAG,y9EAAy9E;;YCWv+E,eAAe,gCAAA,MAAA;MAL5B,IAAA,WAAA,CAAA,OAAA,EAAA;;MAQE;;;MAGG;MACK,QAAA,IAAa,CAAA,aAAA,GAAG,KAAK;MAO7B;;;MAGG;MACsB,QAAA,IAAU,CAAA,UAAA,GAAG,KAAK;MA6B5C;UA3BC,mBAAmB,GAAA;;;cAGjB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,cAAc,CAA2B;MAE5E,QAAA,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,CAAC,UAAU,KAAK,QAAQ,EAAE;MAChE,YAAA,IAAI,CAAC,UAAU,GAAG,IAAI;;;UAI1B,MAAM,GAAA;cACJ,QACE,CAAA,CAAC,IAAI,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAC,KAAK,EAAC,mBAAmB,EAAC,EAAE,EAAE,IAAI,CAAC,WAAW,EAAA,EACjD,IAAI,CAAC,UAAU,KACd,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,2BAA2B,EAAA,EACpC,CAAA,CAAA,UAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAU,IAAI,EAAEA,MAAU,EAAA,CAAa,CACnC,CACP,EACD,CAAa,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,CAAA,EACZ,IAAI,CAAC,aAAa,KACjB,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,4BAA4B,EAAA,EACrC,CAAM,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,IAAI,EAAC,uBAAuB,EAAA,CAAG,CACjC,CACP,CACI;;;;;;;;;;;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"p-CQS3Y0nn.system.js","sources":["src/components/pds-accordion/pds-accordion.scss?tag=pds-accordion&encapsulation=shadow","src/components/pds-accordion/pds-accordion.tsx"],"sourcesContent":[":host {\n display: block;\n}\n\ndetails {\n --number-animation-transform-timing: 200ms;\n\n border-radius: var(--pine-dimension-xs);\n\n pds-icon {\n transform: scaleY(1);\n }\n}\n\n/* stylelint-disable-next-line */\ndetails[open] {\n background-color: var(--pine-color-background-container);\n\n summary {\n color: var(--pine-color-text-active);\n font-weight: var(--pine-font-weight-semi-bold);\n\n pds-icon {\n transform: scaleY(-1);\n }\n }\n}\n\nsummary {\n background-color: var(--pine-color-background-container);\n border-radius: var(--pine-dimension-xs);\n color: var(--pine-color-text-muted);\n font-family: var(--pine-font-family-body);\n font-size: var(--pine-font-size-body-md);\n font-weight: var(--pine-font-weight-medium);\n letter-spacing: var(--pine-letter-spacing);\n line-height: var(--pine-line-height-body);\n padding-block: calc(var(--pine-dimension-2xs) * 1.5);\n padding-inline-end: var(--pine-dimension-2xs);\n padding-inline-start: var(--pine-dimension-xs);\n\n // Removes marker on Firefox/Chrome\n /* stylelint-disable-next-line */\n align-items: center;\n display: flex;\n\n // Removes marker on Safari\n &::-webkit-details-marker {\n display: none;\n }\n\n &:hover {\n background: var(--pine-color-background-container-hover);\n color: var(--pine-color-text);\n cursor: pointer;\n }\n\n &:focus-visible {\n outline: var(--pine-outline-focus);\n position: relative;\n }\n\n pds-icon {\n margin-inline-start: auto;\n }\n}\n\n.pds-accordion__body {\n padding-block-end: calc(var(--pine-dimension-sm) + 2);\n padding-inline: calc(var(--pine-dimension-2xs) * 1.5);\n}\n","import { Component, Event, EventEmitter, h, Host, Prop, Watch } from '@stencil/core';\nimport { downSmall } from '@pine-ds/icons/icons';\n\n/**\n * @part accordion-body - Accordion body styles.\n * @part accordion-button - Accordion button/trigger styles.\n * @part accordion-icon - Accordion icon styles.\n * @slot (default) - Accordion body content.\n * @slot label - Accordion trigger button content.\n */\n@Component({\n tag: 'pds-accordion',\n styleUrls: ['pds-accordion.scss'],\n shadow: true,\n})\nexport class PdsAccordion {\n private detailsEl: HTMLDetailsElement;\n\n /**\n * A unique identifier used for the underlying component `id` attribute.\n * @defaultValue null\n */\n @Prop() componentId: string;\n\n /**\n * Can be used to manually set the open state of the accordion.\n * @defaultValue false\n */\n @Prop({\n attribute: 'open',\n mutable: true,\n reflect: true,\n }) isOpen: boolean = false;\n\n /**\n * Emitted when the accordion open state changes.\n */\n @Event() pdsAccordionToggle: EventEmitter<boolean>;\n\n @Watch('isOpen')\n handleOpenState(newValue: boolean) {\n this.pdsAccordionToggle.emit(newValue);\n }\n\n private handleToggle = () => {\n this.isOpen = this.detailsEl.open;\n };\n\n private getOpenAttribute = () => {\n if (this.isOpen !== false) {\n return { open: true };\n }\n return '';\n };\n\n componentDidLoad() {\n this.detailsEl.addEventListener('toggle', this.handleToggle);\n }\n\n render() {\n return (\n <Host class=\"pds-accordion\" id={this.componentId}>\n <details {...this.getOpenAttribute()} ref={(el) => (this.detailsEl = el as HTMLDetailsElement)}>\n <summary part=\"accordion-button\">\n <slot name=\"label\">Details</slot>\n <pds-icon icon={downSmall} part=\"accordion-icon\" />\n </summary>\n <div part=\"accordion-body\" class=\"pds-accordion__body\">\n <slot />\n </div>\n </details>\n </Host>\n );\n }\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;MAAA,MAAM,eAAe,GAAG,miDAAmiD;;YCe9iD,YAAY,4BAAA,MAAA;MALzB,IAAA,WAAA,CAAA,OAAA,EAAA;;;MAcE;;;MAGG;MAKA,QAAA,IAAM,CAAA,MAAA,GAAY,KAAK;MAYlB,QAAA,IAAY,CAAA,YAAA,GAAG,MAAK;kBAC1B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI;MACnC,SAAC;MAEO,QAAA,IAAgB,CAAA,gBAAA,GAAG,MAAK;MAC9B,YAAA,IAAI,IAAI,CAAC,MAAM,KAAK,KAAK,EAAE;MACzB,gBAAA,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE;;MAEvB,YAAA,OAAO,EAAE;MACX,SAAC;MAqBF;MAlCC,IAAA,eAAe,CAAC,QAAiB,EAAA;MAC/B,QAAA,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC;;UAcxC,gBAAgB,GAAA;cACd,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,YAAY,CAAC;;UAG9D,MAAM,GAAA;MACJ,QAAA,QACE,CAAA,CAAC,IAAI,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAC,KAAK,EAAC,eAAe,EAAC,EAAE,EAAE,IAAI,CAAC,WAAW,EAAA,EAC9C,CAAA,CAAA,SAAA,EAAA,MAAA,CAAA,MAAA,CAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,EAAa,IAAI,CAAC,gBAAgB,EAAE,EAAE,EAAA,GAAG,EAAE,CAAC,EAAE,MAAM,IAAI,CAAC,SAAS,GAAG,EAAwB,CAAC,EAAA,CAAA,EAC5F,CAAS,CAAA,SAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,IAAI,EAAC,kBAAkB,EAAA,EAC9B,CAAM,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,IAAI,EAAC,OAAO,EAAe,EAAA,SAAA,CAAA,EACjC,CAAU,CAAA,UAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,IAAI,EAAE,SAAS,EAAE,IAAI,EAAC,gBAAgB,GAAG,CAC3C,EACV,CAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAK,IAAI,EAAC,gBAAgB,EAAC,KAAK,EAAC,qBAAqB,EAAA,EACpD,CAAA,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,CAAQ,CACJ,CACE,CACL;;;;;;;;;;;;;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"p-CRCxGYgw.system.js","sources":["src/utils/truncation-tooltip.ts"],"sourcesContent":["import { PlacementType } from './types';\nimport {\n computePosition,\n flip,\n offset,\n shift,\n} from '@floating-ui/dom';\n\nexport interface TruncationTooltipOptions {\n /** The host element (for hover/focus listeners and positioning anchor) */\n hostEl: HTMLElement;\n /** The inner element where overflow actually occurs (inside shadow root) */\n contentEl: HTMLElement;\n /** Function that returns the full text to display in the tooltip */\n getTooltipText: () => string;\n /** Tooltip placement preference (default: 'top') */\n placement?: PlacementType;\n}\n\n/** CSS class prefix used for truncation tooltip portal elements */\nconst TOOLTIP_CLASS = 'pds-truncation-tooltip';\n\n/**\n * Injects the truncation tooltip styles into the document head.\n * Uses the same design tokens as pds-tooltip for visual consistency.\n * Only injects once — checks the DOM to avoid duplicates.\n *\n * Z-Index Strategy:\n * Uses --pine-z-index-nuclear (9999) to ensure tooltips appear above all other UI elements.\n * This is necessary because tooltips are portaled to document.body and must overlay:\n * - Modal dialogs\n * - Dropdown menus\n * - Other floating UI elements\n * If you encounter z-index conflicts, ensure your overlays use Pine's z-index tokens\n * or adjust --pine-z-index-nuclear in your theme.\n */\nfunction injectStyles(): void {\n if (document.querySelector('[data-pds-truncation-tooltip]')) return;\n\n const style = document.createElement('style');\n style.setAttribute('data-pds-truncation-tooltip', '');\n style.textContent = `\n .${TOOLTIP_CLASS} {\n position: fixed;\n z-index: var(--pine-z-index-nuclear, 9999);\n }\n .${TOOLTIP_CLASS}__content {\n background-color: var(--pine-color-primary, #1a1a2e);\n border-radius: calc(var(--pine-dimension-xs, 4px) * 1.25);\n box-shadow: var(--pine-box-shadow, 0 2px 8px rgba(0,0,0,0.15));\n color: var(--pine-color-text-primary, #fff);\n cursor: text;\n font-family: var(--pine-font-family-body, sans-serif);\n font-size: var(--pine-font-size-body-sm, 0.875rem);\n letter-spacing: var(--pine-letter-spacing, normal);\n line-height: var(--pine-line-height-body, 1.5);\n max-width: 320px;\n opacity: 0;\n padding: var(--pine-dimension-xs, 4px) calc(var(--pine-dimension-md, 12px) / 2);\n transition: opacity 0.15s ease-in-out, visibility 0.15s ease-in-out;\n user-select: text;\n visibility: hidden;\n width: max-content;\n word-break: break-word;\n }\n .${TOOLTIP_CLASS}--visible .${TOOLTIP_CLASS}__content {\n opacity: 1;\n visibility: visible;\n }\n `;\n document.head.appendChild(style);\n}\n\n/**\n * Checks if an element's content is overflowing horizontally (i.e. text is truncated).\n */\nfunction isOverflowing(el: HTMLElement): boolean {\n return el.scrollWidth > el.clientWidth;\n}\n\n/**\n * Sets up automatic tooltip behavior for a truncated element.\n *\n * When the element's text overflows, hovering or focusing the host element\n * will display a tooltip showing the full text content. The tooltip is\n * rendered as a portal on document.body and positioned with Floating UI.\n *\n * @returns A cleanup function that removes all listeners, observers, and DOM elements.\n */\nexport function setupTruncationTooltip(options: TruncationTooltipOptions): () => void {\n const { hostEl, contentEl, getTooltipText, placement = 'top' } = options;\n\n injectStyles();\n\n let portalEl: HTMLElement | null = null;\n let isHovering = false;\n let isHoveringPortal = false;\n let isFocused = false;\n let hideTimeout: ReturnType<typeof setTimeout> | null = null;\n let resizeObserver: ResizeObserver | null = null;\n let resizeDebounce: ReturnType<typeof setTimeout> | null = null;\n\n // Use ResizeObserver to re-evaluate overflow when the element resizes\n // Debounced to prevent performance issues during rapid window resizing\n if (typeof ResizeObserver !== 'undefined') {\n resizeObserver = new ResizeObserver(() => {\n if (resizeDebounce) {\n clearTimeout(resizeDebounce);\n }\n resizeDebounce = setTimeout(() => {\n resizeDebounce = null;\n // If tooltip is showing but text no longer overflows, hide it\n if (portalEl && portalEl.isConnected && !isOverflowing(contentEl)) {\n hideTooltip();\n }\n }, 100);\n });\n resizeObserver.observe(contentEl);\n }\n\n function createPortal(): void {\n if (portalEl) return;\n\n const text = getTooltipText();\n if (!text || text.trim() === '') return;\n\n portalEl = document.createElement('div');\n portalEl.className = TOOLTIP_CLASS;\n portalEl.setAttribute('role', 'tooltip');\n portalEl.setAttribute('aria-hidden', 'false');\n\n const contentDiv = document.createElement('div');\n contentDiv.className = `${TOOLTIP_CLASS}__content`;\n contentDiv.textContent = text.trim();\n\n portalEl.appendChild(contentDiv);\n document.body.appendChild(portalEl);\n\n // Allow the user to hover into the tooltip to select/copy text\n portalEl.addEventListener('mouseenter', handlePortalMouseEnter);\n portalEl.addEventListener('mouseleave', handlePortalMouseLeave);\n\n positionTooltip().then(() => {\n if (portalEl) {\n portalEl.classList.add(`${TOOLTIP_CLASS}--visible`);\n }\n });\n }\n\n async function positionTooltip(): Promise<void> {\n if (!portalEl) return;\n\n try {\n const { x, y } = await computePosition(hostEl, portalEl, {\n placement,\n strategy: 'fixed',\n middleware: [offset(4), flip(), shift({ padding: 5 })],\n });\n\n Object.assign(portalEl.style, {\n left: `${x}px`,\n top: `${y}px`,\n });\n } catch {\n // Fallback: position above the element with bounds checking\n if (portalEl) {\n const rect = hostEl.getBoundingClientRect();\n const portalRect = portalEl.getBoundingClientRect();\n const padding = 5;\n\n // Ensure tooltip stays within viewport bounds\n const left = Math.max(padding, Math.min(rect.left, window.innerWidth - portalRect.width - padding));\n const top = Math.max(padding, rect.top - portalRect.height - 8);\n\n portalEl.style.left = `${left}px`;\n portalEl.style.top = `${top}px`;\n }\n }\n }\n\n function removePortal(): void {\n if (portalEl) {\n portalEl.removeEventListener('mouseenter', handlePortalMouseEnter);\n portalEl.removeEventListener('mouseleave', handlePortalMouseLeave);\n portalEl.classList.remove(`${TOOLTIP_CLASS}--visible`);\n // Check if portal is still in the DOM before removing\n if (portalEl.parentNode && portalEl.isConnected) {\n try {\n portalEl.parentNode.removeChild(portalEl);\n } catch (e) {\n // Portal was already removed, ignore error\n }\n }\n portalEl = null;\n }\n }\n\n function cancelHideTimeout(): void {\n if (hideTimeout !== null) {\n clearTimeout(hideTimeout);\n hideTimeout = null;\n }\n }\n\n function showTooltip(): void {\n cancelHideTimeout();\n if (!isOverflowing(contentEl)) return;\n createPortal();\n }\n\n function hideTooltip(): void {\n if (isHovering || isHoveringPortal || isFocused) return;\n removePortal();\n }\n\n /**\n * Schedules tooltip removal after a short delay.\n *\n * The 100ms delay serves two purposes:\n * 1. Gives users time to move their cursor from the truncated text to the tooltip portal\n * without it closing, enabling text selection/copying from the tooltip\n * 2. Prevents flickering when the user briefly moves the cursor during normal interaction\n */\n function scheduleHide(): void {\n cancelHideTimeout();\n hideTimeout = setTimeout(() => {\n hideTimeout = null;\n hideTooltip();\n }, 100);\n }\n\n function handleMouseEnter(): void {\n isHovering = true;\n showTooltip();\n }\n\n function handleMouseLeave(): void {\n isHovering = false;\n scheduleHide();\n }\n\n function handlePortalMouseEnter(): void {\n isHoveringPortal = true;\n cancelHideTimeout();\n }\n\n function handlePortalMouseLeave(): void {\n isHoveringPortal = false;\n scheduleHide();\n }\n\n function handleFocusIn(): void {\n isFocused = true;\n showTooltip();\n }\n\n function handleFocusOut(): void {\n isFocused = false;\n scheduleHide();\n }\n\n hostEl.addEventListener('mouseenter', handleMouseEnter);\n hostEl.addEventListener('mouseleave', handleMouseLeave);\n hostEl.addEventListener('focusin', handleFocusIn);\n hostEl.addEventListener('focusout', handleFocusOut);\n\n // Return cleanup function\n return () => {\n cancelHideTimeout();\n if (resizeDebounce) {\n clearTimeout(resizeDebounce);\n resizeDebounce = null;\n }\n if (resizeObserver) {\n resizeObserver.disconnect();\n }\n hostEl.removeEventListener('mouseenter', handleMouseEnter);\n hostEl.removeEventListener('mouseleave', handleMouseLeave);\n hostEl.removeEventListener('focusin', handleFocusIn);\n hostEl.removeEventListener('focusout', handleFocusOut);\n removePortal();\n };\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"p-CX0Csdth.system.js","sources":["src/components/pds-filters/pds-filter/pds-filter.scss?tag=pds-filter&encapsulation=shadow","src/components/pds-filters/pds-filter/pds-filter.tsx"],"sourcesContent":[":host {\n --box-shadow-focus: 0 0 0 1px var(--pine-color-background-container), 0 0 0 3px var(--pine-color-focus-ring);\n\n display: inline-block;\n position: relative;\n}\n\n.pds-filter__trigger {\n align-items: center;\n /* stylelint-disable-next-line property-no-unknown */\n anchor-name: --filter-trigger;\n background: var(--pine-color-background-container);\n border: var(--pine-border);\n border-radius: var(--pine-dimension-100);\n box-shadow: var(--pine-box-shadow-050);\n box-sizing: border-box;\n color: var(--pine-color-text-tertiary);\n cursor: pointer;\n display: inline-flex;\n font-family: var(--pine-font-family-inter);\n font-size: var(--pine-font-size-100);\n font-weight: var(--pine-font-weight-400);\n gap: var(--pine-dimension-050);\n letter-spacing: var(--pine-letter-spacing-114);\n line-height: var(--pine-line-height-150);\n padding: var(--pine-dimension-025) var(--pine-dimension-125);\n position: relative;\n transition: all 0.2s ease;\n\n pds-icon {\n block-size: var(--pine-font-size-100);\n color: var(--pine-color-text-secondary);\n flex-shrink: 0;\n inline-size: var(--pine-font-size-100);\n }\n\n &:hover,\n &.pds-filter__trigger--open {\n background-color: var(--pine-color-background-subtle);\n border-color: var(--pine-color-border-hover);\n color: var(--pine-color-text-hover);\n\n pds-icon {\n color: var(--pine-color-text-secondary);\n }\n }\n\n &:focus-visible {\n box-shadow: var(--box-shadow-focus);\n outline: none;\n }\n\n &:disabled {\n cursor: not-allowed;\n opacity: 0.5;\n }\n}\n\n.pds-filter__trigger--selected {\n background-color: var(--pine-color-purple-050);\n border-color: var(--pine-color-purple-500);\n color: var(--pine-color-purple-600);\n\n pds-icon {\n color: var(--pine-color-purple-600);\n }\n\n &:hover,\n &.pds-filter__trigger--open {\n background-color: var(--pine-color-purple-100);\n border-color: var(--pine-color-purple-500);\n color: var(--pine-color-purple-600);\n\n pds-icon {\n color: var(--pine-color-purple-600);\n }\n }\n\n &:focus-visible {\n box-shadow: var(--box-shadow-focus);\n outline: none;\n }\n}\n\n.pds-filter__trigger--more {\n background-color: var(--pine-color-background-container-hover);\n border: var(--pine-border-width-thin) dashed var(--pine-color-border);\n color: var(--pine-color-text-tertiary);\n\n pds-icon {\n color: var(--pine-color-text-secondary);\n }\n\n &:hover,\n &.pds-filter__trigger--open {\n background-color: var(--pine-color-background-subtle);\n border-color: var(--pine-color-border-hover);\n color: var(--pine-color-text-hover);\n\n pds-icon {\n color: var(--pine-color-text-secondary);\n }\n }\n\n &:focus-visible {\n box-shadow: var(--box-shadow-focus);\n outline: none;\n }\n}\n\n.pds-filter__trigger--clear {\n background: transparent;\n border: var(--pine-border-width-thin) solid transparent;\n border-radius: var(--pine-dimension-100);\n box-shadow: none;\n color: var(--pine-color-purple-600);\n\n pds-icon {\n color: var(--pine-color-purple-600);\n }\n\n &:hover {\n background-color: var(--pine-color-purple-100);\n border-color: var(--pine-color-purple-100);\n color: var(--pine-color-purple-600);\n\n pds-icon {\n color: var(--pine-color-purple-600);\n }\n }\n\n &:focus-visible {\n box-shadow: var(--box-shadow-focus);\n outline: none;\n }\n}\n\n.pds-filter__button-content {\n align-items: center;\n display: inline-flex;\n gap: var(--pine-dimension-050);\n max-inline-size: 148px;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.pds-filter__button-text {\n line-height: var(--pine-line-height-150);\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.pds-filter__dropdown-icon {\n block-size: var(--pine-dimension-200);\n flex-shrink: 0;\n inline-size: var(--pine-dimension-200);\n}\n\n\n.pds-filter__popover {\n background-color: var(--pine-color-background-container);\n border: 0;\n border-radius: var(--pine-dimension-100);\n box-shadow: var(--pine-box-shadow-100);\n display: none;\n inline-size: 228px;\n inset: unset;\n padding: var(--pine-dimension-100);\n z-index: var(--pine-z-index-overlay);\n\n /* stylelint-disable-next-line selector-pseudo-class-no-unknown */\n &:popover-open,\n &.is-open {\n display: block;\n }\n\n /* Modern browsers: CSS anchor positioning with JavaScript-controlled flipping */\n @supports (anchor-name: --test) {\n inset-block-start: calc(anchor(--filter-trigger bottom) + var(--pine-dimension-100));\n inset-inline-start: anchor(--filter-trigger start);\n position: fixed; /* Anchor positioning requires fixed positioning */\n /* stylelint-disable-next-line property-no-unknown */\n position-anchor: --filter-trigger;\n\n /* CSS position-try disabled for precise JavaScript-controlled flipping */\n\n /* Flipping classes applied by JavaScript for precise control */\n &.popover-flip-horizontal {\n inset-inline-end: anchor(--filter-trigger end);\n inset-inline-start: auto;\n }\n\n &.popover-flip-vertical {\n inset-block-start: anchor(--filter-trigger top);\n transform: translateY(calc(-100% - var(--pine-dimension-100)));\n }\n\n &.popover-flip-horizontal.popover-flip-vertical {\n inset-block-start: anchor(--filter-trigger top);\n inset-inline-end: anchor(--filter-trigger end);\n inset-inline-start: auto;\n transform: translateY(calc(-100% - var(--pine-dimension-100)));\n }\n\n /* Ensure fallback class works with flipping in modern browsers */\n &.is-open.popover-flip-horizontal {\n inset-inline-end: anchor(--filter-trigger end);\n inset-inline-start: auto;\n }\n\n &.is-open.popover-flip-vertical {\n inset-block-start: anchor(--filter-trigger top);\n transform: translateY(calc(-100% - var(--pine-dimension-100)));\n }\n\n &.is-open.popover-flip-horizontal.popover-flip-vertical {\n inset-block-start: anchor(--filter-trigger top);\n inset-inline-end: anchor(--filter-trigger end);\n inset-inline-start: auto;\n transform: translateY(calc(-100% - var(--pine-dimension-100)));\n }\n\n }\n}\n","import { Component, Element, Event, EventEmitter, Host, h, Prop, State, Method, Listen } from '@stencil/core';\nimport type { BasePdsProps } from '@utils/interfaces';\nimport { isRtlDirection } from '@utils/scroll';\nimport type { PdsFilterOpenEventDetail, PdsFilterCloseEventDetail, PdsFilterClearEventDetail, PdsFilterVariant } from './filter-interface';\n\nimport { enlarge, trash } from '@pine-ds/icons/icons';\n\n/**\n * Individual filter component with cross-browser popover positioning.\n *\n * Uses a hybrid approach for optimal cross-browser compatibility:\n * - Modern browsers: CSS anchor positioning + JavaScript flip classes\n * - Fallback browsers: JavaScript positioning with viewport boundary detection\n *\n * @part button - Exposes the trigger button element for styling.\n * @part button-content - Exposes the button content container for styling.\n * @part button-text - Exposes the button text for styling.\n * @part icon - Exposes the icon component for styling.\n * @part popover - Exposes the popover container for styling.\n * @slot (default) - Popover content that will be displayed when the filter is open.\n */\n\n@Component({\n tag: 'pds-filter',\n styleUrl: 'pds-filter.scss',\n shadow: true,\n})\nexport class PdsFilter implements BasePdsProps {\n @Element() el!: HTMLPdsFilterElement;\n\n private popoverEl: HTMLElement;\n private scrollRAF: number | null = null;\n private lastScrollTime = 0;\n\n /**\n * A unique identifier used for the underlying component `id` attribute.\n */\n @Prop() componentId!: string;\n\n /**\n * The variant style of the filter trigger.\n * @defaultValue 'default'\n */\n @Prop() variant: PdsFilterVariant = 'default';\n\n /**\n * The name of the icon to display in the trigger button.\n * For 'clear' variant, this is ignored as it always shows trash icon.\n */\n @Prop() icon?: string;\n\n /**\n * The text content displayed in the trigger button.\n */\n @Prop() text?: string;\n\n\n /**\n * State to track if the popover is open.\n */\n @State() isOpen = false;\n\n /**\n * Event emitted when the filter popover is opened.\n */\n @Event() pdsFilterOpen: EventEmitter<PdsFilterOpenEventDetail>;\n\n /**\n * Event emitted when the filter popover is closed.\n */\n @Event() pdsFilterClose: EventEmitter<PdsFilterCloseEventDetail>;\n\n /**\n * Event emitted when the clear variant is clicked.\n */\n @Event() pdsFilterClear: EventEmitter<PdsFilterClearEventDetail>;\n\n\n /**\n * Component lifecycle: Clean up when disconnected from DOM.\n * Prevents memory leaks by canceling pending operations and closing popovers.\n */\n disconnectedCallback() {\n // Cancel pending animation frames\n if (this.scrollRAF) {\n cancelAnimationFrame(this.scrollRAF);\n this.scrollRAF = null;\n }\n\n this.lastScrollTime = 0;\n\n // Clean up native popover event listeners\n if (this.popoverEl) {\n const supportsPopoverAPI = HTMLElement.prototype.showPopover && !navigator.userAgent.includes('Firefox');\n if (supportsPopoverAPI) {\n this.popoverEl.removeEventListener('toggle', this.handleNativePopoverToggle);\n }\n }\n\n // Ensure popover is closed\n if (this.isOpen && this.popoverEl) {\n try {\n this.popoverEl.hidePopover();\n } catch (error) {\n this.popoverEl.style.display = 'none';\n this.popoverEl.classList.remove('is-open');\n }\n }\n }\n\n\n componentDidRender() {\n // Note: popoverEl is set via ref callback in render method\n // For browsers with native popover API, we need direct element listeners\n // since the document listener may not capture native popover toggle events\n if (this.popoverEl) {\n const supportsPopoverAPI = HTMLElement.prototype.showPopover && !navigator.userAgent.includes('Firefox');\n\n if (supportsPopoverAPI) {\n // Remove any existing listeners to avoid duplicates\n this.popoverEl.removeEventListener('toggle', this.handleNativePopoverToggle);\n // Add direct listener for native popover events\n this.popoverEl.addEventListener('toggle', this.handleNativePopoverToggle);\n }\n }\n }\n\n /**\n * Handle native popover toggle events directly on the element\n * This is needed for browsers with native Popover API support\n */\n private handleNativePopoverToggle = (event: Event) => {\n const target = event.target as HTMLElement;\n\n if (target && target.id === `${this.componentId}-popover`) {\n // Check current popover state\n let isCurrentlyOpen = false;\n try {\n isCurrentlyOpen = target.matches(':popover-open');\n } catch (error) {\n // Fallback if :popover-open selector isn't supported\n isCurrentlyOpen = target.style.display === 'block';\n }\n\n // Update state\n this.isOpen = isCurrentlyOpen;\n\n if (this.isOpen) {\n setTimeout(() => this.adjustPopoverPosition(), 0);\n\n this.pdsFilterOpen.emit({\n componentId: this.componentId,\n variant: this.variant,\n text: this.text,\n });\n } else {\n this.pdsFilterClose.emit({\n componentId: this.componentId,\n variant: this.variant,\n text: this.text,\n });\n }\n }\n };\n\n /**\n * Reposition popovers on window resize.\n */\n @Listen('resize', { target: 'window' })\n handleWindowResize() {\n if (this.isOpen) {\n setTimeout(() => this.adjustPopoverPosition(), 16);\n }\n }\n\n /**\n * Reposition popovers on scroll with performance throttling.\n */\n @Listen('scroll', { target: 'window', passive: true })\n handleWindowScroll() {\n if (this.isOpen) {\n const supportsAnchorPositioning = \"anchorName\" in document.documentElement.style;\n const now = performance.now();\n\n const throttleMs = supportsAnchorPositioning ? 66 : 33;\n if (now - this.lastScrollTime < throttleMs) {\n return;\n }\n\n this.lastScrollTime = now;\n\n if (this.scrollRAF) {\n cancelAnimationFrame(this.scrollRAF);\n }\n\n this.scrollRAF = requestAnimationFrame(() => {\n if (this.isOpen && this.popoverEl && this.el.isConnected) {\n this.adjustPopoverPosition();\n }\n this.scrollRAF = null;\n });\n }\n }\n\n /**\n * Closes other open filter popovers to ensure only one is open at a time.\n */\n private closeOtherPopovers() {\n const allFilters = document.querySelectorAll('pds-filter');\n\n allFilters.forEach((filter) => {\n if (filter === this.el) return;\n\n const popover = filter.shadowRoot?.querySelector('.pds-filter__popover') as HTMLElement;\n\n if (popover) {\n // Check for popover API support to avoid crashes\n let isPopoverOpen = false;\n try {\n isPopoverOpen = popover.matches(':popover-open');\n } catch (error) {\n // Fallback if :popover-open selector isn't supported\n isPopoverOpen = popover.style.display === 'block';\n }\n\n if (isPopoverOpen) {\n try {\n popover.hidePopover();\n } catch (error) {\n popover.style.display = 'none';\n popover.classList.remove('is-open');\n }\n }\n }\n });\n }\n\n /**\n * Adjusts popover position to keep it within viewport bounds.\n * Uses CSS anchor positioning for modern browsers, JavaScript for fallback browsers.\n */\n private adjustPopoverPosition() {\n if (!this.popoverEl || this.variant === 'clear') return;\n\n const triggerEl = this.el.shadowRoot?.querySelector('.pds-filter__trigger') as HTMLElement;\n if (!triggerEl) return;\n\n const triggerRect = triggerEl.getBoundingClientRect();\n const viewportWidth = window.innerWidth;\n const viewportHeight = window.innerHeight;\n\n const supportsAnchorPositioning = \"anchorName\" in document.documentElement.style;\n\n // Get dimensions for boundary detection\n const popoverWidth = 228;\n const popoverHeight = this.popoverEl.getBoundingClientRect().height || 200;\n\n // Boundary detection for flipping (inline-end overflow respects document direction)\n const bufferSpace = 20;\n const isRtl = isRtlDirection(this.el);\n const wouldOverflowInlineEnd = isRtl\n ? (triggerRect.right - popoverWidth - bufferSpace) < 0\n : (triggerRect.left + popoverWidth + bufferSpace) > viewportWidth;\n const wouldOverflowBottom = (triggerRect.bottom + 8 + popoverHeight + bufferSpace) > viewportHeight;\n\n if (supportsAnchorPositioning) {\n // Modern browsers: CSS anchor positioning + JavaScript-controlled flipping\n this.popoverEl.classList.remove('popover-flip-horizontal', 'popover-flip-vertical');\n\n if (wouldOverflowInlineEnd) {\n this.popoverEl.classList.add('popover-flip-horizontal');\n }\n\n if (wouldOverflowBottom) {\n this.popoverEl.classList.add('popover-flip-vertical');\n }\n\n } else {\n // Fallback browsers: JavaScript positioning with boundary detection\n let left = isRtl ? triggerRect.right - popoverWidth : triggerRect.left;\n let top = triggerRect.bottom + 8;\n let transformOrigin = isRtl ? 'top right' : 'top left';\n\n // Apply horizontal flipping if needed\n if (wouldOverflowInlineEnd) {\n const actualPopoverWidth = this.popoverEl.getBoundingClientRect().width || popoverWidth;\n left = isRtl ? triggerRect.left : triggerRect.right - actualPopoverWidth;\n transformOrigin = isRtl ? 'top left' : 'top right';\n }\n\n // Apply vertical flipping if needed\n if (wouldOverflowBottom) {\n top = triggerRect.top - popoverHeight - 8;\n transformOrigin = transformOrigin.replace('top', 'bottom');\n }\n\n // Apply positioning in single DOM write for performance\n this.popoverEl.style.cssText = `\n position: fixed;\n left: ${left}px;\n top: ${top}px;\n z-index: var(--pine-z-index-overlay);\n transform-origin: ${transformOrigin};\n `;\n }\n }\n\n /**\n * Opens the filter popover programmatically.\n * Note: Clear variant does not support popover functionality.\n */\n @Method()\n async showFilter() {\n if (this.variant === 'clear') {\n console.warn('Clear variant does not support showFilter method');\n return;\n }\n\n if (this.popoverEl != null) {\n try {\n this.popoverEl.showPopover();\n } catch (error) {\n // Fallback for testing environment where showPopover is not available\n this.popoverEl.style.display = 'block';\n this.popoverEl.classList.add('is-open');\n }\n }\n }\n\n /**\n * Closes the filter popover programmatically.\n * Note: Clear variant does not support popover functionality.\n */\n @Method()\n async hideFilter() {\n if (this.variant === 'clear') {\n console.warn('Clear variant does not support hideFilter method');\n return;\n }\n\n if (this.popoverEl != null) {\n try {\n this.popoverEl.hidePopover();\n } catch (error) {\n // Fallback for testing environment where hidePopover is not available\n this.popoverEl.style.display = 'none';\n this.popoverEl.classList.remove('is-open');\n }\n }\n }\n\n /**\n * Listen for popover toggle events for browsers without native Popover API (fallback).\n * Native API browsers use direct element listeners to avoid conflicts.\n */\n @Listen('toggle', { target: 'document' })\n handlePopoverToggle(event: Event) {\n const target = event.target as HTMLElement;\n const supportsPopoverAPI = HTMLElement.prototype.showPopover && !navigator.userAgent.includes('Firefox');\n\n // Only handle events for fallback browsers (Firefox) to avoid duplicate handling\n if (!supportsPopoverAPI && target && target.id === `${this.componentId}-popover`) {\n // Check for popover API support to avoid crashes\n let isCurrentlyOpen = false;\n try {\n isCurrentlyOpen = target.matches(':popover-open');\n } catch (error) {\n // Fallback if :popover-open selector isn't supported\n isCurrentlyOpen = target.style.display === 'block';\n }\n\n // Update state\n this.isOpen = isCurrentlyOpen;\n\n if (this.isOpen) {\n setTimeout(() => this.adjustPopoverPosition(), 0);\n\n this.pdsFilterOpen.emit({\n componentId: this.componentId,\n variant: this.variant,\n text: this.text,\n });\n } else {\n this.pdsFilterClose.emit({\n componentId: this.componentId,\n variant: this.variant,\n text: this.text,\n });\n }\n }\n }\n\n /**\n * Listen for clicks to detect outside dismissal.\n */\n @Listen('click', { target: 'document' })\n handleDocumentClick(event: Event) {\n // Check if click is outside and popover gets closed\n if (!this.el.contains(event.target as Node) && this.isOpen && this.variant !== 'clear') {\n setTimeout(() => {\n if (this.popoverEl && this.isOpen) {\n // Check for popover API support to avoid crashes\n const supportsPopoverAPI = HTMLElement.prototype.showPopover && !navigator.userAgent.includes('Firefox');\n\n let popoverIsClosed = false;\n if (supportsPopoverAPI) {\n try {\n popoverIsClosed = !this.popoverEl.matches(':popover-open');\n } catch (error) {\n // Fallback if :popover-open selector isn't supported\n popoverIsClosed = this.popoverEl.style.display !== 'block';\n }\n } else {\n // Manual fallback - assume popover was closed by outside click\n popoverIsClosed = true;\n }\n\n if (popoverIsClosed) {\n this.isOpen = false;\n if (!supportsPopoverAPI) {\n this.popoverEl.style.display = 'none';\n this.popoverEl.classList.remove('is-open');\n }\n this.pdsFilterClose.emit({\n componentId: this.componentId,\n variant: this.variant,\n text: this.text,\n });\n }\n }\n }, 0);\n }\n }\n\n /**\n * Listen for Escape key to ensure close event fires.\n */\n @Listen('keydown', { target: 'document' })\n handleEscapeKey(event: KeyboardEvent) {\n if (event.key === 'Escape' && this.isOpen && this.variant !== 'clear') {\n // Check if popover was closed by Escape\n setTimeout(() => {\n if (this.popoverEl && this.isOpen) {\n // Check for popover API support to avoid crashes\n const supportsPopoverAPI = HTMLElement.prototype.showPopover && !navigator.userAgent.includes('Firefox');\n\n let popoverIsClosed = false;\n if (supportsPopoverAPI) {\n try {\n popoverIsClosed = !this.popoverEl.matches(':popover-open');\n } catch (error) {\n // Fallback if :popover-open selector isn't supported\n popoverIsClosed = this.popoverEl.style.display !== 'block';\n }\n } else {\n // Manual fallback - assume popover was closed by Escape\n popoverIsClosed = true;\n }\n\n if (popoverIsClosed) {\n this.isOpen = false;\n if (!supportsPopoverAPI) {\n this.popoverEl.style.display = 'none';\n this.popoverEl.classList.remove('is-open');\n }\n this.pdsFilterClose.emit({\n componentId: this.componentId,\n variant: this.variant,\n text: this.text,\n });\n }\n }\n }, 0);\n }\n }\n\n /**\n * Handle keyboard interactions for clear variant only.\n */\n private handleKeyDown = (event: KeyboardEvent) => {\n // Only handle clear variant manually, let native API handle everything else\n if (this.variant === 'clear' && (event.key === 'Enter' || event.key === ' ')) {\n event.preventDefault();\n this.handleClick();\n }\n };\n\n /**\n * Handle trigger button click. Clear variant emits event, others toggle popover.\n */\n private handleClick = (event?: Event) => {\n if (this.variant === 'clear') {\n this.pdsFilterClear.emit({\n componentId: this.componentId,\n text: this.text,\n });\n return;\n }\n\n this.closeOtherPopovers();\n\n // Check for popover API support\n const supportsPopoverAPI = HTMLElement.prototype.showPopover && !navigator.userAgent.includes('Firefox');\n\n if (!supportsPopoverAPI) {\n // Manual fallback for browsers without popover API support\n // Prevent default to avoid conflicts with any native behavior\n if (event) {\n event.preventDefault();\n }\n\n setTimeout(() => {\n if (this.popoverEl != null) {\n this.isOpen = !this.isOpen;\n if (this.isOpen) {\n this.popoverEl.style.display = 'block';\n this.popoverEl.classList.add('is-open');\n this.adjustPopoverPosition();\n this.pdsFilterOpen.emit({\n componentId: this.componentId,\n variant: this.variant,\n text: this.text,\n });\n } else {\n this.popoverEl.style.display = 'none';\n this.popoverEl.classList.remove('is-open');\n this.pdsFilterClose.emit({\n componentId: this.componentId,\n variant: this.variant,\n text: this.text,\n });\n }\n }\n }, 0);\n }\n // For browsers with native popover API, let the native behavior handle the toggle\n // The toggle event listener will capture the state change and emit events\n };\n\n /**\n * Get the appropriate icon for the variant.\n */\n private getIcon() {\n if (this.variant === 'clear') {\n return trash;\n }\n return this.icon;\n }\n\n /**\n * Get CSS classes for the trigger button.\n */\n private getTriggerClasses() {\n const classes = ['pds-filter__trigger'];\n classes.push(`pds-filter__trigger--${this.variant}`);\n\n if (this.isOpen && this.variant !== 'clear') {\n classes.push('pds-filter__trigger--open');\n }\n\n return classes.join(' ');\n }\n\n /**\n * Render the trigger icon.\n */\n private renderIcon() {\n const iconToRender = this.getIcon();\n if (iconToRender == null || iconToRender === '') return null;\n\n return (\n <pds-icon\n icon={iconToRender}\n size=\"var(--pine-font-size-100)\"\n aria-hidden=\"true\"\n part=\"icon\"\n />\n );\n }\n\n /**\n * Render the dropdown icon for selected variant.\n */\n private renderDropdownIcon() {\n if (this.variant === 'selected') {\n return (\n <pds-icon\n icon={enlarge}\n size=\"var(--pine-dimension-200)\"\n aria-hidden=\"true\"\n class=\"pds-filter__dropdown-icon\"\n part=\"icon\"\n />\n );\n }\n return null;\n }\n\n render() {\n return (\n <Host id={this.componentId}>\n <button\n class={this.getTriggerClasses()}\n type=\"button\"\n popoverTarget={this.variant !== 'clear' ? `${this.componentId}-popover` : undefined}\n popoverTargetAction={this.variant !== 'clear' ? 'toggle' : undefined}\n onKeyDown={this.variant === 'clear' ? this.handleKeyDown : undefined}\n onClick={(event) => this.handleClick(event)}\n part=\"button\"\n aria-expanded={this.isOpen ? 'true' : 'false'}\n aria-haspopup={this.variant !== 'clear' ? 'true' : undefined}\n aria-controls={this.variant !== 'clear' ? `${this.componentId}-popover` : undefined}\n >\n <span class=\"pds-filter__button-content\" part=\"button-content\">\n {this.renderIcon()}\n {this.text && (\n <span class=\"pds-filter__button-text\" part=\"button-text\">\n {this.text}\n </span>\n )}\n {this.renderDropdownIcon()}\n </span>\n </button>\n\n {this.variant !== 'clear' && (\n <div\n ref={el => this.popoverEl = el}\n id={`${this.componentId}-popover`}\n class=\"pds-filter__popover\"\n popover=\"auto\"\n part=\"popover\"\n >\n <slot />\n </div>\n )}\n </Host>\n );\n }\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"p-CZSA3A1S.system.js","sources":["src/components/pds-popover/pds-popover.scss?tag=pds-popover&encapsulation=shadow","src/components/pds-popover/pds-popover.tsx"],"sourcesContent":[":host {\n --sizing-max-width-default: 352px;\n\n display: inline-block;\n\n // Trigger wrapper for slotted content\n .pds-popover__trigger-wrapper {\n display: inline-block;\n }\n\n // Content slot wrapper is hidden (content is rendered in portal)\n .pds-popover__content-slot-wrapper {\n display: none;\n }\n}\n","import { Component, Element, Event, EventEmitter, Host, h, Method, Prop, State } from '@stencil/core';\nimport { PlacementType } from '@utils/types';\nimport { PdsPopoverEventDetail } from './popover-interface';\n\n/**\n * @slot trigger - The trigger element for the popover\n * @slot (default) - The content to display inside the popover\n */\n@Component({\n tag: 'pds-popover',\n styleUrl: 'pds-popover.scss',\n shadow: true,\n})\nexport class PdsPopover {\n /**\n * Reference to the Host element\n */\n @Element() el: HTMLPdsPopoverElement;\n\n /**\n * Determines when the popover is active\n * @defaultValue false\n */\n @State() active = false;\n\n /**\n * Tracks if the component is still mounted to prevent memory leaks\n */\n private isComponentMounted = true;\n\n /**\n * Reference to the trigger element\n */\n private triggerEl: HTMLElement | null = null;\n\n /**\n * Portal element rendered in document.body\n */\n private portalEl: HTMLElement | null = null;\n\n /**\n * Guard to prevent repositioning loops\n */\n private isRepositioning = false;\n\n /**\n * Debounce timers for performance optimization\n */\n private scrollDebounceTimer: ReturnType<typeof setTimeout> | null = null;\n private resizeDebounceTimer: ReturnType<typeof setTimeout> | null = null;\n\n /**\n * Track moved nodes and their placeholders for restoration\n */\n private movedNodes: Array<{ node: Node; placeholder: Comment }> = [];\n\n /**\n * Timestamp when popover was opened (for preventing immediate close)\n */\n private openTimestamp = 0;\n\n /**\n * Instance counter for unique IDs\n */\n private static instanceCounter = 0;\n\n /**\n * Bound handlers for cleanup\n */\n private boundClickOutsideHandler: (event: MouseEvent) => void;\n private boundEscapeKeyHandler: (event: KeyboardEvent) => void;\n private boundScrollHandler: () => void;\n private boundResizeHandler: () => void;\n\n /**\n * Emitted when the popover is opened\n */\n @Event() pdsPopoverOpen: EventEmitter<PdsPopoverEventDetail>;\n\n /**\n * Emitted when the popover is closed\n */\n @Event() pdsPopoverClose: EventEmitter<PdsPopoverEventDetail>;\n\n /**\n * Determines the action that triggers the popover. For manual popovers, the consumer is responsible for toggling this value.\n * @defaultValue \"show\"\n */\n @Prop() popoverTargetAction: 'show' | 'toggle' | 'hide' = 'show';\n\n /**\n * Determines the type of popover. Auto popovers can be \"light dismissed\" by clicking outside of the popover.\n * Manual popovers require the consumer to handle the visibility of the popover.\n */\n @Prop() popoverType: 'auto' | 'manual' = 'auto';\n\n /**\n * A unique identifier used for the underlying component `id` attribute.\n */\n @Prop() componentId: string;\n\n /**\n * Sets the maximum width of the popover content\n * @defaultValue 352\n */\n @Prop() maxWidth?: number = 352;\n\n /**\n * Determines the preferred position of the popover\n * @defaultValue \"right\"\n */\n @Prop({ reflect: true }) placement: PlacementType = 'right';\n\n componentDidLoad() {\n // Bind event handlers for cleanup\n this.boundClickOutsideHandler = this.handleClickOutside.bind(this);\n this.boundEscapeKeyHandler = this.handleEscapeKey.bind(this);\n this.boundScrollHandler = this.handleScroll.bind(this);\n this.boundResizeHandler = this.handleResize.bind(this);\n\n // Create portal element\n this.createPortal();\n\n // Initialize trigger element by calling slot change handler\n // This is a fallback for environments where slot change might not fire reliably\n const triggerSlot = this.el.shadowRoot?.querySelector('slot[name=\"trigger\"]') as HTMLSlotElement;\n if (triggerSlot && this.triggerEl == null) {\n const CustomEvent = (typeof window !== 'undefined' ? window.Event : global.Event) as any;\n const slotChangeEvent = new CustomEvent('slotchange');\n Object.defineProperty(slotChangeEvent, 'target', { value: triggerSlot, enumerable: true });\n this.handleTriggerSlotChange(slotChangeEvent);\n }\n }\n\n /**\n * Handles changes to the trigger slot\n */\n private handleTriggerSlotChange = (event: Event) => {\n const slot = event.target as HTMLSlotElement;\n const assignedElements = slot.assignedElements();\n\n // Clean up previous trigger's event listener if it exists\n if (this.triggerEl != null) {\n this.triggerEl.removeEventListener('click', this.handleTriggerClick);\n }\n\n if (assignedElements.length > 0) {\n // Use the first assigned element as the trigger\n this.triggerEl = assignedElements[0] as HTMLElement;\n\n // Set ARIA attributes to establish relationship between trigger and popover\n // This mirrors the native Popover API's accessibility behavior\n if (this.portalEl) {\n this.triggerEl.setAttribute('aria-expanded', String(this.active));\n this.triggerEl.setAttribute('aria-controls', this.portalEl.id);\n }\n\n // Attach click listener to handle popover visibility\n this.triggerEl.addEventListener('click', this.handleTriggerClick);\n } else {\n this.triggerEl = null;\n }\n };\n\n /**\n * Handles changes to the default slot (popover content)\n * When the popover is active, re-sync content with portal to handle dynamic updates\n */\n private handleContentSlotChange = () => {\n if (!this.active) return;\n this.updatePortalContent();\n };\n\n /**\n * Handles clicks on the trigger element\n */\n private handleTriggerClick = (event: Event) => {\n // Only prevent default if the trigger is not an anchor with href\n // This allows link navigation while still controlling popover visibility\n const composedPath = event.composedPath();\n const anchorWithHref = composedPath.find(\n (el) => el instanceof HTMLAnchorElement && (el as HTMLAnchorElement).href\n );\n\n if (!anchorWithHref) {\n event.preventDefault();\n }\n\n // Execute the appropriate action based on popoverTargetAction prop\n switch (this.popoverTargetAction) {\n case 'show':\n this.show();\n break;\n case 'hide':\n this.hide();\n break;\n case 'toggle':\n default:\n this.toggle();\n break;\n }\n };\n\n disconnectedCallback() {\n this.isComponentMounted = false;\n\n // Clean up trigger click event listener\n if (this.triggerEl != null) {\n this.triggerEl.removeEventListener('click', this.handleTriggerClick);\n }\n\n // Clean up all event listeners\n this.removeLightDismissListeners();\n this.removeScrollAndResizeListeners();\n\n // Clear any pending debounce timers\n this.clearDebounceTimers();\n\n // Remove portal from DOM\n this.removePortal();\n }\n\n /**\n * Clears any pending debounce timers\n */\n private clearDebounceTimers() {\n if (this.scrollDebounceTimer !== null) {\n clearTimeout(this.scrollDebounceTimer);\n this.scrollDebounceTimer = null;\n }\n if (this.resizeDebounceTimer !== null) {\n clearTimeout(this.resizeDebounceTimer);\n this.resizeDebounceTimer = null;\n }\n }\n\n private createPortal() {\n if (this.portalEl !== null) return;\n\n this.portalEl = document.createElement('div');\n this.portalEl.className = 'pds-popover';\n\n // Apply all styles inline since portal is outside shadow DOM\n this.portalEl.style.position = 'fixed';\n this.portalEl.style.zIndex = 'var(--pine-z-index-raised)';\n this.portalEl.style.maxWidth = `${this.maxWidth}px`;\n this.portalEl.style.display = 'none';\n this.portalEl.style.opacity = '0';\n this.portalEl.style.visibility = 'hidden';\n this.portalEl.style.backgroundColor = 'var(--pine-color-background-container)';\n this.portalEl.style.borderRadius = 'var(--pine-dimension-125)';\n this.portalEl.style.boxShadow = 'var(--pine-box-shadow-200)';\n this.portalEl.style.margin = 'var(--pine-dimension-none)';\n this.portalEl.style.padding = 'var(--pine-dimension-md)';\n\n // Generate unique ID\n if (!this.componentId) {\n const suffix = PdsPopover.instanceCounter++;\n this.portalEl.id = `pds-popover-portal-${suffix}`;\n } else {\n this.portalEl.id = `${this.componentId}-portal`;\n }\n\n // Add accessibility attributes for screen readers\n // Note: Native Popover API doesn't add a specific role, keeping semantic HTML\n this.portalEl.setAttribute('aria-modal', 'false'); // Not a modal, can interact with rest of page\n\n // Append to body\n document.body.appendChild(this.portalEl);\n\n // Add global focus styles to match Pine design system\n // This is done after appending to ensure it's part of the document and can access CSS variables\n this.addPortalFocusStyles();\n }\n\n /**\n * Adds Pine design system focus styles and dark mode border to the portal element\n * Uses CSS variables from Pine's design tokens\n */\n private addPortalFocusStyles() {\n if (!this.portalEl) return;\n\n const portalId = this.portalEl.id;\n\n // Check if style element already exists\n const existingStyle = document.querySelector(`style[data-pds-popover-focus=\"${portalId}\"]`);\n if (existingStyle) return;\n\n // Create style element with Pine's focus ring styles and dark mode border\n const styleEl = document.createElement('style');\n styleEl.setAttribute('data-pds-popover-focus', portalId);\n styleEl.textContent = `\n #${portalId}:focus {\n outline: var(--pine-outline-focus, 2px solid var(--pine-color-focus-ring, #6366f1)) !important;\n outline-offset: var(--pine-border-width, 1px);\n }\n #${portalId}:focus:not(:focus-visible) {\n outline: none;\n }\n [data-theme=\"dark\"] #${portalId} {\n border: var(--pine-border);\n }\n `;\n\n document.head.appendChild(styleEl);\n }\n\n /**\n * Moves slot content into portal (preserves event handlers and component instances)\n */\n private updatePortalContent() {\n if (!this.portalEl) return;\n\n const contentSlotWrapper = this.el.shadowRoot?.querySelector('.pds-popover__content-slot-wrapper');\n const defaultSlot = contentSlotWrapper?.querySelector('slot');\n\n if (defaultSlot) {\n const assignedNodes = defaultSlot.assignedNodes();\n\n // Move each node into portal and track with placeholder for restoration\n assignedNodes.forEach(node => {\n // Skip if node is already in the portal or already tracked\n const isAlreadyInPortal = node.parentNode === this.portalEl;\n const isAlreadyTracked = this.movedNodes.some(moved => moved.node === node);\n\n if (isAlreadyInPortal || isAlreadyTracked) {\n return;\n }\n\n // Create a placeholder comment to mark original position\n const placeholder = document.createComment('pds-popover-placeholder');\n\n // Insert placeholder before moving the node\n node.parentNode?.insertBefore(placeholder, node);\n\n // Move the actual node to portal (preserves all handlers and state)\n this.portalEl!.appendChild(node);\n\n // Track for restoration\n this.movedNodes.push({ node, placeholder });\n });\n }\n }\n\n /**\n * Restores moved nodes back to their original positions\n */\n private restorePortalContent() {\n // Restore each moved node to its original position\n this.movedNodes.forEach(({ node, placeholder }) => {\n if (placeholder.parentNode) {\n placeholder.parentNode.insertBefore(node, placeholder);\n placeholder.parentNode.removeChild(placeholder);\n }\n });\n\n // Clear tracking array\n this.movedNodes = [];\n }\n\n private removePortal() {\n if (this.portalEl) {\n // Remove the portal element from DOM\n if (this.portalEl.parentNode) {\n this.portalEl.parentNode.removeChild(this.portalEl);\n }\n\n // Remove the associated focus style element\n const portalId = this.portalEl.id;\n const styleEl = document.querySelector(`style[data-pds-popover-focus=\"${portalId}\"]`);\n if (styleEl && styleEl.parentNode) {\n styleEl.parentNode.removeChild(styleEl);\n }\n }\n this.portalEl = null;\n }\n\n /**\n * Opens the popover programmatically\n */\n @Method()\n async show() {\n if (this.active || !this.portalEl) return;\n\n this.active = true;\n\n // Record open timestamp to prevent immediate close from opening click\n this.openTimestamp = Date.now();\n\n // Update ARIA expanded state on trigger\n if (this.triggerEl) {\n this.triggerEl.setAttribute('aria-expanded', 'true');\n }\n\n // Update portal content with latest slot content\n this.updatePortalContent();\n\n // Show portal\n this.portalEl.style.display = 'block';\n this.portalEl.style.opacity = '1';\n this.portalEl.style.visibility = 'visible';\n\n // Position the popover\n requestAnimationFrame(() => {\n if (!this.isComponentMounted) return;\n this.handlePopoverPositioning();\n });\n\n // Add scroll and resize listeners for repositioning (always)\n this.addScrollAndResizeListeners();\n\n // Add document listeners for light dismiss and escape key (auto type only)\n if (this.popoverType === 'auto') {\n this.addLightDismissListeners();\n }\n\n // Emit open event\n this.pdsPopoverOpen.emit({\n componentId: this.componentId,\n popoverType: this.popoverType,\n });\n }\n\n /**\n * Closes the popover programmatically\n */\n @Method()\n async hide() {\n if (!this.active || !this.portalEl) return;\n\n this.active = false;\n\n // Update ARIA expanded state on trigger\n if (this.triggerEl) {\n this.triggerEl.setAttribute('aria-expanded', 'false');\n }\n\n // Restore content back to original slot positions\n this.restorePortalContent();\n\n // Hide portal\n this.portalEl.style.display = 'none';\n this.portalEl.style.opacity = '0';\n this.portalEl.style.visibility = 'hidden';\n\n // Return focus to trigger for keyboard accessibility\n // This mirrors native Popover API behavior on close\n this.returnFocusToTrigger();\n\n // Remove all listeners\n this.removeLightDismissListeners();\n this.removeScrollAndResizeListeners();\n\n // Clear any pending timers\n this.clearDebounceTimers();\n\n // Emit close event\n this.pdsPopoverClose.emit({\n componentId: this.componentId,\n popoverType: this.popoverType,\n });\n }\n\n /**\n * Toggles the popover open/closed state programmatically\n */\n @Method()\n async toggle() {\n if (this.active) {\n this.hide();\n } else {\n this.show();\n }\n }\n\n /**\n * Adds light dismiss listeners (click outside and escape key)\n */\n private addLightDismissListeners() {\n // Add listeners immediately - handleClickOutside will check timestamp\n document.addEventListener('click', this.boundClickOutsideHandler, true);\n document.addEventListener('keydown', this.boundEscapeKeyHandler);\n }\n\n /**\n * Removes light dismiss listeners\n */\n private removeLightDismissListeners() {\n document.removeEventListener('click', this.boundClickOutsideHandler, true);\n document.removeEventListener('keydown', this.boundEscapeKeyHandler);\n }\n\n /**\n * Adds scroll and resize listeners for repositioning\n */\n private addScrollAndResizeListeners() {\n window.addEventListener('scroll', this.boundScrollHandler, true);\n window.addEventListener('resize', this.boundResizeHandler);\n }\n\n /**\n * Removes scroll and resize listeners\n */\n private removeScrollAndResizeListeners() {\n window.removeEventListener('scroll', this.boundScrollHandler, true);\n window.removeEventListener('resize', this.boundResizeHandler);\n }\n\n /**\n * Handles clicks outside the popover for light dismiss (auto type only)\n */\n private handleClickOutside(event: MouseEvent) {\n // Ignore events that occurred at or before the popover opened\n // This prevents the opening click from immediately closing the popover\n // Convert event.timeStamp (DOMHighResTimeStamp from performance.now()) to epoch time\n // by calculating: currentEpochTime - (currentPerfTime - eventPerfTime)\n const eventTime = event.timeStamp\n ? Date.now() - (performance.now() - event.timeStamp)\n : Date.now();\n\n if (eventTime <= this.openTimestamp) {\n return;\n }\n\n const target = event.target as Node;\n\n // Check if click is outside both the popover portal and the trigger\n const clickedInsidePopover = this.portalEl?.contains(target);\n const clickedInsideTrigger = this.triggerEl?.contains(target);\n\n if (!clickedInsidePopover && !clickedInsideTrigger) {\n this.hide();\n }\n }\n\n /**\n * Returns focus to the trigger element with visible focus indicator\n * This ensures focus rings/outlines are shown as they would be with keyboard navigation\n */\n private returnFocusToTrigger() {\n if (!this.triggerEl) return;\n\n // Focus immediately while still in keyboard event context\n // This ensures the browser treats it as keyboard-initiated and shows focus ring\n this.triggerEl.focus({ preventScroll: true });\n }\n\n /**\n * Handles escape key press to close the popover\n * Mirrors native Popover API: Escape closes and returns focus to trigger\n */\n private handleEscapeKey(event: KeyboardEvent) {\n if (event.key === 'Escape') {\n // Prevent default Escape behavior and stop propagation\n // This mirrors native Popover API which handles Escape exclusively\n event.preventDefault();\n event.stopPropagation();\n\n // Close popover and return focus to trigger\n this.hide();\n }\n }\n\n /**\n * Handles scroll events to reposition the popover (debounced for performance)\n */\n private handleScroll() {\n if (!this.active) return;\n\n if (this.scrollDebounceTimer !== null) {\n clearTimeout(this.scrollDebounceTimer);\n }\n\n this.scrollDebounceTimer = setTimeout(() => {\n this.handlePopoverPositioning();\n this.scrollDebounceTimer = null;\n }, 10); // 10ms debounce for smooth repositioning\n }\n\n /**\n * Handles resize events to reposition the popover (debounced for performance)\n */\n private handleResize() {\n if (!this.active) return;\n\n if (this.resizeDebounceTimer !== null) {\n clearTimeout(this.resizeDebounceTimer);\n }\n\n this.resizeDebounceTimer = setTimeout(() => {\n this.handlePopoverPositioning();\n this.resizeDebounceTimer = null;\n }, 100); // 100ms debounce for resize\n }\n\n /**\n * Positions the popover relative to its trigger element\n */\n private handlePopoverPositioning() {\n // Prevent repositioning loops\n if (this.isRepositioning) {\n return;\n }\n\n this.isRepositioning = true;\n\n if (this.triggerEl == null || this.portalEl == null) {\n this.isRepositioning = false;\n return;\n }\n\n const triggerRect = this.triggerEl.getBoundingClientRect();\n const popoverRect = this.portalEl.getBoundingClientRect();\n\n // Safety check: ensure trigger has valid dimensions (is rendered and visible)\n if (triggerRect.width === 0 || triggerRect.height === 0) {\n this.isRepositioning = false;\n return;\n }\n\n let top = 0;\n let left = 0;\n const offset = 8;\n\n switch (this.placement) {\n case 'top':\n top = triggerRect.top - popoverRect.height - offset;\n left = triggerRect.left + (triggerRect.width - popoverRect.width) / 2;\n break;\n case 'top-start':\n top = triggerRect.top - popoverRect.height - offset;\n left = triggerRect.left;\n break;\n case 'top-end':\n top = triggerRect.top - popoverRect.height - offset;\n left = triggerRect.right - popoverRect.width;\n break;\n case 'right':\n top = triggerRect.top + (triggerRect.height - popoverRect.height) / 2;\n left = triggerRect.right + offset;\n break;\n case 'right-start':\n top = triggerRect.top;\n left = triggerRect.right + offset;\n break;\n case 'right-end':\n top = triggerRect.bottom - popoverRect.height;\n left = triggerRect.right + offset;\n break;\n case 'bottom':\n top = triggerRect.bottom + offset;\n left = triggerRect.left + (triggerRect.width - popoverRect.width) / 2;\n break;\n case 'bottom-start':\n top = triggerRect.bottom + offset;\n left = triggerRect.left;\n break;\n case 'bottom-end':\n top = triggerRect.bottom + offset;\n left = triggerRect.right - popoverRect.width;\n break;\n case 'left':\n top = triggerRect.top + (triggerRect.height - popoverRect.height) / 2;\n left = triggerRect.left - popoverRect.width - offset;\n break;\n case 'left-start':\n top = triggerRect.top;\n left = triggerRect.left - popoverRect.width - offset;\n break;\n case 'left-end':\n top = triggerRect.bottom - popoverRect.height;\n left = triggerRect.left - popoverRect.width - offset;\n break;\n }\n\n this.portalEl.style.top = `${top}px`;\n this.portalEl.style.left = `${left}px`;\n\n // Reset the repositioning guard after a short delay\n setTimeout(() => {\n this.isRepositioning = false;\n }, 16); // ~1 frame at 60fps\n }\n\n render() {\n return (\n <Host id={this.componentId}>\n <span class=\"pds-popover__trigger-wrapper\">\n <slot name=\"trigger\" onSlotchange={this.handleTriggerSlotChange}></slot>\n </span>\n\n <div class=\"pds-popover__content-slot-wrapper\">\n <slot onSlotchange={this.handleContentSlotChange}></slot>\n </div>\n </Host>\n );\n }\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"p-CbRVp4gv.system.js","sources":["src/components/pds-container/pds-container.scss?tag=pds-container&encapsulation=shadow","src/components/pds-container/pds-container.tsx"],"sourcesContent":[":host {\n display: block;\n margin-inline: auto;\n max-width: var(--pine-container-max-width, none);\n width: 100%;\n}\n\n// Named size tokens — sm: 340px, md: 520px, lg: 700px, xl: 1064px, full: 1440px\n:host(.pds-container--sm) {\n --pine-container-max-width: 340px;\n}\n\n:host(.pds-container--md) {\n --pine-container-max-width: 520px;\n}\n\n:host(.pds-container--lg) {\n --pine-container-max-width: 700px;\n}\n\n:host(.pds-container--xl) {\n --pine-container-max-width: 1064px;\n}\n\n:host(.pds-container--full) {\n --pine-container-max-width: 1440px;\n}\n","import { Component, Host, h, Prop } from '@stencil/core';\n\nconst NAMED_SIZES = new Set(['sm', 'md', 'lg', 'xl', 'full']);\n\n/**\n * @part container - The inner semantic container element\n */\n@Component({\n tag: 'pds-container',\n styleUrl: 'pds-container.scss',\n shadow: true,\n})\nexport class PdsContainer {\n /**\n * Sets the maximum width of the container. Accepts a named size token\n * (`'sm'` | `'md'` | `'lg'` | `'xl'` | `'full'`) or any valid CSS length value (e.g. `'640px'`, `'50rem'`).\n * When omitted, no max-width is applied.\n */\n @Prop() size?: string;\n\n /**\n * Sets the semantic HTML tag rendered as the inner container element.\n * @default 'div'\n */\n @Prop() tag: 'div' | 'main' | 'section' | 'article' = 'div';\n\n /**\n * If `true`, the container is centered horizontally using `margin-inline: auto`.\n * @default true\n */\n @Prop() centered: boolean = true;\n\n render() {\n const Tag = this.tag;\n const isNamed = this.size !== undefined && NAMED_SIZES.has(this.size);\n const customSize = this.size !== undefined && !isNamed ? this.size : undefined;\n\n const hostStyle: Record<string, string> = {};\n if (customSize) hostStyle['--pine-container-max-width'] = customSize;\n if (!this.centered) hostStyle['margin-inline'] = '0';\n\n return (\n <Host\n class={{ [`pds-container--${this.size}`]: isNamed }}\n style={Object.keys(hostStyle).length ? (hostStyle as any) : undefined}\n >\n <Tag part=\"container\">\n <slot />\n </Tag>\n </Host>\n );\n }\n}\n"],"names":[],"mappings":";;;;;;;;;;;MAAA,MAAM,eAAe,GAAG,+YAA+Y;;MCEva,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;YAUhD,YAAY,4BAAA,MAAA;MALzB,IAAA,WAAA,CAAA,OAAA,EAAA;;MAaE;;;MAGG;MACK,QAAA,IAAG,CAAA,GAAA,GAA2C,KAAK;MAE3D;;;MAGG;MACK,QAAA,IAAQ,CAAA,QAAA,GAAY,IAAI;MAsBjC;UApBC,MAAM,GAAA;MACJ,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG;MACpB,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;cACrE,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,GAAG,SAAS;cAE9E,MAAM,SAAS,GAA2B,EAAE;MAC5C,QAAA,IAAI,UAAU;MAAE,YAAA,SAAS,CAAC,4BAA4B,CAAC,GAAG,UAAU;cACpE,IAAI,CAAC,IAAI,CAAC,QAAQ;MAAE,YAAA,SAAS,CAAC,eAAe,CAAC,GAAG,GAAG;MAEpD,QAAA,QACE,CAAA,CAAC,IAAI,EAAA,EAAA,GAAA,EAAA,0CAAA,EACH,KAAK,EAAE,EAAE,CAAC,CAAkB,eAAA,EAAA,IAAI,CAAC,IAAI,CAAE,CAAA,GAAG,OAAO,EAAE,EACnD,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,GAAI,SAAiB,GAAG,SAAS,EAAA,EAErE,CAAA,CAAC,GAAG,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAC,IAAI,EAAC,WAAW,EAAA,EACnB,CAAQ,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,CAAA,CACJ,CACD;;;;;;;;;;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"p-CfyFDUw5.system.js","sources":["src/components/pds-radio-group/pds-radio-group.scss?tag=pds-radio-group&encapsulation=scoped","src/components/pds-radio-group/pds-radio-group.tsx"],"sourcesContent":[":host {\n display: flex;\n flex-direction: column;\n gap: var(--pine-dimension-sm);\n}\n\n:host(.is-invalid) {\n .pds-radio-group__message--error {\n color: var(--pine-color-text-message-danger);\n }\n}\n\n.pds-radio-group__label {\n color: var(--pine-color-text-label);\n font: var(--pine-typography-heading-6);\n font-weight: var(--pine-font-weight-medium);\n letter-spacing: var(--pine-letter-spacing-heading-6);\n}\n\n.pds-radio-group__radios {\n display: flex;\n gap: var(--pds-radio-group-gap, var(--pine-dimension-xs));\n}\n\n.pds-radio-group__radios--row {\n align-items: flex-start; // Align radios to the left\n flex-direction: row;\n flex-wrap: wrap;\n}\n\n.pds-radio-group__radios--column {\n flex-direction: column;\n}\n\n.pds-radio-group__message {\n color: var(--pine-color-text-message);\n font: var(--pine-typography-body);\n width: 100%;\n}\n\n.pds-radio-group__message--error {\n display: flex;\n gap: var(--pine-dimension-2xs);\n\n pds-icon {\n margin-block-start: var(--pine-dimension-050);\n }\n}\n\n","import { Component, Host, h, Prop, Element, Watch, Event, EventEmitter, Listen } from '@stencil/core';\nimport { messageId } from '../../utils/form';\nimport { danger } from '@pine-ds/icons/icons';\nimport { RadioGroupChangeEventDetail } from './radio-group-interface';\n\n/**\n * @slot (default) - Child pds-radio components\n */\n@Component({\n tag: 'pds-radio-group',\n styleUrls: ['pds-radio-group.scss'],\n scoped: true,\n})\nexport class PdsRadioGroup {\n @Element() el: HTMLPdsRadioGroupElement;\n\n /**\n * A unique identifier used for the underlying component `id` attribute.\n */\n @Prop() componentId: string;\n\n /**\n * Stable group ID generated once during component initialization.\n * Used to maintain DOM stability and accessibility relationships across re-renders.\n */\n private _groupId: string;\n\n /**\n * Layout direction for the radio group.\n * @defaultValue column\n */\n @Prop() direction: 'row' | 'column' = 'column';\n\n /**\n * Displays error message text describing an invalid state for the entire group.\n */\n @Prop() errorMessage: string;\n\n /**\n * Displays helper message text below the radio group.\n */\n @Prop() helperMessage: string;\n\n /**\n * Spacing between radio items. Accepts t-shirt sizes (none, xxs, xs, sm, md, lg, xl, xxl) or core spacing tokens (025, 050, 100, etc.).\n * @defaultValue xs\n */\n @Prop() gap: string = 'xs';\n\n /**\n * Determines whether or not the radio group is disabled.\n * @defaultValue false\n */\n @Prop() disabled = false;\n\n /**\n * Determines whether or not the radio group is invalid.\n * @defaultValue false\n */\n @Prop() invalid = false;\n\n /**\n * String used for group label/heading.\n */\n @Prop() groupLabel: string;\n\n /**\n * String used for radio `name` attribute. Applied to all child radios.\n * Required for proper radio group behavior (mutual exclusivity and form submission).\n */\n @Prop() name: string;\n\n /**\n * Determines whether or not the radio group is required.\n * @defaultValue false\n */\n @Prop() required = false;\n\n /**\n * Emits when a radio in the group is selected, providing the selected value and component ID.\n */\n @Event() pdsRadioGroupChange: EventEmitter<RadioGroupChangeEventDetail>;\n\n @Watch('name')\n @Watch('disabled')\n @Watch('invalid')\n @Watch('required')\n handlePropsChange() {\n this.updateChildRadios();\n }\n\n @Listen('change')\n handleRadioChange(event: Event) {\n const target = event.target as HTMLInputElement;\n\n // Only handle events from radio inputs\n if (target.type !== 'radio') {\n return;\n }\n\n // Only emit if the radio is being checked (not unchecked)\n if (target.checked) {\n const radioElement = target.closest('pds-radio') as HTMLPdsRadioElement;\n if (radioElement) {\n this.pdsRadioGroupChange.emit({\n checked: true,\n value: radioElement.value,\n componentId: radioElement.componentId,\n });\n }\n }\n }\n\n private updateChildRadios() {\n const radios = this.el.querySelectorAll('pds-radio');\n radios.forEach((radio) => {\n if (this.name) {\n radio.setAttribute('name', this.name);\n } else {\n radio.removeAttribute('name');\n }\n if (this.disabled) {\n radio.setAttribute('disabled', 'true');\n } else {\n radio.removeAttribute('disabled');\n }\n if (this.invalid) {\n radio.setAttribute('invalid', 'true');\n } else {\n radio.removeAttribute('invalid');\n }\n if (this.required) {\n radio.setAttribute('required', 'true');\n } else {\n radio.removeAttribute('required');\n }\n });\n }\n\n componentWillLoad() {\n // Generate stable group ID once during initialization\n // This ensures DOM stability and accessibility relationships remain consistent across re-renders\n if (this.componentId) {\n this._groupId = this.componentId;\n } else {\n // Generate unique ID with fallback for test environments where crypto.randomUUID may not be available\n const uniqueId = typeof crypto !== 'undefined' && crypto.randomUUID\n ? crypto.randomUUID()\n : `${Date.now()}-${Math.random().toString(36).substring(2, 9)}`;\n this._groupId = `radio-group-${uniqueId}`;\n }\n }\n\n componentDidLoad() {\n if (!this.name) {\n console.warn('pds-radio-group: name prop is required for proper radio group functionality');\n }\n this.updateChildRadios();\n }\n\n private classNames() {\n const classNames = [];\n\n if (this.invalid) {\n classNames.push('is-invalid');\n }\n // The host always uses flex-direction: column, so the label stays above.\n // The direction prop now only affects the .pds-radio-group__radios container.\n // No class needed on host for direction.\n\n return classNames.join(' ');\n }\n\n private getGapValue(): string {\n // Map t-shirt sizes to dimension tokens\n const gapMap: Record<string, string> = {\n none: '0',\n xxs: 'var(--pine-dimension-xxs)',\n xs: 'var(--pine-dimension-xs)',\n sm: 'var(--pine-dimension-sm)',\n md: 'var(--pine-dimension-md)',\n lg: 'var(--pine-dimension-lg)',\n xl: 'var(--pine-dimension-xl)',\n xxl: 'var(--pine-dimension-xxl)',\n };\n\n // If it's a t-shirt size, use the mapped value\n if (gapMap[this.gap]) {\n return gapMap[this.gap];\n }\n\n // Otherwise, assume it's a dimension token like \"100\", \"200\", etc.\n return `var(--pine-dimension-${this.gap})`;\n }\n\n private getAriaDescribedBy(): string | undefined {\n const messageIds: string[] = [];\n\n if (this.errorMessage) {\n messageIds.push(messageId(this._groupId, 'error'));\n }\n\n if (this.helperMessage) {\n messageIds.push(messageId(this._groupId, 'helper'));\n }\n\n return messageIds.length > 0 ? messageIds.join(' ') : undefined;\n }\n\n render() {\n const gapValue = this.getGapValue();\n const ariaDescribedBy = this.getAriaDescribedBy();\n\n return (\n <Host\n class={this.classNames()}\n id={this._groupId}\n role=\"group\"\n aria-describedby={ariaDescribedBy}\n style={{\n '--pds-radio-group-gap': gapValue,\n }}\n >\n {this.groupLabel && (\n <div class=\"pds-radio-group__label\">\n {this.groupLabel}\n </div>\n )}\n <div class={{\n 'pds-radio-group__radios': true,\n 'pds-radio-group__radios--row': this.direction === 'row',\n 'pds-radio-group__radios--column': this.direction === 'column',\n }}>\n <slot onSlotchange={() => this.updateChildRadios()} />\n </div>\n {this.helperMessage && (\n <div\n class=\"pds-radio-group__message\"\n id={messageId(this._groupId, 'helper')}\n >\n {this.helperMessage}\n </div>\n )}\n {this.errorMessage && (\n <div\n class=\"pds-radio-group__message pds-radio-group__message--error\"\n id={messageId(this._groupId, 'error')}\n aria-live=\"assertive\"\n >\n <pds-icon icon={danger} size=\"small\" />\n {this.errorMessage}\n </div>\n )}\n </Host>\n );\n }\n}\n\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"p-CgPvrU-c.system.js","sources":["@lazy-external-entrypoint?app-data=conditional"],"sourcesContent":["export { setNonce } from '@stencil/core';\nimport { bootstrapLazy } from '@stencil/core';\nimport { globalScripts } from '@stencil/core/internal/app-globals';\nexport const defineCustomElements = async (win, options) => {\n if (typeof window === 'undefined') return undefined;\n await globalScripts();\n return bootstrapLazy([/*!__STENCIL_LAZY_DATA__*/], options);\n};\n"],"names":[],"mappings":";;;;;;;;;;;AAGY,YAAC,oBAAoB,mCAAG,OAAO,GAAG,EAAE,OAAO,KAAK;MAC5D,EAAE,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,OAAO,SAAS;MACrD,EAAE,MAAM,aAAa,EAAE;MACvB,EAAE,OAAO,aAAa,CAAC,4BAA4B,EAAE,OAAO,CAAC;MAC7D;;;;;;;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"p-CjuuQ5fk.system.js","sources":["src/components/pds-link/pds-link.scss?tag=pds-link&encapsulation=shadow","src/components/pds-link/pds-link.tsx"],"sourcesContent":[":host {\n display: inline;\n\n pds-icon {\n margin-inline-start: var(--pine-dimension-2xs);\n }\n}\n\n.pds-link {\n align-items: center;\n // Priority: 1) explicit --color prop, 2) context variable, 3) default\n color: var(--color, var(--pds-context-link-color, var(--pine-color-text)));\n display: inline-flex;\n font-weight: var(--pine-font-weight-medium);\n\n &:focus-visible {\n border-radius: var(--pine-dimension-2xs);\n outline: var(--pine-outline-focus);\n outline-offset: var(--pine-border-width-thick);\n position: relative;\n }\n\n &:hover {\n color: var(--color, var(--pds-context-link-color-hover, var(--pine-color-text-hover)));\n text-decoration: none;\n }\n\n :host([color=\"secondary\"]) & {\n color: var(--pine-color-text-primary);\n\n &:hover {\n color: var(--pine-color-text-inverse-secondary);\n }\n }\n\n :host([color=\"accent\"]) & {\n color: var(--pine-color-accent);\n\n &:hover {\n color: var(--pine-color-accent-hover);\n }\n }\n\n :host([color=\"danger\"]) & {\n color: var(--pine-color-danger);\n\n &:hover {\n color: var(--pine-color-danger-hover);\n }\n }\n}\n\n// We have a small consensus stating that\n// fonts will be REMs, box-model will be\n// discussed later px or (r)em's\n.pds-link--sm {\n font-size: var(--pine-font-size-body-xs);\n\n pds-icon {\n height: var(--pine-dimension-xs);\n width: var(--pine-dimension-xs);\n }\n}\n\n.pds-link--md {\n font-size: var(--pine-font-size-body-sm);\n\n pds-icon {\n height: var(--pine-dimension-xs);\n width: var(--pine-dimension-xs);\n }\n}\n\n.pds-link--lg {\n font-size: var(--pine-font-size-body-md);\n\n pds-icon {\n height: var(--pine-dimension-sm);\n width: var(--pine-dimension-sm);\n }\n}\n\n.pds-link--plain {\n text-decoration: none;\n\n &:hover {\n color: var(--color, var(--pds-context-link-color-hover, var(--pine-color-text-hover)));\n text-decoration: underline;\n }\n}\n","import { Component, h, Prop } from '@stencil/core';\nimport { setColor } from '../../utils/utils';\n\nimport { launch } from '@pine-ds/icons/icons';\n\n/**\n * @part link - Link element styles.\n * @slot (default) - Text content placed between the opening and closing tags. If no text is provided, the **href** will be used as a fallback.\n */\n@Component({\n tag: 'pds-link',\n styleUrls: ['pds-link.scss'],\n shadow: true,\n})\nexport class PdsLink {\n /**\n * Sets the link color.\n */\n @Prop() color?: string;\n\n /**\n * Prompts the user to save the linked URL instead of navigating to it.\n * It can be used without a value to download with the default filename,\n * or with a string value to suggest a specific filename for the download.\n */\n @Prop() download?: string;\n\n /**\n * A unique identifier used for the underlying component `id` attribute.\n */\n @Prop() componentId: string;\n\n /**\n * Determines whether the link should open in a new tab.\n * @defaultValue false\n * @deprecated Consider using the `target` prop for more control. This prop will be maintained for backward compatibility.\n */\n @Prop() external = false;\n\n /**\n * Specifies where to open the linked document.\n * @defaultValue undefined\n * @example\n * <pds-link href=\"https://example.com\" target=\"_blank\">Opens in new tab</pds-link>\n */\n @Prop() target?: '_blank' | '_self' | '_parent' | '_top';\n\n /**\n * Sets the link variant styles.\n * @defaultValue inline\n */\n @Prop() variant: 'inline' | 'plain' = 'inline';\n\n /**\n * The font size of the link's text.\n * @defaultValue lg\n */\n @Prop() fontSize: 'sm' | 'md' | 'lg' = 'lg';\n\n /**\n * The hyperlink's destination URL. If no text is provided in the custom slot, the href will be used.\n */\n @Prop() href!: string;\n\n private classNames() {\n const classNames = ['pds-link'];\n\n if (this.fontSize) {\n classNames.push('pds-link--' + this.fontSize);\n }\n\n if (this.variant) {\n classNames.push('pds-link--' + this.variant);\n }\n\n return classNames.join(' ');\n }\n\n private setLinkStyles() {\n if (!this.color) return;\n\n const linkColors = {\n secondary: 'var(--pine-color-text-primary)',\n accent: 'var(--pine-color-accent)',\n danger: 'var(--pine-color-danger)',\n }\n\n const linkStyles = setColor(this.color, linkColors);\n\n return linkStyles;\n }\n\n render() {\n const targetValue = this.target || (this.external ? '_blank' : undefined);\n const showExternalIcon = this.external;\n const relValue = targetValue === '_blank' ? 'noopener noreferrer' : undefined;\n\n return (\n <a\n class={this.classNames()}\n download={this.download}\n href={this.href}\n id={this.componentId}\n part=\"link\"\n target={targetValue}\n rel={relValue}\n style={this.setLinkStyles()}\n >\n <slot>{this.href}</slot>\n {showExternalIcon &&\n <pds-icon icon={launch} size={this.fontSize}></pds-icon>\n }\n </a>\n );\n }\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;MAAA,MAAM,UAAU,GAAG,4nDAA4nD;;YCcloD,OAAO,uBAAA,MAAA;MALpB,IAAA,WAAA,CAAA,OAAA,EAAA;;MAuBE;;;;MAIG;MACK,QAAA,IAAQ,CAAA,QAAA,GAAG,KAAK;MAUxB;;;MAGG;MACK,QAAA,IAAO,CAAA,OAAA,GAAuB,QAAQ;MAE9C;;;MAGG;MACK,QAAA,IAAQ,CAAA,QAAA,GAAuB,IAAI;MA0D5C;UAnDS,UAAU,GAAA;MAChB,QAAA,MAAM,UAAU,GAAG,CAAC,UAAU,CAAC;MAE/B,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;kBACjB,UAAU,CAAC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC;;MAG/C,QAAA,IAAI,IAAI,CAAC,OAAO,EAAE;kBAChB,UAAU,CAAC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC;;MAG9C,QAAA,OAAO,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC;;UAGrB,aAAa,GAAA;cACnB,IAAI,CAAC,IAAI,CAAC,KAAK;kBAAE;MAEjB,QAAA,MAAM,UAAU,GAAG;MACjB,YAAA,SAAS,EAAE,gCAAgC;MAC3C,YAAA,MAAM,EAAE,0BAA0B;MAClC,YAAA,MAAM,EAAE,0BAA0B;eACnC;cAED,MAAM,UAAU,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,UAAU,CAAC;MAEnD,QAAA,OAAO,UAAU;;UAGnB,MAAM,GAAA;MACJ,QAAA,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAC;MACzE,QAAA,MAAM,gBAAgB,GAAG,IAAI,CAAC,QAAQ;MACtC,QAAA,MAAM,QAAQ,GAAG,WAAW,KAAK,QAAQ,GAAG,qBAAqB,GAAG,SAAS;MAE7E,QAAA,QACE,0DACE,KAAK,EAAE,IAAI,CAAC,UAAU,EAAE,EACxB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,EAAE,EAAE,IAAI,CAAC,WAAW,EACpB,IAAI,EAAC,MAAM,EACX,MAAM,EAAE,WAAW,EACnB,GAAG,EAAE,QAAQ,EACb,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,EAAA,EAE3B,CAAO,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,EAAA,IAAI,CAAC,IAAI,CAAQ,EACvB,gBAAgB;kBACf,CAAA,CAAA,UAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAU,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAA,CAAa,CAExD;;;;;;;;;;;"}
|