@pine-ds/core 2.15.0-mercury.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 (1119) hide show
  1. package/components/attributes.js +87 -0
  2. package/components/attributes.js.map +1 -0
  3. package/{dist/esm/pds-label-c806218b.js → components/form.js} +2 -10
  4. package/components/form.js.map +1 -0
  5. package/components/index.d.ts +6 -0
  6. package/components/index.js +3 -0
  7. package/components/index.js.map +1 -1
  8. package/components/index2.js +13 -11
  9. package/components/index2.js.map +1 -1
  10. package/components/pds-accordion.js +2 -2
  11. package/components/pds-accordion.js.map +1 -1
  12. package/components/pds-avatar.js +4 -4
  13. package/components/pds-avatar.js.map +1 -1
  14. package/components/pds-box.js +1 -1
  15. package/components/pds-box.js.map +1 -1
  16. package/components/pds-button2.js +7 -8
  17. package/components/pds-button2.js.map +1 -1
  18. package/components/pds-checkbox2.js +14 -6
  19. package/components/pds-checkbox2.js.map +1 -1
  20. package/components/pds-chip.js +10 -7
  21. package/components/pds-chip.js.map +1 -1
  22. package/components/pds-copytext.js +2 -2
  23. package/components/pds-copytext.js.map +1 -1
  24. package/components/pds-divider.js +2 -2
  25. package/components/pds-divider.js.map +1 -1
  26. package/components/pds-icon2.js +1 -1
  27. package/components/pds-icon2.js.map +1 -1
  28. package/components/pds-image.js +3 -3
  29. package/components/pds-image.js.map +1 -1
  30. package/components/pds-input.js +123 -11
  31. package/components/pds-input.js.map +1 -1
  32. package/components/pds-label.js +1 -29
  33. package/components/pds-label.js.map +1 -1
  34. package/components/pds-link.js +3 -3
  35. package/components/pds-link.js.map +1 -1
  36. package/components/pds-loader.js +2 -2
  37. package/components/pds-loader.js.map +1 -1
  38. package/components/pds-popover.d.ts +11 -0
  39. package/components/pds-popover.js +94 -0
  40. package/components/pds-popover.js.map +1 -0
  41. package/components/pds-progress.js +2 -2
  42. package/components/pds-progress.js.map +1 -1
  43. package/components/pds-radio.js +18 -10
  44. package/components/pds-radio.js.map +1 -1
  45. package/components/pds-row.js +2 -2
  46. package/components/pds-row.js.map +1 -1
  47. package/components/pds-select.d.ts +11 -0
  48. package/components/pds-select.js +167 -0
  49. package/components/pds-select.js.map +1 -0
  50. package/components/pds-sortable-item.js +2 -2
  51. package/components/pds-sortable-item.js.map +1 -1
  52. package/components/pds-sortable.js +2 -2
  53. package/components/pds-sortable.js.map +1 -1
  54. package/components/pds-switch.js +17 -12
  55. package/components/pds-switch.js.map +1 -1
  56. package/components/pds-tab.js +4 -4
  57. package/components/pds-tab.js.map +1 -1
  58. package/components/pds-table-body.js +1 -1
  59. package/components/pds-table-body.js.map +1 -1
  60. package/components/pds-table-cell2.js +3 -3
  61. package/components/pds-table-cell2.js.map +1 -1
  62. package/components/pds-table-head-cell2.js +4 -4
  63. package/components/pds-table-head-cell2.js.map +1 -1
  64. package/components/pds-table-head.js +2 -2
  65. package/components/pds-table-head.js.map +1 -1
  66. package/components/pds-table-row.js +10 -4
  67. package/components/pds-table-row.js.map +1 -1
  68. package/components/pds-table.js +1 -1
  69. package/components/pds-table.js.map +1 -1
  70. package/components/pds-tabpanel.js +2 -2
  71. package/components/pds-tabpanel.js.map +1 -1
  72. package/components/pds-tabs.js +2 -2
  73. package/components/pds-tabs.js.map +1 -1
  74. package/components/pds-text.d.ts +11 -0
  75. package/components/pds-text.js +61 -0
  76. package/components/pds-text.js.map +1 -0
  77. package/components/pds-textarea.js +119 -17
  78. package/components/pds-textarea.js.map +1 -1
  79. package/components/pds-tooltip.js +16 -8
  80. package/components/pds-tooltip.js.map +1 -1
  81. package/components/utils.js +21 -0
  82. package/components/utils.js.map +1 -0
  83. package/dist/cjs/attributes-73ee8de7.js +90 -0
  84. package/dist/cjs/attributes-73ee8de7.js.map +1 -0
  85. package/dist/cjs/{pds-label-73bb5bd3.js → form-4f00637c.js} +1 -10
  86. package/dist/cjs/form-4f00637c.js.map +1 -0
  87. package/dist/cjs/index-034a8bb0.js +28 -0
  88. package/dist/cjs/index-034a8bb0.js.map +1 -0
  89. package/dist/cjs/{index-d4ec6246.js → index-b7d9268e.js} +17 -5
  90. package/dist/cjs/index-b7d9268e.js.map +1 -0
  91. package/dist/cjs/index.cjs.js +1 -1
  92. package/dist/cjs/loader.cjs.js +2 -2
  93. package/dist/cjs/pds-accordion.cjs.entry.js +4 -4
  94. package/dist/cjs/pds-accordion.cjs.entry.js.map +1 -1
  95. package/dist/cjs/pds-avatar.cjs.entry.js +6 -6
  96. package/dist/cjs/pds-avatar.cjs.entry.js.map +1 -1
  97. package/dist/cjs/pds-box.cjs.entry.js +2 -2
  98. package/dist/cjs/pds-box.cjs.entry.js.map +1 -1
  99. package/dist/cjs/pds-button.cjs.entry.js +8 -9
  100. package/dist/cjs/pds-button.cjs.entry.js.map +1 -1
  101. package/dist/cjs/pds-checkbox.cjs.entry.js +8 -6
  102. package/dist/cjs/pds-checkbox.cjs.entry.js.map +1 -1
  103. package/dist/cjs/pds-chip.cjs.entry.js +11 -8
  104. package/dist/cjs/pds-chip.cjs.entry.js.map +1 -1
  105. package/dist/cjs/pds-copytext.cjs.entry.js +4 -4
  106. package/dist/cjs/pds-copytext.cjs.entry.js.map +1 -1
  107. package/dist/cjs/pds-divider.cjs.entry.js +3 -3
  108. package/dist/cjs/pds-divider.cjs.entry.js.map +1 -1
  109. package/dist/cjs/pds-icon.cjs.entry.js +2 -2
  110. package/dist/cjs/pds-icon.cjs.entry.js.map +1 -1
  111. package/dist/cjs/pds-image.cjs.entry.js +4 -4
  112. package/dist/cjs/pds-image.cjs.entry.js.map +1 -1
  113. package/dist/cjs/pds-input.cjs.entry.js +109 -10
  114. package/dist/cjs/pds-input.cjs.entry.js.map +1 -1
  115. package/dist/cjs/pds-label-e0d9a97d.js +13 -0
  116. package/dist/cjs/pds-label-e0d9a97d.js.map +1 -0
  117. package/dist/cjs/pds-link.cjs.entry.js +5 -5
  118. package/dist/cjs/pds-link.cjs.entry.js.map +1 -1
  119. package/dist/cjs/pds-loader.cjs.entry.js +3 -3
  120. package/dist/cjs/pds-loader.cjs.entry.js.map +1 -1
  121. package/dist/cjs/pds-popover.cjs.entry.js +72 -0
  122. package/dist/cjs/pds-popover.cjs.entry.js.map +1 -0
  123. package/dist/cjs/pds-progress.cjs.entry.js +3 -3
  124. package/dist/cjs/pds-progress.cjs.entry.js.map +1 -1
  125. package/dist/cjs/pds-radio.cjs.entry.js +10 -8
  126. package/dist/cjs/pds-radio.cjs.entry.js.map +1 -1
  127. package/dist/cjs/pds-row.cjs.entry.js +3 -3
  128. package/dist/cjs/pds-row.cjs.entry.js.map +1 -1
  129. package/dist/cjs/pds-select.cjs.entry.js +133 -0
  130. package/dist/cjs/pds-select.cjs.entry.js.map +1 -0
  131. package/dist/cjs/pds-sortable-item.cjs.entry.js +4 -4
  132. package/dist/cjs/pds-sortable-item.cjs.entry.js.map +1 -1
  133. package/dist/cjs/pds-sortable.cjs.entry.js +3 -3
  134. package/dist/cjs/pds-sortable.cjs.entry.js.map +1 -1
  135. package/dist/cjs/pds-switch.cjs.entry.js +10 -10
  136. package/dist/cjs/pds-switch.cjs.entry.js.map +1 -1
  137. package/dist/cjs/pds-tab.cjs.entry.js +5 -5
  138. package/dist/cjs/pds-tab.cjs.entry.js.map +1 -1
  139. package/dist/cjs/pds-table-body.cjs.entry.js +2 -2
  140. package/dist/cjs/pds-table-body.cjs.entry.js.map +1 -1
  141. package/dist/cjs/pds-table-cell.cjs.entry.js +4 -4
  142. package/dist/cjs/pds-table-cell.cjs.entry.js.map +1 -1
  143. package/dist/cjs/pds-table-head-cell.cjs.entry.js +5 -5
  144. package/dist/cjs/pds-table-head-cell.cjs.entry.js.map +1 -1
  145. package/dist/cjs/pds-table-head.cjs.entry.js +3 -3
  146. package/dist/cjs/pds-table-head.cjs.entry.js.map +1 -1
  147. package/dist/cjs/pds-table-row.cjs.entry.js +3 -3
  148. package/dist/cjs/pds-table-row.cjs.entry.js.map +1 -1
  149. package/dist/cjs/pds-table.cjs.entry.js +2 -2
  150. package/dist/cjs/pds-table.cjs.entry.js.map +1 -1
  151. package/dist/cjs/pds-tabpanel.cjs.entry.js +3 -3
  152. package/dist/cjs/pds-tabpanel.cjs.entry.js.map +1 -1
  153. package/dist/cjs/pds-tabs.cjs.entry.js +3 -3
  154. package/dist/cjs/pds-tabs.cjs.entry.js.map +1 -1
  155. package/dist/cjs/pds-text.cjs.entry.js +39 -0
  156. package/dist/cjs/pds-text.cjs.entry.js.map +1 -0
  157. package/dist/cjs/pds-textarea.cjs.entry.js +105 -16
  158. package/dist/cjs/pds-textarea.cjs.entry.js.map +1 -1
  159. package/dist/cjs/pds-tooltip.cjs.entry.js +15 -8
  160. package/dist/cjs/pds-tooltip.cjs.entry.js.map +1 -1
  161. package/dist/cjs/pine-core.cjs.js +3 -3
  162. package/dist/cjs/pine-core.cjs.js.map +1 -1
  163. package/dist/cjs/utils-39c972f8.js +24 -0
  164. package/dist/cjs/utils-39c972f8.js.map +1 -0
  165. package/dist/collection/collection-manifest.json +5 -2
  166. package/dist/collection/components/pds-accordion/pds-accordion.css +21 -28
  167. package/dist/collection/components/pds-accordion/pds-accordion.js +2 -1
  168. package/dist/collection/components/pds-accordion/pds-accordion.js.map +1 -1
  169. package/dist/collection/components/pds-accordion/stories/pds-accordion.stories.js +11 -15
  170. package/dist/collection/components/pds-avatar/pds-avatar.css +13 -20
  171. package/dist/collection/components/pds-avatar/pds-avatar.js +3 -3
  172. package/dist/collection/components/pds-avatar/pds-avatar.js.map +1 -1
  173. package/dist/collection/components/pds-box/pds-box.css +37 -30
  174. package/dist/collection/components/pds-button/pds-button.css +52 -72
  175. package/dist/collection/components/pds-button/pds-button.js +36 -11
  176. package/dist/collection/components/pds-button/pds-button.js.map +1 -1
  177. package/dist/collection/components/pds-button/stories/pds-button.stories.js +8 -1
  178. package/dist/collection/components/pds-checkbox/pds-checkbox.css +47 -42
  179. package/dist/collection/components/pds-checkbox/pds-checkbox.js +4 -3
  180. package/dist/collection/components/pds-checkbox/pds-checkbox.js.map +1 -1
  181. package/dist/collection/components/pds-chip/pds-chip.css +88 -110
  182. package/dist/collection/components/pds-chip/pds-chip.js +28 -28
  183. package/dist/collection/components/pds-chip/pds-chip.js.map +1 -1
  184. package/dist/collection/components/pds-chip/pds-chip.tokens.css +23 -0
  185. package/dist/collection/components/pds-copytext/pds-copytext.css +25 -36
  186. package/dist/collection/components/pds-copytext/pds-copytext.js +4 -4
  187. package/dist/collection/components/pds-copytext/pds-copytext.js.map +1 -1
  188. package/dist/collection/components/pds-divider/pds-divider.css +29 -41
  189. package/dist/collection/components/pds-divider/pds-divider.js +2 -2
  190. package/dist/collection/components/pds-divider/pds-divider.js.map +1 -1
  191. package/dist/collection/components/pds-icon/stories/pds-icon.stories.js +1 -1
  192. package/dist/collection/components/pds-image/pds-image.css +1 -3
  193. package/dist/collection/components/pds-image/pds-image.js +13 -7
  194. package/dist/collection/components/pds-image/pds-image.js.map +1 -1
  195. package/dist/collection/components/pds-image/stories/pds-image.stories.js +7 -5
  196. package/dist/collection/components/pds-input/input-interface.js +2 -0
  197. package/dist/collection/components/pds-input/input-interface.js.map +1 -0
  198. package/dist/collection/components/pds-input/pds-input.css +46 -44
  199. package/dist/collection/components/pds-input/pds-input.js +239 -22
  200. package/dist/collection/components/pds-input/pds-input.js.map +1 -1
  201. package/dist/collection/components/pds-input/pds-input.tokens.css +6 -0
  202. package/dist/collection/components/pds-input/stories/pds-input.stories.js +18 -2
  203. package/dist/collection/components/pds-link/pds-link.css +16 -25
  204. package/dist/collection/components/pds-link/pds-link.js +12 -9
  205. package/dist/collection/components/pds-link/pds-link.js.map +1 -1
  206. package/dist/collection/components/pds-loader/pds-loader.css +16 -29
  207. package/dist/collection/components/pds-loader/pds-loader.js +1 -1
  208. package/dist/collection/components/pds-loader/pds-loader.js.map +1 -1
  209. package/dist/collection/components/pds-popover/pds-popover.css +30 -0
  210. package/dist/collection/components/pds-popover/pds-popover.js +216 -0
  211. package/dist/collection/components/pds-popover/pds-popover.js.map +1 -0
  212. package/dist/collection/components/pds-popover/stories/pds-popover.stories.js +45 -0
  213. package/dist/collection/components/pds-progress/pds-progress.css +11 -24
  214. package/dist/collection/components/pds-progress/pds-progress.js +1 -1
  215. package/dist/collection/components/pds-progress/pds-progress.js.map +1 -1
  216. package/dist/collection/components/pds-radio/pds-radio.css +38 -37
  217. package/dist/collection/components/pds-radio/pds-radio.js +41 -40
  218. package/dist/collection/components/pds-radio/pds-radio.js.map +1 -1
  219. package/dist/collection/components/pds-row/pds-row.css +9 -8
  220. package/dist/collection/components/pds-row/pds-row.js +1 -1
  221. package/dist/collection/components/pds-select/pds-select.css +98 -0
  222. package/dist/collection/components/pds-select/pds-select.js +361 -0
  223. package/dist/collection/components/pds-select/pds-select.js.map +1 -0
  224. package/dist/collection/components/pds-select/stories/pds-select.stories.js +153 -0
  225. package/dist/collection/components/pds-sortable/pds-sortable-item/pds-sortable-item.css +13 -22
  226. package/dist/collection/components/pds-sortable/pds-sortable-item/pds-sortable-item.js +1 -1
  227. package/dist/collection/components/pds-sortable/pds-sortable.css +2 -4
  228. package/dist/collection/components/pds-sortable/pds-sortable.js +1 -1
  229. package/dist/collection/components/pds-sortable/pds-sortable.js.map +1 -1
  230. package/dist/collection/components/pds-switch/pds-switch.css +35 -48
  231. package/dist/collection/components/pds-switch/pds-switch.js +17 -39
  232. package/dist/collection/components/pds-switch/pds-switch.js.map +1 -1
  233. package/dist/collection/components/pds-switch/stories/pds-switch.stories.js +2 -15
  234. package/dist/collection/components/pds-table/pds-table-body/pds-table-body.js +1 -1
  235. package/dist/collection/components/pds-table/pds-table-body/pds-table-body.js.map +1 -1
  236. package/dist/collection/components/pds-table/pds-table-cell/pds-table-cell.css +11 -17
  237. package/dist/collection/components/pds-table/pds-table-cell/pds-table-cell.js +2 -2
  238. package/dist/collection/components/pds-table/pds-table-cell/pds-table-cell.js.map +1 -1
  239. package/dist/collection/components/pds-table/pds-table-head/pds-table-head.css +2 -3
  240. package/dist/collection/components/pds-table/pds-table-head/pds-table-head.js +7 -4
  241. package/dist/collection/components/pds-table/pds-table-head/pds-table-head.js.map +1 -1
  242. package/dist/collection/components/pds-table/pds-table-head-cell/pds-table-head-cell.css +13 -24
  243. package/dist/collection/components/pds-table/pds-table-head-cell/pds-table-head-cell.js +2 -2
  244. package/dist/collection/components/pds-table/pds-table-head-cell/pds-table-head-cell.js.map +1 -1
  245. package/dist/collection/components/pds-table/pds-table-row/pds-table-row.css +1 -2
  246. package/dist/collection/components/pds-table/pds-table-row/pds-table-row.js +3 -3
  247. package/dist/collection/components/pds-table/pds-table-row/pds-table-row.js.map +1 -1
  248. package/dist/collection/components/pds-table/pds-table.js +4 -4
  249. package/dist/collection/components/pds-table/pds-table.js.map +1 -1
  250. package/dist/collection/components/pds-table/stories/pds-table.stories.js +1 -1
  251. package/dist/collection/components/pds-tabs/pds-tab/pds-tab.css +23 -47
  252. package/dist/collection/components/pds-tabs/pds-tab/pds-tab.js +3 -3
  253. package/dist/collection/components/pds-tabs/pds-tab/stories/pds-tab.stories.js +19 -0
  254. package/dist/collection/components/pds-tabs/pds-tabpanel/pds-tabpanel.css +2 -2
  255. package/dist/collection/components/pds-tabs/pds-tabpanel/pds-tabpanel.js +1 -1
  256. package/dist/collection/components/pds-tabs/pds-tabpanel/stories/pds-tabpanel.stories.js +19 -0
  257. package/dist/collection/components/pds-tabs/pds-tabs.css +8 -11
  258. package/dist/collection/components/pds-tabs/pds-tabs.js +1 -1
  259. package/dist/collection/components/pds-tabs/pds-tabs.js.map +1 -1
  260. package/dist/collection/components/pds-tabs/stories/pds-tabs.stories.js +18 -18
  261. package/dist/collection/components/pds-text/pds-text.css +210 -0
  262. package/dist/collection/components/pds-text/pds-text.js +162 -0
  263. package/dist/collection/components/pds-text/pds-text.js.map +1 -0
  264. package/dist/collection/components/pds-text/stories/pds-text.stories.js +119 -0
  265. package/dist/collection/components/pds-textarea/pds-textarea.css +25 -50
  266. package/dist/collection/components/pds-textarea/pds-textarea.js +234 -28
  267. package/dist/collection/components/pds-textarea/pds-textarea.js.map +1 -1
  268. package/dist/collection/components/pds-textarea/stories/pds-textarea.stories.js +33 -12
  269. package/dist/collection/components/pds-textarea/textarea-interface.js.map +1 -1
  270. package/dist/collection/components/pds-tooltip/pds-tooltip.css +59 -67
  271. package/dist/collection/components/pds-tooltip/pds-tooltip.js +34 -37
  272. package/dist/collection/components/pds-tooltip/pds-tooltip.js.map +1 -1
  273. package/dist/collection/components/pds-tooltip/stories/pds-tooltip.stories.js +15 -15
  274. package/dist/collection/global/styles/utils/label.css +16 -0
  275. package/dist/collection/utils/attributes.js +84 -0
  276. package/dist/collection/utils/attributes.js.map +1 -0
  277. package/dist/collection/utils/types.js.map +1 -1
  278. package/dist/collection/utils/utils.js +14 -3
  279. package/dist/collection/utils/utils.js.map +1 -1
  280. package/dist/docs.json +1584 -391
  281. package/dist/esm/attributes-fe2c8c91.js +87 -0
  282. package/dist/esm/attributes-fe2c8c91.js.map +1 -0
  283. package/dist/esm/form-1b7b69e3.js +31 -0
  284. package/dist/esm/form-1b7b69e3.js.map +1 -0
  285. package/dist/esm/{index-9f0e742f.js → index-b1696fed.js} +17 -5
  286. package/dist/esm/index-b1696fed.js.map +1 -0
  287. package/dist/esm/index-d320cfa9.js +16 -0
  288. package/dist/esm/index-d320cfa9.js.map +1 -0
  289. package/dist/esm/index.js +1 -1
  290. package/dist/esm/loader.js +3 -3
  291. package/dist/esm/pds-accordion.entry.js +4 -4
  292. package/dist/esm/pds-accordion.entry.js.map +1 -1
  293. package/dist/esm/pds-avatar.entry.js +6 -6
  294. package/dist/esm/pds-avatar.entry.js.map +1 -1
  295. package/dist/esm/pds-box.entry.js +2 -2
  296. package/dist/esm/pds-box.entry.js.map +1 -1
  297. package/dist/esm/pds-button.entry.js +7 -8
  298. package/dist/esm/pds-button.entry.js.map +1 -1
  299. package/dist/esm/pds-checkbox.entry.js +8 -6
  300. package/dist/esm/pds-checkbox.entry.js.map +1 -1
  301. package/dist/esm/pds-chip.entry.js +11 -8
  302. package/dist/esm/pds-chip.entry.js.map +1 -1
  303. package/dist/esm/pds-copytext.entry.js +4 -4
  304. package/dist/esm/pds-copytext.entry.js.map +1 -1
  305. package/dist/esm/pds-divider.entry.js +3 -3
  306. package/dist/esm/pds-divider.entry.js.map +1 -1
  307. package/dist/esm/pds-icon.entry.js +2 -2
  308. package/dist/esm/pds-icon.entry.js.map +1 -1
  309. package/dist/esm/pds-image.entry.js +4 -4
  310. package/dist/esm/pds-image.entry.js.map +1 -1
  311. package/dist/esm/pds-input.entry.js +109 -10
  312. package/dist/esm/pds-input.entry.js.map +1 -1
  313. package/dist/esm/pds-label-949a17b6.js +11 -0
  314. package/dist/esm/pds-label-949a17b6.js.map +1 -0
  315. package/dist/esm/pds-link.entry.js +5 -5
  316. package/dist/esm/pds-link.entry.js.map +1 -1
  317. package/dist/esm/pds-loader.entry.js +3 -3
  318. package/dist/esm/pds-loader.entry.js.map +1 -1
  319. package/dist/esm/pds-popover.entry.js +68 -0
  320. package/dist/esm/pds-popover.entry.js.map +1 -0
  321. package/dist/esm/pds-progress.entry.js +3 -3
  322. package/dist/esm/pds-progress.entry.js.map +1 -1
  323. package/dist/esm/pds-radio.entry.js +10 -8
  324. package/dist/esm/pds-radio.entry.js.map +1 -1
  325. package/dist/esm/pds-row.entry.js +3 -3
  326. package/dist/esm/pds-row.entry.js.map +1 -1
  327. package/dist/esm/pds-select.entry.js +129 -0
  328. package/dist/esm/pds-select.entry.js.map +1 -0
  329. package/dist/esm/pds-sortable-item.entry.js +4 -4
  330. package/dist/esm/pds-sortable-item.entry.js.map +1 -1
  331. package/dist/esm/pds-sortable.entry.js +3 -3
  332. package/dist/esm/pds-sortable.entry.js.map +1 -1
  333. package/dist/esm/pds-switch.entry.js +10 -10
  334. package/dist/esm/pds-switch.entry.js.map +1 -1
  335. package/dist/esm/pds-tab.entry.js +5 -5
  336. package/dist/esm/pds-tab.entry.js.map +1 -1
  337. package/dist/esm/pds-table-body.entry.js +2 -2
  338. package/dist/esm/pds-table-body.entry.js.map +1 -1
  339. package/dist/esm/pds-table-cell.entry.js +4 -4
  340. package/dist/esm/pds-table-cell.entry.js.map +1 -1
  341. package/dist/esm/pds-table-head-cell.entry.js +5 -5
  342. package/dist/esm/pds-table-head-cell.entry.js.map +1 -1
  343. package/dist/esm/pds-table-head.entry.js +3 -3
  344. package/dist/esm/pds-table-head.entry.js.map +1 -1
  345. package/dist/esm/pds-table-row.entry.js +3 -3
  346. package/dist/esm/pds-table-row.entry.js.map +1 -1
  347. package/dist/esm/pds-table.entry.js +2 -2
  348. package/dist/esm/pds-table.entry.js.map +1 -1
  349. package/dist/esm/pds-tabpanel.entry.js +3 -3
  350. package/dist/esm/pds-tabpanel.entry.js.map +1 -1
  351. package/dist/esm/pds-tabs.entry.js +3 -3
  352. package/dist/esm/pds-tabs.entry.js.map +1 -1
  353. package/dist/esm/pds-text.entry.js +35 -0
  354. package/dist/esm/pds-text.entry.js.map +1 -0
  355. package/dist/esm/pds-textarea.entry.js +105 -16
  356. package/dist/esm/pds-textarea.entry.js.map +1 -1
  357. package/dist/esm/pds-tooltip.entry.js +15 -8
  358. package/dist/esm/pds-tooltip.entry.js.map +1 -1
  359. package/dist/esm/pine-core.js +4 -4
  360. package/dist/esm/pine-core.js.map +1 -1
  361. package/dist/esm/utils-5e425aaf.js +21 -0
  362. package/dist/esm/utils-5e425aaf.js.map +1 -0
  363. package/dist/esm-es5/attributes-fe2c8c91.js +2 -0
  364. package/dist/esm-es5/attributes-fe2c8c91.js.map +1 -0
  365. package/dist/esm-es5/form-1b7b69e3.js +2 -0
  366. package/dist/esm-es5/form-1b7b69e3.js.map +1 -0
  367. package/dist/esm-es5/index-b1696fed.js +3 -0
  368. package/dist/esm-es5/index-b1696fed.js.map +1 -0
  369. package/dist/esm-es5/index-d320cfa9.js +2 -0
  370. package/dist/esm-es5/index-d320cfa9.js.map +1 -0
  371. package/dist/esm-es5/index.js +1 -1
  372. package/dist/esm-es5/loader.js +1 -1
  373. package/dist/esm-es5/loader.js.map +1 -1
  374. package/dist/esm-es5/pds-accordion.entry.js +1 -1
  375. package/dist/esm-es5/pds-accordion.entry.js.map +1 -1
  376. package/dist/esm-es5/pds-avatar.entry.js +1 -1
  377. package/dist/esm-es5/pds-avatar.entry.js.map +1 -1
  378. package/dist/esm-es5/pds-box.entry.js +1 -1
  379. package/dist/esm-es5/pds-box.entry.js.map +1 -1
  380. package/dist/esm-es5/pds-button.entry.js +1 -1
  381. package/dist/esm-es5/pds-button.entry.js.map +1 -1
  382. package/dist/esm-es5/pds-checkbox.entry.js +1 -1
  383. package/dist/esm-es5/pds-checkbox.entry.js.map +1 -1
  384. package/dist/esm-es5/pds-chip.entry.js +1 -1
  385. package/dist/esm-es5/pds-chip.entry.js.map +1 -1
  386. package/dist/esm-es5/pds-copytext.entry.js +1 -1
  387. package/dist/esm-es5/pds-copytext.entry.js.map +1 -1
  388. package/dist/esm-es5/pds-divider.entry.js +1 -1
  389. package/dist/esm-es5/pds-divider.entry.js.map +1 -1
  390. package/dist/esm-es5/pds-icon.entry.js +1 -1
  391. package/dist/esm-es5/pds-icon.entry.js.map +1 -1
  392. package/dist/esm-es5/pds-image.entry.js +1 -1
  393. package/dist/esm-es5/pds-image.entry.js.map +1 -1
  394. package/dist/esm-es5/pds-input.entry.js +1 -1
  395. package/dist/esm-es5/pds-input.entry.js.map +1 -1
  396. package/dist/esm-es5/pds-label-949a17b6.js +2 -0
  397. package/dist/esm-es5/pds-label-949a17b6.js.map +1 -0
  398. package/dist/esm-es5/pds-link.entry.js +1 -1
  399. package/dist/esm-es5/pds-link.entry.js.map +1 -1
  400. package/dist/esm-es5/pds-loader.entry.js +1 -1
  401. package/dist/esm-es5/pds-loader.entry.js.map +1 -1
  402. package/dist/esm-es5/pds-popover.entry.js +2 -0
  403. package/dist/esm-es5/pds-popover.entry.js.map +1 -0
  404. package/dist/esm-es5/pds-progress.entry.js +1 -1
  405. package/dist/esm-es5/pds-progress.entry.js.map +1 -1
  406. package/dist/esm-es5/pds-radio.entry.js +1 -1
  407. package/dist/esm-es5/pds-radio.entry.js.map +1 -1
  408. package/dist/esm-es5/pds-row.entry.js +1 -1
  409. package/dist/esm-es5/pds-row.entry.js.map +1 -1
  410. package/dist/esm-es5/pds-select.entry.js +2 -0
  411. package/dist/esm-es5/pds-select.entry.js.map +1 -0
  412. package/dist/esm-es5/pds-sortable-item.entry.js +1 -1
  413. package/dist/esm-es5/pds-sortable-item.entry.js.map +1 -1
  414. package/dist/esm-es5/pds-sortable.entry.js +2 -2
  415. package/dist/esm-es5/pds-sortable.entry.js.map +1 -1
  416. package/dist/esm-es5/pds-switch.entry.js +1 -1
  417. package/dist/esm-es5/pds-switch.entry.js.map +1 -1
  418. package/dist/esm-es5/pds-tab.entry.js +1 -1
  419. package/dist/esm-es5/pds-tab.entry.js.map +1 -1
  420. package/dist/esm-es5/pds-table-body.entry.js +1 -1
  421. package/dist/esm-es5/pds-table-body.entry.js.map +1 -1
  422. package/dist/esm-es5/pds-table-cell.entry.js +1 -1
  423. package/dist/esm-es5/pds-table-cell.entry.js.map +1 -1
  424. package/dist/esm-es5/pds-table-head-cell.entry.js +1 -1
  425. package/dist/esm-es5/pds-table-head-cell.entry.js.map +1 -1
  426. package/dist/esm-es5/pds-table-head.entry.js +1 -1
  427. package/dist/esm-es5/pds-table-head.entry.js.map +1 -1
  428. package/dist/esm-es5/pds-table-row.entry.js +1 -1
  429. package/dist/esm-es5/pds-table-row.entry.js.map +1 -1
  430. package/dist/esm-es5/pds-table.entry.js +1 -1
  431. package/dist/esm-es5/pds-table.entry.js.map +1 -1
  432. package/dist/esm-es5/pds-tabpanel.entry.js +1 -1
  433. package/dist/esm-es5/pds-tabpanel.entry.js.map +1 -1
  434. package/dist/esm-es5/pds-tabs.entry.js +1 -1
  435. package/dist/esm-es5/pds-tabs.entry.js.map +1 -1
  436. package/dist/esm-es5/pds-text.entry.js +2 -0
  437. package/dist/esm-es5/pds-text.entry.js.map +1 -0
  438. package/dist/esm-es5/pds-textarea.entry.js +1 -1
  439. package/dist/esm-es5/pds-textarea.entry.js.map +1 -1
  440. package/dist/esm-es5/pds-tooltip.entry.js +1 -1
  441. package/dist/esm-es5/pds-tooltip.entry.js.map +1 -1
  442. package/dist/esm-es5/pine-core.js +1 -1
  443. package/dist/esm-es5/pine-core.js.map +1 -1
  444. package/dist/esm-es5/utils-5e425aaf.js +2 -0
  445. package/dist/esm-es5/utils-5e425aaf.js.map +1 -0
  446. package/dist/pine-core/index.esm.js +1 -1
  447. package/dist/pine-core/p-017e1978.system.js +2 -0
  448. package/dist/pine-core/p-017e1978.system.js.map +1 -0
  449. package/dist/pine-core/p-07a7c5bb.entry.js +2 -0
  450. package/dist/pine-core/p-07a7c5bb.entry.js.map +1 -0
  451. package/dist/pine-core/p-0c09ce7a.js +2 -0
  452. package/dist/pine-core/p-0c09ce7a.js.map +1 -0
  453. package/dist/pine-core/p-0e4226b8.entry.js +2 -0
  454. package/dist/pine-core/p-0e4226b8.entry.js.map +1 -0
  455. package/dist/pine-core/p-19be5a8e.system.entry.js +2 -0
  456. package/dist/pine-core/p-19be5a8e.system.entry.js.map +1 -0
  457. package/dist/pine-core/p-1da5aaf3.entry.js +2 -0
  458. package/dist/pine-core/p-1da5aaf3.entry.js.map +1 -0
  459. package/dist/pine-core/p-1e9d6f92.system.entry.js +2 -0
  460. package/dist/pine-core/p-1e9d6f92.system.entry.js.map +1 -0
  461. package/dist/pine-core/{p-a6b486a4.entry.js → p-1edca70e.entry.js} +3 -3
  462. package/dist/pine-core/{p-a6b486a4.entry.js.map → p-1edca70e.entry.js.map} +1 -1
  463. package/dist/pine-core/{p-7c029627.system.entry.js → p-1fd67cb4.system.entry.js} +3 -3
  464. package/dist/pine-core/{p-7c029627.system.entry.js.map → p-1fd67cb4.system.entry.js.map} +1 -1
  465. package/dist/pine-core/p-26679956.system.entry.js +2 -0
  466. package/dist/pine-core/p-26679956.system.entry.js.map +1 -0
  467. package/dist/pine-core/p-285cd9d1.system.entry.js +2 -0
  468. package/dist/pine-core/p-285cd9d1.system.entry.js.map +1 -0
  469. package/dist/pine-core/p-29bb6589.entry.js +2 -0
  470. package/dist/pine-core/p-29bb6589.entry.js.map +1 -0
  471. package/dist/pine-core/p-2c0ef946.entry.js +2 -0
  472. package/dist/pine-core/p-2c0ef946.entry.js.map +1 -0
  473. package/dist/pine-core/p-2d52d5f7.entry.js +2 -0
  474. package/dist/pine-core/p-2d52d5f7.entry.js.map +1 -0
  475. package/dist/pine-core/p-2fedf634.system.entry.js +2 -0
  476. package/dist/pine-core/p-2fedf634.system.entry.js.map +1 -0
  477. package/dist/pine-core/p-30cd9f18.entry.js +2 -0
  478. package/dist/pine-core/p-30cd9f18.entry.js.map +1 -0
  479. package/dist/pine-core/p-372a04fa.system.entry.js +2 -0
  480. package/dist/pine-core/p-372a04fa.system.entry.js.map +1 -0
  481. package/dist/pine-core/p-397ce1a8.system.entry.js +2 -0
  482. package/dist/pine-core/p-397ce1a8.system.entry.js.map +1 -0
  483. package/dist/pine-core/p-399617f0.system.entry.js +2 -0
  484. package/dist/pine-core/p-399617f0.system.entry.js.map +1 -0
  485. package/dist/pine-core/p-3c6a0b2a.system.entry.js +2 -0
  486. package/dist/pine-core/p-3c6a0b2a.system.entry.js.map +1 -0
  487. package/dist/pine-core/p-3fbb568f.entry.js +2 -0
  488. package/dist/pine-core/p-3fbb568f.entry.js.map +1 -0
  489. package/dist/pine-core/p-45cf2585.system.js +3 -0
  490. package/dist/pine-core/p-45cf2585.system.js.map +1 -0
  491. package/dist/pine-core/p-46fb585d.js +2 -0
  492. package/dist/pine-core/p-46fb585d.js.map +1 -0
  493. package/dist/pine-core/p-47291f05.js +2 -0
  494. package/dist/pine-core/p-47291f05.js.map +1 -0
  495. package/dist/pine-core/p-4c252abb.system.entry.js +2 -0
  496. package/dist/pine-core/p-4c252abb.system.entry.js.map +1 -0
  497. package/dist/pine-core/p-4d1fbb88.system.entry.js +2 -0
  498. package/dist/pine-core/p-4d1fbb88.system.entry.js.map +1 -0
  499. package/dist/pine-core/p-4e2fe44a.system.entry.js +2 -0
  500. package/dist/pine-core/p-4e2fe44a.system.entry.js.map +1 -0
  501. package/dist/pine-core/p-521ac753.system.js +2 -0
  502. package/dist/pine-core/p-521ac753.system.js.map +1 -0
  503. package/dist/pine-core/p-5480346a.system.js +2 -0
  504. package/dist/pine-core/p-5480346a.system.js.map +1 -0
  505. package/dist/pine-core/p-59f4c8ab.system.entry.js +2 -0
  506. package/dist/pine-core/p-59f4c8ab.system.entry.js.map +1 -0
  507. package/dist/pine-core/p-5b9f8f6a.system.entry.js +2 -0
  508. package/dist/pine-core/p-5b9f8f6a.system.entry.js.map +1 -0
  509. package/dist/pine-core/p-5c04aee0.system.js +2 -0
  510. package/dist/pine-core/p-5c04aee0.system.js.map +1 -0
  511. package/dist/pine-core/p-5e1b7996.entry.js +2 -0
  512. package/dist/pine-core/{p-5303452a.entry.js.map → p-5e1b7996.entry.js.map} +1 -1
  513. package/dist/pine-core/p-5e50a381.entry.js +2 -0
  514. package/dist/pine-core/p-5e50a381.entry.js.map +1 -0
  515. package/dist/pine-core/p-60c2039e.system.entry.js +2 -0
  516. package/dist/pine-core/{p-41c843c5.system.entry.js.map → p-60c2039e.system.entry.js.map} +1 -1
  517. package/dist/pine-core/p-650a27ca.entry.js +2 -0
  518. package/dist/pine-core/p-650a27ca.entry.js.map +1 -0
  519. package/dist/pine-core/p-6709f0f7.system.entry.js +2 -0
  520. package/dist/pine-core/p-6709f0f7.system.entry.js.map +1 -0
  521. package/dist/pine-core/p-6ce5b998.entry.js +2 -0
  522. package/dist/pine-core/p-6ce5b998.entry.js.map +1 -0
  523. package/dist/pine-core/p-6d8df897.entry.js +2 -0
  524. package/dist/pine-core/p-6d8df897.entry.js.map +1 -0
  525. package/dist/pine-core/p-6db1fe5c.entry.js +2 -0
  526. package/dist/pine-core/p-6db1fe5c.entry.js.map +1 -0
  527. package/dist/pine-core/p-6e8f3bb4.entry.js +2 -0
  528. package/dist/pine-core/p-6e8f3bb4.entry.js.map +1 -0
  529. package/dist/pine-core/p-726dc3d1.entry.js +2 -0
  530. package/dist/pine-core/p-726dc3d1.entry.js.map +1 -0
  531. package/dist/pine-core/p-74ad0244.entry.js +2 -0
  532. package/dist/pine-core/p-74ad0244.entry.js.map +1 -0
  533. package/dist/pine-core/p-7905b8b8.js +2 -0
  534. package/dist/pine-core/p-7905b8b8.js.map +1 -0
  535. package/dist/pine-core/p-798cde42.system.entry.js +2 -0
  536. package/dist/pine-core/p-798cde42.system.entry.js.map +1 -0
  537. package/dist/pine-core/p-80c582b7.system.entry.js +2 -0
  538. package/dist/pine-core/p-80c582b7.system.entry.js.map +1 -0
  539. package/dist/pine-core/p-8205e4d8.system.entry.js +2 -0
  540. package/dist/pine-core/p-8205e4d8.system.entry.js.map +1 -0
  541. package/dist/pine-core/p-8420594c.system.entry.js +2 -0
  542. package/dist/pine-core/p-8420594c.system.entry.js.map +1 -0
  543. package/dist/pine-core/p-87fe352f.js +3 -0
  544. package/dist/pine-core/p-87fe352f.js.map +1 -0
  545. package/dist/pine-core/p-8b2db323.system.entry.js +2 -0
  546. package/dist/pine-core/p-8b2db323.system.entry.js.map +1 -0
  547. package/dist/pine-core/p-8d1efd85.system.js +2 -0
  548. package/dist/pine-core/p-8d1efd85.system.js.map +1 -0
  549. package/dist/pine-core/{p-669c5ccd.entry.js → p-92bcb091.entry.js} +2 -2
  550. package/dist/pine-core/p-92bcb091.entry.js.map +1 -0
  551. package/dist/pine-core/p-954098a2.entry.js +2 -0
  552. package/dist/pine-core/p-954098a2.entry.js.map +1 -0
  553. package/dist/pine-core/p-9e976b99.entry.js +2 -0
  554. package/dist/pine-core/p-9e976b99.entry.js.map +1 -0
  555. package/dist/pine-core/p-a2465224.entry.js +2 -0
  556. package/dist/pine-core/p-a2465224.entry.js.map +1 -0
  557. package/dist/pine-core/p-a7d75615.system.js +2 -0
  558. package/dist/pine-core/p-a7d75615.system.js.map +1 -0
  559. package/dist/pine-core/p-b27bbfe3.entry.js +2 -0
  560. package/dist/pine-core/p-b27bbfe3.entry.js.map +1 -0
  561. package/dist/pine-core/p-b29b2e57.system.entry.js +2 -0
  562. package/dist/pine-core/p-b29b2e57.system.entry.js.map +1 -0
  563. package/dist/pine-core/p-b47f9e15.system.entry.js +2 -0
  564. package/dist/pine-core/p-b47f9e15.system.entry.js.map +1 -0
  565. package/dist/pine-core/p-b7e91522.entry.js +2 -0
  566. package/dist/pine-core/p-b7e91522.entry.js.map +1 -0
  567. package/dist/pine-core/p-c68362cc.entry.js +2 -0
  568. package/dist/pine-core/p-c68362cc.entry.js.map +1 -0
  569. package/dist/pine-core/p-cae3e411.entry.js +2 -0
  570. package/dist/pine-core/p-cae3e411.entry.js.map +1 -0
  571. package/dist/pine-core/p-cb3ddff3.entry.js +2 -0
  572. package/dist/pine-core/p-cb3ddff3.entry.js.map +1 -0
  573. package/dist/pine-core/p-cd14918d.system.entry.js +2 -0
  574. package/dist/pine-core/p-cd14918d.system.entry.js.map +1 -0
  575. package/dist/pine-core/p-d0b371ee.system.entry.js +2 -0
  576. package/dist/pine-core/p-d0b371ee.system.entry.js.map +1 -0
  577. package/dist/pine-core/p-d561168e.js +2 -0
  578. package/dist/pine-core/p-d561168e.js.map +1 -0
  579. package/dist/pine-core/p-d6a5ec65.system.entry.js +2 -0
  580. package/dist/pine-core/p-d6a5ec65.system.entry.js.map +1 -0
  581. package/dist/pine-core/p-d8260ebf.system.entry.js +2 -0
  582. package/dist/pine-core/p-d8260ebf.system.entry.js.map +1 -0
  583. package/dist/pine-core/p-da961d2b.entry.js +2 -0
  584. package/dist/pine-core/p-da961d2b.entry.js.map +1 -0
  585. package/dist/pine-core/p-db622f8f.system.js +2 -0
  586. package/dist/pine-core/p-df73ebae.entry.js +2 -0
  587. package/dist/pine-core/p-df73ebae.entry.js.map +1 -0
  588. package/dist/pine-core/p-e356293a.entry.js +2 -0
  589. package/dist/pine-core/p-e356293a.entry.js.map +1 -0
  590. package/dist/pine-core/{p-4cfa45e5.system.entry.js → p-e39bd4b2.system.entry.js} +2 -2
  591. package/dist/pine-core/p-e39bd4b2.system.entry.js.map +1 -0
  592. package/dist/pine-core/p-e5b46292.entry.js +2 -0
  593. package/dist/pine-core/p-e5b46292.entry.js.map +1 -0
  594. package/dist/pine-core/p-e60348bc.system.entry.js +2 -0
  595. package/dist/pine-core/p-e60348bc.system.entry.js.map +1 -0
  596. package/dist/pine-core/p-e890c1bb.system.entry.js +2 -0
  597. package/dist/pine-core/p-e890c1bb.system.entry.js.map +1 -0
  598. package/dist/pine-core/p-ed990ad0.system.entry.js +2 -0
  599. package/dist/pine-core/p-ed990ad0.system.entry.js.map +1 -0
  600. package/dist/pine-core/p-f085efeb.entry.js +2 -0
  601. package/dist/pine-core/p-f085efeb.entry.js.map +1 -0
  602. package/dist/pine-core/p-f34096db.system.entry.js +2 -0
  603. package/dist/pine-core/p-f34096db.system.entry.js.map +1 -0
  604. package/dist/pine-core/p-f90088df.entry.js +2 -0
  605. package/dist/pine-core/p-f90088df.entry.js.map +1 -0
  606. package/dist/pine-core/pine-core.css +1 -1
  607. package/dist/pine-core/pine-core.esm.js +1 -1
  608. package/dist/pine-core/pine-core.esm.js.map +1 -1
  609. package/dist/pine-core/pine-core.js +1 -1
  610. package/dist/pine-core/svg/access-key.svg +1 -1
  611. package/dist/pine-core/svg/add-circle.svg +1 -1
  612. package/dist/pine-core/svg/add-image.svg +1 -1
  613. package/dist/pine-core/svg/add-small.svg +1 -1
  614. package/dist/pine-core/svg/add-square.svg +1 -1
  615. package/dist/pine-core/svg/add.svg +1 -1
  616. package/dist/pine-core/svg/advanced.svg +1 -1
  617. package/dist/pine-core/svg/ai-sparkle.svg +1 -1
  618. package/dist/pine-core/svg/ai-writer-filled.svg +1 -1
  619. package/dist/pine-core/svg/ai-writer.svg +1 -1
  620. package/dist/pine-core/svg/align-center.svg +1 -1
  621. package/dist/pine-core/svg/align-justify.svg +1 -1
  622. package/dist/pine-core/svg/align-left.svg +1 -1
  623. package/dist/pine-core/svg/align-right.svg +1 -1
  624. package/dist/pine-core/svg/app-store.svg +1 -1
  625. package/dist/pine-core/svg/archive.svg +1 -1
  626. package/dist/pine-core/svg/arrow-corner.svg +1 -1
  627. package/dist/pine-core/svg/arrow-down.svg +1 -1
  628. package/dist/pine-core/svg/arrow-left.svg +1 -1
  629. package/dist/pine-core/svg/arrow-right.svg +1 -1
  630. package/dist/pine-core/svg/arrow-up.svg +1 -1
  631. package/dist/pine-core/svg/assessment.svg +1 -1
  632. package/dist/pine-core/svg/at-sign.svg +1 -1
  633. package/dist/pine-core/svg/attach.svg +1 -1
  634. package/dist/pine-core/svg/automations.svg +1 -1
  635. package/dist/pine-core/svg/ban.svg +1 -1
  636. package/dist/pine-core/svg/bank.svg +1 -1
  637. package/dist/pine-core/svg/bar-chart-square.svg +1 -1
  638. package/dist/pine-core/svg/bar-chart-tone.svg +1 -1
  639. package/dist/pine-core/svg/bell-tone.svg +1 -1
  640. package/dist/pine-core/svg/bell.svg +1 -1
  641. package/dist/pine-core/svg/block.svg +1 -1
  642. package/dist/pine-core/svg/blog-filled.svg +1 -1
  643. package/dist/pine-core/svg/blog.svg +1 -1
  644. package/dist/pine-core/svg/bold.svg +1 -1
  645. package/dist/pine-core/svg/bookmark.svg +1 -0
  646. package/dist/pine-core/svg/broadcast.svg +1 -1
  647. package/dist/pine-core/svg/bulb.svg +1 -1
  648. package/dist/pine-core/svg/button.svg +1 -1
  649. package/dist/pine-core/svg/calendar-date.svg +1 -1
  650. package/dist/pine-core/svg/calendar-schedule.svg +1 -1
  651. package/dist/pine-core/svg/calendar-simple.svg +1 -1
  652. package/dist/pine-core/svg/card-amex.svg +1 -1
  653. package/dist/pine-core/svg/card-android.svg +1 -1
  654. package/dist/pine-core/svg/card-apple.svg +1 -1
  655. package/dist/pine-core/svg/card-diners-club.svg +1 -1
  656. package/dist/pine-core/svg/card-discover.svg +1 -1
  657. package/dist/pine-core/svg/card-generic.svg +1 -1
  658. package/dist/pine-core/svg/card-gpay.svg +1 -1
  659. package/dist/pine-core/svg/card-mastercard.svg +1 -1
  660. package/dist/pine-core/svg/card-paypal.svg +1 -1
  661. package/dist/pine-core/svg/card-stripe.svg +1 -1
  662. package/dist/pine-core/svg/card-update.svg +1 -1
  663. package/dist/pine-core/svg/card-visa.svg +1 -1
  664. package/dist/pine-core/svg/caret-down.svg +1 -1
  665. package/dist/pine-core/svg/caret-left.svg +1 -1
  666. package/dist/pine-core/svg/caret-right.svg +1 -1
  667. package/dist/pine-core/svg/caret-up.svg +1 -1
  668. package/dist/pine-core/svg/cart-add.svg +1 -1
  669. package/dist/pine-core/svg/cart.svg +1 -1
  670. package/dist/pine-core/svg/certificate.svg +1 -1
  671. package/dist/pine-core/svg/chart-filled.svg +1 -1
  672. package/dist/pine-core/svg/chart.svg +1 -1
  673. package/dist/pine-core/svg/check-circle-filled.svg +1 -1
  674. package/dist/pine-core/svg/check-circle.svg +1 -1
  675. package/dist/pine-core/svg/check.svg +1 -1
  676. package/dist/pine-core/svg/circle-1.svg +1 -1
  677. package/dist/pine-core/svg/circle-2.svg +1 -1
  678. package/dist/pine-core/svg/circle-3.svg +1 -1
  679. package/dist/pine-core/svg/circle-4.svg +1 -1
  680. package/dist/pine-core/svg/circle-5.svg +1 -1
  681. package/dist/pine-core/svg/circle-6.svg +1 -1
  682. package/dist/pine-core/svg/circle-7.svg +1 -1
  683. package/dist/pine-core/svg/circle-8.svg +1 -1
  684. package/dist/pine-core/svg/circle-9.svg +1 -1
  685. package/dist/pine-core/svg/circle-a.svg +1 -1
  686. package/dist/pine-core/svg/circle-b.svg +1 -1
  687. package/dist/pine-core/svg/circle-dashed.svg +1 -1
  688. package/dist/pine-core/svg/clapperboard-tone.svg +1 -1
  689. package/dist/pine-core/svg/clock.svg +1 -1
  690. package/dist/pine-core/svg/closed-captions.svg +1 -1
  691. package/dist/pine-core/svg/cloud-upload.svg +1 -1
  692. package/dist/pine-core/svg/code-block.svg +1 -1
  693. package/dist/pine-core/svg/code.svg +1 -1
  694. package/dist/pine-core/svg/color.svg +1 -1
  695. package/dist/pine-core/svg/columns.svg +1 -1
  696. package/dist/pine-core/svg/comment-no.svg +1 -1
  697. package/dist/pine-core/svg/comment.svg +1 -1
  698. package/dist/pine-core/svg/connect.svg +1 -1
  699. package/dist/pine-core/svg/contact.svg +1 -1
  700. package/dist/pine-core/svg/conversation.svg +1 -1
  701. package/dist/pine-core/svg/copy.svg +1 -1
  702. package/dist/pine-core/svg/coupon.svg +1 -1
  703. package/dist/pine-core/svg/course-filled.svg +1 -1
  704. package/dist/pine-core/svg/course.svg +1 -1
  705. package/dist/pine-core/svg/creator-studio-filled.svg +1 -1
  706. package/dist/pine-core/svg/creator-studio.svg +1 -1
  707. package/dist/pine-core/svg/credit-card-tone.svg +1 -1
  708. package/dist/pine-core/svg/cube-tone.svg +1 -1
  709. package/dist/pine-core/svg/cursor-pointer.svg +1 -1
  710. package/dist/pine-core/svg/cursor.svg +1 -1
  711. package/dist/pine-core/svg/custom-field.svg +1 -1
  712. package/dist/pine-core/svg/customize.svg +1 -1
  713. package/dist/pine-core/svg/danger-filled.svg +1 -1
  714. package/dist/pine-core/svg/danger.svg +1 -1
  715. package/dist/pine-core/svg/delete-circle.svg +1 -1
  716. package/dist/pine-core/svg/delete-key.svg +1 -1
  717. package/dist/pine-core/svg/delete-x.svg +1 -1
  718. package/dist/pine-core/svg/dollar.svg +1 -1
  719. package/dist/pine-core/svg/dot-menu-horizontal.svg +1 -1
  720. package/dist/pine-core/svg/dots-horizontal-tone.svg +1 -1
  721. package/dist/pine-core/svg/down-small.svg +1 -1
  722. package/dist/pine-core/svg/download.svg +1 -1
  723. package/dist/pine-core/svg/downsell.svg +1 -1
  724. package/dist/pine-core/svg/draft.svg +1 -1
  725. package/dist/pine-core/svg/drawer-collapse.svg +1 -1
  726. package/dist/pine-core/svg/drawer-expand.svg +1 -1
  727. package/dist/pine-core/svg/drop.svg +1 -1
  728. package/dist/pine-core/svg/duplicate.svg +1 -1
  729. package/dist/pine-core/svg/editor-filled.svg +1 -1
  730. package/dist/pine-core/svg/editor.svg +1 -1
  731. package/dist/pine-core/svg/email-activity.svg +1 -1
  732. package/dist/pine-core/svg/emoji.svg +1 -1
  733. package/dist/pine-core/svg/enlarge-vertical.svg +1 -1
  734. package/dist/pine-core/svg/enlarge.svg +1 -1
  735. package/dist/pine-core/svg/expand.svg +1 -1
  736. package/dist/pine-core/svg/favorite.svg +1 -1
  737. package/dist/pine-core/svg/feedback.svg +1 -1
  738. package/dist/pine-core/svg/file-add.svg +1 -1
  739. package/dist/pine-core/svg/file-download.svg +1 -1
  740. package/dist/pine-core/svg/file-lock.svg +1 -1
  741. package/dist/pine-core/svg/file-money.svg +1 -1
  742. package/dist/pine-core/svg/file-search.svg +1 -0
  743. package/dist/pine-core/svg/file.svg +1 -1
  744. package/dist/pine-core/svg/filter.svg +1 -1
  745. package/dist/pine-core/svg/flag.svg +1 -1
  746. package/dist/pine-core/svg/flash-filled.svg +1 -1
  747. package/dist/pine-core/svg/flash.svg +1 -1
  748. package/dist/pine-core/svg/floppy-disk.svg +1 -1
  749. package/dist/pine-core/svg/folder-group.svg +1 -1
  750. package/dist/pine-core/svg/folder.svg +1 -1
  751. package/dist/pine-core/svg/form-field.svg +1 -1
  752. package/dist/pine-core/svg/form-filled.svg +1 -1
  753. package/dist/pine-core/svg/form.svg +1 -1
  754. package/dist/pine-core/svg/fullscreen.svg +1 -1
  755. package/dist/pine-core/svg/funnel.svg +1 -1
  756. package/dist/pine-core/svg/gear-filled.svg +1 -1
  757. package/dist/pine-core/svg/gear.svg +1 -1
  758. package/dist/pine-core/svg/gift-tone.svg +1 -1
  759. package/dist/pine-core/svg/grant-offer.svg +1 -1
  760. package/dist/pine-core/svg/handle-2-vertical.svg +1 -1
  761. package/dist/pine-core/svg/handle-2.svg +1 -1
  762. package/dist/pine-core/svg/handle.svg +1 -1
  763. package/dist/pine-core/svg/hashtag.svg +1 -1
  764. package/dist/pine-core/svg/hd-video.svg +1 -1
  765. package/dist/pine-core/svg/heading-1.svg +1 -1
  766. package/dist/pine-core/svg/heading-2.svg +1 -1
  767. package/dist/pine-core/svg/heading-3.svg +1 -1
  768. package/dist/pine-core/svg/heading-4.svg +1 -1
  769. package/dist/pine-core/svg/heading-5.svg +1 -1
  770. package/dist/pine-core/svg/heading-6.svg +1 -1
  771. package/dist/pine-core/svg/heading-large.svg +1 -1
  772. package/dist/pine-core/svg/heading-small.svg +1 -1
  773. package/dist/pine-core/svg/headset-tone.svg +1 -1
  774. package/dist/pine-core/svg/headset.svg +1 -1
  775. package/dist/pine-core/svg/help-filled.svg +1 -1
  776. package/dist/pine-core/svg/help.svg +1 -1
  777. package/dist/pine-core/svg/home-alt.svg +1 -1
  778. package/dist/pine-core/svg/home-filled.svg +1 -1
  779. package/dist/pine-core/svg/home-tone.svg +1 -1
  780. package/dist/pine-core/svg/home.svg +1 -1
  781. package/dist/pine-core/svg/horizontal-line.svg +1 -1
  782. package/dist/pine-core/svg/image.svg +1 -1
  783. package/dist/pine-core/svg/info-circle-filled.svg +1 -1
  784. package/dist/pine-core/svg/info-circle.svg +1 -1
  785. package/dist/pine-core/svg/ios-battery.svg +1 -1
  786. package/dist/pine-core/svg/ios-data.svg +1 -1
  787. package/dist/pine-core/svg/ios-wifi.svg +1 -1
  788. package/dist/pine-core/svg/italic.svg +1 -1
  789. package/dist/pine-core/svg/kajabi-filled.svg +1 -1
  790. package/dist/pine-core/svg/kajabi.svg +1 -1
  791. package/dist/pine-core/svg/klarna.svg +1 -1
  792. package/dist/pine-core/svg/lab.svg +1 -1
  793. package/dist/pine-core/svg/launch.svg +1 -1
  794. package/dist/pine-core/svg/layout-grid-02.svg +1 -0
  795. package/dist/pine-core/svg/layout-grid.svg +1 -1
  796. package/dist/pine-core/svg/layout-list.svg +1 -1
  797. package/dist/pine-core/svg/left-small.svg +1 -1
  798. package/dist/pine-core/svg/list-bullet.svg +1 -1
  799. package/dist/pine-core/svg/list-details.svg +1 -1
  800. package/dist/pine-core/svg/list-numbers.svg +1 -1
  801. package/dist/pine-core/svg/location.svg +1 -1
  802. package/dist/pine-core/svg/lock-alt.svg +1 -1
  803. package/dist/pine-core/svg/lock.svg +1 -1
  804. package/dist/pine-core/svg/logo-afterpay.svg +1 -1
  805. package/dist/pine-core/svg/logo-facebook-round.svg +1 -1
  806. package/dist/pine-core/svg/logo-facebook.svg +1 -1
  807. package/dist/pine-core/svg/logo-instagram.svg +1 -1
  808. package/dist/pine-core/svg/logo-linkedin.svg +1 -1
  809. package/dist/pine-core/svg/logo-snapchat.svg +1 -0
  810. package/dist/pine-core/svg/logo-tiktok.svg +1 -1
  811. package/dist/pine-core/svg/logo-twitter-x.svg +1 -1
  812. package/dist/pine-core/svg/logo-twitter.svg +1 -1
  813. package/dist/pine-core/svg/logo-youtube.svg +1 -1
  814. package/dist/pine-core/svg/loop.svg +1 -1
  815. package/dist/pine-core/svg/mail-filled.svg +1 -1
  816. package/dist/pine-core/svg/mail-open.svg +1 -1
  817. package/dist/pine-core/svg/mail-tone.svg +1 -1
  818. package/dist/pine-core/svg/mail.svg +1 -1
  819. package/dist/pine-core/svg/map.svg +1 -1
  820. package/dist/pine-core/svg/mapped.svg +1 -1
  821. package/dist/pine-core/svg/margin-left.svg +1 -1
  822. package/dist/pine-core/svg/margin-right.svg +1 -1
  823. package/dist/pine-core/svg/marker-filled.svg +1 -1
  824. package/dist/pine-core/svg/marker.svg +1 -1
  825. package/dist/pine-core/svg/megaphone-filled.svg +1 -1
  826. package/dist/pine-core/svg/megaphone.svg +1 -1
  827. package/dist/pine-core/svg/menu-alt.svg +1 -1
  828. package/dist/pine-core/svg/menu-bordered.svg +1 -1
  829. package/dist/pine-core/svg/menu.svg +1 -1
  830. package/dist/pine-core/svg/merge.svg +1 -1
  831. package/dist/pine-core/svg/microphone-off.svg +1 -1
  832. package/dist/pine-core/svg/microphone.svg +1 -1
  833. package/dist/pine-core/svg/monitor-filled.svg +1 -1
  834. package/dist/pine-core/svg/monitor-tone.svg +1 -1
  835. package/dist/pine-core/svg/monitor.svg +1 -1
  836. package/dist/pine-core/svg/more-menu-filled.svg +1 -1
  837. package/dist/pine-core/svg/more-menu.svg +1 -1
  838. package/dist/pine-core/svg/move-left.svg +1 -1
  839. package/dist/pine-core/svg/move-right.svg +1 -1
  840. package/dist/pine-core/svg/multi-pay.svg +1 -1
  841. package/dist/pine-core/svg/newsletter-2.svg +1 -1
  842. package/dist/pine-core/svg/newsletter.svg +1 -1
  843. package/dist/pine-core/svg/one-off-session.svg +1 -1
  844. package/dist/pine-core/svg/one-time.svg +1 -1
  845. package/dist/pine-core/svg/packages.svg +1 -1
  846. package/dist/pine-core/svg/pause-circle.svg +1 -1
  847. package/dist/pine-core/svg/pause.svg +1 -1
  848. package/dist/pine-core/svg/payout.svg +1 -1
  849. package/dist/pine-core/svg/pen.svg +1 -1
  850. package/dist/pine-core/svg/phone-portrait.svg +1 -1
  851. package/dist/pine-core/svg/phone-tone.svg +1 -1
  852. package/dist/pine-core/svg/phone-toolbar-filled.svg +1 -1
  853. package/dist/pine-core/svg/phone-toolbar.svg +1 -1
  854. package/dist/pine-core/svg/play-circle.svg +1 -1
  855. package/dist/pine-core/svg/play-outline.svg +1 -1
  856. package/dist/pine-core/svg/play-store.svg +1 -1
  857. package/dist/pine-core/svg/play.svg +1 -1
  858. package/dist/pine-core/svg/plug.svg +1 -1
  859. package/dist/pine-core/svg/premium.svg +1 -1
  860. package/dist/pine-core/svg/present.svg +1 -1
  861. package/dist/pine-core/svg/preview-off.svg +1 -1
  862. package/dist/pine-core/svg/preview-on.svg +1 -1
  863. package/dist/pine-core/svg/product-filled.svg +1 -1
  864. package/dist/pine-core/svg/product.svg +1 -1
  865. package/dist/pine-core/svg/question-circle.svg +1 -1
  866. package/dist/pine-core/svg/quote.svg +1 -1
  867. package/dist/pine-core/svg/redo.svg +1 -1
  868. package/dist/pine-core/svg/refresh.svg +1 -1
  869. package/dist/pine-core/svg/remove-circle.svg +1 -1
  870. package/dist/pine-core/svg/remove.svg +1 -1
  871. package/dist/pine-core/svg/rename.svg +1 -1
  872. package/dist/pine-core/svg/reset-password.svg +1 -1
  873. package/dist/pine-core/svg/restore.svg +1 -1
  874. package/dist/pine-core/svg/right-small.svg +1 -1
  875. package/dist/pine-core/svg/rocket-filled.svg +1 -1
  876. package/dist/pine-core/svg/rocket-tone.svg +1 -1
  877. package/dist/pine-core/svg/rocket.svg +1 -1
  878. package/dist/pine-core/svg/round-dollar.svg +1 -1
  879. package/dist/pine-core/svg/rows.svg +1 -1
  880. package/dist/pine-core/svg/scissor.svg +1 -1
  881. package/dist/pine-core/svg/screen-share-off.svg +1 -1
  882. package/dist/pine-core/svg/screen-share-on.svg +1 -1
  883. package/dist/pine-core/svg/search-md-tone.svg +1 -1
  884. package/dist/pine-core/svg/search-small.svg +1 -1
  885. package/dist/pine-core/svg/search.svg +1 -1
  886. package/dist/pine-core/svg/send-message.svg +1 -1
  887. package/dist/pine-core/svg/sequences.svg +1 -1
  888. package/dist/pine-core/svg/settings-tone.svg +1 -1
  889. package/dist/pine-core/svg/share.svg +1 -1
  890. package/dist/pine-core/svg/shopping-cart-filled.svg +1 -0
  891. package/dist/pine-core/svg/skipped.svg +1 -1
  892. package/dist/pine-core/svg/slash-divider.svg +1 -1
  893. package/dist/pine-core/svg/speaker.svg +1 -1
  894. package/dist/pine-core/svg/stack.svg +1 -1
  895. package/dist/pine-core/svg/star.svg +1 -1
  896. package/dist/pine-core/svg/stars-tone.svg +1 -1
  897. package/dist/pine-core/svg/stop.svg +1 -1
  898. package/dist/pine-core/svg/stopwatch.svg +1 -1
  899. package/dist/pine-core/svg/strikethrough.svg +1 -1
  900. package/dist/pine-core/svg/subscript.svg +1 -1
  901. package/dist/pine-core/svg/subscriptions.svg +1 -1
  902. package/dist/pine-core/svg/super-admin.svg +1 -1
  903. package/dist/pine-core/svg/superscript.svg +1 -1
  904. package/dist/pine-core/svg/sync.svg +1 -1
  905. package/dist/pine-core/svg/tablet-landscape.svg +1 -1
  906. package/dist/pine-core/svg/tablet-portrait.svg +1 -1
  907. package/dist/pine-core/svg/tag-filled.svg +1 -1
  908. package/dist/pine-core/svg/tag.svg +1 -1
  909. package/dist/pine-core/svg/text-styles.svg +1 -1
  910. package/dist/pine-core/svg/theme-store-filled.svg +1 -1
  911. package/dist/pine-core/svg/theme-store.svg +1 -1
  912. package/dist/pine-core/svg/thumb-down-filled.svg +1 -1
  913. package/dist/pine-core/svg/thumb-down.svg +1 -1
  914. package/dist/pine-core/svg/thumb-up-filled.svg +1 -1
  915. package/dist/pine-core/svg/thumb-up.svg +1 -1
  916. package/dist/pine-core/svg/trash.svg +1 -1
  917. package/dist/pine-core/svg/trend-down.svg +1 -0
  918. package/dist/pine-core/svg/trend-none.svg +1 -0
  919. package/dist/pine-core/svg/trend-up.svg +1 -0
  920. package/dist/pine-core/svg/trophy-filled.svg +1 -1
  921. package/dist/pine-core/svg/trophy.svg +1 -1
  922. package/dist/pine-core/svg/underline.svg +1 -1
  923. package/dist/pine-core/svg/undo.svg +1 -1
  924. package/dist/pine-core/svg/unlock.svg +1 -1
  925. package/dist/pine-core/svg/unmapped.svg +1 -1
  926. package/dist/pine-core/svg/up-small.svg +1 -1
  927. package/dist/pine-core/svg/upload.svg +1 -1
  928. package/dist/pine-core/svg/url.svg +1 -1
  929. package/dist/pine-core/svg/user-circle-filled.svg +1 -1
  930. package/dist/pine-core/svg/user-circle.svg +1 -1
  931. package/dist/pine-core/svg/user-filled.svg +1 -1
  932. package/dist/pine-core/svg/user-star-filled.svg +1 -1
  933. package/dist/pine-core/svg/user-star.svg +1 -1
  934. package/dist/pine-core/svg/user.svg +1 -1
  935. package/dist/pine-core/svg/users-alt.svg +1 -1
  936. package/dist/pine-core/svg/users-filled.svg +1 -1
  937. package/dist/pine-core/svg/users-tone.svg +1 -1
  938. package/dist/pine-core/svg/users.svg +1 -1
  939. package/dist/pine-core/svg/video-off.svg +1 -1
  940. package/dist/pine-core/svg/video-on.svg +1 -1
  941. package/dist/pine-core/svg/warning-filled.svg +1 -1
  942. package/dist/pine-core/svg/warning.svg +1 -1
  943. package/dist/pine-core/svg/window-paragraph.svg +1 -1
  944. package/dist/pine-core/svg/world.svg +1 -1
  945. package/dist/pine-core/svg/wrench.svg +1 -1
  946. package/dist/types/components/pds-accordion/pds-accordion.d.ts +1 -0
  947. package/dist/types/components/pds-button/pds-button.d.ts +13 -8
  948. package/dist/types/components/pds-chip/pds-chip.d.ts +8 -8
  949. package/dist/types/components/pds-copytext/pds-copytext.d.ts +3 -3
  950. package/dist/types/components/pds-divider/pds-divider.d.ts +1 -1
  951. package/dist/types/components/pds-image/pds-image.d.ts +7 -3
  952. package/dist/types/components/pds-input/input-interface.d.ts +12 -0
  953. package/dist/types/components/pds-input/pds-input.d.ts +69 -8
  954. package/dist/types/components/pds-link/pds-link.d.ts +7 -11
  955. package/dist/types/components/pds-popover/pds-popover.d.ts +45 -0
  956. package/dist/types/components/pds-radio/pds-radio.d.ts +11 -11
  957. package/dist/types/components/pds-select/pds-select.d.ts +91 -0
  958. package/dist/types/components/pds-switch/pds-switch.d.ts +11 -19
  959. package/dist/types/components/pds-table/pds-table-cell/pds-table-cell.d.ts +4 -0
  960. package/dist/types/components/pds-table/pds-table-head/pds-table-head.d.ts +5 -2
  961. package/dist/types/components/pds-table/pds-table-head-cell/pds-table-head-cell.d.ts +9 -1
  962. package/dist/types/components/pds-table/pds-table-row/pds-table-row.d.ts +3 -3
  963. package/dist/types/components/pds-table/pds-table.d.ts +11 -3
  964. package/dist/types/components/pds-text/pds-text.d.ts +31 -0
  965. package/dist/types/components/pds-textarea/pds-textarea.d.ts +72 -15
  966. package/dist/types/components/pds-textarea/textarea-interface.d.ts +5 -1
  967. package/dist/types/components/pds-tooltip/pds-tooltip.d.ts +7 -9
  968. package/dist/types/components.d.ts +555 -145
  969. package/dist/types/stencil-public-runtime.d.ts +6 -0
  970. package/dist/types/utils/attributes.d.ts +10 -0
  971. package/dist/types/utils/types.d.ts +1 -1
  972. package/dist/types/utils/utils.d.ts +3 -1
  973. package/hydrate/index.d.ts +6 -0
  974. package/hydrate/index.js +1183 -380
  975. package/hydrate/index.mjs +1183 -380
  976. package/package.json +16 -14
  977. package/readme.md +1 -1
  978. package/dist/cjs/index-479f5bd8.js +0 -24
  979. package/dist/cjs/index-479f5bd8.js.map +0 -1
  980. package/dist/cjs/index-d4ec6246.js.map +0 -1
  981. package/dist/cjs/pds-label-73bb5bd3.js.map +0 -1
  982. package/dist/esm/index-9f0e742f.js.map +0 -1
  983. package/dist/esm/index-9f8fe796.js +0 -14
  984. package/dist/esm/index-9f8fe796.js.map +0 -1
  985. package/dist/esm/pds-label-c806218b.js.map +0 -1
  986. package/dist/esm-es5/index-9f0e742f.js +0 -3
  987. package/dist/esm-es5/index-9f0e742f.js.map +0 -1
  988. package/dist/esm-es5/index-9f8fe796.js +0 -2
  989. package/dist/esm-es5/index-9f8fe796.js.map +0 -1
  990. package/dist/esm-es5/pds-label-c806218b.js +0 -2
  991. package/dist/esm-es5/pds-label-c806218b.js.map +0 -1
  992. package/dist/pine-core/p-06f526e5.system.js +0 -2
  993. package/dist/pine-core/p-06f526e5.system.js.map +0 -1
  994. package/dist/pine-core/p-0bf48e12.entry.js +0 -2
  995. package/dist/pine-core/p-0bf48e12.entry.js.map +0 -1
  996. package/dist/pine-core/p-12e1c54f.entry.js +0 -2
  997. package/dist/pine-core/p-12e1c54f.entry.js.map +0 -1
  998. package/dist/pine-core/p-1400fed8.entry.js +0 -2
  999. package/dist/pine-core/p-1400fed8.entry.js.map +0 -1
  1000. package/dist/pine-core/p-16b74124.system.js +0 -2
  1001. package/dist/pine-core/p-16b74124.system.js.map +0 -1
  1002. package/dist/pine-core/p-20dae7d1.system.entry.js +0 -2
  1003. package/dist/pine-core/p-20dae7d1.system.entry.js.map +0 -1
  1004. package/dist/pine-core/p-2837aec3.system.entry.js +0 -2
  1005. package/dist/pine-core/p-2837aec3.system.entry.js.map +0 -1
  1006. package/dist/pine-core/p-2bce244c.entry.js +0 -2
  1007. package/dist/pine-core/p-2bce244c.entry.js.map +0 -1
  1008. package/dist/pine-core/p-307b87fc.system.entry.js +0 -2
  1009. package/dist/pine-core/p-307b87fc.system.entry.js.map +0 -1
  1010. package/dist/pine-core/p-30895edd.system.entry.js +0 -2
  1011. package/dist/pine-core/p-30895edd.system.entry.js.map +0 -1
  1012. package/dist/pine-core/p-3487fe4a.entry.js +0 -2
  1013. package/dist/pine-core/p-3487fe4a.entry.js.map +0 -1
  1014. package/dist/pine-core/p-373bf876.js +0 -2
  1015. package/dist/pine-core/p-373bf876.js.map +0 -1
  1016. package/dist/pine-core/p-3ceda09a.system.entry.js +0 -2
  1017. package/dist/pine-core/p-3ceda09a.system.entry.js.map +0 -1
  1018. package/dist/pine-core/p-40489c55.entry.js +0 -2
  1019. package/dist/pine-core/p-40489c55.entry.js.map +0 -1
  1020. package/dist/pine-core/p-41c843c5.system.entry.js +0 -2
  1021. package/dist/pine-core/p-4262c8d0.system.entry.js +0 -2
  1022. package/dist/pine-core/p-4262c8d0.system.entry.js.map +0 -1
  1023. package/dist/pine-core/p-43c37135.entry.js +0 -2
  1024. package/dist/pine-core/p-43c37135.entry.js.map +0 -1
  1025. package/dist/pine-core/p-45df80d3.entry.js +0 -2
  1026. package/dist/pine-core/p-45df80d3.entry.js.map +0 -1
  1027. package/dist/pine-core/p-479fd128.system.entry.js +0 -2
  1028. package/dist/pine-core/p-479fd128.system.entry.js.map +0 -1
  1029. package/dist/pine-core/p-4868ffe2.entry.js +0 -2
  1030. package/dist/pine-core/p-4868ffe2.entry.js.map +0 -1
  1031. package/dist/pine-core/p-4cfa45e5.system.entry.js.map +0 -1
  1032. package/dist/pine-core/p-4e5423ec.entry.js +0 -2
  1033. package/dist/pine-core/p-4e5423ec.entry.js.map +0 -1
  1034. package/dist/pine-core/p-5303452a.entry.js +0 -2
  1035. package/dist/pine-core/p-59a88d32.entry.js +0 -2
  1036. package/dist/pine-core/p-59a88d32.entry.js.map +0 -1
  1037. package/dist/pine-core/p-5d35d9bc.system.entry.js +0 -2
  1038. package/dist/pine-core/p-5d35d9bc.system.entry.js.map +0 -1
  1039. package/dist/pine-core/p-5dab0de3.system.entry.js +0 -2
  1040. package/dist/pine-core/p-5dab0de3.system.entry.js.map +0 -1
  1041. package/dist/pine-core/p-60622df4.entry.js +0 -2
  1042. package/dist/pine-core/p-60622df4.entry.js.map +0 -1
  1043. package/dist/pine-core/p-6293581d.system.entry.js +0 -2
  1044. package/dist/pine-core/p-6293581d.system.entry.js.map +0 -1
  1045. package/dist/pine-core/p-63eacc4c.entry.js +0 -2
  1046. package/dist/pine-core/p-63eacc4c.entry.js.map +0 -1
  1047. package/dist/pine-core/p-64a079d4.entry.js +0 -2
  1048. package/dist/pine-core/p-64a079d4.entry.js.map +0 -1
  1049. package/dist/pine-core/p-64ec41b5.system.entry.js +0 -2
  1050. package/dist/pine-core/p-64ec41b5.system.entry.js.map +0 -1
  1051. package/dist/pine-core/p-669c5ccd.entry.js.map +0 -1
  1052. package/dist/pine-core/p-74931ca7.entry.js +0 -2
  1053. package/dist/pine-core/p-74931ca7.entry.js.map +0 -1
  1054. package/dist/pine-core/p-766e4212.system.entry.js +0 -2
  1055. package/dist/pine-core/p-766e4212.system.entry.js.map +0 -1
  1056. package/dist/pine-core/p-79625567.entry.js +0 -2
  1057. package/dist/pine-core/p-79625567.entry.js.map +0 -1
  1058. package/dist/pine-core/p-7b44943d.system.entry.js +0 -2
  1059. package/dist/pine-core/p-7b44943d.system.entry.js.map +0 -1
  1060. package/dist/pine-core/p-7bc0b531.js +0 -2
  1061. package/dist/pine-core/p-7bc0b531.js.map +0 -1
  1062. package/dist/pine-core/p-7e7de1d6.js +0 -3
  1063. package/dist/pine-core/p-7e7de1d6.js.map +0 -1
  1064. package/dist/pine-core/p-7ed5ef61.system.entry.js +0 -2
  1065. package/dist/pine-core/p-7ed5ef61.system.entry.js.map +0 -1
  1066. package/dist/pine-core/p-80efeb1b.entry.js +0 -2
  1067. package/dist/pine-core/p-80efeb1b.entry.js.map +0 -1
  1068. package/dist/pine-core/p-8233b878.system.entry.js +0 -2
  1069. package/dist/pine-core/p-8233b878.system.entry.js.map +0 -1
  1070. package/dist/pine-core/p-84e37a4c.entry.js +0 -2
  1071. package/dist/pine-core/p-84e37a4c.entry.js.map +0 -1
  1072. package/dist/pine-core/p-9071a673.system.entry.js +0 -2
  1073. package/dist/pine-core/p-9071a673.system.entry.js.map +0 -1
  1074. package/dist/pine-core/p-9229e03e.system.entry.js +0 -2
  1075. package/dist/pine-core/p-9229e03e.system.entry.js.map +0 -1
  1076. package/dist/pine-core/p-94a76b90.system.entry.js +0 -2
  1077. package/dist/pine-core/p-94a76b90.system.entry.js.map +0 -1
  1078. package/dist/pine-core/p-99c6c7fe.system.js +0 -2
  1079. package/dist/pine-core/p-a58de843.system.entry.js +0 -2
  1080. package/dist/pine-core/p-a58de843.system.entry.js.map +0 -1
  1081. package/dist/pine-core/p-ad7f960d.system.entry.js +0 -2
  1082. package/dist/pine-core/p-ad7f960d.system.entry.js.map +0 -1
  1083. package/dist/pine-core/p-b491e677.entry.js +0 -2
  1084. package/dist/pine-core/p-b491e677.entry.js.map +0 -1
  1085. package/dist/pine-core/p-b4f7b883.system.entry.js +0 -2
  1086. package/dist/pine-core/p-b4f7b883.system.entry.js.map +0 -1
  1087. package/dist/pine-core/p-b4fb6072.system.entry.js +0 -2
  1088. package/dist/pine-core/p-b4fb6072.system.entry.js.map +0 -1
  1089. package/dist/pine-core/p-b8cbff05.system.entry.js +0 -2
  1090. package/dist/pine-core/p-b8cbff05.system.entry.js.map +0 -1
  1091. package/dist/pine-core/p-b94d28cc.entry.js +0 -2
  1092. package/dist/pine-core/p-b94d28cc.entry.js.map +0 -1
  1093. package/dist/pine-core/p-c644e0b4.system.entry.js +0 -2
  1094. package/dist/pine-core/p-c644e0b4.system.entry.js.map +0 -1
  1095. package/dist/pine-core/p-cb0cccca.entry.js +0 -2
  1096. package/dist/pine-core/p-cb0cccca.entry.js.map +0 -1
  1097. package/dist/pine-core/p-d0948e17.entry.js +0 -2
  1098. package/dist/pine-core/p-d0948e17.entry.js.map +0 -1
  1099. package/dist/pine-core/p-d20f4c1d.system.js +0 -3
  1100. package/dist/pine-core/p-d20f4c1d.system.js.map +0 -1
  1101. package/dist/pine-core/p-dd40be84.entry.js +0 -2
  1102. package/dist/pine-core/p-dd40be84.entry.js.map +0 -1
  1103. package/dist/pine-core/p-e339312d.entry.js +0 -2
  1104. package/dist/pine-core/p-e339312d.entry.js.map +0 -1
  1105. package/dist/pine-core/p-e52afdbe.entry.js +0 -2
  1106. package/dist/pine-core/p-e52afdbe.entry.js.map +0 -1
  1107. package/dist/pine-core/p-e705a6ad.system.entry.js +0 -2
  1108. package/dist/pine-core/p-e705a6ad.system.entry.js.map +0 -1
  1109. package/dist/pine-core/p-e8874481.system.entry.js +0 -2
  1110. package/dist/pine-core/p-e8874481.system.entry.js.map +0 -1
  1111. package/dist/pine-core/p-ed4e6972.entry.js +0 -2
  1112. package/dist/pine-core/p-ed4e6972.entry.js.map +0 -1
  1113. package/dist/pine-core/p-f5597dce.entry.js +0 -2
  1114. package/dist/pine-core/p-f5597dce.entry.js.map +0 -1
  1115. package/dist/pine-core/p-f86af20f.system.js +0 -2
  1116. package/dist/pine-core/p-f86af20f.system.js.map +0 -1
  1117. package/dist/pine-core/p-f8c08ca7.system.entry.js +0 -2
  1118. package/dist/pine-core/p-f8c08ca7.system.entry.js.map +0 -1
  1119. /package/dist/pine-core/{p-99c6c7fe.system.js.map → p-db622f8f.system.js.map} +0 -0
