@pine-ds/core 3.13.0 → 3.14.1

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 (592) hide show
  1. package/components/floating-ui.dom.js +161 -40
  2. package/components/floating-ui.dom.js.map +1 -1
  3. package/components/index.d.ts +2 -0
  4. package/components/index.js +1 -0
  5. package/components/index.js.map +1 -1
  6. package/components/index2.js +1 -1
  7. package/components/index2.js.map +1 -1
  8. package/components/mock-pds-modal.js.map +1 -1
  9. package/components/pds-avatar.js +18 -5
  10. package/components/pds-avatar.js.map +1 -1
  11. package/components/pds-button2.js.map +1 -1
  12. package/components/pds-checkbox2.js.map +1 -1
  13. package/components/pds-chip2.js.map +1 -1
  14. package/components/pds-combobox.js +66 -26
  15. package/components/pds-combobox.js.map +1 -1
  16. package/components/pds-dropdown-menu-item.js +1 -1
  17. package/components/pds-dropdown-menu-item.js.map +1 -1
  18. package/components/pds-dropdown-menu.js +3 -2
  19. package/components/pds-dropdown-menu.js.map +1 -1
  20. package/components/pds-filter.js +1 -1
  21. package/components/pds-filter.js.map +1 -1
  22. package/components/pds-input.js +6 -2
  23. package/components/pds-input.js.map +1 -1
  24. package/components/pds-modal.js.map +1 -1
  25. package/components/pds-multiselect.d.ts +11 -0
  26. package/components/pds-multiselect.js +666 -0
  27. package/components/pds-multiselect.js.map +1 -0
  28. package/components/pds-popover.js +1 -1
  29. package/components/pds-progress.js +1 -1
  30. package/components/pds-property.js +1 -1
  31. package/components/pds-radio-group.js +3 -3
  32. package/components/pds-radio.js +3 -3
  33. package/components/pds-radio.js.map +1 -1
  34. package/components/pds-row.js +1 -1
  35. package/components/pds-select.js +14 -2
  36. package/components/pds-select.js.map +1 -1
  37. package/components/pds-sortable-item.js +1 -1
  38. package/components/pds-sortable.js +1 -1
  39. package/components/pds-switch.js +3 -3
  40. package/components/pds-tab.js +4 -4
  41. package/components/pds-tab.js.map +1 -1
  42. package/components/pds-table-body.js +1 -1
  43. package/components/pds-table-cell2.js +2 -2
  44. package/components/pds-table-cell2.js.map +1 -1
  45. package/components/pds-table-head-cell2.js +47 -6
  46. package/components/pds-table-head-cell2.js.map +1 -1
  47. package/components/pds-table-head.js +1 -1
  48. package/components/pds-table-row.js +1 -1
  49. package/components/pds-table.js +44 -3
  50. package/components/pds-table.js.map +1 -1
  51. package/components/pds-tabpanel.js +1 -1
  52. package/components/pds-tabs.js +1 -1
  53. package/components/pds-text2.js +1 -1
  54. package/components/pds-textarea.js +8 -4
  55. package/components/pds-textarea.js.map +1 -1
  56. package/components/pds-toast.js +3 -3
  57. package/components/pds-tooltip.js +2 -2
  58. package/dist/cjs/{floating-ui.dom-DTAy35nv.js → floating-ui.dom-Ca6tS7ef.js} +163 -41
  59. package/dist/cjs/floating-ui.dom-Ca6tS7ef.js.map +1 -0
  60. package/dist/cjs/{index-CMeuo765.js → index-BA--jsiy.js} +3 -3
  61. package/dist/cjs/index-BA--jsiy.js.map +1 -0
  62. package/dist/cjs/loader.cjs.js +1 -1
  63. package/dist/cjs/mock-pds-modal.entry.cjs.js.map +1 -1
  64. package/dist/cjs/pds-accordion.cjs.entry.js +1 -1
  65. package/dist/cjs/pds-avatar.cjs.entry.js +18 -6
  66. package/dist/cjs/pds-avatar.entry.cjs.js.map +1 -1
  67. package/dist/cjs/pds-button.cjs.entry.js +1 -1
  68. package/dist/cjs/pds-button.entry.cjs.js.map +1 -1
  69. package/dist/cjs/pds-checkbox.cjs.entry.js +1 -1
  70. package/dist/cjs/pds-checkbox.entry.cjs.js.map +1 -1
  71. package/dist/cjs/pds-chip.cjs.entry.js +1 -1
  72. package/dist/cjs/pds-chip.entry.cjs.js.map +1 -1
  73. package/dist/cjs/pds-combobox.cjs.entry.js +67 -27
  74. package/dist/cjs/pds-combobox.entry.cjs.js.map +1 -1
  75. package/dist/cjs/pds-copytext.cjs.entry.js +1 -1
  76. package/dist/cjs/pds-dropdown-menu-item.cjs.entry.js +1 -1
  77. package/dist/cjs/pds-dropdown-menu-item.entry.cjs.js.map +1 -1
  78. package/dist/cjs/pds-dropdown-menu.cjs.entry.js +4 -3
  79. package/dist/cjs/pds-dropdown-menu.entry.cjs.js.map +1 -1
  80. package/dist/cjs/pds-filter.cjs.entry.js +2 -2
  81. package/dist/cjs/pds-filter.entry.cjs.js.map +1 -1
  82. package/dist/cjs/pds-input.cjs.entry.js +7 -3
  83. package/dist/cjs/pds-input.entry.cjs.js.map +1 -1
  84. package/dist/cjs/pds-link.cjs.entry.js +1 -1
  85. package/dist/cjs/pds-modal.entry.cjs.js.map +1 -1
  86. package/dist/cjs/pds-multiselect.cjs.entry.js +592 -0
  87. package/dist/cjs/pds-multiselect.entry.cjs.js.map +1 -0
  88. package/dist/cjs/pds-popover.cjs.entry.js +1 -1
  89. package/dist/cjs/pds-progress.cjs.entry.js +1 -1
  90. package/dist/cjs/pds-property.cjs.entry.js +1 -1
  91. package/dist/cjs/pds-radio-group.cjs.entry.js +4 -4
  92. package/dist/cjs/pds-radio.cjs.entry.js +4 -4
  93. package/dist/cjs/pds-radio.entry.cjs.js.map +1 -1
  94. package/dist/cjs/pds-row.cjs.entry.js +1 -1
  95. package/dist/cjs/pds-select.cjs.entry.js +15 -3
  96. package/dist/cjs/pds-select.entry.cjs.js.map +1 -1
  97. package/dist/cjs/pds-sortable-item.cjs.entry.js +2 -2
  98. package/dist/cjs/pds-sortable.cjs.entry.js +1 -1
  99. package/dist/cjs/pds-switch.cjs.entry.js +4 -4
  100. package/dist/cjs/pds-tab.cjs.entry.js +4 -4
  101. package/dist/cjs/pds-tab.entry.cjs.js.map +1 -1
  102. package/dist/cjs/pds-table-body.cjs.entry.js +1 -1
  103. package/dist/cjs/pds-table-cell.cjs.entry.js +2 -2
  104. package/dist/cjs/pds-table-cell.entry.cjs.js.map +1 -1
  105. package/dist/cjs/pds-table-head-cell.cjs.entry.js +44 -6
  106. package/dist/cjs/pds-table-head-cell.entry.cjs.js.map +1 -1
  107. package/dist/cjs/pds-table-head.cjs.entry.js +1 -1
  108. package/dist/cjs/pds-table-row.cjs.entry.js +1 -1
  109. package/dist/cjs/pds-table.cjs.entry.js +42 -3
  110. package/dist/cjs/pds-table.entry.cjs.js.map +1 -1
  111. package/dist/cjs/pds-tabpanel.cjs.entry.js +1 -1
  112. package/dist/cjs/pds-tabs.cjs.entry.js +1 -1
  113. package/dist/cjs/pds-text.cjs.entry.js +1 -1
  114. package/dist/cjs/pds-textarea.cjs.entry.js +9 -5
  115. package/dist/cjs/pds-textarea.entry.cjs.js.map +1 -1
  116. package/dist/cjs/pds-toast.cjs.entry.js +3 -3
  117. package/dist/cjs/pds-tooltip.cjs.entry.js +3 -3
  118. package/dist/cjs/pine-core.cjs.js +1 -1
  119. package/dist/collection/collection-manifest.json +1 -0
  120. package/dist/collection/components/pds-avatar/pds-avatar.css +14 -1
  121. package/dist/collection/components/pds-avatar/pds-avatar.js +39 -4
  122. package/dist/collection/components/pds-avatar/pds-avatar.js.map +1 -1
  123. package/dist/collection/components/pds-avatar/stories/pds-avatar.stories.js +15 -0
  124. package/dist/collection/components/pds-box/pds-box.css +0 -191
  125. package/dist/collection/components/pds-button/pds-button.css +3 -0
  126. package/dist/collection/components/pds-checkbox/pds-checkbox.css +2 -0
  127. package/dist/collection/components/pds-chip/pds-chip.css +7 -0
  128. package/dist/collection/components/pds-combobox/pds-combobox.css +6 -1
  129. package/dist/collection/components/pds-dropdown-menu/pds-dropdown-menu-item/pds-dropdown-menu-item.css +7 -4
  130. package/dist/collection/components/pds-dropdown-menu/pds-dropdown-menu.css +1 -1
  131. package/dist/collection/components/pds-dropdown-menu/pds-dropdown-menu.js +2 -1
  132. package/dist/collection/components/pds-dropdown-menu/pds-dropdown-menu.js.map +1 -1
  133. package/dist/collection/components/pds-filters/pds-filter/pds-filter.css +7 -3
  134. package/dist/collection/components/pds-input/pds-input.css +2 -2
  135. package/dist/collection/components/pds-input/pds-input.js +24 -1
  136. package/dist/collection/components/pds-input/pds-input.js.map +1 -1
  137. package/dist/collection/components/pds-modal/pds-modal.css +1 -0
  138. package/dist/collection/components/pds-multiselect/multiselect-interface.js +2 -0
  139. package/dist/collection/components/pds-multiselect/multiselect-interface.js.map +1 -0
  140. package/dist/collection/components/pds-multiselect/pds-multiselect.css +232 -0
  141. package/dist/collection/components/pds-multiselect/pds-multiselect.js +1152 -0
  142. package/dist/collection/components/pds-multiselect/pds-multiselect.js.map +1 -0
  143. package/dist/collection/components/pds-multiselect/stories/pds-multiselect.stories.js +371 -0
  144. package/dist/collection/components/pds-popover/pds-popover.js +1 -1
  145. package/dist/collection/components/pds-progress/pds-progress.js +1 -1
  146. package/dist/collection/components/pds-property/pds-property.js +1 -1
  147. package/dist/collection/components/pds-radio/pds-radio.css +1 -0
  148. package/dist/collection/components/pds-radio/pds-radio.js +3 -3
  149. package/dist/collection/components/pds-radio-group/pds-radio-group.js +3 -3
  150. package/dist/collection/components/pds-row/pds-row.js +1 -1
  151. package/dist/collection/components/pds-select/pds-select.css +2 -2
  152. package/dist/collection/components/pds-select/pds-select.js +71 -2
  153. package/dist/collection/components/pds-select/pds-select.js.map +1 -1
  154. package/dist/collection/components/pds-sortable/pds-sortable-item/pds-sortable-item.js +1 -1
  155. package/dist/collection/components/pds-sortable/pds-sortable.js +1 -1
  156. package/dist/collection/components/pds-switch/pds-switch.js +3 -3
  157. package/dist/collection/components/pds-table/pds-table-body/pds-table-body.js +1 -1
  158. package/dist/collection/components/pds-table/pds-table-cell/pds-table-cell.css +1 -0
  159. package/dist/collection/components/pds-table/pds-table-cell/pds-table-cell.js +2 -2
  160. package/dist/collection/components/pds-table/pds-table-head/pds-table-head.js +1 -1
  161. package/dist/collection/components/pds-table/pds-table-head-cell/pds-table-head-cell.css +1 -0
  162. package/dist/collection/components/pds-table/pds-table-head-cell/pds-table-head-cell.js +90 -6
  163. package/dist/collection/components/pds-table/pds-table-head-cell/pds-table-head-cell.js.map +1 -1
  164. package/dist/collection/components/pds-table/pds-table-row/pds-table-row.js +1 -1
  165. package/dist/collection/components/pds-table/pds-table.css +2 -0
  166. package/dist/collection/components/pds-table/pds-table.js +84 -3
  167. package/dist/collection/components/pds-table/pds-table.js.map +1 -1
  168. package/dist/collection/components/pds-table/stories/pds-table.stories.js +109 -4
  169. package/dist/collection/components/pds-tabs/pds-tab/pds-tab.css +6 -2
  170. package/dist/collection/components/pds-tabs/pds-tab/pds-tab.js +3 -3
  171. package/dist/collection/components/pds-tabs/pds-tabpanel/pds-tabpanel.js +1 -1
  172. package/dist/collection/components/pds-tabs/pds-tabs.js +1 -1
  173. package/dist/collection/components/pds-text/pds-text.js +1 -1
  174. package/dist/collection/components/pds-textarea/pds-textarea.js +27 -4
  175. package/dist/collection/components/pds-textarea/pds-textarea.js.map +1 -1
  176. package/dist/collection/components/pds-toast/pds-toast.js +3 -3
  177. package/dist/collection/components/pds-tooltip/pds-tooltip.js +2 -2
  178. package/dist/docs.json +1130 -123
  179. package/dist/esm/{floating-ui.dom-DbQzNDdQ.js → floating-ui.dom-BO6p966C.js} +163 -42
  180. package/dist/esm/floating-ui.dom-BO6p966C.js.map +1 -0
  181. package/dist/esm/{index-xbb79yLt.js → index-DY8eSueV.js} +3 -3
  182. package/dist/esm/index-DY8eSueV.js.map +1 -0
  183. package/dist/esm/loader.js +1 -1
  184. package/dist/esm/mock-pds-modal.entry.js.map +1 -1
  185. package/dist/esm/pds-accordion.entry.js +1 -1
  186. package/dist/esm/pds-avatar.entry.js +18 -6
  187. package/dist/esm/pds-avatar.entry.js.map +1 -1
  188. package/dist/esm/pds-button.entry.js +1 -1
  189. package/dist/esm/pds-button.entry.js.map +1 -1
  190. package/dist/esm/pds-checkbox.entry.js +1 -1
  191. package/dist/esm/pds-checkbox.entry.js.map +1 -1
  192. package/dist/esm/pds-chip.entry.js +1 -1
  193. package/dist/esm/pds-chip.entry.js.map +1 -1
  194. package/dist/esm/pds-combobox.entry.js +67 -27
  195. package/dist/esm/pds-combobox.entry.js.map +1 -1
  196. package/dist/esm/pds-copytext.entry.js +1 -1
  197. package/dist/esm/pds-dropdown-menu-item.entry.js +1 -1
  198. package/dist/esm/pds-dropdown-menu-item.entry.js.map +1 -1
  199. package/dist/esm/pds-dropdown-menu.entry.js +4 -3
  200. package/dist/esm/pds-dropdown-menu.entry.js.map +1 -1
  201. package/dist/esm/pds-filter.entry.js +2 -2
  202. package/dist/esm/pds-filter.entry.js.map +1 -1
  203. package/dist/esm/pds-input.entry.js +7 -3
  204. package/dist/esm/pds-input.entry.js.map +1 -1
  205. package/dist/esm/pds-link.entry.js +1 -1
  206. package/dist/esm/pds-modal.entry.js.map +1 -1
  207. package/dist/esm/pds-multiselect.entry.js +590 -0
  208. package/dist/esm/pds-multiselect.entry.js.map +1 -0
  209. package/dist/esm/pds-popover.entry.js +1 -1
  210. package/dist/esm/pds-progress.entry.js +1 -1
  211. package/dist/esm/pds-property.entry.js +1 -1
  212. package/dist/esm/pds-radio-group.entry.js +4 -4
  213. package/dist/esm/pds-radio.entry.js +4 -4
  214. package/dist/esm/pds-radio.entry.js.map +1 -1
  215. package/dist/esm/pds-row.entry.js +1 -1
  216. package/dist/esm/pds-select.entry.js +15 -3
  217. package/dist/esm/pds-select.entry.js.map +1 -1
  218. package/dist/esm/pds-sortable-item.entry.js +2 -2
  219. package/dist/esm/pds-sortable.entry.js +1 -1
  220. package/dist/esm/pds-switch.entry.js +4 -4
  221. package/dist/esm/pds-tab.entry.js +4 -4
  222. package/dist/esm/pds-tab.entry.js.map +1 -1
  223. package/dist/esm/pds-table-body.entry.js +1 -1
  224. package/dist/esm/pds-table-cell.entry.js +2 -2
  225. package/dist/esm/pds-table-cell.entry.js.map +1 -1
  226. package/dist/esm/pds-table-head-cell.entry.js +44 -6
  227. package/dist/esm/pds-table-head-cell.entry.js.map +1 -1
  228. package/dist/esm/pds-table-head.entry.js +1 -1
  229. package/dist/esm/pds-table-row.entry.js +1 -1
  230. package/dist/esm/pds-table.entry.js +42 -3
  231. package/dist/esm/pds-table.entry.js.map +1 -1
  232. package/dist/esm/pds-tabpanel.entry.js +1 -1
  233. package/dist/esm/pds-tabs.entry.js +1 -1
  234. package/dist/esm/pds-text.entry.js +1 -1
  235. package/dist/esm/pds-textarea.entry.js +9 -5
  236. package/dist/esm/pds-textarea.entry.js.map +1 -1
  237. package/dist/esm/pds-toast.entry.js +3 -3
  238. package/dist/esm/pds-tooltip.entry.js +3 -3
  239. package/dist/esm/pine-core.js +1 -1
  240. package/dist/esm-es5/floating-ui.dom-BO6p966C.js +2 -0
  241. package/dist/esm-es5/floating-ui.dom-BO6p966C.js.map +1 -0
  242. package/dist/esm-es5/{index-xbb79yLt.js → index-DY8eSueV.js} +1 -1
  243. package/dist/esm-es5/index-DY8eSueV.js.map +1 -0
  244. package/dist/esm-es5/loader.js +1 -1
  245. package/dist/esm-es5/mock-pds-modal.entry.js.map +1 -1
  246. package/dist/esm-es5/pds-accordion.entry.js +1 -1
  247. package/dist/esm-es5/pds-avatar.entry.js +1 -1
  248. package/dist/esm-es5/pds-avatar.entry.js.map +1 -1
  249. package/dist/esm-es5/pds-button.entry.js +1 -1
  250. package/dist/esm-es5/pds-button.entry.js.map +1 -1
  251. package/dist/esm-es5/pds-checkbox.entry.js +1 -1
  252. package/dist/esm-es5/pds-checkbox.entry.js.map +1 -1
  253. package/dist/esm-es5/pds-chip.entry.js +1 -1
  254. package/dist/esm-es5/pds-chip.entry.js.map +1 -1
  255. package/dist/esm-es5/pds-combobox.entry.js +2 -2
  256. package/dist/esm-es5/pds-combobox.entry.js.map +1 -1
  257. package/dist/esm-es5/pds-copytext.entry.js +1 -1
  258. package/dist/esm-es5/pds-dropdown-menu-item.entry.js +1 -1
  259. package/dist/esm-es5/pds-dropdown-menu-item.entry.js.map +1 -1
  260. package/dist/esm-es5/pds-dropdown-menu.entry.js +1 -1
  261. package/dist/esm-es5/pds-dropdown-menu.entry.js.map +1 -1
  262. package/dist/esm-es5/pds-filter.entry.js +1 -1
  263. package/dist/esm-es5/pds-filter.entry.js.map +1 -1
  264. package/dist/esm-es5/pds-input.entry.js +1 -1
  265. package/dist/esm-es5/pds-input.entry.js.map +1 -1
  266. package/dist/esm-es5/pds-link.entry.js +1 -1
  267. package/dist/esm-es5/pds-modal.entry.js.map +1 -1
  268. package/dist/esm-es5/pds-multiselect.entry.js +2 -0
  269. package/dist/esm-es5/pds-multiselect.entry.js.map +1 -0
  270. package/dist/esm-es5/pds-popover.entry.js +1 -1
  271. package/dist/esm-es5/pds-progress.entry.js +1 -1
  272. package/dist/esm-es5/pds-property.entry.js +1 -1
  273. package/dist/esm-es5/pds-radio-group.entry.js +1 -1
  274. package/dist/esm-es5/pds-radio.entry.js +1 -1
  275. package/dist/esm-es5/pds-radio.entry.js.map +1 -1
  276. package/dist/esm-es5/pds-row.entry.js +1 -1
  277. package/dist/esm-es5/pds-select.entry.js +1 -1
  278. package/dist/esm-es5/pds-select.entry.js.map +1 -1
  279. package/dist/esm-es5/pds-sortable-item.entry.js +1 -1
  280. package/dist/esm-es5/pds-sortable.entry.js +1 -1
  281. package/dist/esm-es5/pds-switch.entry.js +1 -1
  282. package/dist/esm-es5/pds-tab.entry.js +1 -1
  283. package/dist/esm-es5/pds-tab.entry.js.map +1 -1
  284. package/dist/esm-es5/pds-table-body.entry.js +1 -1
  285. package/dist/esm-es5/pds-table-cell.entry.js +1 -1
  286. package/dist/esm-es5/pds-table-cell.entry.js.map +1 -1
  287. package/dist/esm-es5/pds-table-head-cell.entry.js +1 -1
  288. package/dist/esm-es5/pds-table-head-cell.entry.js.map +1 -1
  289. package/dist/esm-es5/pds-table-head.entry.js +1 -1
  290. package/dist/esm-es5/pds-table-row.entry.js +1 -1
  291. package/dist/esm-es5/pds-table.entry.js +1 -1
  292. package/dist/esm-es5/pds-table.entry.js.map +1 -1
  293. package/dist/esm-es5/pds-tabpanel.entry.js +1 -1
  294. package/dist/esm-es5/pds-tabs.entry.js +1 -1
  295. package/dist/esm-es5/pds-text.entry.js +1 -1
  296. package/dist/esm-es5/pds-textarea.entry.js +1 -1
  297. package/dist/esm-es5/pds-textarea.entry.js.map +1 -1
  298. package/dist/esm-es5/pds-toast.entry.js +1 -1
  299. package/dist/esm-es5/pds-tooltip.entry.js +1 -1
  300. package/dist/esm-es5/pine-core.js +1 -1
  301. package/dist/pine-core/mock-pds-modal.entry.esm.js.map +1 -1
  302. package/dist/pine-core/p-02f48157.system.entry.js +2 -0
  303. package/dist/pine-core/{p-b30424e3.system.entry.js → p-063afa19.system.entry.js} +2 -2
  304. package/dist/pine-core/p-0sPVsRFU.system.js.map +1 -0
  305. package/dist/pine-core/{p-15202869.entry.js → p-10dbe3e2.entry.js} +2 -2
  306. package/dist/pine-core/{p-5b7ab891.entry.js → p-12360e47.entry.js} +2 -2
  307. package/dist/pine-core/{p-ac14c8e3.system.entry.js → p-137b3289.system.entry.js} +2 -2
  308. package/dist/pine-core/{p-a737df90.entry.js → p-154a32f4.entry.js} +2 -2
  309. package/dist/pine-core/p-1ca116fa.entry.js +3 -0
  310. package/dist/pine-core/p-1ca116fa.entry.js.map +1 -0
  311. package/dist/pine-core/p-2537aacb.entry.js +2 -0
  312. package/dist/pine-core/p-2537aacb.entry.js.map +1 -0
  313. package/dist/pine-core/p-2cd0d520.entry.js +2 -0
  314. package/dist/pine-core/p-2cd0d520.entry.js.map +1 -0
  315. package/dist/pine-core/{p-cd335ec2.system.entry.js → p-2fe330d0.system.entry.js} +2 -2
  316. package/dist/pine-core/p-30ea3668.system.entry.js +2 -0
  317. package/dist/pine-core/{p-1daf66d1.entry.js → p-31168da5.entry.js} +2 -2
  318. package/dist/pine-core/{p-732e2564.system.entry.js → p-325b3b0d.system.entry.js} +2 -2
  319. package/dist/pine-core/p-32c13896.system.entry.js +2 -0
  320. package/dist/pine-core/p-32c13896.system.entry.js.map +1 -0
  321. package/dist/pine-core/{p-95f2782c.entry.js → p-3f97a965.entry.js} +2 -2
  322. package/dist/pine-core/{p-ff182316.system.entry.js → p-40988b4d.system.entry.js} +2 -2
  323. package/dist/pine-core/{p-b02936d2.entry.js → p-415ba884.entry.js} +2 -2
  324. package/dist/pine-core/p-475bb340.entry.js +2 -0
  325. package/dist/pine-core/p-475bb340.entry.js.map +1 -0
  326. package/dist/pine-core/{p-CGo2P4Fr.system.js.map → p-4EbKXnVN.system.js.map} +1 -1
  327. package/dist/pine-core/p-4alPHnzl.system.js.map +1 -0
  328. package/dist/pine-core/{p-9bfaed7e.system.entry.js → p-4c23c75b.system.entry.js} +2 -2
  329. package/dist/pine-core/{p-bdf8bff3.system.entry.js → p-4d85945b.system.entry.js} +2 -2
  330. package/dist/pine-core/{p-3f8b0885.system.entry.js → p-4d9eee67.system.entry.js} +2 -2
  331. package/dist/pine-core/{p-4fD2iHS9.system.js.map → p-4f1cRPxE.system.js.map} +1 -1
  332. package/dist/pine-core/{p-e2104c31.entry.js → p-5040a872.entry.js} +2 -2
  333. package/dist/pine-core/p-51114c2b.system.entry.js +2 -0
  334. package/dist/pine-core/p-51114c2b.system.entry.js.map +1 -0
  335. package/dist/pine-core/{p-bbc349b3.system.entry.js → p-5b3ac18e.system.entry.js} +2 -2
  336. package/dist/pine-core/{p-bbc349b3.system.entry.js.map → p-5b3ac18e.system.entry.js.map} +1 -1
  337. package/dist/pine-core/{p-a08b60ae.entry.js → p-5b9110fe.entry.js} +2 -2
  338. package/dist/pine-core/p-5c982339.system.entry.js +2 -0
  339. package/dist/pine-core/p-5c982339.system.entry.js.map +1 -0
  340. package/dist/pine-core/{p-94b1997d.system.entry.js → p-5e92aa34.system.entry.js} +2 -2
  341. package/dist/pine-core/{p-41d89f20.entry.js → p-5f2865df.entry.js} +2 -2
  342. package/dist/pine-core/{p-41d89f20.entry.js.map → p-5f2865df.entry.js.map} +1 -1
  343. package/dist/pine-core/p-6321b70b.entry.js +2 -0
  344. package/dist/pine-core/p-6321b70b.entry.js.map +1 -0
  345. package/dist/pine-core/p-63269b89.entry.js +2 -0
  346. package/dist/pine-core/p-6e862168.system.entry.js +2 -0
  347. package/dist/pine-core/{p-b8047816.system.entry.js.map → p-6e862168.system.entry.js.map} +1 -1
  348. package/dist/pine-core/{p-cf2e1c07.system.entry.js → p-70aa35fc.system.entry.js} +2 -2
  349. package/dist/pine-core/{p-fc0ee6da.entry.js → p-757c7b80.entry.js} +2 -2
  350. package/dist/pine-core/{p-1df25b57.system.entry.js → p-78ee2e08.system.entry.js} +2 -2
  351. package/dist/pine-core/{p-2319298c.system.entry.js → p-7b5c8248.system.entry.js} +2 -2
  352. package/dist/pine-core/{p-dad604e4.system.entry.js → p-84c7f663.system.entry.js} +2 -2
  353. package/dist/pine-core/{p-f9ef2f74.system.entry.js → p-87eb8d4b.system.entry.js} +2 -2
  354. package/dist/pine-core/p-8b201c9a.system.entry.js +2 -0
  355. package/dist/pine-core/p-8b201c9a.system.entry.js.map +1 -0
  356. package/dist/pine-core/p-8eb1c168.entry.js +2 -0
  357. package/dist/pine-core/{p-e5bc22b6.system.entry.js → p-8fdb10c4.system.entry.js} +2 -2
  358. package/dist/pine-core/{p-232e4282.system.entry.js → p-90615423.system.entry.js} +2 -2
  359. package/dist/pine-core/{p-f79f6f08.system.entry.js → p-932283cf.system.entry.js} +2 -2
  360. package/dist/pine-core/{p-0b05708b.entry.js → p-9ada659b.entry.js} +2 -2
  361. package/dist/pine-core/{p-4778ae70.entry.js → p-9bb6cc3d.entry.js} +2 -2
  362. package/dist/pine-core/p-9c0ec80a.entry.js +2 -0
  363. package/dist/pine-core/p-9c0ec80a.entry.js.map +1 -0
  364. package/dist/pine-core/{p-3f6b9520.entry.js → p-9c928c44.entry.js} +2 -2
  365. package/dist/pine-core/p-9e4fc025.entry.js +2 -0
  366. package/dist/pine-core/p-9e4fc025.entry.js.map +1 -0
  367. package/dist/pine-core/{p-e8aad8dc.entry.js → p-9eccf7b9.entry.js} +2 -2
  368. package/dist/pine-core/p-B0Otb6kF.system.js.map +1 -0
  369. package/dist/pine-core/{p-CUmDvil2.system.js.map → p-BA95hFrH.system.js.map} +1 -1
  370. package/dist/pine-core/p-BCKPcTKX.system.js.map +1 -1
  371. package/dist/pine-core/p-BHjZufAO.system.js.map +1 -0
  372. package/dist/pine-core/{p-DC2NZwtk.system.js.map → p-BJE1EIse.system.js.map} +1 -1
  373. package/dist/pine-core/{p-IH8oGXiE.system.js.map → p-BJtTt670.system.js.map} +1 -1
  374. package/dist/pine-core/p-BO6p966C.js +2 -0
  375. package/dist/pine-core/p-BO6p966C.js.map +1 -0
  376. package/dist/pine-core/{p-jBhqNO5u.system.js.map → p-BSRmAvMC.system.js.map} +1 -1
  377. package/dist/pine-core/{p-DyrNlfLT.system.js.map → p-BTe59phF.system.js.map} +1 -1
  378. package/dist/pine-core/p-BmKJgY0X.system.js.map +1 -0
  379. package/dist/pine-core/{p-B0Y1Zs9b.system.js.map → p-Bn36FPag.system.js.map} +1 -1
  380. package/dist/pine-core/p-C48G0LPH.system.js.map +1 -1
  381. package/dist/pine-core/p-CBCT89qf.system.js.map +1 -0
  382. package/dist/pine-core/p-CCgKUhC7.system.js.map +1 -0
  383. package/dist/pine-core/p-CG5jdxoZ.system.js.map +1 -0
  384. package/dist/pine-core/{p-CKzDRRgx.system.js → p-CP48ADFM.system.js} +1 -1
  385. package/dist/pine-core/p-CP48ADFM.system.js.map +1 -0
  386. package/dist/pine-core/p-CR01VmO6.system.js.map +1 -0
  387. package/dist/pine-core/{p-CAnnMfDw.system.js.map → p-CSLo9qKS.system.js.map} +1 -1
  388. package/dist/pine-core/{p-DmVKABQy.system.js.map → p-CboCokff.system.js.map} +1 -1
  389. package/dist/pine-core/p-CfZCQYfD.system.js.map +1 -0
  390. package/dist/pine-core/{p-r_cS5LMw.system.js.map → p-Civ2VHC7.system.js.map} +1 -1
  391. package/dist/pine-core/{p-ChiYqN-p.system.js.map → p-CmquVvkz.system.js.map} +1 -1
  392. package/dist/pine-core/{p-tHMXRB8d.system.js.map → p-CpyTw2IQ.system.js.map} +1 -1
  393. package/dist/pine-core/{p-Brpt0zl5.system.js.map → p-Ct9csNdF.system.js.map} +1 -1
  394. package/dist/pine-core/{p-B_Co5NfG.system.js.map → p-Cun139qe.system.js.map} +1 -1
  395. package/dist/pine-core/p-D2eS6fhD.system.js +2 -0
  396. package/dist/pine-core/p-D2eS6fhD.system.js.map +1 -0
  397. package/dist/pine-core/p-DFXWnbHE.system.js.map +1 -0
  398. package/dist/pine-core/{p-xbb79yLt.js → p-DY8eSueV.js} +1 -1
  399. package/dist/pine-core/p-DY8eSueV.js.map +1 -0
  400. package/dist/pine-core/p-DaXZLSA0.system.js.map +1 -0
  401. package/dist/pine-core/{p-DB45WSlG.system.js.map → p-DwQewDCV.system.js.map} +1 -1
  402. package/dist/pine-core/p-JAVnELnm.system.js +1 -1
  403. package/dist/pine-core/{p-DAvCgWA9.system.js.map → p-Lk6DnEPT.system.js.map} +1 -1
  404. package/dist/pine-core/p-YqHO7iPZ.system.js.map +1 -0
  405. package/dist/pine-core/{p-00568c20.system.entry.js → p-a07b8e45.system.entry.js} +2 -2
  406. package/dist/pine-core/p-a3bCMZF8.system.js.map +1 -0
  407. package/dist/pine-core/{p-c5013d20.entry.js → p-a3cdff85.entry.js} +2 -2
  408. package/dist/pine-core/{p-a4b16b32.system.entry.js → p-a5b24b1d.system.entry.js} +2 -2
  409. package/dist/pine-core/{p-596acf65.entry.js → p-a99e8caf.entry.js} +2 -2
  410. package/dist/pine-core/p-ac240034.system.entry.js +2 -0
  411. package/dist/pine-core/p-ac240034.system.entry.js.map +1 -0
  412. package/dist/pine-core/p-b9650ed9.system.entry.js +2 -0
  413. package/dist/pine-core/p-b9650ed9.system.entry.js.map +1 -0
  414. package/dist/pine-core/{p-f8fba315.entry.js → p-bc85016b.entry.js} +2 -2
  415. package/dist/pine-core/{p-61588eac.entry.js → p-bddc9c5a.entry.js} +2 -2
  416. package/dist/pine-core/p-bs74TBAh.system.js.map +1 -0
  417. package/dist/pine-core/{p-7de73ac5.entry.js → p-c24d11c7.entry.js} +2 -2
  418. package/dist/pine-core/p-c292e5da.system.entry.js +2 -0
  419. package/dist/pine-core/{p-c03e2c5d.system.entry.js.map → p-c292e5da.system.entry.js.map} +1 -1
  420. package/dist/pine-core/p-c68bceb1.entry.js +2 -0
  421. package/dist/pine-core/{p-41cc9270.entry.js.map → p-c68bceb1.entry.js.map} +1 -1
  422. package/dist/pine-core/{p-0ace9c16.entry.js → p-c7c00a27.entry.js} +2 -2
  423. package/dist/pine-core/{p-cb6c279a.system.entry.js → p-cac3128b.system.entry.js} +2 -2
  424. package/dist/pine-core/p-ccab748a.entry.js +2 -0
  425. package/dist/pine-core/p-ccab748a.entry.js.map +1 -0
  426. package/dist/pine-core/{p-131a8cff.system.entry.js → p-cfb24f97.system.entry.js} +2 -2
  427. package/dist/pine-core/p-cfb24f97.system.entry.js.map +1 -0
  428. package/dist/pine-core/p-d41112ad.entry.js +2 -0
  429. package/dist/pine-core/{p-4c0797f2.entry.js.map → p-d41112ad.entry.js.map} +1 -1
  430. package/dist/pine-core/{p-6cba6806.entry.js → p-d6302edd.entry.js} +2 -2
  431. package/dist/pine-core/p-d98310b9.system.entry.js +2 -0
  432. package/dist/pine-core/p-d98310b9.system.entry.js.map +1 -0
  433. package/dist/pine-core/{p-04294b28.system.entry.js → p-daa36570.system.entry.js} +2 -2
  434. package/dist/pine-core/p-db06ad25.system.entry.js +4 -0
  435. package/dist/pine-core/p-db06ad25.system.entry.js.map +1 -0
  436. package/dist/pine-core/{p-15650db8.entry.js → p-e6dc2297.entry.js} +2 -2
  437. package/dist/pine-core/{p-9f53eb94.system.entry.js → p-e8cf15d7.system.entry.js} +2 -2
  438. package/dist/pine-core/p-eb026745.entry.js +2 -0
  439. package/dist/pine-core/p-fa05ea14.entry.js +2 -0
  440. package/dist/pine-core/p-fa05ea14.entry.js.map +1 -0
  441. package/dist/pine-core/{p-D8Jc24Qq.system.js.map → p-htODgUCV.system.js.map} +1 -1
  442. package/dist/pine-core/{p-DYq1Mef8.system.js.map → p-j0609tLE.system.js.map} +1 -1
  443. package/dist/pine-core/{p-DoP8Sl1O.system.js.map → p-rcUX-rt5.system.js.map} +1 -1
  444. package/dist/pine-core/p-uyztncxJ.system.js.map +1 -0
  445. package/dist/pine-core/pds-avatar.entry.esm.js.map +1 -1
  446. package/dist/pine-core/pds-button.entry.esm.js.map +1 -1
  447. package/dist/pine-core/pds-checkbox.entry.esm.js.map +1 -1
  448. package/dist/pine-core/pds-chip.entry.esm.js.map +1 -1
  449. package/dist/pine-core/pds-combobox.entry.esm.js.map +1 -1
  450. package/dist/pine-core/pds-dropdown-menu-item.entry.esm.js.map +1 -1
  451. package/dist/pine-core/pds-dropdown-menu.entry.esm.js.map +1 -1
  452. package/dist/pine-core/pds-filter.entry.esm.js.map +1 -1
  453. package/dist/pine-core/pds-input.entry.esm.js.map +1 -1
  454. package/dist/pine-core/pds-modal.entry.esm.js.map +1 -1
  455. package/dist/pine-core/pds-multiselect.entry.esm.js.map +1 -0
  456. package/dist/pine-core/pds-radio.entry.esm.js.map +1 -1
  457. package/dist/pine-core/pds-select.entry.esm.js.map +1 -1
  458. package/dist/pine-core/pds-tab.entry.esm.js.map +1 -1
  459. package/dist/pine-core/pds-table-cell.entry.esm.js.map +1 -1
  460. package/dist/pine-core/pds-table-head-cell.entry.esm.js.map +1 -1
  461. package/dist/pine-core/pds-table.entry.esm.js.map +1 -1
  462. package/dist/pine-core/pds-textarea.entry.esm.js.map +1 -1
  463. package/dist/pine-core/pine-core.esm.js +1 -1
  464. package/dist/types/components/pds-avatar/pds-avatar.d.ts +5 -0
  465. package/dist/types/components/pds-input/pds-input.d.ts +5 -0
  466. package/dist/types/components/pds-multiselect/multiselect-interface.d.ts +24 -0
  467. package/dist/types/components/pds-multiselect/pds-multiselect.d.ts +175 -0
  468. package/dist/types/components/pds-select/pds-select.d.ts +16 -1
  469. package/dist/types/components/pds-table/pds-table-head-cell/pds-table-head-cell.d.ts +16 -0
  470. package/dist/types/components/pds-table/pds-table.d.ts +17 -1
  471. package/dist/types/components/pds-textarea/pds-textarea.d.ts +5 -0
  472. package/dist/types/components.d.ts +309 -1
  473. package/dist/vscode.html-data.json +190 -5
  474. package/hydrate/index.js +1016 -112
  475. package/hydrate/index.mjs +1016 -112
  476. package/package.json +5 -5
  477. package/dist/cjs/floating-ui.dom-DTAy35nv.js.map +0 -1
  478. package/dist/cjs/index-CMeuo765.js.map +0 -1
  479. package/dist/esm/floating-ui.dom-DbQzNDdQ.js.map +0 -1
  480. package/dist/esm/index-xbb79yLt.js.map +0 -1
  481. package/dist/esm-es5/floating-ui.dom-DbQzNDdQ.js +0 -2
  482. package/dist/esm-es5/floating-ui.dom-DbQzNDdQ.js.map +0 -1
  483. package/dist/esm-es5/index-xbb79yLt.js.map +0 -1
  484. package/dist/pine-core/p--gPqixhD.system.js.map +0 -1
  485. package/dist/pine-core/p-0c84a3f4.entry.js +0 -2
  486. package/dist/pine-core/p-0c84a3f4.entry.js.map +0 -1
  487. package/dist/pine-core/p-0fdffed5.entry.js +0 -2
  488. package/dist/pine-core/p-0fdffed5.entry.js.map +0 -1
  489. package/dist/pine-core/p-1282026f.entry.js +0 -2
  490. package/dist/pine-core/p-1282026f.entry.js.map +0 -1
  491. package/dist/pine-core/p-131a8cff.system.entry.js.map +0 -1
  492. package/dist/pine-core/p-198abda7.system.entry.js +0 -2
  493. package/dist/pine-core/p-198abda7.system.entry.js.map +0 -1
  494. package/dist/pine-core/p-20f255e6.entry.js +0 -2
  495. package/dist/pine-core/p-20f255e6.entry.js.map +0 -1
  496. package/dist/pine-core/p-41cc9270.entry.js +0 -2
  497. package/dist/pine-core/p-43990889.entry.js +0 -2
  498. package/dist/pine-core/p-49c1eab0.entry.js +0 -2
  499. package/dist/pine-core/p-49c1eab0.entry.js.map +0 -1
  500. package/dist/pine-core/p-4c0797f2.entry.js +0 -2
  501. package/dist/pine-core/p-54a02bb5.system.entry.js +0 -2
  502. package/dist/pine-core/p-54a02bb5.system.entry.js.map +0 -1
  503. package/dist/pine-core/p-553e4543.entry.js +0 -2
  504. package/dist/pine-core/p-553e4543.entry.js.map +0 -1
  505. package/dist/pine-core/p-5f6cd30d.system.entry.js +0 -2
  506. package/dist/pine-core/p-5f6cd30d.system.entry.js.map +0 -1
  507. package/dist/pine-core/p-66160018.entry.js +0 -3
  508. package/dist/pine-core/p-66160018.entry.js.map +0 -1
  509. package/dist/pine-core/p-98824683.entry.js +0 -2
  510. package/dist/pine-core/p-98824683.entry.js.map +0 -1
  511. package/dist/pine-core/p-BOmQOnQe.system.js +0 -2
  512. package/dist/pine-core/p-BOmQOnQe.system.js.map +0 -1
  513. package/dist/pine-core/p-BOn7G6db.system.js.map +0 -1
  514. package/dist/pine-core/p-CKzDRRgx.system.js.map +0 -1
  515. package/dist/pine-core/p-CTfQ_9yC.system.js.map +0 -1
  516. package/dist/pine-core/p-CTjTtD1R.system.js.map +0 -1
  517. package/dist/pine-core/p-CXGuX44q.system.js.map +0 -1
  518. package/dist/pine-core/p-Ch7MRoFE.system.js.map +0 -1
  519. package/dist/pine-core/p-DQawTYre.system.js.map +0 -1
  520. package/dist/pine-core/p-DQs506y8.system.js.map +0 -1
  521. package/dist/pine-core/p-DbQzNDdQ.js +0 -2
  522. package/dist/pine-core/p-DbQzNDdQ.js.map +0 -1
  523. package/dist/pine-core/p-DpeOrUYB.system.js.map +0 -1
  524. package/dist/pine-core/p-RO-Y2DRT.system.js.map +0 -1
  525. package/dist/pine-core/p-WhfStK1C.system.js.map +0 -1
  526. package/dist/pine-core/p-X0_TH-op.system.js.map +0 -1
  527. package/dist/pine-core/p-b59a0c6b.system.entry.js +0 -2
  528. package/dist/pine-core/p-b8047816.system.entry.js +0 -2
  529. package/dist/pine-core/p-bee8d4b8.system.entry.js +0 -4
  530. package/dist/pine-core/p-bee8d4b8.system.entry.js.map +0 -1
  531. package/dist/pine-core/p-c03e2c5d.system.entry.js +0 -2
  532. package/dist/pine-core/p-c2d17093.system.entry.js +0 -2
  533. package/dist/pine-core/p-c2d17093.system.entry.js.map +0 -1
  534. package/dist/pine-core/p-d0e336b7.system.entry.js +0 -2
  535. package/dist/pine-core/p-e3d81bee.system.entry.js +0 -2
  536. package/dist/pine-core/p-e3d81bee.system.entry.js.map +0 -1
  537. package/dist/pine-core/p-e7e25d42.entry.js +0 -2
  538. package/dist/pine-core/p-e846b67f.system.entry.js +0 -2
  539. package/dist/pine-core/p-e846b67f.system.entry.js.map +0 -1
  540. package/dist/pine-core/p-f92055f3.entry.js +0 -2
  541. package/dist/pine-core/p-pw5cGGlu.system.js.map +0 -1
  542. package/dist/pine-core/p-qkIMFuAW.system.js.map +0 -1
  543. package/dist/pine-core/p-uv97KtT8.system.js.map +0 -1
  544. package/dist/pine-core/p-xbb79yLt.js.map +0 -1
  545. /package/dist/pine-core/{p-b59a0c6b.system.entry.js.map → p-02f48157.system.entry.js.map} +0 -0
  546. /package/dist/pine-core/{p-b30424e3.system.entry.js.map → p-063afa19.system.entry.js.map} +0 -0
  547. /package/dist/pine-core/{p-15202869.entry.js.map → p-10dbe3e2.entry.js.map} +0 -0
  548. /package/dist/pine-core/{p-5b7ab891.entry.js.map → p-12360e47.entry.js.map} +0 -0
  549. /package/dist/pine-core/{p-ac14c8e3.system.entry.js.map → p-137b3289.system.entry.js.map} +0 -0
  550. /package/dist/pine-core/{p-a737df90.entry.js.map → p-154a32f4.entry.js.map} +0 -0
  551. /package/dist/pine-core/{p-cd335ec2.system.entry.js.map → p-2fe330d0.system.entry.js.map} +0 -0
  552. /package/dist/pine-core/{p-d0e336b7.system.entry.js.map → p-30ea3668.system.entry.js.map} +0 -0
  553. /package/dist/pine-core/{p-1daf66d1.entry.js.map → p-31168da5.entry.js.map} +0 -0
  554. /package/dist/pine-core/{p-732e2564.system.entry.js.map → p-325b3b0d.system.entry.js.map} +0 -0
  555. /package/dist/pine-core/{p-95f2782c.entry.js.map → p-3f97a965.entry.js.map} +0 -0
  556. /package/dist/pine-core/{p-ff182316.system.entry.js.map → p-40988b4d.system.entry.js.map} +0 -0
  557. /package/dist/pine-core/{p-b02936d2.entry.js.map → p-415ba884.entry.js.map} +0 -0
  558. /package/dist/pine-core/{p-9bfaed7e.system.entry.js.map → p-4c23c75b.system.entry.js.map} +0 -0
  559. /package/dist/pine-core/{p-bdf8bff3.system.entry.js.map → p-4d85945b.system.entry.js.map} +0 -0
  560. /package/dist/pine-core/{p-3f8b0885.system.entry.js.map → p-4d9eee67.system.entry.js.map} +0 -0
  561. /package/dist/pine-core/{p-e2104c31.entry.js.map → p-5040a872.entry.js.map} +0 -0
  562. /package/dist/pine-core/{p-a08b60ae.entry.js.map → p-5b9110fe.entry.js.map} +0 -0
  563. /package/dist/pine-core/{p-94b1997d.system.entry.js.map → p-5e92aa34.system.entry.js.map} +0 -0
  564. /package/dist/pine-core/{p-43990889.entry.js.map → p-63269b89.entry.js.map} +0 -0
  565. /package/dist/pine-core/{p-cf2e1c07.system.entry.js.map → p-70aa35fc.system.entry.js.map} +0 -0
  566. /package/dist/pine-core/{p-fc0ee6da.entry.js.map → p-757c7b80.entry.js.map} +0 -0
  567. /package/dist/pine-core/{p-1df25b57.system.entry.js.map → p-78ee2e08.system.entry.js.map} +0 -0
  568. /package/dist/pine-core/{p-2319298c.system.entry.js.map → p-7b5c8248.system.entry.js.map} +0 -0
  569. /package/dist/pine-core/{p-dad604e4.system.entry.js.map → p-84c7f663.system.entry.js.map} +0 -0
  570. /package/dist/pine-core/{p-f9ef2f74.system.entry.js.map → p-87eb8d4b.system.entry.js.map} +0 -0
  571. /package/dist/pine-core/{p-e7e25d42.entry.js.map → p-8eb1c168.entry.js.map} +0 -0
  572. /package/dist/pine-core/{p-e5bc22b6.system.entry.js.map → p-8fdb10c4.system.entry.js.map} +0 -0
  573. /package/dist/pine-core/{p-232e4282.system.entry.js.map → p-90615423.system.entry.js.map} +0 -0
  574. /package/dist/pine-core/{p-f79f6f08.system.entry.js.map → p-932283cf.system.entry.js.map} +0 -0
  575. /package/dist/pine-core/{p-0b05708b.entry.js.map → p-9ada659b.entry.js.map} +0 -0
  576. /package/dist/pine-core/{p-4778ae70.entry.js.map → p-9bb6cc3d.entry.js.map} +0 -0
  577. /package/dist/pine-core/{p-3f6b9520.entry.js.map → p-9c928c44.entry.js.map} +0 -0
  578. /package/dist/pine-core/{p-e8aad8dc.entry.js.map → p-9eccf7b9.entry.js.map} +0 -0
  579. /package/dist/pine-core/{p-00568c20.system.entry.js.map → p-a07b8e45.system.entry.js.map} +0 -0
  580. /package/dist/pine-core/{p-c5013d20.entry.js.map → p-a3cdff85.entry.js.map} +0 -0
  581. /package/dist/pine-core/{p-a4b16b32.system.entry.js.map → p-a5b24b1d.system.entry.js.map} +0 -0
  582. /package/dist/pine-core/{p-596acf65.entry.js.map → p-a99e8caf.entry.js.map} +0 -0
  583. /package/dist/pine-core/{p-f8fba315.entry.js.map → p-bc85016b.entry.js.map} +0 -0
  584. /package/dist/pine-core/{p-61588eac.entry.js.map → p-bddc9c5a.entry.js.map} +0 -0
  585. /package/dist/pine-core/{p-7de73ac5.entry.js.map → p-c24d11c7.entry.js.map} +0 -0
  586. /package/dist/pine-core/{p-0ace9c16.entry.js.map → p-c7c00a27.entry.js.map} +0 -0
  587. /package/dist/pine-core/{p-cb6c279a.system.entry.js.map → p-cac3128b.system.entry.js.map} +0 -0
  588. /package/dist/pine-core/{p-6cba6806.entry.js.map → p-d6302edd.entry.js.map} +0 -0
  589. /package/dist/pine-core/{p-04294b28.system.entry.js.map → p-daa36570.system.entry.js.map} +0 -0
  590. /package/dist/pine-core/{p-15650db8.entry.js.map → p-e6dc2297.entry.js.map} +0 -0
  591. /package/dist/pine-core/{p-9f53eb94.system.entry.js.map → p-e8cf15d7.system.entry.js.map} +0 -0
  592. /package/dist/pine-core/{p-f92055f3.entry.js.map → p-eb026745.entry.js.map} +0 -0
