@pine-ds/core 3.3.0 → 3.4.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 (683) hide show
  1. package/components/floating-ui.dom.js +1321 -0
  2. package/components/floating-ui.dom.js.map +1 -0
  3. package/components/index.d.ts +4 -0
  4. package/components/index.js +2 -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 +2 -2
  9. package/components/mock-pds-modal.js.map +1 -1
  10. package/components/pds-box2.js +1 -1
  11. package/components/pds-box2.js.map +1 -1
  12. package/components/pds-button2.js +1 -1
  13. package/components/pds-button2.js.map +1 -1
  14. package/components/pds-checkbox2.js +1 -1
  15. package/components/pds-checkbox2.js.map +1 -1
  16. package/components/pds-chip.js.map +1 -1
  17. package/components/pds-combobox.d.ts +11 -0
  18. package/components/pds-combobox.js +1771 -0
  19. package/components/pds-combobox.js.map +1 -0
  20. package/components/pds-copytext.js +1 -1
  21. package/components/pds-divider.js +1 -1
  22. package/components/pds-dropdown-menu-item.js +1 -1
  23. package/components/pds-dropdown-menu-separator.js +1 -1
  24. package/components/pds-dropdown-menu.js +4 -1320
  25. package/components/pds-dropdown-menu.js.map +1 -1
  26. package/components/pds-icon2.js +151 -18
  27. package/components/pds-icon2.js.map +1 -1
  28. package/components/pds-image.js +2 -2
  29. package/components/pds-input.js +69 -3
  30. package/components/pds-input.js.map +1 -1
  31. package/components/pds-link2.js +2 -2
  32. package/components/pds-loader2.js +1 -1
  33. package/components/pds-modal-content.js +2 -2
  34. package/components/pds-modal-footer.js +1 -1
  35. package/components/pds-modal-header.js +1 -1
  36. package/components/pds-modal.js +3 -3
  37. package/components/pds-modal.js.map +1 -1
  38. package/components/pds-popover.js +1 -1
  39. package/components/pds-progress.js +1 -1
  40. package/components/pds-property.d.ts +11 -0
  41. package/components/pds-property.js +55 -0
  42. package/components/pds-property.js.map +1 -0
  43. package/components/pds-radio.js +4 -4
  44. package/components/pds-radio.js.map +1 -1
  45. package/components/pds-row.js +1 -1
  46. package/components/pds-select.js +86 -3
  47. package/components/pds-select.js.map +1 -1
  48. package/components/pds-sortable-item.js +1 -1
  49. package/components/pds-sortable.js +1 -1
  50. package/components/pds-switch.js +3 -3
  51. package/components/pds-tab.js +3 -3
  52. package/components/pds-table-body.js +1 -1
  53. package/components/pds-table-cell2.js +2 -2
  54. package/components/pds-table-head-cell2.js +2 -2
  55. package/components/pds-table-head.js +1 -1
  56. package/components/pds-table-row.js +1 -1
  57. package/components/pds-table.js +1 -1
  58. package/components/pds-tabpanel.js +1 -1
  59. package/components/pds-tabs.js +1 -1
  60. package/components/pds-text2.js +1 -1
  61. package/components/pds-text2.js.map +1 -1
  62. package/components/pds-textarea.js +69 -6
  63. package/components/pds-textarea.js.map +1 -1
  64. package/components/pds-toast.js +3 -3
  65. package/components/pds-tooltip.js +1 -1
  66. package/dist/cjs/floating-ui.dom-Bz4BD-cr.js +1326 -0
  67. package/dist/cjs/floating-ui.dom-Bz4BD-cr.js.map +1 -0
  68. package/dist/cjs/{index-B0qLG6KJ.js → index-BfqrB2cC.js} +3 -3
  69. package/dist/{esm/index-DpOSrebJ.js.map → cjs/index-BfqrB2cC.js.map} +1 -1
  70. package/dist/cjs/{index-CxX7ua5d.js → index-g-uSeICs.js} +30 -2
  71. package/dist/cjs/index-g-uSeICs.js.map +1 -0
  72. package/dist/cjs/index.cjs.js +1 -1
  73. package/dist/cjs/loader.cjs.js +2 -2
  74. package/dist/cjs/mock-pds-modal.cjs.entry.js +3 -3
  75. package/dist/cjs/mock-pds-modal.cjs.entry.js.map +1 -1
  76. package/dist/cjs/mock-pds-modal.entry.cjs.js.map +1 -1
  77. package/dist/cjs/pds-accordion.cjs.entry.js +2 -2
  78. package/dist/cjs/pds-alert.cjs.entry.js +1 -1
  79. package/dist/cjs/pds-avatar.cjs.entry.js +2 -2
  80. package/dist/cjs/pds-box.cjs.entry.js +2 -2
  81. package/dist/cjs/pds-box.cjs.entry.js.map +1 -1
  82. package/dist/cjs/pds-box.entry.cjs.js.map +1 -1
  83. package/dist/cjs/pds-button.cjs.entry.js +3 -3
  84. package/dist/cjs/pds-button.cjs.entry.js.map +1 -1
  85. package/dist/cjs/pds-button.entry.cjs.js.map +1 -1
  86. package/dist/cjs/pds-checkbox.cjs.entry.js +3 -3
  87. package/dist/cjs/pds-checkbox.cjs.entry.js.map +1 -1
  88. package/dist/cjs/pds-checkbox.entry.cjs.js.map +1 -1
  89. package/dist/cjs/pds-chip.cjs.entry.js +2 -2
  90. package/dist/cjs/pds-chip.cjs.entry.js.map +1 -1
  91. package/dist/cjs/pds-chip.entry.cjs.js.map +1 -1
  92. package/dist/cjs/pds-combobox.cjs.entry.js +1717 -0
  93. package/dist/cjs/pds-combobox.cjs.entry.js.map +1 -0
  94. package/dist/cjs/pds-combobox.entry.cjs.js.map +1 -0
  95. package/dist/cjs/pds-copytext.cjs.entry.js +3 -3
  96. package/dist/cjs/pds-divider.cjs.entry.js +2 -2
  97. package/dist/cjs/pds-dropdown-menu-item.cjs.entry.js +2 -2
  98. package/dist/cjs/pds-dropdown-menu-separator.cjs.entry.js +2 -2
  99. package/dist/cjs/pds-dropdown-menu.cjs.entry.js +5 -1321
  100. package/dist/cjs/pds-dropdown-menu.cjs.entry.js.map +1 -1
  101. package/dist/cjs/pds-dropdown-menu.entry.cjs.js.map +1 -1
  102. package/dist/cjs/pds-icon.cjs.entry.js +149 -16
  103. package/dist/cjs/pds-icon.cjs.entry.js.map +1 -1
  104. package/dist/cjs/pds-icon.entry.cjs.js.map +1 -1
  105. package/dist/cjs/pds-image.cjs.entry.js +3 -3
  106. package/dist/cjs/pds-input.cjs.entry.js +68 -4
  107. package/dist/cjs/pds-input.cjs.entry.js.map +1 -1
  108. package/dist/cjs/pds-input.entry.cjs.js.map +1 -1
  109. package/dist/cjs/pds-link.cjs.entry.js +4 -4
  110. package/dist/cjs/pds-loader.cjs.entry.js +2 -2
  111. package/dist/cjs/pds-modal-content.cjs.entry.js +3 -3
  112. package/dist/cjs/pds-modal-footer.cjs.entry.js +2 -2
  113. package/dist/cjs/pds-modal-header.cjs.entry.js +2 -2
  114. package/dist/cjs/pds-modal.cjs.entry.js +4 -4
  115. package/dist/cjs/pds-modal.cjs.entry.js.map +1 -1
  116. package/dist/cjs/pds-modal.entry.cjs.js.map +1 -1
  117. package/dist/cjs/pds-popover.cjs.entry.js +2 -2
  118. package/dist/cjs/pds-progress.cjs.entry.js +2 -2
  119. package/dist/cjs/pds-property.cjs.entry.js +24 -0
  120. package/dist/cjs/pds-property.cjs.entry.js.map +1 -0
  121. package/dist/cjs/pds-property.entry.cjs.js.map +1 -0
  122. package/dist/cjs/pds-radio.cjs.entry.js +6 -6
  123. package/dist/cjs/pds-radio.cjs.entry.js.map +1 -1
  124. package/dist/cjs/pds-radio.entry.cjs.js.map +1 -1
  125. package/dist/cjs/pds-row.cjs.entry.js +2 -2
  126. package/dist/cjs/pds-select.cjs.entry.js +87 -4
  127. package/dist/cjs/pds-select.cjs.entry.js.map +1 -1
  128. package/dist/cjs/pds-select.entry.cjs.js.map +1 -1
  129. package/dist/cjs/pds-sortable-item.cjs.entry.js +3 -3
  130. package/dist/cjs/pds-sortable.cjs.entry.js +2 -2
  131. package/dist/cjs/pds-switch.cjs.entry.js +5 -5
  132. package/dist/cjs/pds-tab.cjs.entry.js +4 -4
  133. package/dist/cjs/pds-table-body.cjs.entry.js +2 -2
  134. package/dist/cjs/pds-table-cell.cjs.entry.js +3 -3
  135. package/dist/cjs/pds-table-head-cell.cjs.entry.js +4 -4
  136. package/dist/cjs/pds-table-head.cjs.entry.js +2 -2
  137. package/dist/cjs/pds-table-row.cjs.entry.js +2 -2
  138. package/dist/cjs/pds-table.cjs.entry.js +2 -2
  139. package/dist/cjs/pds-tabpanel.cjs.entry.js +2 -2
  140. package/dist/cjs/pds-tabs.cjs.entry.js +2 -2
  141. package/dist/cjs/pds-text.cjs.entry.js +2 -2
  142. package/dist/cjs/pds-text.cjs.entry.js.map +1 -1
  143. package/dist/cjs/pds-text.entry.cjs.js.map +1 -1
  144. package/dist/cjs/pds-textarea.cjs.entry.js +69 -7
  145. package/dist/cjs/pds-textarea.cjs.entry.js.map +1 -1
  146. package/dist/cjs/pds-textarea.entry.cjs.js.map +1 -1
  147. package/dist/cjs/pds-toast.cjs.entry.js +4 -4
  148. package/dist/cjs/pds-tooltip.cjs.entry.js +2 -2
  149. package/dist/cjs/pine-core.cjs.js +2 -2
  150. package/dist/collection/collection-manifest.json +2 -0
  151. package/dist/collection/components/pds-box/pds-box.css +1 -1
  152. package/dist/collection/components/pds-button/pds-button.css +3 -2
  153. package/dist/collection/components/pds-checkbox/pds-checkbox.css +1 -0
  154. package/dist/collection/components/pds-combobox/pds-combobox.css +223 -0
  155. package/dist/collection/components/pds-combobox/pds-combobox.js +783 -0
  156. package/dist/collection/components/pds-combobox/pds-combobox.js.map +1 -0
  157. package/dist/collection/components/pds-combobox/stories/pds-combobox.stories.js +194 -0
  158. package/dist/collection/components/pds-copytext/pds-copytext.js +1 -1
  159. package/dist/collection/components/pds-divider/pds-divider.js +1 -1
  160. package/dist/collection/components/pds-dropdown-menu/pds-dropdown-menu-item/pds-dropdown-menu-item.js +1 -1
  161. package/dist/collection/components/pds-dropdown-menu/pds-dropdown-menu-separator/pds-dropdown-menu-separator.js +1 -1
  162. package/dist/collection/components/pds-dropdown-menu/pds-dropdown-menu.js +1 -1
  163. package/dist/collection/components/pds-image/pds-image.js +2 -2
  164. package/dist/collection/components/pds-input/pds-input.css +28 -7
  165. package/dist/collection/components/pds-input/pds-input.js +86 -1
  166. package/dist/collection/components/pds-input/pds-input.js.map +1 -1
  167. package/dist/collection/components/pds-input/stories/pds-input.stories.js +180 -71
  168. package/dist/collection/components/pds-link/pds-link.js +2 -2
  169. package/dist/collection/components/pds-loader/pds-loader.js +1 -1
  170. package/dist/collection/components/pds-modal/pds-modal-content/pds-modal-content.js +2 -2
  171. package/dist/collection/components/pds-modal/pds-modal-footer/pds-modal-footer.js +1 -1
  172. package/dist/collection/components/pds-modal/pds-modal-header/pds-modal-header.js +1 -1
  173. package/dist/collection/components/pds-modal/pds-modal.css +1 -1
  174. package/dist/collection/components/pds-modal/pds-modal.js +2 -2
  175. package/dist/collection/components/pds-modal/test/mock-pds-modal.js +1 -1
  176. package/dist/collection/components/pds-popover/pds-popover.js +1 -1
  177. package/dist/collection/components/pds-progress/pds-progress.js +1 -1
  178. package/dist/collection/components/pds-property/pds-property.css +4 -0
  179. package/dist/collection/components/pds-property/pds-property.js +71 -0
  180. package/dist/collection/components/pds-property/pds-property.js.map +1 -0
  181. package/dist/collection/components/pds-property/stories/pds-property.stories.js +20 -0
  182. package/dist/collection/components/pds-radio/pds-radio.css +1 -0
  183. package/dist/collection/components/pds-radio/pds-radio.js +3 -3
  184. package/dist/collection/components/pds-row/pds-row.js +1 -1
  185. package/dist/collection/components/pds-select/pds-select.css +21 -2
  186. package/dist/collection/components/pds-select/pds-select.js +87 -1
  187. package/dist/collection/components/pds-select/pds-select.js.map +1 -1
  188. package/dist/collection/components/pds-select/stories/pds-select.stories.js +42 -0
  189. package/dist/collection/components/pds-sortable/pds-sortable-item/pds-sortable-item.js +1 -1
  190. package/dist/collection/components/pds-sortable/pds-sortable.js +1 -1
  191. package/dist/collection/components/pds-switch/pds-switch.js +3 -3
  192. package/dist/collection/components/pds-table/pds-table-body/pds-table-body.js +1 -1
  193. package/dist/collection/components/pds-table/pds-table-cell/pds-table-cell.js +2 -2
  194. package/dist/collection/components/pds-table/pds-table-head/pds-table-head.js +1 -1
  195. package/dist/collection/components/pds-table/pds-table-head-cell/pds-table-head-cell.js +2 -2
  196. package/dist/collection/components/pds-table/pds-table-row/pds-table-row.js +1 -1
  197. package/dist/collection/components/pds-table/pds-table.js +1 -1
  198. package/dist/collection/components/pds-tabs/pds-tab/pds-tab.js +3 -3
  199. package/dist/collection/components/pds-tabs/pds-tabpanel/pds-tabpanel.js +1 -1
  200. package/dist/collection/components/pds-tabs/pds-tabs.js +1 -1
  201. package/dist/collection/components/pds-text/pds-text.js +4 -1
  202. package/dist/collection/components/pds-text/pds-text.js.map +1 -1
  203. package/dist/collection/components/pds-textarea/pds-textarea.css +18 -0
  204. package/dist/collection/components/pds-textarea/pds-textarea.js +71 -5
  205. package/dist/collection/components/pds-textarea/pds-textarea.js.map +1 -1
  206. package/dist/collection/components/pds-textarea/stories/pds-textarea.stories.js +48 -1
  207. package/dist/collection/components/pds-toast/pds-toast.js +3 -3
  208. package/dist/collection/components/pds-tooltip/pds-tooltip.js +1 -1
  209. package/dist/docs.json +751 -37
  210. package/dist/esm/floating-ui.dom-D_FwyeSw.js +1321 -0
  211. package/dist/esm/floating-ui.dom-D_FwyeSw.js.map +1 -0
  212. package/dist/esm/{index-Uh5ntVcq.js → index-BVCWKPy3.js} +30 -2
  213. package/dist/esm/index-BVCWKPy3.js.map +1 -0
  214. package/dist/esm/{index-DpOSrebJ.js → index-CzVv99mW.js} +3 -3
  215. package/dist/{cjs/index-B0qLG6KJ.js.map → esm/index-CzVv99mW.js.map} +1 -1
  216. package/dist/esm/index.js +1 -1
  217. package/dist/esm/loader.js +3 -3
  218. package/dist/esm/mock-pds-modal.entry.js +3 -3
  219. package/dist/esm/mock-pds-modal.entry.js.map +1 -1
  220. package/dist/esm/pds-accordion.entry.js +2 -2
  221. package/dist/esm/pds-alert.entry.js +1 -1
  222. package/dist/esm/pds-avatar.entry.js +2 -2
  223. package/dist/esm/pds-box.entry.js +2 -2
  224. package/dist/esm/pds-box.entry.js.map +1 -1
  225. package/dist/esm/pds-button.entry.js +3 -3
  226. package/dist/esm/pds-button.entry.js.map +1 -1
  227. package/dist/esm/pds-checkbox.entry.js +3 -3
  228. package/dist/esm/pds-checkbox.entry.js.map +1 -1
  229. package/dist/esm/pds-chip.entry.js +2 -2
  230. package/dist/esm/pds-chip.entry.js.map +1 -1
  231. package/dist/esm/pds-combobox.entry.js +1715 -0
  232. package/dist/esm/pds-combobox.entry.js.map +1 -0
  233. package/dist/esm/pds-copytext.entry.js +3 -3
  234. package/dist/esm/pds-divider.entry.js +2 -2
  235. package/dist/esm/pds-dropdown-menu-item.entry.js +2 -2
  236. package/dist/esm/pds-dropdown-menu-separator.entry.js +2 -2
  237. package/dist/esm/pds-dropdown-menu.entry.js +3 -1319
  238. package/dist/esm/pds-dropdown-menu.entry.js.map +1 -1
  239. package/dist/esm/pds-icon.entry.js +149 -16
  240. package/dist/esm/pds-icon.entry.js.map +1 -1
  241. package/dist/esm/pds-image.entry.js +3 -3
  242. package/dist/esm/pds-input.entry.js +68 -4
  243. package/dist/esm/pds-input.entry.js.map +1 -1
  244. package/dist/esm/pds-link.entry.js +4 -4
  245. package/dist/esm/pds-loader.entry.js +2 -2
  246. package/dist/esm/pds-modal-content.entry.js +3 -3
  247. package/dist/esm/pds-modal-footer.entry.js +2 -2
  248. package/dist/esm/pds-modal-header.entry.js +2 -2
  249. package/dist/esm/pds-modal.entry.js +4 -4
  250. package/dist/esm/pds-modal.entry.js.map +1 -1
  251. package/dist/esm/pds-popover.entry.js +2 -2
  252. package/dist/esm/pds-progress.entry.js +2 -2
  253. package/dist/esm/pds-property.entry.js +22 -0
  254. package/dist/esm/pds-property.entry.js.map +1 -0
  255. package/dist/esm/pds-radio.entry.js +6 -6
  256. package/dist/esm/pds-radio.entry.js.map +1 -1
  257. package/dist/esm/pds-row.entry.js +2 -2
  258. package/dist/esm/pds-select.entry.js +87 -4
  259. package/dist/esm/pds-select.entry.js.map +1 -1
  260. package/dist/esm/pds-sortable-item.entry.js +3 -3
  261. package/dist/esm/pds-sortable.entry.js +2 -2
  262. package/dist/esm/pds-switch.entry.js +5 -5
  263. package/dist/esm/pds-tab.entry.js +4 -4
  264. package/dist/esm/pds-table-body.entry.js +2 -2
  265. package/dist/esm/pds-table-cell.entry.js +3 -3
  266. package/dist/esm/pds-table-head-cell.entry.js +4 -4
  267. package/dist/esm/pds-table-head.entry.js +2 -2
  268. package/dist/esm/pds-table-row.entry.js +2 -2
  269. package/dist/esm/pds-table.entry.js +2 -2
  270. package/dist/esm/pds-tabpanel.entry.js +2 -2
  271. package/dist/esm/pds-tabs.entry.js +2 -2
  272. package/dist/esm/pds-text.entry.js +2 -2
  273. package/dist/esm/pds-text.entry.js.map +1 -1
  274. package/dist/esm/pds-textarea.entry.js +69 -7
  275. package/dist/esm/pds-textarea.entry.js.map +1 -1
  276. package/dist/esm/pds-toast.entry.js +4 -4
  277. package/dist/esm/pds-tooltip.entry.js +2 -2
  278. package/dist/esm/pine-core.js +3 -3
  279. package/dist/esm-es5/floating-ui.dom-D_FwyeSw.js +2 -0
  280. package/dist/esm-es5/floating-ui.dom-D_FwyeSw.js.map +1 -0
  281. package/dist/esm-es5/index-BVCWKPy3.js +3 -0
  282. package/dist/esm-es5/index-BVCWKPy3.js.map +1 -0
  283. package/dist/esm-es5/{index-DpOSrebJ.js → index-CzVv99mW.js} +1 -1
  284. package/dist/esm-es5/{index-DpOSrebJ.js.map → index-CzVv99mW.js.map} +1 -1
  285. package/dist/esm-es5/index.js +1 -1
  286. package/dist/esm-es5/loader.js +1 -1
  287. package/dist/esm-es5/mock-pds-modal.entry.js +1 -1
  288. package/dist/esm-es5/mock-pds-modal.entry.js.map +1 -1
  289. package/dist/esm-es5/pds-accordion.entry.js +1 -1
  290. package/dist/esm-es5/pds-alert.entry.js +1 -1
  291. package/dist/esm-es5/pds-avatar.entry.js +1 -1
  292. package/dist/esm-es5/pds-box.entry.js +1 -1
  293. package/dist/esm-es5/pds-box.entry.js.map +1 -1
  294. package/dist/esm-es5/pds-button.entry.js +1 -1
  295. package/dist/esm-es5/pds-button.entry.js.map +1 -1
  296. package/dist/esm-es5/pds-checkbox.entry.js +1 -1
  297. package/dist/esm-es5/pds-checkbox.entry.js.map +1 -1
  298. package/dist/esm-es5/pds-chip.entry.js +1 -1
  299. package/dist/esm-es5/pds-chip.entry.js.map +1 -1
  300. package/dist/esm-es5/pds-combobox.entry.js +3 -0
  301. package/dist/esm-es5/pds-combobox.entry.js.map +1 -0
  302. package/dist/esm-es5/pds-copytext.entry.js +1 -1
  303. package/dist/esm-es5/pds-divider.entry.js +1 -1
  304. package/dist/esm-es5/pds-dropdown-menu-item.entry.js +1 -1
  305. package/dist/esm-es5/pds-dropdown-menu-separator.entry.js +1 -1
  306. package/dist/esm-es5/pds-dropdown-menu.entry.js +1 -1
  307. package/dist/esm-es5/pds-dropdown-menu.entry.js.map +1 -1
  308. package/dist/esm-es5/pds-icon.entry.js +1 -1
  309. package/dist/esm-es5/pds-icon.entry.js.map +1 -1
  310. package/dist/esm-es5/pds-image.entry.js +1 -1
  311. package/dist/esm-es5/pds-input.entry.js +1 -1
  312. package/dist/esm-es5/pds-input.entry.js.map +1 -1
  313. package/dist/esm-es5/pds-link.entry.js +1 -1
  314. package/dist/esm-es5/pds-loader.entry.js +1 -1
  315. package/dist/esm-es5/pds-modal-content.entry.js +1 -1
  316. package/dist/esm-es5/pds-modal-footer.entry.js +1 -1
  317. package/dist/esm-es5/pds-modal-header.entry.js +1 -1
  318. package/dist/esm-es5/pds-modal.entry.js +1 -1
  319. package/dist/esm-es5/pds-modal.entry.js.map +1 -1
  320. package/dist/esm-es5/pds-popover.entry.js +1 -1
  321. package/dist/esm-es5/pds-progress.entry.js +1 -1
  322. package/dist/esm-es5/pds-property.entry.js +2 -0
  323. package/dist/esm-es5/pds-property.entry.js.map +1 -0
  324. package/dist/esm-es5/pds-radio.entry.js +1 -1
  325. package/dist/esm-es5/pds-radio.entry.js.map +1 -1
  326. package/dist/esm-es5/pds-row.entry.js +1 -1
  327. package/dist/esm-es5/pds-select.entry.js +1 -1
  328. package/dist/esm-es5/pds-select.entry.js.map +1 -1
  329. package/dist/esm-es5/pds-sortable-item.entry.js +1 -1
  330. package/dist/esm-es5/pds-sortable.entry.js +2 -2
  331. package/dist/esm-es5/pds-switch.entry.js +1 -1
  332. package/dist/esm-es5/pds-tab.entry.js +1 -1
  333. package/dist/esm-es5/pds-table-body.entry.js +1 -1
  334. package/dist/esm-es5/pds-table-cell.entry.js +1 -1
  335. package/dist/esm-es5/pds-table-head-cell.entry.js +1 -1
  336. package/dist/esm-es5/pds-table-head.entry.js +1 -1
  337. package/dist/esm-es5/pds-table-row.entry.js +1 -1
  338. package/dist/esm-es5/pds-table.entry.js +1 -1
  339. package/dist/esm-es5/pds-tabpanel.entry.js +1 -1
  340. package/dist/esm-es5/pds-tabs.entry.js +1 -1
  341. package/dist/esm-es5/pds-text.entry.js +1 -1
  342. package/dist/esm-es5/pds-text.entry.js.map +1 -1
  343. package/dist/esm-es5/pds-textarea.entry.js +1 -1
  344. package/dist/esm-es5/pds-textarea.entry.js.map +1 -1
  345. package/dist/esm-es5/pds-toast.entry.js +1 -1
  346. package/dist/esm-es5/pds-tooltip.entry.js +1 -1
  347. package/dist/esm-es5/pine-core.js +1 -1
  348. package/dist/pine-core/index.esm.js +1 -1
  349. package/dist/pine-core/mock-pds-modal.entry.esm.js.map +1 -1
  350. package/dist/pine-core/{p-99b5e1a5.entry.js → p-0066d249.entry.js} +2 -2
  351. package/dist/pine-core/{p-6a7936e7.system.entry.js → p-0199e3e9.system.entry.js} +2 -2
  352. package/dist/pine-core/{p-ab7e4700.system.entry.js → p-03d17841.system.entry.js} +2 -2
  353. package/dist/pine-core/p-03d17841.system.entry.js.map +1 -0
  354. package/dist/pine-core/{p-ef9ed75a.system.entry.js → p-051ff780.system.entry.js} +2 -2
  355. package/dist/pine-core/{p-04195bdb.entry.js → p-064e3d73.entry.js} +2 -2
  356. package/dist/pine-core/p-075eecf9.entry.js +2 -0
  357. package/dist/pine-core/p-075eecf9.entry.js.map +1 -0
  358. package/dist/pine-core/p-088828ce.entry.js +2 -0
  359. package/dist/pine-core/p-088828ce.entry.js.map +1 -0
  360. package/dist/pine-core/p-0a4fc9c7.entry.js +3 -0
  361. package/dist/pine-core/p-0a4fc9c7.entry.js.map +1 -0
  362. package/dist/pine-core/{p-d0adaca0.system.entry.js → p-0d8a2a39.system.entry.js} +2 -2
  363. package/dist/pine-core/{p-b2820acd.entry.js → p-0dbb2ae9.entry.js} +2 -2
  364. package/dist/pine-core/{p-1d395d27.entry.js → p-11d4036e.entry.js} +2 -2
  365. package/dist/pine-core/{p-0a11384e.entry.js → p-126197e5.entry.js} +2 -2
  366. package/dist/pine-core/{p-60fbeb1c.entry.js → p-13ac0852.entry.js} +2 -2
  367. package/dist/pine-core/{p-065208a1.system.entry.js → p-14b424ab.system.entry.js} +2 -2
  368. package/dist/pine-core/p-14b424ab.system.entry.js.map +1 -0
  369. package/dist/pine-core/{p-76e35041.entry.js → p-17c2f3fb.entry.js} +2 -2
  370. package/dist/pine-core/{p-833b2170.system.entry.js → p-1858ad6d.system.entry.js} +2 -2
  371. package/dist/pine-core/{p-8180b641.entry.js → p-1a5e79af.entry.js} +2 -2
  372. package/dist/pine-core/p-209b1d69.entry.js +2 -0
  373. package/dist/pine-core/p-209b1d69.entry.js.map +1 -0
  374. package/dist/pine-core/{p-aeaae417.system.entry.js → p-276a6a8b.system.entry.js} +2 -2
  375. package/dist/pine-core/p-2aad0209.system.entry.js +2 -0
  376. package/dist/pine-core/p-2aad0209.system.entry.js.map +1 -0
  377. package/dist/pine-core/{p-07f45626.entry.js → p-2b48499b.entry.js} +2 -2
  378. package/dist/pine-core/p-2fb60757.system.entry.js +2 -0
  379. package/dist/pine-core/{p-BcuE4ZrB.system.js.map → p-2kXtbFXu.system.js.map} +1 -1
  380. package/dist/pine-core/p-33016dd0.entry.js +2 -0
  381. package/dist/pine-core/p-33016dd0.entry.js.map +1 -0
  382. package/dist/pine-core/{p-942fa145.system.entry.js → p-39488f2c.system.entry.js} +2 -2
  383. package/dist/pine-core/{p-78f29270.entry.js → p-3e6229cc.entry.js} +3 -3
  384. package/dist/pine-core/{p-7bb3a5d4.system.entry.js → p-3f83d4c4.system.entry.js} +2 -2
  385. package/dist/pine-core/{p-79cb7835.system.entry.js → p-4066a9c0.system.entry.js} +2 -2
  386. package/dist/pine-core/{p-79cb7835.system.entry.js.map → p-4066a9c0.system.entry.js.map} +1 -1
  387. package/dist/pine-core/{p-27c0ffda.system.entry.js → p-41bf807f.system.entry.js} +2 -2
  388. package/dist/pine-core/{p-c1909a5d.system.entry.js → p-487552a9.system.entry.js} +2 -2
  389. package/dist/pine-core/{p-10e2feff.entry.js → p-4e5b9d19.entry.js} +2 -2
  390. package/dist/pine-core/{p-111e7da2.system.entry.js → p-51d83489.system.entry.js} +2 -2
  391. package/dist/pine-core/{p-86329612.entry.js → p-51e463bf.entry.js} +2 -2
  392. package/dist/pine-core/{p-86329612.entry.js.map → p-51e463bf.entry.js.map} +1 -1
  393. package/dist/pine-core/{p-f4fff209.system.entry.js → p-52af1890.system.entry.js} +2 -2
  394. package/dist/pine-core/p-55bf6be2.system.entry.js +2 -0
  395. package/dist/pine-core/p-568296f0.system.entry.js +2 -0
  396. package/dist/pine-core/p-568296f0.system.entry.js.map +1 -0
  397. package/dist/pine-core/{p-47a7a65b.entry.js → p-5a709348.entry.js} +2 -2
  398. package/dist/pine-core/{p-13481ef5.system.entry.js → p-5c87077e.system.entry.js} +2 -2
  399. package/dist/pine-core/p-5c87077e.system.entry.js.map +1 -0
  400. package/dist/pine-core/{p-3ea415b0.entry.js → p-63ef55dd.entry.js} +2 -2
  401. package/dist/pine-core/{p-3ea415b0.entry.js.map → p-63ef55dd.entry.js.map} +1 -1
  402. package/dist/pine-core/{p-0a87e2fc.system.entry.js → p-6438a29d.system.entry.js} +2 -2
  403. package/dist/pine-core/p-66b10d29.entry.js +2 -0
  404. package/dist/pine-core/p-69e95bc4.system.entry.js +2 -0
  405. package/dist/pine-core/p-69e95bc4.system.entry.js.map +1 -0
  406. package/dist/pine-core/{p-96e9774e.system.entry.js → p-6cc09a2f.system.entry.js} +2 -2
  407. package/dist/pine-core/p-6cc09a2f.system.entry.js.map +1 -0
  408. package/dist/pine-core/{p-d6d453d8.system.entry.js → p-6d601fc2.system.entry.js} +2 -2
  409. package/dist/pine-core/{p-ddcc4932.entry.js → p-6fd385ec.entry.js} +2 -2
  410. package/dist/pine-core/{p-5a437fcd.system.entry.js → p-7a95a90f.system.entry.js} +2 -2
  411. package/dist/pine-core/{p-d28768d1.entry.js → p-7c867f1b.entry.js} +2 -2
  412. package/dist/pine-core/p-7de61adb.entry.js +2 -0
  413. package/dist/pine-core/p-7de61adb.entry.js.map +1 -0
  414. package/dist/pine-core/{p-c5e1ed09.system.entry.js → p-7eb4ac7c.system.entry.js} +2 -2
  415. package/dist/pine-core/{p-c551191a.system.entry.js → p-81a28f54.system.entry.js} +2 -2
  416. package/dist/pine-core/{p-73412ca9.system.entry.js → p-81cf9a46.system.entry.js} +2 -2
  417. package/dist/pine-core/p-81cf9a46.system.entry.js.map +1 -0
  418. package/dist/pine-core/p-89d9f273.system.entry.js +4 -0
  419. package/dist/pine-core/p-89d9f273.system.entry.js.map +1 -0
  420. package/dist/pine-core/p-8a02c581.entry.js +2 -0
  421. package/dist/pine-core/p-8a02c581.entry.js.map +1 -0
  422. package/dist/pine-core/{p-fdf3a5ff.entry.js → p-8cb99f2f.entry.js} +2 -2
  423. package/dist/pine-core/{p-d35b3494.entry.js → p-91c6bd68.entry.js} +2 -2
  424. package/dist/pine-core/{p-fb2fb435.entry.js → p-94982c57.entry.js} +2 -2
  425. package/dist/pine-core/{p-8f06b020.entry.js → p-978e722a.entry.js} +2 -2
  426. package/dist/pine-core/{p-959c8247.system.entry.js → p-9860d0a8.system.entry.js} +2 -2
  427. package/dist/pine-core/{p-78327c08.system.entry.js → p-9afcab0c.system.entry.js} +2 -2
  428. package/dist/pine-core/{p-PkSWq78_.system.js.map → p-ACQU83St.system.js.map} +1 -1
  429. package/dist/pine-core/{p-PPIMiuZX.system.js.map → p-B4ww2WM0.system.js.map} +1 -1
  430. package/dist/pine-core/{p-C0oRS1F9.system.js.map → p-B6IFMveo.system.js.map} +1 -1
  431. package/dist/pine-core/{p-B2gfQpwn.system.js.map → p-B7S-9dbT.system.js.map} +1 -1
  432. package/dist/pine-core/{p-BPQAcMLl.system.js.map → p-BCZ4LK15.system.js.map} +1 -1
  433. package/dist/pine-core/{p-EqAbQY8l.system.js.map → p-BDQFLOLJ.system.js.map} +1 -1
  434. package/dist/pine-core/{p-CNkajx9x.system.js.map → p-BEky6idI.system.js.map} +1 -1
  435. package/dist/pine-core/p-BGbUqsWH.system.js +2 -0
  436. package/dist/pine-core/p-BGbUqsWH.system.js.map +1 -0
  437. package/dist/pine-core/p-BVCWKPy3.js +3 -0
  438. package/dist/pine-core/p-BVCWKPy3.js.map +1 -0
  439. package/dist/pine-core/p-BY7O1nGC.system.js.map +1 -0
  440. package/dist/pine-core/p-B_C-mRjx.system.js +3 -0
  441. package/dist/pine-core/p-B_C-mRjx.system.js.map +1 -0
  442. package/dist/pine-core/{p-BISuGf0f.system.js.map → p-B_c-HOvq.system.js.map} +1 -1
  443. package/dist/pine-core/{p-BHp2IZGP.system.js.map → p-Bw9e5h_G.system.js.map} +1 -1
  444. package/dist/pine-core/{p-DgTp_KeO.system.js.map → p-C36pvE-A.system.js.map} +1 -1
  445. package/dist/pine-core/p-C3lnYhcV.system.js.map +1 -0
  446. package/dist/pine-core/{p-BEYGfY83.system.js.map → p-C5Wo1bN2.system.js.map} +1 -1
  447. package/dist/pine-core/{p-CcsZC7UR.system.js.map → p-C5Y492i0.system.js.map} +1 -1
  448. package/dist/pine-core/p-CG_aggl0.system.js.map +1 -0
  449. package/dist/pine-core/{p-DGyATOIf.system.js.map → p-CMLxdmO2.system.js.map} +1 -1
  450. package/dist/pine-core/{p-UhZHDNH2.system.js.map → p-CNOeJ6ra.system.js.map} +1 -1
  451. package/dist/pine-core/p-CXLBzkzl.system.js.map +1 -0
  452. package/dist/pine-core/p-CaD_7MzD.system.js.map +1 -0
  453. package/dist/pine-core/{p-CNYB6FL-.system.js.map → p-CbDQeXQ4.system.js.map} +1 -1
  454. package/dist/pine-core/{p-BxBtA60x.system.js.map → p-CbQ4EQA9.system.js.map} +1 -1
  455. package/dist/pine-core/p-Ce_XeYF6.system.js.map +1 -0
  456. package/dist/pine-core/{p-B5JFBYFw.system.js.map → p-ChslVme6.system.js.map} +1 -1
  457. package/dist/pine-core/p-CnDggyDA.system.js.map +1 -0
  458. package/dist/pine-core/{p-C2d75seA.system.js.map → p-CoHBlcHu.system.js.map} +1 -1
  459. package/dist/pine-core/p-CqzGa2j0.system.js.map +1 -0
  460. package/dist/pine-core/{p-DpOSrebJ.js → p-CzVv99mW.js} +1 -1
  461. package/dist/pine-core/{p-DpOSrebJ.js.map → p-CzVv99mW.js.map} +1 -1
  462. package/dist/pine-core/{p-CTWkFhWu.system.js.map → p-DCdSlcTO.system.js.map} +1 -1
  463. package/dist/pine-core/p-DJu23j_m.system.js.map +1 -0
  464. package/dist/pine-core/{p-CIc_XeAg.system.js.map → p-DKuFjXiD.system.js.map} +1 -1
  465. package/dist/pine-core/{p-CTPMEWZT.system.js.map → p-DMNp4slx.system.js.map} +1 -1
  466. package/dist/pine-core/{p--YvWqEjm.system.js.map → p-DQnK6lQ2.system.js.map} +1 -1
  467. package/dist/pine-core/{p-ClVQjta4.system.js.map → p-DRqkTTfb.system.js.map} +1 -1
  468. package/dist/pine-core/{p-3D0orTx_.system.js.map → p-DXuK7cEc.system.js.map} +1 -1
  469. package/dist/pine-core/{p-B-hSZadO.system.js.map → p-DYb5Y47j.system.js.map} +1 -1
  470. package/dist/pine-core/p-D_FwyeSw.js +2 -0
  471. package/dist/pine-core/p-D_FwyeSw.js.map +1 -0
  472. package/dist/pine-core/{p-CGABEyvz.system.js.map → p-DdEbUZw3.system.js.map} +1 -1
  473. package/dist/pine-core/p-De9tROL-.system.js +2 -0
  474. package/dist/pine-core/{p-BsL2GDnH.system.js.map → p-De9tROL-.system.js.map} +1 -1
  475. package/dist/pine-core/{p-DyDReOdO.system.js → p-DiBM9O5Q.system.js} +1 -1
  476. package/dist/pine-core/{p-DyDReOdO.system.js.map → p-DiBM9O5Q.system.js.map} +1 -1
  477. package/dist/pine-core/{p-CkoeYrxa.system.js.map → p-Dm_a1Ag0.system.js.map} +1 -1
  478. package/dist/pine-core/{p-A4_UN20E.system.js.map → p-DvZWnvRb.system.js.map} +1 -1
  479. package/dist/pine-core/{p-BwHnCFqU.system.js.map → p-EytFbMH4.system.js.map} +1 -1
  480. package/dist/pine-core/{p-BaAcO8Mz.system.js.map → p-PgQPKVDh.system.js.map} +1 -1
  481. package/dist/pine-core/p-REBgf8JA.system.js.map +1 -0
  482. package/dist/pine-core/{p-Mqxw-gWj.system.js.map → p-XHvXi3U6.system.js.map} +1 -1
  483. package/dist/pine-core/p-ZCkmy1Gu.system.js +2 -0
  484. package/dist/pine-core/p-ZCkmy1Gu.system.js.map +1 -0
  485. package/dist/pine-core/p-a54f1d9e.entry.js +2 -0
  486. package/dist/pine-core/{p-a52b1413.entry.js.map → p-a54f1d9e.entry.js.map} +1 -1
  487. package/dist/pine-core/p-a7204f01.entry.js +2 -0
  488. package/dist/pine-core/p-aafb6e06.system.entry.js +2 -0
  489. package/dist/pine-core/p-aafb6e06.system.entry.js.map +1 -0
  490. package/dist/pine-core/{p-f46c4618.system.entry.js → p-adf2449e.system.entry.js} +2 -2
  491. package/dist/pine-core/{p-a556a328.system.entry.js → p-b2b405ca.system.entry.js} +3 -3
  492. package/dist/pine-core/p-b956922a.entry.js +2 -0
  493. package/dist/pine-core/p-b956922a.entry.js.map +1 -0
  494. package/dist/pine-core/{p-a98cda38.system.entry.js → p-b9fe17b8.system.entry.js} +2 -2
  495. package/dist/pine-core/{p-f256dd8a.entry.js → p-bfd08c9c.entry.js} +2 -2
  496. package/dist/pine-core/p-bfd08c9c.entry.js.map +1 -0
  497. package/dist/pine-core/p-c1099665.system.entry.js +2 -0
  498. package/dist/pine-core/{p-de550d9e.system.entry.js → p-c1115d78.system.entry.js} +2 -2
  499. package/dist/pine-core/{p-51cc93b3.entry.js → p-c16d01cc.entry.js} +2 -2
  500. package/dist/pine-core/{p-8b6b0db7.entry.js → p-c1a1475e.entry.js} +2 -2
  501. package/dist/pine-core/p-c1a1475e.entry.js.map +1 -0
  502. package/dist/pine-core/{p-80f36506.entry.js → p-c1f5148f.entry.js} +2 -2
  503. package/dist/pine-core/p-c1f5148f.entry.js.map +1 -0
  504. package/dist/pine-core/{p-9c01e81b.system.entry.js → p-c3f32f26.system.entry.js} +2 -2
  505. package/dist/pine-core/{p-9c01e81b.system.entry.js.map → p-c3f32f26.system.entry.js.map} +1 -1
  506. package/dist/pine-core/p-c652847a.entry.js +2 -0
  507. package/dist/pine-core/{p-44f10d3c.entry.js → p-c82c277f.entry.js} +2 -2
  508. package/dist/pine-core/p-c82d0a99.entry.js +2 -0
  509. package/dist/pine-core/p-cHtb875x.system.js.map +1 -0
  510. package/dist/pine-core/p-ce0d9f05.system.entry.js +2 -0
  511. package/dist/pine-core/p-cf5506db.system.entry.js +2 -0
  512. package/dist/pine-core/p-d06351b9.system.entry.js +2 -0
  513. package/dist/pine-core/p-d06351b9.system.entry.js.map +1 -0
  514. package/dist/pine-core/{p-4b2aab79.system.entry.js → p-d08ecd18.system.entry.js} +2 -2
  515. package/dist/pine-core/p-d6d87fbc.system.entry.js +2 -0
  516. package/dist/pine-core/p-d6d87fbc.system.entry.js.map +1 -0
  517. package/dist/pine-core/{p-19c01019.entry.js → p-df15e16a.entry.js} +2 -2
  518. package/dist/pine-core/p-e05135c5.entry.js +2 -0
  519. package/dist/pine-core/{p-f99c59a8.entry.js → p-e30601a6.entry.js} +2 -2
  520. package/dist/pine-core/p-e3fb0bc2.system.entry.js +2 -0
  521. package/dist/pine-core/p-e3fb0bc2.system.entry.js.map +1 -0
  522. package/dist/pine-core/{p-5c4aceb7.entry.js → p-e8d76117.entry.js} +2 -2
  523. package/dist/pine-core/{p-2007a0b5.entry.js → p-ed94947b.entry.js} +2 -2
  524. package/dist/pine-core/{p-bf699bad.entry.js → p-f2da93ea.entry.js} +2 -2
  525. package/dist/pine-core/p-f2da93ea.entry.js.map +1 -0
  526. package/dist/pine-core/{p-d553e05c.system.entry.js → p-f647c1af.system.entry.js} +2 -2
  527. package/dist/pine-core/{p-cc21ddcc.system.entry.js → p-f9bd0bc2.system.entry.js} +2 -2
  528. package/dist/pine-core/{p-f6b226df.entry.js → p-fcdbb73f.entry.js} +2 -2
  529. package/dist/pine-core/p-fcdbb73f.entry.js.map +1 -0
  530. package/dist/pine-core/{p-DVhX1_nD.system.js.map → p-lMetQ5Q0.system.js.map} +1 -1
  531. package/dist/pine-core/{p-D2UtaGL2.system.js.map → p-pm8ElBzm.system.js.map} +1 -1
  532. package/dist/pine-core/p-qjvXmIGJ.system.js.map +1 -0
  533. package/dist/pine-core/pds-box.entry.esm.js.map +1 -1
  534. package/dist/pine-core/pds-button.entry.esm.js.map +1 -1
  535. package/dist/pine-core/pds-checkbox.entry.esm.js.map +1 -1
  536. package/dist/pine-core/pds-chip.entry.esm.js.map +1 -1
  537. package/dist/pine-core/pds-combobox.entry.esm.js.map +1 -0
  538. package/dist/pine-core/pds-dropdown-menu.entry.esm.js.map +1 -1
  539. package/dist/pine-core/pds-icon.entry.esm.js.map +1 -1
  540. package/dist/pine-core/pds-input.entry.esm.js.map +1 -1
  541. package/dist/pine-core/pds-modal.entry.esm.js.map +1 -1
  542. package/dist/pine-core/pds-property.entry.esm.js.map +1 -0
  543. package/dist/pine-core/pds-radio.entry.esm.js.map +1 -1
  544. package/dist/pine-core/pds-select.entry.esm.js.map +1 -1
  545. package/dist/pine-core/pds-text.entry.esm.js.map +1 -1
  546. package/dist/pine-core/pds-textarea.entry.esm.js.map +1 -1
  547. package/dist/pine-core/pine-core.esm.js +1 -1
  548. package/dist/pine-core/pine-core.js +1 -1
  549. package/dist/types/components/pds-combobox/pds-combobox.d.ts +153 -0
  550. package/dist/types/components/pds-input/pds-input.d.ts +28 -0
  551. package/dist/types/components/pds-property/pds-property.d.ts +14 -0
  552. package/dist/types/components/pds-select/pds-select.d.ts +24 -0
  553. package/dist/types/components/pds-text/pds-text.d.ts +3 -0
  554. package/dist/types/components/pds-textarea/pds-textarea.d.ts +25 -0
  555. package/dist/types/components.d.ts +213 -0
  556. package/hydrate/index.js +2409 -239
  557. package/hydrate/index.mjs +2409 -239
  558. package/package.json +4 -2
  559. package/dist/cjs/index-CxX7ua5d.js.map +0 -1
  560. package/dist/esm/index-Uh5ntVcq.js.map +0 -1
  561. package/dist/esm-es5/index-Uh5ntVcq.js +0 -3
  562. package/dist/esm-es5/index-Uh5ntVcq.js.map +0 -1
  563. package/dist/pine-core/p-00599bd8.entry.js +0 -2
  564. package/dist/pine-core/p-00599bd8.entry.js.map +0 -1
  565. package/dist/pine-core/p-03d8cb4c.system.entry.js +0 -2
  566. package/dist/pine-core/p-065208a1.system.entry.js.map +0 -1
  567. package/dist/pine-core/p-0c30661b.system.entry.js +0 -2
  568. package/dist/pine-core/p-13481ef5.system.entry.js.map +0 -1
  569. package/dist/pine-core/p-35917a1a.entry.js +0 -2
  570. package/dist/pine-core/p-39a31730.system.entry.js +0 -2
  571. package/dist/pine-core/p-39a31730.system.entry.js.map +0 -1
  572. package/dist/pine-core/p-3e91dccd.entry.js +0 -2
  573. package/dist/pine-core/p-3e91dccd.entry.js.map +0 -1
  574. package/dist/pine-core/p-513c16c7.entry.js +0 -2
  575. package/dist/pine-core/p-513c16c7.entry.js.map +0 -1
  576. package/dist/pine-core/p-5367f477.system.entry.js +0 -2
  577. package/dist/pine-core/p-593df966.system.entry.js +0 -2
  578. package/dist/pine-core/p-593df966.system.entry.js.map +0 -1
  579. package/dist/pine-core/p-5acda4ac.system.entry.js +0 -2
  580. package/dist/pine-core/p-5acda4ac.system.entry.js.map +0 -1
  581. package/dist/pine-core/p-5e1e7762.entry.js +0 -2
  582. package/dist/pine-core/p-624db3d6.system.entry.js +0 -2
  583. package/dist/pine-core/p-624db3d6.system.entry.js.map +0 -1
  584. package/dist/pine-core/p-65a875f6.entry.js +0 -2
  585. package/dist/pine-core/p-73412ca9.system.entry.js.map +0 -1
  586. package/dist/pine-core/p-76f7cf21.entry.js +0 -2
  587. package/dist/pine-core/p-80f36506.entry.js.map +0 -1
  588. package/dist/pine-core/p-8b6b0db7.entry.js.map +0 -1
  589. package/dist/pine-core/p-96e9774e.system.entry.js.map +0 -1
  590. package/dist/pine-core/p-9db1f179.entry.js +0 -2
  591. package/dist/pine-core/p-9db1f179.entry.js.map +0 -1
  592. package/dist/pine-core/p-B5LBNcOw.system.js.map +0 -1
  593. package/dist/pine-core/p-BE1qV1Jc.system.js.map +0 -1
  594. package/dist/pine-core/p-BHZ6CSg4.system.js.map +0 -1
  595. package/dist/pine-core/p-BsL2GDnH.system.js +0 -2
  596. package/dist/pine-core/p-C3ud771n.system.js.map +0 -1
  597. package/dist/pine-core/p-CS2nVL5p.system.js.map +0 -1
  598. package/dist/pine-core/p-C_8VmA8d.system.js +0 -3
  599. package/dist/pine-core/p-C_8VmA8d.system.js.map +0 -1
  600. package/dist/pine-core/p-CdzfTGbZ.system.js.map +0 -1
  601. package/dist/pine-core/p-CuIq_L5Z.system.js +0 -2
  602. package/dist/pine-core/p-CuIq_L5Z.system.js.map +0 -1
  603. package/dist/pine-core/p-DMeT5CsE.system.js.map +0 -1
  604. package/dist/pine-core/p-DeW-6a7f.system.js.map +0 -1
  605. package/dist/pine-core/p-DjXmy34u.system.js.map +0 -1
  606. package/dist/pine-core/p-Ke8SGZqs.system.js.map +0 -1
  607. package/dist/pine-core/p-Uh5ntVcq.js +0 -3
  608. package/dist/pine-core/p-Uh5ntVcq.js.map +0 -1
  609. package/dist/pine-core/p-a52b1413.entry.js +0 -2
  610. package/dist/pine-core/p-ab7e4700.system.entry.js.map +0 -1
  611. package/dist/pine-core/p-bf699bad.entry.js.map +0 -1
  612. package/dist/pine-core/p-dcda4ff5.system.entry.js +0 -2
  613. package/dist/pine-core/p-dfd5a5b6.system.entry.js +0 -2
  614. package/dist/pine-core/p-dfd5a5b6.system.entry.js.map +0 -1
  615. package/dist/pine-core/p-e562ad73.system.entry.js +0 -2
  616. package/dist/pine-core/p-e562ad73.system.entry.js.map +0 -1
  617. package/dist/pine-core/p-e9f004c5.entry.js +0 -2
  618. package/dist/pine-core/p-e9f004c5.entry.js.map +0 -1
  619. package/dist/pine-core/p-f256dd8a.entry.js.map +0 -1
  620. package/dist/pine-core/p-f6b226df.entry.js.map +0 -1
  621. package/dist/pine-core/p-fb1eb0c4.entry.js +0 -2
  622. package/dist/pine-core/p-fb1eb0c4.entry.js.map +0 -1
  623. package/dist/pine-core/p-fd1ef1e1.entry.js +0 -2
  624. package/dist/pine-core/p-fed5f55e.system.entry.js +0 -2
  625. /package/dist/pine-core/{p-99b5e1a5.entry.js.map → p-0066d249.entry.js.map} +0 -0
  626. /package/dist/pine-core/{p-6a7936e7.system.entry.js.map → p-0199e3e9.system.entry.js.map} +0 -0
  627. /package/dist/pine-core/{p-ef9ed75a.system.entry.js.map → p-051ff780.system.entry.js.map} +0 -0
  628. /package/dist/pine-core/{p-04195bdb.entry.js.map → p-064e3d73.entry.js.map} +0 -0
  629. /package/dist/pine-core/{p-d0adaca0.system.entry.js.map → p-0d8a2a39.system.entry.js.map} +0 -0
  630. /package/dist/pine-core/{p-b2820acd.entry.js.map → p-0dbb2ae9.entry.js.map} +0 -0
  631. /package/dist/pine-core/{p-1d395d27.entry.js.map → p-11d4036e.entry.js.map} +0 -0
  632. /package/dist/pine-core/{p-0a11384e.entry.js.map → p-126197e5.entry.js.map} +0 -0
  633. /package/dist/pine-core/{p-60fbeb1c.entry.js.map → p-13ac0852.entry.js.map} +0 -0
  634. /package/dist/pine-core/{p-76e35041.entry.js.map → p-17c2f3fb.entry.js.map} +0 -0
  635. /package/dist/pine-core/{p-833b2170.system.entry.js.map → p-1858ad6d.system.entry.js.map} +0 -0
  636. /package/dist/pine-core/{p-8180b641.entry.js.map → p-1a5e79af.entry.js.map} +0 -0
  637. /package/dist/pine-core/{p-aeaae417.system.entry.js.map → p-276a6a8b.system.entry.js.map} +0 -0
  638. /package/dist/pine-core/{p-07f45626.entry.js.map → p-2b48499b.entry.js.map} +0 -0
  639. /package/dist/pine-core/{p-5367f477.system.entry.js.map → p-2fb60757.system.entry.js.map} +0 -0
  640. /package/dist/pine-core/{p-942fa145.system.entry.js.map → p-39488f2c.system.entry.js.map} +0 -0
  641. /package/dist/pine-core/{p-78f29270.entry.js.map → p-3e6229cc.entry.js.map} +0 -0
  642. /package/dist/pine-core/{p-7bb3a5d4.system.entry.js.map → p-3f83d4c4.system.entry.js.map} +0 -0
  643. /package/dist/pine-core/{p-27c0ffda.system.entry.js.map → p-41bf807f.system.entry.js.map} +0 -0
  644. /package/dist/pine-core/{p-c1909a5d.system.entry.js.map → p-487552a9.system.entry.js.map} +0 -0
  645. /package/dist/pine-core/{p-10e2feff.entry.js.map → p-4e5b9d19.entry.js.map} +0 -0
  646. /package/dist/pine-core/{p-111e7da2.system.entry.js.map → p-51d83489.system.entry.js.map} +0 -0
  647. /package/dist/pine-core/{p-f4fff209.system.entry.js.map → p-52af1890.system.entry.js.map} +0 -0
  648. /package/dist/pine-core/{p-fed5f55e.system.entry.js.map → p-55bf6be2.system.entry.js.map} +0 -0
  649. /package/dist/pine-core/{p-47a7a65b.entry.js.map → p-5a709348.entry.js.map} +0 -0
  650. /package/dist/pine-core/{p-0a87e2fc.system.entry.js.map → p-6438a29d.system.entry.js.map} +0 -0
  651. /package/dist/pine-core/{p-5e1e7762.entry.js.map → p-66b10d29.entry.js.map} +0 -0
  652. /package/dist/pine-core/{p-d6d453d8.system.entry.js.map → p-6d601fc2.system.entry.js.map} +0 -0
  653. /package/dist/pine-core/{p-ddcc4932.entry.js.map → p-6fd385ec.entry.js.map} +0 -0
  654. /package/dist/pine-core/{p-5a437fcd.system.entry.js.map → p-7a95a90f.system.entry.js.map} +0 -0
  655. /package/dist/pine-core/{p-d28768d1.entry.js.map → p-7c867f1b.entry.js.map} +0 -0
  656. /package/dist/pine-core/{p-c5e1ed09.system.entry.js.map → p-7eb4ac7c.system.entry.js.map} +0 -0
  657. /package/dist/pine-core/{p-c551191a.system.entry.js.map → p-81a28f54.system.entry.js.map} +0 -0
  658. /package/dist/pine-core/{p-fdf3a5ff.entry.js.map → p-8cb99f2f.entry.js.map} +0 -0
  659. /package/dist/pine-core/{p-d35b3494.entry.js.map → p-91c6bd68.entry.js.map} +0 -0
  660. /package/dist/pine-core/{p-fb2fb435.entry.js.map → p-94982c57.entry.js.map} +0 -0
  661. /package/dist/pine-core/{p-8f06b020.entry.js.map → p-978e722a.entry.js.map} +0 -0
  662. /package/dist/pine-core/{p-959c8247.system.entry.js.map → p-9860d0a8.system.entry.js.map} +0 -0
  663. /package/dist/pine-core/{p-78327c08.system.entry.js.map → p-9afcab0c.system.entry.js.map} +0 -0
  664. /package/dist/pine-core/{p-35917a1a.entry.js.map → p-a7204f01.entry.js.map} +0 -0
  665. /package/dist/pine-core/{p-f46c4618.system.entry.js.map → p-adf2449e.system.entry.js.map} +0 -0
  666. /package/dist/pine-core/{p-a556a328.system.entry.js.map → p-b2b405ca.system.entry.js.map} +0 -0
  667. /package/dist/pine-core/{p-a98cda38.system.entry.js.map → p-b9fe17b8.system.entry.js.map} +0 -0
  668. /package/dist/pine-core/{p-03d8cb4c.system.entry.js.map → p-c1099665.system.entry.js.map} +0 -0
  669. /package/dist/pine-core/{p-de550d9e.system.entry.js.map → p-c1115d78.system.entry.js.map} +0 -0
  670. /package/dist/pine-core/{p-51cc93b3.entry.js.map → p-c16d01cc.entry.js.map} +0 -0
  671. /package/dist/pine-core/{p-76f7cf21.entry.js.map → p-c652847a.entry.js.map} +0 -0
  672. /package/dist/pine-core/{p-44f10d3c.entry.js.map → p-c82c277f.entry.js.map} +0 -0
  673. /package/dist/pine-core/{p-65a875f6.entry.js.map → p-c82d0a99.entry.js.map} +0 -0
  674. /package/dist/pine-core/{p-0c30661b.system.entry.js.map → p-ce0d9f05.system.entry.js.map} +0 -0
  675. /package/dist/pine-core/{p-dcda4ff5.system.entry.js.map → p-cf5506db.system.entry.js.map} +0 -0
  676. /package/dist/pine-core/{p-4b2aab79.system.entry.js.map → p-d08ecd18.system.entry.js.map} +0 -0
  677. /package/dist/pine-core/{p-19c01019.entry.js.map → p-df15e16a.entry.js.map} +0 -0
  678. /package/dist/pine-core/{p-fd1ef1e1.entry.js.map → p-e05135c5.entry.js.map} +0 -0
  679. /package/dist/pine-core/{p-f99c59a8.entry.js.map → p-e30601a6.entry.js.map} +0 -0
  680. /package/dist/pine-core/{p-5c4aceb7.entry.js.map → p-e8d76117.entry.js.map} +0 -0
  681. /package/dist/pine-core/{p-2007a0b5.entry.js.map → p-ed94947b.entry.js.map} +0 -0
  682. /package/dist/pine-core/{p-d553e05c.system.entry.js.map → p-f647c1af.system.entry.js.map} +0 -0
  683. /package/dist/pine-core/{p-cc21ddcc.system.entry.js.map → p-f9bd0bc2.system.entry.js.map} +0 -0