@@ -1,6 +1,6 @@
1
- import { r as registerInstance, h, H as Host, g as getElement } from './index-9f0e742f.js';
1
+ import { r as registerInstance, h, H as Host, g as getElement } from './index-b1696fed.js';
2
2
 
3
- const pdsTabsCss = ":host{--spacing-panel-margin-top:0;--spacing-panel-padding:0;--outline:2px solid var(--pine-color-blue-200);--spacing-gap-availability:var(--pine-spacing-100);--spacing-gap-default:var(--pine-spacing-300);--spacing-gap-filter:var(--pine-spacing-200);display:block}.pds-tabs__tablist{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;gap:var(--spacing-gap-default)}:host(.pds-tabs--availability) .pds-tabs__tablist{gap:var(--spacing-gap-availability)}:host(.pds-tabs--filter) .pds-tabs__tablist{gap:var(--spacing-gap-filter)}";
3
+ const pdsTabsCss = ":host{--tabs-dimension-panel-margin-top:var(--pine-dimension-none);--tabs-dimension-panel-padding:0;--outline:2px solid var(--pine-color-focus-ring);display:block}.pds-tabs__tablist{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;gap:var(--pine-dimension-md)}:host(.pds-tabs--availability) .pds-tabs__tablist{gap:var(--pine-dimension-xs)}:host(.pds-tabs--filter) .pds-tabs__tablist{gap:var(--pine-dimension-sm)}";
4
4
  const PdsTabsStyle0 = pdsTabsCss;
