@pine-ds/core 2.1.1 → 2.1.2
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/index.d.ts +6 -0
- package/components/index.js +3 -0
- package/components/index.js.map +1 -1
- package/components/index2.js +3 -2
- package/components/index2.js.map +1 -1
- package/components/pds-button2.js +5 -3
- package/components/pds-button2.js.map +1 -1
- package/components/pds-checkbox2.js +12 -5
- package/components/pds-checkbox2.js.map +1 -1
- package/components/pds-chip.js +4 -4
- package/components/pds-chip.js.map +1 -1
- package/components/pds-copytext.js +1 -1
- package/components/pds-copytext.js.map +1 -1
- package/components/pds-divider.js +1 -1
- package/components/pds-divider.js.map +1 -1
- package/components/pds-image.js +2 -2
- package/components/pds-image.js.map +1 -1
- package/components/pds-input.js +12 -5
- package/components/pds-input.js.map +1 -1
- package/components/pds-link.js +2 -2
- package/components/pds-link.js.map +1 -1
- package/components/pds-loader.js +1 -1
- package/components/pds-popover.d.ts +11 -0
- package/components/pds-popover.js +94 -0
- package/components/pds-popover.js.map +1 -0
- package/components/pds-progress.js +1 -1
- package/components/pds-radio.js +16 -9
- package/components/pds-radio.js.map +1 -1
- package/components/pds-row.js +1 -1
- package/components/pds-select.d.ts +11 -0
- package/components/pds-select.js +165 -0
- package/components/pds-select.js.map +1 -0
- package/components/pds-sortable-item.js +1 -1
- package/components/pds-sortable.js +1 -1
- package/components/pds-switch.js +12 -8
- package/components/pds-switch.js.map +1 -1
- package/components/pds-tab.js +3 -3
- package/components/pds-table-body.js +1 -1
- package/components/pds-table-cell2.js +2 -2
- package/components/pds-table-head-cell2.js +3 -3
- package/components/pds-table-head.js +1 -1
- package/components/pds-table-row.js +9 -3
- package/components/pds-table-row.js.map +1 -1
- package/components/pds-table.js +1 -1
- package/components/pds-tabpanel.js +1 -1
- package/components/pds-tabs.js +1 -1
- package/components/pds-text.d.ts +11 -0
- package/components/pds-text.js +58 -0
- package/components/pds-text.js.map +1 -0
- package/components/pds-textarea.js +13 -6
- package/components/pds-textarea.js.map +1 -1
- package/components/pds-tooltip.js +2 -2
- package/dist/cjs/{index-8f7870bb.js → index-0079013c.js} +4 -2
- package/dist/cjs/index-0079013c.js.map +1 -0
- package/dist/cjs/{index-8ad0cd9d.js → index-b7d9268e.js} +3 -2
- package/dist/cjs/index-b7d9268e.js.map +1 -0
- package/dist/cjs/index.cjs.js +1 -1
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/cjs/pds-accordion.cjs.entry.js +2 -2
- package/dist/cjs/pds-avatar.cjs.entry.js +2 -2
- package/dist/cjs/pds-box.cjs.entry.js +1 -1
- package/dist/cjs/pds-button.cjs.entry.js +5 -3
- package/dist/cjs/pds-button.cjs.entry.js.map +1 -1
- package/dist/cjs/pds-checkbox.cjs.entry.js +7 -6
- package/dist/cjs/pds-checkbox.cjs.entry.js.map +1 -1
- package/dist/cjs/pds-chip.cjs.entry.js +5 -5
- package/dist/cjs/pds-chip.cjs.entry.js.map +1 -1
- package/dist/cjs/pds-copytext.cjs.entry.js +3 -3
- package/dist/cjs/pds-copytext.cjs.entry.js.map +1 -1
- package/dist/cjs/pds-divider.cjs.entry.js +2 -2
- package/dist/cjs/pds-divider.cjs.entry.js.map +1 -1
- package/dist/cjs/pds-icon.cjs.entry.js +1 -1
- package/dist/cjs/pds-image.cjs.entry.js +3 -3
- package/dist/cjs/pds-image.cjs.entry.js.map +1 -1
- package/dist/cjs/pds-input.cjs.entry.js +7 -6
- package/dist/cjs/pds-input.cjs.entry.js.map +1 -1
- package/dist/cjs/{pds-label-35369959.js → pds-label-05f073ea.js} +2 -2
- package/dist/cjs/{pds-label-35369959.js.map → pds-label-05f073ea.js.map} +1 -1
- package/dist/cjs/pds-link.cjs.entry.js +4 -4
- package/dist/cjs/pds-link.cjs.entry.js.map +1 -1
- package/dist/cjs/pds-loader.cjs.entry.js +2 -2
- package/dist/cjs/pds-popover.cjs.entry.js +72 -0
- package/dist/cjs/pds-popover.cjs.entry.js.map +1 -0
- package/dist/cjs/pds-progress.cjs.entry.js +2 -2
- package/dist/cjs/pds-radio.cjs.entry.js +9 -8
- package/dist/cjs/pds-radio.cjs.entry.js.map +1 -1
- package/dist/cjs/pds-row.cjs.entry.js +2 -2
- package/dist/cjs/pds-select.cjs.entry.js +131 -0
- package/dist/cjs/pds-select.cjs.entry.js.map +1 -0
- package/dist/cjs/pds-sortable-item.cjs.entry.js +3 -3
- package/dist/cjs/pds-sortable.cjs.entry.js +2 -2
- package/dist/cjs/pds-switch.cjs.entry.js +7 -9
- package/dist/cjs/pds-switch.cjs.entry.js.map +1 -1
- package/dist/cjs/pds-tab.cjs.entry.js +4 -4
- package/dist/cjs/pds-table-body.cjs.entry.js +2 -2
- package/dist/cjs/pds-table-cell.cjs.entry.js +3 -3
- package/dist/cjs/pds-table-head-cell.cjs.entry.js +4 -4
- package/dist/cjs/pds-table-head.cjs.entry.js +2 -2
- package/dist/cjs/pds-table-row.cjs.entry.js +2 -2
- package/dist/cjs/pds-table.cjs.entry.js +2 -2
- package/dist/cjs/pds-tabpanel.cjs.entry.js +2 -2
- package/dist/cjs/pds-tabs.cjs.entry.js +2 -2
- package/dist/cjs/pds-text.cjs.entry.js +37 -0
- package/dist/cjs/pds-text.cjs.entry.js.map +1 -0
- package/dist/cjs/pds-textarea.cjs.entry.js +8 -7
- package/dist/cjs/pds-textarea.cjs.entry.js.map +1 -1
- package/dist/cjs/pds-tooltip.cjs.entry.js +3 -3
- package/dist/cjs/pine-core.cjs.js +2 -2
- package/dist/collection/collection-manifest.json +3 -0
- package/dist/collection/components/pds-button/pds-button.js +20 -1
- package/dist/collection/components/pds-button/pds-button.js.map +1 -1
- package/dist/collection/components/pds-button/stories/pds-button.stories.js +8 -1
- package/dist/collection/components/pds-checkbox/pds-checkbox.css +9 -1
- package/dist/collection/components/pds-checkbox/pds-checkbox.js +4 -3
- package/dist/collection/components/pds-checkbox/pds-checkbox.js.map +1 -1
- package/dist/collection/components/pds-chip/pds-chip.js +26 -26
- package/dist/collection/components/pds-chip/pds-chip.js.map +1 -1
- package/dist/collection/components/pds-copytext/pds-copytext.js +4 -4
- package/dist/collection/components/pds-copytext/pds-copytext.js.map +1 -1
- package/dist/collection/components/pds-divider/pds-divider.js +2 -2
- package/dist/collection/components/pds-divider/pds-divider.js.map +1 -1
- package/dist/collection/components/pds-image/pds-image.js +13 -7
- package/dist/collection/components/pds-image/pds-image.js.map +1 -1
- package/dist/collection/components/pds-input/pds-input.css +6 -1
- package/dist/collection/components/pds-input/pds-input.js +4 -3
- package/dist/collection/components/pds-input/pds-input.js.map +1 -1
- package/dist/collection/components/pds-link/pds-link.js +12 -9
- package/dist/collection/components/pds-link/pds-link.js.map +1 -1
- package/dist/collection/components/pds-loader/pds-loader.js +1 -1
- package/dist/collection/components/pds-popover/pds-popover.css +51 -0
- package/dist/collection/components/pds-popover/pds-popover.js +216 -0
- package/dist/collection/components/pds-popover/pds-popover.js.map +1 -0
- package/dist/collection/components/pds-popover/stories/pds-popover.stories.js +45 -0
- package/dist/collection/components/pds-progress/pds-progress.js +1 -1
- package/dist/collection/components/pds-radio/pds-radio.css +9 -1
- package/dist/collection/components/pds-radio/pds-radio.js +41 -40
- package/dist/collection/components/pds-radio/pds-radio.js.map +1 -1
- package/dist/collection/components/pds-row/pds-row.js +1 -1
- package/dist/collection/components/pds-select/pds-select.css +126 -0
- package/dist/collection/components/pds-select/pds-select.js +360 -0
- package/dist/collection/components/pds-select/pds-select.js.map +1 -0
- package/dist/collection/components/pds-select/stories/pds-select.stories.js +153 -0
- 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.css +10 -6
- package/dist/collection/components/pds-switch/pds-switch.js +14 -16
- package/dist/collection/components/pds-switch/pds-switch.js.map +1 -1
- package/dist/collection/components/pds-switch/stories/pds-switch.stories.js +2 -2
- 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/pds-table.js +1 -1
- package/dist/collection/components/pds-tabs/pds-tab/pds-tab.js +3 -3
- package/dist/collection/components/pds-tabs/pds-tab/stories/pds-tab.stories.js +19 -0
- package/dist/collection/components/pds-tabs/pds-tabpanel/pds-tabpanel.js +1 -1
- package/dist/collection/components/pds-tabs/pds-tabpanel/stories/pds-tabpanel.stories.js +19 -0
- package/dist/collection/components/pds-tabs/pds-tabs.js +1 -1
- package/dist/collection/components/pds-tabs/stories/pds-tabs.stories.js +18 -18
- package/dist/collection/components/pds-text/pds-text.css +218 -0
- package/dist/collection/components/pds-text/pds-text.js +143 -0
- package/dist/collection/components/pds-text/pds-text.js.map +1 -0
- package/dist/collection/components/pds-text/stories/pds-text.stories.js +111 -0
- package/dist/collection/components/pds-textarea/pds-textarea.css +4 -0
- package/dist/collection/components/pds-textarea/pds-textarea.js +5 -4
- package/dist/collection/components/pds-textarea/pds-textarea.js.map +1 -1
- package/dist/collection/components/pds-textarea/stories/pds-textarea.stories.js +2 -2
- package/dist/collection/components/pds-tooltip/pds-tooltip.js +2 -2
- package/dist/collection/utils/types.js.map +1 -1
- package/dist/docs.json +958 -47
- package/dist/esm/{index-5e7a8a36.js → index-3ca52e8f.js} +4 -3
- package/dist/esm/index-3ca52e8f.js.map +1 -0
- package/dist/esm/{index-8b335bbb.js → index-b1696fed.js} +3 -2
- package/dist/esm/index-b1696fed.js.map +1 -0
- package/dist/esm/index.js +1 -1
- package/dist/esm/loader.js +3 -3
- package/dist/esm/pds-accordion.entry.js +2 -2
- package/dist/esm/pds-avatar.entry.js +2 -2
- package/dist/esm/pds-box.entry.js +1 -1
- package/dist/esm/pds-button.entry.js +5 -3
- package/dist/esm/pds-button.entry.js.map +1 -1
- package/dist/esm/pds-checkbox.entry.js +7 -6
- package/dist/esm/pds-checkbox.entry.js.map +1 -1
- package/dist/esm/pds-chip.entry.js +5 -5
- package/dist/esm/pds-chip.entry.js.map +1 -1
- package/dist/esm/pds-copytext.entry.js +3 -3
- package/dist/esm/pds-copytext.entry.js.map +1 -1
- package/dist/esm/pds-divider.entry.js +2 -2
- package/dist/esm/pds-divider.entry.js.map +1 -1
- package/dist/esm/pds-icon.entry.js +1 -1
- package/dist/esm/pds-image.entry.js +3 -3
- package/dist/esm/pds-image.entry.js.map +1 -1
- package/dist/esm/pds-input.entry.js +7 -6
- package/dist/esm/pds-input.entry.js.map +1 -1
- package/dist/esm/{pds-label-1f80d632.js → pds-label-62469596.js} +2 -2
- package/dist/esm/{pds-label-1f80d632.js.map → pds-label-62469596.js.map} +1 -1
- package/dist/esm/pds-link.entry.js +4 -4
- package/dist/esm/pds-link.entry.js.map +1 -1
- package/dist/esm/pds-loader.entry.js +2 -2
- package/dist/esm/pds-popover.entry.js +68 -0
- package/dist/esm/pds-popover.entry.js.map +1 -0
- package/dist/esm/pds-progress.entry.js +2 -2
- package/dist/esm/pds-radio.entry.js +9 -8
- package/dist/esm/pds-radio.entry.js.map +1 -1
- package/dist/esm/pds-row.entry.js +2 -2
- package/dist/esm/pds-select.entry.js +127 -0
- package/dist/esm/pds-select.entry.js.map +1 -0
- package/dist/esm/pds-sortable-item.entry.js +3 -3
- package/dist/esm/pds-sortable.entry.js +2 -2
- package/dist/esm/pds-switch.entry.js +7 -9
- package/dist/esm/pds-switch.entry.js.map +1 -1
- package/dist/esm/pds-tab.entry.js +4 -4
- package/dist/esm/pds-table-body.entry.js +2 -2
- package/dist/esm/pds-table-cell.entry.js +3 -3
- package/dist/esm/pds-table-head-cell.entry.js +4 -4
- package/dist/esm/pds-table-head.entry.js +2 -2
- package/dist/esm/pds-table-row.entry.js +2 -2
- package/dist/esm/pds-table.entry.js +2 -2
- package/dist/esm/pds-tabpanel.entry.js +2 -2
- package/dist/esm/pds-tabs.entry.js +2 -2
- package/dist/esm/pds-text.entry.js +33 -0
- package/dist/esm/pds-text.entry.js.map +1 -0
- package/dist/esm/pds-textarea.entry.js +8 -7
- package/dist/esm/pds-textarea.entry.js.map +1 -1
- package/dist/esm/pds-tooltip.entry.js +3 -3
- package/dist/esm/pine-core.js +3 -3
- package/dist/esm-es5/index-3ca52e8f.js +2 -0
- package/dist/esm-es5/index-3ca52e8f.js.map +1 -0
- package/dist/esm-es5/{index-8b335bbb.js → index-b1696fed.js} +3 -3
- package/dist/esm-es5/index-b1696fed.js.map +1 -0
- package/dist/esm-es5/index.js +1 -1
- package/dist/esm-es5/loader.js +1 -1
- package/dist/esm-es5/loader.js.map +1 -1
- package/dist/esm-es5/pds-accordion.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-button.entry.js.map +1 -1
- package/dist/esm-es5/pds-checkbox.entry.js +1 -1
- package/dist/esm-es5/pds-checkbox.entry.js.map +1 -1
- package/dist/esm-es5/pds-chip.entry.js +1 -1
- package/dist/esm-es5/pds-chip.entry.js.map +1 -1
- package/dist/esm-es5/pds-copytext.entry.js +1 -1
- package/dist/esm-es5/pds-copytext.entry.js.map +1 -1
- package/dist/esm-es5/pds-divider.entry.js +1 -1
- package/dist/esm-es5/pds-divider.entry.js.map +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-image.entry.js.map +1 -1
- package/dist/esm-es5/pds-input.entry.js +1 -1
- package/dist/esm-es5/pds-input.entry.js.map +1 -1
- package/dist/esm-es5/{pds-label-1f80d632.js → pds-label-62469596.js} +2 -2
- package/dist/esm-es5/pds-link.entry.js +1 -1
- package/dist/esm-es5/pds-link.entry.js.map +1 -1
- package/dist/esm-es5/pds-loader.entry.js +1 -1
- package/dist/esm-es5/pds-popover.entry.js +2 -0
- package/dist/esm-es5/pds-popover.entry.js.map +1 -0
- package/dist/esm-es5/pds-progress.entry.js +1 -1
- package/dist/esm-es5/pds-radio.entry.js +1 -1
- package/dist/esm-es5/pds-radio.entry.js.map +1 -1
- package/dist/esm-es5/pds-row.entry.js +1 -1
- package/dist/esm-es5/pds-select.entry.js +2 -0
- package/dist/esm-es5/pds-select.entry.js.map +1 -0
- 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-switch.entry.js.map +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 +2 -0
- package/dist/esm-es5/pds-text.entry.js.map +1 -0
- package/dist/esm-es5/pds-textarea.entry.js +1 -1
- package/dist/esm-es5/pds-textarea.entry.js.map +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/pine-core.js.map +1 -1
- package/dist/pine-core/index.esm.js +1 -1
- package/dist/pine-core/{p-053ca95a.entry.js → p-00cccccb.entry.js} +2 -2
- package/dist/pine-core/p-06513fe5.entry.js +2 -0
- package/dist/pine-core/p-06513fe5.entry.js.map +1 -0
- package/dist/pine-core/p-06593922.system.entry.js +2 -0
- package/dist/pine-core/p-06593922.system.entry.js.map +1 -0
- package/dist/pine-core/{p-e4a1b3f5.system.entry.js → p-08c4f190.system.entry.js} +2 -2
- package/dist/pine-core/{p-de0beb45.system.entry.js → p-09d83447.system.entry.js} +2 -2
- package/dist/pine-core/{p-de0beb45.system.entry.js.map → p-09d83447.system.entry.js.map} +1 -1
- package/dist/pine-core/{p-d464f04f.entry.js → p-0ac04129.entry.js} +2 -2
- package/dist/pine-core/{p-d464f04f.entry.js.map → p-0ac04129.entry.js.map} +1 -1
- package/dist/pine-core/{p-b78b3492.entry.js → p-0ff89cf4.entry.js} +2 -2
- package/dist/pine-core/{p-b78b3492.entry.js.map → p-0ff89cf4.entry.js.map} +1 -1
- package/dist/pine-core/p-1010d12b.system.entry.js +2 -0
- package/dist/pine-core/p-1010d12b.system.entry.js.map +1 -0
- package/dist/pine-core/p-110b2e03.entry.js +2 -0
- package/dist/pine-core/p-110b2e03.entry.js.map +1 -0
- package/dist/pine-core/{p-143bbe94.system.entry.js → p-172464c1.system.entry.js} +2 -2
- package/dist/pine-core/{p-4e39bbd7.system.entry.js → p-1a1a76ea.system.entry.js} +2 -2
- package/dist/pine-core/{p-89101362.system.entry.js → p-1df1990d.system.entry.js} +2 -2
- package/dist/pine-core/{p-1ca76e21.entry.js → p-1e80f274.entry.js} +2 -2
- package/dist/pine-core/{p-3b780711.entry.js → p-239891e6.entry.js} +2 -2
- package/dist/pine-core/p-34f84589.entry.js +2 -0
- package/dist/pine-core/p-34f84589.entry.js.map +1 -0
- package/dist/pine-core/{p-5fb6ab2f.entry.js → p-3acb18ad.entry.js} +2 -2
- package/dist/pine-core/{p-330eda0c.entry.js → p-3e4225fc.entry.js} +2 -2
- package/dist/pine-core/{p-48f0a5a4.entry.js → p-3ff2642d.entry.js} +2 -2
- package/dist/pine-core/{p-48f0a5a4.entry.js.map → p-3ff2642d.entry.js.map} +1 -1
- package/dist/pine-core/{p-1c0993d9.system.entry.js → p-4043cf6e.system.entry.js} +2 -2
- package/dist/pine-core/{p-1c0993d9.system.entry.js.map → p-4043cf6e.system.entry.js.map} +1 -1
- package/dist/pine-core/{p-4c0c0b2d.system.js → p-45cf2585.system.js} +3 -3
- package/dist/pine-core/p-45cf2585.system.js.map +1 -0
- package/dist/pine-core/{p-136ea1e9.entry.js → p-4d22b02c.entry.js} +2 -2
- package/dist/pine-core/p-4f9b1945.entry.js +2 -0
- package/dist/pine-core/p-4f9b1945.entry.js.map +1 -0
- package/dist/pine-core/{p-70e5e466.system.entry.js → p-50918693.system.entry.js} +2 -2
- package/dist/pine-core/p-59214c8b.system.entry.js +2 -0
- package/dist/pine-core/p-59214c8b.system.entry.js.map +1 -0
- package/dist/pine-core/{p-05d140a3.system.entry.js → p-59327483.system.entry.js} +2 -2
- package/dist/pine-core/p-59a43f75.system.entry.js +2 -0
- package/dist/pine-core/p-59a43f75.system.entry.js.map +1 -0
- package/dist/pine-core/{p-0200fce9.entry.js → p-59fcea0f.entry.js} +2 -2
- package/dist/pine-core/p-5c04aee0.system.js +2 -0
- package/dist/pine-core/p-5c04aee0.system.js.map +1 -0
- package/dist/pine-core/{p-02f06002.system.entry.js → p-5c942465.system.entry.js} +2 -2
- package/dist/pine-core/{p-30d979d3.entry.js → p-624de926.entry.js} +2 -2
- package/dist/pine-core/{p-e2d793eb.entry.js → p-65229490.entry.js} +2 -2
- package/dist/pine-core/{p-a18ff34f.entry.js → p-6e079be2.entry.js} +2 -2
- package/dist/pine-core/p-6f8f471b.system.entry.js +2 -0
- package/dist/pine-core/p-6f8f471b.system.entry.js.map +1 -0
- package/dist/pine-core/{p-62ebfe42.entry.js → p-760e1c32.entry.js} +2 -2
- package/dist/pine-core/{p-62ebfe42.entry.js.map → p-760e1c32.entry.js.map} +1 -1
- package/dist/pine-core/{p-57dd9a98.system.entry.js → p-81bdf676.system.entry.js} +2 -2
- package/dist/pine-core/{p-d618d51b.entry.js → p-84a4930d.entry.js} +2 -2
- package/dist/pine-core/{p-4e6e2052.js → p-87fe352f.js} +3 -3
- package/dist/pine-core/p-87fe352f.js.map +1 -0
- package/dist/pine-core/{p-188be548.entry.js → p-88410213.entry.js} +2 -2
- package/dist/pine-core/p-88702fa2.entry.js +2 -0
- package/dist/pine-core/p-88702fa2.entry.js.map +1 -0
- package/dist/pine-core/{p-82a001ac.system.entry.js → p-88edcb41.system.entry.js} +2 -2
- package/dist/pine-core/{p-c5991956.system.entry.js → p-8ae84655.system.entry.js} +2 -2
- package/dist/pine-core/{p-c5991956.system.entry.js.map → p-8ae84655.system.entry.js.map} +1 -1
- package/dist/pine-core/{p-7d6d3e2b.entry.js → p-9487df53.entry.js} +2 -2
- package/dist/pine-core/{p-6deaad03.entry.js → p-953e6fde.entry.js} +2 -2
- package/dist/pine-core/{p-6deaad03.entry.js.map → p-953e6fde.entry.js.map} +1 -1
- package/dist/pine-core/p-9db668f2.system.entry.js +2 -0
- package/dist/pine-core/p-9db668f2.system.entry.js.map +1 -0
- package/dist/pine-core/{p-3fc1efe7.system.entry.js → p-a2726d3b.system.entry.js} +2 -2
- package/dist/pine-core/{p-5f23f121.entry.js → p-a51098dd.entry.js} +2 -2
- package/dist/pine-core/{p-3ec7fac1.js → p-a9038f7f.js} +2 -2
- package/dist/pine-core/{p-9dec3592.system.entry.js → p-a9e02a6f.system.entry.js} +2 -2
- package/dist/pine-core/{p-5f13c97b.entry.js → p-b7890a73.system.entry.js} +2 -2
- package/dist/pine-core/p-b7890a73.system.entry.js.map +1 -0
- package/dist/pine-core/{p-0efee237.system.entry.js → p-b7edbe43.system.entry.js} +2 -2
- package/dist/pine-core/{p-0e310504.system.entry.js → p-b95522e6.system.entry.js} +2 -2
- package/dist/pine-core/{p-94a0fd6e.entry.js → p-bbd19258.entry.js} +2 -2
- package/dist/pine-core/{p-e7648adc.system.entry.js → p-c4aec6ce.system.entry.js} +2 -2
- package/dist/pine-core/{p-e7648adc.system.entry.js.map → p-c4aec6ce.system.entry.js.map} +1 -1
- package/dist/pine-core/p-cbf2acbd.system.entry.js +2 -0
- package/dist/pine-core/p-cbf2acbd.system.entry.js.map +1 -0
- package/dist/pine-core/{p-1b611a91.system.entry.js → p-ce91ca6a.system.entry.js} +2 -2
- package/dist/pine-core/{p-1b611a91.system.entry.js.map → p-ce91ca6a.system.entry.js.map} +1 -1
- package/dist/pine-core/{p-c8b0ea02.entry.js → p-ceb66096.entry.js} +3 -3
- package/dist/pine-core/{p-be998f90.system.entry.js → p-d3365f49.system.entry.js} +3 -3
- package/dist/pine-core/p-d37d900e.entry.js +2 -0
- package/dist/pine-core/p-d37d900e.entry.js.map +1 -0
- package/dist/pine-core/p-d5c90be4.entry.js +2 -0
- package/dist/pine-core/p-d5c90be4.entry.js.map +1 -0
- package/dist/pine-core/{p-e9ca5a4e.entry.js → p-d6d8a21a.entry.js} +2 -2
- package/dist/pine-core/p-db622f8f.system.js +2 -0
- package/dist/pine-core/p-dc4a6d88.js +2 -0
- package/dist/pine-core/p-dc4a6d88.js.map +1 -0
- package/dist/pine-core/{p-a15c9c4f.entry.js → p-e2a673e8.entry.js} +2 -2
- package/dist/pine-core/{p-f408c34a.system.js → p-e3fab4be.system.js} +2 -2
- package/dist/pine-core/{p-f6e72c06.system.entry.js → p-e64594ae.system.entry.js} +2 -2
- package/dist/pine-core/p-e90b2c75.system.js +2 -0
- package/dist/pine-core/p-e90b2c75.system.js.map +1 -0
- package/dist/pine-core/p-e936e948.entry.js +2 -0
- package/dist/pine-core/p-e936e948.entry.js.map +1 -0
- package/dist/pine-core/{p-5c90a600.entry.js → p-ebdaf3ad.entry.js} +2 -2
- package/dist/pine-core/{p-c18464e8.system.entry.js → p-ece8530d.system.entry.js} +2 -2
- package/dist/pine-core/{p-9c294ea2.system.entry.js → p-ee21fa25.system.entry.js} +2 -2
- package/dist/pine-core/p-efbe2dc5.system.entry.js +2 -0
- package/dist/pine-core/p-efbe2dc5.system.entry.js.map +1 -0
- package/dist/pine-core/{p-a4b85fb8.system.entry.js → p-f16ef73c.system.entry.js} +2 -2
- package/dist/pine-core/{p-33a94e8c.system.entry.js → p-f9719887.system.entry.js} +2 -2
- package/dist/pine-core/p-ff20b191.entry.js +2 -0
- package/dist/pine-core/p-ff20b191.entry.js.map +1 -0
- package/dist/pine-core/pine-core.esm.js +1 -1
- package/dist/pine-core/pine-core.esm.js.map +1 -1
- package/dist/pine-core/pine-core.js +1 -1
- package/dist/pine-core/svg/file-add.svg +1 -1
- package/dist/types/components/pds-button/pds-button.d.ts +2 -0
- package/dist/types/components/pds-chip/pds-chip.d.ts +8 -8
- package/dist/types/components/pds-copytext/pds-copytext.d.ts +3 -3
- package/dist/types/components/pds-divider/pds-divider.d.ts +1 -1
- package/dist/types/components/pds-image/pds-image.d.ts +7 -3
- package/dist/types/components/pds-link/pds-link.d.ts +7 -11
- package/dist/types/components/pds-popover/pds-popover.d.ts +45 -0
- package/dist/types/components/pds-radio/pds-radio.d.ts +11 -11
- package/dist/types/components/pds-select/pds-select.d.ts +91 -0
- package/dist/types/components/pds-switch/pds-switch.d.ts +10 -13
- package/dist/types/components/pds-text/pds-text.d.ts +27 -0
- package/dist/types/components.d.ts +395 -49
- package/dist/types/utils/types.d.ts +1 -1
- package/hydrate/index.js +330 -63
- package/hydrate/index.mjs +330 -63
- package/package.json +2 -2
- package/dist/cjs/index-8ad0cd9d.js.map +0 -1
- package/dist/cjs/index-8f7870bb.js.map +0 -1
- package/dist/esm/index-5e7a8a36.js.map +0 -1
- package/dist/esm/index-8b335bbb.js.map +0 -1
- package/dist/esm-es5/index-5e7a8a36.js +0 -2
- package/dist/esm-es5/index-5e7a8a36.js.map +0 -1
- package/dist/esm-es5/index-8b335bbb.js.map +0 -1
- package/dist/pine-core/p-0186301f.entry.js +0 -2
- package/dist/pine-core/p-0186301f.entry.js.map +0 -1
- package/dist/pine-core/p-0630403a.entry.js +0 -2
- package/dist/pine-core/p-0630403a.entry.js.map +0 -1
- package/dist/pine-core/p-102222fd.entry.js +0 -2
- package/dist/pine-core/p-102222fd.entry.js.map +0 -1
- package/dist/pine-core/p-242ccc24.system.entry.js +0 -2
- package/dist/pine-core/p-242ccc24.system.entry.js.map +0 -1
- package/dist/pine-core/p-3cad7587.entry.js +0 -2
- package/dist/pine-core/p-3cad7587.entry.js.map +0 -1
- package/dist/pine-core/p-3e0449c5.js +0 -2
- package/dist/pine-core/p-3e0449c5.js.map +0 -1
- package/dist/pine-core/p-4c0c0b2d.system.js.map +0 -1
- package/dist/pine-core/p-4e6e2052.js.map +0 -1
- package/dist/pine-core/p-51e94e03.system.js +0 -2
- package/dist/pine-core/p-51e94e03.system.js.map +0 -1
- package/dist/pine-core/p-55f8a9e4.system.entry.js +0 -2
- package/dist/pine-core/p-55f8a9e4.system.entry.js.map +0 -1
- package/dist/pine-core/p-5b43ff39.system.entry.js +0 -2
- package/dist/pine-core/p-5b43ff39.system.entry.js.map +0 -1
- package/dist/pine-core/p-5f13c97b.entry.js.map +0 -1
- package/dist/pine-core/p-6bcd89dc.system.js +0 -2
- package/dist/pine-core/p-6bcd89dc.system.js.map +0 -1
- package/dist/pine-core/p-82096fe4.system.entry.js +0 -2
- package/dist/pine-core/p-82096fe4.system.entry.js.map +0 -1
- package/dist/pine-core/p-8d34339d.system.js +0 -2
- package/dist/pine-core/p-d438c2c8.system.entry.js +0 -2
- package/dist/pine-core/p-d438c2c8.system.entry.js.map +0 -1
- package/dist/pine-core/p-e22b4427.system.entry.js +0 -2
- package/dist/pine-core/p-e22b4427.system.entry.js.map +0 -1
- package/dist/pine-core/p-efca871b.entry.js +0 -2
- package/dist/pine-core/p-efca871b.entry.js.map +0 -1
- /package/dist/esm-es5/{pds-label-1f80d632.js.map → pds-label-62469596.js.map} +0 -0
- /package/dist/pine-core/{p-053ca95a.entry.js.map → p-00cccccb.entry.js.map} +0 -0
- /package/dist/pine-core/{p-e4a1b3f5.system.entry.js.map → p-08c4f190.system.entry.js.map} +0 -0
- /package/dist/pine-core/{p-143bbe94.system.entry.js.map → p-172464c1.system.entry.js.map} +0 -0
- /package/dist/pine-core/{p-4e39bbd7.system.entry.js.map → p-1a1a76ea.system.entry.js.map} +0 -0
- /package/dist/pine-core/{p-89101362.system.entry.js.map → p-1df1990d.system.entry.js.map} +0 -0
- /package/dist/pine-core/{p-1ca76e21.entry.js.map → p-1e80f274.entry.js.map} +0 -0
- /package/dist/pine-core/{p-3b780711.entry.js.map → p-239891e6.entry.js.map} +0 -0
- /package/dist/pine-core/{p-5fb6ab2f.entry.js.map → p-3acb18ad.entry.js.map} +0 -0
- /package/dist/pine-core/{p-330eda0c.entry.js.map → p-3e4225fc.entry.js.map} +0 -0
- /package/dist/pine-core/{p-136ea1e9.entry.js.map → p-4d22b02c.entry.js.map} +0 -0
- /package/dist/pine-core/{p-70e5e466.system.entry.js.map → p-50918693.system.entry.js.map} +0 -0
- /package/dist/pine-core/{p-05d140a3.system.entry.js.map → p-59327483.system.entry.js.map} +0 -0
- /package/dist/pine-core/{p-0200fce9.entry.js.map → p-59fcea0f.entry.js.map} +0 -0
- /package/dist/pine-core/{p-02f06002.system.entry.js.map → p-5c942465.system.entry.js.map} +0 -0
- /package/dist/pine-core/{p-30d979d3.entry.js.map → p-624de926.entry.js.map} +0 -0
- /package/dist/pine-core/{p-e2d793eb.entry.js.map → p-65229490.entry.js.map} +0 -0
- /package/dist/pine-core/{p-a18ff34f.entry.js.map → p-6e079be2.entry.js.map} +0 -0
- /package/dist/pine-core/{p-57dd9a98.system.entry.js.map → p-81bdf676.system.entry.js.map} +0 -0
- /package/dist/pine-core/{p-d618d51b.entry.js.map → p-84a4930d.entry.js.map} +0 -0
- /package/dist/pine-core/{p-188be548.entry.js.map → p-88410213.entry.js.map} +0 -0
- /package/dist/pine-core/{p-82a001ac.system.entry.js.map → p-88edcb41.system.entry.js.map} +0 -0
- /package/dist/pine-core/{p-7d6d3e2b.entry.js.map → p-9487df53.entry.js.map} +0 -0
- /package/dist/pine-core/{p-3fc1efe7.system.entry.js.map → p-a2726d3b.system.entry.js.map} +0 -0
- /package/dist/pine-core/{p-5f23f121.entry.js.map → p-a51098dd.entry.js.map} +0 -0
- /package/dist/pine-core/{p-3ec7fac1.js.map → p-a9038f7f.js.map} +0 -0
- /package/dist/pine-core/{p-9dec3592.system.entry.js.map → p-a9e02a6f.system.entry.js.map} +0 -0
- /package/dist/pine-core/{p-0efee237.system.entry.js.map → p-b7edbe43.system.entry.js.map} +0 -0
- /package/dist/pine-core/{p-0e310504.system.entry.js.map → p-b95522e6.system.entry.js.map} +0 -0
- /package/dist/pine-core/{p-94a0fd6e.entry.js.map → p-bbd19258.entry.js.map} +0 -0
- /package/dist/pine-core/{p-c8b0ea02.entry.js.map → p-ceb66096.entry.js.map} +0 -0
- /package/dist/pine-core/{p-be998f90.system.entry.js.map → p-d3365f49.system.entry.js.map} +0 -0
- /package/dist/pine-core/{p-e9ca5a4e.entry.js.map → p-d6d8a21a.entry.js.map} +0 -0
- /package/dist/pine-core/{p-8d34339d.system.js.map → p-db622f8f.system.js.map} +0 -0
- /package/dist/pine-core/{p-a15c9c4f.entry.js.map → p-e2a673e8.entry.js.map} +0 -0
- /package/dist/pine-core/{p-f408c34a.system.js.map → p-e3fab4be.system.js.map} +0 -0
- /package/dist/pine-core/{p-f6e72c06.system.entry.js.map → p-e64594ae.system.entry.js.map} +0 -0
- /package/dist/pine-core/{p-5c90a600.entry.js.map → p-ebdaf3ad.entry.js.map} +0 -0
- /package/dist/pine-core/{p-c18464e8.system.entry.js.map → p-ece8530d.system.entry.js.map} +0 -0
- /package/dist/pine-core/{p-9c294ea2.system.entry.js.map → p-ee21fa25.system.entry.js.map} +0 -0
- /package/dist/pine-core/{p-a4b85fb8.system.entry.js.map → p-f16ef73c.system.entry.js.map} +0 -0
- /package/dist/pine-core/{p-33a94e8c.system.entry.js.map → p-f9719887.system.entry.js.map} +0 -0
|
@@ -0,0 +1,360 @@
|
|
|
1
|
+
import { Host, h } from "@stencil/core";
|
|
2
|
+
import { messageId } from "../../utils/form";
|
|
3
|
+
import { PdsLabel } from "../_internal/pds-label/pds-label";
|
|
4
|
+
export class PdsSelect {
|
|
5
|
+
constructor() {
|
|
6
|
+
/**
|
|
7
|
+
* Emits an event on input change.
|
|
8
|
+
*/
|
|
9
|
+
this.onSelectUpdate = (e) => {
|
|
10
|
+
const target = e.target;
|
|
11
|
+
const values = Array.from(target.options)
|
|
12
|
+
.filter((option) => (option.selected))
|
|
13
|
+
.map((option) => (option.value));
|
|
14
|
+
if (values.length === 1 && !this.multiple) {
|
|
15
|
+
this.value = values[0];
|
|
16
|
+
}
|
|
17
|
+
else {
|
|
18
|
+
this.value = values;
|
|
19
|
+
}
|
|
20
|
+
this.pdsSelectChange.emit(e);
|
|
21
|
+
};
|
|
22
|
+
/**
|
|
23
|
+
* Handles the change event for the slot element.
|
|
24
|
+
* This method is triggered when the slot content changes.
|
|
25
|
+
* It updates the inner HTML of the select element by cloning and appending
|
|
26
|
+
* the assigned <option> elements from the slot.
|
|
27
|
+
*/
|
|
28
|
+
this.handleSlotChange = () => {
|
|
29
|
+
const slot = this.slotContainer.querySelector('slot');
|
|
30
|
+
this.selectEl.innerHTML = '';
|
|
31
|
+
const assignedElements = slot.assignedElements({ flatten: true });
|
|
32
|
+
assignedElements.forEach((item) => {
|
|
33
|
+
if (['OPTION', 'OPTGROUP'].includes(item.tagName)) {
|
|
34
|
+
const clonedItem = item.cloneNode(true);
|
|
35
|
+
if (clonedItem.tagName === 'OPTION' && clonedItem.value === this.value) {
|
|
36
|
+
clonedItem.selected = true;
|
|
37
|
+
}
|
|
38
|
+
this.selectEl.appendChild(clonedItem);
|
|
39
|
+
}
|
|
40
|
+
});
|
|
41
|
+
this.updateSelectedOption();
|
|
42
|
+
};
|
|
43
|
+
this.autocomplete = undefined;
|
|
44
|
+
this.componentId = undefined;
|
|
45
|
+
this.disabled = false;
|
|
46
|
+
this.errorMessage = undefined;
|
|
47
|
+
this.helperMessage = undefined;
|
|
48
|
+
this.invalid = undefined;
|
|
49
|
+
this.label = undefined;
|
|
50
|
+
this.multiple = false;
|
|
51
|
+
this.name = undefined;
|
|
52
|
+
this.required = false;
|
|
53
|
+
this.value = undefined;
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Handles the change in the value of the select component.
|
|
57
|
+
* This method is called whenever the value of the select component changes.
|
|
58
|
+
* It updates the selected option accordingly.
|
|
59
|
+
*/
|
|
60
|
+
valueChanged() {
|
|
61
|
+
this.updateSelectedOption();
|
|
62
|
+
}
|
|
63
|
+
componentWillLoad() {
|
|
64
|
+
this.updateSelectedOption();
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Updates the selected option in the select element based on the current value.
|
|
68
|
+
*
|
|
69
|
+
* This method iterates through all the options of the select element and sets the
|
|
70
|
+
* 'selected' attribute on the option that matches the current value. If an option
|
|
71
|
+
* does not match the current value, the 'selected' attribute is removed.
|
|
72
|
+
*
|
|
73
|
+
* @private
|
|
74
|
+
* @returns {void}
|
|
75
|
+
*/
|
|
76
|
+
updateSelectedOption() {
|
|
77
|
+
if (this.selectEl) {
|
|
78
|
+
const options = this.selectEl.options;
|
|
79
|
+
// Update the selected attribute for all options.
|
|
80
|
+
Array.from(options).map((option) => {
|
|
81
|
+
if (Array.isArray(this.value)) {
|
|
82
|
+
option.selected = this.value.includes(option.value);
|
|
83
|
+
}
|
|
84
|
+
else {
|
|
85
|
+
option.selected = this.value === option.value;
|
|
86
|
+
}
|
|
87
|
+
});
|
|
88
|
+
}
|
|
89
|
+
;
|
|
90
|
+
}
|
|
91
|
+
getHelperMessage() {
|
|
92
|
+
return this.helperMessage && (h("p", { class: "pds-select__helper-message", id: messageId(this.componentId, 'helper') }, this.helperMessage));
|
|
93
|
+
}
|
|
94
|
+
getErrorMessage() {
|
|
95
|
+
return this.errorMessage && (h("p", { class: "pds-select__error-message", id: messageId(this.componentId, 'error'), "aria-live": "assertive" }, h("pds-icon", { name: "danger", size: "small" }), this.errorMessage));
|
|
96
|
+
}
|
|
97
|
+
renderMessages() {
|
|
98
|
+
if (!this.helperMessage && !this.errorMessage)
|
|
99
|
+
return null;
|
|
100
|
+
return (h("div", { class: "pds-select__message" }, this.getHelperMessage(), this.getErrorMessage()));
|
|
101
|
+
}
|
|
102
|
+
classNames() {
|
|
103
|
+
const classNames = [];
|
|
104
|
+
if (this.invalid) {
|
|
105
|
+
classNames.push('is-invalid');
|
|
106
|
+
}
|
|
107
|
+
if (this.disabled) {
|
|
108
|
+
classNames.push('is-disabled');
|
|
109
|
+
}
|
|
110
|
+
return classNames.join(' ');
|
|
111
|
+
}
|
|
112
|
+
render() {
|
|
113
|
+
return (h(Host, { key: 'f0baf957ee67ee9171a41fc4171e548b94d5c22c', "aria-disabled": this.disabled ? 'true' : null, class: this.classNames() }, h("div", { key: '88ef7c54afc654133d613c91c4bb3fbfe4a944b3', class: "pds-select" }, h(PdsLabel, { key: '7723f468412f6567e0d4fd236807e1ba2fdea16a', htmlFor: this.componentId, text: this.label }), h("select", { key: '1bdb1e22360972aa6cb77902d1288abfcc9dbf07', autocomplete: this.autocomplete || undefined, class: "pds-select__field", disabled: this.disabled, id: this.componentId, multiple: this.multiple, name: this.name, onChange: this.onSelectUpdate, required: this.required, ref: (el) => (this.selectEl = el) }), h("div", { key: 'ddbac1f772b335688d7eb219a7ea3a9ab4a3192a', "aria-hidden": "true", class: "hidden", ref: (el) => (this.slotContainer = el) }, h("slot", { key: 'aa6093fd8833fdf4860dd8127c32f95405679a11', onSlotchange: this.handleSlotChange })), this.renderMessages(), !this.multiple && h("pds-icon", { key: 'de8dc37035701942d8b2bcf56b40edf2f6de20df', class: "pds-select__select-icon", name: "enlarge" }))));
|
|
114
|
+
}
|
|
115
|
+
static get is() { return "pds-select"; }
|
|
116
|
+
static get encapsulation() { return "shadow"; }
|
|
117
|
+
static get originalStyleUrls() {
|
|
118
|
+
return {
|
|
119
|
+
"$": ["pds-select.scss"]
|
|
120
|
+
};
|
|
121
|
+
}
|
|
122
|
+
static get styleUrls() {
|
|
123
|
+
return {
|
|
124
|
+
"$": ["pds-select.css"]
|
|
125
|
+
};
|
|
126
|
+
}
|
|
127
|
+
static get properties() {
|
|
128
|
+
return {
|
|
129
|
+
"autocomplete": {
|
|
130
|
+
"type": "string",
|
|
131
|
+
"mutable": false,
|
|
132
|
+
"complexType": {
|
|
133
|
+
"original": "string",
|
|
134
|
+
"resolved": "string",
|
|
135
|
+
"references": {}
|
|
136
|
+
},
|
|
137
|
+
"required": false,
|
|
138
|
+
"optional": false,
|
|
139
|
+
"docs": {
|
|
140
|
+
"tags": [],
|
|
141
|
+
"text": "Specifies if and how the browser provides `autocomplete` assistance for the field."
|
|
142
|
+
},
|
|
143
|
+
"attribute": "autocomplete",
|
|
144
|
+
"reflect": false
|
|
145
|
+
},
|
|
146
|
+
"componentId": {
|
|
147
|
+
"type": "string",
|
|
148
|
+
"mutable": false,
|
|
149
|
+
"complexType": {
|
|
150
|
+
"original": "string",
|
|
151
|
+
"resolved": "string",
|
|
152
|
+
"references": {}
|
|
153
|
+
},
|
|
154
|
+
"required": true,
|
|
155
|
+
"optional": false,
|
|
156
|
+
"docs": {
|
|
157
|
+
"tags": [],
|
|
158
|
+
"text": "A unique identifier used for the underlying component `id` attribute."
|
|
159
|
+
},
|
|
160
|
+
"attribute": "component-id",
|
|
161
|
+
"reflect": false
|
|
162
|
+
},
|
|
163
|
+
"disabled": {
|
|
164
|
+
"type": "boolean",
|
|
165
|
+
"mutable": false,
|
|
166
|
+
"complexType": {
|
|
167
|
+
"original": "boolean",
|
|
168
|
+
"resolved": "boolean",
|
|
169
|
+
"references": {}
|
|
170
|
+
},
|
|
171
|
+
"required": false,
|
|
172
|
+
"optional": false,
|
|
173
|
+
"docs": {
|
|
174
|
+
"tags": [{
|
|
175
|
+
"name": "defaultValue",
|
|
176
|
+
"text": "false"
|
|
177
|
+
}],
|
|
178
|
+
"text": "Indicates whether or not the select field is disabled."
|
|
179
|
+
},
|
|
180
|
+
"attribute": "disabled",
|
|
181
|
+
"reflect": false,
|
|
182
|
+
"defaultValue": "false"
|
|
183
|
+
},
|
|
184
|
+
"errorMessage": {
|
|
185
|
+
"type": "string",
|
|
186
|
+
"mutable": false,
|
|
187
|
+
"complexType": {
|
|
188
|
+
"original": "string",
|
|
189
|
+
"resolved": "string",
|
|
190
|
+
"references": {}
|
|
191
|
+
},
|
|
192
|
+
"required": false,
|
|
193
|
+
"optional": false,
|
|
194
|
+
"docs": {
|
|
195
|
+
"tags": [],
|
|
196
|
+
"text": "Displays error message text describing an invalid state."
|
|
197
|
+
},
|
|
198
|
+
"attribute": "error-message",
|
|
199
|
+
"reflect": false
|
|
200
|
+
},
|
|
201
|
+
"helperMessage": {
|
|
202
|
+
"type": "string",
|
|
203
|
+
"mutable": false,
|
|
204
|
+
"complexType": {
|
|
205
|
+
"original": "string",
|
|
206
|
+
"resolved": "string",
|
|
207
|
+
"references": {}
|
|
208
|
+
},
|
|
209
|
+
"required": false,
|
|
210
|
+
"optional": false,
|
|
211
|
+
"docs": {
|
|
212
|
+
"tags": [],
|
|
213
|
+
"text": "Displays helper message text below select."
|
|
214
|
+
},
|
|
215
|
+
"attribute": "helper-message",
|
|
216
|
+
"reflect": false
|
|
217
|
+
},
|
|
218
|
+
"invalid": {
|
|
219
|
+
"type": "boolean",
|
|
220
|
+
"mutable": false,
|
|
221
|
+
"complexType": {
|
|
222
|
+
"original": "boolean",
|
|
223
|
+
"resolved": "boolean",
|
|
224
|
+
"references": {}
|
|
225
|
+
},
|
|
226
|
+
"required": false,
|
|
227
|
+
"optional": true,
|
|
228
|
+
"docs": {
|
|
229
|
+
"tags": [],
|
|
230
|
+
"text": "Determines whether or not the select is invalid."
|
|
231
|
+
},
|
|
232
|
+
"attribute": "invalid",
|
|
233
|
+
"reflect": false
|
|
234
|
+
},
|
|
235
|
+
"label": {
|
|
236
|
+
"type": "string",
|
|
237
|
+
"mutable": false,
|
|
238
|
+
"complexType": {
|
|
239
|
+
"original": "string",
|
|
240
|
+
"resolved": "string",
|
|
241
|
+
"references": {}
|
|
242
|
+
},
|
|
243
|
+
"required": false,
|
|
244
|
+
"optional": false,
|
|
245
|
+
"docs": {
|
|
246
|
+
"tags": [],
|
|
247
|
+
"text": "Text to be displayed as the select label."
|
|
248
|
+
},
|
|
249
|
+
"attribute": "label",
|
|
250
|
+
"reflect": false
|
|
251
|
+
},
|
|
252
|
+
"multiple": {
|
|
253
|
+
"type": "boolean",
|
|
254
|
+
"mutable": false,
|
|
255
|
+
"complexType": {
|
|
256
|
+
"original": "boolean",
|
|
257
|
+
"resolved": "boolean",
|
|
258
|
+
"references": {}
|
|
259
|
+
},
|
|
260
|
+
"required": false,
|
|
261
|
+
"optional": false,
|
|
262
|
+
"docs": {
|
|
263
|
+
"tags": [{
|
|
264
|
+
"name": "defaultValue",
|
|
265
|
+
"text": "false"
|
|
266
|
+
}],
|
|
267
|
+
"text": "Indicates whether multiple options can be selected."
|
|
268
|
+
},
|
|
269
|
+
"attribute": "multiple",
|
|
270
|
+
"reflect": false,
|
|
271
|
+
"defaultValue": "false"
|
|
272
|
+
},
|
|
273
|
+
"name": {
|
|
274
|
+
"type": "string",
|
|
275
|
+
"mutable": false,
|
|
276
|
+
"complexType": {
|
|
277
|
+
"original": "string",
|
|
278
|
+
"resolved": "string",
|
|
279
|
+
"references": {}
|
|
280
|
+
},
|
|
281
|
+
"required": true,
|
|
282
|
+
"optional": false,
|
|
283
|
+
"docs": {
|
|
284
|
+
"tags": [],
|
|
285
|
+
"text": "Specifies the name. Submitted with the form name/value pair."
|
|
286
|
+
},
|
|
287
|
+
"attribute": "name",
|
|
288
|
+
"reflect": false
|
|
289
|
+
},
|
|
290
|
+
"required": {
|
|
291
|
+
"type": "boolean",
|
|
292
|
+
"mutable": false,
|
|
293
|
+
"complexType": {
|
|
294
|
+
"original": "boolean",
|
|
295
|
+
"resolved": "boolean",
|
|
296
|
+
"references": {}
|
|
297
|
+
},
|
|
298
|
+
"required": false,
|
|
299
|
+
"optional": false,
|
|
300
|
+
"docs": {
|
|
301
|
+
"tags": [{
|
|
302
|
+
"name": "defaultValue",
|
|
303
|
+
"text": "false"
|
|
304
|
+
}],
|
|
305
|
+
"text": "Indicates whether or not the select field is required."
|
|
306
|
+
},
|
|
307
|
+
"attribute": "required",
|
|
308
|
+
"reflect": false,
|
|
309
|
+
"defaultValue": "false"
|
|
310
|
+
},
|
|
311
|
+
"value": {
|
|
312
|
+
"type": "string",
|
|
313
|
+
"mutable": true,
|
|
314
|
+
"complexType": {
|
|
315
|
+
"original": "string | string[]",
|
|
316
|
+
"resolved": "string | string[]",
|
|
317
|
+
"references": {}
|
|
318
|
+
},
|
|
319
|
+
"required": false,
|
|
320
|
+
"optional": true,
|
|
321
|
+
"docs": {
|
|
322
|
+
"tags": [],
|
|
323
|
+
"text": "The value(s) of the selected option(s)."
|
|
324
|
+
},
|
|
325
|
+
"attribute": "value",
|
|
326
|
+
"reflect": false
|
|
327
|
+
}
|
|
328
|
+
};
|
|
329
|
+
}
|
|
330
|
+
static get events() {
|
|
331
|
+
return [{
|
|
332
|
+
"method": "pdsSelectChange",
|
|
333
|
+
"name": "pdsSelectChange",
|
|
334
|
+
"bubbles": true,
|
|
335
|
+
"cancelable": true,
|
|
336
|
+
"composed": true,
|
|
337
|
+
"docs": {
|
|
338
|
+
"tags": [],
|
|
339
|
+
"text": "Emitted when a keyboard input occurs."
|
|
340
|
+
},
|
|
341
|
+
"complexType": {
|
|
342
|
+
"original": "InputEvent",
|
|
343
|
+
"resolved": "InputEvent",
|
|
344
|
+
"references": {
|
|
345
|
+
"InputEvent": {
|
|
346
|
+
"location": "global",
|
|
347
|
+
"id": "global::InputEvent"
|
|
348
|
+
}
|
|
349
|
+
}
|
|
350
|
+
}
|
|
351
|
+
}];
|
|
352
|
+
}
|
|
353
|
+
static get watchers() {
|
|
354
|
+
return [{
|
|
355
|
+
"propName": "value",
|
|
356
|
+
"methodName": "valueChanged"
|
|
357
|
+
}];
|
|
358
|
+
}
|
|
359
|
+
}
|
|
360
|
+
//# sourceMappingURL=pds-select.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pds-select.js","sourceRoot":"","sources":["../../../src/components/pds-select/pds-select.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,EAAgB,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACrF,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,kCAAkC,CAAC;AAO5D,MAAM,OAAO,SAAS;;QA4GpB;;UAEE;QACM,mBAAc,GAAG,CAAC,CAAQ,EAAE,EAAE;YACpC,MAAM,MAAM,GAAG,CAAC,CAAC,MAA2B,CAAA;YAE5C,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;iBACpC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;iBACtC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;YAEtC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACxC,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YAC3B,CAAC;iBAAM,CAAC;gBACJ,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC;YACxB,CAAC;YAED,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAe,CAAC,CAAC;QAC7C,CAAC,CAAC;QAEF;;;;;WAKG;QACK,qBAAgB,GAAG,GAAG,EAAE;YAC9B,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,MAAM,CAAoB,CAAC;YAEzE,IAAI,CAAC,QAAQ,CAAC,SAAS,GAAG,EAAE,CAAC;YAC7B,MAAM,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAgD,CAAC;YAEjH,gBAAgB,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;gBAChC,IAAK,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;oBACnD,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAA4C,CAAC;oBACnF,IAAI,UAAU,CAAC,OAAO,KAAK,QAAQ,IAAK,UAAgC,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,EAAE,CAAC;wBAC7F,UAAgC,CAAC,QAAQ,GAAG,IAAI,CAAC;oBACpD,CAAC;oBACD,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;gBACxC,CAAC;YACH,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC9B,CAAC,CAAC;;;wBAnIiB,KAAK;;;;;wBA0BL,KAAK;;wBAWL,KAAK;;;IAcxB;;;;OAIG;IACH,YAAY;QACV,IAAI,CAAC,oBAAoB,EAAE,CAAC;IAC9B,CAAC;IAED,iBAAiB;QACf,IAAI,CAAC,oBAAoB,EAAE,CAAC;IAC9B,CAAC;IAED;;;;;;;;;OASG;IACK,oBAAoB;QAC1B,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;YAEtC,iDAAiD;YACjD,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,MAAyB,EAAE,EAAE;gBACpD,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;oBAC9B,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBACtD,CAAC;qBAAM,CAAC;oBACN,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,KAAK,MAAM,CAAC,KAAK,CAAC;gBAChD,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;QAAA,CAAC;IACJ,CAAC;IA8CO,gBAAgB;QACtB,OAAO,IAAI,CAAC,aAAa,IAAI,CAC3B,SAAG,KAAK,EAAC,4BAA4B,EAAC,EAAE,EAAE,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,IAC5E,IAAI,CAAC,aAAa,CACjB,CACL,CAAC;IACJ,CAAC;IAEO,eAAe;QACrB,OAAO,IAAI,CAAC,YAAY,IAAI,CAC1B,SAAG,KAAK,EAAC,2BAA2B,EAAC,EAAE,EAAE,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,eAAY,WAAW;YAClG,gBAAU,IAAI,EAAC,QAAQ,EAAC,IAAI,EAAC,OAAO,GAAG;YACtC,IAAI,CAAC,YAAY,CAChB,CACL,CAAC;IACJ,CAAC;IAEO,cAAc;QACpB,IAAI,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,IAAI,CAAC,YAAY;YAAE,OAAO,IAAI,CAAC;QAE3D,OAAO,CACL,WAAK,KAAK,EAAC,qBAAqB;YAC7B,IAAI,CAAC,gBAAgB,EAAE;YACvB,IAAI,CAAC,eAAe,EAAE,CACnB,CACP,CAAC;IACJ,CAAC;IAEO,UAAU;QAChB,MAAM,UAAU,GAAG,EAAE,CAAC;QAEtB,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAAC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAAC,CAAC;QACpD,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAAC,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAAC,CAAC;QAEtD,OAAO,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;IAED,MAAM;QACJ,OAAO,CACL,EAAC,IAAI,sEAAgB,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,UAAU,EAAE;YAC1E,4DAAK,KAAK,EAAC,YAAY;gBACrB,EAAC,QAAQ,qDAAC,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,GAAI;gBACvD,+DACE,YAAY,EAAE,IAAI,CAAC,YAAY,IAAI,SAAS,EAC5C,KAAK,EAAC,mBAAmB,EACzB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,EAAE,EAAE,IAAI,CAAC,WAAW,EACpB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,QAAQ,EAAE,IAAI,CAAC,cAAc,EAC7B,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,GAAG,EAAuB,CAAC,GAC9C;gBACZ,2EAAiB,MAAM,EAAC,KAAK,EAAC,QAAQ,EAAC,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;oBAC3E,6DAAM,YAAY,EAAE,IAAI,CAAC,gBAAgB,GAAS,CAC9C;gBACL,IAAI,CAAC,cAAc,EAAE;gBACrB,CAAC,IAAI,CAAC,QAAQ,IAAI,iEAAU,KAAK,EAAC,yBAAyB,EAAC,IAAI,EAAC,SAAS,GAAG,CAC1E,CACD,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, Event, EventEmitter, Host, h, Prop, Watch } from '@stencil/core';\nimport { messageId } from '../../utils/form';\nimport { PdsLabel } from '../_internal/pds-label/pds-label';\n\n@Component({\n tag: 'pds-select',\n styleUrl: 'pds-select.scss',\n shadow: true,\n})\nexport class PdsSelect {\n\n private selectEl!: HTMLSelectElement;\n private slotContainer!: HTMLDivElement;\n\n /**\n * Specifies if and how the browser provides `autocomplete` assistance for the field.\n */\n @Prop() autocomplete: string;\n\n /**\n * A unique identifier used for the underlying component `id` attribute.\n */\n @Prop() componentId!: string;\n\n /**\n * Indicates whether or not the select field is disabled.\n * @defaultValue false\n */\n @Prop() disabled = false\n\n /**\n * Displays error message text describing an invalid state.\n */\n @Prop() errorMessage: string;\n\n /**\n * Displays helper message text below select.\n */\n @Prop() helperMessage: string;\n\n /**\n * Determines whether or not the select is invalid.\n */\n @Prop() invalid?: boolean;\n\n /**\n * Text to be displayed as the select label.\n */\n @Prop() label: string;\n\n /**\n * Indicates whether multiple options can be selected.\n * @defaultValue false\n */\n @Prop() multiple = false;\n\n /**\n * Specifies the name. Submitted with the form name/value pair.\n */\n @Prop() name!: string;\n\n /**\n * Indicates whether or not the select field is required.\n * @defaultValue false\n */\n @Prop() required = false;\n\n /**\n * The value(s) of the selected option(s).\n *\n */\n @Prop({ mutable: true }) value?: string | string[];\n\n /**\n * Emitted when a keyboard input occurs.\n */\n @Event() pdsSelectChange: EventEmitter<InputEvent>;\n\n @Watch('value')\n /**\n * Handles the change in the value of the select component.\n * This method is called whenever the value of the select component changes.\n * It updates the selected option accordingly.\n */\n valueChanged() {\n this.updateSelectedOption();\n }\n\n componentWillLoad() {\n this.updateSelectedOption();\n }\n\n /**\n * Updates the selected option in the select element based on the current value.\n *\n * This method iterates through all the options of the select element and sets the\n * 'selected' attribute on the option that matches the current value. If an option\n * does not match the current value, the 'selected' attribute is removed.\n *\n * @private\n * @returns {void}\n */\n private updateSelectedOption() {\n if (this.selectEl) {\n const options = this.selectEl.options;\n\n // Update the selected attribute for all options.\n Array.from(options).map((option: HTMLOptionElement) => {\n if (Array.isArray(this.value)) {\n option.selected = this.value.includes(option.value);\n } else {\n option.selected = this.value === option.value;\n }\n });\n };\n }\n\n /**\n * Emits an event on input change.\n */\n private onSelectUpdate = (e: Event) => {\n const target = e.target as HTMLSelectElement\n\n const values = Array.from(target.options)\n .filter((option) => ( option.selected))\n .map((option) => ( option.value));\n\n if (values.length === 1 && !this.multiple) {\n this.value = values[0];\n } else {\n this.value = values;\n }\n\n this.pdsSelectChange.emit(e as InputEvent);\n };\n\n /**\n * Handles the change event for the slot element.\n * This method is triggered when the slot content changes.\n * It updates the inner HTML of the select element by cloning and appending\n * the assigned <option> elements from the slot.\n */\n private handleSlotChange = () => {\n const slot = this.slotContainer.querySelector('slot') as HTMLSlotElement;\n\n this.selectEl.innerHTML = '';\n const assignedElements = slot.assignedElements({ flatten: true }) as (HTMLOptionElement | HTMLOptGroupElement)[];\n\n assignedElements.forEach((item) => {\n if ( ['OPTION', 'OPTGROUP'].includes(item.tagName)) {\n const clonedItem = item.cloneNode(true) as HTMLOptionElement | HTMLOptGroupElement;\n if (clonedItem.tagName === 'OPTION' && (clonedItem as HTMLOptionElement).value === this.value) {\n (clonedItem as HTMLOptionElement).selected = true;\n }\n this.selectEl.appendChild(clonedItem);\n }\n });\n\n this.updateSelectedOption();\n };\n\n private getHelperMessage() {\n return this.helperMessage && (\n <p class=\"pds-select__helper-message\" id={messageId(this.componentId, 'helper')}>\n {this.helperMessage}\n </p>\n );\n }\n\n private getErrorMessage() {\n return this.errorMessage && (\n <p class=\"pds-select__error-message\" id={messageId(this.componentId, 'error')} aria-live=\"assertive\">\n <pds-icon name=\"danger\" size=\"small\" />\n {this.errorMessage}\n </p>\n );\n }\n\n private renderMessages() {\n if (!this.helperMessage && !this.errorMessage) return null;\n\n return (\n <div class=\"pds-select__message\">\n {this.getHelperMessage()}\n {this.getErrorMessage()}\n </div>\n );\n }\n\n private classNames() {\n const classNames = [];\n\n if (this.invalid) { classNames.push('is-invalid'); }\n if (this.disabled) { classNames.push('is-disabled'); }\n\n return classNames.join(' ');\n }\n\n render() {\n return (\n <Host aria-disabled={this.disabled ? 'true' : null} class={this.classNames()}>\n <div class=\"pds-select\">\n <PdsLabel htmlFor={this.componentId} text={this.label} />\n <select\n autocomplete={this.autocomplete || undefined}\n class=\"pds-select__field\"\n disabled={this.disabled}\n id={this.componentId}\n multiple={this.multiple}\n name={this.name}\n onChange={this.onSelectUpdate}\n required={this.required}\n ref={(el) => (this.selectEl = el as HTMLSelectElement)}\n ></select>\n <div aria-hidden=\"true\" class=\"hidden\" ref={(el) => (this.slotContainer = el)}>\n <slot onSlotchange={this.handleSlotChange}></slot>\n </div>\n {this.renderMessages()}\n {!this.multiple && <pds-icon class=\"pds-select__select-icon\" name=\"enlarge\" />}\n </div>\n </Host>\n );\n }\n}\n"]}
|
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
import { html } from 'lit';
|
|
2
|
+
import { extractArgTypes } from '@pxtrn/storybook-addon-docs-stencil';
|
|
3
|
+
import { withActions } from '@storybook/addon-actions/decorator';
|
|
4
|
+
|
|
5
|
+
export default {
|
|
6
|
+
args: {
|
|
7
|
+
autocomplete: null,
|
|
8
|
+
disabled: false,
|
|
9
|
+
errorMessage: null,
|
|
10
|
+
helperMessage: null,
|
|
11
|
+
invalid: false,
|
|
12
|
+
multiple: false,
|
|
13
|
+
value: null,
|
|
14
|
+
},
|
|
15
|
+
argTypes: extractArgTypes('pds-select'),
|
|
16
|
+
component: 'pds-select',
|
|
17
|
+
decorators: [withActions],
|
|
18
|
+
parameters: {
|
|
19
|
+
actions: {
|
|
20
|
+
handles: ['onchange', 'pdsSelectChange'],
|
|
21
|
+
},
|
|
22
|
+
},
|
|
23
|
+
title: 'components/Select',
|
|
24
|
+
};
|
|
25
|
+
|
|
26
|
+
const options = [
|
|
27
|
+
{ value: 'paul', label: 'Paul McCartney' },
|
|
28
|
+
{ value: 'john', label: 'John Lennon' },
|
|
29
|
+
{ value: 'george', label: 'George Harrison' },
|
|
30
|
+
{ value: 'ringo', label: 'Ringo Starr' },
|
|
31
|
+
];
|
|
32
|
+
|
|
33
|
+
const optgroupOptions = [
|
|
34
|
+
{
|
|
35
|
+
label: 'Correct answers',
|
|
36
|
+
options: [
|
|
37
|
+
{ value: 'paul', label: 'Paul McCartney' },
|
|
38
|
+
{ value: 'john', label: 'John Lennon' },
|
|
39
|
+
{ value: 'george', label: 'George Harrison' },
|
|
40
|
+
],
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
label: 'Incorrect answers',
|
|
44
|
+
options: [{ value: 'ringo', label: 'Ringo Starr' }],
|
|
45
|
+
},
|
|
46
|
+
];
|
|
47
|
+
|
|
48
|
+
const BaseTemplate = (args) =>
|
|
49
|
+
html`<pds-select
|
|
50
|
+
autocomplete="${args.autocomplete}"
|
|
51
|
+
component-id="${args.componentId}"
|
|
52
|
+
disabled="${args.disabled}"
|
|
53
|
+
error-message="${args.errorMessage}"
|
|
54
|
+
helper-message="${args.helperMessage}"
|
|
55
|
+
invalid="${args.invalid}"
|
|
56
|
+
label="${args.label}"
|
|
57
|
+
multiple="${args.multiple}"
|
|
58
|
+
name="${args.name}"
|
|
59
|
+
required="${args.required}"
|
|
60
|
+
type="${args.type}"
|
|
61
|
+
value="${args.value}"
|
|
62
|
+
>
|
|
63
|
+
${options.map((option) => html`<option value="${option.value}">${option.label}</option>`)}
|
|
64
|
+
</pds-select>`;
|
|
65
|
+
|
|
66
|
+
const OptgroupTemplate = (args) =>
|
|
67
|
+
html`<pds-select
|
|
68
|
+
autocomplete="${args.autocomplete}"
|
|
69
|
+
component-id="${args.componentId}"
|
|
70
|
+
disabled="${args.disabled}"
|
|
71
|
+
error-message="${args.errorMessage}"
|
|
72
|
+
helper-message="${args.helperMessage}"
|
|
73
|
+
invalid="${args.invalid}"
|
|
74
|
+
label="${args.label}"
|
|
75
|
+
multiple="${args.multiple}"
|
|
76
|
+
name="${args.name}"
|
|
77
|
+
required="${args.required}"
|
|
78
|
+
type="${args.type}"
|
|
79
|
+
value="${args.value}"
|
|
80
|
+
>
|
|
81
|
+
${optgroupOptions.map(
|
|
82
|
+
(group) => html`<optgroup label="${group.label}">${group.options.map((option) => html`<option value="${option.value}">${option.label}</option>`)}</optgroup>`,
|
|
83
|
+
)}
|
|
84
|
+
</pds-select>`;
|
|
85
|
+
|
|
86
|
+
export const Default = BaseTemplate.bind({});
|
|
87
|
+
Default.args = {
|
|
88
|
+
componentId: 'pds-select-default-example',
|
|
89
|
+
disabled: false,
|
|
90
|
+
label: 'Select your favorite Beatle',
|
|
91
|
+
name: 'beatles',
|
|
92
|
+
required: true,
|
|
93
|
+
value: 'paul',
|
|
94
|
+
};
|
|
95
|
+
|
|
96
|
+
export const Disabled = BaseTemplate.bind({});
|
|
97
|
+
Disabled.args = {
|
|
98
|
+
componentId: 'pds-select-disabled-example',
|
|
99
|
+
disabled: true,
|
|
100
|
+
label: 'Select your favorite Beatle',
|
|
101
|
+
name: 'beatles',
|
|
102
|
+
value: 'george',
|
|
103
|
+
};
|
|
104
|
+
|
|
105
|
+
export const withMessage = BaseTemplate.bind({});
|
|
106
|
+
withMessage.args = {
|
|
107
|
+
componentId: 'pds-select-message-example',
|
|
108
|
+
disabled: false,
|
|
109
|
+
helperMessage: "Please don't pick Ringo",
|
|
110
|
+
label: 'Select your favorite Beatle',
|
|
111
|
+
name: 'beatles',
|
|
112
|
+
value: 'john',
|
|
113
|
+
};
|
|
114
|
+
|
|
115
|
+
export const Invalid = BaseTemplate.bind({});
|
|
116
|
+
Invalid.args = {
|
|
117
|
+
componentId: 'pds-select-invalid-example',
|
|
118
|
+
disabled: false,
|
|
119
|
+
errorMessage: 'Its not Ringo',
|
|
120
|
+
invalid: true,
|
|
121
|
+
label: 'Select your favorite Beatle',
|
|
122
|
+
name: 'beatles',
|
|
123
|
+
value: 'ringo',
|
|
124
|
+
};
|
|
125
|
+
|
|
126
|
+
export const Autocomplete = BaseTemplate.bind({});
|
|
127
|
+
Autocomplete.args = {
|
|
128
|
+
componentId: 'pds-select-autocomplete-example',
|
|
129
|
+
disabled: false,
|
|
130
|
+
autocomplete: 'on',
|
|
131
|
+
label: 'Select your favorite Beatle',
|
|
132
|
+
name: 'beatles',
|
|
133
|
+
value: 'paul',
|
|
134
|
+
};
|
|
135
|
+
|
|
136
|
+
export const Multiple = BaseTemplate.bind({});
|
|
137
|
+
Multiple.args = {
|
|
138
|
+
componentId: 'pds-select-multiple-example',
|
|
139
|
+
disabled: false,
|
|
140
|
+
helperMessage: "Use 'Command' on your keyboard to select multiple options",
|
|
141
|
+
label: 'Select your favorite Beatle',
|
|
142
|
+
multiple: true,
|
|
143
|
+
name: 'beatles',
|
|
144
|
+
};
|
|
145
|
+
|
|
146
|
+
export const WithOptgroup = OptgroupTemplate.bind({});
|
|
147
|
+
WithOptgroup.args = {
|
|
148
|
+
componentId: 'pds-select-optgroup-example',
|
|
149
|
+
disabled: false,
|
|
150
|
+
label: 'Select your favorite Beatle',
|
|
151
|
+
name: 'beatles',
|
|
152
|
+
value: 'george',
|
|
153
|
+
};
|
|
@@ -18,7 +18,7 @@ export class PdsSortableItem {
|
|
|
18
18
|
}
|
|
19
19
|
}
|
|
20
20
|
render() {
|
|
21
|
-
return (h(Host, { key: '
|
|
21
|
+
return (h(Host, { key: '53229fa4308319c59c520bdf84291fb738d6f7c2', class: "pds-sortable-item", id: this.componentId }, this.showHandle && (h("div", { key: '28a4a4fe6a946880e7501fd2a0697152f0665f4c', class: "pds-sortable-item__handle" }, h("pds-icon", { key: 'e45540e3787977b0861418455f6a0689cfcec887', icon: handleIcon }))), h("slot", { key: 'bca5cbb3c4f5b4f1732030428660f5ae976cced0' }), this.enableActions && (h("div", { key: '2928a942128e4bbad4c869f42b59d10501af4419', class: "pds-sortable-item__actions" }, h("slot", { key: 'c2a4e2a47300f1c8f06a23ba134c436a591442bf', name: "sortable-item-actions" })))));
|
|
22
22
|
}
|
|
23
23
|
static get is() { return "pds-sortable-item"; }
|
|
24
24
|
static get encapsulation() { return "scoped"; }
|
|
@@ -35,7 +35,7 @@ export class PdsSortable {
|
|
|
35
35
|
Sortable.create(this.el, sortableOptions);
|
|
36
36
|
}
|
|
37
37
|
render() {
|
|
38
|
-
return (h(Host, { key: '
|
|
38
|
+
return (h(Host, { key: 'e215bbd858767d4c5e5e85bd12352e6a50b7d594', class: this.classNames(), id: this.componentId }, h("slot", { key: 'bd4a58c7ceb78432c77615987e16e979d7240eb4' })));
|
|
39
39
|
}
|
|
40
40
|
static get is() { return "pds-sortable"; }
|
|
41
41
|
static get encapsulation() { return "scoped"; }
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
--sizing-input-toggle-size: calc(var(--dimension-input-height) - (var(--spacing-input-toggle-offset) * 2));
|
|
24
24
|
--spacing-label-gap-size: var(--pine-spacing-150);
|
|
25
25
|
--spacing-input-toggle-offset: calc(var(--pine-spacing-050) / 2);
|
|
26
|
-
--spacing-message-block: var(--pine-spacing-
|
|
26
|
+
--spacing-message-block: calc(var(--pine-spacing-150) / 2);
|
|
27
27
|
--spacing-message-inline: calc(var(--dimension-input-width) + var(--spacing-label-gap-size));
|
|
28
28
|
--number-transition-timing: 0.15s ease-out;
|
|
29
29
|
align-items: flex-start;
|
|
@@ -45,6 +45,9 @@
|
|
|
45
45
|
:host(.pds-switch--error) input:focus-visible:not(:disabled):not(:checked) {
|
|
46
46
|
box-shadow: var(--box-shadow-focus-error);
|
|
47
47
|
}
|
|
48
|
+
:host(.pds-switch--error) label {
|
|
49
|
+
color: var(--color-text-error);
|
|
50
|
+
}
|
|
48
51
|
|
|
49
52
|
input {
|
|
50
53
|
appearance: none;
|
|
@@ -90,16 +93,17 @@ label {
|
|
|
90
93
|
.pds-switch__message {
|
|
91
94
|
color: var(--color-message-text);
|
|
92
95
|
flex: 1 0 100%;
|
|
93
|
-
font-size: var(--pine-font-size-body-
|
|
94
|
-
line-height: var(--pine-line-height-sm);
|
|
95
|
-
margin-inline-start: var(--spacing-message-inline);
|
|
96
|
-
}
|
|
97
|
-
.pds-switch__message + .pds-switch__message {
|
|
96
|
+
font-size: var(--pine-font-size-body-md);
|
|
98
97
|
margin-block-start: var(--spacing-message-block);
|
|
98
|
+
margin-inline-start: var(--spacing-message-inline);
|
|
99
99
|
}
|
|
100
100
|
|
|
101
101
|
.pds-switch__message--error {
|
|
102
|
+
align-items: center;
|
|
102
103
|
color: inherit;
|
|
104
|
+
display: flex;
|
|
105
|
+
font-size: var(--pine-font-size-085);
|
|
106
|
+
gap: var(--pine-spacing-050);
|
|
103
107
|
}
|
|
104
108
|
|
|
105
109
|
input:disabled {
|