@pine-ds/core 3.2.0 → 3.3.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 (448) hide show
  1. package/components/index2.js +1 -1
  2. package/components/index2.js.map +1 -1
  3. package/components/mock-pds-modal.js +1 -1
  4. package/components/pds-button2.js +1 -1
  5. package/components/pds-button2.js.map +1 -1
  6. package/components/pds-chip.js +21 -6
  7. package/components/pds-chip.js.map +1 -1
  8. package/components/pds-input.js +98 -21
  9. package/components/pds-input.js.map +1 -1
  10. package/components/pds-link2.js +2 -2
  11. package/components/pds-loader2.js +1 -1
  12. package/components/pds-modal-content.js +2 -2
  13. package/components/pds-modal-footer.js +1 -1
  14. package/components/pds-modal-header.js +1 -1
  15. package/components/pds-modal.js +2 -2
  16. package/components/pds-popover.js +1 -1
  17. package/components/pds-progress.js +1 -1
  18. package/components/pds-radio.js +3 -3
  19. package/components/pds-row.js +1 -1
  20. package/components/pds-select.js +3 -3
  21. package/components/pds-select.js.map +1 -1
  22. package/components/pds-sortable-item.js +1 -1
  23. package/components/pds-sortable.js +1 -1
  24. package/components/pds-switch.js +3 -3
  25. package/components/pds-tab.js +3 -3
  26. package/components/pds-table-body.js +1 -1
  27. package/components/pds-table-cell2.js +2 -2
  28. package/components/pds-table-head-cell2.js +2 -2
  29. package/components/pds-table-head.js +1 -1
  30. package/components/pds-table-row.js +1 -1
  31. package/components/pds-table.js +1 -1
  32. package/components/pds-tabpanel.js +1 -1
  33. package/components/pds-tabs.js +1 -1
  34. package/components/pds-text2.js +1 -1
  35. package/components/pds-textarea.js +4 -4
  36. package/components/pds-toast.js +3 -3
  37. package/components/pds-tooltip.js +17 -1
  38. package/components/pds-tooltip.js.map +1 -1
  39. package/dist/cjs/{index-CG2Rr2io.js → index-B0qLG6KJ.js} +3 -3
  40. package/dist/cjs/index-B0qLG6KJ.js.map +1 -0
  41. package/dist/cjs/loader.cjs.js +1 -1
  42. package/dist/cjs/mock-pds-modal.cjs.entry.js +1 -1
  43. package/dist/cjs/pds-accordion.cjs.entry.js +1 -1
  44. package/dist/cjs/pds-avatar.cjs.entry.js +1 -1
  45. package/dist/cjs/pds-button.cjs.entry.js +2 -2
  46. package/dist/cjs/pds-button.cjs.entry.js.map +1 -1
  47. package/dist/cjs/pds-button.entry.cjs.js.map +1 -1
  48. package/dist/cjs/pds-checkbox.cjs.entry.js +1 -1
  49. package/dist/cjs/pds-chip.cjs.entry.js +21 -7
  50. package/dist/cjs/pds-chip.cjs.entry.js.map +1 -1
  51. package/dist/cjs/pds-chip.entry.cjs.js.map +1 -1
  52. package/dist/cjs/pds-copytext.cjs.entry.js +1 -1
  53. package/dist/cjs/pds-input.cjs.entry.js +88 -21
  54. package/dist/cjs/pds-input.cjs.entry.js.map +1 -1
  55. package/dist/cjs/pds-input.entry.cjs.js.map +1 -1
  56. package/dist/cjs/pds-link.cjs.entry.js +3 -3
  57. package/dist/cjs/pds-loader.cjs.entry.js +1 -1
  58. package/dist/cjs/pds-modal-content.cjs.entry.js +2 -2
  59. package/dist/cjs/pds-modal-footer.cjs.entry.js +1 -1
  60. package/dist/cjs/pds-modal-header.cjs.entry.js +1 -1
  61. package/dist/cjs/pds-modal.cjs.entry.js +2 -2
  62. package/dist/cjs/pds-popover.cjs.entry.js +1 -1
  63. package/dist/cjs/pds-progress.cjs.entry.js +1 -1
  64. package/dist/cjs/pds-radio.cjs.entry.js +4 -4
  65. package/dist/cjs/pds-row.cjs.entry.js +1 -1
  66. package/dist/cjs/pds-select.cjs.entry.js +3 -4
  67. package/dist/cjs/pds-select.cjs.entry.js.map +1 -1
  68. package/dist/cjs/pds-select.entry.cjs.js.map +1 -1
  69. package/dist/cjs/pds-sortable-item.cjs.entry.js +2 -2
  70. package/dist/cjs/pds-sortable.cjs.entry.js +1 -1
  71. package/dist/cjs/pds-switch.cjs.entry.js +4 -4
  72. package/dist/cjs/pds-tab.cjs.entry.js +3 -3
  73. package/dist/cjs/pds-table-body.cjs.entry.js +1 -1
  74. package/dist/cjs/pds-table-cell.cjs.entry.js +2 -2
  75. package/dist/cjs/pds-table-head-cell.cjs.entry.js +3 -3
  76. package/dist/cjs/pds-table-head.cjs.entry.js +1 -1
  77. package/dist/cjs/pds-table-row.cjs.entry.js +1 -1
  78. package/dist/cjs/pds-table.cjs.entry.js +1 -1
  79. package/dist/cjs/pds-tabpanel.cjs.entry.js +1 -1
  80. package/dist/cjs/pds-tabs.cjs.entry.js +1 -1
  81. package/dist/cjs/pds-text.cjs.entry.js +1 -1
  82. package/dist/cjs/pds-textarea.cjs.entry.js +5 -5
  83. package/dist/cjs/pds-toast.cjs.entry.js +3 -3
  84. package/dist/cjs/pds-tooltip.cjs.entry.js +17 -1
  85. package/dist/cjs/pds-tooltip.cjs.entry.js.map +1 -1
  86. package/dist/cjs/pds-tooltip.entry.cjs.js.map +1 -1
  87. package/dist/cjs/pine-core.cjs.js +1 -1
  88. package/dist/collection/components/pds-button/pds-button.css +17 -5
  89. package/dist/collection/components/pds-chip/pds-chip.css +48 -11
  90. package/dist/collection/components/pds-chip/pds-chip.js +42 -9
  91. package/dist/collection/components/pds-chip/pds-chip.js.map +1 -1
  92. package/dist/collection/components/pds-chip/stories/pds-chip.stories.js +17 -0
  93. package/dist/collection/components/pds-input/pds-input.css +167 -43
  94. package/dist/collection/components/pds-input/pds-input.js +212 -21
  95. package/dist/collection/components/pds-input/pds-input.js.map +1 -1
  96. package/dist/collection/components/pds-input/stories/pds-input.stories.js +84 -0
  97. package/dist/collection/components/pds-link/pds-link.js +2 -2
  98. package/dist/collection/components/pds-loader/pds-loader.js +1 -1
  99. package/dist/collection/components/pds-modal/pds-modal-content/pds-modal-content.js +2 -2
  100. package/dist/collection/components/pds-modal/pds-modal-footer/pds-modal-footer.js +1 -1
  101. package/dist/collection/components/pds-modal/pds-modal-header/pds-modal-header.js +1 -1
  102. package/dist/collection/components/pds-modal/pds-modal.js +2 -2
  103. package/dist/collection/components/pds-modal/test/mock-pds-modal.js +1 -1
  104. package/dist/collection/components/pds-popover/pds-popover.js +1 -1
  105. package/dist/collection/components/pds-progress/pds-progress.js +1 -1
  106. package/dist/collection/components/pds-radio/pds-radio.js +3 -3
  107. package/dist/collection/components/pds-row/pds-row.js +1 -1
  108. package/dist/collection/components/pds-select/pds-select.css +34 -4
  109. package/dist/collection/components/pds-select/pds-select.js +20 -2
  110. package/dist/collection/components/pds-select/pds-select.js.map +1 -1
  111. package/dist/collection/components/pds-select/stories/pds-select.stories.js +2 -0
  112. package/dist/collection/components/pds-sortable/pds-sortable-item/pds-sortable-item.js +1 -1
  113. package/dist/collection/components/pds-sortable/pds-sortable.js +1 -1
  114. package/dist/collection/components/pds-switch/pds-switch.js +3 -3
  115. package/dist/collection/components/pds-table/pds-table-body/pds-table-body.js +1 -1
  116. package/dist/collection/components/pds-table/pds-table-cell/pds-table-cell.js +2 -2
  117. package/dist/collection/components/pds-table/pds-table-head/pds-table-head.js +1 -1
  118. package/dist/collection/components/pds-table/pds-table-head-cell/pds-table-head-cell.js +2 -2
  119. package/dist/collection/components/pds-table/pds-table-row/pds-table-row.js +1 -1
  120. package/dist/collection/components/pds-table/pds-table.js +1 -1
  121. package/dist/collection/components/pds-tabs/pds-tab/pds-tab.js +3 -3
  122. package/dist/collection/components/pds-tabs/pds-tabpanel/pds-tabpanel.js +1 -1
  123. package/dist/collection/components/pds-tabs/pds-tabs.js +1 -1
  124. package/dist/collection/components/pds-text/pds-text.js +1 -1
  125. package/dist/collection/components/pds-textarea/pds-textarea.js +4 -4
  126. package/dist/collection/components/pds-toast/pds-toast.js +3 -3
  127. package/dist/collection/components/pds-tooltip/pds-tooltip.js +17 -1
  128. package/dist/collection/components/pds-tooltip/pds-tooltip.js.map +1 -1
  129. package/dist/docs.json +255 -11
  130. package/dist/esm/{index-_4gljHh-.js → index-DpOSrebJ.js} +3 -3
  131. package/dist/esm/index-DpOSrebJ.js.map +1 -0
  132. package/dist/esm/loader.js +1 -1
  133. package/dist/esm/mock-pds-modal.entry.js +1 -1
  134. package/dist/esm/pds-accordion.entry.js +1 -1
  135. package/dist/esm/pds-avatar.entry.js +1 -1
  136. package/dist/esm/pds-button.entry.js +2 -2
  137. package/dist/esm/pds-button.entry.js.map +1 -1
  138. package/dist/esm/pds-checkbox.entry.js +1 -1
  139. package/dist/esm/pds-chip.entry.js +21 -7
  140. package/dist/esm/pds-chip.entry.js.map +1 -1
  141. package/dist/esm/pds-copytext.entry.js +1 -1
  142. package/dist/esm/pds-input.entry.js +88 -21
  143. package/dist/esm/pds-input.entry.js.map +1 -1
  144. package/dist/esm/pds-link.entry.js +3 -3
  145. package/dist/esm/pds-loader.entry.js +1 -1
  146. package/dist/esm/pds-modal-content.entry.js +2 -2
  147. package/dist/esm/pds-modal-footer.entry.js +1 -1
  148. package/dist/esm/pds-modal-header.entry.js +1 -1
  149. package/dist/esm/pds-modal.entry.js +2 -2
  150. package/dist/esm/pds-popover.entry.js +1 -1
  151. package/dist/esm/pds-progress.entry.js +1 -1
  152. package/dist/esm/pds-radio.entry.js +4 -4
  153. package/dist/esm/pds-row.entry.js +1 -1
  154. package/dist/esm/pds-select.entry.js +3 -4
  155. package/dist/esm/pds-select.entry.js.map +1 -1
  156. package/dist/esm/pds-sortable-item.entry.js +2 -2
  157. package/dist/esm/pds-sortable.entry.js +1 -1
  158. package/dist/esm/pds-switch.entry.js +4 -4
  159. package/dist/esm/pds-tab.entry.js +3 -3
  160. package/dist/esm/pds-table-body.entry.js +1 -1
  161. package/dist/esm/pds-table-cell.entry.js +2 -2
  162. package/dist/esm/pds-table-head-cell.entry.js +3 -3
  163. package/dist/esm/pds-table-head.entry.js +1 -1
  164. package/dist/esm/pds-table-row.entry.js +1 -1
  165. package/dist/esm/pds-table.entry.js +1 -1
  166. package/dist/esm/pds-tabpanel.entry.js +1 -1
  167. package/dist/esm/pds-tabs.entry.js +1 -1
  168. package/dist/esm/pds-text.entry.js +1 -1
  169. package/dist/esm/pds-textarea.entry.js +5 -5
  170. package/dist/esm/pds-toast.entry.js +3 -3
  171. package/dist/esm/pds-tooltip.entry.js +17 -1
  172. package/dist/esm/pds-tooltip.entry.js.map +1 -1
  173. package/dist/esm/pine-core.js +1 -1
  174. package/dist/esm-es5/{index-_4gljHh-.js → index-DpOSrebJ.js} +1 -1
  175. package/dist/esm-es5/index-DpOSrebJ.js.map +1 -0
  176. package/dist/esm-es5/loader.js +1 -1
  177. package/dist/esm-es5/mock-pds-modal.entry.js +1 -1
  178. package/dist/esm-es5/pds-accordion.entry.js +1 -1
  179. package/dist/esm-es5/pds-avatar.entry.js +1 -1
  180. package/dist/esm-es5/pds-button.entry.js +1 -1
  181. package/dist/esm-es5/pds-button.entry.js.map +1 -1
  182. package/dist/esm-es5/pds-checkbox.entry.js +1 -1
  183. package/dist/esm-es5/pds-chip.entry.js +1 -1
  184. package/dist/esm-es5/pds-chip.entry.js.map +1 -1
  185. package/dist/esm-es5/pds-copytext.entry.js +1 -1
  186. package/dist/esm-es5/pds-input.entry.js +1 -1
  187. package/dist/esm-es5/pds-input.entry.js.map +1 -1
  188. package/dist/esm-es5/pds-link.entry.js +1 -1
  189. package/dist/esm-es5/pds-loader.entry.js +1 -1
  190. package/dist/esm-es5/pds-modal-content.entry.js +1 -1
  191. package/dist/esm-es5/pds-modal-footer.entry.js +1 -1
  192. package/dist/esm-es5/pds-modal-header.entry.js +1 -1
  193. package/dist/esm-es5/pds-modal.entry.js +1 -1
  194. package/dist/esm-es5/pds-popover.entry.js +1 -1
  195. package/dist/esm-es5/pds-progress.entry.js +1 -1
  196. package/dist/esm-es5/pds-radio.entry.js +1 -1
  197. package/dist/esm-es5/pds-row.entry.js +1 -1
  198. package/dist/esm-es5/pds-select.entry.js +1 -1
  199. package/dist/esm-es5/pds-select.entry.js.map +1 -1
  200. package/dist/esm-es5/pds-sortable-item.entry.js +1 -1
  201. package/dist/esm-es5/pds-sortable.entry.js +1 -1
  202. package/dist/esm-es5/pds-switch.entry.js +1 -1
  203. package/dist/esm-es5/pds-tab.entry.js +1 -1
  204. package/dist/esm-es5/pds-table-body.entry.js +1 -1
  205. package/dist/esm-es5/pds-table-cell.entry.js +1 -1
  206. package/dist/esm-es5/pds-table-head-cell.entry.js +1 -1
  207. package/dist/esm-es5/pds-table-head.entry.js +1 -1
  208. package/dist/esm-es5/pds-table-row.entry.js +1 -1
  209. package/dist/esm-es5/pds-table.entry.js +1 -1
  210. package/dist/esm-es5/pds-tabpanel.entry.js +1 -1
  211. package/dist/esm-es5/pds-tabs.entry.js +1 -1
  212. package/dist/esm-es5/pds-text.entry.js +1 -1
  213. package/dist/esm-es5/pds-textarea.entry.js +1 -1
  214. package/dist/esm-es5/pds-toast.entry.js +1 -1
  215. package/dist/esm-es5/pds-tooltip.entry.js +1 -1
  216. package/dist/esm-es5/pds-tooltip.entry.js.map +1 -1
  217. package/dist/esm-es5/pine-core.js +1 -1
  218. package/dist/pine-core/{p-CV405yTU.system.js.map → p--YvWqEjm.system.js.map} +1 -1
  219. package/dist/pine-core/p-00599bd8.entry.js +2 -0
  220. package/dist/pine-core/p-00599bd8.entry.js.map +1 -0
  221. package/dist/pine-core/{p-833f08f3.entry.js → p-04195bdb.entry.js} +2 -2
  222. package/dist/pine-core/p-065208a1.system.entry.js +2 -0
  223. package/dist/pine-core/p-065208a1.system.entry.js.map +1 -0
  224. package/dist/pine-core/{p-4288c861.entry.js → p-07f45626.entry.js} +2 -2
  225. package/dist/pine-core/{p-0572825b.entry.js → p-0a11384e.entry.js} +2 -2
  226. package/dist/pine-core/{p-28e28f42.system.entry.js → p-0a87e2fc.system.entry.js} +2 -2
  227. package/dist/pine-core/p-0c30661b.system.entry.js +2 -0
  228. package/dist/pine-core/{p-146fcd44.entry.js → p-10e2feff.entry.js} +2 -2
  229. package/dist/pine-core/{p-bd04212c.system.entry.js → p-13481ef5.system.entry.js} +2 -2
  230. package/dist/pine-core/{p-c4294be2.entry.js → p-19c01019.entry.js} +2 -2
  231. package/dist/pine-core/{p-f2c807ac.entry.js → p-1d395d27.entry.js} +2 -2
  232. package/dist/pine-core/{p-4ff0838c.entry.js → p-2007a0b5.entry.js} +2 -2
  233. package/dist/pine-core/{p-78cb1c40.system.entry.js → p-27c0ffda.system.entry.js} +2 -2
  234. package/dist/pine-core/p-35917a1a.entry.js +2 -0
  235. package/dist/pine-core/p-39a31730.system.entry.js +2 -0
  236. package/dist/pine-core/p-39a31730.system.entry.js.map +1 -0
  237. package/dist/pine-core/{p-1b109c01.entry.js → p-3ea415b0.entry.js} +2 -2
  238. package/dist/pine-core/p-44f10d3c.entry.js +2 -0
  239. package/dist/pine-core/p-44f10d3c.entry.js.map +1 -0
  240. package/dist/pine-core/{p-48e76945.system.entry.js → p-4b2aab79.system.entry.js} +2 -2
  241. package/dist/pine-core/{p-77c3a10d.entry.js → p-51cc93b3.entry.js} +2 -2
  242. package/dist/pine-core/{p-83252078.system.entry.js → p-5367f477.system.entry.js} +2 -2
  243. package/dist/pine-core/{p-a2572675.system.entry.js → p-593df966.system.entry.js} +2 -2
  244. package/dist/pine-core/{p-d6ac2862.system.entry.js → p-5a437fcd.system.entry.js} +2 -2
  245. package/dist/pine-core/{p-c0f74199.entry.js → p-60fbeb1c.entry.js} +2 -2
  246. package/dist/pine-core/p-65a875f6.entry.js +2 -0
  247. package/dist/pine-core/{p-30142a25.system.entry.js → p-6a7936e7.system.entry.js} +2 -2
  248. package/dist/pine-core/p-76e35041.entry.js +2 -0
  249. package/dist/pine-core/{p-d1b222f5.entry.js.map → p-76e35041.entry.js.map} +1 -1
  250. package/dist/pine-core/{p-86d388a2.entry.js → p-76f7cf21.entry.js} +2 -2
  251. package/dist/pine-core/{p-121e03ad.system.entry.js → p-78327c08.system.entry.js} +2 -2
  252. package/dist/pine-core/{p-e2dc81c0.entry.js → p-78f29270.entry.js} +2 -2
  253. package/dist/pine-core/{p-83c632f6.system.entry.js → p-79cb7835.system.entry.js} +2 -2
  254. package/dist/pine-core/{p-e9d972db.system.entry.js → p-7bb3a5d4.system.entry.js} +2 -2
  255. package/dist/pine-core/{p-17d3fa8b.entry.js → p-80f36506.entry.js} +2 -2
  256. package/dist/pine-core/{p-f47133fd.entry.js → p-8180b641.entry.js} +2 -2
  257. package/dist/pine-core/{p-a394645a.system.entry.js → p-833b2170.system.entry.js} +2 -2
  258. package/dist/pine-core/{p-83ffc1cc.entry.js → p-86329612.entry.js} +2 -2
  259. package/dist/pine-core/p-8b6b0db7.entry.js +2 -0
  260. package/dist/pine-core/p-8b6b0db7.entry.js.map +1 -0
  261. package/dist/pine-core/{p-cd2cd116.entry.js → p-8f06b020.entry.js} +2 -2
  262. package/dist/pine-core/{p-78fb945e.system.entry.js → p-959c8247.system.entry.js} +2 -2
  263. package/dist/pine-core/{p-f9e01886.system.entry.js → p-96e9774e.system.entry.js} +2 -2
  264. package/dist/pine-core/p-9c01e81b.system.entry.js +2 -0
  265. package/dist/pine-core/p-9db1f179.entry.js +2 -0
  266. package/dist/pine-core/p-9db1f179.entry.js.map +1 -0
  267. package/dist/pine-core/{p-CWtKi9tV.system.js.map → p-A4_UN20E.system.js.map} +1 -1
  268. package/dist/pine-core/{p-C-oNYS10.system.js.map → p-BE1qV1Jc.system.js.map} +1 -1
  269. package/dist/pine-core/{p-BVUeEWjl.system.js.map → p-BEYGfY83.system.js.map} +1 -1
  270. package/dist/pine-core/p-BHp2IZGP.system.js.map +1 -0
  271. package/dist/pine-core/{p-DV_GadHU.system.js.map → p-BISuGf0f.system.js.map} +1 -1
  272. package/dist/pine-core/{p-HBgo7i_E.system.js.map → p-BPQAcMLl.system.js.map} +1 -1
  273. package/dist/pine-core/{p-CzKqvFNN.system.js.map → p-BaAcO8Mz.system.js.map} +1 -1
  274. package/dist/pine-core/{p-yku4NLl6.system.js.map → p-BcuE4ZrB.system.js.map} +1 -1
  275. package/dist/pine-core/p-BsL2GDnH.system.js +1 -1
  276. package/dist/pine-core/{p-DEsea81X.system.js.map → p-BwHnCFqU.system.js.map} +1 -1
  277. package/dist/pine-core/{p-D9LPgNmN.system.js.map → p-BxBtA60x.system.js.map} +1 -1
  278. package/dist/pine-core/{p-Bs9Nyvj2.system.js.map → p-C0oRS1F9.system.js.map} +1 -1
  279. package/dist/pine-core/{p-Derxa-nn.system.js.map → p-C2d75seA.system.js.map} +1 -1
  280. package/dist/pine-core/{p-DbVkYdnF.system.js.map → p-CGABEyvz.system.js.map} +1 -1
  281. package/dist/pine-core/{p-CiDIFl28.system.js.map → p-CIc_XeAg.system.js.map} +1 -1
  282. package/dist/pine-core/{p-Bo6FQRlR.system.js.map → p-CNYB6FL-.system.js.map} +1 -1
  283. package/dist/pine-core/{p-DgOMN0Ur.system.js.map → p-CNkajx9x.system.js.map} +1 -1
  284. package/dist/pine-core/{p-Cj2r1nL6.system.js.map → p-CS2nVL5p.system.js.map} +1 -1
  285. package/dist/pine-core/{p-B-pTdYoP.system.js.map → p-CTPMEWZT.system.js.map} +1 -1
  286. package/dist/pine-core/{p-CDIHBBTC.system.js.map → p-CTWkFhWu.system.js.map} +1 -1
  287. package/dist/pine-core/{p-M2Hhmwex.system.js.map → p-CdzfTGbZ.system.js.map} +1 -1
  288. package/dist/pine-core/{p-DiJV28pi.system.js.map → p-CkoeYrxa.system.js.map} +1 -1
  289. package/dist/pine-core/{p-DKSZziVY.system.js.map → p-ClVQjta4.system.js.map} +1 -1
  290. package/dist/pine-core/{p-DS7q5AvX.system.js.map → p-D2UtaGL2.system.js.map} +1 -1
  291. package/dist/pine-core/{p-DN9puCWI.system.js.map → p-DGyATOIf.system.js.map} +1 -1
  292. package/dist/pine-core/p-DMeT5CsE.system.js.map +1 -0
  293. package/dist/pine-core/{p-CsM74dxm.system.js.map → p-DVhX1_nD.system.js.map} +1 -1
  294. package/dist/pine-core/p-DeW-6a7f.system.js.map +1 -0
  295. package/dist/pine-core/{p-BOJnNd1p.system.js.map → p-DgTp_KeO.system.js.map} +1 -1
  296. package/dist/pine-core/p-DjXmy34u.system.js.map +1 -0
  297. package/dist/pine-core/{p-_4gljHh-.js → p-DpOSrebJ.js} +1 -1
  298. package/dist/pine-core/p-DpOSrebJ.js.map +1 -0
  299. package/dist/pine-core/{p-B4W0_y2p.system.js → p-DyDReOdO.system.js} +1 -1
  300. package/dist/pine-core/p-DyDReOdO.system.js.map +1 -0
  301. package/dist/pine-core/{p-CLNi-hRD.system.js.map → p-EqAbQY8l.system.js.map} +1 -1
  302. package/dist/pine-core/p-Ke8SGZqs.system.js.map +1 -0
  303. package/dist/pine-core/{p-D-4Xbxlj.system.js.map → p-Mqxw-gWj.system.js.map} +1 -1
  304. package/dist/pine-core/{p-D5vuiRx2.system.js.map → p-PPIMiuZX.system.js.map} +1 -1
  305. package/dist/pine-core/{p-CnPERKGo.system.js.map → p-UhZHDNH2.system.js.map} +1 -1
  306. package/dist/pine-core/{p-d2ccda59.system.entry.js → p-a556a328.system.entry.js} +2 -2
  307. package/dist/pine-core/{p-6a2296e6.system.entry.js → p-a98cda38.system.entry.js} +2 -2
  308. package/dist/pine-core/{p-3f82ac77.system.entry.js → p-ab7e4700.system.entry.js} +2 -2
  309. package/dist/pine-core/{p-3798a631.system.entry.js → p-aeaae417.system.entry.js} +2 -2
  310. package/dist/pine-core/{p-b7ba6316.entry.js → p-b2820acd.entry.js} +2 -2
  311. package/dist/pine-core/{p-2296c34f.entry.js → p-bf699bad.entry.js} +2 -2
  312. package/dist/pine-core/{p-7b38e384.system.entry.js → p-c1909a5d.system.entry.js} +2 -2
  313. package/dist/pine-core/{p-984578f8.system.entry.js → p-c551191a.system.entry.js} +2 -2
  314. package/dist/pine-core/{p-1bd715ee.system.entry.js → p-c5e1ed09.system.entry.js} +2 -2
  315. package/dist/pine-core/p-c5e1ed09.system.entry.js.map +1 -0
  316. package/dist/pine-core/{p-596e0292.system.entry.js → p-cc21ddcc.system.entry.js} +2 -2
  317. package/dist/pine-core/{p-b2796d3c.system.entry.js → p-d0adaca0.system.entry.js} +2 -2
  318. package/dist/pine-core/{p-722012ac.entry.js → p-d28768d1.entry.js} +2 -2
  319. package/dist/pine-core/{p-24607f93.entry.js → p-d35b3494.entry.js} +2 -2
  320. package/dist/pine-core/{p-730221a8.system.entry.js → p-d553e05c.system.entry.js} +2 -2
  321. package/dist/pine-core/{p-04df41d7.system.entry.js → p-d6d453d8.system.entry.js} +2 -2
  322. package/dist/pine-core/p-dcda4ff5.system.entry.js +2 -0
  323. package/dist/pine-core/{p-1224c874.entry.js → p-ddcc4932.entry.js} +2 -2
  324. package/dist/pine-core/{p-c1b0f921.system.entry.js → p-de550d9e.system.entry.js} +2 -2
  325. package/dist/pine-core/p-dfd5a5b6.system.entry.js +2 -0
  326. package/dist/pine-core/p-dfd5a5b6.system.entry.js.map +1 -0
  327. package/dist/pine-core/p-e562ad73.system.entry.js +2 -0
  328. package/dist/pine-core/p-e562ad73.system.entry.js.map +1 -0
  329. package/dist/pine-core/p-e9f004c5.entry.js +2 -0
  330. package/dist/pine-core/p-e9f004c5.entry.js.map +1 -0
  331. package/dist/pine-core/{p-71265b2a.system.entry.js → p-f46c4618.system.entry.js} +2 -2
  332. package/dist/pine-core/{p-761946a0.entry.js → p-f6b226df.entry.js} +2 -2
  333. package/dist/pine-core/{p-bcc4edaa.entry.js → p-f99c59a8.entry.js} +2 -2
  334. package/dist/pine-core/{p-b3d05184.entry.js → p-fb1eb0c4.entry.js} +2 -2
  335. package/dist/pine-core/{p-367e188f.entry.js → p-fb2fb435.entry.js} +2 -2
  336. package/dist/pine-core/p-fd1ef1e1.entry.js +2 -0
  337. package/dist/pine-core/{p-85ff1482.entry.js → p-fdf3a5ff.entry.js} +2 -2
  338. package/dist/pine-core/p-fed5f55e.system.entry.js +2 -0
  339. package/dist/pine-core/pds-button.entry.esm.js.map +1 -1
  340. package/dist/pine-core/pds-chip.entry.esm.js.map +1 -1
  341. package/dist/pine-core/pds-input.entry.esm.js.map +1 -1
  342. package/dist/pine-core/pds-select.entry.esm.js.map +1 -1
  343. package/dist/pine-core/pds-tooltip.entry.esm.js.map +1 -1
  344. package/dist/pine-core/pine-core.esm.js +1 -1
  345. package/dist/types/components/pds-chip/pds-chip.d.ts +9 -1
  346. package/dist/types/components/pds-input/pds-input.d.ts +57 -9
  347. package/dist/types/components/pds-select/pds-select.d.ts +4 -0
  348. package/dist/types/components/pds-tooltip/pds-tooltip.d.ts +3 -0
  349. package/dist/types/components.d.ts +70 -6
  350. package/hydrate/index.js +187 -73
  351. package/hydrate/index.mjs +187 -73
  352. package/package.json +2 -2
  353. package/dist/cjs/index-CG2Rr2io.js.map +0 -1
  354. package/dist/esm/index-_4gljHh-.js.map +0 -1
  355. package/dist/esm-es5/index-_4gljHh-.js.map +0 -1
  356. package/dist/pine-core/p-0069abf8.system.entry.js +0 -2
  357. package/dist/pine-core/p-0069abf8.system.entry.js.map +0 -1
  358. package/dist/pine-core/p-1bd715ee.system.entry.js.map +0 -1
  359. package/dist/pine-core/p-1eec6bea.system.entry.js +0 -2
  360. package/dist/pine-core/p-1eec6bea.system.entry.js.map +0 -1
  361. package/dist/pine-core/p-21c3aaeb.entry.js +0 -2
  362. package/dist/pine-core/p-29ad0b86.entry.js +0 -2
  363. package/dist/pine-core/p-29ad0b86.entry.js.map +0 -1
  364. package/dist/pine-core/p-32bd3e33.entry.js +0 -2
  365. package/dist/pine-core/p-32bd3e33.entry.js.map +0 -1
  366. package/dist/pine-core/p-49265849.system.entry.js +0 -2
  367. package/dist/pine-core/p-71f01676.system.entry.js +0 -2
  368. package/dist/pine-core/p-742d4490.entry.js +0 -2
  369. package/dist/pine-core/p-742d4490.entry.js.map +0 -1
  370. package/dist/pine-core/p-7e92ec48.system.entry.js +0 -2
  371. package/dist/pine-core/p-7e92ec48.system.entry.js.map +0 -1
  372. package/dist/pine-core/p-7ff213bb.system.entry.js +0 -2
  373. package/dist/pine-core/p-8023086c.entry.js +0 -2
  374. package/dist/pine-core/p-8023086c.entry.js.map +0 -1
  375. package/dist/pine-core/p-929bb7ab.system.entry.js +0 -2
  376. package/dist/pine-core/p-B4W0_y2p.system.js.map +0 -1
  377. package/dist/pine-core/p-BO1OsmVU.system.js.map +0 -1
  378. package/dist/pine-core/p-CtAVdPaE.system.js.map +0 -1
  379. package/dist/pine-core/p-D8DRYw9w.system.js.map +0 -1
  380. package/dist/pine-core/p-DyQ_s5MV.system.js.map +0 -1
  381. package/dist/pine-core/p-_4gljHh-.js.map +0 -1
  382. package/dist/pine-core/p-abec6606.entry.js +0 -2
  383. package/dist/pine-core/p-abec6606.entry.js.map +0 -1
  384. package/dist/pine-core/p-b9c13f99.entry.js +0 -2
  385. package/dist/pine-core/p-d1b222f5.entry.js +0 -2
  386. package/dist/pine-core/p-e09a3682.system.entry.js +0 -2
  387. package/dist/pine-core/p-e09a3682.system.entry.js.map +0 -1
  388. package/dist/pine-core/p-e6d6e103.entry.js +0 -2
  389. package/dist/pine-core/p-xgOOHGQo.system.js.map +0 -1
  390. /package/dist/pine-core/{p-833f08f3.entry.js.map → p-04195bdb.entry.js.map} +0 -0
  391. /package/dist/pine-core/{p-4288c861.entry.js.map → p-07f45626.entry.js.map} +0 -0
  392. /package/dist/pine-core/{p-0572825b.entry.js.map → p-0a11384e.entry.js.map} +0 -0
  393. /package/dist/pine-core/{p-28e28f42.system.entry.js.map → p-0a87e2fc.system.entry.js.map} +0 -0
  394. /package/dist/pine-core/{p-71f01676.system.entry.js.map → p-0c30661b.system.entry.js.map} +0 -0
  395. /package/dist/pine-core/{p-146fcd44.entry.js.map → p-10e2feff.entry.js.map} +0 -0
  396. /package/dist/pine-core/{p-bd04212c.system.entry.js.map → p-13481ef5.system.entry.js.map} +0 -0
  397. /package/dist/pine-core/{p-c4294be2.entry.js.map → p-19c01019.entry.js.map} +0 -0
  398. /package/dist/pine-core/{p-f2c807ac.entry.js.map → p-1d395d27.entry.js.map} +0 -0
  399. /package/dist/pine-core/{p-4ff0838c.entry.js.map → p-2007a0b5.entry.js.map} +0 -0
  400. /package/dist/pine-core/{p-78cb1c40.system.entry.js.map → p-27c0ffda.system.entry.js.map} +0 -0
  401. /package/dist/pine-core/{p-21c3aaeb.entry.js.map → p-35917a1a.entry.js.map} +0 -0
  402. /package/dist/pine-core/{p-1b109c01.entry.js.map → p-3ea415b0.entry.js.map} +0 -0
  403. /package/dist/pine-core/{p-48e76945.system.entry.js.map → p-4b2aab79.system.entry.js.map} +0 -0
  404. /package/dist/pine-core/{p-77c3a10d.entry.js.map → p-51cc93b3.entry.js.map} +0 -0
  405. /package/dist/pine-core/{p-83252078.system.entry.js.map → p-5367f477.system.entry.js.map} +0 -0
  406. /package/dist/pine-core/{p-a2572675.system.entry.js.map → p-593df966.system.entry.js.map} +0 -0
  407. /package/dist/pine-core/{p-d6ac2862.system.entry.js.map → p-5a437fcd.system.entry.js.map} +0 -0
  408. /package/dist/pine-core/{p-c0f74199.entry.js.map → p-60fbeb1c.entry.js.map} +0 -0
  409. /package/dist/pine-core/{p-e6d6e103.entry.js.map → p-65a875f6.entry.js.map} +0 -0
  410. /package/dist/pine-core/{p-30142a25.system.entry.js.map → p-6a7936e7.system.entry.js.map} +0 -0
  411. /package/dist/pine-core/{p-86d388a2.entry.js.map → p-76f7cf21.entry.js.map} +0 -0
  412. /package/dist/pine-core/{p-121e03ad.system.entry.js.map → p-78327c08.system.entry.js.map} +0 -0
  413. /package/dist/pine-core/{p-e2dc81c0.entry.js.map → p-78f29270.entry.js.map} +0 -0
  414. /package/dist/pine-core/{p-83c632f6.system.entry.js.map → p-79cb7835.system.entry.js.map} +0 -0
  415. /package/dist/pine-core/{p-e9d972db.system.entry.js.map → p-7bb3a5d4.system.entry.js.map} +0 -0
  416. /package/dist/pine-core/{p-17d3fa8b.entry.js.map → p-80f36506.entry.js.map} +0 -0
  417. /package/dist/pine-core/{p-f47133fd.entry.js.map → p-8180b641.entry.js.map} +0 -0
  418. /package/dist/pine-core/{p-a394645a.system.entry.js.map → p-833b2170.system.entry.js.map} +0 -0
  419. /package/dist/pine-core/{p-83ffc1cc.entry.js.map → p-86329612.entry.js.map} +0 -0
  420. /package/dist/pine-core/{p-cd2cd116.entry.js.map → p-8f06b020.entry.js.map} +0 -0
  421. /package/dist/pine-core/{p-78fb945e.system.entry.js.map → p-959c8247.system.entry.js.map} +0 -0
  422. /package/dist/pine-core/{p-f9e01886.system.entry.js.map → p-96e9774e.system.entry.js.map} +0 -0
  423. /package/dist/pine-core/{p-929bb7ab.system.entry.js.map → p-9c01e81b.system.entry.js.map} +0 -0
  424. /package/dist/pine-core/{p-d2ccda59.system.entry.js.map → p-a556a328.system.entry.js.map} +0 -0
  425. /package/dist/pine-core/{p-6a2296e6.system.entry.js.map → p-a98cda38.system.entry.js.map} +0 -0
  426. /package/dist/pine-core/{p-3f82ac77.system.entry.js.map → p-ab7e4700.system.entry.js.map} +0 -0
  427. /package/dist/pine-core/{p-3798a631.system.entry.js.map → p-aeaae417.system.entry.js.map} +0 -0
  428. /package/dist/pine-core/{p-b7ba6316.entry.js.map → p-b2820acd.entry.js.map} +0 -0
  429. /package/dist/pine-core/{p-2296c34f.entry.js.map → p-bf699bad.entry.js.map} +0 -0
  430. /package/dist/pine-core/{p-7b38e384.system.entry.js.map → p-c1909a5d.system.entry.js.map} +0 -0
  431. /package/dist/pine-core/{p-984578f8.system.entry.js.map → p-c551191a.system.entry.js.map} +0 -0
  432. /package/dist/pine-core/{p-596e0292.system.entry.js.map → p-cc21ddcc.system.entry.js.map} +0 -0
  433. /package/dist/pine-core/{p-b2796d3c.system.entry.js.map → p-d0adaca0.system.entry.js.map} +0 -0
  434. /package/dist/pine-core/{p-722012ac.entry.js.map → p-d28768d1.entry.js.map} +0 -0
  435. /package/dist/pine-core/{p-24607f93.entry.js.map → p-d35b3494.entry.js.map} +0 -0
  436. /package/dist/pine-core/{p-730221a8.system.entry.js.map → p-d553e05c.system.entry.js.map} +0 -0
  437. /package/dist/pine-core/{p-04df41d7.system.entry.js.map → p-d6d453d8.system.entry.js.map} +0 -0
  438. /package/dist/pine-core/{p-49265849.system.entry.js.map → p-dcda4ff5.system.entry.js.map} +0 -0
  439. /package/dist/pine-core/{p-1224c874.entry.js.map → p-ddcc4932.entry.js.map} +0 -0
  440. /package/dist/pine-core/{p-c1b0f921.system.entry.js.map → p-de550d9e.system.entry.js.map} +0 -0
  441. /package/dist/pine-core/{p-71265b2a.system.entry.js.map → p-f46c4618.system.entry.js.map} +0 -0
  442. /package/dist/pine-core/{p-761946a0.entry.js.map → p-f6b226df.entry.js.map} +0 -0
  443. /package/dist/pine-core/{p-bcc4edaa.entry.js.map → p-f99c59a8.entry.js.map} +0 -0
  444. /package/dist/pine-core/{p-b3d05184.entry.js.map → p-fb1eb0c4.entry.js.map} +0 -0
  445. /package/dist/pine-core/{p-367e188f.entry.js.map → p-fb2fb435.entry.js.map} +0 -0
  446. /package/dist/pine-core/{p-b9c13f99.entry.js.map → p-fd1ef1e1.entry.js.map} +0 -0
  447. /package/dist/pine-core/{p-85ff1482.entry.js.map → p-fdf3a5ff.entry.js.map} +0 -0
  448. /package/dist/pine-core/{p-7ff213bb.system.entry.js.map → p-fed5f55e.system.entry.js.map} +0 -0
