@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
@@ -38,6 +38,15 @@ export class PdsSelect {
38
38
  }
39
39
  this.pdsSelectChange.emit(e);
40
40
  };
41
+ this.onBlur = (ev) => {
42
+ this.pdsBlur.emit(ev);
43
+ };
44
+ this.onFocus = (ev) => {
45
+ this.pdsFocus.emit(ev);
46
+ };
47
+ this.onKeyDown = (ev) => {
48
+ this.pdsKeyDown.emit(ev);
49
+ };
41
50
  /**
42
51
  * Handles the change event for the slot element.
43
52
  * This method is triggered when the slot content changes.
@@ -212,7 +221,7 @@ export class PdsSelect {
212
221
  }
213
222
  render() {
214
223
  const hasAction = this.el.querySelector('[slot="action"]') !== null;
215
- return (h(Host, { key: 'a9139d93b3e1057646643bce5cef8f5bd072615d', "aria-disabled": this.disabled ? 'true' : null, class: this.classNames(), "has-action": hasAction && !this.hideLabel ? 'true' : null }, h("div", { key: '14d7461f057934efdf78d9db06a0a56dd7f58564', class: "pds-select" }, !this.hideLabel && (h("div", { key: '5f4d16ba16d7a3eab2ab04cc1b62f0b221078d6b', class: "pds-select__label-wrapper" }, h("label", { key: 'df577d4a6d3ae08b9da868deb16962d43b1b1051', htmlFor: this.componentId }, h("span", { key: 'd79d03a5324354310518dbf05a57a1ffa5c16a1d', class: this.hideLabel ? 'visually-hidden' : '' }, this.label)), hasAction && this.renderAction())), h("select", { key: '930837a21d20551e3a4110f7329ea08b93dcdca8', "aria-label": this.hideLabel ? this.label : undefined, autocomplete: this.autocomplete || undefined, class: "pds-select__field", disabled: this.disabled, id: this.componentId, multiple: this.multiple, name: this.name, onChange: this.onSelectUpdate, part: "select", required: this.required, ref: (el) => (this.selectEl = el) }), h("div", { key: '1265a08cb7c8b953e136430ec444f9d3c72bb6e0', "aria-hidden": "true", class: "hidden", ref: (el) => (this.slotContainer = el) }, h("slot", { key: 'e1038e19520ac144b5f2416a1ea0e9c6d5be5d88', onSlotchange: this.handleSlotChange })), this.renderMessages(), !this.multiple && h("pds-icon", { key: 'ecd39b109ec38d9e61c8c3d0281c01d8fc25da12', class: "pds-select__select-icon", icon: enlarge }))));
224
+ return (h(Host, { key: 'ce2ea014cb9651d4702eddc57a873684bd30aecb', "aria-disabled": this.disabled ? 'true' : null, class: this.classNames(), "has-action": hasAction && !this.hideLabel ? 'true' : null }, h("div", { key: '960c12bb9cc16261ddd54f381dc633a72724847d', class: "pds-select" }, !this.hideLabel && (h("div", { key: '599ab73596c72413778aeb54148105d28556c7b6', class: "pds-select__label-wrapper" }, h("label", { key: '04a9c836822bc80013d022e5e91f025ac304c34b', htmlFor: this.componentId }, h("span", { key: '5b01e324cc15017672682af17126bcc5942b0d6a', class: this.hideLabel ? 'visually-hidden' : '' }, this.label)), hasAction && this.renderAction())), h("select", { key: 'f13a0bfa5b6e7b34e7edcf9b807e90bbdcc8da95', "aria-label": this.hideLabel ? this.label : undefined, autocomplete: this.autocomplete || undefined, class: "pds-select__field", disabled: this.disabled, id: this.componentId, multiple: this.multiple, name: this.name, onBlur: this.onBlur, onChange: this.onSelectUpdate, onFocus: this.onFocus, onKeyDown: this.onKeyDown, part: "select", required: this.required, ref: (el) => (this.selectEl = el) }), h("div", { key: 'cd01ea77340c9d1ffdf61494a64138c9361a93a1', "aria-hidden": "true", class: "hidden", ref: (el) => (this.slotContainer = el) }, h("slot", { key: '34c97591724950d7e4a5dfcb35b1945f2d457dbb', onSlotchange: this.handleSlotChange })), this.renderMessages(), !this.multiple && h("pds-icon", { key: '7179c3c86292e79839fa245d7ed5b050295893cc', class: "pds-select__select-icon", icon: enlarge }))));
216
225
  }
217
226
  static get is() { return "pds-select"; }
218
227
  static get encapsulation() { return "shadow"; }
@@ -499,7 +508,7 @@ export class PdsSelect {
499
508
  "composed": true,
500
509
  "docs": {
501
510
  "tags": [],
502
- "text": "Emitted when a keyboard input occurs."
511
+ "text": "Emitted when the select value changes."
503
512
  },
504
513
  "complexType": {
505
514
  "original": "InputEvent",
@@ -511,6 +520,66 @@ export class PdsSelect {
511
520
  }
512
521
  }
513
522
  }
523
+ }, {
524
+ "method": "pdsBlur",
525
+ "name": "pdsBlur",
526
+ "bubbles": true,
527
+ "cancelable": true,
528
+ "composed": true,
529
+ "docs": {
530
+ "tags": [],
531
+ "text": "Emitted when the select loses focus."
532
+ },
533
+ "complexType": {
534
+ "original": "FocusEvent",
535
+ "resolved": "FocusEvent",
536
+ "references": {
537
+ "FocusEvent": {
538
+ "location": "global",
539
+ "id": "global::FocusEvent"
540
+ }
541
+ }
542
+ }
543
+ }, {
544
+ "method": "pdsFocus",
545
+ "name": "pdsFocus",
546
+ "bubbles": true,
547
+ "cancelable": true,
548
+ "composed": true,
549
+ "docs": {
550
+ "tags": [],
551
+ "text": "Emitted when the select gains focus."
552
+ },
553
+ "complexType": {
554
+ "original": "FocusEvent",
555
+ "resolved": "FocusEvent",
556
+ "references": {
557
+ "FocusEvent": {
558
+ "location": "global",
559
+ "id": "global::FocusEvent"
560
+ }
561
+ }
562
+ }
563
+ }, {
564
+ "method": "pdsKeyDown",
565
+ "name": "pdsKeyDown",
566
+ "bubbles": true,
567
+ "cancelable": true,
568
+ "composed": true,
569
+ "docs": {
570
+ "tags": [],
571
+ "text": "Emitted when a key is pressed down in the select."
572
+ },
573
+ "complexType": {
574
+ "original": "KeyboardEvent",
575
+ "resolved": "KeyboardEvent",
576
+ "references": {
577
+ "KeyboardEvent": {
578
+ "location": "global",
579
+ "id": "global::KeyboardEvent"
580
+ }
581
+ }
582
+ }
514
583
  }];
515
584
  }
516
585
  static get elementRef() { return "el"; }
@@ -1 +1 @@
1
- {"version":3,"file":"pds-select.js","sourceRoot":"","sources":["../../../../src/components/pds-select/pds-select.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Element, Event, EventEmitter, Host, h, Prop, Watch } from '@stencil/core';\nimport { messageId, exposeTypeProperty } from '../../utils/form';\nimport { danger, enlarge } from '@pine-ds/icons/icons';\n\n/**\n * @slot action - Content to be displayed in the label area, typically for help icons or links\n */\n@Component({\n tag: 'pds-select',\n styleUrls: ['pds-select.tokens.scss', '../../global/styles/utils/label.scss', 'pds-select.scss'],\n shadow: true,\n formAssociated: true,\n})\nexport class PdsSelect {\n\n private selectEl!: HTMLSelectElement;\n private slotContainer!: HTMLDivElement;\n private internals?: ElementInternals;\n private _type: 'select-one' | 'select-multiple' = 'select-one';\n\n @Element() el: HTMLPdsSelectElement;\n\n /**\n * Specifies if and how the browser provides `autocomplete` assistance for the field.\n */\n @Prop() autocomplete: string;\n\n /**\n * A unique identifier used for the underlying component `id` attribute.\n */\n @Prop() componentId!: string;\n\n /**\n * Indicates whether or not the select field is disabled.\n * @defaultValue false\n */\n @Prop() disabled = false\n\n /**\n * Displays error message text describing an invalid state.\n */\n @Prop() errorMessage: string;\n\n /**\n * Visually hides the label text for instances where only the select should be displayed. Label remains accessible to assistive technology such as screen readers.\n * Note: When true, the action slot is also hidden to maintain a minimal UI.\n */\n @Prop() hideLabel: boolean;\n\n /**\n * Displays helper message text below select.\n */\n @Prop() helperMessage: string;\n\n /**\n * Determines whether or not the select is invalid.\n */\n @Prop() invalid?: boolean;\n\n /**\n * Text to be displayed as the select label.\n */\n @Prop() label?: string;\n\n /**\n * Indicates whether multiple options can be selected.\n * @defaultValue false\n */\n @Prop() multiple = false;\n\n /**\n * Specifies the name. Submitted with the form name/value pair.\n */\n @Prop() name!: string;\n\n /**\n * Indicates whether or not the select field is required.\n * @defaultValue false\n */\n @Prop() required = false;\n\n /**\n * Applies highlight styling to the select field.\n */\n @Prop({ reflect: true }) highlight?: boolean;\n\n /**\n * The value(s) of the selected option(s).\n *\n */\n @Prop({ mutable: true }) value?: string | string[];\n\n\n /**\n * Emitted when a keyboard input occurs.\n */\n @Event() pdsSelectChange: EventEmitter<InputEvent>;\n\n @Watch('value')\n /**\n * Handles the change in the value of the select component.\n * This method is called whenever the value of the select component changes.\n * It updates the selected option accordingly.\n */\n valueChanged() {\n this.updateSelectedOption();\n this.updateFormValue();\n }\n\n @Watch('multiple')\n /**\n * Updates the type property when multiple changes to match native select behavior.\n */\n multipleChanged() {\n this.updateType();\n }\n\n private updateType() {\n this._type = this.multiple ? 'select-multiple' : 'select-one';\n }\n\n connectedCallback() {\n // Initialize ElementInternals for form association\n if (this.el.attachInternals) {\n this.internals = this.el.attachInternals();\n }\n\n // Expose type property on the element instance to match native form element behavior\n exposeTypeProperty(this.el, () => this._type);\n }\n\n componentWillLoad() {\n // Set initial type based on multiple prop\n this.updateType();\n this.updateSelectedOption();\n }\n\n componentDidLoad() {\n // Set initial form value\n this.updateFormValue();\n }\n\n /**\n * Updates the selected option in the select element based on the current value.\n *\n * This method iterates through all the options of the select element and sets the\n * 'selected' attribute on the option that matches the current value. If an option\n * does not match the current value, the 'selected' attribute is removed.\n *\n * @private\n * @returns {void}\n */\n private updateSelectedOption() {\n if (this.selectEl) {\n const options = this.selectEl.options;\n\n // Update the selected attribute for all options.\n Array.from(options).map((option: HTMLOptionElement) => {\n if (Array.isArray(this.value)) {\n option.selected = this.value.includes(option.value);\n } else {\n option.selected = this.value === option.value;\n }\n });\n };\n }\n\n /**\n * Emits an event on input change.\n */\n private onSelectUpdate = (e: Event) => {\n const target = e.target as HTMLSelectElement\n\n const values = Array.from(target.options)\n .filter((option) => ( option.selected))\n .map((option) => ( option.value));\n\n if (values.length === 1 && !this.multiple) {\n this.value = values[0];\n } else {\n this.value = values;\n }\n\n this.pdsSelectChange.emit(e as InputEvent);\n };\n\n /**\n * Handles the change event for the slot element.\n * This method is triggered when the slot content changes.\n * It updates the inner HTML of the select element by cloning and appending\n * the assigned <option> elements from the slot.\n */\n private handleSlotChange = () => {\n const slot = this.slotContainer.querySelector('slot') as HTMLSlotElement;\n\n this.selectEl.innerHTML = '';\n const assignedElements = slot.assignedElements({ flatten: true }) as (HTMLOptionElement | HTMLOptGroupElement)[];\n\n assignedElements.forEach((item) => {\n if ( ['OPTION', 'OPTGROUP'].includes(item.tagName)) {\n const clonedItem = item.cloneNode(true) as HTMLOptionElement | HTMLOptGroupElement;\n if (clonedItem.tagName === 'OPTION' && (clonedItem as HTMLOptionElement).value === this.value) {\n (clonedItem as HTMLOptionElement).selected = true;\n }\n this.selectEl.appendChild(clonedItem);\n }\n });\n\n this.updateSelectedOption();\n };\n\n private getHelperMessage() {\n return this.helperMessage && (\n <p class=\"pds-select__helper-message\" id={messageId(this.componentId, 'helper')}>\n {this.helperMessage}\n </p>\n );\n }\n\n private getErrorMessage() {\n return this.errorMessage && (\n <p class=\"pds-select__error-message\" id={messageId(this.componentId, 'error')} aria-live=\"assertive\">\n <pds-icon icon={danger} size=\"small\"></pds-icon>\n {this.errorMessage}\n </p>\n );\n }\n\n private renderMessages() {\n if (!this.helperMessage && !this.errorMessage) return null;\n\n return (\n <div class=\"pds-select__message\">\n {this.getHelperMessage()}\n {this.getErrorMessage()}\n </div>\n );\n }\n\n private classNames() {\n const classNames = [];\n\n if (this.invalid) { classNames.push('is-invalid'); }\n if (this.disabled) { classNames.push('is-disabled'); }\n\n return classNames.join(' ');\n }\n\n private renderAction() {\n const hasAction = this.el.querySelector('[slot=\"action\"]') !== null;\n if (hasAction) {\n return (\n <div class=\"pds-select__action\" part=\"action\">\n <slot name=\"action\"></slot>\n </div>\n );\n }\n return null;\n }\n\n /**\n * Updates the form value using ElementInternals API\n */\n private updateFormValue() {\n if (this.internals && this.internals.setFormValue) {\n const value = this.value;\n\n // Handle multi-select arrays by converting to FormData or comma-separated string\n if (Array.isArray(value)) {\n if (value.length > 1) {\n // For multiple values, create FormData with multiple entries\n const formData = new FormData();\n value.forEach(val => formData.append(this.name || '', val));\n this.internals.setFormValue(formData);\n } else {\n // Single value in array, use the string value\n this.internals.setFormValue(value[0] || null);\n }\n } else {\n // Single string value\n this.internals.setFormValue(value || null);\n }\n\n // Set validity based on native select validation\n if (this.selectEl && this.internals && this.internals.setValidity) {\n this.internals.setValidity(\n this.selectEl.validity,\n this.selectEl.validationMessage,\n this.selectEl\n );\n }\n }\n }\n\n /**\n * Form Associated Custom Elements API: Called when the form is reset\n */\n formResetCallback() {\n this.value = '';\n this.updateFormValue();\n }\n\n /**\n * Form Associated Custom Elements API: Called when the form is disabled\n */\n formDisabledCallback(disabled: boolean) {\n this.disabled = disabled;\n }\n\n /**\n * Form Associated Custom Elements API: Called to restore form state\n */\n formStateRestoreCallback(state: string | FormData | null) {\n if (typeof state === 'string') {\n this.value = state;\n } else if (state instanceof FormData && this.name) {\n // Extract value(s) from FormData using the select's name\n const values = state.getAll(this.name);\n if (values.length > 1) {\n // Multi-select: convert to string array\n this.value = values.filter(v => typeof v === 'string') as string[];\n } else if (values.length === 1 && typeof values[0] === 'string') {\n // Single select: use string value\n this.value = values[0];\n }\n }\n }\n\n render() {\n const hasAction = this.el.querySelector('[slot=\"action\"]') !== null;\n\n return (\n <Host aria-disabled={this.disabled ? 'true' : null} class={this.classNames()} has-action={hasAction && !this.hideLabel ? 'true' : null}>\n <div class=\"pds-select\">\n {!this.hideLabel && (\n <div class=\"pds-select__label-wrapper\">\n <label htmlFor={this.componentId}>\n <span class={this.hideLabel ? 'visually-hidden' : ''}>\n {this.label}\n </span>\n </label>\n {hasAction && this.renderAction()}\n </div>\n )}\n <select\n aria-label={this.hideLabel ? this.label : undefined}\n autocomplete={this.autocomplete || undefined}\n class=\"pds-select__field\"\n disabled={this.disabled}\n id={this.componentId}\n multiple={this.multiple}\n name={this.name}\n onChange={this.onSelectUpdate}\n part=\"select\"\n required={this.required}\n ref={(el) => (this.selectEl = el as HTMLSelectElement)}\n ></select>\n <div aria-hidden=\"true\" class=\"hidden\" ref={(el) => (this.slotContainer = el)}>\n <slot onSlotchange={this.handleSlotChange}></slot>\n </div>\n {this.renderMessages()}\n {!this.multiple && <pds-icon class=\"pds-select__select-icon\" icon={enlarge} />}\n </div>\n </Host>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"pds-select.js","sourceRoot":"","sources":["../../../../src/components/pds-select/pds-select.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Element, Event, EventEmitter, Host, h, Prop, Watch } from '@stencil/core';\nimport { messageId, exposeTypeProperty } from '../../utils/form';\nimport { danger, enlarge } from '@pine-ds/icons/icons';\n\n/**\n * @slot action - Content to be displayed in the label area, typically for help icons or links\n */\n@Component({\n tag: 'pds-select',\n styleUrls: ['pds-select.tokens.scss', '../../global/styles/utils/label.scss', 'pds-select.scss'],\n shadow: true,\n formAssociated: true,\n})\nexport class PdsSelect {\n\n private selectEl!: HTMLSelectElement;\n private slotContainer!: HTMLDivElement;\n private internals?: ElementInternals;\n private _type: 'select-one' | 'select-multiple' = 'select-one';\n\n @Element() el: HTMLPdsSelectElement;\n\n /**\n * Specifies if and how the browser provides `autocomplete` assistance for the field.\n */\n @Prop() autocomplete: string;\n\n /**\n * A unique identifier used for the underlying component `id` attribute.\n */\n @Prop() componentId!: string;\n\n /**\n * Indicates whether or not the select field is disabled.\n * @defaultValue false\n */\n @Prop() disabled = false\n\n /**\n * Displays error message text describing an invalid state.\n */\n @Prop() errorMessage: string;\n\n /**\n * Visually hides the label text for instances where only the select should be displayed. Label remains accessible to assistive technology such as screen readers.\n * Note: When true, the action slot is also hidden to maintain a minimal UI.\n */\n @Prop() hideLabel: boolean;\n\n /**\n * Displays helper message text below select.\n */\n @Prop() helperMessage: string;\n\n /**\n * Determines whether or not the select is invalid.\n */\n @Prop() invalid?: boolean;\n\n /**\n * Text to be displayed as the select label.\n */\n @Prop() label?: string;\n\n /**\n * Indicates whether multiple options can be selected.\n * @defaultValue false\n */\n @Prop() multiple = false;\n\n /**\n * Specifies the name. Submitted with the form name/value pair.\n */\n @Prop() name!: string;\n\n /**\n * Indicates whether or not the select field is required.\n * @defaultValue false\n */\n @Prop() required = false;\n\n /**\n * Applies highlight styling to the select field.\n */\n @Prop({ reflect: true }) highlight?: boolean;\n\n /**\n * The value(s) of the selected option(s).\n *\n */\n @Prop({ mutable: true }) value?: string | string[];\n\n\n /**\n * Emitted when the select value changes.\n */\n @Event() pdsSelectChange: EventEmitter<InputEvent>;\n\n /**\n * Emitted when the select loses focus.\n */\n @Event() pdsBlur!: EventEmitter<FocusEvent>;\n\n /**\n * Emitted when the select gains focus.\n */\n @Event() pdsFocus!: EventEmitter<FocusEvent>;\n\n /**\n * Emitted when a key is pressed down in the select.\n */\n @Event() pdsKeyDown!: EventEmitter<KeyboardEvent>;\n\n @Watch('value')\n /**\n * Handles the change in the value of the select component.\n * This method is called whenever the value of the select component changes.\n * It updates the selected option accordingly.\n */\n valueChanged() {\n this.updateSelectedOption();\n this.updateFormValue();\n }\n\n @Watch('multiple')\n /**\n * Updates the type property when multiple changes to match native select behavior.\n */\n multipleChanged() {\n this.updateType();\n }\n\n private updateType() {\n this._type = this.multiple ? 'select-multiple' : 'select-one';\n }\n\n connectedCallback() {\n // Initialize ElementInternals for form association\n if (this.el.attachInternals) {\n this.internals = this.el.attachInternals();\n }\n\n // Expose type property on the element instance to match native form element behavior\n exposeTypeProperty(this.el, () => this._type);\n }\n\n componentWillLoad() {\n // Set initial type based on multiple prop\n this.updateType();\n this.updateSelectedOption();\n }\n\n componentDidLoad() {\n // Set initial form value\n this.updateFormValue();\n }\n\n /**\n * Updates the selected option in the select element based on the current value.\n *\n * This method iterates through all the options of the select element and sets the\n * 'selected' attribute on the option that matches the current value. If an option\n * does not match the current value, the 'selected' attribute is removed.\n *\n * @private\n * @returns {void}\n */\n private updateSelectedOption() {\n if (this.selectEl) {\n const options = this.selectEl.options;\n\n // Update the selected attribute for all options.\n Array.from(options).map((option: HTMLOptionElement) => {\n if (Array.isArray(this.value)) {\n option.selected = this.value.includes(option.value);\n } else {\n option.selected = this.value === option.value;\n }\n });\n };\n }\n\n /**\n * Emits an event on input change.\n */\n private onSelectUpdate = (e: Event) => {\n const target = e.target as HTMLSelectElement\n\n const values = Array.from(target.options)\n .filter((option) => ( option.selected))\n .map((option) => ( option.value));\n\n if (values.length === 1 && !this.multiple) {\n this.value = values[0];\n } else {\n this.value = values;\n }\n\n this.pdsSelectChange.emit(e as InputEvent);\n };\n\n private onBlur = (ev: FocusEvent) => {\n this.pdsBlur.emit(ev);\n };\n\n private onFocus = (ev: FocusEvent) => {\n this.pdsFocus.emit(ev);\n };\n\n private onKeyDown = (ev: KeyboardEvent) => {\n this.pdsKeyDown.emit(ev);\n };\n\n /**\n * Handles the change event for the slot element.\n * This method is triggered when the slot content changes.\n * It updates the inner HTML of the select element by cloning and appending\n * the assigned <option> elements from the slot.\n */\n private handleSlotChange = () => {\n const slot = this.slotContainer.querySelector('slot') as HTMLSlotElement;\n\n this.selectEl.innerHTML = '';\n const assignedElements = slot.assignedElements({ flatten: true }) as (HTMLOptionElement | HTMLOptGroupElement)[];\n\n assignedElements.forEach((item) => {\n if ( ['OPTION', 'OPTGROUP'].includes(item.tagName)) {\n const clonedItem = item.cloneNode(true) as HTMLOptionElement | HTMLOptGroupElement;\n if (clonedItem.tagName === 'OPTION' && (clonedItem as HTMLOptionElement).value === this.value) {\n (clonedItem as HTMLOptionElement).selected = true;\n }\n this.selectEl.appendChild(clonedItem);\n }\n });\n\n this.updateSelectedOption();\n };\n\n private getHelperMessage() {\n return this.helperMessage && (\n <p class=\"pds-select__helper-message\" id={messageId(this.componentId, 'helper')}>\n {this.helperMessage}\n </p>\n );\n }\n\n private getErrorMessage() {\n return this.errorMessage && (\n <p class=\"pds-select__error-message\" id={messageId(this.componentId, 'error')} aria-live=\"assertive\">\n <pds-icon icon={danger} size=\"small\"></pds-icon>\n {this.errorMessage}\n </p>\n );\n }\n\n private renderMessages() {\n if (!this.helperMessage && !this.errorMessage) return null;\n\n return (\n <div class=\"pds-select__message\">\n {this.getHelperMessage()}\n {this.getErrorMessage()}\n </div>\n );\n }\n\n private classNames() {\n const classNames = [];\n\n if (this.invalid) { classNames.push('is-invalid'); }\n if (this.disabled) { classNames.push('is-disabled'); }\n\n return classNames.join(' ');\n }\n\n private renderAction() {\n const hasAction = this.el.querySelector('[slot=\"action\"]') !== null;\n if (hasAction) {\n return (\n <div class=\"pds-select__action\" part=\"action\">\n <slot name=\"action\"></slot>\n </div>\n );\n }\n return null;\n }\n\n /**\n * Updates the form value using ElementInternals API\n */\n private updateFormValue() {\n if (this.internals && this.internals.setFormValue) {\n const value = this.value;\n\n // Handle multi-select arrays by converting to FormData or comma-separated string\n if (Array.isArray(value)) {\n if (value.length > 1) {\n // For multiple values, create FormData with multiple entries\n const formData = new FormData();\n value.forEach(val => formData.append(this.name || '', val));\n this.internals.setFormValue(formData);\n } else {\n // Single value in array, use the string value\n this.internals.setFormValue(value[0] || null);\n }\n } else {\n // Single string value\n this.internals.setFormValue(value || null);\n }\n\n // Set validity based on native select validation\n if (this.selectEl && this.internals && this.internals.setValidity) {\n this.internals.setValidity(\n this.selectEl.validity,\n this.selectEl.validationMessage,\n this.selectEl\n );\n }\n }\n }\n\n /**\n * Form Associated Custom Elements API: Called when the form is reset\n */\n formResetCallback() {\n this.value = '';\n this.updateFormValue();\n }\n\n /**\n * Form Associated Custom Elements API: Called when the form is disabled\n */\n formDisabledCallback(disabled: boolean) {\n this.disabled = disabled;\n }\n\n /**\n * Form Associated Custom Elements API: Called to restore form state\n */\n formStateRestoreCallback(state: string | FormData | null) {\n if (typeof state === 'string') {\n this.value = state;\n } else if (state instanceof FormData && this.name) {\n // Extract value(s) from FormData using the select's name\n const values = state.getAll(this.name);\n if (values.length > 1) {\n // Multi-select: convert to string array\n this.value = values.filter(v => typeof v === 'string') as string[];\n } else if (values.length === 1 && typeof values[0] === 'string') {\n // Single select: use string value\n this.value = values[0];\n }\n }\n }\n\n render() {\n const hasAction = this.el.querySelector('[slot=\"action\"]') !== null;\n\n return (\n <Host aria-disabled={this.disabled ? 'true' : null} class={this.classNames()} has-action={hasAction && !this.hideLabel ? 'true' : null}>\n <div class=\"pds-select\">\n {!this.hideLabel && (\n <div class=\"pds-select__label-wrapper\">\n <label htmlFor={this.componentId}>\n <span class={this.hideLabel ? 'visually-hidden' : ''}>\n {this.label}\n </span>\n </label>\n {hasAction && this.renderAction()}\n </div>\n )}\n <select\n aria-label={this.hideLabel ? this.label : undefined}\n autocomplete={this.autocomplete || undefined}\n class=\"pds-select__field\"\n disabled={this.disabled}\n id={this.componentId}\n multiple={this.multiple}\n name={this.name}\n onBlur={this.onBlur}\n onChange={this.onSelectUpdate}\n onFocus={this.onFocus}\n onKeyDown={this.onKeyDown}\n part=\"select\"\n required={this.required}\n ref={(el) => (this.selectEl = el as HTMLSelectElement)}\n ></select>\n <div aria-hidden=\"true\" class=\"hidden\" ref={(el) => (this.slotContainer = el)}>\n <slot onSlotchange={this.handleSlotChange}></slot>\n </div>\n {this.renderMessages()}\n {!this.multiple && <pds-icon class=\"pds-select__select-icon\" icon={enlarge} />}\n </div>\n </Host>\n );\n }\n}\n"]}
@@ -25,7 +25,7 @@ export class PdsSortableItem {
25
25
  }
26
26
  }
27
27
  render() {
28
- return (h(Host, { key: '3af6da44189e50cffdbcfa4c82a6dba1fe33ff0e', class: "pds-sortable-item", id: this.componentId }, this.showHandle && (h("div", { key: '19925b01cabdcb7e9f06b3e3445b95cb171ee69e', class: "pds-sortable-item__handle" }, h("pds-icon", { key: 'ac514e4506528afd794b1df3574091bc311b3469', icon: handleIcon }))), h("slot", { key: '37acfdce5241144a4e5c804f7fb407ad5f7bc7d1' }), this.enableActions && (h("div", { key: '64679ea0a82688c111efaec9a1370b1bd83480d3', class: "pds-sortable-item__actions" }, h("slot", { key: 'a2bb4a9bf2e4900f5f2c12b2d6e0bcc3a49a9042', name: "sortable-item-actions" })))));
28
+ return (h(Host, { key: 'c2b286104572c25626e9c1ae419c2526ac1eb9a1', class: "pds-sortable-item", id: this.componentId }, this.showHandle && (h("div", { key: '29354af0cc9ca6623794e3abf7b9419edd0a8e8f', class: "pds-sortable-item__handle" }, h("pds-icon", { key: '17a662d94426e292c3a25c4567f3714f207e2383', icon: handleIcon }))), h("slot", { key: 'a3cee3d4c8dbb213e7a1d9bbf6fdce59fa8b796d' }), this.enableActions && (h("div", { key: '8b314f938ed53ab6680b020bd38aa6dbee804aad', class: "pds-sortable-item__actions" }, h("slot", { key: '60fe3c241349d91d6325e67bf2a63fe1f7858fc8', name: "sortable-item-actions" })))));
29
29
  }
30
30
  static get is() { return "pds-sortable-item"; }
31
31
  static get encapsulation() { return "scoped"; }
@@ -44,7 +44,7 @@ export class PdsSortable {
44
44
  Sortable.create(this.el, sortableOptions);
45
45
  }
46
46
  render() {
47
- return (h(Host, { key: '4f1335560e5082991c6f3dffcf30d83f89b2c20c', class: this.classNames(), id: this.componentId }, h("slot", { key: '848505cc4b31df36c57c2db8690d1ce93df17b92' })));
47
+ return (h(Host, { key: 'b01f12d7d2973ce2fa513a468be3634e38241171', class: this.classNames(), id: this.componentId }, h("slot", { key: '7d9dff192e9b6a01e71c41d9250c0245ca548658' })));
48
48
  }
49
49
  static get is() { return "pds-sortable"; }
50
50
  static get encapsulation() { return "scoped"; }
@@ -83,9 +83,9 @@ export class PdsSwitch {
83
83
  this.inheritedAttributes = Object.assign({}, inheritAriaAttributes(this.el));
84
84
  }
85
85
  render() {
86
- return (h(Host, { key: '15737c5ac3c492efc88e29f5e63496ed07ab5fe6', class: this.switchClassNames(), "aria-disabled": this.disabled ? 'true' : null }, h("label", { key: '30278cef4ab6bdc51e65f20e19883c3354c9b23a', htmlFor: this.componentId }, h("input", Object.assign({ key: '598b641ab1a6c8dadad4df275513b1e910fd0167', "aria-describedby": assignDescription(this.componentId, this.invalid, this.errorMessage || this.helperMessage), "aria-invalid": this.invalid ? "true" : undefined, checked: this.checked, class: "pds-switch__input", disabled: this.disabled, id: this.componentId, name: this.name ? this.name : this.componentId, onChange: this.onSwitchUpdate, required: this.required, type: "checkbox", value: this.value }, this.inheritedAttributes)), h("span", { key: '4d8a1c874d6cfe8bfac9ccc06ca03a6c8c25864e', class: this.hideLabel ? 'visually-hidden' : '' }, this.label)), this.helperMessage &&
87
- h("div", { key: '8a1eee8b5afcac6bb9a3399424aaf6d3995050cf', class: `pds-switch__message`, id: messageId(this.componentId, 'helper') }, this.helperMessage), this.errorMessage &&
88
- h("div", { key: '1a6b5bbb1e90a745c928b297262dcf705d429a8e', class: `pds-switch__message pds-switch__message--error`, id: messageId(this.componentId, 'error'), "aria-live": "assertive" }, h("pds-icon", { key: '055e7011ba1ec1379396baab41e10c03111567d3', icon: danger, size: "small" }), this.errorMessage)));
86
+ return (h(Host, { key: '9854669943e6649187ce91c8a129d2dd9f100e85', class: this.switchClassNames(), "aria-disabled": this.disabled ? 'true' : null }, h("label", { key: '11d9a6deb7223a77981da4a7145059255e9a5629', htmlFor: this.componentId }, h("input", Object.assign({ key: '525888746cd4181d8216878352b0ddfe0a16a64d', "aria-describedby": assignDescription(this.componentId, this.invalid, this.errorMessage || this.helperMessage), "aria-invalid": this.invalid ? "true" : undefined, checked: this.checked, class: "pds-switch__input", disabled: this.disabled, id: this.componentId, name: this.name ? this.name : this.componentId, onChange: this.onSwitchUpdate, required: this.required, type: "checkbox", value: this.value }, this.inheritedAttributes)), h("span", { key: '11dbfd6f30488217164949130d5629aea305a65c', class: this.hideLabel ? 'visually-hidden' : '' }, this.label)), this.helperMessage &&
87
+ h("div", { key: 'c8cbe1e266de9a67772d37bf1c25439f36705c2b', class: `pds-switch__message`, id: messageId(this.componentId, 'helper') }, this.helperMessage), this.errorMessage &&
88
+ h("div", { key: 'f1155010ae7aca24a7e860d8b67897254e32db00', class: `pds-switch__message pds-switch__message--error`, id: messageId(this.componentId, 'error'), "aria-live": "assertive" }, h("pds-icon", { key: '530e2a963f9051ee3d044dc9a82b673613a93f5c', icon: danger, size: "small" }), this.errorMessage)));
89
89
  }
90
90
  static get is() { return "pds-switch"; }
91
91
  static get encapsulation() { return "shadow"; }
@@ -1,7 +1,7 @@
1
1
  import { Host, h } from "@stencil/core";
2
2
  export class PdsTableBody {
3
3
  render() {
4
- return (h(Host, { key: '299a00424cf34acb2d2cbddf2c51c853558f270d', role: "rowgroup", part: "body" }, h("slot", { key: '718b97595d037cf6c19e8bfb2a9702a2a3fc1058' })));
4
+ return (h(Host, { key: '1f6ce73abaf0ecb3f592f754bedef557c7ea197d', role: "rowgroup", part: "body" }, h("slot", { key: '4a9758bb6c17de60cb345216d9b3e7c58cd44499' })));
5
5
  }
6
6
  static get is() { return "pds-table-body"; }
7
7
  static get encapsulation() { return "shadow"; }
@@ -1,4 +1,5 @@
1
1
  :host {
2
+ /* stylelint-disable-next-line pine-design-system/no-hardcoded-colors */
2
3
  --box-shadow-fixed: 3px 3px 6px -2px rgba(0, 0, 0, 0.2);
3
4
  color: var(--pine-color-text);
4
5
  display: table-cell;
@@ -94,11 +94,11 @@ export class PdsTableCell {
94
94
  return classNames.join(' ');
95
95
  }
96
96
  render() {
97
- return (h(Host, { key: '996bf5f70f450e57b0c44023ddf5f44f6af8e367', class: this.classNames(), role: "gridcell", part: "cell", style: this.tableRef &&
97
+ return (h(Host, { key: '102c412e68bd877ee88866d2c66838d62cb7cab2', class: this.classNames(), role: "gridcell", part: "cell", style: this.tableRef &&
98
98
  this.tableRef.fixedColumn &&
99
99
  this.tableRef.selectable
100
100
  ? { '--fixed-cell-position': '40px' }
101
- : {} }, h("slot", { key: 'f6e5fc35adeb18fa939534f3b409b282d121a797' })));
101
+ : {} }, h("slot", { key: 'fae2d378d6e1c5c3abb34cb4a75b74930d56965c' })));
102
102
  }
103
103
  static get is() { return "pds-table-cell"; }
104
104
  static get encapsulation() { return "shadow"; }
@@ -42,7 +42,7 @@ export class PdsTableHead {
42
42
  }
43
43
  }
44
44
  render() {
45
- return (h(Host, { key: 'ebcbe90052f2f4b5aa6e3a09a7b23c46e5aba90f', role: "row", part: "head" }, this.tableRef && this.tableRef.selectable && (h("pds-table-head-cell", { key: 'cd43463e58db8244439d07b3826534a70028c1a4', part: this.tableRef.selectable ? 'checkbox-cell' : '' }, h("pds-checkbox", { key: 'd6f4e05806a2c823188bc01fdc7a299aab9bf7d7', componentId: this.generateUniqueId(), indeterminate: this.indeterminate, onInput: this.handleInput, label: "Select All Rows", hideLabel: true, checked: this.isSelected, part: "select-all-checkbox" }))), h("slot", { key: '8f86dd51b56f5c37cdcfbd3b2513b0e92c6e4c14' })));
45
+ return (h(Host, { key: 'b68c0d7259cfced019c138dc4504c142e7e12ff9', role: "row", part: "head" }, this.tableRef && this.tableRef.selectable && (h("pds-table-head-cell", { key: '90c91ee525359986e7878e8ae647411bf9b4a637', part: this.tableRef.selectable ? 'checkbox-cell' : '' }, h("pds-checkbox", { key: 'd79ebef09df3424ed36d8838ecdc5ca6a0029c8a', componentId: this.generateUniqueId(), indeterminate: this.indeterminate, onInput: this.handleInput, label: "Select All Rows", hideLabel: true, checked: this.isSelected, part: "select-all-checkbox" }))), h("slot", { key: '17eca8a861fceb73b8d957ab0d5ba2cf7b256b55' })));
46
46
  }
47
47
  static get is() { return "pds-table-head"; }
48
48
  static get encapsulation() { return "shadow"; }
@@ -1,5 +1,6 @@
1
1
  :host {
2
2
  --border-head-cell-default: var(--pine-border-width-thin) solid var(--pine-color-border-subtle);
3
+ /* stylelint-disable-next-line pine-design-system/no-hardcoded-colors */
3
4
  --box-shadow-default: 3px 3px 6px -2px rgba(0, 0, 0, 0.1);
4
5
  border-block-end: var(--border-head-cell-default);
5
6
  color: var(--pine-color-text);
@@ -28,6 +28,11 @@ export class PdsTableHeadCell {
28
28
  * @defaultValue false
29
29
  */
30
30
  this.hasHeadBackground = false;
31
+ /**
32
+ * Determines if this column is the currently active sorted column.
33
+ * @defaultValue false
34
+ */
35
+ this.isActive = false;
31
36
  /**
32
37
  * Handles scroll events to update fixed column shadow state.
33
38
  * Updates the tableScrolling state to control CSS classes for fixed column shadows.
@@ -46,16 +51,49 @@ export class PdsTableHeadCell {
46
51
  };
47
52
  this.toggleSort = () => {
48
53
  if (this.sortable) {
54
+ // Guard: return early if tableRef is not available
55
+ if (!this.tableRef) {
56
+ return;
57
+ }
49
58
  const column = this.hostElement.innerText.trim();
59
+ // Always toggle the direction (preserves original behavior)
50
60
  this.sortingDirection = this.sortingDirection === 'asc' ? 'desc' : 'asc';
51
- this.tableRef.querySelectorAll('pds-table-head-cell').forEach((headCell) => {
52
- headCell.classList.remove('is-active');
61
+ // Reset all OTHER head cells to inactive state (skip the current one)
62
+ this.tableRef.querySelectorAll('pds-table-head-cell').forEach(async (headCell) => {
63
+ // Skip clearing the current cell
64
+ if (headCell !== this.hostElement) {
65
+ const headCellComponent = headCell;
66
+ await headCellComponent.clearActiveSort();
67
+ }
53
68
  });
54
- this.hostElement.classList.toggle('is-active');
69
+ // Mark this column as active
70
+ this.isActive = true;
71
+ this.hostElement.classList.add('is-active');
72
+ // Emit the sort event with the current direction
55
73
  this.pdsTableSort.emit({ column, direction: this.sortingDirection });
56
74
  }
57
75
  };
58
76
  }
77
+ /**
78
+ * Programmatically sets this column as the active sort column with the specified direction.
79
+ * Used by pds-table to apply a default sort on initial load.
80
+ * @param direction - The sort direction to apply ('asc' or 'desc')
81
+ */
82
+ async setActiveSort(direction) {
83
+ if (!this.sortable)
84
+ return;
85
+ this.sortingDirection = direction;
86
+ this.isActive = true;
87
+ this.hostElement.classList.add('is-active');
88
+ }
89
+ /**
90
+ * Clears the active sort state from this column.
91
+ * Used internally when another column becomes active.
92
+ */
93
+ async clearActiveSort() {
94
+ this.isActive = false;
95
+ this.hostElement.classList.remove('is-active');
96
+ }
59
97
  componentWillLoad() {
60
98
  // Set initial references and state before first render
61
99
  this.tableRef = this.hostElement.closest('pds-table');
@@ -160,11 +198,11 @@ export class PdsTableHeadCell {
160
198
  return classNames.join(' ');
161
199
  }
162
200
  render() {
163
- return (h(Host, { key: '7e7976ee53daac21144a0a572e5ed7787bcc33b7', class: this.classNames(), role: "columnheader", onClick: this.toggleSort, part: "head-cell", style: this.tableRef &&
201
+ return (h(Host, { key: '7e85fb5e6b5fc1022034db9e4c94ca13dfc56257', class: this.classNames(), role: "columnheader", onClick: this.toggleSort, part: "head-cell", style: this.tableRef &&
164
202
  this.tableRef.fixedColumn &&
165
203
  this.tableRef.selectable
166
204
  ? { '--fixed-cell-position': '40px' }
167
- : {} }, h("slot", { key: 'e5ea1d7684f1ff15da069765dbc19a3167c6dd20' }), this.sortable && (h("pds-icon", { key: '3404301d664b6604a3d7f8b6ae4a460cf2c9deb3', icon: this.sortingDirection === 'asc' ? upSmall : downSmall, part: "sort-icon" }))));
205
+ : {} }, h("slot", { key: '97d2b9621f7d61ad42719a4cc9f640a1210d78dc' }), this.sortable && this.isActive && (h("pds-icon", { key: 'd80efe9b417ae34bf50f65b0e9cb15bcc9aabd40', icon: this.sortingDirection === 'asc' ? upSmall : downSmall, part: "sort-icon" }))));
168
206
  }
169
207
  static get is() { return "pds-table-head-cell"; }
170
208
  static get encapsulation() { return "shadow"; }
@@ -226,7 +264,8 @@ export class PdsTableHeadCell {
226
264
  "tableScrolling": {},
227
265
  "isSelected": {},
228
266
  "hasHeadBorder": {},
229
- "hasHeadBackground": {}
267
+ "hasHeadBackground": {},
268
+ "isActive": {}
230
269
  };
231
270
  }
232
271
  static get events() {
@@ -247,6 +286,51 @@ export class PdsTableHeadCell {
247
286
  }
248
287
  }];
249
288
  }
289
+ static get methods() {
290
+ return {
291
+ "setActiveSort": {
292
+ "complexType": {
293
+ "signature": "(direction: \"asc\" | \"desc\") => Promise<void>",
294
+ "parameters": [{
295
+ "name": "direction",
296
+ "type": "\"desc\" | \"asc\"",
297
+ "docs": "- The sort direction to apply ('asc' or 'desc')"
298
+ }],
299
+ "references": {
300
+ "Promise": {
301
+ "location": "global",
302
+ "id": "global::Promise"
303
+ }
304
+ },
305
+ "return": "Promise<void>"
306
+ },
307
+ "docs": {
308
+ "text": "Programmatically sets this column as the active sort column with the specified direction.\nUsed by pds-table to apply a default sort on initial load.",
309
+ "tags": [{
310
+ "name": "param",
311
+ "text": "direction - The sort direction to apply ('asc' or 'desc')"
312
+ }]
313
+ }
314
+ },
315
+ "clearActiveSort": {
316
+ "complexType": {
317
+ "signature": "() => Promise<void>",
318
+ "parameters": [],
319
+ "references": {
320
+ "Promise": {
321
+ "location": "global",
322
+ "id": "global::Promise"
323
+ }
324
+ },
325
+ "return": "Promise<void>"
326
+ },
327
+ "docs": {
328
+ "text": "Clears the active sort state from this column.\nUsed internally when another column becomes active.",
329
+ "tags": []
330
+ }
331
+ }
332
+ };
333
+ }
250
334
  static get elementRef() { return "hostElement"; }
251
335
  }
252
336
  //# sourceMappingURL=pds-table-head-cell.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"pds-table-head-cell.js","sourceRoot":"","sources":["../../../../../src/components/pds-table/pds-table-head-cell/pds-table-head-cell.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Element, Host, Prop, h, Event, EventEmitter, State } from '@stencil/core';\n\nimport { downSmall, upSmall } from '@pine-ds/icons/icons';\n\n@Component({\n tag: 'pds-table-head-cell',\n styleUrls: ['pds-table-head-cell.scss'],\n shadow: true,\n})\nexport class PdsTableHeadCell {\n @Element() hostElement: HTMLPdsTableHeadCellElement;\n private tableRef: HTMLPdsTableElement;\n private scrollContainer: HTMLElement | null = null;\n private setupTimer: number | undefined;\n private setupRetries: number = 0;\n private headObserver?: MutationObserver;\n\n /**\n * Sets the text alignment within the head cell.\n */\n @Prop() cellAlign?: 'start' | 'center' | 'end' | 'justify';\n\n /**\n * Determines whether the table column is sortable when set to `true`.\n */\n @Prop() sortable: boolean;\n\n /**\n * Event emitted to signal that a table column header has been sorted, providing information about the sorted column's name and sorting direction.\n */\n @Event() pdsTableSort: EventEmitter<{ column: string; direction: string }>;\n\n /**\n * The direction of sorting.\n */\n @State() private sortingDirection: 'asc' | 'desc' = 'asc';\n\n /**\n * Determines if the table is currently scrolling.\n * @defaultValue false\n */\n @State() private tableScrolling: boolean = false;\n\n /**\n * Determines if the table row is currently selected.\n * @defaultValue false\n */\n @State() isSelected: boolean = false;\n\n /**\n * Determines if the parent table-head has the border attribute.\n * @defaultValue false\n */\n @State() private hasHeadBorder: boolean = false;\n\n /**\n * Determines if the parent table-head has the background attribute.\n * @defaultValue false\n */\n @State() private hasHeadBackground: boolean = false;\n\n componentWillLoad() {\n // Set initial references and state before first render\n this.tableRef = this.hostElement.closest('pds-table') as HTMLPdsTableElement;\n\n const tableHead = this.hostElement.closest('pds-table-head') as HTMLElement;\n if (tableHead) {\n this.hasHeadBorder = tableHead.hasAttribute('border');\n this.hasHeadBackground = tableHead.hasAttribute('background');\n }\n }\n\n componentDidLoad() {\n if (this.tableRef && this.tableRef.responsive && this.tableRef.fixedColumn) {\n // For responsive tables with fixed columns, set up scroll detection\n // This enables the first column header to show a shadow when the table is scrolled horizontally\n this.setupScrollListener();\n }\n\n // Watch for changes to the parent table-head's border and background attributes\n const tableHead = this.hostElement.closest('pds-table-head') as HTMLElement;\n if (tableHead && typeof MutationObserver !== 'undefined') {\n // Defensive guard: disconnect existing observer before creating a new one\n if (this.headObserver) {\n this.headObserver.disconnect();\n }\n\n this.headObserver = new MutationObserver(() => {\n // Update state when border or background attributes change\n this.hasHeadBorder = tableHead.hasAttribute('border');\n this.hasHeadBackground = tableHead.hasAttribute('background');\n });\n\n this.headObserver.observe(tableHead, {\n attributes: true,\n attributeFilter: ['border', 'background']\n });\n }\n }\n\n disconnectedCallback() {\n this.cleanupScrollListener();\n\n if (this.headObserver) {\n this.headObserver.disconnect();\n }\n }\n\n\n private setupScrollListener() {\n if (!this.tableRef) return;\n\n // Query shadowRoot once and cache the container\n const container = this.tableRef.shadowRoot?.querySelector('.pds-table-responsive-container') as HTMLElement;\n\n if (container) {\n // Container available immediately\n this.scrollContainer = container;\n this.scrollContainer.addEventListener('scroll', this.handleScroll, { passive: true });\n this.handleScroll(); // Initial check\n this.setupRetries = 0; // Reset counter on success\n } else {\n // Container not ready, set up timer for retry with bounds\n this.setupTimer = window.setTimeout(() => {\n if (this.scrollContainer) return; // Already found\n this.setupRetries = (this.setupRetries || 0) + 1;\n if (this.setupRetries <= 50) {\n this.setupScrollListener();\n } else {\n console.warn('Failed to find responsive container after 50 attempts');\n }\n }, 100);\n }\n }\n\n private cleanupScrollListener() {\n if (this.scrollContainer) {\n this.scrollContainer.removeEventListener('scroll', this.handleScroll);\n this.scrollContainer = null;\n }\n\n if (this.setupTimer !== undefined) {\n window.clearTimeout(this.setupTimer);\n this.setupTimer = undefined;\n }\n\n this.setupRetries = 0; // Reset retry counter\n }\n\n /**\n * Handles scroll events to update fixed column shadow state.\n * Updates the tableScrolling state to control CSS classes for fixed column shadows.\n * @private\n */\n private handleScroll = () => {\n if (!this.scrollContainer) {\n return;\n }\n\n try {\n this.tableScrolling = this.scrollContainer.scrollLeft > 0;\n } catch (error) {\n console.warn('Scroll handler error:', error);\n }\n };\n\n private toggleSort = () => {\n if (this.sortable) {\n const column = this.hostElement.innerText.trim();\n this.sortingDirection = this.sortingDirection === 'asc' ? 'desc' : 'asc';\n\n this.tableRef.querySelectorAll('pds-table-head-cell').forEach((headCell) => {\n headCell.classList.remove('is-active');\n });\n\n this.hostElement.classList.toggle('is-active');\n this.pdsTableSort.emit({ column, direction: this.sortingDirection });\n }\n }\n\n private classNames() {\n const classNames = [];\n\n if (this.tableRef && this.tableRef.compact) {\n classNames.push('is-compact');\n }\n\n if (this.cellAlign) {\n classNames.push(`pds-table-head-cell--align-${this.cellAlign}`);\n }\n\n if (this.sortable) {\n classNames.push('is-sortable');\n }\n\n if (this.sortable && this.sortingDirection !== null) {\n classNames.push('sort-' + this.sortingDirection);\n }\n\n if (this.tableRef && this.tableRef.fixedColumn && this.tableScrolling) {\n classNames.push('has-scrolled');\n }\n\n if (this.hasHeadBackground) {\n classNames.push('has-head-background');\n }\n\n if (this.hasHeadBorder) {\n classNames.push('has-head-border');\n }\n\n return classNames.join(' ');\n }\n\n render() {\n return (\n <Host\n class={this.classNames()}\n role=\"columnheader\"\n onClick={this.toggleSort}\n part=\"head-cell\"\n style={\n this.tableRef &&\n this.tableRef.fixedColumn &&\n this.tableRef.selectable\n ? { '--fixed-cell-position': '40px' }\n : {}\n }\n >\n <slot></slot>\n {this.sortable && (\n <pds-icon icon={this.sortingDirection === 'asc' ? upSmall : downSmall} part=\"sort-icon\" />\n )}\n </Host>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"pds-table-head-cell.js","sourceRoot":"","sources":["../../../../../src/components/pds-table/pds-table-head-cell/pds-table-head-cell.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Element, Host, Prop, h, Event, EventEmitter, State, Method } from '@stencil/core';\n\nimport { downSmall, upSmall } from '@pine-ds/icons/icons';\n\n@Component({\n tag: 'pds-table-head-cell',\n styleUrls: ['pds-table-head-cell.scss'],\n shadow: true,\n})\nexport class PdsTableHeadCell {\n @Element() hostElement: HTMLPdsTableHeadCellElement;\n private tableRef: HTMLPdsTableElement;\n private scrollContainer: HTMLElement | null = null;\n private setupTimer: number | undefined;\n private setupRetries: number = 0;\n private headObserver?: MutationObserver;\n\n /**\n * Sets the text alignment within the head cell.\n */\n @Prop() cellAlign?: 'start' | 'center' | 'end' | 'justify';\n\n /**\n * Determines whether the table column is sortable when set to `true`.\n */\n @Prop() sortable: boolean;\n\n /**\n * Event emitted to signal that a table column header has been sorted, providing information about the sorted column's name and sorting direction.\n */\n @Event() pdsTableSort: EventEmitter<{ column: string; direction: string }>;\n\n /**\n * The direction of sorting.\n */\n @State() private sortingDirection: 'asc' | 'desc' = 'asc';\n\n /**\n * Determines if the table is currently scrolling.\n * @defaultValue false\n */\n @State() private tableScrolling: boolean = false;\n\n /**\n * Determines if the table row is currently selected.\n * @defaultValue false\n */\n @State() isSelected: boolean = false;\n\n /**\n * Determines if the parent table-head has the border attribute.\n * @defaultValue false\n */\n @State() private hasHeadBorder: boolean = false;\n\n /**\n * Determines if the parent table-head has the background attribute.\n * @defaultValue false\n */\n @State() private hasHeadBackground: boolean = false;\n\n /**\n * Determines if this column is the currently active sorted column.\n * @defaultValue false\n */\n @State() private isActive: boolean = false;\n\n /**\n * Programmatically sets this column as the active sort column with the specified direction.\n * Used by pds-table to apply a default sort on initial load.\n * @param direction - The sort direction to apply ('asc' or 'desc')\n */\n @Method()\n async setActiveSort(direction: 'asc' | 'desc') {\n if (!this.sortable) return;\n\n this.sortingDirection = direction;\n this.isActive = true;\n this.hostElement.classList.add('is-active');\n }\n\n /**\n * Clears the active sort state from this column.\n * Used internally when another column becomes active.\n */\n @Method()\n async clearActiveSort() {\n this.isActive = false;\n this.hostElement.classList.remove('is-active');\n }\n\n componentWillLoad() {\n // Set initial references and state before first render\n this.tableRef = this.hostElement.closest('pds-table') as HTMLPdsTableElement;\n\n const tableHead = this.hostElement.closest('pds-table-head') as HTMLElement;\n if (tableHead) {\n this.hasHeadBorder = tableHead.hasAttribute('border');\n this.hasHeadBackground = tableHead.hasAttribute('background');\n }\n }\n\n componentDidLoad() {\n if (this.tableRef && this.tableRef.responsive && this.tableRef.fixedColumn) {\n // For responsive tables with fixed columns, set up scroll detection\n // This enables the first column header to show a shadow when the table is scrolled horizontally\n this.setupScrollListener();\n }\n\n // Watch for changes to the parent table-head's border and background attributes\n const tableHead = this.hostElement.closest('pds-table-head') as HTMLElement;\n if (tableHead && typeof MutationObserver !== 'undefined') {\n // Defensive guard: disconnect existing observer before creating a new one\n if (this.headObserver) {\n this.headObserver.disconnect();\n }\n\n this.headObserver = new MutationObserver(() => {\n // Update state when border or background attributes change\n this.hasHeadBorder = tableHead.hasAttribute('border');\n this.hasHeadBackground = tableHead.hasAttribute('background');\n });\n\n this.headObserver.observe(tableHead, {\n attributes: true,\n attributeFilter: ['border', 'background']\n });\n }\n }\n\n disconnectedCallback() {\n this.cleanupScrollListener();\n\n if (this.headObserver) {\n this.headObserver.disconnect();\n }\n }\n\n\n private setupScrollListener() {\n if (!this.tableRef) return;\n\n // Query shadowRoot once and cache the container\n const container = this.tableRef.shadowRoot?.querySelector('.pds-table-responsive-container') as HTMLElement;\n\n if (container) {\n // Container available immediately\n this.scrollContainer = container;\n this.scrollContainer.addEventListener('scroll', this.handleScroll, { passive: true });\n this.handleScroll(); // Initial check\n this.setupRetries = 0; // Reset counter on success\n } else {\n // Container not ready, set up timer for retry with bounds\n this.setupTimer = window.setTimeout(() => {\n if (this.scrollContainer) return; // Already found\n this.setupRetries = (this.setupRetries || 0) + 1;\n if (this.setupRetries <= 50) {\n this.setupScrollListener();\n } else {\n console.warn('Failed to find responsive container after 50 attempts');\n }\n }, 100);\n }\n }\n\n private cleanupScrollListener() {\n if (this.scrollContainer) {\n this.scrollContainer.removeEventListener('scroll', this.handleScroll);\n this.scrollContainer = null;\n }\n\n if (this.setupTimer !== undefined) {\n window.clearTimeout(this.setupTimer);\n this.setupTimer = undefined;\n }\n\n this.setupRetries = 0; // Reset retry counter\n }\n\n /**\n * Handles scroll events to update fixed column shadow state.\n * Updates the tableScrolling state to control CSS classes for fixed column shadows.\n * @private\n */\n private handleScroll = () => {\n if (!this.scrollContainer) {\n return;\n }\n\n try {\n this.tableScrolling = this.scrollContainer.scrollLeft > 0;\n } catch (error) {\n console.warn('Scroll handler error:', error);\n }\n };\n\n private toggleSort = () => {\n if (this.sortable) {\n // Guard: return early if tableRef is not available\n if (!this.tableRef) {\n return;\n }\n\n const column = this.hostElement.innerText.trim();\n \n // Always toggle the direction (preserves original behavior)\n this.sortingDirection = this.sortingDirection === 'asc' ? 'desc' : 'asc';\n \n // Reset all OTHER head cells to inactive state (skip the current one)\n this.tableRef.querySelectorAll('pds-table-head-cell').forEach(async (headCell) => {\n // Skip clearing the current cell\n if (headCell !== this.hostElement) {\n const headCellComponent = headCell as HTMLPdsTableHeadCellElement;\n await headCellComponent.clearActiveSort();\n }\n });\n \n // Mark this column as active\n this.isActive = true;\n this.hostElement.classList.add('is-active');\n\n // Emit the sort event with the current direction\n this.pdsTableSort.emit({ column, direction: this.sortingDirection });\n }\n }\n\n private classNames() {\n const classNames = [];\n\n if (this.tableRef && this.tableRef.compact) {\n classNames.push('is-compact');\n }\n\n if (this.cellAlign) {\n classNames.push(`pds-table-head-cell--align-${this.cellAlign}`);\n }\n\n if (this.sortable) {\n classNames.push('is-sortable');\n }\n\n if (this.sortable && this.sortingDirection !== null) {\n classNames.push('sort-' + this.sortingDirection);\n }\n\n if (this.tableRef && this.tableRef.fixedColumn && this.tableScrolling) {\n classNames.push('has-scrolled');\n }\n\n if (this.hasHeadBackground) {\n classNames.push('has-head-background');\n }\n\n if (this.hasHeadBorder) {\n classNames.push('has-head-border');\n }\n\n return classNames.join(' ');\n }\n\n render() {\n return (\n <Host\n class={this.classNames()}\n role=\"columnheader\"\n onClick={this.toggleSort}\n part=\"head-cell\"\n style={\n this.tableRef &&\n this.tableRef.fixedColumn &&\n this.tableRef.selectable\n ? { '--fixed-cell-position': '40px' }\n : {}\n }\n >\n <slot></slot>\n {this.sortable && this.isActive && (\n <pds-icon icon={this.sortingDirection === 'asc' ? upSmall : downSmall} part=\"sort-icon\" />\n )}\n </Host>\n );\n }\n}\n"]}
@@ -137,7 +137,7 @@ export class PdsTableRow {
137
137
  }
138
138
  }