5
5
 
6
6
  const PdsTabs = class {
@@ -84,7 +84,7 @@ const PdsTabs = class {
84
84
  this.passPropsToChildren();
85
85
  }
86
86
  render() {
87
- return (h(Host, { key: 'a36e242d5e746954f80778cf515879ca82258978', "active-tab-name": this.activeTabName, class: this.classNames(), id: this.componentId }, h("div", { key: 'd6d89fd90a9a534f249c549e34308ed245773f60', class: "pds-tabs__tablist", role: "tablist", "aria-label": this.tablistLabel }, h("slot", { key: '9b5e5268c27ecf2a5331cec64d2c7121cef366a1', name: "tabs" })), h("slot", { key: 'b835cf1befe68f54b1751a976846d271ce97634e', name: "tabpanels" })));
87
+ return (h(Host, { key: '9f6f438a9ee877cc53a790d9e4235074d3df973d', "active-tab-name": this.activeTabName, class: this.classNames(), id: this.componentId }, h("div", { key: '92e82a7532305dc20d5bb9d547784e2ec28cb77f', class: "pds-tabs__tablist", role: "tablist", "aria-label": this.tablistLabel }, h("slot", { key: 'ce5dd8180512ecdc2d161d8c2c8fc5625b5f705c', name: "tabs" })), h("slot", { key: '3995ee8c5e3ab3ee5334abe59543288bbcb8e1f1', name: "tabpanels" })));
88
88
  }
89
89
  get el() { return getElement(this); }
90
90
  };