@@ -11,6 +11,12 @@ export class PdsTable {
11
11
  * @defaultValue false
12
12
  */
13
13
  this.rowDividers = false;
14
+ /**
15
+ * The direction to sort the default column on initial load.
16
+ * Only applies if `defaultSortColumn` is set.
17
+ * @defaultValue 'asc'
18
+ */
19
+ this.defaultSortDirection = 'asc';
14
20
  /**
15
21
  * The name of the column being sorted.
16
22
  * @defaultValue null
@@ -22,13 +28,41 @@ export class PdsTable {
22
28
  */
23
29
  this.sortingDirection = 'asc';
24
30
  }
25
- componentWillLoad() {
26
- this.sortingColumn = null;
27
- }
28
31
  componentDidLoad() {
29
32
  if (this.responsive) {
30
33
  this.setupResponsiveScrolling();
31
34
  }
35
+ // Apply default sort if specified
36
+ if (this.defaultSortColumn) {
37
+ void this.applyDefaultSort().catch((err) => {
38
+ console.warn('Failed to apply default sort.', err);
39
+ });
40
+ }
41
+ }
42
+ /**
43
+ * Applies the default sort configuration on initial load.
44
+ * Finds the matching column header and activates its sort state.
45
+ * @private
46
+ */
47
+ async applyDefaultSort() {
48
+ var _a;
49
+ // Normalize direction to handle invalid HTML attribute values
50
+ const direction = this.defaultSortDirection === 'desc' ? 'desc' : 'asc';
51
+ // Find the matching sortable header cell
52
+ const columnHeaderCells = Array.from(this.el.querySelectorAll('pds-table-head-cell[sortable]'));
53
+ const matchingCell = columnHeaderCells.find((cell) => { var _a; return ((_a = cell.textContent) !== null && _a !== void 0 ? _a : '').trim() === this.defaultSortColumn; });
54
+ if (matchingCell) {
55
+ const columnName = ((_a = matchingCell.textContent) !== null && _a !== void 0 ? _a : '').trim();
56
+ // Sort the table data
57
+ this.sortTable(columnName, direction);
58
+ this.sortingColumn = columnName;
59
+ this.sortingDirection = direction;
60
+ // Activate the visual state on the header cell
61
+ await matchingCell.setActiveSort(direction);
62
+ }
63
+ else {
64
+ console.warn(`Default sort column "${this.defaultSortColumn}" not found.`);
65
+ }
32
66
  }
