@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
@@ -3,6 +3,9 @@ import { assignDescription, isRequired, messageId } from "../../utils/form";
3
3
  import { debounceEvent } from "../../utils/utils";
4
4
  import { inheritAttributes, inheritAriaAttributes } from "../../utils/attributes";
5
5
  import { danger } from "@pine-ds/icons/icons";
6
+ /**
7
+ * @slot action - Content to be displayed in the label area, typically for help icons or links
8
+ */
6
9
  export class PdsTextarea {
7
10
  constructor() {
8
11
  this.inheritedAttributes = {};
@@ -35,6 +38,10 @@ export class PdsTextarea {
35
38
  */
36
39
  this.value = '';
37
40
  this.hasFocus = false;
41
+ /**
42
+ * If true, the textarea has action content in the label area
43
+ */
44
+ this.hasAction = false;
38
45
  this.onBlur = (ev) => {
39
46
  this.hasFocus = false;
40
47
  if (this.focusedValue !== this.value) {
@@ -80,6 +87,8 @@ export class PdsTextarea {
80
87
  if (nativeTextarea && nativeTextarea.value !== value) {
81
88
  nativeTextarea.value = value;
82
89
  }
90
+ // Update form value for Form Associated Custom Elements API
91
+ this.updateFormValue();
83
92
  }
84
93
  /**
85
94
  * Emits an `pdsInput` event.
@@ -112,22 +121,78 @@ export class PdsTextarea {
112
121
  }
113
122
  connectedCallback() {
114
123
  this.debounceChanged();
124
+ // Initialize ElementInternals for form association
125
+ if (this.el.attachInternals) {
126
+ this.internals = this.el.attachInternals();
127
+ }
115
128
  }
116
129
  componentWillLoad() {
117
130
  this.inheritedAttributes = Object.assign(Object.assign({}, inheritAriaAttributes(this.el)), inheritAttributes(this.el));
131
+ this.hasAction = this.el.querySelector('[slot="action"]') !== null;
118
132
  }
119
133
  componentDidLoad() {
120
134
  this.originalPdsInput = this.pdsInput;
135
+ // Set initial form value
136
+ this.updateFormValue();
137
+ }
138
+ renderAction() {
139
+ const hasAction = this.el.querySelector('[slot="action"]') !== null;
140
+ if (hasAction) {
141
+ return (h("div", { class: "pds-textarea__action", part: "action" }, h("slot", { name: "action" })));
142
+ }
143
+ return null;
144
+ }
145
+ /**
146
+ * Updates the form value using ElementInternals API
147
+ */
148
+ updateFormValue() {
149
+ if (this.internals && this.internals.setFormValue) {
150
+ const value = this.getValue();
151
+ this.internals.setFormValue(value || null);
152
+ // Set validity based on native textarea validation
153
+ if (this.nativeTextarea && this.internals && this.internals.setValidity) {
154
+ this.internals.setValidity(this.nativeTextarea.validity, this.nativeTextarea.validationMessage, this.nativeTextarea);
155
+ }
156
+ }
157
+ }
158
+ /**
159
+ * Form Associated Custom Elements API: Called when the form is reset
160
+ */
161
+ formResetCallback() {
162
+ this.value = '';
163
+ this.updateFormValue();
164
+ }
165
+ /**
166
+ * Form Associated Custom Elements API: Called when the form is disabled
167
+ */
168
+ formDisabledCallback(disabled) {
169
+ this.disabled = disabled;
170
+ }
171
+ /**
172
+ * Form Associated Custom Elements API: Called to restore form state
173
+ */
174
+ formStateRestoreCallback(state) {
175
+ if (typeof state === 'string') {
176
+ this.value = state;
177
+ }
178
+ else if (state instanceof FormData && this.name) {
179
+ // Extract value from FormData using the textarea's name
180
+ const value = state.get(this.name);
181
+ if (typeof value === 'string') {
182
+ this.value = value;
183
+ }
184
+ }
121
185
  }
122
186
  render() {
123
187
  const value = this.getValue();
124
- return (h(Host, { key: 'ebbf2c30176e11c92f04de02cad236496bc50a44', "aria-disabled": this.disabled ? 'true' : null, "aria-readonly": this.readonly ? 'true' : null }, h("div", { key: '687811120416068af1b6d23a5fa8af149674669b', class: "pds-textarea" }, this.label &&
125
- h("label", { key: '40fa708e95ff63881f3d41646bf99841625631d6', htmlFor: this.componentId }, this.label), h("textarea", Object.assign({ key: '543b7d6996b441b32f124f13025787c76340218d', ref: (el) => this.nativeTextarea = el, "aria-describedby": assignDescription(this.componentId, this.invalid, this.helperMessage), "aria-invalid": this.invalid ? "true" : undefined, autocomplete: this.autocomplete, class: this.textareaClassNames(), disabled: this.disabled, id: this.componentId, name: this.name, placeholder: this.placeholder, readOnly: this.readonly, required: this.required, rows: this.rows, onBlur: this.onBlur, onChange: this.onTextareaChange, onFocus: this.onFocus, onInput: this.onInput }, this.inheritedAttributes), value), this.helperMessage &&
126
- h("p", { key: '47cd46e8c8c5daaa3ff6fa830e5dde3624403575', class: "pds-textarea__helper-message", id: messageId(this.componentId, 'helper') }, this.helperMessage), this.invalid &&
127
- h("p", { key: 'd84d1aece21db4ef596c154919fe689d66f4bd66', "aria-live": "assertive", class: "pds-textarea__error-message", id: messageId(this.componentId, 'error') }, h("pds-icon", { key: 'cb4627c36e25e14f6699ad0cfddd4bf8528755e0', icon: danger, size: "small" }), this.errorMessage))));
188
+ return (h(Host, { key: 'c16e4a612ae46f9ab893294f513e1564e941ddec', "aria-disabled": this.disabled ? 'true' : null, "aria-readonly": this.readonly ? 'true' : null, "has-action": this.hasAction ? 'true' : null }, h("div", { key: 'd5acca80be2960ac20a3602c3e887e8d714062d7', class: "pds-textarea" }, this.label &&
189
+ h("div", { key: '49f3c081172f3d81f38e7ad49e4461b9d31772e7', class: "pds-textarea__label-wrapper" }, h("label", { key: '105f191fb2db52c63d165fbda0e78e507f327c49', htmlFor: this.componentId }, this.label), this.renderAction()), h("textarea", Object.assign({ key: '5cbfbee17d058767f6d9d530dbee936ee8638f99', ref: (el) => this.nativeTextarea = el, "aria-describedby": assignDescription(this.componentId, this.invalid, this.helperMessage), "aria-invalid": this.invalid ? "true" : undefined, autocomplete: this.autocomplete, class: this.textareaClassNames(), disabled: this.disabled, id: this.componentId, name: this.name, placeholder: this.placeholder, readOnly: this.readonly, required: this.required, rows: this.rows, onBlur: this.onBlur, onChange: this.onTextareaChange, onFocus: this.onFocus, onInput: this.onInput }, this.inheritedAttributes), value), this.helperMessage &&
190
+ h("p", { key: '0cef5379519c3a1d26a86bb2142a58583d5619ad', class: "pds-textarea__helper-message", id: messageId(this.componentId, 'helper') }, this.helperMessage), this.invalid &&
191
+ h("p", { key: '30a5fc1c6469dfa755db9a9bbb7b858b082700ac', "aria-live": "assertive", class: "pds-textarea__error-message", id: messageId(this.componentId, 'error') }, h("pds-icon", { key: '51a725db0e4e522a584b673df174c7c97c8fe8e3', icon: danger, size: "small" }), this.errorMessage))));
128
192
  }
129
193
  static get is() { return "pds-textarea"; }
130
194
  static get encapsulation() { return "shadow"; }
195
+ static get formAssociated() { return true; }
131
196
  static get originalStyleUrls() {
132
197
  return {
133
198
  "$": ["../../global/styles/utils/label.scss", "../pds-input/pds-input.tokens.scss", "pds-textarea.scss"]
@@ -428,7 +493,8 @@ export class PdsTextarea {
428
493
  }
429
494
  static get states() {
430
495
  return {
431
- "hasFocus": {}
496
+ "hasFocus": {},
497
+ "hasAction": {}
432
498
  };
433
499
  }
434
500
  static get events() {
@@ -1 +1 @@
1
- {"version":3,"file":"pds-textarea.js","sourceRoot":"","sources":["../../../src/components/pds-textarea/pds-textarea.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Element, Event, EventEmitter, Host, h, Method, Prop, State, Watch } from '@stencil/core';\nimport { assignDescription, isRequired, messageId } from '../../utils/form';\nimport { TextareaChangeEventDetail, TextareaInputEventDetail } from './textarea-interface';\nimport { debounceEvent } from '@utils/utils';\nimport type { Attributes } from '@utils/attributes';\nimport { inheritAttributes, inheritAriaAttributes } from '@utils/attributes';\nimport { danger } from '@pine-ds/icons/icons';\n\n@Component({\n tag: 'pds-textarea',\n styleUrls: [\n '../../global/styles/utils/label.scss',\n '../pds-input/pds-input.tokens.scss',\n 'pds-textarea.scss'\n ],\n shadow: true,\n})\nexport class PdsTextarea {\n private nativeTextarea?: HTMLTextAreaElement\n private focusedValue?: string | null;\n private inheritedAttributes: Attributes = {};\n private originalPdsInput?: EventEmitter<TextareaInputEventDetail>;\n\n @Element() el: HTMLPdsTextareaElement;\n\n /**\n * Emitted when the input loses focus.\n */\n @Event() pdsBlur!: EventEmitter<FocusEvent>;\n\n /**\n * Emitted when the input has focus.\n */\n @Event() pdsFocus!: EventEmitter<FocusEvent>;\n\n /**\n * Emitted when a keyboard input occurs.\n *\n * For elements that accept text input (`type=text`, `type=tel`, etc.), the interface\n * is [`InputEvent`](https://developer.mozilla.org/en-US/docs/Web/API/InputEvent); for others,\n * the interface is [`Event`](https://developer.mozilla.org/en-US/docs/Web/API/Event). If\n * the input is cleared on edit, the type is `null`.\n */\n @Event() pdsInput: EventEmitter<TextareaInputEventDetail>;\n\n /**\n * Event emitted whenever the value of the textarea changes.\n *\n * This event will not emit when programmatically setting the `value` property.\n */\n @Event() pdsTextareaChange: EventEmitter<TextareaChangeEventDetail>;\n\n /**\n * Sets focus on the native `textarea` in the `pds-texarea`. Use this method instead of the global\n * `textarea.focus()`.\n */\n @Method()\n async setFocus() {\n if (this.nativeTextarea) {\n this.nativeTextarea.focus();\n }\n }\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 * Determines whether or not the textarea is disabled.\n * @defaultValue false\n */\n @Prop() disabled = false;\n\n /**\n * The amount of time, in milliseconds, to wait to trigger the event after each keystroke.\n */\n @Prop() debounce?: number;\n\n /**\n * Displays an error message below the textarea field.\n */\n @Prop() errorMessage?: string;\n\n /**\n * Displays a message or hint below the textarea field.\n */\n @Prop() helperMessage?: string;\n\n /**\n * Determines whether or not the textarea is invalid or throws an error.\n * @defaultValue false\n */\n @Prop({mutable: true}) invalid = false; // eslint-disable-line @stencil-community/strict-mutable\n\n /**\n * Text to be displayed as the textarea label.\n */\n @Prop() label?: string;\n\n /**\n * Specifies the name. Submitted with the form name/value pair. This value will mirror the componentId.\n */\n @Prop() name: string = this.componentId;\n\n /**\n * Specifies a short hint that describes the expected value of the textarea.\n */\n @Prop() placeholder?: string;\n\n /**\n * Determines whether or not the textarea is readonly.\n * @defaultValue false\n */\n @Prop() readonly = false;\n\n /**\n * Determines whether or not the textarea is required.\n * @defaultValue false\n */\n @Prop() required = false;\n\n /**\n * Sets number of rows of text visible without needing to scroll in the textarea.\n */\n @Prop() rows?: number;\n\n /**\n * The value of the textarea.\n */\n @Prop({mutable: true}) value?: string | null = '';\n\n @State() hasFocus = false;\n\n @Watch('debounce')\n protected debounceChanged() {\n const { pdsInput, debounce, originalPdsInput } = this;\n\n this.pdsInput = debounce === undefined ? originalPdsInput ?? pdsInput : debounceEvent(pdsInput, debounce);\n }\n\n /**\n * Update the native input element when the value changes\n */\n @Watch('value')\n protected valueChanged() {\n const nativeTextarea = this.nativeTextarea;\n const value = this.getValue();\n\n if (nativeTextarea && nativeTextarea.value !== value) {\n nativeTextarea.value = value;\n }\n }\n\n /**\n * Emits an `pdsInput` event.\n */\n private emitInputChange(event?: Event) {\n const { value } = this;\n this.pdsInput.emit({ value, event });\n }\n\n /**\n * Emits an `pdsTextareaChange` event.\n */\n private emitValueChange(event?: Event) {\n const textarea = event.target as HTMLTextAreaElement;\n isRequired(textarea, this);\n\n const { value } = textarea;\n\n // Checks for both null and undefined values\n const newValue = value == null ? value : value.toString();\n this.focusedValue = newValue;\n this.pdsTextareaChange.emit({ value: newValue, event });\n }\n\n private getValue(): string {\n return this.value || '';\n }\n\n private onBlur = (ev: FocusEvent) => {\n this.hasFocus = false;\n\n if (this.focusedValue !== this.value) {\n this.emitValueChange(ev);\n }\n\n this.pdsBlur.emit(ev);\n };\n\n private onFocus = (ev: FocusEvent) => {\n this.hasFocus = true;\n this.focusedValue = this.value;\n\n this.pdsFocus.emit(ev);\n };\n\n private onInput = (ev: Event) => {\n const input = ev.target as HTMLTextAreaElement | null;\n if (input) {\n this.value = input.value || '';\n }\n this.emitInputChange(ev);\n };\n\n private onTextareaChange = (ev: Event) => {\n this.emitValueChange(ev);\n };\n\n private textareaClassNames() {\n const classNames = ['pds-textarea__field'];\n\n if (this.invalid && this.invalid === true) {\n classNames.push('is-invalid');\n }\n\n return classNames.join(' ');\n }\n\n connectedCallback() {\n this.debounceChanged();\n }\n\n componentWillLoad() {\n this.inheritedAttributes = {\n ...inheritAriaAttributes(this.el),\n ...inheritAttributes(this.el),\n };\n }\n\n componentDidLoad() {\n this.originalPdsInput = this.pdsInput;\n }\n\n render() {\n const value = this.getValue();\n\n return (\n <Host\n aria-disabled={this.disabled ? 'true' : null}\n aria-readonly={this.readonly ? 'true' : null}\n >\n <div class=\"pds-textarea\">\n {this.label &&\n <label htmlFor={this.componentId}>{this.label}</label>\n }\n <textarea\n ref={(el) => this.nativeTextarea = el }\n aria-describedby={assignDescription(this.componentId, this.invalid, this.helperMessage)}\n aria-invalid={this.invalid ? \"true\" : undefined}\n autocomplete={this.autocomplete}\n class={this.textareaClassNames()}\n disabled={this.disabled}\n id={this.componentId}\n name={this.name}\n placeholder={this.placeholder}\n readOnly={this.readonly}\n required={this.required}\n rows={this.rows}\n onBlur={this.onBlur}\n onChange={this.onTextareaChange}\n onFocus={this.onFocus}\n onInput={this.onInput}\n {...this.inheritedAttributes}\n >\n {value}\n </textarea>\n {this.helperMessage &&\n <p\n class=\"pds-textarea__helper-message\"\n id={messageId(this.componentId, 'helper')}\n >\n {this.helperMessage}\n </p>\n }\n {this.invalid &&\n <p\n aria-live=\"assertive\"\n class=\"pds-textarea__error-message\"\n id={messageId(this.componentId, 'error')}\n >\n <pds-icon icon={danger} size=\"small\" />\n {this.errorMessage}\n </p>\n }\n </div>\n </Host>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"pds-textarea.js","sourceRoot":"","sources":["../../../src/components/pds-textarea/pds-textarea.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Element, Event, EventEmitter, Host, h, Method, Prop, State, Watch } from '@stencil/core';\nimport { assignDescription, isRequired, messageId } from '../../utils/form';\nimport { TextareaChangeEventDetail, TextareaInputEventDetail } from './textarea-interface';\nimport { debounceEvent } from '@utils/utils';\nimport type { Attributes } from '@utils/attributes';\nimport { inheritAttributes, inheritAriaAttributes } from '@utils/attributes';\nimport { danger } 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-textarea',\n styleUrls: [\n '../../global/styles/utils/label.scss',\n '../pds-input/pds-input.tokens.scss',\n 'pds-textarea.scss'\n ],\n shadow: true,\n formAssociated: true,\n})\nexport class PdsTextarea {\n\n private nativeTextarea?: HTMLTextAreaElement\n private focusedValue?: string | null;\n private inheritedAttributes: Attributes = {};\n private originalPdsInput?: EventEmitter<TextareaInputEventDetail>;\n private internals?: ElementInternals;\n\n @Element() el: HTMLPdsTextareaElement;\n\n /**\n * Emitted when the input loses focus.\n */\n @Event() pdsBlur!: EventEmitter<FocusEvent>;\n\n /**\n * Emitted when the input has focus.\n */\n @Event() pdsFocus!: EventEmitter<FocusEvent>;\n\n /**\n * Emitted when a keyboard input occurs.\n *\n * For elements that accept text input (`type=text`, `type=tel`, etc.), the interface\n * is [`InputEvent`](https://developer.mozilla.org/en-US/docs/Web/API/InputEvent); for others,\n * the interface is [`Event`](https://developer.mozilla.org/en-US/docs/Web/API/Event). If\n * the input is cleared on edit, the type is `null`.\n */\n @Event() pdsInput: EventEmitter<TextareaInputEventDetail>;\n\n /**\n * Event emitted whenever the value of the textarea changes.\n *\n * This event will not emit when programmatically setting the `value` property.\n */\n @Event() pdsTextareaChange: EventEmitter<TextareaChangeEventDetail>;\n\n /**\n * Sets focus on the native `textarea` in the `pds-texarea`. Use this method instead of the global\n * `textarea.focus()`.\n */\n @Method()\n async setFocus() {\n if (this.nativeTextarea) {\n this.nativeTextarea.focus();\n }\n }\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 * Determines whether or not the textarea is disabled.\n * @defaultValue false\n */\n @Prop() disabled = false;\n\n /**\n * The amount of time, in milliseconds, to wait to trigger the event after each keystroke.\n */\n @Prop() debounce?: number;\n\n /**\n * Displays an error message below the textarea field.\n */\n @Prop() errorMessage?: string;\n\n /**\n * Displays a message or hint below the textarea field.\n */\n @Prop() helperMessage?: string;\n\n /**\n * Determines whether or not the textarea is invalid or throws an error.\n * @defaultValue false\n */\n @Prop({mutable: true}) invalid = false; // eslint-disable-line @stencil-community/strict-mutable\n\n /**\n * Text to be displayed as the textarea label.\n */\n @Prop() label?: string;\n\n /**\n * Specifies the name. Submitted with the form name/value pair. This value will mirror the componentId.\n */\n @Prop() name: string = this.componentId;\n\n /**\n * Specifies a short hint that describes the expected value of the textarea.\n */\n @Prop() placeholder?: string;\n\n /**\n * Determines whether or not the textarea is readonly.\n * @defaultValue false\n */\n @Prop() readonly = false;\n\n /**\n * Determines whether or not the textarea is required.\n * @defaultValue false\n */\n @Prop() required = false;\n\n /**\n * Sets number of rows of text visible without needing to scroll in the textarea.\n */\n @Prop() rows?: number;\n\n /**\n * The value of the textarea.\n */\n @Prop({mutable: true}) value?: string | null = '';\n\n @State() hasFocus = false;\n\n /**\n * If true, the textarea has action content in the label area\n */\n @State() hasAction = false;\n\n @Watch('debounce')\n protected debounceChanged() {\n const { pdsInput, debounce, originalPdsInput } = this;\n\n this.pdsInput = debounce === undefined ? originalPdsInput ?? pdsInput : debounceEvent(pdsInput, debounce);\n }\n\n /**\n * Update the native input element when the value changes\n */\n @Watch('value')\n protected valueChanged() {\n const nativeTextarea = this.nativeTextarea;\n const value = this.getValue();\n\n if (nativeTextarea && nativeTextarea.value !== value) {\n nativeTextarea.value = value;\n }\n\n // Update form value for Form Associated Custom Elements API\n this.updateFormValue();\n }\n\n /**\n * Emits an `pdsInput` event.\n */\n private emitInputChange(event?: Event) {\n const { value } = this;\n this.pdsInput.emit({ value, event });\n }\n\n /**\n * Emits an `pdsTextareaChange` event.\n */\n private emitValueChange(event?: Event) {\n const textarea = event.target as HTMLTextAreaElement;\n isRequired(textarea, this);\n\n const { value } = textarea;\n\n // Checks for both null and undefined values\n const newValue = value == null ? value : value.toString();\n this.focusedValue = newValue;\n this.pdsTextareaChange.emit({ value: newValue, event });\n }\n\n private getValue(): string {\n return this.value || '';\n }\n\n private onBlur = (ev: FocusEvent) => {\n this.hasFocus = false;\n\n if (this.focusedValue !== this.value) {\n this.emitValueChange(ev);\n }\n\n this.pdsBlur.emit(ev);\n };\n\n private onFocus = (ev: FocusEvent) => {\n this.hasFocus = true;\n this.focusedValue = this.value;\n\n this.pdsFocus.emit(ev);\n };\n\n private onInput = (ev: Event) => {\n const input = ev.target as HTMLTextAreaElement | null;\n if (input) {\n this.value = input.value || '';\n }\n this.emitInputChange(ev);\n };\n\n private onTextareaChange = (ev: Event) => {\n this.emitValueChange(ev);\n };\n\n private textareaClassNames() {\n const classNames = ['pds-textarea__field'];\n\n if (this.invalid && this.invalid === true) {\n classNames.push('is-invalid');\n }\n\n return classNames.join(' ');\n }\n\n connectedCallback() {\n this.debounceChanged();\n // Initialize ElementInternals for form association\n if (this.el.attachInternals) {\n this.internals = this.el.attachInternals();\n }\n }\n\n componentWillLoad() {\n this.inheritedAttributes = {\n ...inheritAriaAttributes(this.el),\n ...inheritAttributes(this.el),\n };\n this.hasAction = this.el.querySelector('[slot=\"action\"]') !== null;\n }\n\n componentDidLoad() {\n this.originalPdsInput = this.pdsInput;\n // Set initial form value\n this.updateFormValue();\n }\n\n private renderAction() {\n const hasAction = this.el.querySelector('[slot=\"action\"]') !== null;\n if (hasAction) {\n return (\n <div class=\"pds-textarea__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.getValue();\n this.internals.setFormValue(value || null);\n\n // Set validity based on native textarea validation\n if (this.nativeTextarea && this.internals && this.internals.setValidity) {\n this.internals.setValidity(\n this.nativeTextarea.validity,\n this.nativeTextarea.validationMessage,\n this.nativeTextarea\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 from FormData using the textarea's name\n const value = state.get(this.name);\n if (typeof value === 'string') {\n this.value = value;\n }\n }\n }\n\n render() {\n const value = this.getValue();\n\n return (\n <Host\n aria-disabled={this.disabled ? 'true' : null}\n aria-readonly={this.readonly ? 'true' : null}\n has-action={this.hasAction ? 'true' : null}\n >\n <div class=\"pds-textarea\">\n {this.label &&\n <div class=\"pds-textarea__label-wrapper\">\n <label htmlFor={this.componentId}>{this.label}</label>\n {this.renderAction()}\n </div>\n }\n <textarea\n ref={(el) => this.nativeTextarea = el }\n aria-describedby={assignDescription(this.componentId, this.invalid, this.helperMessage)}\n aria-invalid={this.invalid ? \"true\" : undefined}\n autocomplete={this.autocomplete}\n class={this.textareaClassNames()}\n disabled={this.disabled}\n id={this.componentId}\n name={this.name}\n placeholder={this.placeholder}\n readOnly={this.readonly}\n required={this.required}\n rows={this.rows}\n onBlur={this.onBlur}\n onChange={this.onTextareaChange}\n onFocus={this.onFocus}\n onInput={this.onInput}\n {...this.inheritedAttributes}\n >\n {value}\n </textarea>\n {this.helperMessage &&\n <p\n class=\"pds-textarea__helper-message\"\n id={messageId(this.componentId, 'helper')}\n >\n {this.helperMessage}\n </p>\n }\n {this.invalid &&\n <p\n aria-live=\"assertive\"\n class=\"pds-textarea__error-message\"\n id={messageId(this.componentId, 'error')}\n >\n <pds-icon icon={danger} size=\"small\" />\n {this.errorMessage}\n </p>\n }\n </div>\n </Host>\n );\n }\n}\n"]}
@@ -45,7 +45,7 @@ const BaseTemplate = (args) => html`<pds-textarea
45
45
  invalid="${args.invalid}"
46
46
  label="${args.label}"
47
47
  name="${args.name}"
48
- onChange=${args.onChange}"
48
+ onChange="${args.onChange}"
49
49
  placeholder="${args.placeholder}"
50
50
  readonly="${args.readonly}"
51
51
  required="${args.required}"
@@ -54,6 +54,7 @@ const BaseTemplate = (args) => html`<pds-textarea
54
54
  data-tooltip-id="foo"
55
55
  title="bar"
56
56
  >
57
+ ${args.action || ''}
57
58
  </pds-textarea>`;
58
59
 
59
60
  export const Default = BaseTemplate.bind({});
@@ -130,3 +131,49 @@ Autocomplete.args = {
130
131
  autocomplete: 'on',
131
132
  placeholder: 'Enter a message...',
132
133
  };
134
+
135
+ export const withActionLink = (args) => html`<pds-textarea
136
+ autocomplete="${args.autocomplete}"
137
+ clear-on-edit="${args.clearOnEdit}"
138
+ component-id="pds-textarea-action-link"
139
+ disabled="${args.disabled}"
140
+ error-message="${args.errorMessage}"
141
+ helper-message="${args.helperMessage}"
142
+ invalid="${args.invalid}"
143
+ label="Notes"
144
+ name="${args.name}"
145
+ onChange="${args.onChange}"
146
+ placeholder="${args.placeholder}"
147
+ readonly="${args.readonly}"
148
+ required="${args.required}"
149
+ rows="3"
150
+ value="${args.value}"
151
+ data-tooltip-id="foo"
152
+ title="bar">
153
+ <pds-link href="#" slot="action">
154
+ View examples
155
+ </pds-link>
156
+ </pds-textarea>`;
157
+
158
+ export const withActionButton = (args) => html`<pds-textarea
159
+ autocomplete="${args.autocomplete}"
160
+ clear-on-edit="${args.clearOnEdit}"
161
+ component-id="pds-textarea-action-button"
162
+ disabled="${args.disabled}"
163
+ error-message="${args.errorMessage}"
164
+ helper-message="${args.helperMessage}"
165
+ invalid="${args.invalid}"
166
+ label="Description"
167
+ name="${args.name}"
168
+ onChange="${args.onChange}"
169
+ placeholder="${args.placeholder}"
170
+ readonly="${args.readonly}"
171
+ required="${args.required}"
172
+ rows="4"
173
+ value="${args.value}"
174
+ data-tooltip-id="foo"
175
+ title="bar">
176
+ <pds-button slot="action" variant="unstyled">
177
+ <pds-icon name="question-circle"></pds-icon>
178
+ </pds-button>
179
+ </pds-textarea>`;
@@ -77,13 +77,13 @@ export class PdsToast {
77
77
  return this.icon && h("pds-icon", { name: this.icon, class: "pds-toast__icon" });
78
78
  }
79
79
  render() {
80
- return (h(Host, { key: 'dbb28e20be685c46f8c6cb2dd1a5f58f28e27589', hidden: !this.isVisible }, h("div", { key: '471b6b387799754b92ad16baf70562e26c379616', class: {
80
+ return (h(Host, { key: '3fb4b7b3600555959e9ed09f9dfd3a725d4a2de7', hidden: !this.isVisible }, h("div", { key: '4f8d554fc30a5e4fb3c498b8fa5a2972a60eb0ab', class: {
81
81
  'pds-toast': true,
82
82
  [`pds-toast--${this.type}`]: this.type !== 'default',
83
83
  'pds-toast--animating-out': this.isAnimatingOut
84
- }, role: "alert", "aria-live": "polite" }, this.renderIcon(), h("span", { key: '638faa5e37de1bae0e59c994de35e27960fc625b', class: "pds-toast__message" }, h("slot", { key: 'e58c86bbe9a5467b6b362e0f67db4074b9cac0cb' })), this.dismissible && (h("button", { key: '43bd64963222a78163b337b37e9d5ff888236b45', type: "button", class: "pds-toast__button", onClick: () => {
84
+ }, role: "alert", "aria-live": "polite" }, this.renderIcon(), h("span", { key: 'a70883e76524ce76e562f48d62df1a42fb65659c', class: "pds-toast__message" }, h("slot", { key: '3e2fd182b97d1cd89c59ca109404d77e9f834806' })), this.dismissible && (h("button", { key: '945b766572831b259f2ff36fdf628b254189d334', type: "button", class: "pds-toast__button", onClick: () => {
85
85
  this.dismiss();
86
- }, "aria-label": "Dismiss message" }, h("pds-icon", { key: '0c924e96515a7934f51d80b4e57f97db5bfaed14', name: "remove" }))))));
86
+ }, "aria-label": "Dismiss message" }, h("pds-icon", { key: '9492720d544270179ae43bd3d1ecb4b1f6c0882b', name: "remove" }))))));
87
87
  }
88
88
  static get is() { return "pds-toast"; }
89
89
  static get encapsulation() { return "shadow"; }
@@ -295,7 +295,7 @@ export class PdsTooltip {
295
295
  }
296
296
  render() {
297
297
  const hostId = this.componentId || undefined;
298
- return (h(Host, { key: '462d8c0b1b70de08c0a4f9fe0b3977fa3b4af461', id: hostId, class: { 'pds-tooltip--is-open': this.opened } }, h("span", { key: 'dfb735da6e04d95701bc223bc054414d781c0f4a', class: "pds-tooltip__trigger", onMouseEnter: this.handleShow, onMouseLeave: this.handleHide, onFocus: this.handleShow, onBlur: this.handleHide, ref: el => this.triggerEl = el }, h("slot", { key: 'f0e5970a1ba6d59045306b836468cd00a06b183f' })), h("div", { key: '212ec606b29bd7a64a2ea3b1b4fae9746361a712', class: "pds-tooltip__content-slot-wrapper", style: { display: 'none' } }, h("slot", { key: '035ea5b2dfec0ca7f1462c30053f8f455cb986f2', name: "content" }))));
298
+ return (h(Host, { key: 'd0651080fc68d70a01d8c487d08a59f356f06e88', id: hostId, class: { 'pds-tooltip--is-open': this.opened } }, h("span", { key: '9f8c246c63a80c0d30c73687faa133b213c6bb63', class: "pds-tooltip__trigger", onMouseEnter: this.handleShow, onMouseLeave: this.handleHide, onFocus: this.handleShow, onBlur: this.handleHide, ref: el => this.triggerEl = el }, h("slot", { key: '2295b22ac9ec244f31410cd6a3764248100a1c48' })), h("div", { key: '7c8a59703b7c6ff43b0aa9352a869d59bca9b2b1', class: "pds-tooltip__content-slot-wrapper", style: { display: 'none' } }, h("slot", { key: '612dab7daf61394624177c45d47f542d551af52c', name: "content" }))));
299
299
  }
300
300
  static get is() { return "pds-tooltip"; }
301
301
  static get originalStyleUrls() {