@pine-ds/core 4.8.0 → 4.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/attributes.js +1 -1
- package/components/floating-ui.dom.js +1 -1
- package/components/index.js +1 -1
- package/components/index2.js +1 -1
- package/components/keep-hydrated.js +1 -0
- package/components/mock-pds-modal.js +1 -1
- package/components/pds-alert.js +1 -1
- package/components/pds-avatar.js +1 -1
- package/components/pds-box2.js +1 -1
- package/components/pds-button2.js +1 -1
- package/components/pds-checkbox2.js +1 -1
- package/components/pds-chip2.js +1 -1
- package/components/pds-combobox.js +1 -1
- package/components/pds-container.js +1 -1
- package/components/pds-copytext.js +1 -1
- package/components/pds-datepicker.js +1 -1
- package/components/pds-divider.js +1 -1
- package/components/pds-drawer-content.js +1 -1
- package/components/pds-drawer-footer.js +1 -1
- package/components/pds-drawer-header.js +1 -1
- package/components/pds-drawer.js +1 -1
- package/components/pds-dropdown-menu-item.js +1 -1
- package/components/pds-dropdown-menu-separator.js +1 -1
- package/components/pds-dropdown-menu.js +1 -1
- package/components/pds-filter.js +1 -1
- package/components/pds-filters.js +1 -1
- package/components/pds-image.js +1 -1
- package/components/pds-input2.js +1 -1
- package/components/pds-link2.js +1 -1
- package/components/pds-loader2.js +1 -1
- package/components/pds-modal-content.js +1 -1
- package/components/pds-modal-footer.js +1 -1
- package/components/pds-modal-header.js +1 -1
- package/components/pds-modal2.js +1 -1
- package/components/pds-multiselect.js +1 -1
- package/components/pds-popover.js +1 -1
- package/components/pds-progress.js +1 -1
- package/components/pds-property.js +1 -1
- package/components/pds-radio-group.js +1 -1
- package/components/pds-radio.js +1 -1
- package/components/pds-row.js +1 -1
- package/components/pds-select.js +1 -1
- package/components/pds-sortable-item.js +1 -1
- package/components/pds-sortable.js +2 -2
- package/components/pds-switch.js +1 -1
- package/components/pds-table-body.js +1 -1
- package/components/pds-table-cell2.js +1 -1
- package/components/pds-table-head-cell2.js +1 -1
- package/components/pds-table-head.js +1 -1
- package/components/pds-table-row.js +1 -1
- package/components/pds-tabpanel.js +1 -1
- package/components/pds-tabs.js +1 -1
- package/components/pds-text2.js +1 -1
- package/components/pds-textarea.js +1 -1
- package/components/pds-toast.js +1 -1
- package/components/pds-tooltip.js +1 -1
- package/components/tabbable.js +1 -0
- package/dist/cjs/{attributes-BJ7KBHql.js → attributes-CW49XqaL.js} +1 -1
- package/dist/cjs/{floating-ui.dom-Dc8Anyel.js → floating-ui.dom-Dw41zbyY.js} +1 -0
- package/dist/cjs/{index-jl_Q819j.js → index-BsWY_xEJ.js} +1 -1
- package/dist/cjs/index.cjs.js +1 -1
- package/dist/cjs/{keep-hydrated-CiXgkEYd.js → keep-hydrated-AKoh0DG4.js} +1 -0
- package/dist/cjs/loader.cjs.js +3 -3
- package/dist/cjs/mock-pds-modal.cjs.entry.js +3 -3
- package/dist/cjs/pds-accordion.cjs.entry.js +2 -2
- package/dist/cjs/pds-alert.cjs.entry.js +17 -4
- package/dist/cjs/pds-avatar.cjs.entry.js +21 -11
- package/dist/cjs/pds-box.cjs.entry.js +4 -4
- package/dist/cjs/pds-button.cjs.entry.js +57 -25
- package/dist/cjs/pds-checkbox.cjs.entry.js +15 -7
- package/dist/cjs/pds-chip.cjs.entry.js +6 -6
- package/dist/cjs/pds-combobox.cjs.entry.js +41 -11
- package/dist/cjs/pds-container.cjs.entry.js +3 -3
- package/dist/cjs/pds-copytext.cjs.entry.js +6 -6
- package/dist/cjs/pds-datepicker.cjs.entry.js +5 -5
- package/dist/cjs/pds-divider.cjs.entry.js +3 -3
- package/dist/cjs/pds-drawer-content.cjs.entry.js +3 -3
- package/dist/cjs/pds-drawer-footer.cjs.entry.js +3 -3
- package/dist/cjs/pds-drawer-header.cjs.entry.js +3 -3
- package/dist/cjs/pds-drawer.cjs.entry.js +4 -4
- package/dist/cjs/pds-dropdown-menu-item.cjs.entry.js +4 -4
- package/dist/cjs/pds-dropdown-menu-separator.cjs.entry.js +3 -3
- package/dist/cjs/pds-dropdown-menu.cjs.entry.js +5 -5
- package/dist/cjs/pds-filter.cjs.entry.js +3 -3
- package/dist/cjs/pds-filters.cjs.entry.js +3 -3
- package/dist/cjs/pds-icon.cjs.entry.js +2 -2
- package/dist/cjs/pds-image.cjs.entry.js +4 -4
- package/dist/cjs/pds-input.cjs.entry.js +5 -5
- package/dist/cjs/pds-link.cjs.entry.js +14 -5
- package/dist/cjs/pds-loader.cjs.entry.js +4 -4
- package/dist/cjs/pds-modal-content.cjs.entry.js +4 -4
- package/dist/cjs/pds-modal-footer.cjs.entry.js +3 -3
- package/dist/cjs/pds-modal-header.cjs.entry.js +3 -3
- package/dist/cjs/pds-modal.cjs.entry.js +8 -88
- package/dist/cjs/pds-multiselect.cjs.entry.js +6 -6
- package/dist/cjs/pds-popover.cjs.entry.js +230 -153
- package/dist/cjs/pds-progress.cjs.entry.js +4 -4
- package/dist/cjs/pds-property.cjs.entry.js +3 -3
- package/dist/cjs/pds-radio-group.cjs.entry.js +5 -5
- package/dist/cjs/pds-radio.cjs.entry.js +23 -10
- package/dist/cjs/pds-row.cjs.entry.js +4 -4
- package/dist/cjs/pds-select.cjs.entry.js +131 -20
- package/dist/cjs/pds-sortable-item.cjs.entry.js +4 -4
- package/dist/cjs/pds-sortable.cjs.entry.js +4 -4
- package/dist/cjs/pds-switch.cjs.entry.js +6 -6
- package/dist/cjs/pds-tab.cjs.entry.js +3 -3
- package/dist/cjs/pds-table-body.cjs.entry.js +3 -3
- package/dist/cjs/pds-table-cell.cjs.entry.js +6 -6
- package/dist/cjs/pds-table-head-cell.cjs.entry.js +4 -4
- package/dist/cjs/pds-table-head.cjs.entry.js +3 -3
- package/dist/cjs/pds-table-row.cjs.entry.js +3 -3
- package/dist/cjs/pds-table.cjs.entry.js +2 -2
- package/dist/cjs/pds-tabpanel.cjs.entry.js +4 -4
- package/dist/cjs/pds-tabs.cjs.entry.js +4 -4
- package/dist/cjs/pds-text.cjs.entry.js +5 -5
- package/dist/cjs/pds-textarea.cjs.entry.js +7 -7
- package/dist/cjs/pds-toast.cjs.entry.js +14 -8
- package/dist/cjs/pds-tooltip.cjs.entry.js +115 -44
- package/dist/cjs/pine-core.cjs.js +3 -3
- package/dist/cjs/tabbable-CddSt_Hi.js +85 -0
- package/dist/cjs/{truncation-tooltip-BtuiXLV0.js → truncation-tooltip-O5nQmXPw.js} +1 -1
- package/dist/collection/components/pds-alert/pds-alert.css +13 -0
- package/dist/collection/components/pds-alert/pds-alert.js +36 -1
- package/dist/collection/components/pds-alert/stories/pds-alert.stories.js +4 -0
- package/dist/collection/components/pds-avatar/pds-avatar.js +41 -9
- package/dist/collection/components/pds-avatar/stories/pds-avatar.stories.js +2 -0
- package/dist/collection/components/pds-box/pds-box.js +1 -1
- package/dist/collection/components/pds-button/pds-button.js +13 -23
- package/dist/collection/components/pds-checkbox/pds-checkbox.css +79 -0
- package/dist/collection/components/pds-checkbox/pds-checkbox.js +36 -5
- package/dist/collection/components/pds-checkbox/stories/pds-checkbox.stories.js +38 -0
- package/dist/collection/components/pds-chip/pds-chip.js +1 -1
- package/dist/collection/components/pds-combobox/pds-combobox.css +33 -0
- package/dist/collection/components/pds-combobox/pds-combobox.js +60 -7
- package/dist/collection/components/pds-combobox/stories/pds-combobox.stories.js +44 -0
- package/dist/collection/components/pds-container/pds-container.js +1 -1
- package/dist/collection/components/pds-copytext/pds-copytext.js +1 -1
- package/dist/collection/components/pds-datepicker/pds-datepicker.js +2 -2
- package/dist/collection/components/pds-divider/pds-divider.js +1 -1
- package/dist/collection/components/pds-drawer/pds-drawer-content/pds-drawer-content.js +1 -1
- package/dist/collection/components/pds-drawer/pds-drawer-footer/pds-drawer-footer.js +1 -1
- package/dist/collection/components/pds-drawer/pds-drawer-header/pds-drawer-header.js +1 -1
- package/dist/collection/components/pds-drawer/pds-drawer.js +2 -2
- package/dist/collection/components/pds-dropdown-menu/pds-dropdown-menu-item/pds-dropdown-menu-item.js +24 -2
- package/dist/collection/components/pds-dropdown-menu/pds-dropdown-menu-separator/pds-dropdown-menu-separator.js +1 -1
- package/dist/collection/components/pds-dropdown-menu/pds-dropdown-menu.js +1 -1
- package/dist/collection/components/pds-filters/pds-filter/pds-filter.js +1 -1
- package/dist/collection/components/pds-filters/pds-filters.js +1 -1
- package/dist/collection/components/pds-image/pds-image.js +2 -2
- package/dist/collection/components/pds-input/pds-input.js +2 -2
- package/dist/collection/components/pds-input/stories/pds-input.stories.js +6 -6
- package/dist/collection/components/pds-link/pds-link.js +34 -3
- package/dist/collection/components/pds-link/stories/pds-link.stories.js +3 -2
- package/dist/collection/components/pds-loader/pds-loader.js +1 -1
- package/dist/collection/components/pds-modal/pds-modal-content/pds-modal-content.js +2 -2
- package/dist/collection/components/pds-modal/pds-modal-footer/pds-modal-footer.js +1 -1
- package/dist/collection/components/pds-modal/pds-modal-header/pds-modal-header.js +1 -1
- package/dist/collection/components/pds-modal/pds-modal.js +4 -84
- package/dist/collection/components/pds-modal/test/mock-pds-modal.js +1 -1
- package/dist/collection/components/pds-multiselect/pds-multiselect.js +3 -3
- package/dist/collection/components/pds-popover/pds-popover.css +6 -0
- package/dist/collection/components/pds-popover/pds-popover.js +226 -149
- package/dist/collection/components/pds-progress/pds-progress.js +1 -1
- package/dist/collection/components/pds-property/pds-property.js +1 -1
- package/dist/collection/components/pds-radio/pds-radio.css +57 -0
- package/dist/collection/components/pds-radio/pds-radio.js +45 -9
- package/dist/collection/components/pds-radio/stories/pds-radio.stories.js +15 -0
- package/dist/collection/components/pds-radio-group/pds-radio-group.js +3 -3
- package/dist/collection/components/pds-radio-group/stories/pds-radio-group.stories.js +45 -0
- package/dist/collection/components/pds-row/pds-row.js +1 -1
- package/dist/collection/components/pds-select/pds-select.js +128 -17
- package/dist/collection/components/pds-select/stories/pds-select.stories.js +2 -2
- package/dist/collection/components/pds-sortable/pds-sortable-item/pds-sortable-item.js +1 -1
- package/dist/collection/components/pds-sortable/pds-sortable.js +1 -1
- package/dist/collection/components/pds-switch/pds-switch.js +3 -3
- package/dist/collection/components/pds-table/pds-table-body/pds-table-body.js +1 -1
- package/dist/collection/components/pds-table/pds-table-cell/pds-table-cell.js +2 -2
- package/dist/collection/components/pds-table/pds-table-head/pds-table-head.js +1 -1
- package/dist/collection/components/pds-table/pds-table-head-cell/pds-table-head-cell.js +2 -2
- package/dist/collection/components/pds-table/pds-table-row/pds-table-row.js +1 -1
- package/dist/collection/components/pds-table/stories/pds-table.stories.js +3 -3
- package/dist/collection/components/pds-tabs/pds-tabpanel/pds-tabpanel.js +1 -1
- package/dist/collection/components/pds-tabs/pds-tabs.js +1 -1
- package/dist/collection/components/pds-text/pds-text.js +1 -1
- package/dist/collection/components/pds-textarea/pds-textarea.js +4 -4
- package/dist/collection/components/pds-textarea/stories/pds-textarea.stories.js +2 -2
- package/dist/collection/components/pds-toast/pds-toast.css +13 -0
- package/dist/collection/components/pds-toast/pds-toast.js +33 -5
- package/dist/collection/components/pds-toast/stories/pds-toast.stories.js +4 -1
- package/dist/collection/components/pds-tooltip/pds-tooltip.js +113 -41
- package/dist/collection/utils/aria-references.js +42 -0
- package/dist/collection/utils/tabbable.js +81 -0
- package/dist/docs.json +244 -7
- package/dist/esm/{attributes-WXw_I_uJ.js → attributes-DkeVeN0g.js} +1 -1
- package/dist/esm/{floating-ui.dom-BPqJgIq6.js → floating-ui.dom-Cuc0DYlm.js} +1 -1
- package/dist/esm/{index-Cw9J31qd.js → index-BFSwd-GQ.js} +1 -1
- package/dist/esm/{index-BWDu62Mo.js → index-m3pqpeWg.js} +1 -1
- package/dist/esm/index.js +1 -1
- package/dist/esm/{keep-hydrated-BLG6RDBt.js → keep-hydrated-BgNaWLoS.js} +1 -1
- package/dist/esm/loader.js +4 -4
- package/dist/esm/mock-pds-modal.entry.js +3 -3
- package/dist/esm/pds-accordion.entry.js +3 -3
- package/dist/esm/pds-alert.entry.js +17 -4
- package/dist/esm/pds-avatar.entry.js +22 -12
- package/dist/esm/pds-box.entry.js +4 -4
- package/dist/esm/pds-button.entry.js +58 -26
- package/dist/esm/pds-checkbox.entry.js +16 -8
- package/dist/esm/pds-chip.entry.js +7 -7
- package/dist/esm/pds-combobox.entry.js +41 -11
- package/dist/esm/pds-container.entry.js +3 -3
- package/dist/esm/pds-copytext.entry.js +7 -7
- package/dist/esm/pds-datepicker.entry.js +6 -6
- package/dist/esm/pds-divider.entry.js +3 -3
- package/dist/esm/pds-drawer-content.entry.js +3 -3
- package/dist/esm/pds-drawer-footer.entry.js +3 -3
- package/dist/esm/pds-drawer-header.entry.js +3 -3
- package/dist/esm/pds-drawer.entry.js +4 -4
- package/dist/esm/pds-dropdown-menu-item.entry.js +4 -4
- package/dist/esm/pds-dropdown-menu-separator.entry.js +3 -3
- package/dist/esm/pds-dropdown-menu.entry.js +5 -5
- package/dist/esm/pds-filter.entry.js +4 -4
- package/dist/esm/pds-filters.entry.js +3 -3
- package/dist/esm/pds-icon.entry.js +2 -2
- package/dist/esm/pds-image.entry.js +4 -4
- package/dist/esm/pds-input.entry.js +6 -6
- package/dist/esm/pds-link.entry.js +15 -6
- package/dist/esm/pds-loader.entry.js +4 -4
- package/dist/esm/pds-modal-content.entry.js +4 -4
- package/dist/esm/pds-modal-footer.entry.js +3 -3
- package/dist/esm/pds-modal-header.entry.js +3 -3
- package/dist/esm/pds-modal.entry.js +6 -86
- package/dist/esm/pds-multiselect.entry.js +7 -7
- package/dist/esm/pds-popover.entry.js +230 -153
- package/dist/esm/pds-progress.entry.js +4 -4
- package/dist/esm/pds-property.entry.js +3 -3
- package/dist/esm/pds-radio-group.entry.js +6 -6
- package/dist/esm/pds-radio.entry.js +24 -11
- package/dist/esm/pds-row.entry.js +4 -4
- package/dist/esm/pds-select.entry.js +132 -21
- package/dist/esm/pds-sortable-item.entry.js +5 -5
- package/dist/esm/pds-sortable.entry.js +4 -4
- package/dist/esm/pds-switch.entry.js +7 -7
- package/dist/esm/pds-tab.entry.js +3 -3
- package/dist/esm/pds-table-body.entry.js +3 -3
- package/dist/esm/pds-table-cell.entry.js +6 -6
- package/dist/esm/pds-table-head-cell.entry.js +5 -5
- package/dist/esm/pds-table-head.entry.js +3 -3
- package/dist/esm/pds-table-row.entry.js +3 -3
- package/dist/esm/pds-table.entry.js +2 -2
- package/dist/esm/pds-tabpanel.entry.js +4 -4
- package/dist/esm/pds-tabs.entry.js +4 -4
- package/dist/esm/pds-text.entry.js +5 -5
- package/dist/esm/pds-textarea.entry.js +8 -8
- package/dist/esm/pds-toast.entry.js +14 -8
- package/dist/esm/pds-tooltip.entry.js +115 -44
- package/dist/esm/pine-core.js +4 -4
- package/dist/esm/tabbable-DCKBKRUy.js +83 -0
- package/dist/esm/{truncation-tooltip-FaW67DiY.js → truncation-tooltip-D_gvhB9r.js} +1 -1
- package/dist/esm-es5/{attributes-WXw_I_uJ.js → attributes-DkeVeN0g.js} +1 -1
- package/dist/esm-es5/{floating-ui.dom-BPqJgIq6.js → floating-ui.dom-Cuc0DYlm.js} +1 -1
- package/dist/esm-es5/{index-Cw9J31qd.js → index-BFSwd-GQ.js} +2 -2
- package/dist/esm-es5/{index-BWDu62Mo.js → index-m3pqpeWg.js} +1 -1
- package/dist/esm-es5/index.js +1 -1
- package/dist/esm-es5/{keep-hydrated-BLG6RDBt.js → keep-hydrated-BgNaWLoS.js} +1 -1
- package/dist/esm-es5/loader.js +1 -1
- package/dist/esm-es5/mock-pds-modal.entry.js +1 -1
- package/dist/esm-es5/pds-accordion.entry.js +1 -1
- package/dist/esm-es5/pds-alert.entry.js +1 -1
- package/dist/esm-es5/pds-avatar.entry.js +1 -1
- package/dist/esm-es5/pds-box.entry.js +1 -1
- package/dist/esm-es5/pds-button.entry.js +1 -1
- package/dist/esm-es5/pds-checkbox.entry.js +1 -1
- package/dist/esm-es5/pds-chip.entry.js +1 -1
- package/dist/esm-es5/pds-combobox.entry.js +2 -2
- package/dist/esm-es5/pds-container.entry.js +1 -1
- package/dist/esm-es5/pds-copytext.entry.js +1 -1
- package/dist/esm-es5/pds-datepicker.entry.js +1 -1
- package/dist/esm-es5/pds-divider.entry.js +1 -1
- package/dist/esm-es5/pds-drawer-content.entry.js +1 -1
- package/dist/esm-es5/pds-drawer-footer.entry.js +1 -1
- package/dist/esm-es5/pds-drawer-header.entry.js +1 -1
- package/dist/esm-es5/pds-drawer.entry.js +1 -1
- package/dist/esm-es5/pds-dropdown-menu-item.entry.js +1 -1
- package/dist/esm-es5/pds-dropdown-menu-separator.entry.js +1 -1
- package/dist/esm-es5/pds-dropdown-menu.entry.js +1 -1
- package/dist/esm-es5/pds-filter.entry.js +1 -1
- package/dist/esm-es5/pds-filters.entry.js +1 -1
- package/dist/esm-es5/pds-icon.entry.js +1 -1
- package/dist/esm-es5/pds-image.entry.js +1 -1
- package/dist/esm-es5/pds-input.entry.js +1 -1
- package/dist/esm-es5/pds-link.entry.js +1 -1
- package/dist/esm-es5/pds-loader.entry.js +1 -1
- package/dist/esm-es5/pds-modal-content.entry.js +1 -1
- package/dist/esm-es5/pds-modal-footer.entry.js +1 -1
- package/dist/esm-es5/pds-modal-header.entry.js +1 -1
- package/dist/esm-es5/pds-modal.entry.js +1 -1
- package/dist/esm-es5/pds-multiselect.entry.js +1 -1
- package/dist/esm-es5/pds-popover.entry.js +1 -1
- package/dist/esm-es5/pds-progress.entry.js +1 -1
- package/dist/esm-es5/pds-property.entry.js +1 -1
- package/dist/esm-es5/pds-radio-group.entry.js +1 -1
- package/dist/esm-es5/pds-radio.entry.js +1 -1
- package/dist/esm-es5/pds-row.entry.js +1 -1
- package/dist/esm-es5/pds-select.entry.js +1 -1
- package/dist/esm-es5/pds-sortable-item.entry.js +1 -1
- package/dist/esm-es5/pds-sortable.entry.js +2 -2
- package/dist/esm-es5/pds-switch.entry.js +1 -1
- package/dist/esm-es5/pds-tab.entry.js +1 -1
- package/dist/esm-es5/pds-table-body.entry.js +1 -1
- package/dist/esm-es5/pds-table-cell.entry.js +1 -1
- package/dist/esm-es5/pds-table-head-cell.entry.js +1 -1
- package/dist/esm-es5/pds-table-head.entry.js +1 -1
- package/dist/esm-es5/pds-table-row.entry.js +1 -1
- package/dist/esm-es5/pds-table.entry.js +1 -1
- package/dist/esm-es5/pds-tabpanel.entry.js +1 -1
- package/dist/esm-es5/pds-tabs.entry.js +1 -1
- package/dist/esm-es5/pds-text.entry.js +1 -1
- package/dist/esm-es5/pds-textarea.entry.js +1 -1
- package/dist/esm-es5/pds-toast.entry.js +1 -1
- package/dist/esm-es5/pds-tooltip.entry.js +1 -1
- package/dist/esm-es5/pine-core.js +1 -1
- package/dist/esm-es5/tabbable-DCKBKRUy.js +1 -0
- package/dist/esm-es5/{truncation-tooltip-FaW67DiY.js → truncation-tooltip-D_gvhB9r.js} +1 -1
- package/dist/pine-core/index.esm.js +1 -1
- package/dist/pine-core/p-001d4b86.entry.js +1 -0
- package/dist/pine-core/p-06279b93.system.entry.js +1 -0
- package/dist/pine-core/{p-b75b0d09.system.entry.js → p-0790dd0d.system.entry.js} +1 -1
- package/dist/pine-core/p-079c39d1.entry.js +1 -0
- package/dist/pine-core/{p-158b2f51.entry.js → p-07b4524e.entry.js} +1 -1
- package/dist/pine-core/{p-4bfc8b3e.system.entry.js → p-08bbd3e6.system.entry.js} +1 -1
- package/dist/pine-core/{p-d3d69ca4.system.entry.js → p-0bd61097.system.entry.js} +1 -1
- package/dist/pine-core/p-0c60f577.system.entry.js +1 -0
- package/dist/pine-core/{p-acca5f7b.system.entry.js → p-110b4051.system.entry.js} +1 -1
- package/dist/pine-core/p-11e7d660.entry.js +1 -0
- package/dist/pine-core/p-14d872d3.entry.js +1 -0
- package/dist/pine-core/p-17fc76e7.system.entry.js +1 -0
- package/dist/pine-core/{p-0913f696.system.entry.js → p-1e5648bf.system.entry.js} +1 -1
- package/dist/pine-core/{p-ef13f665.system.entry.js → p-22ae92f7.system.entry.js} +1 -1
- package/dist/pine-core/p-239774c9.entry.js +1 -0
- package/dist/pine-core/{p-0b71ecb6.system.entry.js → p-25bf2f26.system.entry.js} +2 -2
- package/dist/pine-core/{p-719542e1.system.entry.js → p-272b24ad.system.entry.js} +1 -1
- package/dist/pine-core/{p-d2c91e7a.entry.js → p-2c0047cd.entry.js} +1 -1
- package/dist/pine-core/p-2d5b1deb.entry.js +1 -0
- package/dist/pine-core/{p-c97bfac9.entry.js → p-3556f6ad.entry.js} +1 -1
- package/dist/pine-core/{p-BGLP3keB.js → p-35s7h-dk.js} +1 -1
- package/dist/pine-core/{p-3c977d8d.system.entry.js → p-38b87aa2.system.entry.js} +1 -1
- package/dist/pine-core/{p-25ea48d1.entry.js → p-3afb1208.entry.js} +1 -1
- package/dist/pine-core/{p-9df5e204.entry.js → p-3b5b8f73.entry.js} +1 -1
- package/dist/pine-core/{p-8c8cc079.system.entry.js → p-3cc19ea8.system.entry.js} +1 -1
- package/dist/pine-core/{p-ca4ee736.system.entry.js → p-3ce7e72e.system.entry.js} +1 -1
- package/dist/pine-core/p-3f62581a.system.entry.js +1 -0
- package/dist/pine-core/p-414faecf.entry.js +1 -0
- package/dist/pine-core/p-463a29fa.entry.js +1 -0
- package/dist/pine-core/{p-f029b7da.system.entry.js → p-4ee44585.system.entry.js} +1 -1
- package/dist/pine-core/p-50af67ea.system.entry.js +1 -0
- package/dist/pine-core/p-5133e8be.system.entry.js +1 -0
- package/dist/pine-core/p-55fce29e.entry.js +1 -0
- package/dist/pine-core/{p-77395d62.system.entry.js → p-568a9a79.system.entry.js} +1 -1
- package/dist/pine-core/{p-5cfd4d41.system.entry.js → p-5967d9fa.system.entry.js} +1 -1
- package/dist/pine-core/{p-5870b092.system.entry.js → p-5c46553f.system.entry.js} +1 -1
- package/dist/pine-core/{p-ea340c55.system.entry.js → p-5ce5836e.system.entry.js} +1 -1
- package/dist/pine-core/p-5f3242c8.system.entry.js +1 -0
- package/dist/pine-core/{p-80e6f3a0.system.entry.js → p-60d27247.system.entry.js} +1 -1
- package/dist/pine-core/{p-90d5edc6.entry.js → p-60e3b1af.entry.js} +1 -1
- package/dist/pine-core/{p-ca0a8f5c.entry.js → p-64283f7b.entry.js} +1 -1
- package/dist/pine-core/p-6602b4d0.entry.js +1 -0
- package/dist/pine-core/p-6845867f.system.entry.js +1 -0
- package/dist/pine-core/{p-332590c7.system.entry.js → p-68fdfb8f.system.entry.js} +1 -1
- package/dist/pine-core/p-6b6ae1be.entry.js +1 -0
- package/dist/pine-core/{p-e5420660.entry.js → p-6d64e6c7.entry.js} +1 -1
- package/dist/pine-core/{p-121612a7.system.entry.js → p-6dad76cb.system.entry.js} +1 -1
- package/dist/pine-core/p-6f34ad9c.entry.js +1 -0
- package/dist/pine-core/{p-55224683.entry.js → p-7073146f.entry.js} +1 -1
- package/dist/pine-core/{p-f1702281.entry.js → p-735b3631.entry.js} +1 -1
- package/dist/pine-core/p-7a14473e.entry.js +1 -0
- package/dist/pine-core/{p-9880d251.system.entry.js → p-7a19477e.system.entry.js} +1 -1
- package/dist/pine-core/{p-ea8f5d29.entry.js → p-7d3a20ba.entry.js} +1 -1
- package/dist/pine-core/{p-a939b471.entry.js → p-7fcf3d37.entry.js} +1 -1
- package/dist/pine-core/{p-26642718.entry.js → p-87642228.entry.js} +1 -1
- package/dist/pine-core/{p-62433f32.entry.js → p-89fefe36.entry.js} +1 -1
- package/dist/pine-core/{p-cccfe60f.system.entry.js → p-8b97dd57.system.entry.js} +1 -1
- package/dist/pine-core/{p-0092444c.system.entry.js → p-9201b497.system.entry.js} +1 -1
- package/dist/pine-core/{p-631f5bcc.entry.js → p-92a8cf7d.entry.js} +1 -1
- package/dist/pine-core/{p-e836a041.entry.js → p-94597b73.entry.js} +1 -1
- package/dist/pine-core/p-9713d6a5.system.entry.js +1 -0
- package/dist/pine-core/p-97be00f4.system.entry.js +1 -0
- package/dist/pine-core/{p-2ac2457b.system.entry.js → p-98843402.system.entry.js} +1 -1
- package/dist/pine-core/{p-b914dde8.entry.js → p-98cc327b.entry.js} +2 -2
- package/dist/pine-core/p-9a8971e2.system.entry.js +1 -0
- package/dist/pine-core/p-9a8d2985.system.entry.js +3 -0
- package/dist/pine-core/{p-ee0e30bf.system.entry.js → p-9dbc017f.system.entry.js} +1 -1
- package/dist/pine-core/p-9fbcba0d.entry.js +1 -0
- package/dist/pine-core/p-9fe4a64a.entry.js +1 -0
- package/dist/pine-core/{p-COtCa1Md.system.js → p-BNTlHhoO.system.js} +1 -1
- package/dist/pine-core/p-BZ1l3LGl.system.js +1 -0
- package/dist/pine-core/p-BgNaWLoS.js +1 -0
- package/dist/pine-core/{p-CmSJytt1.js → p-BplEmwUQ.js} +2 -2
- package/dist/pine-core/{p-Cy8cvR7I.system.js → p-CANeE7Ss.system.js} +1 -1
- package/dist/pine-core/{p-XW4H0W6i.system.js → p-CNXspDYs.system.js} +1 -1
- package/dist/pine-core/{p-jrkGLEPe.js → p-CirzxZ33.js} +1 -1
- package/dist/pine-core/{p-CGRdQc49.system.js → p-CjRCtzPD.system.js} +2 -2
- package/dist/pine-core/{p-BPqJgIq6.js → p-Cuc0DYlm.js} +1 -1
- package/dist/pine-core/{p-D04W0cAO.system.js → p-D52aRqFx.system.js} +1 -1
- package/dist/pine-core/p-DCKBKRUy.js +1 -0
- package/dist/pine-core/p-DXO1yd32.system.js +1 -0
- package/dist/pine-core/{p-ClDiSG97.system.js → p-DaCT2ssj.system.js} +1 -1
- package/dist/pine-core/{p-295f64ea.entry.js → p-a2078add.entry.js} +1 -1
- package/dist/pine-core/{p-f3067d90.system.entry.js → p-a48b025a.system.entry.js} +1 -1
- package/dist/pine-core/{p-9713fb36.entry.js → p-a7d25143.entry.js} +1 -1
- package/dist/pine-core/{p-9dcd2cdb.entry.js → p-ad3b1ec3.entry.js} +1 -1
- package/dist/pine-core/p-b017eb99.system.entry.js +1 -0
- package/dist/pine-core/p-b037dcbd.system.entry.js +1 -0
- package/dist/pine-core/{p-db17c626.system.entry.js → p-b243767b.system.entry.js} +1 -1
- package/dist/pine-core/{p-0af0d752.system.entry.js → p-b33ad96e.system.entry.js} +1 -1
- package/dist/pine-core/p-b6edfdfe.entry.js +2 -0
- package/dist/pine-core/{p-8191498f.system.entry.js → p-b7cbd913.system.entry.js} +1 -1
- package/dist/pine-core/{p-8f531063.entry.js → p-b9d71b76.entry.js} +1 -1
- package/dist/pine-core/p-bcf57566.entry.js +1 -0
- package/dist/pine-core/{p-4fd454f6.entry.js → p-bda7e3be.entry.js} +1 -1
- package/dist/pine-core/{p-bdac8f2b.entry.js → p-bdde1e53.entry.js} +1 -1
- package/dist/pine-core/{p-cb6a3e4c.system.entry.js → p-be3b4f12.system.entry.js} +1 -1
- package/dist/pine-core/{p-b1548a20.entry.js → p-bfdfbe9f.entry.js} +1 -1
- package/dist/pine-core/{p-8e3ff75d.entry.js → p-c02a32ec.entry.js} +1 -1
- package/dist/pine-core/p-c1da80e5.entry.js +1 -0
- package/dist/pine-core/{p-eaf85be6.system.entry.js → p-c233866c.system.entry.js} +1 -1
- package/dist/pine-core/{p-ecc7a531.system.entry.js → p-cb560aab.system.entry.js} +1 -1
- package/dist/pine-core/{p-8c588ca0.entry.js → p-ce554098.entry.js} +1 -1
- package/dist/pine-core/p-ced6a814.system.entry.js +1 -0
- package/dist/pine-core/{p-9aaedded.entry.js → p-d7930540.entry.js} +1 -1
- package/dist/pine-core/{p-11d98408.system.entry.js → p-d7db749a.system.entry.js} +1 -1
- package/dist/pine-core/{p-7a5b21d2.system.entry.js → p-d8bedb58.system.entry.js} +1 -1
- package/dist/pine-core/{p-1dc5a7e0.system.entry.js → p-d9243653.system.entry.js} +1 -1
- package/dist/pine-core/{p-9ab95438.entry.js → p-d94ebe84.entry.js} +1 -1
- package/dist/pine-core/{p-9109b90a.entry.js → p-de176bd9.entry.js} +1 -1
- package/dist/pine-core/{p-57a2f927.entry.js → p-dea2a254.entry.js} +1 -1
- package/dist/pine-core/p-dfadfcd1.entry.js +1 -0
- package/dist/pine-core/{p-047433a4.system.entry.js → p-e1fdd53a.system.entry.js} +1 -1
- package/dist/pine-core/{p-8987fd45.system.entry.js → p-e70cb112.system.entry.js} +1 -1
- package/dist/pine-core/{p-b9d145f8.system.entry.js → p-e9a53a88.system.entry.js} +1 -1
- package/dist/pine-core/p-eb93cc6e.entry.js +1 -0
- package/dist/pine-core/{p-4d03d1e2.system.entry.js → p-ebf0c51b.system.entry.js} +1 -1
- package/dist/pine-core/p-ebf74c43.system.entry.js +1 -0
- package/dist/pine-core/{p-138b278b.entry.js → p-ee449a4b.entry.js} +1 -1
- package/dist/pine-core/p-ef4d8fea.entry.js +1 -0
- package/dist/pine-core/p-f09f27ab.system.entry.js +1 -0
- package/dist/pine-core/{p-c483997a.entry.js → p-f2c487e6.entry.js} +1 -1
- package/dist/pine-core/p-f549f2bc.entry.js +1 -0
- package/dist/pine-core/{p-717323e4.entry.js → p-fc743f6e.entry.js} +1 -1
- package/dist/pine-core/{p-BWDu62Mo.js → p-m3pqpeWg.js} +1 -1
- package/dist/pine-core/p-wXfuz0Bd.system.js +1 -0
- package/dist/pine-core/pine-core.esm.js +1 -1
- package/dist/pine-core/pine-core.js +1 -1
- package/dist/types/components/pds-alert/pds-alert.d.ts +10 -0
- package/dist/types/components/pds-avatar/pds-avatar.d.ts +8 -0
- package/dist/types/components/pds-button/pds-button.d.ts +2 -2
- package/dist/types/components/pds-checkbox/pds-checkbox.d.ts +7 -1
- package/dist/types/components/pds-combobox/pds-combobox.d.ts +9 -0
- package/dist/types/components/pds-dropdown-menu/pds-dropdown-menu-item/pds-dropdown-menu-item.d.ts +7 -0
- package/dist/types/components/pds-link/pds-link.d.ts +8 -0
- package/dist/types/components/pds-popover/pds-popover.d.ts +44 -20
- package/dist/types/components/pds-radio/pds-radio.d.ts +9 -3
- package/dist/types/components/pds-select/pds-select.d.ts +32 -4
- package/dist/types/components/pds-toast/pds-toast.d.ts +9 -0
- package/dist/types/components/pds-tooltip/pds-tooltip.d.ts +31 -0
- package/dist/types/components.d.ts +96 -8
- package/dist/types/utils/aria-references.d.ts +24 -0
- package/dist/types/utils/tabbable.d.ts +2 -0
- package/dist/vscode.html-data.json +79 -7
- package/hydrate/index.js +724 -337
- package/hydrate/index.mjs +724 -337
- package/package.json +2 -2
- package/dist/pine-core/p-00a50de5.system.entry.js +0 -3
- package/dist/pine-core/p-049f126a.entry.js +0 -1
- package/dist/pine-core/p-089c3e60.entry.js +0 -1
- package/dist/pine-core/p-17f97f1a.entry.js +0 -1
- package/dist/pine-core/p-19ba2788.system.entry.js +0 -1
- package/dist/pine-core/p-208c7dbf.entry.js +0 -1
- package/dist/pine-core/p-29cd4113.system.entry.js +0 -1
- package/dist/pine-core/p-2cb5483a.system.entry.js +0 -1
- package/dist/pine-core/p-36cb4bf6.entry.js +0 -1
- package/dist/pine-core/p-3d51891a.entry.js +0 -1
- package/dist/pine-core/p-432d5ec7.entry.js +0 -1
- package/dist/pine-core/p-44f546ae.entry.js +0 -1
- package/dist/pine-core/p-5442d983.system.entry.js +0 -1
- package/dist/pine-core/p-5833a072.system.entry.js +0 -1
- package/dist/pine-core/p-602c197f.entry.js +0 -1
- package/dist/pine-core/p-73f931a1.entry.js +0 -1
- package/dist/pine-core/p-75ee0403.entry.js +0 -1
- package/dist/pine-core/p-7a287635.system.entry.js +0 -1
- package/dist/pine-core/p-86040cac.system.entry.js +0 -1
- package/dist/pine-core/p-875b0436.system.entry.js +0 -1
- package/dist/pine-core/p-884cb31d.system.entry.js +0 -1
- package/dist/pine-core/p-8cc302aa.system.entry.js +0 -1
- package/dist/pine-core/p-91f60173.entry.js +0 -1
- package/dist/pine-core/p-9265497e.system.entry.js +0 -1
- package/dist/pine-core/p-94593f20.system.entry.js +0 -1
- package/dist/pine-core/p-99459e27.entry.js +0 -1
- package/dist/pine-core/p-99fdf70f.entry.js +0 -1
- package/dist/pine-core/p-BLG6RDBt.js +0 -1
- package/dist/pine-core/p-BR5nujVX.system.js +0 -1
- package/dist/pine-core/p-CuSNnuFu.system.js +0 -1
- package/dist/pine-core/p-a0960b3d.system.entry.js +0 -1
- package/dist/pine-core/p-a1230a74.system.entry.js +0 -1
- package/dist/pine-core/p-a826f290.entry.js +0 -1
- package/dist/pine-core/p-acce8eb2.entry.js +0 -1
- package/dist/pine-core/p-aff411d0.entry.js +0 -1
- package/dist/pine-core/p-b182f806.entry.js +0 -2
- package/dist/pine-core/p-bb68431a.entry.js +0 -1
- package/dist/pine-core/p-be9b6e63.system.entry.js +0 -1
- package/dist/pine-core/p-bf30dec0.entry.js +0 -1
- package/dist/pine-core/p-c4e12f0a.entry.js +0 -1
- package/dist/pine-core/p-e0917a26.entry.js +0 -1
- package/dist/pine-core/p-ea4d4741.system.entry.js +0 -1
|
@@ -3,7 +3,7 @@ import { HostStylingKeeper } from "../../utils/attributes";
|
|
|
3
3
|
import { assignDescription, messageId, exposeTypeProperty } from "../../utils/form";
|
|
4
4
|
import { danger } from "@pine-ds/icons/icons";
|
|
5
5
|
/**
|
|
6
|
-
* @slot image - Custom image content to display instead of the default radio input
|
|
6
|
+
* @slot image - Custom image content to display instead of the default radio input. Ignored when `variant` is `pill`.
|
|
7
7
|
* @part image-container - The container for the image
|
|
8
8
|
* @lightDom renders-markup
|
|
9
9
|
*/
|
|
@@ -23,7 +23,7 @@ export class PdsRadio {
|
|
|
23
23
|
*/
|
|
24
24
|
this.disabled = false;
|
|
25
25
|
/**
|
|
26
|
-
* Adds a border around the radio component for better visual separation.
|
|
26
|
+
* Adds a border around the radio component for better visual separation. Ignored when `variant` is `pill`.
|
|
27
27
|
* @defaultValue false
|
|
28
28
|
*/
|
|
29
29
|
this.hasBorder = false;
|
|
@@ -37,6 +37,11 @@ export class PdsRadio {
|
|
|
37
37
|
* @defaultValue false
|
|
38
38
|
*/
|
|
39
39
|
this.required = false;
|
|
40
|
+
/**
|
|
41
|
+
* Sets the style variant of the radio. `pill` renders the label as a pill-shaped choice; the native input still handles keyboard, form, and screen reader behavior.
|
|
42
|
+
* @defaultValue default
|
|
43
|
+
*/
|
|
44
|
+
this.variant = 'default';
|
|
40
45
|
this.handleRadioChange = (e) => {
|
|
41
46
|
if (this.disabled) {
|
|
42
47
|
return;
|
|
@@ -58,6 +63,9 @@ export class PdsRadio {
|
|
|
58
63
|
hasImage() {
|
|
59
64
|
return this._hasImage;
|
|
60
65
|
}
|
|
66
|
+
isPill() {
|
|
67
|
+
return this.variant === 'pill';
|
|
68
|
+
}
|
|
61
69
|
classNames() {
|
|
62
70
|
const classNames = [];
|
|
63
71
|
if (this.invalid) {
|
|
@@ -66,10 +74,14 @@ export class PdsRadio {
|
|
|
66
74
|
if (this.disabled) {
|
|
67
75
|
classNames.push('is-disabled');
|
|
68
76
|
}
|
|
69
|
-
|
|
77
|
+
// A pill is its own bordered shape, so has-border doesn't stack a card around it.
|
|
78
|
+
if (this.hasBorder && !this.isPill()) {
|
|
70
79
|
classNames.push('has-border');
|
|
71
80
|
}
|
|
72
|
-
if (this.
|
|
81
|
+
if (this.isPill()) {
|
|
82
|
+
classNames.push('pds-radio--pill');
|
|
83
|
+
}
|
|
84
|
+
if (this.hasImage() && !this.isPill()) {
|
|
73
85
|
classNames.push('has-image');
|
|
74
86
|
}
|
|
75
87
|
return classNames.join(' ');
|
|
@@ -99,13 +111,14 @@ export class PdsRadio {
|
|
|
99
111
|
}
|
|
100
112
|
render() {
|
|
101
113
|
const renderLabelAndMessages = () => [
|
|
102
|
-
h("label", { htmlFor: this.componentId, key: `${this.componentId}-label` }, h("input", { key: '
|
|
114
|
+
h("label", { htmlFor: this.componentId, key: `${this.componentId}-label` }, h("input", { key: 'fdd83248666907fa25c5406cdedcd0e6f8d45f50', "aria-describedby": assignDescription(this.componentId, this.invalid, this.helperMessage, this.errorMessage), "aria-invalid": this.invalid ? "true" : undefined, type: "radio", id: this.componentId, name: this.name, value: this.value, checked: this.checked, required: this.required, disabled: this.disabled, onChange: this.handleRadioChange, class: this.hasImage() || this.isPill() ? 'visually-hidden' : '' }), h("span", { key: '73166ffd57cdb1f3b9e2b61fe880216b23a6510b', class: this.hideLabel && !this.isPill() ? 'visually-hidden' : '' }, this.label)),
|
|
103
115
|
this.helperMessage && (h("div", { key: `${this.componentId}-helper`, class: 'pds-radio__message', id: messageId(this.componentId, 'helper') }, this.helperMessage)),
|
|
104
|
-
this.errorMessage && (h("div", { key: `${this.componentId}-error`, class: `pds-radio__message pds-radio__message--error`, id: messageId(this.componentId, 'error'), "aria-live": "assertive" }, h("pds-icon", { key: '
|
|
116
|
+
this.errorMessage && (h("div", { key: `${this.componentId}-error`, class: `pds-radio__message pds-radio__message--error`, id: messageId(this.componentId, 'error'), "aria-live": "assertive" }, h("pds-icon", { key: 'e5bca81578382181b6fce61fa6830fd60e54234a', "aria-hidden": "true", icon: danger, size: "small" }), this.errorMessage))
|
|
105
117
|
];
|
|
106
118
|
const hostClass = this.classNames();
|
|
107
119
|
this.hostKeeper.record(hostClass);
|
|
108
|
-
|
|
120
|
+
const showImage = this.hasImage() && !this.isPill();
|
|
121
|
+
return (h(Host, { key: '4cf39a988cc7642234ff62e7fa2f0d08b09e7d25', class: hostClass }, showImage && (h("div", { key: '7a88d32f896ad4696ea46b13f9ef01e7df0a1c3e', class: "pds-radio__image-container", part: "image-container" }, h("slot", { key: 'eb8399263443d36ab91c0875602d0dc31f036058', name: "image", onSlotchange: () => (this._hasImage = this.hasImageSlot()) }))), showImage ? (h("div", { class: "pds-radio__content-wrapper" }, renderLabelAndMessages())) : (renderLabelAndMessages())));
|
|
109
122
|
}
|
|
110
123
|
static get is() { return "pds-radio"; }
|
|
111
124
|
static get encapsulation() { return "scoped"; }
|
|
@@ -239,7 +252,7 @@ export class PdsRadio {
|
|
|
239
252
|
"name": "defaultValue",
|
|
240
253
|
"text": "false"
|
|
241
254
|
}],
|
|
242
|
-
"text": "Adds a border around the radio component for better visual separation."
|
|
255
|
+
"text": "Adds a border around the radio component for better visual separation. Ignored when `variant` is `pill`."
|
|
243
256
|
},
|
|
244
257
|
"getter": false,
|
|
245
258
|
"setter": false,
|
|
@@ -301,7 +314,7 @@ export class PdsRadio {
|
|
|
301
314
|
"optional": false,
|
|
302
315
|
"docs": {
|
|
303
316
|
"tags": [],
|
|
304
|
-
"text": "Visually hides the label text for instances where only the radio should be displayed. Label remains accessible to assistive technology such as screen readers."
|
|
317
|
+
"text": "Visually hides the label text for instances where only the radio should be displayed. Label remains accessible to assistive technology such as screen readers. Ignored when `variant` is `pill`."
|
|
305
318
|
},
|
|
306
319
|
"getter": false,
|
|
307
320
|
"setter": false,
|
|
@@ -368,6 +381,29 @@ export class PdsRadio {
|
|
|
368
381
|
"setter": false,
|
|
369
382
|
"reflect": false,
|
|
370
383
|
"attribute": "value"
|
|
384
|
+
},
|
|
385
|
+
"variant": {
|
|
386
|
+
"type": "string",
|
|
387
|
+
"mutable": false,
|
|
388
|
+
"complexType": {
|
|
389
|
+
"original": "'default' | 'pill'",
|
|
390
|
+
"resolved": "\"default\" | \"pill\"",
|
|
391
|
+
"references": {}
|
|
392
|
+
},
|
|
393
|
+
"required": false,
|
|
394
|
+
"optional": false,
|
|
395
|
+
"docs": {
|
|
396
|
+
"tags": [{
|
|
397
|
+
"name": "defaultValue",
|
|
398
|
+
"text": "default"
|
|
399
|
+
}],
|
|
400
|
+
"text": "Sets the style variant of the radio. `pill` renders the label as a pill-shaped choice; the native input still handles keyboard, form, and screen reader behavior."
|
|
401
|
+
},
|
|
402
|
+
"getter": false,
|
|
403
|
+
"setter": false,
|
|
404
|
+
"reflect": false,
|
|
405
|
+
"attribute": "variant",
|
|
406
|
+
"defaultValue": "'default'"
|
|
371
407
|
}
|
|
372
408
|
};
|
|
373
409
|
}
|
|
@@ -10,6 +10,13 @@ export default {
|
|
|
10
10
|
invalid: false,
|
|
11
11
|
hideLabel: false,
|
|
12
12
|
required: false,
|
|
13
|
+
variant: 'default',
|
|
14
|
+
},
|
|
15
|
+
argTypes: {
|
|
16
|
+
variant: {
|
|
17
|
+
control: { type: 'select' },
|
|
18
|
+
options: ['default', 'pill'],
|
|
19
|
+
},
|
|
13
20
|
},
|
|
14
21
|
component: 'pds-radio',
|
|
15
22
|
parameters: {},
|
|
@@ -30,6 +37,7 @@ const BaseTemplate = (args) =>
|
|
|
30
37
|
?required=${args.required}
|
|
31
38
|
value=${args.value}
|
|
32
39
|
?invalid=${args.invalid}
|
|
40
|
+
variant=${args.variant}
|
|
33
41
|
/>`;
|
|
34
42
|
|
|
35
43
|
export const Default = BaseTemplate.bind();
|
|
@@ -101,3 +109,10 @@ WithImage.args = {
|
|
|
101
109
|
label: 'Option with image',
|
|
102
110
|
helperMessage: 'This radio includes an image using the image slot',
|
|
103
111
|
};
|
|
112
|
+
|
|
113
|
+
export const Pill = BaseTemplate.bind();
|
|
114
|
+
Pill.args = {
|
|
115
|
+
componentId: 'pill',
|
|
116
|
+
label: 'Label text',
|
|
117
|
+
variant: 'pill',
|
|
118
|
+
};
|
|
@@ -161,13 +161,13 @@ export class PdsRadioGroup {
|
|
|
161
161
|
render() {
|
|
162
162
|
const gapValue = this.getGapValue();
|
|
163
163
|
const ariaDescribedBy = this.getAriaDescribedBy();
|
|
164
|
-
return (h(Host, { key: '
|
|
164
|
+
return (h(Host, { key: 'aaf53113f06a0f49706e53735701fba64e79cb4d', class: this.classNames(), id: this._groupId, role: "group", "aria-describedby": ariaDescribedBy, style: {
|
|
165
165
|
'--pds-radio-group-gap': gapValue,
|
|
166
|
-
} }, this.groupLabel && (h("div", { key: '
|
|
166
|
+
} }, this.groupLabel && (h("div", { key: '4be5e43146bf348929e45498107862aaca161644', class: "pds-radio-group__label" }, this.groupLabel)), h("div", { key: 'b4a1b870c1a7167b8dcbcf0a11808bbd9a8cec4e', class: {
|
|
167
167
|
'pds-radio-group__radios': true,
|
|
168
168
|
'pds-radio-group__radios--row': this.direction === 'row',
|
|
169
169
|
'pds-radio-group__radios--column': this.direction === 'column',
|
|
170
|
-
} }, h("slot", { key: '
|
|
170
|
+
} }, h("slot", { key: '2d841cc69c35a4f9da933bbb33c1384ca343e077', onSlotchange: () => this.updateChildRadios() })), this.helperMessage && (h("div", { key: 'a09bb9e739570c06dc1907cb4e2dceecca36f7d3', class: "pds-radio-group__message", id: messageId(this._groupId, 'helper') }, this.helperMessage)), this.errorMessage && (h("div", { key: 'b8fe891cc4b8683d18c19b3b4ddb70212185b954', class: "pds-radio-group__message pds-radio-group__message--error", id: messageId(this._groupId, 'error'), "aria-live": "assertive" }, h("pds-icon", { key: '9a15d81d8303eeb5a928b96c760f6b15e536e0dc', "aria-hidden": "true", icon: danger, size: "small" }), this.errorMessage))));
|
|
171
171
|
}
|
|
172
172
|
static get is() { return "pds-radio-group"; }
|
|
173
173
|
static get encapsulation() { return "scoped"; }
|
|
@@ -132,3 +132,48 @@ Horizontal.args = {
|
|
|
132
132
|
name: 'horizontal-group',
|
|
133
133
|
};
|
|
134
134
|
|
|
135
|
+
|
|
136
|
+
const PillTemplate = (args) =>
|
|
137
|
+
html` <pds-radio-group
|
|
138
|
+
component-id=${args.componentId}
|
|
139
|
+
direction=${args.direction}
|
|
140
|
+
?disabled=${args.disabled}
|
|
141
|
+
error-message=${args.errorMessage}
|
|
142
|
+
helper-message=${args.helperMessage}
|
|
143
|
+
?invalid=${args.invalid}
|
|
144
|
+
group-label=${args.groupLabel}
|
|
145
|
+
name=${args.name}
|
|
146
|
+
?required=${args.required}
|
|
147
|
+
>
|
|
148
|
+
<pds-radio component-id="pill-solo" label="Just me" value="solo" variant="pill" checked></pds-radio>
|
|
149
|
+
<pds-radio component-id="pill-small" label="2-10 people" value="small" variant="pill"></pds-radio>
|
|
150
|
+
<pds-radio component-id="pill-medium" label="11-50 people" value="medium" variant="pill"></pds-radio>
|
|
151
|
+
<pds-radio component-id="pill-large" label="More than 50" value="large" variant="pill"></pds-radio>
|
|
152
|
+
</pds-radio-group>`;
|
|
153
|
+
|
|
154
|
+
export const Pill = PillTemplate.bind();
|
|
155
|
+
Pill.args = {
|
|
156
|
+
componentId: 'pill-group',
|
|
157
|
+
direction: 'row',
|
|
158
|
+
groupLabel: 'How big is your team?',
|
|
159
|
+
name: 'pill-group',
|
|
160
|
+
};
|
|
161
|
+
|
|
162
|
+
export const PillDisabled = PillTemplate.bind();
|
|
163
|
+
PillDisabled.args = {
|
|
164
|
+
componentId: 'pill-group-disabled',
|
|
165
|
+
direction: 'row',
|
|
166
|
+
disabled: true,
|
|
167
|
+
groupLabel: 'How big is your team?',
|
|
168
|
+
name: 'pill-group-disabled',
|
|
169
|
+
};
|
|
170
|
+
|
|
171
|
+
export const PillInvalid = PillTemplate.bind();
|
|
172
|
+
PillInvalid.args = {
|
|
173
|
+
componentId: 'pill-group-invalid',
|
|
174
|
+
direction: 'row',
|
|
175
|
+
errorMessage: 'Choose a team size to continue',
|
|
176
|
+
groupLabel: 'How big is your team?',
|
|
177
|
+
invalid: true,
|
|
178
|
+
name: 'pill-group-invalid',
|
|
179
|
+
};
|
|
@@ -67,7 +67,7 @@ export class PdsRow {
|
|
|
67
67
|
'min-height': this.minHeight,
|
|
68
68
|
}));
|
|
69
69
|
this.hostKeeper.record(`pds-row ${rowClasses}`, rowInlineStyles);
|
|
70
|
-
return h(Host, { key: '
|
|
70
|
+
return h(Host, { key: '589ee3251a4ee1d7824c8e2fa3e214de5466c3db', class: `pds-row ${rowClasses}`, style: rowInlineStyles });
|
|
71
71
|
}
|
|
72
72
|
static get is() { return "pds-row"; }
|
|
73
73
|
static get originalStyleUrls() {
|
|
@@ -2,12 +2,34 @@ import { Host, h } from "@stencil/core";
|
|
|
2
2
|
import { HostStylingKeeper } from "../../utils/attributes";
|
|
3
3
|
import { assignDescription, isSpecTest, messageId, exposeTypeProperty } from "../../utils/form";
|
|
4
4
|
import { danger, enlarge } from "@pine-ds/icons/icons";
|
|
5
|
+
/** The tags of an option list in order, optgroup contents included: equal shapes can be patched in place. */
|
|
6
|
+
const shapeOf = (items) => items.map((item) => item.tagName + (item.tagName === 'OPTGROUP' ? `(${shapeOf(Array.from(item.children))})` : '')).join();
|
|
7
|
+
/** Brings an existing option or optgroup up to date with its copy, keeping the element itself. */
|
|
8
|
+
const patchInPlace = (target, copy) => {
|
|
9
|
+
Array.from(target.attributes).forEach(({ name }) => {
|
|
10
|
+
if (!copy.hasAttribute(name))
|
|
11
|
+
target.removeAttribute(name);
|
|
12
|
+
});
|
|
13
|
+
Array.from(copy.attributes).forEach(({ name, value }) => {
|
|
14
|
+
if (target.getAttribute(name) !== value)
|
|
15
|
+
target.setAttribute(name, value);
|
|
16
|
+
});
|
|
17
|
+
if (copy.tagName === 'OPTGROUP') {
|
|
18
|
+
Array.from(copy.children).forEach((child, index) => patchInPlace(target.children[index], child));
|
|
19
|
+
}
|
|
20
|
+
else if (target.textContent !== copy.textContent) {
|
|
21
|
+
target.textContent = copy.textContent;
|
|
22
|
+
}
|
|
23
|
+
};
|
|
5
24
|
/**
|
|
6
25
|
* @slot action - Content to be displayed in the label area, typically for help icons or links
|
|
7
26
|
*/
|
|
8
27
|
export class PdsSelect {
|
|
9
28
|
constructor() {
|
|
10
29
|
this._type = 'select-one';
|
|
30
|
+
this.optionObserver = null;
|
|
31
|
+
this.optionSyncFrame = null;
|
|
32
|
+
this.hasHadOptions = false;
|
|
11
33
|
this.hostKeeper = new HostStylingKeeper();
|
|
12
34
|
/**
|
|
13
35
|
* Indicates whether or not the select field is disabled.
|
|
@@ -24,6 +46,16 @@ export class PdsSelect {
|
|
|
24
46
|
* @defaultValue false
|
|
25
47
|
*/
|
|
26
48
|
this.required = false;
|
|
49
|
+
/**
|
|
50
|
+
* Whether a mutation is inside an option or optgroup. The host's own attributes and children
|
|
51
|
+
* (top-level adds and removes reach `slotchange`) and the action slot's content are not.
|
|
52
|
+
*/
|
|
53
|
+
this.touchesOption = ({ target }) => {
|
|
54
|
+
// Not just TEXT_NODE: characterData also reports comment nodes, and a Comment has no
|
|
55
|
+
// .closest() — treating anything non-Element as a Text node crashed on one.
|
|
56
|
+
const element = target.nodeType === Node.ELEMENT_NODE ? target : target.parentElement;
|
|
57
|
+
return target !== this.el && (element === null || element === void 0 ? void 0 : element.closest('option, optgroup')) != null;
|
|
58
|
+
};
|
|
27
59
|
/**
|
|
28
60
|
* Emits an event on input change.
|
|
29
61
|
*/
|
|
@@ -50,25 +82,47 @@ export class PdsSelect {
|
|
|
50
82
|
this.pdsKeyDown.emit(ev);
|
|
51
83
|
};
|
|
52
84
|
/**
|
|
53
|
-
*
|
|
54
|
-
*
|
|
55
|
-
*
|
|
56
|
-
*
|
|
85
|
+
* Copies the slotted <option> and <optgroup> elements into the inner select, then
|
|
86
|
+
* reselects the current value. Runs on `slotchange` and when a slotted option changes
|
|
87
|
+
* (see startOptionSync).
|
|
88
|
+
*
|
|
89
|
+
* Nothing happens when the copies match what the select already holds. When only text or
|
|
90
|
+
* attributes changed, the select's own options are updated in place rather than replaced,
|
|
91
|
+
* so an open picker keeps its highlight, a multiple select keeps its range anchor, and a
|
|
92
|
+
* screen reader keeps its place. Selecting programmatically fires no change event, so a
|
|
93
|
+
* copy never emits `pdsSelectChange`.
|
|
57
94
|
*/
|
|
58
95
|
this.handleSlotChange = () => {
|
|
59
|
-
|
|
60
|
-
this.
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
96
|
+
var _a;
|
|
97
|
+
const slot = (_a = this.slotContainer) === null || _a === void 0 ? void 0 : _a.querySelector('slot');
|
|
98
|
+
if (slot === null || slot === undefined || this.selectEl === undefined)
|
|
99
|
+
return;
|
|
100
|
+
const copies = slot.assignedElements({ flatten: true })
|
|
101
|
+
.filter((item) => ['OPTION', 'OPTGROUP'].includes(item.tagName))
|
|
102
|
+
.map((item) => item.cloneNode(true));
|
|
103
|
+
const current = Array.from(this.selectEl.children);
|
|
104
|
+
// The very first copy populates an empty select, where falling back to the first option (like
|
|
105
|
+
// a native select) is correct; the no-match blank state is for options changing under a value
|
|
106
|
+
// that was already showing selected. Tracked separately from the select's current emptiness:
|
|
107
|
+
// an async reload that clears options before the next set lands would otherwise look like a
|
|
108
|
+
// first render again, and the no-match state must still apply once that next set arrives.
|
|
109
|
+
const hadOptions = this.hasHadOptions;
|
|
110
|
+
if (copies.length > 0)
|
|
111
|
+
this.hasHadOptions = true;
|
|
112
|
+
const markup = (items) => items.map((item) => item.outerHTML).join('');
|
|
113
|
+
if (markup(copies) === markup(current))
|
|
114
|
+
return;
|
|
115
|
+
if (shapeOf(copies) === shapeOf(current)) {
|
|
116
|
+
copies.forEach((copy, index) => patchInPlace(current[index], copy));
|
|
117
|
+
}
|
|
118
|
+
else {
|
|
119
|
+
this.selectEl.innerHTML = '';
|
|
120
|
+
copies.forEach((copy) => this.selectEl.appendChild(copy));
|
|
121
|
+
}
|
|
71
122
|
this.updateSelectedOption();
|
|
123
|
+
if (hadOptions)
|
|
124
|
+
this.showNoSelectionWithoutMatch();
|
|
125
|
+
this.updateFormValue();
|
|
72
126
|
};
|
|
73
127
|
}
|
|
74
128
|
/**
|
|
@@ -97,9 +151,16 @@ export class PdsSelect {
|
|
|
97
151
|
}
|
|
98
152
|
// Expose type property on the element instance to match native form element behavior
|
|
99
153
|
exposeTypeProperty(this.el, () => this._type);
|
|
154
|
+
// Reconnected after a move: componentDidLoad won't run again, and options may have changed
|
|
155
|
+
// while it was out of the document.
|
|
156
|
+
if (this.selectEl !== undefined) {
|
|
157
|
+
this.startOptionSync();
|
|
158
|
+
this.scheduleOptionSync();
|
|
159
|
+
}
|
|
100
160
|
}
|
|
101
161
|
disconnectedCallback() {
|
|
102
162
|
this.hostKeeper.disconnect();
|
|
163
|
+
this.stopOptionSync();
|
|
103
164
|
}
|
|
104
165
|
componentWillLoad() {
|
|
105
166
|
// Set initial type based on multiple prop
|
|
@@ -109,6 +170,43 @@ export class PdsSelect {
|
|
|
109
170
|
componentDidLoad() {
|
|
110
171
|
// Set initial form value
|
|
111
172
|
this.updateFormValue();
|
|
173
|
+
// Stencil holds componentDidLoad until the shadow root's pds-icon has loaded, so options can
|
|
174
|
+
// change between the first slotchange copy and here with nothing observing yet — the same gap
|
|
175
|
+
// the reconnect path closes with a catch-up sync.
|
|
176
|
+
this.startOptionSync();
|
|
177
|
+
this.scheduleOptionSync();
|
|
178
|
+
}
|
|
179
|
+
/**
|
|
180
|
+
* Keeps the inner select in step with the slotted options. `slotchange` only fires when
|
|
181
|
+
* top-level options are added or removed, so an option's text, value or disabled state
|
|
182
|
+
* changing, or an option added inside an optgroup, would otherwise never reach the select.
|
|
183
|
+
* Changes are batched into one copy per animation frame.
|
|
184
|
+
*/
|
|
185
|
+
startOptionSync() {
|
|
186
|
+
if (this.optionObserver !== null || typeof MutationObserver === 'undefined' || !this.el.isConnected)
|
|
187
|
+
return;
|
|
188
|
+
this.optionObserver = new MutationObserver((mutations) => {
|
|
189
|
+
if (mutations.some(this.touchesOption))
|
|
190
|
+
this.scheduleOptionSync();
|
|
191
|
+
});
|
|
192
|
+
this.optionObserver.observe(this.el, { childList: true, subtree: true, attributes: true, characterData: true });
|
|
193
|
+
}
|
|
194
|
+
scheduleOptionSync() {
|
|
195
|
+
if (this.optionSyncFrame !== null)
|
|
196
|
+
return;
|
|
197
|
+
this.optionSyncFrame = requestAnimationFrame(() => {
|
|
198
|
+
this.optionSyncFrame = null;
|
|
199
|
+
this.handleSlotChange();
|
|
200
|
+
});
|
|
201
|
+
}
|
|
202
|
+
stopOptionSync() {
|
|
203
|
+
var _a;
|
|
204
|
+
(_a = this.optionObserver) === null || _a === void 0 ? void 0 : _a.disconnect();
|
|
205
|
+
this.optionObserver = null;
|
|
206
|
+
if (this.optionSyncFrame !== null) {
|
|
207
|
+
cancelAnimationFrame(this.optionSyncFrame);
|
|
208
|
+
this.optionSyncFrame = null;
|
|
209
|
+
}
|
|
112
210
|
}
|
|
113
211
|
/**
|
|
114
212
|
* Updates the selected option in the select element based on the current value.
|
|
@@ -135,6 +233,19 @@ export class PdsSelect {
|
|
|
135
233
|
}
|
|
136
234
|
;
|
|
137
235
|
}
|
|
236
|
+
/**
|
|
237
|
+
* After a copy that changes an existing option set, a value whose option was renamed or removed
|
|
238
|
+
* has nothing to select. Like a native select, show nothing selected rather than the first
|
|
239
|
+
* option; the value itself is kept, with no change event.
|
|
240
|
+
*/
|
|
241
|
+
showNoSelectionWithoutMatch() {
|
|
242
|
+
var _a;
|
|
243
|
+
const wanted = [].concat((_a = this.value) !== null && _a !== void 0 ? _a : []).filter((value) => value !== '');
|
|
244
|
+
const options = Array.from(this.selectEl.options);
|
|
245
|
+
if (wanted.length > 0 && !options.some((option) => wanted.includes(option.value))) {
|
|
246
|
+
this.selectEl.selectedIndex = -1;
|
|
247
|
+
}
|
|
248
|
+
}
|
|
138
249
|
getHelperMessage() {
|
|
139
250
|
return this.helperMessage && (h("p", { class: "pds-select__helper-message", id: messageId(this.componentId, 'helper') }, this.helperMessage));
|
|
140
251
|
}
|
|
@@ -240,7 +351,7 @@ export class PdsSelect {
|
|
|
240
351
|
'has-action': hasAction && !this.hideLabel ? 'true' : null,
|
|
241
352
|
};
|
|
242
353
|
this.hostKeeper.record(hostClass, {}, hostAttributes);
|
|
243
|
-
return (h(Host, Object.assign({ key: '
|
|
354
|
+
return (h(Host, Object.assign({ key: '37c2c3b72c13c3c4e3d81da29ddddc86a7300d70', class: hostClass }, hostAttributes), h("div", { key: 'ff1c311dca6fc25813e5473d0e8daff4dc12e807', class: "pds-select" }, !this.hideLabel && (h("div", { key: '77db17b0beb1fefabb26ffe1df0e5f03a0515996', class: "pds-select__label-wrapper" }, h("label", { key: 'c4dcba3bc148aada4a3afcca0a30c64a630e441f', htmlFor: this.componentId }, h("span", { key: '0fc3424ec1961d3b216c0fabb80cb8acee37f1a2', class: this.hideLabel ? 'visually-hidden' : '' }, this.label)), hasAction && this.renderAction())), h("select", { key: 'ff343a6653ccd081021cb669a428c780d0162e8b', "aria-describedby": assignDescription(this.componentId, this.isInvalid(), this.helperMessage, this.errorMessage), "aria-invalid": this.isInvalid() ? 'true' : undefined, "aria-label": this.hideLabel ? this.label : undefined, autocomplete: this.autocomplete || undefined, class: "pds-select__field", disabled: this.disabled, id: this.componentId, multiple: this.multiple, name: this.name, onBlur: this.onBlur, onChange: this.onSelectUpdate, onFocus: this.onFocus, onKeyDown: this.onKeyDown, part: "select", required: this.required, ref: (el) => (this.selectEl = el) }), h("div", { key: '86fed1916c3b13d079492581a7c6bb621012a4a5', "aria-hidden": "true", class: "hidden", ref: (el) => (this.slotContainer = el) }, h("slot", { key: 'abe06eeef5be13b716573c8a806d6b7795edc65f', onSlotchange: this.handleSlotChange })), this.renderMessages(), !this.multiple && h("pds-icon", { key: '68c958666828f77114f2edeedb667070106046fa', "aria-hidden": "true", class: "pds-select__select-icon", icon: enlarge }))));
|
|
244
355
|
}
|
|
245
356
|
static get is() { return "pds-select"; }
|
|
246
357
|
static get encapsulation() { return "shadow"; }
|
|
@@ -198,8 +198,8 @@ export const withActionButton = (args) => html`<pds-select
|
|
|
198
198
|
?required=${args.required}
|
|
199
199
|
type="${args.type}"
|
|
200
200
|
value="${args.value}">
|
|
201
|
-
<pds-button slot="action" variant="unstyled">
|
|
202
|
-
<pds-icon name="question-circle"></pds-icon>
|
|
201
|
+
<pds-button slot="action" variant="unstyled" aria-label="Help with country">
|
|
202
|
+
<pds-icon name="question-circle" aria-hidden="true"></pds-icon>
|
|
203
203
|
</pds-button>
|
|
204
204
|
${options.map((option) => html`<option value="${option.value}">${option.label}</option>`)}
|
|
205
205
|
</pds-select>`;
|
|
@@ -48,7 +48,7 @@ export class PdsSortableItem {
|
|
|
48
48
|
}
|
|
49
49
|
render() {
|
|
50
50
|
this.hostKeeper.record('pds-sortable-item');
|
|
51
|
-
return (h(Host, { key: '
|
|
51
|
+
return (h(Host, { key: 'c6b5402a54179d4e7caed3cc81874977d2d6c677', class: "pds-sortable-item", id: this.componentId }, this.showHandle && (h("div", { key: 'cd2d85286bcb3e47f76e4571d609d91f932b717b', class: "pds-sortable-item__handle" }, h("pds-icon", { key: '97e2e155283d86921f40198637abf596d6cc86e0', "aria-hidden": "true", icon: handleIcon }))), h("slot", { key: '99743c8e5be45ca76f276b47688843a621c8ded5' }), this.enableActions && (h("div", { key: '7cb1a8b99658d72067ccae036b2bc0276b8cf02e', class: "pds-sortable-item__actions" }, h("slot", { key: 'f9b3b7d1cc10ac077f65ec2cafac7a372deae511', name: "sortable-item-actions" })))));
|
|
52
52
|
}
|
|
53
53
|
static get is() { return "pds-sortable-item"; }
|
|
54
54
|
static get encapsulation() { return "scoped"; }
|
|
@@ -70,7 +70,7 @@ export class PdsSortable {
|
|
|
70
70
|
render() {
|
|
71
71
|
const classNames = this.classNames();
|
|
72
72
|
this.hostKeeper.record(classNames);
|
|
73
|
-
return (h(Host, { key: '
|
|
73
|
+
return (h(Host, { key: '6e9e7b769f57ebfd81541fbecbe17b3fb4ad3e47', class: classNames, id: this.componentId }, h("slot", { key: 'c9466a216862c0a3e578f3fcfc1ac1e26146722b' })));
|
|
74
74
|
}
|
|
75
75
|
static get is() { return "pds-sortable"; }
|
|
76
76
|
static get encapsulation() { return "scoped"; }
|
|
@@ -113,9 +113,9 @@ export class PdsSwitch {
|
|
|
113
113
|
const hostClass = this.switchClassNames();
|
|
114
114
|
const ariaDisabled = this.disabled ? 'true' : null;
|
|
115
115
|
this.hostKeeper.record(hostClass, {}, { 'aria-disabled': ariaDisabled });
|
|
116
|
-
return (h(Host, { key: '
|
|
117
|
-
h("div", { key: '
|
|
118
|
-
h("div", { key: '
|
|
116
|
+
return (h(Host, { key: '0fa5beb83232b381ea5cdfa82d143afcb69eb4e1', class: hostClass, "aria-disabled": ariaDisabled }, h("label", { key: 'df5d08344d11cb334ef69a432d1c02557caacc96', htmlFor: this.componentId }, h("input", Object.assign({ key: '6908b328f0e2da2085ffbffe0d1e4d09f2c6fd86', "aria-describedby": assignDescription(this.componentId, this.invalid, this.helperMessage, this.errorMessage), "aria-invalid": this.invalid ? "true" : undefined, checked: this.checked, class: "pds-switch__input", disabled: this.disabled, id: this.componentId, name: this.name ? this.name : this.componentId, onChange: this.onSwitchUpdate, required: this.required, type: "checkbox", value: this.value }, this.inheritedAttributes)), h("span", { key: '1108ab3eae63a371f9e9b80f011211cba8287b67', class: this.hideLabel ? 'visually-hidden' : '' }, h("slot", { key: '8aac1d9b81deab92e1e27c06debf2b87bc697874', name: "label", onSlotchange: this.updateHasLabelSlot }), !this.hasLabelSlot && this.label)), this.helperMessage &&
|
|
117
|
+
h("div", { key: 'ef829fb6bc66060805a144995f60e2bebb915615', class: `pds-switch__message`, id: messageId(this.componentId, 'helper') }, this.helperMessage), this.errorMessage &&
|
|
118
|
+
h("div", { key: '42ad678cc2179b4a26ed09151de41c2293b98011', class: `pds-switch__message pds-switch__message--error`, id: messageId(this.componentId, 'error'), "aria-live": "assertive" }, h("pds-icon", { key: '8dc0b29b522247762010edb3b1e8e5fc8c8788fa', "aria-hidden": "true", icon: danger, size: "small" }), this.errorMessage)));
|
|
119
119
|
}
|
|
120
120
|
static get is() { return "pds-switch"; }
|
|
121
121
|
static get encapsulation() { return "shadow"; }
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Host, h } from "@stencil/core";
|
|
2
2
|
export class PdsTableBody {
|
|
3
3
|
render() {
|
|
4
|
-
return (h(Host, { key: '
|
|
4
|
+
return (h(Host, { key: '4f1cba9505f56ff1ab0a19f9a88318d66a02eacc', role: "rowgroup", part: "body" }, h("slot", { key: 'ea0c620a15fcbe2915189e870d0815c5cbffdf8c' })));
|
|
5
5
|
}
|
|
6
6
|
static get is() { return "pds-table-body"; }
|
|
7
7
|
static get encapsulation() { return "shadow"; }
|
|
@@ -143,11 +143,11 @@ export class PdsTableCell {
|
|
|
143
143
|
return classNames.join(' ');
|
|
144
144
|
}
|
|
145
145
|
render() {
|
|
146
|
-
return (h(Host, { key: '
|
|
146
|
+
return (h(Host, { key: 'fd84150bcb9bd5d2029624394d4f69b0a7234bc0', class: this.classNames(), role: "gridcell", part: "cell", style: this.tableRef &&
|
|
147
147
|
this.tableRef.fixedColumn &&
|
|
148
148
|
this.tableRef.selectable
|
|
149
149
|
? { '--fixed-cell-position': '40px' }
|
|
150
|
-
: {} }, h("slot", { key: '
|
|
150
|
+
: {} }, h("slot", { key: '9256f033ec58b9cb2acc74d705acc9726507668b' })));
|
|
151
151
|
}
|
|
152
152
|
static get is() { return "pds-table-cell"; }
|
|
153
153
|
static get encapsulation() { return "shadow"; }
|
|
@@ -42,7 +42,7 @@ export class PdsTableHead {
|
|
|
42
42
|
}
|
|
43
43
|
}
|
|
44
44
|
render() {
|
|
45
|
-
return (h(Host, { key: '
|
|
45
|
+
return (h(Host, { key: '4fb8d7bf4a9b0bce672208651c0600fbc94214af', role: "row", part: "head" }, this.tableRef && this.tableRef.selectable && (h("pds-table-head-cell", { key: '20b86146540208178bd63bd136e14e5534c7ec76', part: this.tableRef.selectable ? 'checkbox-cell' : '' }, !this.tableRef.disableSelectAll && (h("pds-checkbox", { key: 'fa8054dd7ee36c6401e9eeb9c962a820d3a02558', componentId: this.generateUniqueId(), indeterminate: this.indeterminate, onInput: this.handleInput, label: "Select All Rows", hideLabel: true, checked: this.isSelected, part: "select-all-checkbox" })))), h("slot", { key: 'a0000270ae6ed1cab1c6e802ccc53ba0de3e54c9' })));
|
|
46
46
|
}
|
|
47
47
|
static get is() { return "pds-table-head"; }
|
|
48
48
|
static get encapsulation() { return "shadow"; }
|
|
@@ -199,11 +199,11 @@ export class PdsTableHeadCell {
|
|
|
199
199
|
return classNames.join(' ');
|
|
200
200
|
}
|
|
201
201
|
render() {
|
|
202
|
-
return (h(Host, { key: '
|
|
202
|
+
return (h(Host, { key: 'd609309180968913315c1428d0403c3974a4bfc0', class: this.classNames(), role: "columnheader", onClick: this.toggleSort, part: "head-cell", style: this.tableRef &&
|
|
203
203
|
this.tableRef.fixedColumn &&
|
|
204
204
|
this.tableRef.selectable
|
|
205
205
|
? { '--fixed-cell-position': '40px' }
|
|
206
|
-
: {} }, h("slot", { key: '
|
|
206
|
+
: {} }, h("slot", { key: '7aff5994fe4c5250ce83516960183dbd9ffa9c69' }), this.sortable && this.isActive && (h("pds-icon", { key: '0a7b99ab2c56ea0cfb3aa6f810bf802422a29bef', icon: this.sortingDirection === 'asc' ? upSmall : downSmall, part: "sort-icon", "aria-hidden": "true" }))));
|
|
207
207
|
}
|
|
208
208
|
static get is() { return "pds-table-head-cell"; }
|
|
209
209
|
static get encapsulation() { return "shadow"; }
|
|
@@ -137,7 +137,7 @@ export class PdsTableRow {
|
|
|
137
137
|
}
|
|
138
138
|
}
|
|
139
139
|
render() {
|
|
140
|
-
return (h(Host, { key: '
|
|
140
|
+
return (h(Host, { key: 'dc956e7253971bdadc003448822a83953ed4658f', class: this.classNames(), role: "row", part: "row" }, this.tableRef && this.tableRef.selectable && (h("pds-table-cell", { key: '1f119c5036ab1d27c5138106968a40492222b6f3', part: this.tableRef.fixedColumn ? 'checkbox-cell' : 'checkbox-cell', class: this.tableRef.selectable ? 'has-checkbox' : '' }, h("pds-checkbox", { key: 'f7a3534eceeabe478fb85e6e476f814e03988cfb', componentId: this.generateUniqueId(), onPdsCheckboxChange: this.handleCheckboxChange, indeterminate: this.indeterminate, label: "Select Row", hideLabel: true, checked: this.isSelected, part: "row-checkbox" }))), h("slot", { key: '287c0fe2c39bac5df7a977e31290aeddd0cd46b3' })));
|
|
141
141
|
}
|
|
142
142
|
static get is() { return "pds-table-row"; }
|
|
143
143
|
static get encapsulation() { return "shadow"; }
|
|
@@ -164,7 +164,7 @@ const ResponsiveTemplate = (args) => html`
|
|
|
164
164
|
<pds-table-cell>Row Item Lima</pds-table-cell>
|
|
165
165
|
<pds-table-cell>
|
|
166
166
|
<pds-dropdown-menu placement="bottom-end">
|
|
167
|
-
<pds-button slot="trigger" size="
|
|
167
|
+
<pds-button slot="trigger" size="small" variant="tertiary" icon-only aria-label="More actions"><pds-icon slot="start" name="dot-menu-horizontal" aria-hidden="true"></pds-icon></pds-button>
|
|
168
168
|
<pds-dropdown-menu-item>Edit</pds-dropdown-menu-item>
|
|
169
169
|
<pds-dropdown-menu-item>Duplicate</pds-dropdown-menu-item>
|
|
170
170
|
<pds-dropdown-menu-separator></pds-dropdown-menu-separator>
|
|
@@ -186,7 +186,7 @@ const ResponsiveTemplate = (args) => html`
|
|
|
186
186
|
<pds-table-cell>Row Item Lima</pds-table-cell>
|
|
187
187
|
<pds-table-cell>
|
|
188
188
|
<pds-dropdown-menu placement="bottom-end">
|
|
189
|
-
<pds-button slot="trigger" size="
|
|
189
|
+
<pds-button slot="trigger" size="small" variant="tertiary" icon-only aria-label="More actions"><pds-icon slot="start" name="dot-menu-horizontal" aria-hidden="true"></pds-icon></pds-button>
|
|
190
190
|
<pds-dropdown-menu-item>Edit</pds-dropdown-menu-item>
|
|
191
191
|
<pds-dropdown-menu-item>Duplicate</pds-dropdown-menu-item>
|
|
192
192
|
<pds-dropdown-menu-separator></pds-dropdown-menu-separator>
|
|
@@ -208,7 +208,7 @@ const ResponsiveTemplate = (args) => html`
|
|
|
208
208
|
<pds-table-cell>Row Item Lima</pds-table-cell>
|
|
209
209
|
<pds-table-cell>
|
|
210
210
|
<pds-dropdown-menu placement="bottom-end">
|
|
211
|
-
<pds-button slot="trigger" size="
|
|
211
|
+
<pds-button slot="trigger" size="small" variant="tertiary" icon-only aria-label="More actions"><pds-icon slot="start" name="dot-menu-horizontal" aria-hidden="true"></pds-icon></pds-button>
|
|
212
212
|
<pds-dropdown-menu-item>Edit</pds-dropdown-menu-item>
|
|
213
213
|
<pds-dropdown-menu-item>Duplicate</pds-dropdown-menu-item>
|
|
214
214
|
<pds-dropdown-menu-separator></pds-dropdown-menu-separator>
|
|
@@ -33,7 +33,7 @@ export class PdsTabpanel {
|
|
|
33
33
|
// The docs show consumers omitting `slot`, so server HTML doesn't carry it — a DOM morph
|
|
34
34
|
// that strips it (and the stretch-active class) leaves this panel unslotted. Put both back.
|
|
35
35
|
this.hostKeeper.record(hostClass, {}, { slot: 'tabpanels' });
|
|
36
|
-
return (h(Host, { key: '
|
|
36
|
+
return (h(Host, { key: 'b649c0f9e0c103a2d7dad43b7db0a092194b4ba0', slot: "tabpanels", class: hostClass || undefined }, h("div", { key: 'a578722d33f7d04726185e393771838870833984', role: "tabpanel", id: this.parentComponentId + "__" + this.name + '-panel', tabindex: "0", "aria-labelledby": this.parentComponentId + "__" + this.name, class: this.selected ? "pds-tabpanel is-active" : "pds-tabpanel" }, h("slot", { key: '2ebe5745c444563333ee175bb3a1f7401ba77ec1' }))));
|
|
37
37
|
}
|
|
38
38
|
static get is() { return "pds-tabpanel"; }
|
|
39
39
|
static get originalStyleUrls() {
|
|
@@ -276,7 +276,7 @@ export class PdsTabs {
|
|
|
276
276
|
// Only the classes: `active-tab-name` backs the mutable activeTabName prop, so a morph that drops
|
|
277
277
|
// it is a prop change, not a strip.
|
|
278
278
|
this.hostKeeper.record(hostClass);
|
|
279
|
-
return (h(Host, { key: '
|
|
279
|
+
return (h(Host, { key: '08ac02be358bebbd95dd5edca30cd99789445f50', "active-tab-name": this.activeTabName, class: hostClass, id: this.componentId }, tabList, h("slot", { key: '02395c056f80f46f1fa9117eafde68ef170b4188', name: "tabpanels" })));
|
|
280
280
|
}
|
|
281
281
|
static get is() { return "pds-tabs"; }
|
|
282
282
|
static get encapsulation() { return "shadow"; }
|