@@ -1 +1 @@
1
- {"file":"pds-tabs.entry.js","mappings":"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","names":[],"sources":["src/components/pds-tabs/pds-tabs.scss?tag=pds-tabs&encapsulation=shadow","src/components/pds-tabs/pds-tabs.tsx"],"sourcesContent":[":host {\n /**\n * @prop --spacing-panel-margin-top: Optional margin-top for panels\n */\n --spacing-panel-margin-top: 0;\n /**\n * @prop --spacing-panel-padding: Optional padding for panels\n */\n --spacing-panel-padding: 0;\n\n --outline: 2px solid var(--pine-color-blue-200);\n\n --spacing-gap-availability: var(--pine-spacing-100);\n --spacing-gap-default: var(--pine-spacing-300);\n --spacing-gap-filter: var(--pine-spacing-200);\n\n display: block;\n}\n\n.pds-tabs__tablist {\n display: flex;\n flex-wrap: wrap;\n gap: var(--spacing-gap-default);\n}\n\n:host(.pds-tabs--availability) .pds-tabs__tablist {\n gap: var(--spacing-gap-availability);\n}\n\n:host(.pds-tabs--filter) .pds-tabs__tablist {\n gap: var(--spacing-gap-filter);\n}\n","import { Component, Element, Host, h, Prop, Listen } from '@stencil/core';\n\n /**\n * @slot tabs - Content is placed within the `div[role=\"tablist\"]` element as children\n * @slot tabpanels - Content is placed directly after the `div[role=\"tablist\"]` element as siblings\n */\n@Component({\n tag: 'pds-tabs',\n styleUrl: 'pds-tabs.scss',\n shadow: true,\n})\nexport class PdsTabs {\n private tabs;\n private tabPanels;\n\n @Element() el: HTMLPdsTabsElement;\n\n /**\n * Sets the aria-label attached to the tablist element\n */\n @Prop() tablistLabel!: string;\n\n /**\n * A unique identifier used for the underlying component `id` attribute.\n */\n @Prop() componentId!: string;\n\n /**\n * Sets tabs variant styles as outlined in Figma documentation\n */\n @Prop() variant!: 'primary' | 'availability' | 'filter';\n\n /**\n * Sets the starting active tab name and maintains the name as the component re-renders\n */\n @Prop({mutable: true}) activeTabName!: string;\n\n /**\n * Sets the starting active tab index number and maintains the index number as the component re-renders\n */\n /** @internal */\n @Prop({mutable: true}) activeTabIndex: number;\n\n @Listen('pdsTabClick', {\n target: 'body',\n })\n tabClickHandler(event: CustomEvent<any>) {\n if (this.componentId === event.detail[1]) {\n this.activeTabIndex = event.detail[0];\n this.activeTabName = this.tabs[this.activeTabIndex].name;\n }\n }\n\n @Listen('keydown', {})\n handleKeyDown(ev: KeyboardEvent) {\n const keySet = [\"ArrowLeft\", \"ArrowRight\", \"Home\", \"End\"];\n\n if (keySet.includes(ev.key)) {\n ev.preventDefault();\n this.moveActiveTab(ev.key);\n }\n }\n\n private moveActiveTab(key: string) {\n const firstTabNumber = 0;\n const lastTabNumber = this.tabs.length - 1;\n\n let moveFocusTo = null;\n\n switch (key) {\n case 'ArrowLeft':\n moveFocusTo = (this.activeTabIndex === firstTabNumber) ? lastTabNumber : (this.activeTabIndex + (-1));\n break;\n case 'ArrowRight':\n moveFocusTo = (this.activeTabIndex === lastTabNumber) ? firstTabNumber : (this.activeTabIndex + 1);\n break;\n case 'Home':\n moveFocusTo = firstTabNumber;\n break;\n case 'End':\n moveFocusTo = lastTabNumber;\n break;\n }\n\n // Move focus to the button element within `pds-tab`\n this.tabs[moveFocusTo].children[0].focus();\n this.activeTabName = this.tabs[moveFocusTo].name;\n this.activeTabIndex = moveFocusTo;\n }\n\n private findAllChildren() {\n this.tabs = this.el.querySelectorAll('pds-tab');\n this.tabPanels = this.el.querySelectorAll('pds-tabpanel');\n }\n\n private propGeneration(child, index = 0) {\n child.parentComponentId = this.componentId.toString();\n child.variant = this.variant.toString();\n child.selected = (this.activeTabName === child.name) ? true : false;\n child['index'] = index;\n }\n\n private passPropsToChildren() {\n this.tabs.forEach((child, index) => {\n if (this.activeTabName === child.name) this.activeTabIndex = index;\n this.propGeneration(child, index);\n });\n\n this.tabPanels.forEach((child) => {\n this.propGeneration(child);\n });\n }\n\n private classNames() {\n let className = `pds-tabs`;\n if (this.variant && this.variant != 'primary') {\n const variantClassName = `pds-tabs--${this.variant}`;\n className += ' ' + variantClassName;\n }\n\n return className;\n };\n\n componentWillLoad() {\n this.findAllChildren();\n }\n\n componentWillRender() {\n this.passPropsToChildren();\n }\n\n render() {\n return (\n <Host active-tab-name={this.activeTabName} class={this.classNames()} id={this.componentId}>\n <div class=\"pds-tabs__tablist\" role=\"tablist\" aria-label={this.tablistLabel}>\n <slot name=\"tabs\" />\n </div>\n <slot name=\"tabpanels\" />\n </Host>\n );\n }\n}\n"],"version":3}
1
+ {"file":"pds-tabs.entry.js","mappings":"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","names":[],"sources":["src/components/pds-tabs/pds-tabs.scss?tag=pds-tabs&encapsulation=shadow","src/components/pds-tabs/pds-tabs.tsx"],"sourcesContent":[":host {\n /**\n * @prop --tabs-dimension-panel-margin-top: Optional margin-top for panels\n */\n --tabs-dimension-panel-margin-top: var(--pine-dimension-none);\n /**\n * @prop --tabs-dimension-panel-padding: Optional padding for panels\n */\n --tabs-dimension-panel-padding: 0;\n\n --outline: 2px solid var(--pine-color-focus-ring);\n\n display: block;\n}\n\n.pds-tabs__tablist {\n display: flex;\n flex-wrap: wrap;\n gap: var(--pine-dimension-md);\n}\n\n:host(.pds-tabs--availability) .pds-tabs__tablist {\n gap: var(--pine-dimension-xs);\n}\n\n:host(.pds-tabs--filter) .pds-tabs__tablist {\n gap: var(--pine-dimension-sm);\n}\n","import { Component, Element, Host, h, Prop, Listen } from '@stencil/core';\n\n /**\n * @slot tabs - Content is placed within the `div[role=\"tablist\"]` element as children\n * @slot tabpanels - Content is placed directly after the `div[role=\"tablist\"]` element as siblings\n */\n@Component({\n tag: 'pds-tabs',\n styleUrls: ['pds-tabs.scss'],\n shadow: true,\n})\nexport class PdsTabs {\n private tabs;\n private tabPanels;\n\n @Element() el: HTMLPdsTabsElement;\n\n /**\n * Sets the aria-label attached to the tablist element\n */\n @Prop() tablistLabel!: string;\n\n /**\n * A unique identifier used for the underlying component `id` attribute.\n */\n @Prop() componentId!: string;\n\n /**\n * Sets tabs variant styles as outlined in Figma documentation\n */\n @Prop() variant!: 'primary' | 'availability' | 'filter';\n\n /**\n * Sets the starting active tab name and maintains the name as the component re-renders\n */\n @Prop({mutable: true}) activeTabName!: string;\n\n /**\n * Sets the starting active tab index number and maintains the index number as the component re-renders\n */\n /** @internal */\n @Prop({mutable: true}) activeTabIndex: number;\n\n @Listen('pdsTabClick', {\n target: 'body',\n })\n tabClickHandler(event: CustomEvent<any>) {\n if (this.componentId === event.detail[1]) {\n this.activeTabIndex = event.detail[0];\n this.activeTabName = this.tabs[this.activeTabIndex].name;\n }\n }\n\n @Listen('keydown', {})\n handleKeyDown(ev: KeyboardEvent) {\n const keySet = [\"ArrowLeft\", \"ArrowRight\", \"Home\", \"End\"];\n\n if (keySet.includes(ev.key)) {\n ev.preventDefault();\n this.moveActiveTab(ev.key);\n }\n }\n\n private moveActiveTab(key: string) {\n const firstTabNumber = 0;\n const lastTabNumber = this.tabs.length - 1;\n\n let moveFocusTo = null;\n\n switch (key) {\n case 'ArrowLeft':\n moveFocusTo = (this.activeTabIndex === firstTabNumber) ? lastTabNumber : (this.activeTabIndex + (-1));\n break;\n case 'ArrowRight':\n moveFocusTo = (this.activeTabIndex === lastTabNumber) ? firstTabNumber : (this.activeTabIndex + 1);\n break;\n case 'Home':\n moveFocusTo = firstTabNumber;\n break;\n case 'End':\n moveFocusTo = lastTabNumber;\n break;\n }\n\n // Move focus to the button element within `pds-tab`\n this.tabs[moveFocusTo].children[0].focus();\n this.activeTabName = this.tabs[moveFocusTo].name;\n this.activeTabIndex = moveFocusTo;\n }\n\n private findAllChildren() {\n this.tabs = this.el.querySelectorAll('pds-tab');\n this.tabPanels = this.el.querySelectorAll('pds-tabpanel');\n }\n\n private propGeneration(child, index = 0) {\n child.parentComponentId = this.componentId.toString();\n child.variant = this.variant.toString();\n child.selected = (this.activeTabName === child.name) ? true : false;\n child['index'] = index;\n }\n\n private passPropsToChildren() {\n this.tabs.forEach((child, index) => {\n if (this.activeTabName === child.name) this.activeTabIndex = index;\n this.propGeneration(child, index);\n });\n\n this.tabPanels.forEach((child) => {\n this.propGeneration(child);\n });\n }\n\n private classNames() {\n let className = `pds-tabs`;\n if (this.variant && this.variant != 'primary') {\n const variantClassName = `pds-tabs--${this.variant}`;\n className += ' ' + variantClassName;\n }\n\n return className;\n };\n\n componentWillLoad() {\n this.findAllChildren();\n }\n\n componentWillRender() {\n this.passPropsToChildren();\n }\n\n render() {\n return (\n <Host active-tab-name={this.activeTabName} class={this.classNames()} id={this.componentId}>\n <div class=\"pds-tabs__tablist\" role=\"tablist\" aria-label={this.tablistLabel}>\n <slot name=\"tabs\" />\n </div>\n <slot name=\"tabpanels\" />\n </Host>\n );\n }\n}\n"],"version":3}
@@ -0,0 +1,35 @@
1
+ import { r as registerInstance, h } from './index-b1696fed.js';
2
+
3
+ const pdsTextCss = ":host{display:inline}:host([decoration=underline-dotted])>*{-webkit-text-decoration-color:var(--pine-color-grey-600);text-decoration-color:var(--pine-color-grey-600);-webkit-text-decoration-line:underline;text-decoration-line:underline;-webkit-text-decoration-style:dotted;text-decoration-style:dotted;text-decoration-thickness:12%;text-underline-offset:0.3rem;text-underline-position:under}:host([decoration=strikethrough])>*{text-decoration:line-through}h1{font:var(--pine-typography-heading-1);letter-spacing:0.26px}h2{font:var(--pine-typography-heading-2);letter-spacing:0.24px}h3{font:var(--pine-typography-heading-3);letter-spacing:0.22px}h4{font:var(--pine-typography-heading-4);letter-spacing:0.2px}h5{font:var(--pine-typography-heading-5);letter-spacing:0.18px}h6{font:var(--pine-typography-heading-6);letter-spacing:0.16px}code,em,p,pre,strong{font:var(--pine-typography-body);letter-spacing:-0.16px}code,pre{font-family:monospace;letter-spacing:0;line-height:1}em{font-style:normal}strong{font-weight:bolder}h1,h2,h3,h4,h5,h6,p,code,pre,em,strong{color:var(--pine-color-text);margin:var(--pine-dimension-none)}:host([truncate])>*{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:host([italic])>*{font-style:italic}.pds-text--color-primary{color:var(--pine-color-text-primary)}.pds-text--color-secondary{color:var(--pine-color-text-secondary)}.pds-text--color-neutral{color:var(--pine-color-text-neutral)}.pds-text--color-accent{color:var(--pine-color-text-accent)}.pds-text--color-danger{color:var(--pine-color-text-danger)}.pds-text--color-info{color:var(--pine-color-text-info)}.pds-text--color-success{color:var(--pine-color-text-success)}.pds-text--color-warning{color:var(--pine-color-text-warning)}.pds-text--size-2xl{font-size:var(--pine-font-size-body-2xl)}.pds-text--size-xl{font-size:var(--pine-font-size-body-xl)}.pds-text--size-lg{font-size:var(--pine-font-size-body-lg)}.pds-text--size-md{font-size:var(--pine-font-size-body-md)}.pds-text--size-sm{font-size:var(--pine-font-size-body-sm)}.pds-text--size-xs{font-size:var(--pine-font-size-body-xs)}.pds-text--size-2xs{font-size:var(--pine-font-size-body-2xs)}.pds-text--weight-extra-light{font-weight:var(--pine-font-weight-extra-light)}.pds-text--weight-light{font-weight:var(--pine-font-weight-light)}.pds-text--weight-regular{font-weight:var(--pine-font-weight-regular)}.pds-text--weight-medium{font-weight:var(--pine-font-weight-medium)}.pds-text--weight-semibold{font-weight:var(--pine-font-weight-semi-bold)}.pds-text--weight-bold{font-weight:var(--pine-font-weight-bold)}.pds-text--gutter-2xl{-webkit-margin-after:var(--pine-dimension-2xl);margin-block-end:var(--pine-dimension-2xl)}.pds-text--gutter-xl{-webkit-margin-after:var(--pine-dimension-xl);margin-block-end:var(--pine-dimension-xl)}.pds-text--gutter-lg{-webkit-margin-after:var(--pine-dimension-lg);margin-block-end:var(--pine-dimension-lg)}.pds-text--gutter-md{-webkit-margin-after:var(--pine-dimension-md);margin-block-end:var(--pine-dimension-md)}.pds-text--gutter-sm{-webkit-margin-after:var(--pine-dimension-sm);margin-block-end:var(--pine-dimension-sm)}.pds-text--gutter-xs{-webkit-margin-after:var(--pine-dimension-xs);margin-block-end:var(--pine-dimension-xs)}.pds-text--gutter-2xs{-webkit-margin-after:var(--pine-dimension-2xs);margin-block-end:var(--pine-dimension-2xs)}.pds-text--align-start{text-align:start}.pds-text--align-center{text-align:center}.pds-text--align-end{text-align:end}.pds-text--align-justify{text-align:justify}";
4
+ const PdsTextStyle0 = pdsTextCss;
5
+
6
+ const PdsText = class {
7
+ constructor(hostRef) {
8
+ registerInstance(this, hostRef);
9
+ this.align = undefined;
10
+ this.color = undefined;
11
+ this.decoration = undefined;
12
+ this.gutter = undefined;
13
+ this.size = undefined;
14
+ this.weight = undefined;
15
+ this.tag = "p";
16
+ }
17
+ render() {
18
+ const Tag = this.tag;
19
+ const typeClasses = `
20
+ pds-text
21
+ ${this.align !== undefined && this.align.trim() !== '' ? `pds-text--align-${this.align}` : ''}
22
+ ${this.color !== undefined && this.color.trim() !== '' ? `pds-text--color-${this.color}` : ''}
23
+ ${this.gutter !== undefined && this.gutter.trim() !== '' ? `pds-text--gutter-${this.gutter}` : ''}
24
+ ${this.size !== undefined && this.size.trim() !== '' ? `pds-text--size-${this.size}` : ''}
25
+ ${this.weight !== undefined && this.weight.trim() !== '' ? `pds-text--weight-${this.weight}` : ''}
26
+ ${this.decoration !== undefined && this.decoration.trim() !== '' ? `pds-text--decoration-${this.decoration}` : ''}
27
+ `;
28
+ return (h(Tag, { key: '1f4e66d525057dea787cafa3e553572333dc1f1d', class: typeClasses }, h("slot", { key: '035a577c6c1b67b200362c0bf6431714ac8c52ba' })));
29
+ }
30
+ };
31
+ PdsText.style = PdsTextStyle0;
32
+
33
+ export { PdsText as pds_text };
34
+
35
+ //# sourceMappingURL=pds-text.entry.js.map
@@ -0,0 +1 @@
1
+ {"file":"pds-text.entry.js","mappings":";;AAAA,MAAM,UAAU,GAAG,s6GAAs6G,CAAC;AAC17G,sBAAe,UAAU;;MCMZ,OAAO;;;;;;;;;mBA4ET,GAAG;;IAEZ,MAAM;QACJ,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;QAErB,MAAM,WAAW,GAAG;;QAEhB,IAAI,CAAC,KAAK,KAAK,SAAS,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,mBAAmB,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE;QAC3F,IAAI,CAAC,KAAK,KAAK,SAAS,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,mBAAmB,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE;QAC3F,IAAI,CAAC,MAAM,KAAK,SAAS,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,oBAAoB,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE;QAC/F,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,kBAAkB,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE;QACvF,IAAI,CAAC,MAAM,KAAK,SAAS,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,oBAAoB,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE;QAC/F,IAAI,CAAC,UAAU,KAAK,SAAS,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,wBAAwB,IAAI,CAAC,UAAU,EAAE,GAAG,EAAE;KAClH,CAAC;QAEF,QACE,EAAC,GAAG,qDAAC,KAAK,EAAE,WAAW,IACrB,8DAAQ,CACJ,EACN;KACH;;;;;;","names":[],"sources":["src/components/pds-text/pds-text.scss?tag=pds-text&encapsulation=shadow","src/components/pds-text/pds-text.tsx"],"sourcesContent":[":host {\n display: inline;\n}\n\n:host([decoration=\"underline-dotted\"]) > * {\n text-decoration-color: var(--pine-color-grey-600);\n text-decoration-line: underline;\n text-decoration-style: dotted;\n text-decoration-thickness: 12%;\n text-underline-offset: 0.3rem;\n text-underline-position: under;\n}\n\n:host([decoration=\"strikethrough\"])>* {\n text-decoration: line-through;\n}\n\n// TODO: Update all values to match new semantic tokens, if applicable\n\n/* stylelint-disable */\nh1 {\n font: var(--pine-typography-heading-1);\n letter-spacing: 0.26px;\n}\n\nh2 {\n font: var(--pine-typography-heading-2);\n letter-spacing: 0.24px;\n}\n\nh3 {\n font: var(--pine-typography-heading-3);\n letter-spacing: 0.22px;\n}\n\nh4 {\n font: var(--pine-typography-heading-4);\n letter-spacing: 0.20px;\n}\n\nh5 {\n font: var(--pine-typography-heading-5);\n letter-spacing: 0.18px;\n}\n\nh6 {\n font: var(--pine-typography-heading-6);\n letter-spacing: 0.16px;\n}\n\ncode, em, p, pre, strong {\n font: var(--pine-typography-body);\n letter-spacing: -0.16px;\n}\n/* stylelint-enable */\n\ncode, pre {\n font-family: monospace;\n letter-spacing: 0;\n line-height: 1;\n}\n\nem {\n font-style: normal;\n}\n\nstrong {\n font-weight: bolder;\n}\n\nh1, h2, h3, h4, h5, h6, p, code, pre, em, strong {\n color: var(--pine-color-text);\n margin: var(--pine-dimension-none);\n}\n\n:host([truncate]) > * {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n:host([italic]) > * {\n font-style: italic;\n}\n\n\n// Colors/Variants/Sentiment\n$type-colors: (\n primary: var(--pine-color-text-primary),\n secondary: var(--pine-color-text-secondary),\n neutral: var(--pine-color-text-neutral),\n accent: var(--pine-color-text-accent),\n danger: var(--pine-color-text-danger),\n info: var(--pine-color-text-info),\n success: var(--pine-color-text-success),\n warning: var(--pine-color-text-warning),\n);\n\n@mixin generate-type-colors($type-colors) {\n @each $key, $value in $type-colors {\n .pds-text--color-#{$key} {\n color: $value;\n }\n }\n}\n\n@include generate-type-colors($type-colors);\n\n// Font Sizes\n$type-sizes: (\n 2xl: var(--pine-font-size-body-2xl),\n xl: var(--pine-font-size-body-xl),\n lg: var(--pine-font-size-body-lg),\n md: var(--pine-font-size-body-md),\n sm: var(--pine-font-size-body-sm),\n xs: var(--pine-font-size-body-xs),\n 2xs: var(--pine-font-size-body-2xs),\n);\n\n@mixin generate-type-sizes($type-sizes) {\n @each $key, $value in $type-sizes {\n .pds-text--size-#{$key} {\n font-size: $value;\n }\n }\n}\n\n@include generate-type-sizes($type-sizes);\n\n// Font Weights\n$type-weights: (\n extra-light: var(--pine-font-weight-extra-light),\n light: var(--pine-font-weight-light),\n regular: var(--pine-font-weight-regular),\n medium: var(--pine-font-weight-medium),\n semibold: var(--pine-font-weight-semi-bold),\n bold: var(--pine-font-weight-bold),\n);\n\n@mixin generate-type-weights($type-weights) {\n @each $key, $value in $type-weights {\n .pds-text--weight-#{$key} {\n font-weight: $value;\n }\n }\n}\n\n@include generate-type-weights($type-weights);\n\n// Gutter Sizes\n$type-gutters: (\n 2xl: var(--pine-dimension-2xl),\n xl: var(--pine-dimension-xl),\n lg: var(--pine-dimension-lg),\n md: var(--pine-dimension-md),\n sm: var(--pine-dimension-sm),\n xs: var(--pine-dimension-xs),\n 2xs: var(--pine-dimension-2xs),\n);\n\n@mixin generate-type-gutters($type-gutters) {\n @each $key, $value in $type-gutters {\n .pds-text--gutter-#{$key} {\n margin-block-end: $value;\n }\n }\n}\n\n@include generate-type-gutters($type-gutters);\n\n// Text Alignment\n$type-alignments: (\n start: start,\n center: center,\n end: end,\n justify: justify,\n);\n\n@mixin generate-type-alignments($type-alignments) {\n @each $key, $value in $type-alignments {\n .pds-text--align-#{$key} {\n text-align: $value;\n }\n }\n}\n\n@include generate-type-alignments($type-alignments);\n","import { Component, h, Prop } from '@stencil/core';\n\n@Component({\n tag: 'pds-text',\n styleUrl: 'pds-text.scss',\n shadow: true,\n})\nexport class PdsText {\n\n /**\n * Sets the text alignment.\n */\n @Prop() align?: 'start' | 'center' | 'end' | 'justify';\n\n /**\n * Sets the text color.\n */\n @Prop() color?:\n | 'primary'\n | 'secondary'\n | 'neutral'\n | 'accent'\n | 'danger'\n | 'info'\n | 'success'\n | 'warning';\n\n /**\n * Sets the text decoration.\n */\n @Prop() decoration?:\n | 'strikethrough'\n | 'underline-dotted';\n\n /**\n * Set the bottom margin for the text.\n */\n @Prop() gutter?:\n | '2xl'\n | 'xl'\n | 'lg'\n | 'md'\n | 'sm'\n | 'xs'\n | '2xs';\n\n /**\n * Sets the font size.\n */\n @Prop() size?:\n | '2xl'\n | 'xl'\n | 'lg'\n | 'md'\n | 'sm'\n | 'xs'\n | '2xs';\n\n /**\n * Sets the font weight.\n */\n @Prop() weight?:\n | 'extra-light'\n | 'light'\n | 'regular'\n | 'medium'\n | 'semibold'\n | 'bold';\n\n /**\n * Determines what semantic text tag to render.\n */\n @Prop() tag:\n | 'h1'\n | 'h2'\n | 'h3'\n | 'h4'\n | 'h5'\n | 'h6'\n | 'p'\n | 'code'\n | 'pre'\n | 'strong'\n | 'em' = \"p\";\n\n render() {\n const Tag = this.tag;\n\n const typeClasses = `\n pds-text\n ${this.align !== undefined && this.align.trim() !== '' ? `pds-text--align-${this.align}` : ''}\n ${this.color !== undefined && this.color.trim() !== '' ? `pds-text--color-${this.color}` : ''}\n ${this.gutter !== undefined && this.gutter.trim() !== '' ? `pds-text--gutter-${this.gutter}` : ''}\n ${this.size !== undefined && this.size.trim() !== '' ? `pds-text--size-${this.size}` : ''}\n ${this.weight !== undefined && this.weight.trim() !== '' ? `pds-text--weight-${this.weight}` : ''}\n ${this.decoration !== undefined && this.decoration.trim() !== '' ? `pds-text--decoration-${this.decoration}` : ''}\n `;\n\n return (\n <Tag class={typeClasses}>\n <slot />\n </Tag>\n );\n }\n}\n"],"version":3}
@@ -1,23 +1,52 @@
1
- import { r as registerInstance, c as createEvent, h, H as Host, g as getElement } from './index-9f0e742f.js';
2
- import { i as isRequired, P as PdsLabel, a as assignDescription, m as messageId } from './pds-label-c806218b.js';
1
+ import { r as registerInstance, c as createEvent, h, H as Host, g as getElement } from './index-b1696fed.js';
2
+ import { i as isRequired, a as assignDescription, m as messageId } from './form-1b7b69e3.js';
3
+ import { d as debounceEvent } from './utils-5e425aaf.js';
4
+ import { i as inheritAriaAttributes, a as inheritAttributes } from './attributes-fe2c8c91.js';
5
+ import { b as danger } from './index-d320cfa9.js';
3
6
 
