@pine-ds/core 4.8.0 → 4.9.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/attributes.js +1 -1
- package/components/floating-ui.dom.js +1 -1
- package/components/index.js +1 -1
- package/components/index2.js +1 -1
- package/components/keep-hydrated.js +1 -0
- package/components/mock-pds-modal.js +1 -1
- package/components/pds-alert.js +1 -1
- package/components/pds-avatar.js +1 -1
- package/components/pds-box2.js +1 -1
- package/components/pds-button2.js +1 -1
- package/components/pds-checkbox2.js +1 -1
- package/components/pds-chip2.js +1 -1
- package/components/pds-combobox.js +1 -1
- package/components/pds-container.js +1 -1
- package/components/pds-copytext.js +1 -1
- package/components/pds-datepicker.js +1 -1
- package/components/pds-divider.js +1 -1
- package/components/pds-drawer-content.js +1 -1
- package/components/pds-drawer-footer.js +1 -1
- package/components/pds-drawer-header.js +1 -1
- package/components/pds-drawer.js +1 -1
- package/components/pds-dropdown-menu-item.js +1 -1
- package/components/pds-dropdown-menu-separator.js +1 -1
- package/components/pds-dropdown-menu.js +1 -1
- package/components/pds-filter.js +1 -1
- package/components/pds-filters.js +1 -1
- package/components/pds-icon2.js +1 -1
- package/components/pds-image.js +1 -1
- package/components/pds-input2.js +1 -1
- package/components/pds-link2.js +1 -1
- package/components/pds-loader2.js +1 -1
- package/components/pds-modal-content.js +1 -1
- package/components/pds-modal-footer.js +1 -1
- package/components/pds-modal-header.js +1 -1
- package/components/pds-modal2.js +1 -1
- package/components/pds-multiselect.js +1 -1
- package/components/pds-popover.js +1 -1
- package/components/pds-progress.js +1 -1
- package/components/pds-property.js +1 -1
- package/components/pds-radio-group.js +1 -1
- package/components/pds-radio.js +1 -1
- package/components/pds-row.js +1 -1
- package/components/pds-select.js +1 -1
- package/components/pds-sortable-item.js +1 -1
- package/components/pds-sortable.js +2 -2
- package/components/pds-switch.js +1 -1
- package/components/pds-table-body.js +1 -1
- package/components/pds-table-cell2.js +1 -1
- package/components/pds-table-head-cell2.js +1 -1
- package/components/pds-table-head.js +1 -1
- package/components/pds-table-row.js +1 -1
- package/components/pds-tabpanel.js +1 -1
- package/components/pds-tabs.js +1 -1
- package/components/pds-text2.js +1 -1
- package/components/pds-textarea.js +1 -1
- package/components/pds-toast.js +1 -1
- package/components/pds-tooltip.js +1 -1
- package/components/portal-target.js +1 -0
- package/components/tabbable.js +1 -0
- package/components/truncation-tooltip.js +1 -1
- package/dist/cjs/{attributes-BJ7KBHql.js → attributes-CW49XqaL.js} +1 -1
- package/dist/cjs/{floating-ui.dom-Dc8Anyel.js → floating-ui.dom-Dw41zbyY.js} +1 -0
- package/dist/cjs/{index-Do70atou.js → index-BDnbr0DK.js} +1 -1
- package/dist/cjs/{index-jl_Q819j.js → index-D9iJuJCP.js} +13 -1
- package/dist/cjs/index.cjs.js +1 -1
- package/dist/cjs/{keep-hydrated-CiXgkEYd.js → keep-hydrated-AKoh0DG4.js} +1 -0
- package/dist/cjs/loader.cjs.js +3 -3
- package/dist/cjs/mock-pds-modal.cjs.entry.js +4 -4
- package/dist/cjs/pds-accordion.cjs.entry.js +3 -3
- package/dist/cjs/pds-alert.cjs.entry.js +17 -4
- package/dist/cjs/pds-avatar.cjs.entry.js +22 -12
- package/dist/cjs/pds-box.cjs.entry.js +4 -4
- package/dist/cjs/pds-button.cjs.entry.js +58 -26
- package/dist/cjs/pds-checkbox.cjs.entry.js +16 -8
- package/dist/cjs/pds-chip.cjs.entry.js +9 -11
- package/dist/cjs/pds-combobox.cjs.entry.js +41 -11
- package/dist/cjs/pds-container.cjs.entry.js +3 -3
- package/dist/cjs/pds-copytext.cjs.entry.js +8 -7
- package/dist/cjs/pds-datepicker.cjs.entry.js +8 -45
- package/dist/cjs/pds-divider.cjs.entry.js +3 -3
- package/dist/cjs/pds-drawer-content.cjs.entry.js +3 -3
- package/dist/cjs/pds-drawer-footer.cjs.entry.js +3 -3
- package/dist/cjs/pds-drawer-header.cjs.entry.js +3 -3
- package/dist/cjs/pds-drawer.cjs.entry.js +4 -4
- package/dist/cjs/pds-dropdown-menu-item.cjs.entry.js +4 -4
- package/dist/cjs/pds-dropdown-menu-separator.cjs.entry.js +3 -3
- package/dist/cjs/pds-dropdown-menu.cjs.entry.js +5 -5
- package/dist/cjs/pds-filter.cjs.entry.js +4 -4
- package/dist/cjs/pds-filters.cjs.entry.js +3 -3
- package/dist/cjs/pds-icon.cjs.entry.js +55 -22
- package/dist/cjs/pds-image.cjs.entry.js +4 -4
- package/dist/cjs/pds-input.cjs.entry.js +6 -6
- package/dist/cjs/pds-link.cjs.entry.js +16 -7
- package/dist/cjs/pds-loader.cjs.entry.js +4 -4
- package/dist/cjs/pds-modal-content.cjs.entry.js +4 -4
- package/dist/cjs/pds-modal-footer.cjs.entry.js +3 -3
- package/dist/cjs/pds-modal-header.cjs.entry.js +3 -3
- package/dist/cjs/pds-modal.cjs.entry.js +9 -89
- package/dist/cjs/pds-multiselect.cjs.entry.js +13 -7
- package/dist/cjs/pds-popover.cjs.entry.js +230 -153
- package/dist/cjs/pds-progress.cjs.entry.js +4 -4
- package/dist/cjs/pds-property.cjs.entry.js +3 -3
- package/dist/cjs/pds-radio-group.cjs.entry.js +67 -6
- package/dist/cjs/pds-radio.cjs.entry.js +24 -11
- package/dist/cjs/pds-row.cjs.entry.js +4 -4
- package/dist/cjs/pds-select.cjs.entry.js +132 -21
- package/dist/cjs/pds-sortable-item.cjs.entry.js +5 -5
- package/dist/cjs/pds-sortable.cjs.entry.js +4 -4
- package/dist/cjs/pds-switch.cjs.entry.js +7 -7
- package/dist/cjs/pds-tab.cjs.entry.js +3 -3
- package/dist/cjs/pds-table-body.cjs.entry.js +3 -3
- package/dist/cjs/pds-table-cell.cjs.entry.js +7 -6
- package/dist/cjs/pds-table-head-cell.cjs.entry.js +5 -5
- package/dist/cjs/pds-table-head.cjs.entry.js +3 -3
- package/dist/cjs/pds-table-row.cjs.entry.js +3 -3
- package/dist/cjs/pds-table.cjs.entry.js +2 -2
- package/dist/cjs/pds-tabpanel.cjs.entry.js +4 -4
- package/dist/cjs/pds-tabs.cjs.entry.js +4 -4
- package/dist/cjs/pds-text.cjs.entry.js +31 -5
- package/dist/cjs/pds-textarea.cjs.entry.js +8 -8
- package/dist/cjs/pds-toast.cjs.entry.js +14 -8
- package/dist/cjs/pds-tooltip.cjs.entry.js +128 -46
- package/dist/cjs/pine-core.cjs.js +3 -3
- package/dist/cjs/portal-target-e8WQ6dLx.js +70 -0
- package/dist/cjs/tabbable-BrrrGvdG.js +86 -0
- package/dist/cjs/{truncation-tooltip-BtuiXLV0.js → truncation-tooltip-DdB78RIe.js} +44 -4
- package/dist/collection/components/pds-alert/pds-alert.css +13 -0
- package/dist/collection/components/pds-alert/pds-alert.js +36 -1
- package/dist/collection/components/pds-alert/stories/pds-alert.stories.js +4 -0
- package/dist/collection/components/pds-avatar/pds-avatar.js +41 -9
- package/dist/collection/components/pds-avatar/stories/pds-avatar.stories.js +2 -0
- package/dist/collection/components/pds-box/pds-box.js +1 -1
- package/dist/collection/components/pds-button/pds-button.js +13 -23
- package/dist/collection/components/pds-checkbox/pds-checkbox.css +79 -0
- package/dist/collection/components/pds-checkbox/pds-checkbox.js +36 -5
- package/dist/collection/components/pds-checkbox/stories/pds-checkbox.stories.js +38 -0
- package/dist/collection/components/pds-chip/pds-chip.js +2 -5
- package/dist/collection/components/pds-combobox/pds-combobox.css +33 -0
- package/dist/collection/components/pds-combobox/pds-combobox.js +60 -7
- package/dist/collection/components/pds-combobox/stories/pds-combobox.stories.js +44 -0
- package/dist/collection/components/pds-container/pds-container.js +1 -1
- package/dist/collection/components/pds-copytext/pds-copytext.js +1 -1
- package/dist/collection/components/pds-datepicker/calendar-portal.js +1 -38
- package/dist/collection/components/pds-datepicker/pds-datepicker.js +2 -2
- package/dist/collection/components/pds-divider/pds-divider.js +1 -1
- package/dist/collection/components/pds-drawer/pds-drawer-content/pds-drawer-content.js +1 -1
- package/dist/collection/components/pds-drawer/pds-drawer-footer/pds-drawer-footer.js +1 -1
- package/dist/collection/components/pds-drawer/pds-drawer-header/pds-drawer-header.js +1 -1
- package/dist/collection/components/pds-drawer/pds-drawer.js +2 -2
- package/dist/collection/components/pds-dropdown-menu/pds-dropdown-menu-item/pds-dropdown-menu-item.js +24 -2
- package/dist/collection/components/pds-dropdown-menu/pds-dropdown-menu-separator/pds-dropdown-menu-separator.js +1 -1
- package/dist/collection/components/pds-dropdown-menu/pds-dropdown-menu.js +1 -1
- package/dist/collection/components/pds-filters/pds-filter/pds-filter.js +1 -1
- package/dist/collection/components/pds-filters/pds-filters.js +1 -1
- package/dist/collection/components/pds-image/pds-image.js +2 -2
- package/dist/collection/components/pds-input/pds-input.js +2 -2
- package/dist/collection/components/pds-input/stories/pds-input.stories.js +6 -6
- package/dist/collection/components/pds-link/pds-link.css +1 -1
- package/dist/collection/components/pds-link/pds-link.js +34 -3
- package/dist/collection/components/pds-link/stories/pds-link.stories.js +51 -2
- package/dist/collection/components/pds-loader/pds-loader.js +1 -1
- package/dist/collection/components/pds-modal/pds-modal-content/pds-modal-content.js +2 -2
- package/dist/collection/components/pds-modal/pds-modal-footer/pds-modal-footer.js +1 -1
- package/dist/collection/components/pds-modal/pds-modal-header/pds-modal-header.js +1 -1
- package/dist/collection/components/pds-modal/pds-modal.css +1 -1
- package/dist/collection/components/pds-modal/pds-modal.js +4 -84
- package/dist/collection/components/pds-modal/test/mock-pds-modal.js +1 -1
- package/dist/collection/components/pds-multiselect/pds-multiselect.js +9 -3
- package/dist/collection/components/pds-popover/pds-popover.css +6 -0
- package/dist/collection/components/pds-popover/pds-popover.js +226 -149
- package/dist/collection/components/pds-progress/pds-progress.js +1 -1
- package/dist/collection/components/pds-property/pds-property.js +1 -1
- package/dist/collection/components/pds-radio/pds-radio.css +57 -0
- package/dist/collection/components/pds-radio/pds-radio.js +45 -9
- package/dist/collection/components/pds-radio/stories/pds-radio.stories.js +15 -0
- package/dist/collection/components/pds-radio-group/pds-radio-group.js +65 -4
- package/dist/collection/components/pds-radio-group/stories/pds-radio-group.stories.js +45 -0
- package/dist/collection/components/pds-row/pds-row.js +1 -1
- package/dist/collection/components/pds-select/pds-select.js +128 -17
- package/dist/collection/components/pds-select/stories/pds-select.stories.js +2 -2
- package/dist/collection/components/pds-sortable/pds-sortable-item/pds-sortable-item.js +1 -1
- package/dist/collection/components/pds-sortable/pds-sortable.js +1 -1
- package/dist/collection/components/pds-switch/pds-switch.js +3 -3
- package/dist/collection/components/pds-table/pds-table-body/pds-table-body.js +1 -1
- package/dist/collection/components/pds-table/pds-table-cell/pds-table-cell.js +2 -2
- package/dist/collection/components/pds-table/pds-table-head/pds-table-head.js +1 -1
- package/dist/collection/components/pds-table/pds-table-head-cell/pds-table-head-cell.js +2 -2
- package/dist/collection/components/pds-table/pds-table-row/pds-table-row.js +1 -1
- package/dist/collection/components/pds-table/stories/pds-table.stories.js +3 -3
- package/dist/collection/components/pds-tabs/pds-tabpanel/pds-tabpanel.js +1 -1
- package/dist/collection/components/pds-tabs/pds-tabs.js +1 -1
- package/dist/collection/components/pds-text/pds-text.js +28 -3
- package/dist/collection/components/pds-text/stories/pds-text.stories.js +16 -0
- package/dist/collection/components/pds-textarea/pds-textarea.js +4 -4
- package/dist/collection/components/pds-textarea/stories/pds-textarea.stories.js +2 -2
- package/dist/collection/components/pds-toast/pds-toast.css +13 -0
- package/dist/collection/components/pds-toast/pds-toast.js +33 -5
- package/dist/collection/components/pds-toast/stories/pds-toast.stories.js +4 -1
- package/dist/collection/components/pds-tooltip/pds-tooltip.css +11 -0
- package/dist/collection/components/pds-tooltip/pds-tooltip.js +125 -42
- package/dist/collection/components/pds-tooltip/stories/pds-tooltip.stories.js +30 -0
- package/dist/collection/utils/aria-references.js +42 -0
- package/dist/collection/utils/portal-target.js +64 -0
- package/dist/collection/utils/tabbable.js +82 -0
- package/dist/collection/utils/truncation-tooltip.js +42 -3
- package/dist/docs.json +245 -8
- package/dist/esm/{attributes-WXw_I_uJ.js → attributes-DkeVeN0g.js} +1 -1
- package/dist/esm/{floating-ui.dom-BPqJgIq6.js → floating-ui.dom-Cuc0DYlm.js} +1 -1
- package/dist/esm/{index-Cw9J31qd.js → index-4_RRPJTO.js} +13 -2
- package/dist/esm/{index-BWDu62Mo.js → index-DvN3tyZp.js} +2 -2
- package/dist/esm/index.js +1 -1
- package/dist/esm/{keep-hydrated-BLG6RDBt.js → keep-hydrated-BgNaWLoS.js} +1 -1
- package/dist/esm/loader.js +4 -4
- package/dist/esm/mock-pds-modal.entry.js +4 -4
- package/dist/esm/pds-accordion.entry.js +3 -3
- package/dist/esm/pds-alert.entry.js +17 -4
- package/dist/esm/pds-avatar.entry.js +22 -12
- package/dist/esm/pds-box.entry.js +4 -4
- package/dist/esm/pds-button.entry.js +58 -26
- package/dist/esm/pds-checkbox.entry.js +16 -8
- package/dist/esm/pds-chip.entry.js +8 -10
- package/dist/esm/pds-combobox.entry.js +41 -11
- package/dist/esm/pds-container.entry.js +3 -3
- package/dist/esm/pds-copytext.entry.js +8 -7
- package/dist/esm/pds-datepicker.entry.js +7 -44
- package/dist/esm/pds-divider.entry.js +3 -3
- package/dist/esm/pds-drawer-content.entry.js +3 -3
- package/dist/esm/pds-drawer-footer.entry.js +3 -3
- package/dist/esm/pds-drawer-header.entry.js +3 -3
- package/dist/esm/pds-drawer.entry.js +4 -4
- package/dist/esm/pds-dropdown-menu-item.entry.js +4 -4
- package/dist/esm/pds-dropdown-menu-separator.entry.js +3 -3
- package/dist/esm/pds-dropdown-menu.entry.js +5 -5
- package/dist/esm/pds-filter.entry.js +4 -4
- package/dist/esm/pds-filters.entry.js +3 -3
- package/dist/esm/pds-icon.entry.js +55 -22
- package/dist/esm/pds-image.entry.js +4 -4
- package/dist/esm/pds-input.entry.js +6 -6
- package/dist/esm/pds-link.entry.js +16 -7
- package/dist/esm/pds-loader.entry.js +4 -4
- package/dist/esm/pds-modal-content.entry.js +4 -4
- package/dist/esm/pds-modal-footer.entry.js +3 -3
- package/dist/esm/pds-modal-header.entry.js +3 -3
- package/dist/esm/pds-modal.entry.js +7 -87
- package/dist/esm/pds-multiselect.entry.js +13 -7
- package/dist/esm/pds-popover.entry.js +230 -153
- package/dist/esm/pds-progress.entry.js +4 -4
- package/dist/esm/pds-property.entry.js +3 -3
- package/dist/esm/pds-radio-group.entry.js +67 -6
- package/dist/esm/pds-radio.entry.js +24 -11
- package/dist/esm/pds-row.entry.js +4 -4
- package/dist/esm/pds-select.entry.js +132 -21
- package/dist/esm/pds-sortable-item.entry.js +5 -5
- package/dist/esm/pds-sortable.entry.js +4 -4
- package/dist/esm/pds-switch.entry.js +7 -7
- package/dist/esm/pds-tab.entry.js +3 -3
- package/dist/esm/pds-table-body.entry.js +3 -3
- package/dist/esm/pds-table-cell.entry.js +7 -6
- package/dist/esm/pds-table-head-cell.entry.js +5 -5
- package/dist/esm/pds-table-head.entry.js +3 -3
- package/dist/esm/pds-table-row.entry.js +3 -3
- package/dist/esm/pds-table.entry.js +2 -2
- package/dist/esm/pds-tabpanel.entry.js +4 -4
- package/dist/esm/pds-tabs.entry.js +4 -4
- package/dist/esm/pds-text.entry.js +31 -5
- package/dist/esm/pds-textarea.entry.js +8 -8
- package/dist/esm/pds-toast.entry.js +14 -8
- package/dist/esm/pds-tooltip.entry.js +128 -46
- package/dist/esm/pine-core.js +4 -4
- package/dist/esm/portal-target-CKRzRKdO.js +66 -0
- package/dist/esm/tabbable-C6ZWpp3v.js +84 -0
- package/dist/esm/{truncation-tooltip-FaW67DiY.js → truncation-tooltip-CRSdYzpA.js} +44 -5
- package/dist/esm-es5/{attributes-WXw_I_uJ.js → attributes-DkeVeN0g.js} +1 -1
- package/dist/esm-es5/{floating-ui.dom-BPqJgIq6.js → floating-ui.dom-Cuc0DYlm.js} +1 -1
- package/dist/esm-es5/{index-Cw9J31qd.js → index-4_RRPJTO.js} +2 -2
- package/dist/esm-es5/{index-BWDu62Mo.js → index-DvN3tyZp.js} +1 -1
- package/dist/esm-es5/index.js +1 -1
- package/dist/esm-es5/{keep-hydrated-BLG6RDBt.js → keep-hydrated-BgNaWLoS.js} +1 -1
- package/dist/esm-es5/loader.js +1 -1
- package/dist/esm-es5/mock-pds-modal.entry.js +1 -1
- package/dist/esm-es5/pds-accordion.entry.js +1 -1
- package/dist/esm-es5/pds-alert.entry.js +1 -1
- package/dist/esm-es5/pds-avatar.entry.js +1 -1
- package/dist/esm-es5/pds-box.entry.js +1 -1
- package/dist/esm-es5/pds-button.entry.js +1 -1
- package/dist/esm-es5/pds-checkbox.entry.js +1 -1
- package/dist/esm-es5/pds-chip.entry.js +1 -1
- package/dist/esm-es5/pds-combobox.entry.js +2 -2
- package/dist/esm-es5/pds-container.entry.js +1 -1
- package/dist/esm-es5/pds-copytext.entry.js +1 -1
- package/dist/esm-es5/pds-datepicker.entry.js +1 -1
- package/dist/esm-es5/pds-divider.entry.js +1 -1
- package/dist/esm-es5/pds-drawer-content.entry.js +1 -1
- package/dist/esm-es5/pds-drawer-footer.entry.js +1 -1
- package/dist/esm-es5/pds-drawer-header.entry.js +1 -1
- package/dist/esm-es5/pds-drawer.entry.js +1 -1
- package/dist/esm-es5/pds-dropdown-menu-item.entry.js +1 -1
- package/dist/esm-es5/pds-dropdown-menu-separator.entry.js +1 -1
- package/dist/esm-es5/pds-dropdown-menu.entry.js +1 -1
- package/dist/esm-es5/pds-filter.entry.js +1 -1
- package/dist/esm-es5/pds-filters.entry.js +1 -1
- package/dist/esm-es5/pds-icon.entry.js +1 -1
- package/dist/esm-es5/pds-image.entry.js +1 -1
- package/dist/esm-es5/pds-input.entry.js +1 -1
- package/dist/esm-es5/pds-link.entry.js +1 -1
- package/dist/esm-es5/pds-loader.entry.js +1 -1
- package/dist/esm-es5/pds-modal-content.entry.js +1 -1
- package/dist/esm-es5/pds-modal-footer.entry.js +1 -1
- package/dist/esm-es5/pds-modal-header.entry.js +1 -1
- package/dist/esm-es5/pds-modal.entry.js +1 -1
- package/dist/esm-es5/pds-multiselect.entry.js +1 -1
- package/dist/esm-es5/pds-popover.entry.js +1 -1
- package/dist/esm-es5/pds-progress.entry.js +1 -1
- package/dist/esm-es5/pds-property.entry.js +1 -1
- package/dist/esm-es5/pds-radio-group.entry.js +1 -1
- package/dist/esm-es5/pds-radio.entry.js +1 -1
- package/dist/esm-es5/pds-row.entry.js +1 -1
- package/dist/esm-es5/pds-select.entry.js +1 -1
- package/dist/esm-es5/pds-sortable-item.entry.js +1 -1
- package/dist/esm-es5/pds-sortable.entry.js +2 -2
- package/dist/esm-es5/pds-switch.entry.js +1 -1
- package/dist/esm-es5/pds-tab.entry.js +1 -1
- package/dist/esm-es5/pds-table-body.entry.js +1 -1
- package/dist/esm-es5/pds-table-cell.entry.js +1 -1
- package/dist/esm-es5/pds-table-head-cell.entry.js +1 -1
- package/dist/esm-es5/pds-table-head.entry.js +1 -1
- package/dist/esm-es5/pds-table-row.entry.js +1 -1
- package/dist/esm-es5/pds-table.entry.js +1 -1
- package/dist/esm-es5/pds-tabpanel.entry.js +1 -1
- package/dist/esm-es5/pds-tabs.entry.js +1 -1
- package/dist/esm-es5/pds-text.entry.js +1 -1
- package/dist/esm-es5/pds-textarea.entry.js +1 -1
- package/dist/esm-es5/pds-toast.entry.js +1 -1
- package/dist/esm-es5/pds-tooltip.entry.js +1 -1
- package/dist/esm-es5/pine-core.js +1 -1
- package/dist/esm-es5/portal-target-CKRzRKdO.js +1 -0
- package/dist/esm-es5/tabbable-C6ZWpp3v.js +1 -0
- package/dist/esm-es5/truncation-tooltip-CRSdYzpA.js +1 -0
- package/dist/pine-core/index.esm.js +1 -1
- package/dist/pine-core/{p-9880d251.system.entry.js → p-01f1cdaf.system.entry.js} +1 -1
- package/dist/pine-core/{p-138b278b.entry.js → p-07323107.entry.js} +1 -1
- package/dist/pine-core/p-08b8e941.entry.js +1 -0
- package/dist/pine-core/p-0d5f0ab5.system.entry.js +1 -0
- package/dist/pine-core/{p-8c8cc079.system.entry.js → p-1415c988.system.entry.js} +1 -1
- package/dist/pine-core/{p-9109b90a.entry.js → p-143b33a6.entry.js} +1 -1
- package/dist/pine-core/{p-b9d145f8.system.entry.js → p-14dedf01.system.entry.js} +1 -1
- package/dist/pine-core/{p-80e6f3a0.system.entry.js → p-19cf1d91.system.entry.js} +1 -1
- package/dist/pine-core/p-1ca8d183.entry.js +1 -0
- package/dist/pine-core/p-1cc39908.system.entry.js +1 -0
- package/dist/pine-core/p-1e3ef425.entry.js +1 -0
- package/dist/pine-core/{p-b914dde8.entry.js → p-1f62bb71.entry.js} +2 -2
- package/dist/pine-core/p-20079552.system.entry.js +1 -0
- package/dist/pine-core/p-2a18852f.entry.js +1 -0
- package/dist/pine-core/{p-ca4ee736.system.entry.js → p-2b9622c1.system.entry.js} +1 -1
- package/dist/pine-core/p-2dd30d12.entry.js +1 -0
- package/dist/pine-core/{p-cccfe60f.system.entry.js → p-3306dc5a.system.entry.js} +1 -1
- package/dist/pine-core/{p-BGLP3keB.js → p-35s7h-dk.js} +1 -1
- package/dist/pine-core/{p-8c588ca0.entry.js → p-3610cb3b.entry.js} +1 -1
- package/dist/pine-core/p-37718637.entry.js +1 -0
- package/dist/pine-core/p-383d84f4.entry.js +2 -0
- package/dist/pine-core/p-39276663.entry.js +1 -0
- package/dist/pine-core/{p-62433f32.entry.js → p-39e57657.entry.js} +1 -1
- package/dist/pine-core/p-3c229091.entry.js +1 -0
- package/dist/pine-core/p-3d34b967.system.entry.js +1 -0
- package/dist/pine-core/p-3e30a761.entry.js +1 -0
- package/dist/pine-core/{p-7a5b21d2.system.entry.js → p-3f8bd3fb.system.entry.js} +1 -1
- package/dist/pine-core/p-42d43c3f.system.entry.js +1 -0
- package/dist/pine-core/{p-f029b7da.system.entry.js → p-42f70f93.system.entry.js} +1 -1
- package/dist/pine-core/{p-d3d69ca4.system.entry.js → p-4a90b9c8.system.entry.js} +1 -1
- package/dist/pine-core/{p-ca0a8f5c.entry.js → p-4cfe922b.entry.js} +1 -1
- package/dist/pine-core/p-4d1a8803.entry.js +1 -0
- package/dist/pine-core/p-4d47023c.system.entry.js +1 -0
- package/dist/pine-core/p-4d98bc0c.system.entry.js +1 -0
- package/dist/pine-core/{p-c97bfac9.entry.js → p-50ddadbf.entry.js} +1 -1
- package/dist/pine-core/{p-0913f696.system.entry.js → p-548bce53.system.entry.js} +1 -1
- package/dist/pine-core/p-54f1e86f.system.entry.js +1 -0
- package/dist/pine-core/{p-631f5bcc.entry.js → p-590df41a.entry.js} +1 -1
- package/dist/pine-core/p-5946203c.entry.js +1 -0
- package/dist/pine-core/{p-11d98408.system.entry.js → p-5f181694.system.entry.js} +1 -1
- package/dist/pine-core/p-60a30975.system.entry.js +1 -0
- package/dist/pine-core/{p-9ab95438.entry.js → p-61cfdbb2.entry.js} +1 -1
- package/dist/pine-core/p-62aa6a78.system.entry.js +1 -0
- package/dist/pine-core/{p-ecc7a531.system.entry.js → p-63f85859.system.entry.js} +1 -1
- package/dist/pine-core/p-64bcb378.entry.js +1 -0
- package/dist/pine-core/{p-bdac8f2b.entry.js → p-67999353.entry.js} +1 -1
- package/dist/pine-core/{p-cb6a3e4c.system.entry.js → p-67f795d5.system.entry.js} +1 -1
- package/dist/pine-core/p-6a1aa8d3.entry.js +1 -0
- package/dist/pine-core/p-6f4ab1ea.system.entry.js +1 -0
- package/dist/pine-core/{p-acca5f7b.system.entry.js → p-724baba3.system.entry.js} +1 -1
- package/dist/pine-core/p-72659a0e.system.entry.js +1 -0
- package/dist/pine-core/{p-4bfc8b3e.system.entry.js → p-73efb1ed.system.entry.js} +1 -1
- package/dist/pine-core/p-7a51f15e.entry.js +1 -0
- package/dist/pine-core/p-7b978fff.system.entry.js +1 -0
- package/dist/pine-core/p-8436cbfb.entry.js +1 -0
- package/dist/pine-core/p-849ec281.system.entry.js +1 -0
- package/dist/pine-core/p-87a32ded.system.entry.js +1 -0
- package/dist/pine-core/p-89d38a82.system.entry.js +1 -0
- package/dist/pine-core/p-8ade17ce.entry.js +1 -0
- package/dist/pine-core/{p-4d03d1e2.system.entry.js → p-8afd5f5b.system.entry.js} +1 -1
- package/dist/pine-core/p-8e7f75e6.entry.js +1 -0
- package/dist/pine-core/{p-8f531063.entry.js → p-8fb520df.entry.js} +1 -1
- package/dist/pine-core/{p-9df5e204.entry.js → p-92115e88.entry.js} +1 -1
- package/dist/pine-core/p-93fd7dd8.system.entry.js +1 -0
- package/dist/pine-core/p-947582e1.entry.js +1 -0
- package/dist/pine-core/{p-2ac2457b.system.entry.js → p-94c9b7d1.system.entry.js} +1 -1
- package/dist/pine-core/p-973c3ac0.entry.js +1 -0
- package/dist/pine-core/p-97653e60.entry.js +1 -0
- package/dist/pine-core/{p-55224683.entry.js → p-97b73359.entry.js} +1 -1
- package/dist/pine-core/{p-b1548a20.entry.js → p-99530cb5.entry.js} +1 -1
- package/dist/pine-core/p-9a776443.entry.js +1 -0
- package/dist/pine-core/p-9b32727a.system.entry.js +1 -0
- package/dist/pine-core/{p-CGRdQc49.system.js → p-BK1sLRfg.system.js} +2 -2
- package/dist/pine-core/{p-COtCa1Md.system.js → p-BNTlHhoO.system.js} +1 -1
- package/dist/pine-core/p-BZ1l3LGl.system.js +1 -0
- package/dist/pine-core/p-BgNaWLoS.js +1 -0
- package/dist/pine-core/p-C6ZWpp3v.js +1 -0
- package/dist/pine-core/{p-Cy8cvR7I.system.js → p-CANeE7Ss.system.js} +1 -1
- package/dist/pine-core/p-CKRzRKdO.js +1 -0
- package/dist/pine-core/{p-XW4H0W6i.system.js → p-CNXspDYs.system.js} +1 -1
- package/dist/pine-core/{p-BPqJgIq6.js → p-Cuc0DYlm.js} +1 -1
- package/dist/pine-core/p-DQyF6v9Q.system.js +1 -0
- package/dist/pine-core/{p-BWDu62Mo.js → p-DvN3tyZp.js} +1 -1
- package/dist/pine-core/p-DwQ5Tjis.js +1 -0
- package/dist/pine-core/{p-CmSJytt1.js → p-M31tvpDN.js} +2 -2
- package/dist/pine-core/p-XK45dzWR.system.js +1 -0
- package/dist/pine-core/{p-1dc5a7e0.system.entry.js → p-a09c9c5e.system.entry.js} +1 -1
- package/dist/pine-core/p-a4ce12ef.entry.js +1 -0
- package/dist/pine-core/{p-57a2f927.entry.js → p-a594c41f.entry.js} +1 -1
- package/dist/pine-core/p-a9d96e22.entry.js +1 -0
- package/dist/pine-core/{p-047433a4.system.entry.js → p-ad5208a4.system.entry.js} +1 -1
- package/dist/pine-core/p-b3d4f97a.system.entry.js +3 -0
- package/dist/pine-core/{p-0b71ecb6.system.entry.js → p-bcc378ba.system.entry.js} +2 -2
- package/dist/pine-core/p-bd7dc317.system.entry.js +1 -0
- package/dist/pine-core/p-beb7a430.entry.js +1 -0
- package/dist/pine-core/p-bfa34194.entry.js +1 -0
- package/dist/pine-core/{p-5870b092.system.entry.js → p-c2afe4f3.system.entry.js} +1 -1
- package/dist/pine-core/p-c5e1eb3c.system.entry.js +1 -0
- package/dist/pine-core/p-c7a53c4f.entry.js +1 -0
- package/dist/pine-core/{p-5cfd4d41.system.entry.js → p-c8a0b562.system.entry.js} +1 -1
- package/dist/pine-core/{p-f1702281.entry.js → p-c9ae7964.entry.js} +1 -1
- package/dist/pine-core/{p-db17c626.system.entry.js → p-cb9baf78.system.entry.js} +1 -1
- package/dist/pine-core/{p-e5420660.entry.js → p-ce9fa14b.entry.js} +1 -1
- package/dist/pine-core/{p-332590c7.system.entry.js → p-d018dc60.system.entry.js} +1 -1
- package/dist/pine-core/p-d47b2a6a.system.entry.js +1 -0
- package/dist/pine-core/{p-b75b0d09.system.entry.js → p-d48fe5a0.system.entry.js} +1 -1
- package/dist/pine-core/p-d6f338e0.entry.js +1 -0
- package/dist/pine-core/{p-8191498f.system.entry.js → p-d920d759.system.entry.js} +1 -1
- package/dist/pine-core/{p-26642718.entry.js → p-d9719e37.entry.js} +1 -1
- package/dist/pine-core/{p-c483997a.entry.js → p-db7fb5a3.entry.js} +1 -1
- package/dist/pine-core/{p-9713fb36.entry.js → p-e1d1b5d8.entry.js} +1 -1
- package/dist/pine-core/p-e3de6a1d.entry.js +1 -0
- package/dist/pine-core/{p-d2c91e7a.entry.js → p-e7002cee.entry.js} +1 -1
- package/dist/pine-core/{p-86040cac.system.entry.js → p-e82f758f.system.entry.js} +1 -1
- package/dist/pine-core/p-e84fa9ed.entry.js +1 -0
- package/dist/pine-core/{p-ee0e30bf.system.entry.js → p-eb4f0daa.system.entry.js} +1 -1
- package/dist/pine-core/p-eeYeEogd.system.js +1 -0
- package/dist/pine-core/{p-0af0d752.system.entry.js → p-eecd9ad8.system.entry.js} +1 -1
- package/dist/pine-core/p-ef0eba9b.system.entry.js +1 -0
- package/dist/pine-core/p-ef3a855f.system.entry.js +1 -0
- package/dist/pine-core/{p-717323e4.entry.js → p-f018af99.entry.js} +1 -1
- package/dist/pine-core/{p-121612a7.system.entry.js → p-f11cce27.system.entry.js} +1 -1
- package/dist/pine-core/{p-4fd454f6.entry.js → p-f6f4fd42.entry.js} +1 -1
- package/dist/pine-core/{p-a939b471.entry.js → p-f71d71ca.entry.js} +1 -1
- package/dist/pine-core/p-f9063262.system.entry.js +1 -0
- package/dist/pine-core/p-f99bd77f.entry.js +1 -0
- package/dist/pine-core/{p-ClDiSG97.system.js → p-vFsJv75D.system.js} +1 -1
- package/dist/pine-core/p-wB2y8gR7.system.js +1 -0
- package/dist/pine-core/pine-core.esm.js +1 -1
- package/dist/pine-core/pine-core.js +1 -1
- package/dist/types/components/pds-alert/pds-alert.d.ts +10 -0
- package/dist/types/components/pds-avatar/pds-avatar.d.ts +8 -0
- package/dist/types/components/pds-button/pds-button.d.ts +2 -2
- package/dist/types/components/pds-checkbox/pds-checkbox.d.ts +7 -1
- package/dist/types/components/pds-combobox/pds-combobox.d.ts +9 -0
- package/dist/types/components/pds-datepicker/calendar-portal.d.ts +0 -7
- package/dist/types/components/pds-dropdown-menu/pds-dropdown-menu-item/pds-dropdown-menu-item.d.ts +7 -0
- package/dist/types/components/pds-link/pds-link.d.ts +8 -0
- package/dist/types/components/pds-popover/pds-popover.d.ts +44 -20
- package/dist/types/components/pds-radio/pds-radio.d.ts +9 -3
- package/dist/types/components/pds-radio-group/pds-radio-group.d.ts +8 -0
- package/dist/types/components/pds-select/pds-select.d.ts +32 -4
- package/dist/types/components/pds-text/pds-text.d.ts +4 -0
- package/dist/types/components/pds-toast/pds-toast.d.ts +9 -0
- package/dist/types/components/pds-tooltip/pds-tooltip.d.ts +32 -0
- package/dist/types/components.d.ts +98 -10
- package/dist/types/utils/aria-references.d.ts +24 -0
- package/dist/types/utils/portal-target.d.ts +17 -0
- package/dist/types/utils/tabbable.d.ts +2 -0
- package/dist/types/utils/truncation-tooltip.d.ts +5 -2
- package/dist/vscode.html-data.json +82 -10
- package/hydrate/index.js +971 -408
- package/hydrate/index.mjs +971 -408
- package/package.json +2 -2
- package/dist/esm-es5/truncation-tooltip-FaW67DiY.js +0 -1
- package/dist/pine-core/p-0092444c.system.entry.js +0 -1
- package/dist/pine-core/p-00a50de5.system.entry.js +0 -3
- package/dist/pine-core/p-049f126a.entry.js +0 -1
- package/dist/pine-core/p-089c3e60.entry.js +0 -1
- package/dist/pine-core/p-158b2f51.entry.js +0 -1
- package/dist/pine-core/p-17f97f1a.entry.js +0 -1
- package/dist/pine-core/p-19ba2788.system.entry.js +0 -1
- package/dist/pine-core/p-208c7dbf.entry.js +0 -1
- package/dist/pine-core/p-25ea48d1.entry.js +0 -1
- package/dist/pine-core/p-295f64ea.entry.js +0 -1
- package/dist/pine-core/p-29cd4113.system.entry.js +0 -1
- package/dist/pine-core/p-2cb5483a.system.entry.js +0 -1
- package/dist/pine-core/p-36cb4bf6.entry.js +0 -1
- package/dist/pine-core/p-3c977d8d.system.entry.js +0 -1
- package/dist/pine-core/p-3d51891a.entry.js +0 -1
- package/dist/pine-core/p-432d5ec7.entry.js +0 -1
- package/dist/pine-core/p-44f546ae.entry.js +0 -1
- package/dist/pine-core/p-5442d983.system.entry.js +0 -1
- package/dist/pine-core/p-5833a072.system.entry.js +0 -1
- package/dist/pine-core/p-602c197f.entry.js +0 -1
- package/dist/pine-core/p-719542e1.system.entry.js +0 -1
- package/dist/pine-core/p-73f931a1.entry.js +0 -1
- package/dist/pine-core/p-75ee0403.entry.js +0 -1
- package/dist/pine-core/p-77395d62.system.entry.js +0 -1
- package/dist/pine-core/p-7a287635.system.entry.js +0 -1
- package/dist/pine-core/p-875b0436.system.entry.js +0 -1
- package/dist/pine-core/p-884cb31d.system.entry.js +0 -1
- package/dist/pine-core/p-8987fd45.system.entry.js +0 -1
- package/dist/pine-core/p-8cc302aa.system.entry.js +0 -1
- package/dist/pine-core/p-8e3ff75d.entry.js +0 -1
- package/dist/pine-core/p-90d5edc6.entry.js +0 -1
- package/dist/pine-core/p-91f60173.entry.js +0 -1
- package/dist/pine-core/p-9265497e.system.entry.js +0 -1
- package/dist/pine-core/p-94593f20.system.entry.js +0 -1
- package/dist/pine-core/p-99459e27.entry.js +0 -1
- package/dist/pine-core/p-99fdf70f.entry.js +0 -1
- package/dist/pine-core/p-9aaedded.entry.js +0 -1
- package/dist/pine-core/p-9dcd2cdb.entry.js +0 -1
- package/dist/pine-core/p-BLG6RDBt.js +0 -1
- package/dist/pine-core/p-BR5nujVX.system.js +0 -1
- package/dist/pine-core/p-CuSNnuFu.system.js +0 -1
- package/dist/pine-core/p-D04W0cAO.system.js +0 -1
- package/dist/pine-core/p-a0960b3d.system.entry.js +0 -1
- package/dist/pine-core/p-a1230a74.system.entry.js +0 -1
- package/dist/pine-core/p-a826f290.entry.js +0 -1
- package/dist/pine-core/p-acce8eb2.entry.js +0 -1
- package/dist/pine-core/p-aff411d0.entry.js +0 -1
- package/dist/pine-core/p-b182f806.entry.js +0 -2
- package/dist/pine-core/p-bb68431a.entry.js +0 -1
- package/dist/pine-core/p-be9b6e63.system.entry.js +0 -1
- package/dist/pine-core/p-bf30dec0.entry.js +0 -1
- package/dist/pine-core/p-c4e12f0a.entry.js +0 -1
- package/dist/pine-core/p-e0917a26.entry.js +0 -1
- package/dist/pine-core/p-e836a041.entry.js +0 -1
- package/dist/pine-core/p-ea340c55.system.entry.js +0 -1
- package/dist/pine-core/p-ea4d4741.system.entry.js +0 -1
- package/dist/pine-core/p-ea8f5d29.entry.js +0 -1
- package/dist/pine-core/p-eaf85be6.system.entry.js +0 -1
- package/dist/pine-core/p-ef13f665.system.entry.js +0 -1
- package/dist/pine-core/p-f3067d90.system.entry.js +0 -1
- package/dist/pine-core/p-jrkGLEPe.js +0 -1
|
@@ -13,9 +13,9 @@
|
|
|
13
13
|
}
|
|
14
14
|
.pds-link:focus-visible {
|
|
15
15
|
border-radius: var(--pine-dimension-2xs);
|
|
16
|
+
isolation: isolate;
|
|
16
17
|
outline: var(--pine-outline-focus);
|
|
17
18
|
outline-offset: var(--pine-border-width-thick);
|
|
18
|
-
position: relative;
|
|
19
19
|
}
|
|
20
20
|
.pds-link:hover {
|
|
21
21
|
color: var(--color, var(--pds-context-link-color-hover, var(--pine-color-text-hover)));
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { h } from "@stencil/core";
|
|
2
2
|
import { setColor } from "../../utils/utils";
|
|
3
3
|
import { launch } from "@pine-ds/icons/icons";
|
|
4
|
+
// Used when `externalLabel` is unset; an empty string hides the icon instead.
|
|
5
|
+
const DEFAULT_EXTERNAL_LABEL = '(opens in a new tab)';
|
|
4
6
|
/**
|
|
5
7
|
* @part link - Link element styles.
|
|
6
8
|
* @slot (default) - Text content placed between the opening and closing tags. If no text is provided, the **href** will be used as a fallback.
|
|
@@ -53,11 +55,18 @@ export class PdsLink {
|
|
|
53
55
|
return linkStyles;
|
|
54
56
|
}
|
|
55
57
|
render() {
|
|
58
|
+
var _a;
|
|
56
59
|
const targetValue = this.target || (this.external ? '_blank' : undefined);
|
|
57
60
|
const showExternalIcon = this.external;
|
|
58
|
-
const
|
|
59
|
-
|
|
60
|
-
|
|
61
|
+
const opensInNewTab = targetValue === '_blank';
|
|
62
|
+
const relValue = opensInNewTab ? 'noopener noreferrer' : undefined;
|
|
63
|
+
// A `target` other than _blank overrides `external`, and then the label
|
|
64
|
+
// would be false, so the icon is decorative there, as it is when the
|
|
65
|
+
// label is empty.
|
|
66
|
+
const externalLabel = (_a = this.externalLabel) !== null && _a !== void 0 ? _a : DEFAULT_EXTERNAL_LABEL;
|
|
67
|
+
const externalIconLabel = opensInNewTab && externalLabel !== '' ? externalLabel : undefined;
|
|
68
|
+
return (h("a", { key: 'ae7928aa6dce42657545a1d17581818d3724746f', class: this.classNames(), download: this.download, href: this.href, id: this.componentId, part: "link", "aria-current": this.active ? 'page' : undefined, target: targetValue, rel: relValue, style: this.setLinkStyles(), "data-turbo": this.turbo || undefined, "data-turbo-frame": this.turboFrame || undefined, "data-turbo-action": this.turboAction || undefined, "data-turbo-method": this.turboMethod || undefined, "data-turbo-confirm": this.turboConfirm || undefined, "data-turbo-stream": this.turboStream || undefined, "data-turbo-prefetch": this.turboPrefetch || undefined, "data-turbo-preload": this.turboPreload || undefined }, h("slot", { key: 'e61374c58fddec869f2f5dda54634a0b1ba9f345' }, this.href), showExternalIcon &&
|
|
69
|
+
h("pds-icon", { key: '161657146e5f3ce360480c573ea8f14c9012cb1f', icon: launch, size: this.fontSize, "aria-label": externalIconLabel, "aria-hidden": externalIconLabel === undefined ? 'true' : undefined })));
|
|
61
70
|
}
|
|
62
71
|
static get is() { return "pds-link"; }
|
|
63
72
|
static get encapsulation() { return "shadow"; }
|
|
@@ -179,6 +188,28 @@ export class PdsLink {
|
|
|
179
188
|
"attribute": "external",
|
|
180
189
|
"defaultValue": "false"
|
|
181
190
|
},
|
|
191
|
+
"externalLabel": {
|
|
192
|
+
"type": "string",
|
|
193
|
+
"mutable": false,
|
|
194
|
+
"complexType": {
|
|
195
|
+
"original": "string",
|
|
196
|
+
"resolved": "string",
|
|
197
|
+
"references": {}
|
|
198
|
+
},
|
|
199
|
+
"required": false,
|
|
200
|
+
"optional": true,
|
|
201
|
+
"docs": {
|
|
202
|
+
"tags": [{
|
|
203
|
+
"name": "defaultValue",
|
|
204
|
+
"text": "'(opens in a new tab)'"
|
|
205
|
+
}],
|
|
206
|
+
"text": "Accessible label for the icon that `external` shows, appended to the\nlink's name. It isn't announced when `target` keeps the link in the same\ntab. Pass a translated string to localize it; defaults to English. Pass an\nempty string to make the icon decorative."
|
|
207
|
+
},
|
|
208
|
+
"getter": false,
|
|
209
|
+
"setter": false,
|
|
210
|
+
"reflect": false,
|
|
211
|
+
"attribute": "external-label"
|
|
212
|
+
},
|
|
182
213
|
"target": {
|
|
183
214
|
"type": "string",
|
|
184
215
|
"mutable": false,
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { html } from 'lit';
|
|
2
|
+
import { ifDefined } from 'lit/directives/if-defined.js';
|
|
2
3
|
|
|
3
4
|
export default {
|
|
4
5
|
args: { href: '#some-anchor' },
|
|
@@ -12,8 +13,8 @@ export default {
|
|
|
12
13
|
title: 'components/Link'
|
|
13
14
|
}
|
|
14
15
|
|
|
15
|
-
const BaseTemplate = (args) => html`<pds-link color=${args.color} ?external=${args.external} font-size=${args.fontSize} href=${args.href} component-id=${args.componentId} variant=${args.variant}></pds-link>`;
|
|
16
|
-
const BaseTemplateWithSlot = (args) => html` <pds-link color=${args.color} ?external=${args.external} font-size=${args.fontSize} href=${args.href} component-id=${args.componentId} variant=${args.variant}>${args.slot}</pds-link>`;
|
|
16
|
+
const BaseTemplate = (args) => html`<pds-link color=${args.color} ?external=${args.external} external-label=${ifDefined(args.externalLabel)} font-size=${args.fontSize} href=${args.href} component-id=${args.componentId} variant=${args.variant}></pds-link>`;
|
|
17
|
+
const BaseTemplateWithSlot = (args) => html` <pds-link color=${args.color} ?external=${args.external} external-label=${ifDefined(args.externalLabel)} font-size=${args.fontSize} href=${args.href} component-id=${args.componentId} variant=${args.variant}>${args.slot}</pds-link>`;
|
|
17
18
|
|
|
18
19
|
export const Colors = BaseTemplate.bind();
|
|
19
20
|
Colors.args = {
|
|
@@ -72,3 +73,51 @@ export const NavTabs = {
|
|
|
72
73
|
</nav>
|
|
73
74
|
`,
|
|
74
75
|
};
|
|
76
|
+
|
|
77
|
+
// A whole row that is one link. The click area is the link part's ::after stretched over
|
|
78
|
+
// the positioned row, so the row activates the link without nesting anything inside it.
|
|
79
|
+
// Trailing controls sit above that box so they stay separately clickable, and the focus
|
|
80
|
+
// ring is drawn on the stretched box rather than on the text.
|
|
81
|
+
export const WholeRowLink = {
|
|
82
|
+
render: () => html`
|
|
83
|
+
<style>
|
|
84
|
+
.pds-link-row {
|
|
85
|
+
position: relative;
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
.pds-link-row:hover {
|
|
89
|
+
background-color: var(--pine-color-background-muted);
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
.pds-link-row pds-link::part(link)::after {
|
|
93
|
+
border-radius: var(--pine-border-radius-md);
|
|
94
|
+
content: "";
|
|
95
|
+
inset: 0;
|
|
96
|
+
position: absolute;
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
.pds-link-row pds-link::part(link):focus-visible {
|
|
100
|
+
outline: none;
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
.pds-link-row pds-link::part(link):focus-visible::after {
|
|
104
|
+
outline: var(--pine-outline-focus);
|
|
105
|
+
outline-offset: var(--pine-border-width-thick);
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
.pds-link-row__trailing {
|
|
109
|
+
position: relative;
|
|
110
|
+
z-index: 1;
|
|
111
|
+
}
|
|
112
|
+
</style>
|
|
113
|
+
<pds-box class="pds-link-row" border border-radius="md" padding="sm" align-items="center" justify-content="space-between">
|
|
114
|
+
<pds-box gap="xs" align-items="center">
|
|
115
|
+
<pds-icon name="file" aria-hidden="true"></pds-icon>
|
|
116
|
+
<pds-link href="#row-target" variant="plain">Quarterly report</pds-link>
|
|
117
|
+
</pds-box>
|
|
118
|
+
<pds-box class="pds-link-row__trailing">
|
|
119
|
+
<pds-button variant="secondary" size="small">Download</pds-button>
|
|
120
|
+
</pds-box>
|
|
121
|
+
</pds-box>
|
|
122
|
+
`,
|
|
123
|
+
};
|
|
@@ -66,7 +66,7 @@ export class PdsLoader {
|
|
|
66
66
|
'aria-live': 'polite',
|
|
67
67
|
};
|
|
68
68
|
this.hostKeeper.record(hostClass, {}, hostAttributes);
|
|
69
|
-
return (h(Host, Object.assign({ key: '
|
|
69
|
+
return (h(Host, Object.assign({ key: 'eaf8a64d5c2e37349ed2d2426a6c6bf1df68005f', class: hostClass }, hostAttributes), this.variant === 'spinner' && (h("div", { key: '216143117aabd29ca52c56cd7951a27f9742e466', class: "pds-loader--spinner" }, h("svg", { key: '9c9db37e883fb3a4ba5e0c7c173a5d7a76cdadda', style: this.getSvgStyle(), viewBox: "0 0 200 200", fill: "none", part: "loader-svg" }, h("defs", { key: '8f65f537290ea2dd96b66343324851d243fec3dd' }, h("linearGradient", { key: '8b1a53bcc9401b98dafa805cae8e417af7646bfd', id: "spinner-secondHalf" }, h("stop", { key: 'f06605f7180e9c07d5eb4c9dbadcdb87cee0dd70', offset: "0%", "stop-opacity": "0", "stop-color": "currentColor" }), h("stop", { key: '0bf492e4d5578bd0d98a2f7570a1dd21ca2ecf3d', offset: "100%", "stop-opacity": "0.5", "stop-color": "currentColor" })), h("linearGradient", { key: '6c7038c158d786866a408063b07b236bf17cefc1', id: "spinner-firstHalf" }, h("stop", { key: '916502c73bc4b78368bb210aed318537841917b9', offset: "0%", "stop-opacity": "1", "stop-color": "currentColor" }), h("stop", { key: '2d20708106bb3a685fbaf4bdcf099684a36359c0', offset: "100%", "stop-opacity": "0.5", "stop-color": "currentColor" }))), h("g", { key: '93165f80e7d5155b3dc8f2fc62e326bec7604c57', class: "pds-loader__spinner-path" }, h("path", { key: '4b1e39a899aadf9d4b4cbf954c783c1103c43c24', stroke: "url(#spinner-secondHalf)", d: "M 4 100 A 96 96 0 0 1 196 100" }), h("path", { key: '0aa1683dc97e2a01cc076a52a4883388c1d09c6f', stroke: "url(#spinner-firstHalf)", d: "M 196 100 A 96 96 0 0 1 4 100" }), h("path", { key: '9839fb9e0b473814d3b10eb27f7be87990b6c088', stroke: "currentColor", "stroke-linecap": "round", d: "M 4 100 A 96 96 0 0 1 4 98" }))))), this.variant === 'typing' && (h("div", { key: 'd83e4625ea2d41a545a98e08edb3033b83e7eb5b', class: "pds-loader--typing" }, h("span", { key: '2e793f3f5b17cb7709c8fc89e2054d7cd77fafd4' }), h("span", { key: 'c266ad3b8edf6c1cc392c544027f7cfd543b711c' }), h("span", { key: '061f9e3030cce603e50e8d86d3aa5036800c1324' }))), h("div", { key: '747c1c6c28136cfb9ba9dac0d4944bc6281af075', class: `pds-loader__label ${this.showLabel ? '' : 'pds-loader--hidden'}` }, h("slot", { key: '5eb5a5710deafa10bd269429edff0ac677546cf5', name: "label" }, "Loading..."))));
|
|
70
70
|
}
|
|
71
71
|
static get is() { return "pds-loader"; }
|
|
72
72
|
static get encapsulation() { return "shadow"; }
|
|
@@ -183,10 +183,10 @@ export class PdsModalContent {
|
|
|
183
183
|
render() {
|
|
184
184
|
// Only apply max-height style if it's not 'none'
|
|
185
185
|
const styleObj = this.contentMaxHeight !== 'none' ? { maxHeight: this.contentMaxHeight } : {};
|
|
186
|
-
return (h(Host, { key: '
|
|
186
|
+
return (h(Host, { key: 'b4200778f186c45a1917646ba2e0e4e623959951' }, h("div", { key: '39eaaf228e5441f5c0fd628c47be079fb4e07e0f', class: {
|
|
187
187
|
'pds-modal-content': true,
|
|
188
188
|
[`pds-modal-content--border-${this.border}`]: true
|
|
189
|
-
}, style: styleObj, tabindex: "-1" }, h("slot", { key: '
|
|
189
|
+
}, style: styleObj, tabindex: "-1" }, h("slot", { key: 'ac31a9b81941b8b3abbac3a67c25bacaa54e6840' }))));
|
|
190
190
|
}
|
|
191
191
|
static get is() { return "pds-modal-content"; }
|
|
192
192
|
static get originalStyleUrls() {
|
|
@@ -9,7 +9,7 @@ export class PdsModalFooter {
|
|
|
9
9
|
unwrapReconnectedContent(this.el.querySelector('.pds-modal__footer'), '.pds-modal__footer');
|
|
10
10
|
}
|
|
11
11
|
render() {
|
|
12
|
-
return (h("footer", { key: '
|
|
12
|
+
return (h("footer", { key: 'c0d50408471355d80759112e63f58c8a34fb7906', class: "pds-modal__footer" }, h("slot", { key: '6566d446457be8b57e37bf1542a5863b0018d233' })));
|
|
13
13
|
}
|
|
14
14
|
static get is() { return "pds-modal-footer"; }
|
|
15
15
|
static get originalStyleUrls() {
|
|
@@ -9,7 +9,7 @@ export class PdsModalHeader {
|
|
|
9
9
|
unwrapReconnectedContent(this.el.querySelector('.pds-modal__header'), '.pds-modal__header');
|
|
10
10
|
}
|
|
11
11
|
render() {
|
|
12
|
-
return (h("header", { key: '
|
|
12
|
+
return (h("header", { key: 'eb295ff36fd23b7965296b6dfcfcf783a32079a0', class: "pds-modal__header" }, h("slot", { key: '9c97566ff79f8d9b233d814395d5a7e893751a06' })));
|
|
13
13
|
}
|
|
14
14
|
static get is() { return "pds-modal-header"; }
|
|
15
15
|
static get originalStyleUrls() {
|
|
@@ -1,91 +1,11 @@
|
|
|
1
1
|
import { h } from "@stencil/core";
|
|
2
2
|
import { closest } from "../../utils/closest";
|
|
3
|
+
import { tabbableIn } from "../../utils/tabbable";
|
|
3
4
|
import { unwrapReconnectedContent } from "../../utils/reconnected-content";
|
|
4
5
|
const PRESET_SIZES = ['sm', 'md', 'lg', 'fullscreen'];
|
|
5
6
|
const isCustomLength = (value) => /^[a-z0-9.%+\-*/(), ]+$/i.test(value) &&
|
|
6
7
|
/\d/.test(value) &&
|
|
7
8
|
(typeof CSS === 'undefined' || CSS.supports('max-width', value));
|
|
8
|
-
const TABBABLE = [
|
|
9
|
-
'a[href]',
|
|
10
|
-
'area[href]',
|
|
11
|
-
'button',
|
|
12
|
-
'input:not([type="hidden"])',
|
|
13
|
-
'select',
|
|
14
|
-
'textarea',
|
|
15
|
-
'iframe',
|
|
16
|
-
'summary',
|
|
17
|
-
'[contenteditable]:not([contenteditable="false"])',
|
|
18
|
-
'[tabindex]',
|
|
19
|
-
].join(',');
|
|
20
|
-
/**
|
|
21
|
-
* Collects the tabbable elements under `root` in focus order, walking into open shadow roots and
|
|
22
|
-
* following slots, so a component's own controls (the input inside pds-combobox or pds-textarea)
|
|
23
|
-
* count without being registered here by tag name. Positive tabindex values are not reordered,
|
|
24
|
-
* and a closed shadow root can't be seen into.
|
|
25
|
-
*/
|
|
26
|
-
function collectTabbable(root, found) {
|
|
27
|
-
for (const child of Array.from(root.children))
|
|
28
|
-
visitTabbable(child, found);
|
|
29
|
-
}
|
|
30
|
-
// An editing host reports tabIndex -1 but is still a Tab stop; editable content inside it is not.
|
|
31
|
-
const isTabStop = (el) => { var _a; return el.tabIndex >= 0 || (el.isContentEditable && !el.hasAttribute('tabindex') && !((_a = el.parentElement) === null || _a === void 0 ? void 0 : _a.isContentEditable)); };
|
|
32
|
-
function visitTabbable(el, found) {
|
|
33
|
-
var _a, _b, _c, _d;
|
|
34
|
-
if (el.hasAttribute('inert'))
|
|
35
|
-
return;
|
|
36
|
-
if (el.localName === 'slot') {
|
|
37
|
-
const slot = el;
|
|
38
|
-
// Fallback content renders only when nothing at all is assigned, text included.
|
|
39
|
-
if (((_b = (_a = slot.assignedNodes) === null || _a === void 0 ? void 0 : _a.call(slot, { flatten: true })) !== null && _b !== void 0 ? _b : []).length === 0)
|
|
40
|
-
return collectTabbable(el, found);
|
|
41
|
-
for (const slotted of slot.assignedElements({ flatten: true }))
|
|
42
|
-
visitTabbable(slotted, found);
|
|
43
|
-
return;
|
|
44
|
-
}
|
|
45
|
-
// A delegatesFocus host passes focus to its first control, which the walk below finds.
|
|
46
|
-
const delegates = ((_c = el.shadowRoot) === null || _c === void 0 ? void 0 : _c.delegatesFocus) === true;
|
|
47
|
-
if (el instanceof HTMLElement && !delegates && isTabStop(el) && el.matches(TABBABLE) && !el.matches(':disabled')) {
|
|
48
|
-
found.push(el);
|
|
49
|
-
}
|
|
50
|
-
// A shadow host's light children render only through its slots, which the walk reaches.
|
|
51
|
-
collectTabbable((_d = el.shadowRoot) !== null && _d !== void 0 ? _d : el, found);
|
|
52
|
-
}
|
|
53
|
-
/** The element as a radio in a named group, or `null`. */
|
|
54
|
-
const groupedRadio = (el) => el instanceof HTMLInputElement && el.type === 'radio' && el.name !== '' ? el : null;
|
|
55
|
-
/**
|
|
56
|
-
* Keeps one radio per named group, as the browser does: the checked one, or the first. The others
|
|
57
|
-
* are reached with the arrow keys, so they can't be the first or last stop of the trap.
|
|
58
|
-
*/
|
|
59
|
-
function oneRadioPerGroup(elements) {
|
|
60
|
-
// Radios group by name and form within one tree, so each shadow root starts its own groups.
|
|
61
|
-
const groups = [];
|
|
62
|
-
for (const el of elements) {
|
|
63
|
-
const radio = groupedRadio(el);
|
|
64
|
-
if (radio === null)
|
|
65
|
-
continue;
|
|
66
|
-
const group = groups.find(([first]) => first.name === radio.name && first.form === radio.form && first.getRootNode() === radio.getRootNode());
|
|
67
|
-
if (group)
|
|
68
|
-
group.push(radio);
|
|
69
|
-
else
|
|
70
|
-
groups.push([radio]);
|
|
71
|
-
}
|
|
72
|
-
const stops = new Set(groups.map((radios) => { var _a; return (_a = radios.find((radio) => radio.checked)) !== null && _a !== void 0 ? _a : radios[0]; }));
|
|
73
|
-
return elements.filter((el) => groupedRadio(el) === null || stops.has(el));
|
|
74
|
-
}
|
|
75
|
-
/** The controls Tab reaches in `root`, in order: visible ones, and one radio per group. */
|
|
76
|
-
function tabbableIn(root) {
|
|
77
|
-
const found = [];
|
|
78
|
-
collectTabbable(root, found);
|
|
79
|
-
// checkVisibility() also drops an element inside a hidden ancestor, whose own computed
|
|
80
|
-
// display isn't none; such an element can't take focus.
|
|
81
|
-
const visible = found.filter(el => {
|
|
82
|
-
if (typeof el.checkVisibility === 'function')
|
|
83
|
-
return el.checkVisibility({ checkVisibilityCSS: true });
|
|
84
|
-
const style = window.getComputedStyle(el);
|
|
85
|
-
return style.display !== 'none' && style.visibility !== 'hidden';
|
|
86
|
-
});
|
|
87
|
-
return oneRadioPerGroup(visible);
|
|
88
|
-
}
|
|
89
9
|
/** Whether `node` is `ancestor` or inside it, crossing shadow roots, which `Node.contains` doesn't. */
|
|
90
10
|
function containsComposed(ancestor, node) {
|
|
91
11
|
for (let current = node; current; current = current instanceof ShadowRoot ? current.host : current.parentNode) {
|
|
@@ -645,14 +565,14 @@ export class PdsModal {
|
|
|
645
565
|
}
|
|
646
566
|
render() {
|
|
647
567
|
const [sizeClass = 'md', customSize] = this.resolveSize();
|
|
648
|
-
return (h("dialog", { key: '
|
|
568
|
+
return (h("dialog", { key: 'cd574868a46b69185e2058c60374dbec34677732', class: {
|
|
649
569
|
'pds-modal__backdrop': true,
|
|
650
570
|
'open': this.open
|
|
651
|
-
}, "aria-modal": this.disableTopLayer ? 'false' : 'true', "aria-labelledby": `${this.componentId}-heading`, onClick: this.handleBackdropClick, onCancel: this.handleCancel }, h("div", { key: '
|
|
571
|
+
}, "aria-modal": this.disableTopLayer ? 'false' : 'true', "aria-labelledby": `${this.componentId}-heading`, onClick: this.handleBackdropClick, onCancel: this.handleCancel }, h("div", { key: '8c50fb4810b4bb07d62348fed44df30b14a52acd', class: {
|
|
652
572
|
'pds-modal': true,
|
|
653
573
|
[`pds-modal--${sizeClass}`]: true,
|
|
654
574
|
'pds-modal--scrollable': this.scrollable
|
|
655
|
-
}, style: customSize !== undefined ? { '--pds-modal-max-width': customSize } : undefined, part: "modal" }, h("slot", { key: '
|
|
575
|
+
}, style: customSize !== undefined ? { '--pds-modal-max-width': customSize } : undefined, part: "modal" }, h("slot", { key: '25a71c95dfeff4648a28edef21bf510b1743ed7c' }))));
|
|
656
576
|
}
|
|
657
577
|
static get is() { return "pds-modal"; }
|
|
658
578
|
static get originalStyleUrls() {
|
|
@@ -77,7 +77,7 @@ export class MockPdsModal {
|
|
|
77
77
|
'pds-modal__backdrop': true,
|
|
78
78
|
'open': this.open,
|
|
79
79
|
};
|
|
80
|
-
return (h("div", { key: '
|
|
80
|
+
return (h("div", { key: '6e165638f8f4699fa242f3045155c392f9f529b2', class: backdropClasses }, h("div", { key: 'f4b8db3093a6fbe24be8035a826e8289815e4afb', class: modalClasses, role: "dialog", "aria-modal": "true", "aria-labelledby": this.componentId ? `${this.componentId}-heading` : null, part: "modal" }, h("div", { key: 'fa846f66e539ea0d1b73820abb991fdb02902499', class: "pds-modal__header" }, h("slot", { key: '0faaa6858fecd9d0c48c7f183d4f2101c1bed785', name: "header" })), h("div", { key: 'a896fba9494fcdee9dde7e0d9f7baf708095ee6f', class: "pds-modal-content" }, h("slot", { key: '4091e70b2a744c36c8249aa8664937d227145c14' })), h("div", { key: 'cbf4bdd80cc3575d8c7e2e0e2078e28c4f185920', class: "pds-modal__footer" }, h("slot", { key: '56ed3a26c36fd70d7ec9f033951d1b1d9e044957', name: "footer" })))));
|
|
81
81
|
}
|
|
82
82
|
static get is() { return "mock-pds-modal"; }
|
|
83
83
|
static get originalStyleUrls() {
|
|
@@ -302,6 +302,12 @@ export class PdsMultiselect {
|
|
|
302
302
|
}
|
|
303
303
|
else {
|
|
304
304
|
this.closeDropdown();
|
|
305
|
+
// Tab would move on to an option's checkbox, which closing removes, dropping focus to the page.
|
|
306
|
+
// Land on the trigger instead, as Escape does; Shift+Tab already reaches it.
|
|
307
|
+
const trigger = e.shiftKey ? undefined : this.activeTriggerEl;
|
|
308
|
+
trigger === null || trigger === void 0 ? void 0 : trigger.focus();
|
|
309
|
+
if (trigger === null || trigger === void 0 ? void 0 : trigger.matches(':focus'))
|
|
310
|
+
e.preventDefault();
|
|
305
311
|
}
|
|
306
312
|
break;
|
|
307
313
|
}
|
|
@@ -1260,10 +1266,10 @@ export class PdsMultiselect {
|
|
|
1260
1266
|
}
|
|
1261
1267
|
render() {
|
|
1262
1268
|
const hasSelections = this.selectedItems.length > 0;
|
|
1263
|
-
return (h(Host, { key: '
|
|
1269
|
+
return (h(Host, { key: '8f1ce5ef092285ce7c0855643fae76a4ec86ee17', "aria-disabled": this.disabled ? 'true' : null }, h("div", { key: 'c14c3d52c1d55fb33a89f1a25055728215a1e4ab', class: "pds-multiselect", onFocusout: this.handleContainerFocusOut }, this.label && (h("label", { key: 'aacd3339b0db2048b31fbc5963f7232bbff78efe', id: `${this.componentId}-label`, htmlFor: this.componentId, class: {
|
|
1264
1270
|
'pds-multiselect__label': true,
|
|
1265
1271
|
'visually-hidden': this.hideLabel,
|
|
1266
|
-
} }, this.label)), h("div", { key: '
|
|
1272
|
+
} }, this.label)), h("div", { key: '5e1ef76aa5d46798519e5ac885bfa1c8d7c7106c', class: "pds-multiselect__wrapper", ref: el => (this.containerEl = el), style: { width: this.triggerWidth } }, this.slottedTriggerEl ? (h("slot", { name: "trigger" })) : this.selectedDisplay === 'pill' && this.pillPosition === 'inline' ? (h("div", { ref: el => (this.pillInlineTriggerEl = el || undefined), part: "trigger", class: {
|
|
1267
1273
|
'pds-multiselect__trigger': true,
|
|
1268
1274
|
'pds-multiselect__trigger--open': this.isOpen,
|
|
1269
1275
|
'pds-multiselect__trigger--disabled': this.disabled,
|
|
@@ -1279,7 +1285,7 @@ export class PdsMultiselect {
|
|
|
1279
1285
|
}, id: this.componentId, disabled: this.disabled, "aria-required": this.required ? 'true' : undefined, "aria-expanded": this.isOpen ? 'true' : 'false', "aria-haspopup": "listbox", "aria-describedby": assignDescription(this.componentId, this.invalid || !!this.errorMessage, this.helperMessage, this.errorMessage), "aria-invalid": this.invalid || !!this.errorMessage ? 'true' : undefined, onClick: this.handleTriggerClick, onKeyDown: this.handleTriggerKeyDown }, h("span", { class: {
|
|
1280
1286
|
'pds-multiselect__trigger-text': true,
|
|
1281
1287
|
'pds-multiselect__trigger-text--placeholder': !hasSelections || (this.selectedDisplay === 'pill' && this.pillPosition === 'below'),
|
|
1282
|
-
} }, this.getTriggerText()), h("pds-icon", { "aria-hidden": "true", class: "pds-multiselect__icon", icon: enlarge }))), this.renderDropdown()), this.selectedDisplay === 'pill' && this.pillPosition === 'below' && this.renderBelowPills(), h("span", { key: '
|
|
1288
|
+
} }, this.getTriggerText()), h("pds-icon", { "aria-hidden": "true", class: "pds-multiselect__icon", icon: enlarge }))), this.renderDropdown()), this.selectedDisplay === 'pill' && this.pillPosition === 'below' && this.renderBelowPills(), h("span", { key: '590045e4769812a1a2f7a97580d21d95dbe4e872', class: "visually-hidden", "aria-live": "polite", "aria-atomic": "true" }, this.removalAnnouncement), this.helperMessage && !(this.errorMessage && this.errorMessage.length > 0) && (h("p", { key: '419f4349b7cb17260f03d2bdcfd777561a62de42', class: "pds-multiselect__helper", id: messageId(this.componentId, 'helper') }, this.helperMessage)), this.errorMessage && (h("p", { key: 'b922af14c83348607aa9aaaefe9b03b39e71bd42', class: "pds-multiselect__error", id: messageId(this.componentId, 'error') }, h("pds-icon", { key: 'bd08726adf14a42f2ecf0cdfcd390e5639f9fd96', "aria-hidden": "true", icon: danger, size: "small" }), this.errorMessage)), h("div", { key: '42ad7905fb1816ccdd29b6aa438779929804b368', style: { display: 'none' } }, h("slot", { key: '4f3bf380e93d216790efb0a5de85d6479862350e' })))));
|
|
1283
1289
|
}
|
|
1284
1290
|
static get is() { return "pds-multiselect"; }
|
|
1285
1291
|
static get encapsulation() { return "shadow"; }
|