33
67
  disconnectedCallback() {
34
68
  if (this._teardownResponsive) {
@@ -131,6 +165,9 @@ export class PdsTable {
131
165
  }
132
166
  sortTable(column, direction) {
133
167
  const tableBody = this.el.querySelector('pds-table-body');
168
+ // Return early if no table body exists
169
+ if (!tableBody)
170
+ return;
134
171
  // Get the rows in the table body
135
172
  const tableRows = Array.from(tableBody.querySelectorAll('pds-table-row'));
136
173
  // Find the column index based on the column name
@@ -159,6 +196,8 @@ export class PdsTable {
159
196
  });
160
197
  }
161
198
  handleTableSort(event) {
199
+ if (event.defaultPrevented)
200
+ return;
162
201
  const { direction } = event.detail;
163
202
  this.sortTable(event.detail.column, direction);
164
203
  this.sortingColumn = event.detail.column;
@@ -323,6 +362,48 @@ export class PdsTable {
323
362
  "reflect": true,
324
363
  "attribute": "row-dividers",
325
364
  "defaultValue": "false"
365
+ },
366
+ "defaultSortColumn": {
367
+ "type": "string",
368
+ "mutable": false,
369
+ "complexType": {
370
+ "original": "string",
371
+ "resolved": "string",
372
+ "references": {}
373
+ },
374
+ "required": false,
375
+ "optional": true,
376
+ "docs": {
377
+ "tags": [],
378
+ "text": "The name of the column to sort by on initial load.\nMust match the text content of a sortable column header."
379
+ },
380
+ "getter": false,
381
+ "setter": false,
382
+ "reflect": false,
383
+ "attribute": "default-sort-column"
384
+ },
385
+ "defaultSortDirection": {
386
+ "type": "string",
387
+ "mutable": false,
388
+ "complexType": {
389
+ "original": "'asc' | 'desc'",
390
+ "resolved": "\"asc\" | \"desc\"",
391
+ "references": {}
392
+ },
393
+ "required": false,
394
+ "optional": true,
395
+ "docs": {
396
+ "tags": [{
397
+ "name": "defaultValue",
398
+ "text": "'asc'"
399
+ }],
400
+ "text": "The direction to sort the default column on initial load.\nOnly applies if `defaultSortColumn` is set."
401
+ },
402
+ "getter": false,
403
+ "setter": false,
404
+ "reflect": false,
405
+ "attribute": "default-sort-direction",
406
+ "defaultValue": "'asc'"
326
407
  }
327
408
  };
328
409
  }