4
- const pdsTextareaCss = ":host{--border-interactive-default:var(--pine-border-width-thin) solid var(--pine-color-grey-400);--box-shadow-focus:0 0 0 1px #ffffff, 0 0 0 3px var(--color-focus-visible-outline);--box-shadow-focus-error:0 0 0 1px #ffffff, 0 0 0 3px var(--color-focus-visible-outline-error);--color:var(--pine-color-grey-900);--color-background:var(--pine-color-white);--color-background-disabled:var(--pine-color-grey-200);--color-border-default:var(--pine-color-grey-400);--color-border-error:var(--pine-color-red-300);--color-border-focus-visible:var(--pine-color-grey-300);--color-border-hover:var(--pine-color-grey-500);--color-disabled-default:var(--pine-color-grey-700);--color-error-default:var(--pine-color-red-300);--color-focus-visible-outline:var(--pine-color-purple-300);--color-focus-visible-outline-error:var(--pine-color-red-200);--color-placeholder-default:var(--pine-color-grey-700);--font-size-field:var(--pine-font-size-100);--font-size-helper-message:var(--pine-font-size-100);--font-size-label:var(--pine-font-size-100);--font-weight-field:var(--pine-font-weight-normal);--font-weight-helper-message:var(--pine-font-weight-normal);--font-weight-label:var(--pine-font-weight-medium);--line-height-field:var(--pine-line-height-150);--line-height-helper-message:var(--pine-line-height-125);--line-height-label:var(--pine-line-height-150);--spacing-margin-block-end-label:var(--pine-spacing-100);--spacing-margin-block-start-helper-message:var(--pine-spacing-100);--spacing-padding-block-field:var(--pine-spacing-100);--spacing-padding-inline-field:var(--pine-spacing-200);display:inline}.pds-textarea{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}label{display:block;font-size:var(--font-size-label);font-weight:var(--font-weight-label);line-height:var(--line-height-label);-webkit-margin-after:var(--spacing-margin-block-end-label);margin-block-end:var(--spacing-margin-block-end-label)}.pds-textarea__field{background-color:var(--color-background);border:1px solid var(--color-border-default);border-radius:var(--pine-border-radius-100);font-family:inherit;font-size:var(--font-size-field);font-weight:var(--font-weight-field);line-height:var(--line-height-field);padding:var(--spacing-padding-block-field) var(--spacing-padding-inline-field)}.pds-textarea__field:hover:not(:disabled,.is-invalid){border-color:var(--color-border-hover)}.pds-textarea__field:disabled{background-color:var(--color-background-disabled);color:var(--color-disabled-default);cursor:not-allowed}.pds-textarea__field:focus-visible{-webkit-box-shadow:var(--box-shadow-focus);box-shadow:var(--box-shadow-focus);outline:none}.pds-textarea__field::-webkit-input-placeholder{color:var(--color-placeholder-default)}.pds-textarea__field::-moz-placeholder{color:var(--color-placeholder-default)}.pds-textarea__field:-ms-input-placeholder{color:var(--color-placeholder-default)}.pds-textarea__field::-ms-input-placeholder{color:var(--color-placeholder-default)}.pds-textarea__field::placeholder{color:var(--color-placeholder-default)}.pds-textarea__field.is-invalid{border-color:var(--color-border-error)}.pds-textarea__field.is-invalid:focus-visible{-webkit-box-shadow:var(--box-shadow-focus-error);box-shadow:var(--box-shadow-focus-error)}.pds-textarea__error-message,.pds-textarea__helper-message{font-size:var(--font-size-helper-message);font-weight:var(--font-weight-helper-message);line-height:var(--line-height-helper-message);-webkit-margin-before:var(--spacing-margin-block-start-helper-message);margin-block-start:var(--spacing-margin-block-start-helper-message)}.pds-textarea__error-message{color:var(--color-error-default)}";
5
- const PdsTextareaStyle0 = pdsTextareaCss;
7
+ const labelCss = ":host{display:inline-block}:host([aria-disabled=true]) label{color:var(--pine-color-text-label-disabled)}:host([aria-readonly=true]) label{color:var(--pine-color-text-label-readonly)}label{color:var(--pine-color-text-label);font-weight:var(--pine-font-weight-medium)}";
8
+ const PdsTextareaStyle0 = labelCss;
9
+
10
+ const pdsInputTokensCss = ":host{--pine-input-color-background-danger:var(--pine-color-red-050)}";
11
+ const PdsTextareaStyle1 = pdsInputTokensCss;
12
+
13
+ const pdsTextareaCss = ":host{--box-shadow-focus:0 0 0 1px #ffffff, 0 0 0 3px var(--pine-color-focus-ring);--box-shadow-focus-error:0 0 0 1px #ffffff, 0 0 0 3px var(--pine-color-focus-ring-danger);display:inline}:host([aria-readonly=true]) textarea{background-color:var(--pine-color-background-container-disabled);color:var(--pine-color-text-readonly)}.pds-textarea{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}label{display:block;font-weight:var(--pine-font-weight-medium);-webkit-margin-after:var(--pine-dimension-xs);margin-block-end:var(--pine-dimension-xs)}.pds-textarea__field{background-color:var(--pine-color-background-container);border:var(--pine-border);border-radius:calc(var(--pine-dimension-xs) * 1.25);padding:var(--pine-dimension-xs) var(--pine-dimension-sm)}.pds-textarea__field:hover:not(:disabled,.is-invalid){border:var(--pine-border-hover)}.pds-textarea__field:disabled{background-color:var(--pine-color-background-container-disabled);color:var(--pine-color-text-disabled);cursor:not-allowed}.pds-textarea__field:focus-visible{-webkit-box-shadow:var(--box-shadow-focus);box-shadow:var(--box-shadow-focus);outline:none}.pds-textarea__field::-webkit-input-placeholder{color:var(--pine-color-text-placeholder)}.pds-textarea__field::-moz-placeholder{color:var(--pine-color-text-placeholder)}.pds-textarea__field:-ms-input-placeholder{color:var(--pine-color-text-placeholder)}.pds-textarea__field::-ms-input-placeholder{color:var(--pine-color-text-placeholder)}.pds-textarea__field::placeholder{color:var(--pine-color-text-placeholder)}.pds-textarea__field.is-invalid{background-color:var(--pine-input-color-background-danger);border-color:var(--pine-color-border-danger)}.pds-textarea__field.is-invalid:focus-visible{-webkit-box-shadow:var(--box-shadow-focus-error);box-shadow:var(--box-shadow-focus-error)}.pds-textarea__error-message,.pds-textarea__helper-message{font:var(--pine-typography-body-sm-medium);-webkit-margin-before:var(--pine-dimension-xs);margin-block-start:var(--pine-dimension-xs)}.pds-textarea__error-message{-ms-flex-align:center;align-items:center;color:var(--pine-color-text-message-danger);display:-ms-flexbox;display:flex;gap:var(--pine-dimension-2xs)}";
14
+ const PdsTextareaStyle2 = pdsTextareaCss;
6
15
 
