@pine-ds/core 2.1.0 → 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 +14 -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 +15 -11
- 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 +16 -7
- package/components/pds-textarea.js.map +1 -1
- package/components/pds-tooltip.js +6 -8
- package/components/pds-tooltip.js.map +1 -1
- package/dist/cjs/{index-2240f8f4.js → index-0079013c.js} +4 -2
- package/dist/cjs/index-0079013c.js.map +1 -0
- package/dist/cjs/{index-d424fb6f.js → index-b7d9268e.js} +14 -7
- 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 +8 -6
- package/dist/cjs/pds-input.cjs.entry.js.map +1 -1
- package/dist/cjs/{pds-label-397cc854.js → pds-label-05f073ea.js} +2 -2
- package/dist/cjs/{pds-label-397cc854.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 +9 -10
- 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 +10 -8
- package/dist/cjs/pds-textarea.cjs.entry.js.map +1 -1
- package/dist/cjs/pds-tooltip.cjs.entry.js +5 -8
- package/dist/cjs/pds-tooltip.cjs.entry.js.map +1 -1
- package/dist/cjs/pine-core.cjs.js +3 -3
- package/dist/cjs/pine-core.cjs.js.map +1 -1
- package/dist/collection/collection-manifest.json +4 -1
- 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-icon/stories/pds-icon.stories.js +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 +22 -3
- package/dist/collection/components/pds-input/pds-input.js.map +1 -1
- package/dist/collection/components/pds-input/stories/pds-input.stories.js +10 -0
- 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 +17 -39
- package/dist/collection/components/pds-switch/pds-switch.js.map +1 -1
- package/dist/collection/components/pds-switch/stories/pds-switch.stories.js +2 -15
- 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 +24 -5
- package/dist/collection/components/pds-textarea/pds-textarea.js.map +1 -1
- package/dist/collection/components/pds-textarea/stories/pds-textarea.stories.js +22 -11
- package/dist/collection/components/pds-tooltip/pds-tooltip.css +2 -1
- package/dist/collection/components/pds-tooltip/pds-tooltip.js +24 -37
- package/dist/collection/components/pds-tooltip/pds-tooltip.js.map +1 -1
- package/dist/collection/components/pds-tooltip/stories/pds-tooltip.stories.js +15 -15
- package/dist/collection/utils/types.js.map +1 -1
- package/dist/docs.json +1184 -265
- package/dist/esm/{index-786a51ce.js → index-3ca52e8f.js} +4 -3
- package/dist/esm/index-3ca52e8f.js.map +1 -0
- package/dist/esm/{index-94bbabb0.js → index-b1696fed.js} +14 -7
- 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 +8 -6
- package/dist/esm/pds-input.entry.js.map +1 -1
- package/dist/esm/{pds-label-d28da6eb.js → pds-label-62469596.js} +2 -2
- package/dist/esm/{pds-label-d28da6eb.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 +9 -10
- 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 +10 -8
- package/dist/esm/pds-textarea.entry.js.map +1 -1
- package/dist/esm/pds-tooltip.entry.js +5 -8
- package/dist/esm/pds-tooltip.entry.js.map +1 -1
- package/dist/esm/pine-core.js +4 -4
- package/dist/esm/pine-core.js.map +1 -1
- package/dist/esm-es5/index-3ca52e8f.js +2 -0
- package/dist/esm-es5/index-3ca52e8f.js.map +1 -0
- package/dist/esm-es5/index-b1696fed.js +3 -0
- 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-d28da6eb.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/pds-tooltip.entry.js.map +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-284433e0.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-a8cb75f0.system.entry.js → p-08c4f190.system.entry.js} +2 -2
- package/dist/pine-core/{p-bd5de072.system.entry.js → p-09d83447.system.entry.js} +2 -2
- package/dist/pine-core/{p-bd5de072.system.entry.js.map → p-09d83447.system.entry.js.map} +1 -1
- package/dist/pine-core/{p-abe6c2d6.entry.js → p-0ac04129.entry.js} +2 -2
- package/dist/pine-core/{p-abe6c2d6.entry.js.map → p-0ac04129.entry.js.map} +1 -1
- package/dist/pine-core/{p-cd033c2a.entry.js → p-0ff89cf4.entry.js} +2 -2
- package/dist/pine-core/{p-cd033c2a.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-d8eeadd1.system.entry.js → p-172464c1.system.entry.js} +2 -2
- package/dist/pine-core/{p-64c07f01.system.entry.js → p-1a1a76ea.system.entry.js} +2 -2
- package/dist/pine-core/{p-e847089d.system.entry.js → p-1df1990d.system.entry.js} +2 -2
- package/dist/pine-core/p-1e80f274.entry.js +2 -0
- package/dist/pine-core/p-1e80f274.entry.js.map +1 -0
- package/dist/pine-core/{p-3558923a.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-1692ed0c.entry.js → p-3acb18ad.entry.js} +2 -2
- package/dist/pine-core/{p-57d81378.entry.js → p-3e4225fc.entry.js} +2 -2
- package/dist/pine-core/{p-7fb3c253.entry.js → p-3ff2642d.entry.js} +2 -2
- package/dist/pine-core/{p-7fb3c253.entry.js.map → p-3ff2642d.entry.js.map} +1 -1
- package/dist/pine-core/{p-d9611049.system.entry.js → p-4043cf6e.system.entry.js} +2 -2
- package/dist/pine-core/{p-d9611049.system.entry.js.map → p-4043cf6e.system.entry.js.map} +1 -1
- package/dist/pine-core/p-45cf2585.system.js +3 -0
- package/dist/pine-core/p-45cf2585.system.js.map +1 -0
- package/dist/pine-core/{p-03ecf146.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-961f79c5.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-a17dea5e.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-d461bee4.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-85507ca5.system.entry.js → p-5c942465.system.entry.js} +2 -2
- package/dist/pine-core/{p-835c73f4.entry.js → p-624de926.entry.js} +2 -2
- package/dist/pine-core/p-65229490.entry.js +2 -0
- package/dist/pine-core/{p-ffa8e658.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-58a25131.entry.js → p-760e1c32.entry.js} +2 -2
- package/dist/pine-core/{p-58a25131.entry.js.map → p-760e1c32.entry.js.map} +1 -1
- package/dist/pine-core/{p-979ab4e2.system.entry.js → p-81bdf676.system.entry.js} +2 -2
- package/dist/pine-core/{p-8963f07a.entry.js → p-84a4930d.entry.js} +2 -2
- package/dist/pine-core/p-87fe352f.js +3 -0
- package/dist/pine-core/p-87fe352f.js.map +1 -0
- package/dist/pine-core/{p-6e15f0e1.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-d41fbbf0.system.entry.js → p-88edcb41.system.entry.js} +2 -2
- package/dist/pine-core/{p-469a84a3.system.entry.js → p-8ae84655.system.entry.js} +2 -2
- package/dist/pine-core/{p-469a84a3.system.entry.js.map → p-8ae84655.system.entry.js.map} +1 -1
- package/dist/pine-core/{p-90707120.entry.js → p-9487df53.entry.js} +2 -2
- package/dist/pine-core/{p-c5afbc57.entry.js → p-953e6fde.entry.js} +2 -2
- package/dist/pine-core/{p-c5afbc57.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-a2726d3b.system.entry.js +2 -0
- package/dist/pine-core/p-a2726d3b.system.entry.js.map +1 -0
- package/dist/pine-core/{p-95c2a6bf.entry.js → p-a51098dd.entry.js} +2 -2
- package/dist/pine-core/p-a9038f7f.js +2 -0
- package/dist/pine-core/{p-a98f5e91.system.entry.js → p-a9e02a6f.system.entry.js} +2 -2
- package/dist/pine-core/{p-a09284c5.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-ca1fa95e.system.entry.js → p-b7edbe43.system.entry.js} +2 -2
- package/dist/pine-core/{p-366c4924.system.entry.js → p-b95522e6.system.entry.js} +2 -2
- package/dist/pine-core/{p-fe793116.entry.js → p-bbd19258.entry.js} +2 -2
- package/dist/pine-core/{p-d2c98df0.system.entry.js → p-c4aec6ce.system.entry.js} +2 -2
- package/dist/pine-core/{p-d2c98df0.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-852dce9d.system.entry.js → p-ce91ca6a.system.entry.js} +2 -2
- package/dist/pine-core/{p-852dce9d.system.entry.js.map → p-ce91ca6a.system.entry.js.map} +1 -1
- package/dist/pine-core/{p-f79b96ee.entry.js → p-ceb66096.entry.js} +3 -3
- package/dist/pine-core/{p-8930c3b7.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-7c4f8c64.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-bd593d1c.entry.js → p-e2a673e8.entry.js} +2 -2
- package/dist/pine-core/{p-d6873321.system.js → p-e3fab4be.system.js} +2 -2
- package/dist/pine-core/{p-1dccfe1b.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-9b0e5234.entry.js → p-ebdaf3ad.entry.js} +2 -2
- package/dist/pine-core/{p-4b856a95.system.entry.js → p-ece8530d.system.entry.js} +2 -2
- package/dist/pine-core/{p-0c2553c6.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-4b06aed0.system.entry.js → p-f16ef73c.system.entry.js} +2 -2
- package/dist/pine-core/{p-2a4952ea.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.css +1 -1
- 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/bookmark.svg +1 -0
- package/dist/pine-core/svg/expand.svg +1 -1
- package/dist/pine-core/svg/file-add.svg +1 -1
- package/dist/pine-core/svg/layout-grid-02.svg +1 -0
- package/dist/pine-core/svg/user-star-filled.svg +1 -1
- package/dist/pine-core/svg/user-star.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-input/pds-input.d.ts +4 -0
- 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 +11 -19
- package/dist/types/components/pds-text/pds-text.d.ts +27 -0
- package/dist/types/components/pds-textarea/pds-textarea.d.ts +4 -0
- package/dist/types/components/pds-tooltip/pds-tooltip.d.ts +5 -9
- package/dist/types/components.d.ts +419 -81
- package/dist/types/stencil-public-runtime.d.ts +2 -0
- package/dist/types/utils/types.d.ts +1 -1
- package/hydrate/index.js +350 -79
- package/hydrate/index.mjs +350 -79
- package/package.json +13 -10
- package/dist/cjs/index-2240f8f4.js.map +0 -1
- package/dist/cjs/index-d424fb6f.js.map +0 -1
- package/dist/esm/index-786a51ce.js.map +0 -1
- package/dist/esm/index-94bbabb0.js.map +0 -1
- package/dist/esm-es5/index-786a51ce.js +0 -2
- package/dist/esm-es5/index-786a51ce.js.map +0 -1
- package/dist/esm-es5/index-94bbabb0.js +0 -3
- package/dist/esm-es5/index-94bbabb0.js.map +0 -1
- package/dist/pine-core/p-0069affa.entry.js +0 -2
- package/dist/pine-core/p-0069affa.entry.js.map +0 -1
- package/dist/pine-core/p-14d3cdaf.system.js +0 -2
- package/dist/pine-core/p-14d3cdaf.system.js.map +0 -1
- package/dist/pine-core/p-244e264d.system.js +0 -2
- package/dist/pine-core/p-244e264d.system.js.map +0 -1
- package/dist/pine-core/p-2665d555.js +0 -2
- package/dist/pine-core/p-2665d555.js.map +0 -1
- package/dist/pine-core/p-37458cc7.entry.js +0 -2
- package/dist/pine-core/p-37458cc7.entry.js.map +0 -1
- package/dist/pine-core/p-3886e15a.entry.js +0 -2
- package/dist/pine-core/p-3886e15a.entry.js.map +0 -1
- package/dist/pine-core/p-496454a3.system.js +0 -2
- package/dist/pine-core/p-4fcf94ee.system.entry.js +0 -2
- package/dist/pine-core/p-4fcf94ee.system.entry.js.map +0 -1
- package/dist/pine-core/p-59cc888d.entry.js +0 -2
- package/dist/pine-core/p-72ee760e.entry.js +0 -2
- package/dist/pine-core/p-72ee760e.entry.js.map +0 -1
- package/dist/pine-core/p-77c5fe7b.entry.js +0 -2
- package/dist/pine-core/p-77c5fe7b.entry.js.map +0 -1
- package/dist/pine-core/p-7841bd18.js +0 -3
- package/dist/pine-core/p-7841bd18.js.map +0 -1
- package/dist/pine-core/p-7c79ff32.system.entry.js +0 -2
- package/dist/pine-core/p-7c79ff32.system.entry.js.map +0 -1
- package/dist/pine-core/p-91cba446.system.entry.js +0 -2
- package/dist/pine-core/p-91cba446.system.entry.js.map +0 -1
- package/dist/pine-core/p-a09284c5.entry.js.map +0 -1
- package/dist/pine-core/p-b54e35d2.system.entry.js +0 -2
- package/dist/pine-core/p-b54e35d2.system.entry.js.map +0 -1
- package/dist/pine-core/p-bb88538f.system.entry.js +0 -2
- package/dist/pine-core/p-bb88538f.system.entry.js.map +0 -1
- package/dist/pine-core/p-bc1ecf2f.js +0 -2
- package/dist/pine-core/p-c6bee7a0.system.js +0 -3
- package/dist/pine-core/p-c6bee7a0.system.js.map +0 -1
- package/dist/pine-core/p-d3eeb6f0.system.entry.js +0 -2
- package/dist/pine-core/p-d3eeb6f0.system.entry.js.map +0 -1
- package/dist/pine-core/p-dbc5775f.entry.js +0 -2
- package/dist/pine-core/p-dbc5775f.entry.js.map +0 -1
- package/dist/pine-core/p-ea27b026.system.entry.js +0 -2
- package/dist/pine-core/p-ea27b026.system.entry.js.map +0 -1
- /package/dist/esm-es5/{pds-label-d28da6eb.js.map → pds-label-62469596.js.map} +0 -0
- /package/dist/pine-core/{p-284433e0.entry.js.map → p-00cccccb.entry.js.map} +0 -0
- /package/dist/pine-core/{p-a8cb75f0.system.entry.js.map → p-08c4f190.system.entry.js.map} +0 -0
- /package/dist/pine-core/{p-d8eeadd1.system.entry.js.map → p-172464c1.system.entry.js.map} +0 -0
- /package/dist/pine-core/{p-64c07f01.system.entry.js.map → p-1a1a76ea.system.entry.js.map} +0 -0
- /package/dist/pine-core/{p-e847089d.system.entry.js.map → p-1df1990d.system.entry.js.map} +0 -0
- /package/dist/pine-core/{p-3558923a.entry.js.map → p-239891e6.entry.js.map} +0 -0
- /package/dist/pine-core/{p-1692ed0c.entry.js.map → p-3acb18ad.entry.js.map} +0 -0
- /package/dist/pine-core/{p-57d81378.entry.js.map → p-3e4225fc.entry.js.map} +0 -0
- /package/dist/pine-core/{p-03ecf146.entry.js.map → p-4d22b02c.entry.js.map} +0 -0
- /package/dist/pine-core/{p-961f79c5.system.entry.js.map → p-50918693.system.entry.js.map} +0 -0
- /package/dist/pine-core/{p-a17dea5e.system.entry.js.map → p-59327483.system.entry.js.map} +0 -0
- /package/dist/pine-core/{p-d461bee4.entry.js.map → p-59fcea0f.entry.js.map} +0 -0
- /package/dist/pine-core/{p-85507ca5.system.entry.js.map → p-5c942465.system.entry.js.map} +0 -0
- /package/dist/pine-core/{p-835c73f4.entry.js.map → p-624de926.entry.js.map} +0 -0
- /package/dist/pine-core/{p-59cc888d.entry.js.map → p-65229490.entry.js.map} +0 -0
- /package/dist/pine-core/{p-ffa8e658.entry.js.map → p-6e079be2.entry.js.map} +0 -0
- /package/dist/pine-core/{p-979ab4e2.system.entry.js.map → p-81bdf676.system.entry.js.map} +0 -0
- /package/dist/pine-core/{p-8963f07a.entry.js.map → p-84a4930d.entry.js.map} +0 -0
- /package/dist/pine-core/{p-6e15f0e1.entry.js.map → p-88410213.entry.js.map} +0 -0
- /package/dist/pine-core/{p-d41fbbf0.system.entry.js.map → p-88edcb41.system.entry.js.map} +0 -0
- /package/dist/pine-core/{p-90707120.entry.js.map → p-9487df53.entry.js.map} +0 -0
- /package/dist/pine-core/{p-95c2a6bf.entry.js.map → p-a51098dd.entry.js.map} +0 -0
- /package/dist/pine-core/{p-bc1ecf2f.js.map → p-a9038f7f.js.map} +0 -0
- /package/dist/pine-core/{p-a98f5e91.system.entry.js.map → p-a9e02a6f.system.entry.js.map} +0 -0
- /package/dist/pine-core/{p-ca1fa95e.system.entry.js.map → p-b7edbe43.system.entry.js.map} +0 -0
- /package/dist/pine-core/{p-366c4924.system.entry.js.map → p-b95522e6.system.entry.js.map} +0 -0
- /package/dist/pine-core/{p-fe793116.entry.js.map → p-bbd19258.entry.js.map} +0 -0
- /package/dist/pine-core/{p-f79b96ee.entry.js.map → p-ceb66096.entry.js.map} +0 -0
- /package/dist/pine-core/{p-8930c3b7.system.entry.js.map → p-d3365f49.system.entry.js.map} +0 -0
- /package/dist/pine-core/{p-7c4f8c64.entry.js.map → p-d6d8a21a.entry.js.map} +0 -0
- /package/dist/pine-core/{p-496454a3.system.js.map → p-db622f8f.system.js.map} +0 -0
- /package/dist/pine-core/{p-bd593d1c.entry.js.map → p-e2a673e8.entry.js.map} +0 -0
- /package/dist/pine-core/{p-d6873321.system.js.map → p-e3fab4be.system.js.map} +0 -0
- /package/dist/pine-core/{p-1dccfe1b.system.entry.js.map → p-e64594ae.system.entry.js.map} +0 -0
- /package/dist/pine-core/{p-9b0e5234.entry.js.map → p-ebdaf3ad.entry.js.map} +0 -0
- /package/dist/pine-core/{p-4b856a95.system.entry.js.map → p-ece8530d.system.entry.js.map} +0 -0
- /package/dist/pine-core/{p-0c2553c6.system.entry.js.map → p-ee21fa25.system.entry.js.map} +0 -0
- /package/dist/pine-core/{p-4b06aed0.system.entry.js.map → p-f16ef73c.system.entry.js.map} +0 -0
- /package/dist/pine-core/{p-2a4952ea.system.entry.js.map → p-f9719887.system.entry.js.map} +0 -0
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { proxyCustomElement, HTMLElement, h, Host } from '@stencil/core/internal/client';
|
|
2
|
-
import {
|
|
1
|
+
import { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/core/internal/client';
|
|
2
|
+
import { e as caretDown } from './index2.js';
|
|
3
3
|
import { d as defineCustomElement$1 } from './pds-icon2.js';
|
|
4
4
|
|
|
5
5
|
const hasShadowDom = (el) => {
|
|
@@ -17,6 +17,7 @@ const PdsButton = /*@__PURE__*/ proxyCustomElement(class PdsButton extends HTMLE
|
|
|
17
17
|
super();
|
|
18
18
|
this.__registerHost();
|
|
19
19
|
this.__attachShadow();
|
|
20
|
+
this.pdsClick = createEvent(this, "pdsClick", 7);
|
|
20
21
|
this.handleClick = (ev) => {
|
|
21
22
|
if (this.type != 'button') {
|
|
22
23
|
// If button clicked IS NOT associated with a form
|
|
@@ -33,6 +34,7 @@ const PdsButton = /*@__PURE__*/ proxyCustomElement(class PdsButton extends HTMLE
|
|
|
33
34
|
}
|
|
34
35
|
}
|
|
35
36
|
}
|
|
37
|
+
this.pdsClick.emit(ev);
|
|
36
38
|
};
|
|
37
39
|
this.componentId = undefined;
|
|
38
40
|
this.disabled = false;
|
|
@@ -50,7 +52,7 @@ const PdsButton = /*@__PURE__*/ proxyCustomElement(class PdsButton extends HTMLE
|
|
|
50
52
|
return classNames.join(' ');
|
|
51
53
|
}
|
|
52
54
|
render() {
|
|
53
|
-
return (h(Host, { key: '
|
|
55
|
+
return (h(Host, { key: '0145b50d5286d1368b6e458bb33feaed78026d7e', "aria-disabled": this.disabled ? 'true' : null, id: this.componentId, onClick: this.handleClick, variant: this.variant }, h("button", { key: '370b57a448aca541d41cd35651a3aa8cf04c8171', class: this.classNames(), disabled: this.disabled, name: this.name, part: "button", type: this.type, value: this.value }, this.icon && this.variant !== 'disclosure' && h("pds-icon", { key: '7b8820f5df1f16121758b4950ae507d245f84a75', name: this.icon, part: "icon" }), h("slot", { key: 'b4b2ed9a9ed85eb9a0c5c800340ba1572ecece00' }), this.variant === 'disclosure' && h("pds-icon", { key: '11a68b1153534dcd2ec67ed4bb4e6884b9d438cd', icon: caretDown, part: "caret" }))));
|
|
54
56
|
}
|
|
55
57
|
get el() { return this; }
|
|
56
58
|
static get style() { return PdsButtonStyle0 + PdsButtonStyle1; }
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"pds-button2.js","mappings":";;;;AAIO,MAAM,YAAY,GAAG,CAAC,EAAe;IAC1C,OAAO,CAAC,CAAC,EAAE,CAAC,UAAU,IAAI,CAAC,CAAE,EAAU,CAAC,YAAY,CAAA;AACtD,CAAC;;ACND,MAAM,OAAO,GAAG,wrDAAwrD,CAAC;AACzsD,wBAAe,OAAO;;ACDtB,MAAM,YAAY,GAAG,87LAA87L,CAAC;AACp9L,wBAAe,YAAY;;MCed,SAAS;;;;;QAwCZ,gBAAW,GAAG,CAAC,EAAS;YAC9B,IAAI,IAAI,CAAC,IAAI,IAAI,QAAQ,EAAE;;gBAEzB,IAAI,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE;oBACzB,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;oBACpC,IAAI,IAAI,EAAE;wBACR,EAAE,CAAC,cAAc,EAAE,CAAA;wBAEnB,MAAM,UAAU,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAA;wBACnD,UAAU,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAA;wBAC3B,UAAU,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAA;wBACjC,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAA;wBAC5B,UAAU,CAAC,KAAK,EAAE,CAAA;wBAClB,UAAU,CAAC,MAAM,EAAE,CAAA;qBACpB;iBACF;aACF;SACF,CAAA;;wBA7CmB,KAAK;oBAKD,IAAI;;;oBAgBmB,QAAQ;uBAK2C,SAAS;;IAqBnG,UAAU;QAChB,MAAM,UAAU,GAAG,CAAC,YAAY,CAAC,CAAC;QAElC,IAAI,IAAI,CAAC,OAAO,EAAE;YAChB,UAAU,CAAC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC;SAChD;QAED,OAAO,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KAC9B;IAED,MAAM;QACJ,QACE,EAAC,IAAI,sEACY,IAAI,CAAC,QAAQ,GAAG,MAAM,GAAG,IAAI,EAC5C,EAAE,EAAE,IAAI,CAAC,WAAW,EACpB,OAAO,EAAE,IAAI,CAAC,WAAW,EACzB,OAAO,EAAE,IAAI,CAAC,OAAO,IAErB,+DACE,KAAK,EAAE,IAAI,CAAC,UAAU,EAAE,EACxB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,IAAI,EAAC,QAAQ,EACb,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,KAAK,EAAE,IAAI,CAAC,KAAK,IAEhB,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,KAAK,YAAY,IAAI,iEAAU,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAC,MAAM,GAAY,EACjG,8DAAQ,EACP,IAAI,CAAC,OAAO,KAAK,YAAY,IAAI,iEAAU,IAAI,EAAE,SAAS,EAAE,IAAI,EAAC,OAAO,GAAY,CAC9E,CACJ,EACP;KACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":[],"sources":["src/utils/utils.ts","src/global/styles/base.scss?tag=pds-button&encapsulation=shadow","src/components/pds-button/pds-button.scss?tag=pds-button&encapsulation=shadow","src/components/pds-button/pds-button.tsx"],"sourcesContent":["export function format(first: string, middle: string, last: string): string {\n return (first || '') + (middle ? ` ${middle}` : '') + (last ? ` ${last}` : '');\n}\n\nexport const hasShadowDom = (el: HTMLElement) => {\n return !!el.shadowRoot && !!(el as any).attachShadow\n}\n","// TODO: replace core tokens with semantic\n// Heading color + outline\n\n/*\n Josh's Custom CSS Reset\n https://www.joshwcomeau.com/css/custom-css-reset/\n*/\n:where(*:not(slot), *:not(slot)::before, *:not(slot)::after) {\n box-sizing: border-box;\n}\n\n:where(*:not(slot)) {\n margin: 0;\n}\n\n:where(img, picture, video, canvas, svg) {\n display: block;\n max-width: 100%;\n}\n\n:where(input, button, textarea, select) {\n font: inherit;\n}\n\n:where(p, h1, h2, h3, h4, h5, h6) {\n overflow-wrap: break-word;\n}\n\n/*\n Additional Reset Styles\n*/\n:where(a:not([href]):not([class])) {\n color: currentColor;\n text-decoration: none;\n}\n\n:where(a:not([href]):not([class]):hover) {\n color: currentColor;\n text-decoration: none;\n}\n\n:where(ul[role='list'], ol[role='list']) {\n list-style: none;\n}\n\n:where(table) {\n border-collapse: collapse;\n border-spacing: 0;\n}\n\n/*\n Mercury Base Styles\n*/\n// Typography\n:where(*:not(slot)) {\n font: var(--pine-typography-body-md-default);\n letter-spacing: var(--pine-letter-spacing-body-md);\n}\n\n:where(h1, h2, h3, h4, h5, h6) {\n font-family: var(--pine-font-family-heading);\n color: var(--pine-color-grey-950);\n}\n\n:where(h1) {\n font: var(--pine-typography-heading-h1);\n letter-spacing: var(--pine-letter-spacing-heading-h1);\n}\n\n:where(h2) {\n font: var(--pine-typography-heading-h2);\n letter-spacing: var(--pine-letter-spacing-heading-h2);\n}\n\n:where(h3) {\n font: var(--pine-typography-heading-h3);\n letter-spacing: var(--pine-letter-spacing-heading-h3);\n}\n\n:where(h4) {\n font: var(--pine-typography-heading-h4);\n letter-spacing: var(--pine-letter-spacing-heading-h4);\n}\n\n:where(h5) {\n font: var(--pine-typography-heading-h5);\n letter-spacing: var(--pine-letter-spacing-heading-h5);\n}\n\n:where(h6) {\n font: var(--pine-typography-heading-h6);\n letter-spacing: var(--pine-letter-spacing-heading-h6);\n}\n\n:where(div, label, p, span) {\n color: var(--pine-color-text-default);\n}\n\n:where(code, kbd, pre, samp) {\n font-family: monospace;\n}\n\n// Accessibility\n:where([role=\"button\"]) {\n cursor: pointer;\n}\n\n:where(:focus) {\n outline: 0;\n}\n\n:where(:focus-visible) {\n outline: var(--pine-border-width-thick) solid var(--pine-color-purple-500);\n}\n\n// Misc.\n:where([hidden]) {\n display: none !important;\n}\n",":host {\n --border-radius-default: var(--pine-border-radius-round);\n\n --border-width-default: var(--pine-border-width-thin);\n --border-width-unstyled: var(--pine-border-radius-0);\n\n --color-border-default: transparent;\n --color-border-disabled: transparent;\n --color-border-focus: transparent;\n --color-border-hover: transparent;\n\n // primary\n --color-background-primary-default: var(--pine-color-grey-900);\n --color-background-primary-disabled: var(--pine-color-grey-100);\n --color-background-primary-hover: var(--pine-color-grey-950);\n --color-text-primary-default: var(--pine-color-white);\n --color-text-primary-disabled: var(--pine-color-grey-400);\n --color-outline-primary: var(--pine-color-purple-300);\n\n // secondary\n --color-background-secondary-hover: var(--pine-color-grey-050);\n --color-border-secondary-default: var(--pine-color-grey-400);\n --color-border-secondary-disabled: var(--pine-color-grey-300);\n --color-border-secondary-focus: var(--pine-color-grey-300);\n --color-border-secondary-hover: var(--pine-color-grey-500);\n --color-text-secondary-default: var(--pine-color-grey-800);\n --color-text-secondary-disabled: var(--pine-color-grey-400);\n --color-outline-secondary: var(--pine-color-purple-300);\n\n // accent\n --color-background-accent-default: var(--pine-color-purple-500);\n --color-background-accent-disabled: var(--pine-color-purple-100);\n --color-background-accent-hover: var(--pine-color-purple-600);\n --color-text-accent-default: var(--pine-color-white);\n --color-text-accent-disabled: var(--pine-color-purple-300);\n --color-outline-accent: var(--pine-color-purple-300);\n\n // destructive\n --color-background-destructive-default: var(--pine-color-red-500);\n --color-background-destructive-disabled: var(--pine-color-red-100);\n --color-background-destructive-hover: var(--pine-color-red-600);\n --color-text-destructive-default: var(--pine-color-white);\n --color-text-destructive-disabled: var(--pine-color-red-300);\n --color-outline-destructive: var(--pine-color-red-300);\n\n --spacing-disclosure-icon-margin-inline-end: var(--pine-spacing-0);\n --spacing-disclosure-margin-inline-start: var(--pine-spacing-100);\n --spacing-icon-margin-inline-end: var(--pine-spacing-100);\n --spacing-padding-block: var(--pine-spacing-100);\n --spacing-padding-inline: var(--pine-spacing-200);\n --spacing-unstyled: var(--pine-spacing-0);\n\n --typography-default: var(--pine-font-weight-body-medium) var(--pine-font-size-100)/var(--pine-line-height-150) var(--pine-font-family-greet);\n\n display: inline-flex;\n vertical-align: middle;\n}\n\n.pds-button {\n align-items: center;\n background-color: var(--color-background-default);\n border: var(--border-width-default) solid var(--color-border-default);\n border-radius: var(--pine-border-radius-circle);\n color: var(--color-text-default);\n display: flex;\n font: var(--typography-default);\n min-height: 40px;\n padding: var(--spacing-padding-block) var(--spacing-padding-inline);\n\n pds-icon {\n color: currentColor;\n fill: currentColor;\n margin-inline-end: var(--spacing-icon-margin-inline-end);\n }\n\n &:hover {\n background-color: var(--color-background-hover);\n border-color: var(--color-border-hover);\n }\n\n &:focus-visible {\n --box-shadow-focus: 0 0 0 1px #ffffff, 0 0 0 3px var(--pine-color-purple-300);\n border-color: var(--color-border-focus);\n // outline: var(--pine-border-focus); Border radius for outline does not work in Safari\n box-shadow: var(--box-shadow-focus); // Remove when outline radius is supported in Safari\n outline: none;\n }\n\n &:disabled {\n background-color: var(--color-background-disabled);\n border-color: var(--color-border-disabled);\n color: var(--color-text-disabled);\n }\n}\n\n.pds-button--primary {\n --color-background-default: var(--color-background-primary-default);\n --color-background-hover: var(--color-background-primary-hover);\n --color-background-disabled: var(--color-background-primary-disabled);\n --color-text-default: var(--color-text-primary-default);\n --color-text-disabled: var(--color-text-primary-disabled);\n --color-outline: var(--color-outline-primary);\n}\n\n.pds-button--accent {\n --color-background-default: var(--color-background-accent-default);\n --color-background-hover: var(--color-background-accent-hover);\n --color-background-disabled: var(--color-background-accent-disabled);\n --color-text-default: var(--color-text-accent-default);\n --color-text-disabled: var(--color-text-accent-disabled);\n --color-outline: var(--color-outline-accent);\n}\n\n.pds-button--destructive {\n --color-background-default: var(--color-background-destructive-default);\n --color-background-hover: var(--color-background-destructive-hover);\n --color-background-disabled: var(--color-background-destructive-disabled);\n --color-text-default: var(--color-text-destructive-default);\n --color-text-disabled: var(--color-text-destructive-disabled);\n --color-outline: var(--color-outline-destructive);\n\n &:focus-visible {\n --box-shadow-focus: 0 0 0 1px #ffffff, 0 0 0 3px var(--color-background-destructive-default);\n box-shadow: var(--box-shadow-focus); // Remove when outline radius is supported in Safari\n outline: none;\n }\n}\n\n.pds-button--secondary,\n.pds-button--disclosure {\n --color-background-default: transparent;\n --color-background-hover: transparent;\n --color-background-disabled: transparent;\n --color-border-disabled: var(--color-border-secondary-disabled);\n --color-border-focus: var(--color-border-secondary-focus);\n --color-border-hover: var(--color-border-secondary-hover);\n --color-border-default: var(--color-border-secondary-default);\n --color-text-default: var(--color-text-secondary-default);\n --color-text-disabled: var(--color-text-secondary-disabled);\n --color-outline: var(--color-outline-secondary);\n\n &:hover {\n background-color: var(--color-background-secondary-hover);\n }\n}\n\n.pds-button--disclosure {\n pds-icon {\n margin-inline-end: var(--spacing-disclosure-icon-margin-inline-end);\n margin-inline-start: var(--spacing-disclosure-margin-inline-start);\n }\n}\n\n.pds-button--unstyled {\n --color-background-default: transparent;\n --color-background-hover: transparent;\n --color-background-disabled: transparent;\n --color-text-default: inherit;\n border: var(--border-width-unstyled);\n margin: var(--spacing-unstyled);\n min-height: auto;\n padding: var(--spacing-unstyled);\n width: inherit;\n}\n","import { Component, Element, Host, h, Prop } from '@stencil/core';\nimport { hasShadowDom } from '../../utils/utils';\n\nimport { caretDown } from '@pine-ds/icons/icons';\n\n/**\n * @part button - The main button element that represents the button component.\n * @part caret - The caret icon element that appears when the button variant is 'disclosure'.\n * @part icon - The icon element that appears before the text in the button, if provided.\n*/\n\n@Component({\n tag: 'pds-button',\n styleUrls: ['../../global/styles/base.scss', 'pds-button.scss'],\n shadow: true,\n})\nexport class PdsButton {\n @Element() el: HTMLPdsButtonElement;\n\n /**\n * A unique identifier used for the underlying component `id` attribute.\n */\n @Prop() componentId: string;\n\n /**\n * Toggles disabled state of button\n * @defaultValue false\n */\n @Prop() disabled? = false;\n\n /**\n * Displays icon before text when icon string matches an icon name\n */\n @Prop() icon?: string = null;\n\n /**\n * Provides button with a submittable name\n */\n @Prop() name?: string;\n\n /**\n * Provides button with a submittable value\n */\n @Prop() value?: string;\n\n /**\n * Provides button with a type\n * @defaultValue button\n */\n @Prop() type?: 'button' | 'reset' | 'submit' = 'button';\n\n /**\n * Sets button variant styles as outlined in Figma documentation\n */\n @Prop() variant: 'primary' | 'secondary' | 'accent' | 'disclosure' | 'destructive' | 'unstyled' = 'primary';\n\n private handleClick = (ev: Event) => {\n if (this.type != 'button') {\n // If button clicked IS NOT associated with a form\n if (hasShadowDom(this.el)) {\n const form = this.el.closest('form')\n if (form) {\n ev.preventDefault()\n\n const fakeButton = document.createElement('button')\n fakeButton.type = this.type\n fakeButton.style.display = 'none'\n form.appendChild(fakeButton)\n fakeButton.click()\n fakeButton.remove()\n }\n }\n }\n }\n\n private classNames() {\n const classNames = ['pds-button'];\n\n if (this.variant) {\n classNames.push('pds-button--' + this.variant);\n }\n\n return classNames.join(' ');\n }\n\n render() {\n return (\n <Host\n aria-disabled={this.disabled ? 'true' : null}\n id={this.componentId}\n onClick={this.handleClick}\n variant={this.variant}\n >\n <button\n class={this.classNames()}\n disabled={this.disabled}\n name={this.name}\n part=\"button\"\n type={this.type}\n value={this.value}\n >\n {this.icon && this.variant !== 'disclosure' && <pds-icon name={this.icon} part=\"icon\"></pds-icon>}\n <slot />\n {this.variant === 'disclosure' && <pds-icon icon={caretDown} part=\"caret\"></pds-icon>}\n </button>\n </Host>\n );\n }\n}\n"],"version":3}
|
|
1
|
+
{"file":"pds-button2.js","mappings":";;;;AAIO,MAAM,YAAY,GAAG,CAAC,EAAe;IAC1C,OAAO,CAAC,CAAC,EAAE,CAAC,UAAU,IAAI,CAAC,CAAE,EAAU,CAAC,YAAY,CAAA;AACtD,CAAC;;ACND,MAAM,OAAO,GAAG,wrDAAwrD,CAAC;AACzsD,wBAAe,OAAO;;ACDtB,MAAM,YAAY,GAAG,87LAA87L,CAAC;AACp9L,wBAAe,YAAY;;MCed,SAAS;;;;;;QA0CZ,gBAAW,GAAG,CAAC,EAAS;YAC9B,IAAI,IAAI,CAAC,IAAI,IAAI,QAAQ,EAAE;;gBAEzB,IAAI,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE;oBACzB,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;oBACpC,IAAI,IAAI,EAAE;wBACR,EAAE,CAAC,cAAc,EAAE,CAAA;wBAEnB,MAAM,UAAU,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAA;wBACnD,UAAU,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAA;wBAC3B,UAAU,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAA;wBACjC,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAA;wBAC5B,UAAU,CAAC,KAAK,EAAE,CAAA;wBAClB,UAAU,CAAC,MAAM,EAAE,CAAA;qBACpB;iBACF;aACF;YACD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;SACxB,CAAA;;wBAhDmB,KAAK;oBAKD,IAAI;;;oBAgBmB,QAAQ;uBAK2C,SAAS;;IAwBnG,UAAU;QAChB,MAAM,UAAU,GAAG,CAAC,YAAY,CAAC,CAAC;QAElC,IAAI,IAAI,CAAC,OAAO,EAAE;YAChB,UAAU,CAAC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC;SAChD;QAED,OAAO,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KAC9B;IAED,MAAM;QACJ,QACE,EAAC,IAAI,sEACY,IAAI,CAAC,QAAQ,GAAG,MAAM,GAAG,IAAI,EAC5C,EAAE,EAAE,IAAI,CAAC,WAAW,EACpB,OAAO,EAAE,IAAI,CAAC,WAAW,EACzB,OAAO,EAAE,IAAI,CAAC,OAAO,IAErB,+DACE,KAAK,EAAE,IAAI,CAAC,UAAU,EAAE,EACxB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,IAAI,EAAC,QAAQ,EACb,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,KAAK,EAAE,IAAI,CAAC,KAAK,IAEhB,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,KAAK,YAAY,IAAI,iEAAU,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAC,MAAM,GAAY,EACjG,8DAAQ,EACP,IAAI,CAAC,OAAO,KAAK,YAAY,IAAI,iEAAU,IAAI,EAAE,SAAS,EAAE,IAAI,EAAC,OAAO,GAAY,CAC9E,CACJ,EACP;KACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":[],"sources":["src/utils/utils.ts","src/global/styles/base.scss?tag=pds-button&encapsulation=shadow","src/components/pds-button/pds-button.scss?tag=pds-button&encapsulation=shadow","src/components/pds-button/pds-button.tsx"],"sourcesContent":["export function format(first: string, middle: string, last: string): string {\n return (first || '') + (middle ? ` ${middle}` : '') + (last ? ` ${last}` : '');\n}\n\nexport const hasShadowDom = (el: HTMLElement) => {\n return !!el.shadowRoot && !!(el as any).attachShadow\n}\n","// TODO: replace core tokens with semantic\n// Heading color + outline\n\n/*\n Josh's Custom CSS Reset\n https://www.joshwcomeau.com/css/custom-css-reset/\n*/\n:where(*:not(slot), *:not(slot)::before, *:not(slot)::after) {\n box-sizing: border-box;\n}\n\n:where(*:not(slot)) {\n margin: 0;\n}\n\n:where(img, picture, video, canvas, svg) {\n display: block;\n max-width: 100%;\n}\n\n:where(input, button, textarea, select) {\n font: inherit;\n}\n\n:where(p, h1, h2, h3, h4, h5, h6) {\n overflow-wrap: break-word;\n}\n\n/*\n Additional Reset Styles\n*/\n:where(a:not([href]):not([class])) {\n color: currentColor;\n text-decoration: none;\n}\n\n:where(a:not([href]):not([class]):hover) {\n color: currentColor;\n text-decoration: none;\n}\n\n:where(ul[role='list'], ol[role='list']) {\n list-style: none;\n}\n\n:where(table) {\n border-collapse: collapse;\n border-spacing: 0;\n}\n\n/*\n Mercury Base Styles\n*/\n// Typography\n:where(*:not(slot)) {\n font: var(--pine-typography-body-md-default);\n letter-spacing: var(--pine-letter-spacing-body-md);\n}\n\n:where(h1, h2, h3, h4, h5, h6) {\n font-family: var(--pine-font-family-heading);\n color: var(--pine-color-grey-950);\n}\n\n:where(h1) {\n font: var(--pine-typography-heading-h1);\n letter-spacing: var(--pine-letter-spacing-heading-h1);\n}\n\n:where(h2) {\n font: var(--pine-typography-heading-h2);\n letter-spacing: var(--pine-letter-spacing-heading-h2);\n}\n\n:where(h3) {\n font: var(--pine-typography-heading-h3);\n letter-spacing: var(--pine-letter-spacing-heading-h3);\n}\n\n:where(h4) {\n font: var(--pine-typography-heading-h4);\n letter-spacing: var(--pine-letter-spacing-heading-h4);\n}\n\n:where(h5) {\n font: var(--pine-typography-heading-h5);\n letter-spacing: var(--pine-letter-spacing-heading-h5);\n}\n\n:where(h6) {\n font: var(--pine-typography-heading-h6);\n letter-spacing: var(--pine-letter-spacing-heading-h6);\n}\n\n:where(div, label, p, span) {\n color: var(--pine-color-text-default);\n}\n\n:where(code, kbd, pre, samp) {\n font-family: monospace;\n}\n\n// Accessibility\n:where([role=\"button\"]) {\n cursor: pointer;\n}\n\n:where(:focus) {\n outline: 0;\n}\n\n:where(:focus-visible) {\n outline: var(--pine-border-width-thick) solid var(--pine-color-purple-500);\n}\n\n// Misc.\n:where([hidden]) {\n display: none !important;\n}\n",":host {\n --border-radius-default: var(--pine-border-radius-round);\n\n --border-width-default: var(--pine-border-width-thin);\n --border-width-unstyled: var(--pine-border-radius-0);\n\n --color-border-default: transparent;\n --color-border-disabled: transparent;\n --color-border-focus: transparent;\n --color-border-hover: transparent;\n\n // primary\n --color-background-primary-default: var(--pine-color-grey-900);\n --color-background-primary-disabled: var(--pine-color-grey-100);\n --color-background-primary-hover: var(--pine-color-grey-950);\n --color-text-primary-default: var(--pine-color-white);\n --color-text-primary-disabled: var(--pine-color-grey-400);\n --color-outline-primary: var(--pine-color-purple-300);\n\n // secondary\n --color-background-secondary-hover: var(--pine-color-grey-050);\n --color-border-secondary-default: var(--pine-color-grey-400);\n --color-border-secondary-disabled: var(--pine-color-grey-300);\n --color-border-secondary-focus: var(--pine-color-grey-300);\n --color-border-secondary-hover: var(--pine-color-grey-500);\n --color-text-secondary-default: var(--pine-color-grey-800);\n --color-text-secondary-disabled: var(--pine-color-grey-400);\n --color-outline-secondary: var(--pine-color-purple-300);\n\n // accent\n --color-background-accent-default: var(--pine-color-purple-500);\n --color-background-accent-disabled: var(--pine-color-purple-100);\n --color-background-accent-hover: var(--pine-color-purple-600);\n --color-text-accent-default: var(--pine-color-white);\n --color-text-accent-disabled: var(--pine-color-purple-300);\n --color-outline-accent: var(--pine-color-purple-300);\n\n // destructive\n --color-background-destructive-default: var(--pine-color-red-500);\n --color-background-destructive-disabled: var(--pine-color-red-100);\n --color-background-destructive-hover: var(--pine-color-red-600);\n --color-text-destructive-default: var(--pine-color-white);\n --color-text-destructive-disabled: var(--pine-color-red-300);\n --color-outline-destructive: var(--pine-color-red-300);\n\n --spacing-disclosure-icon-margin-inline-end: var(--pine-spacing-0);\n --spacing-disclosure-margin-inline-start: var(--pine-spacing-100);\n --spacing-icon-margin-inline-end: var(--pine-spacing-100);\n --spacing-padding-block: var(--pine-spacing-100);\n --spacing-padding-inline: var(--pine-spacing-200);\n --spacing-unstyled: var(--pine-spacing-0);\n\n --typography-default: var(--pine-font-weight-body-medium) var(--pine-font-size-100)/var(--pine-line-height-150) var(--pine-font-family-greet);\n\n display: inline-flex;\n vertical-align: middle;\n}\n\n.pds-button {\n align-items: center;\n background-color: var(--color-background-default);\n border: var(--border-width-default) solid var(--color-border-default);\n border-radius: var(--pine-border-radius-circle);\n color: var(--color-text-default);\n display: flex;\n font: var(--typography-default);\n min-height: 40px;\n padding: var(--spacing-padding-block) var(--spacing-padding-inline);\n\n pds-icon {\n color: currentColor;\n fill: currentColor;\n margin-inline-end: var(--spacing-icon-margin-inline-end);\n }\n\n &:hover {\n background-color: var(--color-background-hover);\n border-color: var(--color-border-hover);\n }\n\n &:focus-visible {\n --box-shadow-focus: 0 0 0 1px #ffffff, 0 0 0 3px var(--pine-color-purple-300);\n border-color: var(--color-border-focus);\n // outline: var(--pine-border-focus); Border radius for outline does not work in Safari\n box-shadow: var(--box-shadow-focus); // Remove when outline radius is supported in Safari\n outline: none;\n }\n\n &:disabled {\n background-color: var(--color-background-disabled);\n border-color: var(--color-border-disabled);\n color: var(--color-text-disabled);\n }\n}\n\n.pds-button--primary {\n --color-background-default: var(--color-background-primary-default);\n --color-background-hover: var(--color-background-primary-hover);\n --color-background-disabled: var(--color-background-primary-disabled);\n --color-text-default: var(--color-text-primary-default);\n --color-text-disabled: var(--color-text-primary-disabled);\n --color-outline: var(--color-outline-primary);\n}\n\n.pds-button--accent {\n --color-background-default: var(--color-background-accent-default);\n --color-background-hover: var(--color-background-accent-hover);\n --color-background-disabled: var(--color-background-accent-disabled);\n --color-text-default: var(--color-text-accent-default);\n --color-text-disabled: var(--color-text-accent-disabled);\n --color-outline: var(--color-outline-accent);\n}\n\n.pds-button--destructive {\n --color-background-default: var(--color-background-destructive-default);\n --color-background-hover: var(--color-background-destructive-hover);\n --color-background-disabled: var(--color-background-destructive-disabled);\n --color-text-default: var(--color-text-destructive-default);\n --color-text-disabled: var(--color-text-destructive-disabled);\n --color-outline: var(--color-outline-destructive);\n\n &:focus-visible {\n --box-shadow-focus: 0 0 0 1px #ffffff, 0 0 0 3px var(--color-background-destructive-default);\n box-shadow: var(--box-shadow-focus); // Remove when outline radius is supported in Safari\n outline: none;\n }\n}\n\n.pds-button--secondary,\n.pds-button--disclosure {\n --color-background-default: transparent;\n --color-background-hover: transparent;\n --color-background-disabled: transparent;\n --color-border-disabled: var(--color-border-secondary-disabled);\n --color-border-focus: var(--color-border-secondary-focus);\n --color-border-hover: var(--color-border-secondary-hover);\n --color-border-default: var(--color-border-secondary-default);\n --color-text-default: var(--color-text-secondary-default);\n --color-text-disabled: var(--color-text-secondary-disabled);\n --color-outline: var(--color-outline-secondary);\n\n &:hover {\n background-color: var(--color-background-secondary-hover);\n }\n}\n\n.pds-button--disclosure {\n pds-icon {\n margin-inline-end: var(--spacing-disclosure-icon-margin-inline-end);\n margin-inline-start: var(--spacing-disclosure-margin-inline-start);\n }\n}\n\n.pds-button--unstyled {\n --color-background-default: transparent;\n --color-background-hover: transparent;\n --color-background-disabled: transparent;\n --color-text-default: inherit;\n border: var(--border-width-unstyled);\n margin: var(--spacing-unstyled);\n min-height: auto;\n padding: var(--spacing-unstyled);\n width: inherit;\n}\n","import { Component, Element, Event, EventEmitter, Host, h, Prop } from '@stencil/core';\nimport { hasShadowDom } from '../../utils/utils';\n\nimport { caretDown } from '@pine-ds/icons/icons';\n\n/**\n * @part button - The main button element that represents the button component.\n * @part caret - The caret icon element that appears when the button variant is 'disclosure'.\n * @part icon - The icon element that appears before the text in the button, if provided.\n*/\n\n@Component({\n tag: 'pds-button',\n styleUrls: ['../../global/styles/base.scss', 'pds-button.scss'],\n shadow: true,\n})\nexport class PdsButton {\n @Element() el: HTMLPdsButtonElement;\n\n /**\n * A unique identifier used for the underlying component `id` attribute.\n */\n @Prop() componentId: string;\n\n /**\n * Toggles disabled state of button\n * @defaultValue false\n */\n @Prop() disabled? = false;\n\n /**\n * Displays icon before text when icon string matches an icon name\n */\n @Prop() icon?: string = null;\n\n /**\n * Provides button with a submittable name\n */\n @Prop() name?: string;\n\n /**\n * Provides button with a submittable value\n */\n @Prop() value?: string;\n\n /**\n * Provides button with a type\n * @defaultValue button\n */\n @Prop() type?: 'button' | 'reset' | 'submit' = 'button';\n\n /**\n * Sets button variant styles as outlined in Figma documentation\n */\n @Prop() variant: 'primary' | 'secondary' | 'accent' | 'disclosure' | 'destructive' | 'unstyled' = 'primary';\n\n @Event() pdsClick: EventEmitter;\n\n private handleClick = (ev: Event) => {\n if (this.type != 'button') {\n // If button clicked IS NOT associated with a form\n if (hasShadowDom(this.el)) {\n const form = this.el.closest('form')\n if (form) {\n ev.preventDefault()\n\n const fakeButton = document.createElement('button')\n fakeButton.type = this.type\n fakeButton.style.display = 'none'\n form.appendChild(fakeButton)\n fakeButton.click()\n fakeButton.remove()\n }\n }\n }\n this.pdsClick.emit(ev);\n }\n\n private classNames() {\n const classNames = ['pds-button'];\n\n if (this.variant) {\n classNames.push('pds-button--' + this.variant);\n }\n\n return classNames.join(' ');\n }\n\n render() {\n return (\n <Host\n aria-disabled={this.disabled ? 'true' : null}\n id={this.componentId}\n onClick={this.handleClick}\n variant={this.variant}\n >\n <button\n class={this.classNames()}\n disabled={this.disabled}\n name={this.name}\n part=\"button\"\n type={this.type}\n value={this.value}\n >\n {this.icon && this.variant !== 'disclosure' && <pds-icon name={this.icon} part=\"icon\"></pds-icon>}\n <slot />\n {this.variant === 'disclosure' && <pds-icon icon={caretDown} part=\"caret\"></pds-icon>}\n </button>\n </Host>\n );\n }\n}\n"],"version":3}
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
import { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/core/internal/client';
|
|
2
2
|
import { a as assignDescription, P as PdsLabel, m as messageId } from './pds-label.js';
|
|
3
|
+
import { b as danger } from './index2.js';
|
|
4
|
+
import { d as defineCustomElement$1 } from './pds-icon2.js';
|
|
3
5
|
|
|
4
6
|
const baseCss = ":where(*:not(slot),*:not(slot)::before,*:not(slot)::after){-webkit-box-sizing:border-box;box-sizing:border-box}:where(*:not(slot)){margin:0}:where(img,picture,video,canvas,svg){display:block;max-width:100%}:where(input,button,textarea,select){font:inherit}:where(p,h1,h2,h3,h4,h5,h6){overflow-wrap:break-word}:where(a:not([href]):not([class])){color:currentColor;text-decoration:none}:where(a:not([href]):not([class]):hover){color:currentColor;text-decoration:none}:where(ul[role=list],ol[role=list]){list-style:none}:where(table){border-collapse:collapse;border-spacing:0}:where(*:not(slot)){font:var(--pine-typography-body-md-default);letter-spacing:var(--pine-letter-spacing-body-md)}:where(h1,h2,h3,h4,h5,h6){font-family:var(--pine-font-family-heading);color:var(--pine-color-grey-950)}:where(h1){font:var(--pine-typography-heading-h1);letter-spacing:var(--pine-letter-spacing-heading-h1)}:where(h2){font:var(--pine-typography-heading-h2);letter-spacing:var(--pine-letter-spacing-heading-h2)}:where(h3){font:var(--pine-typography-heading-h3);letter-spacing:var(--pine-letter-spacing-heading-h3)}:where(h4){font:var(--pine-typography-heading-h4);letter-spacing:var(--pine-letter-spacing-heading-h4)}:where(h5){font:var(--pine-typography-heading-h5);letter-spacing:var(--pine-letter-spacing-heading-h5)}:where(h6){font:var(--pine-typography-heading-h6);letter-spacing:var(--pine-letter-spacing-heading-h6)}:where(div,label,p,span){color:var(--pine-color-text-default)}:where(code,kbd,pre,samp){font-family:monospace}:where([role=button]){cursor:pointer}:where(:focus){outline:0}:where(:focus-visible){outline:var(--pine-border-width-thick) solid var(--pine-color-purple-500)}:where([hidden]){display:none !important}";
|
|
5
7
|
const PdsCheckboxStyle0 = baseCss;
|
|
6
8
|
|
|
7
|
-
const pdsCheckboxCss = ":host{--border-default:var(--pine-border-interactive-default);--border-hover:var(--pine-border-interactive-hover);--border-radius:var(--pine-border-radius-050);--box-shadow-focus:0 0 0 1px #ffffff, 0 0 0 3px var(--pine-color-purple-300);--box-shadow-focus-invalid:0 0 0 1px #ffffff, 0 0 0 3px var(--pine-color-red-200);--color-background:var(--pine-color-white);--color-background-disabled:var(--pine-color-grey-100);--color-background-hover:var(--pine-color-grey-100);--color-background-checked:var(--pine-color-purple-500);--color-background-checked-hover:var(--pine-color-purple-600);--color-border-disabled:var(--pine-color-grey-300);--color-border-icon:var(--pine-color-white);--color-disabled:var(--pine-color-grey-300);--color-invalid:var(--pine-color-red-500);--color-invalid-hover:var(--pine-color-red-600);--color-text-disabled:var(--pine-color-grey-500);--color-text-message:var(--pine-color-grey-
|
|
9
|
+
const pdsCheckboxCss = ":host{--border-default:var(--pine-border-interactive-default);--border-hover:var(--pine-border-interactive-hover);--border-radius:var(--pine-border-radius-050);--box-shadow-focus:0 0 0 1px #ffffff, 0 0 0 3px var(--pine-color-purple-300);--box-shadow-focus-invalid:0 0 0 1px #ffffff, 0 0 0 3px var(--pine-color-red-200);--color-background:var(--pine-color-white);--color-background-disabled:var(--pine-color-grey-100);--color-background-hover:var(--pine-color-grey-100);--color-background-checked:var(--pine-color-purple-500);--color-background-checked-hover:var(--pine-color-purple-600);--color-border-disabled:var(--pine-color-grey-300);--color-border-icon:var(--pine-color-white);--color-disabled:var(--pine-color-grey-300);--color-invalid:var(--pine-color-red-500);--color-invalid-hover:var(--pine-color-red-600);--color-text-disabled:var(--pine-color-grey-500);--color-text-message:var(--pine-color-grey-700);--sizing-input:var(--pine-font-size-116);-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex;-ms-flex-flow:row wrap;flex-flow:row wrap}:host(.is-invalid) input{border-color:var(--color-invalid)}:host(.is-invalid) input:checked{background:var(--color-invalid)}:host(.is-invalid) input:checked:hover{background:var(--color-invalid-hover);border-color:var(--color-invalid-hover)}:host(.is-invalid) input:focus-visible{-webkit-box-shadow:var(--box-shadow-focus-invalid);box-shadow:var(--box-shadow-focus-invalid);outline:none}:host(.is-invalid) label,:host(.is-invalid) .pds-checkbox__message--error{color:var(--color-invalid)}:host(.is-indeterminate) input{background:var(--color-background-checked);border-color:var(--color-background-checked)}:host(.is-indeterminate) input:hover{background:var(--color-background-checked-hover);border-color:var(--color-background-checked-hover)}:host(.is-indeterminate) input::after{border:1px solid var(--color-border-icon);border-bottom:0;border-left:0;border-top:0;content:\"\";display:block;height:7px;left:50%;position:absolute;top:50%;-webkit-transform:rotate(90deg) translate3d(-103%, 32%, 0);transform:rotate(90deg) translate3d(-103%, 32%, 0);width:4px}input{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--color-background);border:var(--border-default);border-radius:var(--border-radius);height:var(--sizing-input);margin:0;position:relative;width:var(--sizing-input)}input:hover{background:var(--color-background-hover);border:var(--border-hover)}input:checked{background:var(--color-background-checked);border-color:var(--color-background-checked)}input:checked:hover{background:var(--color-background-checked-hover);border-color:var(--color-background-checked-hover)}input:checked::after{border:1px solid var(--color-border-icon);border-left:0;border-top:0;content:\"\";display:block;height:7px;left:50%;position:absolute;top:50%;-webkit-transform:rotate(43deg) translate3d(-110%, -30%, 0);transform:rotate(43deg) translate3d(-110%, -30%, 0);width:4px}input:disabled{background:var(--color-background-disabled);border-color:var(--color-disabled);cursor:not-allowed}input:disabled:checked{background:var(--color-disabled);border-color:var(--color-disabled)}input:disabled:checked::after{border-color:var(--color-border-disabled)}input:disabled+label{color:var(--color-text-disabled);cursor:not-allowed}input:disabled~.pds-checkbox__message{color:var(--color-text-disabled)}input:focus-visible{-webkit-box-shadow:var(--box-shadow-focus);box-shadow:var(--box-shadow-focus);outline:none}label{font-weight:var(--pine-font-weight-body-medium);-webkit-margin-start:10px;margin-inline-start:10px}.visually-hidden{border:0;clip:rect(0 0 0 0);-webkit-clip-path:polygon(0 0, 0 0, 0 0);clip-path:polygon(0 0, 0 0, 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.pds-checkbox__message{color:var(--color-text-message);-webkit-margin-before:6px;margin-block-start:6px;-webkit-margin-start:26px;margin-inline-start:26px;width:100%}.pds-checkbox__message--error{-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex;font-size:var(--pine-font-size-085);gap:var(--pine-spacing-050)}";
|
|
8
10
|
const PdsCheckboxStyle1 = pdsCheckboxCss;
|
|
9
11
|
|
|
10
12
|
const PdsCheckbox = /*@__PURE__*/ proxyCustomElement(class PdsCheckbox extends HTMLElement {
|
|
@@ -61,9 +63,9 @@ const PdsCheckbox = /*@__PURE__*/ proxyCustomElement(class PdsCheckbox extends H
|
|
|
61
63
|
return classNames.join(' ');
|
|
62
64
|
}
|
|
63
65
|
render() {
|
|
64
|
-
return (h(Host, { key: '
|
|
65
|
-
h("div", { key: '
|
|
66
|
-
h("div", { key: '
|
|
66
|
+
return (h(Host, { key: '20ec5fff75ed7c8e1fa203377da84533a24b359f', class: this.classNames() }, h("input", { key: '640f30df7addcfb3ec9fc850a32283b5d7e9d096', type: "checkbox", "aria-describedby": assignDescription(this.componentId, this.invalid, this.helperMessage), "aria-invalid": this.invalid ? "true" : undefined, id: this.componentId, indeterminate: this.indeterminate, name: this.name, value: this.value, checked: this.checked, required: this.required, disabled: this.disabled, onChange: this.handleCheckboxChange, onInput: this.handleInput }), h(PdsLabel, { key: '8aa6d71f86bba517fd5b697b7a4c91a2002f29ba', htmlFor: this.componentId, text: this.label, classNames: this.labelHidden ? 'visually-hidden' : '' }), this.helperMessage &&
|
|
67
|
+
h("div", { key: '3b683e51e76c802e77022e6544b05305e8fbaa2f', class: 'pds-checkbox__message', id: messageId(this.componentId, 'helper') }, this.helperMessage), this.errorMessage &&
|
|
68
|
+
h("div", { key: '8da70a6935cf8c419d2f1ffa36ae21a843823b11', class: `pds-checkbox__message pds-checkbox__message--error`, id: messageId(this.componentId, 'error'), "aria-live": "assertive" }, h("pds-icon", { key: '9fa9b8662cce3319ccff5bc8bce90b364f310d7b', icon: danger, size: "small" }), this.errorMessage)));
|
|
67
69
|
}
|
|
68
70
|
static get watchers() { return {
|
|
69
71
|
"checked": ["updateIndeterminate"]
|
|
@@ -89,13 +91,18 @@ function defineCustomElement() {
|
|
|
89
91
|
if (typeof customElements === "undefined") {
|
|
90
92
|
return;
|
|
91
93
|
}
|
|
92
|
-
const components = ["pds-checkbox"];
|
|
94
|
+
const components = ["pds-checkbox", "pds-icon"];
|
|
93
95
|
components.forEach(tagName => { switch (tagName) {
|
|
94
96
|
case "pds-checkbox":
|
|
95
97
|
if (!customElements.get(tagName)) {
|
|
96
98
|
customElements.define(tagName, PdsCheckbox);
|
|
97
99
|
}
|
|
98
100
|
break;
|
|
101
|
+
case "pds-icon":
|
|
102
|
+
if (!customElements.get(tagName)) {
|
|
103
|
+
defineCustomElement$1();
|
|
104
|
+
}
|
|
105
|
+
break;
|
|
99
106
|
} });
|
|
100
107
|
}
|
|
101
108
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"pds-checkbox2.js","mappings":";;;AAAA,MAAM,OAAO,GAAG,wrDAAwrD,CAAC;AACzsD,0BAAe,OAAO;;ACDtB,MAAM,cAAc,GAAG,o2HAAo2H,CAAC;AAC53H,0BAAe,cAAc;;MCShB,WAAW;;;;;;;QA0Ed,yBAAoB,GAAG,CAAC,CAAQ;YACtC,IAAI,IAAI,CAAC,QAAQ,EAAE;gBACjB,OAAO;aACR;YAED,MAAM,MAAM,GAAG,CAAC,CAAC,MAA0B,CAAC;YAC5C,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;YAE9B,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC;gBAC1B,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,KAAK,EAAE,IAAI,CAAC,KAAK;aAClB,CAAC,CAAC;SACJ,CAAA;QAEO,gBAAW,GAAG;YACpB,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC;gBACzB,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,KAAK,EAAE,IAAI,CAAC,KAAK;aAClB,CAAC,CAAC;SACJ,CAAA;uBAzF4C,KAAK;;;;;;;;;;;;;IAkElD,mBAAmB;QACjB,IAAI,CAAC,aAAa,GAAG,SAAS,CAAA;KAC/B;IAuBO,UAAU;QAChB,MAAM,UAAU,GAAG,EAAE,CAAC;QAEtB,IAAI,IAAI,CAAC,OAAO,EAAE;YAAE,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;SAAE;QACpD,IAAI,IAAI,CAAC,aAAa,EAAE;YAAE,UAAU,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;SAAE;QAChE,IAAI,IAAI,CAAC,QAAQ,EAAE;YAAE,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;SAAE;QAEtD,OAAO,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KAC9B;IAED,MAAM;QACJ,QACE,EAAC,IAAI,qDAAC,KAAK,EAAE,IAAI,CAAC,UAAU,EAAE,IAC5B,8DACE,IAAI,EAAC,UAAU,sBACG,iBAAiB,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC,kBACzE,IAAI,CAAC,OAAO,GAAG,MAAM,GAAG,SAAS,EAC/C,EAAE,EAAE,IAAI,CAAC,WAAW,EACpB,aAAa,EAAE,IAAI,CAAC,aAAa,EACjC,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,QAAQ,EAAE,IAAI,CAAC,oBAAoB,EACnC,OAAO,EAAE,IAAI,CAAC,WAAW,GACzB,EACF,EAAC,QAAQ,qDAAC,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,CAAC,WAAW,GAAG,iBAAiB,GAAG,EAAE,GAAI,EAC/G,IAAI,CAAC,aAAa;YACjB,4DACE,KAAK,EAAE,uBAAuB,EAC9B,EAAE,EAAE,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,IAExC,IAAI,CAAC,aAAa,CACf,EAEP,IAAI,CAAC,YAAY;YAChB,4DACE,KAAK,EAAE,oDAAoD,EAC3D,EAAE,EAAE,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,eAC9B,WAAW,IAEpB,IAAI,CAAC,YAAY,CACd,CAEH,EACP;KACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":[],"sources":["src/global/styles/base.scss?tag=pds-checkbox&encapsulation=shadow","src/components/pds-checkbox/pds-checkbox.scss?tag=pds-checkbox&encapsulation=shadow","src/components/pds-checkbox/pds-checkbox.tsx"],"sourcesContent":["// TODO: replace core tokens with semantic\n// Heading color + outline\n\n/*\n Josh's Custom CSS Reset\n https://www.joshwcomeau.com/css/custom-css-reset/\n*/\n:where(*:not(slot), *:not(slot)::before, *:not(slot)::after) {\n box-sizing: border-box;\n}\n\n:where(*:not(slot)) {\n margin: 0;\n}\n\n:where(img, picture, video, canvas, svg) {\n display: block;\n max-width: 100%;\n}\n\n:where(input, button, textarea, select) {\n font: inherit;\n}\n\n:where(p, h1, h2, h3, h4, h5, h6) {\n overflow-wrap: break-word;\n}\n\n/*\n Additional Reset Styles\n*/\n:where(a:not([href]):not([class])) {\n color: currentColor;\n text-decoration: none;\n}\n\n:where(a:not([href]):not([class]):hover) {\n color: currentColor;\n text-decoration: none;\n}\n\n:where(ul[role='list'], ol[role='list']) {\n list-style: none;\n}\n\n:where(table) {\n border-collapse: collapse;\n border-spacing: 0;\n}\n\n/*\n Mercury Base Styles\n*/\n// Typography\n:where(*:not(slot)) {\n font: var(--pine-typography-body-md-default);\n letter-spacing: var(--pine-letter-spacing-body-md);\n}\n\n:where(h1, h2, h3, h4, h5, h6) {\n font-family: var(--pine-font-family-heading);\n color: var(--pine-color-grey-950);\n}\n\n:where(h1) {\n font: var(--pine-typography-heading-h1);\n letter-spacing: var(--pine-letter-spacing-heading-h1);\n}\n\n:where(h2) {\n font: var(--pine-typography-heading-h2);\n letter-spacing: var(--pine-letter-spacing-heading-h2);\n}\n\n:where(h3) {\n font: var(--pine-typography-heading-h3);\n letter-spacing: var(--pine-letter-spacing-heading-h3);\n}\n\n:where(h4) {\n font: var(--pine-typography-heading-h4);\n letter-spacing: var(--pine-letter-spacing-heading-h4);\n}\n\n:where(h5) {\n font: var(--pine-typography-heading-h5);\n letter-spacing: var(--pine-letter-spacing-heading-h5);\n}\n\n:where(h6) {\n font: var(--pine-typography-heading-h6);\n letter-spacing: var(--pine-letter-spacing-heading-h6);\n}\n\n:where(div, label, p, span) {\n color: var(--pine-color-text-default);\n}\n\n:where(code, kbd, pre, samp) {\n font-family: monospace;\n}\n\n// Accessibility\n:where([role=\"button\"]) {\n cursor: pointer;\n}\n\n:where(:focus) {\n outline: 0;\n}\n\n:where(:focus-visible) {\n outline: var(--pine-border-width-thick) solid var(--pine-color-purple-500);\n}\n\n// Misc.\n:where([hidden]) {\n display: none !important;\n}\n",":host {\n --border-default: var(--pine-border-interactive-default);\n --border-hover: var(--pine-border-interactive-hover);\n\n --border-radius: var(--pine-border-radius-050);\n\n --box-shadow-focus: 0 0 0 1px #ffffff, 0 0 0 3px var(--pine-color-purple-300);\n --box-shadow-focus-invalid: 0 0 0 1px #ffffff, 0 0 0 3px var(--pine-color-red-200);\n\n --color-background: var(--pine-color-white);\n --color-background-disabled: var(--pine-color-grey-100);\n --color-background-hover: var(--pine-color-grey-100);\n --color-background-checked: var(--pine-color-purple-500);\n --color-background-checked-hover: var(--pine-color-purple-600);\n --color-border-disabled: var(--pine-color-grey-300);\n --color-border-icon: var(--pine-color-white);\n --color-disabled: var(--pine-color-grey-300);\n --color-invalid: var(--pine-color-red-500);\n --color-invalid-hover: var(--pine-color-red-600);\n --color-text-disabled: var(--pine-color-grey-500);\n --color-text-message: var(--pine-color-grey-800);\n\n --sizing-input: var(--pine-font-size-116);\n\n align-items: center;\n display: flex;\n flex-flow: row wrap;\n}\n\n:host(.is-invalid) {\n input {\n border-color: var(--color-invalid);\n\n &:checked {\n background: var(--color-invalid);\n\n &:hover {\n background: var(--color-invalid-hover);\n border-color: var(--color-invalid-hover);\n }\n }\n\n &:focus-visible {\n // outline: var(--pine-border-focus); Border radius for outline does not work in Safari\n box-shadow: var(--box-shadow-focus-invalid); // Remove when outline radius is supported in Safari\n outline: none;\n }\n }\n\n label,\n .pds-checkbox__message--error {\n color: var(--color-invalid);\n }\n}\n\n:host(.is-indeterminate) {\n input {\n background: var(--color-background-checked);\n border-color: var(--color-background-checked);\n\n &:hover {\n background: var(--color-background-checked-hover);\n border-color: var(--color-background-checked-hover);\n }\n\n &::after {\n border: 1px solid var(--color-border-icon);\n border-bottom: 0;\n border-left: 0;\n border-top: 0;\n content: \"\";\n display: block;\n height: 7px;\n left: 50%;\n position: absolute;\n top: 50%;\n transform: rotate(90deg) translate3d(-103%, 32%, 0);\n width: 4px;\n }\n }\n}\n\ninput {\n appearance: none;\n background-color: var(--color-background);\n border: var(--border-default);\n border-radius: var(--border-radius);\n height: var(--sizing-input);\n margin: 0;\n position: relative;\n width: var(--sizing-input);\n\n &:hover {\n background: var(--color-background-hover);\n border: var(--border-hover);\n }\n\n &:checked {\n background: var(--color-background-checked);\n border-color: var(--color-background-checked);\n\n &:hover {\n background: var(--color-background-checked-hover);\n border-color: var(--color-background-checked-hover);\n }\n\n &::after {\n border: 1px solid var(--color-border-icon);\n border-left: 0;\n border-top: 0;\n content: \"\";\n display: block;\n height: 7px;\n left: 50%;\n position: absolute;\n top: 50%;\n transform: rotate(43deg) translate3d(-110%, -30%, 0);\n width: 4px;\n }\n }\n\n &:disabled {\n background: var(--color-background-disabled);\n border-color: var(--color-disabled);\n cursor: not-allowed;\n\n &:checked {\n background: var(--color-disabled);\n border-color: var(--color-disabled);\n\n &::after {\n border-color: var(--color-border-disabled);\n }\n }\n\n + label {\n color: var(--color-text-disabled);\n cursor: not-allowed;\n }\n\n ~ .pds-checkbox__message {\n color: var(--color-text-disabled);\n }\n }\n\n &:focus-visible {\n // outline: var(--pine-border-focus); Border radius for outline does not work in Safari\n box-shadow: var(--box-shadow-focus); // Remove when outline radius is supported in Safari\n outline: none;\n }\n}\n\nlabel {\n margin-inline-start: 10px;\n}\n\n.visually-hidden {\n border: 0;\n clip: rect(0 0 0 0);\n clip-path: polygon(0 0, 0 0, 0 0);\n height: 1px;\n margin: -1px;\n overflow: hidden;\n padding: 0;\n position: absolute;\n white-space: nowrap;\n width: 1px;\n}\n\n.pds-checkbox__message {\n color: var(--color-text-message);\n margin-block-start: 6px;\n margin-inline-start: 26px;\n width: 100%;\n}\n","import { Component, h, Prop, Host, Event, EventEmitter, Watch } from '@stencil/core';\nimport { assignDescription, messageId } from '../../utils/form';\nimport { PdsLabel } from '../_internal/pds-label/pds-label';\nimport { CheckboxChangeEventDetail } from './checkbox-interface';\n\n@Component({\n tag: 'pds-checkbox',\n styleUrls: ['../../global/styles/base.scss', 'pds-checkbox.scss'],\n shadow: true,\n})\nexport class PdsCheckbox {\n /**\n * It determines whether or not the checkbox is checked.\n */\n @Prop({ mutable: true }) checked?: boolean = false;\n\n /**\n * A unique identifier used for the underlying component `id` attribute and the label `for` attribute.\n */\n @Prop() componentId!: string;\n\n /**\n * It determines whether or not the checkbox is disabled.\n */\n @Prop() disabled: boolean;\n\n /**\n * Displays message text describing an invalid state.\n */\n @Prop() errorMessage: string;\n\n /**\n * String used for helper message below checkbox.\n */\n @Prop() helperMessage: string;\n\n /**\n * If `true`, the checkbox will visually appear as indeterminate.\n * Only JavaScript can set the objects `indeterminate` property. See [MDN Web Docs](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/checkbox#indeterminate_state_checkboxes).\n */\n @Prop({ mutable: true }) indeterminate: boolean;\n\n /**\n * It determines whether or not the checkbox is invalid.\n */\n @Prop() invalid: boolean;\n\n /**\n * String used for label text next to checkbox.\n */\n @Prop() label: string;\n\n /**\n * Visually hides the label text for instances where only the checkbox should be displayed. Label remains accessible to assistive technology such as screen readers.\n */\n @Prop() labelHidden: boolean;\n\n /**\n * String used for checkbox `name` attribute.\n */\n @Prop() name: string;\n\n /**\n * It determines whether or not the checkbox is required.\n */\n @Prop() required: boolean;\n\n /**\n * The value of the checkbox that is submitted with a form.\n */\n @Prop() value: string;\n\n /**\n * Event emitted that contains the `value` and `checked`.\n */\n @Event() pdsCheckboxChange: EventEmitter<CheckboxChangeEventDetail>;\n\n @Event() pdsCheckboxInput: EventEmitter<CheckboxChangeEventDetail>;\n\n @Watch('checked')\n updateIndeterminate() {\n this.indeterminate = undefined\n }\n\n private handleCheckboxChange = (e: Event) => {\n if (this.disabled) {\n return;\n }\n\n const target = e.target as HTMLInputElement;\n this.checked = target.checked;\n\n this.pdsCheckboxChange.emit({\n checked: target.checked,\n value: this.value\n });\n }\n\n private handleInput = () => {\n this.pdsCheckboxInput.emit({\n checked: this.checked,\n value: this.value\n });\n }\n\n private classNames() {\n const classNames = [];\n\n if (this.invalid) { classNames.push('is-invalid'); }\n if (this.indeterminate) { classNames.push('is-indeterminate'); }\n if (this.disabled) { classNames.push('is-disabled'); }\n\n return classNames.join(' ');\n }\n\n render() {\n return (\n <Host class={this.classNames()}>\n <input\n type=\"checkbox\"\n aria-describedby={assignDescription(this.componentId, this.invalid, this.helperMessage)}\n aria-invalid={this.invalid ? \"true\" : undefined}\n id={this.componentId}\n indeterminate={this.indeterminate}\n name={this.name}\n value={this.value}\n checked={this.checked}\n required={this.required}\n disabled={this.disabled}\n onChange={this.handleCheckboxChange}\n onInput={this.handleInput}\n />\n <PdsLabel htmlFor={this.componentId} text={this.label} classNames={this.labelHidden ? 'visually-hidden' : ''} />\n {this.helperMessage &&\n <div\n class={'pds-checkbox__message'}\n id={messageId(this.componentId, 'helper')}\n >\n {this.helperMessage}\n </div>\n }\n {this.errorMessage &&\n <div\n class={`pds-checkbox__message pds-checkbox__message--error`}\n id={messageId(this.componentId, 'error')}\n aria-live=\"assertive\"\n >\n {this.errorMessage}\n </div>\n }\n </Host>\n );\n }\n}\n"],"version":3}
|
|
1
|
+
{"file":"pds-checkbox2.js","mappings":";;;;;AAAA,MAAM,OAAO,GAAG,wrDAAwrD,CAAC;AACzsD,0BAAe,OAAO;;ACDtB,MAAM,cAAc,GAAG,4jIAA4jI,CAAC;AACplI,0BAAe,cAAc;;MCUhB,WAAW;;;;;;;QA0Ed,yBAAoB,GAAG,CAAC,CAAQ;YACtC,IAAI,IAAI,CAAC,QAAQ,EAAE;gBACjB,OAAO;aACR;YAED,MAAM,MAAM,GAAG,CAAC,CAAC,MAA0B,CAAC;YAC5C,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;YAE9B,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC;gBAC1B,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,KAAK,EAAE,IAAI,CAAC,KAAK;aAClB,CAAC,CAAC;SACJ,CAAA;QAEO,gBAAW,GAAG;YACpB,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC;gBACzB,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,KAAK,EAAE,IAAI,CAAC,KAAK;aAClB,CAAC,CAAC;SACJ,CAAA;uBAzF4C,KAAK;;;;;;;;;;;;;IAkElD,mBAAmB;QACjB,IAAI,CAAC,aAAa,GAAG,SAAS,CAAA;KAC/B;IAuBO,UAAU;QAChB,MAAM,UAAU,GAAG,EAAE,CAAC;QAEtB,IAAI,IAAI,CAAC,OAAO,EAAE;YAAE,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;SAAE;QACpD,IAAI,IAAI,CAAC,aAAa,EAAE;YAAE,UAAU,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;SAAE;QAChE,IAAI,IAAI,CAAC,QAAQ,EAAE;YAAE,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;SAAE;QAEtD,OAAO,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KAC9B;IAED,MAAM;QACJ,QACE,EAAC,IAAI,qDAAC,KAAK,EAAE,IAAI,CAAC,UAAU,EAAE,IAC5B,8DACE,IAAI,EAAC,UAAU,sBACG,iBAAiB,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC,kBACzE,IAAI,CAAC,OAAO,GAAG,MAAM,GAAG,SAAS,EAC/C,EAAE,EAAE,IAAI,CAAC,WAAW,EACpB,aAAa,EAAE,IAAI,CAAC,aAAa,EACjC,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,QAAQ,EAAE,IAAI,CAAC,oBAAoB,EACnC,OAAO,EAAE,IAAI,CAAC,WAAW,GACzB,EACF,EAAC,QAAQ,qDAAC,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,CAAC,WAAW,GAAG,iBAAiB,GAAG,EAAE,GAAI,EAC/G,IAAI,CAAC,aAAa;YACjB,4DACE,KAAK,EAAE,uBAAuB,EAC9B,EAAE,EAAE,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,IAExC,IAAI,CAAC,aAAa,CACf,EAEP,IAAI,CAAC,YAAY;YAChB,4DACE,KAAK,EAAE,oDAAoD,EAC3D,EAAE,EAAE,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,eAC9B,WAAW,IAErB,iEAAU,IAAI,EAAE,MAAM,EAAE,IAAI,EAAC,OAAO,GAAG,EACtC,IAAI,CAAC,YAAY,CACd,CAEH,EACP;KACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":[],"sources":["src/global/styles/base.scss?tag=pds-checkbox&encapsulation=shadow","src/components/pds-checkbox/pds-checkbox.scss?tag=pds-checkbox&encapsulation=shadow","src/components/pds-checkbox/pds-checkbox.tsx"],"sourcesContent":["// TODO: replace core tokens with semantic\n// Heading color + outline\n\n/*\n Josh's Custom CSS Reset\n https://www.joshwcomeau.com/css/custom-css-reset/\n*/\n:where(*:not(slot), *:not(slot)::before, *:not(slot)::after) {\n box-sizing: border-box;\n}\n\n:where(*:not(slot)) {\n margin: 0;\n}\n\n:where(img, picture, video, canvas, svg) {\n display: block;\n max-width: 100%;\n}\n\n:where(input, button, textarea, select) {\n font: inherit;\n}\n\n:where(p, h1, h2, h3, h4, h5, h6) {\n overflow-wrap: break-word;\n}\n\n/*\n Additional Reset Styles\n*/\n:where(a:not([href]):not([class])) {\n color: currentColor;\n text-decoration: none;\n}\n\n:where(a:not([href]):not([class]):hover) {\n color: currentColor;\n text-decoration: none;\n}\n\n:where(ul[role='list'], ol[role='list']) {\n list-style: none;\n}\n\n:where(table) {\n border-collapse: collapse;\n border-spacing: 0;\n}\n\n/*\n Mercury Base Styles\n*/\n// Typography\n:where(*:not(slot)) {\n font: var(--pine-typography-body-md-default);\n letter-spacing: var(--pine-letter-spacing-body-md);\n}\n\n:where(h1, h2, h3, h4, h5, h6) {\n font-family: var(--pine-font-family-heading);\n color: var(--pine-color-grey-950);\n}\n\n:where(h1) {\n font: var(--pine-typography-heading-h1);\n letter-spacing: var(--pine-letter-spacing-heading-h1);\n}\n\n:where(h2) {\n font: var(--pine-typography-heading-h2);\n letter-spacing: var(--pine-letter-spacing-heading-h2);\n}\n\n:where(h3) {\n font: var(--pine-typography-heading-h3);\n letter-spacing: var(--pine-letter-spacing-heading-h3);\n}\n\n:where(h4) {\n font: var(--pine-typography-heading-h4);\n letter-spacing: var(--pine-letter-spacing-heading-h4);\n}\n\n:where(h5) {\n font: var(--pine-typography-heading-h5);\n letter-spacing: var(--pine-letter-spacing-heading-h5);\n}\n\n:where(h6) {\n font: var(--pine-typography-heading-h6);\n letter-spacing: var(--pine-letter-spacing-heading-h6);\n}\n\n:where(div, label, p, span) {\n color: var(--pine-color-text-default);\n}\n\n:where(code, kbd, pre, samp) {\n font-family: monospace;\n}\n\n// Accessibility\n:where([role=\"button\"]) {\n cursor: pointer;\n}\n\n:where(:focus) {\n outline: 0;\n}\n\n:where(:focus-visible) {\n outline: var(--pine-border-width-thick) solid var(--pine-color-purple-500);\n}\n\n// Misc.\n:where([hidden]) {\n display: none !important;\n}\n",":host {\n --border-default: var(--pine-border-interactive-default);\n --border-hover: var(--pine-border-interactive-hover);\n\n --border-radius: var(--pine-border-radius-050);\n\n --box-shadow-focus: 0 0 0 1px #ffffff, 0 0 0 3px var(--pine-color-purple-300);\n --box-shadow-focus-invalid: 0 0 0 1px #ffffff, 0 0 0 3px var(--pine-color-red-200);\n\n --color-background: var(--pine-color-white);\n --color-background-disabled: var(--pine-color-grey-100);\n --color-background-hover: var(--pine-color-grey-100);\n --color-background-checked: var(--pine-color-purple-500);\n --color-background-checked-hover: var(--pine-color-purple-600);\n --color-border-disabled: var(--pine-color-grey-300);\n --color-border-icon: var(--pine-color-white);\n --color-disabled: var(--pine-color-grey-300);\n --color-invalid: var(--pine-color-red-500);\n --color-invalid-hover: var(--pine-color-red-600);\n --color-text-disabled: var(--pine-color-grey-500);\n --color-text-message: var(--pine-color-grey-700);\n\n --sizing-input: var(--pine-font-size-116);\n\n align-items: center;\n display: flex;\n flex-flow: row wrap;\n}\n\n:host(.is-invalid) {\n input {\n border-color: var(--color-invalid);\n\n &:checked {\n background: var(--color-invalid);\n\n &:hover {\n background: var(--color-invalid-hover);\n border-color: var(--color-invalid-hover);\n }\n }\n\n &:focus-visible {\n // outline: var(--pine-border-focus); Border radius for outline does not work in Safari\n box-shadow: var(--box-shadow-focus-invalid); // Remove when outline radius is supported in Safari\n outline: none;\n }\n }\n\n label,\n .pds-checkbox__message--error {\n color: var(--color-invalid);\n }\n}\n\n:host(.is-indeterminate) {\n input {\n background: var(--color-background-checked);\n border-color: var(--color-background-checked);\n\n &:hover {\n background: var(--color-background-checked-hover);\n border-color: var(--color-background-checked-hover);\n }\n\n &::after {\n border: 1px solid var(--color-border-icon);\n border-bottom: 0;\n border-left: 0;\n border-top: 0;\n content: \"\";\n display: block;\n height: 7px;\n left: 50%;\n position: absolute;\n top: 50%;\n transform: rotate(90deg) translate3d(-103%, 32%, 0);\n width: 4px;\n }\n }\n}\n\ninput {\n appearance: none;\n background-color: var(--color-background);\n border: var(--border-default);\n border-radius: var(--border-radius);\n height: var(--sizing-input);\n margin: 0;\n position: relative;\n width: var(--sizing-input);\n\n &:hover {\n background: var(--color-background-hover);\n border: var(--border-hover);\n }\n\n &:checked {\n background: var(--color-background-checked);\n border-color: var(--color-background-checked);\n\n &:hover {\n background: var(--color-background-checked-hover);\n border-color: var(--color-background-checked-hover);\n }\n\n &::after {\n border: 1px solid var(--color-border-icon);\n border-left: 0;\n border-top: 0;\n content: \"\";\n display: block;\n height: 7px;\n left: 50%;\n position: absolute;\n top: 50%;\n transform: rotate(43deg) translate3d(-110%, -30%, 0);\n width: 4px;\n }\n }\n\n &:disabled {\n background: var(--color-background-disabled);\n border-color: var(--color-disabled);\n cursor: not-allowed;\n\n &:checked {\n background: var(--color-disabled);\n border-color: var(--color-disabled);\n\n &::after {\n border-color: var(--color-border-disabled);\n }\n }\n\n + label {\n color: var(--color-text-disabled);\n cursor: not-allowed;\n }\n\n ~ .pds-checkbox__message {\n color: var(--color-text-disabled);\n }\n }\n\n &:focus-visible {\n // outline: var(--pine-border-focus); Border radius for outline does not work in Safari\n box-shadow: var(--box-shadow-focus); // Remove when outline radius is supported in Safari\n outline: none;\n }\n}\n\nlabel {\n font-weight: var(--pine-font-weight-body-medium);\n margin-inline-start: 10px;\n}\n\n.visually-hidden {\n border: 0;\n clip: rect(0 0 0 0);\n clip-path: polygon(0 0, 0 0, 0 0);\n height: 1px;\n margin: -1px;\n overflow: hidden;\n padding: 0;\n position: absolute;\n white-space: nowrap;\n width: 1px;\n}\n\n.pds-checkbox__message {\n color: var(--color-text-message);\n margin-block-start: 6px;\n margin-inline-start: 26px;\n width: 100%;\n}\n\n.pds-checkbox__message--error {\n align-items: center;\n display: flex;\n font-size: var(--pine-font-size-085);\n gap: var(--pine-spacing-050);\n}\n","import { Component, h, Prop, Host, Event, EventEmitter, Watch } from '@stencil/core';\nimport { assignDescription, messageId } from '../../utils/form';\nimport { PdsLabel } from '../_internal/pds-label/pds-label';\nimport { CheckboxChangeEventDetail } from './checkbox-interface';\nimport { danger } from '@pine-ds/icons/icons';\n\n@Component({\n tag: 'pds-checkbox',\n styleUrls: ['../../global/styles/base.scss', 'pds-checkbox.scss'],\n shadow: true,\n})\nexport class PdsCheckbox {\n /**\n * It determines whether or not the checkbox is checked.\n */\n @Prop({ mutable: true }) checked?: boolean = false;\n\n /**\n * A unique identifier used for the underlying component `id` attribute and the label `for` attribute.\n */\n @Prop() componentId!: string;\n\n /**\n * It determines whether or not the checkbox is disabled.\n */\n @Prop() disabled: boolean;\n\n /**\n * Displays message text describing an invalid state.\n */\n @Prop() errorMessage: string;\n\n /**\n * String used for helper message below checkbox.\n */\n @Prop() helperMessage: string;\n\n /**\n * If `true`, the checkbox will visually appear as indeterminate.\n * Only JavaScript can set the objects `indeterminate` property. See [MDN Web Docs](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/checkbox#indeterminate_state_checkboxes).\n */\n @Prop({ mutable: true }) indeterminate: boolean;\n\n /**\n * It determines whether or not the checkbox is invalid.\n */\n @Prop() invalid: boolean;\n\n /**\n * String used for label text next to checkbox.\n */\n @Prop() label: string;\n\n /**\n * Visually hides the label text for instances where only the checkbox should be displayed. Label remains accessible to assistive technology such as screen readers.\n */\n @Prop() labelHidden: boolean;\n\n /**\n * String used for checkbox `name` attribute.\n */\n @Prop() name: string;\n\n /**\n * It determines whether or not the checkbox is required.\n */\n @Prop() required: boolean;\n\n /**\n * The value of the checkbox that is submitted with a form.\n */\n @Prop() value: string;\n\n /**\n * Event emitted that contains the `value` and `checked`.\n */\n @Event() pdsCheckboxChange: EventEmitter<CheckboxChangeEventDetail>;\n\n @Event() pdsCheckboxInput: EventEmitter<CheckboxChangeEventDetail>;\n\n @Watch('checked')\n updateIndeterminate() {\n this.indeterminate = undefined\n }\n\n private handleCheckboxChange = (e: Event) => {\n if (this.disabled) {\n return;\n }\n\n const target = e.target as HTMLInputElement;\n this.checked = target.checked;\n\n this.pdsCheckboxChange.emit({\n checked: target.checked,\n value: this.value\n });\n }\n\n private handleInput = () => {\n this.pdsCheckboxInput.emit({\n checked: this.checked,\n value: this.value\n });\n }\n\n private classNames() {\n const classNames = [];\n\n if (this.invalid) { classNames.push('is-invalid'); }\n if (this.indeterminate) { classNames.push('is-indeterminate'); }\n if (this.disabled) { classNames.push('is-disabled'); }\n\n return classNames.join(' ');\n }\n\n render() {\n return (\n <Host class={this.classNames()}>\n <input\n type=\"checkbox\"\n aria-describedby={assignDescription(this.componentId, this.invalid, this.helperMessage)}\n aria-invalid={this.invalid ? \"true\" : undefined}\n id={this.componentId}\n indeterminate={this.indeterminate}\n name={this.name}\n value={this.value}\n checked={this.checked}\n required={this.required}\n disabled={this.disabled}\n onChange={this.handleCheckboxChange}\n onInput={this.handleInput}\n />\n <PdsLabel htmlFor={this.componentId} text={this.label} classNames={this.labelHidden ? 'visually-hidden' : ''} />\n {this.helperMessage &&\n <div\n class={'pds-checkbox__message'}\n id={messageId(this.componentId, 'helper')}\n >\n {this.helperMessage}\n </div>\n }\n {this.errorMessage &&\n <div\n class={`pds-checkbox__message pds-checkbox__message--error`}\n id={messageId(this.componentId, 'error')}\n aria-live=\"assertive\"\n >\n <pds-icon icon={danger} size=\"small\" />\n {this.errorMessage}\n </div>\n }\n </Host>\n );\n }\n}\n"],"version":3}
|
package/components/pds-chip.js
CHANGED
|
@@ -18,10 +18,10 @@ const PdsChip$1 = /*@__PURE__*/ proxyCustomElement(class PdsChip extends HTMLEle
|
|
|
18
18
|
this.pdsTagCloseClick.emit();
|
|
19
19
|
};
|
|
20
20
|
this.componentId = undefined;
|
|
21
|
-
this.sentiment = 'neutral';
|
|
22
21
|
this.dot = false;
|
|
23
22
|
this.label = undefined;
|
|
24
23
|
this.large = false;
|
|
24
|
+
this.sentiment = 'neutral';
|
|
25
25
|
this.variant = 'text';
|
|
26
26
|
}
|
|
27
27
|
classNames() {
|
|
@@ -35,7 +35,7 @@ const PdsChip$1 = /*@__PURE__*/ proxyCustomElement(class PdsChip extends HTMLEle
|
|
|
35
35
|
if (this.sentiment) {
|
|
36
36
|
classNames.push('pds-chip--' + this.sentiment);
|
|
37
37
|
}
|
|
38
|
-
return classNames.join('
|
|
38
|
+
return classNames.join(' ');
|
|
39
39
|
}
|
|
40
40
|
setChipContent() {
|
|
41
41
|
const isDropdown = this.variant === 'dropdown';
|
|
@@ -43,15 +43,15 @@ const PdsChip$1 = /*@__PURE__*/ proxyCustomElement(class PdsChip extends HTMLEle
|
|
|
43
43
|
return chipContent;
|
|
44
44
|
}
|
|
45
45
|
render() {
|
|
46
|
-
return (h(Host, { key: '
|
|
46
|
+
return (h(Host, { key: 'fac4e9beb31ba05d0c959fb53a9cd62caeacb219', class: this.classNames(), id: this.componentId }, this.setChipContent(), this.variant === 'tag' && (h("button", { key: '5f57c1cc76f6cffdebe6244f499b427e5f4c04e8', class: "pds-chip__close", type: "button", onClick: this.handleCloseClick, "aria-label": "Remove" }, h("pds-icon", { key: 'f4311271f68d700568dc51af9c1512fdfc7c262d', icon: remove, size: "12px" })))));
|
|
47
47
|
}
|
|
48
48
|
static get style() { return PdsChipStyle0 + PdsChipStyle1; }
|
|
49
49
|
}, [1, "pds-chip", {
|
|
50
50
|
"componentId": [1, "component-id"],
|
|
51
|
-
"sentiment": [1],
|
|
52
51
|
"dot": [4],
|
|
53
52
|
"label": [1],
|
|
54
53
|
"large": [4],
|
|
54
|
+
"sentiment": [1],
|
|
55
55
|
"variant": [1]
|
|
56
56
|
}]);
|
|
57
57
|
function defineCustomElement$1() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"pds-chip.js","mappings":";;;;AAAA,MAAM,OAAO,GAAG,wrDAAwrD,CAAC;AACzsD,sBAAe,OAAO;;ACDtB,MAAM,UAAU,GAAG,q7OAAq7O,CAAC;AACz8O,sBAAe,UAAU;;MCOZA,SAAO;;;;;;QAwCV,qBAAgB,GAAG;YACzB,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC;SAC9B,CAAA;;yBAhCqF,SAAS;mBAMjF,KAAK;;qBAWH,KAAK;uBAM0B,MAAM;;IAW7C,UAAU;QAChB,MAAM,UAAU,GAAG,CAAC,UAAU,CAAC,CAAC;QAEhC,IAAI,IAAI,CAAC,KAAK,EAAE;YACd,UAAU,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;SACpC;QACD,IAAI,IAAI,CAAC,OAAO,EAAE;YAChB,UAAU,CAAC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC;SAC9C;QACD,IAAI,IAAI,CAAC,SAAS,EAAE;YAClB,UAAU,CAAC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC;SAChD;QAED,OAAO,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KAC9B;IAEO,cAAc;QACpB,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,KAAK,UAAU,CAAC;QAC/C,MAAM,WAAW,GAAG,UAAU,IAC5B,cAAQ,KAAK,EAAC,kBAAkB,EAAC,IAAI,EAAC,QAAQ,IAC3C,IAAI,CAAC,GAAG,IAAI,SAAG,KAAK,EAAC,eAAe,iBAAa,MAAM,GAAK,EAC5D,IAAI,CAAC,KAAK,EACX,gBAAU,IAAI,EAAE,SAAS,EAAE,IAAI,EAAC,MAAM,iBAAa,MAAM,GAAY,CAC9D,KAET,YAAM,KAAK,EAAC,iBAAiB,IAC1B,IAAI,CAAC,GAAG,IAAI,SAAG,KAAK,EAAC,eAAe,iBAAa,MAAM,GAAK,EAC5D,IAAI,CAAC,KAAK,CACN,CACR,CAAC;QAEF,OAAO,WAAW,CAAC;KACpB;IAED,MAAM;QACJ,QACE,EAAC,IAAI,qDAAC,KAAK,EAAE,IAAI,CAAC,UAAU,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,WAAW,IACjD,IAAI,CAAC,cAAc,EAAE,EACrB,IAAI,CAAC,OAAO,KAAK,KAAK,KACrB,+DAAQ,KAAK,EAAC,iBAAiB,EAAC,IAAI,EAAC,QAAQ,EAAC,OAAO,EAAE,IAAI,CAAC,gBAAgB,gBAAa,QAAQ,IAC/F,iEAAU,IAAI,EAAE,MAAM,EAAE,IAAI,EAAC,MAAM,GAAY,CACxC,CACV,CACI,EACP;KACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["PdsChip"],"sources":["src/global/styles/base.scss?tag=pds-chip&encapsulation=shadow","src/components/pds-chip/pds-chip.scss?tag=pds-chip&encapsulation=shadow","src/components/pds-chip/pds-chip.tsx"],"sourcesContent":["// TODO: replace core tokens with semantic\n// Heading color + outline\n\n/*\n Josh's Custom CSS Reset\n https://www.joshwcomeau.com/css/custom-css-reset/\n*/\n:where(*:not(slot), *:not(slot)::before, *:not(slot)::after) {\n box-sizing: border-box;\n}\n\n:where(*:not(slot)) {\n margin: 0;\n}\n\n:where(img, picture, video, canvas, svg) {\n display: block;\n max-width: 100%;\n}\n\n:where(input, button, textarea, select) {\n font: inherit;\n}\n\n:where(p, h1, h2, h3, h4, h5, h6) {\n overflow-wrap: break-word;\n}\n\n/*\n Additional Reset Styles\n*/\n:where(a:not([href]):not([class])) {\n color: currentColor;\n text-decoration: none;\n}\n\n:where(a:not([href]):not([class]):hover) {\n color: currentColor;\n text-decoration: none;\n}\n\n:where(ul[role='list'], ol[role='list']) {\n list-style: none;\n}\n\n:where(table) {\n border-collapse: collapse;\n border-spacing: 0;\n}\n\n/*\n Mercury Base Styles\n*/\n// Typography\n:where(*:not(slot)) {\n font: var(--pine-typography-body-md-default);\n letter-spacing: var(--pine-letter-spacing-body-md);\n}\n\n:where(h1, h2, h3, h4, h5, h6) {\n font-family: var(--pine-font-family-heading);\n color: var(--pine-color-grey-950);\n}\n\n:where(h1) {\n font: var(--pine-typography-heading-h1);\n letter-spacing: var(--pine-letter-spacing-heading-h1);\n}\n\n:where(h2) {\n font: var(--pine-typography-heading-h2);\n letter-spacing: var(--pine-letter-spacing-heading-h2);\n}\n\n:where(h3) {\n font: var(--pine-typography-heading-h3);\n letter-spacing: var(--pine-letter-spacing-heading-h3);\n}\n\n:where(h4) {\n font: var(--pine-typography-heading-h4);\n letter-spacing: var(--pine-letter-spacing-heading-h4);\n}\n\n:where(h5) {\n font: var(--pine-typography-heading-h5);\n letter-spacing: var(--pine-letter-spacing-heading-h5);\n}\n\n:where(h6) {\n font: var(--pine-typography-heading-h6);\n letter-spacing: var(--pine-letter-spacing-heading-h6);\n}\n\n:where(div, label, p, span) {\n color: var(--pine-color-text-default);\n}\n\n:where(code, kbd, pre, samp) {\n font-family: monospace;\n}\n\n// Accessibility\n:where([role=\"button\"]) {\n cursor: pointer;\n}\n\n:where(:focus) {\n outline: 0;\n}\n\n:where(:focus-visible) {\n outline: var(--pine-border-width-thick) solid var(--pine-color-purple-500);\n}\n\n// Misc.\n:where([hidden]) {\n display: none !important;\n}\n",":host {\n --box-shadow-focus: 0 0 0 1px #ffffff, 0 0 0 3px var(--pine-color-purple-300);\n --border-radius: var(--pine-border-radius-200);\n\n --color-background-accent: var(--pine-color-purple-100);\n --color-background-accent-dot: var(--pine-color-purple-600);\n --color-background-accent-hover: var(--pine-color-purple-200);\n --color-background-danger: var(--pine-color-red-100);\n --color-background-danger-dot: var(--pine-color-red-600);\n --color-background-danger-hover: var(--pine-color-red-200);\n --color-background-info: var(--pine-color-blue-100);\n --color-background-info-dot: var(--pine-color-blue-600);\n --color-background-info-hover: var(--pine-color-blue-200);\n --color-background-neutral: var(--pine-color-grey-100);\n --color-background-neutral-dot: var(--pine-color-grey-600);\n --color-background-neutral-hover: var(--pine-color-grey-400);\n --color-background-success: var(--pine-color-green-100);\n --color-background-success-dot: var(--pine-color-green-600);\n --color-background-success-hover: var(--pine-color-green-200);\n --color-background-warning: var(--pine-color-yellow-100);\n --color-background-warning-dot: var(--pine-color-yellow-600);\n --color-background-warning-hover: var(--pine-color-yellow-200);\n --color-text-accent: var(--pine-color-purple-950);\n --color-text-danger: var(--pine-color-red-950);\n --color-text-info: var(--pine-color-blue-950);\n --color-text-neutral: var(--pine-color-grey-950);\n --color-text-success: var(--pine-color-green-950);\n --color-text-warning: var(--pine-color-yellow-950);\n\n --font-size-sm: var(--pine-font-size-body-md);\n --font-size-lg: var(--pine-font-size-heading-h6);\n --font-weight: var(--pine-font-weight-medium);\n\n --spacing-xxs: calc(var(--pine-spacing-050) / 2);\n --spacing-xs: var(--pine-spacing-050);\n --spacing-sm: calc(var(--pine-spacing-150) / 2);\n --spacing-md: var(--pine-spacing-100);\n --spacing-lg: calc(var(--pine-spacing-250) / 2);\n --spacing-xl: var(--pine-spacing-150);\n --spacing-xxl: calc(var(--pine-spacing-350) / 2);\n\n --sizing-close: 10px;\n --sizing-close-lg: 24px;\n --sizing-dot: 4px;\n\n align-items: center;\n border-radius: var(--border-radius);\n display: inline-flex;\n padding-block: var(--spacing-xs);\n padding-inline: var(--spacing-lg);\n}\n\n$pds-chip-sentiment: (\n accent: var(--color-background-accent),\n danger: var(--color-background-danger),\n info: var(--color-background-info),\n neutral: var(--color-background-neutral),\n success: var(--color-background-success),\n warning: var(--color-background-warning),\n);\n\n$pds-chip-sentiment-text: (\n accent: var(--color-text-accent),\n danger: var(--color-text-danger),\n info: var(--color-text-info),\n neutral: var(--color-text-neutral),\n success: var(--color-text-success),\n warning: var(--color-text-warning),\n);\n\n$pds-chip-sentiment-dots: (\n accent: var(--color-background-accent-dot),\n danger: var(--color-background-danger-dot),\n info: var(--color-background-info-dot),\n neutral: var(--color-background-neutral-dot),\n success: var(--color-background-success-dot),\n warning: var(--color-background-warning-dot),\n);\n\n$pds-chip-sentiment-hover: (\n accent: var(--color-background-accent-hover),\n danger: var(--color-background-danger-hover),\n info: var(--color-background-info-hover),\n neutral: var(--color-background-neutral-hover),\n success: var(--color-background-success-hover),\n warning: var(--color-background-warning-hover),\n);\n\n@each $sentiment, $value in $pds-chip-sentiment {\n :host(.pds-chip--#{$sentiment}) {\n background: $value;\n\n // dot colors\n .pds-chip__dot {\n /* stylelint-disable-next-line */\n background: map-get($pds-chip-sentiment-dots, $sentiment);\n }\n\n .pds-chip__label, .pds-chip__button {\n /* stylelint-disable-next-line */\n color: map-get($pds-chip-sentiment-text, $sentiment);\n }\n\n // tag close hover colors\n .pds-chip__close:hover {\n /* stylelint-disable-next-line */\n background: map-get($pds-chip-sentiment-hover, $sentiment);\n }\n }\n // dropdown hover colors\n :host(.pds-chip--#{$sentiment}.pds-chip--dropdown:hover) {\n /* stylelint-disable-next-line */\n background: map-get($pds-chip-sentiment-hover, $sentiment);\n }\n}\n\n.pds-chip__dot {\n border: 1px solid transparent;\n border-radius: 50%;\n display: inline-block;\n height: var(--sizing-dot);\n margin-block-end: var(--spacing-xxs);\n margin-inline-end: var(--spacing-xs);\n width: var(--sizing-dot);\n}\n\n.pds-chip__label {\n font-size: var(--font-size-sm);\n font-weight: var(--font-weight);\n}\n\n// dropdown\n\n:host(.pds-chip--dropdown) {\n padding: 0;\n\n .pds-chip__dot {\n margin-block-end: calc(var(--spacing-xxs) / 4);\n margin-block-start: var(--spacing-xxs);\n }\n}\n\n.pds-chip__button {\n align-items: center;\n appearance: none;\n background: transparent;\n border: 0;\n border-radius: var(--border-radius);\n display: flex;\n font-weight: var(--font-weight);\n padding-block: var(--spacing-xs);\n padding-inline: var(--spacing-lg);\n\n &:focus-visible {\n box-shadow: var(--box-shadow-focus);\n outline: none;\n }\n\n pds-icon {\n margin-inline-end: calc(var(--spacing-xxs) * -1);\n margin-inline-start: var(--spacing-xs);\n }\n}\n\n// tag\n\n:host(.pds-chip--tag) {\n padding-block: var(--spacing-xxs);\n}\n\n.pds-chip__close {\n appearance: none;\n background: transparent;\n border: 0;\n border-radius: 50%;\n height: var(--sizing-close);\n margin-inline-end: calc(var(--spacing-md) * -1);\n margin-inline-start: var(--spacing-xs);\n padding: var(--sizing-close);\n position: relative;\n width: var(--sizing-close);\n\n pds-icon {\n left: 50%;\n position: absolute;\n top: 50%;\n transform: translate(-50%, -50%);\n }\n\n &:focus-visible {\n box-shadow: var(--box-shadow-focus);\n outline: none;\n }\n}\n\n// large\n\n:host(.pds-chip--large) {\n font-size: var(--font-size-lg);\n padding-block: var(--spacing-sm);\n padding-inline: var(--spacing-xxl);\n\n &:host(.pds-chip--dropdown) {\n padding-block: var(--spacing-xs);\n padding-inline: var(--spacing-xxs);\n\n .pds-chip__dot {\n margin-block-end: 0;\n }\n }\n\n .pds-chip__button {\n font-size: var(--font-size-lg);\n padding-inline: var(--spacing-xl)\n }\n\n .pds-chip__close {\n height: var(--sizing-close-lg);\n margin-inline-end: calc(var(--spacing-xl) * -1);\n width: var(--sizing-close-lg);\n }\n\n &:host(.pds-chip--tag) {\n padding-block: var(--spacing-xs);\n }\n}\n","import { downSmall, remove } from '@pine-ds/icons/icons';\nimport { Component, Host, h, Prop, Event, EventEmitter } from '@stencil/core';\n\n@Component({\n tag: 'pds-chip',\n styleUrls: ['../../global/styles/base.scss', 'pds-chip.scss'],\n shadow: true,\n})\nexport class PdsChip {\n /**\n * A unique identifier used for the underlying component `id` attribute.\n */\n @Prop() componentId: string;\n\n /**\n * Sets the color scheme of the chip.\n * @defaultValue 'neutral'\n */\n @Prop() sentiment: 'accent' | 'danger' | 'info' | 'neutral' | 'success' | 'warning' = 'neutral';\n\n /**\n * Determines whether a dot should be displayed on the chip.\n * @defaultValue false\n */\n @Prop() dot = false;\n\n /**\n * Sets the text label content of the chip.\n */\n @Prop() label: string;\n\n /**\n * Determines whether the chip should be rendered in a larger size.\n * @defaultValue false\n */\n @Prop() large = false;\n\n /**\n * Sets the style variant of the chip.\n * @defaultValue 'text'\n */\n @Prop() variant: 'text' | 'tag' | 'dropdown' = 'text';\n\n /**\n * Event when close button is clicked on tag variant.\n */\n @Event() pdsTagCloseClick: EventEmitter;\n\n private handleCloseClick = () => {\n this.pdsTagCloseClick.emit();\n }\n\n private classNames() {\n const classNames = ['pds-chip'];\n\n if (this.large) {\n classNames.push('pds-chip--large');\n }\n if (this.variant) {\n classNames.push('pds-chip--' + this.variant);\n }\n if (this.sentiment) {\n classNames.push('pds-chip--' + this.sentiment);\n }\n\n return classNames.join(' ');\n }\n\n private setChipContent() {\n const isDropdown = this.variant === 'dropdown';\n const chipContent = isDropdown ? (\n <button class=\"pds-chip__button\" type=\"button\">\n {this.dot && <i class=\"pds-chip__dot\" aria-hidden=\"true\"></i>}\n {this.label}\n <pds-icon icon={downSmall} size=\"12px\" aria-hidden=\"true\"></pds-icon>\n </button>\n ) : (\n <span class=\"pds-chip__label\">\n {this.dot && <i class=\"pds-chip__dot\" aria-hidden=\"true\"></i>}\n {this.label}\n </span>\n );\n\n return chipContent;\n }\n\n render() {\n return (\n <Host class={this.classNames()} id={this.componentId}>\n {this.setChipContent()}\n {this.variant === 'tag' && (\n <button class=\"pds-chip__close\" type=\"button\" onClick={this.handleCloseClick} aria-label=\"Remove\">\n <pds-icon icon={remove} size=\"12px\"></pds-icon>\n </button>\n )}\n </Host>\n );\n }\n}\n"],"version":3}
|
|
1
|
+
{"file":"pds-chip.js","mappings":";;;;AAAA,MAAM,OAAO,GAAG,wrDAAwrD,CAAC;AACzsD,sBAAe,OAAO;;ACDtB,MAAM,UAAU,GAAG,q7OAAq7O,CAAC;AACz8O,sBAAe,UAAU;;MCOZA,SAAO;;;;;;QAwCV,qBAAgB,GAAG;YACzB,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC;SAC9B,CAAC;;mBAhCY,KAAK;;qBAWH,KAAK;yBAMiE,SAAS;uBAMhD,MAAM;;IAW7C,UAAU;QAChB,MAAM,UAAU,GAAG,CAAC,UAAU,CAAC,CAAC;QAEhC,IAAI,IAAI,CAAC,KAAK,EAAE;YACd,UAAU,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;SACpC;QACD,IAAI,IAAI,CAAC,OAAO,EAAE;YAChB,UAAU,CAAC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC;SAC9C;QACD,IAAI,IAAI,CAAC,SAAS,EAAE;YAClB,UAAU,CAAC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC;SAChD;QAED,OAAO,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;KAC7B;IAEO,cAAc;QACpB,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,KAAK,UAAU,CAAC;QAC/C,MAAM,WAAW,GAAG,UAAU,IAC5B,cAAQ,KAAK,EAAC,kBAAkB,EAAC,IAAI,EAAC,QAAQ,IAC3C,IAAI,CAAC,GAAG,IAAI,SAAG,KAAK,EAAC,eAAe,iBAAa,MAAM,GAAK,EAC5D,IAAI,CAAC,KAAK,EACX,gBAAU,IAAI,EAAE,SAAS,EAAE,IAAI,EAAC,MAAM,iBAAa,MAAM,GAAY,CAC9D,KAET,YAAM,KAAK,EAAC,iBAAiB,IAC1B,IAAI,CAAC,GAAG,IAAI,SAAG,KAAK,EAAC,eAAe,iBAAa,MAAM,GAAK,EAC5D,IAAI,CAAC,KAAK,CACN,CACR,CAAC;QAEF,OAAO,WAAW,CAAC;KACpB;IAED,MAAM;QACJ,QACE,EAAC,IAAI,qDAAC,KAAK,EAAE,IAAI,CAAC,UAAU,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,WAAW,IACjD,IAAI,CAAC,cAAc,EAAE,EACrB,IAAI,CAAC,OAAO,KAAK,KAAK,KACrB,+DAAQ,KAAK,EAAC,iBAAiB,EAAC,IAAI,EAAC,QAAQ,EAAC,OAAO,EAAE,IAAI,CAAC,gBAAgB,gBAAa,QAAQ,IAC/F,iEAAU,IAAI,EAAE,MAAM,EAAE,IAAI,EAAC,MAAM,GAAY,CACxC,CACV,CACI,EACP;KACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["PdsChip"],"sources":["src/global/styles/base.scss?tag=pds-chip&encapsulation=shadow","src/components/pds-chip/pds-chip.scss?tag=pds-chip&encapsulation=shadow","src/components/pds-chip/pds-chip.tsx"],"sourcesContent":["// TODO: replace core tokens with semantic\n// Heading color + outline\n\n/*\n Josh's Custom CSS Reset\n https://www.joshwcomeau.com/css/custom-css-reset/\n*/\n:where(*:not(slot), *:not(slot)::before, *:not(slot)::after) {\n box-sizing: border-box;\n}\n\n:where(*:not(slot)) {\n margin: 0;\n}\n\n:where(img, picture, video, canvas, svg) {\n display: block;\n max-width: 100%;\n}\n\n:where(input, button, textarea, select) {\n font: inherit;\n}\n\n:where(p, h1, h2, h3, h4, h5, h6) {\n overflow-wrap: break-word;\n}\n\n/*\n Additional Reset Styles\n*/\n:where(a:not([href]):not([class])) {\n color: currentColor;\n text-decoration: none;\n}\n\n:where(a:not([href]):not([class]):hover) {\n color: currentColor;\n text-decoration: none;\n}\n\n:where(ul[role='list'], ol[role='list']) {\n list-style: none;\n}\n\n:where(table) {\n border-collapse: collapse;\n border-spacing: 0;\n}\n\n/*\n Mercury Base Styles\n*/\n// Typography\n:where(*:not(slot)) {\n font: var(--pine-typography-body-md-default);\n letter-spacing: var(--pine-letter-spacing-body-md);\n}\n\n:where(h1, h2, h3, h4, h5, h6) {\n font-family: var(--pine-font-family-heading);\n color: var(--pine-color-grey-950);\n}\n\n:where(h1) {\n font: var(--pine-typography-heading-h1);\n letter-spacing: var(--pine-letter-spacing-heading-h1);\n}\n\n:where(h2) {\n font: var(--pine-typography-heading-h2);\n letter-spacing: var(--pine-letter-spacing-heading-h2);\n}\n\n:where(h3) {\n font: var(--pine-typography-heading-h3);\n letter-spacing: var(--pine-letter-spacing-heading-h3);\n}\n\n:where(h4) {\n font: var(--pine-typography-heading-h4);\n letter-spacing: var(--pine-letter-spacing-heading-h4);\n}\n\n:where(h5) {\n font: var(--pine-typography-heading-h5);\n letter-spacing: var(--pine-letter-spacing-heading-h5);\n}\n\n:where(h6) {\n font: var(--pine-typography-heading-h6);\n letter-spacing: var(--pine-letter-spacing-heading-h6);\n}\n\n:where(div, label, p, span) {\n color: var(--pine-color-text-default);\n}\n\n:where(code, kbd, pre, samp) {\n font-family: monospace;\n}\n\n// Accessibility\n:where([role=\"button\"]) {\n cursor: pointer;\n}\n\n:where(:focus) {\n outline: 0;\n}\n\n:where(:focus-visible) {\n outline: var(--pine-border-width-thick) solid var(--pine-color-purple-500);\n}\n\n// Misc.\n:where([hidden]) {\n display: none !important;\n}\n",":host {\n --box-shadow-focus: 0 0 0 1px #ffffff, 0 0 0 3px var(--pine-color-purple-300);\n --border-radius: var(--pine-border-radius-200);\n\n --color-background-accent: var(--pine-color-purple-100);\n --color-background-accent-dot: var(--pine-color-purple-600);\n --color-background-accent-hover: var(--pine-color-purple-200);\n --color-background-danger: var(--pine-color-red-100);\n --color-background-danger-dot: var(--pine-color-red-600);\n --color-background-danger-hover: var(--pine-color-red-200);\n --color-background-info: var(--pine-color-blue-100);\n --color-background-info-dot: var(--pine-color-blue-600);\n --color-background-info-hover: var(--pine-color-blue-200);\n --color-background-neutral: var(--pine-color-grey-100);\n --color-background-neutral-dot: var(--pine-color-grey-600);\n --color-background-neutral-hover: var(--pine-color-grey-400);\n --color-background-success: var(--pine-color-green-100);\n --color-background-success-dot: var(--pine-color-green-600);\n --color-background-success-hover: var(--pine-color-green-200);\n --color-background-warning: var(--pine-color-yellow-100);\n --color-background-warning-dot: var(--pine-color-yellow-600);\n --color-background-warning-hover: var(--pine-color-yellow-200);\n --color-text-accent: var(--pine-color-purple-950);\n --color-text-danger: var(--pine-color-red-950);\n --color-text-info: var(--pine-color-blue-950);\n --color-text-neutral: var(--pine-color-grey-950);\n --color-text-success: var(--pine-color-green-950);\n --color-text-warning: var(--pine-color-yellow-950);\n\n --font-size-sm: var(--pine-font-size-body-md);\n --font-size-lg: var(--pine-font-size-heading-h6);\n --font-weight: var(--pine-font-weight-medium);\n\n --spacing-xxs: calc(var(--pine-spacing-050) / 2);\n --spacing-xs: var(--pine-spacing-050);\n --spacing-sm: calc(var(--pine-spacing-150) / 2);\n --spacing-md: var(--pine-spacing-100);\n --spacing-lg: calc(var(--pine-spacing-250) / 2);\n --spacing-xl: var(--pine-spacing-150);\n --spacing-xxl: calc(var(--pine-spacing-350) / 2);\n\n --sizing-close: 10px;\n --sizing-close-lg: 24px;\n --sizing-dot: 4px;\n\n align-items: center;\n border-radius: var(--border-radius);\n display: inline-flex;\n padding-block: var(--spacing-xs);\n padding-inline: var(--spacing-lg);\n}\n\n$pds-chip-sentiment: (\n accent: var(--color-background-accent),\n danger: var(--color-background-danger),\n info: var(--color-background-info),\n neutral: var(--color-background-neutral),\n success: var(--color-background-success),\n warning: var(--color-background-warning),\n);\n\n$pds-chip-sentiment-text: (\n accent: var(--color-text-accent),\n danger: var(--color-text-danger),\n info: var(--color-text-info),\n neutral: var(--color-text-neutral),\n success: var(--color-text-success),\n warning: var(--color-text-warning),\n);\n\n$pds-chip-sentiment-dots: (\n accent: var(--color-background-accent-dot),\n danger: var(--color-background-danger-dot),\n info: var(--color-background-info-dot),\n neutral: var(--color-background-neutral-dot),\n success: var(--color-background-success-dot),\n warning: var(--color-background-warning-dot),\n);\n\n$pds-chip-sentiment-hover: (\n accent: var(--color-background-accent-hover),\n danger: var(--color-background-danger-hover),\n info: var(--color-background-info-hover),\n neutral: var(--color-background-neutral-hover),\n success: var(--color-background-success-hover),\n warning: var(--color-background-warning-hover),\n);\n\n@each $sentiment, $value in $pds-chip-sentiment {\n :host(.pds-chip--#{$sentiment}) {\n background: $value;\n\n // dot colors\n .pds-chip__dot {\n /* stylelint-disable-next-line */\n background: map-get($pds-chip-sentiment-dots, $sentiment);\n }\n\n .pds-chip__label, .pds-chip__button {\n /* stylelint-disable-next-line */\n color: map-get($pds-chip-sentiment-text, $sentiment);\n }\n\n // tag close hover colors\n .pds-chip__close:hover {\n /* stylelint-disable-next-line */\n background: map-get($pds-chip-sentiment-hover, $sentiment);\n }\n }\n // dropdown hover colors\n :host(.pds-chip--#{$sentiment}.pds-chip--dropdown:hover) {\n /* stylelint-disable-next-line */\n background: map-get($pds-chip-sentiment-hover, $sentiment);\n }\n}\n\n.pds-chip__dot {\n border: 1px solid transparent;\n border-radius: 50%;\n display: inline-block;\n height: var(--sizing-dot);\n margin-block-end: var(--spacing-xxs);\n margin-inline-end: var(--spacing-xs);\n width: var(--sizing-dot);\n}\n\n.pds-chip__label {\n font-size: var(--font-size-sm);\n font-weight: var(--font-weight);\n}\n\n// dropdown\n\n:host(.pds-chip--dropdown) {\n padding: 0;\n\n .pds-chip__dot {\n margin-block-end: calc(var(--spacing-xxs) / 4);\n margin-block-start: var(--spacing-xxs);\n }\n}\n\n.pds-chip__button {\n align-items: center;\n appearance: none;\n background: transparent;\n border: 0;\n border-radius: var(--border-radius);\n display: flex;\n font-weight: var(--font-weight);\n padding-block: var(--spacing-xs);\n padding-inline: var(--spacing-lg);\n\n &:focus-visible {\n box-shadow: var(--box-shadow-focus);\n outline: none;\n }\n\n pds-icon {\n margin-inline-end: calc(var(--spacing-xxs) * -1);\n margin-inline-start: var(--spacing-xs);\n }\n}\n\n// tag\n\n:host(.pds-chip--tag) {\n padding-block: var(--spacing-xxs);\n}\n\n.pds-chip__close {\n appearance: none;\n background: transparent;\n border: 0;\n border-radius: 50%;\n height: var(--sizing-close);\n margin-inline-end: calc(var(--spacing-md) * -1);\n margin-inline-start: var(--spacing-xs);\n padding: var(--sizing-close);\n position: relative;\n width: var(--sizing-close);\n\n pds-icon {\n left: 50%;\n position: absolute;\n top: 50%;\n transform: translate(-50%, -50%);\n }\n\n &:focus-visible {\n box-shadow: var(--box-shadow-focus);\n outline: none;\n }\n}\n\n// large\n\n:host(.pds-chip--large) {\n font-size: var(--font-size-lg);\n padding-block: var(--spacing-sm);\n padding-inline: var(--spacing-xxl);\n\n &:host(.pds-chip--dropdown) {\n padding-block: var(--spacing-xs);\n padding-inline: var(--spacing-xxs);\n\n .pds-chip__dot {\n margin-block-end: 0;\n }\n }\n\n .pds-chip__button {\n font-size: var(--font-size-lg);\n padding-inline: var(--spacing-xl)\n }\n\n .pds-chip__close {\n height: var(--sizing-close-lg);\n margin-inline-end: calc(var(--spacing-xl) * -1);\n width: var(--sizing-close-lg);\n }\n\n &:host(.pds-chip--tag) {\n padding-block: var(--spacing-xs);\n }\n}\n","import { downSmall, remove } from '@pine-ds/icons/icons';\nimport { Component, Host, h, Prop, Event, EventEmitter } from '@stencil/core';\n\n@Component({\n tag: 'pds-chip',\n styleUrls: ['../../global/styles/base.scss', 'pds-chip.scss'],\n shadow: true,\n})\nexport class PdsChip {\n /**\n * A unique identifier used for the underlying component `id` attribute.\n */\n @Prop() componentId: string;\n\n /**\n * Determines whether a dot should be displayed on the chip.\n * @defaultValue false\n */\n @Prop() dot = false;\n\n /**\n * Sets the text label content of the chip.\n */\n @Prop() label: string;\n\n /**\n * Determines whether the chip should be displayed in a larger size.\n * @defaultValue false\n */\n @Prop() large = false;\n\n /**\n * Defines the color scheme of the chip.\n * @defaultValue 'neutral'\n */\n @Prop() sentiment: 'accent' | 'danger' | 'info' | 'neutral' | 'success' | 'warning' = 'neutral';\n\n /**\n * Sets the style variant of the chip.\n * @defaultValue 'text'\n */\n @Prop() variant: 'text' | 'tag' | 'dropdown' = 'text';\n\n /**\n * Event emitted when the close button is clicked on a tag variant chip.\n */\n @Event() pdsTagCloseClick: EventEmitter;\n\n private handleCloseClick = () => {\n this.pdsTagCloseClick.emit();\n };\n\n private classNames() {\n const classNames = ['pds-chip'];\n\n if (this.large) {\n classNames.push('pds-chip--large');\n }\n if (this.variant) {\n classNames.push('pds-chip--' + this.variant);\n }\n if (this.sentiment) {\n classNames.push('pds-chip--' + this.sentiment);\n }\n\n return classNames.join(' ');\n }\n\n private setChipContent() {\n const isDropdown = this.variant === 'dropdown';\n const chipContent = isDropdown ? (\n <button class=\"pds-chip__button\" type=\"button\">\n {this.dot && <i class=\"pds-chip__dot\" aria-hidden=\"true\"></i>}\n {this.label}\n <pds-icon icon={downSmall} size=\"12px\" aria-hidden=\"true\"></pds-icon>\n </button>\n ) : (\n <span class=\"pds-chip__label\">\n {this.dot && <i class=\"pds-chip__dot\" aria-hidden=\"true\"></i>}\n {this.label}\n </span>\n );\n\n return chipContent;\n }\n\n render() {\n return (\n <Host class={this.classNames()} id={this.componentId}>\n {this.setChipContent()}\n {this.variant === 'tag' && (\n <button class=\"pds-chip__close\" type=\"button\" onClick={this.handleCloseClick} aria-label=\"Remove\">\n <pds-icon icon={remove} size=\"12px\"></pds-icon>\n </button>\n )}\n </Host>\n );\n }\n}\n"],"version":3}
|
|
@@ -49,7 +49,7 @@ const PdsCopytext$1 = /*@__PURE__*/ proxyCustomElement(class PdsCopytext extends
|
|
|
49
49
|
return classNames.join(' ');
|
|
50
50
|
}
|
|
51
51
|
render() {
|
|
52
|
-
return (h(Host, { key: '
|
|
52
|
+
return (h(Host, { key: '43aceb92fe0cc910613115bc882b04108efeffba', class: this.classNames(), id: this.componentId }, h("pds-button", { key: 'f152bc288e64192a80ed8f4f48d90e3edb7558cc', type: "button", variant: "unstyled", onClick: this.handleClick }, h("span", { key: 'ed9486b47835e21601047d2a915a412e664c6b4b' }, this.value), h("pds-icon", { key: 'bfbf6d92775171c36f768d654c5866f2f4ce8479', icon: copy, size: "16px" }))));
|
|
53
53
|
}
|
|
54
54
|
static get style() { return PdsCopytextStyle0 + PdsCopytextStyle1; }
|
|
55
55
|
}, [1, "pds-copytext", {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"pds-copytext.js","mappings":";;;;;AAAA,MAAM,OAAO,GAAG,wrDAAwrD,CAAC;AACzsD,0BAAe,OAAO;;ACDtB,MAAM,cAAc,GAAG,88GAA88G,CAAC;AACt+G,0BAAe,cAAc;;MCQhBA,aAAW;;;;;;QAkCd,oBAAe,GAAG,OAAO,KAAa;YAC5C,IAAI;gBACF,IAAI,OAAO,SAAS,CAAC,SAAS,KAAK,WAAW,EAAE;oBAC9C,MAAM,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;oBAC3C,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;iBACnD;aACF;YAAC,OAAO,GAAG,EAAE;gBACZ,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,oCAAoC,GAAG,EAAE,CAAC,CAAC;aACvE;SACF,CAAC;QAEM,gBAAW,GAAG;YACpB,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SAClC,CAAC;sBA1CgC,IAAI;;yBAWlB,KAAK;wBAMN,KAAK;;;IA2BhB,UAAU;QAChB,MAAM,UAAU,GAAG,CAAC,cAAc,CAAC,CAAC;QAEpC,IAAI,IAAI,CAAC,MAAM,EAAE;YACf,UAAU,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;SAC3C;QAED,IAAI,IAAI,CAAC,SAAS,EAAE;YAClB,UAAU,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;SAC7C;QAED,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,UAAU,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;SAC5C;QAED,OAAO,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KAC9B;IAED,MAAM;QACJ,QACE,EAAC,IAAI,qDAAC,KAAK,EAAE,IAAI,CAAC,UAAU,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,WAAW,IAClD,mEAAY,IAAI,EAAC,QAAQ,EAAC,OAAO,EAAC,UAAU,EAAC,OAAO,EAAE,IAAI,CAAC,WAAW,IACpE,+DAAO,IAAI,CAAC,KAAK,CAAQ,EACzB,iEAAU,IAAI,EAAEC,IAAQ,EAAE,IAAI,EAAC,MAAM,GAAY,CACtC,CACR,EACP;KACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["PdsCopytext","copyIcon"],"sources":["src/global/styles/base.scss?tag=pds-copytext&encapsulation=shadow","src/components/pds-copytext/pds-copytext.scss?tag=pds-copytext&encapsulation=shadow","src/components/pds-copytext/pds-copytext.tsx"],"sourcesContent":["// TODO: replace core tokens with semantic\n// Heading color + outline\n\n/*\n Josh's Custom CSS Reset\n https://www.joshwcomeau.com/css/custom-css-reset/\n*/\n:where(*:not(slot), *:not(slot)::before, *:not(slot)::after) {\n box-sizing: border-box;\n}\n\n:where(*:not(slot)) {\n margin: 0;\n}\n\n:where(img, picture, video, canvas, svg) {\n display: block;\n max-width: 100%;\n}\n\n:where(input, button, textarea, select) {\n font: inherit;\n}\n\n:where(p, h1, h2, h3, h4, h5, h6) {\n overflow-wrap: break-word;\n}\n\n/*\n Additional Reset Styles\n*/\n:where(a:not([href]):not([class])) {\n color: currentColor;\n text-decoration: none;\n}\n\n:where(a:not([href]):not([class]):hover) {\n color: currentColor;\n text-decoration: none;\n}\n\n:where(ul[role='list'], ol[role='list']) {\n list-style: none;\n}\n\n:where(table) {\n border-collapse: collapse;\n border-spacing: 0;\n}\n\n/*\n Mercury Base Styles\n*/\n// Typography\n:where(*:not(slot)) {\n font: var(--pine-typography-body-md-default);\n letter-spacing: var(--pine-letter-spacing-body-md);\n}\n\n:where(h1, h2, h3, h4, h5, h6) {\n font-family: var(--pine-font-family-heading);\n color: var(--pine-color-grey-950);\n}\n\n:where(h1) {\n font: var(--pine-typography-heading-h1);\n letter-spacing: var(--pine-letter-spacing-heading-h1);\n}\n\n:where(h2) {\n font: var(--pine-typography-heading-h2);\n letter-spacing: var(--pine-letter-spacing-heading-h2);\n}\n\n:where(h3) {\n font: var(--pine-typography-heading-h3);\n letter-spacing: var(--pine-letter-spacing-heading-h3);\n}\n\n:where(h4) {\n font: var(--pine-typography-heading-h4);\n letter-spacing: var(--pine-letter-spacing-heading-h4);\n}\n\n:where(h5) {\n font: var(--pine-typography-heading-h5);\n letter-spacing: var(--pine-letter-spacing-heading-h5);\n}\n\n:where(h6) {\n font: var(--pine-typography-heading-h6);\n letter-spacing: var(--pine-letter-spacing-heading-h6);\n}\n\n:where(div, label, p, span) {\n color: var(--pine-color-text-default);\n}\n\n:where(code, kbd, pre, samp) {\n font-family: monospace;\n}\n\n// Accessibility\n:where([role=\"button\"]) {\n cursor: pointer;\n}\n\n:where(:focus) {\n outline: 0;\n}\n\n:where(:focus-visible) {\n outline: var(--pine-border-width-thick) solid var(--pine-color-purple-500);\n}\n\n// Misc.\n:where([hidden]) {\n display: none !important;\n}\n",":host(.pds-copytext) {\n\n --border-interactive-default: var(--pine-border-width-thin) solid var(--pine-color-grey-300);\n --border-interactive-hover: var(--pine-border-width-thin) solid var(--pine-color-grey-400);\n\n --border-radius-default: var(--pine-border-radius-circle);\n\n --border-width-default: var(--pine-border-width-none);\n\n --box-shadow-focus: 0 0 0 1px #ffffff, 0 0 0 3px var(--pine-color-purple-300);\n\n --color-background-default: var(--pine-color-white);\n --color-border-interactive-hover: var(--pine-color-grey-400);\n --color-text-hover: var(--pine-color-grey-900);\n // Update custom prop usage in Button before changing\n --copytext-color-background-hover: var(--pine-color-grey-200);\n\n --font-size-default: var(--pine-font-size-100);\n --font-weight-default: var(--pine-font-weight-body-medium);\n\n --spacing-bordered-margin-inline-end: var(--pine-spacing-200);\n --spacing-bordered-padding-block: var(--pine-spacing-100);\n --spacing-bordered-padding-inline: var(--pine-spacing-200);\n --spacing-margin-inline-end: var(--pine-spacing-100);\n --spacing-padding-block: var(--pine-spacing-050);\n --spacing-padding-inline: var(--pine-spacing-100);\n --spacing-padding-none: var(--pine-spacing-0);\n\n --typography-default: var(--pine-font-weight-body-medium) var(--pine-font-size-body-md)/var(--pine-line-height-body) var(--pine-font-family-heading);\n\n pds-button {\n align-items: center;\n background: var(--color-background-default);\n border: var(--border-width-default);\n border-radius: var(--border-radius-default);\n display: inline-flex;\n font: var(--typography-default);\n max-width: 100%;\n padding: var(--spacing-padding-block) var(--spacing-padding-inline);\n\n &::part(button) {\n padding-inline-end: calc(var(--spacing-padding-inline) / 2);\n }\n\n &::part(button):hover {\n // Update custom prop usage in Button before changing\n background-color: var(--copytext-color-background-hover);\n color: var(--color-text-hover);\n }\n\n span {\n font-weight: var(--font-weight-default);\n margin-inline-end: var(--spacing-margin-inline-end);\n white-space: nowrap;\n }\n\n :nth-child(2) {\n flex-shrink: 0;\n }\n }\n\n // bordered\n\n &:host(.pds-copytext--bordered) {\n border: var(--border-width-default);\n padding: var(--spacing-padding-none);\n\n pds-button {\n padding: var(--spacing-padding-none);\n\n &:hover {\n background: none;\n }\n }\n\n span {\n border: var(--border-interactive-default);\n border-radius: var(--border-radius-default);\n margin-inline-end: var(--spacing-bordered-margin-inline-end);\n padding-block: var(--spacing-bordered-padding-block);\n padding-inline: var(--spacing-bordered-padding-inline);\n }\n\n :hover {\n span {\n border: var(--border-interactive-hover);\n }\n }\n }\n\n // full width\n\n &:host(.pds-copytext--full-width) {\n display: flex;\n width: 100%;\n\n pds-button {\n display: flex;\n justify-content: space-between;\n width: 100%;\n\n span {\n text-align: left;\n width: 100%;\n }\n }\n }\n\n // truncated\n\n &:host(.pds-copytext--truncated) {\n pds-button {\n display: flex;\n width: 100%;\n\n span {\n overflow: hidden;\n text-align: left;\n text-overflow: ellipsis;\n width: 100%;\n }\n }\n }\n}\n","import { Component, Event, EventEmitter, Host, h, Prop } from '@stencil/core';\n\nimport { copy as copyIcon } from '@pine-ds/icons/icons';\n\n@Component({\n tag: 'pds-copytext',\n styleUrls: ['../../global/styles/base.scss', 'pds-copytext.scss'],\n shadow: true,\n})\nexport class PdsCopytext {\n /**\n * Determines whether `copytext` should have a border.\n * @defaultValue true\n */\n @Prop({ reflect: true }) border = true;\n\n /**\n * A unique identifier used for the underlying component `id` attribute.\n */\n @Prop() componentId: string;\n\n /**\n * Determines whether `copytext` should expand to the full width of its container.\n * @defaultValue false\n */\n @Prop() fullWidth = false;\n\n /**\n * Determines whether the `value` should truncate and display with an ellipsis.\n * @defaultValue false\n */\n @Prop() truncate = false;\n\n /**\n *
|
|
1
|
+
{"file":"pds-copytext.js","mappings":";;;;;AAAA,MAAM,OAAO,GAAG,wrDAAwrD,CAAC;AACzsD,0BAAe,OAAO;;ACDtB,MAAM,cAAc,GAAG,88GAA88G,CAAC;AACt+G,0BAAe,cAAc;;MCQhBA,aAAW;;;;;;QAkCd,oBAAe,GAAG,OAAO,KAAa;YAC5C,IAAI;gBACF,IAAI,OAAO,SAAS,CAAC,SAAS,KAAK,WAAW,EAAE;oBAC9C,MAAM,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;oBAC3C,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;iBACnD;aACF;YAAC,OAAO,GAAG,EAAE;gBACZ,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,oCAAoC,GAAG,EAAE,CAAC,CAAC;aACvE;SACF,CAAC;QAEM,gBAAW,GAAG;YACpB,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SAClC,CAAC;sBA1CgC,IAAI;;yBAWlB,KAAK;wBAMN,KAAK;;;IA2BhB,UAAU;QAChB,MAAM,UAAU,GAAG,CAAC,cAAc,CAAC,CAAC;QAEpC,IAAI,IAAI,CAAC,MAAM,EAAE;YACf,UAAU,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;SAC3C;QAED,IAAI,IAAI,CAAC,SAAS,EAAE;YAClB,UAAU,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;SAC7C;QAED,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,UAAU,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;SAC5C;QAED,OAAO,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KAC9B;IAED,MAAM;QACJ,QACE,EAAC,IAAI,qDAAC,KAAK,EAAE,IAAI,CAAC,UAAU,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,WAAW,IAClD,mEAAY,IAAI,EAAC,QAAQ,EAAC,OAAO,EAAC,UAAU,EAAC,OAAO,EAAE,IAAI,CAAC,WAAW,IACpE,+DAAO,IAAI,CAAC,KAAK,CAAQ,EACzB,iEAAU,IAAI,EAAEC,IAAQ,EAAE,IAAI,EAAC,MAAM,GAAY,CACtC,CACR,EACP;KACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["PdsCopytext","copyIcon"],"sources":["src/global/styles/base.scss?tag=pds-copytext&encapsulation=shadow","src/components/pds-copytext/pds-copytext.scss?tag=pds-copytext&encapsulation=shadow","src/components/pds-copytext/pds-copytext.tsx"],"sourcesContent":["// TODO: replace core tokens with semantic\n// Heading color + outline\n\n/*\n Josh's Custom CSS Reset\n https://www.joshwcomeau.com/css/custom-css-reset/\n*/\n:where(*:not(slot), *:not(slot)::before, *:not(slot)::after) {\n box-sizing: border-box;\n}\n\n:where(*:not(slot)) {\n margin: 0;\n}\n\n:where(img, picture, video, canvas, svg) {\n display: block;\n max-width: 100%;\n}\n\n:where(input, button, textarea, select) {\n font: inherit;\n}\n\n:where(p, h1, h2, h3, h4, h5, h6) {\n overflow-wrap: break-word;\n}\n\n/*\n Additional Reset Styles\n*/\n:where(a:not([href]):not([class])) {\n color: currentColor;\n text-decoration: none;\n}\n\n:where(a:not([href]):not([class]):hover) {\n color: currentColor;\n text-decoration: none;\n}\n\n:where(ul[role='list'], ol[role='list']) {\n list-style: none;\n}\n\n:where(table) {\n border-collapse: collapse;\n border-spacing: 0;\n}\n\n/*\n Mercury Base Styles\n*/\n// Typography\n:where(*:not(slot)) {\n font: var(--pine-typography-body-md-default);\n letter-spacing: var(--pine-letter-spacing-body-md);\n}\n\n:where(h1, h2, h3, h4, h5, h6) {\n font-family: var(--pine-font-family-heading);\n color: var(--pine-color-grey-950);\n}\n\n:where(h1) {\n font: var(--pine-typography-heading-h1);\n letter-spacing: var(--pine-letter-spacing-heading-h1);\n}\n\n:where(h2) {\n font: var(--pine-typography-heading-h2);\n letter-spacing: var(--pine-letter-spacing-heading-h2);\n}\n\n:where(h3) {\n font: var(--pine-typography-heading-h3);\n letter-spacing: var(--pine-letter-spacing-heading-h3);\n}\n\n:where(h4) {\n font: var(--pine-typography-heading-h4);\n letter-spacing: var(--pine-letter-spacing-heading-h4);\n}\n\n:where(h5) {\n font: var(--pine-typography-heading-h5);\n letter-spacing: var(--pine-letter-spacing-heading-h5);\n}\n\n:where(h6) {\n font: var(--pine-typography-heading-h6);\n letter-spacing: var(--pine-letter-spacing-heading-h6);\n}\n\n:where(div, label, p, span) {\n color: var(--pine-color-text-default);\n}\n\n:where(code, kbd, pre, samp) {\n font-family: monospace;\n}\n\n// Accessibility\n:where([role=\"button\"]) {\n cursor: pointer;\n}\n\n:where(:focus) {\n outline: 0;\n}\n\n:where(:focus-visible) {\n outline: var(--pine-border-width-thick) solid var(--pine-color-purple-500);\n}\n\n// Misc.\n:where([hidden]) {\n display: none !important;\n}\n",":host(.pds-copytext) {\n\n --border-interactive-default: var(--pine-border-width-thin) solid var(--pine-color-grey-300);\n --border-interactive-hover: var(--pine-border-width-thin) solid var(--pine-color-grey-400);\n\n --border-radius-default: var(--pine-border-radius-circle);\n\n --border-width-default: var(--pine-border-width-none);\n\n --box-shadow-focus: 0 0 0 1px #ffffff, 0 0 0 3px var(--pine-color-purple-300);\n\n --color-background-default: var(--pine-color-white);\n --color-border-interactive-hover: var(--pine-color-grey-400);\n --color-text-hover: var(--pine-color-grey-900);\n // Update custom prop usage in Button before changing\n --copytext-color-background-hover: var(--pine-color-grey-200);\n\n --font-size-default: var(--pine-font-size-100);\n --font-weight-default: var(--pine-font-weight-body-medium);\n\n --spacing-bordered-margin-inline-end: var(--pine-spacing-200);\n --spacing-bordered-padding-block: var(--pine-spacing-100);\n --spacing-bordered-padding-inline: var(--pine-spacing-200);\n --spacing-margin-inline-end: var(--pine-spacing-100);\n --spacing-padding-block: var(--pine-spacing-050);\n --spacing-padding-inline: var(--pine-spacing-100);\n --spacing-padding-none: var(--pine-spacing-0);\n\n --typography-default: var(--pine-font-weight-body-medium) var(--pine-font-size-body-md)/var(--pine-line-height-body) var(--pine-font-family-heading);\n\n pds-button {\n align-items: center;\n background: var(--color-background-default);\n border: var(--border-width-default);\n border-radius: var(--border-radius-default);\n display: inline-flex;\n font: var(--typography-default);\n max-width: 100%;\n padding: var(--spacing-padding-block) var(--spacing-padding-inline);\n\n &::part(button) {\n padding-inline-end: calc(var(--spacing-padding-inline) / 2);\n }\n\n &::part(button):hover {\n // Update custom prop usage in Button before changing\n background-color: var(--copytext-color-background-hover);\n color: var(--color-text-hover);\n }\n\n span {\n font-weight: var(--font-weight-default);\n margin-inline-end: var(--spacing-margin-inline-end);\n white-space: nowrap;\n }\n\n :nth-child(2) {\n flex-shrink: 0;\n }\n }\n\n // bordered\n\n &:host(.pds-copytext--bordered) {\n border: var(--border-width-default);\n padding: var(--spacing-padding-none);\n\n pds-button {\n padding: var(--spacing-padding-none);\n\n &:hover {\n background: none;\n }\n }\n\n span {\n border: var(--border-interactive-default);\n border-radius: var(--border-radius-default);\n margin-inline-end: var(--spacing-bordered-margin-inline-end);\n padding-block: var(--spacing-bordered-padding-block);\n padding-inline: var(--spacing-bordered-padding-inline);\n }\n\n :hover {\n span {\n border: var(--border-interactive-hover);\n }\n }\n }\n\n // full width\n\n &:host(.pds-copytext--full-width) {\n display: flex;\n width: 100%;\n\n pds-button {\n display: flex;\n justify-content: space-between;\n width: 100%;\n\n span {\n text-align: left;\n width: 100%;\n }\n }\n }\n\n // truncated\n\n &:host(.pds-copytext--truncated) {\n pds-button {\n display: flex;\n width: 100%;\n\n span {\n overflow: hidden;\n text-align: left;\n text-overflow: ellipsis;\n width: 100%;\n }\n }\n }\n}\n","import { Component, Event, EventEmitter, Host, h, Prop } from '@stencil/core';\n\nimport { copy as copyIcon } from '@pine-ds/icons/icons';\n\n@Component({\n tag: 'pds-copytext',\n styleUrls: ['../../global/styles/base.scss', 'pds-copytext.scss'],\n shadow: true,\n})\nexport class PdsCopytext {\n /**\n * Determines whether `copytext` should have a visible border.\n * @defaultValue true\n */\n @Prop({ reflect: true }) border = true;\n\n /**\n * A unique identifier used for the underlying component `id` attribute.\n */\n @Prop() componentId: string;\n\n /**\n * Determines whether `copytext` should expand to the full width of its container.\n * @defaultValue false\n */\n @Prop() fullWidth = false;\n\n /**\n * Determines whether the `value` should truncate and display with an ellipsis.\n * @defaultValue false\n */\n @Prop() truncate = false;\n\n /**\n * The string displayed that is also copied to the clipboard upon interaction.\n */\n @Prop() value!: string;\n\n /**\n * Event fired when copyText button is clicked.\n */\n @Event() pdsCopyTextClick: EventEmitter;\n\n private copyToClipboard = async (value: string) => {\n try {\n if (typeof navigator.clipboard !== 'undefined') {\n await navigator.clipboard.writeText(value);\n this.pdsCopyTextClick.emit('Copied to clipboard');\n }\n } catch (err) {\n this.pdsCopyTextClick.emit(`Error writing text to clipboard: ${err}`);\n }\n };\n\n private handleClick = () => {\n this.copyToClipboard(this.value);\n };\n\n private classNames() {\n const classNames = ['pds-copytext'];\n\n if (this.border) {\n classNames.push('pds-copytext--bordered');\n }\n\n if (this.fullWidth) {\n classNames.push('pds-copytext--full-width');\n }\n\n if (this.truncate) {\n classNames.push('pds-copytext--truncated');\n }\n\n return classNames.join(' ');\n }\n\n render() {\n return (\n <Host class={this.classNames()} id={this.componentId}>\n <pds-button type=\"button\" variant=\"unstyled\" onClick={this.handleClick}>\n <span>{this.value}</span>\n <pds-icon icon={copyIcon} size=\"16px\"></pds-icon>\n </pds-button>\n </Host>\n );\n }\n}\n"],"version":3}
|
|
@@ -27,7 +27,7 @@ const PdsDivider$1 = /*@__PURE__*/ proxyCustomElement(class PdsDivider extends H
|
|
|
27
27
|
return classNames.join(' ');
|
|
28
28
|
}
|
|
29
29
|
render() {
|
|
30
|
-
return (h(Host, { key: '
|
|
30
|
+
return (h(Host, { key: 'cb64d56832d159848ac7d45959b5f1d9874715d7', id: this.componentId }, h("hr", { key: '10a7b11448b031b24174fe9278ac05504cf8523c', class: this.classNames() })));
|
|
31
31
|
}
|
|
32
32
|
static get style() { return PdsDividerStyle0 + PdsDividerStyle1; }
|
|
33
33
|
}, [1, "pds-divider", {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"pds-divider.js","mappings":";;AAAA,MAAM,OAAO,GAAG,wrDAAwrD,CAAC;AACzsD,yBAAe,OAAO;;ACDtB,MAAM,aAAa,GAAG,2oEAA2oE,CAAC;AAClqE,yBAAe,aAAa;;MCMfA,YAAU;;;;;;;wBAeF,KAAK;;IAEhB,UAAU;QAChB,MAAM,UAAU,GAAG,CAAC,aAAa,CAAC,CAAC;QAEnC,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,UAAU,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;SAC1C;QAED,IAAI,IAAI,CAAC,MAAM,EAAE;YACf,MAAM,eAAe,GAAG,sBAAsB,GAAG,IAAI,CAAC,MAAM,CAAC;YAC7D,UAAU,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;SAClC;QAED,OAAO,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;KAC7B;IAED,MAAM;QACJ,QACE,EAAC,IAAI,qDAAC,EAAE,EAAE,IAAI,CAAC,WAAW,IACxB,2DAAI,KAAK,EAAE,IAAI,CAAC,UAAU,EAAE,GAAI,CAC3B,EACP;KACH;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["PdsDivider"],"sources":["src/global/styles/base.scss?tag=pds-divider&encapsulation=shadow","src/components/pds-divider/pds-divider.scss?tag=pds-divider&encapsulation=shadow","src/components/pds-divider/pds-divider.tsx"],"sourcesContent":["// TODO: replace core tokens with semantic\n// Heading color + outline\n\n/*\n Josh's Custom CSS Reset\n https://www.joshwcomeau.com/css/custom-css-reset/\n*/\n:where(*:not(slot), *:not(slot)::before, *:not(slot)::after) {\n box-sizing: border-box;\n}\n\n:where(*:not(slot)) {\n margin: 0;\n}\n\n:where(img, picture, video, canvas, svg) {\n display: block;\n max-width: 100%;\n}\n\n:where(input, button, textarea, select) {\n font: inherit;\n}\n\n:where(p, h1, h2, h3, h4, h5, h6) {\n overflow-wrap: break-word;\n}\n\n/*\n Additional Reset Styles\n*/\n:where(a:not([href]):not([class])) {\n color: currentColor;\n text-decoration: none;\n}\n\n:where(a:not([href]):not([class]):hover) {\n color: currentColor;\n text-decoration: none;\n}\n\n:where(ul[role='list'], ol[role='list']) {\n list-style: none;\n}\n\n:where(table) {\n border-collapse: collapse;\n border-spacing: 0;\n}\n\n/*\n Mercury Base Styles\n*/\n// Typography\n:where(*:not(slot)) {\n font: var(--pine-typography-body-md-default);\n letter-spacing: var(--pine-letter-spacing-body-md);\n}\n\n:where(h1, h2, h3, h4, h5, h6) {\n font-family: var(--pine-font-family-heading);\n color: var(--pine-color-grey-950);\n}\n\n:where(h1) {\n font: var(--pine-typography-heading-h1);\n letter-spacing: var(--pine-letter-spacing-heading-h1);\n}\n\n:where(h2) {\n font: var(--pine-typography-heading-h2);\n letter-spacing: var(--pine-letter-spacing-heading-h2);\n}\n\n:where(h3) {\n font: var(--pine-typography-heading-h3);\n letter-spacing: var(--pine-letter-spacing-heading-h3);\n}\n\n:where(h4) {\n font: var(--pine-typography-heading-h4);\n letter-spacing: var(--pine-letter-spacing-heading-h4);\n}\n\n:where(h5) {\n font: var(--pine-typography-heading-h5);\n letter-spacing: var(--pine-letter-spacing-heading-h5);\n}\n\n:where(h6) {\n font: var(--pine-typography-heading-h6);\n letter-spacing: var(--pine-letter-spacing-heading-h6);\n}\n\n:where(div, label, p, span) {\n color: var(--pine-color-text-default);\n}\n\n:where(code, kbd, pre, samp) {\n font-family: monospace;\n}\n\n// Accessibility\n:where([role=\"button\"]) {\n cursor: pointer;\n}\n\n:where(:focus) {\n outline: 0;\n}\n\n:where(:focus-visible) {\n outline: var(--pine-border-width-thick) solid var(--pine-color-purple-500);\n}\n\n// Misc.\n:where([hidden]) {\n display: none !important;\n}\n",":host {\n --color-background-default: var(--pine-color-grey-200);\n --spacing-offset-xxs: var(--pine-spacing-050);\n --spacing-offset-xs: var(--pine-spacing-100);\n --spacing-offset-sm: var(--pine-spacing-200);\n --spacing-offset-md: var(--pine-spacing-300);\n --spacing-offset-lg: var(--pine-spacing-450);\n --spacing-offset-xxl: var(--pine-spacing-800);\n}\n\n$pds-divider-offsets: (\n xxs: var(--spacing-offset-xxs),\n xs: var(--spacing-offset-xs),\n sm: var(--spacing-offset-sm),\n md: var(--spacing-offset-md),\n lg: var(--spacing-offset-lg),\n xl: var(--spacing-offset-xl),\n xxl: var(--spacing-offset-xxl),\n);\n\n.pds-divider {\n background: var(--color-background-default);\n border: 0;\n display: flex;\n height: 1px;\n margin: 0;\n width: 100%;\n}\n\n.pds-divider--vertical {\n height: 100%;\n width: 1px;\n}\n\n@each $offset, $value in $pds-divider-offsets {\n .pds-divider--offset-#{$offset} {\n margin: 0 calc($value * -1);\n padding: 0 $value;\n\n &.pds-divider--vertical {\n margin: calc($value * -1) 0;\n padding: $value 0;\n }\n }\n}\n\n@media (max-width: 767px) {\n .pds-divider--vertical {\n display: none;\n }\n}\n","import { Component, Prop, Host, h } from '@stencil/core';\n\n@Component({\n tag: 'pds-divider',\n styleUrls: ['../../global/styles/base.scss', 'pds-divider.scss'],\n shadow: true,\n})\nexport class PdsDivider {\n /**\n * A unique identifier used for the underlying component `id` attribute.\n */\n @Prop() componentId: string;\n\n /**\n * Adds offset margin/padding to expand the width (horizontal) or the height (vertical) of divider.\n */\n @Prop() offset: 'xxs' | 'xs' | 'sm' | 'md' | 'lg' | 'xl' | 'xxl';\n\n /**\n * Sets divider to display vertically
|
|
1
|
+
{"file":"pds-divider.js","mappings":";;AAAA,MAAM,OAAO,GAAG,wrDAAwrD,CAAC;AACzsD,yBAAe,OAAO;;ACDtB,MAAM,aAAa,GAAG,2oEAA2oE,CAAC;AAClqE,yBAAe,aAAa;;MCMfA,YAAU;;;;;;;wBAeF,KAAK;;IAEhB,UAAU;QAChB,MAAM,UAAU,GAAG,CAAC,aAAa,CAAC,CAAC;QAEnC,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,UAAU,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;SAC1C;QAED,IAAI,IAAI,CAAC,MAAM,EAAE;YACf,MAAM,eAAe,GAAG,sBAAsB,GAAG,IAAI,CAAC,MAAM,CAAC;YAC7D,UAAU,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;SAClC;QAED,OAAO,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;KAC7B;IAED,MAAM;QACJ,QACE,EAAC,IAAI,qDAAC,EAAE,EAAE,IAAI,CAAC,WAAW,IACxB,2DAAI,KAAK,EAAE,IAAI,CAAC,UAAU,EAAE,GAAI,CAC3B,EACP;KACH;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["PdsDivider"],"sources":["src/global/styles/base.scss?tag=pds-divider&encapsulation=shadow","src/components/pds-divider/pds-divider.scss?tag=pds-divider&encapsulation=shadow","src/components/pds-divider/pds-divider.tsx"],"sourcesContent":["// TODO: replace core tokens with semantic\n// Heading color + outline\n\n/*\n Josh's Custom CSS Reset\n https://www.joshwcomeau.com/css/custom-css-reset/\n*/\n:where(*:not(slot), *:not(slot)::before, *:not(slot)::after) {\n box-sizing: border-box;\n}\n\n:where(*:not(slot)) {\n margin: 0;\n}\n\n:where(img, picture, video, canvas, svg) {\n display: block;\n max-width: 100%;\n}\n\n:where(input, button, textarea, select) {\n font: inherit;\n}\n\n:where(p, h1, h2, h3, h4, h5, h6) {\n overflow-wrap: break-word;\n}\n\n/*\n Additional Reset Styles\n*/\n:where(a:not([href]):not([class])) {\n color: currentColor;\n text-decoration: none;\n}\n\n:where(a:not([href]):not([class]):hover) {\n color: currentColor;\n text-decoration: none;\n}\n\n:where(ul[role='list'], ol[role='list']) {\n list-style: none;\n}\n\n:where(table) {\n border-collapse: collapse;\n border-spacing: 0;\n}\n\n/*\n Mercury Base Styles\n*/\n// Typography\n:where(*:not(slot)) {\n font: var(--pine-typography-body-md-default);\n letter-spacing: var(--pine-letter-spacing-body-md);\n}\n\n:where(h1, h2, h3, h4, h5, h6) {\n font-family: var(--pine-font-family-heading);\n color: var(--pine-color-grey-950);\n}\n\n:where(h1) {\n font: var(--pine-typography-heading-h1);\n letter-spacing: var(--pine-letter-spacing-heading-h1);\n}\n\n:where(h2) {\n font: var(--pine-typography-heading-h2);\n letter-spacing: var(--pine-letter-spacing-heading-h2);\n}\n\n:where(h3) {\n font: var(--pine-typography-heading-h3);\n letter-spacing: var(--pine-letter-spacing-heading-h3);\n}\n\n:where(h4) {\n font: var(--pine-typography-heading-h4);\n letter-spacing: var(--pine-letter-spacing-heading-h4);\n}\n\n:where(h5) {\n font: var(--pine-typography-heading-h5);\n letter-spacing: var(--pine-letter-spacing-heading-h5);\n}\n\n:where(h6) {\n font: var(--pine-typography-heading-h6);\n letter-spacing: var(--pine-letter-spacing-heading-h6);\n}\n\n:where(div, label, p, span) {\n color: var(--pine-color-text-default);\n}\n\n:where(code, kbd, pre, samp) {\n font-family: monospace;\n}\n\n// Accessibility\n:where([role=\"button\"]) {\n cursor: pointer;\n}\n\n:where(:focus) {\n outline: 0;\n}\n\n:where(:focus-visible) {\n outline: var(--pine-border-width-thick) solid var(--pine-color-purple-500);\n}\n\n// Misc.\n:where([hidden]) {\n display: none !important;\n}\n",":host {\n --color-background-default: var(--pine-color-grey-200);\n --spacing-offset-xxs: var(--pine-spacing-050);\n --spacing-offset-xs: var(--pine-spacing-100);\n --spacing-offset-sm: var(--pine-spacing-200);\n --spacing-offset-md: var(--pine-spacing-300);\n --spacing-offset-lg: var(--pine-spacing-450);\n --spacing-offset-xxl: var(--pine-spacing-800);\n}\n\n$pds-divider-offsets: (\n xxs: var(--spacing-offset-xxs),\n xs: var(--spacing-offset-xs),\n sm: var(--spacing-offset-sm),\n md: var(--spacing-offset-md),\n lg: var(--spacing-offset-lg),\n xl: var(--spacing-offset-xl),\n xxl: var(--spacing-offset-xxl),\n);\n\n.pds-divider {\n background: var(--color-background-default);\n border: 0;\n display: flex;\n height: 1px;\n margin: 0;\n width: 100%;\n}\n\n.pds-divider--vertical {\n height: 100%;\n width: 1px;\n}\n\n@each $offset, $value in $pds-divider-offsets {\n .pds-divider--offset-#{$offset} {\n margin: 0 calc($value * -1);\n padding: 0 $value;\n\n &.pds-divider--vertical {\n margin: calc($value * -1) 0;\n padding: $value 0;\n }\n }\n}\n\n@media (max-width: 767px) {\n .pds-divider--vertical {\n display: none;\n }\n}\n","import { Component, Prop, Host, h } from '@stencil/core';\n\n@Component({\n tag: 'pds-divider',\n styleUrls: ['../../global/styles/base.scss', 'pds-divider.scss'],\n shadow: true,\n})\nexport class PdsDivider {\n /**\n * A unique identifier used for the underlying component `id` attribute.\n */\n @Prop() componentId: string;\n\n /**\n * Adds offset margin/padding to expand the width (horizontal) or the height (vertical) of divider.\n */\n @Prop() offset: 'xxs' | 'xs' | 'sm' | 'md' | 'lg' | 'xl' | 'xxl';\n\n /**\n * Sets divider to display vertically.\n * @defaultValue false\n */\n @Prop() vertical = false;\n\n private classNames() {\n const classNames = ['pds-divider'];\n\n if (this.vertical) {\n classNames.push('pds-divider--vertical');\n }\n\n if (this.offset) {\n const offsetClassName = 'pds-divider--offset-' + this.offset;\n classNames.push(offsetClassName);\n }\n\n return classNames.join(' ');\n }\n\n render() {\n return (\n <Host id={this.componentId}>\n <hr class={this.classNames()} />\n </Host>\n );\n }\n}\n"],"version":3}
|
package/components/pds-image.js
CHANGED
|
@@ -21,9 +21,9 @@ const PdsImage$1 = /*@__PURE__*/ proxyCustomElement(class PdsImage extends HTMLE
|
|
|
21
21
|
this.width = undefined;
|
|
22
22
|
}
|
|
23
23
|
render() {
|
|
24
|
-
return (h(Host, { key: '
|
|
24
|
+
return (h(Host, { key: 'b74f7f59eadec75c48052e0760ef07ea0b5eb848', class: {
|
|
25
25
|
'pds-image': true,
|
|
26
|
-
}, id: this.componentId }, h("img", { key: '
|
|
26
|
+
}, id: this.componentId }, h("img", { key: '0e993e6d4cb70d73562cbcd3cf193080406adf7a', alt: this.alt, height: this.height, loading: this.loading, sizes: this.sizes, src: this.src, srcset: this.srcset, width: this.width })));
|
|
27
27
|
}
|
|
28
28
|
static get style() { return PdsImageStyle0 + PdsImageStyle1; }
|
|
29
29
|
}, [1, "pds-image", {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"pds-image.js","mappings":";;AAAA,MAAM,OAAO,GAAG,wrDAAwrD,CAAC;AACzsD,uBAAe,OAAO;;ACDtB,MAAM,WAAW,GAAG,0GAA0G,CAAC;AAC/H,uBAAe,WAAW;;MCMbA,UAAQ;;;;;
|
|
1
|
+
{"file":"pds-image.js","mappings":";;AAAA,MAAM,OAAO,GAAG,wrDAAwrD,CAAC;AACzsD,uBAAe,OAAO;;ACDtB,MAAM,WAAW,GAAG,0GAA0G,CAAC;AAC/H,uBAAe,WAAW;;MCMbA,UAAQ;;;;;mBAOJ,EAAE;;;uBAkBoB,OAAO;;;;;;IA2B5C,MAAM;QACJ,QACE,EAAC,IAAI,qDACH,KAAK,EAAE;gBACL,WAAW,EAAE,IAAI;aAClB,EACD,EAAE,EAAE,IAAI,CAAC,WAAW,IAEpB,4DACE,GAAG,EAAE,IAAI,CAAC,GAAG,EACb,MAAM,EAAE,IAAI,CAAC,MAAM,EACnB,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,GAAG,EAAE,IAAI,CAAC,GAAG,EACb,MAAM,EAAE,IAAI,CAAC,MAAM,EACnB,KAAK,EAAE,IAAI,CAAC,KAAK,GACjB,CACG,EACP;KACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["PdsImage"],"sources":["src/global/styles/base.scss?tag=pds-image&encapsulation=shadow","src/components/pds-image/pds-image.scss?tag=pds-image&encapsulation=shadow","src/components/pds-image/pds-image.tsx"],"sourcesContent":["// TODO: replace core tokens with semantic\n// Heading color + outline\n\n/*\n Josh's Custom CSS Reset\n https://www.joshwcomeau.com/css/custom-css-reset/\n*/\n:where(*:not(slot), *:not(slot)::before, *:not(slot)::after) {\n box-sizing: border-box;\n}\n\n:where(*:not(slot)) {\n margin: 0;\n}\n\n:where(img, picture, video, canvas, svg) {\n display: block;\n max-width: 100%;\n}\n\n:where(input, button, textarea, select) {\n font: inherit;\n}\n\n:where(p, h1, h2, h3, h4, h5, h6) {\n overflow-wrap: break-word;\n}\n\n/*\n Additional Reset Styles\n*/\n:where(a:not([href]):not([class])) {\n color: currentColor;\n text-decoration: none;\n}\n\n:where(a:not([href]):not([class]):hover) {\n color: currentColor;\n text-decoration: none;\n}\n\n:where(ul[role='list'], ol[role='list']) {\n list-style: none;\n}\n\n:where(table) {\n border-collapse: collapse;\n border-spacing: 0;\n}\n\n/*\n Mercury Base Styles\n*/\n// Typography\n:where(*:not(slot)) {\n font: var(--pine-typography-body-md-default);\n letter-spacing: var(--pine-letter-spacing-body-md);\n}\n\n:where(h1, h2, h3, h4, h5, h6) {\n font-family: var(--pine-font-family-heading);\n color: var(--pine-color-grey-950);\n}\n\n:where(h1) {\n font: var(--pine-typography-heading-h1);\n letter-spacing: var(--pine-letter-spacing-heading-h1);\n}\n\n:where(h2) {\n font: var(--pine-typography-heading-h2);\n letter-spacing: var(--pine-letter-spacing-heading-h2);\n}\n\n:where(h3) {\n font: var(--pine-typography-heading-h3);\n letter-spacing: var(--pine-letter-spacing-heading-h3);\n}\n\n:where(h4) {\n font: var(--pine-typography-heading-h4);\n letter-spacing: var(--pine-letter-spacing-heading-h4);\n}\n\n:where(h5) {\n font: var(--pine-typography-heading-h5);\n letter-spacing: var(--pine-letter-spacing-heading-h5);\n}\n\n:where(h6) {\n font: var(--pine-typography-heading-h6);\n letter-spacing: var(--pine-letter-spacing-heading-h6);\n}\n\n:where(div, label, p, span) {\n color: var(--pine-color-text-default);\n}\n\n:where(code, kbd, pre, samp) {\n font-family: monospace;\n}\n\n// Accessibility\n:where([role=\"button\"]) {\n cursor: pointer;\n}\n\n:where(:focus) {\n outline: 0;\n}\n\n:where(:focus-visible) {\n outline: var(--pine-border-width-thick) solid var(--pine-color-purple-500);\n}\n\n// Misc.\n:where([hidden]) {\n display: none !important;\n}\n",":host {\n /**\n * @prop --image-aspect-ratio: The image's aspect ratio.\n */\n\n --dimension-aspect-ratio: auto;\n display: inline-block;\n}\n\nimg {\n aspect-ratio: var(--dimension-aspect-ratio);\n}","import { Component, Host, h, Prop } from '@stencil/core';\n\n@Component({\n tag: 'pds-image',\n styleUrls: ['../../global/styles/base.scss', 'pds-image.scss'],\n shadow: true,\n})\nexport class PdsImage {\n /**\n * The image's alt tag. If none is provided,\n * it will default to an empty string, which is desired for\n * decorative images.\n * @defaultValue ''\n */\n @Prop() alt? = '';\n\n /**\n * A unique identifier used for the underlying component `id` attribute.\n */\n @Prop() componentId: string;\n\n /**\n * The height of the image in pixels. Setting this will\n * devote space in the layout to prevent layout\n * shifts when the image is loaded.\n */\n @Prop() height?: number;\n\n /**\n * Indicates how the browser should load the image.\n * @defaultValue eager\n */\n @Prop() loading?: 'eager' | 'lazy' = 'eager';\n\n /**\n * Determines the intended display size of an image\n * within certain breakpoints. Has no effect if `srcset`\n * is not set or value has no width descriptor.\n */\n @Prop() sizes?: string;\n\n /**\n * The image's source.\n */\n @Prop() src: string;\n\n /**\n * A set of image sources for the browser to use\n * for responsiveness.\n */\n @Prop() srcset?: string\n\n /**\n * The width of the image in pixels. Setting this will\n * devote space in the layout to prevent layout\n * shifts when the image is loaded.\n */\n @Prop() width?: number;\n\n render() {\n return (\n <Host\n class={{\n 'pds-image': true,\n }}\n id={this.componentId}\n >\n <img\n alt={this.alt}\n height={this.height}\n loading={this.loading}\n sizes={this.sizes}\n src={this.src}\n srcset={this.srcset}\n width={this.width}\n />\n </Host>\n );\n }\n}\n"],"version":3}
|
package/components/pds-input.js
CHANGED
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
import { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/core/internal/client';
|
|
2
2
|
import { P as PdsLabel, a as assignDescription, m as messageId } from './pds-label.js';
|
|
3
|
+
import { b as danger } from './index2.js';
|
|
4
|
+
import { d as defineCustomElement$2 } from './pds-icon2.js';
|
|
3
5
|
|
|
4
6
|
const baseCss = ":where(*:not(slot),*:not(slot)::before,*:not(slot)::after){-webkit-box-sizing:border-box;box-sizing:border-box}:where(*:not(slot)){margin:0}:where(img,picture,video,canvas,svg){display:block;max-width:100%}:where(input,button,textarea,select){font:inherit}:where(p,h1,h2,h3,h4,h5,h6){overflow-wrap:break-word}:where(a:not([href]):not([class])){color:currentColor;text-decoration:none}:where(a:not([href]):not([class]):hover){color:currentColor;text-decoration:none}:where(ul[role=list],ol[role=list]){list-style:none}:where(table){border-collapse:collapse;border-spacing:0}:where(*:not(slot)){font:var(--pine-typography-body-md-default);letter-spacing:var(--pine-letter-spacing-body-md)}:where(h1,h2,h3,h4,h5,h6){font-family:var(--pine-font-family-heading);color:var(--pine-color-grey-950)}:where(h1){font:var(--pine-typography-heading-h1);letter-spacing:var(--pine-letter-spacing-heading-h1)}:where(h2){font:var(--pine-typography-heading-h2);letter-spacing:var(--pine-letter-spacing-heading-h2)}:where(h3){font:var(--pine-typography-heading-h3);letter-spacing:var(--pine-letter-spacing-heading-h3)}:where(h4){font:var(--pine-typography-heading-h4);letter-spacing:var(--pine-letter-spacing-heading-h4)}:where(h5){font:var(--pine-typography-heading-h5);letter-spacing:var(--pine-letter-spacing-heading-h5)}:where(h6){font:var(--pine-typography-heading-h6);letter-spacing:var(--pine-letter-spacing-heading-h6)}:where(div,label,p,span){color:var(--pine-color-text-default)}:where(code,kbd,pre,samp){font-family:monospace}:where([role=button]){cursor:pointer}:where(:focus){outline:0}:where(:focus-visible){outline:var(--pine-border-width-thick) solid var(--pine-color-purple-500)}:where([hidden]){display:none !important}";
|
|
5
7
|
const PdsInputStyle0 = baseCss;
|
|
6
8
|
|
|
7
|
-
const pdsInputCss = ":host{--box-shadow-focus:0 0 0 1px #ffffff, 0 0 0 3px var(--pine-color-purple-300);--box-shadow-focus-error:0 0 0 1px #ffffff, 0 0 0 3px var(--pine-color-red-300);--color-background-disabled:var(--pine-color-grey-100);--color-background-error:var(--pine-color-red-050);--color-border-active:var(--pine-color-grey-400);--color-border-default:var(--pine-color-grey-300);--color-border-disabled:var(--pine-color-grey-200);--color-border-error:var(--pine-color-red-600);--color-border-hover:var(--pine-color-grey-500);--color-text-default:var(--pine-color-grey-950);--color-text-disabled:var(--pine-color-grey-600);--color-text-error:var(--pine-color-red-600);--color-text-placeholder:var(--pine-color-grey-600);--color-text-placeholder-disabled:var(--pine-color-grey-400);--font-size-helper-message:var(--pine-font-size-
|
|
9
|
+
const pdsInputCss = ":host{--box-shadow-focus:0 0 0 1px #ffffff, 0 0 0 3px var(--pine-color-purple-300);--box-shadow-focus-error:0 0 0 1px #ffffff, 0 0 0 3px var(--pine-color-red-300);--color-background-disabled:var(--pine-color-grey-100);--color-background-error:var(--pine-color-red-050);--color-border-active:var(--pine-color-grey-400);--color-border-default:var(--pine-color-grey-300);--color-border-disabled:var(--pine-color-grey-200);--color-border-error:var(--pine-color-red-600);--color-border-hover:var(--pine-color-grey-500);--color-text-default:var(--pine-color-grey-950);--color-text-disabled:var(--pine-color-grey-600);--color-text-error:var(--pine-color-red-600);--color-text-placeholder:var(--pine-color-grey-600);--color-text-placeholder-disabled:var(--pine-color-grey-400);--font-size-helper-message:var(--pine-font-size-085);--font-size-input-field:var(--pine-font-size-100);--font-size-label:var(--pine-font-size-100);--font-weight-helper-message:var(--pine-font-weight-normal);--font-weight-input-field:var(--pine-font-weight-normal);--font-weight-label:var(--pine-font-weight-medium);--line-height-label:var(--pine-line-height-150);--line-height-helper-message:var(--pine-line-height-125);--line-height-input-field:var(--pine-line-height-150);--spacing-field-padding-block:var(--pine-spacing-100);--spacing-input-field-padding-inline:var(--pine-spacing-200);--spacing-label-margin-block-end:var(--pine-spacing-100);--spacing-margin-top-helper-message:var(--pine-spacing-100);--spacing-icon-error-message:var(--pine-spacing-050);display:inline}.pds-input{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}label{font-size:var(--font-size-label);font-weight:var(--font-weight-label);line-height:var(--line-height-label);-webkit-margin-after:var(--spacing-label-margin-block-end);margin-block-end:var(--spacing-label-margin-block-end)}input{border:1px solid var(--color-border-default);border-radius:10px;font-size:var(--font-size-input-field);font-weight:var(--font-weight-input-field);line-height:var(--line-height-input-field);padding:var(--spacing-field-padding-block) var(--spacing-input-field-padding-inline);}input:disabled{background-color:var(--color-background-disabled);border-color:var(--color-border-disabled);color:var(--color-text-disabled);cursor:not-allowed;}input:disabled::-webkit-input-placeholder{color:var(--color-text-placeholder-disabled)}input:disabled::-moz-placeholder{color:var(--color-text-placeholder-disabled)}input:disabled::-moz-placeholder{color:var(--color-text-placeholder-disabled)}input:disabled:-ms-input-placeholder{color:var(--color-text-placeholder-disabled)}input:hover{border-color:var(--color-border-hover)}input:focus-visible{border-color:var(--color-border-active);-webkit-box-shadow:var(--box-shadow-focus);box-shadow:var(--box-shadow-focus);outline:none}input::-webkit-input-placeholder{color:var(--color-text-placeholder)}input::-moz-placeholder{color:var(--color-text-placeholder)}input::-moz-placeholder{color:var(--color-text-placeholder)}input:-ms-input-placeholder{color:var(--color-text-placeholder)}input:has(~.pds-input__error-message){background-color:var(--color-background-error);border-color:var(--color-border-error)}input:has(~.pds-input__error-message):focus-visible{-webkit-box-shadow:var(--box-shadow-focus-error);box-shadow:var(--box-shadow-focus-error);outline:none}.pds-input__error-message,.pds-input__helper-message{font-size:var(--font-size-helper-message);font-weight:var(--font-weight-helper-message);line-height:var(--line-height-helper-message);-webkit-margin-after:0;margin-block-end:0;-webkit-margin-before:var(--spacing-margin-top-helper-message);margin-block-start:var(--spacing-margin-top-helper-message)}.pds-input__error-message{-ms-flex-align:center;align-items:center;color:var(--color-text-error);display:-ms-flexbox;display:flex;font-size:var(--font-size-helper-message);gap:var(--spacing-icon-error-message)}";
|
|
8
10
|
const PdsInputStyle1 = pdsInputCss;
|
|
9
11
|
|
|
10
12
|
const PdsInput$1 = /*@__PURE__*/ proxyCustomElement(class PdsInput extends HTMLElement {
|
|
@@ -20,6 +22,7 @@ const PdsInput$1 = /*@__PURE__*/ proxyCustomElement(class PdsInput extends HTMLE
|
|
|
20
22
|
}
|
|
21
23
|
this.pdsInput.emit(ev);
|
|
22
24
|
};
|
|
25
|
+
this.autocomplete = undefined;
|
|
23
26
|
this.componentId = undefined;
|
|
24
27
|
this.disabled = undefined;
|
|
25
28
|
this.errorMessage = undefined;
|
|
@@ -34,12 +37,13 @@ const PdsInput$1 = /*@__PURE__*/ proxyCustomElement(class PdsInput extends HTMLE
|
|
|
34
37
|
this.value = undefined;
|
|
35
38
|
}
|
|
36
39
|
render() {
|
|
37
|
-
return (h(Host, { key: '
|
|
38
|
-
h("p", { key: '
|
|
39
|
-
h("p", { key: '
|
|
40
|
+
return (h(Host, { key: '2f805bb34305276216d5eb59b869b0a1e8d36745', "aria-disabled": this.disabled ? 'true' : null }, h("div", { key: 'c0a9c51f99aa746d0c8edda0306055e637cfcf98', class: "pds-input" }, h(PdsLabel, { key: '636c5aa772da49e1e84b29b6dde1191a71de0d5f', htmlFor: this.componentId, text: this.label }), h("input", { key: 'c9e5c281a2b5fe4e2c652bc44a9ad14e3d6b90c8', class: "pds-input__field", "aria-describedby": assignDescription(this.componentId, this.invalid, this.helperMessage), "aria-invalid": this.invalid ? "true" : undefined, autocomplete: this.autocomplete, disabled: this.disabled, id: this.componentId, name: this.name, placeholder: this.placeholder, readOnly: this.readonly, required: this.required, type: this.type, value: this.value, onInput: this.onInputEvent }), this.helperMessage &&
|
|
41
|
+
h("p", { key: '48c897acc4d26ab2e1a4e16e04ba0f730e5aeb72', class: "pds-input__helper-message", id: messageId(this.componentId, 'helper') }, this.helperMessage), this.errorMessage &&
|
|
42
|
+
h("p", { key: 'fe0ba7e0e0032983128c41a772f22d2c804345fb', class: "pds-input__error-message", id: messageId(this.componentId, 'error'), "aria-live": "assertive" }, h("pds-icon", { key: '6270eed8637a5342911e0947f462f592bbedddac', icon: danger, size: "small" }), this.errorMessage))));
|
|
40
43
|
}
|
|
41
44
|
static get style() { return PdsInputStyle0 + PdsInputStyle1; }
|
|
42
45
|
}, [1, "pds-input", {
|
|
46
|
+
"autocomplete": [1],
|
|
43
47
|
"componentId": [1, "component-id"],
|
|
44
48
|
"disabled": [4],
|
|
45
49
|
"errorMessage": [1, "error-message"],
|
|
@@ -57,13 +61,18 @@ function defineCustomElement$1() {
|
|
|
57
61
|
if (typeof customElements === "undefined") {
|
|
58
62
|
return;
|
|
59
63
|
}
|
|
60
|
-
const components = ["pds-input"];
|
|
64
|
+
const components = ["pds-input", "pds-icon"];
|
|
61
65
|
components.forEach(tagName => { switch (tagName) {
|
|
62
66
|
case "pds-input":
|
|
63
67
|
if (!customElements.get(tagName)) {
|
|
64
68
|
customElements.define(tagName, PdsInput$1);
|
|
65
69
|
}
|
|
66
70
|
break;
|
|
71
|
+
case "pds-icon":
|
|
72
|
+
if (!customElements.get(tagName)) {
|
|
73
|
+
defineCustomElement$2();
|
|
74
|
+
}
|
|
75
|
+
break;
|
|
67
76
|
} });
|
|
68
77
|
}
|
|
69
78
|
|