@@ -0,0 +1,20 @@
1
+ import { html } from 'lit';
2
+ import { extractArgTypes } from '@pxtrn/storybook-addon-docs-stencil';
3
+ import { withActions } from '@storybook/addon-actions/decorator';
4
+
5
+ export default {
6
+ argTypes: extractArgTypes('pds-property'),
7
+ component: 'pds-property',
8
+ decorators: [withActions],
9
+ title: 'components/Property',
10
+ };
11
+
12
+ const BaseTemplate = (args) => html`
13
+ <pds-property component-id=${args.componentId} icon=${args.icon}>${args.text}</pds-property>`;
14
+
15
+ export const Default = BaseTemplate.bind();
16
+ Default.args = {
17
+ componentId: 'property-1',
18
+ icon: 'star',
19
+ text: 'Property text',
20
+ };
@@ -103,6 +103,7 @@ label {
103
103
 
104
104
  .pds-radio__message {
105
105
  color: var(--pine-color-text-message);
106
+ font: var(--pine-typography-body-sm-medium);
106
107
  margin-block-start: var(--sizing-margin-block-start);
107
108
  margin-inline-start: var(--pine-dimension-md);
108
109
  width: 100%;
@@ -43,9 +43,9 @@ export class PdsRadio {
43
43
  return classNames.join(' ');
44
44
  }
45
45
  render() {
46
- return (h(Host, { key: '8c215fa4193cf8bd246cd83edf97b8316685714e', class: this.classNames() }, h("label", { key: '578530f26dd25f73ccbbb39c773290cd275920cf', htmlFor: this.componentId }, h("input", { key: '9ab61a2683246fae862feb5e432a0872288b7a87', "aria-describedby": assignDescription(this.componentId, this.invalid, this.helperMessage), "aria-invalid": this.invalid ? "true" : undefined, type: "radio", id: this.componentId, name: this.name, value: this.value, checked: this.checked, required: this.required, disabled: this.disabled, onChange: this.handleRadioChange }), h("span", { key: 'f48c47ddb347bf0d7388359665dbbf3abf1b4859', class: this.hideLabel ? 'visually-hidden' : '' }, this.label)), this.helperMessage &&
47
- h("div", { key: 'b8dbb34af90eed82f69621ceaadd8da668f0b3de', class: 'pds-radio__message', id: messageId(this.componentId, 'helper') }, this.helperMessage), this.errorMessage &&
48
- h("div", { key: 'e777e4f2397ba833aefb7e8cd4ab9a32ea93685a', class: `pds-radio__message pds-radio__message--error`, id: messageId(this.componentId, 'error'), "aria-live": "assertive" }, h("pds-icon", { key: '13bd73d91bb3d676757ac9f4dcfcef7d2a5fcc55', icon: danger, size: "small" }), this.errorMessage)));
46
+ return (h(Host, { key: '5e8a4bd868172cda64aa2ad4697c7c41f0bdf633', class: this.classNames() }, h("label", { key: 'f18a8a06cf3f9be68ab6b110fe67a8af7c1e8595', htmlFor: this.componentId }, h("input", { key: '7a3ef56682ebe1facedf1eb52445f85e5e7de9d1', "aria-describedby": assignDescription(this.componentId, this.invalid, this.helperMessage), "aria-invalid": this.invalid ? "true" : undefined, type: "radio", id: this.componentId, name: this.name, value: this.value, checked: this.checked, required: this.required, disabled: this.disabled, onChange: this.handleRadioChange }), h("span", { key: 'bd0c351062e30ac4f68252497affdcde4730ef3d', class: this.hideLabel ? 'visually-hidden' : '' }, this.label)), this.helperMessage &&
47
+ h("div", { key: '3b180595a4c088df1f121937c11f7518a802b22f', class: 'pds-radio__message', id: messageId(this.componentId, 'helper') }, this.helperMessage), this.errorMessage &&
48
+ h("div", { key: 'e931d2de83247c74bac1568f479ee99abd1f20a0', class: `pds-radio__message pds-radio__message--error`, id: messageId(this.componentId, 'error'), "aria-live": "assertive" }, h("pds-icon", { key: '7dab998a2992e3738b5b3cd14ca7031ff6db6dbb', icon: danger, size: "small" }), this.errorMessage)));
49
49
  }
50
50
  static get is() { return "pds-radio"; }
51
51
  static get encapsulation() { return "scoped"; }
@@ -33,7 +33,7 @@ export class PdsRow {
33
33
  })), (this.minHeight && {
34
34
  'min-height': this.minHeight,
35
35
  }));