139
139
  render() {
140
- return (h(Host, { key: 'dedf37f2841e51a325b6c414d3e7ec0072bdf78f', class: this.classNames(), role: "row", part: "row" }, this.tableRef && this.tableRef.selectable && (h("pds-table-cell", { key: '3e9295398c8f48cb7aa78d10daf5201ae8f86e9f', part: this.tableRef.fixedColumn ? 'checkbox-cell' : 'checkbox-cell', class: this.tableRef.selectable ? 'has-checkbox' : '' }, h("pds-checkbox", { key: 'b786f181988110d3e3d47928da9290dfd79f5fbd', componentId: this.generateUniqueId(), onClick: this.handleClick, indeterminate: this.indeterminate, label: "Select Row", hideLabel: true, checked: this.isSelected, part: "row-checkbox" }))), h("slot", { key: 'd37e3d44d34f81553060185d96fb44a55a40edc8' })));
140
+ return (h(Host, { key: '900905bc103a54d3f13b59a66cfd53178de0da49', class: this.classNames(), role: "row", part: "row" }, this.tableRef && this.tableRef.selectable && (h("pds-table-cell", { key: 'f5a5a0426f15182e278b052090c71f45e8848347', part: this.tableRef.fixedColumn ? 'checkbox-cell' : 'checkbox-cell', class: this.tableRef.selectable ? 'has-checkbox' : '' }, h("pds-checkbox", { key: '1fd91b0d4bf412dc3a2705fcb5909e42a54bde56', componentId: this.generateUniqueId(), onClick: this.handleClick, indeterminate: this.indeterminate, label: "Select Row", hideLabel: true, checked: this.isSelected, part: "row-checkbox" }))), h("slot", { key: '17a60a0251a36613cc8631efe780020d4a5e1167' })));
141
141
  }
142
142
  static get is() { return "pds-table-row"; }
143
143
  static get encapsulation() { return "shadow"; }
@@ -80,6 +80,7 @@
80
80
  }
81
81
 
82
82
  .scroll-shadow-left {
83
+ /* stylelint-disable-next-line pine-design-system/no-hardcoded-colors */
83
84
  background: linear-gradient(to right, rgba(0, 0, 0, 0.1), transparent);
84
85
  border-bottom-left-radius: inherit;
85
86
  border-top-left-radius: inherit;
@@ -87,6 +88,7 @@
87
88
  }
88
89
 
89
90
  .scroll-shadow-right {
91
+ /* stylelint-disable-next-line pine-design-system/no-hardcoded-colors */
90
92
  background: linear-gradient(to left, rgba(0, 0, 0, 0.1), transparent);
91
93
  border-bottom-right-radius: inherit;
92
94
  border-top-right-radius: inherit;