@pine-ds/core 3.12.1 → 3.14.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/mock-pds-modal.js +9 -5
- package/components/mock-pds-modal.js.map +1 -1
- package/components/pds-alert.js +1 -1
- package/components/pds-alert.js.map +1 -1
- package/components/pds-avatar.js +18 -5
- package/components/pds-avatar.js.map +1 -1
- package/components/pds-button2.js.map +1 -1
- package/components/pds-checkbox2.js.map +1 -1
- package/components/pds-chip2.js.map +1 -1
- package/components/pds-combobox.js +1 -1
- package/components/pds-combobox.js.map +1 -1
- package/components/pds-dropdown-menu-item.js +1 -1
- package/components/pds-dropdown-menu-item.js.map +1 -1
- package/components/pds-filter.js +1 -1
- package/components/pds-filter.js.map +1 -1
- package/components/pds-input.js +6 -2
- package/components/pds-input.js.map +1 -1
- package/components/pds-link2.js +1 -1
- package/components/pds-link2.js.map +1 -1
- package/components/pds-modal.js +7 -6
- package/components/pds-modal.js.map +1 -1
- package/components/pds-radio-group.js +1 -1
- package/components/pds-radio-group.js.map +1 -1
- package/components/pds-radio.js +1 -1
- package/components/pds-radio.js.map +1 -1
- package/components/pds-select.js +14 -2
- package/components/pds-select.js.map +1 -1
- package/components/pds-tab.js +20 -4
- package/components/pds-tab.js.map +1 -1
- package/components/pds-table-cell2.js.map +1 -1
- package/components/pds-table-head-cell2.js +61 -5
- package/components/pds-table-head-cell2.js.map +1 -1
- package/components/pds-table-head.js +15 -3
- package/components/pds-table-head.js.map +1 -1
- package/components/pds-table-row.js +100 -4
- package/components/pds-table-row.js.map +1 -1
- package/components/pds-table.js +50 -3
- package/components/pds-table.js.map +1 -1
- package/components/pds-textarea.js +9 -5
- package/components/pds-textarea.js.map +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/mock-pds-modal.cjs.entry.js +9 -5
- package/dist/cjs/mock-pds-modal.entry.cjs.js.map +1 -1
- package/dist/cjs/pds-alert.cjs.entry.js +1 -1
- package/dist/cjs/pds-alert.entry.cjs.js.map +1 -1
- package/dist/cjs/pds-avatar.cjs.entry.js +17 -5
- package/dist/cjs/pds-avatar.entry.cjs.js.map +1 -1
- package/dist/cjs/pds-button.entry.cjs.js.map +1 -1
- package/dist/cjs/pds-checkbox.entry.cjs.js.map +1 -1
- package/dist/cjs/pds-chip.entry.cjs.js.map +1 -1
- package/dist/cjs/pds-combobox.cjs.entry.js +1 -1
- package/dist/cjs/pds-combobox.entry.cjs.js.map +1 -1
- package/dist/cjs/pds-dropdown-menu-item.cjs.entry.js +1 -1
- package/dist/cjs/pds-dropdown-menu-item.entry.cjs.js.map +1 -1
- package/dist/cjs/pds-filter.cjs.entry.js +1 -1
- package/dist/cjs/pds-filter.entry.cjs.js.map +1 -1
- package/dist/cjs/pds-input.cjs.entry.js +6 -2
- package/dist/cjs/pds-input.entry.cjs.js.map +1 -1
- package/dist/cjs/pds-link.cjs.entry.js +1 -1
- package/dist/cjs/pds-link.entry.cjs.js.map +1 -1
- package/dist/cjs/pds-modal.cjs.entry.js +7 -6
- package/dist/cjs/pds-modal.entry.cjs.js.map +1 -1
- package/dist/cjs/pds-radio-group.cjs.entry.js +1 -1
- package/dist/cjs/pds-radio-group.entry.cjs.js.map +1 -1
- package/dist/cjs/pds-radio.cjs.entry.js +1 -1
- package/dist/cjs/pds-radio.entry.cjs.js.map +1 -1
- package/dist/cjs/pds-select.cjs.entry.js +14 -2
- package/dist/cjs/pds-select.entry.cjs.js.map +1 -1
- package/dist/cjs/pds-tab.cjs.entry.js +19 -4
- package/dist/cjs/pds-tab.entry.cjs.js.map +1 -1
- package/dist/cjs/pds-table-cell.entry.cjs.js.map +1 -1
- package/dist/cjs/pds-table-head-cell.cjs.entry.js +57 -4
- package/dist/cjs/pds-table-head-cell.entry.cjs.js.map +1 -1
- package/dist/cjs/pds-table-head.cjs.entry.js +12 -2
- package/dist/cjs/pds-table-head.entry.cjs.js.map +1 -1
- package/dist/cjs/pds-table-row.cjs.entry.js +97 -3
- package/dist/cjs/pds-table-row.entry.cjs.js.map +1 -1
- package/dist/cjs/pds-table.cjs.entry.js +47 -3
- package/dist/cjs/pds-table.entry.cjs.js.map +1 -1
- package/dist/cjs/pds-textarea.cjs.entry.js +9 -5
- package/dist/cjs/pds-textarea.entry.cjs.js.map +1 -1
- package/dist/cjs/pine-core.cjs.js +1 -1
- package/dist/collection/components/pds-alert/pds-alert.css +22 -0
- package/dist/collection/components/pds-avatar/pds-avatar.css +14 -1
- package/dist/collection/components/pds-avatar/pds-avatar.js +39 -4
- package/dist/collection/components/pds-avatar/pds-avatar.js.map +1 -1
- package/dist/collection/components/pds-avatar/stories/pds-avatar.stories.js +15 -0
- package/dist/collection/components/pds-button/pds-button.css +3 -0
- package/dist/collection/components/pds-checkbox/pds-checkbox.css +2 -0
- package/dist/collection/components/pds-chip/pds-chip.css +7 -0
- package/dist/collection/components/pds-combobox/pds-combobox.css +6 -1
- package/dist/collection/components/pds-dropdown-menu/pds-dropdown-menu-item/pds-dropdown-menu-item.css +4 -3
- package/dist/collection/components/pds-filters/pds-filter/pds-filter.css +1 -1
- package/dist/collection/components/pds-input/pds-input.css +5 -3
- package/dist/collection/components/pds-input/pds-input.js +24 -1
- package/dist/collection/components/pds-input/pds-input.js.map +1 -1
- package/dist/collection/components/pds-link/pds-link.css +3 -3
- package/dist/collection/components/pds-modal/pds-modal.css +1 -0
- package/dist/collection/components/pds-modal/pds-modal.js +7 -6
- package/dist/collection/components/pds-modal/pds-modal.js.map +1 -1
- package/dist/collection/components/pds-modal/test/mock-pds-modal.js +10 -6
- package/dist/collection/components/pds-modal/test/mock-pds-modal.js.map +1 -1
- package/dist/collection/components/pds-radio/pds-radio.css +4 -1
- package/dist/collection/components/pds-radio-group/pds-radio-group.css +3 -1
- package/dist/collection/components/pds-select/pds-select.css +5 -3
- package/dist/collection/components/pds-select/pds-select.js +71 -2
- package/dist/collection/components/pds-select/pds-select.js.map +1 -1
- package/dist/collection/components/pds-table/pds-table-cell/pds-table-cell.css +1 -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 +57 -1
- 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.css +12 -2
- package/dist/collection/components/pds-table/pds-table-head-cell/pds-table-head-cell.js +87 -4
- 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.css +10 -0
- package/dist/collection/components/pds-table/pds-table-row/pds-table-row.js +102 -2
- package/dist/collection/components/pds-table/pds-table-row/pds-table-row.js.map +1 -1
- package/dist/collection/components/pds-table/pds-table.css +2 -0
- package/dist/collection/components/pds-table/pds-table.js +112 -3
- package/dist/collection/components/pds-table/pds-table.js.map +1 -1
- package/dist/collection/components/pds-table/stories/pds-table.stories.js +150 -5
- package/dist/collection/components/pds-tabs/pds-tab/pds-tab.css +23 -4
- package/dist/collection/components/pds-tabs/pds-tab/pds-tab.js +41 -3
- package/dist/collection/components/pds-tabs/pds-tab/pds-tab.js.map +1 -1
- package/dist/collection/components/pds-textarea/pds-textarea.css +3 -1
- package/dist/collection/components/pds-textarea/pds-textarea.js +27 -4
- package/dist/collection/components/pds-textarea/pds-textarea.js.map +1 -1
- package/dist/docs.json +341 -4
- package/dist/esm/loader.js +1 -1
- package/dist/esm/mock-pds-modal.entry.js +9 -5
- package/dist/esm/mock-pds-modal.entry.js.map +1 -1
- package/dist/esm/pds-alert.entry.js +1 -1
- package/dist/esm/pds-alert.entry.js.map +1 -1
- package/dist/esm/pds-avatar.entry.js +17 -5
- package/dist/esm/pds-avatar.entry.js.map +1 -1
- package/dist/esm/pds-button.entry.js.map +1 -1
- package/dist/esm/pds-checkbox.entry.js.map +1 -1
- package/dist/esm/pds-chip.entry.js.map +1 -1
- package/dist/esm/pds-combobox.entry.js +1 -1
- package/dist/esm/pds-combobox.entry.js.map +1 -1
- package/dist/esm/pds-dropdown-menu-item.entry.js +1 -1
- package/dist/esm/pds-dropdown-menu-item.entry.js.map +1 -1
- package/dist/esm/pds-filter.entry.js +1 -1
- package/dist/esm/pds-filter.entry.js.map +1 -1
- package/dist/esm/pds-input.entry.js +6 -2
- package/dist/esm/pds-input.entry.js.map +1 -1
- package/dist/esm/pds-link.entry.js +1 -1
- package/dist/esm/pds-link.entry.js.map +1 -1
- package/dist/esm/pds-modal.entry.js +7 -6
- package/dist/esm/pds-modal.entry.js.map +1 -1
- package/dist/esm/pds-radio-group.entry.js +1 -1
- package/dist/esm/pds-radio-group.entry.js.map +1 -1
- package/dist/esm/pds-radio.entry.js +1 -1
- package/dist/esm/pds-radio.entry.js.map +1 -1
- package/dist/esm/pds-select.entry.js +14 -2
- package/dist/esm/pds-select.entry.js.map +1 -1
- package/dist/esm/pds-tab.entry.js +19 -4
- package/dist/esm/pds-tab.entry.js.map +1 -1
- package/dist/esm/pds-table-cell.entry.js.map +1 -1
- package/dist/esm/pds-table-head-cell.entry.js +57 -4
- package/dist/esm/pds-table-head-cell.entry.js.map +1 -1
- package/dist/esm/pds-table-head.entry.js +12 -2
- package/dist/esm/pds-table-head.entry.js.map +1 -1
- package/dist/esm/pds-table-row.entry.js +97 -3
- package/dist/esm/pds-table-row.entry.js.map +1 -1
- package/dist/esm/pds-table.entry.js +47 -3
- package/dist/esm/pds-table.entry.js.map +1 -1
- package/dist/esm/pds-textarea.entry.js +9 -5
- package/dist/esm/pds-textarea.entry.js.map +1 -1
- package/dist/esm/pine-core.js +1 -1
- package/dist/esm-es5/loader.js +1 -1
- package/dist/esm-es5/mock-pds-modal.entry.js +1 -1
- package/dist/esm-es5/mock-pds-modal.entry.js.map +1 -1
- package/dist/esm-es5/pds-alert.entry.js +1 -1
- package/dist/esm-es5/pds-alert.entry.js.map +1 -1
- package/dist/esm-es5/pds-avatar.entry.js +1 -1
- package/dist/esm-es5/pds-avatar.entry.js.map +1 -1
- package/dist/esm-es5/pds-button.entry.js.map +1 -1
- package/dist/esm-es5/pds-checkbox.entry.js.map +1 -1
- package/dist/esm-es5/pds-chip.entry.js.map +1 -1
- package/dist/esm-es5/pds-combobox.entry.js +1 -1
- package/dist/esm-es5/pds-combobox.entry.js.map +1 -1
- package/dist/esm-es5/pds-dropdown-menu-item.entry.js +1 -1
- package/dist/esm-es5/pds-dropdown-menu-item.entry.js.map +1 -1
- package/dist/esm-es5/pds-filter.entry.js +1 -1
- package/dist/esm-es5/pds-filter.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-link.entry.js +1 -1
- package/dist/esm-es5/pds-link.entry.js.map +1 -1
- package/dist/esm-es5/pds-modal.entry.js +1 -1
- package/dist/esm-es5/pds-modal.entry.js.map +1 -1
- package/dist/esm-es5/pds-radio-group.entry.js +1 -1
- package/dist/esm-es5/pds-radio-group.entry.js.map +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-select.entry.js +1 -1
- package/dist/esm-es5/pds-select.entry.js.map +1 -1
- package/dist/esm-es5/pds-tab.entry.js +1 -1
- package/dist/esm-es5/pds-tab.entry.js.map +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-textarea.entry.js +1 -1
- package/dist/esm-es5/pds-textarea.entry.js.map +1 -1
- package/dist/esm-es5/pine-core.js +1 -1
- package/dist/pine-core/mock-pds-modal.entry.esm.js.map +1 -1
- package/dist/pine-core/p--gPqixhD.system.js.map +1 -1
- package/dist/pine-core/p-002fe322.system.entry.js +2 -0
- package/dist/pine-core/p-002fe322.system.entry.js.map +1 -0
- package/dist/pine-core/p-098cbcd7.system.entry.js +2 -0
- package/dist/pine-core/p-098cbcd7.system.entry.js.map +1 -0
- package/dist/pine-core/p-35f644cf.system.entry.js +2 -0
- package/dist/pine-core/{p-36ad78b5.system.entry.js.map → p-35f644cf.system.entry.js.map} +1 -1
- package/dist/pine-core/p-41d89f20.entry.js +2 -0
- package/dist/pine-core/p-41d89f20.entry.js.map +1 -0
- package/dist/pine-core/p-478d1107.entry.js +2 -0
- package/dist/pine-core/{p-41cc9270.entry.js.map → p-478d1107.entry.js.map} +1 -1
- package/dist/pine-core/p-4SEjggIC.system.js.map +1 -0
- package/dist/pine-core/p-4d25449c.entry.js +2 -0
- package/dist/pine-core/p-4d25449c.entry.js.map +1 -0
- package/dist/pine-core/p-534e44cb.system.entry.js +4 -0
- package/dist/pine-core/{p-bee8d4b8.system.entry.js.map → p-534e44cb.system.entry.js.map} +1 -1
- package/dist/pine-core/p-54a56826.entry.js +3 -0
- package/dist/pine-core/{p-66160018.entry.js.map → p-54a56826.entry.js.map} +1 -1
- package/dist/pine-core/p-5b7ab891.entry.js +2 -0
- package/dist/pine-core/{p-233a6680.entry.js.map → p-5b7ab891.entry.js.map} +1 -1
- package/dist/pine-core/p-646ac76d.entry.js +2 -0
- package/dist/pine-core/p-646ac76d.entry.js.map +1 -0
- package/dist/pine-core/p-6bc7d67f.system.entry.js +2 -0
- package/dist/pine-core/{p-c03e2c5d.system.entry.js.map → p-6bc7d67f.system.entry.js.map} +1 -1
- package/dist/pine-core/p-6fcac53b.entry.js +2 -0
- package/dist/pine-core/{p-96be2d57.entry.js.map → p-6fcac53b.entry.js.map} +1 -1
- package/dist/pine-core/{p-2d3da08b.system.entry.js → p-8f2a5a4c.system.entry.js} +2 -2
- package/dist/pine-core/p-8f2a5a4c.system.entry.js.map +1 -0
- package/dist/pine-core/{p-43f1eead.entry.js → p-9b3794cd.entry.js} +2 -2
- package/dist/pine-core/p-9b3794cd.entry.js.map +1 -0
- package/dist/pine-core/p-9bfaed7e.system.entry.js +2 -0
- package/dist/pine-core/p-9bfaed7e.system.entry.js.map +1 -0
- package/dist/pine-core/p-9c0ec80a.entry.js +2 -0
- package/dist/pine-core/p-9c0ec80a.entry.js.map +1 -0
- package/dist/pine-core/{p-3f8a5f3d.system.entry.js → p-9d6b6ff3.system.entry.js} +2 -2
- package/dist/pine-core/p-9d6b6ff3.system.entry.js.map +1 -0
- package/dist/pine-core/p-9e62c418.system.entry.js +2 -0
- package/dist/pine-core/p-9e62c418.system.entry.js.map +1 -0
- package/dist/pine-core/p-B4EMeCRH.system.js.map +1 -0
- package/dist/pine-core/p-BCKPcTKX.system.js.map +1 -0
- package/dist/pine-core/p-B_Co5NfG.system.js.map +1 -0
- package/dist/pine-core/p-Bjj4Pcbb.system.js.map +1 -0
- package/dist/pine-core/p-Bnp3zJ0T.system.js.map +1 -0
- package/dist/pine-core/p-C48G0LPH.system.js.map +1 -0
- package/dist/pine-core/p-CCgKUhC7.system.js.map +1 -0
- package/dist/pine-core/p-CTfQ_9yC.system.js.map +1 -0
- package/dist/pine-core/p-CXGuX44q.system.js.map +1 -1
- package/dist/pine-core/p-DAvCgWA9.system.js.map +1 -0
- package/dist/pine-core/p-DSwKfctG.system.js.map +1 -0
- package/dist/pine-core/p-DfCCzxYg.system.js.map +1 -0
- package/dist/pine-core/p-DpeOrUYB.system.js.map +1 -1
- package/dist/pine-core/p-DyrNlfLT.system.js.map +1 -0
- package/dist/pine-core/p-JAVnELnm.system.js +1 -1
- package/dist/pine-core/p-LEkjdrKv.system.js.map +1 -0
- package/dist/pine-core/p-PMNjgK0C.system.js.map +1 -0
- package/dist/pine-core/p-WhfStK1C.system.js.map +1 -1
- package/dist/pine-core/p-XCTiWii8.system.js.map +1 -0
- package/dist/pine-core/p-a737df90.entry.js +2 -0
- package/dist/pine-core/{p-d5731a05.entry.js.map → p-a737df90.entry.js.map} +1 -1
- package/dist/pine-core/p-a847fad3.entry.js +2 -0
- package/dist/pine-core/p-a847fad3.entry.js.map +1 -0
- package/dist/pine-core/p-ac2f9463.entry.js +2 -0
- package/dist/pine-core/p-ac2f9463.entry.js.map +1 -0
- package/dist/pine-core/p-b30424e3.system.entry.js +2 -0
- package/dist/pine-core/{p-a4d094da.system.entry.js.map → p-b30424e3.system.entry.js.map} +1 -1
- package/dist/pine-core/p-bbc349b3.system.entry.js +2 -0
- package/dist/pine-core/p-bbc349b3.system.entry.js.map +1 -0
- package/dist/pine-core/p-cb6c279a.system.entry.js +2 -0
- package/dist/pine-core/{p-6bc81a5b.system.entry.js.map → p-cb6c279a.system.entry.js.map} +1 -1
- package/dist/pine-core/p-cf2e1c07.system.entry.js +2 -0
- package/dist/pine-core/{p-e31ea2ae.system.entry.js.map → p-cf2e1c07.system.entry.js.map} +1 -1
- package/dist/pine-core/p-d98310b9.system.entry.js +2 -0
- package/dist/pine-core/p-d98310b9.system.entry.js.map +1 -0
- package/dist/pine-core/{p-b8047816.system.entry.js → p-dcc6ad67.system.entry.js} +2 -2
- package/dist/pine-core/{p-b8047816.system.entry.js.map → p-dcc6ad67.system.entry.js.map} +1 -1
- package/dist/pine-core/p-e011d7e5.entry.js +2 -0
- package/dist/pine-core/p-e011d7e5.entry.js.map +1 -0
- package/dist/pine-core/p-e2104c31.entry.js +2 -0
- package/dist/pine-core/{p-66597ea5.entry.js.map → p-e2104c31.entry.js.map} +1 -1
- package/dist/pine-core/p-e3d76aa3.system.entry.js +2 -0
- package/dist/pine-core/p-e3d76aa3.system.entry.js.map +1 -0
- package/dist/pine-core/p-e8aad8dc.entry.js +2 -0
- package/dist/pine-core/p-e8aad8dc.entry.js.map +1 -0
- package/dist/pine-core/p-f69d3fd6.entry.js +2 -0
- package/dist/pine-core/p-f69d3fd6.entry.js.map +1 -0
- package/dist/pine-core/p-f79f6f08.system.entry.js +2 -0
- package/dist/pine-core/p-f79f6f08.system.entry.js.map +1 -0
- package/dist/pine-core/p-f82b464c.entry.js +2 -0
- package/dist/pine-core/{p-4c0797f2.entry.js.map → p-f82b464c.entry.js.map} +1 -1
- package/dist/pine-core/p-fc0ee6da.entry.js +2 -0
- package/dist/pine-core/p-fc0ee6da.entry.js.map +1 -0
- package/dist/pine-core/p-fe28b975.system.entry.js +2 -0
- package/dist/pine-core/p-fe28b975.system.entry.js.map +1 -0
- package/dist/pine-core/p-jBhqNO5u.system.js.map +1 -0
- package/dist/pine-core/p-r_cS5LMw.system.js.map +1 -0
- package/dist/pine-core/pds-alert.entry.esm.js.map +1 -1
- package/dist/pine-core/pds-avatar.entry.esm.js.map +1 -1
- package/dist/pine-core/pds-button.entry.esm.js.map +1 -1
- package/dist/pine-core/pds-checkbox.entry.esm.js.map +1 -1
- package/dist/pine-core/pds-chip.entry.esm.js.map +1 -1
- package/dist/pine-core/pds-combobox.entry.esm.js.map +1 -1
- package/dist/pine-core/pds-dropdown-menu-item.entry.esm.js.map +1 -1
- package/dist/pine-core/pds-filter.entry.esm.js.map +1 -1
- package/dist/pine-core/pds-input.entry.esm.js.map +1 -1
- package/dist/pine-core/pds-link.entry.esm.js.map +1 -1
- package/dist/pine-core/pds-modal.entry.esm.js.map +1 -1
- package/dist/pine-core/pds-radio-group.entry.esm.js.map +1 -1
- package/dist/pine-core/pds-radio.entry.esm.js.map +1 -1
- package/dist/pine-core/pds-select.entry.esm.js.map +1 -1
- package/dist/pine-core/pds-tab.entry.esm.js.map +1 -1
- package/dist/pine-core/pds-table-cell.entry.esm.js.map +1 -1
- package/dist/pine-core/pds-table-head-cell.entry.esm.js.map +1 -1
- package/dist/pine-core/pds-table-head.entry.esm.js.map +1 -1
- package/dist/pine-core/pds-table-row.entry.esm.js.map +1 -1
- package/dist/pine-core/pds-table.entry.esm.js.map +1 -1
- package/dist/pine-core/pds-textarea.entry.esm.js.map +1 -1
- package/dist/pine-core/pine-core.esm.js +1 -1
- package/dist/types/components/pds-avatar/pds-avatar.d.ts +5 -0
- package/dist/types/components/pds-input/pds-input.d.ts +5 -0
- package/dist/types/components/pds-modal/test/mock-pds-modal.d.ts +2 -2
- package/dist/types/components/pds-select/pds-select.d.ts +16 -1
- package/dist/types/components/pds-table/pds-table-head/pds-table-head.d.ts +10 -0
- package/dist/types/components/pds-table/pds-table-head-cell/pds-table-head-cell.d.ts +18 -1
- package/dist/types/components/pds-table/pds-table-row/pds-table-row.d.ts +19 -0
- package/dist/types/components/pds-table/pds-table.d.ts +22 -1
- package/dist/types/components/pds-tabs/pds-tab/pds-tab.d.ts +6 -0
- package/dist/types/components/pds-textarea/pds-textarea.d.ts +5 -0
- package/dist/types/components.d.ts +101 -3
- package/dist/vscode.html-data.json +63 -6
- package/hydrate/index.js +318 -53
- package/hydrate/index.mjs +318 -53
- package/package.json +5 -5
- package/dist/pine-core/p-04f92b5a.system.entry.js +0 -2
- package/dist/pine-core/p-04f92b5a.system.entry.js.map +0 -1
- package/dist/pine-core/p-11d69ad5.system.entry.js +0 -2
- package/dist/pine-core/p-11d69ad5.system.entry.js.map +0 -1
- package/dist/pine-core/p-1282026f.entry.js +0 -2
- package/dist/pine-core/p-1282026f.entry.js.map +0 -1
- package/dist/pine-core/p-233a6680.entry.js +0 -2
- package/dist/pine-core/p-2d3da08b.system.entry.js.map +0 -1
- package/dist/pine-core/p-36ad78b5.system.entry.js +0 -2
- package/dist/pine-core/p-372a6081.entry.js +0 -2
- package/dist/pine-core/p-372a6081.entry.js.map +0 -1
- package/dist/pine-core/p-3f8a5f3d.system.entry.js.map +0 -1
- package/dist/pine-core/p-3fd0f8a9.system.entry.js +0 -2
- package/dist/pine-core/p-3fd0f8a9.system.entry.js.map +0 -1
- package/dist/pine-core/p-41cc9270.entry.js +0 -2
- package/dist/pine-core/p-43f1eead.entry.js.map +0 -1
- package/dist/pine-core/p-46e5a568.entry.js +0 -2
- package/dist/pine-core/p-46e5a568.entry.js.map +0 -1
- package/dist/pine-core/p-4c0797f2.entry.js +0 -2
- package/dist/pine-core/p-5d7c4fbb.entry.js +0 -2
- package/dist/pine-core/p-5d7c4fbb.entry.js.map +0 -1
- package/dist/pine-core/p-6150fb43.system.entry.js +0 -2
- package/dist/pine-core/p-6150fb43.system.entry.js.map +0 -1
- package/dist/pine-core/p-65c566a2.system.entry.js +0 -2
- package/dist/pine-core/p-65c566a2.system.entry.js.map +0 -1
- package/dist/pine-core/p-66160018.entry.js +0 -3
- package/dist/pine-core/p-66597ea5.entry.js +0 -2
- package/dist/pine-core/p-6bc81a5b.system.entry.js +0 -2
- package/dist/pine-core/p-6c3299f9.system.entry.js +0 -2
- package/dist/pine-core/p-6c3299f9.system.entry.js.map +0 -1
- package/dist/pine-core/p-6de73f62.entry.js +0 -2
- package/dist/pine-core/p-6de73f62.entry.js.map +0 -1
- package/dist/pine-core/p-8d6fa6f7.entry.js +0 -2
- package/dist/pine-core/p-8d6fa6f7.entry.js.map +0 -1
- package/dist/pine-core/p-96be2d57.entry.js +0 -2
- package/dist/pine-core/p-9ddf4f1f.entry.js +0 -2
- package/dist/pine-core/p-9ddf4f1f.entry.js.map +0 -1
- package/dist/pine-core/p-B81sAPMq.system.js.map +0 -1
- package/dist/pine-core/p-BUwuPP5j.system.js.map +0 -1
- package/dist/pine-core/p-BVjyFx0r.system.js.map +0 -1
- package/dist/pine-core/p-C9T6sYau.system.js.map +0 -1
- package/dist/pine-core/p-CWaidsBR.system.js.map +0 -1
- package/dist/pine-core/p-Ch7MRoFE.system.js.map +0 -1
- package/dist/pine-core/p-CiqRCskL.system.js.map +0 -1
- package/dist/pine-core/p-CoF_9_BM.system.js.map +0 -1
- package/dist/pine-core/p-CrzS8Mmy.system.js.map +0 -1
- package/dist/pine-core/p-Cwz8YTwo.system.js.map +0 -1
- package/dist/pine-core/p-DaQV83Gx.system.js.map +0 -1
- package/dist/pine-core/p-GKNvlYGa.system.js.map +0 -1
- package/dist/pine-core/p-Ma8AuMzD.system.js.map +0 -1
- package/dist/pine-core/p-RO-Y2DRT.system.js.map +0 -1
- package/dist/pine-core/p-a4d094da.system.entry.js +0 -2
- package/dist/pine-core/p-ac050f83.entry.js +0 -2
- package/dist/pine-core/p-ac050f83.entry.js.map +0 -1
- package/dist/pine-core/p-b59ac781.entry.js +0 -2
- package/dist/pine-core/p-b59ac781.entry.js.map +0 -1
- package/dist/pine-core/p-b6a503cc.system.entry.js +0 -2
- package/dist/pine-core/p-b6a503cc.system.entry.js.map +0 -1
- package/dist/pine-core/p-b9a14564.system.entry.js +0 -2
- package/dist/pine-core/p-b9a14564.system.entry.js.map +0 -1
- package/dist/pine-core/p-bee8d4b8.system.entry.js +0 -4
- package/dist/pine-core/p-c03e2c5d.system.entry.js +0 -2
- package/dist/pine-core/p-c2d17093.system.entry.js +0 -2
- package/dist/pine-core/p-c2d17093.system.entry.js.map +0 -1
- package/dist/pine-core/p-cf4df489.entry.js +0 -2
- package/dist/pine-core/p-cf4df489.entry.js.map +0 -1
- package/dist/pine-core/p-d5731a05.entry.js +0 -2
- package/dist/pine-core/p-e31ea2ae.system.entry.js +0 -2
- package/dist/pine-core/p-eHySdsWM.system.js.map +0 -1
- package/dist/pine-core/p-qkIMFuAW.system.js.map +0 -1
- package/dist/pine-core/p-s-tFgs4I.system.js.map +0 -1
- package/dist/pine-core/p-uv97KtT8.system.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pds-table.js","sourceRoot":"","sources":["../../../../src/components/pds-table/pds-table.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Element, Event, EventEmitter, Host, h, Prop, State, Listen } from '@stencil/core';\n\n@Component({\n tag: 'pds-table',\n styleUrls: ['pds-table.scss'],\n shadow: true,\n})\nexport class PdsTable {\n @Element() el: HTMLPdsTableElement;\n private scrollContainer: HTMLElement | null = null;\n private _responsiveHandleScroll: (() => void) | null = null;\n private _responsiveHandleResize: (() => void) | null = null;\n private _responsiveResizeObserver: ResizeObserver | null = null;\n private _teardownResponsive: (() => void) | null = null;\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 componentDidLoad() {\n if (this.responsive) {\n this.setupResponsiveScrolling();\n }\n }\n\n disconnectedCallback() {\n if (this._teardownResponsive) {\n this._teardownResponsive();\n this._teardownResponsive = null;\n }\n }\n\n /**\n * Sets up responsive scrolling behavior for the table.\n *\n * This method creates a horizontal scrolling system where:\n * - The table content can scroll horizontally when it exceeds the container width\n * - Scroll shadows appear at the left/right edges to indicate scrollable content\n * - Fixed columns remain sticky during horizontal scrolling\n * - Shadows respect border-radius and don't appear when there's nothing to scroll\n *\n * Architecture:\n * - Host element: Contains everything, respects parent constraints\n * - Container element: Handles horizontal scrolling (overflow-x: auto)\n * - Shadow elements: Positioned fixed relative to host, show scroll indicators\n *\n * @private\n */\n private setupResponsiveScrolling() {\n const container = this.el.shadowRoot?.querySelector('.pds-table-responsive-container') as HTMLElement;\n const leftShadow = this.el.shadowRoot?.querySelector('.scroll-shadow-left') as HTMLElement;\n const rightShadow = this.el.shadowRoot?.querySelector('.scroll-shadow-right') as HTMLElement;\n\n if (!container || !leftShadow || !rightShadow) return;\n\n // Store container reference for cleanup\n this.scrollContainer = container;\n\n /**\n * Updates the visibility of scroll shadows based on current scroll position.\n * Left shadow: Shows when scrolled away from start (hidden if fixedColumn is enabled)\n * Right shadow: Shows when there's content to scroll and not at the end\n */\n this._responsiveHandleScroll = () => {\n if (!this.scrollContainer) return;\n\n const scrollLeft = this.scrollContainer.scrollLeft;\n const maxScrollLeft = this.scrollContainer.scrollWidth - this.scrollContainer.clientWidth;\n\n // Show left shadow when scrolled away from start, but not if there's a fixed column\n leftShadow.style.opacity = (scrollLeft > 0 && !this.fixedColumn) ? '1' : '0';\n\n // Show right shadow only if there's content to scroll AND not at end\n rightShadow.style.opacity = (maxScrollLeft > 0 && scrollLeft < maxScrollLeft - 1) ? '1' : '0';\n };\n\n // Add scroll event listener to container element\n this.scrollContainer.addEventListener('scroll', this._responsiveHandleScroll, { passive: true });\n\n // Add resize observer to update shadows when container size changes\n if (typeof window !== 'undefined' && window.ResizeObserver) {\n try {\n this._responsiveResizeObserver = new ResizeObserver(() => {\n this._responsiveHandleScroll?.();\n });\n this._responsiveResizeObserver.observe(this.scrollContainer);\n } catch (error) {\n // ResizeObserver not available in some environments (e.g., tests)\n // Fall back to window resize listener only\n }\n }\n\n // Listen for window resize as fallback\n if (typeof window !== 'undefined') {\n this._responsiveHandleResize = () => {\n this._responsiveHandleScroll?.();\n };\n window.addEventListener('resize', this._responsiveHandleResize);\n }\n\n // Create teardown function for cleanup\n this._teardownResponsive = () => {\n if (this.scrollContainer && this._responsiveHandleScroll) {\n this.scrollContainer.removeEventListener('scroll', this._responsiveHandleScroll);\n this.scrollContainer = null;\n }\n\n if (this._responsiveResizeObserver) {\n this._responsiveResizeObserver.disconnect();\n this._responsiveResizeObserver = null;\n }\n\n if (typeof window !== 'undefined' && this._responsiveHandleResize) {\n window.removeEventListener('resize', this._responsiveHandleResize);\n this._responsiveHandleResize = null;\n }\n\n this._responsiveHandleScroll = null;\n };\n\n // Initial check after setup\n this._responsiveHandleScroll();\n }\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, undefined, { sensitivity: 'base' });\n } else {\n return valueB.localeCompare(valueA, undefined, { sensitivity: 'base' });\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 if (this.responsive) {\n return (\n <Host\n class=\"pds-table is-responsive pds-table-responsive-host\"\n id={this.componentId}\n role=\"grid\"\n selectable={this.selectable}\n tabindex=\"0\"\n part=\"table responsive-table\"\n >\n <div class=\"scroll-shadow-left\" part=\"scroll-shadow-left\"></div>\n <div class=\"scroll-shadow-right\" part=\"scroll-shadow-right\"></div>\n <div class=\"pds-table-responsive-container\" part=\"responsive-container\">\n <div class=\"pds-table-responsive-wrapper\" part=\"responsive-wrapper\">\n <div class={this.classNames()} part=\"table-inner\">\n <slot></slot>\n </div>\n </div>\n </div>\n </Host>\n );\n }\n\n return (\n <Host\n class={this.classNames()}\n id={this.componentId}\n role=\"grid\"\n selectable={this.selectable}\n tabindex=\"0\"\n part=\"table\"\n >\n <slot></slot>\n </Host>\n );\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"pds-table.js","sourceRoot":"","sources":["../../../../src/components/pds-table/pds-table.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Element, Event, EventEmitter, Host, h, Prop, State, Listen } from '@stencil/core';\n\n@Component({\n tag: 'pds-table',\n styleUrls: ['pds-table.scss'],\n shadow: true,\n})\nexport class PdsTable {\n @Element() el: HTMLPdsTableElement;\n private scrollContainer: HTMLElement | null = null;\n private _responsiveHandleScroll: (() => void) | null = null;\n private _responsiveHandleResize: (() => void) | null = null;\n private _responsiveResizeObserver: ResizeObserver | null = null;\n private _teardownResponsive: (() => void) | null = null;\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 * Adds divider borders between table rows. The last row will not have a bottom border.\n * @defaultValue false\n */\n @Prop({ reflect: true }) rowDividers: boolean = false;\n\n /**\n * The name of the column to sort by on initial load.\n * Must match the text content of a sortable column header.\n */\n @Prop() defaultSortColumn?: string;\n\n /**\n * The direction to sort the default column on initial load.\n * Only applies if `defaultSortColumn` is set.\n * @defaultValue 'asc'\n */\n @Prop() defaultSortDirection?: 'asc' | 'desc' = 'asc';\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 componentDidLoad() {\n if (this.responsive) {\n this.setupResponsiveScrolling();\n }\n\n // Apply default sort if specified\n if (this.defaultSortColumn) {\n void this.applyDefaultSort().catch((err) => {\n console.warn('Failed to apply default sort.', err);\n });\n }\n }\n\n /**\n * Applies the default sort configuration on initial load.\n * Finds the matching column header and activates its sort state.\n * @private\n */\n private async applyDefaultSort() {\n // Normalize direction to handle invalid HTML attribute values\n const direction: 'asc' | 'desc' = this.defaultSortDirection === 'desc' ? 'desc' : 'asc';\n\n // Find the matching sortable header cell\n const columnHeaderCells = Array.from(\n this.el.querySelectorAll('pds-table-head-cell[sortable]')\n ) as HTMLPdsTableHeadCellElement[];\n\n const matchingCell = columnHeaderCells.find(\n (cell) => (cell.textContent ?? '').trim() === this.defaultSortColumn\n );\n\n if (matchingCell) {\n const columnName = (matchingCell.textContent ?? '').trim();\n // Sort the table data\n this.sortTable(columnName, direction);\n this.sortingColumn = columnName;\n this.sortingDirection = direction;\n\n // Activate the visual state on the header cell\n await matchingCell.setActiveSort(direction);\n } else {\n console.warn(`Default sort column \"${this.defaultSortColumn}\" not found.`);\n }\n }\n\n disconnectedCallback() {\n if (this._teardownResponsive) {\n this._teardownResponsive();\n this._teardownResponsive = null;\n }\n }\n\n /**\n * Sets up responsive scrolling behavior for the table.\n *\n * This method creates a horizontal scrolling system where:\n * - The table content can scroll horizontally when it exceeds the container width\n * - Scroll shadows appear at the left/right edges to indicate scrollable content\n * - Fixed columns remain sticky during horizontal scrolling\n * - Shadows respect border-radius and don't appear when there's nothing to scroll\n *\n * Architecture:\n * - Host element: Contains everything, respects parent constraints\n * - Container element: Handles horizontal scrolling (overflow-x: auto)\n * - Shadow elements: Positioned fixed relative to host, show scroll indicators\n *\n * @private\n */\n private setupResponsiveScrolling() {\n const container = this.el.shadowRoot?.querySelector('.pds-table-responsive-container') as HTMLElement;\n const leftShadow = this.el.shadowRoot?.querySelector('.scroll-shadow-left') as HTMLElement;\n const rightShadow = this.el.shadowRoot?.querySelector('.scroll-shadow-right') as HTMLElement;\n\n if (!container || !leftShadow || !rightShadow) return;\n\n // Store container reference for cleanup\n this.scrollContainer = container;\n\n /**\n * Updates the visibility of scroll shadows based on current scroll position.\n * Left shadow: Shows when scrolled away from start (hidden if fixedColumn is enabled)\n * Right shadow: Shows when there's content to scroll and not at the end\n */\n this._responsiveHandleScroll = () => {\n if (!this.scrollContainer) return;\n\n const scrollLeft = this.scrollContainer.scrollLeft;\n const maxScrollLeft = this.scrollContainer.scrollWidth - this.scrollContainer.clientWidth;\n\n // Show left shadow when scrolled away from start, but not if there's a fixed column\n leftShadow.style.opacity = (scrollLeft > 0 && !this.fixedColumn) ? '1' : '0';\n\n // Show right shadow only if there's content to scroll AND not at end\n rightShadow.style.opacity = (maxScrollLeft > 0 && scrollLeft < maxScrollLeft - 1) ? '1' : '0';\n };\n\n // Add scroll event listener to container element\n this.scrollContainer.addEventListener('scroll', this._responsiveHandleScroll, { passive: true });\n\n // Add resize observer to update shadows when container size changes\n if (typeof window !== 'undefined' && window.ResizeObserver) {\n try {\n this._responsiveResizeObserver = new ResizeObserver(() => {\n this._responsiveHandleScroll?.();\n });\n this._responsiveResizeObserver.observe(this.scrollContainer);\n } catch (error) {\n // ResizeObserver not available in some environments (e.g., tests)\n // Fall back to window resize listener only\n }\n }\n\n // Listen for window resize as fallback\n if (typeof window !== 'undefined') {\n this._responsiveHandleResize = () => {\n this._responsiveHandleScroll?.();\n };\n window.addEventListener('resize', this._responsiveHandleResize);\n }\n\n // Create teardown function for cleanup\n this._teardownResponsive = () => {\n if (this.scrollContainer && this._responsiveHandleScroll) {\n this.scrollContainer.removeEventListener('scroll', this._responsiveHandleScroll);\n this.scrollContainer = null;\n }\n\n if (this._responsiveResizeObserver) {\n this._responsiveResizeObserver.disconnect();\n this._responsiveResizeObserver = null;\n }\n\n if (typeof window !== 'undefined' && this._responsiveHandleResize) {\n window.removeEventListener('resize', this._responsiveHandleResize);\n this._responsiveHandleResize = null;\n }\n\n this._responsiveHandleScroll = null;\n };\n\n // Initial check after setup\n this._responsiveHandleScroll();\n }\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 // Return early if no table body exists\n if (!tableBody) return;\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, undefined, { sensitivity: 'base' });\n } else {\n return valueB.localeCompare(valueA, undefined, { sensitivity: 'base' });\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 if (event.defaultPrevented) return;\n\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 if (this.responsive) {\n return (\n <Host\n class=\"pds-table is-responsive pds-table-responsive-host\"\n id={this.componentId}\n role=\"grid\"\n selectable={this.selectable}\n tabindex=\"0\"\n part=\"table responsive-table\"\n >\n <div class=\"scroll-shadow-left\" part=\"scroll-shadow-left\"></div>\n <div class=\"scroll-shadow-right\" part=\"scroll-shadow-right\"></div>\n <div class=\"pds-table-responsive-container\" part=\"responsive-container\">\n <div class=\"pds-table-responsive-wrapper\" part=\"responsive-wrapper\">\n <div class={this.classNames()} part=\"table-inner\">\n <slot></slot>\n </div>\n </div>\n </div>\n </Host>\n );\n }\n\n return (\n <Host\n class={this.classNames()}\n id={this.componentId}\n role=\"grid\"\n selectable={this.selectable}\n tabindex=\"0\"\n part=\"table\"\n >\n <slot></slot>\n </Host>\n );\n }\n}\n"]}
|
|
@@ -2,10 +2,44 @@ import { html } from 'lit-html';
|
|
|
2
2
|
|
|
3
3
|
|
|
4
4
|
export default {
|
|
5
|
-
|
|
6
5
|
component: 'pds-table',
|
|
7
6
|
parameters: {},
|
|
8
7
|
title: 'components/Table',
|
|
8
|
+
argTypes: {
|
|
9
|
+
border: {
|
|
10
|
+
control: { type: 'boolean' },
|
|
11
|
+
description: 'Adds top and bottom borders to the table head',
|
|
12
|
+
table: {
|
|
13
|
+
category: 'Table Head',
|
|
14
|
+
},
|
|
15
|
+
},
|
|
16
|
+
background: {
|
|
17
|
+
control: { type: 'boolean' },
|
|
18
|
+
description: 'Adds a subtle background color to the table head',
|
|
19
|
+
table: {
|
|
20
|
+
category: 'Table Head',
|
|
21
|
+
},
|
|
22
|
+
},
|
|
23
|
+
rowDividers: {
|
|
24
|
+
control: { type: 'boolean' },
|
|
25
|
+
description: 'Adds divider borders between table rows. The last row will not have a bottom border',
|
|
26
|
+
},
|
|
27
|
+
defaultSortColumn: {
|
|
28
|
+
control: { type: 'text' },
|
|
29
|
+
description: 'The name of the column to sort by on initial load. Must match the text content of a sortable column header.',
|
|
30
|
+
table: {
|
|
31
|
+
category: 'Sorting',
|
|
32
|
+
},
|
|
33
|
+
},
|
|
34
|
+
defaultSortDirection: {
|
|
35
|
+
control: { type: 'select' },
|
|
36
|
+
options: ['asc', 'desc'],
|
|
37
|
+
description: 'The direction to sort the default column on initial load.',
|
|
38
|
+
table: {
|
|
39
|
+
category: 'Sorting',
|
|
40
|
+
},
|
|
41
|
+
},
|
|
42
|
+
},
|
|
9
43
|
};
|
|
10
44
|
|
|
11
45
|
const BaseTemplate = (args) => html`
|
|
@@ -14,9 +48,13 @@ const BaseTemplate = (args) => html`
|
|
|
14
48
|
component-id="${args.componentId}"
|
|
15
49
|
?fixed-column=${args.fixedColumn}
|
|
16
50
|
?responsive=${args.responsive}
|
|
51
|
+
?row-dividers=${args.rowDividers}
|
|
17
52
|
?selectable=${args.selectable}
|
|
18
53
|
>
|
|
19
|
-
<pds-table-head
|
|
54
|
+
<pds-table-head
|
|
55
|
+
?border=${args.border}
|
|
56
|
+
?background=${args.background}
|
|
57
|
+
>
|
|
20
58
|
<pds-table-head-cell>Column Title</pds-table-head-cell>
|
|
21
59
|
<pds-table-head-cell>Column Title</pds-table-head-cell>
|
|
22
60
|
<pds-table-head-cell>Column Title</pds-table-head-cell>
|
|
@@ -46,9 +84,13 @@ const AlignmentTemplate = (args) => html`
|
|
|
46
84
|
component-id="${args.componentId}"
|
|
47
85
|
?fixed-column=${args.fixedColumn}
|
|
48
86
|
?responsive=${args.responsive}
|
|
87
|
+
?row-dividers=${args.rowDividers}
|
|
49
88
|
?selectable=${args.selectable}
|
|
50
89
|
>
|
|
51
|
-
<pds-table-head
|
|
90
|
+
<pds-table-head
|
|
91
|
+
?border=${args.border}
|
|
92
|
+
?background=${args.background}
|
|
93
|
+
>
|
|
52
94
|
<pds-table-head-cell cell-align="start">Name</pds-table-head-cell>
|
|
53
95
|
<pds-table-head-cell cell-align="center">Amount</pds-table-head-cell>
|
|
54
96
|
<pds-table-head-cell cell-align="end">Status</pds-table-head-cell>
|
|
@@ -82,9 +124,13 @@ const ResponsiveTemplate = (args) => html`
|
|
|
82
124
|
component-id="${args.componentId}"
|
|
83
125
|
?fixed-column=${args.fixedColumn}
|
|
84
126
|
?responsive=${args.responsive}
|
|
127
|
+
?row-dividers=${args.rowDividers}
|
|
85
128
|
?selectable=${args.selectable}
|
|
86
129
|
>
|
|
87
|
-
<pds-table-head
|
|
130
|
+
<pds-table-head
|
|
131
|
+
?border=${args.border}
|
|
132
|
+
?background=${args.background}
|
|
133
|
+
>
|
|
88
134
|
<pds-table-head-cell>Column Title</pds-table-head-cell>
|
|
89
135
|
<pds-table-head-cell>Column Title</pds-table-head-cell>
|
|
90
136
|
<pds-table-head-cell>Column Title</pds-table-head-cell>
|
|
@@ -150,9 +196,13 @@ const SortableTemplate = (args) => html`
|
|
|
150
196
|
component-id="${args.componentId}"
|
|
151
197
|
?fixed-column=${args.fixedColumn}
|
|
152
198
|
?responsive=${args.responsive}
|
|
199
|
+
?row-dividers=${args.rowDividers}
|
|
153
200
|
?selectable=${args.selectable}
|
|
154
201
|
>
|
|
155
|
-
<pds-table-head
|
|
202
|
+
<pds-table-head
|
|
203
|
+
?border=${args.border}
|
|
204
|
+
?background=${args.background}
|
|
205
|
+
>
|
|
156
206
|
<pds-table-head-cell sortable=${args.sortable}>Name</pds-table-head-cell>
|
|
157
207
|
<pds-table-head-cell sortable=${args.sortable}>Email</pds-table-head-cell>
|
|
158
208
|
<pds-table-head-cell sortable=${args.sortable}>Email Marketing</pds-table-head-cell>
|
|
@@ -201,12 +251,63 @@ const SortableTemplate = (args) => html`
|
|
|
201
251
|
</pds-table-body>
|
|
202
252
|
</pds-table>`;
|
|
203
253
|
|
|
254
|
+
const DefaultSortTemplate = (args) => html`
|
|
255
|
+
<pds-table
|
|
256
|
+
?compact=${args.compact}
|
|
257
|
+
component-id="${args.componentId}"
|
|
258
|
+
?fixed-column=${args.fixedColumn}
|
|
259
|
+
?responsive=${args.responsive}
|
|
260
|
+
?row-dividers=${args.rowDividers}
|
|
261
|
+
?selectable=${args.selectable}
|
|
262
|
+
default-sort-column="${args.defaultSortColumn}"
|
|
263
|
+
default-sort-direction="${args.defaultSortDirection}"
|
|
264
|
+
>
|
|
265
|
+
<pds-table-head
|
|
266
|
+
?border=${args.border}
|
|
267
|
+
?background=${args.background}
|
|
268
|
+
>
|
|
269
|
+
<pds-table-head-cell sortable>Name</pds-table-head-cell>
|
|
270
|
+
<pds-table-head-cell sortable>Email</pds-table-head-cell>
|
|
271
|
+
<pds-table-head-cell sortable>Account</pds-table-head-cell>
|
|
272
|
+
</pds-table-head>
|
|
273
|
+
<pds-table-body>
|
|
274
|
+
<pds-table-row>
|
|
275
|
+
<pds-table-cell>John Doe</pds-table-cell>
|
|
276
|
+
<pds-table-cell>john.doe@example.com</pds-table-cell>
|
|
277
|
+
<pds-table-cell>47321</pds-table-cell>
|
|
278
|
+
</pds-table-row>
|
|
279
|
+
<pds-table-row>
|
|
280
|
+
<pds-table-cell>Jane Smith</pds-table-cell>
|
|
281
|
+
<pds-table-cell>jane.smith@example.com</pds-table-cell>
|
|
282
|
+
<pds-table-cell>89654</pds-table-cell>
|
|
283
|
+
</pds-table-row>
|
|
284
|
+
<pds-table-row>
|
|
285
|
+
<pds-table-cell>Michael Johnson</pds-table-cell>
|
|
286
|
+
<pds-table-cell>michael.johnson@example.com</pds-table-cell>
|
|
287
|
+
<pds-table-cell>21578</pds-table-cell>
|
|
288
|
+
</pds-table-row>
|
|
289
|
+
<pds-table-row>
|
|
290
|
+
<pds-table-cell>Susan Brown</pds-table-cell>
|
|
291
|
+
<pds-table-cell>susan.brown@example.com</pds-table-cell>
|
|
292
|
+
<pds-table-cell>63920</pds-table-cell>
|
|
293
|
+
</pds-table-row>
|
|
294
|
+
<pds-table-row>
|
|
295
|
+
<pds-table-cell>William Davis</pds-table-cell>
|
|
296
|
+
<pds-table-cell>william.davis@example.com</pds-table-cell>
|
|
297
|
+
<pds-table-cell>17436</pds-table-cell>
|
|
298
|
+
</pds-table-row>
|
|
299
|
+
</pds-table-body>
|
|
300
|
+
</pds-table>`;
|
|
301
|
+
|
|
204
302
|
export const Default = BaseTemplate.bind();
|
|
205
303
|
Default.args = {
|
|
206
304
|
compact: false,
|
|
207
305
|
componentId: 'default',
|
|
208
306
|
fixedColumn: false,
|
|
307
|
+
border: false,
|
|
308
|
+
background: false,
|
|
209
309
|
responsive: false,
|
|
310
|
+
rowDividers: false,
|
|
210
311
|
selectable: false,
|
|
211
312
|
};
|
|
212
313
|
|
|
@@ -215,7 +316,10 @@ Alignment.args = {
|
|
|
215
316
|
compact: false,
|
|
216
317
|
componentId: 'alignment',
|
|
217
318
|
fixedColumn: false,
|
|
319
|
+
border: false,
|
|
320
|
+
background: false,
|
|
218
321
|
responsive: false,
|
|
322
|
+
rowDividers: false,
|
|
219
323
|
selectable: false,
|
|
220
324
|
};
|
|
221
325
|
|
|
@@ -224,7 +328,10 @@ Compact.args = {
|
|
|
224
328
|
compact: true,
|
|
225
329
|
componentId: 'compact',
|
|
226
330
|
fixedColumn: false,
|
|
331
|
+
border: false,
|
|
332
|
+
background: false,
|
|
227
333
|
responsive: false,
|
|
334
|
+
rowDividers: false,
|
|
228
335
|
selectable: false,
|
|
229
336
|
};
|
|
230
337
|
|
|
@@ -233,7 +340,10 @@ Selectable.args = {
|
|
|
233
340
|
compact: false,
|
|
234
341
|
componentId: 'selectable',
|
|
235
342
|
fixedColumn: false,
|
|
343
|
+
border: false,
|
|
344
|
+
background: false,
|
|
236
345
|
responsive: false,
|
|
346
|
+
rowDividers: false,
|
|
237
347
|
selectable: true,
|
|
238
348
|
};
|
|
239
349
|
|
|
@@ -242,7 +352,10 @@ Responsive.args = {
|
|
|
242
352
|
compact: false,
|
|
243
353
|
componentId: 'responsive',
|
|
244
354
|
fixedColumn: false,
|
|
355
|
+
border: false,
|
|
356
|
+
background: false,
|
|
245
357
|
responsive: true,
|
|
358
|
+
rowDividers: false,
|
|
246
359
|
selectable: false,
|
|
247
360
|
};
|
|
248
361
|
|
|
@@ -251,7 +364,10 @@ fixedColumn.args = {
|
|
|
251
364
|
compact: false,
|
|
252
365
|
componentId: 'responsive',
|
|
253
366
|
fixedColumn: true,
|
|
367
|
+
border: false,
|
|
368
|
+
background: false,
|
|
254
369
|
responsive: true,
|
|
370
|
+
rowDividers: false,
|
|
255
371
|
selectable: false,
|
|
256
372
|
};
|
|
257
373
|
|
|
@@ -260,7 +376,36 @@ Sortable.args = {
|
|
|
260
376
|
compact: false,
|
|
261
377
|
componentId: 'sortable',
|
|
262
378
|
fixedColumn: false,
|
|
379
|
+
border: false,
|
|
380
|
+
background: false,
|
|
263
381
|
responsive: false,
|
|
382
|
+
rowDividers: false,
|
|
264
383
|
selectable: false,
|
|
265
384
|
sortable: true,
|
|
266
385
|
};
|
|
386
|
+
|
|
387
|
+
export const DefaultSorting = DefaultSortTemplate.bind();
|
|
388
|
+
DefaultSorting.args = {
|
|
389
|
+
compact: false,
|
|
390
|
+
componentId: 'default-sort',
|
|
391
|
+
fixedColumn: false,
|
|
392
|
+
border: false,
|
|
393
|
+
background: false,
|
|
394
|
+
responsive: false,
|
|
395
|
+
rowDividers: false,
|
|
396
|
+
selectable: false,
|
|
397
|
+
defaultSortColumn: 'Name',
|
|
398
|
+
defaultSortDirection: 'desc',
|
|
399
|
+
};
|
|
400
|
+
|
|
401
|
+
export const RowDividers = BaseTemplate.bind();
|
|
402
|
+
RowDividers.args = {
|
|
403
|
+
compact: false,
|
|
404
|
+
componentId: 'row-dividers',
|
|
405
|
+
fixedColumn: false,
|
|
406
|
+
border: false,
|
|
407
|
+
background: false,
|
|
408
|
+
responsive: false,
|
|
409
|
+
rowDividers: true,
|
|
410
|
+
selectable: false,
|
|
411
|
+
};
|
|
@@ -29,7 +29,7 @@ pds-tab {
|
|
|
29
29
|
.pds-tab.is-active .pds-tab__content::after, .pds-tab[aria-selected=true] .pds-tab__content::after {
|
|
30
30
|
opacity: 1;
|
|
31
31
|
}
|
|
32
|
-
.pds-tab:hover {
|
|
32
|
+
.pds-tab:hover:not(:disabled) {
|
|
33
33
|
color: var(--pine-color-text);
|
|
34
34
|
}
|
|
35
35
|
.pds-tab:focus {
|
|
@@ -39,6 +39,11 @@ pds-tab {
|
|
|
39
39
|
outline: var(--pine-outline-focus);
|
|
40
40
|
outline-offset: var(--pine-border-width);
|
|
41
41
|
}
|
|
42
|
+
.pds-tab:disabled, .pds-tab.is-disabled {
|
|
43
|
+
color: var(--pine-color-text-disabled);
|
|
44
|
+
cursor: not-allowed;
|
|
45
|
+
pointer-events: none;
|
|
46
|
+
}
|
|
42
47
|
.pds-tab .pds-tab__content {
|
|
43
48
|
font-family: var(--pine-font-family-body);
|
|
44
49
|
font-size: var(--pine-font-size);
|
|
@@ -81,13 +86,17 @@ pds-tab {
|
|
|
81
86
|
.pds-tabs--availability .pds-tab.is-active .pds-tab-edge, .pds-tabs--availability .pds-tab[aria-selected=true] .pds-tab-edge {
|
|
82
87
|
z-index: var(--pine-z-index-raised);
|
|
83
88
|
}
|
|
84
|
-
.pds-tabs--availability .pds-tab:hover:not(.is-active, [aria-selected=true]) {
|
|
89
|
+
.pds-tabs--availability .pds-tab:hover:not(.is-active, [aria-selected=true], :disabled) {
|
|
85
90
|
--color-background-tab: var(--pine-color-secondary-hover);
|
|
86
91
|
color: var(--pine-color-text);
|
|
87
92
|
}
|
|
88
93
|
.pds-tabs--availability .pds-tab:focus-visible {
|
|
89
94
|
color: var(--pine-color-text-secondary);
|
|
90
95
|
}
|
|
96
|
+
.pds-tabs--availability .pds-tab:disabled, .pds-tabs--availability .pds-tab.is-disabled {
|
|
97
|
+
--color-background-tab: transparent;
|
|
98
|
+
color: var(--pine-color-text-disabled);
|
|
99
|
+
}
|
|
91
100
|
.pds-tabs--availability .pds-tab__content {
|
|
92
101
|
padding-block-end: 7px;
|
|
93
102
|
}
|
|
@@ -131,12 +140,19 @@ pds-tab {
|
|
|
131
140
|
background-color: var(--pine-color-primary);
|
|
132
141
|
color: var(--pine-color-text-primary);
|
|
133
142
|
}
|
|
134
|
-
.pds-tabs--filter .pds-tab.is-active:hover, .pds-tabs--filter .pds-tab[aria-selected=true]:hover {
|
|
143
|
+
.pds-tabs--filter .pds-tab.is-active:hover:not(:disabled), .pds-tabs--filter .pds-tab[aria-selected=true]:hover:not(:disabled) {
|
|
135
144
|
background-color: var(--pine-color-primary-hover);
|
|
136
145
|
}
|
|
137
|
-
.pds-tabs--filter .pds-tab:hover:not(.is-active, [aria-selected=true]) {
|
|
146
|
+
.pds-tabs--filter .pds-tab:hover:not(.is-active, [aria-selected=true], :disabled) {
|
|
138
147
|
background-color: var(--pine-color-border-disabled);
|
|
139
148
|
}
|
|
149
|
+
.pds-tabs--filter .pds-tab:disabled, .pds-tabs--filter .pds-tab.is-disabled {
|
|
150
|
+
background-color: transparent;
|
|
151
|
+
color: var(--pine-color-text-disabled);
|
|
152
|
+
}
|
|
153
|
+
.pds-tabs--filter .pds-tab:disabled.is-active, .pds-tabs--filter .pds-tab:disabled[aria-selected=true], .pds-tabs--filter .pds-tab.is-disabled.is-active, .pds-tabs--filter .pds-tab.is-disabled[aria-selected=true] {
|
|
154
|
+
background-color: var(--pine-color-primary-disabled);
|
|
155
|
+
}
|
|
140
156
|
.pds-tabs--filter .pds-tab__content {
|
|
141
157
|
padding-block-end: var(--pine-dimension-none);
|
|
142
158
|
}
|
|
@@ -177,4 +193,7 @@ pds-tab {
|
|
|
177
193
|
}
|
|
178
194
|
.pds-tabs--pill .pds-tab.is-active .pds-tab__content::after, .pds-tabs--pill .pds-tab[aria-selected=true] .pds-tab__content::after {
|
|
179
195
|
opacity: 0;
|
|
196
|
+
}
|
|
197
|
+
.pds-tabs--pill .pds-tab:disabled, .pds-tabs--pill .pds-tab.is-disabled {
|
|
198
|
+
color: var(--pine-color-text-disabled);
|
|
180
199
|
}
|
|
@@ -1,6 +1,11 @@
|
|
|
1
1
|
import { Host, h } from "@stencil/core";
|
|
2
2
|
export class PdsTab {
|
|
3
3
|
constructor() {
|
|
4
|
+
/**
|
|
5
|
+
* Determines the tab's disabled state.
|
|
6
|
+
* @defaultValue false
|
|
7
|
+
*/
|
|
8
|
+
this.disabled = false;
|
|
4
9
|
/**
|
|
5
10
|
* Keeps track of the tabpanel selected state, this property is passed by parent component
|
|
6
11
|
*/
|
|
@@ -8,12 +13,22 @@ export class PdsTab {
|
|
|
8
13
|
this.selected = false;
|
|
9
14
|
}
|
|
10
15
|
onTabClick(index, parentComponentId) {
|
|
16
|
+
if (this.disabled)
|
|
17
|
+
return;
|
|
11
18
|
this.pdsTabClick.emit([index, parentComponentId]);
|
|
12
19
|
}
|
|
20
|
+
classNames() {
|
|
21
|
+
const classes = [
|
|
22
|
+
'pds-tab',
|
|
23
|
+
this.selected && 'is-active',
|
|
24
|
+
this.disabled && 'is-disabled',
|
|
25
|
+
];
|
|
26
|
+
return classes.filter(Boolean).join(' ');
|
|
27
|
+
}
|
|
13
28
|
render() {
|
|
14
|
-
const availabilityTabEdgeInlineStart = (h("span", { key: '
|
|
15
|
-
const availabilityTabEdgeInlineEnd = (h("span", { key: '
|
|
16
|
-
return (h(Host, { key: '
|
|
29
|
+
const availabilityTabEdgeInlineStart = (h("span", { key: '7a70cf5b681ec05215920417c4ba590fed238f63', class: "pds-tab-edge", role: "presentation" }));
|
|
30
|
+
const availabilityTabEdgeInlineEnd = (h("span", { key: '21a1422bb00a6221f7db1b0e77abcd024eec60cd', class: "pds-tab-edge pds-tab-edge--end", role: "presentation" }));
|
|
31
|
+
return (h(Host, { key: 'bcf73da727080cdb5b9ec7356768dd2cefab44ae', variant: this.variant, slot: "tabs", index: this.index }, h("button", { key: '25e140fc63a8ddaa44d08198f14d568bca83f16a', role: "tab", id: this.parentComponentId + "__" + this.name, "aria-controls": this.parentComponentId + "__" + this.name + "-panel", tabindex: this.disabled ? "-1" : (this.selected ? "0" : "-1"), "aria-selected": this.selected ? "true" : "false", "aria-disabled": this.disabled ? "true" : null, disabled: this.disabled, class: this.classNames(), onClick: this.onTabClick.bind(this, this.index, this.parentComponentId) }, this.variant === "availability" && availabilityTabEdgeInlineStart, this.variant === "availability" && availabilityTabEdgeInlineEnd, h("div", { key: '002252b89b74bf2ab26bb33331f4296a22a4cf70', class: "pds-tab__content" }, h("slot", { key: '1f67182b80504391a87509567cb68ca8ff6f9b22' })))));
|
|
17
32
|
}
|
|
18
33
|
static get is() { return "pds-tab"; }
|
|
19
34
|
static get originalStyleUrls() {
|
|
@@ -28,6 +43,29 @@ export class PdsTab {
|
|
|
28
43
|
}
|
|
29
44
|
static get properties() {
|
|
30
45
|
return {
|
|
46
|
+
"disabled": {
|
|
47
|
+
"type": "boolean",
|
|
48
|
+
"mutable": false,
|
|
49
|
+
"complexType": {
|
|
50
|
+
"original": "boolean",
|
|
51
|
+
"resolved": "boolean",
|
|
52
|
+
"references": {}
|
|
53
|
+
},
|
|
54
|
+
"required": false,
|
|
55
|
+
"optional": true,
|
|
56
|
+
"docs": {
|
|
57
|
+
"tags": [{
|
|
58
|
+
"name": "defaultValue",
|
|
59
|
+
"text": "false"
|
|
60
|
+
}],
|
|
61
|
+
"text": "Determines the tab's disabled state."
|
|
62
|
+
},
|
|
63
|
+
"getter": false,
|
|
64
|
+
"setter": false,
|
|
65
|
+
"reflect": false,
|
|
66
|
+
"attribute": "disabled",
|
|
67
|
+
"defaultValue": "false"
|
|
68
|
+
},
|
|
31
69
|
"name": {
|
|
32
70
|
"type": "string",
|
|
33
71
|
"mutable": false,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pds-tab.js","sourceRoot":"","sources":["../../../../../src/components/pds-tabs/pds-tab/pds-tab.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAgB,MAAM,eAAe,CAAC;AAOvF,MAAM,OAAO,MAAM;IALnB;
|
|
1
|
+
{"version":3,"file":"pds-tab.js","sourceRoot":"","sources":["../../../../../src/components/pds-tabs/pds-tab/pds-tab.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAgB,MAAM,eAAe,CAAC;AAOvF,MAAM,OAAO,MAAM;IALnB;QAQE;;;WAGG;QACK,aAAQ,GAAI,KAAK,CAAC;QAyB1B;;WAEG;QACH,gBAAgB;QACR,aAAQ,GAAG,KAAK,CAAC;KAkD1B;IA3CS,UAAU,CAAC,KAAK,EAAE,iBAAiB;QACzC,IAAI,IAAI,CAAC,QAAQ;YAAE,OAAO;QAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,iBAAiB,CAAC,CAAC,CAAC;IACpD,CAAC;IAEO,UAAU;QAChB,MAAM,OAAO,GAAG;YACd,SAAS;YACT,IAAI,CAAC,QAAQ,IAAI,WAAW;YAC5B,IAAI,CAAC,QAAQ,IAAI,aAAa;SAC/B,CAAC;QACF,OAAO,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC3C,CAAC;IAED,MAAM;QACJ,MAAM,8BAA8B,GAAG,CACrC,6DAAM,KAAK,EAAC,cAAc,EAAC,IAAI,EAAC,cAAc,GAAQ,CACvD,CAAA;QAED,MAAM,4BAA4B,GAAG,CACnC,6DAAM,KAAK,EAAC,gCAAgC,EAAC,IAAI,EAAC,cAAc,GAAQ,CACzE,CAAA;QAED,OAAO,CACL,EAAC,IAAI,qDAAC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,EAAC,MAAM,EAAC,KAAK,EAAE,IAAI,CAAC,KAAK;YACxD,+DACE,IAAI,EAAC,KAAK,EACV,EAAE,EAAE,IAAI,CAAC,iBAAiB,GAAG,IAAI,GAAG,IAAI,CAAC,IAAI,mBAC9B,IAAI,CAAC,iBAAiB,GAAG,IAAI,GAAG,IAAI,CAAC,IAAI,GAAG,QAAQ,EACnE,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,mBAC9C,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,mBAChC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EAC5C,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,KAAK,EAAE,IAAI,CAAC,UAAU,EAAE,EACxB,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,iBAAiB,CAAC;gBAEtE,IAAI,CAAC,OAAO,KAAK,cAAc,IAAI,8BAA8B;gBACjE,IAAI,CAAC,OAAO,KAAK,cAAc,IAAI,4BAA4B;gBAChE,4DAAK,KAAK,EAAC,kBAAkB;oBAAC,8DAAO,CAAM,CACpC,CACJ,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, Element, Host, h, Prop, Event, EventEmitter } from '@stencil/core';\n\n@Component({\n tag: 'pds-tab',\n styleUrl: 'pds-tab.scss',\n shadow: false,\n})\nexport class PdsTab {\n @Element() el: HTMLPdsTabElement;\n\n /**\n * Determines the tab's disabled state.\n * @defaultValue false\n */\n @Prop() disabled? = false;\n\n /**\n * Sets the related tab name, this name must match a `pds-tabpanel`'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 if the tab index number, this property is passed by parent component\n */\n /** @internal */\n @Prop() index: number;\n\n /**\n * Keeps track of the tabpanel selected state, this property is passed by parent component\n */\n /** @internal */\n @Prop() selected = false;\n\n /**\n * Emits an event upon tab click for `pds-tab` and `pds-tabpanel` to listen for\n */\n /** @internal */\n @Event() pdsTabClick: EventEmitter<object>;\n private onTabClick(index, parentComponentId) {\n if (this.disabled) return;\n this.pdsTabClick.emit([index, parentComponentId]);\n }\n\n private classNames() {\n const classes = [\n 'pds-tab',\n this.selected && 'is-active',\n this.disabled && 'is-disabled',\n ];\n return classes.filter(Boolean).join(' ');\n }\n\n render() {\n const availabilityTabEdgeInlineStart = (\n <span class=\"pds-tab-edge\" role=\"presentation\"></span>\n )\n\n const availabilityTabEdgeInlineEnd = (\n <span class=\"pds-tab-edge pds-tab-edge--end\" role=\"presentation\"></span>\n )\n\n return (\n <Host variant={this.variant} slot=\"tabs\" index={this.index}>\n <button\n role=\"tab\"\n id={this.parentComponentId + \"__\" + this.name}\n aria-controls={this.parentComponentId + \"__\" + this.name + \"-panel\"}\n tabindex={this.disabled ? \"-1\" : (this.selected ? \"0\" : \"-1\")}\n aria-selected={this.selected ? \"true\" : \"false\"}\n aria-disabled={this.disabled ? \"true\" : null}\n disabled={this.disabled}\n class={this.classNames()}\n onClick={this.onTabClick.bind(this, this.index, this.parentComponentId)}\n >\n {this.variant === \"availability\" && availabilityTabEdgeInlineStart}\n {this.variant === \"availability\" && availabilityTabEdgeInlineEnd}\n <div class=\"pds-tab__content\"><slot/></div>\n </button>\n </Host>\n );\n }\n}\n"]}
|
|
@@ -58,13 +58,15 @@ label {
|
|
|
58
58
|
}
|
|
59
59
|
|
|
60
60
|
.pds-textarea__error-message {
|
|
61
|
-
align-items: center;
|
|
62
61
|
color: var(--pine-color-text-message-danger);
|
|
63
62
|
display: flex;
|
|
64
63
|
font: var(--pine-typography-body-sm-medium);
|
|
65
64
|
gap: var(--pine-dimension-2xs);
|
|
66
65
|
margin-block-start: var(--pine-dimension-2xs);
|
|
67
66
|
}
|
|
67
|
+
.pds-textarea__error-message pds-icon {
|
|
68
|
+
margin-block-start: var(--pine-dimension-025);
|
|
69
|
+
}
|
|
68
70
|
|
|
69
71
|
.pds-textarea__field-wrapper {
|
|
70
72
|
display: inline-block;
|
|
@@ -77,6 +77,9 @@ export class PdsTextarea {
|
|
|
77
77
|
this.onTextareaChange = (ev) => {
|
|
78
78
|
this.emitValueChange(ev);
|
|
79
79
|
};
|
|
80
|
+
this.onKeyDown = (ev) => {
|
|
81
|
+
this.pdsKeyDown.emit(ev);
|
|
82
|
+
};
|
|
80
83
|
}
|
|
81
84
|
/**
|
|
82
85
|
* Sets focus on the native `textarea` in the `pds-textarea`. Use this method instead of the global
|
|
@@ -289,10 +292,10 @@ export class PdsTextarea {
|
|
|
289
292
|
}
|
|
290
293
|
render() {
|
|
291
294
|
const value = this.getValue();
|
|
292
|
-
return (h(Host, { key: '
|
|
293
|
-
h("div", { key: '
|
|
294
|
-
h("p", { key: '
|
|
295
|
-
h("p", { key: '
|
|
295
|
+
return (h(Host, { key: '294f37b2751fd4fbc16e7b2cca62d1a5200b7f4e', "aria-disabled": this.disabled ? 'true' : null, "aria-readonly": this.readonly ? 'true' : null, "has-action": this.hasAction && !this.hideLabel ? 'true' : null }, h("div", { key: 'b785c5740642dafcdb771f3a9ffb933d8ada3f4e', class: "pds-textarea" }, this.label &&
|
|
296
|
+
h("div", { key: '31ad1d39efe78fc7a29e48d4a8d228a97422eba9', class: "pds-textarea__label-wrapper" }, h("label", { key: 'e37a18d36bffa47f00d5d3376df45b3f35c3e8a3', htmlFor: this.componentId }, h("span", { key: 'fc2d376e1dc976c3004f6ab225c921ebc7e46dd4', class: this.hideLabel ? 'visually-hidden' : '' }, this.label)), !this.hideLabel && this.renderAction()), h("div", { key: '7b5db43c23fb9a2ddb3ebec0b684953a4b043ea1', class: "pds-textarea__field-wrapper" }, h("textarea", Object.assign({ key: '81355164c2b01ab7ef5d6adcb3f92a59eec2692f', ref: (el) => this.nativeTextarea = el, "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, maxlength: this.maxLength, name: this.name, placeholder: this.placeholder, readOnly: this.readonly, required: this.required, rows: this.rows, onBlur: this.onBlur, onChange: this.onTextareaChange, onFocus: this.onFocus, onInput: this.onInput, onKeyDown: this.onKeyDown }, this.inheritedAttributes), value), this.renderCharacterCounter()), this.helperMessage &&
|
|
297
|
+
h("p", { key: 'abcdf1ef2aa24d0057e5b0c212c06b5324f0dd9b', class: "pds-textarea__helper-message", id: messageId(this.componentId, 'helper') }, this.helperMessage), this.invalid &&
|
|
298
|
+
h("p", { key: '1c526c2aae382caabe83ff5e3dadd7510371a656', "aria-live": "assertive", class: "pds-textarea__error-message", id: messageId(this.componentId, 'error') }, h("pds-icon", { key: 'e8a0960b0e2dbacfe46113b3f1162e35d301afac', icon: danger, size: "small" }), this.errorMessage))));
|
|
296
299
|
}
|
|
297
300
|
static get is() { return "pds-textarea"; }
|
|
298
301
|
static get encapsulation() { return "shadow"; }
|
|
@@ -741,6 +744,26 @@ export class PdsTextarea {
|
|
|
741
744
|
}
|
|
742
745
|
}
|
|
743
746
|
}
|
|
747
|
+
}, {
|
|
748
|
+
"method": "pdsKeyDown",
|
|
749
|
+
"name": "pdsKeyDown",
|
|
750
|
+
"bubbles": true,
|
|
751
|
+
"cancelable": true,
|
|
752
|
+
"composed": true,
|
|
753
|
+
"docs": {
|
|
754
|
+
"tags": [],
|
|
755
|
+
"text": "Emitted when a key is pressed down in the textarea."
|
|
756
|
+
},
|
|
757
|
+
"complexType": {
|
|
758
|
+
"original": "KeyboardEvent",
|
|
759
|
+
"resolved": "KeyboardEvent",
|
|
760
|
+
"references": {
|
|
761
|
+
"KeyboardEvent": {
|
|
762
|
+
"location": "global",
|
|
763
|
+
"id": "global::KeyboardEvent"
|
|
764
|
+
}
|
|
765
|
+
}
|
|
766
|
+
}
|
|
744
767
|
}];
|
|
745
768
|
}
|
|
746
769
|
static get methods() {
|