@@ -33,7 +33,7 @@ export class PdsRow {
33
33
  })), (this.minHeight && {
34
34
  'min-height': this.minHeight,
35
35
  }));
36
- return h(Host, { key: '2e962d6f8edd5023b3d8d7c8192e4f4ea2b2d2be', class: `pds-row ${rowClasses}`, style: rowInlineStyles });
36
+ return h(Host, { key: '7641ed5798525661b1a100bfbce60ed271e76887', class: `pds-row ${rowClasses}`, style: rowInlineStyles });
37
37
  }
38
38
  static get is() { return "pds-row"; }
39
39
  static get originalStyleUrls() {
@@ -1,3 +1,15 @@
1
+ :host {
2
+ --pds-select-background: var(--pine-color-background-container);
3
+ --pds-select-border: var(--pine-border);
4
+ --pds-select-border-radius: var(--pine-dimension-125);
5
+ --pds-select-border-radius-start-end: var(--pine-dimension-125);
6
+ --pds-select-border-radius-start-start: var(--pine-dimension-125);
7
+ --pds-select-border-radius-end-end: var(--pine-dimension-125);
8
+ --pds-select-border-radius-end-start: var(--pine-dimension-125);
9
+ --pds-select-min-height: 36px;
10
+ --box-shadow-focus: 0 0 0 1px #ffffff, 0 0 0 3px var(--pine-color-focus-ring);
11
+ --box-shadow-focus-error: 0 0 0 1px #ffffff, 0 0 0 3px var(--pine-color-focus-ring-danger);
12
+ }
1
13
  :host .hidden,
2
14
  :host :host([hidden]) {
3
15
  display: none;
@@ -20,12 +32,17 @@ label {
20
32
 
21
33
  select {
22
34
  appearance: none;
23
- background: var(--pine-color-background-container);
24
- border: var(--pine-border);
25
- border-radius: var(--pine-dimension-125);
35
+ background-color: var(--pds-select-background);
36
+ border: var(--pds-select-border);
37
+ border-radius: var(--pds-select-border-radius);
38
+ border-bottom-left-radius: var(--pds-select-border-radius-end-start, var(--pds-select-border-radius));
39
+ border-bottom-right-radius: var(--pds-select-border-radius-end-end, var(--pds-select-border-radius));
40
+ border-top-left-radius: var(--pds-select-border-radius-start-start, var(--pds-select-border-radius));
41
+ border-top-right-radius: var(--pds-select-border-radius-start-end, var(--pds-select-border-radius));
26
42
  font: var(--pine-typography-body);
27
43
  grid-area: field;
28
44
  letter-spacing: var(--pine-letter-spacing);
45
+ min-height: var(--pds-select-min-height);
29
46
  padding: var(--pine-dimension-xs) var(--pine-dimension-150);
30
47
  padding-inline-end: var(--pine-dimension-450);
31
48
  position: relative;
@@ -84,8 +101,21 @@ select:has(~ .pds-select__message .pds-select__error-message):focus-visible {
84
101
  display: flex;
85
102
  grid-column: -1/-2;
86
103
  grid-row: 2/3;
87
- height: 2.5rem;
104
+ height: var(--pds-select-min-height);
88
105
  pointer-events: none;
89
106
  position: relative;
90
107
  z-index: 1;
108
+ }
109
+
110
+ .visually-hidden {
111
+ border: 0;
112
+ clip: rect(0 0 0 0);
113
+ clip-path: polygon(0 0, 0 0, 0 0);
114
+ height: 1px;
115
+ margin: -1px;
116
+ overflow: hidden;
117
+ padding: 0;
118
+ position: absolute;
119
+ white-space: nowrap;
120
+ width: 1px;
91
121
  }
@@ -114,8 +114,7 @@ export class PdsSelect {
114
114
  return classNames.join(' ');
115
115
  }
116
116
  render() {
117
- return (h(Host, { key: '2d39b1eac389e27eea511728ef668d4d548d0c09', "aria-disabled": this.disabled ? 'true' : null, class: this.classNames() }, h("div", { key: 'c0c4e64a19b7b11e0d64d94cbc529be7e455b12a', class: "pds-select" }, this.label &&
118
- h("label", { key: '9eadfcc4e6fd6d42f718eb0ad1542f7c03b67052', htmlFor: this.componentId }, this.label), h("select", { key: 'eb1d368ed4f765dead79f6101265e922bd06ca94', autocomplete: this.autocomplete || undefined, class: "pds-select__field", disabled: this.disabled, id: this.componentId, multiple: this.multiple, name: this.name, onChange: this.onSelectUpdate, required: this.required, ref: (el) => (this.selectEl = el) }), h("div", { key: '1dcbfe5d51e55af333e80bb99995cef1693f36c1', "aria-hidden": "true", class: "hidden", ref: (el) => (this.slotContainer = el) }, h("slot", { key: '4d0c76c632e9588dc178c859be5ef1fd474fa191', onSlotchange: this.handleSlotChange })), this.renderMessages(), !this.multiple && h("pds-icon", { key: '954d31034ed522ba128c9048998e92553592d12f', class: "pds-select__select-icon", icon: enlarge }))));
117
+ return (h(Host, { key: 'c0a0b391e6b5c35d5d3d7fce9d1f92583c582aa5', "aria-disabled": this.disabled ? 'true' : null, class: this.classNames() }, h("div", { key: '4f91cfcfcc570cf79d8e6a2f86d741f471489591', class: "pds-select" }, !this.hideLabel && (h("label", { key: '21fa83cfdad6a46be1efa22ebc4df696ca49b7b1', htmlFor: this.componentId }, h("span", { key: '760e46f98327c3b8e9ceb48ee158202ce42b8bb6', class: this.hideLabel ? 'visually-hidden' : '' }, this.label))), h("select", { key: '78d92779624d84df9ae73515bbda74d9d44a8919', "aria-label": this.hideLabel ? this.label : undefined, autocomplete: this.autocomplete || undefined, class: "pds-select__field", disabled: this.disabled, id: this.componentId, multiple: this.multiple, name: this.name, onChange: this.onSelectUpdate, part: "select", required: this.required, ref: (el) => (this.selectEl = el) }), h("div", { key: '9a75bf791747df08018d59de49855410c6dc2312', "aria-hidden": "true", class: "hidden", ref: (el) => (this.slotContainer = el) }, h("slot", { key: '1a974b4e171971e922aa04e9a56d6e6f26635724', onSlotchange: this.handleSlotChange })), this.renderMessages(), !this.multiple && h("pds-icon", { key: '9cbc569418617092229d660b34b2c17a2826c878', class: "pds-select__select-icon", icon: enlarge }))));
119
118
  }
120
119
  static get is() { return "pds-select"; }
121
120
  static get encapsulation() { return "shadow"; }
@@ -211,6 +210,25 @@ export class PdsSelect {
211
210
  "attribute": "error-message",
212
211
  "reflect": false
213
212
  },
213
+ "hideLabel": {
214
+ "type": "boolean",
215
+ "mutable": false,
216
+ "complexType": {
217
+ "original": "boolean",
218
+ "resolved": "boolean",
219
+ "references": {}
220
+ },
221
+ "required": false,
222
+ "optional": false,
223
+ "docs": {
224
+ "tags": [],
225
+ "text": "Visually hides the label text for instances where only the checkbox should be displayed. Label remains accessible to assistive technology such as screen readers."
226
+ },
227
+ "getter": false,
228
+ "setter": false,
229
+ "attribute": "hide-label",
230
+ "reflect": false
231
+ },
214
232
  "helperMessage": {
215
233
  "type": "string",
216
234
  "mutable": false,
@@ -1 +1 @@
1
- {"version":3,"file":"pds-select.js","sourceRoot":"","sources":["../../../src/components/pds-select/pds-select.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Event, EventEmitter, Host, h, Prop, Watch } from '@stencil/core';\nimport { messageId } from '../../utils/form';\nimport { danger, enlarge } from '@pine-ds/icons/icons';\n\n@Component({\n tag: 'pds-select',\n styleUrls: ['pds-select.tokens.scss', '../../global/styles/utils/label.scss', 'pds-select.scss'],\n shadow: true,\n})\nexport class PdsSelect {\n\n private selectEl!: HTMLSelectElement;\n private slotContainer!: HTMLDivElement;\n\n /**\n * Specifies if and how the browser provides `autocomplete` assistance for the field.\n */\n @Prop() autocomplete: string;\n\n /**\n * A unique identifier used for the underlying component `id` attribute.\n */\n @Prop() componentId!: string;\n\n /**\n * Indicates whether or not the select field is disabled.\n * @defaultValue false\n */\n @Prop() disabled = false\n\n /**\n * Displays error message text describing an invalid state.\n */\n @Prop() errorMessage: string;\n\n /**\n * Displays helper message text below select.\n */\n @Prop() helperMessage: string;\n\n /**\n * Determines whether or not the select is invalid.\n */\n @Prop() invalid?: boolean;\n\n /**\n * Text to be displayed as the select label.\n */\n @Prop() label?: string;\n\n /**\n * Indicates whether multiple options can be selected.\n * @defaultValue false\n */\n @Prop() multiple = false;\n\n /**\n * Specifies the name. Submitted with the form name/value pair.\n */\n @Prop() name!: string;\n\n /**\n * Indicates whether or not the select field is required.\n * @defaultValue false\n */\n @Prop() required = false;\n\n /**\n * The value(s) of the selected option(s).\n *\n */\n @Prop({ mutable: true }) value?: string | string[];\n\n /**\n * Emitted when a keyboard input occurs.\n */\n @Event() pdsSelectChange: EventEmitter<InputEvent>;\n\n @Watch('value')\n /**\n * Handles the change in the value of the select component.\n * This method is called whenever the value of the select component changes.\n * It updates the selected option accordingly.\n */\n valueChanged() {\n this.updateSelectedOption();\n }\n\n componentWillLoad() {\n this.updateSelectedOption();\n }\n\n /**\n * Updates the selected option in the select element based on the current value.\n *\n * This method iterates through all the options of the select element and sets the\n * 'selected' attribute on the option that matches the current value. If an option\n * does not match the current value, the 'selected' attribute is removed.\n *\n * @private\n * @returns {void}\n */\n private updateSelectedOption() {\n if (this.selectEl) {\n const options = this.selectEl.options;\n\n // Update the selected attribute for all options.\n Array.from(options).map((option: HTMLOptionElement) => {\n if (Array.isArray(this.value)) {\n option.selected = this.value.includes(option.value);\n } else {\n option.selected = this.value === option.value;\n }\n });\n };\n }\n\n /**\n * Emits an event on input change.\n */\n private onSelectUpdate = (e: Event) => {\n const target = e.target as HTMLSelectElement\n\n const values = Array.from(target.options)\n .filter((option) => ( option.selected))\n .map((option) => ( option.value));\n\n if (values.length === 1 && !this.multiple) {\n this.value = values[0];\n } else {\n this.value = values;\n }\n\n this.pdsSelectChange.emit(e as InputEvent);\n };\n\n /**\n * Handles the change event for the slot element.\n * This method is triggered when the slot content changes.\n * It updates the inner HTML of the select element by cloning and appending\n * the assigned <option> elements from the slot.\n */\n private handleSlotChange = () => {\n const slot = this.slotContainer.querySelector('slot') as HTMLSlotElement;\n\n this.selectEl.innerHTML = '';\n const assignedElements = slot.assignedElements({ flatten: true }) as (HTMLOptionElement | HTMLOptGroupElement)[];\n\n assignedElements.forEach((item) => {\n if ( ['OPTION', 'OPTGROUP'].includes(item.tagName)) {\n const clonedItem = item.cloneNode(true) as HTMLOptionElement | HTMLOptGroupElement;\n if (clonedItem.tagName === 'OPTION' && (clonedItem as HTMLOptionElement).value === this.value) {\n (clonedItem as HTMLOptionElement).selected = true;\n }\n this.selectEl.appendChild(clonedItem);\n }\n });\n\n this.updateSelectedOption();\n };\n\n private getHelperMessage() {\n return this.helperMessage && (\n <p class=\"pds-select__helper-message\" id={messageId(this.componentId, 'helper')}>\n {this.helperMessage}\n </p>\n );\n }\n\n private getErrorMessage() {\n return this.errorMessage && (\n <p class=\"pds-select__error-message\" id={messageId(this.componentId, 'error')} aria-live=\"assertive\">\n <pds-icon icon={danger} size=\"small\"></pds-icon>\n {this.errorMessage}\n </p>\n );\n }\n\n private renderMessages() {\n if (!this.helperMessage && !this.errorMessage) return null;\n\n return (\n <div class=\"pds-select__message\">\n {this.getHelperMessage()}\n {this.getErrorMessage()}\n </div>\n );\n }\n\n private classNames() {\n const classNames = [];\n\n if (this.invalid) { classNames.push('is-invalid'); }\n if (this.disabled) { classNames.push('is-disabled'); }\n\n return classNames.join(' ');\n }\n\n render() {\n return (\n <Host aria-disabled={this.disabled ? 'true' : null} class={this.classNames()}>\n <div class=\"pds-select\">\n {this.label &&\n <label htmlFor={this.componentId}>{this.label}</label>\n }\n <select\n autocomplete={this.autocomplete || undefined}\n class=\"pds-select__field\"\n disabled={this.disabled}\n id={this.componentId}\n multiple={this.multiple}\n name={this.name}\n onChange={this.onSelectUpdate}\n required={this.required}\n ref={(el) => (this.selectEl = el as HTMLSelectElement)}\n ></select>\n <div aria-hidden=\"true\" class=\"hidden\" ref={(el) => (this.slotContainer = el)}>\n <slot onSlotchange={this.handleSlotChange}></slot>\n </div>\n {this.renderMessages()}\n {!this.multiple && <pds-icon class=\"pds-select__select-icon\" icon={enlarge} />}\n </div>\n </Host>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"pds-select.js","sourceRoot":"","sources":["../../../src/components/pds-select/pds-select.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,EAAgB,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACrF,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAOvD,MAAM,OAAO,SAAS;IALtB;QAoBE;;;WAGG;QACK,aAAQ,GAAG,KAAK,CAAA;QA2BxB;;;WAGG;QACK,aAAQ,GAAG,KAAK,CAAC;QAOzB;;;WAGG;QACK,aAAQ,GAAG,KAAK,CAAC;QAoDzB;;UAEE;QACM,mBAAc,GAAG,CAAC,CAAQ,EAAE,EAAE;YACpC,MAAM,MAAM,GAAG,CAAC,CAAC,MAA2B,CAAA;YAE5C,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;iBACpC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;iBACtC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;YAEtC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACxC,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YAC3B,CAAC;iBAAM,CAAC;gBACJ,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC;YACxB,CAAC;YAED,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAe,CAAC,CAAC;QAC7C,CAAC,CAAC;QAEF;;;;;WAKG;QACK,qBAAgB,GAAG,GAAG,EAAE;YAC9B,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,MAAM,CAAoB,CAAC;YAEzE,IAAI,CAAC,QAAQ,CAAC,SAAS,GAAG,EAAE,CAAC;YAC7B,MAAM,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAgD,CAAC;YAEjH,gBAAgB,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;gBAChC,IAAK,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;oBACnD,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAA4C,CAAC;oBACnF,IAAI,UAAU,CAAC,OAAO,KAAK,QAAQ,IAAK,UAAgC,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,EAAE,CAAC;wBAC7F,UAAgC,CAAC,QAAQ,GAAG,IAAI,CAAC;oBACpD,CAAC;oBACD,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;gBACxC,CAAC;YACH,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC9B,CAAC,CAAC;KAwEH;IAxJC;;;;OAIG;IACH,YAAY;QACV,IAAI,CAAC,oBAAoB,EAAE,CAAC;IAC9B,CAAC;IAED,iBAAiB;QACf,IAAI,CAAC,oBAAoB,EAAE,CAAC;IAC9B,CAAC;IAED;;;;;;;;;OASG;IACK,oBAAoB;QAC1B,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;YAEtC,iDAAiD;YACjD,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,MAAyB,EAAE,EAAE;gBACpD,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;oBAC9B,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBACtD,CAAC;qBAAM,CAAC;oBACN,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,KAAK,MAAM,CAAC,KAAK,CAAC;gBAChD,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;QAAA,CAAC;IACJ,CAAC;IA8CO,gBAAgB;QACtB,OAAO,IAAI,CAAC,aAAa,IAAI,CAC3B,SAAG,KAAK,EAAC,4BAA4B,EAAC,EAAE,EAAE,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,IAC5E,IAAI,CAAC,aAAa,CACjB,CACL,CAAC;IACJ,CAAC;IAEO,eAAe;QACrB,OAAO,IAAI,CAAC,YAAY,IAAI,CAC1B,SAAG,KAAK,EAAC,2BAA2B,EAAC,EAAE,EAAE,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,eAAY,WAAW;YAClG,gBAAU,IAAI,EAAE,MAAM,EAAE,IAAI,EAAC,OAAO,GAAY;YAC/C,IAAI,CAAC,YAAY,CAChB,CACL,CAAC;IACJ,CAAC;IAEO,cAAc;QACpB,IAAI,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,IAAI,CAAC,YAAY;YAAE,OAAO,IAAI,CAAC;QAE3D,OAAO,CACL,WAAK,KAAK,EAAC,qBAAqB;YAC7B,IAAI,CAAC,gBAAgB,EAAE;YACvB,IAAI,CAAC,eAAe,EAAE,CACnB,CACP,CAAC;IACJ,CAAC;IAEO,UAAU;QAChB,MAAM,UAAU,GAAG,EAAE,CAAC;QAEtB,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAAC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAAC,CAAC;QACpD,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAAC,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAAC,CAAC;QAEtD,OAAO,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;IAED,MAAM;QACJ,OAAO,CACL,EAAC,IAAI,sEAAgB,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,UAAU,EAAE;YAC1E,4DAAK,KAAK,EAAC,YAAY;gBACpB,CAAC,IAAI,CAAC,SAAS,IAAI,CAClB,8DAAO,OAAO,EAAE,IAAI,CAAC,WAAW;oBAC9B,6DAAM,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,IACjD,IAAI,CAAC,KAAK,CACN,CACD,CACT;gBACD,6EACc,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,EACnD,YAAY,EAAE,IAAI,CAAC,YAAY,IAAI,SAAS,EAC5C,KAAK,EAAC,mBAAmB,EACzB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,EAAE,EAAE,IAAI,CAAC,WAAW,EACpB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,QAAQ,EAAE,IAAI,CAAC,cAAc,EAC7B,IAAI,EAAC,QAAQ,EACb,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,GAAG,EAAuB,CAAC,GAC9C;gBACV,2EAAiB,MAAM,EAAC,KAAK,EAAC,QAAQ,EAAC,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;oBAC3E,6DAAM,YAAY,EAAE,IAAI,CAAC,gBAAgB,GAAS,CAC9C;gBACL,IAAI,CAAC,cAAc,EAAE;gBACrB,CAAC,IAAI,CAAC,QAAQ,IAAI,iEAAU,KAAK,EAAC,yBAAyB,EAAC,IAAI,EAAE,OAAO,GAAI,CAC1E,CACD,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, Event, EventEmitter, Host, h, Prop, Watch } from '@stencil/core';\nimport { messageId } from '../../utils/form';\nimport { danger, enlarge } from '@pine-ds/icons/icons';\n\n@Component({\n tag: 'pds-select',\n styleUrls: ['pds-select.tokens.scss', '../../global/styles/utils/label.scss', 'pds-select.scss'],\n shadow: true,\n})\nexport class PdsSelect {\n\n private selectEl!: HTMLSelectElement;\n private slotContainer!: HTMLDivElement;\n\n /**\n * Specifies if and how the browser provides `autocomplete` assistance for the field.\n */\n @Prop() autocomplete: string;\n\n /**\n * A unique identifier used for the underlying component `id` attribute.\n */\n @Prop() componentId!: string;\n\n /**\n * Indicates whether or not the select field is disabled.\n * @defaultValue false\n */\n @Prop() disabled = false\n\n /**\n * Displays error message text describing an invalid state.\n */\n @Prop() errorMessage: string;\n\n /**\n * Visually hides the label text for instances where only the checkbox should be displayed. Label remains accessible to assistive technology such as screen readers.\n */\n @Prop() hideLabel: boolean;\n\n /**\n * Displays helper message text below select.\n */\n @Prop() helperMessage: string;\n\n /**\n * Determines whether or not the select is invalid.\n */\n @Prop() invalid?: boolean;\n\n /**\n * Text to be displayed as the select label.\n */\n @Prop() label?: string;\n\n /**\n * Indicates whether multiple options can be selected.\n * @defaultValue false\n */\n @Prop() multiple = false;\n\n /**\n * Specifies the name. Submitted with the form name/value pair.\n */\n @Prop() name!: string;\n\n /**\n * Indicates whether or not the select field is required.\n * @defaultValue false\n */\n @Prop() required = false;\n\n /**\n * The value(s) of the selected option(s).\n *\n */\n @Prop({ mutable: true }) value?: string | string[];\n\n /**\n * Emitted when a keyboard input occurs.\n */\n @Event() pdsSelectChange: EventEmitter<InputEvent>;\n\n @Watch('value')\n /**\n * Handles the change in the value of the select component.\n * This method is called whenever the value of the select component changes.\n * It updates the selected option accordingly.\n */\n valueChanged() {\n this.updateSelectedOption();\n }\n\n componentWillLoad() {\n this.updateSelectedOption();\n }\n\n /**\n * Updates the selected option in the select element based on the current value.\n *\n * This method iterates through all the options of the select element and sets the\n * 'selected' attribute on the option that matches the current value. If an option\n * does not match the current value, the 'selected' attribute is removed.\n *\n * @private\n * @returns {void}\n */\n private updateSelectedOption() {\n if (this.selectEl) {\n const options = this.selectEl.options;\n\n // Update the selected attribute for all options.\n Array.from(options).map((option: HTMLOptionElement) => {\n if (Array.isArray(this.value)) {\n option.selected = this.value.includes(option.value);\n } else {\n option.selected = this.value === option.value;\n }\n });\n };\n }\n\n /**\n * Emits an event on input change.\n */\n private onSelectUpdate = (e: Event) => {\n const target = e.target as HTMLSelectElement\n\n const values = Array.from(target.options)\n .filter((option) => ( option.selected))\n .map((option) => ( option.value));\n\n if (values.length === 1 && !this.multiple) {\n this.value = values[0];\n } else {\n this.value = values;\n }\n\n this.pdsSelectChange.emit(e as InputEvent);\n };\n\n /**\n * Handles the change event for the slot element.\n * This method is triggered when the slot content changes.\n * It updates the inner HTML of the select element by cloning and appending\n * the assigned <option> elements from the slot.\n */\n private handleSlotChange = () => {\n const slot = this.slotContainer.querySelector('slot') as HTMLSlotElement;\n\n this.selectEl.innerHTML = '';\n const assignedElements = slot.assignedElements({ flatten: true }) as (HTMLOptionElement | HTMLOptGroupElement)[];\n\n assignedElements.forEach((item) => {\n if ( ['OPTION', 'OPTGROUP'].includes(item.tagName)) {\n const clonedItem = item.cloneNode(true) as HTMLOptionElement | HTMLOptGroupElement;\n if (clonedItem.tagName === 'OPTION' && (clonedItem as HTMLOptionElement).value === this.value) {\n (clonedItem as HTMLOptionElement).selected = true;\n }\n this.selectEl.appendChild(clonedItem);\n }\n });\n\n this.updateSelectedOption();\n };\n\n private getHelperMessage() {\n return this.helperMessage && (\n <p class=\"pds-select__helper-message\" id={messageId(this.componentId, 'helper')}>\n {this.helperMessage}\n </p>\n );\n }\n\n private getErrorMessage() {\n return this.errorMessage && (\n <p class=\"pds-select__error-message\" id={messageId(this.componentId, 'error')} aria-live=\"assertive\">\n <pds-icon icon={danger} size=\"small\"></pds-icon>\n {this.errorMessage}\n </p>\n );\n }\n\n private renderMessages() {\n if (!this.helperMessage && !this.errorMessage) return null;\n\n return (\n <div class=\"pds-select__message\">\n {this.getHelperMessage()}\n {this.getErrorMessage()}\n </div>\n );\n }\n\n private classNames() {\n const classNames = [];\n\n if (this.invalid) { classNames.push('is-invalid'); }\n if (this.disabled) { classNames.push('is-disabled'); }\n\n return classNames.join(' ');\n }\n\n render() {\n return (\n <Host aria-disabled={this.disabled ? 'true' : null} class={this.classNames()}>\n <div class=\"pds-select\">\n {!this.hideLabel && (\n <label htmlFor={this.componentId}>\n <span class={this.hideLabel ? 'visually-hidden' : ''}>\n {this.label}\n </span>\n </label>\n )}\n <select\n aria-label={this.hideLabel ? this.label : undefined}\n autocomplete={this.autocomplete || undefined}\n class=\"pds-select__field\"\n disabled={this.disabled}\n id={this.componentId}\n multiple={this.multiple}\n name={this.name}\n onChange={this.onSelectUpdate}\n part=\"select\"\n required={this.required}\n ref={(el) => (this.selectEl = el as HTMLSelectElement)}\n ></select>\n <div aria-hidden=\"true\" class=\"hidden\" ref={(el) => (this.slotContainer = el)}>\n <slot onSlotchange={this.handleSlotChange}></slot>\n </div>\n {this.renderMessages()}\n {!this.multiple && <pds-icon class=\"pds-select__select-icon\" icon={enlarge} />}\n </div>\n </Host>\n );\n }\n}\n"]}
@@ -7,6 +7,7 @@ export default {
7
7
  autocomplete: null,
8
8
  disabled: false,
9
9
  errorMessage: null,
10
+ hideLabel: false,
10
11
  helperMessage: null,
11
12
  invalid: false,
12
13
  multiple: false,
@@ -52,6 +53,7 @@ const BaseTemplate = (args) =>
52
53
  disabled="${args.disabled}"
53
54
  error-message="${args.errorMessage}"
54
55
  helper-message="${args.helperMessage}"
56
+ hide-label="${args.hideLabel}"
55
57
  invalid="${args.invalid}"
56
58
  label="${args.label}"
57
59
  multiple="${args.multiple}"
@@ -25,7 +25,7 @@ export class PdsSortableItem {
25
25
  }
26
26
  }
27
27
  render() {
28
- return (h(Host, { key: 'b54ef05cc6a8f2dd3c6f7f971b32bd4566738600', class: "pds-sortable-item", id: this.componentId }, this.showHandle && (h("div", { key: 'fa402ec9c8ad9a75a73a23c28d2a5101bcf3d170', class: "pds-sortable-item__handle" }, h("pds-icon", { key: 'def73620ade698eccc0fb8abb4dfeb5b7de46c95', icon: handleIcon }))), h("slot", { key: 'd9dfcc135b7bd8bf893360798baa30297d4fb4ea' }), this.enableActions && (h("div", { key: 'd0852370b35b213238739cea2aa1c3dcd91cbd9d', class: "pds-sortable-item__actions" }, h("slot", { key: 'cbf966a4c56be43ced57e200b91d64e68f5077d9', name: "sortable-item-actions" })))));
28
+ return (h(Host, { key: 'b7817592ed6329f84e09ff5c5e200bc4305275bc', class: "pds-sortable-item", id: this.componentId }, this.showHandle && (h("div", { key: 'c31df5f0c81bd684ac60690044e2409d0cbc7831', class: "pds-sortable-item__handle" }, h("pds-icon", { key: 'ff764a5ef70560c073474a7a51f45dd89df53190', icon: handleIcon }))), h("slot", { key: 'e1f33a5e56b37405b7e46bff24dc91e4ece71870' }), this.enableActions && (h("div", { key: '569563f7c7d5b069888a8c3ee8e50fd3d626b1b2', class: "pds-sortable-item__actions" }, h("slot", { key: '9ca544725723703ddac0de3f0bb9a4b0884d1571', name: "sortable-item-actions" })))));
29
29
  }
30
30
  static get is() { return "pds-sortable-item"; }
31
31
  static get encapsulation() { return "scoped"; }
@@ -44,7 +44,7 @@ export class PdsSortable {
44
44
  Sortable.create(this.el, sortableOptions);
45
45
  }
46
46
  render() {
47
- return (h(Host, { key: 'cbbd28ad002093f627befee44c5ae911f86b0221', class: this.classNames(), id: this.componentId }, h("slot", { key: 'f4ef09a82d8e47b471a2463912fd37ac3b9b383f' })));
47
+ return (h(Host, { key: 'c5353036ad9b108f742e55b1a28ebb449cf556d0', class: this.classNames(), id: this.componentId }, h("slot", { key: 'cb71736fb3388f5829476c5b4802d5aa5f811ac7' })));
48
48
  }
49
49
  static get is() { return "pds-sortable"; }
50
50
  static get encapsulation() { return "scoped"; }
@@ -43,9 +43,9 @@ export class PdsSwitch {
43
43
  this.inheritedAttributes = Object.assign({}, inheritAriaAttributes(this.el));
44
44
  }
45
45
  render() {
46
- return (h(Host, { key: '04755f80f89f4eff8d44f8c8e76e6020f6be65fb', class: this.switchClassNames(), "aria-disabled": this.disabled ? 'true' : null }, h("label", { key: 'cdf1c4d58c640954ada9d50b4832fa26094b3476', htmlFor: this.componentId }, h("input", Object.assign({ key: 'f141885523b649f8dca4e9fe11494ebf640510bc', "aria-describedby": assignDescription(this.componentId, this.invalid, this.errorMessage || this.helperMessage), "aria-invalid": this.invalid ? "true" : undefined, checked: this.checked, class: "pds-switch__input", disabled: this.disabled, id: this.componentId, name: this.name ? this.name : this.componentId, onChange: this.onSwitchUpdate, required: this.required, type: "checkbox", value: this.value }, this.inheritedAttributes)), h("span", { key: 'f80b28bd0904dfae3a4e7b46bfecc46c82843764', class: this.hideLabel ? 'visually-hidden' : '' }, this.label)), this.helperMessage &&
47
- h("div", { key: '7b60b9c273f4773f9d0e90fd8132dc979c088183', class: `pds-switch__message`, id: messageId(this.componentId, 'helper') }, this.helperMessage), this.errorMessage &&
48
- h("div", { key: '9d068c8da41e985ff63851a909f985a80bdabf89', class: `pds-switch__message pds-switch__message--error`, id: messageId(this.componentId, 'error'), "aria-live": "assertive" }, h("pds-icon", { key: '14a69e6ce04e3434f440f19d6ea0e9b347a9b352', icon: danger, size: "small" }), this.errorMessage)));
46
+ return (h(Host, { key: 'c91cd6368fff2cbcc6b4974505d94139fa2722c5', class: this.switchClassNames(), "aria-disabled": this.disabled ? 'true' : null }, h("label", { key: 'e46f5f6a8073236ec0d55b2bcc8087dc32ad5a68', htmlFor: this.componentId }, h("input", Object.assign({ key: '9a2db3481c6c5e223819066df34bc220a139df03', "aria-describedby": assignDescription(this.componentId, this.invalid, this.errorMessage || this.helperMessage), "aria-invalid": this.invalid ? "true" : undefined, checked: this.checked, class: "pds-switch__input", disabled: this.disabled, id: this.componentId, name: this.name ? this.name : this.componentId, onChange: this.onSwitchUpdate, required: this.required, type: "checkbox", value: this.value }, this.inheritedAttributes)), h("span", { key: 'c3b138eb7b6800d01e5676e94c17988c8a52d4b2', class: this.hideLabel ? 'visually-hidden' : '' }, this.label)), this.helperMessage &&
47
+ h("div", { key: 'fcaaa0ea30c8ad155a0b43004e77549abf888a57', class: `pds-switch__message`, id: messageId(this.componentId, 'helper') }, this.helperMessage), this.errorMessage &&
48
+ h("div", { key: '045311e393d47bebd536d8fbe220260d112ceb3f', class: `pds-switch__message pds-switch__message--error`, id: messageId(this.componentId, 'error'), "aria-live": "assertive" }, h("pds-icon", { key: '035488794764ffaee3275edfa9a3e9fad2d11ddb', icon: danger, size: "small" }), this.errorMessage)));
49
49
  }
50
50
  static get is() { return "pds-switch"; }
51
51
  static get encapsulation() { return "shadow"; }
@@ -1,7 +1,7 @@
1
1
  import { Host, h } from "@stencil/core";
2
2
  export class PdsTableBody {
3
3
  render() {
4
- return (h(Host, { key: 'ec68d794fd59876a83f40077d29e97af4366f19a', role: "rowgroup" }, h("slot", { key: '9d052cdf3c0ea8afa86a6900d492c9de5c9adaf1' })));
4
+ return (h(Host, { key: 'ac8d361f2d78eb929c17523843d2ca0ac53f6789', role: "rowgroup" }, h("slot", { key: '132782ab9466a9dbd4350247aae762d731e7aa71' })));
5
5
  }
6
6
  static get is() { return "pds-table-body"; }
7
7
  static get encapsulation() { return "shadow"; }
@@ -37,11 +37,11 @@ export class PdsTableCell {
37
37
  return classNames.join(' ');
38
38
  }
39
39
  render() {
40
- return (h(Host, { key: 'f86b2ae5eaee0f3bcb1cd55951a0e83bce4ccfca', class: this.classNames(), role: "gridcell", style: this.tableRef &&
40
+ return (h(Host, { key: '801c1c1de26cb633280f308274861e8fd3629091', class: this.classNames(), role: "gridcell", style: this.tableRef &&
41
41
  this.tableRef.fixedColumn &&
42
42
  this.tableRef.selectable
43
43
  ? { '--fixed-cell-position': '40px' }
44
- : {} }, h("slot", { key: '347d6487bc869bf9903c5e1fb8b05ca29d6e6d50' })));
44
+ : {} }, h("slot", { key: '0000fae3c9f199e3e80328afa7dd4347f429980b' })));
45
45
  }
46
46
  static get is() { return "pds-table-cell"; }
47
47
  static get encapsulation() { return "shadow"; }
@@ -32,7 +32,7 @@ export class PdsTableHead {
32
32
  }
33
33
  }
34
34
  render() {
35
- return (h(Host, { key: 'f74bfa35afc2f26957ffff431c5438fbb159e15b', role: "row" }, this.tableRef && this.tableRef.selectable && (h("pds-table-head-cell", { key: '13bcfb69c1e8ab696ba702d39209944fa97f34ea', part: this.tableRef.selectable ? 'checkbox-cell' : '' }, h("pds-checkbox", { key: '898170f579ad89627621bb693908b1b04ca25f83', componentId: this.generateUniqueId(), indeterminate: this.indeterminate, onInput: this.handleInput, label: "Select All Rows", hideLabel: true, checked: this.isSelected }))), h("slot", { key: 'd7dc459310c32ee112e05df947b8c9da57180035' })));
35
+ return (h(Host, { key: '38eaecd17a328791e5993d020a490f63f67cd9d5', role: "row" }, this.tableRef && this.tableRef.selectable && (h("pds-table-head-cell", { key: '438086205f3e018f597c868e98f300d28c4f3384', part: this.tableRef.selectable ? 'checkbox-cell' : '' }, h("pds-checkbox", { key: '835bbe3c1f3a0fcb217f62cf862b9ea80ddff38e', componentId: this.generateUniqueId(), indeterminate: this.indeterminate, onInput: this.handleInput, label: "Select All Rows", hideLabel: true, checked: this.isSelected }))), h("slot", { key: 'aa5507016e20951eab86f62680720c54de5a5a86' })));
36
36
  }
37
37
  static get is() { return "pds-table-head"; }
38
38
  static get encapsulation() { return "shadow"; }
@@ -61,11 +61,11 @@ export class PdsTableHeadCell {
61
61
  return classNames.join(' ');
62
62
  }
63
63
  render() {
64
- return (h(Host, { key: '9f9138f88914add530416fbf776d5a68685a3fab', class: this.classNames(), role: "columnheader", onClick: this.toggleSort, style: this.tableRef &&
64
+ return (h(Host, { key: '2e75e9b8d1254ec21c786fd7e8304aaf38b26377', class: this.classNames(), role: "columnheader", onClick: this.toggleSort, style: this.tableRef &&
65
65
  this.tableRef.fixedColumn &&
66
66
  this.tableRef.selectable
67
67
  ? { '--fixed-cell-position': '40px' }
68
- : {} }, h("slot", { key: '84d3c20fc656b468d6c46cc9f5a8c49071af7d04' }), this.sortable && (h("pds-icon", { key: '4ad357565f9542604c16ade571bc5e55b4fa1077', icon: this.sortingDirection === 'asc' ? upSmall : downSmall }))));
68
+ : {} }, h("slot", { key: 'f9c7aae07eb7907a18dcf1a59813a2810341f2e9' }), this.sortable && (h("pds-icon", { key: 'd24a2f2c1db5bb15216ba64bc5a7299e18c23626', icon: this.sortingDirection === 'asc' ? upSmall : downSmall }))));
69
69
  }
70
70
  static get is() { return "pds-table-head-cell"; }
71
71
  static get encapsulation() { return "shadow"; }
@@ -43,7 +43,7 @@ export class PdsTableRow {
43
43
  }
44
44
  }
45
45
  render() {
46
- return (h(Host, { key: 'd3ebaeea3a8007634ea821da5a458189a36837a7', class: this.classNames(), role: "row" }, this.tableRef && this.tableRef.selectable && (h("pds-table-cell", { key: '62705fadc9cdb18de2eebd4c608c0dffa119cfba', part: this.tableRef.fixedColumn ? 'checkbox-cell' : '', class: this.tableRef.selectable ? 'has-checkbox' : '' }, h("pds-checkbox", { key: '19e01d4eef0657f7e34a5a9061e568a18eb9b7c6', componentId: this.generateUniqueId(), onClick: this.handleClick, indeterminate: this.indeterminate, label: "Select Row", hideLabel: true, checked: this.isSelected }))), h("slot", { key: '59b3c28a61f36f9ea6e891876bf007590a7cce51' })));
46
+ return (h(Host, { key: '651138280f94fd837a77e172c7e0ae5181ce8357', class: this.classNames(), role: "row" }, this.tableRef && this.tableRef.selectable && (h("pds-table-cell", { key: '739cd15863b52d60f9a00bffcf0d900b1ce1f545', part: this.tableRef.fixedColumn ? 'checkbox-cell' : '', class: this.tableRef.selectable ? 'has-checkbox' : '' }, h("pds-checkbox", { key: '2b2000bc223fa72e2be0edea25e72e4d26a98fa1', componentId: this.generateUniqueId(), onClick: this.handleClick, indeterminate: this.indeterminate, label: "Select Row", hideLabel: true, checked: this.isSelected }))), h("slot", { key: '9d3be777c57b1ba4be066cc4ffa5496289fbdc02' })));
47
47
  }
48
48
  static get is() { return "pds-table-row"; }
49
49
  static get encapsulation() { return "shadow"; }
@@ -83,7 +83,7 @@ export class PdsTable {
83
83
  headerCheckbox.indeterminate = !allSelectedRows && !noneSelectedRows;
84
84
  }
85
85
  render() {
86
- return (h(Host, { key: 'b874cdb2b0f0dcc313befdd557d5ce4203a183ac', class: this.classNames(), id: this.componentId, role: "grid", selectable: this.selectable, tabindex: "0" }, h("slot", { key: '52bcce99761712662828ba5a708155410de6e15d' })));
86
+ return (h(Host, { key: '8fbd30502d23962edf8977e9d23b8e990f043e23', class: this.classNames(), id: this.componentId, role: "grid", selectable: this.selectable, tabindex: "0" }, h("slot", { key: '5041e5f588db255c747406c47bcfb3524cd58450' })));
87
87
  }
88
88
  static get is() { return "pds-table"; }
89
89
  static get encapsulation() { return "shadow"; }
@@ -11,9 +11,9 @@ export class PdsTab {
11
11
  this.pdsTabClick.emit([index, parentComponentId]);
12
12
  }
13
13
  render() {
14
- const availabilityTabEdgeInlineStart = (h("span", { key: '5256039455be2b9e0dbfd18caf5a7a4f6ca2f047', class: "pds-tab-edge", role: "presentation" }));
15
- const availabilityTabEdgeInlineEnd = (h("span", { key: 'c65bc9ccb5a43ee1c1f634fa19c4ac6d66259747', class: "pds-tab-edge pds-tab-edge--end", role: "presentation" }));
16
- return (h(Host, { key: '0f379e0d4cce1590dc917196dd520b26bb5e89d9', variant: this.variant, slot: "tabs", index: this.index }, h("button", { key: '70b033b21ff9093b2393565c026ff4954d74dbf3', role: "tab", id: this.parentComponentId + "__" + this.name, "aria-controls": this.parentComponentId + "__" + this.name + "-panel", tabindex: this.selected ? "0" : "-1", "aria-selected": this.selected ? "true" : "false", class: this.selected ? "pds-tab is-active" : "pds-tab", onClick: this.onTabClick.bind(this, this.index, this.parentComponentId) }, this.variant === "availability" && availabilityTabEdgeInlineStart, this.variant === "availability" && availabilityTabEdgeInlineEnd, h("div", { key: 'b01547140256199ec4e829a83e11ea27d059e0ea', class: "pds-tab__content" }, h("slot", { key: '7dce311009731af53a4b6fff4af6e90f91a060a7' })))));
14
+ const availabilityTabEdgeInlineStart = (h("span", { key: 'cdf38229fcb4548cf188e401d8949f0fdddd8160', class: "pds-tab-edge", role: "presentation" }));
15
+ const availabilityTabEdgeInlineEnd = (h("span", { key: 'ffd68b6f2c2a521560495411455185d426d41446', class: "pds-tab-edge pds-tab-edge--end", role: "presentation" }));
16
+ return (h(Host, { key: 'afc723cff632012e447cecf9e4a2d7258b846d48', variant: this.variant, slot: "tabs", index: this.index }, h("button", { key: 'f7f814b9ef9ac505a741ce74abd91934116f975f', role: "tab", id: this.parentComponentId + "__" + this.name, "aria-controls": this.parentComponentId + "__" + this.name + "-panel", tabindex: this.selected ? "0" : "-1", "aria-selected": this.selected ? "true" : "false", class: this.selected ? "pds-tab is-active" : "pds-tab", onClick: this.onTabClick.bind(this, this.index, this.parentComponentId) }, this.variant === "availability" && availabilityTabEdgeInlineStart, this.variant === "availability" && availabilityTabEdgeInlineEnd, h("div", { key: '12fea0cfdf4a1e9acee497ff3e60cb276f6ae649', class: "pds-tab__content" }, h("slot", { key: 'bf4455e277526a453111542ce7c80a0621135f18' })))));
17
17
  }
18
18
  static get is() { return "pds-tab"; }
19
19
  static get originalStyleUrls() {
@@ -8,7 +8,7 @@ export class PdsTabpanel {
8
8
  this.selected = false; // eslint-disable-line @stencil-community/strict-mutable
9
9
  }
10
10
  render() {
11
- return (h(Host, { key: 'fe7548d8da3149d13d23b41d6860beb1f351b3c6', slot: "tabpanels" }, h("div", { key: 'bf50bfc20be721ba467ff22ba24f0410153223f5', role: "tabpanel", id: this.parentComponentId + "__" + this.name + '-panel', tabindex: "0", "aria-labelledby": this.parentComponentId + "__" + this.name, class: this.selected ? "pds-tabpanel is-active" : "pds-tabpanel" }, h("slot", { key: '3de1657e963e7e9fca81fac07f78edc064cd86e7' }))));
11
+ return (h(Host, { key: '021d0c1f2fd740087bdd88069ac82455b8b5ede1', slot: "tabpanels" }, h("div", { key: '036aca9a0a29ba7cfc8aa0132eab027898a661f2', role: "tabpanel", id: this.parentComponentId + "__" + this.name + '-panel', tabindex: "0", "aria-labelledby": this.parentComponentId + "__" + this.name, class: this.selected ? "pds-tabpanel is-active" : "pds-tabpanel" }, h("slot", { key: 'd6b61e7b8af79204dbb5d3e421028715236a7bb1' }))));
12
12
  }
13
13
  static get is() { return "pds-tabpanel"; }
14
14
  static get originalStyleUrls() {
@@ -76,7 +76,7 @@ export class PdsTabs {
76
76
  this.passPropsToChildren();
77
77
  }
78
78
  render() {
79
- return (h(Host, { key: '571b33280e4473d1a8bef6e90103c4d42a29ed03', "active-tab-name": this.activeTabName, class: this.classNames(), id: this.componentId }, h("div", { key: 'c50a6cd3b8a06e13ff14626258769b7918f57ed0', class: "pds-tabs__tablist", role: "tablist", "aria-label": this.tablistLabel }, h("slot", { key: '1fcbefc41181ce48f2a109ee0703d03f9975784f', name: "tabs" })), h("slot", { key: '9762d5533cbbea5672f2a4235b90b3a766066179', name: "tabpanels" })));
79
+ return (h(Host, { key: 'ed163de5068114e7c7dd8314c7ed036859d0d0af', "active-tab-name": this.activeTabName, class: this.classNames(), id: this.componentId }, h("div", { key: '4b0f2bce407b2ea5c7ceb1435f4f91531334557e', class: "pds-tabs__tablist", role: "tablist", "aria-label": this.tablistLabel }, h("slot", { key: 'a61fb9bd35056f87233c1fec66dda175b201b265', name: "tabs" })), h("slot", { key: 'd78cc498b17ddd84015174802e4eb18fc5053ec2', name: "tabpanels" })));
80
80
  }
81
81
  static get is() { return "pds-tabs"; }
82
82
  static get encapsulation() { return "shadow"; }
@@ -17,7 +17,7 @@ export class PdsText {
17
17
  ${this.weight !== undefined && this.weight.trim() !== '' ? `pds-text--weight-${this.weight}` : ''}
18
18
  ${this.decoration !== undefined && this.decoration.trim() !== '' ? `pds-text--decoration-${this.decoration}` : ''}
19
19
  `;
20
- return (h(Tag, { key: 'dbb51692cc782fcef771390934ca6efc7a2728b9', style: this.color && setColor(this.color), class: typeClasses }, h("slot", { key: '9e7351a9de468132a213f3e26c20c8ca894881a8' })));
20
+ return (h(Tag, { key: '327e3b37535dd5eb28cf3ea0430e544261e570c0', style: this.color && setColor(this.color), class: typeClasses }, h("slot", { key: '97010a619baa6fd4a45e79ab9354097e99af0ae2' })));
21
21
  }
22
22
  static get is() { return "pds-text"; }
23
23
  static get encapsulation() { return "shadow"; }
@@ -121,10 +121,10 @@ export class PdsTextarea {
121
121
  }
122
122
  render() {
123
123
  const value = this.getValue();
124
- return (h(Host, { key: 'a7db5e94c424af94616faae520aa8f39ee23cedd', "aria-disabled": this.disabled ? 'true' : null, "aria-readonly": this.readonly ? 'true' : null }, h("div", { key: '26c4a0b5e464e648f627c6de6d948a159e1b4603', class: "pds-textarea" }, this.label &&
125
- h("label", { key: 'b32a15274079ba8fdb4d911dfc4915da9437a57a', htmlFor: this.componentId }, this.label), h("textarea", Object.assign({ key: '6348ed57813a044849a8de53a172f9f724d7b00e', ref: (el) => this.nativeTextarea = el, "aria-describedby": assignDescription(this.componentId, this.invalid, this.helperMessage), "aria-invalid": this.invalid ? "true" : undefined, autocomplete: this.autocomplete, class: this.textareaClassNames(), disabled: this.disabled, id: this.componentId, name: this.name, placeholder: this.placeholder, readOnly: this.readonly, required: this.required, rows: this.rows, onBlur: this.onBlur, onChange: this.onTextareaChange, onFocus: this.onFocus, onInput: this.onInput }, this.inheritedAttributes), value), this.helperMessage &&
126
- h("p", { key: '0f9a7606295b5d020e4762f2dc66bc920a60f8da', class: "pds-textarea__helper-message", id: messageId(this.componentId, 'helper') }, this.helperMessage), this.invalid &&
127
- h("p", { key: 'badc7d45069955709993c594ed9792c7cdc8727b', "aria-live": "assertive", class: "pds-textarea__error-message", id: messageId(this.componentId, 'error') }, h("pds-icon", { key: '460955036713315d8dd7b125a50b09d0cb1a282d', icon: danger, size: "small" }), this.errorMessage))));
124
+ return (h(Host, { key: 'ebbf2c30176e11c92f04de02cad236496bc50a44', "aria-disabled": this.disabled ? 'true' : null, "aria-readonly": this.readonly ? 'true' : null }, h("div", { key: '687811120416068af1b6d23a5fa8af149674669b', class: "pds-textarea" }, this.label &&
125
+ h("label", { key: '40fa708e95ff63881f3d41646bf99841625631d6', htmlFor: this.componentId }, this.label), h("textarea", Object.assign({ key: '543b7d6996b441b32f124f13025787c76340218d', ref: (el) => this.nativeTextarea = el, "aria-describedby": assignDescription(this.componentId, this.invalid, this.helperMessage), "aria-invalid": this.invalid ? "true" : undefined, autocomplete: this.autocomplete, class: this.textareaClassNames(), disabled: this.disabled, id: this.componentId, name: this.name, placeholder: this.placeholder, readOnly: this.readonly, required: this.required, rows: this.rows, onBlur: this.onBlur, onChange: this.onTextareaChange, onFocus: this.onFocus, onInput: this.onInput }, this.inheritedAttributes), value), this.helperMessage &&
126
+ h("p", { key: '47cd46e8c8c5daaa3ff6fa830e5dde3624403575', class: "pds-textarea__helper-message", id: messageId(this.componentId, 'helper') }, this.helperMessage), this.invalid &&
127
+ h("p", { key: 'd84d1aece21db4ef596c154919fe689d66f4bd66', "aria-live": "assertive", class: "pds-textarea__error-message", id: messageId(this.componentId, 'error') }, h("pds-icon", { key: 'cb4627c36e25e14f6699ad0cfddd4bf8528755e0', icon: danger, size: "small" }), this.errorMessage))));
128
128
  }
129
129
  static get is() { return "pds-textarea"; }
130
130
  static get encapsulation() { return "shadow"; }
@@ -77,13 +77,13 @@ export class PdsToast {
77
77
  return this.icon && h("pds-icon", { name: this.icon, class: "pds-toast__icon" });
78
78
  }
79
79
  render() {
80
- return (h(Host, { key: 'c950cf3a269952f6048f79e5c6c793c65ff2b89a', hidden: !this.isVisible }, h("div", { key: '0cec10124aecec0c7af86b460165a577c65d1571', class: {
80
+ return (h(Host, { key: 'dbb28e20be685c46f8c6cb2dd1a5f58f28e27589', hidden: !this.isVisible }, h("div", { key: '471b6b387799754b92ad16baf70562e26c379616', class: {
81
81
  'pds-toast': true,
82
82
  [`pds-toast--${this.type}`]: this.type !== 'default',
83
83
  'pds-toast--animating-out': this.isAnimatingOut
84
- }, role: "alert", "aria-live": "polite" }, this.renderIcon(), h("span", { key: '5dda529f788df94ed0e444924fb11a1061a20dd1', class: "pds-toast__message" }, h("slot", { key: '29a6c93dbf14f92b1375eff7a3c8f4556babe67a' })), this.dismissible && (h("button", { key: 'f3bcbcacceb5ef2b1d2127d408879e2a95418230', type: "button", class: "pds-toast__button", onClick: () => {
84
+ }, role: "alert", "aria-live": "polite" }, this.renderIcon(), h("span", { key: '638faa5e37de1bae0e59c994de35e27960fc625b', class: "pds-toast__message" }, h("slot", { key: 'e58c86bbe9a5467b6b362e0f67db4074b9cac0cb' })), this.dismissible && (h("button", { key: '43bd64963222a78163b337b37e9d5ff888236b45', type: "button", class: "pds-toast__button", onClick: () => {
85
85
  this.dismiss();
86
- }, "aria-label": "Dismiss message" }, h("pds-icon", { key: '1ea48def81a89dc7ba38f493abb0107632005075', name: "remove" }))))));
86
+ }, "aria-label": "Dismiss message" }, h("pds-icon", { key: '0c924e96515a7934f51d80b4e57f97db5bfaed14', name: "remove" }))))));
87
87
  }
88
88
  static get is() { return "pds-toast"; }
89
89
  static get encapsulation() { return "shadow"; }
@@ -16,6 +16,8 @@ export class PdsTooltip {
16
16
  this.contentDiv = null;
17
17
  this.slotMutationObserver = null;
18
18
  this.overlayResizeObserver = null;
19
+ this.currentPathname = '';
20
+ this.pathnameCheckInterval = null;
19
21
  /**
20
22
  * Determines when the tooltip is open
21
23
  * @defaultValue false
@@ -85,6 +87,12 @@ export class PdsTooltip {
85
87
  this.hideTooltip();
86
88
  this._isInteractiveOpen = false;
87
89
  };
90
+ this.checkPathnameChange = () => {
91
+ if (window.location.pathname !== this.currentPathname) {
92
+ this.currentPathname = window.location.pathname;
93
+ this.handleSpaNavigation();
94
+ }
95
+ };
88
96
  }
89
97
  handleOpenToggle(newValue, oldValue) {
90
98
  if (newValue === false && oldValue === true) {
@@ -96,6 +104,7 @@ export class PdsTooltip {
96
104
  }
97
105
  componentDidLoad() {
98
106
  window.addEventListener('pageshow', this.handlePageShow);
107
+ this.currentPathname = window.location.pathname;
99
108
  this.triggerEl = this.el.querySelector('.pds-tooltip__trigger');
100
109
  const contentSlotWrapper = this.el.querySelector('.pds-tooltip__content-slot-wrapper');
101
110
  if (contentSlotWrapper !== null) {
@@ -254,6 +263,8 @@ export class PdsTooltip {
254
263
  window.addEventListener('scroll', this.handleScroll, true);
255
264
  window.addEventListener('popstate', this.handleSpaNavigation, true);
256
265
  window.addEventListener('hashchange', this.handleSpaNavigation, true);
266
+ // Start pathname change detection
267
+ this.pathnameCheckInterval = setInterval(this.checkPathnameChange, 100);
257
268
  // Add ARIA attribute to trigger, now that portalEl and its ID are confirmed
258
269
  if (this.triggerEl !== null && this.portalEl.id !== '') {
259
270
  this.triggerEl.setAttribute('aria-describedby', this.portalEl.id);
@@ -264,6 +275,11 @@ export class PdsTooltip {
264
275
  this.overlayResizeObserver.unobserve(this.contentDiv);
265
276
  this.overlayResizeObserver = null;
266
277
  }
278
+ // Stop pathname change detection
279
+ if (this.pathnameCheckInterval !== null) {
280
+ clearInterval(this.pathnameCheckInterval);
281
+ this.pathnameCheckInterval = null;
282
+ }
267
283
  if (this.portalEl !== null) {
268
284
  window.removeEventListener('scroll', this.handleScroll, true);
269
285
  window.removeEventListener('popstate', this.handleSpaNavigation, true);
@@ -279,7 +295,7 @@ export class PdsTooltip {
279
295
  }
280
296
  render() {
281
297
  const hostId = this.componentId || undefined;
282
- return (h(Host, { key: '0fe2bea1ea0e8eaeb5879644694a2e129f1f4898', id: hostId, class: { 'pds-tooltip--is-open': this.opened } }, h("span", { key: 'f26feb3c37957573d3b6b0a55091b2e7012ae31b', class: "pds-tooltip__trigger", onMouseEnter: this.handleShow, onMouseLeave: this.handleHide, onFocus: this.handleShow, onBlur: this.handleHide, ref: el => this.triggerEl = el }, h("slot", { key: 'c7940e3aa7f17fc5d5fcdedc0a624204ceed291c' })), h("div", { key: '0c8dc83e3b7f8c1337aae8641d80f63c0866c348', class: "pds-tooltip__content-slot-wrapper", style: { display: 'none' } }, h("slot", { key: '2f6701768c0debdd69673da3ad7dc34b8b237f6a', name: "content" }))));
298
+ return (h(Host, { key: '462d8c0b1b70de08c0a4f9fe0b3977fa3b4af461', id: hostId, class: { 'pds-tooltip--is-open': this.opened } }, h("span", { key: 'dfb735da6e04d95701bc223bc054414d781c0f4a', class: "pds-tooltip__trigger", onMouseEnter: this.handleShow, onMouseLeave: this.handleHide, onFocus: this.handleShow, onBlur: this.handleHide, ref: el => this.triggerEl = el }, h("slot", { key: 'f0e5970a1ba6d59045306b836468cd00a06b183f' })), h("div", { key: '212ec606b29bd7a64a2ea3b1b4fae9746361a712', class: "pds-tooltip__content-slot-wrapper", style: { display: 'none' } }, h("slot", { key: '035ea5b2dfec0ca7f1462c30053f8f455cb986f2', name: "content" }))));
283
299
  }
284
300
  static get is() { return "pds-tooltip"; }
285
301
  static get originalStyleUrls() {
@@ -1 +1 @@
1
- {"version":3,"file":"pds-tooltip.js","sourceRoot":"","sources":["../../../src/components/pds-tooltip/pds-tooltip.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Element, Host, Prop, State, h, Method, Watch } from '@stencil/core';\nimport { positionTooltip } 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: false,\n})\n\nexport class PdsTooltip {\n private static instanceCounter = 0;\n\n /**\n * Internal state: true if the tooltip was opened by user interaction (hover/focus),\n * false if opened via the `opened` prop or currently closed.\n */\n @State() private _isInteractiveOpen = false;\n\n private portalEl: HTMLElement | null = null;\n private triggerEl: HTMLElement | null = null;\n private contentDiv: HTMLElement | null = null;\n private slotMutationObserver: MutationObserver | null = null;\n private overlayResizeObserver: ResizeObserver | null = 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\n handleOpenToggle(newValue: boolean, oldValue: boolean) {\n if (newValue === false && oldValue === true) {\n this._isInteractiveOpen = false;\n }\n }\n\n componentWillLoad() {\n this._isInteractiveOpen = false;\n }\n\n componentDidLoad() {\n window.addEventListener('pageshow', this.handlePageShow);\n this.triggerEl = this.el.querySelector('.pds-tooltip__trigger') as HTMLElement;\n const contentSlotWrapper = this.el.querySelector('.pds-tooltip__content-slot-wrapper');\n\n if (contentSlotWrapper !== null) {\n this.slotMutationObserver = new MutationObserver(() => {\n if (this.opened && this.portalEl !== null) {\n this.removePortal();\n this.createPortal();\n }\n });\n this.slotMutationObserver.observe(contentSlotWrapper, { childList: true, subtree: false });\n }\n\n return () => {\n window.removeEventListener('pageshow', this.handlePageShow);\n\n if (this.slotMutationObserver !== null) {\n this.slotMutationObserver.disconnect();\n }\n };\n }\n\n componentDidRender() {\n if (this.opened && this.portalEl === null) {\n this.createPortal();\n } else if (!this.opened && this.portalEl !== null) {\n this.removePortal();\n }\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 if (this.opened && !this._isInteractiveOpen) {\n return;\n }\n\n this.hideTooltip();\n this._isInteractiveOpen = false;\n };\n\n private handleShow = () => {\n if (this.opened && !this._isInteractiveOpen) {\n return;\n }\n\n this._isInteractiveOpen = true;\n this.showTooltip();\n };\n\n private handlePageShow = () => {\n if (this.opened && !this._isInteractiveOpen) {\n return;\n }\n\n this.opened = false;\n this._isInteractiveOpen = false;\n };\n\n private handleScroll = () => {\n if (this.opened) {\n if (!this._isInteractiveOpen) {\n this.repositionPortal();\n } else {\n this.hideTooltip();\n this._isInteractiveOpen = false;\n }\n }\n };\n\n private handleSpaNavigation = () => {\n if (this.opened && !this._isInteractiveOpen) {\n return;\n }\n\n this.hideTooltip();\n this._isInteractiveOpen = false;\n };\n\n /**\n * Determines the most accurate HTML element to use as the anchor for positioning the tooltip.\n * If `htmlContent` is false, it attempts to find the actual element slotted as the trigger.\n * Otherwise, or if no specific element is found, it defaults to the span wrapper around the trigger slot.\n * This helps with precise alignment.\n */\n private determinePositioningAnchor(): HTMLElement | null {\n let positioningAnchor: HTMLElement | null = this.triggerEl;\n\n if (this.triggerEl !== null) {\n const children = this.triggerEl.childNodes;\n\n for (let i = 0; i < children.length; i++) {\n const childNode = children[i];\n\n if (childNode.nodeType === Node.ELEMENT_NODE) {\n positioningAnchor = childNode as HTMLElement;\n break; // Found the first element, use it as the anchor\n }\n }\n }\n\n // If no ELEMENT_NODE is found within this.triggerEl (e.g., if trigger is just text),\n // positioningAnchor will correctly remain this.triggerEl (the span).\n return positioningAnchor;\n }\n\n /**\n * Centralized method to calculate and apply the tooltip's position.\n * Uses the determined anchor element and the current content dimensions.\n */\n private repositionPortal() {\n const anchor = this.determinePositioningAnchor();\n\n if (anchor !== null && this.contentDiv !== null) {\n positionTooltip({ elem: anchor, elemPlacement: this.placement, overlay: this.contentDiv });\n const placementParts = this.placement.split('-');\n const primaryPlacement = placementParts[0];\n const isCardinalCenterPlacement = placementParts.length === 1;\n\n if (isCardinalCenterPlacement) {\n const anchorRect = anchor.getBoundingClientRect();\n const overlayRect = this.contentDiv.getBoundingClientRect();\n\n if (primaryPlacement === 'left' || primaryPlacement === 'right') {\n const currentOverlayTop = parseFloat(this.contentDiv.style.top || '0');\n const anchorCenterY = anchorRect.top + (anchorRect.height / 2);\n const overlayCenterY = overlayRect.top + (overlayRect.height / 2);\n const adjustmentY = anchorCenterY - overlayCenterY;\n\n if (Math.abs(adjustmentY) > 0.5) {\n this.contentDiv.style.top = `${currentOverlayTop + adjustmentY}px`;\n }\n\n } else if (primaryPlacement === 'top' || primaryPlacement === 'bottom') {\n const currentOverlayLeft = parseFloat(this.contentDiv.style.left || '0');\n const anchorCenterX = anchorRect.left + (anchorRect.width / 2);\n const overlayCenterX = overlayRect.left + (overlayRect.width / 2);\n const adjustmentX = anchorCenterX - overlayCenterX;\n\n if (Math.abs(adjustmentX) > 0.5) {\n this.contentDiv.style.left = `${currentOverlayLeft + adjustmentX}px`;\n }\n }\n }\n }\n }\n\n private createPortal() {\n if (this.portalEl !== null) return;\n\n this.portalEl = document.createElement('div');\n this.portalEl.className = `pds-tooltip pds-tooltip--${this.placement} ${this.htmlContent ? 'pds-tooltip--has-html-content' : ''} ${this.opened ? 'pds-tooltip--is-open' : ''} ${this.hasArrow ? '' : 'pds-tooltip--no-arrow'}`;\n this.portalEl.style.position = 'fixed';\n this.portalEl.style.zIndex = '9999';\n\n if (this.portalEl.id === '') {\n this.portalEl.id = this.componentId || this.el.id || `pds-tooltip-portal-${PdsTooltip.instanceCounter++}`;\n }\n\n if (this.portalEl.getAttribute('id') !== this.portalEl.id) {\n this.portalEl.setAttribute('id', this.portalEl.id);\n }\n\n this.portalEl.setAttribute('role', 'tooltip');\n this.portalEl.setAttribute('aria-hidden', this.opened ? 'false' : 'true');\n this.portalEl.setAttribute('aria-live', this.opened ? 'polite' : 'off');\n this.portalEl.style.maxWidth = this.maxWidth;\n\n this.contentDiv = document.createElement('div');\n this.contentDiv.className = 'pds-tooltip__content';\n this.contentDiv.setAttribute('aria-hidden', this.opened ? 'false' : 'true');\n this.contentDiv.setAttribute('aria-live', this.opened ? 'polite' : 'off');\n this.contentDiv.setAttribute('role', 'tooltip');\n this.contentDiv.style.maxWidth = this.maxWidth;\n\n const contentSlotWrapper = this.el.querySelector('.pds-tooltip__content-slot-wrapper');\n const slottedContentContainer = contentSlotWrapper?.querySelector('[slot=\"content\"]') as HTMLElement | null;\n let hasSlottedContent = false;\n\n if (slottedContentContainer !== null) {\n const childrenToClone = Array.from(slottedContentContainer.childNodes);\n\n if (childrenToClone.length > 0) {\n const hasMeaningfulNode = childrenToClone.some(node =>\n node.nodeType === Node.ELEMENT_NODE ||\n (node.nodeType === Node.TEXT_NODE && node.textContent?.trim() !== '')\n );\n\n if (hasMeaningfulNode) {\n hasSlottedContent = true;\n childrenToClone.forEach((node /*, index*/) => {\n if (node.nodeType === Node.ELEMENT_NODE || (node.nodeType === Node.TEXT_NODE && node.textContent?.trim() !== '')) {\n this.contentDiv.appendChild(node.cloneNode(true));\n }\n });\n }\n }\n }\n\n if (!hasSlottedContent) {\n if (this.content !== '') {\n this.contentDiv.textContent = this.content;\n }\n }\n\n this.portalEl.appendChild(this.contentDiv);\n document.body.appendChild(this.portalEl);\n\n this.repositionPortal();\n\n if (this.contentDiv !== null) {\n this.overlayResizeObserver = new ResizeObserver(() => {\n this.repositionPortal();\n });\n this.overlayResizeObserver.observe(this.contentDiv);\n }\n\n // Add global listeners when portal is created\n window.addEventListener('scroll', this.handleScroll, true);\n window.addEventListener('popstate', this.handleSpaNavigation, true);\n window.addEventListener('hashchange', this.handleSpaNavigation, true);\n\n // Add ARIA attribute to trigger, now that portalEl and its ID are confirmed\n if (this.triggerEl !== null && this.portalEl.id !== '') {\n this.triggerEl.setAttribute('aria-describedby', this.portalEl.id);\n }\n }\n\n private removePortal() {\n if (this.overlayResizeObserver !== null && this.contentDiv !== null) {\n this.overlayResizeObserver.unobserve(this.contentDiv);\n this.overlayResizeObserver = null;\n }\n\n if (this.portalEl !== null) {\n window.removeEventListener('scroll', this.handleScroll, true);\n window.removeEventListener('popstate', this.handleSpaNavigation, true);\n window.removeEventListener('hashchange', this.handleSpaNavigation, true);\n document.body.removeChild(this.portalEl);\n this.portalEl = null;\n }\n\n // Remove ARIA attribute from trigger\n if (this.triggerEl !== null) {\n this.triggerEl.removeAttribute('aria-describedby');\n }\n this.contentDiv = null;\n }\n\n render() {\n const hostId = this.componentId || undefined;\n\n return (\n <Host id={hostId} class={{ 'pds-tooltip--is-open': this.opened }}>\n <span\n class=\"pds-tooltip__trigger\"\n onMouseEnter={this.handleShow}\n onMouseLeave={this.handleHide}\n onFocus={this.handleShow}\n onBlur={this.handleHide}\n ref={el => this.triggerEl = el}\n >\n <slot />\n </span>\n <div class=\"pds-tooltip__content-slot-wrapper\" style={{ display: 'none' }}>\n <slot name=\"content\"></slot>\n </div>\n </Host>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"pds-tooltip.js","sourceRoot":"","sources":["../../../src/components/pds-tooltip/pds-tooltip.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Element, Host, Prop, State, h, Method, Watch } from '@stencil/core';\nimport { positionTooltip } 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: false,\n})\n\nexport class PdsTooltip {\n private static instanceCounter = 0;\n\n /**\n * Internal state: true if the tooltip was opened by user interaction (hover/focus),\n * false if opened via the `opened` prop or currently closed.\n */\n @State() private _isInteractiveOpen = false;\n\n private portalEl: HTMLElement | null = null;\n private triggerEl: HTMLElement | null = null;\n private contentDiv: HTMLElement | null = null;\n private slotMutationObserver: MutationObserver | null = null;\n private overlayResizeObserver: ResizeObserver | null = null;\n private currentPathname: string = '';\n private pathnameCheckInterval: NodeJS.Timeout | null = 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\n handleOpenToggle(newValue: boolean, oldValue: boolean) {\n if (newValue === false && oldValue === true) {\n this._isInteractiveOpen = false;\n }\n }\n\n componentWillLoad() {\n this._isInteractiveOpen = false;\n }\n\n componentDidLoad() {\n window.addEventListener('pageshow', this.handlePageShow);\n this.currentPathname = window.location.pathname;\n this.triggerEl = this.el.querySelector('.pds-tooltip__trigger') as HTMLElement;\n const contentSlotWrapper = this.el.querySelector('.pds-tooltip__content-slot-wrapper');\n\n if (contentSlotWrapper !== null) {\n this.slotMutationObserver = new MutationObserver(() => {\n if (this.opened && this.portalEl !== null) {\n this.removePortal();\n this.createPortal();\n }\n });\n this.slotMutationObserver.observe(contentSlotWrapper, { childList: true, subtree: false });\n }\n\n return () => {\n window.removeEventListener('pageshow', this.handlePageShow);\n\n if (this.slotMutationObserver !== null) {\n this.slotMutationObserver.disconnect();\n }\n };\n }\n\n componentDidRender() {\n if (this.opened && this.portalEl === null) {\n this.createPortal();\n } else if (!this.opened && this.portalEl !== null) {\n this.removePortal();\n }\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 if (this.opened && !this._isInteractiveOpen) {\n return;\n }\n\n this.hideTooltip();\n this._isInteractiveOpen = false;\n };\n\n private handleShow = () => {\n if (this.opened && !this._isInteractiveOpen) {\n return;\n }\n\n this._isInteractiveOpen = true;\n this.showTooltip();\n };\n\n private handlePageShow = () => {\n if (this.opened && !this._isInteractiveOpen) {\n return;\n }\n\n this.opened = false;\n this._isInteractiveOpen = false;\n };\n\n private handleScroll = () => {\n if (this.opened) {\n if (!this._isInteractiveOpen) {\n this.repositionPortal();\n } else {\n this.hideTooltip();\n this._isInteractiveOpen = false;\n }\n }\n };\n\n private handleSpaNavigation = () => {\n if (this.opened && !this._isInteractiveOpen) {\n return;\n }\n\n this.hideTooltip();\n this._isInteractiveOpen = false;\n };\n\n private checkPathnameChange = () => {\n if (window.location.pathname !== this.currentPathname) {\n this.currentPathname = window.location.pathname;\n this.handleSpaNavigation();\n }\n };\n\n /**\n * Determines the most accurate HTML element to use as the anchor for positioning the tooltip.\n * If `htmlContent` is false, it attempts to find the actual element slotted as the trigger.\n * Otherwise, or if no specific element is found, it defaults to the span wrapper around the trigger slot.\n * This helps with precise alignment.\n */\n private determinePositioningAnchor(): HTMLElement | null {\n let positioningAnchor: HTMLElement | null = this.triggerEl;\n\n if (this.triggerEl !== null) {\n const children = this.triggerEl.childNodes;\n\n for (let i = 0; i < children.length; i++) {\n const childNode = children[i];\n\n if (childNode.nodeType === Node.ELEMENT_NODE) {\n positioningAnchor = childNode as HTMLElement;\n break; // Found the first element, use it as the anchor\n }\n }\n }\n\n // If no ELEMENT_NODE is found within this.triggerEl (e.g., if trigger is just text),\n // positioningAnchor will correctly remain this.triggerEl (the span).\n return positioningAnchor;\n }\n\n /**\n * Centralized method to calculate and apply the tooltip's position.\n * Uses the determined anchor element and the current content dimensions.\n */\n private repositionPortal() {\n const anchor = this.determinePositioningAnchor();\n\n if (anchor !== null && this.contentDiv !== null) {\n positionTooltip({ elem: anchor, elemPlacement: this.placement, overlay: this.contentDiv });\n const placementParts = this.placement.split('-');\n const primaryPlacement = placementParts[0];\n const isCardinalCenterPlacement = placementParts.length === 1;\n\n if (isCardinalCenterPlacement) {\n const anchorRect = anchor.getBoundingClientRect();\n const overlayRect = this.contentDiv.getBoundingClientRect();\n\n if (primaryPlacement === 'left' || primaryPlacement === 'right') {\n const currentOverlayTop = parseFloat(this.contentDiv.style.top || '0');\n const anchorCenterY = anchorRect.top + (anchorRect.height / 2);\n const overlayCenterY = overlayRect.top + (overlayRect.height / 2);\n const adjustmentY = anchorCenterY - overlayCenterY;\n\n if (Math.abs(adjustmentY) > 0.5) {\n this.contentDiv.style.top = `${currentOverlayTop + adjustmentY}px`;\n }\n\n } else if (primaryPlacement === 'top' || primaryPlacement === 'bottom') {\n const currentOverlayLeft = parseFloat(this.contentDiv.style.left || '0');\n const anchorCenterX = anchorRect.left + (anchorRect.width / 2);\n const overlayCenterX = overlayRect.left + (overlayRect.width / 2);\n const adjustmentX = anchorCenterX - overlayCenterX;\n\n if (Math.abs(adjustmentX) > 0.5) {\n this.contentDiv.style.left = `${currentOverlayLeft + adjustmentX}px`;\n }\n }\n }\n }\n }\n\n private createPortal() {\n if (this.portalEl !== null) return;\n\n this.portalEl = document.createElement('div');\n this.portalEl.className = `pds-tooltip pds-tooltip--${this.placement} ${this.htmlContent ? 'pds-tooltip--has-html-content' : ''} ${this.opened ? 'pds-tooltip--is-open' : ''} ${this.hasArrow ? '' : 'pds-tooltip--no-arrow'}`;\n this.portalEl.style.position = 'fixed';\n this.portalEl.style.zIndex = '9999';\n\n if (this.portalEl.id === '') {\n this.portalEl.id = this.componentId || this.el.id || `pds-tooltip-portal-${PdsTooltip.instanceCounter++}`;\n }\n\n if (this.portalEl.getAttribute('id') !== this.portalEl.id) {\n this.portalEl.setAttribute('id', this.portalEl.id);\n }\n\n this.portalEl.setAttribute('role', 'tooltip');\n this.portalEl.setAttribute('aria-hidden', this.opened ? 'false' : 'true');\n this.portalEl.setAttribute('aria-live', this.opened ? 'polite' : 'off');\n this.portalEl.style.maxWidth = this.maxWidth;\n\n this.contentDiv = document.createElement('div');\n this.contentDiv.className = 'pds-tooltip__content';\n this.contentDiv.setAttribute('aria-hidden', this.opened ? 'false' : 'true');\n this.contentDiv.setAttribute('aria-live', this.opened ? 'polite' : 'off');\n this.contentDiv.setAttribute('role', 'tooltip');\n this.contentDiv.style.maxWidth = this.maxWidth;\n\n const contentSlotWrapper = this.el.querySelector('.pds-tooltip__content-slot-wrapper');\n const slottedContentContainer = contentSlotWrapper?.querySelector('[slot=\"content\"]') as HTMLElement | null;\n let hasSlottedContent = false;\n\n if (slottedContentContainer !== null) {\n const childrenToClone = Array.from(slottedContentContainer.childNodes);\n\n if (childrenToClone.length > 0) {\n const hasMeaningfulNode = childrenToClone.some(node =>\n node.nodeType === Node.ELEMENT_NODE ||\n (node.nodeType === Node.TEXT_NODE && node.textContent?.trim() !== '')\n );\n\n if (hasMeaningfulNode) {\n hasSlottedContent = true;\n childrenToClone.forEach((node /*, index*/) => {\n if (node.nodeType === Node.ELEMENT_NODE || (node.nodeType === Node.TEXT_NODE && node.textContent?.trim() !== '')) {\n this.contentDiv.appendChild(node.cloneNode(true));\n }\n });\n }\n }\n }\n\n if (!hasSlottedContent) {\n if (this.content !== '') {\n this.contentDiv.textContent = this.content;\n }\n }\n\n this.portalEl.appendChild(this.contentDiv);\n document.body.appendChild(this.portalEl);\n\n this.repositionPortal();\n\n if (this.contentDiv !== null) {\n this.overlayResizeObserver = new ResizeObserver(() => {\n this.repositionPortal();\n });\n this.overlayResizeObserver.observe(this.contentDiv);\n }\n\n // Add global listeners when portal is created\n window.addEventListener('scroll', this.handleScroll, true);\n window.addEventListener('popstate', this.handleSpaNavigation, true);\n window.addEventListener('hashchange', this.handleSpaNavigation, true);\n\n // Start pathname change detection\n this.pathnameCheckInterval = setInterval(this.checkPathnameChange, 100);\n\n // Add ARIA attribute to trigger, now that portalEl and its ID are confirmed\n if (this.triggerEl !== null && this.portalEl.id !== '') {\n this.triggerEl.setAttribute('aria-describedby', this.portalEl.id);\n }\n }\n\n private removePortal() {\n if (this.overlayResizeObserver !== null && this.contentDiv !== null) {\n this.overlayResizeObserver.unobserve(this.contentDiv);\n this.overlayResizeObserver = null;\n }\n\n // Stop pathname change detection\n if (this.pathnameCheckInterval !== null) {\n clearInterval(this.pathnameCheckInterval);\n this.pathnameCheckInterval = null;\n }\n\n if (this.portalEl !== null) {\n window.removeEventListener('scroll', this.handleScroll, true);\n window.removeEventListener('popstate', this.handleSpaNavigation, true);\n window.removeEventListener('hashchange', this.handleSpaNavigation, true);\n document.body.removeChild(this.portalEl);\n this.portalEl = null;\n }\n\n // Remove ARIA attribute from trigger\n if (this.triggerEl !== null) {\n this.triggerEl.removeAttribute('aria-describedby');\n }\n this.contentDiv = null;\n }\n\n render() {\n const hostId = this.componentId || undefined;\n\n return (\n <Host id={hostId} class={{ 'pds-tooltip--is-open': this.opened }}>\n <span\n class=\"pds-tooltip__trigger\"\n onMouseEnter={this.handleShow}\n onMouseLeave={this.handleHide}\n onFocus={this.handleShow}\n onBlur={this.handleHide}\n ref={el => this.triggerEl = el}\n >\n <slot />\n </span>\n <div class=\"pds-tooltip__content-slot-wrapper\" style={{ display: 'none' }}>\n <slot name=\"content\"></slot>\n </div>\n </Host>\n );\n }\n}\n"]}