@@ -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 * 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 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"]}
@@ -24,6 +24,21 @@ export default {
24
24
  control: { type: 'boolean' },
25
25
  description: 'Adds divider borders between table rows. The last row will not have a bottom border',
26
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
+ },
27
42
  },
28
43
  };
29
44
 
@@ -127,7 +142,7 @@ const ResponsiveTemplate = (args) => html`
127
142
  <pds-table-head-cell>Column Title</pds-table-head-cell>
128
143
  <pds-table-head-cell>Column Title</pds-table-head-cell>
129
144
  <pds-table-head-cell>Column Title</pds-table-head-cell>
130
- <pds-table-head-cell>Column Title</pds-table-head-cell>
145
+ <pds-table-head-cell>Actions</pds-table-head-cell>
131
146
  </pds-table-head>
132
147
  <pds-table-body>
133
148
  <pds-table-row value="responsive1">
@@ -142,7 +157,15 @@ const ResponsiveTemplate = (args) => html`
142
157
  <pds-table-cell>Row Item Juliett</pds-table-cell>
143
158
  <pds-table-cell>Row Item Kilo</pds-table-cell>
144
159
  <pds-table-cell>Row Item Lima</pds-table-cell>
145
- <pds-table-cell>Row Item Mike</pds-table-cell>
160
+ <pds-table-cell>
161
+ <pds-dropdown-menu placement="bottom-end">
162
+ <pds-button slot="trigger" size="sm" variant="icon-only"><pds-icon name="dot-menu-horizontal"></pds-icon></pds-button>
163
+ <pds-dropdown-menu-item>Edit</pds-dropdown-menu-item>
164
+ <pds-dropdown-menu-item>Duplicate</pds-dropdown-menu-item>
165
+ <pds-dropdown-menu-separator></pds-dropdown-menu-separator>
166
+ <pds-dropdown-menu-item destructive>Delete</pds-dropdown-menu-item>
167
+ </pds-dropdown-menu>
168
+ </pds-table-cell>
146
169
  </pds-table-row>
