@pine-ds/core 2.1.1 → 2.1.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/index.d.ts +6 -0
- package/components/index.js +3 -0
- package/components/index.js.map +1 -1
- package/components/index2.js +3 -2
- package/components/index2.js.map +1 -1
- package/components/pds-button2.js +5 -3
- package/components/pds-button2.js.map +1 -1
- package/components/pds-checkbox2.js +12 -5
- package/components/pds-checkbox2.js.map +1 -1
- package/components/pds-chip.js +4 -4
- package/components/pds-chip.js.map +1 -1
- package/components/pds-copytext.js +1 -1
- package/components/pds-copytext.js.map +1 -1
- package/components/pds-divider.js +1 -1
- package/components/pds-divider.js.map +1 -1
- package/components/pds-image.js +2 -2
- package/components/pds-image.js.map +1 -1
- package/components/pds-input.js +12 -5
- package/components/pds-input.js.map +1 -1
- package/components/pds-link.js +2 -2
- package/components/pds-link.js.map +1 -1
- package/components/pds-loader.js +1 -1
- package/components/pds-popover.d.ts +11 -0
- package/components/pds-popover.js +94 -0
- package/components/pds-popover.js.map +1 -0
- package/components/pds-progress.js +1 -1
- package/components/pds-radio.js +16 -9
- package/components/pds-radio.js.map +1 -1
- package/components/pds-row.js +2 -2
- package/components/pds-row.js.map +1 -1
- package/components/pds-select.d.ts +11 -0
- package/components/pds-select.js +165 -0
- package/components/pds-select.js.map +1 -0
- package/components/pds-sortable-item.js +1 -1
- package/components/pds-sortable.js +1 -1
- package/components/pds-switch.js +12 -8
- package/components/pds-switch.js.map +1 -1
- package/components/pds-tab.js +3 -3
- package/components/pds-table-body.js +1 -1
- package/components/pds-table-cell2.js +2 -2
- package/components/pds-table-cell2.js.map +1 -1
- package/components/pds-table-head-cell2.js +3 -3
- package/components/pds-table-head-cell2.js.map +1 -1
- package/components/pds-table-head.js +1 -1
- package/components/pds-table-head.js.map +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-table.js.map +1 -1
- package/components/pds-tabpanel.js +1 -1
- package/components/pds-tabs.js +1 -1
- package/components/pds-text.d.ts +11 -0
- package/components/pds-text.js +58 -0
- package/components/pds-text.js.map +1 -0
- package/components/pds-textarea.js +13 -6
- package/components/pds-textarea.js.map +1 -1
- package/components/pds-tooltip.js +2 -2
- package/dist/cjs/{index-8f7870bb.js → index-3ad62856.js} +4 -2
- package/dist/cjs/index-3ad62856.js.map +1 -0
- package/dist/cjs/{index-8ad0cd9d.js → index-b7d9268e.js} +3 -2
- package/dist/cjs/index-b7d9268e.js.map +1 -0
- package/dist/cjs/index.cjs.js +1 -1
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/cjs/pds-accordion.cjs.entry.js +2 -2
- package/dist/cjs/pds-avatar.cjs.entry.js +2 -2
- package/dist/cjs/pds-box.cjs.entry.js +1 -1
- package/dist/cjs/pds-button.cjs.entry.js +5 -3
- package/dist/cjs/pds-button.cjs.entry.js.map +1 -1
- package/dist/cjs/pds-checkbox.cjs.entry.js +7 -6
- package/dist/cjs/pds-checkbox.cjs.entry.js.map +1 -1
- package/dist/cjs/pds-chip.cjs.entry.js +5 -5
- package/dist/cjs/pds-chip.cjs.entry.js.map +1 -1
- package/dist/cjs/pds-copytext.cjs.entry.js +3 -3
- package/dist/cjs/pds-copytext.cjs.entry.js.map +1 -1
- package/dist/cjs/pds-divider.cjs.entry.js +2 -2
- package/dist/cjs/pds-divider.cjs.entry.js.map +1 -1
- package/dist/cjs/pds-icon.cjs.entry.js +1 -1
- package/dist/cjs/pds-image.cjs.entry.js +3 -3
- package/dist/cjs/pds-image.cjs.entry.js.map +1 -1
- package/dist/cjs/pds-input.cjs.entry.js +7 -6
- package/dist/cjs/pds-input.cjs.entry.js.map +1 -1
- package/dist/cjs/{pds-label-35369959.js → pds-label-05f073ea.js} +2 -2
- package/dist/cjs/{pds-label-35369959.js.map → pds-label-05f073ea.js.map} +1 -1
- package/dist/cjs/pds-link.cjs.entry.js +4 -4
- package/dist/cjs/pds-link.cjs.entry.js.map +1 -1
- package/dist/cjs/pds-loader.cjs.entry.js +2 -2
- package/dist/cjs/pds-popover.cjs.entry.js +72 -0
- package/dist/cjs/pds-popover.cjs.entry.js.map +1 -0
- package/dist/cjs/pds-progress.cjs.entry.js +2 -2
- package/dist/cjs/pds-radio.cjs.entry.js +9 -8
- package/dist/cjs/pds-radio.cjs.entry.js.map +1 -1
- package/dist/cjs/pds-row.cjs.entry.js +3 -3
- package/dist/cjs/pds-row.cjs.entry.js.map +1 -1
- package/dist/cjs/pds-select.cjs.entry.js +131 -0
- package/dist/cjs/pds-select.cjs.entry.js.map +1 -0
- package/dist/cjs/pds-sortable-item.cjs.entry.js +3 -3
- package/dist/cjs/pds-sortable.cjs.entry.js +2 -2
- package/dist/cjs/pds-switch.cjs.entry.js +7 -9
- package/dist/cjs/pds-switch.cjs.entry.js.map +1 -1
- package/dist/cjs/pds-tab.cjs.entry.js +4 -4
- package/dist/cjs/pds-table-body.cjs.entry.js +2 -2
- package/dist/cjs/pds-table-cell.cjs.entry.js +3 -3
- package/dist/cjs/pds-table-cell.cjs.entry.js.map +1 -1
- package/dist/cjs/pds-table-head-cell.cjs.entry.js +4 -4
- package/dist/cjs/pds-table-head-cell.cjs.entry.js.map +1 -1
- package/dist/cjs/pds-table-head.cjs.entry.js +2 -2
- package/dist/cjs/pds-table-head.cjs.entry.js.map +1 -1
- package/dist/cjs/pds-table-row.cjs.entry.js +2 -2
- package/dist/cjs/pds-table-row.cjs.entry.js.map +1 -1
- package/dist/cjs/pds-table.cjs.entry.js +2 -2
- package/dist/cjs/pds-table.cjs.entry.js.map +1 -1
- package/dist/cjs/pds-tabpanel.cjs.entry.js +2 -2
- package/dist/cjs/pds-tabs.cjs.entry.js +2 -2
- package/dist/cjs/pds-text.cjs.entry.js +37 -0
- package/dist/cjs/pds-text.cjs.entry.js.map +1 -0
- package/dist/cjs/pds-textarea.cjs.entry.js +8 -7
- package/dist/cjs/pds-textarea.cjs.entry.js.map +1 -1
- package/dist/cjs/pds-tooltip.cjs.entry.js +3 -3
- package/dist/cjs/pine-core.cjs.js +2 -2
- package/dist/collection/collection-manifest.json +3 -0
- package/dist/collection/components/pds-button/pds-button.js +36 -11
- package/dist/collection/components/pds-button/pds-button.js.map +1 -1
- package/dist/collection/components/pds-button/stories/pds-button.stories.js +8 -1
- package/dist/collection/components/pds-checkbox/pds-checkbox.css +9 -1
- package/dist/collection/components/pds-checkbox/pds-checkbox.js +4 -3
- package/dist/collection/components/pds-checkbox/pds-checkbox.js.map +1 -1
- package/dist/collection/components/pds-chip/pds-chip.js +26 -26
- package/dist/collection/components/pds-chip/pds-chip.js.map +1 -1
- package/dist/collection/components/pds-copytext/pds-copytext.js +4 -4
- package/dist/collection/components/pds-copytext/pds-copytext.js.map +1 -1
- package/dist/collection/components/pds-divider/pds-divider.js +2 -2
- package/dist/collection/components/pds-divider/pds-divider.js.map +1 -1
- package/dist/collection/components/pds-image/pds-image.js +13 -7
- package/dist/collection/components/pds-image/pds-image.js.map +1 -1
- package/dist/collection/components/pds-input/pds-input.css +6 -1
- package/dist/collection/components/pds-input/pds-input.js +9 -8
- package/dist/collection/components/pds-input/pds-input.js.map +1 -1
- package/dist/collection/components/pds-link/pds-link.js +12 -9
- package/dist/collection/components/pds-link/pds-link.js.map +1 -1
- package/dist/collection/components/pds-loader/pds-loader.js +1 -1
- package/dist/collection/components/pds-popover/pds-popover.css +51 -0
- package/dist/collection/components/pds-popover/pds-popover.js +216 -0
- package/dist/collection/components/pds-popover/pds-popover.js.map +1 -0
- package/dist/collection/components/pds-popover/stories/pds-popover.stories.js +45 -0
- package/dist/collection/components/pds-progress/pds-progress.js +1 -1
- package/dist/collection/components/pds-radio/pds-radio.css +9 -1
- package/dist/collection/components/pds-radio/pds-radio.js +41 -40
- package/dist/collection/components/pds-radio/pds-radio.js.map +1 -1
- package/dist/collection/components/pds-row/pds-row.css +7 -5
- package/dist/collection/components/pds-row/pds-row.js +1 -1
- package/dist/collection/components/pds-select/pds-select.css +126 -0
- package/dist/collection/components/pds-select/pds-select.js +360 -0
- package/dist/collection/components/pds-select/pds-select.js.map +1 -0
- package/dist/collection/components/pds-select/stories/pds-select.stories.js +153 -0
- package/dist/collection/components/pds-sortable/pds-sortable-item/pds-sortable-item.js +1 -1
- package/dist/collection/components/pds-sortable/pds-sortable.js +1 -1
- package/dist/collection/components/pds-switch/pds-switch.css +10 -6
- package/dist/collection/components/pds-switch/pds-switch.js +14 -16
- package/dist/collection/components/pds-switch/pds-switch.js.map +1 -1
- package/dist/collection/components/pds-switch/stories/pds-switch.stories.js +2 -2
- package/dist/collection/components/pds-table/pds-table-body/pds-table-body.js +1 -1
- package/dist/collection/components/pds-table/pds-table-cell/pds-table-cell.js +2 -2
- package/dist/collection/components/pds-table/pds-table-cell/pds-table-cell.js.map +1 -1
- package/dist/collection/components/pds-table/pds-table-head/pds-table-head.js +7 -4
- package/dist/collection/components/pds-table/pds-table-head/pds-table-head.js.map +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-head-cell/pds-table-head-cell.js.map +1 -1
- package/dist/collection/components/pds-table/pds-table-row/pds-table-row.js +3 -3
- package/dist/collection/components/pds-table/pds-table-row/pds-table-row.js.map +1 -1
- package/dist/collection/components/pds-table/pds-table.js +4 -4
- package/dist/collection/components/pds-table/pds-table.js.map +1 -1
- package/dist/collection/components/pds-table/stories/pds-table.stories.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 +17 -16
- package/dist/collection/components/pds-textarea/pds-textarea.js.map +1 -1
- package/dist/collection/components/pds-textarea/stories/pds-textarea.stories.js +2 -2
- package/dist/collection/components/pds-tooltip/pds-tooltip.js +2 -2
- package/dist/collection/utils/types.js.map +1 -1
- package/dist/docs.json +1091 -165
- package/dist/esm/{index-5e7a8a36.js → index-56752d25.js} +4 -3
- package/dist/esm/index-56752d25.js.map +1 -0
- package/dist/esm/{index-8b335bbb.js → index-b1696fed.js} +3 -2
- package/dist/esm/index-b1696fed.js.map +1 -0
- package/dist/esm/index.js +1 -1
- package/dist/esm/loader.js +3 -3
- package/dist/esm/pds-accordion.entry.js +2 -2
- package/dist/esm/pds-avatar.entry.js +2 -2
- package/dist/esm/pds-box.entry.js +1 -1
- package/dist/esm/pds-button.entry.js +5 -3
- package/dist/esm/pds-button.entry.js.map +1 -1
- package/dist/esm/pds-checkbox.entry.js +7 -6
- package/dist/esm/pds-checkbox.entry.js.map +1 -1
- package/dist/esm/pds-chip.entry.js +5 -5
- package/dist/esm/pds-chip.entry.js.map +1 -1
- package/dist/esm/pds-copytext.entry.js +3 -3
- package/dist/esm/pds-copytext.entry.js.map +1 -1
- package/dist/esm/pds-divider.entry.js +2 -2
- package/dist/esm/pds-divider.entry.js.map +1 -1
- package/dist/esm/pds-icon.entry.js +1 -1
- package/dist/esm/pds-image.entry.js +3 -3
- package/dist/esm/pds-image.entry.js.map +1 -1
- package/dist/esm/pds-input.entry.js +7 -6
- package/dist/esm/pds-input.entry.js.map +1 -1
- package/dist/esm/{pds-label-1f80d632.js → pds-label-62469596.js} +2 -2
- package/dist/esm/{pds-label-1f80d632.js.map → pds-label-62469596.js.map} +1 -1
- package/dist/esm/pds-link.entry.js +4 -4
- package/dist/esm/pds-link.entry.js.map +1 -1
- package/dist/esm/pds-loader.entry.js +2 -2
- package/dist/esm/pds-popover.entry.js +68 -0
- package/dist/esm/pds-popover.entry.js.map +1 -0
- package/dist/esm/pds-progress.entry.js +2 -2
- package/dist/esm/pds-radio.entry.js +9 -8
- package/dist/esm/pds-radio.entry.js.map +1 -1
- package/dist/esm/pds-row.entry.js +3 -3
- package/dist/esm/pds-row.entry.js.map +1 -1
- package/dist/esm/pds-select.entry.js +127 -0
- package/dist/esm/pds-select.entry.js.map +1 -0
- package/dist/esm/pds-sortable-item.entry.js +3 -3
- package/dist/esm/pds-sortable.entry.js +2 -2
- package/dist/esm/pds-switch.entry.js +7 -9
- package/dist/esm/pds-switch.entry.js.map +1 -1
- package/dist/esm/pds-tab.entry.js +4 -4
- package/dist/esm/pds-table-body.entry.js +2 -2
- package/dist/esm/pds-table-cell.entry.js +3 -3
- package/dist/esm/pds-table-cell.entry.js.map +1 -1
- package/dist/esm/pds-table-head-cell.entry.js +4 -4
- package/dist/esm/pds-table-head-cell.entry.js.map +1 -1
- package/dist/esm/pds-table-head.entry.js +2 -2
- package/dist/esm/pds-table-head.entry.js.map +1 -1
- package/dist/esm/pds-table-row.entry.js +2 -2
- package/dist/esm/pds-table-row.entry.js.map +1 -1
- package/dist/esm/pds-table.entry.js +2 -2
- package/dist/esm/pds-table.entry.js.map +1 -1
- package/dist/esm/pds-tabpanel.entry.js +2 -2
- package/dist/esm/pds-tabs.entry.js +2 -2
- package/dist/esm/pds-text.entry.js +33 -0
- package/dist/esm/pds-text.entry.js.map +1 -0
- package/dist/esm/pds-textarea.entry.js +8 -7
- package/dist/esm/pds-textarea.entry.js.map +1 -1
- package/dist/esm/pds-tooltip.entry.js +3 -3
- package/dist/esm/pine-core.js +3 -3
- package/dist/esm-es5/index-56752d25.js +2 -0
- package/dist/esm-es5/index-56752d25.js.map +1 -0
- package/dist/esm-es5/{index-8b335bbb.js → index-b1696fed.js} +3 -3
- package/dist/esm-es5/index-b1696fed.js.map +1 -0
- package/dist/esm-es5/index.js +1 -1
- package/dist/esm-es5/loader.js +1 -1
- package/dist/esm-es5/loader.js.map +1 -1
- package/dist/esm-es5/pds-accordion.entry.js +1 -1
- package/dist/esm-es5/pds-avatar.entry.js +1 -1
- package/dist/esm-es5/pds-box.entry.js +1 -1
- package/dist/esm-es5/pds-button.entry.js +1 -1
- package/dist/esm-es5/pds-button.entry.js.map +1 -1
- package/dist/esm-es5/pds-checkbox.entry.js +1 -1
- package/dist/esm-es5/pds-checkbox.entry.js.map +1 -1
- package/dist/esm-es5/pds-chip.entry.js +1 -1
- package/dist/esm-es5/pds-chip.entry.js.map +1 -1
- package/dist/esm-es5/pds-copytext.entry.js +1 -1
- package/dist/esm-es5/pds-copytext.entry.js.map +1 -1
- package/dist/esm-es5/pds-divider.entry.js +1 -1
- package/dist/esm-es5/pds-divider.entry.js.map +1 -1
- package/dist/esm-es5/pds-icon.entry.js +1 -1
- package/dist/esm-es5/pds-image.entry.js +1 -1
- package/dist/esm-es5/pds-image.entry.js.map +1 -1
- package/dist/esm-es5/pds-input.entry.js +1 -1
- package/dist/esm-es5/pds-input.entry.js.map +1 -1
- package/dist/esm-es5/{pds-label-1f80d632.js → pds-label-62469596.js} +2 -2
- package/dist/esm-es5/pds-link.entry.js +1 -1
- package/dist/esm-es5/pds-link.entry.js.map +1 -1
- package/dist/esm-es5/pds-loader.entry.js +1 -1
- package/dist/esm-es5/pds-popover.entry.js +2 -0
- package/dist/esm-es5/pds-popover.entry.js.map +1 -0
- package/dist/esm-es5/pds-progress.entry.js +1 -1
- package/dist/esm-es5/pds-radio.entry.js +1 -1
- package/dist/esm-es5/pds-radio.entry.js.map +1 -1
- package/dist/esm-es5/pds-row.entry.js +1 -1
- package/dist/esm-es5/pds-row.entry.js.map +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-cell.entry.js.map +1 -1
- package/dist/esm-es5/pds-table-head-cell.entry.js +1 -1
- package/dist/esm-es5/pds-table-head-cell.entry.js.map +1 -1
- package/dist/esm-es5/pds-table-head.entry.js +1 -1
- package/dist/esm-es5/pds-table-head.entry.js.map +1 -1
- package/dist/esm-es5/pds-table-row.entry.js +1 -1
- package/dist/esm-es5/pds-table-row.entry.js.map +1 -1
- package/dist/esm-es5/pds-table.entry.js +1 -1
- package/dist/esm-es5/pds-table.entry.js.map +1 -1
- package/dist/esm-es5/pds-tabpanel.entry.js +1 -1
- package/dist/esm-es5/pds-tabs.entry.js +1 -1
- package/dist/esm-es5/pds-text.entry.js +2 -0
- package/dist/esm-es5/pds-text.entry.js.map +1 -0
- package/dist/esm-es5/pds-textarea.entry.js +1 -1
- package/dist/esm-es5/pds-textarea.entry.js.map +1 -1
- package/dist/esm-es5/pds-tooltip.entry.js +1 -1
- package/dist/esm-es5/pine-core.js +1 -1
- package/dist/esm-es5/pine-core.js.map +1 -1
- package/dist/pine-core/index.esm.js +1 -1
- package/dist/pine-core/p-00c8d6d8.entry.js +2 -0
- package/dist/pine-core/p-00c8d6d8.entry.js.map +1 -0
- package/dist/pine-core/{p-6deaad03.entry.js → p-031ac651.entry.js} +2 -2
- package/dist/pine-core/{p-6deaad03.entry.js.map → p-031ac651.entry.js.map} +1 -1
- package/dist/pine-core/{p-de0beb45.system.entry.js → p-09d83447.system.entry.js} +2 -2
- package/dist/pine-core/{p-de0beb45.system.entry.js.map → p-09d83447.system.entry.js.map} +1 -1
- package/dist/pine-core/{p-d464f04f.entry.js → p-0ac04129.entry.js} +2 -2
- package/dist/pine-core/{p-d464f04f.entry.js.map → p-0ac04129.entry.js.map} +1 -1
- package/dist/pine-core/p-0ad64b9d.system.entry.js +2 -0
- package/dist/pine-core/p-0ad64b9d.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-1164c32c.system.entry.js +2 -0
- package/dist/pine-core/p-1164c32c.system.entry.js.map +1 -0
- package/dist/pine-core/{p-e9ca5a4e.entry.js → p-1351489d.entry.js} +2 -2
- package/dist/pine-core/{p-e9ca5a4e.entry.js.map → p-1351489d.entry.js.map} +1 -1
- package/dist/pine-core/{p-3b780711.entry.js → p-1712d594.entry.js} +2 -2
- package/dist/pine-core/{p-d618d51b.entry.js → p-196f615c.entry.js} +2 -2
- package/dist/pine-core/{p-d618d51b.entry.js.map → p-196f615c.entry.js.map} +1 -1
- package/dist/pine-core/{p-4e39bbd7.system.entry.js → p-1a1a76ea.system.entry.js} +2 -2
- package/dist/pine-core/{p-e4a1b3f5.system.entry.js → p-1a548198.system.entry.js} +2 -2
- package/dist/pine-core/p-1a78ee21.entry.js +2 -0
- package/dist/pine-core/p-1a78ee21.entry.js.map +1 -0
- package/dist/pine-core/{p-89101362.system.entry.js → p-1df1990d.system.entry.js} +2 -2
- package/dist/pine-core/{p-1ca76e21.entry.js → p-1e80f274.entry.js} +2 -2
- package/dist/pine-core/{p-143bbe94.system.entry.js → p-2e1dc5e5.system.entry.js} +2 -2
- package/dist/pine-core/{p-143bbe94.system.entry.js.map → p-2e1dc5e5.system.entry.js.map} +1 -1
- package/dist/pine-core/{p-5f13c97b.entry.js → p-34cda8d5.system.entry.js} +2 -2
- package/dist/pine-core/p-34cda8d5.system.entry.js.map +1 -0
- package/dist/pine-core/{p-05d140a3.system.entry.js → p-364a7555.system.entry.js} +2 -2
- package/dist/pine-core/{p-5f23f121.entry.js → p-37a3c235.entry.js} +2 -2
- package/dist/pine-core/p-37a3c235.entry.js.map +1 -0
- package/dist/pine-core/{p-a18ff34f.entry.js → p-396014d3.entry.js} +2 -2
- package/dist/pine-core/{p-5fb6ab2f.entry.js → p-3acb18ad.entry.js} +2 -2
- package/dist/pine-core/p-3ae15266.entry.js +2 -0
- package/dist/pine-core/p-3ae15266.entry.js.map +1 -0
- package/dist/pine-core/{p-4c0c0b2d.system.js → p-45cf2585.system.js} +3 -3
- package/dist/pine-core/p-45cf2585.system.js.map +1 -0
- package/dist/pine-core/p-4a10164f.entry.js +2 -0
- package/dist/pine-core/p-4a10164f.entry.js.map +1 -0
- package/dist/pine-core/{p-136ea1e9.entry.js → p-4d22b02c.entry.js} +2 -2
- package/dist/pine-core/p-4f9b1945.entry.js +2 -0
- package/dist/pine-core/p-4f9b1945.entry.js.map +1 -0
- package/dist/pine-core/{p-70e5e466.system.entry.js → p-50918693.system.entry.js} +2 -2
- package/dist/pine-core/{p-188be548.entry.js → p-5380ad4f.entry.js} +2 -2
- package/dist/pine-core/{p-188be548.entry.js.map → p-5380ad4f.entry.js.map} +1 -1
- package/dist/pine-core/{p-e7648adc.system.entry.js → p-539fe011.system.entry.js} +2 -2
- package/dist/pine-core/{p-e7648adc.system.entry.js.map → p-539fe011.system.entry.js.map} +1 -1
- package/dist/pine-core/p-59a43f75.system.entry.js +2 -0
- package/dist/pine-core/p-59a43f75.system.entry.js.map +1 -0
- package/dist/pine-core/{p-0200fce9.entry.js → p-59fcea0f.entry.js} +2 -2
- package/dist/pine-core/p-5b9d6ad1.entry.js +2 -0
- package/dist/pine-core/p-5b9d6ad1.entry.js.map +1 -0
- 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-c18464e8.system.entry.js → p-5cb59e3f.system.entry.js} +2 -2
- package/dist/pine-core/{p-c18464e8.system.entry.js.map → p-5cb59e3f.system.entry.js.map} +1 -1
- package/dist/pine-core/p-605dc33a.system.entry.js +2 -0
- package/dist/pine-core/p-605dc33a.system.entry.js.map +1 -0
- package/dist/pine-core/p-630b1802.entry.js +2 -0
- package/dist/pine-core/p-630b1802.entry.js.map +1 -0
- package/dist/pine-core/{p-e2d793eb.entry.js → p-65229490.entry.js} +2 -2
- package/dist/pine-core/{p-f6e72c06.system.entry.js → p-6d447614.system.entry.js} +2 -2
- package/dist/pine-core/{p-f6e72c06.system.entry.js.map → p-6d447614.system.entry.js.map} +1 -1
- package/dist/pine-core/{p-62ebfe42.entry.js → p-760e1c32.entry.js} +2 -2
- package/dist/pine-core/{p-62ebfe42.entry.js.map → p-760e1c32.entry.js.map} +1 -1
- package/dist/pine-core/{p-33a94e8c.system.entry.js → p-84d36583.system.entry.js} +2 -2
- package/dist/pine-core/{p-4e6e2052.js → p-87fe352f.js} +3 -3
- package/dist/pine-core/p-87fe352f.js.map +1 -0
- package/dist/pine-core/p-88702fa2.entry.js +2 -0
- package/dist/pine-core/p-88702fa2.entry.js.map +1 -0
- package/dist/pine-core/{p-82a001ac.system.entry.js → p-88edcb41.system.entry.js} +2 -2
- package/dist/pine-core/{p-330eda0c.entry.js → p-892b4a4c.entry.js} +2 -2
- package/dist/pine-core/{p-c5991956.system.entry.js → p-8ae84655.system.entry.js} +2 -2
- package/dist/pine-core/{p-c5991956.system.entry.js.map → p-8ae84655.system.entry.js.map} +1 -1
- package/dist/pine-core/{p-7d6d3e2b.entry.js → p-9487df53.entry.js} +2 -2
- package/dist/pine-core/p-9db668f2.system.entry.js +2 -0
- package/dist/pine-core/p-9db668f2.system.entry.js.map +1 -0
- package/dist/pine-core/p-a24fa762.system.entry.js +2 -0
- package/dist/pine-core/p-a24fa762.system.entry.js.map +1 -0
- package/dist/pine-core/{p-3fc1efe7.system.entry.js → p-a2726d3b.system.entry.js} +2 -2
- package/dist/pine-core/{p-48f0a5a4.entry.js → p-a6713696.entry.js} +2 -2
- package/dist/pine-core/{p-48f0a5a4.entry.js.map → p-a6713696.entry.js.map} +1 -1
- package/dist/pine-core/{p-3ec7fac1.js → p-a9038f7f.js} +2 -2
- package/dist/pine-core/{p-9dec3592.system.entry.js → p-a9e02a6f.system.entry.js} +2 -2
- package/dist/pine-core/{p-1b611a91.system.entry.js → p-adda8682.system.entry.js} +2 -2
- package/dist/pine-core/{p-1b611a91.system.entry.js.map → p-adda8682.system.entry.js.map} +1 -1
- package/dist/pine-core/{p-1c0993d9.system.entry.js → p-ae19532d.system.entry.js} +2 -2
- package/dist/pine-core/{p-1c0993d9.system.entry.js.map → p-ae19532d.system.entry.js.map} +1 -1
- package/dist/pine-core/p-b3e36d77.system.entry.js +2 -0
- package/dist/pine-core/p-b3e36d77.system.entry.js.map +1 -0
- package/dist/pine-core/{p-0efee237.system.entry.js → p-b7edbe43.system.entry.js} +2 -2
- package/dist/pine-core/{p-0e310504.system.entry.js → p-b95522e6.system.entry.js} +2 -2
- package/dist/pine-core/{p-053ca95a.entry.js → p-b9cebd24.entry.js} +2 -2
- package/dist/pine-core/{p-053ca95a.entry.js.map → p-b9cebd24.entry.js.map} +1 -1
- package/dist/pine-core/{p-94a0fd6e.entry.js → p-bbd19258.entry.js} +2 -2
- 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-c8b0ea02.entry.js → p-ceb66096.entry.js} +3 -3
- package/dist/pine-core/{p-be998f90.system.entry.js → p-d3365f49.system.entry.js} +3 -3
- package/dist/pine-core/p-d83716fb.js +2 -0
- package/dist/pine-core/p-d83716fb.js.map +1 -0
- package/dist/pine-core/{p-02f06002.system.entry.js → p-d95b2469.system.entry.js} +2 -2
- package/dist/pine-core/{p-02f06002.system.entry.js.map → p-d95b2469.system.entry.js.map} +1 -1
- package/dist/pine-core/p-da5a1e2c.system.entry.js +2 -0
- package/dist/pine-core/p-da5a1e2c.system.entry.js.map +1 -0
- package/dist/pine-core/p-db622f8f.system.js +2 -0
- package/dist/pine-core/p-de301890.entry.js +2 -0
- package/dist/pine-core/p-de301890.entry.js.map +1 -0
- package/dist/pine-core/p-dec11fa5.system.js +2 -0
- package/dist/pine-core/p-dec11fa5.system.js.map +1 -0
- package/dist/pine-core/{p-a15c9c4f.entry.js → p-e2a673e8.entry.js} +2 -2
- package/dist/pine-core/{p-b78b3492.entry.js → p-e2badc55.entry.js} +2 -2
- package/dist/pine-core/{p-b78b3492.entry.js.map → p-e2badc55.entry.js.map} +1 -1
- package/dist/pine-core/{p-f408c34a.system.js → p-e3fab4be.system.js} +2 -2
- package/dist/pine-core/{p-5c90a600.entry.js → p-ebdaf3ad.entry.js} +2 -2
- package/dist/pine-core/{p-a4b85fb8.system.entry.js → p-f16ef73c.system.entry.js} +2 -2
- package/dist/pine-core/{p-9c294ea2.system.entry.js → p-faa2bf05.system.entry.js} +2 -2
- package/dist/pine-core/p-faa2bf05.system.entry.js.map +1 -0
- package/dist/pine-core/pine-core.esm.js +1 -1
- package/dist/pine-core/pine-core.esm.js.map +1 -1
- package/dist/pine-core/pine-core.js +1 -1
- package/dist/pine-core/svg/file-add.svg +1 -1
- package/dist/pine-core/svg/file-search.svg +1 -0
- package/dist/pine-core/svg/logo-snapchat.svg +1 -0
- package/dist/types/components/pds-button/pds-button.d.ts +13 -8
- 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 +5 -5
- package/dist/types/components/pds-link/pds-link.d.ts +7 -11
- package/dist/types/components/pds-popover/pds-popover.d.ts +45 -0
- package/dist/types/components/pds-radio/pds-radio.d.ts +11 -11
- package/dist/types/components/pds-select/pds-select.d.ts +91 -0
- package/dist/types/components/pds-switch/pds-switch.d.ts +10 -13
- package/dist/types/components/pds-table/pds-table-cell/pds-table-cell.d.ts +4 -0
- package/dist/types/components/pds-table/pds-table-head/pds-table-head.d.ts +5 -2
- package/dist/types/components/pds-table/pds-table-head-cell/pds-table-head-cell.d.ts +9 -1
- package/dist/types/components/pds-table/pds-table-row/pds-table-row.d.ts +3 -3
- package/dist/types/components/pds-table/pds-table.d.ts +11 -3
- package/dist/types/components/pds-text/pds-text.d.ts +27 -0
- package/dist/types/components/pds-textarea/pds-textarea.d.ts +12 -12
- package/dist/types/components.d.ts +457 -105
- package/dist/types/utils/types.d.ts +1 -1
- package/hydrate/index.js +334 -67
- package/hydrate/index.mjs +334 -67
- package/package.json +2 -2
- package/dist/cjs/index-8ad0cd9d.js.map +0 -1
- package/dist/cjs/index-8f7870bb.js.map +0 -1
- package/dist/esm/index-5e7a8a36.js.map +0 -1
- package/dist/esm/index-8b335bbb.js.map +0 -1
- package/dist/esm-es5/index-5e7a8a36.js +0 -2
- package/dist/esm-es5/index-5e7a8a36.js.map +0 -1
- package/dist/esm-es5/index-8b335bbb.js.map +0 -1
- package/dist/pine-core/p-0186301f.entry.js +0 -2
- package/dist/pine-core/p-0186301f.entry.js.map +0 -1
- package/dist/pine-core/p-0630403a.entry.js +0 -2
- package/dist/pine-core/p-0630403a.entry.js.map +0 -1
- package/dist/pine-core/p-102222fd.entry.js +0 -2
- package/dist/pine-core/p-102222fd.entry.js.map +0 -1
- package/dist/pine-core/p-242ccc24.system.entry.js +0 -2
- package/dist/pine-core/p-242ccc24.system.entry.js.map +0 -1
- package/dist/pine-core/p-30d979d3.entry.js +0 -2
- package/dist/pine-core/p-30d979d3.entry.js.map +0 -1
- package/dist/pine-core/p-3cad7587.entry.js +0 -2
- package/dist/pine-core/p-3cad7587.entry.js.map +0 -1
- package/dist/pine-core/p-3e0449c5.js +0 -2
- package/dist/pine-core/p-3e0449c5.js.map +0 -1
- package/dist/pine-core/p-4c0c0b2d.system.js.map +0 -1
- package/dist/pine-core/p-4e6e2052.js.map +0 -1
- package/dist/pine-core/p-51e94e03.system.js +0 -2
- package/dist/pine-core/p-51e94e03.system.js.map +0 -1
- package/dist/pine-core/p-55f8a9e4.system.entry.js +0 -2
- package/dist/pine-core/p-55f8a9e4.system.entry.js.map +0 -1
- package/dist/pine-core/p-57dd9a98.system.entry.js +0 -2
- package/dist/pine-core/p-57dd9a98.system.entry.js.map +0 -1
- package/dist/pine-core/p-5b43ff39.system.entry.js +0 -2
- package/dist/pine-core/p-5b43ff39.system.entry.js.map +0 -1
- package/dist/pine-core/p-5f13c97b.entry.js.map +0 -1
- package/dist/pine-core/p-5f23f121.entry.js.map +0 -1
- package/dist/pine-core/p-6bcd89dc.system.js +0 -2
- package/dist/pine-core/p-6bcd89dc.system.js.map +0 -1
- package/dist/pine-core/p-82096fe4.system.entry.js +0 -2
- package/dist/pine-core/p-82096fe4.system.entry.js.map +0 -1
- package/dist/pine-core/p-8d34339d.system.js +0 -2
- package/dist/pine-core/p-9c294ea2.system.entry.js.map +0 -1
- package/dist/pine-core/p-d438c2c8.system.entry.js +0 -2
- package/dist/pine-core/p-d438c2c8.system.entry.js.map +0 -1
- package/dist/pine-core/p-e22b4427.system.entry.js +0 -2
- package/dist/pine-core/p-e22b4427.system.entry.js.map +0 -1
- package/dist/pine-core/p-efca871b.entry.js +0 -2
- package/dist/pine-core/p-efca871b.entry.js.map +0 -1
- /package/dist/esm-es5/{pds-label-1f80d632.js.map → pds-label-62469596.js.map} +0 -0
- /package/dist/pine-core/{p-3b780711.entry.js.map → p-1712d594.entry.js.map} +0 -0
- /package/dist/pine-core/{p-4e39bbd7.system.entry.js.map → p-1a1a76ea.system.entry.js.map} +0 -0
- /package/dist/pine-core/{p-e4a1b3f5.system.entry.js.map → p-1a548198.system.entry.js.map} +0 -0
- /package/dist/pine-core/{p-89101362.system.entry.js.map → p-1df1990d.system.entry.js.map} +0 -0
- /package/dist/pine-core/{p-1ca76e21.entry.js.map → p-1e80f274.entry.js.map} +0 -0
- /package/dist/pine-core/{p-05d140a3.system.entry.js.map → p-364a7555.system.entry.js.map} +0 -0
- /package/dist/pine-core/{p-a18ff34f.entry.js.map → p-396014d3.entry.js.map} +0 -0
- /package/dist/pine-core/{p-5fb6ab2f.entry.js.map → p-3acb18ad.entry.js.map} +0 -0
- /package/dist/pine-core/{p-136ea1e9.entry.js.map → p-4d22b02c.entry.js.map} +0 -0
- /package/dist/pine-core/{p-70e5e466.system.entry.js.map → p-50918693.system.entry.js.map} +0 -0
- /package/dist/pine-core/{p-0200fce9.entry.js.map → p-59fcea0f.entry.js.map} +0 -0
- /package/dist/pine-core/{p-e2d793eb.entry.js.map → p-65229490.entry.js.map} +0 -0
- /package/dist/pine-core/{p-33a94e8c.system.entry.js.map → p-84d36583.system.entry.js.map} +0 -0
- /package/dist/pine-core/{p-82a001ac.system.entry.js.map → p-88edcb41.system.entry.js.map} +0 -0
- /package/dist/pine-core/{p-330eda0c.entry.js.map → p-892b4a4c.entry.js.map} +0 -0
- /package/dist/pine-core/{p-7d6d3e2b.entry.js.map → p-9487df53.entry.js.map} +0 -0
- /package/dist/pine-core/{p-3fc1efe7.system.entry.js.map → p-a2726d3b.system.entry.js.map} +0 -0
- /package/dist/pine-core/{p-3ec7fac1.js.map → p-a9038f7f.js.map} +0 -0
- /package/dist/pine-core/{p-9dec3592.system.entry.js.map → p-a9e02a6f.system.entry.js.map} +0 -0
- /package/dist/pine-core/{p-0efee237.system.entry.js.map → p-b7edbe43.system.entry.js.map} +0 -0
- /package/dist/pine-core/{p-0e310504.system.entry.js.map → p-b95522e6.system.entry.js.map} +0 -0
- /package/dist/pine-core/{p-94a0fd6e.entry.js.map → p-bbd19258.entry.js.map} +0 -0
- /package/dist/pine-core/{p-c8b0ea02.entry.js.map → p-ceb66096.entry.js.map} +0 -0
- /package/dist/pine-core/{p-be998f90.system.entry.js.map → p-d3365f49.system.entry.js.map} +0 -0
- /package/dist/pine-core/{p-8d34339d.system.js.map → p-db622f8f.system.js.map} +0 -0
- /package/dist/pine-core/{p-a15c9c4f.entry.js.map → p-e2a673e8.entry.js.map} +0 -0
- /package/dist/pine-core/{p-f408c34a.system.js.map → p-e3fab4be.system.js.map} +0 -0
- /package/dist/pine-core/{p-5c90a600.entry.js.map → p-ebdaf3ad.entry.js.map} +0 -0
- /package/dist/pine-core/{p-a4b85fb8.system.entry.js.map → p-f16ef73c.system.entry.js.map} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["baseCss","PdsTableCellStyle0","pdsTableCellCss","PdsTableCellStyle1","PdsTableCell","this","handleScroll","_this","tableRef","scrollLeft","tableScrolling","prototype","componentWillRender","hostElement","closest","componentDidLoad","responsive","fixedColumn","addEventListener","classNames","compact","push","truncate","join","render","h","Host","key","class","role","style","selectable"],"sources":["src/global/styles/base.scss?tag=pds-table-cell&encapsulation=shadow","src/components/pds-table/pds-table-cell/pds-table-cell.scss?tag=pds-table-cell&encapsulation=shadow","src/components/pds-table/pds-table-cell/pds-table-cell.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-fixed: 3px 3px 6px -2px rgba(0, 0, 0, 0.2);\n\n --color-background-fixed: var(--pine-color-white);\n --color-text-cell-default: var(--pine-color-grey-700);\n\n --dimension-fixed-cell-position: 0;\n --dimension-max-width-truncated: 100px;\n\n --letter-spacing-default: var(--pine-letter-spacing-body-md);\n\n --number-fixed-column-index: 0;\n\n --spacing-line-height-cell-default: var(--pine-line-height-125);\n --spacing-padding-cell-default: calc(var(--pine-spacing-300) / 2);\n --spacing-padding-compact: var(--pine-spacing-050);\n\n --typography-default: var(--pine-typography-body-md-default);\n\n color: var(--color-text-cell-default);\n display: table-cell;\n font: var(--typography-default);\n letter-spacing: var(--letter-spacing-default);\n padding: var(--spacing-padding-cell-default);\n vertical-align: inherit;\n}\n\n:host(.is-compact) {\n padding-block: var(--spacing-padding-compact);\n}\n\n:host(.is-fixed) {\n background: var(--color-background-fixed);\n left: var(--dimension-fixed-cell-position);\n position: sticky;\n z-index: 1;\n}\n\n// box shadow when table has scrolled and cell is fixed\n:host(.has-scrolled.is-fixed) {\n box-shadow: var(--box-shadow-fixed);\n}\n\n:host(.is-truncated) {\n max-width: var(--dimension-max-width-truncated);\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n:host(.has-checkbox) {\n vertical-align: middle;\n width: 16px;\n}\n","import { Component, Element, Host, Prop, State, h } from '@stencil/core';\n\n@Component({\n tag: 'pds-table-cell',\n styleUrls: ['../../../global/styles/base.scss', 'pds-table-cell.scss'],\n shadow: true,\n})\nexport class PdsTableCell {\n @Element() hostElement: HTMLPdsTableCellElement;\n private tableRef: HTMLPdsTableElement;\n\n componentWillRender() {\n this.tableRef = this.hostElement.closest('pds-table') as HTMLPdsTableElement;\n }\n\n componentDidLoad() {\n if (this.tableRef && this.tableRef.responsive && this.tableRef.fixedColumn) {\n this.tableRef.addEventListener('scroll', this.handleScroll);\n }\n }\n\n /**\n * Truncates content to a max width of 100px and adds an ellipsis.\n */\n @Prop() truncate: boolean;\n\n @State() private tableScrolling: boolean = false;\n\n private classNames() {\n const classNames = [];\n\n if (this.tableRef && this.tableRef.compact) {\n classNames.push('is-compact');\n }\n\n if (this.truncate) {\n classNames.push('is-truncated');\n }\n\n if (this.tableRef && this.tableRef.fixedColumn && this.tableScrolling) {\n classNames.push('has-scrolled');\n }\n\n return classNames.join(' ');\n }\n\n private handleScroll = () => {\n if (this.tableRef.scrollLeft > 0) {\n this.tableScrolling = true;\n } else {\n this.tableScrolling = false;\n }\n };\n\n render() {\n return (\n <Host\n class={this.classNames()}\n role=\"gridcell\"\n style={\n this.tableRef &&\n this.tableRef.fixedColumn &&\n this.tableRef.selectable\n ? { '--fixed-cell-position': '40px' }\n : {}\n }\n >\n <slot></slot>\n </Host>\n );\n }\n}\n"],"mappings":"mFAAA,IAAMA,QAAU,yrDAChB,IAAAC,mBAAeD,QCDf,IAAME,gBAAkB,mvCACxB,IAAAC,mBAAeD,gB,ICMFE,aAAY,W,
|
|
1
|
+
{"version":3,"names":["baseCss","PdsTableCellStyle0","pdsTableCellCss","PdsTableCellStyle1","PdsTableCell","this","handleScroll","_this","tableRef","scrollLeft","tableScrolling","prototype","componentWillRender","hostElement","closest","componentDidLoad","responsive","fixedColumn","addEventListener","classNames","compact","push","truncate","join","render","h","Host","key","class","role","style","selectable"],"sources":["src/global/styles/base.scss?tag=pds-table-cell&encapsulation=shadow","src/components/pds-table/pds-table-cell/pds-table-cell.scss?tag=pds-table-cell&encapsulation=shadow","src/components/pds-table/pds-table-cell/pds-table-cell.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-fixed: 3px 3px 6px -2px rgba(0, 0, 0, 0.2);\n\n --color-background-fixed: var(--pine-color-white);\n --color-text-cell-default: var(--pine-color-grey-700);\n\n --dimension-fixed-cell-position: 0;\n --dimension-max-width-truncated: 100px;\n\n --letter-spacing-default: var(--pine-letter-spacing-body-md);\n\n --number-fixed-column-index: 0;\n\n --spacing-line-height-cell-default: var(--pine-line-height-125);\n --spacing-padding-cell-default: calc(var(--pine-spacing-300) / 2);\n --spacing-padding-compact: var(--pine-spacing-050);\n\n --typography-default: var(--pine-typography-body-md-default);\n\n color: var(--color-text-cell-default);\n display: table-cell;\n font: var(--typography-default);\n letter-spacing: var(--letter-spacing-default);\n padding: var(--spacing-padding-cell-default);\n vertical-align: inherit;\n}\n\n:host(.is-compact) {\n padding-block: var(--spacing-padding-compact);\n}\n\n:host(.is-fixed) {\n background: var(--color-background-fixed);\n left: var(--dimension-fixed-cell-position);\n position: sticky;\n z-index: 1;\n}\n\n// box shadow when table has scrolled and cell is fixed\n:host(.has-scrolled.is-fixed) {\n box-shadow: var(--box-shadow-fixed);\n}\n\n:host(.is-truncated) {\n max-width: var(--dimension-max-width-truncated);\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n:host(.has-checkbox) {\n vertical-align: middle;\n width: 16px;\n}\n","import { Component, Element, Host, Prop, State, h } from '@stencil/core';\n\n@Component({\n tag: 'pds-table-cell',\n styleUrls: ['../../../global/styles/base.scss', 'pds-table-cell.scss'],\n shadow: true,\n})\nexport class PdsTableCell {\n @Element() hostElement: HTMLPdsTableCellElement;\n private tableRef: HTMLPdsTableElement;\n\n componentWillRender() {\n this.tableRef = this.hostElement.closest('pds-table') as HTMLPdsTableElement;\n }\n\n componentDidLoad() {\n if (this.tableRef && this.tableRef.responsive && this.tableRef.fixedColumn) {\n this.tableRef.addEventListener('scroll', this.handleScroll);\n }\n }\n\n /**\n * Truncates content to a max width of 100px and adds an ellipsis.\n */\n @Prop() truncate: boolean;\n\n /**\n * Determines if the table is currently scrolling.\n * @defaultValue false\n */\n @State() private tableScrolling: boolean = false;\n\n private classNames() {\n const classNames = [];\n\n if (this.tableRef && this.tableRef.compact) {\n classNames.push('is-compact');\n }\n\n if (this.truncate) {\n classNames.push('is-truncated');\n }\n\n if (this.tableRef && this.tableRef.fixedColumn && this.tableScrolling) {\n classNames.push('has-scrolled');\n }\n\n return classNames.join(' ');\n }\n\n private handleScroll = () => {\n if (this.tableRef.scrollLeft > 0) {\n this.tableScrolling = true;\n } else {\n this.tableScrolling = false;\n }\n };\n\n render() {\n return (\n <Host\n class={this.classNames()}\n role=\"gridcell\"\n style={\n this.tableRef &&\n this.tableRef.fixedColumn &&\n this.tableRef.selectable\n ? { '--fixed-cell-position': '40px' }\n : {}\n }\n >\n <slot></slot>\n </Host>\n );\n }\n}\n"],"mappings":"mFAAA,IAAMA,QAAU,yrDAChB,IAAAC,mBAAeD,QCDf,IAAME,gBAAkB,mvCACxB,IAAAC,mBAAeD,gB,ICMFE,aAAY,W,kDA2CfC,KAAAC,aAAe,WACrB,GAAIC,EAAKC,SAASC,WAAa,EAAG,CAChCF,EAAKG,eAAiB,I,KACjB,CACLH,EAAKG,eAAiB,K,+CAxBiB,K,CAnB3CN,EAAAO,UAAAC,oBAAA,WACEP,KAAKG,SAAWH,KAAKQ,YAAYC,QAAQ,Y,EAG3CV,EAAAO,UAAAI,iBAAA,WACE,GAAIV,KAAKG,UAAYH,KAAKG,SAASQ,YAAcX,KAAKG,SAASS,YAAa,CAC1EZ,KAAKG,SAASU,iBAAiB,SAAUb,KAAKC,a,GAe1CF,EAAAO,UAAAQ,WAAA,WACN,IAAMA,EAAa,GAEnB,GAAId,KAAKG,UAAYH,KAAKG,SAASY,QAAS,CAC1CD,EAAWE,KAAK,a,CAGlB,GAAIhB,KAAKiB,SAAU,CACjBH,EAAWE,KAAK,e,CAGlB,GAAIhB,KAAKG,UAAYH,KAAKG,SAASS,aAAeZ,KAAKK,eAAgB,CACrES,EAAWE,KAAK,e,CAGlB,OAAOF,EAAWI,KAAK,I,EAWzBnB,EAAAO,UAAAa,OAAA,WACE,OACEC,EAACC,KAAI,CAAAC,IAAA,2CACHC,MAAOvB,KAAKc,aACZU,KAAK,WACLC,MACEzB,KAAKG,UACLH,KAAKG,SAASS,aACdZ,KAAKG,SAASuB,WACV,CAAE,wBAAyB,QAC3B,IAGNN,EAAA,QAAAE,IAAA,6C,yIAhEiB,G","ignoreList":[]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{r as registerInstance,c as createEvent,h,H as Host,g as getElement}from"./index-
|
|
1
|
+
import{r as registerInstance,c as createEvent,h,H as Host,g as getElement}from"./index-b1696fed.js";import{f as upSmall,d as downSmall}from"./index-56752d25.js";var 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}";var PdsTableHeadCellStyle0=baseCss;var pdsTableHeadCellCss=":host{--border-head-cell-default:var(--pine-border-width-thin) solid var(--pine-color-grey-100);--box-shadow-default:3px 3px 6px -2px rgba(0, 0, 0, 0.1);--color-background-fixed:var(--pine-color-white);--color-text-default:var(--pine-color-grey-800);--color-text-active:var(--pine-color-grey-950);--dimension-fixed-cell-position:0;--letter-spacing-default:var(--pine-letter-spacing-body-md);--padding-cell-default:calc(var(--pine-spacing-300) / 2);--spacing-margin-inline-start-arrow:var(--pine-spacing-050);--spacing-padding-arrow:calc(var(--pine-spacing-050) / 2);--spacing-padding-block-compact:var(--pine-spacing-050);--typography-default:var(--pine-typography-body-md-medium);-webkit-border-after:var(--border-head-cell-default);border-block-end:var(--border-head-cell-default);color:var(--color-text-default);display:table-cell;font:var(--typography-default);padding:var(--padding-cell-default);text-align:start;vertical-align:inherit}:host(.is-compact){padding-block:var(--spacing-padding-block-compact)}:host(.is-fixed){background:var(--color-background-fixed);left:var(--dimension-fixed-cell-position);position:-webkit-sticky;position:sticky;z-index:1}:host(.has-scrolled.is-fixed){-webkit-box-shadow:var(--box-shadow-default);box-shadow:var(--box-shadow-default)}:host(.is-sortable){cursor:pointer}:host(.is-sortable) pds-icon{-webkit-margin-start:var(--spacing-margin-inline-start-arrow);margin-inline-start:var(--spacing-margin-inline-start-arrow);-webkit-padding-before:var(--spacing-padding-arrow);padding-block-start:var(--spacing-padding-arrow);position:absolute}:host(.is-sortable:hover),:host(.is-active){color:var(--color-text-active)}";var PdsTableHeadCellStyle1=pdsTableHeadCellCss;var PdsTableHeadCell=function(){function e(e){var a=this;registerInstance(this,e);this.pdsTableSort=createEvent(this,"pdsTableSort",7);this.handleScroll=function(){if(a.tableRef.scrollLeft>0){a.tableScrolling=true}else{a.tableScrolling=false}};this.toggleSort=function(){if(a.sortable){var e=a.hostElement.innerText.trim();a.sortingDirection=a.sortingDirection==="asc"?"desc":"asc";a.tableRef.querySelectorAll("pds-table-head-cell").forEach((function(e){e.classList.remove("is-active")}));a.hostElement.classList.toggle("is-active");a.pdsTableSort.emit({column:e,direction:a.sortingDirection})}};this.sortable=undefined;this.sortingDirection="asc";this.tableScrolling=false;this.isSelected=false}e.prototype.componentWillRender=function(){this.tableRef=this.hostElement.closest("pds-table")};e.prototype.componentDidLoad=function(){if(this.tableRef&&this.tableRef.responsive&&this.tableRef.fixedColumn){this.tableRef.addEventListener("scroll",this.handleScroll)}};e.prototype.classNames=function(){var e=[];if(this.tableRef&&this.tableRef.compact){e.push("is-compact")}if(this.sortable){e.push("is-sortable")}if(this.sortable&&this.sortingDirection!==null){e.push("sort-"+this.sortingDirection)}if(this.tableRef&&this.tableRef.fixedColumn&&this.tableScrolling){e.push("has-scrolled")}return e.join(" ")};e.prototype.render=function(){return h(Host,{key:"dcb6684146176db2dfc73c99ead82af732ef1f72",class:this.classNames(),role:"columnheader",onClick:this.toggleSort,style:this.tableRef&&this.tableRef.fixedColumn&&this.tableRef.selectable?{"--fixed-cell-position":"40px"}:{}},h("slot",{key:"ea960d9245e41ce504083f2645aa01bd3a9404f0"}),this.sortable&&h("pds-icon",{key:"dfa59925bbda74da7b2a3bf87f448cf323ff6342",icon:this.sortingDirection==="asc"?upSmall:downSmall}))};Object.defineProperty(e.prototype,"hostElement",{get:function(){return getElement(this)},enumerable:false,configurable:true});return e}();PdsTableHeadCell.style=PdsTableHeadCellStyle0+PdsTableHeadCellStyle1;export{PdsTableHeadCell as pds_table_head_cell};
|
|
2
2
|
//# sourceMappingURL=pds-table-head-cell.entry.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["baseCss","PdsTableHeadCellStyle0","pdsTableHeadCellCss","PdsTableHeadCellStyle1","PdsTableHeadCell","this","handleScroll","_this","tableRef","scrollLeft","tableScrolling","toggleSort","sortable","column","hostElement","innerText","trim","sortingDirection","querySelectorAll","forEach","headCell","classList","remove","toggle","pdsTableSort","emit","direction","prototype","componentWillRender","closest","componentDidLoad","responsive","fixedColumn","addEventListener","classNames","compact","push","join","render","h","Host","key","class","role","onClick","style","selectable","icon","upSmall","downSmall"],"sources":["src/global/styles/base.scss?tag=pds-table-head-cell&encapsulation=shadow","src/components/pds-table/pds-table-head-cell/pds-table-head-cell.scss?tag=pds-table-head-cell&encapsulation=shadow","src/components/pds-table/pds-table-head-cell/pds-table-head-cell.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-head-cell-default: var(--pine-border-width-thin) solid var(--pine-color-grey-100);\n\n --box-shadow-default: 3px 3px 6px -2px rgba(0, 0, 0, 0.1);\n\n --color-background-fixed: var(--pine-color-white);\n --color-text-default: var(--pine-color-grey-800);\n --color-text-active: var(--pine-color-grey-950);\n\n --dimension-fixed-cell-position: 0;\n\n --letter-spacing-default: var(--pine-letter-spacing-body-md);\n\n --padding-cell-default: calc(var(--pine-spacing-300) / 2);\n\n --spacing-margin-inline-start-arrow: var(--pine-spacing-050);\n --spacing-padding-arrow: calc(var(--pine-spacing-050) / 2);\n --spacing-padding-block-compact: var(--pine-spacing-050);\n\n --typography-default: var(--pine-typography-body-md-medium);\n\n border-block-end: var(--border-head-cell-default);\n color: var(--color-text-default);\n display: table-cell;\n font: var(--typography-default);\n padding: var(--padding-cell-default);\n text-align: start;\n vertical-align: inherit;\n}\n\n:host(.is-compact) {\n padding-block: var(--spacing-padding-block-compact)\n}\n\n:host(.is-fixed) {\n background: var(--color-background-fixed);\n left: var(--dimension-fixed-cell-position);\n position: sticky;\n z-index: 1;\n}\n\n// box shadow when table has scrolled and cell is fixed\n:host(.has-scrolled.is-fixed) {\n box-shadow: var(--box-shadow-default);\n}\n\n:host(.is-sortable) {\n cursor: pointer;\n\n pds-icon {\n margin-inline-start: var(--spacing-margin-inline-start-arrow);\n padding-block-start: var(--spacing-padding-arrow);\n position: absolute;\n }\n}\n\n:host(.is-sortable:hover),\n:host(.is-active) {\n color: var(--color-text-active);\n}\n","import { Component, Element, Host, Prop, h, Event, EventEmitter, State } from '@stencil/core';\n\nimport { downSmall, upSmall } from '@pine-ds/icons/icons';\n\n@Component({\n tag: 'pds-table-head-cell',\n styleUrls: ['../../../global/styles/base.scss', 'pds-table-head-cell.scss'],\n shadow: true,\n})\nexport class PdsTableHeadCell {\n @Element() hostElement: HTMLPdsTableHeadCellElement;\n private tableRef: HTMLPdsTableElement;\n\n /**\n * Determines whether the table column is sortable when set to `true`.\n */\n @Prop() sortable: boolean;\n\n /**\n * Event emitted to signal that a table column header has been sorted, providing information about the sorted column's name and sorting direction.\n */\n @Event() pdsTableSort: EventEmitter<{ column: string; direction: string }>;\n\n @State() private sortingDirection: 'asc' | 'desc' = 'asc';\n @State() private tableScrolling: boolean = false;\n\n /**\n *
|
|
1
|
+
{"version":3,"names":["baseCss","PdsTableHeadCellStyle0","pdsTableHeadCellCss","PdsTableHeadCellStyle1","PdsTableHeadCell","this","handleScroll","_this","tableRef","scrollLeft","tableScrolling","toggleSort","sortable","column","hostElement","innerText","trim","sortingDirection","querySelectorAll","forEach","headCell","classList","remove","toggle","pdsTableSort","emit","direction","prototype","componentWillRender","closest","componentDidLoad","responsive","fixedColumn","addEventListener","classNames","compact","push","join","render","h","Host","key","class","role","onClick","style","selectable","icon","upSmall","downSmall"],"sources":["src/global/styles/base.scss?tag=pds-table-head-cell&encapsulation=shadow","src/components/pds-table/pds-table-head-cell/pds-table-head-cell.scss?tag=pds-table-head-cell&encapsulation=shadow","src/components/pds-table/pds-table-head-cell/pds-table-head-cell.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-head-cell-default: var(--pine-border-width-thin) solid var(--pine-color-grey-100);\n\n --box-shadow-default: 3px 3px 6px -2px rgba(0, 0, 0, 0.1);\n\n --color-background-fixed: var(--pine-color-white);\n --color-text-default: var(--pine-color-grey-800);\n --color-text-active: var(--pine-color-grey-950);\n\n --dimension-fixed-cell-position: 0;\n\n --letter-spacing-default: var(--pine-letter-spacing-body-md);\n\n --padding-cell-default: calc(var(--pine-spacing-300) / 2);\n\n --spacing-margin-inline-start-arrow: var(--pine-spacing-050);\n --spacing-padding-arrow: calc(var(--pine-spacing-050) / 2);\n --spacing-padding-block-compact: var(--pine-spacing-050);\n\n --typography-default: var(--pine-typography-body-md-medium);\n\n border-block-end: var(--border-head-cell-default);\n color: var(--color-text-default);\n display: table-cell;\n font: var(--typography-default);\n padding: var(--padding-cell-default);\n text-align: start;\n vertical-align: inherit;\n}\n\n:host(.is-compact) {\n padding-block: var(--spacing-padding-block-compact)\n}\n\n:host(.is-fixed) {\n background: var(--color-background-fixed);\n left: var(--dimension-fixed-cell-position);\n position: sticky;\n z-index: 1;\n}\n\n// box shadow when table has scrolled and cell is fixed\n:host(.has-scrolled.is-fixed) {\n box-shadow: var(--box-shadow-default);\n}\n\n:host(.is-sortable) {\n cursor: pointer;\n\n pds-icon {\n margin-inline-start: var(--spacing-margin-inline-start-arrow);\n padding-block-start: var(--spacing-padding-arrow);\n position: absolute;\n }\n}\n\n:host(.is-sortable:hover),\n:host(.is-active) {\n color: var(--color-text-active);\n}\n","import { Component, Element, Host, Prop, h, Event, EventEmitter, State } from '@stencil/core';\n\nimport { downSmall, upSmall } from '@pine-ds/icons/icons';\n\n@Component({\n tag: 'pds-table-head-cell',\n styleUrls: ['../../../global/styles/base.scss', 'pds-table-head-cell.scss'],\n shadow: true,\n})\nexport class PdsTableHeadCell {\n @Element() hostElement: HTMLPdsTableHeadCellElement;\n private tableRef: HTMLPdsTableElement;\n\n /**\n * Determines whether the table column is sortable when set to `true`.\n */\n @Prop() sortable: boolean;\n\n /**\n * Event emitted to signal that a table column header has been sorted, providing information about the sorted column's name and sorting direction.\n */\n @Event() pdsTableSort: EventEmitter<{ column: string; direction: string }>;\n\n /**\n * The direction of sorting.\n */\n @State() private sortingDirection: 'asc' | 'desc' = 'asc';\n\n /**\n * Determines if the table is currently scrolling.\n * @defaultValue false\n */\n @State() private tableScrolling: boolean = false;\n\n /**\n * Determines if the table row is currently selected.\n * @defaultValue false\n */\n @State() isSelected: boolean = false;\n\n componentWillRender() {\n this.tableRef = this.hostElement.closest('pds-table') as HTMLPdsTableElement;\n }\n\n componentDidLoad() {\n if (this.tableRef && this.tableRef.responsive && this.tableRef.fixedColumn) {\n this.tableRef.addEventListener('scroll', this.handleScroll);\n }\n }\n\n private handleScroll = () => {\n if (this.tableRef.scrollLeft > 0) {\n this.tableScrolling = true;\n } else {\n this.tableScrolling = false;\n }\n };\n\n private toggleSort = () => {\n if (this.sortable) {\n const column = this.hostElement.innerText.trim();\n this.sortingDirection = this.sortingDirection === 'asc' ? 'desc' : 'asc';\n\n this.tableRef.querySelectorAll('pds-table-head-cell').forEach((headCell) => {\n headCell.classList.remove('is-active');\n });\n\n this.hostElement.classList.toggle('is-active');\n this.pdsTableSort.emit({ column, direction: this.sortingDirection });\n }\n }\n\n private classNames() {\n const classNames = [];\n\n if (this.tableRef && this.tableRef.compact) {\n classNames.push('is-compact');\n }\n\n if (this.sortable) {\n classNames.push('is-sortable');\n }\n\n if (this.sortable && this.sortingDirection !== null) {\n classNames.push('sort-' + this.sortingDirection);\n }\n\n if (this.tableRef && this.tableRef.fixedColumn && this.tableScrolling) {\n classNames.push('has-scrolled');\n }\n\n return classNames.join(' ');\n }\n\n render() {\n return (\n <Host\n class={this.classNames()}\n role=\"columnheader\"\n onClick={this.toggleSort}\n style={\n this.tableRef &&\n this.tableRef.fixedColumn &&\n this.tableRef.selectable\n ? { '--fixed-cell-position': '40px' }\n : {}\n }\n >\n <slot></slot>\n {this.sortable && (\n <pds-icon icon={this.sortingDirection === 'asc' ? upSmall : downSmall} />\n )}\n </Host>\n );\n }\n}\n"],"mappings":"iKAAA,IAAMA,QAAU,yrDAChB,IAAAC,uBAAeD,QCDf,IAAME,oBAAsB,ynDAC5B,IAAAC,uBAAeD,oB,ICQFE,iBAAgB,W,uGAyCnBC,KAAAC,aAAe,WACrB,GAAIC,EAAKC,SAASC,WAAa,EAAG,CAChCF,EAAKG,eAAiB,I,KACjB,CACLH,EAAKG,eAAiB,K,GAIlBL,KAAAM,WAAa,WACnB,GAAIJ,EAAKK,SAAU,CACjB,IAAMC,EAASN,EAAKO,YAAYC,UAAUC,OAC1CT,EAAKU,iBAAmBV,EAAKU,mBAAqB,MAAQ,OAAS,MAEnEV,EAAKC,SAASU,iBAAiB,uBAAuBC,SAAQ,SAACC,GAC7DA,EAASC,UAAUC,OAAO,Y,IAG5Bf,EAAKO,YAAYO,UAAUE,OAAO,aAClChB,EAAKiB,aAAaC,KAAK,CAAEZ,OAAMA,EAAEa,UAAWnB,EAAKU,kB,iDA1CD,M,oBAMT,M,gBAMZ,K,CAE/Bb,EAAAuB,UAAAC,oBAAA,WACEvB,KAAKG,SAAWH,KAAKS,YAAYe,QAAQ,Y,EAG3CzB,EAAAuB,UAAAG,iBAAA,WACE,GAAIzB,KAAKG,UAAYH,KAAKG,SAASuB,YAAc1B,KAAKG,SAASwB,YAAa,CAC1E3B,KAAKG,SAASyB,iBAAiB,SAAU5B,KAAKC,a,GA0B1CF,EAAAuB,UAAAO,WAAA,WACN,IAAMA,EAAa,GAEnB,GAAI7B,KAAKG,UAAYH,KAAKG,SAAS2B,QAAS,CAC1CD,EAAWE,KAAK,a,CAGlB,GAAI/B,KAAKO,SAAU,CACjBsB,EAAWE,KAAK,c,CAGlB,GAAI/B,KAAKO,UAAYP,KAAKY,mBAAqB,KAAM,CACnDiB,EAAWE,KAAK,QAAU/B,KAAKY,iB,CAGjC,GAAIZ,KAAKG,UAAYH,KAAKG,SAASwB,aAAe3B,KAAKK,eAAgB,CACrEwB,EAAWE,KAAK,e,CAGlB,OAAOF,EAAWG,KAAK,K,EAGzBjC,EAAAuB,UAAAW,OAAA,WACE,OACEC,EAACC,KAAI,CAAAC,IAAA,2CACHC,MAAOrC,KAAK6B,aACZS,KAAK,eACLC,QAASvC,KAAKM,WACdkC,MACExC,KAAKG,UACLH,KAAKG,SAASwB,aACd3B,KAAKG,SAASsC,WACV,CAAE,wBAAyB,QAC3B,IAGNP,EAAA,QAAAE,IAAA,6CACCpC,KAAKO,UACJ2B,EAAA,YAAAE,IAAA,2CAAUM,KAAM1C,KAAKY,mBAAqB,MAAQ+B,QAAUC,Y,yIArGzC,G","ignoreList":[]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{r as registerInstance,c as createEvent,h,H as Host,g as getElement}from"./index-
|
|
1
|
+
import{r as registerInstance,c as createEvent,h,H as Host,g as getElement}from"./index-b1696fed.js";import{c as closest}from"./closest-d2d192be.js";var 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}";var PdsTableHeadStyle0=baseCss;var pdsTableHeadCss=":host{--border-head-default:var(--pine-border-width-thin) solid var(--pine-color-grey-100);--color-background-fixed:var(--pine-color-base-white);border-color:inherit;-webkit-box-sizing:border-box;box-sizing:border-box;display:table-header-group;vertical-align:middle}:host::part(checkbox-cell){background-color:var(--color-background-fixed);left:0;position:-webkit-sticky;position:sticky;z-index:1}:host pds-table-checkbox-cell{-webkit-border-after:var(--border-head-default);border-block-end:var(--border-head-default)}";var PdsTableHeadStyle1=pdsTableHeadCss;var PdsTableHead=function(){function e(e){var t=this;registerInstance(this,e);this.pdsTableSelectAll=createEvent(this,"pdsTableSelectAll",7);this.generateUniqueId=function(){var e=Math.random().toString(36).substring(2,8);var t=(new Date).toISOString().replace(/[:.]/g,"-");var r="".concat(e,"-").concat(t);return r};this.handleInput=function(e){t.isSelected=!e.target.checked;t.handleSelect(t.isSelected)};this.handleSelect=function(e){t.indeterminate=false;if(closest("pds-table-head",t.hostElement)){t.pdsTableSelectAll.emit({isSelected:e})}};this.indeterminate=undefined;this.isSelected=undefined}e.prototype.componentWillLoad=function(){if(this.isSelected){this.handleSelect(this.isSelected)}};e.prototype.componentWillRender=function(){this.tableRef=this.hostElement.closest("pds-table");if(this.tableRef&&this.tableRef.fixedColumn){var e=this.hostElement.querySelector("pds-table-head-cell:first-child");e===null||e===void 0?void 0:e.classList.add("is-fixed")}};e.prototype.render=function(){return h(Host,{key:"eb7e9eef443d0f222482b427a5ced7eaa4c0acf4",role:"row"},this.tableRef&&this.tableRef.selectable&&h("pds-table-head-cell",{key:"6b7c87f0d07aac6e5b12b9e3a63914061f850da7",part:this.tableRef.selectable?"checkbox-cell":""},h("pds-checkbox",{key:"74a7b333189bf92219b5a82bf0897d476b7adc8a",componentId:this.generateUniqueId(),indeterminate:this.indeterminate,onInput:this.handleInput,label:"Select All Rows",labelHidden:true,checked:this.isSelected})),h("slot",{key:"5ef8daf29f10505b082619755b61014a52dbd00c"}))};Object.defineProperty(e.prototype,"hostElement",{get:function(){return getElement(this)},enumerable:false,configurable:true});return e}();PdsTableHead.style=PdsTableHeadStyle0+PdsTableHeadStyle1;export{PdsTableHead as pds_table_head};
|
|
2
2
|
//# sourceMappingURL=pds-table-head.entry.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["baseCss","PdsTableHeadStyle0","pdsTableHeadCss","PdsTableHeadStyle1","PdsTableHead","this","generateUniqueId","randomString","Math","random","toString","substring","timestamp","Date","toISOString","replace","uniqueId","concat","handleInput","ev","_this","isSelected","target","checked","handleSelect","indeterminate","closest","hostElement","pdsTableSelectAll","emit","prototype","componentWillLoad","componentWillRender","tableRef","fixedColumn","tableCell","querySelector","classList","add","render","h","Host","key","role","selectable","part","componentId","onInput","label","labelHidden"],"sources":["src/global/styles/base.scss?tag=pds-table-head&encapsulation=shadow","src/components/pds-table/pds-table-head/pds-table-head.scss?tag=pds-table-head&encapsulation=shadow","src/components/pds-table/pds-table-head/pds-table-head.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-head-default: var(--pine-border-width-thin) solid var(--pine-color-grey-100);\n\n --color-background-fixed: var(--pine-color-base-white);\n\n border-color: inherit;\n box-sizing: border-box;\n display: table-header-group;\n vertical-align: middle;\n\n // used for pds-checkbox-cell\n // because it is in the ShadowDom\n &::part(checkbox-cell) {\n background-color: var(--color-background-fixed);\n left: 0;\n position: sticky;\n z-index: 1;\n }\n}\n\n:host pds-table-checkbox-cell {\n border-block-end: var(--border-head-default);\n}\n","import { Component, Element, Event, EventEmitter, Host, h, Prop } from '@stencil/core';\nimport { closest } from '@utils/closest';\n\n@Component({\n tag: 'pds-table-head',\n styleUrls: ['../../../global/styles/base.scss', 'pds-table-head.scss'],\n shadow: true,\n})\nexport class PdsTableHead {\n @Element() hostElement: HTMLPdsTableHeadElement;\n private tableRef: HTMLPdsTableElement\n\n
|
|
1
|
+
{"version":3,"names":["baseCss","PdsTableHeadStyle0","pdsTableHeadCss","PdsTableHeadStyle1","PdsTableHead","this","generateUniqueId","randomString","Math","random","toString","substring","timestamp","Date","toISOString","replace","uniqueId","concat","handleInput","ev","_this","isSelected","target","checked","handleSelect","indeterminate","closest","hostElement","pdsTableSelectAll","emit","prototype","componentWillLoad","componentWillRender","tableRef","fixedColumn","tableCell","querySelector","classList","add","render","h","Host","key","role","selectable","part","componentId","onInput","label","labelHidden"],"sources":["src/global/styles/base.scss?tag=pds-table-head&encapsulation=shadow","src/components/pds-table/pds-table-head/pds-table-head.scss?tag=pds-table-head&encapsulation=shadow","src/components/pds-table/pds-table-head/pds-table-head.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-head-default: var(--pine-border-width-thin) solid var(--pine-color-grey-100);\n\n --color-background-fixed: var(--pine-color-base-white);\n\n border-color: inherit;\n box-sizing: border-box;\n display: table-header-group;\n vertical-align: middle;\n\n // used for pds-checkbox-cell\n // because it is in the ShadowDom\n &::part(checkbox-cell) {\n background-color: var(--color-background-fixed);\n left: 0;\n position: sticky;\n z-index: 1;\n }\n}\n\n:host pds-table-checkbox-cell {\n border-block-end: var(--border-head-default);\n}\n","import { Component, Element, Event, EventEmitter, Host, h, Prop } from '@stencil/core';\nimport { closest } from '@utils/closest';\n\n@Component({\n tag: 'pds-table-head',\n styleUrls: ['../../../global/styles/base.scss', 'pds-table-head.scss'],\n shadow: true,\n})\nexport class PdsTableHead {\n @Element() hostElement: HTMLPdsTableHeadElement;\n private tableRef: HTMLPdsTableElement\n\n /**\n * Determines if the select all checkbox is in an indeterminate state.\n */\n @Prop({ mutable: true }) indeterminate?: boolean;\n\n /**\n * Determines if the table row is currently selected.\n * @defaultValue false\n */\n @Prop({mutable: true}) isSelected: boolean;\n\n /**\n * Event that is emitted when the select all checkbox is clicked, carrying the selected value.\n */\n @Event() pdsTableSelectAll: EventEmitter<{ isSelected: boolean }>;\n\n private generateUniqueId = () => {\n const randomString = Math.random().toString(36).substring(2, 8);\n const timestamp = new Date().toISOString().replace(/[:.]/g, '-');\n const uniqueId = `${randomString}-${timestamp}`;\n\n return uniqueId;\n }\n\n private handleInput = (ev: Event) => {\n this.isSelected = !(ev.target as HTMLInputElement).checked\n this.handleSelect(this.isSelected)\n };\n\n private handleSelect = (isSelected: boolean) => {\n this.indeterminate = false\n\n if ( closest('pds-table-head', this.hostElement) ) {\n this.pdsTableSelectAll.emit({ isSelected });\n }\n }\n\n componentWillLoad() {\n if (this.isSelected) {\n this.handleSelect(this.isSelected)\n }\n }\n\n componentWillRender() {\n this.tableRef = this.hostElement.closest('pds-table') as HTMLPdsTableElement;\n\n if (this.tableRef && this.tableRef.fixedColumn) {\n const tableCell = this.hostElement.querySelector('pds-table-head-cell:first-child');\n tableCell?.classList.add(\"is-fixed\");\n }\n }\n\n render() {\n return (\n <Host role=\"row\">\n {this.tableRef && this.tableRef.selectable && (\n <pds-table-head-cell part={this.tableRef.selectable ? 'checkbox-cell' : ''}>\n <pds-checkbox\n componentId={this.generateUniqueId()}\n indeterminate={this.indeterminate}\n onInput={this.handleInput}\n label={\"Select All Rows\"}\n labelHidden={true}\n checked={this.isSelected}\n />\n </pds-table-head-cell>\n )}\n <slot></slot>\n </Host>\n );\n }\n}\n"],"mappings":"oJAAA,IAAMA,QAAU,yrDAChB,IAAAC,mBAAeD,QCDf,IAAME,gBAAkB,2gBACxB,IAAAC,mBAAeD,gB,ICOFE,aAAY,W,iHAoBfC,KAAAC,iBAAmB,WACzB,IAAMC,EAAeC,KAAKC,SAASC,SAAS,IAAIC,UAAU,EAAG,GAC7D,IAAMC,GAAY,IAAIC,MAAOC,cAAcC,QAAQ,QAAS,KAC5D,IAAMC,EAAW,GAAAC,OAAGV,EAAY,KAAAU,OAAIL,GAEpC,OAAOI,C,EAGDX,KAAAa,YAAc,SAACC,GACrBC,EAAKC,YAAeF,EAAGG,OAA4BC,QACnDH,EAAKI,aAAaJ,EAAKC,W,EAGjBhB,KAAAmB,aAAe,SAACH,GACtBD,EAAKK,cAAgB,MAErB,GAAKC,QAAQ,iBAAkBN,EAAKO,aAAe,CACjDP,EAAKQ,kBAAkBC,KAAK,CAAER,WAAUA,G,0DAI5CjB,EAAA0B,UAAAC,kBAAA,WACE,GAAI1B,KAAKgB,WAAY,CACnBhB,KAAKmB,aAAanB,KAAKgB,W,GAI3BjB,EAAA0B,UAAAE,oBAAA,WACE3B,KAAK4B,SAAW5B,KAAKsB,YAAYD,QAAQ,aAEzC,GAAIrB,KAAK4B,UAAY5B,KAAK4B,SAASC,YAAa,CAC9C,IAAMC,EAAY9B,KAAKsB,YAAYS,cAAc,mCACjDD,IAAS,MAATA,SAAS,SAATA,EAAWE,UAAUC,IAAI,W,GAI7BlC,EAAA0B,UAAAS,OAAA,WACE,OACEC,EAACC,KAAI,CAAAC,IAAA,2CAACC,KAAK,OACRtC,KAAK4B,UAAY5B,KAAK4B,SAASW,YAC9BJ,EAAA,uBAAAE,IAAA,2CAAqBG,KAAMxC,KAAK4B,SAASW,WAAa,gBAAkB,IACtEJ,EAAA,gBAAAE,IAAA,2CACEI,YAAazC,KAAKC,mBAClBmB,cAAepB,KAAKoB,cACpBsB,QAAS1C,KAAKa,YACd8B,MAAO,kBACPC,YAAa,KACb1B,QAASlB,KAAKgB,cAIpBmB,EAAA,QAAAE,IAAA,6C,yIAvEiB,G","ignoreList":[]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{r as registerInstance,c as createEvent,h,H as Host,g as getElement}from"./index-
|
|
1
|
+
import{r as registerInstance,c as createEvent,h,H as Host,g as getElement}from"./index-b1696fed.js";import{c as closest}from"./closest-d2d192be.js";var 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}";var PdsTableRowStyle0=baseCss;var pdsTableRowCss=":host{--color-background-fixed:var(--pine-color-white);--color-background-interactive:var(--pine-color-grey-200);border-color:inherit;display:table-row;vertical-align:inherit}:host::part(checkbox-cell){background-color:var(--color-background-fixed);left:0;position:-webkit-sticky;position:sticky;z-index:1}:host(:hover),:host(:hover)::part(checkbox-cell),:host(:hover) ::slotted(pds-table-cell),:host(.is-selected),:host(.is-selected)::part(checkbox-cell),:host(.is-selected) ::slotted(pds-table-cell){background:var(--color-background-interactive)}";var PdsTableRowStyle1=pdsTableRowCss;var PdsTableRow=function(){function e(e){var t=this;registerInstance(this,e);this.pdsTableRowSelected=createEvent(this,"pdsTableRowSelected",7);this.handleClick=function(){t.isSelected=!t.isSelected;t.handleSelect(t.isSelected)};this.handleSelect=function(e){t.indeterminate=false;if(!closest("pds-table-head",t.hostElement)){var r=Array.from(t.hostElement.parentNode.children).indexOf(t.hostElement);t.pdsTableRowSelected.emit({rowIndex:r,isSelected:e})}};this.generateUniqueId=function(){var e=Math.random().toString(36).substring(2,8);var t=(new Date).toISOString().replace(/[:.]/g,"-");var r="".concat(e,"-").concat(t);return r};this.indeterminate=undefined;this.isSelected=undefined}e.prototype.classNames=function(){var e=[];if(this.isSelected){e.push("is-selected")}return e.join(" ")};e.prototype.componentWillRender=function(){this.tableRef=this.hostElement.closest("pds-table");if(this.tableRef&&this.tableRef.fixedColumn){var e=this.hostElement.querySelector("pds-table-cell");e===null||e===void 0?void 0:e.classList.add("is-fixed")}};e.prototype.componentWillLoad=function(){if(this.isSelected){this.handleSelect(this.isSelected)}};e.prototype.render=function(){return h(Host,{key:"9dceed18de8775f4356afec4bafe85b8e01d784d",class:this.classNames(),role:"row"},this.tableRef&&this.tableRef.selectable&&h("pds-table-cell",{key:"a56e002c28377096430b6370744dc32726f578d3",part:this.tableRef.fixedColumn?"checkbox-cell":"",class:this.tableRef.selectable?"has-checkbox":""},h("pds-checkbox",{key:"5d7d6b2632d619bc7e7447f1eaf6ec7d9a2e2318",componentId:this.generateUniqueId(),onClick:this.handleClick,indeterminate:this.indeterminate,label:"Select Row",labelHidden:true,checked:this.isSelected})),h("slot",{key:"9dcbe00aba5b4bba6318a301609ce2226c303178"}))};Object.defineProperty(e.prototype,"hostElement",{get:function(){return getElement(this)},enumerable:false,configurable:true});return e}();PdsTableRow.style=PdsTableRowStyle0+PdsTableRowStyle1;export{PdsTableRow as pds_table_row};
|
|
2
2
|
//# sourceMappingURL=pds-table-row.entry.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["baseCss","PdsTableRowStyle0","pdsTableRowCss","PdsTableRowStyle1","PdsTableRow","this","handleClick","_this","isSelected","handleSelect","indeterminate","closest","hostElement","rowIndex","Array","from","parentNode","children","indexOf","pdsTableRowSelected","emit","generateUniqueId","randomString","Math","random","toString","substring","timestamp","Date","toISOString","replace","uniqueId","concat","prototype","classNames","push","join","componentWillRender","tableRef","fixedColumn","tableCell","querySelector","classList","add","componentWillLoad","render","h","Host","key","class","role","selectable","part","componentId","onClick","label","labelHidden","checked"],"sources":["src/global/styles/base.scss?tag=pds-table-row&encapsulation=shadow","src/components/pds-table/pds-table-row/pds-table-row.scss?tag=pds-table-row&encapsulation=shadow","src/components/pds-table/pds-table-row/pds-table-row.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-fixed: var(--pine-color-white);\n --color-background-interactive: var(--pine-color-grey-200);\n\n border-color: inherit;\n display: table-row;\n vertical-align: inherit;\n\n // used for pds-checkbox-cell\n // because it is in the ShadowDom\n &::part(checkbox-cell) {\n background-color: var(--color-background-fixed);\n left: 0;\n position: sticky;\n z-index: 1;\n }\n}\n\n:host(:hover),\n:host(:hover)::part(checkbox-cell),\n:host(:hover) ::slotted(pds-table-cell),\n:host(.is-selected),\n:host(.is-selected)::part(checkbox-cell),\n:host(.is-selected) ::slotted(pds-table-cell) {\n background: var(--color-background-interactive);\n}\n","import { Component, Element, Host, h, Event, EventEmitter, Prop } from '@stencil/core';\n\nimport { closest } from '../../../utils/closest';\n\n@Component({\n tag: 'pds-table-row',\n styleUrls: ['../../../global/styles/base.scss', 'pds-table-row.scss'],\n shadow: true,\n})\nexport class PdsTableRow {\n @Element() hostElement: HTMLPdsTableRowElement;\n private tableRef: HTMLPdsTableElement;\n\n /**\n
|
|
1
|
+
{"version":3,"names":["baseCss","PdsTableRowStyle0","pdsTableRowCss","PdsTableRowStyle1","PdsTableRow","this","handleClick","_this","isSelected","handleSelect","indeterminate","closest","hostElement","rowIndex","Array","from","parentNode","children","indexOf","pdsTableRowSelected","emit","generateUniqueId","randomString","Math","random","toString","substring","timestamp","Date","toISOString","replace","uniqueId","concat","prototype","classNames","push","join","componentWillRender","tableRef","fixedColumn","tableCell","querySelector","classList","add","componentWillLoad","render","h","Host","key","class","role","selectable","part","componentId","onClick","label","labelHidden","checked"],"sources":["src/global/styles/base.scss?tag=pds-table-row&encapsulation=shadow","src/components/pds-table/pds-table-row/pds-table-row.scss?tag=pds-table-row&encapsulation=shadow","src/components/pds-table/pds-table-row/pds-table-row.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-fixed: var(--pine-color-white);\n --color-background-interactive: var(--pine-color-grey-200);\n\n border-color: inherit;\n display: table-row;\n vertical-align: inherit;\n\n // used for pds-checkbox-cell\n // because it is in the ShadowDom\n &::part(checkbox-cell) {\n background-color: var(--color-background-fixed);\n left: 0;\n position: sticky;\n z-index: 1;\n }\n}\n\n:host(:hover),\n:host(:hover)::part(checkbox-cell),\n:host(:hover) ::slotted(pds-table-cell),\n:host(.is-selected),\n:host(.is-selected)::part(checkbox-cell),\n:host(.is-selected) ::slotted(pds-table-cell) {\n background: var(--color-background-interactive);\n}\n","import { Component, Element, Host, h, Event, EventEmitter, Prop } from '@stencil/core';\n\nimport { closest } from '../../../utils/closest';\n\n@Component({\n tag: 'pds-table-row',\n styleUrls: ['../../../global/styles/base.scss', 'pds-table-row.scss'],\n shadow: true,\n})\nexport class PdsTableRow {\n @Element() hostElement: HTMLPdsTableRowElement;\n private tableRef: HTMLPdsTableElement;\n\n /**\n * Determines if the row selected is in an indeterminate state.\n */\n @Prop({ mutable: true }) indeterminate?: boolean;\n\n /**\n * Determines if the table row is currently selected.\n */\n @Prop({ mutable: true }) isSelected?: boolean;\n\n /**\n * Event that is emitted when the checkbox is clicked, carrying the selected value.\n */\n @Event() pdsTableRowSelected: EventEmitter<{ rowIndex: number; isSelected: boolean; }>;\n\n private handleClick = () => {\n this.isSelected = !this.isSelected; // Toggle the selected state\n this.handleSelect(this.isSelected);\n }\n\n private handleSelect = (isSelected: boolean) => {\n this.indeterminate = false;\n\n if (!closest('pds-table-head', this.hostElement)) {\n const rowIndex = Array.from(this.hostElement.parentNode.children).indexOf(this.hostElement)\n this.pdsTableRowSelected.emit({\n rowIndex,\n isSelected,\n })\n }\n }\n\n private classNames() {\n const classNames = [];\n\n if (this.isSelected) {\n classNames.push(\"is-selected\");\n }\n\n return classNames.join(' ');\n }\n\n componentWillRender() {\n this.tableRef = this.hostElement.closest('pds-table') as HTMLPdsTableElement;\n\n if (this.tableRef && this.tableRef.fixedColumn) {\n const tableCell = this.hostElement.querySelector('pds-table-cell');\n tableCell?.classList.add(\"is-fixed\");\n }\n }\n\n componentWillLoad() {\n if (this.isSelected) {\n this.handleSelect(this.isSelected);\n }\n }\n\n private generateUniqueId = () => {\n const randomString = Math.random().toString(36).substring(2, 8);\n const timestamp = new Date().toISOString().replace(/[:.]/g, '-');\n const uniqueId = `${randomString}-${timestamp}`;\n\n return uniqueId;\n }\n\n render() {\n return (\n <Host\n class={this.classNames()}\n role=\"row\"\n >\n {this.tableRef && this.tableRef.selectable && (\n <pds-table-cell part={this.tableRef.fixedColumn ? 'checkbox-cell' : ''} class={this.tableRef.selectable ? 'has-checkbox' : ''} >\n <pds-checkbox\n componentId={this.generateUniqueId()}\n onClick={this.handleClick}\n indeterminate={this.indeterminate}\n label={\"Select Row\"}\n labelHidden={true}\n checked={this.isSelected}\n />\n </pds-table-cell>\n )}\n <slot></slot>\n </Host>\n );\n }\n}\n"],"mappings":"oJAAA,IAAMA,QAAU,yrDAChB,IAAAC,kBAAeD,QCDf,IAAME,eAAiB,wiBACvB,IAAAC,kBAAeD,e,ICQFE,YAAW,W,qHAmBdC,KAAAC,YAAc,WACpBC,EAAKC,YAAcD,EAAKC,WACxBD,EAAKE,aAAaF,EAAKC,W,EAGjBH,KAAAI,aAAe,SAACD,GACtBD,EAAKG,cAAgB,MAErB,IAAKC,QAAQ,iBAAkBJ,EAAKK,aAAc,CAChD,IAAMC,EAAWC,MAAMC,KAAKR,EAAKK,YAAYI,WAAWC,UAAUC,QAAQX,EAAKK,aAC/EL,EAAKY,oBAAoBC,KAAK,CAC5BP,SAAQA,EACRL,WAAUA,G,GA8BRH,KAAAgB,iBAAmB,WACzB,IAAMC,EAAeC,KAAKC,SAASC,SAAS,IAAIC,UAAU,EAAG,GAC7D,IAAMC,GAAY,IAAIC,MAAOC,cAAcC,QAAQ,QAAS,KAC5D,IAAMC,EAAW,GAAAC,OAAGV,EAAY,KAAAU,OAAIL,GAEpC,OAAOI,C,yDA9BD3B,EAAA6B,UAAAC,WAAA,WACN,IAAMA,EAAa,GAEnB,GAAI7B,KAAKG,WAAY,CACnB0B,EAAWC,KAAK,c,CAGlB,OAAOD,EAAWE,KAAK,K,EAGzBhC,EAAA6B,UAAAI,oBAAA,WACEhC,KAAKiC,SAAWjC,KAAKO,YAAYD,QAAQ,aAEzC,GAAIN,KAAKiC,UAAYjC,KAAKiC,SAASC,YAAa,CAC9C,IAAMC,EAAYnC,KAAKO,YAAY6B,cAAc,kBACjDD,IAAS,MAATA,SAAS,SAATA,EAAWE,UAAUC,IAAI,W,GAI7BvC,EAAA6B,UAAAW,kBAAA,WACE,GAAIvC,KAAKG,WAAY,CACnBH,KAAKI,aAAaJ,KAAKG,W,GAY3BJ,EAAA6B,UAAAY,OAAA,WACE,OACEC,EAACC,KAAI,CAAAC,IAAA,2CACHC,MAAO5C,KAAK6B,aACZgB,KAAK,OAEJ7C,KAAKiC,UAAYjC,KAAKiC,SAASa,YAC9BL,EAAA,kBAAAE,IAAA,2CAAgBI,KAAM/C,KAAKiC,SAASC,YAAc,gBAAkB,GAAIU,MAAO5C,KAAKiC,SAASa,WAAa,eAAiB,IACzHL,EAAA,gBAAAE,IAAA,2CACEK,YAAahD,KAAKgB,mBAClBiC,QAASjD,KAAKC,YACdI,cAAeL,KAAKK,cACpB6C,MAAO,aACPC,YAAa,KACbC,QAASpD,KAAKG,cAIpBsC,EAAA,QAAAE,IAAA,6C,yIAvFgB,G","ignoreList":[]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{__awaiter,__generator}from"tslib";import{r as registerInstance,c as createEvent,h,H as Host,g as getElement}from"./index-
|
|
1
|
+
import{__awaiter,__generator}from"tslib";import{r as registerInstance,c as createEvent,h,H as Host,g as getElement}from"./index-b1696fed.js";var 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}";var PdsTableStyle0=baseCss;var pdsTableCss=":host{--color-background-default:var(--pine-color-white);background:var(--color-background-default);border-collapse:separate;-webkit-box-sizing:border-box;box-sizing:border-box;display:table;width:100%}:host(:focus-visible){--box-shadow-focus:0 0 0 1px #ffffff, 0 0 0 3px var(--pine-color-purple-300);-webkit-box-shadow:var(--box-shadow-focus);box-shadow:var(--box-shadow-focus);outline:none}:host(.is-responsive){background-attachment:local, local, scroll, scroll;background-image:-webkit-gradient(linear, left top, right top, from(var(--color-background-default)), to(var(--color-background-default))), -webkit-gradient(linear, left top, right top, from(var(--color-background-default)), to(var(--color-background-default))), -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, 0.1)), to(rgba(255, 255, 255, 0))), -webkit-gradient(linear, right top, left top, from(rgba(0, 0, 0, 0.1)), to(rgba(255, 255, 255, 0)));background-image:linear-gradient(to right, var(--color-background-default), var(--color-background-default)), linear-gradient(to right, var(--color-background-default), var(--color-background-default)), linear-gradient(to right, rgba(0, 0, 0, 0.1), rgba(255, 255, 255, 0)), linear-gradient(to left, rgba(0, 0, 0, 0.1), rgba(255, 255, 255, 0));background-position:left center, right center, left center, right center;background-repeat:no-repeat;background-size:4px 100%, 4px 100%, 4px 100%, 4px 100%;display:block;margin:0 auto;max-width:-webkit-fit-content;max-width:-moz-fit-content;max-width:fit-content;overflow-x:auto;white-space:nowrap}";var PdsTableStyle1=pdsTableCss;var PdsTable=function(){function e(e){registerInstance(this,e);this.pdsTableSelect=createEvent(this,"pdsTableSelect",7);this.pdsTableSelectAll=createEvent(this,"pdsTableSelectAll",7);this.compact=undefined;this.componentId=undefined;this.responsive=undefined;this.fixedColumn=undefined;this.selectable=undefined;this.sortingColumn=null;this.sortingDirection="asc"}e.prototype.componentWillLoad=function(){this.sortingColumn=null};e.prototype.classNames=function(){var e=["pds-table"];if(this.compact){e.push("is-compact")}if(this.responsive){e.push("is-responsive")}return e.join(" ")};e.prototype.sortTable=function(e,t){var r=this.el.querySelector("pds-table-body");var a=Array.from(r.querySelectorAll("pds-table-row"));var o=Array.from(this.el.querySelectorAll("pds-table-head-cell[sortable]"));var n=o.find((function(t){return t.innerText.trim()===e}));if(!n){console.warn('Column "'.concat(e,'" not found.'));return}var i=o.indexOf(n);a.sort((function(e,r){var a=e.querySelector("pds-table-cell:nth-child(".concat(i+1,")")).textContent.trim();var o=r.querySelector("pds-table-cell:nth-child(".concat(i+1,")")).textContent.trim();if(t==="asc"){return a.localeCompare(o)}else{return o.localeCompare(a)}}));r.innerHTML="";a.forEach((function(e){r.appendChild(e)}))};e.prototype.handleTableSort=function(e){var t=e.detail.direction;this.sortTable(e.detail.column,t);this.sortingColumn=e.detail.column;this.sortingDirection=t};e.prototype.handleTableSelectAll=function(e){if(e.defaultPrevented)return;var t=this.el.querySelector("pds-table-body");var r=Array.from(t.querySelectorAll("pds-table-row"));r.forEach((function(t){t.isSelected=e.detail.isSelected}))};e.prototype.handleTableSelect=function(e){return __awaiter(this,void 0,void 0,(function(){var t,r,a,o,n;return __generator(this,(function(i){if(e.defaultPrevented)return[2];t=this.el.querySelectorAll("pds-table-row");r=Array.from(t).every((function(e){return e.isSelected}));a=Array.from(t).every((function(e){return!e.isSelected}));o=this.el.querySelector("pds-table-head");if(!o)return[2];n=o.shadowRoot.querySelector("pds-checkbox");n.checked=r;n.indeterminate=!r&&!a;return[2]}))}))};e.prototype.render=function(){return h(Host,{key:"1525beac2ebdb255e34f834c57755f3bb7e0735b",class:this.classNames(),id:this.componentId,role:"grid",selectable:this.selectable,tabindex:"0"},h("slot",{key:"2e04d93fe72d2d91ab80037ec42d805f8b472a0f"}))};Object.defineProperty(e.prototype,"el",{get:function(){return getElement(this)},enumerable:false,configurable:true});return e}();PdsTable.style=PdsTableStyle0+PdsTableStyle1;export{PdsTable as pds_table};
|
|
2
2
|
//# sourceMappingURL=pds-table.entry.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["baseCss","PdsTableStyle0","pdsTableCss","PdsTableStyle1","PdsTable","class_1","prototype","componentWillLoad","this","sortingColumn","classNames","compact","push","responsive","join","sortTable","column","direction","tableBody","el","querySelector","tableRows","Array","from","querySelectorAll","columnHeaderCells","columnHeaderCell","find","cell","innerText","trim","console","warn","concat","columnIndex","indexOf","sort","a","b","valueA","textContent","valueB","localeCompare","innerHTML","forEach","row","appendChild","handleTableSort","event","detail","sortingDirection","handleTableSelectAll","defaultPrevented","pdsTableBody","isSelected","handleTableSelect","allTableRows","allSelectedRows","every","noneSelectedRows","pdsTableHead","headerCheckbox","shadowRoot","checked","indeterminate","render","h","Host","key","class","id","componentId","role","selectable","tabindex"],"sources":["src/global/styles/base.scss?tag=pds-table&encapsulation=shadow","src/components/pds-table/pds-table.scss?tag=pds-table&encapsulation=shadow","src/components/pds-table/pds-table.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-white);\n\n background: var(--color-background-default);\n border-collapse: separate;\n box-sizing: border-box;\n display: table;\n width: 100%;\n}\n\n:host(:focus-visible) {\n --box-shadow-focus: 0 0 0 1px #ffffff, 0 0 0 3px var(--pine-color-purple-300);\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:host(.is-responsive) {\n background-attachment: local, local, scroll, scroll;\n background-image: linear-gradient(to right, var(--color-background-default), var(--color-background-default)),\n linear-gradient(to right, var(--color-background-default), var(--color-background-default)),\n linear-gradient(to right, rgba(0, 0, 0, 0.1), rgba(255, 255, 255, 0)),\n linear-gradient(to left, rgba(0, 0, 0, 0.1), rgba(255, 255, 255, 0));\n background-position: left center, right center, left center, right center;\n background-repeat: no-repeat;\n background-size: 4px 100%, 4px 100%, 4px 100%, 4px 100%;\n display: block;\n margin: 0 auto;\n max-width: fit-content;\n overflow-x: auto;\n white-space: nowrap;\n}\n","import { Component, Element, Event, EventEmitter, Host, h, Prop, State, Listen } from '@stencil/core';\n\n@Component({\n tag: 'pds-table',\n styleUrls: ['../../global/styles/base.scss', 'pds-table.scss'],\n shadow: true,\n})\nexport class PdsTable {\n @Element() el: HTMLPdsTableElement;\n\n /**\n * Determines if table displays compact which reduces the spacing of table cells.\n */\n @Prop() compact: boolean;\n\n /**\n * A unique identifier used for the table `id` attribute.\n */\n @Prop() componentId!: string;\n\n /**\n * Enables the table to be responsive by horizontally scrolling on smaller screens.\n */\n @Prop() responsive: boolean;\n\n /**\n * Determines if table displays fixed column which fixes the first column of the table.\n */\n @Prop() fixedColumn: boolean;\n\n /**\n * Determines if table displays checkboxes for selectable rows.\n */\n @Prop() selectable: boolean;\n\n @State() sortingColumn: string | null = null;\n @State() sortingDirection: 'asc' | 'desc' = 'asc';\n\n\n /**\n * Event that is emitted when the checkbox is clicked, carrying the rowIndex and selected value.\n */\n @Event() pdsTableSelect: EventEmitter<{ rowIndex: number; isSelected: boolean }>;\n\n /**\n * Event that is emitted when the select all checkbox is clicked, carrying the selected value.\n */\n @Event() pdsTableSelectAll: EventEmitter<{ isSelected: boolean }>;\n\n componentWillLoad() {\n this.sortingColumn = null;\n }\n\n private classNames() {\n const classNames = ['pds-table'];\n\n if (this.compact) {\n classNames.push('is-compact');\n }\n\n if (this.responsive) {\n classNames.push('is-responsive');\n }\n\n return classNames.join(' ');\n }\n\n private sortTable(column: string, direction: 'asc' | 'desc') {\n const tableBody = this.el.querySelector('pds-table-body');\n\n // Get the rows in the table body\n const tableRows = Array.from(tableBody.querySelectorAll('pds-table-row'));\n\n // Find the column index based on the column name\n const columnHeaderCells: HTMLElement[] = Array.from(\n this.el.querySelectorAll('pds-table-head-cell[sortable]')\n );\n\n const columnHeaderCell = columnHeaderCells.find(\n (cell) => cell.innerText.trim() === column\n );\n\n if (!columnHeaderCell) {\n console.warn(`Column \"${column}\" not found.`);\n return;\n }\n\n const columnIndex = columnHeaderCells.indexOf(columnHeaderCell);\n\n // Sort the rows based on the content of the specified column\n tableRows.sort((a, b) => {\n const valueA = a.querySelector(`pds-table-cell:nth-child(${columnIndex + 1})`).textContent.trim();\n const valueB = b.querySelector(`pds-table-cell:nth-child(${columnIndex + 1})`).textContent.trim();\n\n if (direction === 'asc') {\n return valueA.localeCompare(valueB);\n } else {\n return valueB.localeCompare(valueA);\n }\n });\n\n // Clear and append the sorted rows back to the table body\n tableBody.innerHTML = '';\n tableRows.forEach((row) => {\n tableBody.appendChild(row);\n });\n }\n\n @Listen('pdsTableSort')\n handleTableSort(event: CustomEvent<{ column: string; direction: 'asc' | 'desc' }>) {\n const { direction } = event.detail;\n this.sortTable(event.detail.column, direction);\n this.sortingColumn = event.detail.column;\n this.sortingDirection = direction;\n }\n\n @Listen('pdsTableSelectAll')\n handleTableSelectAll(event: CustomEvent<{ isSelected: boolean }>) {\n if (event.defaultPrevented) return;\n\n const pdsTableBody = this.el.querySelector('pds-table-body');\n const tableRows = Array.from(pdsTableBody.querySelectorAll('pds-table-row'));\n\n tableRows.forEach((row) => {\n row.isSelected = event.detail.isSelected;\n });\n }\n\n @Listen('pdsTableRowSelected')\n async handleTableSelect(event: CustomEvent<{ rowIndex: number; isSelected: boolean }>) {\n if (event.defaultPrevented) return;\n\n const allTableRows = this.el.querySelectorAll('pds-table-row');\n const allSelectedRows = Array.from(allTableRows).every((row) => row.isSelected);\n const noneSelectedRows = Array.from(allTableRows).every((row) => !row.isSelected);\n const pdsTableHead = this.el.querySelector('pds-table-head');\n if (!pdsTableHead) return;\n\n const headerCheckbox = pdsTableHead.shadowRoot.querySelector('pds-checkbox');\n headerCheckbox.checked = allSelectedRows;\n headerCheckbox.indeterminate = !allSelectedRows && !noneSelectedRows;\n }\n\n render() {\n return (\n <Host\n class={this.classNames()}\n id={this.componentId}\n role=\"grid\"\n selectable={this.selectable}\n tabindex=\"0\"\n >\n <slot></slot>\n </Host>\n );\n }\n}\n"],"mappings":"6IAAA,IAAMA,QAAU,yrDAChB,IAAAC,eAAeD,QCDf,IAAME,YAAc,qiDACpB,IAAAC,eAAeD,Y,ICMFE,SAAQ,W,mTA4BqB,K,sBACI,K,CAa5CC,EAAAC,UAAAC,kBAAA,WACEC,KAAKC,cAAgB,I,EAGfJ,EAAAC,UAAAI,WAAA,WACN,IAAMA,EAAa,CAAC,aAEpB,GAAIF,KAAKG,QAAS,CAChBD,EAAWE,KAAK,a,CAGlB,GAAIJ,KAAKK,WAAY,CACnBH,EAAWE,KAAK,gB,CAGlB,OAAOF,EAAWI,KAAK,K,EAGjBT,EAAAC,UAAAS,UAAA,SAAUC,EAAgBC,GAChC,IAAMC,EAAYV,KAAKW,GAAGC,cAAc,kBAGxC,IAAMC,EAAYC,MAAMC,KAAKL,EAAUM,iBAAiB,kBAGxD,IAAMC,EAAmCH,MAAMC,KAC7Cf,KAAKW,GAAGK,iBAAiB,kCAG3B,IAAME,EAAmBD,EAAkBE,MACzC,SAACC,GAAS,OAAAA,EAAKC,UAAUC,SAAWd,CAA1B,IAGZ,IAAKU,EAAkB,CACrBK,QAAQC,KAAK,WAAAC,OAAWjB,EAAM,iBAC9B,M,CAGF,IAAMkB,EAAcT,EAAkBU,QAAQT,GAG9CL,EAAUe,MAAK,SAACC,EAAGC,GACjB,IAAMC,EAASF,EAAEjB,cAAc,4BAAAa,OAA4BC,EAAc,EAAC,MAAKM,YAAYV,OAC3F,IAAMW,EAASH,EAAElB,cAAc,4BAAAa,OAA4BC,EAAc,EAAC,MAAKM,YAAYV,OAE3F,GAAIb,IAAc,MAAO,CACvB,OAAOsB,EAAOG,cAAcD,E,KACvB,CACL,OAAOA,EAAOC,cAAcH,E,KAKhCrB,EAAUyB,UAAY,GACtBtB,EAAUuB,SAAQ,SAACC,GACjB3B,EAAU4B,YAAYD,E,KAK1BxC,EAAAC,UAAAyC,gBAAA,SAAgBC,GACN,IAAA/B,EAAc+B,EAAMC,OAAMhC,UAClCT,KAAKO,UAAUiC,EAAMC,OAAOjC,OAAQC,GACpCT,KAAKC,cAAgBuC,EAAMC,OAAOjC,OAClCR,KAAK0C,iBAAmBjC,C,EAI1BZ,EAAAC,UAAA6C,qBAAA,SAAqBH,GACnB,GAAIA,EAAMI,iBAAkB,OAE5B,IAAMC,EAAe7C,KAAKW,GAAGC,cAAc,kBAC3C,IAAMC,EAAYC,MAAMC,KAAK8B,EAAa7B,iBAAiB,kBAE3DH,EAAUuB,SAAQ,SAACC,GACjBA,EAAIS,WAAaN,EAAMC,OAAOK,U,KAK5BjD,EAAAC,UAAAiD,kBAAN,SAAwBP,G,mGACtB,GAAIA,EAAMI,iBAAkB,UAEtBI,EAAehD,KAAKW,GAAGK,iBAAiB,iBACxCiC,EAAkBnC,MAAMC,KAAKiC,GAAcE,OAAM,SAACb,GAAQ,OAAAA,EAAIS,UAAJ,IAC1DK,EAAmBrC,MAAMC,KAAKiC,GAAcE,OAAM,SAACb,GAAQ,OAACA,EAAIS,UAAL,IAC3DM,EAAepD,KAAKW,GAAGC,cAAc,kBAC3C,IAAKwC,EAAc,UAEbC,EAAiBD,EAAaE,WAAW1C,cAAc,gBAC7DyC,EAAeE,QAAUN,EACzBI,EAAeG,eAAiBP,IAAoBE,E,iBAGtDtD,EAAAC,UAAA2D,OAAA,WACE,OACEC,EAACC,KAAI,CAAAC,IAAA,2CACHC,MAAO7D,KAAKE,aACZ4D,GAAI9D,KAAK+D,YACTC,KAAK,OACLC,WAAYjE,KAAKiE,WACjBC,SAAS,KAETR,EAAA,QAAAE,IAAA,6C,gIAjJa,G","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["baseCss","PdsTableStyle0","pdsTableCss","PdsTableStyle1","PdsTable","class_1","prototype","componentWillLoad","this","sortingColumn","classNames","compact","push","responsive","join","sortTable","column","direction","tableBody","el","querySelector","tableRows","Array","from","querySelectorAll","columnHeaderCells","columnHeaderCell","find","cell","innerText","trim","console","warn","concat","columnIndex","indexOf","sort","a","b","valueA","textContent","valueB","localeCompare","innerHTML","forEach","row","appendChild","handleTableSort","event","detail","sortingDirection","handleTableSelectAll","defaultPrevented","pdsTableBody","isSelected","handleTableSelect","allTableRows","allSelectedRows","every","noneSelectedRows","pdsTableHead","headerCheckbox","shadowRoot","checked","indeterminate","render","h","Host","key","class","id","componentId","role","selectable","tabindex"],"sources":["src/global/styles/base.scss?tag=pds-table&encapsulation=shadow","src/components/pds-table/pds-table.scss?tag=pds-table&encapsulation=shadow","src/components/pds-table/pds-table.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-white);\n\n background: var(--color-background-default);\n border-collapse: separate;\n box-sizing: border-box;\n display: table;\n width: 100%;\n}\n\n:host(:focus-visible) {\n --box-shadow-focus: 0 0 0 1px #ffffff, 0 0 0 3px var(--pine-color-purple-300);\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:host(.is-responsive) {\n background-attachment: local, local, scroll, scroll;\n background-image: linear-gradient(to right, var(--color-background-default), var(--color-background-default)),\n linear-gradient(to right, var(--color-background-default), var(--color-background-default)),\n linear-gradient(to right, rgba(0, 0, 0, 0.1), rgba(255, 255, 255, 0)),\n linear-gradient(to left, rgba(0, 0, 0, 0.1), rgba(255, 255, 255, 0));\n background-position: left center, right center, left center, right center;\n background-repeat: no-repeat;\n background-size: 4px 100%, 4px 100%, 4px 100%, 4px 100%;\n display: block;\n margin: 0 auto;\n max-width: fit-content;\n overflow-x: auto;\n white-space: nowrap;\n}\n","import { Component, Element, Event, EventEmitter, Host, h, Prop, State, Listen } from '@stencil/core';\n\n@Component({\n tag: 'pds-table',\n styleUrls: ['../../global/styles/base.scss', 'pds-table.scss'],\n shadow: true,\n})\nexport class PdsTable {\n @Element() el: HTMLPdsTableElement;\n\n /**\n * Determines if the table displays with reduced table cell padding.\n */\n @Prop() compact: boolean;\n\n /**\n * A unique identifier used for the table `id` attribute.\n */\n @Prop() componentId!: string;\n\n /**\n * Enables the table to be responsive by horizontally scrolling on smaller screens.\n */\n @Prop() responsive: boolean;\n\n /**\n * Determines if the should display a fixed first column.\n */\n @Prop() fixedColumn: boolean;\n\n /**\n * Determines if the table displays checkboxes for selectable rows.\n */\n @Prop() selectable: boolean;\n\n /**\n * The name of the column being sorted.\n * @defaultValue null\n */\n @State() sortingColumn: string | null = null;\n\n /**\n * The direction of sorting.\n * @defaultValue 'asc'\n */\n @State() sortingDirection: 'asc' | 'desc' = 'asc';\n\n\n /**\n * Event that is emitted when the checkbox is clicked, carrying the rowIndex and selected value.\n */\n @Event() pdsTableSelect: EventEmitter<{ rowIndex: number; isSelected: boolean }>;\n\n /**\n * Event that is emitted when the select all checkbox is clicked, carrying the selected value.\n */\n @Event() pdsTableSelectAll: EventEmitter<{ isSelected: boolean }>;\n\n componentWillLoad() {\n this.sortingColumn = null;\n }\n\n private classNames() {\n const classNames = ['pds-table'];\n\n if (this.compact) {\n classNames.push('is-compact');\n }\n\n if (this.responsive) {\n classNames.push('is-responsive');\n }\n\n return classNames.join(' ');\n }\n\n private sortTable(column: string, direction: 'asc' | 'desc') {\n const tableBody = this.el.querySelector('pds-table-body');\n\n // Get the rows in the table body\n const tableRows = Array.from(tableBody.querySelectorAll('pds-table-row'));\n\n // Find the column index based on the column name\n const columnHeaderCells: HTMLElement[] = Array.from(\n this.el.querySelectorAll('pds-table-head-cell[sortable]')\n );\n\n const columnHeaderCell = columnHeaderCells.find(\n (cell) => cell.innerText.trim() === column\n );\n\n if (!columnHeaderCell) {\n console.warn(`Column \"${column}\" not found.`);\n return;\n }\n\n const columnIndex = columnHeaderCells.indexOf(columnHeaderCell);\n\n // Sort the rows based on the content of the specified column\n tableRows.sort((a, b) => {\n const valueA = a.querySelector(`pds-table-cell:nth-child(${columnIndex + 1})`).textContent.trim();\n const valueB = b.querySelector(`pds-table-cell:nth-child(${columnIndex + 1})`).textContent.trim();\n\n if (direction === 'asc') {\n return valueA.localeCompare(valueB);\n } else {\n return valueB.localeCompare(valueA);\n }\n });\n\n // Clear and append the sorted rows back to the table body\n tableBody.innerHTML = '';\n tableRows.forEach((row) => {\n tableBody.appendChild(row);\n });\n }\n\n @Listen('pdsTableSort')\n handleTableSort(event: CustomEvent<{ column: string; direction: 'asc' | 'desc' }>) {\n const { direction } = event.detail;\n this.sortTable(event.detail.column, direction);\n this.sortingColumn = event.detail.column;\n this.sortingDirection = direction;\n }\n\n @Listen('pdsTableSelectAll')\n handleTableSelectAll(event: CustomEvent<{ isSelected: boolean }>) {\n if (event.defaultPrevented) return;\n\n const pdsTableBody = this.el.querySelector('pds-table-body');\n const tableRows = Array.from(pdsTableBody.querySelectorAll('pds-table-row'));\n\n tableRows.forEach((row) => {\n row.isSelected = event.detail.isSelected;\n });\n }\n\n @Listen('pdsTableRowSelected')\n async handleTableSelect(event: CustomEvent<{ rowIndex: number; isSelected: boolean }>) {\n if (event.defaultPrevented) return;\n\n const allTableRows = this.el.querySelectorAll('pds-table-row');\n const allSelectedRows = Array.from(allTableRows).every((row) => row.isSelected);\n const noneSelectedRows = Array.from(allTableRows).every((row) => !row.isSelected);\n const pdsTableHead = this.el.querySelector('pds-table-head');\n if (!pdsTableHead) return;\n\n const headerCheckbox = pdsTableHead.shadowRoot.querySelector('pds-checkbox');\n headerCheckbox.checked = allSelectedRows;\n headerCheckbox.indeterminate = !allSelectedRows && !noneSelectedRows;\n }\n\n render() {\n return (\n <Host\n class={this.classNames()}\n id={this.componentId}\n role=\"grid\"\n selectable={this.selectable}\n tabindex=\"0\"\n >\n <slot></slot>\n </Host>\n );\n }\n}\n"],"mappings":"6IAAA,IAAMA,QAAU,yrDAChB,IAAAC,eAAeD,QCDf,IAAME,YAAc,qiDACpB,IAAAC,eAAeD,Y,ICMFE,SAAQ,W,mTAgCqB,K,sBAMI,K,CAa5CC,EAAAC,UAAAC,kBAAA,WACEC,KAAKC,cAAgB,I,EAGfJ,EAAAC,UAAAI,WAAA,WACN,IAAMA,EAAa,CAAC,aAEpB,GAAIF,KAAKG,QAAS,CAChBD,EAAWE,KAAK,a,CAGlB,GAAIJ,KAAKK,WAAY,CACnBH,EAAWE,KAAK,gB,CAGlB,OAAOF,EAAWI,KAAK,K,EAGjBT,EAAAC,UAAAS,UAAA,SAAUC,EAAgBC,GAChC,IAAMC,EAAYV,KAAKW,GAAGC,cAAc,kBAGxC,IAAMC,EAAYC,MAAMC,KAAKL,EAAUM,iBAAiB,kBAGxD,IAAMC,EAAmCH,MAAMC,KAC7Cf,KAAKW,GAAGK,iBAAiB,kCAG3B,IAAME,EAAmBD,EAAkBE,MACzC,SAACC,GAAS,OAAAA,EAAKC,UAAUC,SAAWd,CAA1B,IAGZ,IAAKU,EAAkB,CACrBK,QAAQC,KAAK,WAAAC,OAAWjB,EAAM,iBAC9B,M,CAGF,IAAMkB,EAAcT,EAAkBU,QAAQT,GAG9CL,EAAUe,MAAK,SAACC,EAAGC,GACjB,IAAMC,EAASF,EAAEjB,cAAc,4BAAAa,OAA4BC,EAAc,EAAC,MAAKM,YAAYV,OAC3F,IAAMW,EAASH,EAAElB,cAAc,4BAAAa,OAA4BC,EAAc,EAAC,MAAKM,YAAYV,OAE3F,GAAIb,IAAc,MAAO,CACvB,OAAOsB,EAAOG,cAAcD,E,KACvB,CACL,OAAOA,EAAOC,cAAcH,E,KAKhCrB,EAAUyB,UAAY,GACtBtB,EAAUuB,SAAQ,SAACC,GACjB3B,EAAU4B,YAAYD,E,KAK1BxC,EAAAC,UAAAyC,gBAAA,SAAgBC,GACN,IAAA/B,EAAc+B,EAAMC,OAAMhC,UAClCT,KAAKO,UAAUiC,EAAMC,OAAOjC,OAAQC,GACpCT,KAAKC,cAAgBuC,EAAMC,OAAOjC,OAClCR,KAAK0C,iBAAmBjC,C,EAI1BZ,EAAAC,UAAA6C,qBAAA,SAAqBH,GACnB,GAAIA,EAAMI,iBAAkB,OAE5B,IAAMC,EAAe7C,KAAKW,GAAGC,cAAc,kBAC3C,IAAMC,EAAYC,MAAMC,KAAK8B,EAAa7B,iBAAiB,kBAE3DH,EAAUuB,SAAQ,SAACC,GACjBA,EAAIS,WAAaN,EAAMC,OAAOK,U,KAK5BjD,EAAAC,UAAAiD,kBAAN,SAAwBP,G,mGACtB,GAAIA,EAAMI,iBAAkB,UAEtBI,EAAehD,KAAKW,GAAGK,iBAAiB,iBACxCiC,EAAkBnC,MAAMC,KAAKiC,GAAcE,OAAM,SAACb,GAAQ,OAAAA,EAAIS,UAAJ,IAC1DK,EAAmBrC,MAAMC,KAAKiC,GAAcE,OAAM,SAACb,GAAQ,OAACA,EAAIS,UAAL,IAC3DM,EAAepD,KAAKW,GAAGC,cAAc,kBAC3C,IAAKwC,EAAc,UAEbC,EAAiBD,EAAaE,WAAW1C,cAAc,gBAC7DyC,EAAeE,QAAUN,EACzBI,EAAeG,eAAiBP,IAAoBE,E,iBAGtDtD,EAAAC,UAAA2D,OAAA,WACE,OACEC,EAACC,KAAI,CAAAC,IAAA,2CACHC,MAAO7D,KAAKE,aACZ4D,GAAI9D,KAAK+D,YACTC,KAAK,OACLC,WAAYjE,KAAKiE,WACjBC,SAAS,KAETR,EAAA,QAAAE,IAAA,6C,gIA1Ja,G","ignoreList":[]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{r as registerInstance,h,H as Host,g as getElement}from"./index-
|
|
1
|
+
import{r as registerInstance,h,H as Host,g as getElement}from"./index-b1696fed.js";var pdsTabpanelCss=":host{display:block}.pds-tabpanel{display:none;margin-top:var(--spacing-panel-margin-top);padding:var(--spacing-panel-padding)}.pds-tabpanel.is-active{display:block}";var PdsTabpanelStyle0=pdsTabpanelCss;var PdsTabpanel=function(){function e(e){registerInstance(this,e);this.name=undefined;this.parentComponentId=undefined;this.variant=undefined;this.selected=false}e.prototype.render=function(){return h(Host,{key:"e373f0105e391bcb04888b060f41d96cf374ee2d",slot:"tabpanels"},h("div",{key:"699b02073f6fa1caafc5920b82f776c86c553599",role:"tabpanel",id:this.parentComponentId+"__"+this.name+"-panel",tabindex:"0","aria-labelledby":this.parentComponentId+"__"+this.name,class:this.selected?"pds-tabpanel is-active":"pds-tabpanel"},h("slot",{key:"df59ed91bf0ca60ccbde92b2f84c7c17659bfdbd"})))};Object.defineProperty(e.prototype,"el",{get:function(){return getElement(this)},enumerable:false,configurable:true});return e}();PdsTabpanel.style=PdsTabpanelStyle0;export{PdsTabpanel as pds_tabpanel};
|
|
2
2
|
//# sourceMappingURL=pds-tabpanel.entry.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{r as registerInstance,h,H as Host,g as getElement}from"./index-
|
|
1
|
+
import{r as registerInstance,h,H as Host,g as getElement}from"./index-b1696fed.js";var 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}";var PdsTabsStyle0=baseCss;var pdsTabsCss=":host{--spacing-panel-margin-top:0;--spacing-panel-padding:0;--outline:2px solid var(--pine-color-blue-200);--spacing-gap-availability:var(--pine-spacing-100);--spacing-gap-default:var(--pine-spacing-300);--spacing-gap-filter:var(--pine-spacing-200);display:block}.pds-tabs__tablist{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;gap:var(--spacing-gap-default)}:host(.pds-tabs--availability) .pds-tabs__tablist{gap:var(--spacing-gap-availability)}:host(.pds-tabs--filter) .pds-tabs__tablist{gap:var(--spacing-gap-filter)}";var PdsTabsStyle1=pdsTabsCss;var PdsTabs=function(){function e(e){registerInstance(this,e);this.tablistLabel=undefined;this.componentId=undefined;this.variant=undefined;this.activeTabName=undefined;this.activeTabIndex=undefined}e.prototype.tabClickHandler=function(e){if(this.componentId===e.detail[1]){this.activeTabIndex=e.detail[0];this.activeTabName=this.tabs[this.activeTabIndex].name}};e.prototype.handleKeyDown=function(e){var t=["ArrowLeft","ArrowRight","Home","End"];if(t.includes(e.key)){e.preventDefault();this.moveActiveTab(e.key)}};e.prototype.moveActiveTab=function(e){var t=0;var a=this.tabs.length-1;var i=null;switch(e){case"ArrowLeft":i=this.activeTabIndex===t?a:this.activeTabIndex+-1;break;case"ArrowRight":i=this.activeTabIndex===a?t:this.activeTabIndex+1;break;case"Home":i=t;break;case"End":i=a;break}this.tabs[i].children[0].focus();this.activeTabName=this.tabs[i].name;this.activeTabIndex=i};e.prototype.findAllChildren=function(){this.tabs=this.el.querySelectorAll("pds-tab");this.tabPanels=this.el.querySelectorAll("pds-tabpanel")};e.prototype.propGeneration=function(e,t){if(t===void 0){t=0}e.parentComponentId=this.componentId.toString();e.variant=this.variant.toString();e.selected=this.activeTabName===e.name?true:false;e["index"]=t};e.prototype.passPropsToChildren=function(){var e=this;this.tabs.forEach((function(t,a){if(e.activeTabName===t.name)e.activeTabIndex=a;e.propGeneration(t,a)}));this.tabPanels.forEach((function(t){e.propGeneration(t)}))};e.prototype.classNames=function(){var e="pds-tabs";if(this.variant&&this.variant!="primary"){var t="pds-tabs--".concat(this.variant);e+=" "+t}return e};e.prototype.componentWillLoad=function(){this.findAllChildren()};e.prototype.componentWillRender=function(){this.passPropsToChildren()};e.prototype.render=function(){return h(Host,{key:"8b7537e2fc9007aaca3c1a6baff0a1c3d6b2cb07","active-tab-name":this.activeTabName,class:this.classNames(),id:this.componentId},h("div",{key:"7afa678022c1170d3912137897a5ece92e7b4394",class:"pds-tabs__tablist",role:"tablist","aria-label":this.tablistLabel},h("slot",{key:"e2026e752548b4cdf8f768137e4bb567550ef3cd",name:"tabs"})),h("slot",{key:"c3a3fbbfab88494b45e5d1cc6563877df2017f9f",name:"tabpanels"}))};Object.defineProperty(e.prototype,"el",{get:function(){return getElement(this)},enumerable:false,configurable:true});return e}();PdsTabs.style=PdsTabsStyle0+PdsTabsStyle1;export{PdsTabs as pds_tabs};
|
|
2
2
|
//# sourceMappingURL=pds-tabs.entry.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{r as registerInstance,h}from"./index-b1696fed.js";var pdsTextCss=':host{display:inline}h1{font-family:"GreetStandard";font-size:28px;font-weight:600;letter-spacing:0.26px;line-height:1.25}h2{font-family:"GreetStandard";font-size:26px;font-weight:600;letter-spacing:0.24px;line-height:1.25}h3{font-family:"GreetStandard";font-size:22px;font-weight:600;letter-spacing:0.22px;line-height:1.25}h4{font-family:"GreetStandard";font-size:20px;font-weight:600;letter-spacing:0.2px;line-height:1.25}h5{font-family:"GreetStandard";font-size:18px;font-weight:500;letter-spacing:0.18px;line-height:1.25}h6{font-family:"GreetStandard";font-size:16px;font-weight:500;letter-spacing:0.16px;line-height:1.25}code,em,p,pre,strong{font-family:"Inter";font-size:14px;font-weight:400;letter-spacing:-0.16px;line-height:1.425}code,pre{font-family:monospace;letter-spacing:0;line-height:1}em{font-style:normal}strong{font-weight:bolder}h1,h2,h3,h4,h5,h6,p,code,pre,em,strong{color:var(--pine-color-text-default);margin:0}:host([truncate])>*{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:host([italic])>*{font-style:italic}.pds-text--color-primary{color:var(--pine-color-white)}.pds-text--color-secondary{color:var(--pine-color-grey-800)}.pds-text--color-neutral{color:var(--pine-color-grey-900)}.pds-text--color-accent{color:var(--pine-color-purple-900)}.pds-text--color-danger{color:var(--pine-color-red-900)}.pds-text--color-info{color:var(--pine-color-blue-900)}.pds-text--color-success{color:var(--pine-color-green-900)}.pds-text--color-warning{color:var(--pine-color-yellow-900)}.pds-text--size-2xl{font-size:20px}.pds-text--size-xl{font-size:18px}.pds-text--size-lg{font-size:16px}.pds-text--size-md{font-size:14px}.pds-text--size-sm{font-size:12px}.pds-text--size-xs{font-size:10px}.pds-text--size-2xs{font-size:8px}.pds-text--weight-extra-light{font-weight:200}.pds-text--weight-light{font-weight:300}.pds-text--weight-regular{font-weight:400}.pds-text--weight-medium{font-weight:500}.pds-text--weight-semibold{font-weight:600}.pds-text--weight-bold{font-weight:700}.pds-text--gutter-2xl{-webkit-margin-after:48px;margin-block-end:48px}.pds-text--gutter-xl{-webkit-margin-after:40px;margin-block-end:40px}.pds-text--gutter-lg{-webkit-margin-after:32px;margin-block-end:32px}.pds-text--gutter-md{-webkit-margin-after:24px;margin-block-end:24px}.pds-text--gutter-sm{-webkit-margin-after:16px;margin-block-end:16px}.pds-text--gutter-xs{-webkit-margin-after:8px;margin-block-end:8px}.pds-text--gutter-2xs{-webkit-margin-after:4px;margin-block-end:4px}.pds-text--align-start{text-align:start}.pds-text--align-center{text-align:center}.pds-text--align-end{text-align:end}.pds-text--align-justify{text-align:justify}';var PdsTextStyle0=pdsTextCss;var PdsText=function(){function t(t){registerInstance(this,t);this.align=undefined;this.color=undefined;this.gutter=undefined;this.size=undefined;this.weight=undefined;this.tag="p"}t.prototype.render=function(){var t=this.tag;var e="\n pds-text\n ".concat(this.align!==undefined&&this.align.trim()!==""?"pds-text--align-".concat(this.align):"","\n ").concat(this.color!==undefined&&this.color.trim()!==""?"pds-text--color-".concat(this.color):"","\n ").concat(this.gutter!==undefined&&this.gutter.trim()!==""?"pds-text--gutter-".concat(this.gutter):"","\n ").concat(this.size!==undefined&&this.size.trim()!==""?"pds-text--size-".concat(this.size):"","\n ").concat(this.weight!==undefined&&this.weight.trim()!==""?"pds-text--weight-".concat(this.weight):"","\n ");return h(t,{key:"3ccf61734e14ed7ea5013bce54717d2846b64f07",class:e},h("slot",{key:"7368685e2042d306006bf8fc83b80ec246ca252d"}))};return t}();PdsText.style=PdsTextStyle0;export{PdsText as pds_text};
|
|
2
|
+
//# sourceMappingURL=pds-text.entry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["pdsTextCss","PdsTextStyle0","PdsText","prototype","render","Tag","this","tag","typeClasses","concat","align","undefined","trim","color","gutter","size","weight","h","key","class"],"sources":["src/components/pds-text/pds-text.scss?tag=pds-text&encapsulation=shadow","src/components/pds-text/pds-text.tsx"],"sourcesContent":[":host {\n display: inline;\n}\n\n// TODO: Update all values to match new semantic tokens, if applicable\n\n/* stylelint-disable */\nh1 {\n font-family: \"GreetStandard\";\n font-size: 28px;\n font-weight: 600;\n letter-spacing: 0.26px;\n line-height: 1.25;\n}\n\nh2 {\n font-family: \"GreetStandard\";\n font-size: 26px;\n font-weight: 600;\n letter-spacing: 0.24px;\n line-height: 1.25;\n}\n\nh3 {\n font-family: \"GreetStandard\";\n font-size: 22px;\n font-weight: 600;\n letter-spacing: 0.22px;\n line-height: 1.25;\n}\n\nh4 {\n font-family: \"GreetStandard\";\n font-size: 20px;\n font-weight: 600;\n letter-spacing: 0.20px;\n line-height: 1.25;\n}\n\nh5 {\n font-family: \"GreetStandard\";\n font-size: 18px;\n font-weight: 500;\n letter-spacing: 0.18px;\n line-height: 1.25;\n}\n\nh6 {\n font-family: \"GreetStandard\";\n font-size: 16px;\n font-weight: 500;\n letter-spacing: 0.16px;\n line-height: 1.25;\n}\n\ncode, em, p, pre, strong {\n font-family: \"Inter\";\n font-size: 14px;\n font-weight: 400;\n letter-spacing: -0.16px;\n line-height: 1.425;\n}\n/* stylelint-enable */\n\ncode, pre {\n font-family: monospace;\n letter-spacing: 0;\n line-height: 1;\n}\n\nem {\n font-style: normal;\n}\n\nstrong {\n font-weight: bolder;\n}\n\nh1, h2, h3, h4, h5, h6, p, code, pre, em, strong {\n color: var(--pine-color-text-default);\n margin: 0;\n}\n\n:host([truncate]) > * {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n:host([italic]) > * {\n font-style: italic\n}\n\n\n// Colors/Variants/Sentiment\n$type-colors: (\n primary: var(--pine-color-white),\n secondary: var(--pine-color-grey-800),\n neutral: var(--pine-color-grey-900),\n accent: var(--pine-color-purple-900),\n danger: var(--pine-color-red-900),\n info: var(--pine-color-blue-900),\n success: var(--pine-color-green-900),\n warning: var(--pine-color-yellow-900),\n);\n\n@mixin generate-type-colors($type-colors) {\n @each $key, $value in $type-colors {\n .pds-text--color-#{$key} {\n color: $value;\n }\n }\n}\n\n@include generate-type-colors($type-colors);\n\n// Font Sizes\n$type-sizes: (\n 2xl: 20px,\n xl: 18px,\n lg: 16px,\n md: 14px,\n sm: 12px,\n xs: 10px,\n 2xs: 8px,\n);\n\n@mixin generate-type-sizes($type-sizes) {\n @each $key, $value in $type-sizes {\n .pds-text--size-#{$key} {\n font-size: $value;\n }\n }\n}\n\n@include generate-type-sizes($type-sizes);\n\n// Font Weights\n$type-weights: (\n extra-light: 200,\n light: 300,\n regular: 400,\n medium: 500,\n semibold: 600,\n bold: 700,\n);\n\n@mixin generate-type-weights($type-weights) {\n @each $key, $value in $type-weights {\n .pds-text--weight-#{$key} {\n font-weight: $value;\n }\n }\n}\n\n@include generate-type-weights($type-weights);\n\n// Gutter Sizes\n$type-gutters: (\n 2xl: 48px,\n xl: 40px,\n lg: 32px,\n md: 24px,\n sm: 16px,\n xs: 8px,\n 2xs: 4px,\n);\n\n@mixin generate-type-gutters($type-gutters) {\n @each $key, $value in $type-gutters {\n .pds-text--gutter-#{$key} {\n margin-block-end: $value;\n }\n }\n}\n\n@include generate-type-gutters($type-gutters);\n\n// Text Alignment\n$type-alignments: (\n start: start,\n center: center,\n end: end,\n justify: justify,\n);\n\n@mixin generate-type-alignments($type-alignments) {\n @each $key, $value in $type-alignments {\n .pds-text--align-#{$key} {\n text-align: $value;\n }\n }\n}\n\n@include generate-type-alignments($type-alignments);\n","import { Component, h, Prop } from '@stencil/core';\n\n@Component({\n tag: 'pds-text',\n styleUrl: 'pds-text.scss',\n shadow: true,\n})\nexport class PdsText {\n\n /**\n * Sets the text alignment.\n */\n @Prop() align?: 'start' | 'center' | 'end' | 'justify';\n\n /**\n * Sets the text color.\n */\n @Prop() color?:\n | 'primary'\n | 'secondary'\n | 'neutral'\n | 'accent'\n | 'danger'\n | 'info'\n | 'success'\n | 'warning';\n\n /**\n * Set the bottom margin for the text.\n */\n @Prop() gutter?:\n | '2xl'\n | 'xl'\n | 'lg'\n | 'md'\n | 'sm'\n | 'xs'\n | '2xs';\n\n /**\n * Sets the font size.\n */\n @Prop() size?:\n | '2xl'\n | 'xl'\n | 'lg'\n | 'md'\n | 'sm'\n | 'xs'\n | '2xs';\n\n /**\n * Sets the font weight.\n */\n @Prop() weight?:\n | 'extra-light'\n | 'light'\n | 'regular'\n | 'medium'\n | 'semibold'\n | 'bold';\n\n /**\n * Determines what semantic text tag to render.\n */\n @Prop() tag:\n | 'h1'\n | 'h2'\n | 'h3'\n | 'h4'\n | 'h5'\n | 'h6'\n | 'p'\n | 'code'\n | 'pre'\n | 'strong'\n | 'em' = \"p\";\n\n render() {\n const Tag = this.tag;\n\n const typeClasses = `\n pds-text\n ${this.align !== undefined && this.align.trim() !== '' ? `pds-text--align-${this.align}` : ''}\n ${this.color !== undefined && this.color.trim() !== '' ? `pds-text--color-${this.color}` : ''}\n ${this.gutter !== undefined && this.gutter.trim() !== '' ? `pds-text--gutter-${this.gutter}` : ''}\n ${this.size !== undefined && this.size.trim() !== '' ? `pds-text--size-${this.size}` : ''}\n ${this.weight !== undefined && this.weight.trim() !== '' ? `pds-text--weight-${this.weight}` : ''}\n `;\n\n return (\n <Tag class={typeClasses}>\n <slot />\n </Tag>\n );\n }\n}\n"],"mappings":"yDAAA,IAAMA,WAAa,qlFACnB,IAAAC,cAAeD,W,ICMFE,QAAO,W,0JAqET,G,CAETA,EAAAC,UAAAC,OAAA,WACE,IAAMC,EAAMC,KAAKC,IAEjB,IAAMC,EAAc,2BAAAC,OAEhBH,KAAKI,QAAUC,WAAaL,KAAKI,MAAME,SAAW,GAAK,mBAAAH,OAAmBH,KAAKI,OAAU,GAAE,YAAAD,OAC3FH,KAAKO,QAAUF,WAAaL,KAAKO,MAAMD,SAAW,GAAK,mBAAAH,OAAmBH,KAAKO,OAAU,GAAE,YAAAJ,OAC3FH,KAAKQ,SAAWH,WAAaL,KAAKQ,OAAOF,SAAW,GAAK,oBAAAH,OAAoBH,KAAKQ,QAAW,GAAE,YAAAL,OAC/FH,KAAKS,OAASJ,WAAaL,KAAKS,KAAKH,SAAW,GAAK,kBAAAH,OAAkBH,KAAKS,MAAS,GAAE,YAAAN,OACvFH,KAAKU,SAAWL,WAAaL,KAAKU,OAAOJ,SAAW,GAAK,oBAAAH,OAAoBH,KAAKU,QAAW,GAAE,UAGnG,OACEC,EAACZ,EAAG,CAAAa,IAAA,2CAACC,MAAOX,GACVS,EAAA,QAAAC,IAAA,6C,WArFY,G","ignoreList":[]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{r as registerInstance,c as createEvent,h,H as Host,g as getElement}from"./index-
|
|
1
|
+
import{r as registerInstance,c as createEvent,h,H as Host,g as getElement}from"./index-b1696fed.js";import{i as isRequired,P as PdsLabel,a as assignDescription,m as messageId}from"./pds-label-62469596.js";import{b as danger}from"./index-56752d25.js";var 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}";var PdsTextareaStyle0=baseCss;var pdsTextareaCss=":host{--border-interactive-default:var(--pine-border-interactive-default);--border-interactive-hover:var(--pine-border-interactive-hover);--box-shadow-focus:0 0 0 1px #ffffff, 0 0 0 3px var(--color-focus-visible-outline);--box-shadow-focus-error:0 0 0 1px #ffffff, 0 0 0 3px var(--color-focus-visible-outline-error);--color-background-default:var(--pine-color-white);--color-background-disabled:var(--pine-color-grey-100);--color-background-hover:var(--pine-color-grey-050);--color-background-error-default:var(--pine-color-red-050);--color-border-error-default:var(--pine-color-red-600);--color-border-focus-visible:var(--pine-color-grey-400);--color-border-hover:var(--pine-color-grey-400);--color-focus-visible-outline:var(--pine-color-purple-300);--color-focus-visible-outline-error:var(--pine-color-red-300);--color-text-disabled-default:var(--pine-color-grey-400);--color-text-message-error-default:var(--pine-color-red-600);--color-text-placeholder-default:var(--pine-color-grey-600);--color-text-placeholder-disabled:var(--pine-color-grey-400);--font-weight-label-default:var(--pine-font-weight-body-medium);--spacing-margin-block-end-label:var(--pine-spacing-100);--spacing-margin-block-start-helper-message:var(--pine-spacing-100);--spacing-padding-block-field:var(--pine-spacing-100);--spacing-padding-inline-field:var(--pine-spacing-200);--spacing-icon-error-message:var(--pine-spacing-050);--typography-message-default:var(--pine-typography-body-sm-default);display:inline}.pds-textarea{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}label{display:block;font-weight:var(--font-weight-label-default);-webkit-margin-after:var(--spacing-margin-block-end-label);margin-block-end:var(--spacing-margin-block-end-label)}.pds-textarea__field{background-color:var(--color-background-default);border:var(--border-interactive-default);border-radius:var(--pine-border-radius-100);padding:var(--spacing-padding-block-field) var(--spacing-padding-inline-field)}.pds-textarea__field:hover:not(:disabled,.is-invalid){border:var(--border-interactive-hover)}.pds-textarea__field:disabled{background-color:var(--color-background-disabled);color:var(--color-text-disabled-default);cursor:not-allowed}.pds-textarea__field:focus-visible{-webkit-box-shadow:var(--box-shadow-focus);box-shadow:var(--box-shadow-focus);outline:none}.pds-textarea__field::-webkit-input-placeholder{color:var(--color-text-placeholder-default)}.pds-textarea__field::-moz-placeholder{color:var(--color-text-placeholder-default)}.pds-textarea__field:-ms-input-placeholder{color:var(--color-text-placeholder-default)}.pds-textarea__field::-ms-input-placeholder{color:var(--color-text-placeholder-default)}.pds-textarea__field::placeholder{color:var(--color-text-placeholder-default)}.pds-textarea__field.is-invalid{border-color:var(--color-border-error-default)}.pds-textarea__field.is-invalid:focus-visible{-webkit-box-shadow:var(--box-shadow-focus-error);box-shadow:var(--box-shadow-focus-error)}.pds-textarea__error-message,.pds-textarea__helper-message{font:var(--typography-message-default);-webkit-margin-before:var(--spacing-margin-block-start-helper-message);margin-block-start:var(--spacing-margin-block-start-helper-message)}.pds-textarea__error-message{-ms-flex-align:center;align-items:center;color:var(--color-text-message-error-default);display:-ms-flexbox;display:flex;gap:var(--spacing-icon-error-message)}";var PdsTextareaStyle1=pdsTextareaCss;var PdsTextarea=function(){function e(e){var r=this;registerInstance(this,e);this.pdsTextareaChange=createEvent(this,"pdsTextareaChange",7);this.onTextareaChange=function(e){var a=e.target;isRequired(a,r);if(a){r.value=a.value}r.pdsTextareaChange.emit({value:r.value,event:e})};this.autocomplete=undefined;this.componentId=undefined;this.disabled=false;this.errorMessage=undefined;this.helperMessage=undefined;this.invalid=false;this.label=undefined;this.name=this.componentId;this.placeholder=undefined;this.readonly=false;this.required=false;this.rows=undefined;this.value=undefined}e.prototype.textareaClassNames=function(){var e=["pds-textarea__field"];if(this.invalid&&this.invalid===true){e.push("is-invalid")}return e.join(" ")};e.prototype.render=function(){return h(Host,{key:"461039704016b1b3858af80440863f1fc4930ceb","aria-disabled":this.disabled?"true":null},h("div",{key:"de68ba7ca3b6714e1da8594e76f60bab2a3de1fb",class:"pds-textarea"},this.label&&h(PdsLabel,{key:"102802b8244a929492731700fdde06a053f3e2d5",htmlFor:this.componentId,text:this.label}),h("textarea",{key:"55a3fde040749bd03a5e681dafad7db0717f4a7f","aria-describedby":assignDescription(this.componentId,this.invalid,this.helperMessage),"aria-invalid":this.invalid?"true":undefined,autocomplete:this.autocomplete,class:this.textareaClassNames(),disabled:this.disabled,id:this.componentId,name:this.name,placeholder:this.placeholder,readOnly:this.readonly,required:this.required,rows:this.rows,onChange:this.onTextareaChange},this.value),this.helperMessage&&h("p",{key:"552e0c1240cdc51c215f5ddfc51f250156d8a4b2",class:"pds-textarea__helper-message",id:messageId(this.componentId,"helper")},this.helperMessage),this.invalid&&h("p",{key:"a7e6f4a0d926203f5ac56a8f99d03fd9b5f3647b","aria-live":"assertive",class:"pds-textarea__error-message",id:messageId(this.componentId,"error")},h("pds-icon",{key:"53a40e204e076147b27c921cdbe54336ca50d9e3",icon:danger,size:"small"}),this.errorMessage)))};Object.defineProperty(e.prototype,"el",{get:function(){return getElement(this)},enumerable:false,configurable:true});return e}();PdsTextarea.style=PdsTextareaStyle0+PdsTextareaStyle1;export{PdsTextarea as pds_textarea};
|
|
2
2
|
//# sourceMappingURL=pds-textarea.entry.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["baseCss","PdsTextareaStyle0","pdsTextareaCss","PdsTextareaStyle1","PdsTextarea","this","onTextareaChange","ev","textarea","target","isRequired","_this","value","pdsTextareaChange","emit","event","componentId","prototype","textareaClassNames","classNames","invalid","push","join","render","h","Host","key","disabled","class","label","PdsLabel","htmlFor","text","assignDescription","helperMessage","undefined","autocomplete","id","name","placeholder","readOnly","readonly","required","rows","onChange","messageId","errorMessage"],"sources":["src/global/styles/base.scss?tag=pds-textarea&encapsulation=shadow","src/components/pds-textarea/pds-textarea.scss?tag=pds-textarea&encapsulation=shadow","src/components/pds-textarea/pds-textarea.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-interactive-default: var(--pine-border-interactive-default);\n --border-interactive-hover: var(--pine-border-interactive-hover);\n\n --box-shadow-focus: 0 0 0 1px #ffffff, 0 0 0 3px var(--color-focus-visible-outline);\n --box-shadow-focus-error: 0 0 0 1px #ffffff, 0 0 0 3px var(--color-focus-visible-outline-error);\n\n --color-background-default: var(--pine-color-white);\n --color-background-disabled: var(--pine-color-grey-100);\n --color-background-hover: var(--pine-color-grey-050);\n --color-background-error-default: var(--pine-color-red-050);\n --color-border-error-default: var(--pine-color-red-600);\n --color-border-focus-visible: var(--pine-color-grey-400);\n --color-border-hover: var(--pine-color-grey-400);\n --color-focus-visible-outline: var(--pine-color-purple-300);\n --color-focus-visible-outline-error: var(--pine-color-red-300);\n --color-text-disabled-default: var(--pine-color-grey-400);\n --color-text-message-error-default: var(--pine-color-red-600);\n --color-text-placeholder-default: var(--pine-color-grey-600);\n --color-text-placeholder-disabled: var(--pine-color-grey-400);\n\n --font-weight-label-default: var(--pine-font-weight-body-medium);\n\n --spacing-margin-block-end-label: var(--pine-spacing-100);\n --spacing-margin-block-start-helper-message: var(--pine-spacing-100);\n --spacing-padding-block-field: var(--pine-spacing-100);\n --spacing-padding-inline-field: var(--pine-spacing-200);\n\n --typography-message-default: var(--pine-typography-body-sm-default);\n\n display: inline;\n}\n\n.pds-textarea {\n display: flex;\n flex-direction: column;\n}\n\nlabel {\n display: block;\n font-weight: var(--font-weight-label-default);\n margin-block-end: var(--spacing-margin-block-end-label);\n}\n\n.pds-textarea__field {\n background-color: var(--color-background-default);\n border: var(--border-interactive-default);\n border-radius: var(--pine-border-radius-100);\n padding: var(--spacing-padding-block-field) var(--spacing-padding-inline-field);\n\n &:hover:not(:disabled, .is-invalid) {\n border: var(--border-interactive-hover);\n }\n\n &:disabled {\n background-color: var(--color-background-disabled);\n color: var(--color-text-disabled-default);\n cursor: not-allowed;\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 &::placeholder {\n color: var(--color-text-placeholder-default);\n }\n\n &.is-invalid {\n border-color: var(--color-border-error-default);\n\n &:focus-visible {\n box-shadow: var(--box-shadow-focus-error);\n }\n }\n}\n\n.pds-textarea__error-message,\n.pds-textarea__helper-message {\n font: var(--typography-message-default);\n margin-block-start: var(--spacing-margin-block-start-helper-message);\n}\n\n.pds-textarea__error-message {\n color: var(--color-text-message-error-default);\n}\n","import { Component, Element, Host, h, Prop, Event, EventEmitter } from '@stencil/core';\nimport { assignDescription, isRequired, messageId } from '../../utils/form';\nimport { TextareaChangeEventDetail } from './textarea-interface';\nimport { PdsLabel } from '../_internal/pds-label/pds-label';\n\n@Component({\n tag: 'pds-textarea',\n styleUrls: ['../../global/styles/base.scss', 'pds-textarea.scss'],\n shadow: true,\n})\nexport class PdsTextarea {\n @Element() el: HTMLPdsTextareaElement;\n\n /**\n * Specifies if and how the browser provides `autocomplete` assistance for the field.\n */\n @Prop() autocomplete: string;\n\n /**\n * A unique identifier used for the underlying component `id` attribute.\n */\n @Prop() componentId!: string;\n\n /**\n * Indicates whether or not the textarea is disabled\n * @defaultValue false\n */\n @Prop() disabled = false;\n\n /**\n * Specifies the error text and provides an error-themed treatment to the field\n */\n @Prop() errorMessage?: string;\n\n /**\n * Displays a hint or description of the textarea\n */\n @Prop() helperMessage?: string;\n\n /**\n * Indicates whether or not the textarea is invalid or throws an error\n * @defaultValue false\n */\n @Prop({mutable: true}) invalid = false; // eslint-disable-line @stencil-community/strict-mutable\n\n /**\n * Text to be displayed as the textarea label\n */\n @Prop() label?: string;\n\n /**\n * Specifies the name, submitted with the form name/value pair. This value will mirror the componentId\n */\n @Prop() name: string = this.componentId;\n\n /**\n * Specifies a short hint that describes the expected value of the textarea\n */\n @Prop() placeholder?: string;\n\n /**\n * Indicates whether or not the textarea is readonly\n * @defaultValue false\n */\n @Prop() readonly = false;\n\n /**\n * Indicates whether or not the textarea is required\n * @defaultValue false\n */\n @Prop() required = false;\n\n /**\n * Sets number of rows of text visible without needing to scroll in the textarea\n */\n @Prop() rows?: number;\n\n /**\n * The value of the textarea\n */\n @Prop({mutable: true}) value?: string;\n\n /**\n * Event emitted whenever the value of the textarea changes\n */\n @Event() pdsTextareaChange: EventEmitter<TextareaChangeEventDetail>;\n\n private onTextareaChange = (ev: Event) => {\n const textarea = ev.target as HTMLTextAreaElement;\n isRequired(textarea, this);\n\n if (textarea) {\n this.value = textarea.value;\n }\n\n this.pdsTextareaChange.emit({value: this.value, event: ev});\n };\n\n private textareaClassNames() {\n const classNames = ['pds-textarea__field'];\n\n if (this.invalid && this.invalid === true) {\n classNames.push('is-invalid');\n }\n\n return classNames.join(' ');\n }\n\n render() {\n return (\n <Host\n aria-disabled={this.disabled ? 'true' : null}\n >\n <div class=\"pds-textarea\">\n {this.label &&\n <PdsLabel htmlFor={this.componentId} text={this.label} />\n }\n <textarea\n aria-describedby={assignDescription(this.componentId, this.invalid, this.helperMessage)}\n aria-invalid={this.invalid ? \"true\" : undefined}\n autocomplete={this.autocomplete}\n class={this.textareaClassNames()}\n disabled={this.disabled}\n id={this.componentId}\n name={this.name}\n placeholder={this.placeholder}\n readOnly={this.readonly}\n required={this.required}\n rows={this.rows}\n onChange={this.onTextareaChange}\n >{this.value}</textarea>\n {this.helperMessage &&\n <p\n class=\"pds-textarea__helper-message\"\n id={messageId(this.componentId, 'helper')}\n >\n {this.helperMessage}\n </p>\n }\n {this.invalid &&\n <p\n aria-live=\"assertive\"\n class=\"pds-textarea__error-message\"\n id={messageId(this.componentId, 'error')}\n >\n {this.errorMessage}\n </p>\n }\n </div>\n </Host>\n );\n }\n}\n"],"mappings":"6MAAA,IAAMA,QAAU,yrDAChB,IAAAC,kBAAeD,QCDf,IAAME,eAAiB,0rGACvB,IAAAC,kBAAeD,e,ICSFE,YAAW,W,iHA6EdC,KAAAC,iBAAmB,SAACC,GAC1B,IAAMC,EAAWD,EAAGE,OACpBC,WAAWF,EAAUG,GAErB,GAAIH,EAAU,CACZG,EAAKC,MAAQJ,EAASI,K,CAGxBD,EAAKE,kBAAkBC,KAAK,CAACF,MAAOD,EAAKC,MAAOG,MAAOR,G,uEApEtC,M,sEAgBc,M,+BAUVF,KAAKW,Y,yCAWT,M,cAMA,M,yCA4BXZ,EAAAa,UAAAC,mBAAA,WACN,IAAMC,EAAa,CAAC,uBAEpB,GAAId,KAAKe,SAAWf,KAAKe,UAAY,KAAM,CACzCD,EAAWE,KAAK,a,CAGlB,OAAOF,EAAWG,KAAK,K,EAGzBlB,EAAAa,UAAAM,OAAA,WACE,OACEC,EAACC,KAAI,CAAAC,IAAA,2DACYrB,KAAKsB,SAAW,OAAS,MAExCH,EAAA,OAAAE,IAAA,2CAAKE,MAAM,gBACRvB,KAAKwB,OACJL,EAACM,SAAQ,CAAAJ,IAAA,2CAACK,QAAS1B,KAAKW,YAAagB,KAAM3B,KAAKwB,QAElDL,EAAA,YAAAE,IAAA,8DACoBO,kBAAkB5B,KAAKW,YAAaX,KAAKe,QAASf,KAAK6B,eAAc,eACzE7B,KAAKe,QAAU,OAASe,UACtCC,aAAc/B,KAAK+B,aACnBR,MAAOvB,KAAKa,qBACZS,SAAUtB,KAAKsB,SACfU,GAAIhC,KAAKW,YACTsB,KAAMjC,KAAKiC,KACXC,YAAalC,KAAKkC,YAClBC,SAAUnC,KAAKoC,SACfC,SAAUrC,KAAKqC,SACfC,KAAMtC,KAAKsC,KACXC,SAAUvC,KAAKC,kBACfD,KAAKO,OACNP,KAAK6B,eACJV,EAAA,KAAAE,IAAA,2CACEE,MAAM,+BACNS,GAAIQ,UAAUxC,KAAKW,YAAa,WAE/BX,KAAK6B,eAGT7B,KAAKe,SACJI,EAAA,KAAAE,IAAA,uDACY,YACVE,MAAM,8BACNS,GAAIQ,UAAUxC,KAAKW,YAAa,UAE/BX,KAAKyC,e,gIAvII,G","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["baseCss","PdsTextareaStyle0","pdsTextareaCss","PdsTextareaStyle1","PdsTextarea","this","onTextareaChange","ev","textarea","target","isRequired","_this","value","pdsTextareaChange","emit","event","componentId","prototype","textareaClassNames","classNames","invalid","push","join","render","h","Host","key","disabled","class","label","PdsLabel","htmlFor","text","assignDescription","helperMessage","undefined","autocomplete","id","name","placeholder","readOnly","readonly","required","rows","onChange","messageId","icon","danger","size","errorMessage"],"sources":["src/global/styles/base.scss?tag=pds-textarea&encapsulation=shadow","src/components/pds-textarea/pds-textarea.scss?tag=pds-textarea&encapsulation=shadow","src/components/pds-textarea/pds-textarea.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-interactive-default: var(--pine-border-interactive-default);\n --border-interactive-hover: var(--pine-border-interactive-hover);\n\n --box-shadow-focus: 0 0 0 1px #ffffff, 0 0 0 3px var(--color-focus-visible-outline);\n --box-shadow-focus-error: 0 0 0 1px #ffffff, 0 0 0 3px var(--color-focus-visible-outline-error);\n\n --color-background-default: var(--pine-color-white);\n --color-background-disabled: var(--pine-color-grey-100);\n --color-background-hover: var(--pine-color-grey-050);\n --color-background-error-default: var(--pine-color-red-050);\n --color-border-error-default: var(--pine-color-red-600);\n --color-border-focus-visible: var(--pine-color-grey-400);\n --color-border-hover: var(--pine-color-grey-400);\n --color-focus-visible-outline: var(--pine-color-purple-300);\n --color-focus-visible-outline-error: var(--pine-color-red-300);\n --color-text-disabled-default: var(--pine-color-grey-400);\n --color-text-message-error-default: var(--pine-color-red-600);\n --color-text-placeholder-default: var(--pine-color-grey-600);\n --color-text-placeholder-disabled: var(--pine-color-grey-400);\n\n --font-weight-label-default: var(--pine-font-weight-body-medium);\n\n --spacing-margin-block-end-label: var(--pine-spacing-100);\n --spacing-margin-block-start-helper-message: var(--pine-spacing-100);\n --spacing-padding-block-field: var(--pine-spacing-100);\n --spacing-padding-inline-field: var(--pine-spacing-200);\n --spacing-icon-error-message: var(--pine-spacing-050);\n\n --typography-message-default: var(--pine-typography-body-sm-default);\n\n display: inline;\n}\n\n.pds-textarea {\n display: flex;\n flex-direction: column;\n}\n\nlabel {\n display: block;\n font-weight: var(--font-weight-label-default);\n margin-block-end: var(--spacing-margin-block-end-label);\n}\n\n.pds-textarea__field {\n background-color: var(--color-background-default);\n border: var(--border-interactive-default);\n border-radius: var(--pine-border-radius-100);\n padding: var(--spacing-padding-block-field) var(--spacing-padding-inline-field);\n\n &:hover:not(:disabled, .is-invalid) {\n border: var(--border-interactive-hover);\n }\n\n &:disabled {\n background-color: var(--color-background-disabled);\n color: var(--color-text-disabled-default);\n cursor: not-allowed;\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 &::placeholder {\n color: var(--color-text-placeholder-default);\n }\n\n &.is-invalid {\n border-color: var(--color-border-error-default);\n\n &:focus-visible {\n box-shadow: var(--box-shadow-focus-error);\n }\n }\n}\n\n.pds-textarea__error-message,\n.pds-textarea__helper-message {\n font: var(--typography-message-default);\n margin-block-start: var(--spacing-margin-block-start-helper-message);\n}\n\n.pds-textarea__error-message {\n align-items: center;\n color: var(--color-text-message-error-default);\n display: flex;\n gap: var(--spacing-icon-error-message);\n}\n","import { Component, Element, Host, h, Prop, Event, EventEmitter } from '@stencil/core';\nimport { assignDescription, isRequired, messageId } from '../../utils/form';\nimport { TextareaChangeEventDetail } from './textarea-interface';\nimport { PdsLabel } from '../_internal/pds-label/pds-label';\nimport { danger } from '@pine-ds/icons/icons';\n\n@Component({\n tag: 'pds-textarea',\n styleUrls: ['../../global/styles/base.scss', 'pds-textarea.scss'],\n shadow: true,\n})\nexport class PdsTextarea {\n @Element() el: HTMLPdsTextareaElement;\n\n /**\n * Specifies if and how the browser provides `autocomplete` assistance for the field.\n */\n @Prop() autocomplete: string;\n\n /**\n * A unique identifier used for the underlying component `id` attribute.\n */\n @Prop() componentId!: string;\n\n /**\n * Determines whether or not the textarea is disabled.\n * @defaultValue false\n */\n @Prop() disabled = false;\n\n /**\n * Displays an error message below the textarea field.\n */\n @Prop() errorMessage?: string;\n\n /**\n * Displays a message or hint below the textarea field.\n */\n @Prop() helperMessage?: string;\n\n /**\n * Determines whether or not the textarea is invalid or throws an error.\n * @defaultValue false\n */\n @Prop({mutable: true}) invalid = false; // eslint-disable-line @stencil-community/strict-mutable\n\n /**\n * Text to be displayed as the textarea label.\n */\n @Prop() label?: string;\n\n /**\n * Specifies the name. Submitted with the form name/value pair. This value will mirror the componentId.\n */\n @Prop() name: string = this.componentId;\n\n /**\n * Specifies a short hint that describes the expected value of the textarea.\n */\n @Prop() placeholder?: string;\n\n /**\n * Determines whether or not the textarea is readonly.\n * @defaultValue false\n */\n @Prop() readonly = false;\n\n /**\n * Determines whether or not the textarea is required.\n * @defaultValue false\n */\n @Prop() required = false;\n\n /**\n * Sets number of rows of text visible without needing to scroll in the textarea.\n */\n @Prop() rows?: number;\n\n /**\n * The value of the textarea.\n */\n @Prop({mutable: true}) value?: string;\n\n /**\n * Event emitted whenever the value of the textarea changes.\n */\n @Event() pdsTextareaChange: EventEmitter<TextareaChangeEventDetail>;\n\n private onTextareaChange = (ev: Event) => {\n const textarea = ev.target as HTMLTextAreaElement;\n isRequired(textarea, this);\n\n if (textarea) {\n this.value = textarea.value;\n }\n\n this.pdsTextareaChange.emit({value: this.value, event: ev});\n };\n\n private textareaClassNames() {\n const classNames = ['pds-textarea__field'];\n\n if (this.invalid && this.invalid === true) {\n classNames.push('is-invalid');\n }\n\n return classNames.join(' ');\n }\n\n render() {\n return (\n <Host\n aria-disabled={this.disabled ? 'true' : null}\n >\n <div class=\"pds-textarea\">\n {this.label &&\n <PdsLabel htmlFor={this.componentId} text={this.label} />\n }\n <textarea\n aria-describedby={assignDescription(this.componentId, this.invalid, this.helperMessage)}\n aria-invalid={this.invalid ? \"true\" : undefined}\n autocomplete={this.autocomplete}\n class={this.textareaClassNames()}\n disabled={this.disabled}\n id={this.componentId}\n name={this.name}\n placeholder={this.placeholder}\n readOnly={this.readonly}\n required={this.required}\n rows={this.rows}\n onChange={this.onTextareaChange}\n >{this.value}</textarea>\n {this.helperMessage &&\n <p\n class=\"pds-textarea__helper-message\"\n id={messageId(this.componentId, 'helper')}\n >\n {this.helperMessage}\n </p>\n }\n {this.invalid &&\n <p\n aria-live=\"assertive\"\n class=\"pds-textarea__error-message\"\n id={messageId(this.componentId, 'error')}\n >\n <pds-icon icon={danger} size=\"small\" />\n {this.errorMessage}\n </p>\n }\n </div>\n </Host>\n );\n }\n}\n"],"mappings":"0PAAA,IAAMA,QAAU,yrDAChB,IAAAC,kBAAeD,QCDf,IAAME,eAAiB,+1GACvB,IAAAC,kBAAeD,e,ICUFE,YAAW,W,iHA6EdC,KAAAC,iBAAmB,SAACC,GAC1B,IAAMC,EAAWD,EAAGE,OACpBC,WAAWF,EAAUG,GAErB,GAAIH,EAAU,CACZG,EAAKC,MAAQJ,EAASI,K,CAGxBD,EAAKE,kBAAkBC,KAAK,CAACF,MAAOD,EAAKC,MAAOG,MAAOR,G,uEApEtC,M,sEAgBc,M,+BAUVF,KAAKW,Y,yCAWT,M,cAMA,M,yCA4BXZ,EAAAa,UAAAC,mBAAA,WACN,IAAMC,EAAa,CAAC,uBAEpB,GAAId,KAAKe,SAAWf,KAAKe,UAAY,KAAM,CACzCD,EAAWE,KAAK,a,CAGlB,OAAOF,EAAWG,KAAK,K,EAGzBlB,EAAAa,UAAAM,OAAA,WACE,OACEC,EAACC,KAAI,CAAAC,IAAA,2DACYrB,KAAKsB,SAAW,OAAS,MAExCH,EAAA,OAAAE,IAAA,2CAAKE,MAAM,gBACRvB,KAAKwB,OACJL,EAACM,SAAQ,CAAAJ,IAAA,2CAACK,QAAS1B,KAAKW,YAAagB,KAAM3B,KAAKwB,QAElDL,EAAA,YAAAE,IAAA,8DACoBO,kBAAkB5B,KAAKW,YAAaX,KAAKe,QAASf,KAAK6B,eAAc,eACzE7B,KAAKe,QAAU,OAASe,UACtCC,aAAc/B,KAAK+B,aACnBR,MAAOvB,KAAKa,qBACZS,SAAUtB,KAAKsB,SACfU,GAAIhC,KAAKW,YACTsB,KAAMjC,KAAKiC,KACXC,YAAalC,KAAKkC,YAClBC,SAAUnC,KAAKoC,SACfC,SAAUrC,KAAKqC,SACfC,KAAMtC,KAAKsC,KACXC,SAAUvC,KAAKC,kBACfD,KAAKO,OACNP,KAAK6B,eACJV,EAAA,KAAAE,IAAA,2CACEE,MAAM,+BACNS,GAAIQ,UAAUxC,KAAKW,YAAa,WAE/BX,KAAK6B,eAGT7B,KAAKe,SACJI,EAAA,KAAAE,IAAA,uDACY,YACVE,MAAM,8BACNS,GAAIQ,UAAUxC,KAAKW,YAAa,UAEhCQ,EAAA,YAAAE,IAAA,2CAAUoB,KAAMC,OAAQC,KAAK,UAC5B3C,KAAK4C,e,gIAxII,G","ignoreList":[]}
|