@pine-ds/core 2.14.0 → 2.15.0

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 (722) hide show
  1. package/components/attributes.js +87 -0
  2. package/components/attributes.js.map +1 -0
  3. package/{dist/esm/pds-label-62469596.js → components/form.js} +2 -10
  4. package/components/form.js.map +1 -0
  5. package/components/index2.js +3 -2
  6. package/components/index2.js.map +1 -1
  7. package/components/pds-accordion.js +4 -7
  8. package/components/pds-accordion.js.map +1 -1
  9. package/components/pds-avatar.js +4 -7
  10. package/components/pds-avatar.js.map +1 -1
  11. package/components/pds-box.js +1 -1
  12. package/components/pds-box.js.map +1 -1
  13. package/components/pds-button2.js +6 -12
  14. package/components/pds-button2.js.map +1 -1
  15. package/components/pds-checkbox2.js +8 -10
  16. package/components/pds-checkbox2.js.map +1 -1
  17. package/components/pds-chip.js +4 -4
  18. package/components/pds-chip.js.map +1 -1
  19. package/components/pds-copytext.js +4 -7
  20. package/components/pds-copytext.js.map +1 -1
  21. package/components/pds-divider.js +4 -7
  22. package/components/pds-divider.js.map +1 -1
  23. package/components/pds-icon2.js +1 -1
  24. package/components/pds-icon2.js.map +1 -1
  25. package/components/pds-image.js +4 -7
  26. package/components/pds-image.js.map +1 -1
  27. package/components/pds-input.js +112 -12
  28. package/components/pds-input.js.map +1 -1
  29. package/components/pds-label.js +1 -29
  30. package/components/pds-label.js.map +1 -1
  31. package/components/pds-link.js +5 -8
  32. package/components/pds-link.js.map +1 -1
  33. package/components/pds-loader.js +4 -7
  34. package/components/pds-loader.js.map +1 -1
  35. package/components/pds-popover.js +1 -1
  36. package/components/pds-popover.js.map +1 -1
  37. package/components/pds-progress.js +4 -7
  38. package/components/pds-progress.js.map +1 -1
  39. package/components/pds-radio.js +8 -10
  40. package/components/pds-radio.js.map +1 -1
  41. package/components/pds-row.js +1 -1
  42. package/components/pds-row.js.map +1 -1
  43. package/components/pds-select.js +6 -4
  44. package/components/pds-select.js.map +1 -1
  45. package/components/pds-sortable-item.js +1 -1
  46. package/components/pds-sortable-item.js.map +1 -1
  47. package/components/pds-sortable.js +4 -7
  48. package/components/pds-sortable.js.map +1 -1
  49. package/components/pds-switch.js +8 -10
  50. package/components/pds-switch.js.map +1 -1
  51. package/components/pds-tab.js +1 -1
  52. package/components/pds-tab.js.map +1 -1
  53. package/components/pds-table-body.js +3 -6
  54. package/components/pds-table-body.js.map +1 -1
  55. package/components/pds-table-cell2.js +5 -8
  56. package/components/pds-table-cell2.js.map +1 -1
  57. package/components/pds-table-head-cell2.js +6 -9
  58. package/components/pds-table-head-cell2.js.map +1 -1
  59. package/components/pds-table-head.js +4 -7
  60. package/components/pds-table-head.js.map +1 -1
  61. package/components/pds-table-row.js +4 -7
  62. package/components/pds-table-row.js.map +1 -1
  63. package/components/pds-table.js +3 -6
  64. package/components/pds-table.js.map +1 -1
  65. package/components/pds-tabpanel.js +1 -1
  66. package/components/pds-tabpanel.js.map +1 -1
  67. package/components/pds-tabs.js +4 -7
  68. package/components/pds-tabs.js.map +1 -1
  69. package/components/pds-text.js +1 -1
  70. package/components/pds-text.js.map +1 -1
  71. package/components/pds-textarea.js +108 -18
  72. package/components/pds-textarea.js.map +1 -1
  73. package/components/pds-tooltip.js +15 -8
  74. package/components/pds-tooltip.js.map +1 -1
  75. package/components/utils.js +21 -0
  76. package/components/utils.js.map +1 -0
  77. package/dist/cjs/attributes-73ee8de7.js +90 -0
  78. package/dist/cjs/attributes-73ee8de7.js.map +1 -0
  79. package/dist/cjs/{pds-label-05f073ea.js → form-4f00637c.js} +1 -10
  80. package/dist/cjs/form-4f00637c.js.map +1 -0
  81. package/dist/cjs/{index-3ad62856.js → index-034a8bb0.js} +4 -2
  82. package/dist/cjs/index-034a8bb0.js.map +1 -0
  83. package/dist/cjs/loader.cjs.js +1 -1
  84. package/dist/cjs/pds-accordion.cjs.entry.js +5 -8
  85. package/dist/cjs/pds-accordion.cjs.entry.js.map +1 -1
  86. package/dist/cjs/pds-avatar.cjs.entry.js +5 -8
  87. package/dist/cjs/pds-avatar.cjs.entry.js.map +1 -1
  88. package/dist/cjs/pds-box.cjs.entry.js +1 -1
  89. package/dist/cjs/pds-box.cjs.entry.js.map +1 -1
  90. package/dist/cjs/pds-button.cjs.entry.js +7 -13
  91. package/dist/cjs/pds-button.cjs.entry.js.map +1 -1
  92. package/dist/cjs/pds-checkbox.cjs.entry.js +9 -11
  93. package/dist/cjs/pds-checkbox.cjs.entry.js.map +1 -1
  94. package/dist/cjs/pds-chip.cjs.entry.js +5 -5
  95. package/dist/cjs/pds-chip.cjs.entry.js.map +1 -1
  96. package/dist/cjs/pds-copytext.cjs.entry.js +5 -8
  97. package/dist/cjs/pds-copytext.cjs.entry.js.map +1 -1
  98. package/dist/cjs/pds-divider.cjs.entry.js +4 -7
  99. package/dist/cjs/pds-divider.cjs.entry.js.map +1 -1
  100. package/dist/cjs/pds-icon.cjs.entry.js +1 -1
  101. package/dist/cjs/pds-icon.cjs.entry.js.map +1 -1
  102. package/dist/cjs/pds-image.cjs.entry.js +4 -7
  103. package/dist/cjs/pds-image.cjs.entry.js.map +1 -1
  104. package/dist/cjs/pds-input.cjs.entry.js +106 -12
  105. package/dist/cjs/pds-input.cjs.entry.js.map +1 -1
  106. package/dist/cjs/pds-label-e0d9a97d.js +13 -0
  107. package/dist/cjs/pds-label-e0d9a97d.js.map +1 -0
  108. package/dist/cjs/pds-link.cjs.entry.js +6 -9
  109. package/dist/cjs/pds-link.cjs.entry.js.map +1 -1
  110. package/dist/cjs/pds-loader.cjs.entry.js +4 -7
  111. package/dist/cjs/pds-loader.cjs.entry.js.map +1 -1
  112. package/dist/cjs/pds-popover.cjs.entry.js +1 -1
  113. package/dist/cjs/pds-popover.cjs.entry.js.map +1 -1
  114. package/dist/cjs/pds-progress.cjs.entry.js +4 -7
  115. package/dist/cjs/pds-progress.cjs.entry.js.map +1 -1
  116. package/dist/cjs/pds-radio.cjs.entry.js +9 -11
  117. package/dist/cjs/pds-radio.cjs.entry.js.map +1 -1
  118. package/dist/cjs/pds-row.cjs.entry.js +1 -1
  119. package/dist/cjs/pds-row.cjs.entry.js.map +1 -1
  120. package/dist/cjs/pds-select.cjs.entry.js +7 -5
  121. package/dist/cjs/pds-select.cjs.entry.js.map +1 -1
  122. package/dist/cjs/pds-sortable-item.cjs.entry.js +2 -2
  123. package/dist/cjs/pds-sortable-item.cjs.entry.js.map +1 -1
  124. package/dist/cjs/pds-sortable.cjs.entry.js +4 -7
  125. package/dist/cjs/pds-sortable.cjs.entry.js.map +1 -1
  126. package/dist/cjs/pds-switch.cjs.entry.js +9 -11
  127. package/dist/cjs/pds-switch.cjs.entry.js.map +1 -1
  128. package/dist/cjs/pds-tab.cjs.entry.js +1 -1
  129. package/dist/cjs/pds-tab.cjs.entry.js.map +1 -1
  130. package/dist/cjs/pds-table-body.cjs.entry.js +3 -6
  131. package/dist/cjs/pds-table-body.cjs.entry.js.map +1 -1
  132. package/dist/cjs/pds-table-cell.cjs.entry.js +5 -8
  133. package/dist/cjs/pds-table-cell.cjs.entry.js.map +1 -1
  134. package/dist/cjs/pds-table-head-cell.cjs.entry.js +6 -9
  135. package/dist/cjs/pds-table-head-cell.cjs.entry.js.map +1 -1
  136. package/dist/cjs/pds-table-head.cjs.entry.js +4 -7
  137. package/dist/cjs/pds-table-head.cjs.entry.js.map +1 -1
  138. package/dist/cjs/pds-table-row.cjs.entry.js +4 -7
  139. package/dist/cjs/pds-table-row.cjs.entry.js.map +1 -1
  140. package/dist/cjs/pds-table.cjs.entry.js +3 -6
  141. package/dist/cjs/pds-table.cjs.entry.js.map +1 -1
  142. package/dist/cjs/pds-tabpanel.cjs.entry.js +1 -1
  143. package/dist/cjs/pds-tabpanel.cjs.entry.js.map +1 -1
  144. package/dist/cjs/pds-tabs.cjs.entry.js +4 -7
  145. package/dist/cjs/pds-tabs.cjs.entry.js.map +1 -1
  146. package/dist/cjs/pds-text.cjs.entry.js +1 -1
  147. package/dist/cjs/pds-text.cjs.entry.js.map +1 -1
  148. package/dist/cjs/pds-textarea.cjs.entry.js +102 -18
  149. package/dist/cjs/pds-textarea.cjs.entry.js.map +1 -1
  150. package/dist/cjs/pds-tooltip.cjs.entry.js +15 -8
  151. package/dist/cjs/pds-tooltip.cjs.entry.js.map +1 -1
  152. package/dist/cjs/pine-core.cjs.js +1 -1
  153. package/dist/cjs/utils-39c972f8.js +24 -0
  154. package/dist/cjs/utils-39c972f8.js.map +1 -0
  155. package/dist/collection/components/pds-accordion/pds-accordion.css +20 -28
  156. package/dist/collection/components/pds-accordion/pds-accordion.js +3 -3
  157. package/dist/collection/components/pds-accordion/pds-accordion.js.map +1 -1
  158. package/dist/collection/components/pds-avatar/pds-avatar.css +12 -19
  159. package/dist/collection/components/pds-avatar/pds-avatar.js +3 -3
  160. package/dist/collection/components/pds-avatar/pds-avatar.js.map +1 -1
  161. package/dist/collection/components/pds-box/pds-box.css +21 -30
  162. package/dist/collection/components/pds-button/pds-button.css +48 -74
  163. package/dist/collection/components/pds-button/pds-button.js +3 -3
  164. package/dist/collection/components/pds-button/pds-button.js.map +1 -1
  165. package/dist/collection/components/pds-checkbox/pds-checkbox.css +32 -48
  166. package/dist/collection/components/pds-checkbox/pds-checkbox.js +5 -5
  167. package/dist/collection/components/pds-checkbox/pds-checkbox.js.map +1 -1
  168. package/dist/collection/components/pds-chip/pds-chip.css +75 -125
  169. package/dist/collection/components/pds-chip/pds-chip.js +3 -3
  170. package/dist/collection/components/pds-chip/pds-chip.js.map +1 -1
  171. package/dist/collection/components/pds-chip/pds-chip.tokens.css +23 -0
  172. package/dist/collection/components/pds-copytext/pds-copytext.css +23 -36
  173. package/dist/collection/components/pds-copytext/pds-copytext.js +3 -3
  174. package/dist/collection/components/pds-copytext/pds-copytext.js.map +1 -1
  175. package/dist/collection/components/pds-divider/pds-divider.css +29 -41
  176. package/dist/collection/components/pds-divider/pds-divider.js +3 -3
  177. package/dist/collection/components/pds-divider/pds-divider.js.map +1 -1
  178. package/dist/collection/components/pds-image/pds-image.css +1 -1
  179. package/dist/collection/components/pds-image/pds-image.js +4 -4
  180. package/dist/collection/components/pds-image/pds-image.js.map +1 -1
  181. package/dist/collection/components/pds-input/input-interface.js +2 -0
  182. package/dist/collection/components/pds-input/input-interface.js.map +1 -0
  183. package/dist/collection/components/pds-input/pds-input.css +34 -59
  184. package/dist/collection/components/pds-input/pds-input.js +215 -17
  185. package/dist/collection/components/pds-input/pds-input.js.map +1 -1
  186. package/dist/collection/components/pds-input/pds-input.tokens.css +6 -0
  187. package/dist/collection/components/pds-input/stories/pds-input.stories.js +8 -2
  188. package/dist/collection/components/pds-link/pds-link.css +15 -27
  189. package/dist/collection/components/pds-link/pds-link.js +4 -4
  190. package/dist/collection/components/pds-link/pds-link.js.map +1 -1
  191. package/dist/collection/components/pds-loader/pds-loader.css +16 -29
  192. package/dist/collection/components/pds-loader/pds-loader.js +3 -3
  193. package/dist/collection/components/pds-loader/pds-loader.js.map +1 -1
  194. package/dist/collection/components/pds-popover/pds-popover.css +14 -35
  195. package/dist/collection/components/pds-progress/pds-progress.css +11 -20
  196. package/dist/collection/components/pds-progress/pds-progress.js +3 -3
  197. package/dist/collection/components/pds-progress/pds-progress.js.map +1 -1
  198. package/dist/collection/components/pds-radio/pds-radio.css +28 -45
  199. package/dist/collection/components/pds-radio/pds-radio.js +5 -5
  200. package/dist/collection/components/pds-radio/pds-radio.js.map +1 -1
  201. package/dist/collection/components/pds-row/pds-row.css +2 -3
  202. package/dist/collection/components/pds-select/pds-select.css +23 -51
  203. package/dist/collection/components/pds-select/pds-select.js +3 -2
  204. package/dist/collection/components/pds-select/pds-select.js.map +1 -1
  205. package/dist/collection/components/pds-sortable/pds-sortable-item/pds-sortable-item.css +13 -22
  206. package/dist/collection/components/pds-sortable/pds-sortable.css +2 -4
  207. package/dist/collection/components/pds-sortable/pds-sortable.js +3 -3
  208. package/dist/collection/components/pds-sortable/pds-sortable.js.map +1 -1
  209. package/dist/collection/components/pds-switch/pds-switch.css +30 -51
  210. package/dist/collection/components/pds-switch/pds-switch.js +5 -5
  211. package/dist/collection/components/pds-switch/pds-switch.js.map +1 -1
  212. package/dist/collection/components/pds-table/pds-table-body/pds-table-body.js +3 -3
  213. package/dist/collection/components/pds-table/pds-table-body/pds-table-body.js.map +1 -1
  214. package/dist/collection/components/pds-table/pds-table-cell/pds-table-cell.css +11 -18
  215. package/dist/collection/components/pds-table/pds-table-cell/pds-table-cell.js +4 -4
  216. package/dist/collection/components/pds-table/pds-table-cell/pds-table-cell.js.map +1 -1
  217. package/dist/collection/components/pds-table/pds-table-head/pds-table-head.css +1 -2
  218. package/dist/collection/components/pds-table/pds-table-head/pds-table-head.js +3 -3
  219. package/dist/collection/components/pds-table/pds-table-head/pds-table-head.js.map +1 -1
  220. package/dist/collection/components/pds-table/pds-table-head-cell/pds-table-head-cell.css +12 -19
  221. package/dist/collection/components/pds-table/pds-table-head-cell/pds-table-head-cell.js +4 -4
  222. package/dist/collection/components/pds-table/pds-table-head-cell/pds-table-head-cell.js.map +1 -1
  223. package/dist/collection/components/pds-table/pds-table-row/pds-table-row.css +1 -2
  224. package/dist/collection/components/pds-table/pds-table-row/pds-table-row.js +3 -3
  225. package/dist/collection/components/pds-table/pds-table-row/pds-table-row.js.map +1 -1
  226. package/dist/collection/components/pds-table/pds-table.js +3 -3
  227. package/dist/collection/components/pds-table/pds-table.js.map +1 -1
  228. package/dist/collection/components/pds-tabs/pds-tab/pds-tab.css +23 -36
  229. package/dist/collection/components/pds-tabs/pds-tabpanel/pds-tabpanel.css +2 -2
  230. package/dist/collection/components/pds-tabs/pds-tabs.css +8 -11
  231. package/dist/collection/components/pds-tabs/pds-tabs.js +3 -3
  232. package/dist/collection/components/pds-tabs/pds-tabs.js.map +1 -1
  233. package/dist/collection/components/pds-text/pds-text.css +37 -58
  234. package/dist/collection/components/pds-textarea/pds-textarea.css +23 -39
  235. package/dist/collection/components/pds-textarea/pds-textarea.js +204 -17
  236. package/dist/collection/components/pds-textarea/pds-textarea.js.map +1 -1
  237. package/dist/collection/components/pds-textarea/stories/pds-textarea.stories.js +11 -1
  238. package/dist/collection/components/pds-textarea/textarea-interface.js.map +1 -1
  239. package/dist/collection/components/pds-tooltip/pds-tooltip.css +59 -64
  240. package/dist/collection/components/pds-tooltip/pds-tooltip.js +14 -4
  241. package/dist/collection/components/pds-tooltip/pds-tooltip.js.map +1 -1
  242. package/dist/collection/global/styles/utils/label.css +16 -0
  243. package/dist/collection/utils/attributes.js +84 -0
  244. package/dist/collection/utils/attributes.js.map +1 -0
  245. package/dist/collection/utils/utils.js +14 -3
  246. package/dist/collection/utils/utils.js.map +1 -1
  247. package/dist/docs.json +243 -18
  248. package/dist/esm/attributes-fe2c8c91.js +87 -0
  249. package/dist/esm/attributes-fe2c8c91.js.map +1 -0
  250. package/dist/esm/form-1b7b69e3.js +31 -0
  251. package/dist/esm/form-1b7b69e3.js.map +1 -0
  252. package/dist/esm/{index-56752d25.js → index-d320cfa9.js} +4 -3
  253. package/dist/esm/index-d320cfa9.js.map +1 -0
  254. package/dist/esm/loader.js +1 -1
  255. package/dist/esm/pds-accordion.entry.js +5 -8
  256. package/dist/esm/pds-accordion.entry.js.map +1 -1
  257. package/dist/esm/pds-avatar.entry.js +5 -8
  258. package/dist/esm/pds-avatar.entry.js.map +1 -1
  259. package/dist/esm/pds-box.entry.js +1 -1
  260. package/dist/esm/pds-box.entry.js.map +1 -1
  261. package/dist/esm/pds-button.entry.js +6 -12
  262. package/dist/esm/pds-button.entry.js.map +1 -1
  263. package/dist/esm/pds-checkbox.entry.js +9 -11
  264. package/dist/esm/pds-checkbox.entry.js.map +1 -1
  265. package/dist/esm/pds-chip.entry.js +5 -5
  266. package/dist/esm/pds-chip.entry.js.map +1 -1
  267. package/dist/esm/pds-copytext.entry.js +5 -8
  268. package/dist/esm/pds-copytext.entry.js.map +1 -1
  269. package/dist/esm/pds-divider.entry.js +4 -7
  270. package/dist/esm/pds-divider.entry.js.map +1 -1
  271. package/dist/esm/pds-icon.entry.js +1 -1
  272. package/dist/esm/pds-icon.entry.js.map +1 -1
  273. package/dist/esm/pds-image.entry.js +4 -7
  274. package/dist/esm/pds-image.entry.js.map +1 -1
  275. package/dist/esm/pds-input.entry.js +107 -13
  276. package/dist/esm/pds-input.entry.js.map +1 -1
  277. package/dist/esm/pds-label-949a17b6.js +11 -0
  278. package/dist/esm/pds-label-949a17b6.js.map +1 -0
  279. package/dist/esm/pds-link.entry.js +6 -9
  280. package/dist/esm/pds-link.entry.js.map +1 -1
  281. package/dist/esm/pds-loader.entry.js +4 -7
  282. package/dist/esm/pds-loader.entry.js.map +1 -1
  283. package/dist/esm/pds-popover.entry.js +1 -1
  284. package/dist/esm/pds-popover.entry.js.map +1 -1
  285. package/dist/esm/pds-progress.entry.js +4 -7
  286. package/dist/esm/pds-progress.entry.js.map +1 -1
  287. package/dist/esm/pds-radio.entry.js +9 -11
  288. package/dist/esm/pds-radio.entry.js.map +1 -1
  289. package/dist/esm/pds-row.entry.js +1 -1
  290. package/dist/esm/pds-row.entry.js.map +1 -1
  291. package/dist/esm/pds-select.entry.js +6 -4
  292. package/dist/esm/pds-select.entry.js.map +1 -1
  293. package/dist/esm/pds-sortable-item.entry.js +2 -2
  294. package/dist/esm/pds-sortable-item.entry.js.map +1 -1
  295. package/dist/esm/pds-sortable.entry.js +4 -7
  296. package/dist/esm/pds-sortable.entry.js.map +1 -1
  297. package/dist/esm/pds-switch.entry.js +9 -11
  298. package/dist/esm/pds-switch.entry.js.map +1 -1
  299. package/dist/esm/pds-tab.entry.js +1 -1
  300. package/dist/esm/pds-tab.entry.js.map +1 -1
  301. package/dist/esm/pds-table-body.entry.js +3 -6
  302. package/dist/esm/pds-table-body.entry.js.map +1 -1
  303. package/dist/esm/pds-table-cell.entry.js +5 -8
  304. package/dist/esm/pds-table-cell.entry.js.map +1 -1
  305. package/dist/esm/pds-table-head-cell.entry.js +6 -9
  306. package/dist/esm/pds-table-head-cell.entry.js.map +1 -1
  307. package/dist/esm/pds-table-head.entry.js +4 -7
  308. package/dist/esm/pds-table-head.entry.js.map +1 -1
  309. package/dist/esm/pds-table-row.entry.js +4 -7
  310. package/dist/esm/pds-table-row.entry.js.map +1 -1
  311. package/dist/esm/pds-table.entry.js +3 -6
  312. package/dist/esm/pds-table.entry.js.map +1 -1
  313. package/dist/esm/pds-tabpanel.entry.js +1 -1
  314. package/dist/esm/pds-tabpanel.entry.js.map +1 -1
  315. package/dist/esm/pds-tabs.entry.js +4 -7
  316. package/dist/esm/pds-tabs.entry.js.map +1 -1
  317. package/dist/esm/pds-text.entry.js +1 -1
  318. package/dist/esm/pds-text.entry.js.map +1 -1
  319. package/dist/esm/pds-textarea.entry.js +102 -18
  320. package/dist/esm/pds-textarea.entry.js.map +1 -1
  321. package/dist/esm/pds-tooltip.entry.js +15 -8
  322. package/dist/esm/pds-tooltip.entry.js.map +1 -1
  323. package/dist/esm/pine-core.js +1 -1
  324. package/dist/esm/utils-5e425aaf.js +21 -0
  325. package/dist/esm/utils-5e425aaf.js.map +1 -0
  326. package/dist/esm-es5/attributes-fe2c8c91.js +2 -0
  327. package/dist/esm-es5/attributes-fe2c8c91.js.map +1 -0
  328. package/dist/esm-es5/form-1b7b69e3.js +2 -0
  329. package/dist/esm-es5/form-1b7b69e3.js.map +1 -0
  330. package/dist/esm-es5/{index-56752d25.js → index-d320cfa9.js} +2 -2
  331. package/dist/{pine-core/p-dec11fa5.system.js.map → esm-es5/index-d320cfa9.js.map} +1 -1
  332. package/dist/esm-es5/loader.js +1 -1
  333. package/dist/esm-es5/loader.js.map +1 -1
  334. package/dist/esm-es5/pds-accordion.entry.js +1 -1
  335. package/dist/esm-es5/pds-accordion.entry.js.map +1 -1
  336. package/dist/esm-es5/pds-avatar.entry.js +1 -1
  337. package/dist/esm-es5/pds-avatar.entry.js.map +1 -1
  338. package/dist/esm-es5/pds-box.entry.js +1 -1
  339. package/dist/esm-es5/pds-box.entry.js.map +1 -1
  340. package/dist/esm-es5/pds-button.entry.js +1 -1
  341. package/dist/esm-es5/pds-button.entry.js.map +1 -1
  342. package/dist/esm-es5/pds-checkbox.entry.js +1 -1
  343. package/dist/esm-es5/pds-checkbox.entry.js.map +1 -1
  344. package/dist/esm-es5/pds-chip.entry.js +1 -1
  345. package/dist/esm-es5/pds-chip.entry.js.map +1 -1
  346. package/dist/esm-es5/pds-copytext.entry.js +1 -1
  347. package/dist/esm-es5/pds-copytext.entry.js.map +1 -1
  348. package/dist/esm-es5/pds-divider.entry.js +1 -1
  349. package/dist/esm-es5/pds-divider.entry.js.map +1 -1
  350. package/dist/esm-es5/pds-icon.entry.js +1 -1
  351. package/dist/esm-es5/pds-icon.entry.js.map +1 -1
  352. package/dist/esm-es5/pds-image.entry.js +1 -1
  353. package/dist/esm-es5/pds-image.entry.js.map +1 -1
  354. package/dist/esm-es5/pds-input.entry.js +1 -1
  355. package/dist/esm-es5/pds-input.entry.js.map +1 -1
  356. package/dist/esm-es5/pds-label-949a17b6.js +2 -0
  357. package/dist/esm-es5/pds-label-949a17b6.js.map +1 -0
  358. package/dist/esm-es5/pds-link.entry.js +1 -1
  359. package/dist/esm-es5/pds-link.entry.js.map +1 -1
  360. package/dist/esm-es5/pds-loader.entry.js +1 -1
  361. package/dist/esm-es5/pds-loader.entry.js.map +1 -1
  362. package/dist/esm-es5/pds-popover.entry.js +1 -1
  363. package/dist/esm-es5/pds-popover.entry.js.map +1 -1
  364. package/dist/esm-es5/pds-progress.entry.js +1 -1
  365. package/dist/esm-es5/pds-progress.entry.js.map +1 -1
  366. package/dist/esm-es5/pds-radio.entry.js +1 -1
  367. package/dist/esm-es5/pds-radio.entry.js.map +1 -1
  368. package/dist/esm-es5/pds-row.entry.js +1 -1
  369. package/dist/esm-es5/pds-row.entry.js.map +1 -1
  370. package/dist/esm-es5/pds-select.entry.js +1 -1
  371. package/dist/esm-es5/pds-select.entry.js.map +1 -1
  372. package/dist/esm-es5/pds-sortable-item.entry.js +1 -1
  373. package/dist/esm-es5/pds-sortable-item.entry.js.map +1 -1
  374. package/dist/esm-es5/pds-sortable.entry.js +1 -1
  375. package/dist/esm-es5/pds-sortable.entry.js.map +1 -1
  376. package/dist/esm-es5/pds-switch.entry.js +1 -1
  377. package/dist/esm-es5/pds-switch.entry.js.map +1 -1
  378. package/dist/esm-es5/pds-tab.entry.js +1 -1
  379. package/dist/esm-es5/pds-tab.entry.js.map +1 -1
  380. package/dist/esm-es5/pds-table-body.entry.js +1 -1
  381. package/dist/esm-es5/pds-table-body.entry.js.map +1 -1
  382. package/dist/esm-es5/pds-table-cell.entry.js +1 -1
  383. package/dist/esm-es5/pds-table-cell.entry.js.map +1 -1
  384. package/dist/esm-es5/pds-table-head-cell.entry.js +1 -1
  385. package/dist/esm-es5/pds-table-head-cell.entry.js.map +1 -1
  386. package/dist/esm-es5/pds-table-head.entry.js +1 -1
  387. package/dist/esm-es5/pds-table-head.entry.js.map +1 -1
  388. package/dist/esm-es5/pds-table-row.entry.js +1 -1
  389. package/dist/esm-es5/pds-table-row.entry.js.map +1 -1
  390. package/dist/esm-es5/pds-table.entry.js +1 -1
  391. package/dist/esm-es5/pds-table.entry.js.map +1 -1
  392. package/dist/esm-es5/pds-tabpanel.entry.js +1 -1
  393. package/dist/esm-es5/pds-tabpanel.entry.js.map +1 -1
  394. package/dist/esm-es5/pds-tabs.entry.js +1 -1
  395. package/dist/esm-es5/pds-tabs.entry.js.map +1 -1
  396. package/dist/esm-es5/pds-text.entry.js +1 -1
  397. package/dist/esm-es5/pds-text.entry.js.map +1 -1
  398. package/dist/esm-es5/pds-textarea.entry.js +1 -1
  399. package/dist/esm-es5/pds-textarea.entry.js.map +1 -1
  400. package/dist/esm-es5/pds-tooltip.entry.js +1 -1
  401. package/dist/esm-es5/pds-tooltip.entry.js.map +1 -1
  402. package/dist/esm-es5/pine-core.js +1 -1
  403. package/dist/esm-es5/pine-core.js.map +1 -1
  404. package/dist/esm-es5/utils-5e425aaf.js +2 -0
  405. package/dist/esm-es5/utils-5e425aaf.js.map +1 -0
  406. package/dist/pine-core/p-017e1978.system.js +2 -0
  407. package/dist/pine-core/p-017e1978.system.js.map +1 -0
  408. package/dist/pine-core/p-07a7c5bb.entry.js +2 -0
  409. package/dist/pine-core/p-07a7c5bb.entry.js.map +1 -0
  410. package/dist/pine-core/p-0c09ce7a.js +2 -0
  411. package/dist/pine-core/p-0c09ce7a.js.map +1 -0
  412. package/dist/pine-core/p-0e4226b8.entry.js +2 -0
  413. package/dist/pine-core/p-0e4226b8.entry.js.map +1 -0
  414. package/dist/pine-core/p-19be5a8e.system.entry.js +2 -0
  415. package/dist/pine-core/p-19be5a8e.system.entry.js.map +1 -0
  416. package/dist/pine-core/p-1da5aaf3.entry.js +2 -0
  417. package/dist/pine-core/p-1da5aaf3.entry.js.map +1 -0
  418. package/dist/pine-core/p-1e9d6f92.system.entry.js +2 -0
  419. package/dist/pine-core/p-1e9d6f92.system.entry.js.map +1 -0
  420. package/dist/pine-core/p-1edca70e.entry.js +8 -0
  421. package/dist/pine-core/{p-d3365f49.system.entry.js.map → p-1edca70e.entry.js.map} +1 -1
  422. package/dist/pine-core/p-1fd67cb4.system.entry.js +9 -0
  423. package/dist/pine-core/p-1fd67cb4.system.entry.js.map +1 -0
  424. package/dist/pine-core/p-26679956.system.entry.js +2 -0
  425. package/dist/pine-core/p-26679956.system.entry.js.map +1 -0
  426. package/dist/pine-core/p-285cd9d1.system.entry.js +2 -0
  427. package/dist/pine-core/p-285cd9d1.system.entry.js.map +1 -0
  428. package/dist/pine-core/p-29bb6589.entry.js +2 -0
  429. package/dist/pine-core/p-29bb6589.entry.js.map +1 -0
  430. package/dist/pine-core/p-2c0ef946.entry.js +2 -0
  431. package/dist/pine-core/p-2c0ef946.entry.js.map +1 -0
  432. package/dist/pine-core/p-2d52d5f7.entry.js +2 -0
  433. package/dist/pine-core/p-2d52d5f7.entry.js.map +1 -0
  434. package/dist/pine-core/p-2fedf634.system.entry.js +2 -0
  435. package/dist/pine-core/p-2fedf634.system.entry.js.map +1 -0
  436. package/dist/pine-core/p-30cd9f18.entry.js +2 -0
  437. package/dist/pine-core/p-30cd9f18.entry.js.map +1 -0
  438. package/dist/pine-core/p-372a04fa.system.entry.js +2 -0
  439. package/dist/pine-core/p-372a04fa.system.entry.js.map +1 -0
  440. package/dist/pine-core/p-397ce1a8.system.entry.js +2 -0
  441. package/dist/pine-core/p-397ce1a8.system.entry.js.map +1 -0
  442. package/dist/pine-core/p-399617f0.system.entry.js +2 -0
  443. package/dist/pine-core/p-399617f0.system.entry.js.map +1 -0
  444. package/dist/pine-core/p-3c6a0b2a.system.entry.js +2 -0
  445. package/dist/pine-core/p-3c6a0b2a.system.entry.js.map +1 -0
  446. package/dist/pine-core/p-3fbb568f.entry.js +2 -0
  447. package/dist/pine-core/p-3fbb568f.entry.js.map +1 -0
  448. package/dist/pine-core/p-46fb585d.js +2 -0
  449. package/dist/pine-core/p-46fb585d.js.map +1 -0
  450. package/dist/pine-core/p-47291f05.js +2 -0
  451. package/dist/pine-core/p-47291f05.js.map +1 -0
  452. package/dist/pine-core/p-4c252abb.system.entry.js +2 -0
  453. package/dist/pine-core/p-4c252abb.system.entry.js.map +1 -0
  454. package/dist/pine-core/p-4d1fbb88.system.entry.js +2 -0
  455. package/dist/pine-core/p-4d1fbb88.system.entry.js.map +1 -0
  456. package/dist/pine-core/p-4e2fe44a.system.entry.js +2 -0
  457. package/dist/pine-core/p-4e2fe44a.system.entry.js.map +1 -0
  458. package/dist/pine-core/p-521ac753.system.js +2 -0
  459. package/dist/pine-core/p-521ac753.system.js.map +1 -0
  460. package/dist/pine-core/p-5480346a.system.js +2 -0
  461. package/dist/pine-core/p-5480346a.system.js.map +1 -0
  462. package/dist/pine-core/p-59f4c8ab.system.entry.js +2 -0
  463. package/dist/pine-core/p-59f4c8ab.system.entry.js.map +1 -0
  464. package/dist/pine-core/p-5b9f8f6a.system.entry.js +2 -0
  465. package/dist/pine-core/p-5b9f8f6a.system.entry.js.map +1 -0
  466. package/dist/pine-core/p-5c04aee0.system.js +1 -1
  467. package/dist/pine-core/p-5c04aee0.system.js.map +1 -1
  468. package/dist/pine-core/p-5e1b7996.entry.js +2 -0
  469. package/dist/pine-core/p-5e1b7996.entry.js.map +1 -0
  470. package/dist/pine-core/p-5e50a381.entry.js +2 -0
  471. package/dist/pine-core/p-5e50a381.entry.js.map +1 -0
  472. package/dist/pine-core/p-60c2039e.system.entry.js +2 -0
  473. package/dist/pine-core/p-60c2039e.system.entry.js.map +1 -0
  474. package/dist/pine-core/p-650a27ca.entry.js +2 -0
  475. package/dist/pine-core/p-650a27ca.entry.js.map +1 -0
  476. package/dist/pine-core/p-6709f0f7.system.entry.js +2 -0
  477. package/dist/pine-core/p-6709f0f7.system.entry.js.map +1 -0
  478. package/dist/pine-core/p-6ce5b998.entry.js +2 -0
  479. package/dist/pine-core/p-6ce5b998.entry.js.map +1 -0
  480. package/dist/pine-core/p-6d8df897.entry.js +2 -0
  481. package/dist/pine-core/p-6d8df897.entry.js.map +1 -0
  482. package/dist/pine-core/p-6db1fe5c.entry.js +2 -0
  483. package/dist/pine-core/p-6db1fe5c.entry.js.map +1 -0
  484. package/dist/pine-core/p-6e8f3bb4.entry.js +2 -0
  485. package/dist/pine-core/p-6e8f3bb4.entry.js.map +1 -0
  486. package/dist/pine-core/p-726dc3d1.entry.js +2 -0
  487. package/dist/pine-core/p-726dc3d1.entry.js.map +1 -0
  488. package/dist/pine-core/p-74ad0244.entry.js +2 -0
  489. package/dist/pine-core/p-74ad0244.entry.js.map +1 -0
  490. package/dist/pine-core/p-7905b8b8.js +2 -0
  491. package/dist/pine-core/p-7905b8b8.js.map +1 -0
  492. package/dist/pine-core/p-798cde42.system.entry.js +2 -0
  493. package/dist/pine-core/p-798cde42.system.entry.js.map +1 -0
  494. package/dist/pine-core/p-80c582b7.system.entry.js +2 -0
  495. package/dist/pine-core/p-80c582b7.system.entry.js.map +1 -0
  496. package/dist/pine-core/p-8205e4d8.system.entry.js +2 -0
  497. package/dist/pine-core/p-8205e4d8.system.entry.js.map +1 -0
  498. package/dist/pine-core/p-8420594c.system.entry.js +2 -0
  499. package/dist/pine-core/p-8420594c.system.entry.js.map +1 -0
  500. package/dist/pine-core/p-8b2db323.system.entry.js +2 -0
  501. package/dist/pine-core/p-8b2db323.system.entry.js.map +1 -0
  502. package/dist/pine-core/p-8d1efd85.system.js +2 -0
  503. package/dist/pine-core/p-8d1efd85.system.js.map +1 -0
  504. package/dist/pine-core/p-92bcb091.entry.js +2 -0
  505. package/dist/pine-core/p-92bcb091.entry.js.map +1 -0
  506. package/dist/pine-core/p-954098a2.entry.js +2 -0
  507. package/dist/pine-core/p-954098a2.entry.js.map +1 -0
  508. package/dist/pine-core/p-9e976b99.entry.js +2 -0
  509. package/dist/pine-core/p-9e976b99.entry.js.map +1 -0
  510. package/dist/pine-core/p-a2465224.entry.js +2 -0
  511. package/dist/pine-core/p-a2465224.entry.js.map +1 -0
  512. package/dist/pine-core/p-a7d75615.system.js +2 -0
  513. package/dist/pine-core/p-a7d75615.system.js.map +1 -0
  514. package/dist/pine-core/p-b27bbfe3.entry.js +2 -0
  515. package/dist/pine-core/p-b27bbfe3.entry.js.map +1 -0
  516. package/dist/pine-core/p-b29b2e57.system.entry.js +2 -0
  517. package/dist/pine-core/p-b29b2e57.system.entry.js.map +1 -0
  518. package/dist/pine-core/p-b47f9e15.system.entry.js +2 -0
  519. package/dist/pine-core/p-b47f9e15.system.entry.js.map +1 -0
  520. package/dist/pine-core/p-b7e91522.entry.js +2 -0
  521. package/dist/pine-core/p-b7e91522.entry.js.map +1 -0
  522. package/dist/pine-core/p-c68362cc.entry.js +2 -0
  523. package/dist/pine-core/p-c68362cc.entry.js.map +1 -0
  524. package/dist/pine-core/p-cae3e411.entry.js +2 -0
  525. package/dist/pine-core/p-cae3e411.entry.js.map +1 -0
  526. package/dist/pine-core/p-cb3ddff3.entry.js +2 -0
  527. package/dist/pine-core/p-cb3ddff3.entry.js.map +1 -0
  528. package/dist/pine-core/p-cd14918d.system.entry.js +2 -0
  529. package/dist/pine-core/p-cd14918d.system.entry.js.map +1 -0
  530. package/dist/pine-core/p-d0b371ee.system.entry.js +2 -0
  531. package/dist/pine-core/p-d0b371ee.system.entry.js.map +1 -0
  532. package/dist/pine-core/{p-d83716fb.js → p-d561168e.js} +2 -2
  533. package/dist/pine-core/p-d561168e.js.map +1 -0
  534. package/dist/pine-core/p-d6a5ec65.system.entry.js +2 -0
  535. package/dist/pine-core/p-d6a5ec65.system.entry.js.map +1 -0
  536. package/dist/pine-core/p-d8260ebf.system.entry.js +2 -0
  537. package/dist/pine-core/p-d8260ebf.system.entry.js.map +1 -0
  538. package/dist/pine-core/p-da961d2b.entry.js +2 -0
  539. package/dist/pine-core/p-da961d2b.entry.js.map +1 -0
  540. package/dist/pine-core/p-df73ebae.entry.js +2 -0
  541. package/dist/pine-core/p-df73ebae.entry.js.map +1 -0
  542. package/dist/pine-core/p-e356293a.entry.js +2 -0
  543. package/dist/pine-core/p-e356293a.entry.js.map +1 -0
  544. package/dist/pine-core/p-e39bd4b2.system.entry.js +2 -0
  545. package/dist/pine-core/p-e39bd4b2.system.entry.js.map +1 -0
  546. package/dist/pine-core/p-e5b46292.entry.js +2 -0
  547. package/dist/pine-core/p-e5b46292.entry.js.map +1 -0
  548. package/dist/pine-core/p-e60348bc.system.entry.js +2 -0
  549. package/dist/pine-core/p-e60348bc.system.entry.js.map +1 -0
  550. package/dist/pine-core/p-e890c1bb.system.entry.js +2 -0
  551. package/dist/pine-core/p-e890c1bb.system.entry.js.map +1 -0
  552. package/dist/pine-core/p-ed990ad0.system.entry.js +2 -0
  553. package/dist/pine-core/p-ed990ad0.system.entry.js.map +1 -0
  554. package/dist/pine-core/p-f085efeb.entry.js +2 -0
  555. package/dist/pine-core/p-f085efeb.entry.js.map +1 -0
  556. package/dist/pine-core/p-f34096db.system.entry.js +2 -0
  557. package/dist/pine-core/p-f34096db.system.entry.js.map +1 -0
  558. package/dist/pine-core/p-f90088df.entry.js +2 -0
  559. package/dist/pine-core/p-f90088df.entry.js.map +1 -0
  560. package/dist/pine-core/pine-core.css +1 -1
  561. package/dist/pine-core/pine-core.esm.js +1 -1
  562. package/dist/pine-core/pine-core.esm.js.map +1 -1
  563. package/dist/pine-core/svg/trend-down.svg +1 -0
  564. package/dist/pine-core/svg/trend-none.svg +1 -0
  565. package/dist/pine-core/svg/trend-up.svg +1 -0
  566. package/dist/types/components/pds-input/input-interface.d.ts +12 -0
  567. package/dist/types/components/pds-input/pds-input.d.ts +61 -4
  568. package/dist/types/components/pds-textarea/pds-textarea.d.ts +57 -4
  569. package/dist/types/components/pds-textarea/textarea-interface.d.ts +5 -1
  570. package/dist/types/components/pds-tooltip/pds-tooltip.d.ts +2 -0
  571. package/dist/types/components.d.ts +65 -9
  572. package/dist/types/utils/attributes.d.ts +10 -0
  573. package/dist/types/utils/utils.d.ts +3 -1
  574. package/hydrate/index.js +426 -200
  575. package/hydrate/index.mjs +426 -200
  576. package/package.json +3 -3
  577. package/readme.md +1 -1
  578. package/dist/cjs/index-3ad62856.js.map +0 -1
  579. package/dist/cjs/pds-label-05f073ea.js.map +0 -1
  580. package/dist/collection/global/styles/base.css +0 -113
  581. package/dist/esm/index-56752d25.js.map +0 -1
  582. package/dist/esm/pds-label-62469596.js.map +0 -1
  583. package/dist/esm-es5/index-56752d25.js.map +0 -1
  584. package/dist/esm-es5/pds-label-62469596.js +0 -2
  585. package/dist/esm-es5/pds-label-62469596.js.map +0 -1
  586. package/dist/pine-core/p-00c8d6d8.entry.js +0 -2
  587. package/dist/pine-core/p-00c8d6d8.entry.js.map +0 -1
  588. package/dist/pine-core/p-031ac651.entry.js +0 -2
  589. package/dist/pine-core/p-031ac651.entry.js.map +0 -1
  590. package/dist/pine-core/p-09d83447.system.entry.js +0 -2
  591. package/dist/pine-core/p-09d83447.system.entry.js.map +0 -1
  592. package/dist/pine-core/p-0ac04129.entry.js +0 -2
  593. package/dist/pine-core/p-0ac04129.entry.js.map +0 -1
  594. package/dist/pine-core/p-0ad64b9d.system.entry.js +0 -2
  595. package/dist/pine-core/p-0ad64b9d.system.entry.js.map +0 -1
  596. package/dist/pine-core/p-1164c32c.system.entry.js +0 -2
  597. package/dist/pine-core/p-1164c32c.system.entry.js.map +0 -1
  598. package/dist/pine-core/p-1351489d.entry.js +0 -2
  599. package/dist/pine-core/p-1351489d.entry.js.map +0 -1
  600. package/dist/pine-core/p-1712d594.entry.js +0 -2
  601. package/dist/pine-core/p-1712d594.entry.js.map +0 -1
  602. package/dist/pine-core/p-196f615c.entry.js +0 -2
  603. package/dist/pine-core/p-196f615c.entry.js.map +0 -1
  604. package/dist/pine-core/p-1a1a76ea.system.entry.js +0 -2
  605. package/dist/pine-core/p-1a1a76ea.system.entry.js.map +0 -1
  606. package/dist/pine-core/p-1a548198.system.entry.js +0 -2
  607. package/dist/pine-core/p-1a548198.system.entry.js.map +0 -1
  608. package/dist/pine-core/p-1a78ee21.entry.js +0 -2
  609. package/dist/pine-core/p-1a78ee21.entry.js.map +0 -1
  610. package/dist/pine-core/p-1df1990d.system.entry.js +0 -2
  611. package/dist/pine-core/p-1df1990d.system.entry.js.map +0 -1
  612. package/dist/pine-core/p-1e80f274.entry.js +0 -2
  613. package/dist/pine-core/p-1e80f274.entry.js.map +0 -1
  614. package/dist/pine-core/p-2e1dc5e5.system.entry.js +0 -2
  615. package/dist/pine-core/p-2e1dc5e5.system.entry.js.map +0 -1
  616. package/dist/pine-core/p-30600b1b.entry.js +0 -2
  617. package/dist/pine-core/p-30600b1b.entry.js.map +0 -1
  618. package/dist/pine-core/p-34cda8d5.system.entry.js +0 -2
  619. package/dist/pine-core/p-34cda8d5.system.entry.js.map +0 -1
  620. package/dist/pine-core/p-364a7555.system.entry.js +0 -2
  621. package/dist/pine-core/p-364a7555.system.entry.js.map +0 -1
  622. package/dist/pine-core/p-37a3c235.entry.js +0 -2
  623. package/dist/pine-core/p-37a3c235.entry.js.map +0 -1
  624. package/dist/pine-core/p-396014d3.entry.js +0 -2
  625. package/dist/pine-core/p-396014d3.entry.js.map +0 -1
  626. package/dist/pine-core/p-3acb18ad.entry.js +0 -2
  627. package/dist/pine-core/p-3acb18ad.entry.js.map +0 -1
  628. package/dist/pine-core/p-3ae15266.entry.js +0 -2
  629. package/dist/pine-core/p-3ae15266.entry.js.map +0 -1
  630. package/dist/pine-core/p-4a10164f.entry.js +0 -2
  631. package/dist/pine-core/p-4a10164f.entry.js.map +0 -1
  632. package/dist/pine-core/p-4d22b02c.entry.js +0 -2
  633. package/dist/pine-core/p-4d22b02c.entry.js.map +0 -1
  634. package/dist/pine-core/p-4f9b1945.entry.js +0 -2
  635. package/dist/pine-core/p-4f9b1945.entry.js.map +0 -1
  636. package/dist/pine-core/p-50918693.system.entry.js +0 -2
  637. package/dist/pine-core/p-50918693.system.entry.js.map +0 -1
  638. package/dist/pine-core/p-5380ad4f.entry.js +0 -2
  639. package/dist/pine-core/p-5380ad4f.entry.js.map +0 -1
  640. package/dist/pine-core/p-539fe011.system.entry.js +0 -2
  641. package/dist/pine-core/p-539fe011.system.entry.js.map +0 -1
  642. package/dist/pine-core/p-59fcea0f.entry.js +0 -2
  643. package/dist/pine-core/p-59fcea0f.entry.js.map +0 -1
  644. package/dist/pine-core/p-5b9d6ad1.entry.js +0 -2
  645. package/dist/pine-core/p-5b9d6ad1.entry.js.map +0 -1
  646. package/dist/pine-core/p-5cb59e3f.system.entry.js +0 -2
  647. package/dist/pine-core/p-5cb59e3f.system.entry.js.map +0 -1
  648. package/dist/pine-core/p-605dc33a.system.entry.js +0 -2
  649. package/dist/pine-core/p-605dc33a.system.entry.js.map +0 -1
  650. package/dist/pine-core/p-630b1802.entry.js +0 -2
  651. package/dist/pine-core/p-630b1802.entry.js.map +0 -1
  652. package/dist/pine-core/p-65229490.entry.js +0 -2
  653. package/dist/pine-core/p-65229490.entry.js.map +0 -1
  654. package/dist/pine-core/p-6d447614.system.entry.js +0 -2
  655. package/dist/pine-core/p-6d447614.system.entry.js.map +0 -1
  656. package/dist/pine-core/p-760e1c32.entry.js +0 -2
  657. package/dist/pine-core/p-760e1c32.entry.js.map +0 -1
  658. package/dist/pine-core/p-84d36583.system.entry.js +0 -2
  659. package/dist/pine-core/p-84d36583.system.entry.js.map +0 -1
  660. package/dist/pine-core/p-88702fa2.entry.js +0 -2
  661. package/dist/pine-core/p-88702fa2.entry.js.map +0 -1
  662. package/dist/pine-core/p-88edcb41.system.entry.js +0 -2
  663. package/dist/pine-core/p-88edcb41.system.entry.js.map +0 -1
  664. package/dist/pine-core/p-892b4a4c.entry.js +0 -2
  665. package/dist/pine-core/p-892b4a4c.entry.js.map +0 -1
  666. package/dist/pine-core/p-8ae84655.system.entry.js +0 -2
  667. package/dist/pine-core/p-8ae84655.system.entry.js.map +0 -1
  668. package/dist/pine-core/p-9487df53.entry.js +0 -2
  669. package/dist/pine-core/p-9487df53.entry.js.map +0 -1
  670. package/dist/pine-core/p-9db668f2.system.entry.js +0 -2
  671. package/dist/pine-core/p-9db668f2.system.entry.js.map +0 -1
  672. package/dist/pine-core/p-a24fa762.system.entry.js +0 -2
  673. package/dist/pine-core/p-a24fa762.system.entry.js.map +0 -1
  674. package/dist/pine-core/p-a2726d3b.system.entry.js +0 -2
  675. package/dist/pine-core/p-a2726d3b.system.entry.js.map +0 -1
  676. package/dist/pine-core/p-a6713696.entry.js +0 -2
  677. package/dist/pine-core/p-a6713696.entry.js.map +0 -1
  678. package/dist/pine-core/p-a9038f7f.js +0 -2
  679. package/dist/pine-core/p-a9038f7f.js.map +0 -1
  680. package/dist/pine-core/p-a9e02a6f.system.entry.js +0 -2
  681. package/dist/pine-core/p-a9e02a6f.system.entry.js.map +0 -1
  682. package/dist/pine-core/p-adda8682.system.entry.js +0 -2
  683. package/dist/pine-core/p-adda8682.system.entry.js.map +0 -1
  684. package/dist/pine-core/p-ae19532d.system.entry.js +0 -2
  685. package/dist/pine-core/p-ae19532d.system.entry.js.map +0 -1
  686. package/dist/pine-core/p-b3e36d77.system.entry.js +0 -2
  687. package/dist/pine-core/p-b3e36d77.system.entry.js.map +0 -1
  688. package/dist/pine-core/p-b7edbe43.system.entry.js +0 -2
  689. package/dist/pine-core/p-b7edbe43.system.entry.js.map +0 -1
  690. package/dist/pine-core/p-b95522e6.system.entry.js +0 -2
  691. package/dist/pine-core/p-b95522e6.system.entry.js.map +0 -1
  692. package/dist/pine-core/p-b9cebd24.entry.js +0 -2
  693. package/dist/pine-core/p-b9cebd24.entry.js.map +0 -1
  694. package/dist/pine-core/p-bbd19258.entry.js +0 -2
  695. package/dist/pine-core/p-bbd19258.entry.js.map +0 -1
  696. package/dist/pine-core/p-cbf2acbd.system.entry.js +0 -2
  697. package/dist/pine-core/p-cbf2acbd.system.entry.js.map +0 -1
  698. package/dist/pine-core/p-cc75a4f7.system.entry.js +0 -2
  699. package/dist/pine-core/p-cc75a4f7.system.entry.js.map +0 -1
  700. package/dist/pine-core/p-ceb66096.entry.js +0 -8
  701. package/dist/pine-core/p-ceb66096.entry.js.map +0 -1
  702. package/dist/pine-core/p-d3365f49.system.entry.js +0 -9
  703. package/dist/pine-core/p-d83716fb.js.map +0 -1
  704. package/dist/pine-core/p-d95b2469.system.entry.js +0 -2
  705. package/dist/pine-core/p-d95b2469.system.entry.js.map +0 -1
  706. package/dist/pine-core/p-da5a1e2c.system.entry.js +0 -2
  707. package/dist/pine-core/p-da5a1e2c.system.entry.js.map +0 -1
  708. package/dist/pine-core/p-de301890.entry.js +0 -2
  709. package/dist/pine-core/p-de301890.entry.js.map +0 -1
  710. package/dist/pine-core/p-dec11fa5.system.js +0 -2
  711. package/dist/pine-core/p-e2a673e8.entry.js +0 -2
  712. package/dist/pine-core/p-e2a673e8.entry.js.map +0 -1
  713. package/dist/pine-core/p-e2badc55.entry.js +0 -2
  714. package/dist/pine-core/p-e2badc55.entry.js.map +0 -1
  715. package/dist/pine-core/p-e3fab4be.system.js +0 -2
  716. package/dist/pine-core/p-e3fab4be.system.js.map +0 -1
  717. package/dist/pine-core/p-ebdaf3ad.entry.js +0 -2
  718. package/dist/pine-core/p-ebdaf3ad.entry.js.map +0 -1
  719. package/dist/pine-core/p-f16ef73c.system.entry.js +0 -2
  720. package/dist/pine-core/p-f16ef73c.system.entry.js.map +0 -1
  721. package/dist/pine-core/p-faa2bf05.system.entry.js +0 -2
  722. package/dist/pine-core/p-faa2bf05.system.entry.js.map +0 -1