7
16
  const PdsTextarea = class {
8
17
  constructor(hostRef) {
9
18
  registerInstance(this, hostRef);
19
+ this.pdsBlur = createEvent(this, "pdsBlur", 7);
20
+ this.pdsFocus = createEvent(this, "pdsFocus", 7);
21
+ this.pdsInput = createEvent(this, "pdsInput", 7);
10
22
  this.pdsTextareaChange = createEvent(this, "pdsTextareaChange", 7);
11
- this.onTextareaChange = (ev) => {
12
- const textarea = ev.target;
13
- isRequired(textarea, this);
14
- if (textarea) {
15
- this.value = textarea.innerHTML;
23
+ this.inheritedAttributes = {};
24
+ this.onBlur = (ev) => {
25
+ this.hasFocus = false;
26
+ if (this.focusedValue !== this.value) {
27
+ this.emitValueChange(ev);
28
+ }
29
+ this.pdsBlur.emit(ev);
30
+ };
31
+ this.onFocus = (ev) => {
32
+ this.hasFocus = true;
33
+ this.focusedValue = this.value;
34
+ this.pdsFocus.emit(ev);
35
+ };
36
+ this.onInput = (ev) => {
37
+ const input = ev.target;
38
+ if (input) {
39
+ this.value = input.value || '';
16
40
  }
17
- this.pdsTextareaChange.emit({ value: this.value, event: ev });
41
+ this.emitInputChange(ev);
42
+ };
43
+ this.onTextareaChange = (ev) => {
44
+ this.emitValueChange(ev);
18
45
  };
46
+ this.autocomplete = undefined;
19
47
  this.componentId = undefined;
20
48
  this.disabled = false;
49
+ this.debounce = undefined;
21
50
  this.errorMessage = undefined;
22
51
  this.helperMessage = undefined;
23
52
  this.invalid = false;
@@ -27,7 +56,53 @@ const PdsTextarea = class {
27
56
  this.readonly = false;
28
57
  this.required = false;
29
58
  this.rows = undefined;
30
- this.value = undefined;
59
+ this.value = '';
60
+ this.hasFocus = false;
61
+ }
62
+ /**
63
+ * Sets focus on the native `textarea` in the `pds-texarea`. Use this method instead of the global
64
+ * `textarea.focus()`.
65
+ */
66
+ async setFocus() {
67
+ if (this.nativeTextarea) {
68
+ this.nativeTextarea.focus();
69
+ }
70
+ }
71
+ debounceChanged() {
72
+ const { pdsInput, debounce, originalPdsInput } = this;
73
+ this.pdsInput = debounce === undefined ? originalPdsInput !== null && originalPdsInput !== void 0 ? originalPdsInput : pdsInput : debounceEvent(pdsInput, debounce);
74
+ }
75
+ /**
76
+ * Update the native input element when the value changes
77
+ */
78
+ valueChanged() {
79
+ const nativeTextarea = this.nativeTextarea;
80
+ const value = this.getValue();
81
+ if (nativeTextarea && nativeTextarea.value !== value) {
82
+ nativeTextarea.value = value;
83
+ }
84
+ }
85
+ /**
86
+ * Emits an `pdsInput` event.
87
+ */
88
+ emitInputChange(event) {
89
+ const { value } = this;
90
+ this.pdsInput.emit({ value, event });
91
+ }
92
+ /**
93
+ * Emits an `pdsTextareaChange` event.
94
+ */
95
+ emitValueChange(event) {
96
+ const textarea = event.target;
97
+ isRequired(textarea, this);
98
+ const { value } = textarea;
99
+ // Checks for both null and undefined values
100
+ const newValue = value == null ? value : value.toString();
101
+ this.focusedValue = newValue;
102
+ this.pdsTextareaChange.emit({ value: newValue, event });
103
+ }
104
+ getValue() {
105
+ return this.value || '';
31
106
  }
32
107
  textareaClassNames() {
33
108
  const classNames = ['pds-textarea__field'];
@@ -36,15 +111,29 @@ const PdsTextarea = class {
36
111
  }
37
112
  return classNames.join(' ');
38
113
  }
114
+ connectedCallback() {
115
+ this.debounceChanged();
116
+ }
117
+ componentWillLoad() {
118
+ this.inheritedAttributes = Object.assign(Object.assign({}, inheritAriaAttributes(this.el)), inheritAttributes(this.el));
119
+ }
120
+ componentDidLoad() {
121
+ this.originalPdsInput = this.pdsInput;
122
+ }
39
123
  render() {
40
- return (h(Host, { key: 'f58ccd5b20fc30c6e6153e04e98b27fe265040af', "aria-disabled": this.disabled ? 'true' : null }, h("div", { key: '480b51012d0f7a05d83fb8cb359d2bc3a4e82189', class: "pds-textarea" }, this.label &&
41
- h(PdsLabel, { key: '0b34ee6ee8eec6891c00596f840d028ab6ac36bb', htmlFor: this.componentId, text: this.label }), h("textarea", { key: '6f066ce38aaec3257bddd69715118aa5740723c1', "aria-describedby": assignDescription(this.componentId, this.invalid, this.helperMessage), "aria-invalid": this.invalid ? "true" : undefined, 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 &&
42
- h("p", { key: '91c66558978cdbb3191c0af31c34c2647749c01a', class: "pds-textarea__helper-message", id: messageId(this.componentId, 'helper') }, this.helperMessage), this.invalid &&
43
- h("p", { key: 'da8320d10ace733c7181ab3c6827da99d94d7ebd', "aria-live": "assertive", class: "pds-textarea__error-message", id: messageId(this.componentId, 'error') }, this.errorMessage))));
124
+ const value = this.getValue();
125
+ 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 &&
126
+ 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 &&
127
+ h("p", { key: '84ad453017c378553eeda5198267564661b9bc8f', class: "pds-textarea__helper-message", id: messageId(this.componentId, 'helper') }, this.helperMessage), this.invalid &&
128
+ 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))));
44
129
  }
45
130
  get el() { return getElement(this); }
131
+ static get watchers() { return {
132
+ "debounce": ["debounceChanged"],
133
+ "value": ["valueChanged"]
134
+ }; }
46
135
  };
47
- PdsTextarea.style = PdsTextareaStyle0;
136
+ PdsTextarea.style = PdsTextareaStyle0 + (PdsTextareaStyle1 + PdsTextareaStyle2);
48
137
 
49
138
  export { PdsTextarea as pds_textarea };
50
139
 
@@ -1 +1 @@
1
- {"file":"pds-textarea.entry.js","mappings":";;;AAAA,MAAM,cAAc,GAAG,4jHAA4jH,CAAC;AACplH,0BAAe,cAAc;;MCShB,WAAW;;;;QAwEd,qBAAgB,GAAG,CAAC,EAAS;YACnC,MAAM,QAAQ,GAAG,EAAE,CAAC,MAA6B,CAAC;YAClD,UAAU,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;YAE3B,IAAI,QAAQ,EAAE;gBACZ,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,SAAS,CAAC;aACjC;YAED,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAC,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,EAAC,CAAC,CAAC;SAC7D,CAAC;;wBArEiB,KAAK;;;uBAgBS,KAAK;;oBAUf,IAAI,CAAC,WAAW;;wBAWpB,KAAK;wBAML,KAAK;;;;IA4BhB,kBAAkB;QACxB,MAAM,UAAU,GAAG,CAAC,qBAAqB,CAAC,CAAC;QAE3C,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE;YACzC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;SAC/B;QAED,OAAO,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KAC9B;IAED,MAAM;QACJ,QACE,EAAC,IAAI,sEACY,IAAI,CAAC,QAAQ,GAAG,MAAM,GAAG,IAAI,IAE5C,4DAAK,KAAK,EAAC,cAAc,IACtB,IAAI,CAAC,KAAK;YACT,EAAC,QAAQ,qDAAC,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,GAAI,EAE3D,qFACoB,iBAAiB,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC,kBACzE,IAAI,CAAC,OAAO,GAAG,MAAM,GAAG,SAAS,EAC/C,KAAK,EAAE,IAAI,CAAC,kBAAkB,EAAE,EAChC,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,EAAE,EAAE,IAAI,CAAC,WAAW,EACpB,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,WAAW,EAAE,IAAI,CAAC,WAAW,EAC7B,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,QAAQ,EAAE,IAAI,CAAC,gBAAgB,IAC/B,IAAI,CAAC,KAAK,CAAY,EACvB,IAAI,CAAC,aAAa;YACjB,0DACE,KAAK,EAAC,8BAA8B,EACpC,EAAE,EAAE,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,IAExC,IAAI,CAAC,aAAa,CACjB,EAEL,IAAI,CAAC,OAAO;YACX,uEACY,WAAW,EACrB,KAAK,EAAC,6BAA6B,EACnC,EAAE,EAAE,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,IAEvC,IAAI,CAAC,YAAY,CAChB,CAEF,CACD,EACP;KACH;;;;;;;","names":[],"sources":["src/components/pds-textarea/pds-textarea.scss?tag=pds-textarea&encapsulation=shadow","src/components/pds-textarea/pds-textarea.tsx"],"sourcesContent":[":host {\n --border-interactive-default: var(--pine-border-width-thin) solid var(--pine-color-grey-400);\n\n --box-shadow-focus: 0 0 0 1px #ffffff, 0 0 0 3px var(--color-focus-visible-outline);\n --box-shadow-focus-error: 0 0 0 1px #ffffff, 0 0 0 3px var(--color-focus-visible-outline-error);\n\n --color: var(--pine-color-grey-900);\n --color-background: var(--pine-color-white);\n --color-background-disabled: var(--pine-color-grey-200);\n --color-border-default: var(--pine-color-grey-400);\n --color-border-error: var(--pine-color-red-300);\n --color-border-focus-visible: var(--pine-color-grey-300);\n --color-border-hover: var(--pine-color-grey-500);\n --color-disabled-default: var(--pine-color-grey-700);\n --color-error-default: var(--pine-color-red-300);\n --color-focus-visible-outline: var(--pine-color-purple-300);\n --color-focus-visible-outline-error: var(--pine-color-red-200);\n --color-placeholder-default: var(--pine-color-grey-700);\n\n --font-size-field: var(--pine-font-size-100);\n --font-size-helper-message: var(--pine-font-size-100);\n --font-size-label: var(--pine-font-size-100);\n --font-weight-field: var(--pine-font-weight-normal);\n --font-weight-helper-message: var(--pine-font-weight-normal);\n --font-weight-label: var(--pine-font-weight-medium);\n\n --line-height-field: var(--pine-line-height-150);\n --line-height-helper-message: var(--pine-line-height-125);\n --line-height-label: var(--pine-line-height-150);\n\n --spacing-margin-block-end-label: var(--pine-spacing-100);\n --spacing-margin-block-start-helper-message: var(--pine-spacing-100);\n --spacing-padding-block-field: var(--pine-spacing-100);\n --spacing-padding-inline-field: var(--pine-spacing-200);\n\n display: inline;\n}\n\n.pds-textarea {\n display: flex;\n flex-direction: column;\n}\n\nlabel {\n display: block;\n font-size: var(--font-size-label);\n font-weight: var(--font-weight-label);\n line-height: var(--line-height-label);\n margin-block-end: var(--spacing-margin-block-end-label);\n}\n\n.pds-textarea__field {\n background-color: var(--color-background);\n border: 1px solid var(--color-border-default);\n border-radius: var(--pine-border-radius-100);\n font-family: inherit;\n font-size: var(--font-size-field);\n font-weight: var(--font-weight-field);\n line-height: var(--line-height-field);\n padding: var(--spacing-padding-block-field) var(--spacing-padding-inline-field);\n\n &:hover:not(:disabled, .is-invalid) {\n border-color: var(--color-border-hover);\n }\n\n &:disabled {\n background-color: var(--color-background-disabled);\n color: var(--color-disabled-default);\n cursor: not-allowed;\n }\n\n &:focus-visible {\n // outline: var(--pine-border-focus); Border radius for outline does not work in Safari\n box-shadow: var(--box-shadow-focus); // Remove when outline radius is supported in Safari\n outline: none;\n }\n\n &::placeholder {\n color: var(--color-placeholder-default);\n }\n\n &.is-invalid {\n border-color: var(--color-border-error);\n\n &:focus-visible {\n box-shadow: var(--box-shadow-focus-error);\n }\n }\n}\n\n.pds-textarea__error-message,\n.pds-textarea__helper-message {\n font-size: var(--font-size-helper-message);\n font-weight: var(--font-weight-helper-message);\n line-height: var(--line-height-helper-message);\n margin-block-start: var(--spacing-margin-block-start-helper-message);\n}\n\n.pds-textarea__error-message {\n color: var(--color-error-default);\n}\n","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';\n\n@Component({\n tag: 'pds-textarea',\n styleUrl: 'pds-textarea.scss',\n shadow: true,\n})\nexport class PdsTextarea {\n @Element() el: HTMLPdsTextareaElement;\n\n /**\n * A unique identifier used for the underlying component `id` attribute.\n */\n @Prop() componentId!: string;\n\n /**\n * Indicates whether or not the textarea is disabled\n * @defaultValue false\n */\n @Prop() disabled = false;\n\n /**\n * Specifies the error text and provides an error-themed treatment to the field\n */\n @Prop() errorMessage?: string;\n\n /**\n * Displays a hint or description of the textarea\n */\n @Prop() helperMessage?: string;\n\n /**\n * Indicates 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 * Indicates whether or not the textarea is readonly\n * @defaultValue false\n */\n @Prop() readonly = false;\n\n /**\n * Indicates 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.innerHTML;\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 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 {this.errorMessage}\n </p>\n }\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
1
+ {"file":"pds-textarea.entry.js","mappings":"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","names":[],"sources":["src/global/styles/utils/label.scss?tag=pds-textarea&encapsulation=shadow","src/components/pds-input/pds-input.tokens.scss?tag=pds-textarea&encapsulation=shadow","src/components/pds-textarea/pds-textarea.scss?tag=pds-textarea&encapsulation=shadow","src/components/pds-textarea/pds-textarea.tsx"],"sourcesContent":[":host {\n display: inline-block;\n}\n\n:host([aria-disabled=\"true\"]) label {\n color: var(--pine-color-text-label-disabled);\n}\n\n:host([aria-readonly=\"true\"]) {\n label {\n color: var(--pine-color-text-label-readonly);\n }\n}\n\nlabel {\n color: var(--pine-color-text-label);\n font-weight: var(--pine-font-weight-medium);\n\n}\n","/**\n * Do not edit directly, this file was auto-generated.\n */\n\n:host {\n --pine-input-color-background-danger: var(--pine-color-red-050);\n}\n",":host {\n\n --box-shadow-focus: 0 0 0 1px #ffffff, 0 0 0 3px var(--pine-color-focus-ring);\n --box-shadow-focus-error: 0 0 0 1px #ffffff, 0 0 0 3px var(--pine-color-focus-ring-danger);\n\n display: inline;\n}\n\n:host([aria-readonly=\"true\"]) {\n textarea {\n background-color: var(--pine-color-background-container-disabled);\n color: var(--pine-color-text-readonly);\n }\n}\n\n.pds-textarea {\n display: flex;\n flex-direction: column;\n}\n\nlabel {\n display: block;\n font-weight: var(--pine-font-weight-medium);\n margin-block-end: var(--pine-dimension-xs);\n}\n\n.pds-textarea__field {\n background-color: var(--pine-color-background-container);\n border: var(--pine-border);\n border-radius: calc(var(--pine-dimension-xs) * 1.25);\n padding: var(--pine-dimension-xs) var(--pine-dimension-sm);\n\n &:hover:not(:disabled, .is-invalid) {\n border: var(--pine-border-hover);\n }\n\n &:disabled {\n background-color: var(--pine-color-background-container-disabled);\n color: var(--pine-color-text-disabled);\n cursor: not-allowed;\n }\n\n &:focus-visible {\n // outline: var(--pine-border-focus); Border radius for outline does not work in Safari\n box-shadow: var(--box-shadow-focus); // Remove when outline radius is supported in Safari\n outline: none;\n }\n\n &::placeholder {\n color: var(--pine-color-text-placeholder);\n }\n\n &.is-invalid {\n background-color: var(--pine-input-color-background-danger);\n border-color: var(--pine-color-border-danger);\n\n &:focus-visible {\n box-shadow: var(--box-shadow-focus-error);\n }\n }\n}\n\n.pds-textarea__error-message,\n.pds-textarea__helper-message {\n font: var(--pine-typography-body-sm-medium);\n margin-block-start: var(--pine-dimension-xs);\n}\n\n.pds-textarea__error-message {\n align-items: center;\n color: var(--pine-color-text-message-danger);\n display: flex;\n gap: var(--pine-dimension-2xs);\n}\n","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"],"version":3}
@@ -1,4 +1,4 @@
1
- import { r as registerInstance, c as createEvent, h, H as Host, g as getElement } from './index-9f0e742f.js';
1
+ import { r as registerInstance, h, H as Host, g as getElement } from './index-b1696fed.js';
2
2
 
3
3
  const positionTooltip = ({ elem, elemPlacement, overlay, offset = 8 }) => {
4
4
  if (elem == undefined)
@@ -68,21 +68,20 @@ const positionTooltip = ({ elem, elemPlacement, overlay, offset = 8 }) => {
68
68
  }
69
69
  };
70
70
 
71
- const pdsTooltipCss = ":host{--border-radius-overlay:var(--pine-border-radius-125);--border-width-arrow-down:var(--sizing-arrow-default) var(--sizing-arrow-default) 0;--border-width-arrow-left:var(--sizing-arrow-default) var(--sizing-arrow-default) var(--sizing-arrow-default) 0;--border-width-arrow-right:var(--sizing-arrow-default) 0 var(--sizing-arrow-default) var(--sizing-arrow-default);--border-width-arrow-up:0 var(--sizing-arrow-default) var(--sizing-arrow-default);--box-shadow-default:var(--pine-box-shadow-200);--color-background-default:var(--pine-color-grey-900);--color-text-default:var(--pine-color-white);--font-size-overlay:var(--pine-font-size-085);--line-height-overlay:var(--pine-line-height-125);--sizing-arrow-default:6px;--sizing-arrow-offset:14px;--sizing-width-default:320px;--spacing-padding-overlay:var(--pine-spacing-100) calc(var(--pine-spacing-300) / 2);display:inline-block;position:relative}:host ::slotted(*){display:-ms-flexbox;display:flex}:host ::slotted([slot=content]){display:block;white-space:normal;width:var(--sizing-width-default)}.pds-tooltip__content{background-color:var(--color-background-default);border-radius:var(--border-radius-overlay);-webkit-box-shadow:var(--box-shadow-default);box-shadow:var(--box-shadow-default);color:var(--color-text-default);font-size:var(--font-size-overlay);line-height:var(--line-height-overlay);opacity:0;padding:var(--spacing-padding-overlay);position:absolute;visibility:hidden;width:-webkit-max-content;width:-moz-max-content;width:max-content}.pds-tooltip--is-open .pds-tooltip__content{opacity:1;visibility:visible;z-index:1}:host(.pds-tooltip--has-html-content) .pds-tooltip__content{width:auto}.pds-tooltip__content::after{border-color:transparent;border-right-color:transparent;border-style:solid;border-width:var(--border-width-arrow-left);content:\"\";height:0;position:absolute;width:0}.pds-tooltip--right .pds-tooltip__content::after{border-inline-end-color:var(--color-background-default);border-width:var(--border-width-arrow-left);left:calc(var(--sizing-arrow-default) * -1);top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.pds-tooltip--right-end .pds-tooltip__content::after{border-inline-end-color:var(--color-background-default);border-width:var(--border-width-arrow-left);bottom:var(--sizing-arrow-offset);left:calc(var(--sizing-arrow-default) * -1);top:initial}.pds-tooltip--right-start .pds-tooltip__content::after{border-inline-end-color:var(--color-background-default);border-width:var(--border-width-arrow-left);left:calc(var(--sizing-arrow-default) * -1);top:var(--sizing-arrow-offset)}.pds-tooltip--top .pds-tooltip__content::after{border-block-start-color:var(--color-background-default);border-width:var(--border-width-arrow-down);bottom:calc(var(--sizing-arrow-default) * -1);left:50%;top:initial;-webkit-transform:translateX(-50%);transform:translateX(-50%)}.pds-tooltip--top-start .pds-tooltip__content::after{border-block-start-color:var(--color-background-default);border-width:var(--border-width-arrow-down);bottom:calc(var(--sizing-arrow-default) * -1);left:var(--sizing-arrow-offset);top:initial}.pds-tooltip--top-end .pds-tooltip__content::after{border-block-start-color:var(--color-background-default);border-width:var(--border-width-arrow-down);bottom:calc(var(--sizing-arrow-default) * -1);left:initial;right:var(--sizing-arrow-offset);top:initial}.pds-tooltip--left .pds-tooltip__content::after{border-inline-start-color:var(--color-background-default);border-width:var(--border-width-arrow-right);left:initial;right:calc(var(--sizing-arrow-default) * -1);top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.pds-tooltip--left-end .pds-tooltip__content::after{border-inline-start-color:var(--color-background-default);border-width:var(--border-width-arrow-right);bottom:var(--sizing-arrow-offset);left:initial;right:calc(var(--sizing-arrow-default) * -1);top:initial}.pds-tooltip--left-start .pds-tooltip__content::after{border-inline-start-color:var(--color-background-default);border-width:var(--border-width-arrow-right);left:initial;right:calc(var(--sizing-arrow-default) * -1);top:var(--sizing-arrow-offset)}.pds-tooltip--bottom .pds-tooltip__content::after{border-block-end-color:var(--color-background-default);border-width:var(--border-width-arrow-up);left:50%;top:calc(var(--sizing-arrow-default) * -1);-webkit-transform:translateX(-50%);transform:translateX(-50%)}.pds-tooltip--bottom-end .pds-tooltip__content::after{border-block-end-color:var(--color-background-default);border-width:var(--border-width-arrow-up);left:initial;right:var(--sizing-arrow-offset);top:calc(var(--sizing-arrow-default) * -1)}.pds-tooltip--bottom-start .pds-tooltip__content::after{border-block-end-color:var(--color-background-default);border-width:var(--border-width-arrow-up);left:var(--sizing-arrow-offset);top:calc(var(--sizing-arrow-default) * -1)}.pds-tooltip--no-arrow .pds-tooltip__content::after{border-width:0}";
71
+ const pdsTooltipCss = ":host{--tooltip-border-width-arrow-down:var(--tooltip-sizing-arrow) var(--tooltip-sizing-arrow) 0;--tooltip-border-width-arrow-left:var(--tooltip-sizing-arrow) var(--tooltip-sizing-arrow) var(--tooltip-sizing-arrow) 0;--tooltip-border-width-arrow-right:var(--tooltip-sizing-arrow) 0 var(--tooltip-sizing-arrow) var(--tooltip-sizing-arrow);--tooltip-border-width-arrow-up:0 var(--tooltip-sizing-arrow) var(--tooltip-sizing-arrow);--tooltip-sizing-arrow:6px;--tooltip-sizing-arrow-offset:14px;--tooltip-dimension-max-width:320px;display:inline-block;position:relative}:host ::slotted(*){display:-ms-flexbox;display:flex}:host ::slotted([slot=content]){display:block;max-width:var(--tooltip-dimension-max-width);white-space:normal}.pds-tooltip__content{background-color:var(--pine-color-primary);border-radius:calc(var(--pine-dimension-xs) * 1.25);-webkit-box-shadow:var(--pine-box-shadow);box-shadow:var(--pine-box-shadow);color:var(--pine-color-text-primary);max-width:var(--tooltip-dimension-max-width);opacity:0;padding:var(--pine-dimension-xs) calc(var(--pine-dimension-md) / 2);position:absolute;visibility:hidden;width:-webkit-max-content;width:-moz-max-content;width:max-content}.pds-tooltip--is-open .pds-tooltip__content{opacity:1;visibility:visible;z-index:1}:host(.pds-tooltip--has-html-content) .pds-tooltip__content{width:auto}.pds-tooltip__content::after{border-color:transparent;border-right-color:transparent;border-style:solid;border-width:var(--tooltip-border-width-arrow-left);content:\"\";height:0;position:absolute;width:0}.pds-tooltip--right .pds-tooltip__content::after{border-inline-end-color:var(--pine-color-primary);border-width:var(--tooltip-border-width-arrow-left);left:calc(var(--tooltip-sizing-arrow) * -1);top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.pds-tooltip--right-end .pds-tooltip__content::after{border-inline-end-color:var(--pine-color-primary);border-width:var(--tooltip-border-width-arrow-left);bottom:var(--tooltip-sizing-arrow-offset);left:calc(var(--tooltip-sizing-arrow) * -1);top:initial}.pds-tooltip--right-start .pds-tooltip__content::after{border-inline-end-color:var(--pine-color-primary);border-width:var(--tooltip-border-width-arrow-left);left:calc(var(--tooltip-sizing-arrow) * -1);top:var(--tooltip-sizing-arrow-offset)}.pds-tooltip--top .pds-tooltip__content::after{border-block-start-color:var(--pine-color-primary);border-width:var(--tooltip-border-width-arrow-down);bottom:calc(var(--tooltip-sizing-arrow) * -1);left:50%;top:initial;-webkit-transform:translateX(-50%);transform:translateX(-50%)}.pds-tooltip--top-start .pds-tooltip__content::after{border-block-start-color:var(--pine-color-primary);border-width:var(--tooltip-border-width-arrow-down);bottom:calc(var(--tooltip-sizing-arrow) * -1);left:var(--tooltip-sizing-arrow-offset);top:initial}.pds-tooltip--top-end .pds-tooltip__content::after{border-block-start-color:var(--pine-color-primary);border-width:var(--tooltip-border-width-arrow-down);bottom:calc(var(--tooltip-sizing-arrow) * -1);left:initial;right:var(--tooltip-sizing-arrow-offset);top:initial}.pds-tooltip--left .pds-tooltip__content::after{border-inline-start-color:var(--pine-color-primary);border-width:var(--tooltip-border-width-arrow-right);left:initial;right:calc(var(--tooltip-sizing-arrow) * -1);top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.pds-tooltip--left-end .pds-tooltip__content::after{border-inline-start-color:var(--pine-color-primary);border-width:var(--tooltip-border-width-arrow-right);bottom:var(--tooltip-sizing-arrow-offset);left:initial;right:calc(var(--tooltip-sizing-arrow) * -1);top:initial}.pds-tooltip--left-start .pds-tooltip__content::after{border-inline-start-color:var(--pine-color-primary);border-width:var(--tooltip-border-width-arrow-right);left:initial;right:calc(var(--tooltip-sizing-arrow) * -1);top:var(--tooltip-sizing-arrow-offset)}.pds-tooltip--bottom .pds-tooltip__content::after{border-block-end-color:var(--pine-color-primary);border-width:var(--tooltip-border-width-arrow-up);left:50%;top:calc(var(--tooltip-sizing-arrow) * -1);-webkit-transform:translateX(-50%);transform:translateX(-50%)}.pds-tooltip--bottom-end .pds-tooltip__content::after{border-block-end-color:var(--pine-color-primary);border-width:var(--tooltip-border-width-arrow-up);left:initial;right:var(--tooltip-sizing-arrow-offset);top:calc(var(--tooltip-sizing-arrow) * -1)}.pds-tooltip--bottom-start .pds-tooltip__content::after{border-block-end-color:var(--pine-color-primary);border-width:var(--tooltip-border-width-arrow-up);left:var(--tooltip-sizing-arrow-offset);top:calc(var(--tooltip-sizing-arrow) * -1)}.pds-tooltip--no-arrow .pds-tooltip__content::after{border-width:0}";
72
72
  const PdsTooltipStyle0 = pdsTooltipCss;
73
73
 
74
74
  const PdsTooltip = class {
75
75
  constructor(hostRef) {
76
76
  registerInstance(this, hostRef);
77
- this.pdsTooltipHide = createEvent(this, "pdsTooltipHide", 7);
78
- this.pdsTooltipShow = createEvent(this, "pdsTooltipShow", 7);
79
77
  this.handleHide = () => {
80
78
  this.hideTooltip();
81
- this.pdsTooltipHide.emit();
82
79
  };
83
80
  this.handleShow = () => {
84
81
  this.showTooltip();
85
- this.pdsTooltipShow.emit();
82
+ };
83
+ this.handlePageShow = () => {
84
+ this.opened = false;
86
85
  };
87
86
  this.isOpen = false;
88
87
  this.content = undefined;
@@ -90,6 +89,7 @@ const PdsTooltip = class {
90
89
  this.hasArrow = true;
91
90
  this.htmlContent = false;
92
91
  this.placement = 'right';
92
+ this.maxWidth = '352px';
93
93
  this.opened = false;
94
94
  }
95
95
  handleOpenToggle() {
@@ -107,6 +107,13 @@ const PdsTooltip = class {
107
107
  this.el.addEventListener('blur', this.handleHide, true);
108
108
  this.el.addEventListener('focus', this.handleShow, true);
109
109
  }
110
+ componentDidLoad() {
111
+ // fix for Safari iOS back button issue
112
+ window.addEventListener('pageshow', this.handlePageShow);
113
+ return () => {
114
+ window.removeEventListener('pageshow', this.handlePageShow);
115
+ };
116
+ }
110
117
  componentDidUpdate() {
111
118
  if (this.opened) {
112
119
  this.showTooltip();
@@ -128,13 +135,13 @@ const PdsTooltip = class {
128
135
  this.opened = false;
129
136
  }
130
137
  render() {
131
- return (h(Host, { key: '52999e010e83fb265a46867b0b29169f7363a496', onMouseEnter: this.handleShow, onMouseLeave: this.handleHide, onFocusin: this.handleShow, onFocusout: this.handleHide }, h("div", { key: '6bb63ba10eab04114ced7ead7079d46cc22cb72c', class: `
138
+ return (h(Host, { key: '33df155f78b81a7c933e89bb115247c49732fa3c', onMouseEnter: this.handleShow, onMouseLeave: this.handleHide, onFocusin: this.handleShow, onFocusout: this.handleHide }, h("div", { key: '42acdb06c67d77e05a2079423731b2587c04193b', class: `
132
139
  pds-tooltip
133
140
  pds-tooltip--${this.placement}
134
141
  ${this.htmlContent ? 'pds-tooltip--has-html-content' : ''}
135
142
  ${this.opened ? 'pds-tooltip--is-open' : ''}
136
143
  ${this.hasArrow ? '' : 'pds-tooltip--no-arrow'}
137
- ` }, h("span", { key: '930c148c837912ad9d5ea57e92246e0211b355c4', "aria-describedby": this.componentId, class: "pds-tooltip__trigger" }, h("slot", { key: '813429e2865fae92050d779ca7f47072313db851' })), h("div", { key: '7f47e8b4ff3d6238f27e38986f032ece94f6b584', class: "pds-tooltip__content", "aria-hidden": this.opened ? 'false' : 'true', "aria-live": this.opened ? 'polite' : 'off', id: this.componentId, ref: (el) => (this.contentEl = el), role: "tooltip" }, h("slot", { key: '90b3f02974d250375d55ed332a9c525626ff5439', name: "content" }), this.content))));
144
+ ` }, h("span", { key: '3086830ad1713041b1750868f1455ac5c246af20', "aria-describedby": this.componentId, class: "pds-tooltip__trigger" }, h("slot", { key: '0fcff3e24fcfac192581cf51ec0c7b22f2d338ec' })), h("div", { key: 'e8c73dc4872b2356dd6bcd278f181816d9237997', class: "pds-tooltip__content", "aria-hidden": this.opened ? 'false' : 'true', "aria-live": this.opened ? 'polite' : 'off', id: this.componentId, ref: (el) => (this.contentEl = el), role: "tooltip", style: { maxWidth: this.maxWidth } }, h("slot", { key: '031946f960e6250fe7af1535648317ef5a9521f9', name: "content" }), this.content))));
138
145
  }
139
146
  get el() { return getElement(this); }
140
147
  static get watchers() { return {
@@ -1 +1 @@
1
- {"file":"pds-tooltip.entry.js","mappings":"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","names":[],"sources":["src/utils/overlay.ts","src/components/pds-tooltip/pds-tooltip.scss?tag=pds-tooltip&encapsulation=shadow","src/components/pds-tooltip/pds-tooltip.tsx"],"sourcesContent":["interface OverlayArgs {\n elem: HTMLElement;\n elemPlacement: string;\n overlay: HTMLElement;\n offset?: number;\n}\n\nexport const positionTooltip = ({elem, elemPlacement, overlay, offset = 8}: OverlayArgs) => {\n if (elem == undefined) return;\n\n const rect = elem.getBoundingClientRect();\n const contentRect = overlay.getBoundingClientRect();\n\n // Exit the function if the placement is not set\n if (!elemPlacement || elemPlacement == \"\") return;\n\n switch (true) {\n case elemPlacement.includes(\"right\"):\n overlay.style.top = '50%';\n overlay.style.left = `calc(${rect.width}px + ${offset}px)`;\n overlay.style.transform = 'translateY(-50%)';\n\n if (elemPlacement.includes(\"start\")) {\n overlay.style.top = '0';\n overlay.style.transform = 'translateY(0)';\n }\n\n if (elemPlacement.includes(\"end\")) {\n overlay.style.bottom = '0';\n overlay.style.top = 'initial';\n overlay.style.transform = 'translateY(0)';\n }\n\n break;\n\n case elemPlacement.includes(\"left\"):\n overlay.style.top = '50%';\n overlay.style.right = `calc(${rect.width}px + ${offset}px)`;\n overlay.style.transform = 'translateY(-50%)';\n\n if (elemPlacement.includes(\"start\")) {\n overlay.style.top = '0';\n overlay.style.transform = 'translateY(0)';\n }\n\n if (elemPlacement.includes(\"end\")) {\n overlay.style.bottom = '0';\n overlay.style.top = 'initial';\n overlay.style.transform = 'translateY(0)';\n }\n\n break;\n\n case elemPlacement.includes(\"bottom\"):\n overlay.style.top = `calc(${rect.height}px + ${offset}px)`;\n overlay.style.left = '50%';\n overlay.style.transform = 'translateX(-50%)';\n\n if (elemPlacement.includes(\"start\")) {\n overlay.style.left = '0';\n overlay.style.transform = 'translateX(0)';\n }\n\n if (elemPlacement.includes(\"end\")) {\n overlay.style.left = 'initial';\n overlay.style.right = '0';\n overlay.style.transform = 'translateX(0)';\n }\n\n break;\n\n case elemPlacement.includes(\"top\"):\n overlay.style.top = `calc((${contentRect.height}px + ${offset}px) * -1)`;\n overlay.style.left = '50%';\n overlay.style.transform = 'translateX(-50%)';\n\n if (elemPlacement.includes(\"start\")) {\n overlay.style.left = '0';\n overlay.style.transform = 'translateX(0)';\n }\n if (elemPlacement.includes(\"end\")) {\n overlay.style.left = 'initial';\n overlay.style.right = '0';\n overlay.style.transform = 'translateX(0)';\n }\n\n break;\n }\n}\n",":host {\n --border-radius-overlay: var(--pine-border-radius-125);\n\n --border-width-arrow-down: var(--sizing-arrow-default) var(--sizing-arrow-default) 0;\n --border-width-arrow-left: var(--sizing-arrow-default) var(--sizing-arrow-default) var(--sizing-arrow-default) 0;\n --border-width-arrow-right: var(--sizing-arrow-default) 0 var(--sizing-arrow-default) var(--sizing-arrow-default);\n --border-width-arrow-up: 0 var(--sizing-arrow-default) var(--sizing-arrow-default);\n\n --box-shadow-default: var(--pine-box-shadow-200);\n\n --color-background-default: var(--pine-color-grey-900);\n --color-text-default: var(--pine-color-white);\n\n --font-size-overlay: var(--pine-font-size-085);\n\n --line-height-overlay: var(--pine-line-height-125);\n\n --sizing-arrow-default: 6px;\n --sizing-arrow-offset: 14px;\n --sizing-width-default: 320px;\n\n --spacing-padding-overlay: var(--pine-spacing-100) calc(var(--pine-spacing-300) / 2);\n\n display: inline-block;\n position: relative;\n\n ::slotted(*) {\n display: flex;\n }\n\n ::slotted([slot=\"content\"]) {\n display: block;\n white-space: normal;\n width: var(--sizing-width-default);\n }\n}\n\n.pds-tooltip__content {\n background-color: var(--color-background-default);\n border-radius: var(--border-radius-overlay);\n box-shadow: var(--box-shadow-default);\n color: var(--color-text-default);\n font-size: var(--font-size-overlay);\n line-height: var(--line-height-overlay);\n // TODO: need to use block / none but the tooltip content width and height are needed for calculations\n opacity: 0;\n padding: var(--spacing-padding-overlay);\n position: absolute;\n visibility: hidden;\n width: max-content;\n\n .pds-tooltip--is-open & {\n // TODO: need to use block / none but the tooltip content width and height are needed for calculations\n opacity: 1;\n visibility: visible;\n z-index: 1;\n }\n\n :host(.pds-tooltip--has-html-content) & {\n width: auto;\n }\n\n &::after {\n border-color: transparent;\n border-right-color: transparent;\n border-style: solid;\n border-width: var(--border-width-arrow-left);\n content: '';\n height: 0;\n position: absolute;\n width: 0;\n\n .pds-tooltip--right & {\n border-inline-end-color: var(--color-background-default);\n border-width: var(--border-width-arrow-left);\n left: calc(var(--sizing-arrow-default) * -1);\n top: 50%;\n transform: translateY(-50%);\n }\n\n .pds-tooltip--right-end & {\n border-inline-end-color: var(--color-background-default);\n border-width: var(--border-width-arrow-left);\n bottom: var(--sizing-arrow-offset);\n left: calc(var(--sizing-arrow-default) * -1);\n top: initial;\n }\n\n .pds-tooltip--right-start & {\n border-inline-end-color: var(--color-background-default);\n border-width: var(--border-width-arrow-left);\n left: calc(var(--sizing-arrow-default) * -1);\n top: var(--sizing-arrow-offset);\n }\n\n .pds-tooltip--top & {\n border-block-start-color: var(--color-background-default);\n border-width: var(--border-width-arrow-down);\n bottom: calc(var(--sizing-arrow-default) * -1);\n left: 50%;\n top: initial;\n transform: translateX(-50%);\n }\n\n .pds-tooltip--top-start & {\n border-block-start-color: var(--color-background-default);\n border-width: var(--border-width-arrow-down);\n bottom: calc(var(--sizing-arrow-default) * -1);\n left: var(--sizing-arrow-offset);\n top: initial;\n }\n\n .pds-tooltip--top-end & {\n border-block-start-color: var(--color-background-default);\n border-width: var(--border-width-arrow-down);\n bottom: calc(var(--sizing-arrow-default) * -1);\n left: initial;\n right: var(--sizing-arrow-offset);\n top: initial;\n }\n\n .pds-tooltip--left & {\n border-inline-start-color: var(--color-background-default);\n border-width: var(--border-width-arrow-right);\n left: initial;\n right: calc(var(--sizing-arrow-default) * -1);\n top: 50%;\n transform: translateY(-50%);\n }\n\n .pds-tooltip--left-end & {\n border-inline-start-color: var(--color-background-default);\n border-width: var(--border-width-arrow-right);\n bottom: var(--sizing-arrow-offset);\n left: initial;\n right: calc(var(--sizing-arrow-default) * -1);\n top: initial;\n }\n\n .pds-tooltip--left-start & {\n border-inline-start-color: var(--color-background-default);\n border-width: var(--border-width-arrow-right);\n left: initial;\n right: calc(var(--sizing-arrow-default) * -1);\n top: var(--sizing-arrow-offset);\n }\n\n .pds-tooltip--bottom & {\n border-block-end-color: var(--color-background-default);\n border-width: var(--border-width-arrow-up);\n left: 50%;\n top: calc(var(--sizing-arrow-default) * -1);\n transform: translateX(-50%);\n }\n\n .pds-tooltip--bottom-end & {\n border-block-end-color: var(--color-background-default);\n border-width: var(--border-width-arrow-up);\n left: initial;\n right: var(--sizing-arrow-offset);\n top: calc(var(--sizing-arrow-default) * -1);\n }\n\n .pds-tooltip--bottom-start & {\n border-block-end-color: var(--color-background-default);\n border-width: var(--border-width-arrow-up);\n left: var(--sizing-arrow-offset);\n top: calc(var(--sizing-arrow-default) * -1);\n }\n\n .pds-tooltip--no-arrow & {\n border-width: 0;\n }\n }\n}\n","import { Component, Element, Event, Host, Prop, State, h, EventEmitter, Method, Watch } from '@stencil/core';\nimport {\n positionTooltip\n} from '../../utils/overlay';\n\n/**\n * @slot (default) - The tooltip's target element\n * @slot content - HTML content for the tooltip\n */\n\n@Component({\n tag: 'pds-tooltip',\n styleUrl: 'pds-tooltip.scss',\n shadow: true,\n})\nexport class PdsTooltip {\n private contentEl: HTMLElement | null;\n\n /**\n * Reference to the Host element\n */\n @Element() el: HTMLPdsTooltipElement;\n\n /**\n * Determines when the tooltip is open\n * @defaultValue false\n */\n @State() isOpen = false;\n\n /**\n * Content for the tooltip. If HTML is required, use the content slot\n */\n @Prop() content: 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 tooltip has an arrow\n * @defaultValue true\n */\n @Prop() hasArrow? = true;\n\n /**\n * Enable this option when using the content slot\n * @defaultValue false\n */\n @Prop() htmlContent = false;\n\n /**\n * Determines the preferred position of the tooltip\n * @defaultValue \"right\"\n */\n @Prop({ reflect: true }) placement:\n 'top'\n | 'top-start'\n | 'top-end'\n | 'right'\n | 'right-start'\n | 'right-end'\n | 'bottom'\n | 'bottom-start'\n | 'bottom-end'\n | 'left'\n | 'left-start'\n | 'left-end' = 'right';\n\n /**\n * Determines whether or not the tooltip is visible\n * @defaultValue false\n */\n @Prop({mutable: true, reflect: true}) opened = false;\n\n @Watch('opened')\n handleOpenToggle() {\n if (this.opened) {\n this.handleShow();\n } else {\n this.handleHide();\n }\n }\n\n /**\n * Emitted after a tooltip is closed\n */\n @Event() pdsTooltipHide: EventEmitter;\n\n /**\n * Emitted after a tooltip is shown\n */\n @Event() pdsTooltipShow: EventEmitter;\n\n componentWillLoad() {\n if (this.opened) {\n this.showTooltip();\n }\n\n this.el.addEventListener('blur', this.handleHide, true);\n this.el.addEventListener('focus', this.handleShow, true);\n }\n\n componentDidUpdate() {\n if (this.opened) {\n this.showTooltip();\n }\n }\n\n componentDidRender() {\n positionTooltip({elem: this.el, elemPlacement: this.placement, overlay: this.contentEl});\n }\n\n /**\n * Shows the tooltip by enabling the opened property\n */\n @Method()\n async showTooltip() {\n this.opened = true;\n }\n\n /**\n * Hides the tooltip by disabling the opened property\n */\n @Method()\n async hideTooltip() {\n this.opened = false;\n }\n\n private handleHide = () => {\n this.hideTooltip();\n this.pdsTooltipHide.emit();\n };\n\n private handleShow = () => {\n this.showTooltip();\n this.pdsTooltipShow.emit();\n };\n\n render() {\n return (\n <Host\n onMouseEnter={this.handleShow}\n onMouseLeave={this.handleHide}\n onFocusin={this.handleShow}\n onFocusout={this.handleHide}\n >\n <div\n class={`\n pds-tooltip\n pds-tooltip--${this.placement}\n ${this.htmlContent ? 'pds-tooltip--has-html-content' : ''}\n ${this.opened ? 'pds-tooltip--is-open' : ''}\n ${this.hasArrow ? '' : 'pds-tooltip--no-arrow'}\n `}\n >\n <span\n aria-describedby={this.componentId}\n class=\"pds-tooltip__trigger\"\n >\n <slot />\n </span>\n\n <div class=\"pds-tooltip__content\"\n aria-hidden={this.opened ? 'false' : 'true'}\n aria-live={this.opened ? 'polite' : 'off'}\n id={this.componentId}\n ref={(el) => (this.contentEl = el)}\n role=\"tooltip\"\n >\n <slot\n name=\"content\"\n ></slot>\n {this.content}\n </div>\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
1
+ {"file":"pds-tooltip.entry.js","mappings":"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","names":[],"sources":["src/utils/overlay.ts","src/components/pds-tooltip/pds-tooltip.scss?tag=pds-tooltip&encapsulation=shadow","src/components/pds-tooltip/pds-tooltip.tsx"],"sourcesContent":["interface OverlayArgs {\n elem: HTMLElement;\n elemPlacement: string;\n overlay: HTMLElement;\n offset?: number;\n}\n\nexport const positionTooltip = ({elem, elemPlacement, overlay, offset = 8}: OverlayArgs) => {\n if (elem == undefined) return;\n\n const rect = elem.getBoundingClientRect();\n const contentRect = overlay.getBoundingClientRect();\n\n // Exit the function if the placement is not set\n if (!elemPlacement || elemPlacement == \"\") return;\n\n switch (true) {\n case elemPlacement.includes(\"right\"):\n overlay.style.top = '50%';\n overlay.style.left = `calc(${rect.width}px + ${offset}px)`;\n overlay.style.transform = 'translateY(-50%)';\n\n if (elemPlacement.includes(\"start\")) {\n overlay.style.top = '0';\n overlay.style.transform = 'translateY(0)';\n }\n\n if (elemPlacement.includes(\"end\")) {\n overlay.style.bottom = '0';\n overlay.style.top = 'initial';\n overlay.style.transform = 'translateY(0)';\n }\n\n break;\n\n case elemPlacement.includes(\"left\"):\n overlay.style.top = '50%';\n overlay.style.right = `calc(${rect.width}px + ${offset}px)`;\n overlay.style.transform = 'translateY(-50%)';\n\n if (elemPlacement.includes(\"start\")) {\n overlay.style.top = '0';\n overlay.style.transform = 'translateY(0)';\n }\n\n if (elemPlacement.includes(\"end\")) {\n overlay.style.bottom = '0';\n overlay.style.top = 'initial';\n overlay.style.transform = 'translateY(0)';\n }\n\n break;\n\n case elemPlacement.includes(\"bottom\"):\n overlay.style.top = `calc(${rect.height}px + ${offset}px)`;\n overlay.style.left = '50%';\n overlay.style.transform = 'translateX(-50%)';\n\n if (elemPlacement.includes(\"start\")) {\n overlay.style.left = '0';\n overlay.style.transform = 'translateX(0)';\n }\n\n if (elemPlacement.includes(\"end\")) {\n overlay.style.left = 'initial';\n overlay.style.right = '0';\n overlay.style.transform = 'translateX(0)';\n }\n\n break;\n\n case elemPlacement.includes(\"top\"):\n overlay.style.top = `calc((${contentRect.height}px + ${offset}px) * -1)`;\n overlay.style.left = '50%';\n overlay.style.transform = 'translateX(-50%)';\n\n if (elemPlacement.includes(\"start\")) {\n overlay.style.left = '0';\n overlay.style.transform = 'translateX(0)';\n }\n if (elemPlacement.includes(\"end\")) {\n overlay.style.left = 'initial';\n overlay.style.right = '0';\n overlay.style.transform = 'translateX(0)';\n }\n\n break;\n }\n}\n",":host {\n\n --tooltip-border-width-arrow-down: var(--tooltip-sizing-arrow) var(--tooltip-sizing-arrow) 0;\n --tooltip-border-width-arrow-left: var(--tooltip-sizing-arrow) var(--tooltip-sizing-arrow) var(--tooltip-sizing-arrow) 0;\n --tooltip-border-width-arrow-right: var(--tooltip-sizing-arrow) 0 var(--tooltip-sizing-arrow) var(--tooltip-sizing-arrow);\n --tooltip-border-width-arrow-up: 0 var(--tooltip-sizing-arrow) var(--tooltip-sizing-arrow);\n\n --tooltip-sizing-arrow: 6px;\n --tooltip-sizing-arrow-offset: 14px;\n --tooltip-dimension-max-width: 320px;\n\n display: inline-block;\n position: relative;\n\n ::slotted(*) {\n display: flex;\n }\n\n ::slotted([slot=\"content\"]) {\n display: block;\n max-width: var(--tooltip-dimension-max-width);\n white-space: normal;\n }\n}\n\n.pds-tooltip__content {\n background-color: var(--pine-color-primary);\n border-radius: calc(var(--pine-dimension-xs) * 1.25);\n box-shadow: var(--pine-box-shadow);\n color: var(--pine-color-text-primary);\n // TODO: need to use block / none but the tooltip content width and height are needed for calculations\n max-width: var(--tooltip-dimension-max-width);\n opacity: 0;\n padding: var(--pine-dimension-xs) calc(var(--pine-dimension-md) / 2);\n position: absolute;\n visibility: hidden;\n width: max-content;\n\n .pds-tooltip--is-open & {\n // TODO: need to use block / none but the tooltip content width and height are needed for calculations\n opacity: 1;\n visibility: visible;\n z-index: 1;\n }\n\n :host(.pds-tooltip--has-html-content) & {\n width: auto;\n }\n\n &::after {\n border-color: transparent;\n border-right-color: transparent;\n border-style: solid;\n border-width: var(--tooltip-border-width-arrow-left);\n content: '';\n height: 0;\n position: absolute;\n width: 0;\n\n .pds-tooltip--right & {\n border-inline-end-color: var(--pine-color-primary);\n border-width: var(--tooltip-border-width-arrow-left);\n left: calc(var(--tooltip-sizing-arrow) * -1);\n top: 50%;\n transform: translateY(-50%);\n }\n\n .pds-tooltip--right-end & {\n border-inline-end-color: var(--pine-color-primary);\n border-width: var(--tooltip-border-width-arrow-left);\n bottom: var(--tooltip-sizing-arrow-offset);\n left: calc(var(--tooltip-sizing-arrow) * -1);\n top: initial;\n }\n\n .pds-tooltip--right-start & {\n border-inline-end-color: var(--pine-color-primary);\n border-width: var(--tooltip-border-width-arrow-left);\n left: calc(var(--tooltip-sizing-arrow) * -1);\n top: var(--tooltip-sizing-arrow-offset);\n }\n\n .pds-tooltip--top & {\n border-block-start-color: var(--pine-color-primary);\n border-width: var(--tooltip-border-width-arrow-down);\n bottom: calc(var(--tooltip-sizing-arrow) * -1);\n left: 50%;\n top: initial;\n transform: translateX(-50%);\n }\n\n .pds-tooltip--top-start & {\n border-block-start-color: var(--pine-color-primary);\n border-width: var(--tooltip-border-width-arrow-down);\n bottom: calc(var(--tooltip-sizing-arrow) * -1);\n left: var(--tooltip-sizing-arrow-offset);\n top: initial;\n }\n\n .pds-tooltip--top-end & {\n border-block-start-color: var(--pine-color-primary);\n border-width: var(--tooltip-border-width-arrow-down);\n bottom: calc(var(--tooltip-sizing-arrow) * -1);\n left: initial;\n right: var(--tooltip-sizing-arrow-offset);\n top: initial;\n }\n\n .pds-tooltip--left & {\n border-inline-start-color: var(--pine-color-primary);\n border-width: var(--tooltip-border-width-arrow-right);\n left: initial;\n right: calc(var(--tooltip-sizing-arrow) * -1);\n top: 50%;\n transform: translateY(-50%);\n }\n\n .pds-tooltip--left-end & {\n border-inline-start-color: var(--pine-color-primary);\n border-width: var(--tooltip-border-width-arrow-right);\n bottom: var(--tooltip-sizing-arrow-offset);\n left: initial;\n right: calc(var(--tooltip-sizing-arrow) * -1);\n top: initial;\n }\n\n .pds-tooltip--left-start & {\n border-inline-start-color: var(--pine-color-primary);\n border-width: var(--tooltip-border-width-arrow-right);\n left: initial;\n right: calc(var(--tooltip-sizing-arrow) * -1);\n top: var(--tooltip-sizing-arrow-offset);\n }\n\n .pds-tooltip--bottom & {\n border-block-end-color: var(--pine-color-primary);\n border-width: var(--tooltip-border-width-arrow-up);\n left: 50%;\n top: calc(var(--tooltip-sizing-arrow) * -1);\n transform: translateX(-50%);\n }\n\n .pds-tooltip--bottom-end & {\n border-block-end-color: var(--pine-color-primary);\n border-width: var(--tooltip-border-width-arrow-up);\n left: initial;\n right: var(--tooltip-sizing-arrow-offset);\n top: calc(var(--tooltip-sizing-arrow) * -1);\n }\n\n .pds-tooltip--bottom-start & {\n border-block-end-color: var(--pine-color-primary);\n border-width: var(--tooltip-border-width-arrow-up);\n left: var(--tooltip-sizing-arrow-offset);\n top: calc(var(--tooltip-sizing-arrow) * -1);\n }\n\n .pds-tooltip--no-arrow & {\n border-width: 0;\n }\n }\n}\n","import { Component, Element, Host, Prop, State, h, Method, Watch } from '@stencil/core';\nimport {\n positionTooltip\n} from '../../utils/overlay';\n\n/**\n * @slot (default) - The tooltip's target element\n * @slot content - HTML content for the tooltip\n */\n\n@Component({\n tag: 'pds-tooltip',\n styleUrls: ['pds-tooltip.scss'],\n shadow: true,\n})\nexport class PdsTooltip {\n private contentEl: HTMLElement | null;\n\n /**\n * Reference to the Host element\n */\n @Element() el: HTMLPdsTooltipElement;\n\n /**\n * Determines when the tooltip is open\n * @defaultValue false\n */\n @State() isOpen = false;\n\n /**\n * Content for the tooltip. If HTML is required, use the content slot\n */\n @Prop() content: 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 tooltip has an arrow\n * @defaultValue true\n */\n @Prop() hasArrow? = true;\n\n /**\n * Enable this option when using the content slot\n * @defaultValue false\n */\n @Prop() htmlContent = false;\n\n /**\n * Determines the preferred position of the tooltip\n * @defaultValue \"right\"\n */\n @Prop({ reflect: true }) placement:\n 'top'\n | 'top-start'\n | 'top-end'\n | 'right'\n | 'right-start'\n | 'right-end'\n | 'bottom'\n | 'bottom-start'\n | 'bottom-end'\n | 'left'\n | 'left-start'\n | 'left-end' = 'right';\n\n /**\n * Sets the maximum width of the tooltip content\n * @defaultValue \"352px\"\n */\n @Prop() maxWidth: string = '352px';\n\n /**\n * Determines whether or not the tooltip is visible\n * @defaultValue false\n */\n @Prop({mutable: true, reflect: true}) opened = false;\n\n @Watch('opened')\n handleOpenToggle() {\n if (this.opened) {\n this.handleShow();\n } else {\n this.handleHide();\n }\n }\n\n componentWillLoad() {\n if (this.opened) {\n this.showTooltip();\n }\n\n this.el.addEventListener('blur', this.handleHide, true);\n this.el.addEventListener('focus', this.handleShow, true);\n }\n\n componentDidLoad() {\n // fix for Safari iOS back button issue\n window.addEventListener('pageshow', this.handlePageShow);\n\n return () => {\n window.removeEventListener('pageshow', this.handlePageShow);\n };\n }\n\n componentDidUpdate() {\n if (this.opened) {\n this.showTooltip();\n }\n }\n\n componentDidRender() {\n positionTooltip({elem: this.el, elemPlacement: this.placement, overlay: this.contentEl});\n }\n\n /**\n * Shows the tooltip by enabling the opened property\n */\n @Method()\n async showTooltip() {\n this.opened = true;\n }\n\n /**\n * Hides the tooltip by disabling the opened property\n */\n @Method()\n async hideTooltip() {\n this.opened = false;\n }\n\n private handleHide = () => {\n this.hideTooltip();\n };\n\n private handleShow = () => {\n this.showTooltip();\n };\n\n private handlePageShow = () => {\n this.opened = false;\n };\n\n render() {\n return (\n <Host\n onMouseEnter={this.handleShow}\n onMouseLeave={this.handleHide}\n onFocusin={this.handleShow}\n onFocusout={this.handleHide}\n >\n <div\n class={`\n pds-tooltip\n pds-tooltip--${this.placement}\n ${this.htmlContent ? 'pds-tooltip--has-html-content' : ''}\n ${this.opened ? 'pds-tooltip--is-open' : ''}\n ${this.hasArrow ? '' : 'pds-tooltip--no-arrow'}\n `}\n >\n <span\n aria-describedby={this.componentId}\n class=\"pds-tooltip__trigger\"\n >\n <slot />\n </span>\n\n <div class=\"pds-tooltip__content\"\n aria-hidden={this.opened ? 'false' : 'true'}\n aria-live={this.opened ? 'polite' : 'off'}\n id={this.componentId}\n ref={(el) => (this.contentEl = el)}\n role=\"tooltip\"\n style={{ maxWidth: this.maxWidth }}\n >\n <slot\n name=\"content\"\n ></slot>\n {this.content}\n </div>\n </div>\n </Host>\n );\n }\n}\n"],"version":3}