147
170
  <pds-table-row value="responsive2">
148
171
  <pds-table-cell>Row Item Alpha</pds-table-cell>
@@ -156,7 +179,15 @@ const ResponsiveTemplate = (args) => html`
156
179
  <pds-table-cell>Row Item Juliett</pds-table-cell>
157
180
  <pds-table-cell>Row Item Kilo</pds-table-cell>
158
181
  <pds-table-cell>Row Item Lima</pds-table-cell>
159
- <pds-table-cell>Row Item Mike</pds-table-cell>
182
+ <pds-table-cell>
183
+ <pds-dropdown-menu placement="bottom-end">
184
+ <pds-button slot="trigger" size="sm" variant="icon-only"><pds-icon name="dot-menu-horizontal"></pds-icon></pds-button>
185
+ <pds-dropdown-menu-item>Edit</pds-dropdown-menu-item>
186
+ <pds-dropdown-menu-item>Duplicate</pds-dropdown-menu-item>
187
+ <pds-dropdown-menu-separator></pds-dropdown-menu-separator>
188
+ <pds-dropdown-menu-item destructive>Delete</pds-dropdown-menu-item>
189
+ </pds-dropdown-menu>
190
+ </pds-table-cell>
160
191
  </pds-table-row>
161
192
  <pds-table-row value="responsive3">
162
193
  <pds-table-cell>Row Item Alpha</pds-table-cell>
@@ -170,7 +201,15 @@ const ResponsiveTemplate = (args) => html`
170
201
  <pds-table-cell>Row Item Juliett</pds-table-cell>
