@pine-ds/core 4.10.0 → 4.12.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/aria-references.js +1 -0
- package/components/attributes.js +1 -1
- package/components/index2.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 +2 -2
- package/components/pds-copytext.js +1 -1
- package/components/pds-datepicker.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-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-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-radio-group.js +1 -1
- package/components/pds-radio.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-table.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/sortable-label.js +1 -0
- package/components/truncation-tooltip.js +1 -1
- package/dist/cjs/aria-references-CUmqibnO.js +54 -0
- package/dist/cjs/{attributes-CW49XqaL.js → attributes-Cgbkw6gO.js} +3 -0
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/pds-alert.cjs.entry.js +2 -2
- package/dist/cjs/pds-avatar.cjs.entry.js +3 -2
- package/dist/cjs/pds-box.cjs.entry.js +4 -3
- package/dist/cjs/pds-button.cjs.entry.js +25 -45
- package/dist/cjs/pds-checkbox.cjs.entry.js +4 -4
- package/dist/cjs/pds-chip.cjs.entry.js +3 -3
- package/dist/cjs/pds-combobox.cjs.entry.js +246 -106
- package/dist/cjs/pds-copytext.cjs.entry.js +3 -3
- package/dist/cjs/pds-datepicker.cjs.entry.js +295 -82
- package/dist/cjs/pds-drawer-content.cjs.entry.js +1 -1
- package/dist/cjs/pds-drawer-footer.cjs.entry.js +1 -1
- package/dist/cjs/pds-drawer-header.cjs.entry.js +1 -1
- package/dist/cjs/pds-drawer.cjs.entry.js +5 -7
- package/dist/cjs/pds-dropdown-menu-item.cjs.entry.js +85 -49
- package/dist/cjs/pds-dropdown-menu-separator.cjs.entry.js +2 -2
- package/dist/cjs/pds-dropdown-menu.cjs.entry.js +83 -10
- package/dist/cjs/pds-filter.cjs.entry.js +24 -2
- package/dist/cjs/pds-image.cjs.entry.js +148 -6
- package/dist/cjs/pds-input.cjs.entry.js +4 -4
- package/dist/cjs/pds-link.cjs.entry.js +4 -5
- package/dist/cjs/pds-loader.cjs.entry.js +4 -3
- package/dist/cjs/pds-modal-footer.cjs.entry.js +1 -1
- package/dist/cjs/pds-modal-header.cjs.entry.js +1 -1
- package/dist/cjs/pds-modal.cjs.entry.js +9 -12
- package/dist/cjs/pds-multiselect.cjs.entry.js +64 -18
- package/dist/cjs/pds-popover.cjs.entry.js +8 -6
- package/dist/cjs/pds-progress.cjs.entry.js +3 -3
- package/dist/cjs/pds-radio-group.cjs.entry.js +4 -4
- package/dist/cjs/pds-radio.cjs.entry.js +6 -6
- package/dist/cjs/pds-row.cjs.entry.js +1 -1
- package/dist/cjs/pds-select.cjs.entry.js +2 -2
- package/dist/cjs/pds-sortable-item.cjs.entry.js +28 -5
- package/dist/cjs/pds-sortable.cjs.entry.js +356 -4
- package/dist/cjs/pds-switch.cjs.entry.js +92 -15
- package/dist/cjs/pds-tab.cjs.entry.js +1 -1
- package/dist/cjs/pds-table-body.cjs.entry.js +1 -1
- package/dist/cjs/pds-table-cell.cjs.entry.js +24 -5
- package/dist/cjs/pds-table-head-cell.cjs.entry.js +59 -11
- package/dist/cjs/pds-table-head.cjs.entry.js +1 -1
- package/dist/cjs/pds-table-row.cjs.entry.js +1 -1
- package/dist/cjs/pds-table.cjs.entry.js +260 -5
- package/dist/cjs/pds-tabpanel.cjs.entry.js +1 -1
- package/dist/cjs/pds-tabs.cjs.entry.js +3 -3
- package/dist/cjs/pds-text.cjs.entry.js +5 -3
- package/dist/cjs/pds-textarea.cjs.entry.js +8 -7
- package/dist/cjs/pds-toast.cjs.entry.js +8 -4
- package/dist/cjs/pds-tooltip.cjs.entry.js +1 -1
- package/dist/cjs/pine-core.cjs.js +1 -1
- package/dist/cjs/sortable-label-DOcJrHvA.js +37 -0
- package/dist/cjs/{truncation-tooltip-Bikp7n9I.js → truncation-tooltip-CM5HgRHh.js} +69 -0
- package/dist/collection/components/pds-alert/pds-alert.css +0 -3
- package/dist/collection/components/pds-alert/pds-alert.js +3 -2
- package/dist/collection/components/pds-avatar/pds-avatar.js +7 -6
- package/dist/collection/components/pds-avatar/stories/pds-avatar.stories.js +1 -1
- package/dist/collection/components/pds-box/pds-box.css +1273 -1189
- package/dist/collection/components/pds-box/pds-box.js +180 -156
- package/dist/collection/components/pds-box/stories/pds-box.stories.js +79 -37
- package/dist/collection/components/pds-button/pds-button.js +26 -4
- package/dist/collection/components/pds-button/stories/pds-button.stories.js +25 -11
- package/dist/collection/components/pds-checkbox/pds-checkbox.js +10 -10
- package/dist/collection/components/pds-chip/pds-chip.js +3 -3
- package/dist/collection/components/pds-combobox/pds-combobox.css +162 -53
- package/dist/collection/components/pds-combobox/pds-combobox.js +261 -121
- package/dist/collection/components/pds-combobox/stories/pds-combobox.stories.js +35 -4
- package/dist/collection/components/pds-copytext/pds-copytext.js +2 -2
- package/dist/collection/components/pds-datepicker/date-utils.js +42 -0
- package/dist/collection/components/pds-datepicker/pds-datepicker.js +164 -65
- package/dist/collection/components/pds-datepicker/presets.js +42 -7
- package/dist/collection/components/pds-datepicker/stories/pds-datepicker.stories.js +11 -0
- package/dist/collection/components/pds-datepicker/value.js +76 -18
- package/dist/collection/components/pds-drawer/pds-drawer-content/pds-drawer-content.js +2 -5
- package/dist/collection/components/pds-drawer/pds-drawer-footer/pds-drawer-footer.js +2 -1
- package/dist/collection/components/pds-drawer/pds-drawer-header/pds-drawer-header.js +2 -1
- package/dist/collection/components/pds-drawer/pds-drawer.js +8 -10
- package/dist/collection/components/pds-dropdown-menu/pds-dropdown-menu-item/pds-dropdown-menu-item.css +17 -8
- package/dist/collection/components/pds-dropdown-menu/pds-dropdown-menu-item/pds-dropdown-menu-item.js +95 -62
- package/dist/collection/components/pds-dropdown-menu/pds-dropdown-menu-separator/pds-dropdown-menu-separator.js +3 -3
- package/dist/collection/components/pds-dropdown-menu/pds-dropdown-menu.css +2 -0
- package/dist/collection/components/pds-dropdown-menu/pds-dropdown-menu.js +84 -9
- package/dist/collection/components/pds-dropdown-menu/stories/pds-dropdown-menu.stories.js +24 -1
- package/dist/collection/components/pds-filters/pds-filter/pds-filter.css +2 -1
- package/dist/collection/components/pds-filters/pds-filter/pds-filter.js +24 -7
- package/dist/collection/components/pds-image/image-interface.js +1 -0
- package/dist/collection/components/pds-image/pds-image.css +11 -0
- package/dist/collection/components/pds-image/pds-image.js +249 -8
- package/dist/collection/components/pds-image/stories/pds-image.stories.js +117 -1
- package/dist/collection/components/pds-input/pds-input.js +14 -9
- package/dist/collection/components/pds-link/pds-link.js +10 -14
- package/dist/collection/components/pds-link/stories/pds-link.stories.js +6 -2
- package/dist/collection/components/pds-loader/pds-loader.js +5 -4
- package/dist/collection/components/pds-modal/pds-modal-footer/pds-modal-footer.js +2 -1
- package/dist/collection/components/pds-modal/pds-modal-header/pds-modal-header.js +2 -1
- package/dist/collection/components/pds-modal/pds-modal.js +11 -13
- package/dist/collection/components/pds-modal/stories/pds-modal.stories.js +7 -7
- package/dist/collection/components/pds-multiselect/pds-multiselect.css +2 -2
- package/dist/collection/components/pds-multiselect/pds-multiselect.js +63 -18
- package/dist/collection/components/pds-popover/pds-popover.css +1 -1
- package/dist/collection/components/pds-popover/pds-popover.js +9 -7
- package/dist/collection/components/pds-progress/pds-progress.js +4 -4
- package/dist/collection/components/pds-radio/pds-radio.css +5 -1
- package/dist/collection/components/pds-radio/pds-radio.js +9 -9
- package/dist/collection/components/pds-radio/stories/pds-radio.stories.js +9 -9
- package/dist/collection/components/pds-radio-group/pds-radio-group.js +7 -7
- package/dist/collection/components/pds-radio-group/stories/pds-radio-group.stories.js +3 -3
- package/dist/collection/components/pds-row/stories/pds-row.stories.js +15 -14
- package/dist/collection/components/pds-select/pds-select.js +7 -4
- package/dist/collection/components/pds-sortable/pds-sortable-item/pds-sortable-item.css +38 -0
- package/dist/collection/components/pds-sortable/pds-sortable-item/pds-sortable-item.js +47 -5
- package/dist/collection/components/pds-sortable/pds-sortable.js +481 -5
- package/dist/collection/components/pds-sortable/sortable-label.js +33 -0
- package/dist/collection/components/pds-sortable/stories/pds-sortable.stories.js +27 -0
- package/dist/collection/components/pds-switch/pds-switch.js +114 -17
- package/dist/collection/components/pds-switch/stories/pds-switch.stories.js +79 -0
- package/dist/collection/components/pds-table/pds-table-body/pds-table-body.js +4 -1
- package/dist/collection/components/pds-table/pds-table-cell/pds-table-cell.js +47 -4
- package/dist/collection/components/pds-table/pds-table-head/pds-table-head.js +6 -2
- package/dist/collection/components/pds-table/pds-table-head-cell/pds-table-head-cell.css +11 -0
- package/dist/collection/components/pds-table/pds-table-head-cell/pds-table-head-cell.js +98 -10
- package/dist/collection/components/pds-table/pds-table-row/pds-table-row.js +5 -1
- package/dist/collection/components/pds-table/pds-table.css +8 -0
- package/dist/collection/components/pds-table/pds-table.js +295 -7
- package/dist/collection/components/pds-table/stories/pds-table.stories.js +131 -6
- package/dist/collection/components/pds-tabs/pds-tabs.js +3 -3
- package/dist/collection/components/pds-tabs/stories/pds-tabs.stories.js +1 -1
- package/dist/collection/components/pds-text/pds-text.js +5 -3
- package/dist/collection/components/pds-textarea/pds-textarea.js +16 -14
- package/dist/collection/components/pds-textarea/stories/pds-textarea.stories.js +2 -13
- package/dist/collection/components/pds-toast/pds-toast.css +4 -3
- package/dist/collection/components/pds-toast/pds-toast.js +9 -5
- package/dist/collection/components/pds-toast/stories/pds-toast.stories.js +2 -2
- package/dist/collection/components/pds-tooltip/pds-tooltip.css +2 -1
- package/dist/collection/components/pds-tooltip/stories/pds-tooltip.stories.js +17 -17
- package/dist/collection/utils/aria-references.js +9 -3
- package/dist/collection/utils/truncation-tooltip.js +67 -0
- package/dist/docs.json +1150 -371
- package/dist/esm/aria-references-CNn1lObg.js +50 -0
- package/dist/esm/{attributes-DkeVeN0g.js → attributes-CD8knu3a.js} +3 -0
- package/dist/esm/{index-DvN3tyZp.js → index-B0DXTeeV.js} +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/esm/pds-accordion.entry.js +1 -1
- package/dist/esm/pds-alert.entry.js +2 -2
- package/dist/esm/pds-avatar.entry.js +4 -3
- package/dist/esm/pds-box.entry.js +4 -3
- package/dist/esm/pds-button.entry.js +24 -44
- package/dist/esm/pds-checkbox.entry.js +5 -5
- package/dist/esm/pds-chip.entry.js +4 -4
- package/dist/esm/pds-combobox.entry.js +246 -106
- package/dist/esm/pds-copytext.entry.js +4 -4
- package/dist/esm/pds-datepicker.entry.js +296 -83
- package/dist/esm/pds-drawer-content.entry.js +1 -1
- package/dist/esm/pds-drawer-footer.entry.js +1 -1
- package/dist/esm/pds-drawer-header.entry.js +1 -1
- package/dist/esm/pds-drawer.entry.js +5 -7
- package/dist/esm/pds-dropdown-menu-item.entry.js +85 -49
- package/dist/esm/pds-dropdown-menu-separator.entry.js +2 -2
- package/dist/esm/pds-dropdown-menu.entry.js +84 -11
- package/dist/esm/pds-filter.entry.js +25 -3
- package/dist/esm/pds-image.entry.js +149 -7
- package/dist/esm/pds-input.entry.js +5 -5
- package/dist/esm/pds-link.entry.js +5 -6
- package/dist/esm/pds-loader.entry.js +4 -3
- package/dist/esm/pds-modal-footer.entry.js +1 -1
- package/dist/esm/pds-modal-header.entry.js +1 -1
- package/dist/esm/pds-modal.entry.js +9 -12
- package/dist/esm/pds-multiselect.entry.js +65 -19
- package/dist/esm/pds-popover.entry.js +8 -6
- package/dist/esm/pds-progress.entry.js +3 -3
- package/dist/esm/pds-radio-group.entry.js +5 -5
- package/dist/esm/pds-radio.entry.js +7 -7
- package/dist/esm/pds-row.entry.js +1 -1
- package/dist/esm/pds-select.entry.js +3 -3
- package/dist/esm/pds-sortable-item.entry.js +29 -6
- package/dist/esm/pds-sortable.entry.js +357 -5
- package/dist/esm/pds-switch.entry.js +94 -17
- package/dist/esm/pds-tab.entry.js +1 -1
- package/dist/esm/pds-table-body.entry.js +1 -1
- package/dist/esm/pds-table-cell.entry.js +24 -5
- package/dist/esm/pds-table-head-cell.entry.js +60 -12
- package/dist/esm/pds-table-head.entry.js +1 -1
- package/dist/esm/pds-table-row.entry.js +1 -1
- package/dist/esm/pds-table.entry.js +261 -6
- package/dist/esm/pds-tabpanel.entry.js +1 -1
- package/dist/esm/pds-tabs.entry.js +3 -3
- package/dist/esm/pds-text.entry.js +5 -3
- package/dist/esm/pds-textarea.entry.js +9 -8
- package/dist/esm/pds-toast.entry.js +8 -4
- package/dist/esm/pds-tooltip.entry.js +1 -1
- package/dist/esm/pine-core.js +1 -1
- package/dist/esm/sortable-label-PItnzVVR.js +35 -0
- package/dist/esm/{truncation-tooltip-DBcPipr9.js → truncation-tooltip-CkIWm6Z-.js} +68 -1
- package/dist/esm-es5/aria-references-CNn1lObg.js +1 -0
- package/dist/esm-es5/{attributes-DkeVeN0g.js → attributes-CD8knu3a.js} +1 -1
- package/dist/esm-es5/{index-DvN3tyZp.js → index-B0DXTeeV.js} +1 -1
- package/dist/esm-es5/loader.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 +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-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-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-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-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/sortable-label-PItnzVVR.js +1 -0
- package/dist/esm-es5/truncation-tooltip-CkIWm6Z-.js +1 -0
- package/dist/pine-core/{p-f834cb07.system.entry.js → p-00891b8d.system.entry.js} +1 -1
- package/dist/pine-core/{p-3f8bd3fb.system.entry.js → p-053ff8eb.system.entry.js} +1 -1
- package/dist/pine-core/p-08b9e3ad.entry.js +1 -0
- package/dist/pine-core/{p-4d98bc0c.system.entry.js → p-0a7570dd.system.entry.js} +1 -1
- package/dist/pine-core/{p-d018dc60.system.entry.js → p-0ac4262e.system.entry.js} +1 -1
- package/dist/pine-core/{p-89d38a82.system.entry.js → p-0e1b8bd1.system.entry.js} +1 -1
- package/dist/pine-core/{p-e1d1b5d8.entry.js → p-12fdc65f.entry.js} +1 -1
- package/dist/pine-core/{p-d48fe5a0.system.entry.js → p-16fceef6.system.entry.js} +1 -1
- package/dist/pine-core/p-1765a41b.system.entry.js +1 -0
- package/dist/pine-core/{p-a594c41f.entry.js → p-18524c25.entry.js} +1 -1
- package/dist/pine-core/p-1a013a5c.system.entry.js +1 -0
- package/dist/pine-core/{p-2b9622c1.system.entry.js → p-1ab52531.system.entry.js} +1 -1
- package/dist/pine-core/p-1c584a20.entry.js +1 -0
- package/dist/pine-core/p-1edef412.entry.js +1 -0
- package/dist/pine-core/{p-5946203c.entry.js → p-1f998e3e.entry.js} +1 -1
- package/dist/pine-core/{p-39e57657.entry.js → p-1fb1ca3d.entry.js} +1 -1
- package/dist/pine-core/p-2b6becc2.entry.js +1 -0
- package/dist/pine-core/p-2cc7c682.entry.js +1 -0
- package/dist/pine-core/{p-639acef8.system.entry.js → p-2ddcd845.system.entry.js} +1 -1
- package/dist/pine-core/{p-6a1aa8d3.entry.js → p-2f15e85f.entry.js} +1 -1
- package/dist/pine-core/{p-67f795d5.system.entry.js → p-33da254f.system.entry.js} +1 -1
- package/dist/pine-core/{p-c6a9e62c.system.entry.js → p-3fc9ef80.system.entry.js} +1 -1
- package/dist/pine-core/p-4125a4a6.system.entry.js +1 -0
- package/dist/pine-core/p-47df9e9f.system.entry.js +3 -0
- package/dist/pine-core/p-51680c9c.system.entry.js +1 -0
- package/dist/pine-core/p-55535481.system.entry.js +1 -0
- package/dist/pine-core/p-55a4659a.system.entry.js +1 -0
- package/dist/pine-core/{p-c5e1eb3c.system.entry.js → p-57af5c29.system.entry.js} +1 -1
- package/dist/pine-core/p-57edd301.system.entry.js +1 -0
- package/dist/pine-core/{p-bfa34194.entry.js → p-5d582798.entry.js} +1 -1
- package/dist/pine-core/p-5db87fda.system.entry.js +1 -0
- package/dist/pine-core/{p-19cf1d91.system.entry.js → p-5eb0c78c.system.entry.js} +1 -1
- package/dist/pine-core/{p-42f70f93.system.entry.js → p-6017afb5.system.entry.js} +1 -1
- package/dist/pine-core/{p-63f85859.system.entry.js → p-60e65fe0.system.entry.js} +1 -1
- package/dist/pine-core/{p-973c3ac0.entry.js → p-627a94da.entry.js} +1 -1
- package/dist/pine-core/{p-a9d96e22.entry.js → p-68328afc.entry.js} +1 -1
- package/dist/pine-core/{p-bd7dc317.system.entry.js → p-72668673.system.entry.js} +1 -1
- package/dist/pine-core/p-72ff5ad2.system.entry.js +1 -0
- package/dist/pine-core/p-736ea7dd.entry.js +7 -0
- package/dist/pine-core/p-765f4207.entry.js +1 -0
- package/dist/pine-core/{p-2a18852f.entry.js → p-77530cf2.entry.js} +1 -1
- package/dist/pine-core/p-77a22399.entry.js +1 -0
- package/dist/pine-core/p-783127bf.entry.js +1 -0
- package/dist/pine-core/{p-d9719e37.entry.js → p-82f7eed1.entry.js} +1 -1
- package/dist/pine-core/{p-124a0a24.entry.js → p-84d4ae26.entry.js} +1 -1
- package/dist/pine-core/p-8deeda07.entry.js +1 -0
- package/dist/pine-core/{p-849ec281.system.entry.js → p-8e17a6d8.system.entry.js} +1 -1
- package/dist/pine-core/p-8e7e7bba.entry.js +1 -0
- package/dist/pine-core/{p-e82f758f.system.entry.js → p-907c69e9.system.entry.js} +1 -1
- package/dist/pine-core/{p-1415c988.system.entry.js → p-90f83a5b.system.entry.js} +1 -1
- package/dist/pine-core/p-97145eee.system.entry.js +1 -0
- package/dist/pine-core/{p-a09c9c5e.system.entry.js → p-9d983e09.system.entry.js} +1 -1
- package/dist/pine-core/{p-1e3ef425.entry.js → p-9e005996.entry.js} +1 -1
- package/dist/pine-core/{p-DvN3tyZp.js → p-B0DXTeeV.js} +1 -1
- package/dist/pine-core/{p-CNXspDYs.system.js → p-BlJQebvG.system.js} +1 -1
- package/dist/pine-core/p-C35-349-.system.js +1 -0
- package/dist/pine-core/{p-vFsJv75D.system.js → p-CIe1DGXa.system.js} +1 -1
- package/dist/pine-core/p-CNn1lObg.js +1 -0
- package/dist/pine-core/p-CQJ44c6o.system.js +1 -0
- package/dist/pine-core/p-Dv9QBmIF.js +1 -0
- package/dist/pine-core/p-PItnzVVR.js +1 -0
- package/dist/pine-core/p-VPGVqK3P.system.js +1 -0
- package/dist/pine-core/p-XK45dzWR.system.js +1 -1
- package/dist/pine-core/p-a149af29.entry.js +1 -0
- package/dist/pine-core/p-a20d9eca.system.entry.js +1 -0
- package/dist/pine-core/{p-f6f4fd42.entry.js → p-a5782d99.entry.js} +1 -1
- package/dist/pine-core/p-a5e9c583.entry.js +1 -0
- package/dist/pine-core/{p-4d47023c.system.entry.js → p-a9eaf160.system.entry.js} +1 -1
- package/dist/pine-core/{p-143b33a6.entry.js → p-b00b07e3.entry.js} +1 -1
- package/dist/pine-core/{p-c7a53c4f.entry.js → p-b7b29392.entry.js} +1 -1
- package/dist/pine-core/p-b96bdff6.entry.js +1 -0
- package/dist/pine-core/{p-f71d71ca.entry.js → p-bbd9ab75.entry.js} +1 -1
- package/dist/pine-core/p-bdab6c9f.entry.js +1 -0
- package/dist/pine-core/p-biShcgLI.js +1 -0
- package/dist/pine-core/{p-548bce53.system.entry.js → p-c12b5cd7.system.entry.js} +1 -1
- package/dist/pine-core/p-c1dc7692.entry.js +1 -0
- package/dist/pine-core/p-c76d8b9e.system.entry.js +1 -0
- package/dist/pine-core/{p-590df41a.entry.js → p-c89ea2d3.entry.js} +1 -1
- package/dist/pine-core/{p-d920d759.system.entry.js → p-c9630934.system.entry.js} +1 -1
- package/dist/pine-core/{p-6f4ab1ea.system.entry.js → p-cb9227f6.system.entry.js} +1 -1
- package/dist/pine-core/p-ceef0eb1.entry.js +1 -0
- package/dist/pine-core/p-d1283e8d.entry.js +1 -0
- package/dist/pine-core/p-d676926d.system.entry.js +1 -0
- package/dist/pine-core/{p-61cfdbb2.entry.js → p-d7d7a4e1.entry.js} +1 -1
- package/dist/pine-core/p-d85d50cb.entry.js +1 -0
- package/dist/pine-core/p-daa802f1.entry.js +2 -0
- package/dist/pine-core/p-ddf4b9b5.system.entry.js +1 -0
- package/dist/pine-core/p-de3b319e.system.entry.js +8 -0
- package/dist/pine-core/{p-cb9baf78.system.entry.js → p-e00777da.system.entry.js} +1 -1
- package/dist/pine-core/p-e2541eeb.entry.js +1 -0
- package/dist/pine-core/{p-01f1cdaf.system.entry.js → p-e2a1a49a.system.entry.js} +1 -1
- package/dist/pine-core/p-e4ebea88.system.entry.js +1 -0
- package/dist/pine-core/{p-947582e1.entry.js → p-e554bd64.entry.js} +1 -1
- package/dist/pine-core/{p-dd7ded84.entry.js → p-e6427c87.entry.js} +1 -1
- package/dist/pine-core/{p-50ddadbf.entry.js → p-e72e8b8f.entry.js} +1 -1
- package/dist/pine-core/p-e92d0f0f.system.entry.js +1 -0
- package/dist/pine-core/{p-9b32727a.system.entry.js → p-eab165b9.system.entry.js} +1 -1
- package/dist/pine-core/p-eabc4bd8.entry.js +1 -0
- package/dist/pine-core/p-ef9f84f2.system.entry.js +1 -0
- package/dist/pine-core/{p-c9ae7964.entry.js → p-f026af73.entry.js} +1 -1
- package/dist/pine-core/{p-99530cb5.entry.js → p-f0509c8e.entry.js} +1 -1
- package/dist/pine-core/p-f1252e72.system.entry.js +1 -0
- package/dist/pine-core/p-f3496fd1.entry.js +1 -0
- package/dist/pine-core/{p-eecd9ad8.system.entry.js → p-f90f4be7.system.entry.js} +1 -1
- package/dist/pine-core/p-f9bdaadd.system.entry.js +1 -0
- package/dist/pine-core/{p-128c04e7.entry.js → p-fda791df.entry.js} +1 -1
- package/dist/pine-core/p-fea4296d.entry.js +1 -0
- package/dist/pine-core/pine-core.esm.js +1 -1
- package/dist/types/components/pds-alert/pds-alert.d.ts +2 -1
- package/dist/types/components/pds-avatar/pds-avatar.d.ts +5 -4
- package/dist/types/components/pds-box/pds-box.d.ts +68 -57
- package/dist/types/components/pds-button/pds-button.d.ts +14 -3
- package/dist/types/components/pds-checkbox/pds-checkbox.d.ts +15 -8
- package/dist/types/components/pds-chip/pds-chip.d.ts +2 -2
- package/dist/types/components/pds-combobox/pds-combobox.d.ts +48 -11
- package/dist/types/components/pds-copytext/pds-copytext.d.ts +3 -1
- package/dist/types/components/pds-datepicker/date-utils.d.ts +19 -0
- package/dist/types/components/pds-datepicker/datepicker-interface.d.ts +22 -5
- package/dist/types/components/pds-datepicker/pds-datepicker.d.ts +33 -7
- package/dist/types/components/pds-datepicker/presets.d.ts +3 -2
- package/dist/types/components/pds-datepicker/value.d.ts +14 -2
- package/dist/types/components/pds-drawer/pds-drawer-content/pds-drawer-content.d.ts +1 -4
- package/dist/types/components/pds-drawer/pds-drawer-footer/pds-drawer-footer.d.ts +1 -0
- package/dist/types/components/pds-drawer/pds-drawer-header/pds-drawer-header.d.ts +1 -0
- package/dist/types/components/pds-drawer/pds-drawer.d.ts +4 -6
- package/dist/types/components/pds-dropdown-menu/pds-dropdown-menu-item/pds-dropdown-menu-item.d.ts +20 -16
- package/dist/types/components/pds-dropdown-menu/pds-dropdown-menu-separator/pds-dropdown-menu-separator.d.ts +1 -1
- package/dist/types/components/pds-dropdown-menu/pds-dropdown-menu.d.ts +7 -0
- package/dist/types/components/pds-filters/pds-filter/pds-filter.d.ts +6 -5
- package/dist/types/components/pds-image/image-interface.d.ts +12 -0
- package/dist/types/components/pds-image/pds-image.d.ts +69 -9
- package/dist/types/components/pds-input/pds-input.d.ts +17 -7
- package/dist/types/components/pds-link/pds-link.d.ts +8 -8
- package/dist/types/components/pds-loader/pds-loader.d.ts +3 -2
- package/dist/types/components/pds-modal/pds-modal-footer/pds-modal-footer.d.ts +1 -0
- package/dist/types/components/pds-modal/pds-modal-header/pds-modal-header.d.ts +1 -0
- package/dist/types/components/pds-modal/pds-modal.d.ts +7 -9
- package/dist/types/components/pds-multiselect/pds-multiselect.d.ts +14 -8
- package/dist/types/components/pds-popover/pds-popover.d.ts +2 -2
- package/dist/types/components/pds-progress/pds-progress.d.ts +2 -2
- package/dist/types/components/pds-radio/pds-radio.d.ts +6 -5
- package/dist/types/components/pds-radio-group/pds-radio-group.d.ts +5 -4
- package/dist/types/components/pds-select/pds-select.d.ts +9 -3
- package/dist/types/components/pds-sortable/pds-sortable-item/pds-sortable-item.d.ts +8 -2
- package/dist/types/components/pds-sortable/pds-sortable.d.ts +82 -1
- package/dist/types/components/pds-sortable/sortable-label.d.ts +7 -0
- package/dist/types/components/pds-switch/pds-switch.d.ts +17 -2
- package/dist/types/components/pds-table/pds-table-body/pds-table-body.d.ts +3 -0
- package/dist/types/components/pds-table/pds-table-cell/pds-table-cell.d.ts +10 -0
- package/dist/types/components/pds-table/pds-table-head/pds-table-head.d.ts +5 -1
- package/dist/types/components/pds-table/pds-table-head-cell/pds-table-head-cell.d.ts +21 -0
- package/dist/types/components/pds-table/pds-table-row/pds-table-row.d.ts +4 -0
- package/dist/types/components/pds-table/pds-table.d.ts +76 -2
- package/dist/types/components/pds-tabs/pds-tabs.d.ts +1 -1
- package/dist/types/components/pds-textarea/pds-textarea.d.ts +15 -13
- package/dist/types/components/pds-toast/pds-toast.d.ts +5 -1
- package/dist/types/components.d.ts +505 -335
- package/dist/types/utils/aria-references.d.ts +4 -0
- package/dist/types/utils/truncation-tooltip.d.ts +39 -0
- package/dist/types/utils/types.d.ts +3 -0
- package/dist/vscode.html-data.json +350 -137
- package/hydrate/index.js +2054 -427
- package/hydrate/index.mjs +2054 -427
- package/package.json +3 -3
- package/readme.md +26 -55
- package/dist/esm-es5/truncation-tooltip-DBcPipr9.js +0 -1
- package/dist/pine-core/p-07323107.entry.js +0 -1
- package/dist/pine-core/p-08b8e941.entry.js +0 -1
- package/dist/pine-core/p-0b7b3fc2.system.entry.js +0 -3
- package/dist/pine-core/p-0d5f0ab5.system.entry.js +0 -1
- package/dist/pine-core/p-14dedf01.system.entry.js +0 -1
- package/dist/pine-core/p-1ca8d183.entry.js +0 -1
- package/dist/pine-core/p-1f62bb71.entry.js +0 -7
- package/dist/pine-core/p-2dd30d12.entry.js +0 -1
- package/dist/pine-core/p-35s7h-dk.js +0 -1
- package/dist/pine-core/p-3610cb3b.entry.js +0 -1
- package/dist/pine-core/p-39276663.entry.js +0 -1
- package/dist/pine-core/p-3a1dc752.system.entry.js +0 -1
- package/dist/pine-core/p-42d43c3f.system.entry.js +0 -1
- package/dist/pine-core/p-4a90b9c8.system.entry.js +0 -1
- package/dist/pine-core/p-4cfe922b.entry.js +0 -1
- package/dist/pine-core/p-5f181694.system.entry.js +0 -1
- package/dist/pine-core/p-60a30975.system.entry.js +0 -1
- package/dist/pine-core/p-62aa6a78.system.entry.js +0 -1
- package/dist/pine-core/p-64bcb378.entry.js +0 -1
- package/dist/pine-core/p-724baba3.system.entry.js +0 -1
- package/dist/pine-core/p-72659a0e.system.entry.js +0 -1
- package/dist/pine-core/p-8436cbfb.entry.js +0 -1
- package/dist/pine-core/p-8ade17ce.entry.js +0 -1
- package/dist/pine-core/p-8e7f75e6.entry.js +0 -1
- package/dist/pine-core/p-8fb520df.entry.js +0 -1
- package/dist/pine-core/p-92115e88.entry.js +0 -1
- package/dist/pine-core/p-94c9b7d1.system.entry.js +0 -1
- package/dist/pine-core/p-97356d4b.entry.js +0 -1
- package/dist/pine-core/p-97653e60.entry.js +0 -1
- package/dist/pine-core/p-97b73359.entry.js +0 -1
- package/dist/pine-core/p-BZVUD2on.js +0 -1
- package/dist/pine-core/p-Dj-z_ugg.system.js +0 -1
- package/dist/pine-core/p-ad5208a4.system.entry.js +0 -1
- package/dist/pine-core/p-afc2f165.entry.js +0 -1
- package/dist/pine-core/p-bcc378ba.system.entry.js +0 -8
- package/dist/pine-core/p-c8a0b562.system.entry.js +0 -1
- package/dist/pine-core/p-d47b2a6a.system.entry.js +0 -1
- package/dist/pine-core/p-d6f338e0.entry.js +0 -1
- package/dist/pine-core/p-da8b864a.entry.js +0 -2
- package/dist/pine-core/p-db7fb5a3.entry.js +0 -1
- package/dist/pine-core/p-de455073.system.entry.js +0 -1
- package/dist/pine-core/p-e3de6a1d.entry.js +0 -1
- package/dist/pine-core/p-e84fa9ed.entry.js +0 -1
- package/dist/pine-core/p-eb4f0daa.system.entry.js +0 -1
- package/dist/pine-core/p-eb56af4a.system.entry.js +0 -1
- package/dist/pine-core/p-ef0eba9b.system.entry.js +0 -1
- package/dist/pine-core/p-f11cce27.system.entry.js +0 -1
- package/dist/pine-core/p-f354dbac.entry.js +0 -1
|
@@ -1,11 +1,11 @@
|
|
|
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
|
|
4
|
+
// Used when `externalLabel` is unset; an empty string makes the icon decorative instead.
|
|
5
5
|
const DEFAULT_EXTERNAL_LABEL = '(opens in a new tab)';
|
|
6
6
|
/**
|
|
7
7
|
* @part link - Link element styles.
|
|
8
|
-
* @slot (default) - Text content placed between the opening and closing tags. If
|
|
8
|
+
* @slot (default) - Text content placed between the opening and closing tags. If the slot is empty (whitespace counts as content), the **href** will be used as a fallback.
|
|
9
9
|
*/
|
|
10
10
|
export class PdsLink {
|
|
11
11
|
constructor() {
|
|
@@ -17,9 +17,8 @@ export class PdsLink {
|
|
|
17
17
|
*/
|
|
18
18
|
this.active = false;
|
|
19
19
|
/**
|
|
20
|
-
*
|
|
20
|
+
* Shows the external-link (launch) icon. Opens in a new tab unless `target` says otherwise.
|
|
21
21
|
* @defaultValue false
|
|
22
|
-
* @deprecated Consider using the `target` prop for more control. This prop will be maintained for backward compatibility.
|
|
23
22
|
*/
|
|
24
23
|
this.external = false;
|
|
25
24
|
/**
|
|
@@ -65,8 +64,8 @@ export class PdsLink {
|
|
|
65
64
|
// label is empty.
|
|
66
65
|
const externalLabel = (_a = this.externalLabel) !== null && _a !== void 0 ? _a : DEFAULT_EXTERNAL_LABEL;
|
|
67
66
|
const externalIconLabel = opensInNewTab && externalLabel !== '' ? externalLabel : undefined;
|
|
68
|
-
return (h("a", { key: '
|
|
69
|
-
h("pds-icon", { key: '
|
|
67
|
+
return (h("a", { key: '43d5871702d13430c5759b28887c146263e4ee0d', 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: '15552982e8f9ca7e8844f65e98f99df3101db8a5' }, this.href), showExternalIcon &&
|
|
68
|
+
h("pds-icon", { key: 'a4356792c73269a02397b543e1cc8b532ba3e690', icon: launch, size: this.fontSize, "aria-label": externalIconLabel, "aria-hidden": externalIconLabel === undefined ? 'true' : undefined })));
|
|
70
69
|
}
|
|
71
70
|
static get is() { return "pds-link"; }
|
|
72
71
|
static get encapsulation() { return "shadow"; }
|
|
@@ -176,11 +175,8 @@ export class PdsLink {
|
|
|
176
175
|
"tags": [{
|
|
177
176
|
"name": "defaultValue",
|
|
178
177
|
"text": "false"
|
|
179
|
-
}, {
|
|
180
|
-
"name": "deprecated",
|
|
181
|
-
"text": "Consider using the `target` prop for more control. This prop will be maintained for backward compatibility."
|
|
182
178
|
}],
|
|
183
|
-
"text": "
|
|
179
|
+
"text": "Shows the external-link (launch) icon. Opens in a new tab unless `target` says otherwise."
|
|
184
180
|
},
|
|
185
181
|
"getter": false,
|
|
186
182
|
"setter": false,
|
|
@@ -203,7 +199,7 @@ export class PdsLink {
|
|
|
203
199
|
"name": "defaultValue",
|
|
204
200
|
"text": "'(opens in a new tab)'"
|
|
205
201
|
}],
|
|
206
|
-
"text": "Accessible label for the icon that `external` shows, appended to the\nlink's name. It isn't announced when `target`
|
|
202
|
+
"text": "Accessible label for the icon that `external` shows, appended to the\nlink's name. It isn't announced when `target` is anything other than\n`_blank`. Pass a translated string to localize it; defaults to English. Pass an\nempty string to make the icon decorative."
|
|
207
203
|
},
|
|
208
204
|
"getter": false,
|
|
209
205
|
"setter": false,
|
|
@@ -226,9 +222,9 @@ export class PdsLink {
|
|
|
226
222
|
"text": "undefined"
|
|
227
223
|
}, {
|
|
228
224
|
"name": "example",
|
|
229
|
-
"text": "<pds-link href=\"
|
|
225
|
+
"text": "<pds-link href=\"/dashboard\" target=\"_top\">Opens in the top-level frame</pds-link>"
|
|
230
226
|
}],
|
|
231
|
-
"text": "Specifies where to open the linked document."
|
|
227
|
+
"text": "Specifies where to open the linked document. Overrides the new-tab\ndefault of `external`; the icon still shows."
|
|
232
228
|
},
|
|
233
229
|
"getter": false,
|
|
234
230
|
"setter": false,
|
|
@@ -293,7 +289,7 @@ export class PdsLink {
|
|
|
293
289
|
"optional": false,
|
|
294
290
|
"docs": {
|
|
295
291
|
"tags": [],
|
|
296
|
-
"text": "The hyperlink's destination URL. If
|
|
292
|
+
"text": "The hyperlink's destination URL. If the default slot is empty (whitespace counts as content), the href will be used as the link text."
|
|
297
293
|
},
|
|
298
294
|
"getter": false,
|
|
299
295
|
"setter": false,
|
|
@@ -4,6 +4,10 @@ import { ifDefined } from 'lit/directives/if-defined.js';
|
|
|
4
4
|
export default {
|
|
5
5
|
args: { href: '#some-anchor' },
|
|
6
6
|
argTypes: {
|
|
7
|
+
target: {
|
|
8
|
+
control: 'select',
|
|
9
|
+
options: [undefined, '_blank', '_self', '_parent', '_top'],
|
|
10
|
+
},
|
|
7
11
|
variant: {
|
|
8
12
|
control: 'radio',
|
|
9
13
|
options: ['inline', 'plain'],
|
|
@@ -13,8 +17,8 @@ export default {
|
|
|
13
17
|
title: 'components/Link'
|
|
14
18
|
}
|
|
15
19
|
|
|
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>`;
|
|
20
|
+
const BaseTemplate = (args) => html`<pds-link color=${args.color} ?external=${args.external} external-label=${ifDefined(args.externalLabel)} target=${ifDefined(args.target)} font-size=${args.fontSize} href=${args.href} component-id=${args.componentId} variant=${args.variant}></pds-link>`;
|
|
21
|
+
const BaseTemplateWithSlot = (args) => html` <pds-link color=${args.color} ?external=${args.external} external-label=${ifDefined(args.externalLabel)} target=${ifDefined(args.target)} font-size=${args.fontSize} href=${args.href} component-id=${args.componentId} variant=${args.variant}>${args.slot}</pds-link>`;
|
|
18
22
|
|
|
19
23
|
export const Colors = BaseTemplate.bind();
|
|
20
24
|
Colors.args = {
|
|
@@ -3,7 +3,7 @@ import { HostStylingKeeper } from "../../utils/attributes";
|
|
|
3
3
|
import { restoreReflectedDefault } from "../../utils/reflected-attribute-default";
|
|
4
4
|
/**
|
|
5
5
|
* @part loader-svg - Exposes the spinner SVG element for color customization.
|
|
6
|
-
* @slot label -
|
|
6
|
+
* @slot label - Label text. Defaults to "Loading...". Text outside this slot isn't shown or read.
|
|
7
7
|
*/
|
|
8
8
|
export class PdsLoader {
|
|
9
9
|
constructor() {
|
|
@@ -17,7 +17,8 @@ export class PdsLoader {
|
|
|
17
17
|
*/
|
|
18
18
|
this.showLabel = false;
|
|
19
19
|
/**
|
|
20
|
-
* Sets the size of the spinner loader
|
|
20
|
+
* Sets the size of the spinner loader: `xs` (24px), `sm` (32px), `md` (48px), `lg` (64px), `xl` (80px),
|
|
21
|
+
* or a custom CSS length such as `128px`. The `typing` variant ignores it.
|
|
21
22
|
*/
|
|
22
23
|
this.size = 'md';
|
|
23
24
|
/**
|
|
@@ -66,7 +67,7 @@ export class PdsLoader {
|
|
|
66
67
|
'aria-live': 'polite',
|
|
67
68
|
};
|
|
68
69
|
this.hostKeeper.record(hostClass, {}, hostAttributes);
|
|
69
|
-
return (h(Host, Object.assign({ key: '
|
|
70
|
+
return (h(Host, Object.assign({ key: '25f67dfddaf7b5e5947e1b9e97a3a3341fc4a9ca', class: hostClass }, hostAttributes), this.variant === 'spinner' && (h("div", { key: 'bea9dd77e189750aac17522ae227ada7b14f15e2', class: "pds-loader--spinner" }, h("svg", { key: 'ab4fc80a77459c8f24e3327ed7f15070f34dd4a4', style: this.getSvgStyle(), viewBox: "0 0 200 200", fill: "none", part: "loader-svg" }, h("defs", { key: '997df5cefd2dd832f5ea9251b5fc80c2ce84a9c5' }, h("linearGradient", { key: '92084cf660d2fabd0e7375cbfaf2f5d87f2aa628', id: "spinner-secondHalf" }, h("stop", { key: 'ad8d852e05684a7611d833e0305ed4bbd5ca35d0', offset: "0%", "stop-opacity": "0", "stop-color": "currentColor" }), h("stop", { key: '5664d937062006658a4aafe9b7e35131c9d34b75', offset: "100%", "stop-opacity": "0.5", "stop-color": "currentColor" })), h("linearGradient", { key: 'f7dfa63b3ffa1904596bb0ac8f41d45d6614c660', id: "spinner-firstHalf" }, h("stop", { key: 'ec7a496b42d4782c0e48126408b403ca3bfddd21', offset: "0%", "stop-opacity": "1", "stop-color": "currentColor" }), h("stop", { key: '87b44ef8885072cb41629e0c58419be7aa832ebd', offset: "100%", "stop-opacity": "0.5", "stop-color": "currentColor" }))), h("g", { key: 'f6ead61041e2f6d06886f0d93b89da36c498ee2d', class: "pds-loader__spinner-path" }, h("path", { key: '8c0dd0255f75c7cba65cfe752e4626e9381de461', stroke: "url(#spinner-secondHalf)", d: "M 4 100 A 96 96 0 0 1 196 100" }), h("path", { key: 'adb47eb99461bd721da58706930496d8a33101fa', stroke: "url(#spinner-firstHalf)", d: "M 196 100 A 96 96 0 0 1 4 100" }), h("path", { key: '67ec5d33f29a617c074479fd976c7f4cfc0c8530', stroke: "currentColor", "stroke-linecap": "round", d: "M 4 100 A 96 96 0 0 1 4 98" }))))), this.variant === 'typing' && (h("div", { key: 'be149ae7df72a5aeda1c4f064e35c1ec201426f8', class: "pds-loader--typing" }, h("span", { key: '6f35aa1230b6ef6c4dada525a0406fcb484068c3' }), h("span", { key: 'fa523ebab73e1f4d225c4252514b1aed57503441' }), h("span", { key: 'bd1df232b4ea00971581956cc6208c816ae91430' }))), h("div", { key: 'aee3c4b21ed5b4efd7c47056af042c0c1d296ed9', class: `pds-loader__label ${this.showLabel ? '' : 'pds-loader--hidden'}` }, h("slot", { key: '0655b2f83082a960c859b978f858bc1238f30ac6', name: "label" }, "Loading..."))));
|
|
70
71
|
}
|
|
71
72
|
static get is() { return "pds-loader"; }
|
|
72
73
|
static get encapsulation() { return "shadow"; }
|
|
@@ -134,7 +135,7 @@ export class PdsLoader {
|
|
|
134
135
|
"optional": true,
|
|
135
136
|
"docs": {
|
|
136
137
|
"tags": [],
|
|
137
|
-
"text": "Sets the size of the spinner loader
|
|
138
|
+
"text": "Sets the size of the spinner loader: `xs` (24px), `sm` (32px), `md` (48px), `lg` (64px), `xl` (80px),\nor a custom CSS length such as `128px`. The `typing` variant ignores it."
|
|
138
139
|
},
|
|
139
140
|
"getter": false,
|
|
140
141
|
"setter": false,
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { h } from "@stencil/core";
|
|
2
2
|
import { unwrapReconnectedContent } from "../../../utils/reconnected-content";
|
|
3
3
|
/**
|
|
4
|
+
* Holds the modal's actions. It adds no padding or layout, so wrap its content in a `pds-box` with `padding="md"`.
|
|
4
5
|
* @lightDom renders-markup
|
|
5
6
|
*/
|
|
6
7
|
export class PdsModalFooter {
|
|
@@ -9,7 +10,7 @@ export class PdsModalFooter {
|
|
|
9
10
|
unwrapReconnectedContent(this.el.querySelector('.pds-modal__footer'), '.pds-modal__footer');
|
|
10
11
|
}
|
|
11
12
|
render() {
|
|
12
|
-
return (h("footer", { key: '
|
|
13
|
+
return (h("footer", { key: '3ea8f3a2b955f75682f7ab212f4fc7b05a13cbba', class: "pds-modal__footer" }, h("slot", { key: 'e9e53c0d225e48ec1f271646907194421ab2bc68' })));
|
|
13
14
|
}
|
|
14
15
|
static get is() { return "pds-modal-footer"; }
|
|
15
16
|
static get originalStyleUrls() {
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { h } from "@stencil/core";
|
|
2
2
|
import { unwrapReconnectedContent } from "../../../utils/reconnected-content";
|
|
3
3
|
/**
|
|
4
|
+
* Holds the modal's title and close control. It adds no padding or layout, so wrap its content in a `pds-box` with `padding="md"`.
|
|
4
5
|
* @lightDom renders-markup
|
|
5
6
|
*/
|
|
6
7
|
export class PdsModalHeader {
|
|
@@ -9,7 +10,7 @@ export class PdsModalHeader {
|
|
|
9
10
|
unwrapReconnectedContent(this.el.querySelector('.pds-modal__header'), '.pds-modal__header');
|
|
10
11
|
}
|
|
11
12
|
render() {
|
|
12
|
-
return (h("header", { key: '
|
|
13
|
+
return (h("header", { key: '9778bdebb88711827eeb0268298e269b920999bd', class: "pds-modal__header" }, h("slot", { key: 'e806f49f030839540317cf524ec6058388606cc9' })));
|
|
13
14
|
}
|
|
14
15
|
static get is() { return "pds-modal-header"; }
|
|
15
16
|
static get originalStyleUrls() {
|
|
@@ -52,6 +52,7 @@ function deepActiveElement() {
|
|
|
52
52
|
}
|
|
53
53
|
/**
|
|
54
54
|
* @lightDom renders-markup
|
|
55
|
+
* @part modal - The panel inside the dialog that holds the modal's content. `pds-modal` has no shadow root, so `::part(modal)` doesn't match it; select it with `pds-modal [part="modal"]` instead.
|
|
55
56
|
*/
|
|
56
57
|
export class PdsModal {
|
|
57
58
|
constructor() {
|
|
@@ -90,15 +91,12 @@ export class PdsModal {
|
|
|
90
91
|
*/
|
|
91
92
|
this.disableTopLayer = false;
|
|
92
93
|
/**
|
|
93
|
-
* Whether to skip moving focus into the modal when it opens
|
|
94
|
-
*
|
|
95
|
-
*
|
|
96
|
-
*
|
|
97
|
-
*
|
|
98
|
-
*
|
|
99
|
-
* stealing focus on open can interrupt whatever the user was already
|
|
100
|
-
* doing. Default `false` preserves today's behavior for every existing
|
|
101
|
-
* consumer.
|
|
94
|
+
* Whether to skip moving focus into the modal when it opens. Set it for a
|
|
95
|
+
* modal that can open from a background event while the user is mid-task
|
|
96
|
+
* elsewhere on the page, where moving focus would interrupt them. Pair it
|
|
97
|
+
* with `disableTopLayer`: in the top layer the rest of the page is inert, so
|
|
98
|
+
* focus can't stay there. On close, focus moves back only if nothing outside
|
|
99
|
+
* the modal has taken it.
|
|
102
100
|
* @default false
|
|
103
101
|
*/
|
|
104
102
|
this.disableInitialFocus = false;
|
|
@@ -565,14 +563,14 @@ export class PdsModal {
|
|
|
565
563
|
}
|
|
566
564
|
render() {
|
|
567
565
|
const [sizeClass = 'md', customSize] = this.resolveSize();
|
|
568
|
-
return (h("dialog", { key: '
|
|
566
|
+
return (h("dialog", { key: '39f42306fff4fae51a9dffe86500a2c7e55cf8f5', class: {
|
|
569
567
|
'pds-modal__backdrop': true,
|
|
570
568
|
'open': this.open
|
|
571
|
-
}, "aria-modal": this.disableTopLayer ? 'false' : 'true', "aria-labelledby": `${this.componentId}-heading`, onClick: this.handleBackdropClick, onCancel: this.handleCancel }, h("div", { key: '
|
|
569
|
+
}, "aria-modal": this.disableTopLayer ? 'false' : 'true', "aria-labelledby": `${this.componentId}-heading`, onClick: this.handleBackdropClick, onCancel: this.handleCancel }, h("div", { key: 'baff708cc933457027074dda27ce440e7a65a0da', class: {
|
|
572
570
|
'pds-modal': true,
|
|
573
571
|
[`pds-modal--${sizeClass}`]: true,
|
|
574
572
|
'pds-modal--scrollable': this.scrollable
|
|
575
|
-
}, style: customSize !== undefined ? { '--pds-modal-max-width': customSize } : undefined, part: "modal" }, h("slot", { key: '
|
|
573
|
+
}, style: customSize !== undefined ? { '--pds-modal-max-width': customSize } : undefined, part: "modal" }, h("slot", { key: 'd752edad801a28fcd5b93aa50f52528255a319b8' }))));
|
|
576
574
|
}
|
|
577
575
|
static get is() { return "pds-modal"; }
|
|
578
576
|
static get originalStyleUrls() {
|
|
@@ -747,7 +745,7 @@ export class PdsModal {
|
|
|
747
745
|
"name": "default",
|
|
748
746
|
"text": "false"
|
|
749
747
|
}],
|
|
750
|
-
"text": "Whether to skip moving focus into the modal when it opens
|
|
748
|
+
"text": "Whether to skip moving focus into the modal when it opens. Set it for a\nmodal that can open from a background event while the user is mid-task\nelsewhere on the page, where moving focus would interrupt them. Pair it\nwith `disableTopLayer`: in the top layer the rest of the page is inert, so\nfocus can't stay there. On close, focus moves back only if nothing outside\nthe modal has taken it."
|
|
751
749
|
},
|
|
752
750
|
"getter": false,
|
|
753
751
|
"setter": false,
|
|
@@ -32,7 +32,7 @@ const BaseTemplate = (args) => html`
|
|
|
32
32
|
id="${args.componentId}"
|
|
33
33
|
component-id="${args.componentId}"
|
|
34
34
|
size="${args.size}"
|
|
35
|
-
|
|
35
|
+
backdrop-dismiss="${args.backdropDismiss}"
|
|
36
36
|
?disable-top-layer=${args.disableTopLayer}
|
|
37
37
|
scrollable="${args.scrollable}"
|
|
38
38
|
?open=${args.open}
|
|
@@ -113,7 +113,7 @@ const DestructiveTemplate = (args) => html`
|
|
|
113
113
|
id="${args.componentId}"
|
|
114
114
|
component-id="${args.componentId}"
|
|
115
115
|
size="${args.size}"
|
|
116
|
-
|
|
116
|
+
backdrop-dismiss="${args.backdropDismiss}"
|
|
117
117
|
?open=${args.open}
|
|
118
118
|
>
|
|
119
119
|
<pds-modal-header>
|
|
@@ -179,7 +179,7 @@ const CustomContentTemplate = (args) => html`
|
|
|
179
179
|
<pds-modal
|
|
180
180
|
id="${args.componentId}"
|
|
181
181
|
size="${args.size}"
|
|
182
|
-
|
|
182
|
+
backdrop-dismiss="${args.backdropDismiss}"
|
|
183
183
|
?open=${args.open}
|
|
184
184
|
>
|
|
185
185
|
|
|
@@ -267,7 +267,7 @@ const ScrollableTemplate = (args) => {
|
|
|
267
267
|
<pds-modal
|
|
268
268
|
id="${args.componentId}"
|
|
269
269
|
size="${args.size}"
|
|
270
|
-
|
|
270
|
+
backdrop-dismiss="${args.backdropDismiss}"
|
|
271
271
|
?open=${args.open}
|
|
272
272
|
>
|
|
273
273
|
<pds-modal-header>
|
|
@@ -350,7 +350,7 @@ const FullscreenTemplate = (args) => html`
|
|
|
350
350
|
<pds-modal
|
|
351
351
|
id="${args.componentId}"
|
|
352
352
|
size=${args.size}
|
|
353
|
-
|
|
353
|
+
backdrop-dismiss="${args.backdropDismiss}"
|
|
354
354
|
?open=${args.open}
|
|
355
355
|
>
|
|
356
356
|
<pds-modal-header>
|
|
@@ -437,7 +437,7 @@ const NonScrollableTemplate = (args) => html`
|
|
|
437
437
|
id="${args.componentId}"
|
|
438
438
|
component-id="${args.componentId}"
|
|
439
439
|
size="${args.size}"
|
|
440
|
-
|
|
440
|
+
backdrop-dismiss="${args.backdropDismiss}"
|
|
441
441
|
scrollable="${args.scrollable}"
|
|
442
442
|
?open=${args.open}
|
|
443
443
|
key="${args.scrollable ? 'scrollable' : 'non-scrollable'}"
|
|
@@ -683,7 +683,7 @@ const DisableTopLayerTemplate = (args) => html`
|
|
|
683
683
|
id="${args.componentId}"
|
|
684
684
|
component-id="${args.componentId}"
|
|
685
685
|
size="${args.size}"
|
|
686
|
-
|
|
686
|
+
backdrop-dismiss="${args.backdropDismiss}"
|
|
687
687
|
?disable-top-layer=${args.disableTopLayer}
|
|
688
688
|
?open=${args.open}
|
|
689
689
|
>
|
|
@@ -35,7 +35,7 @@
|
|
|
35
35
|
border-radius: var(--pine-dimension-125);
|
|
36
36
|
cursor: pointer;
|
|
37
37
|
display: flex;
|
|
38
|
-
font: var(--pine-typography-body
|
|
38
|
+
font: var(--pine-typography-body);
|
|
39
39
|
gap: var(--pine-dimension-xs);
|
|
40
40
|
justify-content: space-between;
|
|
41
41
|
letter-spacing: var(--pine-letter-spacing);
|
|
@@ -163,7 +163,7 @@
|
|
|
163
163
|
.pds-multiselect__search {
|
|
164
164
|
align-items: center;
|
|
165
165
|
border-block-end: var(--pine-border);
|
|
166
|
-
border-block-end-color: var(--pine-color-border-
|
|
166
|
+
border-block-end-color: var(--pine-color-border-active);
|
|
167
167
|
display: flex;
|
|
168
168
|
gap: var(--pine-dimension-xs);
|
|
169
169
|
padding: var(--pine-dimension-xs) var(--pine-dimension-sm);
|
|
@@ -4,6 +4,7 @@ import { cancelDebouncedEvent, debounceEvent, flushDebouncedEvent } from "../../
|
|
|
4
4
|
import { isSpecTest, messageId, assignDescription } from "../../utils/form";
|
|
5
5
|
import { danger, enlarge } from "@pine-ds/icons/icons";
|
|
6
6
|
import { formatMessage, pluralize } from "../../i18n";
|
|
7
|
+
import { bindTruncationTooltips } from "../../utils/truncation-tooltip";
|
|
7
8
|
// Names only: pds-icon's `icon` prop also fetches URLs and data: SVGs, unsanitized.
|
|
8
9
|
const PINE_ICON_NAME = /^[a-z0-9-]+$/i;
|
|
9
10
|
const TABBABLE_SELECTOR = 'a[href], button:not([disabled]), input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex="-1"])';
|
|
@@ -18,6 +19,21 @@ const TABBABLE_SELECTOR = 'a[href], button:not([disabled]), input:not([disabled]
|
|
|
18
19
|
*/
|
|
19
20
|
export class PdsMultiselect {
|
|
20
21
|
constructor() {
|
|
22
|
+
this.triggerTextTooltip = bindTruncationTooltips((textEl) => {
|
|
23
|
+
var _a;
|
|
24
|
+
return ({
|
|
25
|
+
// Not the host, which holds the panel.
|
|
26
|
+
hostEl: (_a = textEl.closest('[part="trigger"]')) !== null && _a !== void 0 ? _a : textEl,
|
|
27
|
+
contentEl: textEl,
|
|
28
|
+
getTooltipText: () => this.getTriggerText(),
|
|
29
|
+
manageTabIndex: false,
|
|
30
|
+
});
|
|
31
|
+
});
|
|
32
|
+
this.selectedItemTooltips = bindTruncationTooltips((item) => ({
|
|
33
|
+
hostEl: item,
|
|
34
|
+
contentEl: item,
|
|
35
|
+
getTooltipText: () => { var _a; return (_a = item.textContent) !== null && _a !== void 0 ? _a : ''; },
|
|
36
|
+
}));
|
|
21
37
|
this.hasDisabledSlottedTrigger = false;
|
|
22
38
|
/**
|
|
23
39
|
* Placeholder text for the input field. Pass a translated string to localize it; defaults to English.
|
|
@@ -294,34 +310,31 @@ export class PdsMultiselect {
|
|
|
294
310
|
}
|
|
295
311
|
// Escape is handled by the global @Listen('keydown') handler
|
|
296
312
|
case 'Tab': {
|
|
297
|
-
const
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
// Each option's checkbox is a tab stop, so jump past them to the footer.
|
|
313
|
+
const row = e.shiftKey ? undefined : this.getSelectedItemTabbables()[0];
|
|
314
|
+
if (row !== undefined) {
|
|
315
|
+
row.focus();
|
|
301
316
|
e.preventDefault();
|
|
302
317
|
}
|
|
303
318
|
else {
|
|
304
|
-
this.
|
|
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();
|
|
319
|
+
this.tabPastOptions(e);
|
|
311
320
|
}
|
|
312
321
|
break;
|
|
313
322
|
}
|
|
314
323
|
}
|
|
315
324
|
};
|
|
325
|
+
this.handleSelectedListKeyDown = (e) => {
|
|
326
|
+
if (e.key === 'Tab' && !e.shiftKey && e.composedPath()[0] === this.getSelectedItemTabbables().pop())
|
|
327
|
+
this.tabPastOptions(e);
|
|
328
|
+
};
|
|
316
329
|
this.handleFooterKeyDown = (e) => {
|
|
317
|
-
var _a;
|
|
330
|
+
var _a, _b;
|
|
318
331
|
if (e.key !== 'Tab')
|
|
319
332
|
return;
|
|
320
333
|
const tabbables = this.getFooterTabbables();
|
|
321
334
|
const focused = e.composedPath()[0];
|
|
322
335
|
if (e.shiftKey && focused === tabbables[0]) {
|
|
323
336
|
e.preventDefault();
|
|
324
|
-
(_a = this.searchInputEl) === null ||
|
|
337
|
+
(_b = ((_a = this.getSelectedItemTabbables().pop()) !== null && _a !== void 0 ? _a : this.searchInputEl)) === null || _b === void 0 ? void 0 : _b.focus();
|
|
325
338
|
}
|
|
326
339
|
else if (!e.shiftKey && focused === tabbables[tabbables.length - 1]) {
|
|
327
340
|
this.closeDropdown();
|
|
@@ -413,6 +426,7 @@ export class PdsMultiselect {
|
|
|
413
426
|
if (this.el.attachInternals && !this.internals) {
|
|
414
427
|
this.internals = this.el.attachInternals();
|
|
415
428
|
}
|
|
429
|
+
this.syncTruncationTooltips();
|
|
416
430
|
}
|
|
417
431
|
/**
|
|
418
432
|
* Form Associated Custom Elements API: Called when the form is disabled
|
|
@@ -461,8 +475,19 @@ export class PdsMultiselect {
|
|
|
461
475
|
this.updateOptionsFromSlot();
|
|
462
476
|
}
|
|
463
477
|
}
|
|
478
|
+
componentDidRender() {
|
|
479
|
+
this.syncTruncationTooltips();
|
|
480
|
+
}
|
|
481
|
+
syncTruncationTooltips() {
|
|
482
|
+
var _a;
|
|
483
|
+
const root = this.el.shadowRoot;
|
|
484
|
+
this.triggerTextTooltip.sync([root === null || root === void 0 ? void 0 : root.querySelector('.pds-multiselect__trigger-text')]);
|
|
485
|
+
this.selectedItemTooltips.sync((_a = root === null || root === void 0 ? void 0 : root.querySelectorAll('.pds-multiselect__selected-item')) !== null && _a !== void 0 ? _a : []);
|
|
486
|
+
}
|
|
464
487
|
disconnectedCallback() {
|
|
465
488
|
var _a, _b;
|
|
489
|
+
this.triggerTextTooltip.destroy();
|
|
490
|
+
this.selectedItemTooltips.destroy();
|
|
466
491
|
cancelDebouncedEvent(this.pdsMultiselectSearch);
|
|
467
492
|
(_a = this.observer) === null || _a === void 0 ? void 0 : _a.disconnect();
|
|
468
493
|
(_b = this.cleanupAutoUpdate) === null || _b === void 0 ? void 0 : _b.call(this);
|
|
@@ -981,6 +1006,26 @@ export class PdsMultiselect {
|
|
|
981
1006
|
this.creating = false;
|
|
982
1007
|
}
|
|
983
1008
|
}
|
|
1009
|
+
tabPastOptions(e) {
|
|
1010
|
+
const firstFooterTabbable = e.shiftKey ? undefined : this.getFooterTabbables()[0];
|
|
1011
|
+
firstFooterTabbable === null || firstFooterTabbable === void 0 ? void 0 : firstFooterTabbable.focus();
|
|
1012
|
+
if (firstFooterTabbable === null || firstFooterTabbable === void 0 ? void 0 : firstFooterTabbable.matches(':focus')) {
|
|
1013
|
+
// Each option's checkbox is a tab stop, so jump past them to the footer.
|
|
1014
|
+
e.preventDefault();
|
|
1015
|
+
}
|
|
1016
|
+
else {
|
|
1017
|
+
this.closeDropdown();
|
|
1018
|
+
// Tab would move on to an option's checkbox, which closing removes, dropping focus to the page.
|
|
1019
|
+
// Land on the trigger instead, as Escape does; Shift+Tab already reaches it.
|
|
1020
|
+
const trigger = e.shiftKey ? undefined : this.activeTriggerEl;
|
|
1021
|
+
trigger === null || trigger === void 0 ? void 0 : trigger.focus();
|
|
1022
|
+
if (trigger === null || trigger === void 0 ? void 0 : trigger.matches(':focus'))
|
|
1023
|
+
e.preventDefault();
|
|
1024
|
+
}
|
|
1025
|
+
}
|
|
1026
|
+
getSelectedItemTabbables() {
|
|
1027
|
+
return Array.from(this.el.shadowRoot.querySelectorAll('.pds-multiselect__selected-item[tabindex="0"]'));
|
|
1028
|
+
}
|
|
984
1029
|
getFooterTabbables() {
|
|
985
1030
|
const candidates = [];
|
|
986
1031
|
Array.from(this.el.children)
|
|
@@ -1197,7 +1242,7 @@ export class PdsMultiselect {
|
|
|
1197
1242
|
renderSelectedItemsList() {
|
|
1198
1243
|
if (this.hideSelectedItems || this.selectedItems.length === 0)
|
|
1199
1244
|
return null;
|
|
1200
|
-
return (h("div", { class: "pds-multiselect__selected-section" }, h("ul", { class: "pds-multiselect__selected-list", role: "list" }, this.selectedItems.map(item => (h("li", { key: String(item.id), class: "pds-multiselect__selected-item" }, item.text))))));
|
|
1245
|
+
return (h("div", { class: "pds-multiselect__selected-section" }, h("ul", { class: "pds-multiselect__selected-list", role: "list", onKeyDown: this.handleSelectedListKeyDown }, this.selectedItems.map(item => (h("li", { key: String(item.id), class: "pds-multiselect__selected-item" }, item.text))))));
|
|
1201
1246
|
}
|
|
1202
1247
|
renderDropdown() {
|
|
1203
1248
|
if (!this.isOpen)
|
|
@@ -1266,10 +1311,10 @@ export class PdsMultiselect {
|
|
|
1266
1311
|
}
|
|
1267
1312
|
render() {
|
|
1268
1313
|
const hasSelections = this.selectedItems.length > 0;
|
|
1269
|
-
return (h(Host, { key: '
|
|
1314
|
+
return (h(Host, { key: '2e5f7188cbb3928df3098644f9437449f5d5128d', "aria-disabled": this.disabled ? 'true' : null }, h("div", { key: 'f6b7d9d70e7635510bbcff648e1547c9cc222005', class: "pds-multiselect", onFocusout: this.handleContainerFocusOut }, this.label && (h("label", { key: '9e3f0bc63e20e0a1f03f87f4b89c478331bf4001', id: `${this.componentId}-label`, htmlFor: this.componentId, class: {
|
|
1270
1315
|
'pds-multiselect__label': true,
|
|
1271
1316
|
'visually-hidden': this.hideLabel,
|
|
1272
|
-
} }, this.label)), h("div", { key: '
|
|
1317
|
+
} }, this.label)), h("div", { key: 'efdf274b7223f77d646ac838f4163291ae310c31', 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: {
|
|
1273
1318
|
'pds-multiselect__trigger': true,
|
|
1274
1319
|
'pds-multiselect__trigger--open': this.isOpen,
|
|
1275
1320
|
'pds-multiselect__trigger--disabled': this.disabled,
|
|
@@ -1285,7 +1330,7 @@ export class PdsMultiselect {
|
|
|
1285
1330
|
}, 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: {
|
|
1286
1331
|
'pds-multiselect__trigger-text': true,
|
|
1287
1332
|
'pds-multiselect__trigger-text--placeholder': !hasSelections || (this.selectedDisplay === 'pill' && this.pillPosition === 'below'),
|
|
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: '
|
|
1333
|
+
} }, 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: 'd90262ab6971d16dab6f8a367d038ab2607d888c', class: "visually-hidden", "aria-live": "polite", "aria-atomic": "true" }, this.removalAnnouncement), this.helperMessage && !(this.errorMessage && this.errorMessage.length > 0) && (h("p", { key: '4baf142546462bea84ccb67b7ce288517f1de754', class: "pds-multiselect__helper", id: messageId(this.componentId, 'helper') }, this.helperMessage)), this.errorMessage && (h("p", { key: 'fdea175d93bc566d18cbad560e970f8c61495b1d', class: "pds-multiselect__error", id: messageId(this.componentId, 'error') }, h("pds-icon", { key: '63977a25e35def8a6a4b39b0039e2da08f99d02e', "aria-hidden": "true", icon: danger, size: "small" }), this.errorMessage)), h("div", { key: 'cb43771ef04a682a6d14d80b0b37618acc5748ad', style: { display: 'none' } }, h("slot", { key: '7733626ae7bd4ba83cb30bbbdb81c28e413e46a3' })))));
|
|
1289
1334
|
}
|
|
1290
1335
|
static get is() { return "pds-multiselect"; }
|
|
1291
1336
|
static get encapsulation() { return "shadow"; }
|
|
@@ -2413,7 +2458,7 @@ export class PdsMultiselect {
|
|
|
2413
2458
|
"composed": true,
|
|
2414
2459
|
"docs": {
|
|
2415
2460
|
"tags": [],
|
|
2416
|
-
"text": "Emitted when the dropdown is dismissed
|
|
2461
|
+
"text": "Emitted when the dropdown is dismissed with the Escape key, or by focus moving outside the\ncomponent, such as with a click elsewhere on the page.\n\nIt doesn't fire when the panel closes any other way: from a selection (including with\n`closePanelOnSelect`) or an option action, a click on the trigger, Tab, or the multiselect\nbecoming disabled. Safari doesn't focus a clicked button, so there a click on the trigger while\nthe panel is open fires this event, and the panel opens again.\nUse it to restore parent UI state or run cleanup when the user cancels."
|
|
2417
2462
|
},
|
|
2418
2463
|
"complexType": {
|
|
2419
2464
|
"original": "void",
|
|
@@ -159,10 +159,10 @@ export class PdsPopover {
|
|
|
159
159
|
*/
|
|
160
160
|
this.popoverType = 'auto';
|
|
161
161
|
/**
|
|
162
|
-
* Sets the maximum width of the popover
|
|
163
|
-
* @defaultValue
|
|
162
|
+
* Sets the maximum width of the popover, in pixels, including its padding.
|
|
163
|
+
* @defaultValue 400
|
|
164
164
|
*/
|
|
165
|
-
this.maxWidth =
|
|
165
|
+
this.maxWidth = 400;
|
|
166
166
|
/**
|
|
167
167
|
* Sets the padding of the popover content
|
|
168
168
|
* @defaultValue "md"
|
|
@@ -562,6 +562,8 @@ export class PdsPopover {
|
|
|
562
562
|
this.portalEl.style.backgroundColor = 'var(--pine-color-background-overlay)';
|
|
563
563
|
this.portalEl.style.borderRadius = 'var(--pine-dimension-125)';
|
|
564
564
|
this.portalEl.style.boxShadow = 'var(--pine-box-shadow-200)';
|
|
565
|
+
// So the padding below stays inside max-width rather than adding to it.
|
|
566
|
+
this.portalEl.style.boxSizing = 'border-box';
|
|
565
567
|
this.portalEl.style.margin = 'var(--pine-dimension-none)';
|
|
566
568
|
this.portalEl.style.padding = this.paddingToken();
|
|
567
569
|
// Generate unique ID
|
|
@@ -1032,7 +1034,7 @@ export class PdsPopover {
|
|
|
1032
1034
|
portal.style.left = `${left - origin.left}px`;
|
|
1033
1035
|
}
|
|
1034
1036
|
render() {
|
|
1035
|
-
return (h(Host, { key: '
|
|
1037
|
+
return (h(Host, { key: 'c76e121eb82b0d4f89f49bc83ff592ccf5774d57', id: this.componentId }, h("span", { key: '01061721f373e6f83729624d19f0beac0d6f093e', class: "pds-popover__trigger-wrapper" }, h("slot", { key: 'e68a2bd22ee6657e534da3d097bdaf3189815262', name: "trigger", onSlotchange: this.handleTriggerSlotChange })), h("span", { key: 'd48301ebb6a9e0729083829a0587a0a285faedda', class: "pds-popover__tab-guard", ref: (el) => (this.tabGuardEl = el !== null && el !== void 0 ? el : null), onFocus: this.handleTabGuardFocus }), h("div", { key: 'c7d2e348545adaa7566da7c4f6b13a7ee78d1322', class: "pds-popover__content-slot-wrapper" }, h("slot", { key: '312f54fa917c135adc2f2a5ccbbb3159a980df24', onSlotchange: this.handleContentSlotChange }))));
|
|
1036
1038
|
}
|
|
1037
1039
|
static get is() { return "pds-popover"; }
|
|
1038
1040
|
static get encapsulation() { return "shadow"; }
|
|
@@ -1146,15 +1148,15 @@ export class PdsPopover {
|
|
|
1146
1148
|
"docs": {
|
|
1147
1149
|
"tags": [{
|
|
1148
1150
|
"name": "defaultValue",
|
|
1149
|
-
"text": "
|
|
1151
|
+
"text": "400"
|
|
1150
1152
|
}],
|
|
1151
|
-
"text": "Sets the maximum width of the popover
|
|
1153
|
+
"text": "Sets the maximum width of the popover, in pixels, including its padding."
|
|
1152
1154
|
},
|
|
1153
1155
|
"getter": false,
|
|
1154
1156
|
"setter": false,
|
|
1155
1157
|
"reflect": false,
|
|
1156
1158
|
"attribute": "max-width",
|
|
1157
|
-
"defaultValue": "
|
|
1159
|
+
"defaultValue": "400"
|
|
1158
1160
|
},
|
|
1159
1161
|
"padding": {
|
|
1160
1162
|
"type": "string",
|
|
@@ -10,7 +10,7 @@ export class PdsProgress {
|
|
|
10
10
|
*/
|
|
11
11
|
this.animated = false;
|
|
12
12
|
/**
|
|
13
|
-
* Sets the progress fill
|
|
13
|
+
* Sets the progress fill percentage (0–100). Shown as text when `show-percent` is set.
|
|
14
14
|
* @defaultValue 0
|
|
15
15
|
*/
|
|
16
16
|
this.percent = 0;
|
|
@@ -30,7 +30,7 @@ export class PdsProgress {
|
|
|
30
30
|
const normalizedFillColor = normalizeColorValue(this.fillColor);
|
|
31
31
|
const hostClass = this.animated ? { 'is-animated': this.animated } : '';
|
|
32
32
|
this.hostKeeper.record(hostClass);
|
|
33
|
-
return (h(Host, { key: '
|
|
33
|
+
return (h(Host, { key: '494b5fcb8cbfbb54570e05bf5cb3e122f281b0aa', class: hostClass }, h("div", { key: '9b1d956ac587add8d7bf46d258a04043484d65bb', class: "pds-progress" }, h("label", { key: '20f7a7e3107ee1f87eb7ebcd74baf484aefeaa15', class: "pds-progress__label", htmlFor: this.componentId }, this.label), h("progress", { key: '3eb27fc07b60196b9528b200db990faf3c8f1293', id: this.componentId, max: "100", style: normalizedFillColor ? { '--color-progress-fill': normalizedFillColor } : {}, value: this.percent })), this.showPercent && h("div", { key: '68ec67c4e415eaee29cc1eb66786f356768ed585', class: "pds-progress__percentage" }, this.percent, "%")));
|
|
34
34
|
}
|
|
35
35
|
static get is() { return "pds-progress"; }
|
|
36
36
|
static get encapsulation() { return "shadow"; }
|
|
@@ -101,7 +101,7 @@ export class PdsProgress {
|
|
|
101
101
|
"docs": {
|
|
102
102
|
"tags": [{
|
|
103
103
|
"name": "defaultValue",
|
|
104
|
-
"text": "'var(--pine-color-
|
|
104
|
+
"text": "'var(--pine-color-primary)'"
|
|
105
105
|
}],
|
|
106
106
|
"text": "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)."
|
|
107
107
|
},
|
|
@@ -144,7 +144,7 @@ export class PdsProgress {
|
|
|
144
144
|
"name": "defaultValue",
|
|
145
145
|
"text": "0"
|
|
146
146
|
}],
|
|
147
|
-
"text": "Sets the progress fill
|
|
147
|
+
"text": "Sets the progress fill percentage (0\u2013100). Shown as text when `show-percent` is set."
|
|
148
148
|
},
|
|
149
149
|
"getter": false,
|
|
150
150
|
"setter": false,
|
|
@@ -196,7 +196,11 @@ label:has(input:disabled) {
|
|
|
196
196
|
border: var(--pine-border-hover);
|
|
197
197
|
}
|
|
198
198
|
:host(.has-image):has(input:checked) {
|
|
199
|
-
box-shadow: 0 0 0
|
|
199
|
+
box-shadow: 0 0 0 var(--pine-border-width-thick) var(--pine-color-primary-hover);
|
|
200
|
+
}
|
|
201
|
+
:host(.has-image):has(input:focus-visible) {
|
|
202
|
+
outline: var(--pine-outline-focus);
|
|
203
|
+
outline-offset: calc(var(--pine-border-width-thick) + var(--pine-border-width));
|
|
200
204
|
}
|
|
201
205
|
:host(.has-image) label {
|
|
202
206
|
color: var(--pine-color-text);
|