@pine-ds/core 3.27.0 → 3.29.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/i18n-format.js +1 -0
- package/components/pds-alert.js +1 -1
- package/components/pds-avatar.js +1 -1
- package/components/pds-chip2.js +1 -1
- package/components/pds-link2.js +1 -1
- package/components/pds-multiselect.js +1 -1
- package/components/pds-tab.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/dist/cjs/i18n-format-CrpIhahc.js +64 -0
- package/dist/cjs/{index-DBhfI2Jq.js → index-BdFrBXCD.js} +5 -1
- package/dist/cjs/{index-DGBoDsAL.js → index-CKNNY-lQ.js} +1 -1
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/cjs/mock-pds-modal.cjs.entry.js +1 -1
- package/dist/cjs/pds-accordion.cjs.entry.js +2 -2
- package/dist/cjs/pds-alert.cjs.entry.js +8 -2
- package/dist/cjs/pds-avatar.cjs.entry.js +45 -8
- package/dist/cjs/pds-box.cjs.entry.js +1 -1
- package/dist/cjs/pds-button.cjs.entry.js +2 -2
- package/dist/cjs/pds-checkbox.cjs.entry.js +2 -2
- package/dist/cjs/pds-chip.cjs.entry.js +10 -5
- package/dist/cjs/pds-combobox.cjs.entry.js +1 -1
- package/dist/cjs/pds-container.cjs.entry.js +1 -1
- package/dist/cjs/pds-copytext.cjs.entry.js +2 -2
- package/dist/cjs/pds-divider.cjs.entry.js +1 -1
- package/dist/cjs/pds-dropdown-menu-item.cjs.entry.js +1 -1
- package/dist/cjs/pds-dropdown-menu-separator.cjs.entry.js +1 -1
- package/dist/cjs/pds-dropdown-menu.cjs.entry.js +1 -1
- package/dist/cjs/pds-filter.cjs.entry.js +2 -2
- package/dist/cjs/pds-filters.cjs.entry.js +1 -1
- package/dist/cjs/pds-icon.cjs.entry.js +1 -1
- package/dist/cjs/pds-image.cjs.entry.js +1 -1
- package/dist/cjs/pds-input.cjs.entry.js +2 -2
- package/dist/cjs/pds-link.cjs.entry.js +12 -5
- package/dist/cjs/pds-loader.cjs.entry.js +1 -1
- package/dist/cjs/pds-modal-content.cjs.entry.js +1 -1
- 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 +1 -1
- package/dist/cjs/pds-multiselect.cjs.entry.js +93 -14
- package/dist/cjs/pds-popover.cjs.entry.js +1 -1
- package/dist/cjs/pds-progress.cjs.entry.js +1 -1
- package/dist/cjs/pds-property.cjs.entry.js +1 -1
- package/dist/cjs/pds-radio-group.cjs.entry.js +2 -2
- package/dist/cjs/pds-radio.cjs.entry.js +2 -2
- 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 +2 -2
- package/dist/cjs/pds-sortable.cjs.entry.js +1 -1
- package/dist/cjs/pds-switch.cjs.entry.js +2 -2
- package/dist/cjs/pds-tab.cjs.entry.js +41 -6
- package/dist/cjs/pds-table-body.cjs.entry.js +1 -1
- package/dist/cjs/pds-table-cell.cjs.entry.js +1 -1
- package/dist/cjs/pds-table-head-cell.cjs.entry.js +2 -2
- 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 +1 -1
- package/dist/cjs/pds-tabpanel.cjs.entry.js +8 -3
- package/dist/cjs/pds-tabs.cjs.entry.js +74 -3
- package/dist/cjs/pds-text.cjs.entry.js +2 -2
- package/dist/cjs/pds-textarea.cjs.entry.js +14 -7
- package/dist/cjs/pds-toast.cjs.entry.js +10 -4
- package/dist/cjs/pds-tooltip.cjs.entry.js +3 -3
- package/dist/cjs/pine-core.cjs.js +2 -2
- package/dist/collection/components/pds-alert/pds-alert.js +30 -1
- package/dist/collection/components/pds-avatar/pds-avatar.css +29 -0
- package/dist/collection/components/pds-avatar/pds-avatar.js +133 -5
- package/dist/collection/components/pds-avatar/stories/pds-avatar.stories.js +23 -0
- package/dist/collection/components/pds-button/pds-button.js +1 -1
- package/dist/collection/components/pds-button/stories/pds-button.stories.js +25 -0
- package/dist/collection/components/pds-chip/pds-chip.js +31 -3
- package/dist/collection/components/pds-link/pds-link.css +10 -0
- package/dist/collection/components/pds-link/pds-link.js +32 -2
- package/dist/collection/components/pds-link/stories/pds-link.stories.js +14 -0
- package/dist/collection/components/pds-multiselect/pds-multiselect.js +358 -17
- package/dist/collection/components/pds-tabs/pds-tab/pds-tab.css +4 -4
- package/dist/collection/components/pds-tabs/pds-tab/pds-tab.js +161 -5
- package/dist/collection/components/pds-tabs/pds-tabpanel/pds-tabpanel.css +9 -0
- package/dist/collection/components/pds-tabs/pds-tabpanel/pds-tabpanel.js +29 -1
- package/dist/collection/components/pds-tabs/pds-tabs.css +14 -0
- package/dist/collection/components/pds-tabs/pds-tabs.js +146 -4
- package/dist/collection/components/pds-tabs/stories/pds-tabs.stories.js +43 -0
- package/dist/collection/components/pds-text/pds-text.js +1 -1
- package/dist/collection/components/pds-textarea/pds-textarea.js +35 -5
- package/dist/collection/components/pds-toast/pds-toast.js +32 -3
- package/dist/collection/components/pds-tooltip/pds-tooltip.js +2 -2
- package/dist/collection/i18n/i18n-format.js +59 -0
- package/dist/collection/i18n/index.js +1 -0
- package/dist/docs.json +866 -13
- package/dist/esm/i18n-format-BKsJZTyn.js +61 -0
- package/dist/esm/{index-D4ys0pep.js → index-BjlFq0VD.js} +1 -1
- package/dist/esm/{index-CaRgVPt7.js → index-NNDTPCWx.js} +5 -2
- package/dist/esm/loader.js +3 -3
- package/dist/esm/mock-pds-modal.entry.js +1 -1
- package/dist/esm/pds-accordion.entry.js +2 -2
- package/dist/esm/pds-alert.entry.js +8 -2
- package/dist/esm/pds-avatar.entry.js +45 -8
- package/dist/esm/pds-box.entry.js +1 -1
- package/dist/esm/pds-button.entry.js +2 -2
- package/dist/esm/pds-checkbox.entry.js +2 -2
- package/dist/esm/pds-chip.entry.js +10 -5
- package/dist/esm/pds-combobox.entry.js +1 -1
- package/dist/esm/pds-container.entry.js +1 -1
- package/dist/esm/pds-copytext.entry.js +2 -2
- package/dist/esm/pds-divider.entry.js +1 -1
- package/dist/esm/pds-dropdown-menu-item.entry.js +1 -1
- package/dist/esm/pds-dropdown-menu-separator.entry.js +1 -1
- package/dist/esm/pds-dropdown-menu.entry.js +1 -1
- package/dist/esm/pds-filter.entry.js +2 -2
- package/dist/esm/pds-filters.entry.js +1 -1
- package/dist/esm/pds-icon.entry.js +1 -1
- package/dist/esm/pds-image.entry.js +1 -1
- package/dist/esm/pds-input.entry.js +2 -2
- package/dist/esm/pds-link.entry.js +12 -5
- package/dist/esm/pds-loader.entry.js +1 -1
- package/dist/esm/pds-modal-content.entry.js +1 -1
- 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 +1 -1
- package/dist/esm/pds-multiselect.entry.js +93 -14
- package/dist/esm/pds-popover.entry.js +1 -1
- package/dist/esm/pds-progress.entry.js +1 -1
- package/dist/esm/pds-property.entry.js +1 -1
- package/dist/esm/pds-radio-group.entry.js +2 -2
- package/dist/esm/pds-radio.entry.js +2 -2
- package/dist/esm/pds-row.entry.js +1 -1
- package/dist/esm/pds-select.entry.js +2 -2
- package/dist/esm/pds-sortable-item.entry.js +2 -2
- package/dist/esm/pds-sortable.entry.js +1 -1
- package/dist/esm/pds-switch.entry.js +2 -2
- package/dist/esm/pds-tab.entry.js +41 -6
- package/dist/esm/pds-table-body.entry.js +1 -1
- package/dist/esm/pds-table-cell.entry.js +1 -1
- package/dist/esm/pds-table-head-cell.entry.js +2 -2
- 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 +1 -1
- package/dist/esm/pds-tabpanel.entry.js +8 -3
- package/dist/esm/pds-tabs.entry.js +74 -3
- package/dist/esm/pds-text.entry.js +2 -2
- package/dist/esm/pds-textarea.entry.js +14 -7
- package/dist/esm/pds-toast.entry.js +10 -4
- package/dist/esm/pds-tooltip.entry.js +3 -3
- package/dist/esm/pine-core.js +3 -3
- package/dist/esm-es5/i18n-format-BKsJZTyn.js +1 -0
- package/dist/esm-es5/{index-CaRgVPt7.js → index-NNDTPCWx.js} +2 -2
- 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-divider.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 +1 -1
- 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/pine-core/p-02805a93.system.entry.js +1 -0
- package/dist/pine-core/{p-e70c9002.entry.js → p-02977c6f.entry.js} +1 -1
- package/dist/pine-core/{p-4e49712d.entry.js → p-054f7011.entry.js} +1 -1
- package/dist/pine-core/{p-571d6bef.system.entry.js → p-076aaa00.system.entry.js} +1 -1
- package/dist/pine-core/{p-3fa80c5a.system.entry.js → p-092a72d2.system.entry.js} +1 -1
- package/dist/pine-core/p-0a09ccbe.entry.js +1 -0
- package/dist/pine-core/p-0a4f2d5f.system.entry.js +1 -0
- package/dist/pine-core/{p-f2cf8e76.entry.js → p-0d6daa35.entry.js} +1 -1
- package/dist/pine-core/p-12154189.system.entry.js +1 -0
- package/dist/pine-core/{p-44f58d33.system.entry.js → p-1deded6e.system.entry.js} +1 -1
- package/dist/pine-core/{p-fa81009f.system.entry.js → p-1f20608e.system.entry.js} +1 -1
- package/dist/pine-core/{p-27ac77c3.entry.js → p-1fb985bb.entry.js} +1 -1
- package/dist/pine-core/{p-855dfc31.system.entry.js → p-20e0d06c.system.entry.js} +1 -1
- package/dist/pine-core/p-24fcf841.system.entry.js +1 -0
- package/dist/pine-core/{p-c273210a.entry.js → p-292cf8f9.entry.js} +1 -1
- package/dist/pine-core/{p-db1572a3.entry.js → p-2a74b396.entry.js} +1 -1
- package/dist/pine-core/p-2d1cc047.entry.js +1 -0
- package/dist/pine-core/{p-002c420f.system.entry.js → p-2ec460e1.system.entry.js} +1 -1
- package/dist/pine-core/{p-e0cfb931.system.entry.js → p-2fc127b4.system.entry.js} +1 -1
- package/dist/pine-core/{p-d09ae46d.system.entry.js → p-3170d53b.system.entry.js} +1 -1
- package/dist/pine-core/{p-0451fdf7.entry.js → p-39ad92fc.entry.js} +1 -1
- package/dist/pine-core/{p-974bf0c5.entry.js → p-39c6e6c9.entry.js} +1 -1
- package/dist/pine-core/{p-d5c1f85e.system.entry.js → p-3c6300a8.system.entry.js} +1 -1
- package/dist/pine-core/{p-b0b6acdb.system.entry.js → p-3e3b3bf6.system.entry.js} +1 -1
- package/dist/pine-core/{p-52f7115b.entry.js → p-43a1d9d7.entry.js} +1 -1
- package/dist/pine-core/{p-13ec2343.entry.js → p-43ef94bc.entry.js} +1 -1
- package/dist/pine-core/{p-618ba6d5.system.entry.js → p-464ec4eb.system.entry.js} +1 -1
- package/dist/pine-core/{p-ee6f914c.entry.js → p-47708864.entry.js} +1 -1
- package/dist/pine-core/{p-ccb889d8.system.entry.js → p-507e831f.system.entry.js} +1 -1
- package/dist/pine-core/p-5c229a7f.entry.js +1 -0
- package/dist/pine-core/{p-5c6c2f79.system.entry.js → p-5c7a72aa.system.entry.js} +1 -1
- package/dist/pine-core/{p-71ca8845.system.entry.js → p-5e6e8d4e.system.entry.js} +1 -1
- package/dist/pine-core/{p-3ad9bcef.system.entry.js → p-5f4d2c5c.system.entry.js} +1 -1
- package/dist/pine-core/{p-6a2373d0.system.entry.js → p-606418b7.system.entry.js} +1 -1
- package/dist/pine-core/{p-22bfa998.entry.js → p-6254d112.entry.js} +1 -1
- package/dist/pine-core/{p-5a2df1e2.entry.js → p-62f75f84.entry.js} +1 -1
- package/dist/pine-core/{p-835d9f18.system.entry.js → p-69e47ffc.system.entry.js} +1 -1
- package/dist/pine-core/p-6f82e8dc.system.entry.js +1 -0
- package/dist/pine-core/{p-b1b317a5.entry.js → p-6fb68ad1.entry.js} +1 -1
- package/dist/pine-core/{p-1e3beca4.system.entry.js → p-7153efaf.system.entry.js} +1 -1
- package/dist/pine-core/{p-a982ac91.system.entry.js → p-72a1b563.system.entry.js} +1 -1
- package/dist/pine-core/{p-7aca41d9.system.entry.js → p-7803c5b6.system.entry.js} +1 -1
- package/dist/pine-core/{p-74e06c8d.system.entry.js → p-78cd9f97.system.entry.js} +1 -1
- package/dist/pine-core/{p-edf4e4eb.system.entry.js → p-79598750.system.entry.js} +1 -1
- package/dist/pine-core/p-7a7954b2.system.entry.js +1 -0
- package/dist/pine-core/{p-3ba36512.system.entry.js → p-7b85115b.system.entry.js} +1 -1
- package/dist/pine-core/{p-83eb33d4.entry.js → p-7bac161d.entry.js} +1 -1
- package/dist/pine-core/{p-bdf18687.entry.js → p-7d15b65e.entry.js} +1 -1
- package/dist/pine-core/p-7e065b59.entry.js +1 -0
- package/dist/pine-core/p-82af7d58.system.entry.js +1 -0
- package/dist/pine-core/{p-73b81009.entry.js → p-83e8f145.entry.js} +1 -1
- package/dist/pine-core/{p-cce6dcf0.system.entry.js → p-85f7428b.system.entry.js} +1 -1
- package/dist/pine-core/{p-ae840ec4.entry.js → p-87ba6d2b.entry.js} +1 -1
- package/dist/pine-core/p-8c0040c4.entry.js +1 -0
- package/dist/pine-core/{p-a659cce1.entry.js → p-8c85f53a.entry.js} +1 -1
- package/dist/pine-core/{p-20f39b93.system.entry.js → p-8d6fd5a7.system.entry.js} +1 -1
- package/dist/pine-core/{p-7247fb4f.entry.js → p-902b5790.entry.js} +1 -1
- package/dist/pine-core/{p-3f19666c.entry.js → p-92f648ba.entry.js} +1 -1
- package/dist/pine-core/{p-e620e492.system.entry.js → p-9374cf48.system.entry.js} +1 -1
- package/dist/pine-core/p-978b848b.system.entry.js +1 -0
- package/dist/pine-core/{p-babd0607.system.entry.js → p-9aaee1e9.system.entry.js} +1 -1
- package/dist/pine-core/p-9ba86e34.entry.js +1 -0
- package/dist/pine-core/{p-4abec102.system.entry.js → p-9f041a63.system.entry.js} +2 -2
- package/dist/pine-core/p-B1rytYxP.system.js +1 -0
- package/dist/pine-core/p-BKsJZTyn.js +1 -0
- package/dist/pine-core/p-Cr7-rJtJ.system.js +1 -0
- package/dist/pine-core/{p-CdwliqhD.system.js → p-DVZjHa4_.system.js} +2 -2
- package/dist/pine-core/p-NNDTPCWx.js +2 -0
- package/dist/pine-core/{p-ba88ff60.system.entry.js → p-a03c12a4.system.entry.js} +1 -1
- package/dist/pine-core/p-a9ef5295.entry.js +1 -0
- package/dist/pine-core/{p-334b7c30.entry.js → p-ac2775b5.entry.js} +1 -1
- package/dist/pine-core/{p-a1750a54.entry.js → p-b0058cb0.entry.js} +1 -1
- package/dist/pine-core/p-b0674b8d.entry.js +1 -0
- package/dist/pine-core/{p-1e1804ed.system.entry.js → p-b5c760c8.system.entry.js} +1 -1
- package/dist/pine-core/{p-3a1b7302.system.entry.js → p-b6812452.system.entry.js} +1 -1
- package/dist/pine-core/{p-2b0cb8c4.system.entry.js → p-b89583e7.system.entry.js} +1 -1
- package/dist/pine-core/{p-5584a56b.entry.js → p-b9380ce8.entry.js} +1 -1
- package/dist/pine-core/{p-568bb210.system.entry.js → p-ba54470a.system.entry.js} +1 -1
- package/dist/pine-core/{p-7a4da839.entry.js → p-bf759fc0.entry.js} +1 -1
- package/dist/pine-core/{p-791d357a.entry.js → p-c1932447.entry.js} +1 -1
- package/dist/pine-core/{p-cce83ef0.entry.js → p-c2688710.entry.js} +1 -1
- package/dist/pine-core/{p-46de2438.entry.js → p-c35fe2e2.entry.js} +1 -1
- package/dist/pine-core/{p-ef71710b.system.entry.js → p-c3748812.system.entry.js} +2 -2
- package/dist/pine-core/{p-59a5dd77.system.entry.js → p-c52ad43b.system.entry.js} +1 -1
- package/dist/pine-core/{p-3876b9be.entry.js → p-ce715993.entry.js} +1 -1
- package/dist/pine-core/{p-587a15ee.system.entry.js → p-cf389430.system.entry.js} +1 -1
- package/dist/pine-core/{p-7874fe2b.entry.js → p-d037308b.entry.js} +1 -1
- package/dist/pine-core/{p-52e9ec4f.entry.js → p-d281464e.entry.js} +1 -1
- package/dist/pine-core/{p-04f8b32a.entry.js → p-d70201bb.entry.js} +1 -1
- package/dist/pine-core/{p-9865431f.system.entry.js → p-d9cb26fe.system.entry.js} +1 -1
- package/dist/pine-core/{p-44388b8f.system.entry.js → p-dc460e2d.system.entry.js} +1 -1
- package/dist/pine-core/p-dc48f603.entry.js +1 -0
- package/dist/pine-core/{p-01dba061.entry.js → p-dcc4ee5e.entry.js} +1 -1
- package/dist/pine-core/{p-f366f064.entry.js → p-def5d3d3.entry.js} +1 -1
- package/dist/pine-core/p-e0fb06ea.system.entry.js +1 -0
- package/dist/pine-core/p-e4b69d10.entry.js +1 -0
- package/dist/pine-core/{p-ae2b466a.system.entry.js → p-e81b4d04.system.entry.js} +1 -1
- package/dist/pine-core/{p-c3a99f39.entry.js → p-eb42ca18.entry.js} +1 -1
- package/dist/pine-core/{p-59c60e5b.entry.js → p-ebe218f8.entry.js} +1 -1
- package/dist/pine-core/{p-889fce8a.entry.js → p-ec2c0e57.entry.js} +2 -2
- package/dist/pine-core/{p-fb68e503.system.entry.js → p-eed4b552.system.entry.js} +1 -1
- package/dist/pine-core/p-f6d1469d.entry.js +1 -0
- package/dist/pine-core/{p-65fb166c.system.entry.js → p-fb10caff.system.entry.js} +1 -1
- package/dist/pine-core/{p-0bf56f61.entry.js → p-ff1e9a32.entry.js} +1 -1
- package/dist/pine-core/p-ff3399ed.entry.js +1 -0
- package/dist/pine-core/pine-core.css +1 -1
- 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 +6 -0
- package/dist/types/components/pds-avatar/pds-avatar.d.ts +30 -0
- package/dist/types/components/pds-button/pds-button.d.ts +1 -1
- package/dist/types/components/pds-chip/pds-chip.d.ts +5 -0
- package/dist/types/components/pds-link/pds-link.d.ts +7 -0
- package/dist/types/components/pds-multiselect/pds-multiselect.d.ts +67 -4
- package/dist/types/components/pds-tabs/pds-tab/pds-tab.d.ts +42 -0
- package/dist/types/components/pds-tabs/pds-tabpanel/pds-tabpanel.d.ts +5 -0
- package/dist/types/components/pds-tabs/pds-tabs.d.ts +25 -2
- package/dist/types/components/pds-textarea/pds-textarea.d.ts +6 -0
- package/dist/types/components/pds-toast/pds-toast.d.ts +6 -0
- package/dist/types/components.d.ts +321 -14
- package/dist/types/i18n/i18n-format.d.ts +38 -0
- package/dist/types/i18n/index.d.ts +2 -0
- package/hydrate/index.js +402 -53
- package/hydrate/index.mjs +402 -53
- package/package.json +3 -2
- package/dist/pine-core/p-003f91b1.system.entry.js +0 -1
- package/dist/pine-core/p-006398c3.system.entry.js +0 -1
- package/dist/pine-core/p-190ba1df.entry.js +0 -1
- package/dist/pine-core/p-638e9cb3.entry.js +0 -1
- package/dist/pine-core/p-63e0d4a5.system.entry.js +0 -1
- package/dist/pine-core/p-68121613.system.entry.js +0 -1
- package/dist/pine-core/p-6c5aacad.entry.js +0 -1
- package/dist/pine-core/p-73dd2a2b.entry.js +0 -1
- package/dist/pine-core/p-7520a715.system.entry.js +0 -1
- package/dist/pine-core/p-7766e970.entry.js +0 -1
- package/dist/pine-core/p-7b71f1bf.system.entry.js +0 -1
- package/dist/pine-core/p-7b954dbf.entry.js +0 -1
- package/dist/pine-core/p-8065c732.entry.js +0 -1
- package/dist/pine-core/p-829c52dc.entry.js +0 -1
- package/dist/pine-core/p-C61CFP22.system.js +0 -1
- package/dist/pine-core/p-CaRgVPt7.js +0 -2
- package/dist/pine-core/p-a739bdfa.entry.js +0 -1
- package/dist/pine-core/p-ab957ace.system.entry.js +0 -1
- package/dist/pine-core/p-b88be8be.entry.js +0 -1
- package/dist/pine-core/p-e291db30.entry.js +0 -1
- package/dist/pine-core/p-e77c5c08.system.entry.js +0 -1
- package/dist/pine-core/p-f2315f2a.entry.js +0 -1
- package/dist/pine-core/p-f928817f.system.entry.js +0 -1
- /package/dist/esm-es5/{index-D4ys0pep.js → index-BjlFq0VD.js} +0 -0
- /package/dist/pine-core/{p-D4ys0pep.js → p-BjlFq0VD.js} +0 -0
- /package/dist/pine-core/{p-C62JIZmE.system.js → p-WYNNo1N0.system.js} +0 -0
|
@@ -7,6 +7,13 @@ import { launch } from "@pine-ds/icons/icons";
|
|
|
7
7
|
*/
|
|
8
8
|
export class PdsLink {
|
|
9
9
|
constructor() {
|
|
10
|
+
/**
|
|
11
|
+
* Marks the link as the current/active navigation item — for tab strips and
|
|
12
|
+
* nav rails built from links. Applies the active treatment (persistent
|
|
13
|
+
* underline + strong text) and sets `aria-current="page"`.
|
|
14
|
+
* @defaultValue false
|
|
15
|
+
*/
|
|
16
|
+
this.active = false;
|
|
10
17
|
/**
|
|
11
18
|
* Determines whether the link should open in a new tab.
|
|
12
19
|
* @defaultValue false
|
|
@@ -49,8 +56,8 @@ export class PdsLink {
|
|
|
49
56
|
const targetValue = this.target || (this.external ? '_blank' : undefined);
|
|
50
57
|
const showExternalIcon = this.external;
|
|
51
58
|
const relValue = targetValue === '_blank' ? 'noopener noreferrer' : undefined;
|
|
52
|
-
return (h("a", { key: '
|
|
53
|
-
h("pds-icon", { key: '
|
|
59
|
+
return (h("a", { key: '5d0c5a0a5b8b80a8cdff802a3d78dad85a9ccdc4', class: this.classNames(), download: this.download, href: this.href, id: this.componentId, part: "link", "aria-current": this.active ? 'page' : undefined, target: targetValue, rel: relValue, style: this.setLinkStyles(), "data-turbo": this.turbo || undefined, "data-turbo-frame": this.turboFrame || undefined, "data-turbo-action": this.turboAction || undefined, "data-turbo-method": this.turboMethod || undefined, "data-turbo-confirm": this.turboConfirm || undefined, "data-turbo-stream": this.turboStream || undefined, "data-turbo-prefetch": this.turboPrefetch || undefined, "data-turbo-preload": this.turboPreload || undefined }, h("slot", { key: '06b7be14d867eae1b7acba8570f1e94bdf840fbb' }, this.href), showExternalIcon &&
|
|
60
|
+
h("pds-icon", { key: '678414f7d20fd20b6931cc401163180c3ad0094c', icon: launch, size: this.fontSize })));
|
|
54
61
|
}
|
|
55
62
|
static get is() { return "pds-link"; }
|
|
56
63
|
static get encapsulation() { return "shadow"; }
|
|
@@ -66,6 +73,29 @@ export class PdsLink {
|
|
|
66
73
|
}
|
|
67
74
|
static get properties() {
|
|
68
75
|
return {
|
|
76
|
+
"active": {
|
|
77
|
+
"type": "boolean",
|
|
78
|
+
"mutable": false,
|
|
79
|
+
"complexType": {
|
|
80
|
+
"original": "boolean",
|
|
81
|
+
"resolved": "boolean",
|
|
82
|
+
"references": {}
|
|
83
|
+
},
|
|
84
|
+
"required": false,
|
|
85
|
+
"optional": false,
|
|
86
|
+
"docs": {
|
|
87
|
+
"tags": [{
|
|
88
|
+
"name": "defaultValue",
|
|
89
|
+
"text": "false"
|
|
90
|
+
}],
|
|
91
|
+
"text": "Marks the link as the current/active navigation item \u2014 for tab strips and\nnav rails built from links. Applies the active treatment (persistent\nunderline + strong text) and sets `aria-current=\"page\"`."
|
|
92
|
+
},
|
|
93
|
+
"getter": false,
|
|
94
|
+
"setter": false,
|
|
95
|
+
"reflect": true,
|
|
96
|
+
"attribute": "active",
|
|
97
|
+
"defaultValue": "false"
|
|
98
|
+
},
|
|
69
99
|
"color": {
|
|
70
100
|
"type": "string",
|
|
71
101
|
"mutable": false,
|
|
@@ -58,3 +58,17 @@ WithoutCustomTextInSlot.args = {
|
|
|
58
58
|
fontSize: 'lg',
|
|
59
59
|
variant: 'inline'
|
|
60
60
|
};
|
|
61
|
+
|
|
62
|
+
// A per-URL tab strip built from links (pds-tabs is an in-page panel switcher,
|
|
63
|
+
// not navigation). `active` marks the current destination — persistent underline
|
|
64
|
+
// + strong text, and `aria-current="page"`, which is the correct ARIA token for
|
|
65
|
+
// links that navigate to distinct pages.
|
|
66
|
+
export const NavTabs = {
|
|
67
|
+
render: () => html`
|
|
68
|
+
<nav aria-label="Club sections" style="display: flex; gap: var(--pine-dimension-md);">
|
|
69
|
+
<pds-link href="/clubs/1/chat" font-size="md" ?active=${true}>Chat</pds-link>
|
|
70
|
+
<pds-link href="/clubs/1/resources" font-size="md" variant="plain">Resources</pds-link>
|
|
71
|
+
<pds-link href="/clubs/1/members" font-size="md" variant="plain">Members</pds-link>
|
|
72
|
+
</nav>
|
|
73
|
+
`,
|
|
74
|
+
};
|
|
@@ -3,6 +3,7 @@ import { computePosition, flip, offset, shift, size, autoUpdate } from "@floatin
|
|
|
3
3
|
import { debounceEvent } from "../../utils/utils";
|
|
4
4
|
import { isSpecTest, messageId, assignDescription } from "../../utils/form";
|
|
5
5
|
import { danger, enlarge } from "@pine-ds/icons/icons";
|
|
6
|
+
import { formatMessage, pluralize } from "../../i18n";
|
|
6
7
|
/**
|
|
7
8
|
* @slot (default) - Static option elements for the multiselect
|
|
8
9
|
* @slot empty - Custom empty state message when no options match
|
|
@@ -13,14 +14,65 @@ import { danger, enlarge } from "@pine-ds/icons/icons";
|
|
|
13
14
|
export class PdsMultiselect {
|
|
14
15
|
constructor() {
|
|
15
16
|
/**
|
|
16
|
-
* Placeholder text for the input field.
|
|
17
|
+
* Placeholder text for the input field. Pass a translated string to localize it; defaults to English.
|
|
18
|
+
* @defaultValue 'Select...'
|
|
17
19
|
*/
|
|
18
20
|
this.placeholder = 'Select...';
|
|
19
21
|
/**
|
|
20
|
-
* Placeholder text for the search input inside the dropdown panel.
|
|
21
|
-
* @
|
|
22
|
+
* Placeholder text for the search input inside the dropdown panel. Pass a translated string to localize it; defaults to English.
|
|
23
|
+
* @defaultValue 'Find...'
|
|
22
24
|
*/
|
|
23
25
|
this.searchPlaceholder = 'Find...';
|
|
26
|
+
/**
|
|
27
|
+
* Accessible label for the search input. Pass a translated string to localize it; defaults to English.
|
|
28
|
+
* @defaultValue 'Search options'
|
|
29
|
+
*/
|
|
30
|
+
this.searchOptionsLabel = 'Search options';
|
|
31
|
+
/**
|
|
32
|
+
* Accessible label for the selected-items region. Pass a translated string to localize it; defaults to English.
|
|
33
|
+
* @defaultValue 'Selected items'
|
|
34
|
+
*/
|
|
35
|
+
this.selectedItemsLabel = 'Selected items';
|
|
36
|
+
/**
|
|
37
|
+
* Accessible label for the options listbox (falls back to this when `label` is unset). Pass a translated string to localize it; defaults to English.
|
|
38
|
+
* @defaultValue 'Options'
|
|
39
|
+
*/
|
|
40
|
+
this.optionsLabel = 'Options';
|
|
41
|
+
/**
|
|
42
|
+
* Text shown when no options match the search. Pass a translated string to localize it; defaults to English.
|
|
43
|
+
* @defaultValue 'No options found'
|
|
44
|
+
*/
|
|
45
|
+
this.noOptionsFoundLabel = 'No options found';
|
|
46
|
+
/**
|
|
47
|
+
* Visible label for the create-new-option row. Pass a translated string to localize it; `{text}` is interpolated.
|
|
48
|
+
* @defaultValue 'Add "{text}"'
|
|
49
|
+
*/
|
|
50
|
+
this.createOptionLabel = 'Add "{text}"';
|
|
51
|
+
/**
|
|
52
|
+
* Accessible label for the create-new-option row. Pass a translated string to localize it; `{text}` is interpolated.
|
|
53
|
+
* @defaultValue 'Create new tag: {text}'
|
|
54
|
+
*/
|
|
55
|
+
this.createOptionAriaLabel = 'Create new tag: {text}';
|
|
56
|
+
/**
|
|
57
|
+
* Screen-reader announcement when an item is removed. Pass a translated string to localize it; `{item}` is interpolated.
|
|
58
|
+
* @defaultValue '{item} removed'
|
|
59
|
+
*/
|
|
60
|
+
this.itemRemovedLabel = '{item} removed';
|
|
61
|
+
/**
|
|
62
|
+
* Accessible label for the remove button on each selected-item pill. Pass a translated string to localize it; defaults to English.
|
|
63
|
+
* @defaultValue 'Remove'
|
|
64
|
+
*/
|
|
65
|
+
this.pillRemoveLabel = 'Remove';
|
|
66
|
+
/**
|
|
67
|
+
* Singular form of the selected-count trigger text. Pass a translated string to localize it; `{count}` is interpolated.
|
|
68
|
+
* @defaultValue '{count} item'
|
|
69
|
+
*/
|
|
70
|
+
this.selectedCountLabelOne = '{count} item';
|
|
71
|
+
/**
|
|
72
|
+
* Plural (and fallback) form of the selected-count trigger text — used for English and any locale whose selected plural category isn't supplied via `selectedCountLabels`. Pass a translated string to localize it; `{count}` is interpolated.
|
|
73
|
+
* @defaultValue '{count} items'
|
|
74
|
+
*/
|
|
75
|
+
this.selectedCountLabelOther = '{count} items';
|
|
24
76
|
/**
|
|
25
77
|
* Whether to close the panel after an option is selected.
|
|
26
78
|
* Defaults to `false` (panel stays open for multi-select).
|
|
@@ -259,7 +311,7 @@ export class PdsMultiselect {
|
|
|
259
311
|
this.pdsMultiselectChange.emit({ values: this.value, items: this.selectedItems });
|
|
260
312
|
// Clear first so screen readers re-announce even when the same item is removed twice
|
|
261
313
|
this.removalAnnouncement = '';
|
|
262
|
-
queueMicrotask(() => { this.removalAnnouncement =
|
|
314
|
+
queueMicrotask(() => { this.removalAnnouncement = formatMessage(this.itemRemovedLabel, { item: item.text }); });
|
|
263
315
|
this.isClosingViaSelection = true;
|
|
264
316
|
if (this.isOpen) {
|
|
265
317
|
(_a = this.searchInputEl) === null || _a === void 0 ? void 0 : _a.focus();
|
|
@@ -896,7 +948,7 @@ export class PdsMultiselect {
|
|
|
896
948
|
'pds-multiselect__option--selected': isSelected,
|
|
897
949
|
'pds-multiselect__option--create': isCreateOption,
|
|
898
950
|
'pds-multiselect__option--disabled': isDisabled || isCreateDisabled,
|
|
899
|
-
}, role: "option", "aria-selected": isSelected ? 'true' : 'false', "aria-disabled": isDisabled || isCreateDisabled ? 'true' : undefined, "aria-label": isCreateOption ?
|
|
951
|
+
}, role: "option", "aria-selected": isSelected ? 'true' : 'false', "aria-disabled": isDisabled || isCreateDisabled ? 'true' : undefined, "aria-label": isCreateOption ? formatMessage(this.createOptionAriaLabel, { text: option.text }) : undefined, "data-index": index, onMouseDown: this.handleOptionMouseDown(option), onMouseEnter: this.handleOptionMouseEnter(index, option) }, isCreateOption ? (h("pds-box", { class: "pds-multiselect__create-option", "align-items": "center", gap: "xs" }, h("pds-icon", { name: "add", size: "small" }), h("pds-text", null, formatMessage(this.createOptionLabel, { text: option.text })))) : (h("pds-checkbox", { componentId: `${this.componentId}-checkbox-${index}`, checked: isSelected, label: option.text, disabled: isDisabled, style: { pointerEvents: 'none' } }))));
|
|
900
952
|
}
|
|
901
953
|
renderSelectedItemsList() {
|
|
902
954
|
if (this.hideSelectedItems || this.selectedItems.length === 0)
|
|
@@ -910,7 +962,7 @@ export class PdsMultiselect {
|
|
|
910
962
|
const valueArray = this.ensureValueArray();
|
|
911
963
|
const hasSlottedEmpty = !!this.el.querySelector('[slot="empty"]');
|
|
912
964
|
const hasSlottedLoading = !!this.el.querySelector('[slot="loading"]');
|
|
913
|
-
return (h("div", { class: "pds-multiselect__panel", ref: el => (this.panelEl = el), style: { minWidth: this.minWidth } }, h("div", { class: "pds-multiselect__search" }, h("pds-icon", { name: "search", size: "small" }), h("input", { ref: el => (this.searchInputEl = el), type: "text", class: "pds-multiselect__search-input", placeholder: this.searchPlaceholder, value: this.searchQuery, "aria-label":
|
|
965
|
+
return (h("div", { class: "pds-multiselect__panel", ref: el => (this.panelEl = el), style: { minWidth: this.minWidth } }, h("div", { class: "pds-multiselect__search" }, h("pds-icon", { name: "search", size: "small" }), h("input", { ref: el => (this.searchInputEl = el), type: "text", class: "pds-multiselect__search-input", placeholder: this.searchPlaceholder, value: this.searchQuery, "aria-label": this.searchOptionsLabel, "aria-controls": `${this.componentId}-listbox`, "aria-activedescendant": this.highlightedIndex >= 0 ? `${this.componentId}-option-${this.highlightedIndex}` : undefined, role: "combobox", "aria-haspopup": "listbox", "aria-expanded": "true", "aria-autocomplete": "list", autocomplete: "off", onInput: this.handleSearchInputChange, onKeyDown: this.handleSearchInputKeyDown })), this.renderSelectedItemsList(), h("ul", { class: "pds-multiselect__listbox", role: "listbox", "aria-multiselectable": "true", "aria-label": this.label || this.optionsLabel, id: `${this.componentId}-listbox`, ref: el => (this.listboxEl = el), style: { maxHeight: this.maxHeight }, onScroll: this.handleScroll }, this.loading && (h("li", { class: "pds-multiselect__loading", role: "presentation" }, hasSlottedLoading ? (h("slot", { name: "loading" })) : (h("pds-loader", { size: "small" })))), !this.loading && filteredOptions.length === 0 && (h("li", { class: "pds-multiselect__empty", role: "presentation" }, hasSlottedEmpty ? (h("slot", { name: "empty" })) : (h("span", null, this.noOptionsFoundLabel)))), this.getGroupedRenderItems(filteredOptions).map((item, itemIndex) => {
|
|
914
966
|
if (item.type === 'group') {
|
|
915
967
|
return (h("li", { key: `group-${itemIndex}`, role: "group", "aria-label": item.group, class: "pds-multiselect__group" }, h("span", { class: "pds-multiselect__group-header", "aria-hidden": "true" }, item.group), h("ul", { class: "pds-multiselect__group-list", role: "presentation" }, item.options.map(({ option, index }) => this.renderOption(option, index, valueArray)))));
|
|
916
968
|
}
|
|
@@ -925,27 +977,54 @@ export class PdsMultiselect {
|
|
|
925
977
|
const variant = this.disabled ? 'text' : 'tag';
|
|
926
978
|
const visibleItems = this.selectedItems.slice(0, Math.max(1, this.maxInlinePills));
|
|
927
979
|
const overflowCount = this.selectedItems.length - visibleItems.length;
|
|
928
|
-
return (h("div", { class: "pds-multiselect__pill-list pds-multiselect__pill-list--inline", "aria-label":
|
|
980
|
+
return (h("div", { class: "pds-multiselect__pill-list pds-multiselect__pill-list--inline", "aria-label": this.selectedItemsLabel }, visibleItems.map(item => (h("pds-chip", { key: String(item.id), "component-id": `${this.componentId}-pill-${item.id}`, variant: variant, size: "sm", sentiment: "neutral", "dismiss-label": this.pillRemoveLabel, onPdsTagCloseClick: this.handlePillRemove(item) }, item.text))), overflowCount > 0 && (h("span", { class: "pds-multiselect__pill-overflow" }, "+", overflowCount))));
|
|
929
981
|
}
|
|
930
982
|
renderBelowPills() {
|
|
931
983
|
if (this.selectedItems.length === 0)
|
|
932
984
|
return null;
|
|
933
985
|
const variant = this.disabled ? 'text' : 'tag';
|
|
934
|
-
return (h("div", { class: "pds-multiselect__pill-list pds-multiselect__pill-list--below", "aria-label":
|
|
986
|
+
return (h("div", { class: "pds-multiselect__pill-list pds-multiselect__pill-list--below", "aria-label": this.selectedItemsLabel }, this.selectedItems.map(item => (h("pds-chip", { key: String(item.id), "component-id": `${this.componentId}-pill-${item.id}`, variant: variant, size: "md", sentiment: "neutral", "dismiss-label": this.pillRemoveLabel, onPdsTagCloseClick: this.handlePillRemove(item) }, item.text)))));
|
|
935
987
|
}
|
|
936
988
|
getTriggerText() {
|
|
937
989
|
const count = this.selectedItems.length;
|
|
938
990
|
if (count === 0 || (this.selectedDisplay === 'pill' && this.pillPosition === 'below')) {
|
|
991
|
+
// Fall back to a non-empty string: the trigger's accessible name comes from
|
|
992
|
+
// this text, so an empty/undefined placeholder must never leave it nameless
|
|
993
|
+
// (WCAG 4.1.2). The prop is localizable; this last-resort default is not.
|
|
939
994
|
return this.placeholder || 'Select...';
|
|
940
995
|
}
|
|
941
|
-
return
|
|
996
|
+
return pluralize(this.el, count, this.resolveCountForms());
|
|
997
|
+
}
|
|
998
|
+
/**
|
|
999
|
+
* The `one`/`other` props are the ergonomic English defaults; `selectedCountLabels`
|
|
1000
|
+
* (object or JSON-string attribute) layers full CLDR forms on top for locales
|
|
1001
|
+
* that need `few`/`many`/`two`/`zero`. Malformed JSON degrades to the defaults.
|
|
1002
|
+
*/
|
|
1003
|
+
resolveCountForms() {
|
|
1004
|
+
const base = {
|
|
1005
|
+
one: this.selectedCountLabelOne,
|
|
1006
|
+
other: this.selectedCountLabelOther,
|
|
1007
|
+
};
|
|
1008
|
+
const extra = this.selectedCountLabels;
|
|
1009
|
+
if (!extra)
|
|
1010
|
+
return base;
|
|
1011
|
+
if (typeof extra === 'string') {
|
|
1012
|
+
try {
|
|
1013
|
+
const parsed = JSON.parse(extra);
|
|
1014
|
+
return parsed && typeof parsed === 'object' ? Object.assign(Object.assign({}, base), parsed) : base;
|
|
1015
|
+
}
|
|
1016
|
+
catch (_a) {
|
|
1017
|
+
return base; // not valid JSON → fall back to the English-shape defaults
|
|
1018
|
+
}
|
|
1019
|
+
}
|
|
1020
|
+
return Object.assign(Object.assign({}, base), extra);
|
|
942
1021
|
}
|
|
943
1022
|
render() {
|
|
944
1023
|
const hasSelections = this.selectedItems.length > 0;
|
|
945
|
-
return (h(Host, { key: '
|
|
1024
|
+
return (h(Host, { key: '4a54a778522d0a1d2f45c32928e7a663f19c0189', "aria-disabled": this.disabled ? 'true' : null }, h("div", { key: '3593eb4fa1a0ae575b1c0ed03f0763dcea04c9e6', class: "pds-multiselect", onFocusout: this.handleContainerFocusOut }, this.label && (h("label", { key: 'f91a680ae3c3021bac6bd99368d3ef6ad6438898', id: `${this.componentId}-label`, htmlFor: this.componentId, class: {
|
|
946
1025
|
'pds-multiselect__label': true,
|
|
947
1026
|
'visually-hidden': this.hideLabel,
|
|
948
|
-
} }, this.label)), h("div", { key: '
|
|
1027
|
+
} }, this.label)), h("div", { key: 'de2899f19057b8cd19cf3467251d03c1b43b73f5', class: "pds-multiselect__wrapper", ref: el => (this.containerEl = el), style: { width: this.triggerWidth } }, this.selectedDisplay === 'pill' && this.pillPosition === 'inline' ? (h("div", { ref: el => (this.pillInlineTriggerEl = el || undefined), part: "trigger", class: {
|
|
949
1028
|
'pds-multiselect__trigger': true,
|
|
950
1029
|
'pds-multiselect__trigger--open': this.isOpen,
|
|
951
1030
|
'pds-multiselect__trigger--disabled': this.disabled,
|
|
@@ -961,7 +1040,7 @@ export class PdsMultiselect {
|
|
|
961
1040
|
}, id: this.componentId, disabled: this.disabled, "aria-required": this.required ? 'true' : undefined, "aria-expanded": this.isOpen ? 'true' : 'false', "aria-haspopup": "listbox", "aria-describedby": assignDescription(this.componentId, this.invalid || !!this.errorMessage, this.errorMessage || this.helperMessage), "aria-invalid": this.invalid || !!this.errorMessage ? 'true' : undefined, onClick: this.handleTriggerClick, onKeyDown: this.handleTriggerKeyDown }, h("span", { class: {
|
|
962
1041
|
'pds-multiselect__trigger-text': true,
|
|
963
1042
|
'pds-multiselect__trigger-text--placeholder': !hasSelections || (this.selectedDisplay === 'pill' && this.pillPosition === 'below'),
|
|
964
|
-
} }, this.getTriggerText()), h("pds-icon", { class: "pds-multiselect__icon", icon: enlarge }))), this.renderDropdown()), this.selectedDisplay === 'pill' && this.pillPosition === 'below' && this.renderBelowPills(), h("span", { key: '
|
|
1043
|
+
} }, this.getTriggerText()), h("pds-icon", { class: "pds-multiselect__icon", icon: enlarge }))), this.renderDropdown()), this.selectedDisplay === 'pill' && this.pillPosition === 'below' && this.renderBelowPills(), h("span", { key: '973443f9eb29dcf7fb1bde3f9101ac02967a8fd9', class: "visually-hidden", "aria-live": "polite", "aria-atomic": "true" }, this.removalAnnouncement), this.helperMessage && !(this.errorMessage && this.errorMessage.length > 0) && (h("p", { key: '568aab2b278abb7f4426d84ee926b4883375fb11', class: "pds-multiselect__helper", id: messageId(this.componentId, 'helper') }, this.helperMessage)), this.errorMessage && (h("p", { key: 'daddf192efd47df8c15267b9896913b926e02544', class: "pds-multiselect__error", id: messageId(this.componentId, 'error') }, h("pds-icon", { key: 'd0c72ab75a8e02e61c09e980ae817790804a776a', icon: danger, size: "small" }), this.errorMessage)), h("div", { key: '0453db2fca10b3573b1dd244875f90c856c8887b', style: { display: 'none' } }, h("slot", { key: 'a612741afc9545e5e50c47d27c3c27c1d7cade3c' })))));
|
|
965
1044
|
}
|
|
966
1045
|
static get is() { return "pds-multiselect"; }
|
|
967
1046
|
static get encapsulation() { return "shadow"; }
|
|
@@ -1025,10 +1104,13 @@ export class PdsMultiselect {
|
|
|
1025
1104
|
"references": {}
|
|
1026
1105
|
},
|
|
1027
1106
|
"required": false,
|
|
1028
|
-
"optional":
|
|
1107
|
+
"optional": false,
|
|
1029
1108
|
"docs": {
|
|
1030
|
-
"tags": [
|
|
1031
|
-
|
|
1109
|
+
"tags": [{
|
|
1110
|
+
"name": "defaultValue",
|
|
1111
|
+
"text": "'Select...'"
|
|
1112
|
+
}],
|
|
1113
|
+
"text": "Placeholder text for the input field. Pass a translated string to localize it; defaults to English."
|
|
1032
1114
|
},
|
|
1033
1115
|
"getter": false,
|
|
1034
1116
|
"setter": false,
|
|
@@ -1048,10 +1130,10 @@ export class PdsMultiselect {
|
|
|
1048
1130
|
"optional": false,
|
|
1049
1131
|
"docs": {
|
|
1050
1132
|
"tags": [{
|
|
1051
|
-
"name": "
|
|
1133
|
+
"name": "defaultValue",
|
|
1052
1134
|
"text": "'Find...'"
|
|
1053
1135
|
}],
|
|
1054
|
-
"text": "Placeholder text for the search input inside the dropdown panel."
|
|
1136
|
+
"text": "Placeholder text for the search input inside the dropdown panel. Pass a translated string to localize it; defaults to English."
|
|
1055
1137
|
},
|
|
1056
1138
|
"getter": false,
|
|
1057
1139
|
"setter": false,
|
|
@@ -1059,6 +1141,265 @@ export class PdsMultiselect {
|
|
|
1059
1141
|
"attribute": "search-placeholder",
|
|
1060
1142
|
"defaultValue": "'Find...'"
|
|
1061
1143
|
},
|
|
1144
|
+
"searchOptionsLabel": {
|
|
1145
|
+
"type": "string",
|
|
1146
|
+
"mutable": false,
|
|
1147
|
+
"complexType": {
|
|
1148
|
+
"original": "string",
|
|
1149
|
+
"resolved": "string",
|
|
1150
|
+
"references": {}
|
|
1151
|
+
},
|
|
1152
|
+
"required": false,
|
|
1153
|
+
"optional": false,
|
|
1154
|
+
"docs": {
|
|
1155
|
+
"tags": [{
|
|
1156
|
+
"name": "defaultValue",
|
|
1157
|
+
"text": "'Search options'"
|
|
1158
|
+
}],
|
|
1159
|
+
"text": "Accessible label for the search input. Pass a translated string to localize it; defaults to English."
|
|
1160
|
+
},
|
|
1161
|
+
"getter": false,
|
|
1162
|
+
"setter": false,
|
|
1163
|
+
"reflect": false,
|
|
1164
|
+
"attribute": "search-options-label",
|
|
1165
|
+
"defaultValue": "'Search options'"
|
|
1166
|
+
},
|
|
1167
|
+
"selectedItemsLabel": {
|
|
1168
|
+
"type": "string",
|
|
1169
|
+
"mutable": false,
|
|
1170
|
+
"complexType": {
|
|
1171
|
+
"original": "string",
|
|
1172
|
+
"resolved": "string",
|
|
1173
|
+
"references": {}
|
|
1174
|
+
},
|
|
1175
|
+
"required": false,
|
|
1176
|
+
"optional": false,
|
|
1177
|
+
"docs": {
|
|
1178
|
+
"tags": [{
|
|
1179
|
+
"name": "defaultValue",
|
|
1180
|
+
"text": "'Selected items'"
|
|
1181
|
+
}],
|
|
1182
|
+
"text": "Accessible label for the selected-items region. Pass a translated string to localize it; defaults to English."
|
|
1183
|
+
},
|
|
1184
|
+
"getter": false,
|
|
1185
|
+
"setter": false,
|
|
1186
|
+
"reflect": false,
|
|
1187
|
+
"attribute": "selected-items-label",
|
|
1188
|
+
"defaultValue": "'Selected items'"
|
|
1189
|
+
},
|
|
1190
|
+
"optionsLabel": {
|
|
1191
|
+
"type": "string",
|
|
1192
|
+
"mutable": false,
|
|
1193
|
+
"complexType": {
|
|
1194
|
+
"original": "string",
|
|
1195
|
+
"resolved": "string",
|
|
1196
|
+
"references": {}
|
|
1197
|
+
},
|
|
1198
|
+
"required": false,
|
|
1199
|
+
"optional": false,
|
|
1200
|
+
"docs": {
|
|
1201
|
+
"tags": [{
|
|
1202
|
+
"name": "defaultValue",
|
|
1203
|
+
"text": "'Options'"
|
|
1204
|
+
}],
|
|
1205
|
+
"text": "Accessible label for the options listbox (falls back to this when `label` is unset). Pass a translated string to localize it; defaults to English."
|
|
1206
|
+
},
|
|
1207
|
+
"getter": false,
|
|
1208
|
+
"setter": false,
|
|
1209
|
+
"reflect": false,
|
|
1210
|
+
"attribute": "options-label",
|
|
1211
|
+
"defaultValue": "'Options'"
|
|
1212
|
+
},
|
|
1213
|
+
"noOptionsFoundLabel": {
|
|
1214
|
+
"type": "string",
|
|
1215
|
+
"mutable": false,
|
|
1216
|
+
"complexType": {
|
|
1217
|
+
"original": "string",
|
|
1218
|
+
"resolved": "string",
|
|
1219
|
+
"references": {}
|
|
1220
|
+
},
|
|
1221
|
+
"required": false,
|
|
1222
|
+
"optional": false,
|
|
1223
|
+
"docs": {
|
|
1224
|
+
"tags": [{
|
|
1225
|
+
"name": "defaultValue",
|
|
1226
|
+
"text": "'No options found'"
|
|
1227
|
+
}],
|
|
1228
|
+
"text": "Text shown when no options match the search. Pass a translated string to localize it; defaults to English."
|
|
1229
|
+
},
|
|
1230
|
+
"getter": false,
|
|
1231
|
+
"setter": false,
|
|
1232
|
+
"reflect": false,
|
|
1233
|
+
"attribute": "no-options-found-label",
|
|
1234
|
+
"defaultValue": "'No options found'"
|
|
1235
|
+
},
|
|
1236
|
+
"createOptionLabel": {
|
|
1237
|
+
"type": "string",
|
|
1238
|
+
"mutable": false,
|
|
1239
|
+
"complexType": {
|
|
1240
|
+
"original": "string",
|
|
1241
|
+
"resolved": "string",
|
|
1242
|
+
"references": {}
|
|
1243
|
+
},
|
|
1244
|
+
"required": false,
|
|
1245
|
+
"optional": false,
|
|
1246
|
+
"docs": {
|
|
1247
|
+
"tags": [{
|
|
1248
|
+
"name": "defaultValue",
|
|
1249
|
+
"text": "'Add \"{text}\"'"
|
|
1250
|
+
}],
|
|
1251
|
+
"text": "Visible label for the create-new-option row. Pass a translated string to localize it; `{text}` is interpolated."
|
|
1252
|
+
},
|
|
1253
|
+
"getter": false,
|
|
1254
|
+
"setter": false,
|
|
1255
|
+
"reflect": false,
|
|
1256
|
+
"attribute": "create-option-label",
|
|
1257
|
+
"defaultValue": "'Add \"{text}\"'"
|
|
1258
|
+
},
|
|
1259
|
+
"createOptionAriaLabel": {
|
|
1260
|
+
"type": "string",
|
|
1261
|
+
"mutable": false,
|
|
1262
|
+
"complexType": {
|
|
1263
|
+
"original": "string",
|
|
1264
|
+
"resolved": "string",
|
|
1265
|
+
"references": {}
|
|
1266
|
+
},
|
|
1267
|
+
"required": false,
|
|
1268
|
+
"optional": false,
|
|
1269
|
+
"docs": {
|
|
1270
|
+
"tags": [{
|
|
1271
|
+
"name": "defaultValue",
|
|
1272
|
+
"text": "'Create new tag: {text}'"
|
|
1273
|
+
}],
|
|
1274
|
+
"text": "Accessible label for the create-new-option row. Pass a translated string to localize it; `{text}` is interpolated."
|
|
1275
|
+
},
|
|
1276
|
+
"getter": false,
|
|
1277
|
+
"setter": false,
|
|
1278
|
+
"reflect": false,
|
|
1279
|
+
"attribute": "create-option-aria-label",
|
|
1280
|
+
"defaultValue": "'Create new tag: {text}'"
|
|
1281
|
+
},
|
|
1282
|
+
"itemRemovedLabel": {
|
|
1283
|
+
"type": "string",
|
|
1284
|
+
"mutable": false,
|
|
1285
|
+
"complexType": {
|
|
1286
|
+
"original": "string",
|
|
1287
|
+
"resolved": "string",
|
|
1288
|
+
"references": {}
|
|
1289
|
+
},
|
|
1290
|
+
"required": false,
|
|
1291
|
+
"optional": false,
|
|
1292
|
+
"docs": {
|
|
1293
|
+
"tags": [{
|
|
1294
|
+
"name": "defaultValue",
|
|
1295
|
+
"text": "'{item} removed'"
|
|
1296
|
+
}],
|
|
1297
|
+
"text": "Screen-reader announcement when an item is removed. Pass a translated string to localize it; `{item}` is interpolated."
|
|
1298
|
+
},
|
|
1299
|
+
"getter": false,
|
|
1300
|
+
"setter": false,
|
|
1301
|
+
"reflect": false,
|
|
1302
|
+
"attribute": "item-removed-label",
|
|
1303
|
+
"defaultValue": "'{item} removed'"
|
|
1304
|
+
},
|
|
1305
|
+
"pillRemoveLabel": {
|
|
1306
|
+
"type": "string",
|
|
1307
|
+
"mutable": false,
|
|
1308
|
+
"complexType": {
|
|
1309
|
+
"original": "string",
|
|
1310
|
+
"resolved": "string",
|
|
1311
|
+
"references": {}
|
|
1312
|
+
},
|
|
1313
|
+
"required": false,
|
|
1314
|
+
"optional": false,
|
|
1315
|
+
"docs": {
|
|
1316
|
+
"tags": [{
|
|
1317
|
+
"name": "defaultValue",
|
|
1318
|
+
"text": "'Remove'"
|
|
1319
|
+
}],
|
|
1320
|
+
"text": "Accessible label for the remove button on each selected-item pill. Pass a translated string to localize it; defaults to English."
|
|
1321
|
+
},
|
|
1322
|
+
"getter": false,
|
|
1323
|
+
"setter": false,
|
|
1324
|
+
"reflect": false,
|
|
1325
|
+
"attribute": "pill-remove-label",
|
|
1326
|
+
"defaultValue": "'Remove'"
|
|
1327
|
+
},
|
|
1328
|
+
"selectedCountLabelOne": {
|
|
1329
|
+
"type": "string",
|
|
1330
|
+
"mutable": false,
|
|
1331
|
+
"complexType": {
|
|
1332
|
+
"original": "string",
|
|
1333
|
+
"resolved": "string",
|
|
1334
|
+
"references": {}
|
|
1335
|
+
},
|
|
1336
|
+
"required": false,
|
|
1337
|
+
"optional": false,
|
|
1338
|
+
"docs": {
|
|
1339
|
+
"tags": [{
|
|
1340
|
+
"name": "defaultValue",
|
|
1341
|
+
"text": "'{count} item'"
|
|
1342
|
+
}],
|
|
1343
|
+
"text": "Singular form of the selected-count trigger text. Pass a translated string to localize it; `{count}` is interpolated."
|
|
1344
|
+
},
|
|
1345
|
+
"getter": false,
|
|
1346
|
+
"setter": false,
|
|
1347
|
+
"reflect": false,
|
|
1348
|
+
"attribute": "selected-count-label-one",
|
|
1349
|
+
"defaultValue": "'{count} item'"
|
|
1350
|
+
},
|
|
1351
|
+
"selectedCountLabelOther": {
|
|
1352
|
+
"type": "string",
|
|
1353
|
+
"mutable": false,
|
|
1354
|
+
"complexType": {
|
|
1355
|
+
"original": "string",
|
|
1356
|
+
"resolved": "string",
|
|
1357
|
+
"references": {}
|
|
1358
|
+
},
|
|
1359
|
+
"required": false,
|
|
1360
|
+
"optional": false,
|
|
1361
|
+
"docs": {
|
|
1362
|
+
"tags": [{
|
|
1363
|
+
"name": "defaultValue",
|
|
1364
|
+
"text": "'{count} items'"
|
|
1365
|
+
}],
|
|
1366
|
+
"text": "Plural (and fallback) form of the selected-count trigger text \u2014 used for English and any locale whose selected plural category isn't supplied via `selectedCountLabels`. Pass a translated string to localize it; `{count}` is interpolated."
|
|
1367
|
+
},
|
|
1368
|
+
"getter": false,
|
|
1369
|
+
"setter": false,
|
|
1370
|
+
"reflect": false,
|
|
1371
|
+
"attribute": "selected-count-label-other",
|
|
1372
|
+
"defaultValue": "'{count} items'"
|
|
1373
|
+
},
|
|
1374
|
+
"selectedCountLabels": {
|
|
1375
|
+
"type": "string",
|
|
1376
|
+
"mutable": false,
|
|
1377
|
+
"complexType": {
|
|
1378
|
+
"original": "PluralForms | string",
|
|
1379
|
+
"resolved": "\"few\" | \"many\" | \"one\" | \"other\" | \"two\" | \"zero\" | string",
|
|
1380
|
+
"references": {
|
|
1381
|
+
"PluralForms": {
|
|
1382
|
+
"location": "import",
|
|
1383
|
+
"path": "../../i18n",
|
|
1384
|
+
"id": "src/i18n/index.ts::PluralForms",
|
|
1385
|
+
"referenceLocation": "PluralForms"
|
|
1386
|
+
}
|
|
1387
|
+
}
|
|
1388
|
+
},
|
|
1389
|
+
"required": false,
|
|
1390
|
+
"optional": true,
|
|
1391
|
+
"docs": {
|
|
1392
|
+
"tags": [{
|
|
1393
|
+
"name": "defaultValue",
|
|
1394
|
+
"text": "undefined"
|
|
1395
|
+
}],
|
|
1396
|
+
"text": "Full CLDR plural forms for the selected-count trigger text, for locales with more than the English `one`/`other` categories (e.g. Polish `few`/`many`, Arabic `zero`/`two`). Accepts an object property or a JSON string attribute keyed by CLDR category \u2014 `{ one, other, few, many, two, zero }`. Any form omitted here falls back to `selectedCountLabelOne`/`selectedCountLabelOther`. `{count}` is interpolated."
|
|
1397
|
+
},
|
|
1398
|
+
"getter": false,
|
|
1399
|
+
"setter": false,
|
|
1400
|
+
"reflect": false,
|
|
1401
|
+
"attribute": "selected-count-labels"
|
|
1402
|
+
},
|
|
1062
1403
|
"closePanelOnSelect": {
|
|
1063
1404
|
"type": "boolean",
|
|
1064
1405
|
"mutable": false,
|
|
@@ -29,7 +29,7 @@ pds-tab {
|
|
|
29
29
|
.pds-tab.is-active .pds-tab__content::after, .pds-tab[aria-selected=true] .pds-tab__content::after {
|
|
30
30
|
opacity: 1;
|
|
31
31
|
}
|
|
32
|
-
.pds-tab:hover:not(:disabled) {
|
|
32
|
+
.pds-tab:hover:not(:disabled, .is-disabled) {
|
|
33
33
|
color: var(--pine-color-text);
|
|
34
34
|
}
|
|
35
35
|
.pds-tab:focus {
|
|
@@ -85,7 +85,7 @@ pds-tab {
|
|
|
85
85
|
.pds-tabs--availability .pds-tab.is-active .pds-tab-edge, .pds-tabs--availability .pds-tab[aria-selected=true] .pds-tab-edge {
|
|
86
86
|
z-index: var(--pine-z-index-raised);
|
|
87
87
|
}
|
|
88
|
-
.pds-tabs--availability .pds-tab:hover:not(.is-active, [aria-selected=true], :disabled) {
|
|
88
|
+
.pds-tabs--availability .pds-tab:hover:not(.is-active, [aria-selected=true], :disabled, .is-disabled) {
|
|
89
89
|
--color-background-tab: var(--pine-color-secondary-hover);
|
|
90
90
|
color: var(--pine-color-text);
|
|
91
91
|
}
|
|
@@ -139,10 +139,10 @@ pds-tab {
|
|
|
139
139
|
background-color: var(--pine-color-primary);
|
|
140
140
|
color: var(--pine-color-text-primary);
|
|
141
141
|
}
|
|
142
|
-
.pds-tabs--filter .pds-tab.is-active:hover:not(:disabled), .pds-tabs--filter .pds-tab[aria-selected=true]:hover:not(:disabled) {
|
|
142
|
+
.pds-tabs--filter .pds-tab.is-active:hover:not(:disabled, .is-disabled), .pds-tabs--filter .pds-tab[aria-selected=true]:hover:not(:disabled, .is-disabled) {
|
|
143
143
|
background-color: var(--pine-color-primary-hover);
|
|
144
144
|
}
|
|
145
|
-
.pds-tabs--filter .pds-tab:hover:not(.is-active, [aria-selected=true], :disabled) {
|
|
145
|
+
.pds-tabs--filter .pds-tab:hover:not(.is-active, [aria-selected=true], :disabled, .is-disabled) {
|
|
146
146
|
background-color: var(--pine-color-border-disabled);
|
|
147
147
|
}
|
|
148
148
|
.pds-tabs--filter .pds-tab:disabled, .pds-tabs--filter .pds-tab.is-disabled {
|