171
202
  <pds-table-cell>Row Item Kilo</pds-table-cell>
172
203
  <pds-table-cell>Row Item Lima</pds-table-cell>
173
- <pds-table-cell>Row Item Mike</pds-table-cell>
204
+ <pds-table-cell>
205
+ <pds-dropdown-menu placement="bottom-end">
206
+ <pds-button slot="trigger" size="sm" variant="icon-only"><pds-icon name="dot-menu-horizontal"></pds-icon></pds-button>
207
+ <pds-dropdown-menu-item>Edit</pds-dropdown-menu-item>
208
+ <pds-dropdown-menu-item>Duplicate</pds-dropdown-menu-item>
209
+ <pds-dropdown-menu-separator></pds-dropdown-menu-separator>
210
+ <pds-dropdown-menu-item destructive>Delete</pds-dropdown-menu-item>
211
+ </pds-dropdown-menu>
212
+ </pds-table-cell>
174
213
  </pds-table-row>
175
214
  </pds-table-body>
176
215
  </pds-table>`;
@@ -183,6 +222,8 @@ const SortableTemplate = (args) => html`
183
222
  ?responsive=${args.responsive}
184
223
  ?row-dividers=${args.rowDividers}
185
224
  ?selectable=${args.selectable}
225
+ default-sort-column="${args.defaultSortColumn}"
226
+ default-sort-direction="${args.defaultSortDirection}"
186
227
  >
