@pine-ds/core 4.11.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 +44 -9
- 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/pds-datepicker.js +3 -3
- package/dist/collection/components/pds-datepicker/presets.js +42 -7
- 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 +1124 -374
- 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 +45 -10
- 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/datepicker-interface.d.ts +20 -4
- package/dist/types/components/pds-datepicker/pds-datepicker.d.ts +3 -2
- package/dist/types/components/pds-datepicker/presets.d.ts +3 -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 +480 -325
- 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 +340 -134
- package/hydrate/index.js +1800 -353
- package/hydrate/index.mjs +1800 -353
- 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-3359a935.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-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-d4968f9d.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,5 +1,7 @@
|
|
|
1
|
-
import { r as registerInstance, c as createEvent, h, H as Host, a as getElement } from './index-4_RRPJTO.js';
|
|
2
|
-
import {
|
|
1
|
+
import { r as registerInstance, c as createEvent, f as forceUpdate, h, H as Host, a as getElement } from './index-4_RRPJTO.js';
|
|
2
|
+
import { s as sortableItemLabel } from './sortable-label-PItnzVVR.js';
|
|
3
|
+
import { H as HostStylingKeeper } from './attributes-CD8knu3a.js';
|
|
4
|
+
import { f as formatMessage } from './i18n-format-BJgZHCWe.js';
|
|
3
5
|
import './keep-hydrated-BgNaWLoS.js';
|
|
4
6
|
|
|
5
7
|
/**!
|
|
@@ -2653,6 +2655,9 @@ Sortable.mount(Remove, Revert);
|
|
|
2653
2655
|
|
|
2654
2656
|
const pdsSortableCss = () => `.pds-sortable.sc-pds-sortable-h{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}.pds-sortable.pds-sortable--bordered.sc-pds-sortable-h{border:var(--pine-border);border-radius:var(--pine-dimension-2xs)}`;
|
|
2655
2657
|
|
|
2658
|
+
const LIVE_REGION_CLASS = 'pds-sortable__live-region';
|
|
2659
|
+
const GRABBED_CLASS = 'pds-sortable-item--grabbed';
|
|
2660
|
+
const HANDLE_SELECTOR = '.pds-sortable-item__handle';
|
|
2656
2661
|
const PdsSortable = class {
|
|
2657
2662
|
constructor(hostRef) {
|
|
2658
2663
|
registerInstance(this, hostRef);
|
|
@@ -2675,11 +2680,155 @@ const PdsSortable = class {
|
|
|
2675
2680
|
* Determines the grabbable area for the `pds-sortable-item`.
|
|
2676
2681
|
*/
|
|
2677
2682
|
this.handleType = 'row';
|
|
2683
|
+
/**
|
|
2684
|
+
* Accessible label for each item's reorder handle, the button the keyboard reorders with. Pass a translated string to localize it; `{item}` is interpolated.
|
|
2685
|
+
* @defaultValue 'Reorder {item}'
|
|
2686
|
+
*/
|
|
2687
|
+
this.handleLabel = 'Reorder {item}';
|
|
2688
|
+
/**
|
|
2689
|
+
* Screen-reader announcement when an item is picked up from the keyboard. Pass a translated string to localize it; `{item}`, `{position}` and `{total}` are interpolated.
|
|
2690
|
+
* @defaultValue '{item}, picked up. Position {position} of {total}. Press the arrow keys to move, Space or Enter to drop, Escape to cancel.'
|
|
2691
|
+
*/
|
|
2692
|
+
this.itemPickedUpLabel = '{item}, picked up. Position {position} of {total}. Press the arrow keys to move, Space or Enter to drop, Escape to cancel.';
|
|
2693
|
+
/**
|
|
2694
|
+
* Screen-reader announcement when a picked-up item is moved. Pass a translated string to localize it; `{item}`, `{position}` and `{total}` are interpolated.
|
|
2695
|
+
* @defaultValue '{item}, moved to position {position} of {total}'
|
|
2696
|
+
*/
|
|
2697
|
+
this.itemMovedLabel = '{item}, moved to position {position} of {total}';
|
|
2698
|
+
/**
|
|
2699
|
+
* Screen-reader announcement when a picked-up item is dropped. Pass a translated string to localize it; `{item}`, `{position}` and `{total}` are interpolated.
|
|
2700
|
+
* @defaultValue '{item}, dropped at position {position} of {total}'
|
|
2701
|
+
*/
|
|
2702
|
+
this.itemDroppedLabel = '{item}, dropped at position {position} of {total}';
|
|
2703
|
+
/**
|
|
2704
|
+
* Screen-reader announcement when a keyboard reorder is canceled and the item goes back. Pass a translated string to localize it; `{item}`, `{position}` and `{total}` are interpolated.
|
|
2705
|
+
* @defaultValue 'Reorder canceled. {item} returned to position {position} of {total}'
|
|
2706
|
+
*/
|
|
2707
|
+
this.reorderCanceledLabel = 'Reorder canceled. {item} returned to position {position} of {total}';
|
|
2708
|
+
/** The item picked up from the keyboard, and where it started. */
|
|
2709
|
+
this.grabbed = null;
|
|
2710
|
+
this.liveRegion = null;
|
|
2678
2711
|
this.hostKeeper = new HostStylingKeeper();
|
|
2712
|
+
// Set only when a `pointerdown` here drops a picked-up item, and only until the `click` that
|
|
2713
|
+
// follows it, if one does: a screen reader's browse-mode Enter or Space synthesizes both for
|
|
2714
|
+
// the same press, and that click must not re-pick-up what its own pointerdown just dropped.
|
|
2715
|
+
this.droppedByPointerDown = null;
|
|
2716
|
+
this.handleFocusIn = () => {
|
|
2717
|
+
this.ensureLiveRegion();
|
|
2718
|
+
};
|
|
2719
|
+
/**
|
|
2720
|
+
* Focus leaving a picked-up item drops it where it is, unless the whole window lost focus (the user
|
|
2721
|
+
* switched apps), when the item stays picked up for their return. A real window blur does not move
|
|
2722
|
+
* `document.activeElement` away from the handle that's losing focus (some browsers reset it to `body`
|
|
2723
|
+
* instead, but never to a different element), so it's told apart from focus moving into an iframe or
|
|
2724
|
+
* another embedded document that way: an iframe becomes a genuinely different active element, while a
|
|
2725
|
+
* window blur leaves `activeElement` as the handle itself, `null`, or `body`.
|
|
2726
|
+
*/
|
|
2727
|
+
this.handleFocusOut = (ev) => {
|
|
2728
|
+
var _a;
|
|
2729
|
+
if (!this.isGrabbing() || ev.target !== this.focusTarget(this.grabbed.item))
|
|
2730
|
+
return;
|
|
2731
|
+
const nothingElseFocused = document.activeElement === null || document.activeElement === document.body || document.activeElement === ev.target;
|
|
2732
|
+
if (ev.relatedTarget === null && ((_a = document.hasFocus) === null || _a === void 0 ? void 0 : _a.call(document)) === false && nothingElseFocused)
|
|
2733
|
+
return;
|
|
2734
|
+
this.drop(ev);
|
|
2735
|
+
};
|
|
2736
|
+
/**
|
|
2737
|
+
* Screen readers in browse mode turn Enter and Space on a button into a click with no key events,
|
|
2738
|
+
* so a click that isn't from a pointer (`detail` is 0) picks up or drops too.
|
|
2739
|
+
*/
|
|
2740
|
+
this.handleClick = (ev) => {
|
|
2741
|
+
if (this.disabled || ev.detail !== 0)
|
|
2742
|
+
return;
|
|
2743
|
+
const item = this.targetItem(ev.target);
|
|
2744
|
+
if (!item)
|
|
2745
|
+
return;
|
|
2746
|
+
// NVDA and JAWS in Chromium fire this click's capture-phase `pointerdown` first, for the
|
|
2747
|
+
// same Enter or Space press. If that pointerdown found the item already grabbed and dropped
|
|
2748
|
+
// it, this click is that same press's drop, already handled -- picking the item back up here
|
|
2749
|
+
// would leave it stuck grabbed, since Escape and the arrow keys don't reach the handle in
|
|
2750
|
+
// browse mode.
|
|
2751
|
+
if (this.droppedByPointerDown === item) {
|
|
2752
|
+
this.droppedByPointerDown = null;
|
|
2753
|
+
return;
|
|
2754
|
+
}
|
|
2755
|
+
if (!this.isGrabbing()) {
|
|
2756
|
+
this.pickUp(item);
|
|
2757
|
+
}
|
|
2758
|
+
else if (this.grabbed.item === item) {
|
|
2759
|
+
this.drop(ev);
|
|
2760
|
+
}
|
|
2761
|
+
};
|
|
2762
|
+
this.handleKeyDown = (ev) => {
|
|
2763
|
+
if (this.disabled || ev.altKey || ev.ctrlKey || ev.metaKey)
|
|
2764
|
+
return;
|
|
2765
|
+
const item = this.targetItem(ev.target);
|
|
2766
|
+
if (!item)
|
|
2767
|
+
return;
|
|
2768
|
+
if (!this.isGrabbing()) {
|
|
2769
|
+
if ((ev.key === ' ' || ev.key === 'Enter') && !ev.repeat) {
|
|
2770
|
+
ev.preventDefault();
|
|
2771
|
+
this.pickUp(item);
|
|
2772
|
+
}
|
|
2773
|
+
return;
|
|
2774
|
+
}
|
|
2775
|
+
if (this.grabbed.item !== item)
|
|
2776
|
+
return;
|
|
2777
|
+
const items = this.items();
|
|
2778
|
+
const index = items.indexOf(item);
|
|
2779
|
+
switch (ev.key) {
|
|
2780
|
+
case 'ArrowUp':
|
|
2781
|
+
ev.preventDefault();
|
|
2782
|
+
this.moveTo(item, index - 1);
|
|
2783
|
+
break;
|
|
2784
|
+
case 'ArrowDown':
|
|
2785
|
+
ev.preventDefault();
|
|
2786
|
+
this.moveTo(item, index + 1);
|
|
2787
|
+
break;
|
|
2788
|
+
case 'Home':
|
|
2789
|
+
ev.preventDefault();
|
|
2790
|
+
this.moveTo(item, 0);
|
|
2791
|
+
break;
|
|
2792
|
+
case 'End':
|
|
2793
|
+
ev.preventDefault();
|
|
2794
|
+
this.moveTo(item, items.length - 1);
|
|
2795
|
+
break;
|
|
2796
|
+
case ' ':
|
|
2797
|
+
case 'Enter':
|
|
2798
|
+
ev.preventDefault();
|
|
2799
|
+
if (!ev.repeat)
|
|
2800
|
+
this.drop(ev);
|
|
2801
|
+
break;
|
|
2802
|
+
case 'Escape':
|
|
2803
|
+
// Keep an enclosing modal or drawer from closing too.
|
|
2804
|
+
ev.preventDefault();
|
|
2805
|
+
ev.stopPropagation();
|
|
2806
|
+
this.cancel();
|
|
2807
|
+
break;
|
|
2808
|
+
}
|
|
2809
|
+
};
|
|
2679
2810
|
}
|
|
2680
2811
|
handleDisabledChange() {
|
|
2681
2812
|
var _a;
|
|
2682
2813
|
(_a = this.sortableInstance) === null || _a === void 0 ? void 0 : _a.option('disabled', this.disabled);
|
|
2814
|
+
if (this.disabled && this.isGrabbing())
|
|
2815
|
+
this.cancel();
|
|
2816
|
+
this.updateItems();
|
|
2817
|
+
}
|
|
2818
|
+
handleHandleTypeChange() {
|
|
2819
|
+
var _a;
|
|
2820
|
+
if (this.isGrabbing())
|
|
2821
|
+
this.cancel();
|
|
2822
|
+
// `null`, not `undefined`: SortableJS treats `option(name, undefined)` as a read, which would
|
|
2823
|
+
// leave a previous handle restriction in place.
|
|
2824
|
+
(_a = this.sortableInstance) === null || _a === void 0 ? void 0 : _a.option('handle', this.handleType === 'handle' ? HANDLE_SELECTOR : null);
|
|
2825
|
+
this.updateItems();
|
|
2826
|
+
}
|
|
2827
|
+
updateItems() {
|
|
2828
|
+
this.items().forEach((item) => {
|
|
2829
|
+
if (item.tagName === 'PDS-SORTABLE-ITEM')
|
|
2830
|
+
forceUpdate(item);
|
|
2831
|
+
});
|
|
2683
2832
|
}
|
|
2684
2833
|
classNames() {
|
|
2685
2834
|
const classNames = ['pds-sortable'];
|
|
@@ -2701,11 +2850,19 @@ const PdsSortable = class {
|
|
|
2701
2850
|
this.hostKeeper.connect(this.el);
|
|
2702
2851
|
}
|
|
2703
2852
|
disconnectedCallback() {
|
|
2853
|
+
var _a;
|
|
2704
2854
|
this.hostKeeper.disconnect();
|
|
2855
|
+
// Put the order back: a move that was never dropped was never emitted.
|
|
2856
|
+
if (this.isGrabbing())
|
|
2857
|
+
this.cancel(false);
|
|
2858
|
+
(_a = this.liveRegion) === null || _a === void 0 ? void 0 : _a.remove();
|
|
2859
|
+
this.liveRegion = null;
|
|
2705
2860
|
}
|
|
2706
2861
|
componentDidLoad() {
|
|
2862
|
+
var _a;
|
|
2863
|
+
const reduceMotion = typeof window !== 'undefined' && ((_a = window.matchMedia) === null || _a === void 0 ? void 0 : _a.call(window, '(prefers-reduced-motion: reduce)').matches);
|
|
2707
2864
|
let sortableOptions = {
|
|
2708
|
-
animation: 150,
|
|
2865
|
+
animation: reduceMotion ? 0 : 150,
|
|
2709
2866
|
disabled: this.disabled,
|
|
2710
2867
|
ghostClass: 'pds-sortable-item--ghost',
|
|
2711
2868
|
dragClass: 'pds-sortable-item--drag',
|
|
@@ -2714,19 +2871,214 @@ const PdsSortable = class {
|
|
|
2714
2871
|
},
|
|
2715
2872
|
};
|
|
2716
2873
|
if (this.handleType === 'handle') {
|
|
2717
|
-
sortableOptions = Object.assign(Object.assign({}, sortableOptions), { handle:
|
|
2874
|
+
sortableOptions = Object.assign(Object.assign({}, sortableOptions), { handle: HANDLE_SELECTOR });
|
|
2718
2875
|
}
|
|
2719
2876
|
this.sortableInstance = Sortable.create(this.el, sortableOptions);
|
|
2877
|
+
// In place before the first announcement, as a region that's created with its text isn't read.
|
|
2878
|
+
this.ensureLiveRegion();
|
|
2879
|
+
// Items that rendered before this list was defined have no handle yet.
|
|
2880
|
+
this.updateItems();
|
|
2881
|
+
}
|
|
2882
|
+
/** The children that can be reordered, counted as SortableJS counts them. */
|
|
2883
|
+
items() {
|
|
2884
|
+
return Array.from(this.el.children).filter((child) => child.tagName !== 'TEMPLATE');
|
|
2885
|
+
}
|
|
2886
|
+
/**
|
|
2887
|
+
* The live region sits right after the list, not in it, so it's never counted as an item, by
|
|
2888
|
+
* SortableJS or by a consumer reading the list's children, and it's still in the same modal. A
|
|
2889
|
+
* morph that removes it gets it put back on the next focus.
|
|
2890
|
+
*/
|
|
2891
|
+
ensureLiveRegion() {
|
|
2892
|
+
if (!this.liveRegion) {
|
|
2893
|
+
// A page-cache (bfcache, Turbo) restore brings back a DOM snapshot that can already have
|
|
2894
|
+
// this list's own live region sitting right after it -- adopted here instead of making
|
|
2895
|
+
// another, which would leave the stale one behind with its last message still in it.
|
|
2896
|
+
const existing = this.el.nextElementSibling;
|
|
2897
|
+
if (existing === null || existing === void 0 ? void 0 : existing.classList.contains(LIVE_REGION_CLASS)) {
|
|
2898
|
+
this.liveRegion = existing;
|
|
2899
|
+
return;
|
|
2900
|
+
}
|
|
2901
|
+
const region = document.createElement('span');
|
|
2902
|
+
region.className = LIVE_REGION_CLASS;
|
|
2903
|
+
region.setAttribute('role', 'status');
|
|
2904
|
+
region.setAttribute('aria-live', 'polite');
|
|
2905
|
+
region.setAttribute('aria-atomic', 'true');
|
|
2906
|
+
// Created here, not rendered, so the scoped stylesheet can't reach it. With no inset, an
|
|
2907
|
+
// absolutely positioned element sits at its static position -- the end of the list, here --
|
|
2908
|
+
// rather than collapsing to (0, 0), which can grow a scrollable ancestor's scroll area.
|
|
2909
|
+
Object.assign(region.style, {
|
|
2910
|
+
position: 'absolute',
|
|
2911
|
+
width: '1px',
|
|
2912
|
+
height: '1px',
|
|
2913
|
+
margin: '-1px',
|
|
2914
|
+
padding: '0',
|
|
2915
|
+
overflow: 'hidden',
|
|
2916
|
+
clipPath: 'inset(50%)',
|
|
2917
|
+
whiteSpace: 'nowrap',
|
|
2918
|
+
border: '0',
|
|
2919
|
+
});
|
|
2920
|
+
this.liveRegion = region;
|
|
2921
|
+
}
|
|
2922
|
+
if (!this.liveRegion.isConnected && this.el.parentNode) {
|
|
2923
|
+
// The host may itself be slotted into a named slot (e.g. inside a modal); stay in it rather
|
|
2924
|
+
// than falling back to the default slot, which a consumer's template may not render.
|
|
2925
|
+
const hostSlot = this.el.getAttribute('slot');
|
|
2926
|
+
if (hostSlot !== null) {
|
|
2927
|
+
this.liveRegion.setAttribute('slot', hostSlot);
|
|
2928
|
+
}
|
|
2929
|
+
else {
|
|
2930
|
+
this.liveRegion.removeAttribute('slot');
|
|
2931
|
+
}
|
|
2932
|
+
this.el.parentNode.insertBefore(this.liveRegion, this.el.nextSibling);
|
|
2933
|
+
}
|
|
2934
|
+
}
|
|
2935
|
+
announce(template, item) {
|
|
2936
|
+
this.ensureLiveRegion();
|
|
2937
|
+
const items = this.items();
|
|
2938
|
+
const message = formatMessage(template, {
|
|
2939
|
+
item: sortableItemLabel(item),
|
|
2940
|
+
position: items.indexOf(item) + 1,
|
|
2941
|
+
total: items.length,
|
|
2942
|
+
});
|
|
2943
|
+
// A repeat of the same text isn't announced again, so tell the two apart.
|
|
2944
|
+
this.liveRegion.textContent = message === this.liveRegion.textContent ? `${message} ` : message;
|
|
2945
|
+
}
|
|
2946
|
+
handlePointerDown(ev) {
|
|
2947
|
+
// A drag takes over from a keyboard reorder: keep the moves so far, so the drag starts from them.
|
|
2948
|
+
// Only the primary button (or a touch/pen contact, same value) can start that drag -- a
|
|
2949
|
+
// right-click or a secondary pointer does something else (a context menu, typically) and
|
|
2950
|
+
// must not drop the item out from under it.
|
|
2951
|
+
if (ev.button !== 0 || !this.isGrabbing())
|
|
2952
|
+
return;
|
|
2953
|
+
const item = this.grabbed.item;
|
|
2954
|
+
this.drop(ev);
|
|
2955
|
+
this.droppedByPointerDown = item;
|
|
2956
|
+
window.setTimeout(() => {
|
|
2957
|
+
if (this.droppedByPointerDown === item)
|
|
2958
|
+
this.droppedByPointerDown = null;
|
|
2959
|
+
}, 0);
|
|
2960
|
+
}
|
|
2961
|
+
/**
|
|
2962
|
+
* Whether an item is picked up. One that's been taken out of the list meanwhile (a re-render, a
|
|
2963
|
+
* stream update) is let go, as there's nothing left to move.
|
|
2964
|
+
*/
|
|
2965
|
+
isGrabbing() {
|
|
2966
|
+
if (this.grabbed && this.grabbed.item.parentElement !== this.el)
|
|
2967
|
+
this.release();
|
|
2968
|
+
return this.grabbed !== null;
|
|
2969
|
+
}
|
|
2970
|
+
/** The item whose handle `target` is, if it is one. */
|
|
2971
|
+
targetItem(target) {
|
|
2972
|
+
const item = this.items().find((candidate) => candidate.contains(target));
|
|
2973
|
+
return item && this.focusTarget(item) === target ? item : undefined;
|
|
2974
|
+
}
|
|
2975
|
+
/** The item's handle, the button the keyboard reorders with. */
|
|
2976
|
+
focusTarget(item) {
|
|
2977
|
+
var _a;
|
|
2978
|
+
return ((_a = Array.from(item.children).find((child) => child.matches(HANDLE_SELECTOR))) !== null && _a !== void 0 ? _a : null);
|
|
2979
|
+
}
|
|
2980
|
+
// SortableJS tells `index` (among all children) and `draggableIndex` (among draggable ones)
|
|
2981
|
+
// apart for a list that also holds non-draggable children. This list doesn't -- the live
|
|
2982
|
+
// region that once lived among `this.el`'s children now sits outside it as a sibling -- so
|
|
2983
|
+
// `items()` already is every child, and the two counts are always the same.
|
|
2984
|
+
indexes(item) {
|
|
2985
|
+
const index = this.items().indexOf(item);
|
|
2986
|
+
return { index, draggableIndex: index };
|
|
2987
|
+
}
|
|
2988
|
+
pickUp(item) {
|
|
2989
|
+
var _a;
|
|
2990
|
+
const { index, draggableIndex } = this.indexes(item);
|
|
2991
|
+
this.grabbed = { item, oldIndex: index, oldDraggableIndex: draggableIndex };
|
|
2992
|
+
item.classList.add(GRABBED_CLASS);
|
|
2993
|
+
(_a = this.focusTarget(item)) === null || _a === void 0 ? void 0 : _a.setAttribute('aria-pressed', 'true');
|
|
2994
|
+
this.announce(this.itemPickedUpLabel, item);
|
|
2995
|
+
}
|
|
2996
|
+
/**
|
|
2997
|
+
* Moves the other items around `item` rather than `item` itself, so it never leaves the DOM and
|
|
2998
|
+
* keeps focus.
|
|
2999
|
+
*/
|
|
3000
|
+
moveTo(item, to, announce = true) {
|
|
3001
|
+
var _a;
|
|
3002
|
+
const items = this.items();
|
|
3003
|
+
const from = items.indexOf(item);
|
|
3004
|
+
if (to < 0 || to >= items.length || to === from) {
|
|
3005
|
+
// At the first or last position, an out-of-range attempt (ArrowUp at the top, ArrowDown at
|
|
3006
|
+
// the bottom) or a no-op one (Home already first, End already last) would otherwise leave
|
|
3007
|
+
// a screen reader user with no sign the key landed at all. Repeating the current position
|
|
3008
|
+
// confirms it without implying a move that didn't happen -- `cancel()`'s own call here
|
|
3009
|
+
// passes `announce: false` and gets its own, different announcement instead.
|
|
3010
|
+
if (announce)
|
|
3011
|
+
this.announce(this.itemMovedLabel, item);
|
|
3012
|
+
return;
|
|
3013
|
+
}
|
|
3014
|
+
if (to < from) {
|
|
3015
|
+
const next = item.nextSibling;
|
|
3016
|
+
items.slice(to, from).forEach((sibling) => this.el.insertBefore(sibling, next));
|
|
3017
|
+
}
|
|
3018
|
+
else {
|
|
3019
|
+
items.slice(from + 1, to + 1).forEach((sibling) => this.el.insertBefore(sibling, item));
|
|
3020
|
+
}
|
|
3021
|
+
// Focus doesn't move, so the browser won't scroll the item into view itself.
|
|
3022
|
+
(_a = item.scrollIntoView) === null || _a === void 0 ? void 0 : _a.call(item, { block: 'nearest' });
|
|
3023
|
+
if (announce)
|
|
3024
|
+
this.announce(this.itemMovedLabel, item);
|
|
3025
|
+
}
|
|
3026
|
+
drop(originalEvent) {
|
|
3027
|
+
const { item, oldIndex, oldDraggableIndex } = this.grabbed;
|
|
3028
|
+
this.release();
|
|
3029
|
+
this.announce(this.itemDroppedLabel, item);
|
|
3030
|
+
const { index, draggableIndex } = this.indexes(item);
|
|
3031
|
+
// A keyboard drop happens more often than a drag: tabbing away from a picked-up row, a click
|
|
3032
|
+
// elsewhere in the list, or the second press of a screen reader's browse-mode Enter all drop
|
|
3033
|
+
// it too. Emitting unconditionally would have a consumer that saves on every event send a
|
|
3034
|
+
// no-op request each time nothing actually moved.
|
|
3035
|
+
if (draggableIndex === oldDraggableIndex)
|
|
3036
|
+
return;
|
|
3037
|
+
// The same shape SortableJS gives `onEnd`, with the event that ended the move as
|
|
3038
|
+
// `originalEvent` -- not always a `KeyboardEvent`: a `FocusEvent` when focus leaves the row,
|
|
3039
|
+
// a `PointerEvent` for a pointerdown, or a `MouseEvent` for a browse-mode click.
|
|
3040
|
+
const detail = Object.assign(new CustomEvent('end', { bubbles: true, cancelable: true }), {
|
|
3041
|
+
item,
|
|
3042
|
+
from: this.el,
|
|
3043
|
+
to: this.el,
|
|
3044
|
+
oldIndex,
|
|
3045
|
+
newIndex: index,
|
|
3046
|
+
oldDraggableIndex,
|
|
3047
|
+
newDraggableIndex: draggableIndex,
|
|
3048
|
+
originalEvent,
|
|
3049
|
+
pullMode: undefined,
|
|
3050
|
+
});
|
|
3051
|
+
this.pdsSortableItemMoved.emit(detail);
|
|
3052
|
+
}
|
|
3053
|
+
cancel(announce = true) {
|
|
3054
|
+
const { item, oldDraggableIndex } = this.grabbed;
|
|
3055
|
+
this.release();
|
|
3056
|
+
// Items may have come or gone meanwhile, so go back as near the start as the list allows.
|
|
3057
|
+
this.moveTo(item, Math.min(oldDraggableIndex, this.items().length - 1), false);
|
|
3058
|
+
if (announce)
|
|
3059
|
+
this.announce(this.reorderCanceledLabel, item);
|
|
3060
|
+
}
|
|
3061
|
+
release() {
|
|
3062
|
+
var _a;
|
|
3063
|
+
this.grabbed.item.classList.remove(GRABBED_CLASS);
|
|
3064
|
+
(_a = this.focusTarget(this.grabbed.item)) === null || _a === void 0 ? void 0 : _a.setAttribute('aria-pressed', 'false');
|
|
3065
|
+
this.grabbed = null;
|
|
2720
3066
|
}
|
|
2721
3067
|
render() {
|
|
2722
3068
|
const classNames = this.classNames();
|
|
2723
3069
|
this.hostKeeper.record(classNames);
|
|
2724
|
-
return (h(Host, { key: '
|
|
3070
|
+
return (h(Host, { key: 'a1fb28574e3aa92a923c4baeecec690d4052601f', class: classNames, id: this.componentId, onFocusin: this.handleFocusIn, onFocusout: this.handleFocusOut, onKeyDown: this.handleKeyDown, onClick: this.handleClick }, h("slot", { key: 'b9a255d4f94a6b9976a4cac7e142e45210125828' })));
|
|
2725
3071
|
}
|
|
2726
3072
|
get el() { return getElement(this); }
|
|
2727
3073
|
static get watchers() { return {
|
|
2728
3074
|
"disabled": [{
|
|
2729
3075
|
"handleDisabledChange": 0
|
|
3076
|
+
}],
|
|
3077
|
+
"handleType": [{
|
|
3078
|
+
"handleHandleTypeChange": 0
|
|
3079
|
+
}],
|
|
3080
|
+
"handleLabel": [{
|
|
3081
|
+
"updateItems": 0
|
|
2730
3082
|
}]
|
|
2731
3083
|
}; }
|
|
2732
3084
|
};
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { r as registerInstance, c as createEvent, h, H as Host, a as getElement } from './index-4_RRPJTO.js';
|
|
2
|
-
import { e as exposeTypeProperty, i as isSpecTest,
|
|
3
|
-
import { b as danger } from './index-
|
|
4
|
-
import { H as HostStylingKeeper, i as inheritAriaAttributes } from './attributes-
|
|
2
|
+
import { e as exposeTypeProperty, i as isSpecTest, a as assignDescription, m as messageId } from './form-BuRbS7Hp.js';
|
|
3
|
+
import { b as danger } from './index-B0DXTeeV.js';
|
|
4
|
+
import { H as HostStylingKeeper, i as inheritAriaAttributes } from './attributes-CD8knu3a.js';
|
|
5
|
+
import { r as referencedElements } from './aria-references-CNn1lObg.js';
|
|
5
6
|
import './keep-hydrated-BgNaWLoS.js';
|
|
6
7
|
|
|
7
8
|
const labelCss = () => `:host{display:inline-block}:host([aria-disabled=true]) label{color:var(--pine-color-text-label-disabled)}:host([aria-readonly=true]) label{color:var(--pine-color-text-label-readonly)}label{color:var(--pine-color-text-label);font:var(--pine-typography-body-medium);letter-spacing:var(--pine-letter-spacing)}`;
|
|
@@ -14,8 +15,11 @@ const PdsSwitch = class {
|
|
|
14
15
|
this.pdsSwitchChange = createEvent(this, "pdsSwitchChange");
|
|
15
16
|
this.inheritedAttributes = {};
|
|
16
17
|
this._type = 'checkbox';
|
|
18
|
+
this.forwardsDescription = false;
|
|
17
19
|
this.hostKeeper = new HostStylingKeeper();
|
|
18
20
|
this.hasLabelSlot = false;
|
|
21
|
+
// Kept apart from the `disabled` prop so a fieldset never overwrites what the consumer set.
|
|
22
|
+
this.fieldsetDisabled = false;
|
|
19
23
|
/**
|
|
20
24
|
* Determines the input 'checked' state.
|
|
21
25
|
*/
|
|
@@ -33,7 +37,7 @@ const PdsSwitch = class {
|
|
|
33
37
|
*/
|
|
34
38
|
this.required = false;
|
|
35
39
|
this.onSwitchUpdate = (e) => {
|
|
36
|
-
if (this.
|
|
40
|
+
if (this.isDisabled())
|
|
37
41
|
return;
|
|
38
42
|
const input = e.target;
|
|
39
43
|
this.checked = input.checked;
|
|
@@ -53,10 +57,40 @@ const PdsSwitch = class {
|
|
|
53
57
|
}
|
|
54
58
|
return switchClasses;
|
|
55
59
|
};
|
|
60
|
+
// An ID on the host can't reach into the shadow root, so the input is pointed at the elements the host's
|
|
61
|
+
// aria-describedby names, followed by its own helper or error message. A browser without ARIA element
|
|
62
|
+
// reflection keeps the input's own message only.
|
|
63
|
+
this.forwardDescription = () => {
|
|
64
|
+
var _a;
|
|
65
|
+
const input = this.inputEl;
|
|
66
|
+
if (input === undefined || !('ariaDescribedByElements' in input))
|
|
67
|
+
return;
|
|
68
|
+
const ownId = this.ownDescriptionId();
|
|
69
|
+
const referenced = referencedElements(this.el, 'aria-describedby');
|
|
70
|
+
if (referenced.length === 0) {
|
|
71
|
+
if (!this.forwardsDescription)
|
|
72
|
+
return;
|
|
73
|
+
this.forwardsDescription = false;
|
|
74
|
+
// Setting the element property cleared the attribute render wrote, so put that back.
|
|
75
|
+
if (ownId !== undefined) {
|
|
76
|
+
input.setAttribute('aria-describedby', ownId);
|
|
77
|
+
}
|
|
78
|
+
else {
|
|
79
|
+
input.removeAttribute('aria-describedby');
|
|
80
|
+
}
|
|
81
|
+
return;
|
|
82
|
+
}
|
|
83
|
+
const own = ownId === undefined ? null : (_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.getElementById(ownId);
|
|
84
|
+
input.ariaDescribedByElements = own == null ? referenced : [...referenced, own];
|
|
85
|
+
this.forwardsDescription = true;
|
|
86
|
+
};
|
|
56
87
|
this.updateHasLabelSlot = () => {
|
|
57
88
|
this.hasLabelSlot = Array.from(this.el.children).some((child) => child.getAttribute('slot') === 'label');
|
|
58
89
|
};
|
|
59
90
|
}
|
|
91
|
+
isDisabled() {
|
|
92
|
+
return this.disabled || this.fieldsetDisabled;
|
|
93
|
+
}
|
|
60
94
|
connectedCallback() {
|
|
61
95
|
this.hostKeeper.connect(this.el);
|
|
62
96
|
// Initialize ElementInternals for form association (only once per element instance)
|
|
@@ -65,28 +99,58 @@ const PdsSwitch = class {
|
|
|
65
99
|
}
|
|
66
100
|
// Expose type property on the element instance to match native form element behavior
|
|
67
101
|
exposeTypeProperty(this.el, () => this._type);
|
|
102
|
+
// A reconnected switch may sit in a different tree, where its description IDs name other elements.
|
|
103
|
+
this.forwardDescription();
|
|
104
|
+
if (typeof MutationObserver === 'undefined')
|
|
105
|
+
return;
|
|
106
|
+
// Consumers set aria-describedby on the host, sometimes after render, but only the inner input is announced.
|
|
107
|
+
this.hostDescriptionObserver = new MutationObserver(this.forwardDescription);
|
|
108
|
+
this.hostDescriptionObserver.observe(this.el, { attributeFilter: ['aria-describedby'] });
|
|
68
109
|
}
|
|
69
110
|
disconnectedCallback() {
|
|
111
|
+
var _a;
|
|
70
112
|
this.hostKeeper.disconnect();
|
|
113
|
+
(_a = this.hostDescriptionObserver) === null || _a === void 0 ? void 0 : _a.disconnect();
|
|
114
|
+
this.hostDescriptionObserver = undefined;
|
|
115
|
+
}
|
|
116
|
+
componentDidRender() {
|
|
117
|
+
this.forwardDescription();
|
|
71
118
|
}
|
|
72
119
|
componentDidLoad() {
|
|
73
120
|
this.updateFormValue();
|
|
74
121
|
}
|
|
75
|
-
|
|
122
|
+
syncFormValue() {
|
|
76
123
|
this.updateFormValue();
|
|
77
124
|
}
|
|
78
125
|
updateFormValue() {
|
|
79
126
|
if (isSpecTest())
|
|
80
127
|
return;
|
|
81
128
|
if (this.internals && this.internals.setFormValue) {
|
|
82
|
-
//
|
|
83
|
-
|
|
84
|
-
this.internals.setFormValue(formValue);
|
|
129
|
+
// The restoration state always carries the checked value, even while disabled, so a bfcache or
|
|
130
|
+
// back-forward restore can bring back a checked-then-disabled switch instead of losing it to a null state.
|
|
131
|
+
this.internals.setFormValue(this.formValue(), this.checkedValue());
|
|
85
132
|
}
|
|
86
133
|
if (this.internals && this.internals.setValidity) {
|
|
87
134
|
this.internals.setValidity({});
|
|
88
135
|
}
|
|
89
136
|
}
|
|
137
|
+
// Unchecked sends uncheckedValue when set, even an empty string, otherwise nothing. Disabled sends nothing, like a
|
|
138
|
+
// native checkbox: the platform only leaves out a host with the disabled attribute present, which is also how
|
|
139
|
+
// React's own custom-element attribute serialization writes it.
|
|
140
|
+
formValue() {
|
|
141
|
+
if (this.isDisabled())
|
|
142
|
+
return null;
|
|
143
|
+
return this.checkedValue();
|
|
144
|
+
}
|
|
145
|
+
checkedValue() {
|
|
146
|
+
var _a;
|
|
147
|
+
if (this.checked)
|
|
148
|
+
return this.value || 'on';
|
|
149
|
+
return (_a = this.uncheckedValue) !== null && _a !== void 0 ? _a : null;
|
|
150
|
+
}
|
|
151
|
+
ownDescriptionId() {
|
|
152
|
+
return assignDescription(this.componentId, this.invalid, this.helperMessage, this.errorMessage);
|
|
153
|
+
}
|
|
90
154
|
formStateRestoreCallback(state) {
|
|
91
155
|
if (state instanceof FormData) {
|
|
92
156
|
// For switches, restore if the value exists in FormData
|
|
@@ -106,27 +170,40 @@ const PdsSwitch = class {
|
|
|
106
170
|
// literal string "false" (a consumer's or React's attribute serialization can write that) —
|
|
107
171
|
// the platform treats any value as disabled, independent of fieldset state. A real disabled
|
|
108
172
|
// fieldset ancestor confirms this is genuinely that, not this element's own attribute.
|
|
109
|
-
|
|
110
|
-
return;
|
|
111
|
-
this.disabled = disabled;
|
|
173
|
+
this.fieldsetDisabled = disabled && this.el.closest('fieldset[disabled]') !== null;
|
|
112
174
|
}
|
|
113
175
|
componentWillLoad() {
|
|
114
|
-
this.inheritedAttributes = Object.assign({}, inheritAriaAttributes(this.el));
|
|
176
|
+
this.inheritedAttributes = Object.assign({}, inheritAriaAttributes(this.el, ['aria-describedby']));
|
|
115
177
|
this.updateHasLabelSlot();
|
|
116
178
|
}
|
|
117
179
|
render() {
|
|
118
180
|
const hostClass = this.switchClassNames();
|
|
119
|
-
const ariaDisabled = this.
|
|
181
|
+
const ariaDisabled = this.isDisabled() ? 'true' : null;
|
|
120
182
|
this.hostKeeper.record(hostClass, {}, { 'aria-disabled': ariaDisabled });
|
|
121
|
-
return (h(Host, { key: '
|
|
122
|
-
|
|
123
|
-
|
|
183
|
+
return (h(Host, { key: 'e5100ae3ecfac3bb556582507cc628b2455ae6cc', class: hostClass, "aria-disabled": ariaDisabled }, h("label", { key: 'c337b8c4dc381c3a745100c707792c11711c01a1', htmlFor: this.componentId }, h("input", Object.assign({ key: 'f18ae27e7c91ef4d54b0192a04130420b991c9ff', "aria-describedby": this.ownDescriptionId(), "aria-invalid": this.invalid ? "true" : undefined, checked: this.checked, class: "pds-switch__input", disabled: this.isDisabled(), id: this.componentId, name: this.name ? this.name : this.componentId, onChange: this.onSwitchUpdate,
|
|
184
|
+
// A description added after the switch, or replaced by a framework or a DOM morph, is picked up by the
|
|
185
|
+
// time focus reaches the switch and it's announced.
|
|
186
|
+
onFocus: this.forwardDescription, ref: (el) => (this.inputEl = el), required: this.required, type: "checkbox", value: this.value }, this.inheritedAttributes)), h("span", { key: '4bddfc080db7fee6fa8080e890918757dacde3fb', class: this.hideLabel ? 'visually-hidden' : '' }, h("slot", { key: 'c9302409719113e12f6debb426c78dd0caaee88a', name: "label", onSlotchange: this.updateHasLabelSlot }), !this.hasLabelSlot && this.label)), this.helperMessage &&
|
|
187
|
+
h("div", { key: '60785b9779cb2d50e6f0f2b32179106256f55ebf', class: `pds-switch__message`, id: messageId(this.componentId, 'helper') }, this.helperMessage), this.errorMessage &&
|
|
188
|
+
h("div", { key: '9b258e9302c5ef959e8c06bee780d7d43144359b', class: `pds-switch__message pds-switch__message--error`, id: messageId(this.componentId, 'error'), "aria-live": "assertive" }, h("pds-icon", { key: 'f8df779a8c65a6f0b6ea139ff3c31cca76eb48fa', "aria-hidden": "true", icon: danger, size: "small" }), this.errorMessage)));
|
|
124
189
|
}
|
|
125
190
|
static get formAssociated() { return true; }
|
|
126
191
|
get el() { return getElement(this); }
|
|
127
192
|
static get watchers() { return {
|
|
128
193
|
"checked": [{
|
|
129
|
-
"
|
|
194
|
+
"syncFormValue": 0
|
|
195
|
+
}],
|
|
196
|
+
"disabled": [{
|
|
197
|
+
"syncFormValue": 0
|
|
198
|
+
}],
|
|
199
|
+
"fieldsetDisabled": [{
|
|
200
|
+
"syncFormValue": 0
|
|
201
|
+
}],
|
|
202
|
+
"uncheckedValue": [{
|
|
203
|
+
"syncFormValue": 0
|
|
204
|
+
}],
|
|
205
|
+
"value": [{
|
|
206
|
+
"syncFormValue": 0
|
|
130
207
|
}]
|
|
131
208
|
}; }
|
|
132
209
|
};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { r as registerInstance, c as createEvent, h, F as Fragment, H as Host, a as getElement } from './index-4_RRPJTO.js';
|
|
2
|
-
import { H as HostStylingKeeper } from './attributes-
|
|
2
|
+
import { H as HostStylingKeeper } from './attributes-CD8knu3a.js';
|
|
3
3
|
import { u as unwrapReconnectedContent } from './reconnected-content-RFpTWV6r.js';
|
|
4
4
|
import './keep-hydrated-BgNaWLoS.js';
|
|
5
5
|
|
|
@@ -8,7 +8,7 @@ const PdsTableBody = class {
|
|
|
8
8
|
registerInstance(this, hostRef);
|
|
9
9
|
}
|
|
10
10
|
render() {
|
|
11
|
-
return (h(Host, { key: '
|
|
11
|
+
return (h(Host, { key: '4b4da65979e3d3557d05cb9aff8d257d29e2c0a5', role: "rowgroup", part: "body" }, h("slot", { key: '70dcd401a705a430c54c57bf994a410a636c4a53' })));
|
|
12
12
|
}
|
|
13
13
|
};
|
|
14
14
|
PdsTableBody.style = pdsTableBodyCss();
|