36
- return h(Host, { key: '7641ed5798525661b1a100bfbce60ed271e76887', class: `pds-row ${rowClasses}`, style: rowInlineStyles });
36
+ return h(Host, { key: 'b16cc4fa554894bccdb3dadbe07c531145dc2416', class: `pds-row ${rowClasses}`, style: rowInlineStyles });
37
37
  }
38
38
  static get is() { return "pds-row"; }
39
39
  static get originalStyleUrls() {
@@ -25,11 +25,29 @@
25
25
  width: 100%;
26
26
  }
27
27
 
28
- label {
28
+ .pds-select__label-wrapper {
29
+ align-items: center;
30
+ display: flex;
29
31
  grid-area: label;
32
+ justify-content: space-between;
33
+ margin-block-end: var(--pine-dimension-2xs);
34
+ }
35
+
36
+ .pds-select__action {
37
+ align-items: center;
38
+ display: flex;
39
+ gap: var(--pine-dimension-xs);
40
+ margin-inline-start: var(--pine-dimension-xs);
41
+ }
42
+
43
+ label {
30
44
  margin-block-end: var(--pine-dimension-2xs);
31
45
  }
32
46
 
47
+ .pds-select__label-wrapper label {
48
+ margin-block-end: 0;
49
+ }
50
+
33
51
  select {
34
52
  appearance: none;
35
53
  background-color: var(--pds-select-background);
@@ -43,7 +61,7 @@ select {
43
61
  grid-area: field;
44
62
  letter-spacing: var(--pine-letter-spacing);
45
63
  min-height: var(--pds-select-min-height);
46
- padding: var(--pine-dimension-xs) var(--pine-dimension-150);
64
+ padding: calc(var(--pine-dimension-xs) - var(--pine-border-width)) var(--pine-dimension-150);
47
65
  padding-inline-end: var(--pine-dimension-450);
48
66
  position: relative;
49
67
  }
@@ -80,6 +98,7 @@ select:has(~ .pds-select__message .pds-select__error-message):focus-visible {
80
98
 
81
99
  .pds-select__error-message,
82
100
  .pds-select__helper-message {
101
+ color: var(--pine-color-text-message);
83
102
  font: var(--pine-typography-body-sm-medium);
84
103
  margin-block-end: 0;
85
104
  margin-block-start: var(--pine-dimension-2xs);
@@ -1,6 +1,9 @@
1
1
  import { Host, h } from "@stencil/core";
2
2
  import { messageId } from "../../utils/form";
3
3
  import { danger, enlarge } from "@pine-ds/icons/icons";
4
+ /**
5
+ * @slot action - Content to be displayed in the label area, typically for help icons or links
6
+ */
4
7
  export class PdsSelect {
5
8
  constructor() {
6
9
  /**
@@ -63,10 +66,21 @@ export class PdsSelect {
63
66
  */
64
67
  valueChanged() {
65
68
  this.updateSelectedOption();
69
+ this.updateFormValue();
70
+ }
71
+ connectedCallback() {
72
+ // Initialize ElementInternals for form association
73
+ if (this.el.attachInternals) {
74
+ this.internals = this.el.attachInternals();
75
+ }
66
76
  }
67
77
  componentWillLoad() {
68
78
  this.updateSelectedOption();
69
79
  }
80
+ componentDidLoad() {
81
+ // Set initial form value
82
+ this.updateFormValue();
83
+ }
70
84
  /**
71
85
  * Updates the selected option in the select element based on the current value.
72
86
  *
@@ -113,11 +127,82 @@ export class PdsSelect {
113
127
  }
114
128
  return classNames.join(' ');
115
129
  }
130
+ renderAction() {
131
+ const hasAction = this.el.querySelector('[slot="action"]') !== null;
132
+ if (hasAction) {
133
+ return (h("div", { class: "pds-select__action", part: "action" }, h("slot", { name: "action" })));
134
+ }
135
+ return null;
136
+ }
137
+ /**
138
+ * Updates the form value using ElementInternals API
139
+ */
140
+ updateFormValue() {
141
+ if (this.internals && this.internals.setFormValue) {
142
+ const value = this.value;
143
+ // Handle multi-select arrays by converting to FormData or comma-separated string
144
+ if (Array.isArray(value)) {
145
+ if (value.length > 1) {
146
+ // For multiple values, create FormData with multiple entries
147
+ const formData = new FormData();
148
+ value.forEach(val => formData.append(this.name || '', val));
149
+ this.internals.setFormValue(formData);
150
+ }
151
+ else {
152
+ // Single value in array, use the string value
153
+ this.internals.setFormValue(value[0] || null);
154
+ }
155
+ }
156
+ else {
157
+ // Single string value
158
+ this.internals.setFormValue(value || null);
159
+ }
160
+ // Set validity based on native select validation
161
+ if (this.selectEl && this.internals && this.internals.setValidity) {
162
+ this.internals.setValidity(this.selectEl.validity, this.selectEl.validationMessage, this.selectEl);
163
+ }
164
+ }
165
+ }
166
+ /**
167
+ * Form Associated Custom Elements API: Called when the form is reset
168
+ */
169
+ formResetCallback() {
170
+ this.value = '';
171
+ this.updateFormValue();
172
+ }
173
+ /**
174
+ * Form Associated Custom Elements API: Called when the form is disabled
175
+ */
176
+ formDisabledCallback(disabled) {
177
+ this.disabled = disabled;
178
+ }
179
+ /**
180
+ * Form Associated Custom Elements API: Called to restore form state
181
+ */
182
+ formStateRestoreCallback(state) {
183
+ if (typeof state === 'string') {
184
+ this.value = state;
185
+ }
186
+ else if (state instanceof FormData && this.name) {
187
+ // Extract value(s) from FormData using the select's name
188
+ const values = state.getAll(this.name);
189
+ if (values.length > 1) {
190
+ // Multi-select: convert to string array
191
+ this.value = values.filter(v => typeof v === 'string');
192
+ }
193
+ else if (values.length === 1 && typeof values[0] === 'string') {
194
+ // Single select: use string value
195
+ this.value = values[0];
196
+ }
197
+ }
198
+ }
116
199
  render() {
117
- return (h(Host, { key: 'c0a0b391e6b5c35d5d3d7fce9d1f92583c582aa5', "aria-disabled": this.disabled ? 'true' : null, class: this.classNames() }, h("div", { key: '4f91cfcfcc570cf79d8e6a2f86d741f471489591', class: "pds-select" }, !this.hideLabel && (h("label", { key: '21fa83cfdad6a46be1efa22ebc4df696ca49b7b1', htmlFor: this.componentId }, h("span", { key: '760e46f98327c3b8e9ceb48ee158202ce42b8bb6', class: this.hideLabel ? 'visually-hidden' : '' }, this.label))), h("select", { key: '78d92779624d84df9ae73515bbda74d9d44a8919', "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: '9a75bf791747df08018d59de49855410c6dc2312', "aria-hidden": "true", class: "hidden", ref: (el) => (this.slotContainer = el) }, h("slot", { key: '1a974b4e171971e922aa04e9a56d6e6f26635724', onSlotchange: this.handleSlotChange })), this.renderMessages(), !this.multiple && h("pds-icon", { key: '9cbc569418617092229d660b34b2c17a2826c878', class: "pds-select__select-icon", icon: enlarge }))));
200
+ const hasAction = this.el.querySelector('[slot="action"]') !== null;
201
+ return (h(Host, { key: 'fea78ba16795a1eae88028f4ff13caeab17ad74f', "aria-disabled": this.disabled ? 'true' : null, class: this.classNames(), "has-action": hasAction && !this.hideLabel ? 'true' : null }, h("div", { key: '532a1537af1cdc9928cdb42f33530d8141941f56', class: "pds-select" }, !this.hideLabel && (h("div", { key: '6284c433266ba8991a7d32e16927147287fcf009', class: "pds-select__label-wrapper" }, h("label", { key: '66979f8fc19801a7a8494dd254e32bca72a23e17', htmlFor: this.componentId }, h("span", { key: '8aa8805e24b9fb085377510513f68a308e2bc78b', class: this.hideLabel ? 'visually-hidden' : '' }, this.label)), hasAction && this.renderAction())), h("select", { key: 'c007dc0a49f1607745664a0527a67ad4721316c5', "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: 'a96e7e5ef5ef4a20654956d27c4e58eb0aaad1ea', "aria-hidden": "true", class: "hidden", ref: (el) => (this.slotContainer = el) }, h("slot", { key: '1910bf5bfdea7356f435e74dfe2427669b64d3d8', onSlotchange: this.handleSlotChange })), this.renderMessages(), !this.multiple && h("pds-icon", { key: 'e9fa98965996e1a873360fa999149d5e0ab821ee', class: "pds-select__select-icon", icon: enlarge }))));
118
202
  }
119
203
  static get is() { return "pds-select"; }
120
204
  static get encapsulation() { return "shadow"; }
205
+ static get formAssociated() { return true; }
121
206
  static get originalStyleUrls() {
122
207
  return {
123
208
  "$": ["pds-select.tokens.scss", "../../global/styles/utils/label.scss", "pds-select.scss"]
@@ -395,6 +480,7 @@ export class PdsSelect {
395
480
  }
396
481
  }];
397
482
  }
483
+ static get elementRef() { return "el"; }
398
484
  static get watchers() {
399
485
  return [{
400
486
  "propName": "value",
@@ -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, Event, EventEmitter, Host, h, Prop, Watch } from '@stencil/core';\nimport { messageId } from '../../utils/form';\nimport { danger, enlarge } from '@pine-ds/icons/icons';\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})\nexport class PdsSelect {\n\n private selectEl!: HTMLSelectElement;\n private slotContainer!: HTMLDivElement;\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 checkbox should be displayed. Label remains accessible to assistive technology such as screen readers.\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 * The value(s) of the selected option(s).\n *\n */\n @Prop({ mutable: true }) value?: string | string[];\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 }\n\n componentWillLoad() {\n this.updateSelectedOption();\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 render() {\n return (\n <Host aria-disabled={this.disabled ? 'true' : null} class={this.classNames()}>\n <div class=\"pds-select\">\n {!this.hideLabel && (\n <label htmlFor={this.componentId}>\n <span class={this.hideLabel ? 'visually-hidden' : ''}>\n {this.label}\n </span>\n </label>\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":"AAAA,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAgB,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAC9F,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAEvD;;GAEG;AAOH,MAAM,OAAO,SAAS;IANtB;QAwBE;;;WAGG;QACK,aAAQ,GAAG,KAAK,CAAA;QA2BxB;;;WAGG;QACK,aAAQ,GAAG,KAAK,CAAC;QAOzB;;;WAGG;QACK,aAAQ,GAAG,KAAK,CAAC;QAiEzB;;UAEE;QACM,mBAAc,GAAG,CAAC,CAAQ,EAAE,EAAE;YACpC,MAAM,MAAM,GAAG,CAAC,CAAC,MAA2B,CAAA;YAE5C,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;iBACpC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;iBACtC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;YAEtC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACxC,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YAC3B,CAAC;iBAAM,CAAC;gBACJ,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC;YACxB,CAAC;YAED,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAe,CAAC,CAAC;QAC7C,CAAC,CAAC;QAEF;;;;;WAKG;QACK,qBAAgB,GAAG,GAAG,EAAE;YAC9B,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,MAAM,CAAoB,CAAC;YAEzE,IAAI,CAAC,QAAQ,CAAC,SAAS,GAAG,EAAE,CAAC;YAC7B,MAAM,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAgD,CAAC;YAEjH,gBAAgB,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;gBAChC,IAAK,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;oBACnD,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAA4C,CAAC;oBACnF,IAAI,UAAU,CAAC,OAAO,KAAK,QAAQ,IAAK,UAAgC,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,EAAE,CAAC;wBAC7F,UAAgC,CAAC,QAAQ,GAAG,IAAI,CAAC;oBACpD,CAAC;oBACD,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;gBACxC,CAAC;YACH,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC9B,CAAC,CAAC;KA6JH;IA1PC;;;;OAIG;IACH,YAAY;QACV,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC5B,IAAI,CAAC,eAAe,EAAE,CAAC;IACzB,CAAC;IAED,iBAAiB;QACf,mDAAmD;QACnD,IAAI,IAAI,CAAC,EAAE,CAAC,eAAe,EAAE,CAAC;YAC5B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,EAAE,CAAC,eAAe,EAAE,CAAC;QAC7C,CAAC;IACH,CAAC;IAED,iBAAiB;QACf,IAAI,CAAC,oBAAoB,EAAE,CAAC;IAC9B,CAAC;IAED,gBAAgB;QACd,yBAAyB;QACzB,IAAI,CAAC,eAAe,EAAE,CAAC;IACzB,CAAC;IAED;;;;;;;;;OASG;IACK,oBAAoB;QAC1B,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;YAEtC,iDAAiD;YACjD,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,MAAyB,EAAE,EAAE;gBACpD,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;oBAC9B,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBACtD,CAAC;qBAAM,CAAC;oBACN,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,KAAK,MAAM,CAAC,KAAK,CAAC;gBAChD,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;QAAA,CAAC;IACJ,CAAC;IA8CO,gBAAgB;QACtB,OAAO,IAAI,CAAC,aAAa,IAAI,CAC3B,SAAG,KAAK,EAAC,4BAA4B,EAAC,EAAE,EAAE,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,IAC5E,IAAI,CAAC,aAAa,CACjB,CACL,CAAC;IACJ,CAAC;IAEO,eAAe;QACrB,OAAO,IAAI,CAAC,YAAY,IAAI,CAC1B,SAAG,KAAK,EAAC,2BAA2B,EAAC,EAAE,EAAE,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,eAAY,WAAW;YAClG,gBAAU,IAAI,EAAE,MAAM,EAAE,IAAI,EAAC,OAAO,GAAY;YAC/C,IAAI,CAAC,YAAY,CAChB,CACL,CAAC;IACJ,CAAC;IAEO,cAAc;QACpB,IAAI,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,IAAI,CAAC,YAAY;YAAE,OAAO,IAAI,CAAC;QAE3D,OAAO,CACL,WAAK,KAAK,EAAC,qBAAqB;YAC7B,IAAI,CAAC,gBAAgB,EAAE;YACvB,IAAI,CAAC,eAAe,EAAE,CACnB,CACP,CAAC;IACJ,CAAC;IAEO,UAAU;QAChB,MAAM,UAAU,GAAG,EAAE,CAAC;QAEtB,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAAC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAAC,CAAC;QACpD,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAAC,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAAC,CAAC;QAEtD,OAAO,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;IAEO,YAAY;QAClB,MAAM,SAAS,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,iBAAiB,CAAC,KAAK,IAAI,CAAC;QACpE,IAAI,SAAS,EAAE,CAAC;YACd,OAAO,CACL,WAAK,KAAK,EAAC,oBAAoB,EAAC,IAAI,EAAC,QAAQ;gBAC3C,YAAM,IAAI,EAAC,QAAQ,GAAQ,CACvB,CACP,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACK,eAAe;QACrB,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,CAAC;YAClD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;YAEzB,iFAAiF;YACjF,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;gBACzB,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACrB,6DAA6D;oBAC7D,MAAM,QAAQ,GAAG,IAAI,QAAQ,EAAE,CAAC;oBAChC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC;oBAC5D,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;gBACxC,CAAC;qBAAM,CAAC;oBACN,8CAA8C;oBAC9C,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC;gBAChD,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,sBAAsB;gBACtB,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC;YAC7C,CAAC;YAED,iDAAiD;YACjD,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC;gBAClE,IAAI,CAAC,SAAS,CAAC,WAAW,CACxB,IAAI,CAAC,QAAQ,CAAC,QAAQ,EACtB,IAAI,CAAC,QAAQ,CAAC,iBAAiB,EAC/B,IAAI,CAAC,QAAQ,CACd,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED;;OAEG;IACH,iBAAiB;QACf,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;QAChB,IAAI,CAAC,eAAe,EAAE,CAAC;IACzB,CAAC;IAED;;OAEG;IACH,oBAAoB,CAAC,QAAiB;QACpC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAED;;OAEG;IACH,wBAAwB,CAAC,KAA+B;QACtD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACrB,CAAC;aAAM,IAAI,KAAK,YAAY,QAAQ,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YAClD,yDAAyD;YACzD,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACvC,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACtB,wCAAwC;gBACxC,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAa,CAAC;YACrE,CAAC;iBAAM,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,MAAM,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE,CAAC;gBAChE,kCAAkC;gBAClC,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YACzB,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM;QACJ,MAAM,SAAS,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,iBAAiB,CAAC,KAAK,IAAI,CAAC;QAEpE,OAAO,CACL,EAAC,IAAI,sEAAgB,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,UAAU,EAAE,gBAAc,SAAS,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI;YACpI,4DAAK,KAAK,EAAC,YAAY;gBACpB,CAAC,IAAI,CAAC,SAAS,IAAI,CAClB,4DAAK,KAAK,EAAC,2BAA2B;oBACpC,8DAAO,OAAO,EAAE,IAAI,CAAC,WAAW;wBAC9B,6DAAM,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,IACjD,IAAI,CAAC,KAAK,CACN,CACD;oBACP,SAAS,IAAI,IAAI,CAAC,YAAY,EAAE,CAC7B,CACP;gBACD,6EACc,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,EACnD,YAAY,EAAE,IAAI,CAAC,YAAY,IAAI,SAAS,EAC5C,KAAK,EAAC,mBAAmB,EACzB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,EAAE,EAAE,IAAI,CAAC,WAAW,EACpB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,QAAQ,EAAE,IAAI,CAAC,cAAc,EAC7B,IAAI,EAAC,QAAQ,EACb,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,GAAG,EAAuB,CAAC,GAC9C;gBACV,2EAAiB,MAAM,EAAC,KAAK,EAAC,QAAQ,EAAC,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;oBAC3E,6DAAM,YAAY,EAAE,IAAI,CAAC,gBAAgB,GAAS,CAC9C;gBACL,IAAI,CAAC,cAAc,EAAE;gBACrB,CAAC,IAAI,CAAC,QAAQ,IAAI,iEAAU,KAAK,EAAC,yBAAyB,EAAC,IAAI,EAAE,OAAO,GAAI,CAC1E,CACD,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, Element, Event, EventEmitter, Host, h, Prop, Watch } from '@stencil/core';\nimport { messageId } 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\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 checkbox should be displayed. Label remains accessible to assistive technology such as screen readers.\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 * The value(s) of the selected option(s).\n *\n */\n @Prop({ mutable: true }) value?: string | string[];\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 connectedCallback() {\n // Initialize ElementInternals for form association\n if (this.el.attachInternals) {\n this.internals = this.el.attachInternals();\n }\n }\n\n componentWillLoad() {\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"]}
@@ -62,6 +62,7 @@ const BaseTemplate = (args) =>
62
62
  type="${args.type}"
63
63
  value="${args.value}"
64
64
  >
65
+ ${args.action || ''}
65
66
  ${options.map((option) => html`<option value="${option.value}">${option.label}</option>`)}
66
67
  </pds-select>`;
67
68
 
@@ -80,6 +81,7 @@ const OptgroupTemplate = (args) =>
80
81
  type="${args.type}"
81
82
  value="${args.value}"
82
83
  >
84
+ ${args.action || ''}
83
85
  ${optgroupOptions.map(
84
86
  (group) => html`<optgroup label="${group.label}">${group.options.map((option) => html`<option value="${option.value}">${option.label}</option>`)}</optgroup>`,
85
87
  )}
@@ -153,3 +155,43 @@ WithOptgroup.args = {
153
155
  name: 'beatles',
154
156
  value: 'george',
155
157
  };
158
+
159
+ export const withActionLink = (args) => html`<pds-select
160
+ autocomplete="${args.autocomplete}"
161
+ component-id="pds-select-action-link"
162
+ disabled="${args.disabled}"
163
+ error-message="${args.errorMessage}"
164
+ helper-message="${args.helperMessage}"
165
+ hide-label="${args.hideLabel}"
166
+ invalid="${args.invalid}"
167
+ label="Timezone"
168
+ multiple="${args.multiple}"
169
+ name="timezone"
170
+ required="${args.required}"
171
+ type="${args.type}"
172
+ value="${args.value}">
173
+ <pds-link href="#" slot="action">
174
+ Auto-detect
175
+ </pds-link>
176
+ ${options.map((option) => html`<option value="${option.value}">${option.label}</option>`)}
177
+ </pds-select>`;
178
+
179
+ export const withActionButton = (args) => html`<pds-select
180
+ autocomplete="${args.autocomplete}"
181
+ component-id="pds-select-action-button"
182
+ disabled="${args.disabled}"
183
+ error-message="${args.errorMessage}"
184
+ helper-message="${args.helperMessage}"
185
+ hide-label="${args.hideLabel}"
186
+ invalid="${args.invalid}"
187
+ label="Country"
188
+ multiple="${args.multiple}"
189
+ name="country"
190
+ required="${args.required}"
191
+ type="${args.type}"
192
+ value="${args.value}">
193
+ <pds-button slot="action" variant="unstyled">
194
+ <pds-icon name="question-circle"></pds-icon>
195
+ </pds-button>
196
+ ${options.map((option) => html`<option value="${option.value}">${option.label}</option>`)}
197
+ </pds-select>`;
@@ -25,7 +25,7 @@ export class PdsSortableItem {
25
25
  }
26
26
  }
27
27
  render() {
28
- return (h(Host, { key: 'b7817592ed6329f84e09ff5c5e200bc4305275bc', class: "pds-sortable-item", id: this.componentId }, this.showHandle && (h("div", { key: 'c31df5f0c81bd684ac60690044e2409d0cbc7831', class: "pds-sortable-item__handle" }, h("pds-icon", { key: 'ff764a5ef70560c073474a7a51f45dd89df53190', icon: handleIcon }))), h("slot", { key: 'e1f33a5e56b37405b7e46bff24dc91e4ece71870' }), this.enableActions && (h("div", { key: '569563f7c7d5b069888a8c3ee8e50fd3d626b1b2', class: "pds-sortable-item__actions" }, h("slot", { key: '9ca544725723703ddac0de3f0bb9a4b0884d1571', name: "sortable-item-actions" })))));
28
+ return (h(Host, { key: '221592dd0eec456c0baf58243f529ca463cbf135', class: "pds-sortable-item", id: this.componentId }, this.showHandle && (h("div", { key: 'dbaff57b9faa68f8e72473b082108757b2283373', class: "pds-sortable-item__handle" }, h("pds-icon", { key: '6d42dbe93a13bb6be2f76cccae9aa502d9940de5', icon: handleIcon }))), h("slot", { key: 'c4ae6785c184f6916ff4cc9b551e6cc07f4d0440' }), this.enableActions && (h("div", { key: '4e2d581ae71cb669a06c0ec89c2f8e3e7a74cc65', class: "pds-sortable-item__actions" }, h("slot", { key: '3ac9ddee2738b70fa2d4eec7fafa276d71125219', 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: 'c5353036ad9b108f742e55b1a28ebb449cf556d0', class: this.classNames(), id: this.componentId }, h("slot", { key: 'cb71736fb3388f5829476c5b4802d5aa5f811ac7' })));
47
+ return (h(Host, { key: '1477131e596ce7320a0fd99164b330c3131ed148', class: this.classNames(), id: this.componentId }, h("slot", { key: 'e5045a1937528b4cd269866dc5ec0f28361259d9' })));
48
48
  }
49
49
  static get is() { return "pds-sortable"; }
50
50
  static get encapsulation() { return "scoped"; }
@@ -43,9 +43,9 @@ export class PdsSwitch {
43
43
  this.inheritedAttributes = Object.assign({}, inheritAriaAttributes(this.el));
44
44
  }
45
45
  render() {
46
- return (h(Host, { key: 'c91cd6368fff2cbcc6b4974505d94139fa2722c5', class: this.switchClassNames(), "aria-disabled": this.disabled ? 'true' : null }, h("label", { key: 'e46f5f6a8073236ec0d55b2bcc8087dc32ad5a68', htmlFor: this.componentId }, h("input", Object.assign({ key: '9a2db3481c6c5e223819066df34bc220a139df03', "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: 'c3b138eb7b6800d01e5676e94c17988c8a52d4b2', class: this.hideLabel ? 'visually-hidden' : '' }, this.label)), this.helperMessage &&
47
- h("div", { key: 'fcaaa0ea30c8ad155a0b43004e77549abf888a57', class: `pds-switch__message`, id: messageId(this.componentId, 'helper') }, this.helperMessage), this.errorMessage &&
48
- h("div", { key: '045311e393d47bebd536d8fbe220260d112ceb3f', class: `pds-switch__message pds-switch__message--error`, id: messageId(this.componentId, 'error'), "aria-live": "assertive" }, h("pds-icon", { key: '035488794764ffaee3275edfa9a3e9fad2d11ddb', icon: danger, size: "small" }), this.errorMessage)));
46
+ return (h(Host, { key: '128ed012fe386dea88e6da282084589b22453588', class: this.switchClassNames(), "aria-disabled": this.disabled ? 'true' : null }, h("label", { key: '3407eeffca9a0f0c047e5d7c761526b488aafb62', htmlFor: this.componentId }, h("input", Object.assign({ key: '3f16f928b2b96aa212923ba09ee80a3559b8103c', "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: '09c43ffbabce6a2fe133875ca15e0910d34064fa', class: this.hideLabel ? 'visually-hidden' : '' }, this.label)), this.helperMessage &&
47
+ h("div", { key: '90c9df8b2efef83cf238d540076bad04bf9aa2eb', class: `pds-switch__message`, id: messageId(this.componentId, 'helper') }, this.helperMessage), this.errorMessage &&
48
+ h("div", { key: 'e812446a907dc0ad822b0c5974fca5913117f051', class: `pds-switch__message pds-switch__message--error`, id: messageId(this.componentId, 'error'), "aria-live": "assertive" }, h("pds-icon", { key: 'e1c93c8ac145e54a205f8bfecf465ba8e484313b', icon: danger, size: "small" }), this.errorMessage)));
49
49
  }
50
50
  static get is() { return "pds-switch"; }
51
51
  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: 'ac8d361f2d78eb929c17523843d2ca0ac53f6789', role: "rowgroup" }, h("slot", { key: '132782ab9466a9dbd4350247aae762d731e7aa71' })));
4
+ return (h(Host, { key: 'fc9edecfd03417cb9f6c4386b5fb4fd3a015138d', role: "rowgroup" }, h("slot", { key: 'c79c6c1009b0afb456551d2e989491567fe73f43' })));
5
5
  }
6
6
  static get is() { return "pds-table-body"; }
7
7
  static get encapsulation() { return "shadow"; }
@@ -37,11 +37,11 @@ export class PdsTableCell {
37
37
  return classNames.join(' ');
38
38
  }
39
39
  render() {
40
- return (h(Host, { key: '801c1c1de26cb633280f308274861e8fd3629091', class: this.classNames(), role: "gridcell", style: this.tableRef &&
40
+ return (h(Host, { key: '289640cb5d2d78067b4a32a26e2eb9200cdbde1a', class: this.classNames(), role: "gridcell", style: this.tableRef &&
41
41
  this.tableRef.fixedColumn &&
42
42
  this.tableRef.selectable
43
43
  ? { '--fixed-cell-position': '40px' }
44
- : {} }, h("slot", { key: '0000fae3c9f199e3e80328afa7dd4347f429980b' })));
44
+ : {} }, h("slot", { key: 'e961e93f1d6cbc3bd6b9aa476632741dfc603bfc' })));
45
45
  }
46
46
  static get is() { return "pds-table-cell"; }
47
47
  static get encapsulation() { return "shadow"; }
@@ -32,7 +32,7 @@ export class PdsTableHead {
32
32
  }
33
33
  }
34
34
  render() {
35
- return (h(Host, { key: '38eaecd17a328791e5993d020a490f63f67cd9d5', role: "row" }, this.tableRef && this.tableRef.selectable && (h("pds-table-head-cell", { key: '438086205f3e018f597c868e98f300d28c4f3384', part: this.tableRef.selectable ? 'checkbox-cell' : '' }, h("pds-checkbox", { key: '835bbe3c1f3a0fcb217f62cf862b9ea80ddff38e', componentId: this.generateUniqueId(), indeterminate: this.indeterminate, onInput: this.handleInput, label: "Select All Rows", hideLabel: true, checked: this.isSelected }))), h("slot", { key: 'aa5507016e20951eab86f62680720c54de5a5a86' })));
35
+ return (h(Host, { key: '3f315b70b0c57570cbb81415a5590760242e6904', role: "row" }, this.tableRef && this.tableRef.selectable && (h("pds-table-head-cell", { key: '09dc3a0630448be1112650ae34d6c09e0bf2539b', part: this.tableRef.selectable ? 'checkbox-cell' : '' }, h("pds-checkbox", { key: '518ec4ad92e8b0b11fbff1c064a6811e13b442e0', componentId: this.generateUniqueId(), indeterminate: this.indeterminate, onInput: this.handleInput, label: "Select All Rows", hideLabel: true, checked: this.isSelected }))), h("slot", { key: '527db0d141790c0d673cb81d4cca2266495b117e' })));
36
36
  }
37
37
  static get is() { return "pds-table-head"; }
38
38
  static get encapsulation() { return "shadow"; }
@@ -61,11 +61,11 @@ export class PdsTableHeadCell {
61
61
  return classNames.join(' ');
62
62
  }
63
63
  render() {
64
- return (h(Host, { key: '2e75e9b8d1254ec21c786fd7e8304aaf38b26377', class: this.classNames(), role: "columnheader", onClick: this.toggleSort, style: this.tableRef &&
64
+ return (h(Host, { key: 'bf2f29d2214ba308be7c8cca6b2afb66fdccc2fa', class: this.classNames(), role: "columnheader", onClick: this.toggleSort, style: this.tableRef &&
65
65
  this.tableRef.fixedColumn &&
66
66
  this.tableRef.selectable
67
67
  ? { '--fixed-cell-position': '40px' }
68
- : {} }, h("slot", { key: 'f9c7aae07eb7907a18dcf1a59813a2810341f2e9' }), this.sortable && (h("pds-icon", { key: 'd24a2f2c1db5bb15216ba64bc5a7299e18c23626', icon: this.sortingDirection === 'asc' ? upSmall : downSmall }))));
68
+ : {} }, h("slot", { key: '14a6849059768b901ec5be69cff37f56ce07c15b' }), this.sortable && (h("pds-icon", { key: '29e0068115ec20dba39e4a798f11d0b0a0c6fef7', icon: this.sortingDirection === 'asc' ? upSmall : downSmall }))));
69
69
  }
70
70
  static get is() { return "pds-table-head-cell"; }
71
71
  static get encapsulation() { return "shadow"; }
@@ -43,7 +43,7 @@ export class PdsTableRow {
43
43
  }
44
44
  }
45
45
  render() {
46
- return (h(Host, { key: '651138280f94fd837a77e172c7e0ae5181ce8357', class: this.classNames(), role: "row" }, this.tableRef && this.tableRef.selectable && (h("pds-table-cell", { key: '739cd15863b52d60f9a00bffcf0d900b1ce1f545', part: this.tableRef.fixedColumn ? 'checkbox-cell' : '', class: this.tableRef.selectable ? 'has-checkbox' : '' }, h("pds-checkbox", { key: '2b2000bc223fa72e2be0edea25e72e4d26a98fa1', componentId: this.generateUniqueId(), onClick: this.handleClick, indeterminate: this.indeterminate, label: "Select Row", hideLabel: true, checked: this.isSelected }))), h("slot", { key: '9d3be777c57b1ba4be066cc4ffa5496289fbdc02' })));
46
+ return (h(Host, { key: '3c2be878370bd35f97a3fc4cc1136a6fdb096a24', class: this.classNames(), role: "row" }, this.tableRef && this.tableRef.selectable && (h("pds-table-cell", { key: '40541b11040d4c243d82779cf84e212f73541368', part: this.tableRef.fixedColumn ? 'checkbox-cell' : '', class: this.tableRef.selectable ? 'has-checkbox' : '' }, h("pds-checkbox", { key: 'd20e734a91562340f3808297c2bb6f5f257d7a46', componentId: this.generateUniqueId(), onClick: this.handleClick, indeterminate: this.indeterminate, label: "Select Row", hideLabel: true, checked: this.isSelected }))), h("slot", { key: '148434aa3dace85b0d48aa2a0ead93cda6850d2a' })));
47
47
  }
48
48
  static get is() { return "pds-table-row"; }
49
49
  static get encapsulation() { return "shadow"; }
@@ -83,7 +83,7 @@ export class PdsTable {
83
83
  headerCheckbox.indeterminate = !allSelectedRows && !noneSelectedRows;
84
84
  }
85
85
  render() {
86
- return (h(Host, { key: '8fbd30502d23962edf8977e9d23b8e990f043e23', class: this.classNames(), id: this.componentId, role: "grid", selectable: this.selectable, tabindex: "0" }, h("slot", { key: '5041e5f588db255c747406c47bcfb3524cd58450' })));
86
+ return (h(Host, { key: '994a8ae5aae1ddcc7dd0271187dd65718bc1401f', class: this.classNames(), id: this.componentId, role: "grid", selectable: this.selectable, tabindex: "0" }, h("slot", { key: 'e07c97a88d1bf1b2efb92f2cdf0159fc93ca9f9a' })));
87
87
  }
88
88
  static get is() { return "pds-table"; }
89
89
  static get encapsulation() { return "shadow"; }
@@ -11,9 +11,9 @@ export class PdsTab {
11
11
  this.pdsTabClick.emit([index, parentComponentId]);
12
12
  }
13
13
  render() {
14
- const availabilityTabEdgeInlineStart = (h("span", { key: 'cdf38229fcb4548cf188e401d8949f0fdddd8160', class: "pds-tab-edge", role: "presentation" }));
15
- const availabilityTabEdgeInlineEnd = (h("span", { key: 'ffd68b6f2c2a521560495411455185d426d41446', class: "pds-tab-edge pds-tab-edge--end", role: "presentation" }));
16
- return (h(Host, { key: 'afc723cff632012e447cecf9e4a2d7258b846d48', variant: this.variant, slot: "tabs", index: this.index }, h("button", { key: 'f7f814b9ef9ac505a741ce74abd91934116f975f', role: "tab", id: this.parentComponentId + "__" + this.name, "aria-controls": this.parentComponentId + "__" + this.name + "-panel", tabindex: this.selected ? "0" : "-1", "aria-selected": this.selected ? "true" : "false", class: this.selected ? "pds-tab is-active" : "pds-tab", onClick: this.onTabClick.bind(this, this.index, this.parentComponentId) }, this.variant === "availability" && availabilityTabEdgeInlineStart, this.variant === "availability" && availabilityTabEdgeInlineEnd, h("div", { key: '12fea0cfdf4a1e9acee497ff3e60cb276f6ae649', class: "pds-tab__content" }, h("slot", { key: 'bf4455e277526a453111542ce7c80a0621135f18' })))));
14
+ const availabilityTabEdgeInlineStart = (h("span", { key: '4f66f8149bd22a451ddc9e2849dfb06110d9bad9', class: "pds-tab-edge", role: "presentation" }));
15
+ const availabilityTabEdgeInlineEnd = (h("span", { key: '2a8e8c25af220803c4b75d29f31d6381475a12dd', class: "pds-tab-edge pds-tab-edge--end", role: "presentation" }));
16
+ return (h(Host, { key: '62b2ccf5e478fc50b41bd837979311c535c78412', variant: this.variant, slot: "tabs", index: this.index }, h("button", { key: 'e1b179b308791299b6d57441ea50f79da7bd8f21', role: "tab", id: this.parentComponentId + "__" + this.name, "aria-controls": this.parentComponentId + "__" + this.name + "-panel", tabindex: this.selected ? "0" : "-1", "aria-selected": this.selected ? "true" : "false", class: this.selected ? "pds-tab is-active" : "pds-tab", onClick: this.onTabClick.bind(this, this.index, this.parentComponentId) }, this.variant === "availability" && availabilityTabEdgeInlineStart, this.variant === "availability" && availabilityTabEdgeInlineEnd, h("div", { key: 'fcf7b2db11eaa6e8f0c97b96f925540678a3c864', class: "pds-tab__content" }, h("slot", { key: '2ee6ea6d01dc62bd177e9b8473602b9d5b2549b3' })))));
17
17
  }
18
18
  static get is() { return "pds-tab"; }
19
19
  static get originalStyleUrls() {
@@ -8,7 +8,7 @@ export class PdsTabpanel {
8
8
  this.selected = false; // eslint-disable-line @stencil-community/strict-mutable
9
9
  }
10
10
  render() {
11
- return (h(Host, { key: '021d0c1f2fd740087bdd88069ac82455b8b5ede1', slot: "tabpanels" }, h("div", { key: '036aca9a0a29ba7cfc8aa0132eab027898a661f2', role: "tabpanel", id: this.parentComponentId + "__" + this.name + '-panel', tabindex: "0", "aria-labelledby": this.parentComponentId + "__" + this.name, class: this.selected ? "pds-tabpanel is-active" : "pds-tabpanel" }, h("slot", { key: 'd6b61e7b8af79204dbb5d3e421028715236a7bb1' }))));
11
+ return (h(Host, { key: '0465e33b28555596cc4a891a63a99c49153f577d', slot: "tabpanels" }, h("div", { key: '8c2404f0aaee7dd7219552b51332d4194aa535ae', role: "tabpanel", id: this.parentComponentId + "__" + this.name + '-panel', tabindex: "0", "aria-labelledby": this.parentComponentId + "__" + this.name, class: this.selected ? "pds-tabpanel is-active" : "pds-tabpanel" }, h("slot", { key: 'f7f9dc2a755aa726b8e46d8641087a8fdb1a9e5e' }))));
12
12
  }
13
13
  static get is() { return "pds-tabpanel"; }
14
14
  static get originalStyleUrls() {
@@ -76,7 +76,7 @@ export class PdsTabs {
76
76
  this.passPropsToChildren();
77
77
  }
78
78
  render() {
79
- return (h(Host, { key: 'ed163de5068114e7c7dd8314c7ed036859d0d0af', "active-tab-name": this.activeTabName, class: this.classNames(), id: this.componentId }, h("div", { key: '4b0f2bce407b2ea5c7ceb1435f4f91531334557e', class: "pds-tabs__tablist", role: "tablist", "aria-label": this.tablistLabel }, h("slot", { key: 'a61fb9bd35056f87233c1fec66dda175b201b265', name: "tabs" })), h("slot", { key: 'd78cc498b17ddd84015174802e4eb18fc5053ec2', name: "tabpanels" })));
79
+ return (h(Host, { key: '3b06654b1d2298a9cfa3fc42996ad72e80942ee4', "active-tab-name": this.activeTabName, class: this.classNames(), id: this.componentId }, h("div", { key: '529e1aa48f7fea4754dbe8a3d8f655eb297e1a9a', class: "pds-tabs__tablist", role: "tablist", "aria-label": this.tablistLabel }, h("slot", { key: 'cca3b75eec2a519e87878b39d8ca52a6c033dc4d', name: "tabs" })), h("slot", { key: 'caf5abcc85eee1e45e197a7ec792a873cdfb104b', name: "tabpanels" })));
80
80
  }
81
81
  static get is() { return "pds-tabs"; }
82
82
  static get encapsulation() { return "shadow"; }
@@ -1,5 +1,8 @@
1
1
  import { h } from "@stencil/core";
2
2
  import { setColor } from "../../utils/utils";
3
+ /**
4
+ * @part content - The text content container
5
+ */
3
6
  export class PdsText {
4
7
  constructor() {
5
8
  /**
@@ -17,7 +20,7 @@ export class PdsText {
17
20
  ${this.weight !== undefined && this.weight.trim() !== '' ? `pds-text--weight-${this.weight}` : ''}
18
21
  ${this.decoration !== undefined && this.decoration.trim() !== '' ? `pds-text--decoration-${this.decoration}` : ''}
19
22
  `;
20
- return (h(Tag, { key: '327e3b37535dd5eb28cf3ea0430e544261e570c0', style: this.color && setColor(this.color), class: typeClasses }, h("slot", { key: '97010a619baa6fd4a45e79ab9354097e99af0ae2' })));
23
+ return (h(Tag, { key: '2b8a2f2aaafd342a7df51029213c82224774fd5f', style: this.color && setColor(this.color), class: typeClasses, part: "content" }, h("slot", { key: '8dd80aaec576c1e1ab152529f94732d6074c5542' })));
21
24
  }
22
25
  static get is() { return "pds-text"; }
23
26
  static get encapsulation() { return "shadow"; }
@@ -1 +1 @@
1
- {"version":3,"file":"pds-text.js","sourceRoot":"","sources":["../../../src/components/pds-text/pds-text.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAC5D,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAO7C,MAAM,OAAO,OAAO;IALpB;QAsEE;;WAEG;QACK,QAAG,GAWF,GAAG,CAAC;KAyBd;IAlBC,MAAM;QACJ,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;QAErB,MAAM,WAAW,GAAG;;QAEhB,IAAI,CAAC,KAAK,KAAK,SAAS,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,mBAAmB,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE;QAC3F,IAAI,CAAC,MAAM,KAAK,SAAS,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,oBAAoB,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE;QAC/F,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,kBAAkB,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE;QACvF,IAAI,CAAC,MAAM,KAAK,SAAS,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,oBAAoB,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE;QAC/F,IAAI,CAAC,UAAU,KAAK,SAAS,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,wBAAwB,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE;KAClH,CAAC;QAEF,OAAO,CACL,EAAC,GAAG,qDAAC,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,WAAW;YAChE,8DAAQ,CACJ,CACP,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, h, Prop, Element } from '@stencil/core';\nimport { setColor } from '../../utils/utils';\n\n@Component({\n tag: 'pds-text',\n styleUrl: 'pds-text.scss',\n shadow: true,\n})\nexport class PdsText {\n @Element() el: HTMLPdsTextElement;\n /**\n * Sets the text alignment.\n */\n @Prop() align?: 'start' | 'center' | 'end' | 'justify';\n\n /**\n * Sets the text color.\n */\n @Prop() color?: string;\n\n /**\n * Sets the text decoration.\n */\n @Prop() decoration?:\n | 'strikethrough'\n | 'underline-dotted';\n\n /**\n * Set the bottom margin for the text.\n */\n @Prop() gutter?:\n | '2xl'\n | 'xl'\n | 'lg'\n | 'md'\n | 'sm'\n | 'xs'\n | '2xs';\n\n /**\n * If set or `true`, the text will be italic.\n */\n @Prop() italic?: boolean;\n\n /**\n * Sets the font size.\n */\n @Prop() size?:\n | '2xl'\n | 'xl'\n | 'lg'\n | 'md'\n | 'sm'\n | 'xs'\n | '2xs'\n | 'h1'\n | 'h2'\n | 'h3'\n | 'h4'\n | 'h5'\n | 'h6';\n\n /**\n * Sets the font weight.\n */\n @Prop() weight?:\n | 'extra-light'\n | 'light'\n | 'regular'\n | 'medium'\n | 'semibold'\n | 'bold';\n\n /**\n * Determines what semantic text tag to render.\n */\n @Prop() tag:\n | 'h1'\n | 'h2'\n | 'h3'\n | 'h4'\n | 'h5'\n | 'h6'\n | 'p'\n | 'code'\n | 'pre'\n | 'strong'\n | 'em' = \"p\";\n\n /**\n * If set or `true`, the text will be truncated. Must add a `width` to the element.\n */\n @Prop({ reflect: true }) truncate?: boolean;\n\n render() {\n const Tag = this.tag;\n\n const typeClasses = `\n pds-text\n ${this.align !== undefined && this.align.trim() !== '' ? `pds-text--align-${this.align}` : ''}\n ${this.gutter !== undefined && this.gutter.trim() !== '' ? `pds-text--gutter-${this.gutter}` : ''}\n ${this.size !== undefined && this.size.trim() !== '' ? `pds-text--size-${this.size}` : ''}\n ${this.weight !== undefined && this.weight.trim() !== '' ? `pds-text--weight-${this.weight}` : ''}\n ${this.decoration !== undefined && this.decoration.trim() !== '' ? `pds-text--decoration-${this.decoration}` : ''}\n `;\n\n return (\n <Tag style={this.color && setColor(this.color)} class={typeClasses}>\n <slot />\n </Tag>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"pds-text.js","sourceRoot":"","sources":["../../../src/components/pds-text/pds-text.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAC5D,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE7C;;GAEG;AAMH,MAAM,OAAO,OAAO;IALpB;QAsEE;;WAEG;QACK,QAAG,GAWF,GAAG,CAAC;KAyBd;IAlBC,MAAM;QACJ,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;QAErB,MAAM,WAAW,GAAG;;QAEhB,IAAI,CAAC,KAAK,KAAK,SAAS,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,mBAAmB,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE;QAC3F,IAAI,CAAC,MAAM,KAAK,SAAS,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,oBAAoB,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE;QAC/F,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,kBAAkB,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE;QACvF,IAAI,CAAC,MAAM,KAAK,SAAS,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,oBAAoB,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE;QAC/F,IAAI,CAAC,UAAU,KAAK,SAAS,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,wBAAwB,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE;KAClH,CAAC;QAEF,OAAO,CACL,EAAC,GAAG,qDAAC,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAC,SAAS;YAChF,8DAAQ,CACJ,CACP,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, h, Prop, Element } from '@stencil/core';\nimport { setColor } from '../../utils/utils';\n\n/**\n * @part content - The text content container\n */\n@Component({\n tag: 'pds-text',\n styleUrl: 'pds-text.scss',\n shadow: true,\n})\nexport class PdsText {\n @Element() el: HTMLPdsTextElement;\n /**\n * Sets the text alignment.\n */\n @Prop() align?: 'start' | 'center' | 'end' | 'justify';\n\n /**\n * Sets the text color.\n */\n @Prop() color?: string;\n\n /**\n * Sets the text decoration.\n */\n @Prop() decoration?:\n | 'strikethrough'\n | 'underline-dotted';\n\n /**\n * Set the bottom margin for the text.\n */\n @Prop() gutter?:\n | '2xl'\n | 'xl'\n | 'lg'\n | 'md'\n | 'sm'\n | 'xs'\n | '2xs';\n\n /**\n * If set or `true`, the text will be italic.\n */\n @Prop() italic?: boolean;\n\n /**\n * Sets the font size.\n */\n @Prop() size?:\n | '2xl'\n | 'xl'\n | 'lg'\n | 'md'\n | 'sm'\n | 'xs'\n | '2xs'\n | 'h1'\n | 'h2'\n | 'h3'\n | 'h4'\n | 'h5'\n | 'h6';\n\n /**\n * Sets the font weight.\n */\n @Prop() weight?:\n | 'extra-light'\n | 'light'\n | 'regular'\n | 'medium'\n | 'semibold'\n | 'bold';\n\n /**\n * Determines what semantic text tag to render.\n */\n @Prop() tag:\n | 'h1'\n | 'h2'\n | 'h3'\n | 'h4'\n | 'h5'\n | 'h6'\n | 'p'\n | 'code'\n | 'pre'\n | 'strong'\n | 'em' = \"p\";\n\n /**\n * If set or `true`, the text will be truncated. Must add a `width` to the element.\n */\n @Prop({ reflect: true }) truncate?: boolean;\n\n render() {\n const Tag = this.tag;\n\n const typeClasses = `\n pds-text\n ${this.align !== undefined && this.align.trim() !== '' ? `pds-text--align-${this.align}` : ''}\n ${this.gutter !== undefined && this.gutter.trim() !== '' ? `pds-text--gutter-${this.gutter}` : ''}\n ${this.size !== undefined && this.size.trim() !== '' ? `pds-text--size-${this.size}` : ''}\n ${this.weight !== undefined && this.weight.trim() !== '' ? `pds-text--weight-${this.weight}` : ''}\n ${this.decoration !== undefined && this.decoration.trim() !== '' ? `pds-text--decoration-${this.decoration}` : ''}\n `;\n\n return (\n <Tag style={this.color && setColor(this.color)} class={typeClasses} part=\"content\">\n <slot />\n </Tag>\n );\n }\n}\n"]}
@@ -12,11 +12,28 @@
12
12
  flex-direction: column;
13
13
  }
14
14
 
15
+ .pds-textarea__label-wrapper {
16
+ align-items: center;
17
+ display: flex;
18
+ justify-content: space-between;
19
+ }
20
+
21
+ .pds-textarea__action {
22
+ align-items: center;
23
+ display: flex;
24
+ gap: var(--pine-dimension-xs);
25
+ margin-inline-start: var(--pine-dimension-xs);
26
+ }
27
+
15
28
  label {
16
29
  display: block;
17
30
  margin-block-end: var(--pine-dimension-xs);
18
31
  }
19
32
 
33
+ .pds-textarea__label-wrapper label {
34
+ margin-block-end: 0;
35
+ }
36
+
20
37
  .pds-textarea__field {
21
38
  background-color: var(--pine-color-background-container);
22
39
  border: var(--pine-border);
@@ -50,6 +67,7 @@ label {
50
67
 
51
68
  .pds-textarea__error-message,
52
69
  .pds-textarea__helper-message {
70
+ color: var(--pine-color-text-message);
53
71
  font: var(--pine-typography-body-sm-medium);
54
72
  margin-block-start: var(--pine-dimension-xs);
55
73
  }