187
228
  <pds-table-head
188
229
  ?border=${args.border}
@@ -236,6 +277,54 @@ const SortableTemplate = (args) => html`
236
277
  </pds-table-body>
237
278
  </pds-table>`;
238
279
 
280
+ const DefaultSortTemplate = (args) => html`
281
+ <pds-table
282
+ ?compact=${args.compact}
283
+ component-id="${args.componentId}"
284
+ ?fixed-column=${args.fixedColumn}
285
+ ?responsive=${args.responsive}
286
+ ?row-dividers=${args.rowDividers}
287
+ ?selectable=${args.selectable}
288
+ default-sort-column="${args.defaultSortColumn}"
289
+ default-sort-direction="${args.defaultSortDirection}"
290
+ >
291
+ <pds-table-head
292
+ ?border=${args.border}
293
+ ?background=${args.background}
294
+ >
295
+ <pds-table-head-cell sortable>Name</pds-table-head-cell>
296
+ <pds-table-head-cell sortable>Email</pds-table-head-cell>
297
+ <pds-table-head-cell sortable>Account</pds-table-head-cell>
298
+ </pds-table-head>
299
+ <pds-table-body>
300
+ <pds-table-row>
301
+ <pds-table-cell>John Doe</pds-table-cell>
302
+ <pds-table-cell>john.doe@example.com</pds-table-cell>
303
+ <pds-table-cell>47321</pds-table-cell>
304
+ </pds-table-row>
305
+ <pds-table-row>
306
+ <pds-table-cell>Jane Smith</pds-table-cell>
307
+ <pds-table-cell>jane.smith@example.com</pds-table-cell>
308
+ <pds-table-cell>89654</pds-table-cell>
309
+ </pds-table-row>
310
+ <pds-table-row>
311
+ <pds-table-cell>Michael Johnson</pds-table-cell>
312
+ <pds-table-cell>michael.johnson@example.com</pds-table-cell>
313
+ <pds-table-cell>21578</pds-table-cell>
314
+ </pds-table-row>
315
+ <pds-table-row>
316
+ <pds-table-cell>Susan Brown</pds-table-cell>
317
+ <pds-table-cell>susan.brown@example.com</pds-table-cell>
318
+ <pds-table-cell>63920</pds-table-cell>
319
+ </pds-table-row>
320
+ <pds-table-row>
321
+ <pds-table-cell>William Davis</pds-table-cell>
322
+ <pds-table-cell>william.davis@example.com</pds-table-cell>
323
+ <pds-table-cell>17436</pds-table-cell>
324
+ </pds-table-row>
325
+ </pds-table-body>
326
+ </pds-table>`;
327
+
239
328
  export const Default = BaseTemplate.bind();
