@pine-ds/core 1.3.0-dev.2 → 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.
Files changed (631) hide show
  1. package/components/closest.js +11 -0
  2. package/components/closest.js.map +1 -0
  3. package/components/index.js +33 -0
  4. package/components/index.js.map +1 -0
  5. package/components/index2.js +14 -0
  6. package/components/index2.js.map +1 -0
  7. package/components/pds-accordion.js +62 -0
  8. package/components/pds-accordion.js.map +1 -0
  9. package/components/pds-avatar.js +97 -0
  10. package/components/pds-avatar.js.map +1 -0
  11. package/components/pds-box.js +124 -0
  12. package/components/pds-box.js.map +1 -0
  13. package/components/pds-button.js +8 -0
  14. package/components/pds-button.js.map +1 -0
  15. package/components/pds-button2.js +78 -0
  16. package/components/pds-button2.js.map +1 -0
  17. package/components/pds-checkbox.js +8 -0
  18. package/components/pds-checkbox.js.map +1 -0
  19. package/components/pds-checkbox2.js +101 -0
  20. package/components/pds-checkbox2.js.map +1 -0
  21. package/components/pds-chip.js +72 -0
  22. package/components/pds-chip.js.map +1 -0
  23. package/components/pds-copytext.js +82 -0
  24. package/components/pds-copytext.js.map +1 -0
  25. package/components/pds-divider.js +54 -0
  26. package/components/pds-divider.js.map +1 -0
  27. package/components/pds-image.js +55 -0
  28. package/components/pds-image.js.map +1 -0
  29. package/components/pds-input.js +72 -0
  30. package/components/pds-input.js.map +1 -0
  31. package/components/pds-label.js +39 -0
  32. package/components/pds-label.js.map +1 -0
  33. package/components/pds-link.js +59 -0
  34. package/components/pds-link.js.map +1 -0
  35. package/components/pds-loader.js +68 -0
  36. package/components/pds-loader.js.map +1 -0
  37. package/components/pds-progress.js +49 -0
  38. package/components/pds-progress.js.map +1 -0
  39. package/components/pds-radio.js +78 -0
  40. package/components/pds-radio.js.map +1 -0
  41. package/components/pds-row.js +72 -0
  42. package/components/pds-row.js.map +1 -0
  43. package/components/pds-sortable-item.js +52 -0
  44. package/components/pds-sortable-item.js.map +1 -0
  45. package/components/pds-sortable.js +2722 -0
  46. package/components/pds-sortable.js.map +1 -0
  47. package/components/pds-switch.js +82 -0
  48. package/components/pds-switch.js.map +1 -0
  49. package/components/pds-tab.js +53 -0
  50. package/components/pds-tab.js.map +1 -0
  51. package/components/pds-table-body.js +36 -0
  52. package/components/pds-table-body.js.map +1 -0
  53. package/components/pds-table-cell.js +8 -0
  54. package/components/pds-table-cell.js.map +1 -0
  55. package/components/pds-table-cell2.js +72 -0
  56. package/components/pds-table-cell2.js.map +1 -0
  57. package/components/pds-table-head-cell.js +8 -0
  58. package/components/pds-table-head-cell.js.map +1 -0
  59. package/components/pds-table-head-cell2.js +92 -0
  60. package/components/pds-table-head-cell2.js.map +1 -0
  61. package/components/pds-table-head.js +84 -0
  62. package/components/pds-table-head.js.map +1 -0
  63. package/components/pds-table-row.js +95 -0
  64. package/components/pds-table-row.js.map +1 -0
  65. package/components/pds-table.js +124 -0
  66. package/components/pds-table.js.map +1 -0
  67. package/components/pds-tabpanel.js +45 -0
  68. package/components/pds-tabpanel.js.map +1 -0
  69. package/components/pds-tabs.js +119 -0
  70. package/components/pds-tabs.js.map +1 -0
  71. package/components/pds-textarea.js +82 -0
  72. package/components/pds-textarea.js.map +1 -0
  73. package/components/pds-tooltip.js +178 -0
  74. package/components/pds-tooltip.js.map +1 -0
  75. package/dist/cjs/app-globals-3a1e7e63.js +7 -0
  76. package/dist/cjs/app-globals-3a1e7e63.js.map +1 -0
  77. package/dist/cjs/closest-b45138d3.js +13 -0
  78. package/dist/cjs/closest-b45138d3.js.map +1 -0
  79. package/dist/{pine-core/index-cccc19b7.js → cjs/index-11f95019.js} +220 -1563
  80. package/dist/cjs/index-11f95019.js.map +1 -0
  81. package/dist/cjs/index-dd191bbe.js +24 -0
  82. package/dist/cjs/index-dd191bbe.js.map +1 -0
  83. package/dist/cjs/index.cjs.js +6 -0
  84. package/dist/cjs/index.cjs.js.map +1 -0
  85. package/dist/cjs/loader.cjs.js +17 -0
  86. package/dist/cjs/loader.cjs.js.map +1 -0
  87. package/dist/cjs/pds-accordion.cjs.entry.js +43 -0
  88. package/dist/cjs/pds-accordion.cjs.entry.js.map +1 -0
  89. package/dist/cjs/pds-avatar.cjs.entry.js +75 -0
  90. package/dist/cjs/pds-avatar.cjs.entry.js.map +1 -0
  91. package/dist/cjs/pds-box.cjs.entry.js +82 -0
  92. package/dist/cjs/pds-box.cjs.entry.js.map +1 -0
  93. package/dist/cjs/pds-button.cjs.entry.js +59 -0
  94. package/dist/cjs/pds-button.cjs.entry.js.map +1 -0
  95. package/dist/cjs/pds-checkbox.cjs.entry.js +75 -0
  96. package/dist/cjs/pds-checkbox.cjs.entry.js.map +1 -0
  97. package/dist/cjs/pds-chip.cjs.entry.js +51 -0
  98. package/dist/cjs/pds-chip.cjs.entry.js.map +1 -0
  99. package/dist/cjs/pds-copytext.cjs.entry.js +56 -0
  100. package/dist/cjs/pds-copytext.cjs.entry.js.map +1 -0
  101. package/dist/cjs/pds-divider.cjs.entry.js +36 -0
  102. package/dist/cjs/pds-divider.cjs.entry.js.map +1 -0
  103. package/dist/cjs/pds-image.cjs.entry.js +32 -0
  104. package/dist/cjs/pds-image.cjs.entry.js.map +1 -0
  105. package/dist/cjs/pds-input.cjs.entry.js +45 -0
  106. package/dist/cjs/pds-input.cjs.entry.js.map +1 -0
  107. package/dist/cjs/pds-label-7acec6ab.js +44 -0
  108. package/dist/cjs/pds-label-7acec6ab.js.map +1 -0
  109. package/dist/cjs/pds-link.cjs.entry.js +39 -0
  110. package/dist/cjs/pds-link.cjs.entry.js.map +1 -0
  111. package/dist/cjs/pds-loader.cjs.entry.js +49 -0
  112. package/dist/cjs/pds-loader.cjs.entry.js.map +1 -0
  113. package/dist/cjs/pds-progress.cjs.entry.js +28 -0
  114. package/dist/cjs/pds-progress.cjs.entry.js.map +1 -0
  115. package/dist/cjs/pds-radio.cjs.entry.js +54 -0
  116. package/dist/cjs/pds-radio.cjs.entry.js.map +1 -0
  117. package/dist/cjs/pds-row.cjs.entry.js +51 -0
  118. package/dist/cjs/pds-row.cjs.entry.js.map +1 -0
  119. package/dist/cjs/pds-sortable-item.cjs.entry.js +35 -0
  120. package/dist/cjs/pds-sortable-item.cjs.entry.js.map +1 -0
  121. package/dist/cjs/pds-sortable.cjs.entry.js +2704 -0
  122. package/dist/cjs/pds-sortable.cjs.entry.js.map +1 -0
  123. package/dist/cjs/pds-switch.cjs.entry.js +56 -0
  124. package/dist/cjs/pds-switch.cjs.entry.js.map +1 -0
  125. package/dist/cjs/pds-tab.cjs.entry.js +34 -0
  126. package/dist/cjs/pds-tab.cjs.entry.js.map +1 -0
  127. package/dist/cjs/pds-table-body.cjs.entry.js +22 -0
  128. package/dist/cjs/pds-table-body.cjs.entry.js.map +1 -0
  129. package/dist/cjs/pds-table-cell.cjs.entry.js +58 -0
  130. package/dist/cjs/pds-table-cell.cjs.entry.js.map +1 -0
  131. package/dist/cjs/pds-table-head-cell.cjs.entry.js +76 -0
  132. package/dist/cjs/pds-table-head-cell.cjs.entry.js.map +1 -0
  133. package/dist/cjs/pds-table-head.cjs.entry.js +55 -0
  134. package/dist/cjs/pds-table-head.cjs.entry.js.map +1 -0
  135. package/dist/cjs/pds-table-row.cjs.entry.js +66 -0
  136. package/dist/cjs/pds-table-row.cjs.entry.js.map +1 -0
  137. package/dist/cjs/pds-table.cjs.entry.js +102 -0
  138. package/dist/cjs/pds-table.cjs.entry.js.map +1 -0
  139. package/dist/cjs/pds-tabpanel.cjs.entry.js +27 -0
  140. package/dist/cjs/pds-tabpanel.cjs.entry.js.map +1 -0
  141. package/dist/cjs/pds-tabs.cjs.entry.js +99 -0
  142. package/dist/cjs/pds-tabs.cjs.entry.js.map +1 -0
  143. package/dist/cjs/pds-textarea.cjs.entry.js +55 -0
  144. package/dist/cjs/pds-textarea.cjs.entry.js.map +1 -0
  145. package/dist/cjs/pds-tooltip.cjs.entry.js +152 -0
  146. package/dist/cjs/pds-tooltip.cjs.entry.js.map +1 -0
  147. package/dist/cjs/pine-core.cjs.js +27 -0
  148. package/dist/cjs/pine-core.cjs.js.map +1 -0
  149. package/dist/collection/collection-manifest.json +40 -0
  150. package/dist/collection/components/_internal/pds-label/pds-label.js +7 -0
  151. package/dist/collection/components/_internal/pds-label/pds-label.js.map +1 -0
  152. package/dist/collection/components/pds-accordion/pds-accordion.css +65 -0
  153. package/dist/collection/components/pds-accordion/pds-accordion.js +94 -0
  154. package/dist/collection/components/pds-accordion/pds-accordion.js.map +1 -0
  155. package/dist/collection/components/pds-accordion/stories/pds-accordion.stories.js +34 -0
  156. package/dist/collection/components/pds-avatar/pds-avatar.css +65 -0
  157. package/dist/collection/components/pds-avatar/pds-avatar.js +224 -0
  158. package/dist/collection/components/pds-avatar/pds-avatar.js.map +1 -0
  159. package/dist/collection/components/pds-avatar/stories/pds-avatar.stories.js +65 -0
  160. package/dist/collection/components/pds-box/pds-box.css +1234 -0
  161. package/dist/collection/components/pds-box/pds-box.js +678 -0
  162. package/dist/collection/components/pds-box/pds-box.js.map +1 -0
  163. package/dist/collection/components/pds-box/stories/pds-box.stories.js +50 -0
  164. package/dist/collection/components/pds-button/pds-button.css +131 -0
  165. package/dist/collection/components/pds-button/pds-button.js +193 -0
  166. package/dist/collection/components/pds-button/pds-button.js.map +1 -0
  167. package/dist/collection/components/pds-button/stories/pds-button.stories.js +66 -0
  168. package/dist/collection/components/pds-checkbox/checkbox-interface.js +2 -0
  169. package/dist/collection/components/pds-checkbox/checkbox-interface.js.map +1 -0
  170. package/dist/collection/components/pds-checkbox/pds-checkbox.css +135 -0
  171. package/dist/collection/components/pds-checkbox/pds-checkbox.js +330 -0
  172. package/dist/collection/components/pds-checkbox/pds-checkbox.js.map +1 -0
  173. package/dist/collection/components/pds-checkbox/stories/pds-checkbox.stories.js +82 -0
  174. package/dist/collection/components/pds-chip/pds-chip.css +239 -0
  175. package/dist/collection/components/pds-chip/pds-chip.js +189 -0
  176. package/dist/collection/components/pds-chip/pds-chip.js.map +1 -0
  177. package/dist/collection/components/pds-chip/stories/pds-chip.stories.js +79 -0
  178. package/dist/collection/components/pds-copytext/pds-copytext.css +87 -0
  179. package/dist/collection/components/pds-copytext/pds-copytext.js +173 -0
  180. package/dist/collection/components/pds-copytext/pds-copytext.js.map +1 -0
  181. package/dist/collection/components/pds-copytext/stories/pds-copytext.stories.js +57 -0
  182. package/dist/collection/components/pds-divider/pds-divider.css +92 -0
  183. package/dist/collection/components/pds-divider/pds-divider.js +94 -0
  184. package/dist/collection/components/pds-divider/pds-divider.js.map +1 -0
  185. package/dist/collection/components/pds-divider/stories/pds-divider.stories.js +25 -0
  186. package/dist/collection/components/pds-icon/stories/pds-icon.stories.js +16 -0
  187. package/dist/collection/components/pds-image/pds-image.css +13 -0
  188. package/dist/collection/components/pds-image/pds-image.js +173 -0
  189. package/dist/collection/components/pds-image/pds-image.js.map +1 -0
  190. package/dist/collection/components/pds-image/stories/pds-image.stories.js +35 -0
  191. package/dist/collection/components/pds-input/pds-input.css +92 -0
  192. package/dist/collection/components/pds-input/pds-input.js +279 -0
  193. package/dist/collection/components/pds-input/pds-input.js.map +1 -0
  194. package/dist/collection/components/pds-input/stories/pds-input.stories.js +110 -0
  195. package/dist/collection/components/pds-link/pds-link.css +68 -0
  196. package/dist/collection/components/pds-link/pds-link.js +140 -0
  197. package/dist/collection/components/pds-link/pds-link.js.map +1 -0
  198. package/dist/collection/components/pds-link/stories/pds-link.stories.js +49 -0
  199. package/dist/collection/components/pds-loader/pds-loader.css +93 -0
  200. package/dist/collection/components/pds-loader/pds-loader.js +127 -0
  201. package/dist/collection/components/pds-loader/pds-loader.js.map +1 -0
  202. package/dist/collection/components/pds-loader/stories/pds-loader.stories.js +36 -0
  203. package/dist/collection/components/pds-progress/pds-progress.css +79 -0
  204. package/dist/collection/components/pds-progress/pds-progress.js +148 -0
  205. package/dist/collection/components/pds-progress/pds-progress.js.map +1 -0
  206. package/dist/collection/components/pds-progress/stories/pds-progress.stories.js +65 -0
  207. package/dist/collection/components/pds-radio/pds-radio.css +104 -0
  208. package/dist/collection/components/pds-radio/pds-radio.js +261 -0
  209. package/dist/collection/components/pds-radio/pds-radio.js.map +1 -0
  210. package/dist/collection/components/pds-radio/stories/pds-radio.stories.js +71 -0
  211. package/dist/collection/components/pds-row/pds-row.css +78 -0
  212. package/dist/collection/components/pds-row/pds-row.js +186 -0
  213. package/dist/collection/components/pds-row/pds-row.js.map +1 -0
  214. package/dist/collection/components/pds-row/stories/pds-row.stories.js +75 -0
  215. package/dist/collection/components/pds-sortable/pds-sortable-item/pds-sortable-item.css +63 -0
  216. package/dist/collection/components/pds-sortable/pds-sortable-item/pds-sortable-item.js +100 -0
  217. package/dist/collection/components/pds-sortable/pds-sortable-item/pds-sortable-item.js.map +1 -0
  218. package/dist/collection/components/pds-sortable/pds-sortable-item/stories/pds-sortable-item.stories.js +24 -0
  219. package/dist/collection/components/pds-sortable/pds-sortable.css +10 -0
  220. package/dist/collection/components/pds-sortable/pds-sortable.js +150 -0
  221. package/dist/collection/components/pds-sortable/pds-sortable.js.map +1 -0
  222. package/dist/collection/components/pds-sortable/sortable-interface.js +2 -0
  223. package/dist/collection/components/pds-sortable/sortable-interface.js.map +1 -0
  224. package/dist/collection/components/pds-sortable/stories/pds-sortable.stories.js +130 -0
  225. package/dist/collection/components/pds-switch/pds-switch.css +136 -0
  226. package/dist/collection/components/pds-switch/pds-switch.js +277 -0
  227. package/dist/collection/components/pds-switch/pds-switch.js.map +1 -0
  228. package/dist/collection/components/pds-switch/stories/pds-switch.stories.js +102 -0
  229. package/dist/collection/components/pds-table/pds-table-body/pds-table-body.css +5 -0
  230. package/dist/collection/components/pds-table/pds-table-body/pds-table-body.js +19 -0
  231. package/dist/collection/components/pds-table/pds-table-body/pds-table-body.js.map +1 -0
  232. package/dist/collection/components/pds-table/pds-table-cell/pds-table-cell.css +45 -0
  233. package/dist/collection/components/pds-table/pds-table-cell/pds-table-cell.js +83 -0
  234. package/dist/collection/components/pds-table/pds-table-cell/pds-table-cell.js.map +1 -0
  235. package/dist/collection/components/pds-table/pds-table-cell/stories/pds-table-cell.stories.js +26 -0
  236. package/dist/collection/components/pds-table/pds-table-head/pds-table-head.css +18 -0
  237. package/dist/collection/components/pds-table/pds-table-head/pds-table-head.js +109 -0
  238. package/dist/collection/components/pds-table/pds-table-head/pds-table-head.js.map +1 -0
  239. package/dist/collection/components/pds-table/pds-table-head-cell/pds-table-head-cell.css +54 -0
  240. package/dist/collection/components/pds-table/pds-table-head-cell/pds-table-head-cell.js +120 -0
  241. package/dist/collection/components/pds-table/pds-table-head-cell/pds-table-head-cell.js.map +1 -0
  242. package/dist/collection/components/pds-table/pds-table-head-cell/stories/pds-table-head-cell.stories.js +24 -0
  243. package/dist/collection/components/pds-table/pds-table-row/pds-table-row.css +22 -0
  244. package/dist/collection/components/pds-table/pds-table-row/pds-table-row.js +120 -0
  245. package/dist/collection/components/pds-table/pds-table-row/pds-table-row.js.map +1 -0
  246. package/dist/collection/components/pds-table/pds-table-row/stories/pds-table-row.stories.js +26 -0
  247. package/dist/collection/components/pds-table/pds-table.css +27 -0
  248. package/dist/collection/components/pds-table/pds-table.js +248 -0
  249. package/dist/collection/components/pds-table/pds-table.js.map +1 -0
  250. package/dist/collection/components/pds-table/stories/pds-table.stories.js +227 -0
  251. package/dist/collection/components/pds-tabs/pds-tab/pds-tab.css +160 -0
  252. package/dist/collection/components/pds-tabs/pds-tab/pds-tab.js +154 -0
  253. package/dist/collection/components/pds-tabs/pds-tab/pds-tab.js.map +1 -0
  254. package/dist/collection/components/pds-tabs/pds-tabpanel/pds-tabpanel.css +12 -0
  255. package/dist/collection/components/pds-tabs/pds-tabpanel/pds-tabpanel.js +107 -0
  256. package/dist/collection/components/pds-tabs/pds-tabpanel/pds-tabpanel.js.map +1 -0
  257. package/dist/collection/components/pds-tabs/pds-tabs.css +29 -0
  258. package/dist/collection/components/pds-tabs/pds-tabs.js +209 -0
  259. package/dist/collection/components/pds-tabs/pds-tabs.js.map +1 -0
  260. package/dist/collection/components/pds-tabs/stories/pds-tabs.stories.js +63 -0
  261. package/dist/collection/components/pds-textarea/pds-textarea.css +88 -0
  262. package/dist/collection/components/pds-textarea/pds-textarea.js +303 -0
  263. package/dist/collection/components/pds-textarea/pds-textarea.js.map +1 -0
  264. package/dist/collection/components/pds-textarea/stories/pds-textarea.stories.js +111 -0
  265. package/dist/collection/components/pds-textarea/textarea-interface.js +2 -0
  266. package/dist/collection/components/pds-textarea/textarea-interface.js.map +1 -0
  267. package/dist/collection/components/pds-tooltip/pds-tooltip.css +147 -0
  268. package/dist/collection/components/pds-tooltip/pds-tooltip.js +287 -0
  269. package/dist/collection/components/pds-tooltip/pds-tooltip.js.map +1 -0
  270. package/dist/collection/components/pds-tooltip/stories/pds-tooltip.stories.js +103 -0
  271. package/dist/collection/global/pine-ui-global.js +2 -0
  272. package/dist/collection/global/pine-ui-global.js.map +1 -0
  273. package/dist/collection/index.js +2 -0
  274. package/dist/collection/index.js.map +1 -0
  275. package/dist/collection/stories/_helpers/index.js +15 -0
  276. package/dist/collection/stories/_helpers/index.js.map +1 -0
  277. package/dist/collection/utils/closest.js +8 -0
  278. package/dist/collection/utils/closest.js.map +1 -0
  279. package/dist/collection/utils/form.js +28 -0
  280. package/dist/collection/utils/form.js.map +1 -0
  281. package/dist/collection/utils/overlay.js +68 -0
  282. package/dist/collection/utils/overlay.js.map +1 -0
  283. package/dist/collection/utils/types.js +2 -0
  284. package/dist/collection/utils/types.js.map +1 -0
  285. package/dist/collection/utils/utils.js +7 -0
  286. package/dist/collection/utils/utils.js.map +1 -0
  287. package/dist/docs.json +1 -1
  288. package/dist/esm/index-b8872c16.js +14 -0
  289. package/dist/esm/index-b8872c16.js.map +1 -0
  290. package/dist/esm/index-cd2796be.js +2811 -0
  291. package/dist/esm/index-cd2796be.js.map +1 -0
  292. package/dist/esm/index.js +3 -0
  293. package/dist/esm/index.js.map +1 -0
  294. package/dist/esm/loader.js +13 -0
  295. package/dist/esm/loader.js.map +1 -0
  296. package/dist/{pine-core → esm}/pds-accordion.entry.js +5 -4
  297. package/dist/esm/pds-accordion.entry.js.map +1 -0
  298. package/dist/{pine-core → esm}/pds-avatar.entry.js +5 -4
  299. package/dist/esm/pds-avatar.entry.js.map +1 -0
  300. package/dist/esm/pds-box.entry.js +78 -0
  301. package/dist/esm/pds-box.entry.js.map +1 -0
  302. package/dist/{pine-core → esm}/pds-button.entry.js +5 -7
  303. package/dist/esm/pds-button.entry.js.map +1 -0
  304. package/dist/{pine-core → esm}/pds-checkbox.entry.js +5 -4
  305. package/dist/esm/pds-checkbox.entry.js.map +1 -0
  306. package/dist/esm/pds-chip.entry.js +47 -0
  307. package/dist/esm/pds-chip.entry.js.map +1 -0
  308. package/dist/{pine-core → esm}/pds-copytext.entry.js +5 -4
  309. package/dist/esm/pds-copytext.entry.js.map +1 -0
  310. package/dist/esm/pds-divider.entry.js +32 -0
  311. package/dist/esm/pds-divider.entry.js.map +1 -0
  312. package/dist/{pine-core → esm}/pds-image.entry.js +3 -2
  313. package/dist/esm/pds-image.entry.js.map +1 -0
  314. package/dist/{pine-core → esm}/pds-input.entry.js +5 -4
  315. package/dist/esm/pds-input.entry.js.map +1 -0
  316. package/dist/{pine-core/pds-label-7201663d.js → esm/pds-label-7abc6d85.js} +2 -2
  317. package/dist/{pine-core/pds-label-7201663d.js.map → esm/pds-label-7abc6d85.js.map} +1 -1
  318. package/dist/{pine-core → esm}/pds-link.entry.js +5 -4
  319. package/dist/esm/pds-link.entry.js.map +1 -0
  320. package/dist/esm/pds-loader.entry.js +45 -0
  321. package/dist/esm/pds-loader.entry.js.map +1 -0
  322. package/dist/esm/pds-progress.entry.js +24 -0
  323. package/dist/esm/pds-progress.entry.js.map +1 -0
  324. package/dist/{pine-core → esm}/pds-radio.entry.js +5 -4
  325. package/dist/esm/pds-radio.entry.js.map +1 -0
  326. package/dist/esm/pds-row.entry.js +47 -0
  327. package/dist/esm/pds-row.entry.js.map +1 -0
  328. package/dist/esm/pds-sortable-item.entry.js +31 -0
  329. package/dist/esm/pds-sortable-item.entry.js.map +1 -0
  330. package/dist/{pine-core → esm}/pds-sortable.entry.js +4 -704
  331. package/dist/esm/pds-sortable.entry.js.map +1 -0
  332. package/dist/{pine-core → esm}/pds-switch.entry.js +5 -4
  333. package/dist/esm/pds-switch.entry.js.map +1 -0
  334. package/dist/esm/pds-tab.entry.js +30 -0
  335. package/dist/esm/pds-tab.entry.js.map +1 -0
  336. package/dist/{pine-core → esm}/pds-table-body.entry.js +3 -2
  337. package/dist/esm/pds-table-body.entry.js.map +1 -0
  338. package/dist/{pine-core → esm}/pds-table-cell.entry.js +4 -3
  339. package/dist/esm/pds-table-cell.entry.js.map +1 -0
  340. package/dist/{pine-core → esm}/pds-table-head-cell.entry.js +5 -4
  341. package/dist/esm/pds-table-head-cell.entry.js.map +1 -0
  342. package/dist/{pine-core → esm}/pds-table-head.entry.js +4 -3
  343. package/dist/esm/pds-table-head.entry.js.map +1 -0
  344. package/dist/{pine-core → esm}/pds-table-row.entry.js +4 -3
  345. package/dist/esm/pds-table-row.entry.js.map +1 -0
  346. package/dist/{pine-core → esm}/pds-table.entry.js +4 -3
  347. package/dist/esm/pds-table.entry.js.map +1 -0
  348. package/dist/{pine-core → esm}/pds-tabpanel.entry.js +3 -2
  349. package/dist/esm/pds-tabpanel.entry.js.map +1 -0
  350. package/dist/{pine-core → esm}/pds-tabs.entry.js +4 -3
  351. package/dist/esm/pds-tabs.entry.js.map +1 -0
  352. package/dist/{pine-core → esm}/pds-textarea.entry.js +5 -4
  353. package/dist/esm/pds-textarea.entry.js.map +1 -0
  354. package/dist/{pine-core → esm}/pds-tooltip.entry.js +4 -3
  355. package/dist/esm/pds-tooltip.entry.js.map +1 -0
  356. package/dist/esm/pine-core.js +22 -0
  357. package/dist/esm/pine-core.js.map +1 -0
  358. package/dist/esm/polyfills/core-js.js +11 -0
  359. package/dist/esm/polyfills/dom.js +79 -0
  360. package/dist/esm/polyfills/es5-html-element.js +1 -0
  361. package/dist/esm/polyfills/index.js +34 -0
  362. package/dist/esm/polyfills/system.js +6 -0
  363. package/dist/esm-es5/app-globals-0f993ce5.js +2 -0
  364. package/dist/esm-es5/app-globals-0f993ce5.js.map +1 -0
  365. package/dist/esm-es5/closest-d2d192be.js +2 -0
  366. package/dist/esm-es5/closest-d2d192be.js.map +1 -0
  367. package/dist/esm-es5/index-b8872c16.js +2 -0
  368. package/dist/esm-es5/index-b8872c16.js.map +1 -0
  369. package/dist/esm-es5/index-cd2796be.js +3 -0
  370. package/dist/esm-es5/index-cd2796be.js.map +1 -0
  371. package/dist/esm-es5/index.js +2 -0
  372. package/dist/esm-es5/index.js.map +1 -0
  373. package/dist/esm-es5/loader.js +2 -0
  374. package/dist/esm-es5/loader.js.map +1 -0
  375. package/dist/esm-es5/pds-accordion.entry.js +2 -0
  376. package/dist/esm-es5/pds-accordion.entry.js.map +1 -0
  377. package/dist/esm-es5/pds-avatar.entry.js +2 -0
  378. package/dist/esm-es5/pds-avatar.entry.js.map +1 -0
  379. package/dist/esm-es5/pds-box.entry.js +2 -0
  380. package/dist/esm-es5/pds-box.entry.js.map +1 -0
  381. package/dist/esm-es5/pds-button.entry.js +2 -0
  382. package/dist/esm-es5/pds-button.entry.js.map +1 -0
  383. package/dist/esm-es5/pds-checkbox.entry.js +2 -0
  384. package/dist/esm-es5/pds-checkbox.entry.js.map +1 -0
  385. package/dist/esm-es5/pds-chip.entry.js +2 -0
  386. package/dist/esm-es5/pds-chip.entry.js.map +1 -0
  387. package/dist/esm-es5/pds-copytext.entry.js +2 -0
  388. package/dist/esm-es5/pds-copytext.entry.js.map +1 -0
  389. package/dist/esm-es5/pds-divider.entry.js +2 -0
  390. package/dist/esm-es5/pds-divider.entry.js.map +1 -0
  391. package/dist/esm-es5/pds-image.entry.js +2 -0
  392. package/dist/esm-es5/pds-image.entry.js.map +1 -0
  393. package/dist/esm-es5/pds-input.entry.js +2 -0
  394. package/dist/esm-es5/pds-input.entry.js.map +1 -0
  395. package/dist/esm-es5/pds-label-7abc6d85.js +2 -0
  396. package/dist/esm-es5/pds-label-7abc6d85.js.map +1 -0
  397. package/dist/esm-es5/pds-link.entry.js +2 -0
  398. package/dist/esm-es5/pds-link.entry.js.map +1 -0
  399. package/dist/esm-es5/pds-loader.entry.js +2 -0
  400. package/dist/esm-es5/pds-loader.entry.js.map +1 -0
  401. package/dist/esm-es5/pds-progress.entry.js +2 -0
  402. package/dist/esm-es5/pds-progress.entry.js.map +1 -0
  403. package/dist/esm-es5/pds-radio.entry.js +2 -0
  404. package/dist/esm-es5/pds-radio.entry.js.map +1 -0
  405. package/dist/esm-es5/pds-row.entry.js +2 -0
  406. package/dist/esm-es5/pds-row.entry.js.map +1 -0
  407. package/dist/esm-es5/pds-sortable-item.entry.js +2 -0
  408. package/dist/esm-es5/pds-sortable-item.entry.js.map +1 -0
  409. package/dist/esm-es5/pds-sortable.entry.js +8 -0
  410. package/dist/esm-es5/pds-sortable.entry.js.map +1 -0
  411. package/dist/esm-es5/pds-switch.entry.js +2 -0
  412. package/dist/esm-es5/pds-switch.entry.js.map +1 -0
  413. package/dist/esm-es5/pds-tab.entry.js +2 -0
  414. package/dist/esm-es5/pds-tab.entry.js.map +1 -0
  415. package/dist/esm-es5/pds-table-body.entry.js +2 -0
  416. package/dist/esm-es5/pds-table-body.entry.js.map +1 -0
  417. package/dist/esm-es5/pds-table-cell.entry.js +2 -0
  418. package/dist/esm-es5/pds-table-cell.entry.js.map +1 -0
  419. package/dist/esm-es5/pds-table-head-cell.entry.js +2 -0
  420. package/dist/esm-es5/pds-table-head-cell.entry.js.map +1 -0
  421. package/dist/esm-es5/pds-table-head.entry.js +2 -0
  422. package/dist/esm-es5/pds-table-head.entry.js.map +1 -0
  423. package/dist/esm-es5/pds-table-row.entry.js +2 -0
  424. package/dist/esm-es5/pds-table-row.entry.js.map +1 -0
  425. package/dist/esm-es5/pds-table.entry.js +2 -0
  426. package/dist/{pine-core → esm-es5}/pds-table.entry.js.map +1 -1
  427. package/dist/esm-es5/pds-tabpanel.entry.js +2 -0
  428. package/dist/esm-es5/pds-tabpanel.entry.js.map +1 -0
  429. package/dist/esm-es5/pds-tabs.entry.js +2 -0
  430. package/dist/esm-es5/pds-tabs.entry.js.map +1 -0
  431. package/dist/esm-es5/pds-textarea.entry.js +2 -0
  432. package/dist/esm-es5/pds-textarea.entry.js.map +1 -0
  433. package/dist/esm-es5/pds-tooltip.entry.js +2 -0
  434. package/dist/esm-es5/pds-tooltip.entry.js.map +1 -0
  435. package/dist/esm-es5/pine-core.js +2 -0
  436. package/dist/esm-es5/pine-core.js.map +1 -0
  437. package/dist/index.cjs.js +1 -0
  438. package/dist/index.js +1 -0
  439. package/dist/pine-core/index.esm.js +1 -2
  440. package/dist/pine-core/index.esm.js.map +1 -1
  441. package/dist/pine-core/p-03ac85bb.system.entry.js +2 -0
  442. package/dist/pine-core/p-03ac85bb.system.entry.js.map +1 -0
  443. package/dist/pine-core/p-0935a593.system.js +3 -0
  444. package/dist/pine-core/p-0935a593.system.js.map +1 -0
  445. package/dist/pine-core/p-0b77685e.js +2 -0
  446. package/dist/pine-core/p-0b77685e.js.map +1 -0
  447. package/dist/pine-core/p-0ca08a85.system.js +2 -0
  448. package/dist/pine-core/p-0ca08a85.system.js.map +1 -0
  449. package/dist/pine-core/p-1b1c6e9e.system.entry.js +2 -0
  450. package/dist/pine-core/p-1b1c6e9e.system.entry.js.map +1 -0
  451. package/dist/pine-core/p-1d34a83d.system.entry.js +2 -0
  452. package/dist/pine-core/p-1d34a83d.system.entry.js.map +1 -0
  453. package/dist/pine-core/p-224a435b.system.js +2 -0
  454. package/dist/pine-core/p-224a435b.system.js.map +1 -0
  455. package/dist/pine-core/p-23d97662.js +3 -0
  456. package/dist/pine-core/p-23d97662.js.map +1 -0
  457. package/dist/pine-core/p-24d43a5d.system.entry.js +2 -0
  458. package/dist/pine-core/p-24d43a5d.system.entry.js.map +1 -0
  459. package/dist/pine-core/p-252bcd1c.system.entry.js +2 -0
  460. package/dist/pine-core/p-252bcd1c.system.entry.js.map +1 -0
  461. package/dist/pine-core/p-27dfade4.system.entry.js +2 -0
  462. package/dist/pine-core/p-27dfade4.system.entry.js.map +1 -0
  463. package/dist/pine-core/p-28d205e0.system.entry.js +2 -0
  464. package/dist/pine-core/p-28d205e0.system.entry.js.map +1 -0
  465. package/dist/pine-core/p-2ac1781f.entry.js +2 -0
  466. package/dist/pine-core/p-2ac1781f.entry.js.map +1 -0
  467. package/dist/pine-core/p-35f2208a.system.entry.js +2 -0
  468. package/dist/pine-core/p-35f2208a.system.entry.js.map +1 -0
  469. package/dist/pine-core/p-38a23fac.system.entry.js +2 -0
  470. package/dist/pine-core/p-38a23fac.system.entry.js.map +1 -0
  471. package/dist/pine-core/p-39bc5dc9.system.entry.js +2 -0
  472. package/dist/pine-core/p-39bc5dc9.system.entry.js.map +1 -0
  473. package/dist/pine-core/p-3c02b099.entry.js +2 -0
  474. package/dist/pine-core/p-3c02b099.entry.js.map +1 -0
  475. package/dist/pine-core/p-41d6881e.system.entry.js +2 -0
  476. package/dist/pine-core/p-41d6881e.system.entry.js.map +1 -0
  477. package/dist/pine-core/p-443202f8.entry.js +8 -0
  478. package/dist/pine-core/p-443202f8.entry.js.map +1 -0
  479. package/dist/pine-core/p-4df579f2.entry.js +2 -0
  480. package/dist/pine-core/p-4df579f2.entry.js.map +1 -0
  481. package/dist/pine-core/p-519ef0c4.system.js +2 -0
  482. package/dist/pine-core/p-519ef0c4.system.js.map +1 -0
  483. package/dist/pine-core/p-56588c5d.entry.js +2 -0
  484. package/dist/pine-core/p-56588c5d.entry.js.map +1 -0
  485. package/dist/pine-core/p-56ba5cbf.system.js +2 -0
  486. package/dist/pine-core/p-56ba5cbf.system.js.map +1 -0
  487. package/dist/pine-core/p-5c60147f.system.entry.js +9 -0
  488. package/dist/pine-core/p-5c60147f.system.entry.js.map +1 -0
  489. package/dist/pine-core/p-5c8608cd.system.entry.js +2 -0
  490. package/dist/pine-core/p-5c8608cd.system.entry.js.map +1 -0
  491. package/dist/pine-core/p-5d08fe24.entry.js +2 -0
  492. package/dist/pine-core/p-5d08fe24.entry.js.map +1 -0
  493. package/dist/pine-core/p-606b6dbb.entry.js +2 -0
  494. package/dist/pine-core/p-606b6dbb.entry.js.map +1 -0
  495. package/dist/pine-core/p-60f4dc68.system.entry.js +2 -0
  496. package/dist/pine-core/p-60f4dc68.system.entry.js.map +1 -0
  497. package/dist/pine-core/p-6525ed78.entry.js +2 -0
  498. package/dist/pine-core/p-6525ed78.entry.js.map +1 -0
  499. package/dist/pine-core/p-684d04ae.entry.js +2 -0
  500. package/dist/pine-core/p-684d04ae.entry.js.map +1 -0
  501. package/dist/pine-core/p-6f38bc8e.entry.js +2 -0
  502. package/dist/pine-core/p-6f38bc8e.entry.js.map +1 -0
  503. package/dist/pine-core/p-6f511f31.entry.js +2 -0
  504. package/dist/pine-core/p-6f511f31.entry.js.map +1 -0
  505. package/dist/pine-core/p-74d57e61.system.entry.js +2 -0
  506. package/dist/pine-core/p-74d57e61.system.entry.js.map +1 -0
  507. package/dist/pine-core/p-806b41c3.entry.js +2 -0
  508. package/dist/pine-core/p-806b41c3.entry.js.map +1 -0
  509. package/dist/pine-core/p-807d5d68.system.entry.js +2 -0
  510. package/dist/pine-core/p-807d5d68.system.entry.js.map +1 -0
  511. package/dist/pine-core/p-854fa9e2.entry.js +2 -0
  512. package/dist/pine-core/p-854fa9e2.entry.js.map +1 -0
  513. package/dist/pine-core/p-867aee19.entry.js +2 -0
  514. package/dist/pine-core/p-867aee19.entry.js.map +1 -0
  515. package/dist/pine-core/p-8701cb7b.system.entry.js +2 -0
  516. package/dist/pine-core/p-8701cb7b.system.entry.js.map +1 -0
  517. package/dist/pine-core/p-87b61d15.system.entry.js +2 -0
  518. package/dist/pine-core/p-87b61d15.system.entry.js.map +1 -0
  519. package/dist/pine-core/p-8a1b3866.entry.js +2 -0
  520. package/dist/pine-core/p-8a1b3866.entry.js.map +1 -0
  521. package/dist/pine-core/p-8c719c49.entry.js +2 -0
  522. package/dist/pine-core/p-8c719c49.entry.js.map +1 -0
  523. package/dist/pine-core/p-8f3273ed.system.entry.js +2 -0
  524. package/dist/pine-core/p-8f3273ed.system.entry.js.map +1 -0
  525. package/dist/pine-core/p-8fcfa336.entry.js +2 -0
  526. package/dist/pine-core/p-8fcfa336.entry.js.map +1 -0
  527. package/dist/pine-core/p-90694e70.entry.js +2 -0
  528. package/dist/pine-core/p-90694e70.entry.js.map +1 -0
  529. package/dist/pine-core/p-91bb8017.entry.js +2 -0
  530. package/dist/pine-core/p-91bb8017.entry.js.map +1 -0
  531. package/dist/pine-core/p-924a951b.system.entry.js +2 -0
  532. package/dist/pine-core/p-924a951b.system.entry.js.map +1 -0
  533. package/dist/pine-core/p-9c538ab0.entry.js +2 -0
  534. package/dist/pine-core/p-9c538ab0.entry.js.map +1 -0
  535. package/dist/pine-core/p-9d959d25.system.entry.js +2 -0
  536. package/dist/pine-core/p-9d959d25.system.entry.js.map +1 -0
  537. package/dist/pine-core/p-ad997571.system.entry.js +2 -0
  538. package/dist/pine-core/p-ad997571.system.entry.js.map +1 -0
  539. package/dist/pine-core/p-b1363254.entry.js +2 -0
  540. package/dist/pine-core/p-b1363254.entry.js.map +1 -0
  541. package/dist/pine-core/p-b47f8855.entry.js +2 -0
  542. package/dist/pine-core/p-b47f8855.entry.js.map +1 -0
  543. package/dist/pine-core/p-b480d80a.entry.js +2 -0
  544. package/dist/pine-core/p-b480d80a.entry.js.map +1 -0
  545. package/dist/pine-core/p-b5859bbd.system.entry.js +2 -0
  546. package/dist/pine-core/p-b5859bbd.system.entry.js.map +1 -0
  547. package/dist/pine-core/p-b978c861.entry.js +2 -0
  548. package/dist/pine-core/p-b978c861.entry.js.map +1 -0
  549. package/dist/pine-core/p-bdc39517.system.entry.js +2 -0
  550. package/dist/pine-core/p-bdc39517.system.entry.js.map +1 -0
  551. package/dist/pine-core/p-c03cfc96.js +2 -0
  552. package/dist/pine-core/p-c03cfc96.js.map +1 -0
  553. package/dist/pine-core/p-c56d871e.system.entry.js +2 -0
  554. package/dist/pine-core/p-c56d871e.system.entry.js.map +1 -0
  555. package/dist/pine-core/p-cca53530.system.entry.js +2 -0
  556. package/dist/pine-core/p-cca53530.system.entry.js.map +1 -0
  557. package/dist/pine-core/p-cddeae53.entry.js +2 -0
  558. package/dist/pine-core/p-cddeae53.entry.js.map +1 -0
  559. package/dist/pine-core/p-d33de2b3.system.entry.js +2 -0
  560. package/dist/pine-core/p-d33de2b3.system.entry.js.map +1 -0
  561. package/dist/pine-core/p-dcc876d5.entry.js +2 -0
  562. package/dist/pine-core/p-dcc876d5.entry.js.map +1 -0
  563. package/dist/pine-core/p-e1255160.js +2 -0
  564. package/dist/pine-core/p-e1255160.js.map +1 -0
  565. package/dist/pine-core/p-ece97e5b.system.js +2 -0
  566. package/dist/pine-core/p-ece97e5b.system.js.map +1 -0
  567. package/dist/pine-core/p-ee65aef1.system.js +2 -0
  568. package/dist/pine-core/p-ee65aef1.system.js.map +1 -0
  569. package/dist/pine-core/p-efc85823.js +2 -0
  570. package/dist/pine-core/p-efc85823.js.map +1 -0
  571. package/dist/pine-core/p-f1610dff.system.entry.js +2 -0
  572. package/dist/pine-core/p-f1610dff.system.entry.js.map +1 -0
  573. package/dist/pine-core/p-f666c482.entry.js +2 -0
  574. package/dist/pine-core/p-f666c482.entry.js.map +1 -0
  575. package/dist/pine-core/p-f80b45a9.system.entry.js +2 -0
  576. package/dist/pine-core/p-f80b45a9.system.entry.js.map +1 -0
  577. package/dist/pine-core/p-f92e85c4.entry.js +2 -0
  578. package/dist/pine-core/p-f92e85c4.entry.js.map +1 -0
  579. package/dist/pine-core/p-fc202585.entry.js +2 -0
  580. package/dist/pine-core/p-fc202585.entry.js.map +1 -0
  581. package/dist/pine-core/pine-core.css +1 -180
  582. package/dist/pine-core/pine-core.esm.js +1 -52
  583. package/dist/pine-core/pine-core.esm.js.map +1 -1
  584. package/dist/pine-core/pine-core.js +127 -0
  585. package/hydrate/index.js +28 -28
  586. package/package.json +1 -1
  587. package/dist/pine-core/index-00e73f84.js +0 -329
  588. package/dist/pine-core/index-00e73f84.js.map +0 -1
  589. package/dist/pine-core/index-cccc19b7.js.map +0 -1
  590. package/dist/pine-core/pds-accordion.entry.js.map +0 -1
  591. package/dist/pine-core/pds-avatar.entry.js.map +0 -1
  592. package/dist/pine-core/pds-box.entry.js +0 -77
  593. package/dist/pine-core/pds-box.entry.js.map +0 -1
  594. package/dist/pine-core/pds-button.entry.js.map +0 -1
  595. package/dist/pine-core/pds-checkbox.entry.js.map +0 -1
  596. package/dist/pine-core/pds-chip.entry.js +0 -46
  597. package/dist/pine-core/pds-chip.entry.js.map +0 -1
  598. package/dist/pine-core/pds-copytext.entry.js.map +0 -1
  599. package/dist/pine-core/pds-divider.entry.js +0 -31
  600. package/dist/pine-core/pds-divider.entry.js.map +0 -1
  601. package/dist/pine-core/pds-image.entry.js.map +0 -1
  602. package/dist/pine-core/pds-input.entry.js.map +0 -1
  603. package/dist/pine-core/pds-link.entry.js.map +0 -1
  604. package/dist/pine-core/pds-loader.entry.js +0 -44
  605. package/dist/pine-core/pds-loader.entry.js.map +0 -1
  606. package/dist/pine-core/pds-progress.entry.js +0 -23
  607. package/dist/pine-core/pds-progress.entry.js.map +0 -1
  608. package/dist/pine-core/pds-radio.entry.js.map +0 -1
  609. package/dist/pine-core/pds-row.entry.js +0 -46
  610. package/dist/pine-core/pds-row.entry.js.map +0 -1
  611. package/dist/pine-core/pds-sortable-item.entry.js +0 -30
  612. package/dist/pine-core/pds-sortable-item.entry.js.map +0 -1
  613. package/dist/pine-core/pds-sortable.entry.js.map +0 -1
  614. package/dist/pine-core/pds-switch.entry.js.map +0 -1
  615. package/dist/pine-core/pds-tab.entry.js +0 -29
  616. package/dist/pine-core/pds-tab.entry.js.map +0 -1
  617. package/dist/pine-core/pds-table-body.entry.js.map +0 -1
  618. package/dist/pine-core/pds-table-cell.entry.js.map +0 -1
  619. package/dist/pine-core/pds-table-head-cell.entry.js.map +0 -1
  620. package/dist/pine-core/pds-table-head.entry.js.map +0 -1
  621. package/dist/pine-core/pds-table-row.entry.js.map +0 -1
  622. package/dist/pine-core/pds-tabpanel.entry.js.map +0 -1
  623. package/dist/pine-core/pds-tabs.entry.js.map +0 -1
  624. package/dist/pine-core/pds-textarea.entry.js.map +0 -1
  625. package/dist/pine-core/pds-tooltip.entry.js.map +0 -1
  626. package/dist/pine-core/shadow-css-2e0fed52.js +0 -478
  627. package/dist/pine-core/shadow-css-2e0fed52.js.map +0 -1
  628. /package/dist/{pine-core → esm}/app-globals-0f993ce5.js +0 -0
  629. /package/dist/{pine-core → esm}/app-globals-0f993ce5.js.map +0 -0
  630. /package/dist/{pine-core → esm}/closest-d2d192be.js +0 -0
  631. /package/dist/{pine-core → esm}/closest-d2d192be.js.map +0 -0
