@pine-ds/core 1.3.0-dev.0 → 1.3.0-dev.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/closest.js +11 -0
- package/components/closest.js.map +1 -0
- package/components/index.js +33 -0
- package/components/index.js.map +1 -0
- package/components/index2.js +14 -0
- package/components/index2.js.map +1 -0
- package/components/pds-accordion.js +62 -0
- package/components/pds-accordion.js.map +1 -0
- package/components/pds-avatar.js +97 -0
- package/components/pds-avatar.js.map +1 -0
- package/components/pds-box.js +124 -0
- package/components/pds-box.js.map +1 -0
- package/components/pds-button.js +8 -0
- package/components/pds-button.js.map +1 -0
- package/components/pds-button2.js +78 -0
- package/components/pds-button2.js.map +1 -0
- package/components/pds-checkbox.js +8 -0
- package/components/pds-checkbox.js.map +1 -0
- package/components/pds-checkbox2.js +101 -0
- package/components/pds-checkbox2.js.map +1 -0
- package/components/pds-chip.js +72 -0
- package/components/pds-chip.js.map +1 -0
- package/components/pds-copytext.js +82 -0
- package/components/pds-copytext.js.map +1 -0
- package/components/pds-divider.js +54 -0
- package/components/pds-divider.js.map +1 -0
- package/components/pds-image.js +55 -0
- package/components/pds-image.js.map +1 -0
- package/components/pds-input.js +72 -0
- package/components/pds-input.js.map +1 -0
- package/components/pds-label.js +39 -0
- package/components/pds-label.js.map +1 -0
- package/components/pds-link.js +59 -0
- package/components/pds-link.js.map +1 -0
- package/components/pds-loader.js +68 -0
- package/components/pds-loader.js.map +1 -0
- package/components/pds-progress.js +49 -0
- package/components/pds-progress.js.map +1 -0
- package/components/pds-radio.js +78 -0
- package/components/pds-radio.js.map +1 -0
- package/components/pds-row.js +72 -0
- package/components/pds-row.js.map +1 -0
- package/components/pds-sortable-item.js +52 -0
- package/components/pds-sortable-item.js.map +1 -0
- package/components/pds-sortable.js +2722 -0
- package/components/pds-sortable.js.map +1 -0
- package/components/pds-switch.js +82 -0
- package/components/pds-switch.js.map +1 -0
- package/components/pds-tab.js +53 -0
- package/components/pds-tab.js.map +1 -0
- package/components/pds-table-body.js +36 -0
- package/components/pds-table-body.js.map +1 -0
- package/components/pds-table-cell.js +8 -0
- package/components/pds-table-cell.js.map +1 -0
- package/components/pds-table-cell2.js +72 -0
- package/components/pds-table-cell2.js.map +1 -0
- package/components/pds-table-head-cell.js +8 -0
- package/components/pds-table-head-cell.js.map +1 -0
- package/components/pds-table-head-cell2.js +92 -0
- package/components/pds-table-head-cell2.js.map +1 -0
- package/components/pds-table-head.js +84 -0
- package/components/pds-table-head.js.map +1 -0
- package/components/pds-table-row.js +95 -0
- package/components/pds-table-row.js.map +1 -0
- package/components/pds-table.js +124 -0
- package/components/pds-table.js.map +1 -0
- package/components/pds-tabpanel.js +45 -0
- package/components/pds-tabpanel.js.map +1 -0
- package/components/pds-tabs.js +119 -0
- package/components/pds-tabs.js.map +1 -0
- package/components/pds-textarea.js +82 -0
- package/components/pds-textarea.js.map +1 -0
- package/components/pds-tooltip.js +178 -0
- package/components/pds-tooltip.js.map +1 -0
- package/dist/cjs/app-globals-3a1e7e63.js +7 -0
- package/dist/cjs/app-globals-3a1e7e63.js.map +1 -0
- package/dist/cjs/closest-b45138d3.js +13 -0
- package/dist/cjs/closest-b45138d3.js.map +1 -0
- package/dist/{pine-core/index-cccc19b7.js → cjs/index-11f95019.js} +220 -1563
- package/dist/cjs/index-11f95019.js.map +1 -0
- package/dist/cjs/index-dd191bbe.js +24 -0
- package/dist/cjs/index-dd191bbe.js.map +1 -0
- package/dist/cjs/index.cjs.js +6 -0
- package/dist/cjs/index.cjs.js.map +1 -0
- package/dist/cjs/loader.cjs.js +17 -0
- package/dist/cjs/loader.cjs.js.map +1 -0
- package/dist/cjs/pds-accordion.cjs.entry.js +43 -0
- package/dist/cjs/pds-accordion.cjs.entry.js.map +1 -0
- package/dist/cjs/pds-avatar.cjs.entry.js +75 -0
- package/dist/cjs/pds-avatar.cjs.entry.js.map +1 -0
- package/dist/cjs/pds-box.cjs.entry.js +82 -0
- package/dist/cjs/pds-box.cjs.entry.js.map +1 -0
- package/dist/cjs/pds-button.cjs.entry.js +59 -0
- package/dist/cjs/pds-button.cjs.entry.js.map +1 -0
- package/dist/cjs/pds-checkbox.cjs.entry.js +75 -0
- package/dist/cjs/pds-checkbox.cjs.entry.js.map +1 -0
- package/dist/cjs/pds-chip.cjs.entry.js +51 -0
- package/dist/cjs/pds-chip.cjs.entry.js.map +1 -0
- package/dist/cjs/pds-copytext.cjs.entry.js +56 -0
- package/dist/cjs/pds-copytext.cjs.entry.js.map +1 -0
- package/dist/cjs/pds-divider.cjs.entry.js +36 -0
- package/dist/cjs/pds-divider.cjs.entry.js.map +1 -0
- package/dist/cjs/pds-image.cjs.entry.js +32 -0
- package/dist/cjs/pds-image.cjs.entry.js.map +1 -0
- package/dist/cjs/pds-input.cjs.entry.js +45 -0
- package/dist/cjs/pds-input.cjs.entry.js.map +1 -0
- package/dist/cjs/pds-label-7acec6ab.js +44 -0
- package/dist/cjs/pds-label-7acec6ab.js.map +1 -0
- package/dist/cjs/pds-link.cjs.entry.js +39 -0
- package/dist/cjs/pds-link.cjs.entry.js.map +1 -0
- package/dist/cjs/pds-loader.cjs.entry.js +49 -0
- package/dist/cjs/pds-loader.cjs.entry.js.map +1 -0
- package/dist/cjs/pds-progress.cjs.entry.js +28 -0
- package/dist/cjs/pds-progress.cjs.entry.js.map +1 -0
- package/dist/cjs/pds-radio.cjs.entry.js +54 -0
- package/dist/cjs/pds-radio.cjs.entry.js.map +1 -0
- package/dist/cjs/pds-row.cjs.entry.js +51 -0
- package/dist/cjs/pds-row.cjs.entry.js.map +1 -0
- package/dist/cjs/pds-sortable-item.cjs.entry.js +35 -0
- package/dist/cjs/pds-sortable-item.cjs.entry.js.map +1 -0
- package/dist/cjs/pds-sortable.cjs.entry.js +2704 -0
- package/dist/cjs/pds-sortable.cjs.entry.js.map +1 -0
- package/dist/cjs/pds-switch.cjs.entry.js +56 -0
- package/dist/cjs/pds-switch.cjs.entry.js.map +1 -0
- package/dist/cjs/pds-tab.cjs.entry.js +34 -0
- package/dist/cjs/pds-tab.cjs.entry.js.map +1 -0
- package/dist/cjs/pds-table-body.cjs.entry.js +22 -0
- package/dist/cjs/pds-table-body.cjs.entry.js.map +1 -0
- package/dist/cjs/pds-table-cell.cjs.entry.js +58 -0
- package/dist/cjs/pds-table-cell.cjs.entry.js.map +1 -0
- package/dist/cjs/pds-table-head-cell.cjs.entry.js +76 -0
- package/dist/cjs/pds-table-head-cell.cjs.entry.js.map +1 -0
- package/dist/cjs/pds-table-head.cjs.entry.js +55 -0
- package/dist/cjs/pds-table-head.cjs.entry.js.map +1 -0
- package/dist/cjs/pds-table-row.cjs.entry.js +66 -0
- package/dist/cjs/pds-table-row.cjs.entry.js.map +1 -0
- package/dist/cjs/pds-table.cjs.entry.js +102 -0
- package/dist/cjs/pds-table.cjs.entry.js.map +1 -0
- package/dist/cjs/pds-tabpanel.cjs.entry.js +27 -0
- package/dist/cjs/pds-tabpanel.cjs.entry.js.map +1 -0
- package/dist/cjs/pds-tabs.cjs.entry.js +99 -0
- package/dist/cjs/pds-tabs.cjs.entry.js.map +1 -0
- package/dist/cjs/pds-textarea.cjs.entry.js +55 -0
- package/dist/cjs/pds-textarea.cjs.entry.js.map +1 -0
- package/dist/cjs/pds-tooltip.cjs.entry.js +152 -0
- package/dist/cjs/pds-tooltip.cjs.entry.js.map +1 -0
- package/dist/cjs/pine-core.cjs.js +27 -0
- package/dist/cjs/pine-core.cjs.js.map +1 -0
- package/dist/collection/collection-manifest.json +40 -0
- package/dist/collection/components/_internal/pds-label/pds-label.js +7 -0
- package/dist/collection/components/_internal/pds-label/pds-label.js.map +1 -0
- package/dist/collection/components/pds-accordion/pds-accordion.css +65 -0
- package/dist/collection/components/pds-accordion/pds-accordion.js +94 -0
- package/dist/collection/components/pds-accordion/pds-accordion.js.map +1 -0
- package/dist/collection/components/pds-accordion/stories/pds-accordion.stories.js +34 -0
- package/dist/collection/components/pds-avatar/pds-avatar.css +65 -0
- package/dist/collection/components/pds-avatar/pds-avatar.js +224 -0
- package/dist/collection/components/pds-avatar/pds-avatar.js.map +1 -0
- package/dist/collection/components/pds-avatar/stories/pds-avatar.stories.js +65 -0
- package/dist/collection/components/pds-box/pds-box.css +1234 -0
- package/dist/collection/components/pds-box/pds-box.js +678 -0
- package/dist/collection/components/pds-box/pds-box.js.map +1 -0
- package/dist/collection/components/pds-box/stories/pds-box.stories.js +50 -0
- package/dist/collection/components/pds-button/pds-button.css +131 -0
- package/dist/collection/components/pds-button/pds-button.js +193 -0
- package/dist/collection/components/pds-button/pds-button.js.map +1 -0
- package/dist/collection/components/pds-button/stories/pds-button.stories.js +66 -0
- package/dist/collection/components/pds-checkbox/checkbox-interface.js +2 -0
- package/dist/collection/components/pds-checkbox/checkbox-interface.js.map +1 -0
- package/dist/collection/components/pds-checkbox/pds-checkbox.css +135 -0
- package/dist/collection/components/pds-checkbox/pds-checkbox.js +330 -0
- package/dist/collection/components/pds-checkbox/pds-checkbox.js.map +1 -0
- package/dist/collection/components/pds-checkbox/stories/pds-checkbox.stories.js +82 -0
- package/dist/collection/components/pds-chip/pds-chip.css +239 -0
- package/dist/collection/components/pds-chip/pds-chip.js +189 -0
- package/dist/collection/components/pds-chip/pds-chip.js.map +1 -0
- package/dist/collection/components/pds-chip/stories/pds-chip.stories.js +79 -0
- package/dist/collection/components/pds-copytext/pds-copytext.css +87 -0
- package/dist/collection/components/pds-copytext/pds-copytext.js +173 -0
- package/dist/collection/components/pds-copytext/pds-copytext.js.map +1 -0
- package/dist/collection/components/pds-copytext/stories/pds-copytext.stories.js +57 -0
- package/dist/collection/components/pds-divider/pds-divider.css +92 -0
- package/dist/collection/components/pds-divider/pds-divider.js +94 -0
- package/dist/collection/components/pds-divider/pds-divider.js.map +1 -0
- package/dist/collection/components/pds-divider/stories/pds-divider.stories.js +25 -0
- package/dist/collection/components/pds-icon/stories/pds-icon.stories.js +16 -0
- package/dist/collection/components/pds-image/pds-image.css +13 -0
- package/dist/collection/components/pds-image/pds-image.js +173 -0
- package/dist/collection/components/pds-image/pds-image.js.map +1 -0
- package/dist/collection/components/pds-image/stories/pds-image.stories.js +35 -0
- package/dist/collection/components/pds-input/pds-input.css +92 -0
- package/dist/collection/components/pds-input/pds-input.js +279 -0
- package/dist/collection/components/pds-input/pds-input.js.map +1 -0
- package/dist/collection/components/pds-input/stories/pds-input.stories.js +110 -0
- package/dist/collection/components/pds-link/pds-link.css +68 -0
- package/dist/collection/components/pds-link/pds-link.js +140 -0
- package/dist/collection/components/pds-link/pds-link.js.map +1 -0
- package/dist/collection/components/pds-link/stories/pds-link.stories.js +49 -0
- package/dist/collection/components/pds-loader/pds-loader.css +93 -0
- package/dist/collection/components/pds-loader/pds-loader.js +127 -0
- package/dist/collection/components/pds-loader/pds-loader.js.map +1 -0
- package/dist/collection/components/pds-loader/stories/pds-loader.stories.js +36 -0
- package/dist/collection/components/pds-progress/pds-progress.css +79 -0
- package/dist/collection/components/pds-progress/pds-progress.js +148 -0
- package/dist/collection/components/pds-progress/pds-progress.js.map +1 -0
- package/dist/collection/components/pds-progress/stories/pds-progress.stories.js +65 -0
- package/dist/collection/components/pds-radio/pds-radio.css +104 -0
- package/dist/collection/components/pds-radio/pds-radio.js +261 -0
- package/dist/collection/components/pds-radio/pds-radio.js.map +1 -0
- package/dist/collection/components/pds-radio/stories/pds-radio.stories.js +71 -0
- package/dist/collection/components/pds-row/pds-row.css +78 -0
- package/dist/collection/components/pds-row/pds-row.js +186 -0
- package/dist/collection/components/pds-row/pds-row.js.map +1 -0
- package/dist/collection/components/pds-row/stories/pds-row.stories.js +75 -0
- package/dist/collection/components/pds-sortable/pds-sortable-item/pds-sortable-item.css +63 -0
- package/dist/collection/components/pds-sortable/pds-sortable-item/pds-sortable-item.js +100 -0
- package/dist/collection/components/pds-sortable/pds-sortable-item/pds-sortable-item.js.map +1 -0
- package/dist/collection/components/pds-sortable/pds-sortable-item/stories/pds-sortable-item.stories.js +24 -0
- package/dist/collection/components/pds-sortable/pds-sortable.css +10 -0
- package/dist/collection/components/pds-sortable/pds-sortable.js +150 -0
- package/dist/collection/components/pds-sortable/pds-sortable.js.map +1 -0
- package/dist/collection/components/pds-sortable/sortable-interface.js +2 -0
- package/dist/collection/components/pds-sortable/sortable-interface.js.map +1 -0
- package/dist/collection/components/pds-sortable/stories/pds-sortable.stories.js +130 -0
- package/dist/collection/components/pds-switch/pds-switch.css +136 -0
- package/dist/collection/components/pds-switch/pds-switch.js +277 -0
- package/dist/collection/components/pds-switch/pds-switch.js.map +1 -0
- package/dist/collection/components/pds-switch/stories/pds-switch.stories.js +102 -0
- package/dist/collection/components/pds-table/pds-table-body/pds-table-body.css +5 -0
- package/dist/collection/components/pds-table/pds-table-body/pds-table-body.js +19 -0
- package/dist/collection/components/pds-table/pds-table-body/pds-table-body.js.map +1 -0
- package/dist/collection/components/pds-table/pds-table-cell/pds-table-cell.css +45 -0
- package/dist/collection/components/pds-table/pds-table-cell/pds-table-cell.js +83 -0
- package/dist/collection/components/pds-table/pds-table-cell/pds-table-cell.js.map +1 -0
- package/dist/collection/components/pds-table/pds-table-cell/stories/pds-table-cell.stories.js +26 -0
- package/dist/collection/components/pds-table/pds-table-head/pds-table-head.css +18 -0
- package/dist/collection/components/pds-table/pds-table-head/pds-table-head.js +109 -0
- package/dist/collection/components/pds-table/pds-table-head/pds-table-head.js.map +1 -0
- package/dist/collection/components/pds-table/pds-table-head-cell/pds-table-head-cell.css +54 -0
- package/dist/collection/components/pds-table/pds-table-head-cell/pds-table-head-cell.js +120 -0
- package/dist/collection/components/pds-table/pds-table-head-cell/pds-table-head-cell.js.map +1 -0
- package/dist/collection/components/pds-table/pds-table-head-cell/stories/pds-table-head-cell.stories.js +24 -0
- package/dist/collection/components/pds-table/pds-table-row/pds-table-row.css +22 -0
- package/dist/collection/components/pds-table/pds-table-row/pds-table-row.js +120 -0
- package/dist/collection/components/pds-table/pds-table-row/pds-table-row.js.map +1 -0
- package/dist/collection/components/pds-table/pds-table-row/stories/pds-table-row.stories.js +26 -0
- package/dist/collection/components/pds-table/pds-table.css +27 -0
- package/dist/collection/components/pds-table/pds-table.js +248 -0
- package/dist/collection/components/pds-table/pds-table.js.map +1 -0
- package/dist/collection/components/pds-table/stories/pds-table.stories.js +227 -0
- package/dist/collection/components/pds-tabs/pds-tab/pds-tab.css +160 -0
- package/dist/collection/components/pds-tabs/pds-tab/pds-tab.js +154 -0
- package/dist/collection/components/pds-tabs/pds-tab/pds-tab.js.map +1 -0
- package/dist/collection/components/pds-tabs/pds-tabpanel/pds-tabpanel.css +12 -0
- package/dist/collection/components/pds-tabs/pds-tabpanel/pds-tabpanel.js +107 -0
- package/dist/collection/components/pds-tabs/pds-tabpanel/pds-tabpanel.js.map +1 -0
- package/dist/collection/components/pds-tabs/pds-tabs.css +29 -0
- package/dist/collection/components/pds-tabs/pds-tabs.js +209 -0
- package/dist/collection/components/pds-tabs/pds-tabs.js.map +1 -0
- package/dist/collection/components/pds-tabs/stories/pds-tabs.stories.js +63 -0
- package/dist/collection/components/pds-textarea/pds-textarea.css +88 -0
- package/dist/collection/components/pds-textarea/pds-textarea.js +303 -0
- package/dist/collection/components/pds-textarea/pds-textarea.js.map +1 -0
- package/dist/collection/components/pds-textarea/stories/pds-textarea.stories.js +111 -0
- package/dist/collection/components/pds-textarea/textarea-interface.js +2 -0
- package/dist/collection/components/pds-textarea/textarea-interface.js.map +1 -0
- package/dist/collection/components/pds-tooltip/pds-tooltip.css +147 -0
- package/dist/collection/components/pds-tooltip/pds-tooltip.js +287 -0
- package/dist/collection/components/pds-tooltip/pds-tooltip.js.map +1 -0
- package/dist/collection/components/pds-tooltip/stories/pds-tooltip.stories.js +103 -0
- package/dist/collection/global/pine-ui-global.js +2 -0
- package/dist/collection/global/pine-ui-global.js.map +1 -0
- package/dist/collection/index.js +2 -0
- package/dist/collection/index.js.map +1 -0
- package/dist/collection/stories/_helpers/index.js +15 -0
- package/dist/collection/stories/_helpers/index.js.map +1 -0
- package/dist/collection/utils/closest.js +8 -0
- package/dist/collection/utils/closest.js.map +1 -0
- package/dist/collection/utils/form.js +28 -0
- package/dist/collection/utils/form.js.map +1 -0
- package/dist/collection/utils/overlay.js +68 -0
- package/dist/collection/utils/overlay.js.map +1 -0
- package/dist/collection/utils/types.js +2 -0
- package/dist/collection/utils/types.js.map +1 -0
- package/dist/collection/utils/utils.js +7 -0
- package/dist/collection/utils/utils.js.map +1 -0
- package/dist/docs.json +1 -1
- package/dist/esm/index-b8872c16.js +14 -0
- package/dist/esm/index-b8872c16.js.map +1 -0
- package/dist/esm/index-cd2796be.js +2811 -0
- package/dist/esm/index-cd2796be.js.map +1 -0
- package/dist/esm/index.js +3 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/loader.js +13 -0
- package/dist/esm/loader.js.map +1 -0
- package/dist/{pine-core → esm}/pds-accordion.entry.js +5 -4
- package/dist/esm/pds-accordion.entry.js.map +1 -0
- package/dist/{pine-core → esm}/pds-avatar.entry.js +5 -4
- package/dist/esm/pds-avatar.entry.js.map +1 -0
- package/dist/esm/pds-box.entry.js +78 -0
- package/dist/esm/pds-box.entry.js.map +1 -0
- package/dist/{pine-core → esm}/pds-button.entry.js +5 -7
- package/dist/esm/pds-button.entry.js.map +1 -0
- package/dist/{pine-core → esm}/pds-checkbox.entry.js +5 -4
- package/dist/esm/pds-checkbox.entry.js.map +1 -0
- package/dist/esm/pds-chip.entry.js +47 -0
- package/dist/esm/pds-chip.entry.js.map +1 -0
- package/dist/{pine-core → esm}/pds-copytext.entry.js +5 -4
- package/dist/esm/pds-copytext.entry.js.map +1 -0
- package/dist/esm/pds-divider.entry.js +32 -0
- package/dist/esm/pds-divider.entry.js.map +1 -0
- package/dist/{pine-core → esm}/pds-image.entry.js +3 -2
- package/dist/esm/pds-image.entry.js.map +1 -0
- package/dist/{pine-core → esm}/pds-input.entry.js +5 -4
- package/dist/esm/pds-input.entry.js.map +1 -0
- package/dist/{pine-core/pds-label-7201663d.js → esm/pds-label-7abc6d85.js} +2 -2
- package/dist/{pine-core/pds-label-7201663d.js.map → esm/pds-label-7abc6d85.js.map} +1 -1
- package/dist/{pine-core → esm}/pds-link.entry.js +5 -4
- package/dist/esm/pds-link.entry.js.map +1 -0
- package/dist/esm/pds-loader.entry.js +45 -0
- package/dist/esm/pds-loader.entry.js.map +1 -0
- package/dist/esm/pds-progress.entry.js +24 -0
- package/dist/esm/pds-progress.entry.js.map +1 -0
- package/dist/{pine-core → esm}/pds-radio.entry.js +5 -4
- package/dist/esm/pds-radio.entry.js.map +1 -0
- package/dist/esm/pds-row.entry.js +47 -0
- package/dist/esm/pds-row.entry.js.map +1 -0
- package/dist/esm/pds-sortable-item.entry.js +31 -0
- package/dist/esm/pds-sortable-item.entry.js.map +1 -0
- package/dist/{pine-core → esm}/pds-sortable.entry.js +4 -704
- package/dist/esm/pds-sortable.entry.js.map +1 -0
- package/dist/{pine-core → esm}/pds-switch.entry.js +5 -4
- package/dist/esm/pds-switch.entry.js.map +1 -0
- package/dist/esm/pds-tab.entry.js +30 -0
- package/dist/esm/pds-tab.entry.js.map +1 -0
- package/dist/{pine-core → esm}/pds-table-body.entry.js +3 -2
- package/dist/esm/pds-table-body.entry.js.map +1 -0
- package/dist/{pine-core → esm}/pds-table-cell.entry.js +4 -3
- package/dist/esm/pds-table-cell.entry.js.map +1 -0
- package/dist/{pine-core → esm}/pds-table-head-cell.entry.js +5 -4
- package/dist/esm/pds-table-head-cell.entry.js.map +1 -0
- package/dist/{pine-core → esm}/pds-table-head.entry.js +4 -3
- package/dist/esm/pds-table-head.entry.js.map +1 -0
- package/dist/{pine-core → esm}/pds-table-row.entry.js +4 -3
- package/dist/esm/pds-table-row.entry.js.map +1 -0
- package/dist/{pine-core → esm}/pds-table.entry.js +4 -3
- package/dist/esm/pds-table.entry.js.map +1 -0
- package/dist/{pine-core → esm}/pds-tabpanel.entry.js +3 -2
- package/dist/esm/pds-tabpanel.entry.js.map +1 -0
- package/dist/{pine-core → esm}/pds-tabs.entry.js +4 -3
- package/dist/esm/pds-tabs.entry.js.map +1 -0
- package/dist/{pine-core → esm}/pds-textarea.entry.js +5 -4
- package/dist/esm/pds-textarea.entry.js.map +1 -0
- package/dist/{pine-core → esm}/pds-tooltip.entry.js +4 -3
- package/dist/esm/pds-tooltip.entry.js.map +1 -0
- package/dist/esm/pine-core.js +22 -0
- package/dist/esm/pine-core.js.map +1 -0
- package/dist/esm/polyfills/core-js.js +11 -0
- package/dist/esm/polyfills/dom.js +79 -0
- package/dist/esm/polyfills/es5-html-element.js +1 -0
- package/dist/esm/polyfills/index.js +34 -0
- package/dist/esm/polyfills/system.js +6 -0
- package/dist/esm-es5/app-globals-0f993ce5.js +2 -0
- package/dist/esm-es5/app-globals-0f993ce5.js.map +1 -0
- package/dist/esm-es5/closest-d2d192be.js +2 -0
- package/dist/esm-es5/closest-d2d192be.js.map +1 -0
- package/dist/esm-es5/index-b8872c16.js +2 -0
- package/dist/esm-es5/index-b8872c16.js.map +1 -0
- package/dist/esm-es5/index-cd2796be.js +3 -0
- package/dist/esm-es5/index-cd2796be.js.map +1 -0
- package/dist/esm-es5/index.js +2 -0
- package/dist/esm-es5/index.js.map +1 -0
- package/dist/esm-es5/loader.js +2 -0
- package/dist/esm-es5/loader.js.map +1 -0
- package/dist/esm-es5/pds-accordion.entry.js +2 -0
- package/dist/esm-es5/pds-accordion.entry.js.map +1 -0
- package/dist/esm-es5/pds-avatar.entry.js +2 -0
- package/dist/esm-es5/pds-avatar.entry.js.map +1 -0
- package/dist/esm-es5/pds-box.entry.js +2 -0
- package/dist/esm-es5/pds-box.entry.js.map +1 -0
- package/dist/esm-es5/pds-button.entry.js +2 -0
- package/dist/esm-es5/pds-button.entry.js.map +1 -0
- package/dist/esm-es5/pds-checkbox.entry.js +2 -0
- package/dist/esm-es5/pds-checkbox.entry.js.map +1 -0
- package/dist/esm-es5/pds-chip.entry.js +2 -0
- package/dist/esm-es5/pds-chip.entry.js.map +1 -0
- package/dist/esm-es5/pds-copytext.entry.js +2 -0
- package/dist/esm-es5/pds-copytext.entry.js.map +1 -0
- package/dist/esm-es5/pds-divider.entry.js +2 -0
- package/dist/esm-es5/pds-divider.entry.js.map +1 -0
- package/dist/esm-es5/pds-image.entry.js +2 -0
- package/dist/esm-es5/pds-image.entry.js.map +1 -0
- package/dist/esm-es5/pds-input.entry.js +2 -0
- package/dist/esm-es5/pds-input.entry.js.map +1 -0
- package/dist/esm-es5/pds-label-7abc6d85.js +2 -0
- package/dist/esm-es5/pds-label-7abc6d85.js.map +1 -0
- package/dist/esm-es5/pds-link.entry.js +2 -0
- package/dist/esm-es5/pds-link.entry.js.map +1 -0
- package/dist/esm-es5/pds-loader.entry.js +2 -0
- package/dist/esm-es5/pds-loader.entry.js.map +1 -0
- package/dist/esm-es5/pds-progress.entry.js +2 -0
- package/dist/esm-es5/pds-progress.entry.js.map +1 -0
- package/dist/esm-es5/pds-radio.entry.js +2 -0
- package/dist/esm-es5/pds-radio.entry.js.map +1 -0
- package/dist/esm-es5/pds-row.entry.js +2 -0
- package/dist/esm-es5/pds-row.entry.js.map +1 -0
- package/dist/esm-es5/pds-sortable-item.entry.js +2 -0
- package/dist/esm-es5/pds-sortable-item.entry.js.map +1 -0
- package/dist/esm-es5/pds-sortable.entry.js +8 -0
- package/dist/esm-es5/pds-sortable.entry.js.map +1 -0
- package/dist/esm-es5/pds-switch.entry.js +2 -0
- package/dist/esm-es5/pds-switch.entry.js.map +1 -0
- package/dist/esm-es5/pds-tab.entry.js +2 -0
- package/dist/esm-es5/pds-tab.entry.js.map +1 -0
- package/dist/esm-es5/pds-table-body.entry.js +2 -0
- package/dist/esm-es5/pds-table-body.entry.js.map +1 -0
- package/dist/esm-es5/pds-table-cell.entry.js +2 -0
- package/dist/esm-es5/pds-table-cell.entry.js.map +1 -0
- package/dist/esm-es5/pds-table-head-cell.entry.js +2 -0
- package/dist/esm-es5/pds-table-head-cell.entry.js.map +1 -0
- package/dist/esm-es5/pds-table-head.entry.js +2 -0
- package/dist/esm-es5/pds-table-head.entry.js.map +1 -0
- package/dist/esm-es5/pds-table-row.entry.js +2 -0
- package/dist/esm-es5/pds-table-row.entry.js.map +1 -0
- package/dist/esm-es5/pds-table.entry.js +2 -0
- package/dist/{pine-core → esm-es5}/pds-table.entry.js.map +1 -1
- package/dist/esm-es5/pds-tabpanel.entry.js +2 -0
- package/dist/esm-es5/pds-tabpanel.entry.js.map +1 -0
- package/dist/esm-es5/pds-tabs.entry.js +2 -0
- package/dist/esm-es5/pds-tabs.entry.js.map +1 -0
- package/dist/esm-es5/pds-textarea.entry.js +2 -0
- package/dist/esm-es5/pds-textarea.entry.js.map +1 -0
- package/dist/esm-es5/pds-tooltip.entry.js +2 -0
- package/dist/esm-es5/pds-tooltip.entry.js.map +1 -0
- package/dist/esm-es5/pine-core.js +2 -0
- package/dist/esm-es5/pine-core.js.map +1 -0
- package/dist/index.cjs.js +1 -0
- package/dist/index.js +1 -0
- package/dist/pine-core/index.esm.js +1 -2
- package/dist/pine-core/index.esm.js.map +1 -1
- package/dist/pine-core/p-03ac85bb.system.entry.js +2 -0
- package/dist/pine-core/p-03ac85bb.system.entry.js.map +1 -0
- package/dist/pine-core/p-0935a593.system.js +3 -0
- package/dist/pine-core/p-0935a593.system.js.map +1 -0
- package/dist/pine-core/p-0b77685e.js +2 -0
- package/dist/pine-core/p-0b77685e.js.map +1 -0
- package/dist/pine-core/p-0ca08a85.system.js +2 -0
- package/dist/pine-core/p-0ca08a85.system.js.map +1 -0
- package/dist/pine-core/p-1b1c6e9e.system.entry.js +2 -0
- package/dist/pine-core/p-1b1c6e9e.system.entry.js.map +1 -0
- package/dist/pine-core/p-1d34a83d.system.entry.js +2 -0
- package/dist/pine-core/p-1d34a83d.system.entry.js.map +1 -0
- package/dist/pine-core/p-224a435b.system.js +2 -0
- package/dist/pine-core/p-224a435b.system.js.map +1 -0
- package/dist/pine-core/p-23d97662.js +3 -0
- package/dist/pine-core/p-23d97662.js.map +1 -0
- package/dist/pine-core/p-24d43a5d.system.entry.js +2 -0
- package/dist/pine-core/p-24d43a5d.system.entry.js.map +1 -0
- package/dist/pine-core/p-252bcd1c.system.entry.js +2 -0
- package/dist/pine-core/p-252bcd1c.system.entry.js.map +1 -0
- package/dist/pine-core/p-27dfade4.system.entry.js +2 -0
- package/dist/pine-core/p-27dfade4.system.entry.js.map +1 -0
- package/dist/pine-core/p-28d205e0.system.entry.js +2 -0
- package/dist/pine-core/p-28d205e0.system.entry.js.map +1 -0
- package/dist/pine-core/p-2ac1781f.entry.js +2 -0
- package/dist/pine-core/p-2ac1781f.entry.js.map +1 -0
- package/dist/pine-core/p-35f2208a.system.entry.js +2 -0
- package/dist/pine-core/p-35f2208a.system.entry.js.map +1 -0
- package/dist/pine-core/p-38a23fac.system.entry.js +2 -0
- package/dist/pine-core/p-38a23fac.system.entry.js.map +1 -0
- package/dist/pine-core/p-39bc5dc9.system.entry.js +2 -0
- package/dist/pine-core/p-39bc5dc9.system.entry.js.map +1 -0
- package/dist/pine-core/p-3c02b099.entry.js +2 -0
- package/dist/pine-core/p-3c02b099.entry.js.map +1 -0
- package/dist/pine-core/p-41d6881e.system.entry.js +2 -0
- package/dist/pine-core/p-41d6881e.system.entry.js.map +1 -0
- package/dist/pine-core/p-443202f8.entry.js +8 -0
- package/dist/pine-core/p-443202f8.entry.js.map +1 -0
- package/dist/pine-core/p-4df579f2.entry.js +2 -0
- package/dist/pine-core/p-4df579f2.entry.js.map +1 -0
- package/dist/pine-core/p-519ef0c4.system.js +2 -0
- package/dist/pine-core/p-519ef0c4.system.js.map +1 -0
- package/dist/pine-core/p-56588c5d.entry.js +2 -0
- package/dist/pine-core/p-56588c5d.entry.js.map +1 -0
- package/dist/pine-core/p-56ba5cbf.system.js +2 -0
- package/dist/pine-core/p-56ba5cbf.system.js.map +1 -0
- package/dist/pine-core/p-5c60147f.system.entry.js +9 -0
- package/dist/pine-core/p-5c60147f.system.entry.js.map +1 -0
- package/dist/pine-core/p-5c8608cd.system.entry.js +2 -0
- package/dist/pine-core/p-5c8608cd.system.entry.js.map +1 -0
- package/dist/pine-core/p-5d08fe24.entry.js +2 -0
- package/dist/pine-core/p-5d08fe24.entry.js.map +1 -0
- package/dist/pine-core/p-606b6dbb.entry.js +2 -0
- package/dist/pine-core/p-606b6dbb.entry.js.map +1 -0
- package/dist/pine-core/p-60f4dc68.system.entry.js +2 -0
- package/dist/pine-core/p-60f4dc68.system.entry.js.map +1 -0
- package/dist/pine-core/p-6525ed78.entry.js +2 -0
- package/dist/pine-core/p-6525ed78.entry.js.map +1 -0
- package/dist/pine-core/p-684d04ae.entry.js +2 -0
- package/dist/pine-core/p-684d04ae.entry.js.map +1 -0
- package/dist/pine-core/p-6f38bc8e.entry.js +2 -0
- package/dist/pine-core/p-6f38bc8e.entry.js.map +1 -0
- package/dist/pine-core/p-6f511f31.entry.js +2 -0
- package/dist/pine-core/p-6f511f31.entry.js.map +1 -0
- package/dist/pine-core/p-74d57e61.system.entry.js +2 -0
- package/dist/pine-core/p-74d57e61.system.entry.js.map +1 -0
- package/dist/pine-core/p-806b41c3.entry.js +2 -0
- package/dist/pine-core/p-806b41c3.entry.js.map +1 -0
- package/dist/pine-core/p-807d5d68.system.entry.js +2 -0
- package/dist/pine-core/p-807d5d68.system.entry.js.map +1 -0
- package/dist/pine-core/p-854fa9e2.entry.js +2 -0
- package/dist/pine-core/p-854fa9e2.entry.js.map +1 -0
- package/dist/pine-core/p-867aee19.entry.js +2 -0
- package/dist/pine-core/p-867aee19.entry.js.map +1 -0
- package/dist/pine-core/p-8701cb7b.system.entry.js +2 -0
- package/dist/pine-core/p-8701cb7b.system.entry.js.map +1 -0
- package/dist/pine-core/p-87b61d15.system.entry.js +2 -0
- package/dist/pine-core/p-87b61d15.system.entry.js.map +1 -0
- package/dist/pine-core/p-8a1b3866.entry.js +2 -0
- package/dist/pine-core/p-8a1b3866.entry.js.map +1 -0
- package/dist/pine-core/p-8c719c49.entry.js +2 -0
- package/dist/pine-core/p-8c719c49.entry.js.map +1 -0
- package/dist/pine-core/p-8f3273ed.system.entry.js +2 -0
- package/dist/pine-core/p-8f3273ed.system.entry.js.map +1 -0
- package/dist/pine-core/p-8fcfa336.entry.js +2 -0
- package/dist/pine-core/p-8fcfa336.entry.js.map +1 -0
- package/dist/pine-core/p-90694e70.entry.js +2 -0
- package/dist/pine-core/p-90694e70.entry.js.map +1 -0
- package/dist/pine-core/p-91bb8017.entry.js +2 -0
- package/dist/pine-core/p-91bb8017.entry.js.map +1 -0
- package/dist/pine-core/p-924a951b.system.entry.js +2 -0
- package/dist/pine-core/p-924a951b.system.entry.js.map +1 -0
- package/dist/pine-core/p-9c538ab0.entry.js +2 -0
- package/dist/pine-core/p-9c538ab0.entry.js.map +1 -0
- package/dist/pine-core/p-9d959d25.system.entry.js +2 -0
- package/dist/pine-core/p-9d959d25.system.entry.js.map +1 -0
- package/dist/pine-core/p-ad997571.system.entry.js +2 -0
- package/dist/pine-core/p-ad997571.system.entry.js.map +1 -0
- package/dist/pine-core/p-b1363254.entry.js +2 -0
- package/dist/pine-core/p-b1363254.entry.js.map +1 -0
- package/dist/pine-core/p-b47f8855.entry.js +2 -0
- package/dist/pine-core/p-b47f8855.entry.js.map +1 -0
- package/dist/pine-core/p-b480d80a.entry.js +2 -0
- package/dist/pine-core/p-b480d80a.entry.js.map +1 -0
- package/dist/pine-core/p-b5859bbd.system.entry.js +2 -0
- package/dist/pine-core/p-b5859bbd.system.entry.js.map +1 -0
- package/dist/pine-core/p-b978c861.entry.js +2 -0
- package/dist/pine-core/p-b978c861.entry.js.map +1 -0
- package/dist/pine-core/p-bdc39517.system.entry.js +2 -0
- package/dist/pine-core/p-bdc39517.system.entry.js.map +1 -0
- package/dist/pine-core/p-c03cfc96.js +2 -0
- package/dist/pine-core/p-c03cfc96.js.map +1 -0
- package/dist/pine-core/p-c56d871e.system.entry.js +2 -0
- package/dist/pine-core/p-c56d871e.system.entry.js.map +1 -0
- package/dist/pine-core/p-cca53530.system.entry.js +2 -0
- package/dist/pine-core/p-cca53530.system.entry.js.map +1 -0
- package/dist/pine-core/p-cddeae53.entry.js +2 -0
- package/dist/pine-core/p-cddeae53.entry.js.map +1 -0
- package/dist/pine-core/p-d33de2b3.system.entry.js +2 -0
- package/dist/pine-core/p-d33de2b3.system.entry.js.map +1 -0
- package/dist/pine-core/p-dcc876d5.entry.js +2 -0
- package/dist/pine-core/p-dcc876d5.entry.js.map +1 -0
- package/dist/pine-core/p-e1255160.js +2 -0
- package/dist/pine-core/p-e1255160.js.map +1 -0
- package/dist/pine-core/p-ece97e5b.system.js +2 -0
- package/dist/pine-core/p-ece97e5b.system.js.map +1 -0
- package/dist/pine-core/p-ee65aef1.system.js +2 -0
- package/dist/pine-core/p-ee65aef1.system.js.map +1 -0
- package/dist/pine-core/p-efc85823.js +2 -0
- package/dist/pine-core/p-efc85823.js.map +1 -0
- package/dist/pine-core/p-f1610dff.system.entry.js +2 -0
- package/dist/pine-core/p-f1610dff.system.entry.js.map +1 -0
- package/dist/pine-core/p-f666c482.entry.js +2 -0
- package/dist/pine-core/p-f666c482.entry.js.map +1 -0
- package/dist/pine-core/p-f80b45a9.system.entry.js +2 -0
- package/dist/pine-core/p-f80b45a9.system.entry.js.map +1 -0
- package/dist/pine-core/p-f92e85c4.entry.js +2 -0
- package/dist/pine-core/p-f92e85c4.entry.js.map +1 -0
- package/dist/pine-core/p-fc202585.entry.js +2 -0
- package/dist/pine-core/p-fc202585.entry.js.map +1 -0
- package/dist/pine-core/pine-core.css +1 -180
- package/dist/pine-core/pine-core.esm.js +1 -52
- package/dist/pine-core/pine-core.esm.js.map +1 -1
- package/dist/pine-core/pine-core.js +127 -0
- package/hydrate/index.js +28 -28
- package/package.json +1 -1
- package/dist/pine-core/index-00e73f84.js +0 -329
- package/dist/pine-core/index-00e73f84.js.map +0 -1
- package/dist/pine-core/index-cccc19b7.js.map +0 -1
- package/dist/pine-core/pds-accordion.entry.js.map +0 -1
- package/dist/pine-core/pds-avatar.entry.js.map +0 -1
- package/dist/pine-core/pds-box.entry.js +0 -77
- package/dist/pine-core/pds-box.entry.js.map +0 -1
- package/dist/pine-core/pds-button.entry.js.map +0 -1
- package/dist/pine-core/pds-checkbox.entry.js.map +0 -1
- package/dist/pine-core/pds-chip.entry.js +0 -46
- package/dist/pine-core/pds-chip.entry.js.map +0 -1
- package/dist/pine-core/pds-copytext.entry.js.map +0 -1
- package/dist/pine-core/pds-divider.entry.js +0 -31
- package/dist/pine-core/pds-divider.entry.js.map +0 -1
- package/dist/pine-core/pds-image.entry.js.map +0 -1
- package/dist/pine-core/pds-input.entry.js.map +0 -1
- package/dist/pine-core/pds-link.entry.js.map +0 -1
- package/dist/pine-core/pds-loader.entry.js +0 -44
- package/dist/pine-core/pds-loader.entry.js.map +0 -1
- package/dist/pine-core/pds-progress.entry.js +0 -23
- package/dist/pine-core/pds-progress.entry.js.map +0 -1
- package/dist/pine-core/pds-radio.entry.js.map +0 -1
- package/dist/pine-core/pds-row.entry.js +0 -46
- package/dist/pine-core/pds-row.entry.js.map +0 -1
- package/dist/pine-core/pds-sortable-item.entry.js +0 -30
- package/dist/pine-core/pds-sortable-item.entry.js.map +0 -1
- package/dist/pine-core/pds-sortable.entry.js.map +0 -1
- package/dist/pine-core/pds-switch.entry.js.map +0 -1
- package/dist/pine-core/pds-tab.entry.js +0 -29
- package/dist/pine-core/pds-tab.entry.js.map +0 -1
- package/dist/pine-core/pds-table-body.entry.js.map +0 -1
- package/dist/pine-core/pds-table-cell.entry.js.map +0 -1
- package/dist/pine-core/pds-table-head-cell.entry.js.map +0 -1
- package/dist/pine-core/pds-table-head.entry.js.map +0 -1
- package/dist/pine-core/pds-table-row.entry.js.map +0 -1
- package/dist/pine-core/pds-tabpanel.entry.js.map +0 -1
- package/dist/pine-core/pds-tabs.entry.js.map +0 -1
- package/dist/pine-core/pds-textarea.entry.js.map +0 -1
- package/dist/pine-core/pds-tooltip.entry.js.map +0 -1
- package/dist/pine-core/shadow-css-2e0fed52.js +0 -478
- package/dist/pine-core/shadow-css-2e0fed52.js.map +0 -1
- /package/dist/{pine-core → esm}/app-globals-0f993ce5.js +0 -0
- /package/dist/{pine-core → esm}/app-globals-0f993ce5.js.map +0 -0
- /package/dist/{pine-core → esm}/closest-d2d192be.js +0 -0
- /package/dist/{pine-core → esm}/closest-d2d192be.js.map +0 -0
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
import { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/core/internal/client';
|
|
2
|
+
import { c as closest } from './closest.js';
|
|
3
|
+
import { d as defineCustomElement$3 } from './pds-checkbox2.js';
|
|
4
|
+
import { d as defineCustomElement$2 } from './pds-table-cell2.js';
|
|
5
|
+
|
|
6
|
+
const 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)}";
|
|
7
|
+
const PdsTableRowStyle0 = pdsTableRowCss;
|
|
8
|
+
|
|
9
|
+
const PdsTableRow$1 = /*@__PURE__*/ proxyCustomElement(class PdsTableRow extends HTMLElement {
|
|
10
|
+
constructor() {
|
|
11
|
+
super();
|
|
12
|
+
this.__registerHost();
|
|
13
|
+
this.__attachShadow();
|
|
14
|
+
this.pdsTableRowSelected = createEvent(this, "pdsTableRowSelected", 7);
|
|
15
|
+
this.handleClick = () => {
|
|
16
|
+
this.isSelected = !this.isSelected; // Toggle the selected state
|
|
17
|
+
this.handleSelect(this.isSelected);
|
|
18
|
+
};
|
|
19
|
+
this.handleSelect = (isSelected) => {
|
|
20
|
+
this.indeterminate = false;
|
|
21
|
+
if (!closest('pds-table-head', this.hostElement)) {
|
|
22
|
+
const rowIndex = Array.from(this.hostElement.parentNode.children).indexOf(this.hostElement);
|
|
23
|
+
this.pdsTableRowSelected.emit({
|
|
24
|
+
rowIndex,
|
|
25
|
+
isSelected,
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
};
|
|
29
|
+
this.generateUniqueId = () => {
|
|
30
|
+
const randomString = Math.random().toString(36).substring(2, 8);
|
|
31
|
+
const timestamp = new Date().toISOString().replace(/[:.]/g, '-');
|
|
32
|
+
const uniqueId = `${randomString}-${timestamp}`;
|
|
33
|
+
return uniqueId;
|
|
34
|
+
};
|
|
35
|
+
this.indeterminate = undefined;
|
|
36
|
+
this.isSelected = undefined;
|
|
37
|
+
}
|
|
38
|
+
classNames() {
|
|
39
|
+
const classNames = [];
|
|
40
|
+
if (this.isSelected) {
|
|
41
|
+
classNames.push("is-selected");
|
|
42
|
+
}
|
|
43
|
+
return classNames.join(' ');
|
|
44
|
+
}
|
|
45
|
+
componentWillRender() {
|
|
46
|
+
this.tableRef = this.hostElement.closest('pds-table');
|
|
47
|
+
if (this.tableRef && this.tableRef.fixedColumn) {
|
|
48
|
+
const tableCell = this.hostElement.querySelector('pds-table-cell');
|
|
49
|
+
tableCell === null || tableCell === void 0 ? void 0 : tableCell.classList.add("is-fixed");
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
componentWillLoad() {
|
|
53
|
+
if (this.isSelected) {
|
|
54
|
+
this.handleSelect(this.isSelected);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
render() {
|
|
58
|
+
return (h(Host, { key: 'dbfba35e818a96281f5df7e51e60f0bbaf4d5527', class: this.classNames(), role: "row" }, this.tableRef && this.tableRef.selectable && (h("pds-table-cell", { key: 'a0d9118e63db0829f4352875cbacf76c11978fff', part: this.tableRef.fixedColumn ? 'checkbox-cell' : '', class: this.tableRef.selectable ? 'has-checkbox' : '' }, h("pds-checkbox", { key: '60ebde7bb2e745af55e3713b952f963d50396485', componentId: this.generateUniqueId(), onClick: this.handleClick, indeterminate: this.indeterminate, label: "Select Row", labelHidden: true, checked: this.isSelected }))), h("slot", { key: '97f90a8d36781f3b278f83b16c778d5e2b6e9bce' })));
|
|
59
|
+
}
|
|
60
|
+
get hostElement() { return this; }
|
|
61
|
+
static get style() { return PdsTableRowStyle0; }
|
|
62
|
+
}, [1, "pds-table-row", {
|
|
63
|
+
"indeterminate": [1028],
|
|
64
|
+
"isSelected": [1028, "is-selected"]
|
|
65
|
+
}]);
|
|
66
|
+
function defineCustomElement$1() {
|
|
67
|
+
if (typeof customElements === "undefined") {
|
|
68
|
+
return;
|
|
69
|
+
}
|
|
70
|
+
const components = ["pds-table-row", "pds-checkbox", "pds-table-cell"];
|
|
71
|
+
components.forEach(tagName => { switch (tagName) {
|
|
72
|
+
case "pds-table-row":
|
|
73
|
+
if (!customElements.get(tagName)) {
|
|
74
|
+
customElements.define(tagName, PdsTableRow$1);
|
|
75
|
+
}
|
|
76
|
+
break;
|
|
77
|
+
case "pds-checkbox":
|
|
78
|
+
if (!customElements.get(tagName)) {
|
|
79
|
+
defineCustomElement$3();
|
|
80
|
+
}
|
|
81
|
+
break;
|
|
82
|
+
case "pds-table-cell":
|
|
83
|
+
if (!customElements.get(tagName)) {
|
|
84
|
+
defineCustomElement$2();
|
|
85
|
+
}
|
|
86
|
+
break;
|
|
87
|
+
} });
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
const PdsTableRow = PdsTableRow$1;
|
|
91
|
+
const defineCustomElement = defineCustomElement$1;
|
|
92
|
+
|
|
93
|
+
export { PdsTableRow, defineCustomElement };
|
|
94
|
+
|
|
95
|
+
//# sourceMappingURL=pds-table-row.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"file":"pds-table-row.js","mappings":";;;;;AAAA,MAAM,cAAc,GAAG,uiBAAuiB,CAAC;AAC/jB,0BAAe,cAAc;;MCQhBA,aAAW;;;;;;QAmBd,gBAAW,GAAG;YACpB,IAAI,CAAC,UAAU,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC;YACnC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;SACpC,CAAA;QAEO,iBAAY,GAAG,CAAC,UAAmB;YACzC,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;YAE3B,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE;gBAChD,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;gBAC3F,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC;oBAC5B,QAAQ;oBACR,UAAU;iBACX,CAAC,CAAA;aACH;SACF,CAAA;QA2BO,qBAAgB,GAAG;YACzB,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAChE,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;YACjE,MAAM,QAAQ,GAAG,GAAG,YAAY,IAAI,SAAS,EAAE,CAAC;YAEhD,OAAO,QAAQ,CAAC;SACjB,CAAA;;;;IA/BO,UAAU;QAChB,MAAM,UAAU,GAAG,EAAE,CAAC;QAEtB,IAAI,IAAI,CAAC,UAAU,EAAE;YACnB,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;SAChC;QAED,OAAO,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KAC9B;IAED,mBAAmB;QACjB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,WAAW,CAAwB,CAAC;QAE7E,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE;YAC9C,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC;YACnE,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;SACtC;KACF;IAED,iBAAiB;QACf,IAAI,IAAI,CAAC,UAAU,EAAE;YACnB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;SACpC;KACF;IAUD,MAAM;QACJ,QACE,EAAC,IAAI,qDACH,KAAK,EAAE,IAAI,CAAC,UAAU,EAAE,EACxB,IAAI,EAAC,KAAK,IAET,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,KACxC,uEAAgB,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,WAAW,GAAG,eAAe,GAAG,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,GAAG,cAAc,GAAG,EAAE,IAC3H,qEACE,WAAW,EAAE,IAAI,CAAC,gBAAgB,EAAE,EACpC,OAAO,EAAE,IAAI,CAAC,WAAW,EACzB,aAAa,EAAE,IAAI,CAAC,aAAa,EACjC,KAAK,EAAE,YAAY,EACnB,WAAW,EAAE,IAAI,EACjB,OAAO,EAAE,IAAI,CAAC,UAAU,GACxB,CACa,CAClB,EACD,8DAAa,CACR,EACP;KACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["PdsTableRow"],"sources":["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":[":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 styleUrl: 'pds-table-row.scss',\n shadow: true,\n})\nexport class PdsTableRow {\n @Element() hostElement: HTMLPdsTableRowElement;\n private tableRef: HTMLPdsTableElement;\n\n /**\n * Indicates that the selection state is indeterminate.\n * */\n @Prop({ mutable: true }) indeterminate?: boolean\n\n /**\n * A local state to track whether the 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"],"version":3}
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
import { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/core/internal/client';
|
|
2
|
+
|
|
3
|
+
const 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 2px var(--pine-color-blue-200);-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}";
|
|
4
|
+
const PdsTableStyle0 = pdsTableCss;
|
|
5
|
+
|
|
6
|
+
const PdsTable$1 = /*@__PURE__*/ proxyCustomElement(class PdsTable extends HTMLElement {
|
|
7
|
+
constructor() {
|
|
8
|
+
super();
|
|
9
|
+
this.__registerHost();
|
|
10
|
+
this.__attachShadow();
|
|
11
|
+
this.pdsTableSelect = createEvent(this, "pdsTableSelect", 7);
|
|
12
|
+
this.pdsTableSelectAll = createEvent(this, "pdsTableSelectAll", 7);
|
|
13
|
+
this.compact = undefined;
|
|
14
|
+
this.componentId = undefined;
|
|
15
|
+
this.responsive = undefined;
|
|
16
|
+
this.fixedColumn = undefined;
|
|
17
|
+
this.selectable = undefined;
|
|
18
|
+
this.sortingColumn = null;
|
|
19
|
+
this.sortingDirection = 'asc';
|
|
20
|
+
}
|
|
21
|
+
componentWillLoad() {
|
|
22
|
+
this.sortingColumn = null;
|
|
23
|
+
}
|
|
24
|
+
classNames() {
|
|
25
|
+
const classNames = ['pds-table'];
|
|
26
|
+
if (this.compact) {
|
|
27
|
+
classNames.push('is-compact');
|
|
28
|
+
}
|
|
29
|
+
if (this.responsive) {
|
|
30
|
+
classNames.push('is-responsive');
|
|
31
|
+
}
|
|
32
|
+
return classNames.join(' ');
|
|
33
|
+
}
|
|
34
|
+
sortTable(column, direction) {
|
|
35
|
+
const tableBody = this.el.querySelector('pds-table-body');
|
|
36
|
+
// Get the rows in the table body
|
|
37
|
+
const tableRows = Array.from(tableBody.querySelectorAll('pds-table-row'));
|
|
38
|
+
// Find the column index based on the column name
|
|
39
|
+
const columnHeaderCells = Array.from(this.el.querySelectorAll('pds-table-head-cell[sortable]'));
|
|
40
|
+
const columnHeaderCell = columnHeaderCells.find((cell) => cell.innerText.trim() === column);
|
|
41
|
+
if (!columnHeaderCell) {
|
|
42
|
+
console.warn(`Column "${column}" not found.`);
|
|
43
|
+
return;
|
|
44
|
+
}
|
|
45
|
+
const columnIndex = columnHeaderCells.indexOf(columnHeaderCell);
|
|
46
|
+
// Sort the rows based on the content of the specified column
|
|
47
|
+
tableRows.sort((a, b) => {
|
|
48
|
+
const valueA = a.querySelector(`pds-table-cell:nth-child(${columnIndex + 1})`).textContent.trim();
|
|
49
|
+
const valueB = b.querySelector(`pds-table-cell:nth-child(${columnIndex + 1})`).textContent.trim();
|
|
50
|
+
if (direction === 'asc') {
|
|
51
|
+
return valueA.localeCompare(valueB);
|
|
52
|
+
}
|
|
53
|
+
else {
|
|
54
|
+
return valueB.localeCompare(valueA);
|
|
55
|
+
}
|
|
56
|
+
});
|
|
57
|
+
// Clear and append the sorted rows back to the table body
|
|
58
|
+
tableBody.innerHTML = '';
|
|
59
|
+
tableRows.forEach((row) => {
|
|
60
|
+
tableBody.appendChild(row);
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
handleTableSort(event) {
|
|
64
|
+
const { direction } = event.detail;
|
|
65
|
+
this.sortTable(event.detail.column, direction);
|
|
66
|
+
this.sortingColumn = event.detail.column;
|
|
67
|
+
this.sortingDirection = direction;
|
|
68
|
+
}
|
|
69
|
+
handleTableSelectAll(event) {
|
|
70
|
+
if (event.defaultPrevented)
|
|
71
|
+
return;
|
|
72
|
+
const pdsTableBody = this.el.querySelector('pds-table-body');
|
|
73
|
+
const tableRows = Array.from(pdsTableBody.querySelectorAll('pds-table-row'));
|
|
74
|
+
tableRows.forEach((row) => {
|
|
75
|
+
row.isSelected = event.detail.isSelected;
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
async handleTableSelect(event) {
|
|
79
|
+
if (event.defaultPrevented)
|
|
80
|
+
return;
|
|
81
|
+
const allTableRows = this.el.querySelectorAll('pds-table-row');
|
|
82
|
+
const allSelectedRows = Array.from(allTableRows).every((row) => row.isSelected);
|
|
83
|
+
const noneSelectedRows = Array.from(allTableRows).every((row) => !row.isSelected);
|
|
84
|
+
const pdsTableHead = this.el.querySelector('pds-table-head');
|
|
85
|
+
if (!pdsTableHead)
|
|
86
|
+
return;
|
|
87
|
+
const headerCheckbox = pdsTableHead.shadowRoot.querySelector('pds-checkbox');
|
|
88
|
+
headerCheckbox.checked = allSelectedRows;
|
|
89
|
+
headerCheckbox.indeterminate = !allSelectedRows && !noneSelectedRows;
|
|
90
|
+
}
|
|
91
|
+
render() {
|
|
92
|
+
return (h(Host, { key: '95cc4db296681faa0fc046c9b1d6807d640b7730', class: this.classNames(), id: this.componentId, role: "grid", selectable: this.selectable, tabindex: "0" }, h("slot", { key: 'ecc9bc0761409d5a2819a05d72290c294e27454f' })));
|
|
93
|
+
}
|
|
94
|
+
get el() { return this; }
|
|
95
|
+
static get style() { return PdsTableStyle0; }
|
|
96
|
+
}, [1, "pds-table", {
|
|
97
|
+
"compact": [4],
|
|
98
|
+
"componentId": [1, "component-id"],
|
|
99
|
+
"responsive": [4],
|
|
100
|
+
"fixedColumn": [4, "fixed-column"],
|
|
101
|
+
"selectable": [4],
|
|
102
|
+
"sortingColumn": [32],
|
|
103
|
+
"sortingDirection": [32]
|
|
104
|
+
}, [[0, "pdsTableSort", "handleTableSort"], [0, "pdsTableSelectAll", "handleTableSelectAll"], [0, "pdsTableRowSelected", "handleTableSelect"]]]);
|
|
105
|
+
function defineCustomElement$1() {
|
|
106
|
+
if (typeof customElements === "undefined") {
|
|
107
|
+
return;
|
|
108
|
+
}
|
|
109
|
+
const components = ["pds-table"];
|
|
110
|
+
components.forEach(tagName => { switch (tagName) {
|
|
111
|
+
case "pds-table":
|
|
112
|
+
if (!customElements.get(tagName)) {
|
|
113
|
+
customElements.define(tagName, PdsTable$1);
|
|
114
|
+
}
|
|
115
|
+
break;
|
|
116
|
+
} });
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
const PdsTable = PdsTable$1;
|
|
120
|
+
const defineCustomElement = defineCustomElement$1;
|
|
121
|
+
|
|
122
|
+
export { PdsTable, defineCustomElement };
|
|
123
|
+
|
|
124
|
+
//# sourceMappingURL=pds-table.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"file":"pds-table.js","mappings":"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","names":["PdsTable"],"sources":["src/components/pds-table/pds-table.scss?tag=pds-table&encapsulation=shadow","src/components/pds-table/pds-table.tsx"],"sourcesContent":[":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 2px var(--pine-color-blue-200);\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 styleUrl: '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"],"version":3}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { proxyCustomElement, HTMLElement, h, Host } from '@stencil/core/internal/client';
|
|
2
|
+
|
|
3
|
+
const 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}";
|
|
4
|
+
const PdsTabpanelStyle0 = pdsTabpanelCss;
|
|
5
|
+
|
|
6
|
+
const PdsTabpanel$1 = /*@__PURE__*/ proxyCustomElement(class PdsTabpanel extends HTMLElement {
|
|
7
|
+
constructor() {
|
|
8
|
+
super();
|
|
9
|
+
this.__registerHost();
|
|
10
|
+
this.name = undefined;
|
|
11
|
+
this.parentComponentId = undefined;
|
|
12
|
+
this.variant = undefined;
|
|
13
|
+
this.selected = false;
|
|
14
|
+
}
|
|
15
|
+
render() {
|
|
16
|
+
return (h(Host, { key: 'b071d63a6211e70b09f11a18609d15728eb485c6', slot: "tabpanels" }, h("div", { key: 'ab8de65d7142136888c853170b7b8b190f21abcc', 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: '0cac8366d5502be7033d1b71b681bf564aa557e8' }))));
|
|
17
|
+
}
|
|
18
|
+
get el() { return this; }
|
|
19
|
+
static get style() { return PdsTabpanelStyle0; }
|
|
20
|
+
}, [4, "pds-tabpanel", {
|
|
21
|
+
"name": [1],
|
|
22
|
+
"parentComponentId": [1, "parent-component-id"],
|
|
23
|
+
"variant": [1],
|
|
24
|
+
"selected": [1028]
|
|
25
|
+
}]);
|
|
26
|
+
function defineCustomElement$1() {
|
|
27
|
+
if (typeof customElements === "undefined") {
|
|
28
|
+
return;
|
|
29
|
+
}
|
|
30
|
+
const components = ["pds-tabpanel"];
|
|
31
|
+
components.forEach(tagName => { switch (tagName) {
|
|
32
|
+
case "pds-tabpanel":
|
|
33
|
+
if (!customElements.get(tagName)) {
|
|
34
|
+
customElements.define(tagName, PdsTabpanel$1);
|
|
35
|
+
}
|
|
36
|
+
break;
|
|
37
|
+
} });
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
const PdsTabpanel = PdsTabpanel$1;
|
|
41
|
+
const defineCustomElement = defineCustomElement$1;
|
|
42
|
+
|
|
43
|
+
export { PdsTabpanel, defineCustomElement };
|
|
44
|
+
|
|
45
|
+
//# sourceMappingURL=pds-tabpanel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"file":"pds-tabpanel.js","mappings":";;AAAA,MAAM,cAAc,GAAG,uKAAuK,CAAC;AAC/L,0BAAe,cAAc;;MCMhBA,aAAW;;;;;;;wBAwBY,KAAK;;IAEvC,MAAM;QACJ,QACE,EAAC,IAAI,qDAAC,IAAI,EAAC,WAAW,IACpB,4DACE,IAAI,EAAC,UAAU,EACf,EAAE,EAAE,IAAI,CAAC,iBAAiB,GAAG,IAAI,GAAG,IAAI,CAAC,IAAI,GAAG,QAAQ,EACxD,QAAQ,EAAC,GAAG,qBACK,IAAI,CAAC,iBAAiB,GAAG,IAAI,GAAG,IAAI,CAAC,IAAI,EAC1D,KAAK,EAAE,IAAI,CAAC,QAAQ,GAAG,wBAAwB,GAAG,cAAc,IAEhE,8DAAQ,CACJ,CACD,EACP;KACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["PdsTabpanel"],"sources":["src/components/pds-tabs/pds-tabpanel/pds-tabpanel.scss?tag=pds-tabpanel","src/components/pds-tabs/pds-tabpanel/pds-tabpanel.tsx"],"sourcesContent":[":host {\n display: block;\n}\n\n.pds-tabpanel {\n display: none;\n margin-top: var(--spacing-panel-margin-top);\n padding: var(--spacing-panel-padding);\n\n &.is-active {\n display: block;\n }\n}\n","import { Component, Element, Host, h, Prop } from '@stencil/core';\n\n@Component({\n tag: 'pds-tabpanel',\n styleUrl: 'pds-tabpanel.scss',\n shadow: false,\n})\nexport class PdsTabpanel {\n @Element() el: HTMLPdsTabpanelElement;\n\n /**\n * Sets the related tab name, this name must match a `pds-tab`'s tab name property\n */\n @Prop() name!: string;\n\n /**\n * Keeps track of the parentComponentId unique id, this property is passed by parent component\n */\n /** @internal */\n @Prop() parentComponentId: string;\n\n /**\n * Keeps track of if the expected tab variant, this property is passed by parent component\n */\n /** @internal */\n @Prop() variant: string;\n\n /**\n * Keeps track of the tabpanel selected state, this property is passed by parent component\n */\n /** @internal */\n @Prop({mutable: true}) selected = false; // eslint-disable-line @stencil-community/strict-mutable\n\n render() {\n return (\n <Host slot=\"tabpanels\">\n <div\n role=\"tabpanel\"\n id={this.parentComponentId + \"__\" + this.name + '-panel'}\n tabindex=\"0\"\n aria-labelledby={this.parentComponentId + \"__\" + this.name}\n class={this.selected ? \"pds-tabpanel is-active\" : \"pds-tabpanel\"}\n >\n <slot />\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
import { proxyCustomElement, HTMLElement, h, Host } from '@stencil/core/internal/client';
|
|
2
|
+
|
|
3
|
+
const 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)}";
|
|
4
|
+
const PdsTabsStyle0 = pdsTabsCss;
|
|
5
|
+
|
|
6
|
+
const PdsTabs$1 = /*@__PURE__*/ proxyCustomElement(class PdsTabs extends HTMLElement {
|
|
7
|
+
constructor() {
|
|
8
|
+
super();
|
|
9
|
+
this.__registerHost();
|
|
10
|
+
this.__attachShadow();
|
|
11
|
+
this.tablistLabel = undefined;
|
|
12
|
+
this.componentId = undefined;
|
|
13
|
+
this.variant = undefined;
|
|
14
|
+
this.activeTabName = undefined;
|
|
15
|
+
this.activeTabIndex = undefined;
|
|
16
|
+
}
|
|
17
|
+
tabClickHandler(event) {
|
|
18
|
+
if (this.componentId === event.detail[1]) {
|
|
19
|
+
this.activeTabIndex = event.detail[0];
|
|
20
|
+
this.activeTabName = this.tabs[this.activeTabIndex].name;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
handleKeyDown(ev) {
|
|
24
|
+
const keySet = ["ArrowLeft", "ArrowRight", "Home", "End"];
|
|
25
|
+
if (keySet.includes(ev.key)) {
|
|
26
|
+
ev.preventDefault();
|
|
27
|
+
this.moveActiveTab(ev.key);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
moveActiveTab(key) {
|
|
31
|
+
const firstTabNumber = 0;
|
|
32
|
+
const lastTabNumber = this.tabs.length - 1;
|
|
33
|
+
let moveFocusTo = null;
|
|
34
|
+
switch (key) {
|
|
35
|
+
case 'ArrowLeft':
|
|
36
|
+
moveFocusTo = (this.activeTabIndex === firstTabNumber) ? lastTabNumber : (this.activeTabIndex + (-1));
|
|
37
|
+
break;
|
|
38
|
+
case 'ArrowRight':
|
|
39
|
+
moveFocusTo = (this.activeTabIndex === lastTabNumber) ? firstTabNumber : (this.activeTabIndex + 1);
|
|
40
|
+
break;
|
|
41
|
+
case 'Home':
|
|
42
|
+
moveFocusTo = firstTabNumber;
|
|
43
|
+
break;
|
|
44
|
+
case 'End':
|
|
45
|
+
moveFocusTo = lastTabNumber;
|
|
46
|
+
break;
|
|
47
|
+
}
|
|
48
|
+
// Move focus to the button element within `pds-tab`
|
|
49
|
+
this.tabs[moveFocusTo].children[0].focus();
|
|
50
|
+
this.activeTabName = this.tabs[moveFocusTo].name;
|
|
51
|
+
this.activeTabIndex = moveFocusTo;
|
|
52
|
+
}
|
|
53
|
+
findAllChildren() {
|
|
54
|
+
this.tabs = this.el.querySelectorAll('pds-tab');
|
|
55
|
+
this.tabPanels = this.el.querySelectorAll('pds-tabpanel');
|
|
56
|
+
}
|
|
57
|
+
propGeneration(child, index = 0) {
|
|
58
|
+
child.parentComponentId = this.componentId.toString();
|
|
59
|
+
child.variant = this.variant.toString();
|
|
60
|
+
child.selected = (this.activeTabName === child.name) ? true : false;
|
|
61
|
+
child['index'] = index;
|
|
62
|
+
}
|
|
63
|
+
passPropsToChildren() {
|
|
64
|
+
this.tabs.forEach((child, index) => {
|
|
65
|
+
if (this.activeTabName === child.name)
|
|
66
|
+
this.activeTabIndex = index;
|
|
67
|
+
this.propGeneration(child, index);
|
|
68
|
+
});
|
|
69
|
+
this.tabPanels.forEach((child) => {
|
|
70
|
+
this.propGeneration(child);
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
classNames() {
|
|
74
|
+
let className = `pds-tabs`;
|
|
75
|
+
if (this.variant && this.variant != 'primary') {
|
|
76
|
+
const variantClassName = `pds-tabs--${this.variant}`;
|
|
77
|
+
className += ' ' + variantClassName;
|
|
78
|
+
}
|
|
79
|
+
return className;
|
|
80
|
+
}
|
|
81
|
+
;
|
|
82
|
+
componentWillLoad() {
|
|
83
|
+
this.findAllChildren();
|
|
84
|
+
}
|
|
85
|
+
componentWillRender() {
|
|
86
|
+
this.passPropsToChildren();
|
|
87
|
+
}
|
|
88
|
+
render() {
|
|
89
|
+
return (h(Host, { key: 'a36e242d5e746954f80778cf515879ca82258978', "active-tab-name": this.activeTabName, class: this.classNames(), id: this.componentId }, h("div", { key: 'd6d89fd90a9a534f249c549e34308ed245773f60', class: "pds-tabs__tablist", role: "tablist", "aria-label": this.tablistLabel }, h("slot", { key: '9b5e5268c27ecf2a5331cec64d2c7121cef366a1', name: "tabs" })), h("slot", { key: 'b835cf1befe68f54b1751a976846d271ce97634e', name: "tabpanels" })));
|
|
90
|
+
}
|
|
91
|
+
get el() { return this; }
|
|
92
|
+
static get style() { return PdsTabsStyle0; }
|
|
93
|
+
}, [1, "pds-tabs", {
|
|
94
|
+
"tablistLabel": [1, "tablist-label"],
|
|
95
|
+
"componentId": [1, "component-id"],
|
|
96
|
+
"variant": [1],
|
|
97
|
+
"activeTabName": [1025, "active-tab-name"],
|
|
98
|
+
"activeTabIndex": [1026, "active-tab-index"]
|
|
99
|
+
}, [[16, "pdsTabClick", "tabClickHandler"], [0, "keydown", "handleKeyDown"]]]);
|
|
100
|
+
function defineCustomElement$1() {
|
|
101
|
+
if (typeof customElements === "undefined") {
|
|
102
|
+
return;
|
|
103
|
+
}
|
|
104
|
+
const components = ["pds-tabs"];
|
|
105
|
+
components.forEach(tagName => { switch (tagName) {
|
|
106
|
+
case "pds-tabs":
|
|
107
|
+
if (!customElements.get(tagName)) {
|
|
108
|
+
customElements.define(tagName, PdsTabs$1);
|
|
109
|
+
}
|
|
110
|
+
break;
|
|
111
|
+
} });
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
const PdsTabs = PdsTabs$1;
|
|
115
|
+
const defineCustomElement = defineCustomElement$1;
|
|
116
|
+
|
|
117
|
+
export { PdsTabs, defineCustomElement };
|
|
118
|
+
|
|
119
|
+
//# sourceMappingURL=pds-tabs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"file":"pds-tabs.js","mappings":"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","names":["PdsTabs"],"sources":["src/components/pds-tabs/pds-tabs.scss?tag=pds-tabs&encapsulation=shadow","src/components/pds-tabs/pds-tabs.tsx"],"sourcesContent":[":host {\n /**\n * @prop --spacing-panel-margin-top: Optional margin-top for panels\n */\n --spacing-panel-margin-top: 0;\n /**\n * @prop --spacing-panel-padding: Optional padding for panels\n */\n --spacing-panel-padding: 0;\n\n --outline: 2px solid var(--pine-color-blue-200);\n\n --spacing-gap-availability: var(--pine-spacing-100);\n --spacing-gap-default: var(--pine-spacing-300);\n --spacing-gap-filter: var(--pine-spacing-200);\n\n display: block;\n}\n\n.pds-tabs__tablist {\n display: flex;\n flex-wrap: wrap;\n gap: var(--spacing-gap-default);\n}\n\n:host(.pds-tabs--availability) .pds-tabs__tablist {\n gap: var(--spacing-gap-availability);\n}\n\n:host(.pds-tabs--filter) .pds-tabs__tablist {\n gap: var(--spacing-gap-filter);\n}\n","import { Component, Element, Host, h, Prop, Listen } from '@stencil/core';\n\n /**\n * @slot tabs - Content is placed within the `div[role=\"tablist\"]` element as children\n * @slot tabpanels - Content is placed directly after the `div[role=\"tablist\"]` element as siblings\n */\n@Component({\n tag: 'pds-tabs',\n styleUrl: 'pds-tabs.scss',\n shadow: true,\n})\nexport class PdsTabs {\n private tabs;\n private tabPanels;\n\n @Element() el: HTMLPdsTabsElement;\n\n /**\n * Sets the aria-label attached to the tablist element\n */\n @Prop() tablistLabel!: string;\n\n /**\n * A unique identifier used for the underlying component `id` attribute.\n */\n @Prop() componentId!: string;\n\n /**\n * Sets tabs variant styles as outlined in Figma documentation\n */\n @Prop() variant!: 'primary' | 'availability' | 'filter';\n\n /**\n * Sets the starting active tab name and maintains the name as the component re-renders\n */\n @Prop({mutable: true}) activeTabName!: string;\n\n /**\n * Sets the starting active tab index number and maintains the index number as the component re-renders\n */\n /** @internal */\n @Prop({mutable: true}) activeTabIndex: number;\n\n @Listen('pdsTabClick', {\n target: 'body',\n })\n tabClickHandler(event: CustomEvent<any>) {\n if (this.componentId === event.detail[1]) {\n this.activeTabIndex = event.detail[0];\n this.activeTabName = this.tabs[this.activeTabIndex].name;\n }\n }\n\n @Listen('keydown', {})\n handleKeyDown(ev: KeyboardEvent) {\n const keySet = [\"ArrowLeft\", \"ArrowRight\", \"Home\", \"End\"];\n\n if (keySet.includes(ev.key)) {\n ev.preventDefault();\n this.moveActiveTab(ev.key);\n }\n }\n\n private moveActiveTab(key: string) {\n const firstTabNumber = 0;\n const lastTabNumber = this.tabs.length - 1;\n\n let moveFocusTo = null;\n\n switch (key) {\n case 'ArrowLeft':\n moveFocusTo = (this.activeTabIndex === firstTabNumber) ? lastTabNumber : (this.activeTabIndex + (-1));\n break;\n case 'ArrowRight':\n moveFocusTo = (this.activeTabIndex === lastTabNumber) ? firstTabNumber : (this.activeTabIndex + 1);\n break;\n case 'Home':\n moveFocusTo = firstTabNumber;\n break;\n case 'End':\n moveFocusTo = lastTabNumber;\n break;\n }\n\n // Move focus to the button element within `pds-tab`\n this.tabs[moveFocusTo].children[0].focus();\n this.activeTabName = this.tabs[moveFocusTo].name;\n this.activeTabIndex = moveFocusTo;\n }\n\n private findAllChildren() {\n this.tabs = this.el.querySelectorAll('pds-tab');\n this.tabPanels = this.el.querySelectorAll('pds-tabpanel');\n }\n\n private propGeneration(child, index = 0) {\n child.parentComponentId = this.componentId.toString();\n child.variant = this.variant.toString();\n child.selected = (this.activeTabName === child.name) ? true : false;\n child['index'] = index;\n }\n\n private passPropsToChildren() {\n this.tabs.forEach((child, index) => {\n if (this.activeTabName === child.name) this.activeTabIndex = index;\n this.propGeneration(child, index);\n });\n\n this.tabPanels.forEach((child) => {\n this.propGeneration(child);\n });\n }\n\n private classNames() {\n let className = `pds-tabs`;\n if (this.variant && this.variant != 'primary') {\n const variantClassName = `pds-tabs--${this.variant}`;\n className += ' ' + variantClassName;\n }\n\n return className;\n };\n\n componentWillLoad() {\n this.findAllChildren();\n }\n\n componentWillRender() {\n this.passPropsToChildren();\n }\n\n render() {\n return (\n <Host active-tab-name={this.activeTabName} class={this.classNames()} id={this.componentId}>\n <div class=\"pds-tabs__tablist\" role=\"tablist\" aria-label={this.tablistLabel}>\n <slot name=\"tabs\" />\n </div>\n <slot name=\"tabpanels\" />\n </Host>\n );\n }\n}\n"],"version":3}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/core/internal/client';
|
|
2
|
+
import { i as isRequired, P as PdsLabel, a as assignDescription, m as messageId } from './pds-label.js';
|
|
3
|
+
|
|
4
|
+
const pdsTextareaCss = ":host{--border-interactive-default:var(--pine-border-width-thin) solid var(--pine-color-grey-400);--box-shadow-focus:0 0 0 2px var(--color-focus-visible-outline);--box-shadow-focus-error:0 0 0 2px var(--color-focus-visible-outline-error);--color:var(--pine-color-charcoal-400);--color-background:var(--pine-color-white);--color-background-disabled:var(--pine-color-grey-200);--color-border-default:var(--pine-color-grey-400);--color-border-error:var(--pine-color-red-300);--color-border-focus-visible:var(--pine-color-grey-300);--color-border-hover:var(--pine-color-grey-500);--color-disabled-default:var(--pine-color-charcoal-200);--color-error-default:var(--pine-color-red-300);--color-focus-visible-outline:var(--pine-color-blue-200);--color-focus-visible-outline-error:var(--pine-color-red-200);--color-placeholder-default:var(--pine-color-charcoal-200);--font-size-field:var(--pine-font-size-100);--font-size-helper-message:var(--pine-font-size-075);--font-size-label:var(--pine-font-size-100);--font-weight-field:var(--pine-font-weight-normal);--font-weight-helper-message:var(--pine-font-weight-normal);--font-weight-label:var(--pine-font-weight-medium);--line-height-field:var(--pine-line-height-150);--line-height-helper-message:var(--pine-line-height-125);--line-height-label:var(--pine-line-height-150);--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);display:inline}.pds-textarea{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}label{display:block;font-size:var(--font-size-label);font-weight:var(--font-weight-label);line-height:var(--line-height-label);-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);border:var(--pine-border-interactive-default);border-radius:var(--pine-border-radius-md);font-family:inherit;font-size:var(--font-size-field);font-weight:var(--font-weight-field);line-height:var(--line-height-field);padding:var(--spacing-padding-block-field) var(--spacing-padding-inline-field)}.pds-textarea__field:hover:not(:disabled,.is-invalid){border-color:var(--color-border-hover)}.pds-textarea__field:disabled{background-color:var(--color-background-disabled);color:var(--color-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-placeholder-default)}.pds-textarea__field::-moz-placeholder{color:var(--color-placeholder-default)}.pds-textarea__field:-ms-input-placeholder{color:var(--color-placeholder-default)}.pds-textarea__field::-ms-input-placeholder{color:var(--color-placeholder-default)}.pds-textarea__field::placeholder{color:var(--color-placeholder-default)}.pds-textarea__field.is-invalid{border-color:var(--color-border-error)}.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-size:var(--font-size-helper-message);font-weight:var(--font-weight-helper-message);line-height:var(--line-height-helper-message);-webkit-margin-before:var(--spacing-margin-block-start-helper-message);margin-block-start:var(--spacing-margin-block-start-helper-message)}.pds-textarea__error-message{color:var(--color-error-default)}";
|
|
5
|
+
const PdsTextareaStyle0 = pdsTextareaCss;
|
|
6
|
+
|
|
7
|
+
const PdsTextarea$1 = /*@__PURE__*/ proxyCustomElement(class PdsTextarea extends HTMLElement {
|
|
8
|
+
constructor() {
|
|
9
|
+
super();
|
|
10
|
+
this.__registerHost();
|
|
11
|
+
this.__attachShadow();
|
|
12
|
+
this.pdsTextareaChange = createEvent(this, "pdsTextareaChange", 7);
|
|
13
|
+
this.onTextareaChange = (ev) => {
|
|
14
|
+
const textarea = ev.target;
|
|
15
|
+
isRequired(textarea, this);
|
|
16
|
+
if (textarea) {
|
|
17
|
+
this.value = textarea.innerHTML;
|
|
18
|
+
}
|
|
19
|
+
this.pdsTextareaChange.emit({ value: this.value, event: ev });
|
|
20
|
+
};
|
|
21
|
+
this.componentId = undefined;
|
|
22
|
+
this.disabled = false;
|
|
23
|
+
this.errorMessage = undefined;
|
|
24
|
+
this.helperMessage = undefined;
|
|
25
|
+
this.invalid = false;
|
|
26
|
+
this.label = undefined;
|
|
27
|
+
this.name = this.componentId;
|
|
28
|
+
this.placeholder = undefined;
|
|
29
|
+
this.readonly = false;
|
|
30
|
+
this.required = false;
|
|
31
|
+
this.rows = undefined;
|
|
32
|
+
this.value = undefined;
|
|
33
|
+
}
|
|
34
|
+
textareaClassNames() {
|
|
35
|
+
const classNames = ['pds-textarea__field'];
|
|
36
|
+
if (this.invalid && this.invalid === true) {
|
|
37
|
+
classNames.push('is-invalid');
|
|
38
|
+
}
|
|
39
|
+
return classNames.join(' ');
|
|
40
|
+
}
|
|
41
|
+
render() {
|
|
42
|
+
return (h(Host, { key: 'f58ccd5b20fc30c6e6153e04e98b27fe265040af', "aria-disabled": this.disabled ? 'true' : null }, h("div", { key: '480b51012d0f7a05d83fb8cb359d2bc3a4e82189', class: "pds-textarea" }, this.label &&
|
|
43
|
+
h(PdsLabel, { key: '0b34ee6ee8eec6891c00596f840d028ab6ac36bb', htmlFor: this.componentId, text: this.label }), h("textarea", { key: '6f066ce38aaec3257bddd69715118aa5740723c1', "aria-describedby": assignDescription(this.componentId, this.invalid, this.helperMessage), "aria-invalid": this.invalid ? "true" : undefined, 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 &&
|
|
44
|
+
h("p", { key: '91c66558978cdbb3191c0af31c34c2647749c01a', class: "pds-textarea__helper-message", id: messageId(this.componentId, 'helper') }, this.helperMessage), this.invalid &&
|
|
45
|
+
h("p", { key: 'da8320d10ace733c7181ab3c6827da99d94d7ebd', "aria-live": "assertive", class: "pds-textarea__error-message", id: messageId(this.componentId, 'error') }, this.errorMessage))));
|
|
46
|
+
}
|
|
47
|
+
get el() { return this; }
|
|
48
|
+
static get style() { return PdsTextareaStyle0; }
|
|
49
|
+
}, [1, "pds-textarea", {
|
|
50
|
+
"componentId": [1, "component-id"],
|
|
51
|
+
"disabled": [4],
|
|
52
|
+
"errorMessage": [1, "error-message"],
|
|
53
|
+
"helperMessage": [1, "helper-message"],
|
|
54
|
+
"invalid": [1028],
|
|
55
|
+
"label": [1],
|
|
56
|
+
"name": [1],
|
|
57
|
+
"placeholder": [1],
|
|
58
|
+
"readonly": [4],
|
|
59
|
+
"required": [4],
|
|
60
|
+
"rows": [2],
|
|
61
|
+
"value": [1025]
|
|
62
|
+
}]);
|
|
63
|
+
function defineCustomElement$1() {
|
|
64
|
+
if (typeof customElements === "undefined") {
|
|
65
|
+
return;
|
|
66
|
+
}
|
|
67
|
+
const components = ["pds-textarea"];
|
|
68
|
+
components.forEach(tagName => { switch (tagName) {
|
|
69
|
+
case "pds-textarea":
|
|
70
|
+
if (!customElements.get(tagName)) {
|
|
71
|
+
customElements.define(tagName, PdsTextarea$1);
|
|
72
|
+
}
|
|
73
|
+
break;
|
|
74
|
+
} });
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
const PdsTextarea = PdsTextarea$1;
|
|
78
|
+
const defineCustomElement = defineCustomElement$1;
|
|
79
|
+
|
|
80
|
+
export { PdsTextarea, defineCustomElement };
|
|
81
|
+
|
|
82
|
+
//# sourceMappingURL=pds-textarea.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"file":"pds-textarea.js","mappings":";;;AAAA,MAAM,cAAc,GAAG,giHAAgiH,CAAC;AACxjH,0BAAe,cAAc;;MCShBA,aAAW;;;;;;QAwEd,qBAAgB,GAAG,CAAC,EAAS;YACnC,MAAM,QAAQ,GAAG,EAAE,CAAC,MAA6B,CAAC;YAClD,UAAU,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;YAE3B,IAAI,QAAQ,EAAE;gBACZ,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,SAAS,CAAC;aACjC;YAED,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAC,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,EAAC,CAAC,CAAC;SAC7D,CAAC;;wBArEiB,KAAK;;;uBAgBS,KAAK;;oBAUf,IAAI,CAAC,WAAW;;wBAWpB,KAAK;wBAML,KAAK;;;;IA4BhB,kBAAkB;QACxB,MAAM,UAAU,GAAG,CAAC,qBAAqB,CAAC,CAAC;QAE3C,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE;YACzC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;SAC/B;QAED,OAAO,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KAC9B;IAED,MAAM;QACJ,QACE,EAAC,IAAI,sEACY,IAAI,CAAC,QAAQ,GAAG,MAAM,GAAG,IAAI,IAE5C,4DAAK,KAAK,EAAC,cAAc,IACtB,IAAI,CAAC,KAAK;YACT,EAAC,QAAQ,qDAAC,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,GAAI,EAE3D,qFACoB,iBAAiB,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC,kBACzE,IAAI,CAAC,OAAO,GAAG,MAAM,GAAG,SAAS,EAC/C,KAAK,EAAE,IAAI,CAAC,kBAAkB,EAAE,EAChC,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,EAAE,EAAE,IAAI,CAAC,WAAW,EACpB,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,WAAW,EAAE,IAAI,CAAC,WAAW,EAC7B,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,QAAQ,EAAE,IAAI,CAAC,gBAAgB,IAC/B,IAAI,CAAC,KAAK,CAAY,EACvB,IAAI,CAAC,aAAa;YACjB,0DACE,KAAK,EAAC,8BAA8B,EACpC,EAAE,EAAE,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,IAExC,IAAI,CAAC,aAAa,CACjB,EAEL,IAAI,CAAC,OAAO;YACX,uEACY,WAAW,EACrB,KAAK,EAAC,6BAA6B,EACnC,EAAE,EAAE,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,IAEvC,IAAI,CAAC,YAAY,CAChB,CAEF,CACD,EACP;KACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["PdsTextarea"],"sources":["src/components/pds-textarea/pds-textarea.scss?tag=pds-textarea&encapsulation=shadow","src/components/pds-textarea/pds-textarea.tsx"],"sourcesContent":[":host {\n --border-interactive-default: var(--pine-border-width-thin) solid var(--pine-color-grey-400);\n\n --box-shadow-focus: 0 0 0 2px var(--color-focus-visible-outline);\n --box-shadow-focus-error: 0 0 0 2px var(--color-focus-visible-outline-error);\n\n --color: var(--pine-color-charcoal-400);\n --color-background: var(--pine-color-white);\n --color-background-disabled: var(--pine-color-grey-200);\n --color-border-default: var(--pine-color-grey-400);\n --color-border-error: var(--pine-color-red-300);\n --color-border-focus-visible: var(--pine-color-grey-300);\n --color-border-hover: var(--pine-color-grey-500);\n --color-disabled-default: var(--pine-color-charcoal-200);\n --color-error-default: var(--pine-color-red-300);\n --color-focus-visible-outline: var(--pine-color-blue-200);\n --color-focus-visible-outline-error: var(--pine-color-red-200);\n --color-placeholder-default: var(--pine-color-charcoal-200);\n\n --font-size-field: var(--pine-font-size-100);\n --font-size-helper-message: var(--pine-font-size-075);\n --font-size-label: var(--pine-font-size-100);\n --font-weight-field: var(--pine-font-weight-normal);\n --font-weight-helper-message: var(--pine-font-weight-normal);\n --font-weight-label: var(--pine-font-weight-medium);\n\n --line-height-field: var(--pine-line-height-150);\n --line-height-helper-message: var(--pine-line-height-125);\n --line-height-label: var(--pine-line-height-150);\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 display: inline;\n}\n\n.pds-textarea {\n display: flex;\n flex-direction: column;\n}\n\nlabel {\n display: block;\n font-size: var(--font-size-label);\n font-weight: var(--font-weight-label);\n line-height: var(--line-height-label);\n margin-block-end: var(--spacing-margin-block-end-label);\n}\n\n.pds-textarea__field {\n background-color: var(--color-background);\n border: var(--pine-border-interactive-default);\n border-radius: var(--pine-border-radius-md);\n font-family: inherit;\n font-size: var(--font-size-field);\n font-weight: var(--font-weight-field);\n line-height: var(--line-height-field);\n padding: var(--spacing-padding-block-field) var(--spacing-padding-inline-field);\n\n &:hover:not(:disabled, .is-invalid) {\n border-color: var(--color-border-hover);\n }\n\n &:disabled {\n background-color: var(--color-background-disabled);\n color: var(--color-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-placeholder-default);\n }\n\n &.is-invalid {\n border-color: var(--color-border-error);\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-size: var(--font-size-helper-message);\n font-weight: var(--font-weight-helper-message);\n line-height: var(--line-height-helper-message);\n margin-block-start: var(--spacing-margin-block-start-helper-message);\n}\n\n.pds-textarea__error-message {\n color: var(--color-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 styleUrl: 'pds-textarea.scss',\n shadow: true,\n})\nexport class PdsTextarea {\n @Element() el: HTMLPdsTextareaElement;\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.innerHTML;\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 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"],"version":3}
|