240
329
  Default.args = {
241
330
  compact: false,
@@ -319,6 +408,22 @@ Sortable.args = {
319
408
  rowDividers: false,
320
409
  selectable: false,
321
410
  sortable: true,
411
+ defaultSortColumn: 'Name',
412
+ defaultSortDirection: 'asc',
413
+ };
414
+
415
+ export const DefaultSorting = DefaultSortTemplate.bind();
416
+ DefaultSorting.args = {
417
+ compact: false,
418
+ componentId: 'default-sort',
419
+ fixedColumn: false,
420
+ border: false,
421
+ background: false,
422
+ responsive: false,
423
+ rowDividers: false,
424
+ selectable: false,
425
+ defaultSortColumn: 'Name',
426
+ defaultSortDirection: 'desc',
322
427
  };
323
428
 
324
429
  export const RowDividers = BaseTemplate.bind();
@@ -183,17 +183,21 @@ pds-tab {
183
183
  border-color: var(--pine-color-border);
184
184
  box-shadow: var(--pine-box-shadow-100);
185
185
  color: var(--pine-color-text-active);
186
- /* stylelint-disable max-nesting-depth */
187
- /* stylelint-enable max-nesting-depth */
188
186
  }
189
187
  .pds-tabs--pill .pds-tab.is-active:focus-visible, .pds-tabs--pill .pds-tab[aria-selected=true]:focus-visible {
190
188
  border-color: var(--color-border-focus);
191
189
  outline: var(--pine-outline-focus);
192
190
  outline-offset: var(--pine-border-width);
193
191
  }
192
+ .pds-tabs--pill .pds-tab.is-active, .pds-tabs--pill .pds-tab[aria-selected=true] {
193
+ /* stylelint-disable max-nesting-depth */
194
+ }
194
195
  .pds-tabs--pill .pds-tab.is-active .pds-tab__content::after, .pds-tabs--pill .pds-tab[aria-selected=true] .pds-tab__content::after {
195
196
  opacity: 0;
196
197
  }
198
+ .pds-tabs--pill .pds-tab.is-active, .pds-tabs--pill .pds-tab[aria-selected=true] {
199
+ /* stylelint-enable max-nesting-depth */
200
+ }
197
201
  .pds-tabs--pill .pds-tab:disabled, .pds-tabs--pill .pds-tab.is-disabled {
198
202
  color: var(--pine-color-text-disabled);
199
203
  }
@@ -26,9 +26,9 @@ export class PdsTab {
26
26
  return classes.filter(Boolean).join(' ');
27
27
  }
28
28
  render() {
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' })))));
29
+ const availabilityTabEdgeInlineStart = (h("span", { key: 'e8e263009d29fea16f1cf51de545f07d3529568d', class: "pds-tab-edge", role: "presentation" }));
30
+ const availabilityTabEdgeInlineEnd = (h("span", { key: 'f492586e916cddbbdf04c3a2cdb84ad0d669df36', class: "pds-tab-edge pds-tab-edge--end", role: "presentation" }));
31
+ return (h(Host, { key: 'ec4c47883d2a1721d7986a152f787852352cb058', variant: this.variant, slot: "tabs", index: this.index }, h("button", { key: '2f2436892e5cf20e777bf9624c022a88177776dd', 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: '202d34facfc70b5ca3ef6dfb9d9a2f36a09747d2', class: "pds-tab__content" }, h("slot", { key: '002cc5de784ff0cd01b06688c2205a490c47d27b' })))));
32
32
  }
33
33
  static get is() { return "pds-tab"; }
34
34
  static get originalStyleUrls() {
@@ -8,7 +8,7 @@ export class PdsTabpanel {
8
8
  this.selected = false; // eslint-disable-line @stencil-community/strict-mutable
9
9
  }
10
10
  render() {
11
- return (h(Host, { key: 'f7a2009fbf7cb1da7aaed92c64fd4e80b83c9ad3', slot: "tabpanels" }, h("div", { key: '696804cadb97707558ef8c4a7cb90529fbf14c87', role: "tabpanel", id: this.parentComponentId + "__" + this.name + '-panel', tabindex: "0", "aria-labelledby": this.parentComponentId + "__" + this.name, class: this.selected ? "pds-tabpanel is-active" : "pds-tabpanel" }, h("slot", { key: '25b1a21995505a25af429038d2b3394063db723f' }))));
11
+ return (h(Host, { key: '0f64285738a96afa3cf2e1134201e942cf04b0ee', slot: "tabpanels" }, h("div", { key: 'f677ed3b377ce2f5f6868831369338829af89868', role: "tabpanel", id: this.parentComponentId + "__" + this.name + '-panel', tabindex: "0", "aria-labelledby": this.parentComponentId + "__" + this.name, class: this.selected ? "pds-tabpanel is-active" : "pds-tabpanel" }, h("slot", { key: '46a236b465f387508aa494ecf80aa146cecd4ade' }))));
12
12
  }
13
13
  static get is() { return "pds-tabpanel"; }
14
14
  static get originalStyleUrls() {
@@ -87,7 +87,7 @@ export class PdsTabs {
87
87
  this.passPropsToChildren();
88
88
  }
89
89
  render() {
90
- return (h(Host, { key: '94465ebf3e3a10ff9171a8bd890cab85cff52636', "active-tab-name": this.activeTabName, class: this.classNames(), id: this.componentId }, h("div", { key: '3af742499e795c9b4c89d0537aa45679e02cc3b7', class: "pds-tabs__tablist", role: "tablist", "aria-label": this.tablistLabel, part: "tab-list" }, h("slot", { key: '655e6686afd2bc5823c69259f8ee0ba943905ecd', name: "tabs" })), h("slot", { key: '7fdebe4e77cb52ad481ca12af0796db825d31365', name: "tabpanels" })));
90
+ return (h(Host, { key: 'fee342f0fbc06387fd964a518c0e97a091d1aded', "active-tab-name": this.activeTabName, class: this.classNames(), id: this.componentId }, h("div", { key: '7512b1d02a8320aad1e2934428dec970ff0c1743', class: "pds-tabs__tablist", role: "tablist", "aria-label": this.tablistLabel, part: "tab-list" }, h("slot", { key: 'dccf28dad2d084185e5f1b0f1f1eeab1c77cd541', name: "tabs" })), h("slot", { key: 'bd8b9040808925ea5f1c73c06d636f35c297b4b7', name: "tabpanels" })));
91
91
  }
92
92
  static get is() { return "pds-tabs"; }
93
93
  static get encapsulation() { return "shadow"; }
@@ -20,7 +20,7 @@ export class PdsText {
20
20
  ${this.weight !== undefined && this.weight.trim() !== '' ? `pds-text--weight-${this.weight}` : ''}
21
21
  ${this.decoration !== undefined && this.decoration.trim() !== '' ? `pds-text--decoration-${this.decoration}` : ''}
22
22
  `;
23
- return (h(Tag, { key: '42a62bfa709c5d093d6559ed073486b6a74e6bf5', style: this.color && setColor(this.color), class: typeClasses, part: "content" }, h("slot", { key: '46dd8be0670070f381bad21df56307595a5c94c9' })));
23
+ return (h(Tag, { key: '5f7d43603c8d412a375d2e49818b363b5e9a142b', style: this.color && setColor(this.color), class: typeClasses, part: "content" }, h("slot", { key: '702d5065297e0405295aa941cd39dba38787519e' })));
24
24
  }
25
25
  static get is() { return "pds-text"; }
26
26
  static get encapsulation() { return "shadow"; }
@@ -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: '8e14fed28b2edd75aef6c5a1991518bb8b11931d', "aria-disabled": this.disabled ? 'true' : null, "aria-readonly": this.readonly ? 'true' : null, "has-action": this.hasAction && !this.hideLabel ? 'true' : null }, h("div", { key: '4dcf8471267223b0cd1f6e7b6dd2072550b3ac8b', class: "pds-textarea" }, this.label &&
293
- h("div", { key: '520d616798b2223a979955ed268378bc5ffd1571', class: "pds-textarea__label-wrapper" }, h("label", { key: 'b04566b03b0c809b4b6c639d75774d845a021636', htmlFor: this.componentId }, h("span", { key: 'a6b92315f11a7cf15c9aa2db0cd7d8a824ff88ae', class: this.hideLabel ? 'visually-hidden' : '' }, this.label)), !this.hideLabel && this.renderAction()), h("div", { key: 'b4cebca68b014c837fa8415a8f67f611b150b083', class: "pds-textarea__field-wrapper" }, h("textarea", Object.assign({ key: 'ac49811c463709ed2918324005ec8f4285fb76f2', 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 }, this.inheritedAttributes), value), this.renderCharacterCounter()), this.helperMessage &&
294
- h("p", { key: '7a4cc4c278d39c675a5e6e3d0b4a917d63441cd1', class: "pds-textarea__helper-message", id: messageId(this.componentId, 'helper') }, this.helperMessage), this.invalid &&
295
- h("p", { key: 'd02251c55ef2baf92fd66c92a16154b805494b6c', "aria-live": "assertive", class: "pds-textarea__error-message", id: messageId(this.componentId, 'error') }, h("pds-icon", { key: 'd7632ac66b16c0c306f245a23d379689d65e8010', icon: danger, size: "small" }), this.errorMessage))));
295
+ return (h(Host, { key: '3c78b9f124cf82fd48b2cbc29122c458d9918962', "aria-disabled": this.disabled ? 'true' : null, "aria-readonly": this.readonly ? 'true' : null, "has-action": this.hasAction && !this.hideLabel ? 'true' : null }, h("div", { key: '58ecb566c248304e19c33fab2431cf6062a203d7', class: "pds-textarea" }, this.label &&
296
+ h("div", { key: 'ad2c21f27492d374c4f56fed0f203f72bc3a4a6e', class: "pds-textarea__label-wrapper" }, h("label", { key: 'f966575088fe5699951c7762938cb80304bb0df5', htmlFor: this.componentId }, h("span", { key: 'ad9370de15d0c41e065d99d3b9859eb8b343424a', class: this.hideLabel ? 'visually-hidden' : '' }, this.label)), !this.hideLabel && this.renderAction()), h("div", { key: 'e76662a380252b0813c0b00d42bfaa4239c063dd', class: "pds-textarea__field-wrapper" }, h("textarea", Object.assign({ key: '4f9b3250d888b9da284a5583b5042df4f25b66f5', 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: '5c53c22d2682d1960b31b2bc40ad6a83d445dda2', class: "pds-textarea__helper-message", id: messageId(this.componentId, 'helper') }, this.helperMessage), this.invalid &&
298
+ h("p", { key: '74c79c4a218977a01932d1b94206b68867787064', "aria-live": "assertive", class: "pds-textarea__error-message", id: messageId(this.componentId, 'error') }, h("pds-icon", { key: 'c8118c35e1f6f6bcba281dd00e8abf8109827f30', 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() {