@@ -1,31 +1,14 @@
1
1
  :host {
2
- --border-interactive-default: var(--pine-border-interactive-default);
3
- --border-interactive-hover: var(--pine-border-interactive-hover);
4
- --box-shadow-focus: 0 0 0 1px #ffffff, 0 0 0 3px var(--color-focus-visible-outline);
5
- --box-shadow-focus-error: 0 0 0 1px #ffffff, 0 0 0 3px var(--color-focus-visible-outline-error);
6
- --color-background-default: var(--pine-color-white);
7
- --color-background-disabled: var(--pine-color-grey-100);
8
- --color-background-hover: var(--pine-color-grey-050);
9
- --color-background-error-default: var(--pine-color-red-050);
10
- --color-border-error-default: var(--pine-color-red-600);
11
- --color-border-focus-visible: var(--pine-color-grey-400);
12
- --color-border-hover: var(--pine-color-grey-400);
13
- --color-focus-visible-outline: var(--pine-color-purple-300);
14
- --color-focus-visible-outline-error: var(--pine-color-red-300);
15
- --color-text-disabled-default: var(--pine-color-grey-400);
16
- --color-text-message-error-default: var(--pine-color-red-600);
17
- --color-text-placeholder-default: var(--pine-color-grey-600);
18
- --color-text-placeholder-disabled: var(--pine-color-grey-400);
19
- --font-weight-label-default: var(--pine-font-weight-body-medium);
20
- --spacing-margin-block-end-label: var(--pine-spacing-100);
21
- --spacing-margin-block-start-helper-message: var(--pine-spacing-100);
22
- --spacing-padding-block-field: var(--pine-spacing-100);
23
- --spacing-padding-inline-field: var(--pine-spacing-200);
24
- --spacing-icon-error-message: var(--pine-spacing-050);
25
- --typography-message-default: var(--pine-typography-body-sm-default);
2
+ --box-shadow-focus: 0 0 0 1px #ffffff, 0 0 0 3px var(--pine-color-focus-ring);
3
+ --box-shadow-focus-error: 0 0 0 1px #ffffff, 0 0 0 3px var(--pine-color-focus-ring-danger);
26
4
  display: inline;
27
5
  }