@@ -0,0 +1,248 @@
1
+ import { Host, h } from "@stencil/core";
2
+ export class PdsTable {
3
+ constructor() {
4
+ this.compact = undefined;
5
+ this.componentId = undefined;
6
+ this.responsive = undefined;
7
+ this.fixedColumn = undefined;
8
+ this.selectable = undefined;
9
+ this.sortingColumn = null;
10
+ this.sortingDirection = 'asc';
11
+ }
12
+ componentWillLoad() {
13
+ this.sortingColumn = null;
14
+ }
15
+ classNames() {
16
+ const classNames = ['pds-table'];
17
+ if (this.compact) {
18
+ classNames.push('is-compact');
19
+ }
20
+ if (this.responsive) {
21
+ classNames.push('is-responsive');
22
+ }
23
+ return classNames.join(' ');
24
+ }
25
+ sortTable(column, direction) {
26
+ const tableBody = this.el.querySelector('pds-table-body');
27
+ // Get the rows in the table body
28
+ const tableRows = Array.from(tableBody.querySelectorAll('pds-table-row'));
29
+ // Find the column index based on the column name
30
+ const columnHeaderCells = Array.from(this.el.querySelectorAll('pds-table-head-cell[sortable]'));
31
+ const columnHeaderCell = columnHeaderCells.find((cell) => cell.innerText.trim() === column);
32
+ if (!columnHeaderCell) {
33
+ console.warn(`Column "${column}" not found.`);
34
+ return;
35
+ }
36
+ const columnIndex = columnHeaderCells.indexOf(columnHeaderCell);
37
+ // Sort the rows based on the content of the specified column
38
+ tableRows.sort((a, b) => {
39
+ const valueA = a.querySelector(`pds-table-cell:nth-child(${columnIndex + 1})`).textContent.trim();
40
+ const valueB = b.querySelector(`pds-table-cell:nth-child(${columnIndex + 1})`).textContent.trim();
41
+ if (direction === 'asc') {
42
+ return valueA.localeCompare(valueB);
43
+ }
44
+ else {
45
+ return valueB.localeCompare(valueA);
46
+ }
47
+ });
48
+ // Clear and append the sorted rows back to the table body
49
+ tableBody.innerHTML = '';
50
+ tableRows.forEach((row) => {
51
+ tableBody.appendChild(row);
52
+ });
53
+ }
54
+ handleTableSort(event) {
55
+ const { direction } = event.detail;
56
+ this.sortTable(event.detail.column, direction);
57
+ this.sortingColumn = event.detail.column;
58
+ this.sortingDirection = direction;
59
+ }
60
+ handleTableSelectAll(event) {
61
+ if (event.defaultPrevented)
62
+ return;
63
+ const pdsTableBody = this.el.querySelector('pds-table-body');
64
+ const tableRows = Array.from(pdsTableBody.querySelectorAll('pds-table-row'));
65
+ tableRows.forEach((row) => {
66
+ row.isSelected = event.detail.isSelected;
67
+ });
68
+ }
69
+ async handleTableSelect(event) {
70
+ if (event.defaultPrevented)
71
+ return;
72
+ const allTableRows = this.el.querySelectorAll('pds-table-row');
73
+ const allSelectedRows = Array.from(allTableRows).every((row) => row.isSelected);
74
+ const noneSelectedRows = Array.from(allTableRows).every((row) => !row.isSelected);
75
+ const pdsTableHead = this.el.querySelector('pds-table-head');
76
+ if (!pdsTableHead)
77
+ return;
78
+ const headerCheckbox = pdsTableHead.shadowRoot.querySelector('pds-checkbox');
79
+ headerCheckbox.checked = allSelectedRows;
80
+ headerCheckbox.indeterminate = !allSelectedRows && !noneSelectedRows;
81
+ }
82
+ render() {
83
+ return (h(Host, { key: '95cc4db296681faa0fc046c9b1d6807d640b7730', class: this.classNames(), id: this.componentId, role: "grid", selectable: this.selectable, tabindex: "0" }, h("slot", { key: 'ecc9bc0761409d5a2819a05d72290c294e27454f' })));
84
+ }
85
+ static get is() { return "pds-table"; }
86
+ static get encapsulation() { return "shadow"; }
87
+ static get originalStyleUrls() {
88
+ return {
89
+ "$": ["pds-table.scss"]
90
+ };
91
+ }
92
+ static get styleUrls() {
93
+ return {
94
+ "$": ["pds-table.css"]
95
+ };
96
+ }
97
+ static get properties() {
98
+ return {
99
+ "compact": {
100
+ "type": "boolean",
101
+ "mutable": false,
102
+ "complexType": {
103
+ "original": "boolean",
104
+ "resolved": "boolean",
105
+ "references": {}
106
+ },
107
+ "required": false,
108
+ "optional": false,
109
+ "docs": {
110
+ "tags": [],
111
+ "text": "Determines if table displays compact which reduces the spacing of table cells."
112
+ },
113
+ "attribute": "compact",
114
+ "reflect": false
115
+ },
116
+ "componentId": {
117
+ "type": "string",
118
+ "mutable": false,
119
+ "complexType": {
120
+ "original": "string",
121
+ "resolved": "string",
122
+ "references": {}
123
+ },
124
+ "required": true,
125
+ "optional": false,
126
+ "docs": {
127
+ "tags": [],
128
+ "text": "A unique identifier used for the table `id` attribute."
129
+ },
130
+ "attribute": "component-id",
131
+ "reflect": false
132
+ },
133
+ "responsive": {
134
+ "type": "boolean",
135
+ "mutable": false,
136
+ "complexType": {
137
+ "original": "boolean",
138
+ "resolved": "boolean",
139
+ "references": {}
140
+ },
141
+ "required": false,
142
+ "optional": false,
143
+ "docs": {
144
+ "tags": [],
145
+ "text": "Enables the table to be responsive by horizontally scrolling on smaller screens."
146
+ },
147
+ "attribute": "responsive",
148
+ "reflect": false
149
+ },
150
+ "fixedColumn": {
151
+ "type": "boolean",
152
+ "mutable": false,
153
+ "complexType": {
154
+ "original": "boolean",
155
+ "resolved": "boolean",
156
+ "references": {}
157
+ },
158
+ "required": false,
159
+ "optional": false,
160
+ "docs": {
161
+ "tags": [],
162
+ "text": "Determines if table displays fixed column which fixes the first column of the table."
163
+ },
164
+ "attribute": "fixed-column",
165
+ "reflect": false
166
+ },
167
+ "selectable": {
168
+ "type": "boolean",
169
+ "mutable": false,
170
+ "complexType": {
171
+ "original": "boolean",
172
+ "resolved": "boolean",
173
+ "references": {}
174
+ },
175
+ "required": false,
176
+ "optional": false,
177
+ "docs": {
178
+ "tags": [],
179
+ "text": "Determines if table displays checkboxes for selectable rows."
180
+ },
181
+ "attribute": "selectable",
182
+ "reflect": false
183
+ }
184
+ };
185
+ }
186
+ static get states() {
187
+ return {
188
+ "sortingColumn": {},
189
+ "sortingDirection": {}
190
+ };
191
+ }
192
+ static get events() {
193
+ return [{
194
+ "method": "pdsTableSelect",
195
+ "name": "pdsTableSelect",
196
+ "bubbles": true,
197
+ "cancelable": true,
198
+ "composed": true,
199
+ "docs": {
200
+ "tags": [],
201
+ "text": "Event that is emitted when the checkbox is clicked, carrying the rowIndex and selected value."
202
+ },
203
+ "complexType": {
204
+ "original": "{ rowIndex: number; isSelected: boolean }",
205
+ "resolved": "{ rowIndex: number; isSelected: boolean; }",
206
+ "references": {}
207
+ }
208
+ }, {
209
+ "method": "pdsTableSelectAll",
210
+ "name": "pdsTableSelectAll",
211
+ "bubbles": true,
212
+ "cancelable": true,
213
+ "composed": true,
214
+ "docs": {
215
+ "tags": [],
216
+ "text": "Event that is emitted when the select all checkbox is clicked, carrying the selected value."
217
+ },
218
+ "complexType": {
219
+ "original": "{ isSelected: boolean }",
220
+ "resolved": "{ isSelected: boolean; }",
221
+ "references": {}
222
+ }
223
+ }];
224
+ }
225
+ static get elementRef() { return "el"; }
226
+ static get listeners() {
227
+ return [{
228
+ "name": "pdsTableSort",
229
+ "method": "handleTableSort",
230
+ "target": undefined,
231
+ "capture": false,
232
+ "passive": false
233
+ }, {
234
+ "name": "pdsTableSelectAll",
235
+ "method": "handleTableSelectAll",
236
+ "target": undefined,
237
+ "capture": false,
238
+ "passive": false
239
+ }, {
240
+ "name": "pdsTableRowSelected",
241
+ "method": "handleTableSelect",
242
+ "target": undefined,
243
+ "capture": false,
244
+ "passive": false
245
+ }];
246
+ }
247
+ }
248
+ //# sourceMappingURL=pds-table.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pds-table.js","sourceRoot":"","sources":["../../../src/components/pds-table/pds-table.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAgB,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAOtG,MAAM,OAAO,QAAQ;;;;;;;6BA4BqB,IAAI;gCACA,KAAK;;IAajD,iBAAiB;QACf,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;IAC5B,CAAC;IAEO,UAAU;QAChB,MAAM,UAAU,GAAG,CAAC,WAAW,CAAC,CAAC;QAEjC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAChC,CAAC;QAED,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,UAAU,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACnC,CAAC;QAED,OAAO,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;IAEO,SAAS,CAAC,MAAc,EAAE,SAAyB;QACzD,MAAM,SAAS,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC;QAE1D,iCAAiC;QACjC,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,eAAe,CAAC,CAAC,CAAC;QAE1E,iDAAiD;QACjD,MAAM,iBAAiB,GAAkB,KAAK,CAAC,IAAI,CACjD,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,+BAA+B,CAAC,CAC1D,CAAC;QAEF,MAAM,gBAAgB,GAAG,iBAAiB,CAAC,IAAI,CAC7C,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,KAAK,MAAM,CAC3C,CAAC;QAEF,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACtB,OAAO,CAAC,IAAI,CAAC,WAAW,MAAM,cAAc,CAAC,CAAC;YAC9C,OAAO;QACT,CAAC;QAED,MAAM,WAAW,GAAG,iBAAiB,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;QAEhE,6DAA6D;QAC7D,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YACtB,MAAM,MAAM,GAAG,CAAC,CAAC,aAAa,CAAC,4BAA4B,WAAW,GAAG,CAAC,GAAG,CAAC,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;YAClG,MAAM,MAAM,GAAG,CAAC,CAAC,aAAa,CAAC,4BAA4B,WAAW,GAAG,CAAC,GAAG,CAAC,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;YAElG,IAAI,SAAS,KAAK,KAAK,EAAE,CAAC;gBACxB,OAAO,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;YACtC,CAAC;iBAAM,CAAC;gBACN,OAAO,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;YACtC,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,0DAA0D;QAC1D,SAAS,CAAC,SAAS,GAAG,EAAE,CAAC;QACzB,SAAS,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YACxB,SAAS,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QAC7B,CAAC,CAAC,CAAC;IACL,CAAC;IAGD,eAAe,CAAC,KAAiE;QAC/E,MAAM,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC;QACnC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QAC/C,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC;QACzC,IAAI,CAAC,gBAAgB,GAAG,SAAS,CAAC;IACpC,CAAC;IAGD,oBAAoB,CAAC,KAA2C;QAC9D,IAAI,KAAK,CAAC,gBAAgB;YAAE,OAAO;QAEnC,MAAM,YAAY,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC;QAC7D,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,eAAe,CAAC,CAAC,CAAC;QAE7E,SAAS,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YACxB,GAAG,CAAC,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC;QAC3C,CAAC,CAAC,CAAC;IACL,CAAC;IAGD,KAAK,CAAC,iBAAiB,CAAC,KAA6D;QACnF,IAAI,KAAK,CAAC,gBAAgB;YAAE,OAAO;QAEnC,MAAM,YAAY,GAAG,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,eAAe,CAAC,CAAC;QAC/D,MAAM,eAAe,GAAG,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAChF,MAAM,gBAAgB,GAAG,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAClF,MAAM,YAAY,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC;QAC7D,IAAI,CAAC,YAAY;YAAE,OAAO;QAE1B,MAAM,cAAc,GAAG,YAAY,CAAC,UAAU,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;QAC7E,cAAc,CAAC,OAAO,GAAG,eAAe,CAAC;QACzC,cAAc,CAAC,aAAa,GAAG,CAAC,eAAe,IAAI,CAAC,gBAAgB,CAAC;IACvE,CAAC;IAED,MAAM;QACJ,OAAO,CACL,EAAC,IAAI,qDACH,KAAK,EAAE,IAAI,CAAC,UAAU,EAAE,EACxB,EAAE,EAAE,IAAI,CAAC,WAAW,EACpB,IAAI,EAAC,MAAM,EACX,UAAU,EAAE,IAAI,CAAC,UAAU,EAC3B,QAAQ,EAAC,GAAG;YAEZ,8DAAa,CACR,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["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"]}
@@ -0,0 +1,227 @@
1
+ import { html } from 'lit-html';
2
+ import { extractArgTypes } from '@pxtrn/storybook-addon-docs-stencil';
3
+ import { withActions } from '@storybook/addon-actions/decorator';
4
+
5
+ export default {
6
+ argTypes: extractArgTypes('pds-table'),
7
+ component: 'pds-table',
8
+ decorators: [withActions],
9
+ parameters: {
10
+ actions: {
11
+ handles: ['onclick', 'pdsTableRowSelected', 'onclick', 'pdsTableSelectAll'],
12
+ },
13
+ },
14
+ title: 'components/Table',
15
+ };
16
+
17
+ const BaseTemplate = (args) => html`
18
+ <pds-table
19
+ compact="${args.compact}"
20
+ component-id="${args.componentId}"
21
+ fixed-column="${args.fixedColumn}"
22
+ responsive="${args.responsive}"
23
+ selectable="${args.selectable}"
24
+ >
25
+ <pds-table-head>
26
+ <pds-table-head-cell>Column Title</pds-table-head-cell>
27
+ <pds-table-head-cell>Column Title</pds-table-head-cell>
28
+ <pds-table-head-cell>Column Title</pds-table-head-cell>
29
+ </pds-table-head>
30
+ <pds-table-body>
31
+ <pds-table-row value="row1">
32
+ <pds-table-cell>Row Item Alpha</pds-table-cell>
33
+ <pds-table-cell>Row Item Alpha</pds-table-cell>
34
+ <pds-table-cell>Row Item Alpha</pds-table-cell>
35
+ </pds-table-row>
36
+ <pds-table-row value="row2">
37
+ <pds-table-cell>Row Item Bravo</pds-table-cell>
38
+ <pds-table-cell>Row Item Bravo</pds-table-cell>
39
+ <pds-table-cell>Row Item Bravo</pds-table-cell>
40
+ </pds-table-row>
41
+ <pds-table-row value="row3">
42
+ <pds-table-cell>Row Item Charlie</pds-table-cell>
43
+ <pds-table-cell>Row Item Charlie</pds-table-cell>
44
+ <pds-table-cell>Row Item Charlie</pds-table-cell>
45
+ </pds-table-row>
46
+ </pds-table-body>
47
+ </pds-table>`;
48
+
49
+ const ResponsiveTemplate = (args) => html`
50
+ <pds-table
51
+ compact="${args.compact}"
52
+ component-id="${args.componentId}"
53
+ fixed-column="${args.fixedColumn}"
54
+ responsive="${args.responsive}"
55
+ selectable="${args.selectable}"
56
+ >
57
+ <pds-table-head>
58
+ <pds-table-head-cell>Column Title</pds-table-head-cell>
59
+ <pds-table-head-cell>Column Title</pds-table-head-cell>
60
+ <pds-table-head-cell>Column Title</pds-table-head-cell>
61
+ <pds-table-head-cell>Column Title</pds-table-head-cell>
62
+ <pds-table-head-cell>Column Title</pds-table-head-cell>
63
+ <pds-table-head-cell>Column Title</pds-table-head-cell>
64
+ <pds-table-head-cell>Column Title</pds-table-head-cell>
65
+ <pds-table-head-cell>Column Title</pds-table-head-cell>
66
+ <pds-table-head-cell>Column Title</pds-table-head-cell>
67
+ <pds-table-head-cell>Column Title</pds-table-head-cell>
68
+ <pds-table-head-cell>Column Title</pds-table-head-cell>
69
+ <pds-table-head-cell>Column Title</pds-table-head-cell>
70
+ </pds-table-head>
71
+ <pds-table-body>
72
+ <pds-table-row value="responsive1">
73
+ <pds-table-cell>Row Item Alpha</pds-table-cell>
74
+ <pds-table-cell>Row Item Beta</pds-table-cell>
75
+ <pds-table-cell>Row Item Charlie</pds-table-cell>
76
+ <pds-table-cell>Row Item Delta</pds-table-cell>
77
+ <pds-table-cell>Row Item Echo</pds-table-cell>
78
+ <pds-table-cell>Row Item Foxtrot</pds-table-cell>
79
+ <pds-table-cell>Row Item Golf</pds-table-cell>
80
+ <pds-table-cell>Row Item Hotel</pds-table-cell>
81
+ <pds-table-cell>Row Item Juliett</pds-table-cell>
82
+ <pds-table-cell>Row Item Kilo</pds-table-cell>
83
+ <pds-table-cell>Row Item Lima</pds-table-cell>
84
+ <pds-table-cell>Row Item Mike</pds-table-cell>
85
+ </pds-table-row>
86
+ <pds-table-row value="responsive2">
87
+ <pds-table-cell>Row Item Alpha</pds-table-cell>
88
+ <pds-table-cell>Row Item Beta</pds-table-cell>
89
+ <pds-table-cell>Row Item Charlie</pds-table-cell>
90
+ <pds-table-cell>Row Item Delta</pds-table-cell>
91
+ <pds-table-cell>Row Item Echo</pds-table-cell>
92
+ <pds-table-cell>Row Item Foxtrot</pds-table-cell>
93
+ <pds-table-cell>Row Item Golf</pds-table-cell>
94
+ <pds-table-cell>Row Item Hotel</pds-table-cell>
95
+ <pds-table-cell>Row Item Juliett</pds-table-cell>
96
+ <pds-table-cell>Row Item Kilo</pds-table-cell>
97
+ <pds-table-cell>Row Item Lima</pds-table-cell>
98
+ <pds-table-cell>Row Item Mike</pds-table-cell>
99
+ </pds-table-row>
100
+ <pds-table-row value="responsive3">
101
+ <pds-table-cell>Row Item Alpha</pds-table-cell>
102
+ <pds-table-cell>Row Item Beta</pds-table-cell>
103
+ <pds-table-cell>Row Item Charlie</pds-table-cell>
104
+ <pds-table-cell>Row Item Delta</pds-table-cell>
105
+ <pds-table-cell>Row Item Echo</pds-table-cell>
106
+ <pds-table-cell>Row Item Foxtrot</pds-table-cell>
107
+ <pds-table-cell>Row Item Golf</pds-table-cell>
108
+ <pds-table-cell>Row Item Hotel</pds-table-cell>
109
+ <pds-table-cell>Row Item Juliett</pds-table-cell>
110
+ <pds-table-cell>Row Item Kilo</pds-table-cell>
111
+ <pds-table-cell>Row Item Lima</pds-table-cell>
112
+ <pds-table-cell>Row Item Mike</pds-table-cell>
113
+ </pds-table-row>
114
+ </pds-table-body>
115
+ </pds-table>`;
116
+
117
+ const SortableTemplate = (args) => html`
118
+ <pds-table
119
+ compact="${args.compact}"
120
+ component-id="${args.componentId}"
121
+ fixed-column="${args.fixedColumn}"
122
+ responsive="${args.responsive}"
123
+ selectable="${args.selectable}"
124
+ >
125
+ <pds-table-head>
126
+ <pds-table-head-cell sortable=${args.sortable}>Name</pds-table-head-cell>
127
+ <pds-table-head-cell sortable=${args.sortable}>Email</pds-table-head-cell>
128
+ <pds-table-head-cell sortable=${args.sortable}>Email Marketing</pds-table-head-cell>
129
+ </pds-table-head>
130
+ <pds-table-body>
131
+ <pds-table-row>
132
+ <pds-table-cell>John Doe</pds-table-cell>
133
+ <pds-table-cell>john.doe@example.com</pds-table-cell>
134
+ <pds-table-cell>Subscribed</pds-table-cell>
135
+ </pds-table-row>
136
+ <pds-table-row>
137
+ <pds-table-cell>Jane Smith</pds-table-cell>
138
+ <pds-table-cell>jane.smith@example.com</pds-table-cell>
139
+ <pds-table-cell>Not Subscribed</pds-table-cell>
140
+ </pds-table-row>
141
+ <pds-table-row>
142
+ <pds-table-cell>Michael Johnson</pds-table-cell>
143
+ <pds-table-cell>michael.johnson@example.com</pds-table-cell>
144
+ <pds-table-cell>Subscribed</pds-table-cell>
145
+ </pds-table-row>
146
+ <pds-table-row>
147
+ <pds-table-cell>Susan Brown</pds-table-cell>
148
+ <pds-table-cell>susan.brown@example.com</pds-table-cell>
149
+ <pds-table-cell>Not Subscribed</pds-table-cell>
150
+ </pds-table-row>
151
+ <pds-table-row>
152
+ <pds-table-cell>William Davis</pds-table-cell>
153
+ <pds-table-cell>william.davis@example.com</pds-table-cell>
154
+ <pds-table-cell>Subscribed</pds-table-cell>
155
+ </pds-table-row>
156
+ <pds-table-row>
157
+ <pds-table-cell>Mary Wilson</pds-table-cell>
158
+ <pds-table-cell>mary.wilson@example.com</pds-table-cell>
159
+ <pds-table-cell>Not Subscribed</pds-table-cell>
160
+ </pds-table-row>
161
+ <pds-table-row>
162
+ <pds-table-cell>James Lee</pds-table-cell>
163
+ <pds-table-cell>james.lee@example.com</pds-table-cell>
164
+ <pds-table-cell>Subscribed</pds-table-cell>
165
+ </pds-table-row>
166
+ <pds-table-row>
167
+ <pds-table-cell>Linda Hall</pds-table-cell>
168
+ <pds-table-cell>linda.hall@example.com</pds-table-cell>
169
+ <pds-table-cell>Not Subscribed</pds-table-cell>
170
+ </pds-table-row>
171
+ </pds-table-body>
172
+ </pds-table>`;
173
+
174
+ export const Default = BaseTemplate.bind();
175
+ Default.args = {
176
+ compact: false,
177
+ componentId: 'default',
178
+ fixedColumn: false,
179
+ responsive: false,
180
+ selectable: false,
181
+ };
182
+
183
+ export const Compact = BaseTemplate.bind();
184
+ Compact.args = {
185
+ compact: true,
186
+ componentId: 'compact',
187
+ fixedColumn: false,
188
+ responsive: false,
189
+ selectable: false,
190
+ };
191
+
192
+ export const Selectable = BaseTemplate.bind();
193
+ Selectable.args = {
194
+ compact: false,
195
+ componentId: 'selectable',
196
+ fixedColumn: false,
197
+ responsive: false,
198
+ selectable: true,
199
+ };
200
+
201
+ export const Responsive = ResponsiveTemplate.bind();
202
+ Responsive.args = {
203
+ compact: false,
204
+ componentId: 'responsive',
205
+ fixedColumn: false,
206
+ responsive: true,
207
+ selectable: false,
208
+ };
209
+
210
+ export const fixedColumn = ResponsiveTemplate.bind();
211
+ fixedColumn.args = {
212
+ compact: false,
213
+ componentId: 'responsive',
214
+ fixedColumn: true,
215
+ responsive: true,
216
+ selectable: false,
217
+ };
218
+
219
+ export const Sortable = SortableTemplate.bind();
220
+ Sortable.args = {
221
+ compact: false,
222
+ componentId: 'sortable',
223
+ fixedColumn: false,
224
+ responsive: false,
225
+ selectable: false,
226
+ sortable: true,
227
+ };
@@ -0,0 +1,160 @@
1
+ pds-tab {
2
+ --border-none: var(--pine-border-width-none);
3
+ --border-radius-availability: var(--pine-border-radius-100);
4
+ --border-radius-default: var(--pine-border-radius-125);
5
+ --border-radius-none: var(--pine-border-radius-0);
6
+ --box-shadow-focus: 0 0 0 2px var(--pine-color-blue-200);
7
+ --color-background-active: var(--pine-color-charcoal-400);
8
+ --color-background-availability: var(--pine-color-white);
9
+ --color-background-default: var(--pine-color-grey-300);
10
+ --color-background-hover: var(--pine-color-grey-400);
11
+ --color-text-active: var(--pine-color-charcoal-400);
12
+ --color-text-active-inverse: var(--pine-color-white);
13
+ --color-text-default: var(--pine-color-charcoal-200);
14
+ --color-text-focus: var(--pine-color-charcoal-300);
15
+ --font-size-availability-content: var(--pine-font-size-075);
16
+ --font-size-default: var(--pine-font-size-100);
17
+ --font-size-filter-content: var(--pine-font-size-087);
18
+ --font-weight-default: var(--pine-font-weight-medium);
19
+ --line-height-availability-content: var(--pine-line-height-100);
20
+ --line-height-default: var(--pine-line-height-150);
21
+ --line-height-filter-content: var(--pine-line-height-125);
22
+ --outline: 4px solid var(--pine-color-blue-200);
23
+ --spacing-padding-none: var(--pine-spacing-0);
24
+ display: inline-block;
25
+ position: relative;
26
+ }
27
+
28
+ .pds-tab {
29
+ appearance: none;
30
+ background-color: transparent;
31
+ border: var(--border-none);
32
+ box-shadow: none;
33
+ color: inherit;
34
+ cursor: pointer;
35
+ font-family: inherit;
36
+ padding: var(--spacing-padding-none);
37
+ align-items: center;
38
+ color: var(--color-text-default);
39
+ display: inline-flex;
40
+ position: relative;
41
+ text-decoration: none;
42
+ white-space: nowrap;
43
+ }
44
+ .pds-tab.is-active, .pds-tab[aria-selected=true] {
45
+ color: var(--color-text-active);
46
+ }
47
+ .pds-tab.is-active .pds-tab__content::after, .pds-tab[aria-selected=true] .pds-tab__content::after {
48
+ opacity: 1;
49
+ }
50
+ .pds-tab:hover {
51
+ color: var(--color-text-active);
52
+ }
53
+ .pds-tab:focus-visible {
54
+ box-shadow: var(--box-shadow-focus);
55
+ outline: none;
56
+ }
57
+ .pds-tab .pds-tab__content {
58
+ font-family: inherit;
59
+ font-size: var(--font-size-default);
60
+ font-weight: var(--font-weight-default);
61
+ line-height: var(--line-height-default);
62
+ padding-block-end: 11px;
63
+ position: relative;
64
+ }
65
+ .pds-tab .pds-tab__content::after {
66
+ background-color: currentColor;
67
+ bottom: 0;
68
+ content: "";
69
+ height: 3px;
70
+ left: 0;
71
+ opacity: 0;
72
+ position: absolute;
73
+ right: 0;
74
+ }
75
+ .pds-tab .pds-tab-edge {
76
+ display: none;
77
+ }
78
+
79
+ .pds-tabs--availability {
80
+ --color-background-tab: transparent;
81
+ }
82
+ .pds-tabs--availability .pds-tab {
83
+ background-color: var(--color-background-tab);
84
+ border-radius: var(--border-radius-availability) var(--border-radius-availability) var(--border-radius-none) var(--border-radius-none);
85
+ padding: 8px 16px 13px;
86
+ }
87
+ .pds-tabs--availability .pds-tab.is-active, .pds-tabs--availability .pds-tab[aria-selected=true] {
88
+ --color-background-tab: var(--color-background-availability);
89
+ }
90
+ .pds-tabs--availability .pds-tab.is-active .pds-tab__content::after, .pds-tabs--availability .pds-tab[aria-selected=true] .pds-tab__content::after {
91
+ opacity: 1;
92
+ }
93
+ .pds-tabs--availability .pds-tab.is-active .pds-tab-edge, .pds-tabs--availability .pds-tab[aria-selected=true] .pds-tab-edge {
94
+ z-index: 1;
95
+ }
96
+ .pds-tabs--availability .pds-tab:hover:not(.is-active, [aria-selected=true]) {
97
+ --color-background-tab: var(--color-background-default);
98
+ }
99
+ .pds-tabs--availability .pds-tab:focus-visible {
100
+ color: var(--color-text-default);
101
+ }
102
+ .pds-tabs--availability .pds-tab__content {
103
+ font-size: var(--font-size-availability-content);
104
+ line-height: var(--line-height-availability-content);
105
+ padding-bottom: 7px;
106
+ }
107
+ .pds-tabs--availability .pds-tab-edge {
108
+ bottom: 0;
109
+ display: block;
110
+ height: 8px;
111
+ inset-inline-end: 100%;
112
+ overflow: hidden;
113
+ position: absolute;
114
+ width: 8px;
115
+ }
116
+ .pds-tabs--availability .pds-tab-edge::before {
117
+ border-radius: 50%;
118
+ bottom: 0;
119
+ box-shadow: 4px 4px 0 0 var(--color-background-tab);
120
+ content: "";
121
+ display: block;
122
+ height: 200%;
123
+ inset-inline-end: 0;
124
+ position: absolute;
125
+ width: 200%;
126
+ }
127
+ .pds-tabs--availability .pds-tab-edge--end {
128
+ inset-inline-end: unset;
129
+ inset-inline-start: 100%;
130
+ }
131
+ .pds-tabs--availability .pds-tab-edge--end::before {
132
+ box-shadow: -4px 4px 0 0 var(--color-background-tab);
133
+ inset-inline-end: unset;
134
+ inset-inline-start: 0;
135
+ }
136
+
137
+ .pds-tabs--filter {
138
+ --color-background-tab: var(--color-background-active);
139
+ }
140
+ .pds-tabs--filter .pds-tab {
141
+ background-color: var(--color-background-tab);
142
+ border-radius: 50px;
143
+ color: var(--color-text-active);
144
+ padding: 6px 15px;
145
+ }
146
+ .pds-tabs--filter .pds-tab.is-active, .pds-tabs--filter .pds-tab[aria-selected=true] {
147
+ --color-background-tab: var(--color-background-active);
148
+ color: var(--color-text-active-inverse);
149
+ }
150
+ .pds-tabs--filter .pds-tab:hover:not(.is-active, [aria-selected=true]) {
151
+ --color-background-tab: var(--color-background-hover);
152
+ }
153
+ .pds-tabs--filter .pds-tab__content {
154
+ font-size: var(--font-size-filter-content);
155
+ line-height: var(--line-height-filter-content);
156
+ padding-block-end: 0;
157
+ }
158
+ .pds-tabs--filter .pds-tab__content::after {
159
+ content: unset;
160
+ }