@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
|
@@ -54,12 +54,35 @@ export function builtInPresetRange(key, now) {
|
|
|
54
54
|
return null;
|
|
55
55
|
}
|
|
56
56
|
}
|
|
57
|
+
const isWholeNumber = (value) => typeof value === 'number' && Number.isInteger(value);
|
|
58
|
+
/** A preset's offset range: whole days from today, a missing or `null` one being today. `null` if unusable. */
|
|
59
|
+
export function offsetPresetRange(preset, now) {
|
|
60
|
+
const { startOffset, endOffset } = preset;
|
|
61
|
+
// Checked at runtime, as offsets often come from JSON, where a missing one is often written `null`.
|
|
62
|
+
if (startOffset == null && endOffset == null)
|
|
63
|
+
return null;
|
|
64
|
+
if (startOffset != null && !isWholeNumber(startOffset))
|
|
65
|
+
return null;
|
|
66
|
+
if (endOffset != null && !isWholeNumber(endOffset))
|
|
67
|
+
return null;
|
|
68
|
+
const start = addDays(now, startOffset !== null && startOffset !== void 0 ? startOffset : 0);
|
|
69
|
+
const end = addDays(now, endOffset !== null && endOffset !== void 0 ? endOffset : 0);
|
|
70
|
+
return start <= end ? [start, end] : null;
|
|
71
|
+
}
|
|
72
|
+
// The list is re-resolved on every read, so each warning is said once.
|
|
73
|
+
const warned = new Set();
|
|
74
|
+
function warnOnce(message) {
|
|
75
|
+
if (warned.has(message))
|
|
76
|
+
return;
|
|
77
|
+
warned.add(message);
|
|
78
|
+
console.warn(`PDS Datepicker: ${message}`);
|
|
79
|
+
}
|
|
57
80
|
/**
|
|
58
81
|
* Normalizes the `presets` prop: a comma-separated list of built-in keys, or an array of presets
|
|
59
|
-
* that may relabel a built-in
|
|
60
|
-
* resolve to no range are dropped.
|
|
82
|
+
* that may relabel a built-in or give their own range. Unusable entries are dropped with a warning.
|
|
61
83
|
*/
|
|
62
84
|
export function resolvePresets(presets, now) {
|
|
85
|
+
var _a;
|
|
63
86
|
const entries = typeof presets === 'string'
|
|
64
87
|
? presets
|
|
65
88
|
.split(',')
|
|
@@ -73,14 +96,26 @@ export function resolvePresets(presets, now) {
|
|
|
73
96
|
for (const preset of entries) {
|
|
74
97
|
// Presets often come from parsed JSON, so check types at runtime: a non-string label would
|
|
75
98
|
// otherwise reach the render as an object, which Stencil can turn into nodes.
|
|
76
|
-
if (!preset || typeof preset.key !== 'string')
|
|
99
|
+
if (!preset || typeof preset.key !== 'string') {
|
|
100
|
+
warnOnce('a preset with no string key was left out.');
|
|
77
101
|
continue;
|
|
102
|
+
}
|
|
78
103
|
const start = typeof preset.start === 'string' ? parseIsoDate(preset.start) : null;
|
|
79
104
|
const end = typeof preset.end === 'string' ? parseIsoDate(preset.end) : null;
|
|
80
|
-
|
|
81
|
-
const
|
|
82
|
-
|
|
83
|
-
|
|
105
|
+
// Fixed days, then offsets, then the built-in range.
|
|
106
|
+
const fixed = start !== null && end !== null && start <= end ? [start, end] : null;
|
|
107
|
+
const range = (_a = fixed !== null && fixed !== void 0 ? fixed : offsetPresetRange(preset, now)) !== null && _a !== void 0 ? _a : builtInPresetRange(preset.key, now);
|
|
108
|
+
// A blank label would leave the button unnamed.
|
|
109
|
+
const label = typeof preset.label === 'string' && preset.label.trim() !== '' ? preset.label : DEFAULT_LABELS[preset.key];
|
|
110
|
+
if (range === null) {
|
|
111
|
+
warnOnce(`preset "${preset.key}" has no usable range and was left out. Give it whole-day startOffset/endOffset or YYYY-MM-DD start/end, start first.`);
|
|
112
|
+
continue;
|
|
113
|
+
}
|
|
114
|
+
if (label === undefined) {
|
|
115
|
+
warnOnce(`preset "${preset.key}" has no label and was left out.`);
|
|
116
|
+
continue;
|
|
117
|
+
}
|
|
118
|
+
resolved.push({ key: preset.key, label, start: range[0], end: range[1] });
|
|
84
119
|
}
|
|
85
120
|
return resolved;
|
|
86
121
|
}
|
|
@@ -17,6 +17,7 @@ export default {
|
|
|
17
17
|
max: null,
|
|
18
18
|
min: null,
|
|
19
19
|
minuteIncrement: 1,
|
|
20
|
+
monthDay: false,
|
|
20
21
|
name: null,
|
|
21
22
|
presets: null,
|
|
22
23
|
range: false,
|
|
@@ -66,6 +67,7 @@ const BaseTemplate = (args) => html`<pds-datepicker
|
|
|
66
67
|
max=${ifDefined(args.max ?? undefined)}
|
|
67
68
|
min=${ifDefined(args.min ?? undefined)}
|
|
68
69
|
minute-increment=${ifDefined(args.minuteIncrement ?? undefined)}
|
|
70
|
+
?month-day=${args.monthDay}
|
|
69
71
|
name=${ifDefined(args.name ?? undefined)}
|
|
70
72
|
placeholder=${ifDefined(args.placeholder ?? undefined)}
|
|
71
73
|
placement=${ifDefined(args.placement ?? undefined)}
|
|
@@ -161,6 +163,15 @@ MonthAndYearDropdowns.args = {
|
|
|
161
163
|
showDropdowns: true,
|
|
162
164
|
};
|
|
163
165
|
|
|
166
|
+
export const MonthDay = BaseTemplate.bind({});
|
|
167
|
+
MonthDay.args = {
|
|
168
|
+
componentId: 'pds-datepicker-month-day-example',
|
|
169
|
+
format: null,
|
|
170
|
+
label: 'Birthday',
|
|
171
|
+
monthDay: true,
|
|
172
|
+
value: '--11-07',
|
|
173
|
+
};
|
|
174
|
+
|
|
164
175
|
export const InitiallyEmptyWithClear = BaseTemplate.bind({});
|
|
165
176
|
InitiallyEmptyWithClear.args = {
|
|
166
177
|
clearable: true,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { parseIsoDate, toIsoDate } from "./date-utils";
|
|
1
|
+
import { MONTH_DAY_YEAR, dateFormatter, inMonthDayYear, parseIsoDate, parseMonthDay, toIsoDate } from "./date-utils";
|
|
2
2
|
const DATE_TIME = /^(\d{4}-\d{2}-\d{2})(?:[T ](\d{2}):(\d{2}))?$/;
|
|
3
3
|
/** Parses `YYYY-MM-DD`, `YYYY-MM-DDTHH:mm` or `YYYY-MM-DD HH:mm`. */
|
|
4
4
|
export function parseDateTime(text) {
|
|
@@ -47,32 +47,50 @@ const wordsCache = new Map();
|
|
|
47
47
|
function localeWords(locale) {
|
|
48
48
|
let words = wordsCache.get(locale);
|
|
49
49
|
if (!words) {
|
|
50
|
-
const month = (style) => {
|
|
51
|
-
const format = new Intl.DateTimeFormat(locale, {
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
50
|
+
const month = (style, withDay) => {
|
|
51
|
+
const format = new Intl.DateTimeFormat(locale, Object.assign(Object.assign({ month: style }, (withDay ? { day: 'numeric' } : {})), { timeZone: 'UTC', calendar: 'gregory' }));
|
|
52
|
+
return Array.from({ length: 12 }, (_, m) => {
|
|
53
|
+
const date = new Date(Date.UTC(2023, m, 1));
|
|
54
|
+
if (!withDay)
|
|
55
|
+
return format.format(date);
|
|
56
|
+
const parts = format.formatToParts(date);
|
|
57
|
+
const index = parts.findIndex((part) => part.type === 'month');
|
|
58
|
+
if (index === -1)
|
|
59
|
+
return format.format(date);
|
|
60
|
+
// CJK locales split a counter word, as Japanese `月`, into its own literal right after the
|
|
61
|
+
// month; a literal with no space is that word, not the separator before the day.
|
|
62
|
+
const suffix = parts[index + 1];
|
|
63
|
+
return (suffix === null || suffix === void 0 ? void 0 : suffix.type) === 'literal' && !/\s/.test(suffix.value) ? parts[index].value + suffix.value : parts[index].value;
|
|
55
64
|
});
|
|
56
|
-
return Array.from({ length: 12 }, (_, m) => format.format(new Date(Date.UTC(2023, m, 1))));
|
|
57
65
|
};
|
|
58
66
|
const clock = clockFor(locale);
|
|
59
|
-
words = {
|
|
67
|
+
words = {
|
|
68
|
+
months: month('long', false),
|
|
69
|
+
shortMonths: month('short', false),
|
|
70
|
+
monthsWithDay: month('long', true),
|
|
71
|
+
shortMonthsWithDay: month('short', true),
|
|
72
|
+
am: clock.am,
|
|
73
|
+
pm: clock.pm,
|
|
74
|
+
};
|
|
60
75
|
wordsCache.set(locale, words);
|
|
61
76
|
}
|
|
62
77
|
return words;
|
|
63
78
|
}
|
|
79
|
+
/** Whether a format's tokens (see `tokensOnly`) have a day, so a month name should inflect for one. */
|
|
80
|
+
const hasDayToken = (tokens) => /D/.test(tokens);
|
|
64
81
|
/** Writes a date in a format of tokens (see `FORMAT_PARTS`), with month names and AM/PM in the locale. */
|
|
65
82
|
export function formatWith(value, format, locale = 'en-US') {
|
|
66
83
|
var _a;
|
|
67
84
|
const words = localeWords(locale);
|
|
85
|
+
const withDay = hasDayToken(tokensOnly(format));
|
|
68
86
|
const [hours, minutes] = splitTime((_a = value.time) !== null && _a !== void 0 ? _a : '00:00');
|
|
69
87
|
const hour12 = hours % 12 || 12;
|
|
70
88
|
const month = value.date.getUTCMonth();
|
|
71
89
|
const period = hours < 12 ? words.am : words.pm;
|
|
72
90
|
const parts = {
|
|
73
91
|
YYYY: pad(value.date.getUTCFullYear(), 4),
|
|
74
|
-
MMMM: words.months[month],
|
|
75
|
-
MMM: words.shortMonths[month],
|
|
92
|
+
MMMM: withDay ? words.monthsWithDay[month] : words.months[month],
|
|
93
|
+
MMM: withDay ? words.shortMonthsWithDay[month] : words.shortMonths[month],
|
|
76
94
|
MM: pad(month + 1),
|
|
77
95
|
M: String(month + 1),
|
|
78
96
|
DD: pad(value.date.getUTCDate()),
|
|
@@ -94,17 +112,23 @@ const alternatives = (words) => `(${words.map(escapeRegExp).join('|')})`;
|
|
|
94
112
|
/**
|
|
95
113
|
* Reads typed text in a format of tokens, as written by `formatWith`. Leading zeros are optional,
|
|
96
114
|
* spaces are loose, and month names and AM/PM are matched without regard to case, in the locale or
|
|
97
|
-
* in English.
|
|
115
|
+
* in English. A format without `YYYY` reads into `year`, and without `year` it reads nothing.
|
|
116
|
+
* Returns `null` for anything that isn't a real date and time in that format.
|
|
98
117
|
*/
|
|
99
|
-
export function parseWith(text, format, locale = 'en-US') {
|
|
118
|
+
export function parseWith(text, format, locale = 'en-US', year) {
|
|
100
119
|
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
|
|
101
120
|
const words = localeWords(locale);
|
|
102
121
|
const english = localeWords('en-US');
|
|
122
|
+
const withDay = hasDayToken(tokensOnly(format));
|
|
123
|
+
const months = withDay ? words.monthsWithDay : words.months;
|
|
124
|
+
const shortMonths = withDay ? words.shortMonthsWithDay : words.shortMonths;
|
|
125
|
+
const englishMonths = withDay ? english.monthsWithDay : english.months;
|
|
126
|
+
const englishShortMonths = withDay ? english.shortMonthsWithDay : english.shortMonths;
|
|
103
127
|
const periods = [words.am, words.pm, english.am, english.pm];
|
|
104
128
|
const patterns = {
|
|
105
129
|
YYYY: '(\\d{4})',
|
|
106
|
-
MMMM: alternatives([...
|
|
107
|
-
MMM: alternatives([...
|
|
130
|
+
MMMM: alternatives([...months, ...englishMonths]),
|
|
131
|
+
MMM: alternatives([...shortMonths, ...englishShortMonths]),
|
|
108
132
|
MM: '(\\d{1,2})',
|
|
109
133
|
M: '(\\d{1,2})',
|
|
110
134
|
DD: '(\\d{1,2})',
|
|
@@ -151,7 +175,7 @@ export function parseWith(text, format, locale = 'en-US') {
|
|
|
151
175
|
const monthIndex = (name, long) => {
|
|
152
176
|
if (name === undefined)
|
|
153
177
|
return undefined;
|
|
154
|
-
const lists = long ? [
|
|
178
|
+
const lists = long ? [months, englishMonths] : [shortMonths, englishShortMonths];
|
|
155
179
|
for (const list of lists) {
|
|
156
180
|
const index = list.findIndex((candidate) => candidate.toLowerCase() === name.toLowerCase());
|
|
157
181
|
if (index >= 0)
|
|
@@ -159,12 +183,12 @@ export function parseWith(text, format, locale = 'en-US') {
|
|
|
159
183
|
}
|
|
160
184
|
return undefined;
|
|
161
185
|
};
|
|
162
|
-
const
|
|
186
|
+
const readYear = read.YYYY ? Number(read.YYYY) : year;
|
|
163
187
|
const month = (_b = (_a = monthIndex(read.MMMM, true)) !== null && _a !== void 0 ? _a : monthIndex(read.MMM, false)) !== null && _b !== void 0 ? _b : Number((_c = read.MM) !== null && _c !== void 0 ? _c : read.M);
|
|
164
188
|
const day = Number((_d = read.DD) !== null && _d !== void 0 ? _d : read.D);
|
|
165
|
-
if (
|
|
189
|
+
if (readYear === undefined || !month || !day)
|
|
166
190
|
return null;
|
|
167
|
-
const date = parseIsoDate(`${pad(
|
|
191
|
+
const date = parseIsoDate(`${pad(readYear, 4)}-${pad(month)}-${pad(day)}`);
|
|
168
192
|
if (!date)
|
|
169
193
|
return null;
|
|
170
194
|
const hourText = (_g = (_f = (_e = read.HH) !== null && _e !== void 0 ? _e : read.H) !== null && _f !== void 0 ? _f : read.hh) !== null && _g !== void 0 ? _g : read.h;
|
|
@@ -186,6 +210,40 @@ export function parseFieldText(text, format = DEFAULT_FORMAT, locale = 'en-US')
|
|
|
186
210
|
var _a;
|
|
187
211
|
return (_a = parseWith(text, format, locale)) !== null && _a !== void 0 ? _a : parseDateTime(text);
|
|
188
212
|
}
|
|
213
|
+
/**
|
|
214
|
+
* The locale's way of writing a month and day, as a format of tokens: `MMMM D` in English, `D MMMM`
|
|
215
|
+
* in French, `M月D日` in Japanese, or with `numeric`, `M/D` and `D/M`.
|
|
216
|
+
*/
|
|
217
|
+
export function monthDayFormat(locale = 'en-US', month = 'long') {
|
|
218
|
+
const parts = dateFormatter(locale, { month, day: 'numeric' }).formatToParts(new Date(Date.UTC(MONTH_DAY_YEAR, 11, 31)));
|
|
219
|
+
return parts
|
|
220
|
+
.map((part) => {
|
|
221
|
+
// Some locales write even the long month in digits, as Japanese `12月31日`.
|
|
222
|
+
if (part.type === 'month')
|
|
223
|
+
return /^\d+$/.test(part.value) ? 'M' : 'MMMM';
|
|
224
|
+
if (part.type === 'day')
|
|
225
|
+
return 'D';
|
|
226
|
+
// Bracketed, spaces included, only when it has letters a token could be read from, as
|
|
227
|
+
// Spanish `D[ de ]MMMM`.
|
|
228
|
+
return /[A-Za-z]/.test(part.value) ? `[${part.value}]` : part.value;
|
|
229
|
+
})
|
|
230
|
+
.join('');
|
|
231
|
+
}
|
|
232
|
+
/**
|
|
233
|
+
* Reads a typed month and day, into month-day mode's year: in the format, then as the locale writes
|
|
234
|
+
* it with a month name or in numbers, with the English order too, then as `--MM-DD` or a full ISO
|
|
235
|
+
* date, whose year is dropped.
|
|
236
|
+
*/
|
|
237
|
+
export function parseMonthDayText(text, format, locale = 'en-US') {
|
|
238
|
+
const formats = [format, monthDayFormat(locale), monthDayFormat(locale, 'numeric'), 'MMMM D', 'D MMMM', 'MMM D', 'D MMM'];
|
|
239
|
+
for (const candidate of formats) {
|
|
240
|
+
const read = parseWith(text, candidate, locale, MONTH_DAY_YEAR);
|
|
241
|
+
if (read)
|
|
242
|
+
return { date: inMonthDayYear(read.date), time: null };
|
|
243
|
+
}
|
|
244
|
+
const date = parseMonthDay(text);
|
|
245
|
+
return date ? { date, time: null } : null;
|
|
246
|
+
}
|
|
189
247
|
/**
|
|
190
248
|
* Parses a typed range: two dates (with times, optionally) joined by a dash or `to` with spaces
|
|
191
249
|
* around it, as `2026-09-13 – 2026-10-13`, or by `/` when the format doesn't use slashes. The
|
|
@@ -1,10 +1,7 @@
|
|
|
1
1
|
import { h } from "@stencil/core";
|
|
2
2
|
import { unwrapReconnectedContent } from "../../../utils/reconnected-content";
|
|
3
3
|
/**
|
|
4
|
-
* Fills the
|
|
5
|
-
* which caps itself against the viewport for a centered, possibly-shorter
|
|
6
|
-
* modal, a drawer panel is already edge-to-edge, so its content can simply
|
|
7
|
-
* flex to fill whatever space the header and footer leave.
|
|
4
|
+
* Fills the space between the drawer header and footer.
|
|
8
5
|
* @lightDom renders-markup
|
|
9
6
|
*/
|
|
10
7
|
export class PdsDrawerContent {
|
|
@@ -13,7 +10,7 @@ export class PdsDrawerContent {
|
|
|
13
10
|
unwrapReconnectedContent(this.el.querySelector('.pds-drawer-content'), '.pds-drawer-content');
|
|
14
11
|
}
|
|
15
12
|
render() {
|
|
16
|
-
return (h("div", { key: '
|
|
13
|
+
return (h("div", { key: '0d59724de849bc2364d88c4460f70f8b1efa5d1b', class: "pds-drawer-content" }, h("slot", { key: '83782b9b4ad99f8075809c9e63d8351fa6109b11' })));
|
|
17
14
|
}
|
|
18
15
|
static get is() { return "pds-drawer-content"; }
|
|
19
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 drawer's actions in a padded row aligned to the end, with a divider above.
|
|
4
5
|
* @lightDom renders-markup
|
|
5
6
|
*/
|
|
6
7
|
export class PdsDrawerFooter {
|
|
@@ -9,7 +10,7 @@ export class PdsDrawerFooter {
|
|
|
9
10
|
unwrapReconnectedContent(this.el.querySelector('.pds-drawer__footer'), '.pds-drawer__footer');
|
|
10
11
|
}
|
|
11
12
|
render() {
|
|
12
|
-
return (h("footer", { key: '
|
|
13
|
+
return (h("footer", { key: '1345b87580b1931d7c541fac71c0dff33b6cfbf9', class: "pds-drawer__footer" }, h("slot", { key: '638fa6bd14d28e814e0e40b02efb1b74f89f51dd' })));
|
|
13
14
|
}
|
|
14
15
|
static get is() { return "pds-drawer-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 drawer's title and close control in a padded row, spaced apart, with a divider below.
|
|
4
5
|
* @lightDom renders-markup
|
|
5
6
|
*/
|
|
6
7
|
export class PdsDrawerHeader {
|
|
@@ -9,7 +10,7 @@ export class PdsDrawerHeader {
|
|
|
9
10
|
unwrapReconnectedContent(this.el.querySelector('.pds-drawer__header'), '.pds-drawer__header');
|
|
10
11
|
}
|
|
11
12
|
render() {
|
|
12
|
-
return (h("header", { key: '
|
|
13
|
+
return (h("header", { key: '6354f36d59e608a85c3cb75d1e5cf04c48dd7045', class: "pds-drawer__header" }, h("slot", { key: '2c9d8a405c8850588377553f3d9a19790828cba7' })));
|
|
13
14
|
}
|
|
14
15
|
static get is() { return "pds-drawer-header"; }
|
|
15
16
|
static get originalStyleUrls() {
|
|
@@ -12,7 +12,7 @@ const PORTALED_OVERLAY_SELECTOR = '.pds-popover, .pds-tooltip, .pds-combobox-dro
|
|
|
12
12
|
* A side panel composed from `pds-modal`, non-modal by default.
|
|
13
13
|
*
|
|
14
14
|
* By default, unlike `pds-modal`, the page stays interactive while a drawer
|
|
15
|
-
* is open: no dimming, no blur, no
|
|
15
|
+
* is open: no dimming, no blur, no click blocking.
|
|
16
16
|
* `pds-drawer` renders a `pds-modal` internally with `disableTopLayer` on and
|
|
17
17
|
* its backdrop suppressed, and adds the edge, width and dismiss behavior a
|
|
18
18
|
* side panel needs on top. With `modal`, it opens that `pds-modal` in the top
|
|
@@ -28,8 +28,8 @@ export class PdsDrawer {
|
|
|
28
28
|
*/
|
|
29
29
|
this.open = false;
|
|
30
30
|
/**
|
|
31
|
-
* Which edge of the viewport the drawer is docked to. Logical
|
|
32
|
-
*
|
|
31
|
+
* Which edge of the viewport the drawer is docked to. Logical: `end` is the
|
|
32
|
+
* inline-end edge, so an `end` drawer docks on the left in right-to-left layouts.
|
|
33
33
|
* @default 'end'
|
|
34
34
|
*/
|
|
35
35
|
this.side = 'end';
|
|
@@ -55,9 +55,7 @@ export class PdsDrawer {
|
|
|
55
55
|
/**
|
|
56
56
|
* Whether the drawer can be dismissed with a pointerdown outside it (in a
|
|
57
57
|
* `modal` drawer, a click on its backdrop).
|
|
58
|
-
*
|
|
59
|
-
* This also gates Escape, matching how `backdropDismiss` gates Escape on
|
|
60
|
-
* `pds-modal` today: setting this to `false` means the close button is the
|
|
58
|
+
* Setting it to `false` also turns off Escape, so the close button is the
|
|
61
59
|
* only way out.
|
|
62
60
|
*
|
|
63
61
|
* A trigger outside the drawer should only ever set `open` to `true` and
|
|
@@ -148,11 +146,11 @@ export class PdsDrawer {
|
|
|
148
146
|
this.open = false;
|
|
149
147
|
}
|
|
150
148
|
render() {
|
|
151
|
-
return (h(Host, { key: '
|
|
149
|
+
return (h(Host, { key: 'dda3f1dc3013f28a3fc8d1894609dd4b14d227ee', class: {
|
|
152
150
|
'pds-drawer': true,
|
|
153
151
|
[`pds-drawer--${this.side}`]: true,
|
|
154
152
|
[`pds-drawer--${this.size}`]: true,
|
|
155
|
-
} }, h("pds-modal", { key: '
|
|
153
|
+
} }, h("pds-modal", { key: '3188b99ffb9b3ecb3eeb42fd3ba808d71c652b4f', class: { 'pds-drawer__modal': true, 'pds-drawer__modal--modal': this.modal }, ref: (el) => (this.modalEl = el), componentId: this.componentId, open: this.open, scrollable: this.scrollable, disableTopLayer: !this.modal, backdropDismiss: this.lightDismiss, disableInitialFocus: !this.modal && this.initialFocus === 'none' }, h("slot", { key: 'ca4cd34297b4580d554edb45bfbec5b44d7d1fb0' }))));
|
|
156
154
|
}
|
|
157
155
|
static get is() { return "pds-drawer"; }
|
|
158
156
|
static get originalStyleUrls() {
|
|
@@ -224,7 +222,7 @@ export class PdsDrawer {
|
|
|
224
222
|
"name": "default",
|
|
225
223
|
"text": "'end'"
|
|
226
224
|
}],
|
|
227
|
-
"text": "Which edge of the viewport the drawer is docked to. Logical
|
|
225
|
+
"text": "Which edge of the viewport the drawer is docked to. Logical: `end` is the\ninline-end edge, so an `end` drawer docks on the left in right-to-left layouts."
|
|
228
226
|
},
|
|
229
227
|
"getter": false,
|
|
230
228
|
"setter": false,
|
|
@@ -316,7 +314,7 @@ export class PdsDrawer {
|
|
|
316
314
|
"name": "default",
|
|
317
315
|
"text": "true"
|
|
318
316
|
}],
|
|
319
|
-
"text": "Whether the drawer can be dismissed with a pointerdown outside it (in a\n`modal` drawer, a click on its backdrop).\
|
|
317
|
+
"text": "Whether the drawer can be dismissed with a pointerdown outside it (in a\n`modal` drawer, a click on its backdrop).\nSetting it to `false` also turns off Escape, so the close button is the\nonly way out.\n\nA trigger outside the drawer should only ever set `open` to `true` and\nleave closing to the drawer itself. A toggle-style trigger (`open =\n!open`) fights light dismiss: clicking it while open closes the drawer\non `pointerdown`, then the trigger's own click handler re-opens it."
|
|
320
318
|
},
|
|
321
319
|
"getter": false,
|
|
322
320
|
"setter": false,
|
|
@@ -34,14 +34,19 @@
|
|
|
34
34
|
background-color: var(--pine-color-background-muted);
|
|
35
35
|
color: var(--pine-color-text-hover);
|
|
36
36
|
}
|
|
37
|
-
.pds-dropdown-menu-item__content {
|
|
38
|
-
/* Focus styles applied via class + browser focus */
|
|
39
|
-
}
|
|
40
|
-
.pds-dropdown-menu-item__content:focus, .pds-dropdown-menu-item__content:focus-visible, .pds-dropdown-menu-item__content.has-focus {
|
|
37
|
+
.pds-dropdown-menu-item__content:focus-visible {
|
|
41
38
|
outline: var(--pine-outline-focus);
|
|
42
39
|
outline-offset: var(--pine-border-width);
|
|
43
40
|
}
|
|
44
41
|
|
|
42
|
+
.pds-dropdown-menu-item__start {
|
|
43
|
+
display: inline-flex;
|
|
44
|
+
flex-shrink: 0;
|
|
45
|
+
}
|
|
46
|
+
.pds-dropdown-menu-item__start--empty {
|
|
47
|
+
display: none;
|
|
48
|
+
}
|
|
49
|
+
|
|
45
50
|
:host(.is-informational) {
|
|
46
51
|
cursor: default;
|
|
47
52
|
}
|
|
@@ -60,17 +65,21 @@
|
|
|
60
65
|
background-color: var(--pine-color-danger-disabled);
|
|
61
66
|
color: var(--pine-color-danger-hover);
|
|
62
67
|
}
|
|
63
|
-
:host(.destructive) .pds-dropdown-menu-item__content:focus
|
|
68
|
+
:host(.destructive) .pds-dropdown-menu-item__content:focus-visible {
|
|
64
69
|
background-color: var(--pine-color-danger-disabled);
|
|
65
70
|
outline: var(--pine-outline-focus-danger);
|
|
66
71
|
outline-offset: var(--pine-border-width);
|
|
67
72
|
}
|
|
73
|
+
:host(.destructive) pds-link::part(link):focus-visible {
|
|
74
|
+
background-color: var(--pine-color-danger-disabled);
|
|
75
|
+
outline: var(--pine-outline-focus-danger);
|
|
76
|
+
}
|
|
68
77
|
|
|
69
|
-
/* Remove outline on contained links using the custom property */
|
|
70
|
-
pds-link::part(link):focus,
|
|
71
78
|
pds-link::part(link):focus-visible {
|
|
79
|
+
border-radius: var(--pine-dimension-xs);
|
|
72
80
|
box-shadow: none;
|
|
73
|
-
outline:
|
|
81
|
+
outline: var(--pine-outline-focus);
|
|
82
|
+
outline-offset: var(--pine-border-width);
|
|
74
83
|
}
|
|
75
84
|
|
|
76
85
|
pds-link::part(link) {
|