28
6
 
7
+ :host([aria-readonly=true]) textarea {
8
+ background-color: var(--pine-color-background-container-disabled);
9
+ color: var(--pine-color-text-readonly);
10
+ }
11
+
29
12
  .pds-textarea {
30
13
  display: flex;
31
14
  flex-direction: column;
@@ -33,22 +16,22 @@
33
16
 
34
17
  label {
35
18
  display: block;
36
- font-weight: var(--font-weight-label-default);
37
- margin-block-end: var(--spacing-margin-block-end-label);
19
+ font-weight: var(--pine-font-weight-medium);
20
+ margin-block-end: var(--pine-dimension-xs);
38
21
  }
39
22
 
40
23
  .pds-textarea__field {
41
- background-color: var(--color-background-default);
42
- border: var(--border-interactive-default);
43
- border-radius: var(--pine-border-radius-100);
44
- padding: var(--spacing-padding-block-field) var(--spacing-padding-inline-field);
24
+ background-color: var(--pine-color-background-container);
25
+ border: var(--pine-border);
26
+ border-radius: calc(var(--pine-dimension-xs) * 1.25);
27
+ padding: var(--pine-dimension-xs) var(--pine-dimension-sm);
45
28
  }
46
29
  .pds-textarea__field:hover:not(:disabled, .is-invalid) {
47
- border: var(--border-interactive-hover);
30
+ border: var(--pine-border-hover);
48
31
  }
49
32
  .pds-textarea__field:disabled {
50
- background-color: var(--color-background-disabled);
51
- color: var(--color-text-disabled-default);
33
+ background-color: var(--pine-color-background-container-disabled);
34
+ color: var(--pine-color-text-disabled);
52
35
  cursor: not-allowed;
53
36
  }
54
37
  .pds-textarea__field:focus-visible {
@@ -56,10 +39,11 @@ label {
56
39
  outline: none;
57
40
  }
58
41
  .pds-textarea__field::placeholder {
59
- color: var(--color-text-placeholder-default);
42
+ color: var(--pine-color-text-placeholder);
60
43
  }
61
44
  .pds-textarea__field.is-invalid {
62
- border-color: var(--color-border-error-default);
45
+ background-color: var(--pine-input-color-background-danger);
46
+ border-color: var(--pine-color-border-danger);
63
47
  }
64
48
  .pds-textarea__field.is-invalid:focus-visible {
65
49
  box-shadow: var(--box-shadow-focus-error);
@@ -67,13 +51,13 @@ label {
67
51
 
68
52
  .pds-textarea__error-message,
69
53
  .pds-textarea__helper-message {
70
- font: var(--typography-message-default);
71
- margin-block-start: var(--spacing-margin-block-start-helper-message);
54
+ font: var(--pine-typography-body-sm-medium);
55
+ margin-block-start: var(--pine-dimension-xs);
72
56
  }
73
57
 
74
58
  .pds-textarea__error-message {
75
59
  align-items: center;
76
- color: var(--color-text-message-error-default);
60
+ color: var(--pine-color-text-message-danger);
77
61
  display: flex;
78
- gap: var(--spacing-icon-error-message);
62
+ gap: var(--pine-dimension-2xs);
79
63
  }
@@ -1,20 +1,37 @@
1
1
  import { Host, h } from "@stencil/core";
2
2
  import { assignDescription, isRequired, messageId } from "../../utils/form";
3
- import { PdsLabel } from "../_internal/pds-label/pds-label";
3
+ import { debounceEvent } from "../../utils/utils";
4
+ import { inheritAttributes, inheritAriaAttributes } from "../../utils/attributes";
4
5
  import { danger } from "@pine-ds/icons/icons";
5
6
  export class PdsTextarea {
6
7
  constructor() {
7
- this.onTextareaChange = (ev) => {
8
- const textarea = ev.target;
9
- isRequired(textarea, this);
10
- if (textarea) {
11
- this.value = textarea.value;
8
+ this.inheritedAttributes = {};
9
+ this.onBlur = (ev) => {
10
+ this.hasFocus = false;
11
+ if (this.focusedValue !== this.value) {
12
+ this.emitValueChange(ev);
13
+ }
14
+ this.pdsBlur.emit(ev);
15
+ };
16
+ this.onFocus = (ev) => {
17
+ this.hasFocus = true;
18
+ this.focusedValue = this.value;
19
+ this.pdsFocus.emit(ev);
20
+ };
21
+ this.onInput = (ev) => {
22
+ const input = ev.target;
23
+ if (input) {
24
+ this.value = input.value || '';
12
25
  }
13
- this.pdsTextareaChange.emit({ value: this.value, event: ev });
26
+ this.emitInputChange(ev);
27
+ };
28
+ this.onTextareaChange = (ev) => {
29
+ this.emitValueChange(ev);
14
30
  };
15
31
  this.autocomplete = undefined;
16
32
  this.componentId = undefined;
17
33
  this.disabled = false;
34
+ this.debounce = undefined;
18
35
  this.errorMessage = undefined;
19
36
  this.helperMessage = undefined;
20
37
  this.invalid = false;
@@ -24,7 +41,53 @@ export class PdsTextarea {
24
41
  this.readonly = false;
25
42
  this.required = false;
26
43
  this.rows = undefined;
27
- this.value = undefined;
44
+ this.value = '';
45
+ this.hasFocus = false;
46
+ }
47
+ /**
48
+ * Sets focus on the native `textarea` in the `pds-texarea`. Use this method instead of the global
49
+ * `textarea.focus()`.
50
+ */
51
+ async setFocus() {
52
+ if (this.nativeTextarea) {
53
+ this.nativeTextarea.focus();
54
+ }
55
+ }
56
+ debounceChanged() {
57
+ const { pdsInput, debounce, originalPdsInput } = this;
58
+ this.pdsInput = debounce === undefined ? originalPdsInput !== null && originalPdsInput !== void 0 ? originalPdsInput : pdsInput : debounceEvent(pdsInput, debounce);
59
+ }
60
+ /**
61
+ * Update the native input element when the value changes
62
+ */
63
+ valueChanged() {
64
+ const nativeTextarea = this.nativeTextarea;
65
+ const value = this.getValue();
66
+ if (nativeTextarea && nativeTextarea.value !== value) {
67
+ nativeTextarea.value = value;
68
+ }
69
+ }
70
+ /**
71
+ * Emits an `pdsInput` event.
72
+ */
73
+ emitInputChange(event) {
74
+ const { value } = this;
75
+ this.pdsInput.emit({ value, event });
76
+ }
77
+ /**
78
+ * Emits an `pdsTextareaChange` event.
79
+ */
80
+ emitValueChange(event) {
81
+ const textarea = event.target;
82
+ isRequired(textarea, this);
83
+ const { value } = textarea;
84
+ // Checks for both null and undefined values
85
+ const newValue = value == null ? value : value.toString();
86
+ this.focusedValue = newValue;
87
+ this.pdsTextareaChange.emit({ value: newValue, event });
88
+ }
89
+ getValue() {
90
+ return this.value || '';
28
91
  }
29
92
  textareaClassNames() {
30
93
  const classNames = ['pds-textarea__field'];
@@ -33,22 +96,32 @@ export class PdsTextarea {
33
96
  }
34
97
  return classNames.join(' ');
35
98
  }
99
+ connectedCallback() {
100
+ this.debounceChanged();
101
+ }
102
+ componentWillLoad() {
103
+ this.inheritedAttributes = Object.assign(Object.assign({}, inheritAriaAttributes(this.el)), inheritAttributes(this.el));
104
+ }
105
+ componentDidLoad() {
106
+ this.originalPdsInput = this.pdsInput;
107
+ }
36
108
  render() {
37
- return (h(Host, { key: '461039704016b1b3858af80440863f1fc4930ceb', "aria-disabled": this.disabled ? 'true' : null }, h("div", { key: 'de68ba7ca3b6714e1da8594e76f60bab2a3de1fb', class: "pds-textarea" }, this.label &&
38
- h(PdsLabel, { key: '102802b8244a929492731700fdde06a053f3e2d5', htmlFor: this.componentId, text: this.label }), h("textarea", { key: '55a3fde040749bd03a5e681dafad7db0717f4a7f', "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, onChange: this.onTextareaChange }, this.value), this.helperMessage &&
39
- h("p", { key: '552e0c1240cdc51c215f5ddfc51f250156d8a4b2', class: "pds-textarea__helper-message", id: messageId(this.componentId, 'helper') }, this.helperMessage), this.invalid &&
40
- h("p", { key: 'a7e6f4a0d926203f5ac56a8f99d03fd9b5f3647b', "aria-live": "assertive", class: "pds-textarea__error-message", id: messageId(this.componentId, 'error') }, h("pds-icon", { key: '53a40e204e076147b27c921cdbe54336ca50d9e3', icon: danger, size: "small" }), this.errorMessage))));
109
+ const value = this.getValue();
110
+ return (h(Host, { key: 'aa960b2a67c927c296040e835fadcd8f8bcbbc18', "aria-disabled": this.disabled ? 'true' : null, "aria-readonly": this.readonly ? 'true' : null }, h("div", { key: 'b95804e8ddbd92f4d7177c90d342d0ff2022ad44', class: "pds-textarea" }, this.label &&
111
+ h("label", { key: 'ef508b6af03cf871b419b2dd4d79ded182b59da5', htmlFor: this.componentId }, this.label), h("textarea", Object.assign({ key: '2d2f195e8a715332eab0bba4f869db67b0f249c9', 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 &&
112
+ h("p", { key: '84ad453017c378553eeda5198267564661b9bc8f', class: "pds-textarea__helper-message", id: messageId(this.componentId, 'helper') }, this.helperMessage), this.invalid &&
113
+ h("p", { key: 'd1fbcbe5af314a25bdec647d560f9e964a9c8b90', "aria-live": "assertive", class: "pds-textarea__error-message", id: messageId(this.componentId, 'error') }, h("pds-icon", { key: '525edfdafeabd31a41e62c0c0e454752123c7c8a', icon: danger, size: "small" }), this.errorMessage))));
41
114
  }
42
115
  static get is() { return "pds-textarea"; }
43
116
  static get encapsulation() { return "shadow"; }
44
117
  static get originalStyleUrls() {
45
118
  return {
46
- "$": ["../../global/styles/base.scss", "pds-textarea.scss"]
119
+ "$": ["../../global/styles/utils/label.scss", "../pds-input/pds-input.tokens.scss", "pds-textarea.scss"]
47
120
  };
48
121
  }
49
122
  static get styleUrls() {
50
123
  return {
51
- "$": ["../../global/styles/base.css", "pds-textarea.css"]
124
+ "$": ["../../global/styles/utils/label.css", "../pds-input/pds-input.tokens.css", "pds-textarea.css"]
52
125
  };
53
126
  }
54
127
  static get properties() {
@@ -108,6 +181,23 @@ export class PdsTextarea {
108
181
  "reflect": false,
109
182
  "defaultValue": "false"
110
183
  },
184
+ "debounce": {
185
+ "type": "number",
186
+ "mutable": false,
187
+ "complexType": {
188
+ "original": "number",
189
+ "resolved": "number",
190
+ "references": {}
191
+ },
192
+ "required": false,
193
+ "optional": true,
194
+ "docs": {
195
+ "tags": [],
196
+ "text": "The amount of time, in milliseconds, to wait to trigger the event after each keystroke."
197
+ },
198
+ "attribute": "debounce",
199
+ "reflect": false
200
+ },
111
201
  "errorMessage": {
112
202
  "type": "string",
113
203
  "mutable": false,
@@ -278,7 +368,7 @@ export class PdsTextarea {
278
368
  "type": "string",
279
369
  "mutable": true,
280
370
  "complexType": {
281
- "original": "string",
371
+ "original": "string | null",
282
372
  "resolved": "string",
283
373
  "references": {}
284
374
  },
@@ -289,12 +379,79 @@ export class PdsTextarea {
289
379
  "text": "The value of the textarea."
290
380
  },
291
381
  "attribute": "value",
292
- "reflect": false
382
+ "reflect": false,
383
+ "defaultValue": "''"
293
384
  }
294
385
  };
295
386
  }
387
+ static get states() {
388
+ return {
389
+ "hasFocus": {}
390
+ };
391
+ }
296
392
  static get events() {
297
393
  return [{
394
+ "method": "pdsBlur",
395
+ "name": "pdsBlur",
396
+ "bubbles": true,
397
+ "cancelable": true,
398
+ "composed": true,
399
+ "docs": {
400
+ "tags": [],
401
+ "text": "Emitted when the input loses focus."
402
+ },
403
+ "complexType": {
404
+ "original": "FocusEvent",
405
+ "resolved": "FocusEvent",
406
+ "references": {
407
+ "FocusEvent": {
408
+ "location": "global",
409
+ "id": "global::FocusEvent"
410
+ }
411
+ }
412
+ }
413
+ }, {
414
+ "method": "pdsFocus",
415
+ "name": "pdsFocus",
416
+ "bubbles": true,
417
+ "cancelable": true,
418
+ "composed": true,
419
+ "docs": {
420
+ "tags": [],
421
+ "text": "Emitted when the input has focus."
422
+ },
423
+ "complexType": {
424
+ "original": "FocusEvent",
425
+ "resolved": "FocusEvent",
426
+ "references": {
427
+ "FocusEvent": {
428
+ "location": "global",
429
+ "id": "global::FocusEvent"
430
+ }
431
+ }
432
+ }
433
+ }, {
434
+ "method": "pdsInput",
435
+ "name": "pdsInput",
436
+ "bubbles": true,
437
+ "cancelable": true,
438
+ "composed": true,
439
+ "docs": {
440
+ "tags": [],
441
+ "text": "Emitted when a keyboard input occurs.\n\nFor elements that accept text input (`type=text`, `type=tel`, etc.), the interface\nis [`InputEvent`](https://developer.mozilla.org/en-US/docs/Web/API/InputEvent); for others,\nthe interface is [`Event`](https://developer.mozilla.org/en-US/docs/Web/API/Event). If\nthe input is cleared on edit, the type is `null`."
442
+ },
443
+ "complexType": {
444
+ "original": "TextareaInputEventDetail",
445
+ "resolved": "TextareaInputEventDetail",
446
+ "references": {
447
+ "TextareaInputEventDetail": {
448
+ "location": "import",
449
+ "path": "./textarea-interface",
450
+ "id": "src/components/pds-textarea/textarea-interface.ts::TextareaInputEventDetail"
451
+ }
452
+ }
453
+ }
454
+ }, {
298
455
  "method": "pdsTextareaChange",
299
456
  "name": "pdsTextareaChange",
300
457
  "bubbles": true,
@@ -302,7 +459,7 @@ export class PdsTextarea {
302
459
  "composed": true,
303
460
  "docs": {
304
461
  "tags": [],
305
- "text": "Event emitted whenever the value of the textarea changes."
462
+ "text": "Event emitted whenever the value of the textarea changes.\n\nThis event will not emit when programmatically setting the `value` property."
306
463
  },
307
464
  "complexType": {
308
465
  "original": "TextareaChangeEventDetail",
@@ -317,6 +474,36 @@ export class PdsTextarea {
317
474
  }
318
475
  }];
319
476
  }
477
+ static get methods() {
478
+ return {
479
+ "setFocus": {
480
+ "complexType": {
481
+ "signature": "() => Promise<void>",
482
+ "parameters": [],
483
+ "references": {
484
+ "Promise": {
485
+ "location": "global",
486
+ "id": "global::Promise"
487
+ }
488
+ },
489
+ "return": "Promise<void>"
490
+ },
491
+ "docs": {
492
+ "text": "Sets focus on the native `textarea` in the `pds-texarea`. Use this method instead of the global\n`textarea.focus()`.",
493
+ "tags": []
494
+ }
495
+ }
496
+ };
497
+ }
320
498
  static get elementRef() { return "el"; }
499
+ static get watchers() {
500
+ return [{
501
+ "propName": "debounce",
502
+ "methodName": "debounceChanged"
503
+ }, {
504
+ "propName": "value",
505
+ "methodName": "valueChanged"
506
+ }];
507
+ }
321
508
  }
322
509
  //# sourceMappingURL=pds-textarea.js.map
@@ -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, Host, h, Prop, Event, EventEmitter } from '@stencil/core';\nimport { assignDescription, isRequired, messageId } from '../../utils/form';\nimport { TextareaChangeEventDetail } from './textarea-interface';\nimport { PdsLabel } from '../_internal/pds-label/pds-label';\nimport { danger } from '@pine-ds/icons/icons';\n\n@Component({\n tag: 'pds-textarea',\n styleUrls: ['../../global/styles/base.scss', 'pds-textarea.scss'],\n shadow: true,\n})\nexport class PdsTextarea {\n @Element() el: HTMLPdsTextareaElement;\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 * 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;\n\n /**\n * Event emitted whenever the value of the textarea changes.\n */\n @Event() pdsTextareaChange: EventEmitter<TextareaChangeEventDetail>;\n\n private onTextareaChange = (ev: Event) => {\n const textarea = ev.target as HTMLTextAreaElement;\n isRequired(textarea, this);\n\n if (textarea) {\n this.value = textarea.value;\n }\n\n this.pdsTextareaChange.emit({value: this.value, event: 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 render() {\n return (\n <Host\n aria-disabled={this.disabled ? 'true' : null}\n >\n <div class=\"pds-textarea\">\n {this.label &&\n <PdsLabel htmlFor={this.componentId} text={this.label} />\n }\n <textarea\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 onChange={this.onTextareaChange}\n >{this.value}</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@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"]}
@@ -5,7 +5,9 @@ import { withActions } from '@storybook/addon-actions/decorator';
5
5
  export default {
6
6
  args: {
7
7
  autocomplete: null,
8
+ clearOnEdit: false,
8
9
  componentId: null,
10
+ debounce: null,
9
11
  disabled: false,
10
12
  errorMessage: null,
11
13
  helperMessage: null,
@@ -22,7 +24,12 @@ export default {
22
24
  decorators: [withActions],
23
25
  parameters: {
24
26
  actions: {
25
- handles: ['onchange', 'pdsTextareaChange'],
27
+ handles: [
28
+ 'onblur', 'pdsBlur',
29
+ 'onchange', 'pdsTextareaChange',
30
+ 'onfocus', 'pdsFocus',
31
+ 'oninput', 'pdsInput',
32
+ ],
26
33
  },
27
34
  },
28
35
  title: 'components/Textarea',
@@ -30,6 +37,7 @@ export default {
30
37
 
31
38
  const BaseTemplate = (args) => html`<pds-textarea
32
39
  autocomplete="${args.autocomplete}"
40
+ clear-on-edit="${args.clearOnEdit}"
33
41
  component-id="${args.componentId}"
34
42
  disabled="${args.disabled}"
35
43
  error-message="${args.errorMessage}"
@@ -43,6 +51,8 @@ const BaseTemplate = (args) => html`<pds-textarea
43
51
  required="${args.required}"
44
52
  rows="${args.rows}"
45
53
  value="${args.value}"
54
+ data-tooltip-id="foo"
55
+ title="bar"
46
56
  >
47
57
  </pds-textarea>`;
48
58
 
@@ -1 +1 @@
1
- {"version":3,"file":"textarea-interface.js","sourceRoot":"","sources":["../../../src/components/pds-textarea/textarea-interface.ts"],"names":[],"mappings":"","sourcesContent":["export interface TextareaChangeEventDetail {\n event?: Event;\n value: string | null;\n}\n\nexport interface TextareaEvent <T = TextareaChangeEventDetail> extends CustomEvent {\n detail: T;\n target: HTMLPdsTextareaElement;\n}\n"]}
1
+ {"version":3,"file":"textarea-interface.js","sourceRoot":"","sources":["../../../src/components/pds-textarea/textarea-interface.ts"],"names":[],"mappings":"","sourcesContent":["export interface TextareaChangeEventDetail {\n event?: Event;\n value?: string | null;\n}\n\nexport interface TextareaInputEventDetail {\n event?: Event;\n value?: string | null;\n}\n\nexport interface TextareaEvent <T = TextareaChangeEventDetail> extends CustomEvent {\n detail: T;\n target: HTMLPdsTextareaElement;\n}\n"]}