@pine-ds/core 3.1.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 (705) hide show
  1. package/components/index.d.ts +20 -0
  2. package/components/index.js +10 -0
  3. package/components/index.js.map +1 -1
  4. package/components/index2.js +1 -1
  5. package/components/index2.js.map +1 -1
  6. package/components/mock-pds-modal.d.ts +11 -0
  7. package/components/mock-pds-modal.js +108 -0
  8. package/components/mock-pds-modal.js.map +1 -0
  9. package/components/pds-alert.d.ts +11 -0
  10. package/components/pds-alert.js +107 -0
  11. package/components/pds-alert.js.map +1 -0
  12. package/components/pds-avatar.js +1 -1
  13. package/components/pds-box.js +1 -110
  14. package/components/pds-box.js.map +1 -1
  15. package/components/pds-box2.js +115 -0
  16. package/components/pds-box2.js.map +1 -0
  17. package/components/pds-button2.js +1 -1
  18. package/components/pds-button2.js.map +1 -1
  19. package/components/pds-checkbox2.js +3 -3
  20. package/components/pds-chip.js +21 -6
  21. package/components/pds-chip.js.map +1 -1
  22. package/components/pds-copytext.js +1 -1
  23. package/components/pds-divider.js +1 -1
  24. package/components/pds-dropdown-menu-item.d.ts +11 -0
  25. package/components/pds-dropdown-menu-item.js +117 -0
  26. package/components/pds-dropdown-menu-item.js.map +1 -0
  27. package/components/pds-dropdown-menu-separator.d.ts +11 -0
  28. package/components/pds-dropdown-menu-separator.js +44 -0
  29. package/components/pds-dropdown-menu-separator.js.map +1 -0
  30. package/components/pds-dropdown-menu.d.ts +11 -0
  31. package/components/pds-dropdown-menu.js +1600 -0
  32. package/components/pds-dropdown-menu.js.map +1 -0
  33. package/components/pds-image.js +2 -2
  34. package/components/pds-input.js +98 -21
  35. package/components/pds-input.js.map +1 -1
  36. package/components/pds-link.js +1 -67
  37. package/components/pds-link.js.map +1 -1
  38. package/components/pds-link2.js +85 -0
  39. package/components/pds-link2.js.map +1 -0
  40. package/components/pds-loader2.js +1 -1
  41. package/components/pds-modal-content.d.ts +11 -0
  42. package/components/pds-modal-content.js +111 -0
  43. package/components/pds-modal-content.js.map +1 -0
  44. package/components/pds-modal-footer.d.ts +11 -0
  45. package/components/pds-modal-footer.js +35 -0
  46. package/components/pds-modal-footer.js.map +1 -0
  47. package/components/pds-modal-header.d.ts +11 -0
  48. package/components/pds-modal-header.js +35 -0
  49. package/components/pds-modal-header.js.map +1 -0
  50. package/components/pds-modal.d.ts +11 -0
  51. package/components/pds-modal.js +278 -0
  52. package/components/pds-modal.js.map +1 -0
  53. package/components/pds-popover.js +33 -1
  54. package/components/pds-popover.js.map +1 -1
  55. package/components/pds-progress.js +1 -1
  56. package/components/pds-radio.js +3 -3
  57. package/components/pds-row.js +1 -1
  58. package/components/pds-select.js +3 -3
  59. package/components/pds-select.js.map +1 -1
  60. package/components/pds-sortable-item.js +1 -1
  61. package/components/pds-sortable.js +1 -1
  62. package/components/pds-switch.js +3 -3
  63. package/components/pds-tab.js +3 -3
  64. package/components/pds-table-body.js +1 -1
  65. package/components/pds-table-cell2.js +2 -2
  66. package/components/pds-table-head-cell2.js +2 -2
  67. package/components/pds-table-head.js +1 -1
  68. package/components/pds-table-row.js +1 -1
  69. package/components/pds-table.js +1 -1
  70. package/components/pds-tabpanel.js +1 -1
  71. package/components/pds-tabs.js +1 -1
  72. package/components/pds-text.js +1 -53
  73. package/components/pds-text.js.map +1 -1
  74. package/components/pds-text2.js +58 -0
  75. package/components/pds-text2.js.map +1 -0
  76. package/components/pds-textarea.js +4 -4
  77. package/components/pds-toast.d.ts +11 -0
  78. package/components/pds-toast.js +137 -0
  79. package/components/pds-toast.js.map +1 -0
  80. package/components/pds-tooltip.js +299 -81
  81. package/components/pds-tooltip.js.map +1 -1
  82. package/components/utils.js +3 -2
  83. package/components/utils.js.map +1 -1
  84. package/dist/cjs/{index-CG2Rr2io.js → index-B0qLG6KJ.js} +3 -3
  85. package/dist/cjs/index-B0qLG6KJ.js.map +1 -0
  86. package/dist/cjs/loader.cjs.js +1 -1
  87. package/dist/cjs/mock-pds-modal.cjs.entry.js +86 -0
  88. package/dist/cjs/mock-pds-modal.cjs.entry.js.map +1 -0
  89. package/dist/cjs/mock-pds-modal.entry.cjs.js.map +1 -0
  90. package/dist/cjs/pds-accordion.cjs.entry.js +1 -1
  91. package/dist/cjs/pds-alert.cjs.entry.js +66 -0
  92. package/dist/cjs/pds-alert.cjs.entry.js.map +1 -0
  93. package/dist/cjs/pds-alert.entry.cjs.js.map +1 -0
  94. package/dist/cjs/pds-avatar.cjs.entry.js +2 -2
  95. package/dist/cjs/pds-box.cjs.entry.js +2 -2
  96. package/dist/cjs/pds-box.cjs.entry.js.map +1 -1
  97. package/dist/cjs/pds-box.entry.cjs.js.map +1 -1
  98. package/dist/cjs/pds-button.cjs.entry.js +3 -3
  99. package/dist/cjs/pds-button.cjs.entry.js.map +1 -1
  100. package/dist/cjs/pds-button.entry.cjs.js.map +1 -1
  101. package/dist/cjs/pds-checkbox.cjs.entry.js +4 -4
  102. package/dist/cjs/pds-chip.cjs.entry.js +21 -7
  103. package/dist/cjs/pds-chip.cjs.entry.js.map +1 -1
  104. package/dist/cjs/pds-chip.entry.cjs.js.map +1 -1
  105. package/dist/cjs/pds-copytext.cjs.entry.js +2 -2
  106. package/dist/cjs/pds-divider.cjs.entry.js +1 -1
  107. package/dist/cjs/pds-dropdown-menu-item.cjs.entry.js +82 -0
  108. package/dist/cjs/pds-dropdown-menu-item.cjs.entry.js.map +1 -0
  109. package/dist/cjs/pds-dropdown-menu-item.entry.cjs.js.map +1 -0
  110. package/dist/cjs/pds-dropdown-menu-separator.cjs.entry.js +25 -0
  111. package/dist/cjs/pds-dropdown-menu-separator.cjs.entry.js.map +1 -0
  112. package/dist/cjs/pds-dropdown-menu-separator.entry.cjs.js.map +1 -0
  113. package/dist/cjs/pds-dropdown-menu.cjs.entry.js +1574 -0
  114. package/dist/cjs/pds-dropdown-menu.cjs.entry.js.map +1 -0
  115. package/dist/cjs/pds-dropdown-menu.entry.cjs.js.map +1 -0
  116. package/dist/cjs/pds-image.cjs.entry.js +2 -2
  117. package/dist/cjs/pds-input.cjs.entry.js +88 -21
  118. package/dist/cjs/pds-input.cjs.entry.js.map +1 -1
  119. package/dist/cjs/pds-input.entry.cjs.js.map +1 -1
  120. package/dist/cjs/pds-link.cjs.entry.js +16 -4
  121. package/dist/cjs/pds-link.cjs.entry.js.map +1 -1
  122. package/dist/cjs/pds-link.entry.cjs.js.map +1 -1
  123. package/dist/cjs/pds-loader.cjs.entry.js +1 -1
  124. package/dist/cjs/pds-modal-content.cjs.entry.js +93 -0
  125. package/dist/cjs/pds-modal-content.cjs.entry.js.map +1 -0
  126. package/dist/cjs/pds-modal-content.entry.cjs.js.map +1 -0
  127. package/dist/cjs/pds-modal-footer.cjs.entry.js +20 -0
  128. package/dist/cjs/pds-modal-footer.cjs.entry.js.map +1 -0
  129. package/dist/cjs/pds-modal-footer.entry.cjs.js.map +1 -0
  130. package/dist/cjs/pds-modal-header.cjs.entry.js +20 -0
  131. package/dist/cjs/pds-modal-header.cjs.entry.js.map +1 -0
  132. package/dist/cjs/pds-modal-header.entry.cjs.js.map +1 -0
  133. package/dist/cjs/pds-modal.cjs.entry.js +253 -0
  134. package/dist/cjs/pds-modal.cjs.entry.js.map +1 -0
  135. package/dist/cjs/pds-modal.entry.cjs.js.map +1 -0
  136. package/dist/cjs/pds-popover.cjs.entry.js +33 -1
  137. package/dist/cjs/pds-popover.cjs.entry.js.map +1 -1
  138. package/dist/cjs/pds-popover.entry.cjs.js.map +1 -1
  139. package/dist/cjs/pds-progress.cjs.entry.js +1 -1
  140. package/dist/cjs/pds-radio.cjs.entry.js +4 -4
  141. package/dist/cjs/pds-row.cjs.entry.js +1 -1
  142. package/dist/cjs/pds-select.cjs.entry.js +3 -4
  143. package/dist/cjs/pds-select.cjs.entry.js.map +1 -1
  144. package/dist/cjs/pds-select.entry.cjs.js.map +1 -1
  145. package/dist/cjs/pds-sortable-item.cjs.entry.js +2 -2
  146. package/dist/cjs/pds-sortable.cjs.entry.js +1 -1
  147. package/dist/cjs/pds-switch.cjs.entry.js +4 -4
  148. package/dist/cjs/pds-tab.cjs.entry.js +3 -3
  149. package/dist/cjs/pds-table-body.cjs.entry.js +1 -1
  150. package/dist/cjs/pds-table-cell.cjs.entry.js +2 -2
  151. package/dist/cjs/pds-table-head-cell.cjs.entry.js +3 -3
  152. package/dist/cjs/pds-table-head.cjs.entry.js +1 -1
  153. package/dist/cjs/pds-table-row.cjs.entry.js +1 -1
  154. package/dist/cjs/pds-table.cjs.entry.js +1 -1
  155. package/dist/cjs/pds-tabpanel.cjs.entry.js +1 -1
  156. package/dist/cjs/pds-tabs.cjs.entry.js +1 -1
  157. package/dist/cjs/pds-text.cjs.entry.js +2 -2
  158. package/dist/cjs/pds-text.cjs.entry.js.map +1 -1
  159. package/dist/cjs/pds-text.entry.cjs.js.map +1 -1
  160. package/dist/cjs/pds-textarea.cjs.entry.js +6 -6
  161. package/dist/cjs/pds-toast.cjs.entry.js +104 -0
  162. package/dist/cjs/pds-toast.cjs.entry.js.map +1 -0
  163. package/dist/cjs/pds-toast.entry.cjs.js.map +1 -0
  164. package/dist/cjs/pds-tooltip.cjs.entry.js +297 -79
  165. package/dist/cjs/pds-tooltip.cjs.entry.js.map +1 -1
  166. package/dist/cjs/pds-tooltip.entry.cjs.js.map +1 -1
  167. package/dist/cjs/pine-core.cjs.js +1 -1
  168. package/dist/cjs/{utils-CQKIgzWg.js → utils-jWx-Mf12.js} +5 -4
  169. package/dist/cjs/utils-jWx-Mf12.js.map +1 -0
  170. package/dist/collection/collection-manifest.json +10 -0
  171. package/dist/collection/components/pds-alert/pds-alert.css +108 -0
  172. package/dist/collection/components/pds-alert/pds-alert.js +198 -0
  173. package/dist/collection/components/pds-alert/pds-alert.js.map +1 -0
  174. package/dist/collection/components/pds-alert/pds-alert.tokens.css +32 -0
  175. package/dist/collection/components/pds-alert/stories/pds-alert.stories.js +97 -0
  176. package/dist/collection/components/pds-avatar/pds-avatar.js +1 -1
  177. package/dist/collection/components/pds-box/pds-box.js +8 -8
  178. package/dist/collection/components/pds-box/pds-box.js.map +1 -1
  179. package/dist/collection/components/pds-button/pds-button.css +17 -5
  180. package/dist/collection/components/pds-checkbox/pds-checkbox.js +3 -3
  181. package/dist/collection/components/pds-chip/pds-chip.css +48 -11
  182. package/dist/collection/components/pds-chip/pds-chip.js +42 -9
  183. package/dist/collection/components/pds-chip/pds-chip.js.map +1 -1
  184. package/dist/collection/components/pds-chip/stories/pds-chip.stories.js +18 -1
  185. package/dist/collection/components/pds-copytext/pds-copytext.js +1 -1
  186. package/dist/collection/components/pds-divider/pds-divider.js +1 -1
  187. package/dist/collection/components/pds-dropdown-menu/pds-dropdown-menu-item/pds-dropdown-menu-item.css +68 -0
  188. package/dist/collection/components/pds-dropdown-menu/pds-dropdown-menu-item/pds-dropdown-menu-item.js +219 -0
  189. package/dist/collection/components/pds-dropdown-menu/pds-dropdown-menu-item/pds-dropdown-menu-item.js.map +1 -0
  190. package/dist/collection/components/pds-dropdown-menu/pds-dropdown-menu-separator/pds-dropdown-menu-separator.css +4 -0
  191. package/dist/collection/components/pds-dropdown-menu/pds-dropdown-menu-separator/pds-dropdown-menu-separator.js +72 -0
  192. package/dist/collection/components/pds-dropdown-menu/pds-dropdown-menu-separator/pds-dropdown-menu-separator.js.map +1 -0
  193. package/dist/collection/components/pds-dropdown-menu/pds-dropdown-menu.css +16 -0
  194. package/dist/collection/components/pds-dropdown-menu/pds-dropdown-menu.js +328 -0
  195. package/dist/collection/components/pds-dropdown-menu/pds-dropdown-menu.js.map +1 -0
  196. package/dist/collection/components/pds-dropdown-menu/stories/pds-dropdown-menu.stories.js +44 -0
  197. package/dist/collection/components/pds-image/pds-image.js +2 -2
  198. package/dist/collection/components/pds-input/pds-input.css +167 -43
  199. package/dist/collection/components/pds-input/pds-input.js +212 -21
  200. package/dist/collection/components/pds-input/pds-input.js.map +1 -1
  201. package/dist/collection/components/pds-input/stories/pds-input.stories.js +84 -0
  202. package/dist/collection/components/pds-link/pds-link.css +20 -1
  203. package/dist/collection/components/pds-link/pds-link.js +33 -2
  204. package/dist/collection/components/pds-link/pds-link.js.map +1 -1
  205. package/dist/collection/components/pds-link/stories/pds-link.stories.js +15 -2
  206. package/dist/collection/components/pds-loader/pds-loader.js +1 -1
  207. package/dist/collection/components/pds-modal/pds-modal-content/pds-modal-content.css +27 -0
  208. package/dist/collection/components/pds-modal/pds-modal-content/pds-modal-content.js +125 -0
  209. package/dist/collection/components/pds-modal/pds-modal-content/pds-modal-content.js.map +1 -0
  210. package/dist/collection/components/pds-modal/pds-modal-footer/pds-modal-footer.css +8 -0
  211. package/dist/collection/components/pds-modal/pds-modal-footer/pds-modal-footer.js +18 -0
  212. package/dist/collection/components/pds-modal/pds-modal-footer/pds-modal-footer.js.map +1 -0
  213. package/dist/collection/components/pds-modal/pds-modal-header/pds-modal-header.css +8 -0
  214. package/dist/collection/components/pds-modal/pds-modal-header/pds-modal-header.js +18 -0
  215. package/dist/collection/components/pds-modal/pds-modal-header/pds-modal-header.js.map +1 -0
  216. package/dist/collection/components/pds-modal/pds-modal.css +79 -0
  217. package/dist/collection/components/pds-modal/pds-modal.js +426 -0
  218. package/dist/collection/components/pds-modal/pds-modal.js.map +1 -0
  219. package/dist/collection/components/pds-modal/stories/pds-modal.stories.js +415 -0
  220. package/dist/collection/components/pds-modal/test/mock-pds-modal.js +256 -0
  221. package/dist/collection/components/pds-modal/test/mock-pds-modal.js.map +1 -0
  222. package/dist/collection/components/pds-popover/pds-popover.js +33 -1
  223. package/dist/collection/components/pds-popover/pds-popover.js.map +1 -1
  224. package/dist/collection/components/pds-progress/pds-progress.js +1 -1
  225. package/dist/collection/components/pds-radio/pds-radio.js +3 -3
  226. package/dist/collection/components/pds-row/pds-row.js +1 -1
  227. package/dist/collection/components/pds-select/pds-select.css +34 -4
  228. package/dist/collection/components/pds-select/pds-select.js +20 -2
  229. package/dist/collection/components/pds-select/pds-select.js.map +1 -1
  230. package/dist/collection/components/pds-select/stories/pds-select.stories.js +2 -0
  231. package/dist/collection/components/pds-sortable/pds-sortable-item/pds-sortable-item.js +1 -1
  232. package/dist/collection/components/pds-sortable/pds-sortable.js +1 -1
  233. package/dist/collection/components/pds-switch/pds-switch.js +3 -3
  234. package/dist/collection/components/pds-table/pds-table-body/pds-table-body.js +1 -1
  235. package/dist/collection/components/pds-table/pds-table-cell/pds-table-cell.js +2 -2
  236. package/dist/collection/components/pds-table/pds-table-head/pds-table-head.js +1 -1
  237. package/dist/collection/components/pds-table/pds-table-head-cell/pds-table-head-cell.js +2 -2
  238. package/dist/collection/components/pds-table/pds-table-row/pds-table-row.js +1 -1
  239. package/dist/collection/components/pds-table/pds-table.js +1 -1
  240. package/dist/collection/components/pds-tabs/pds-tab/pds-tab.js +3 -3
  241. package/dist/collection/components/pds-tabs/pds-tabpanel/pds-tabpanel.js +1 -1
  242. package/dist/collection/components/pds-tabs/pds-tabs.js +1 -1
  243. package/dist/collection/components/pds-text/pds-text.js +2 -2
  244. package/dist/collection/components/pds-text/pds-text.js.map +1 -1
  245. package/dist/collection/components/pds-textarea/pds-textarea.js +4 -4
  246. package/dist/collection/components/pds-toast/pds-toast.css +153 -0
  247. package/dist/collection/components/pds-toast/pds-toast.js +263 -0
  248. package/dist/collection/components/pds-toast/pds-toast.js.map +1 -0
  249. package/dist/collection/components/pds-toast/stories/pds-toast.stories.js +103 -0
  250. package/dist/collection/components/pds-tooltip/pds-tooltip.css +2 -12
  251. package/dist/collection/components/pds-tooltip/pds-tooltip.js +227 -26
  252. package/dist/collection/components/pds-tooltip/pds-tooltip.js.map +1 -1
  253. package/dist/collection/components/pds-tooltip/stories/pds-tooltip.stories.js +7 -3
  254. package/dist/collection/utils/interfaces.js +2 -0
  255. package/dist/collection/utils/interfaces.js.map +1 -0
  256. package/dist/collection/utils/overlay.js +66 -49
  257. package/dist/collection/utils/overlay.js.map +1 -1
  258. package/dist/collection/utils/utils.js +3 -2
  259. package/dist/collection/utils/utils.js.map +1 -1
  260. package/dist/docs.json +1816 -200
  261. package/dist/esm/{index-_4gljHh-.js → index-DpOSrebJ.js} +3 -3
  262. package/dist/esm/index-DpOSrebJ.js.map +1 -0
  263. package/dist/esm/loader.js +1 -1
  264. package/dist/esm/mock-pds-modal.entry.js +84 -0
  265. package/dist/esm/mock-pds-modal.entry.js.map +1 -0
  266. package/dist/esm/pds-accordion.entry.js +1 -1
  267. package/dist/esm/pds-alert.entry.js +64 -0
  268. package/dist/esm/pds-alert.entry.js.map +1 -0
  269. package/dist/esm/pds-avatar.entry.js +2 -2
  270. package/dist/esm/pds-box.entry.js +2 -2
  271. package/dist/esm/pds-box.entry.js.map +1 -1
  272. package/dist/esm/pds-button.entry.js +3 -3
  273. package/dist/esm/pds-button.entry.js.map +1 -1
  274. package/dist/esm/pds-checkbox.entry.js +4 -4
  275. package/dist/esm/pds-chip.entry.js +21 -7
  276. package/dist/esm/pds-chip.entry.js.map +1 -1
  277. package/dist/esm/pds-copytext.entry.js +2 -2
  278. package/dist/esm/pds-divider.entry.js +1 -1
  279. package/dist/esm/pds-dropdown-menu-item.entry.js +80 -0
  280. package/dist/esm/pds-dropdown-menu-item.entry.js.map +1 -0
  281. package/dist/esm/pds-dropdown-menu-separator.entry.js +23 -0
  282. package/dist/esm/pds-dropdown-menu-separator.entry.js.map +1 -0
  283. package/dist/esm/pds-dropdown-menu.entry.js +1572 -0
  284. package/dist/esm/pds-dropdown-menu.entry.js.map +1 -0
  285. package/dist/esm/pds-image.entry.js +2 -2
  286. package/dist/esm/pds-input.entry.js +88 -21
  287. package/dist/esm/pds-input.entry.js.map +1 -1
  288. package/dist/esm/pds-link.entry.js +16 -4
  289. package/dist/esm/pds-link.entry.js.map +1 -1
  290. package/dist/esm/pds-loader.entry.js +1 -1
  291. package/dist/esm/pds-modal-content.entry.js +91 -0
  292. package/dist/esm/pds-modal-content.entry.js.map +1 -0
  293. package/dist/esm/pds-modal-footer.entry.js +18 -0
  294. package/dist/esm/pds-modal-footer.entry.js.map +1 -0
  295. package/dist/esm/pds-modal-header.entry.js +18 -0
  296. package/dist/esm/pds-modal-header.entry.js.map +1 -0
  297. package/dist/esm/pds-modal.entry.js +251 -0
  298. package/dist/esm/pds-modal.entry.js.map +1 -0
  299. package/dist/esm/pds-popover.entry.js +33 -1
  300. package/dist/esm/pds-popover.entry.js.map +1 -1
  301. package/dist/esm/pds-progress.entry.js +1 -1
  302. package/dist/esm/pds-radio.entry.js +4 -4
  303. package/dist/esm/pds-row.entry.js +1 -1
  304. package/dist/esm/pds-select.entry.js +3 -4
  305. package/dist/esm/pds-select.entry.js.map +1 -1
  306. package/dist/esm/pds-sortable-item.entry.js +2 -2
  307. package/dist/esm/pds-sortable.entry.js +1 -1
  308. package/dist/esm/pds-switch.entry.js +4 -4
  309. package/dist/esm/pds-tab.entry.js +3 -3
  310. package/dist/esm/pds-table-body.entry.js +1 -1
  311. package/dist/esm/pds-table-cell.entry.js +2 -2
  312. package/dist/esm/pds-table-head-cell.entry.js +3 -3
  313. package/dist/esm/pds-table-head.entry.js +1 -1
  314. package/dist/esm/pds-table-row.entry.js +1 -1
  315. package/dist/esm/pds-table.entry.js +1 -1
  316. package/dist/esm/pds-tabpanel.entry.js +1 -1
  317. package/dist/esm/pds-tabs.entry.js +1 -1
  318. package/dist/esm/pds-text.entry.js +2 -2
  319. package/dist/esm/pds-text.entry.js.map +1 -1
  320. package/dist/esm/pds-textarea.entry.js +6 -6
  321. package/dist/esm/pds-toast.entry.js +102 -0
  322. package/dist/esm/pds-toast.entry.js.map +1 -0
  323. package/dist/esm/pds-tooltip.entry.js +297 -79
  324. package/dist/esm/pds-tooltip.entry.js.map +1 -1
  325. package/dist/esm/pine-core.js +1 -1
  326. package/dist/esm/{utils-Dw9B1JDC.js → utils-DkabwBZT.js} +5 -4
  327. package/dist/esm/utils-DkabwBZT.js.map +1 -0
  328. package/dist/esm-es5/{index-_4gljHh-.js → index-DpOSrebJ.js} +1 -1
  329. package/dist/esm-es5/index-DpOSrebJ.js.map +1 -0
  330. package/dist/esm-es5/loader.js +1 -1
  331. package/dist/esm-es5/mock-pds-modal.entry.js +2 -0
  332. package/dist/esm-es5/mock-pds-modal.entry.js.map +1 -0
  333. package/dist/esm-es5/pds-accordion.entry.js +1 -1
  334. package/dist/esm-es5/pds-alert.entry.js +2 -0
  335. package/dist/esm-es5/pds-alert.entry.js.map +1 -0
  336. package/dist/esm-es5/pds-avatar.entry.js +1 -1
  337. package/dist/esm-es5/pds-box.entry.js +1 -1
  338. package/dist/esm-es5/pds-box.entry.js.map +1 -1
  339. package/dist/esm-es5/pds-button.entry.js +1 -1
  340. package/dist/esm-es5/pds-button.entry.js.map +1 -1
  341. package/dist/esm-es5/pds-checkbox.entry.js +1 -1
  342. package/dist/esm-es5/pds-chip.entry.js +1 -1
  343. package/dist/esm-es5/pds-chip.entry.js.map +1 -1
  344. package/dist/esm-es5/pds-copytext.entry.js +1 -1
  345. package/dist/esm-es5/pds-divider.entry.js +1 -1
  346. package/dist/esm-es5/pds-dropdown-menu-item.entry.js +2 -0
  347. package/dist/esm-es5/pds-dropdown-menu-item.entry.js.map +1 -0
  348. package/dist/esm-es5/pds-dropdown-menu-separator.entry.js +2 -0
  349. package/dist/esm-es5/pds-dropdown-menu-separator.entry.js.map +1 -0
  350. package/dist/esm-es5/pds-dropdown-menu.entry.js +2 -0
  351. package/dist/esm-es5/pds-dropdown-menu.entry.js.map +1 -0
  352. package/dist/esm-es5/pds-image.entry.js +1 -1
  353. package/dist/esm-es5/pds-input.entry.js +1 -1
  354. package/dist/esm-es5/pds-input.entry.js.map +1 -1
  355. package/dist/esm-es5/pds-link.entry.js +1 -1
  356. package/dist/esm-es5/pds-link.entry.js.map +1 -1
  357. package/dist/esm-es5/pds-loader.entry.js +1 -1
  358. package/dist/esm-es5/pds-modal-content.entry.js +2 -0
  359. package/dist/esm-es5/pds-modal-content.entry.js.map +1 -0
  360. package/dist/esm-es5/pds-modal-footer.entry.js +2 -0
  361. package/dist/esm-es5/pds-modal-footer.entry.js.map +1 -0
  362. package/dist/esm-es5/pds-modal-header.entry.js +2 -0
  363. package/dist/esm-es5/pds-modal-header.entry.js.map +1 -0
  364. package/dist/esm-es5/pds-modal.entry.js +2 -0
  365. package/dist/esm-es5/pds-modal.entry.js.map +1 -0
  366. package/dist/esm-es5/pds-popover.entry.js +1 -1
  367. package/dist/esm-es5/pds-popover.entry.js.map +1 -1
  368. package/dist/esm-es5/pds-progress.entry.js +1 -1
  369. package/dist/esm-es5/pds-radio.entry.js +1 -1
  370. package/dist/esm-es5/pds-row.entry.js +1 -1
  371. package/dist/esm-es5/pds-select.entry.js +1 -1
  372. package/dist/esm-es5/pds-select.entry.js.map +1 -1
  373. package/dist/esm-es5/pds-sortable-item.entry.js +1 -1
  374. package/dist/esm-es5/pds-sortable.entry.js +1 -1
  375. package/dist/esm-es5/pds-switch.entry.js +1 -1
  376. package/dist/esm-es5/pds-tab.entry.js +1 -1
  377. package/dist/esm-es5/pds-table-body.entry.js +1 -1
  378. package/dist/esm-es5/pds-table-cell.entry.js +1 -1
  379. package/dist/esm-es5/pds-table-head-cell.entry.js +1 -1
  380. package/dist/esm-es5/pds-table-head.entry.js +1 -1
  381. package/dist/esm-es5/pds-table-row.entry.js +1 -1
  382. package/dist/esm-es5/pds-table.entry.js +1 -1
  383. package/dist/esm-es5/pds-tabpanel.entry.js +1 -1
  384. package/dist/esm-es5/pds-tabs.entry.js +1 -1
  385. package/dist/esm-es5/pds-text.entry.js +1 -1
  386. package/dist/esm-es5/pds-text.entry.js.map +1 -1
  387. package/dist/esm-es5/pds-textarea.entry.js +1 -1
  388. package/dist/esm-es5/pds-toast.entry.js +2 -0
  389. package/dist/esm-es5/pds-toast.entry.js.map +1 -0
  390. package/dist/esm-es5/pds-tooltip.entry.js +1 -1
  391. package/dist/esm-es5/pds-tooltip.entry.js.map +1 -1
  392. package/dist/esm-es5/pine-core.js +1 -1
  393. package/dist/esm-es5/utils-DkabwBZT.js +2 -0
  394. package/dist/esm-es5/utils-DkabwBZT.js.map +1 -0
  395. package/dist/pine-core/mock-pds-modal.entry.esm.js.map +1 -0
  396. package/dist/pine-core/{p-BjCOR1Nn.system.js.map → p--YvWqEjm.system.js.map} +1 -1
  397. package/dist/pine-core/p-00599bd8.entry.js +2 -0
  398. package/dist/pine-core/p-00599bd8.entry.js.map +1 -0
  399. package/dist/pine-core/{p-a14c8ab4.system.entry.js → p-03d8cb4c.system.entry.js} +2 -2
  400. package/dist/pine-core/{p-f94703c9.entry.js → p-04195bdb.entry.js} +2 -2
  401. package/dist/pine-core/p-065208a1.system.entry.js +2 -0
  402. package/dist/pine-core/p-065208a1.system.entry.js.map +1 -0
  403. package/dist/pine-core/p-07f45626.entry.js +2 -0
  404. package/dist/pine-core/p-07f45626.entry.js.map +1 -0
  405. package/dist/pine-core/{p-0486ad57.entry.js → p-0a11384e.entry.js} +2 -2
  406. package/dist/pine-core/p-0a87e2fc.system.entry.js +2 -0
  407. package/dist/pine-core/p-0a87e2fc.system.entry.js.map +1 -0
  408. package/dist/pine-core/p-0c30661b.system.entry.js +2 -0
  409. package/dist/pine-core/p-0c30661b.system.entry.js.map +1 -0
  410. package/dist/pine-core/{p-82e05dcf.entry.js → p-10e2feff.entry.js} +2 -2
  411. package/dist/pine-core/{p-d2110923.system.entry.js → p-111e7da2.system.entry.js} +2 -2
  412. package/dist/pine-core/{p-1178485a.system.entry.js → p-13481ef5.system.entry.js} +2 -2
  413. package/dist/pine-core/{p-1178485a.system.entry.js.map → p-13481ef5.system.entry.js.map} +1 -1
  414. package/dist/pine-core/{p-68de979e.entry.js → p-19c01019.entry.js} +2 -2
  415. package/dist/pine-core/p-1d395d27.entry.js +2 -0
  416. package/dist/pine-core/p-1d395d27.entry.js.map +1 -0
  417. package/dist/pine-core/{p-4ff0838c.entry.js → p-2007a0b5.entry.js} +2 -2
  418. package/dist/pine-core/{p-fed4c0c0.system.entry.js → p-27c0ffda.system.entry.js} +2 -2
  419. package/dist/pine-core/p-35917a1a.entry.js +2 -0
  420. package/dist/pine-core/p-39a31730.system.entry.js +2 -0
  421. package/dist/pine-core/p-39a31730.system.entry.js.map +1 -0
  422. package/dist/pine-core/p-3D0orTx_.system.js.map +1 -0
  423. package/dist/pine-core/p-3ea415b0.entry.js +2 -0
  424. package/dist/pine-core/p-3ea415b0.entry.js.map +1 -0
  425. package/dist/pine-core/p-44f10d3c.entry.js +2 -0
  426. package/dist/pine-core/p-44f10d3c.entry.js.map +1 -0
  427. package/dist/pine-core/p-47a7a65b.entry.js +2 -0
  428. package/dist/pine-core/p-47a7a65b.entry.js.map +1 -0
  429. package/dist/pine-core/{p-ca09f86a.system.entry.js → p-4b2aab79.system.entry.js} +2 -2
  430. package/dist/pine-core/p-513c16c7.entry.js +2 -0
  431. package/dist/pine-core/p-513c16c7.entry.js.map +1 -0
  432. package/dist/pine-core/{p-950427b2.entry.js → p-51cc93b3.entry.js} +2 -2
  433. package/dist/pine-core/p-5367f477.system.entry.js +2 -0
  434. package/dist/pine-core/{p-ceb48b05.system.entry.js → p-593df966.system.entry.js} +2 -2
  435. package/dist/pine-core/p-5a437fcd.system.entry.js +2 -0
  436. package/dist/pine-core/p-5a437fcd.system.entry.js.map +1 -0
  437. package/dist/pine-core/p-5c4aceb7.entry.js +2 -0
  438. package/dist/pine-core/p-5c4aceb7.entry.js.map +1 -0
  439. package/dist/pine-core/{p-598ade79.entry.js → p-5e1e7762.entry.js} +2 -2
  440. package/dist/pine-core/{p-9cdd57de.entry.js → p-60fbeb1c.entry.js} +2 -2
  441. package/dist/pine-core/p-624db3d6.system.entry.js +2 -0
  442. package/dist/pine-core/p-624db3d6.system.entry.js.map +1 -0
  443. package/dist/pine-core/p-65a875f6.entry.js +2 -0
  444. package/dist/pine-core/p-65a875f6.entry.js.map +1 -0
  445. package/dist/pine-core/{p-c0f0b368.system.entry.js → p-6a7936e7.system.entry.js} +2 -2
  446. package/dist/pine-core/{p-a97952fc.system.entry.js → p-73412ca9.system.entry.js} +2 -2
  447. package/dist/pine-core/{p-a97952fc.system.entry.js.map → p-73412ca9.system.entry.js.map} +1 -1
  448. package/dist/pine-core/{p-b390c427.entry.js → p-76e35041.entry.js} +2 -2
  449. package/dist/pine-core/{p-12bee2e5.entry.js → p-76f7cf21.entry.js} +2 -2
  450. package/dist/pine-core/{p-103b62a1.system.entry.js → p-78327c08.system.entry.js} +2 -2
  451. package/dist/pine-core/{p-792355e6.entry.js → p-78f29270.entry.js} +2 -2
  452. package/dist/pine-core/p-79cb7835.system.entry.js +2 -0
  453. package/dist/pine-core/p-79cb7835.system.entry.js.map +1 -0
  454. package/dist/pine-core/{p-fd9aa739.system.entry.js → p-7bb3a5d4.system.entry.js} +2 -2
  455. package/dist/pine-core/{p-e88d58f4.entry.js → p-80f36506.entry.js} +2 -2
  456. package/dist/pine-core/{p-eda0dc79.entry.js → p-8180b641.entry.js} +2 -2
  457. package/dist/pine-core/{p-85073252.system.entry.js → p-833b2170.system.entry.js} +2 -2
  458. package/dist/pine-core/p-86329612.entry.js +2 -0
  459. package/dist/pine-core/p-86329612.entry.js.map +1 -0
  460. package/dist/pine-core/p-8b6b0db7.entry.js +2 -0
  461. package/dist/pine-core/p-8b6b0db7.entry.js.map +1 -0
  462. package/dist/pine-core/p-8f06b020.entry.js +2 -0
  463. package/dist/pine-core/p-8f06b020.entry.js.map +1 -0
  464. package/dist/pine-core/p-942fa145.system.entry.js +2 -0
  465. package/dist/pine-core/p-942fa145.system.entry.js.map +1 -0
  466. package/dist/pine-core/{p-1d92261f.system.entry.js → p-959c8247.system.entry.js} +2 -2
  467. package/dist/pine-core/{p-5763df39.system.entry.js → p-96e9774e.system.entry.js} +2 -2
  468. package/dist/pine-core/{p-e281ac09.entry.js → p-99b5e1a5.entry.js} +2 -2
  469. package/dist/pine-core/p-9c01e81b.system.entry.js +2 -0
  470. package/dist/pine-core/p-9c01e81b.system.entry.js.map +1 -0
  471. package/dist/pine-core/p-9db1f179.entry.js +2 -0
  472. package/dist/pine-core/p-9db1f179.entry.js.map +1 -0
  473. package/dist/pine-core/p-A4_UN20E.system.js.map +1 -0
  474. package/dist/pine-core/p-B2gfQpwn.system.js.map +1 -0
  475. package/dist/pine-core/{p-CDhmuxC9.system.js.map → p-B5JFBYFw.system.js.map} +1 -1
  476. package/dist/pine-core/p-B5LBNcOw.system.js.map +1 -0
  477. package/dist/pine-core/{p-BJyPFOn0.system.js.map → p-BE1qV1Jc.system.js.map} +1 -1
  478. package/dist/pine-core/p-BEYGfY83.system.js.map +1 -0
  479. package/dist/pine-core/{p-B46WXJMn.system.js.map → p-BHZ6CSg4.system.js.map} +1 -1
  480. package/dist/pine-core/p-BHp2IZGP.system.js.map +1 -0
  481. package/dist/pine-core/{p-BSINexOf.system.js.map → p-BISuGf0f.system.js.map} +1 -1
  482. package/dist/pine-core/p-BPQAcMLl.system.js.map +1 -0
  483. package/dist/pine-core/{p-9niWVsdd.system.js.map → p-BaAcO8Mz.system.js.map} +1 -1
  484. package/dist/pine-core/p-BcuE4ZrB.system.js.map +1 -0
  485. package/dist/pine-core/{p-C94EgDFz.system.js → p-BhPuKJbQ.system.js} +2 -2
  486. package/dist/pine-core/p-BhPuKJbQ.system.js.map +1 -0
  487. package/dist/pine-core/p-BsL2GDnH.system.js +1 -1
  488. package/dist/pine-core/{p-DEsea81X.system.js.map → p-BwHnCFqU.system.js.map} +1 -1
  489. package/dist/pine-core/{p-DVVPJPOu.system.js.map → p-BxBtA60x.system.js.map} +1 -1
  490. package/dist/pine-core/{p-kMnJefdU.system.js.map → p-C0oRS1F9.system.js.map} +1 -1
  491. package/dist/pine-core/{p-eKz-xVcI.system.js.map → p-C2d75seA.system.js.map} +1 -1
  492. package/dist/pine-core/{p-BgcVBzVE.system.js.map → p-CGABEyvz.system.js.map} +1 -1
  493. package/dist/pine-core/{p-DkJgkLjR.system.js.map → p-CIc_XeAg.system.js.map} +1 -1
  494. package/dist/pine-core/p-CNYB6FL-.system.js.map +1 -0
  495. package/dist/pine-core/{p-BW-n3jjz.system.js.map → p-CNkajx9x.system.js.map} +1 -1
  496. package/dist/pine-core/{p-Dz6toWDZ.system.js.map → p-CS2nVL5p.system.js.map} +1 -1
  497. package/dist/pine-core/{p-BFPxUBwH.system.js.map → p-CTPMEWZT.system.js.map} +1 -1
  498. package/dist/pine-core/{p-Cg0JSYH5.system.js.map → p-CTWkFhWu.system.js.map} +1 -1
  499. package/dist/pine-core/{p-BoNavS-S.system.js.map → p-CcsZC7UR.system.js.map} +1 -1
  500. package/dist/pine-core/{p-D8WAvG2e.system.js.map → p-CdzfTGbZ.system.js.map} +1 -1
  501. package/dist/pine-core/p-CkoeYrxa.system.js.map +1 -0
  502. package/dist/pine-core/p-ClVQjta4.system.js.map +1 -0
  503. package/dist/pine-core/{p-C0cdB2AV.system.js.map → p-D2UtaGL2.system.js.map} +1 -1
  504. package/dist/pine-core/{p-YuC61pNM.system.js.map → p-DGyATOIf.system.js.map} +1 -1
  505. package/dist/pine-core/p-DMeT5CsE.system.js.map +1 -0
  506. package/dist/pine-core/p-DVhX1_nD.system.js.map +1 -0
  507. package/dist/pine-core/p-DeW-6a7f.system.js.map +1 -0
  508. package/dist/pine-core/{p-Cj21y714.system.js.map → p-DgTp_KeO.system.js.map} +1 -1
  509. package/dist/pine-core/p-DjXmy34u.system.js.map +1 -0
  510. package/dist/pine-core/p-DkabwBZT.js +2 -0
  511. package/dist/pine-core/p-DkabwBZT.js.map +1 -0
  512. package/dist/pine-core/{p-_4gljHh-.js → p-DpOSrebJ.js} +1 -1
  513. package/dist/pine-core/p-DpOSrebJ.js.map +1 -0
  514. package/dist/pine-core/{p-B4W0_y2p.system.js → p-DyDReOdO.system.js} +1 -1
  515. package/dist/pine-core/p-DyDReOdO.system.js.map +1 -0
  516. package/dist/pine-core/{p-IK9NvSRG.system.js.map → p-EqAbQY8l.system.js.map} +1 -1
  517. package/dist/pine-core/p-Ke8SGZqs.system.js.map +1 -0
  518. package/dist/pine-core/{p-CmTz2SvK.system.js.map → p-Mqxw-gWj.system.js.map} +1 -1
  519. package/dist/pine-core/{p-BVNW4NmT.system.js.map → p-PPIMiuZX.system.js.map} +1 -1
  520. package/dist/pine-core/p-PkSWq78_.system.js.map +1 -0
  521. package/dist/pine-core/{p-w3zTyPF1.system.js.map → p-UhZHDNH2.system.js.map} +1 -1
  522. package/dist/pine-core/p-a52b1413.entry.js +2 -0
  523. package/dist/pine-core/p-a52b1413.entry.js.map +1 -0
  524. package/dist/pine-core/{p-7b6b354a.system.entry.js → p-a556a328.system.entry.js} +2 -2
  525. package/dist/pine-core/{p-c7d4f436.system.entry.js → p-a98cda38.system.entry.js} +2 -2
  526. package/dist/pine-core/{p-c838b6ef.system.entry.js → p-ab7e4700.system.entry.js} +2 -2
  527. package/dist/pine-core/{p-6147b1ea.system.entry.js → p-aeaae417.system.entry.js} +2 -2
  528. package/dist/pine-core/{p-b902f535.entry.js → p-b2820acd.entry.js} +2 -2
  529. package/dist/pine-core/{p-f439922f.entry.js → p-bf699bad.entry.js} +2 -2
  530. package/dist/pine-core/{p-f439922f.entry.js.map → p-bf699bad.entry.js.map} +1 -1
  531. package/dist/pine-core/p-c1909a5d.system.entry.js +2 -0
  532. package/dist/pine-core/{p-9d0c1b2e.system.entry.js.map → p-c1909a5d.system.entry.js.map} +1 -1
  533. package/dist/pine-core/{p-e045e337.system.entry.js → p-c551191a.system.entry.js} +2 -2
  534. package/dist/pine-core/p-c5e1ed09.system.entry.js +2 -0
  535. package/dist/pine-core/p-c5e1ed09.system.entry.js.map +1 -0
  536. package/dist/pine-core/{p-596e0292.system.entry.js → p-cc21ddcc.system.entry.js} +2 -2
  537. package/dist/pine-core/p-d0adaca0.system.entry.js +2 -0
  538. package/dist/pine-core/p-d0adaca0.system.entry.js.map +1 -0
  539. package/dist/pine-core/{p-6ad460a7.entry.js → p-d28768d1.entry.js} +2 -2
  540. package/dist/pine-core/{p-5c396e75.entry.js → p-d35b3494.entry.js} +2 -2
  541. package/dist/pine-core/{p-98181fa8.system.entry.js → p-d553e05c.system.entry.js} +2 -2
  542. package/dist/pine-core/{p-a952d40c.system.entry.js → p-d6d453d8.system.entry.js} +2 -2
  543. package/dist/pine-core/p-dcda4ff5.system.entry.js +2 -0
  544. package/dist/pine-core/p-dcda4ff5.system.entry.js.map +1 -0
  545. package/dist/pine-core/p-ddcc4932.entry.js +2 -0
  546. package/dist/pine-core/{p-ed8c3064.system.entry.js → p-de550d9e.system.entry.js} +2 -2
  547. package/dist/pine-core/p-dfd5a5b6.system.entry.js +2 -0
  548. package/dist/pine-core/p-dfd5a5b6.system.entry.js.map +1 -0
  549. package/dist/pine-core/p-e562ad73.system.entry.js +2 -0
  550. package/dist/pine-core/p-e562ad73.system.entry.js.map +1 -0
  551. package/dist/pine-core/p-e9f004c5.entry.js +2 -0
  552. package/dist/pine-core/p-e9f004c5.entry.js.map +1 -0
  553. package/dist/pine-core/p-ef9ed75a.system.entry.js +2 -0
  554. package/dist/pine-core/p-ef9ed75a.system.entry.js.map +1 -0
  555. package/dist/pine-core/{p-4b59cae8.entry.js → p-f256dd8a.entry.js} +2 -2
  556. package/dist/pine-core/{p-4b59cae8.entry.js.map → p-f256dd8a.entry.js.map} +1 -1
  557. package/dist/pine-core/{p-b68cb43d.system.entry.js → p-f46c4618.system.entry.js} +2 -2
  558. package/dist/pine-core/p-f4fff209.system.entry.js +2 -0
  559. package/dist/pine-core/p-f4fff209.system.entry.js.map +1 -0
  560. package/dist/pine-core/{p-3ce8eb9f.entry.js → p-f6b226df.entry.js} +2 -2
  561. package/dist/pine-core/{p-6a716bff.entry.js → p-f99c59a8.entry.js} +2 -2
  562. package/dist/pine-core/{p-1b81a8ec.entry.js → p-fb1eb0c4.entry.js} +2 -2
  563. package/dist/pine-core/{p-8305cd4d.entry.js → p-fb2fb435.entry.js} +2 -2
  564. package/dist/pine-core/p-fd1ef1e1.entry.js +2 -0
  565. package/dist/pine-core/p-fd1ef1e1.entry.js.map +1 -0
  566. package/dist/pine-core/p-fdf3a5ff.entry.js +2 -0
  567. package/dist/pine-core/{p-d5838288.entry.js.map → p-fdf3a5ff.entry.js.map} +1 -1
  568. package/dist/pine-core/p-fed5f55e.system.entry.js +2 -0
  569. package/dist/pine-core/pds-alert.entry.esm.js.map +1 -0
  570. package/dist/pine-core/pds-box.entry.esm.js.map +1 -1
  571. package/dist/pine-core/pds-button.entry.esm.js.map +1 -1
  572. package/dist/pine-core/pds-chip.entry.esm.js.map +1 -1
  573. package/dist/pine-core/pds-dropdown-menu-item.entry.esm.js.map +1 -0
  574. package/dist/pine-core/pds-dropdown-menu-separator.entry.esm.js.map +1 -0
  575. package/dist/pine-core/pds-dropdown-menu.entry.esm.js.map +1 -0
  576. package/dist/pine-core/pds-input.entry.esm.js.map +1 -1
  577. package/dist/pine-core/pds-link.entry.esm.js.map +1 -1
  578. package/dist/pine-core/pds-modal-content.entry.esm.js.map +1 -0
  579. package/dist/pine-core/pds-modal-footer.entry.esm.js.map +1 -0
  580. package/dist/pine-core/pds-modal-header.entry.esm.js.map +1 -0
  581. package/dist/pine-core/pds-modal.entry.esm.js.map +1 -0
  582. package/dist/pine-core/pds-popover.entry.esm.js.map +1 -1
  583. package/dist/pine-core/pds-select.entry.esm.js.map +1 -1
  584. package/dist/pine-core/pds-text.entry.esm.js.map +1 -1
  585. package/dist/pine-core/pds-toast.entry.esm.js.map +1 -0
  586. package/dist/pine-core/pds-tooltip.entry.esm.js.map +1 -1
  587. package/dist/pine-core/pine-core.esm.js +1 -1
  588. package/dist/types/components/pds-alert/pds-alert.d.ts +39 -0
  589. package/dist/types/components/pds-box/pds-box.d.ts +6 -6
  590. package/dist/types/components/pds-chip/pds-chip.d.ts +9 -1
  591. package/dist/types/components/pds-dropdown-menu/pds-dropdown-menu-item/pds-dropdown-menu-item.d.ts +43 -0
  592. package/dist/types/components/pds-dropdown-menu/pds-dropdown-menu-separator/pds-dropdown-menu-separator.d.ts +13 -0
  593. package/dist/types/components/pds-dropdown-menu/pds-dropdown-menu.d.ts +33 -0
  594. package/dist/types/components/pds-input/pds-input.d.ts +57 -9
  595. package/dist/types/components/pds-link/pds-link.d.ts +5 -0
  596. package/dist/types/components/pds-modal/pds-modal-content/pds-modal-content.d.ts +25 -0
  597. package/dist/types/components/pds-modal/pds-modal-footer/pds-modal-footer.d.ts +3 -0
  598. package/dist/types/components/pds-modal/pds-modal-header/pds-modal-header.d.ts +3 -0
  599. package/dist/types/components/pds-modal/pds-modal.d.ts +72 -0
  600. package/dist/types/components/pds-modal/test/mock-pds-modal.d.ts +63 -0
  601. package/dist/types/components/pds-select/pds-select.d.ts +4 -0
  602. package/dist/types/components/pds-toast/pds-toast.d.ts +57 -0
  603. package/dist/types/components/pds-tooltip/pds-tooltip.d.ts +31 -3
  604. package/dist/types/components.d.ts +609 -20
  605. package/dist/types/utils/interfaces.d.ts +6 -0
  606. package/dist/types/utils/overlay.d.ts +3 -3
  607. package/dist/types/utils/utils.d.ts +1 -1
  608. package/hydrate/index.js +3030 -280
  609. package/hydrate/index.mjs +3030 -280
  610. package/package.json +6 -2
  611. package/dist/cjs/index-CG2Rr2io.js.map +0 -1
  612. package/dist/cjs/utils-CQKIgzWg.js.map +0 -1
  613. package/dist/esm/index-_4gljHh-.js.map +0 -1
  614. package/dist/esm/utils-Dw9B1JDC.js.map +0 -1
  615. package/dist/esm-es5/index-_4gljHh-.js.map +0 -1
  616. package/dist/esm-es5/utils-Dw9B1JDC.js +0 -2
  617. package/dist/esm-es5/utils-Dw9B1JDC.js.map +0 -1
  618. package/dist/pine-core/p-13b9ed06.system.entry.js +0 -2
  619. package/dist/pine-core/p-1d690915.entry.js +0 -2
  620. package/dist/pine-core/p-294f9b1f.entry.js +0 -2
  621. package/dist/pine-core/p-38246e2f.entry.js +0 -2
  622. package/dist/pine-core/p-38246e2f.entry.js.map +0 -1
  623. package/dist/pine-core/p-38d2498e.system.entry.js +0 -2
  624. package/dist/pine-core/p-38d2498e.system.entry.js.map +0 -1
  625. package/dist/pine-core/p-433c6687.system.entry.js +0 -2
  626. package/dist/pine-core/p-433c6687.system.entry.js.map +0 -1
  627. package/dist/pine-core/p-4ccd2d5e.entry.js +0 -2
  628. package/dist/pine-core/p-4ccd2d5e.entry.js.map +0 -1
  629. package/dist/pine-core/p-4e7ca704.entry.js +0 -2
  630. package/dist/pine-core/p-4e7ca704.entry.js.map +0 -1
  631. package/dist/pine-core/p-6260135d.system.entry.js +0 -2
  632. package/dist/pine-core/p-6260135d.system.entry.js.map +0 -1
  633. package/dist/pine-core/p-82151ac5.entry.js +0 -2
  634. package/dist/pine-core/p-82151ac5.entry.js.map +0 -1
  635. package/dist/pine-core/p-8337c77c.entry.js +0 -2
  636. package/dist/pine-core/p-8337c77c.entry.js.map +0 -1
  637. package/dist/pine-core/p-953f619f.system.entry.js +0 -2
  638. package/dist/pine-core/p-9d0c1b2e.system.entry.js +0 -2
  639. package/dist/pine-core/p-B4W0_y2p.system.js.map +0 -1
  640. package/dist/pine-core/p-Bu94kuQa.system.js.map +0 -1
  641. package/dist/pine-core/p-C94EgDFz.system.js.map +0 -1
  642. package/dist/pine-core/p-CdkqpuKd.system.js.map +0 -1
  643. package/dist/pine-core/p-CnoLHUtr.system.js.map +0 -1
  644. package/dist/pine-core/p-Cz3zRtiB.system.js.map +0 -1
  645. package/dist/pine-core/p-DFmUOrRG.system.js.map +0 -1
  646. package/dist/pine-core/p-DhwO1z4v.system.js.map +0 -1
  647. package/dist/pine-core/p-Dv_jWtcr.system.js.map +0 -1
  648. package/dist/pine-core/p-Dw9B1JDC.js +0 -2
  649. package/dist/pine-core/p-Dw9B1JDC.js.map +0 -1
  650. package/dist/pine-core/p-_4gljHh-.js.map +0 -1
  651. package/dist/pine-core/p-d3ab594c.system.entry.js +0 -2
  652. package/dist/pine-core/p-d3ab594c.system.entry.js.map +0 -1
  653. package/dist/pine-core/p-d5838288.entry.js +0 -2
  654. package/dist/pine-core/p-d78bec50.system.entry.js +0 -2
  655. package/dist/pine-core/p-d78bec50.system.entry.js.map +0 -1
  656. package/dist/pine-core/p-d8e02aa9.system.entry.js +0 -2
  657. package/dist/pine-core/p-d8e02aa9.system.entry.js.map +0 -1
  658. package/dist/pine-core/p-f4898d4f.entry.js +0 -2
  659. package/dist/pine-core/p-f4898d4f.entry.js.map +0 -1
  660. /package/dist/pine-core/{p-a14c8ab4.system.entry.js.map → p-03d8cb4c.system.entry.js.map} +0 -0
  661. /package/dist/pine-core/{p-f94703c9.entry.js.map → p-04195bdb.entry.js.map} +0 -0
  662. /package/dist/pine-core/{p-0486ad57.entry.js.map → p-0a11384e.entry.js.map} +0 -0
  663. /package/dist/pine-core/{p-82e05dcf.entry.js.map → p-10e2feff.entry.js.map} +0 -0
  664. /package/dist/pine-core/{p-d2110923.system.entry.js.map → p-111e7da2.system.entry.js.map} +0 -0
  665. /package/dist/pine-core/{p-68de979e.entry.js.map → p-19c01019.entry.js.map} +0 -0
  666. /package/dist/pine-core/{p-4ff0838c.entry.js.map → p-2007a0b5.entry.js.map} +0 -0
  667. /package/dist/pine-core/{p-fed4c0c0.system.entry.js.map → p-27c0ffda.system.entry.js.map} +0 -0
  668. /package/dist/pine-core/{p-294f9b1f.entry.js.map → p-35917a1a.entry.js.map} +0 -0
  669. /package/dist/pine-core/{p-ca09f86a.system.entry.js.map → p-4b2aab79.system.entry.js.map} +0 -0
  670. /package/dist/pine-core/{p-950427b2.entry.js.map → p-51cc93b3.entry.js.map} +0 -0
  671. /package/dist/pine-core/{p-953f619f.system.entry.js.map → p-5367f477.system.entry.js.map} +0 -0
  672. /package/dist/pine-core/{p-ceb48b05.system.entry.js.map → p-593df966.system.entry.js.map} +0 -0
  673. /package/dist/pine-core/{p-598ade79.entry.js.map → p-5e1e7762.entry.js.map} +0 -0
  674. /package/dist/pine-core/{p-9cdd57de.entry.js.map → p-60fbeb1c.entry.js.map} +0 -0
  675. /package/dist/pine-core/{p-c0f0b368.system.entry.js.map → p-6a7936e7.system.entry.js.map} +0 -0
  676. /package/dist/pine-core/{p-b390c427.entry.js.map → p-76e35041.entry.js.map} +0 -0
  677. /package/dist/pine-core/{p-12bee2e5.entry.js.map → p-76f7cf21.entry.js.map} +0 -0
  678. /package/dist/pine-core/{p-103b62a1.system.entry.js.map → p-78327c08.system.entry.js.map} +0 -0
  679. /package/dist/pine-core/{p-792355e6.entry.js.map → p-78f29270.entry.js.map} +0 -0
  680. /package/dist/pine-core/{p-fd9aa739.system.entry.js.map → p-7bb3a5d4.system.entry.js.map} +0 -0
  681. /package/dist/pine-core/{p-e88d58f4.entry.js.map → p-80f36506.entry.js.map} +0 -0
  682. /package/dist/pine-core/{p-eda0dc79.entry.js.map → p-8180b641.entry.js.map} +0 -0
  683. /package/dist/pine-core/{p-85073252.system.entry.js.map → p-833b2170.system.entry.js.map} +0 -0
  684. /package/dist/pine-core/{p-1d92261f.system.entry.js.map → p-959c8247.system.entry.js.map} +0 -0
  685. /package/dist/pine-core/{p-5763df39.system.entry.js.map → p-96e9774e.system.entry.js.map} +0 -0
  686. /package/dist/pine-core/{p-e281ac09.entry.js.map → p-99b5e1a5.entry.js.map} +0 -0
  687. /package/dist/pine-core/{p-7b6b354a.system.entry.js.map → p-a556a328.system.entry.js.map} +0 -0
  688. /package/dist/pine-core/{p-c7d4f436.system.entry.js.map → p-a98cda38.system.entry.js.map} +0 -0
  689. /package/dist/pine-core/{p-c838b6ef.system.entry.js.map → p-ab7e4700.system.entry.js.map} +0 -0
  690. /package/dist/pine-core/{p-6147b1ea.system.entry.js.map → p-aeaae417.system.entry.js.map} +0 -0
  691. /package/dist/pine-core/{p-b902f535.entry.js.map → p-b2820acd.entry.js.map} +0 -0
  692. /package/dist/pine-core/{p-e045e337.system.entry.js.map → p-c551191a.system.entry.js.map} +0 -0
  693. /package/dist/pine-core/{p-596e0292.system.entry.js.map → p-cc21ddcc.system.entry.js.map} +0 -0
  694. /package/dist/pine-core/{p-6ad460a7.entry.js.map → p-d28768d1.entry.js.map} +0 -0
  695. /package/dist/pine-core/{p-5c396e75.entry.js.map → p-d35b3494.entry.js.map} +0 -0
  696. /package/dist/pine-core/{p-98181fa8.system.entry.js.map → p-d553e05c.system.entry.js.map} +0 -0
  697. /package/dist/pine-core/{p-a952d40c.system.entry.js.map → p-d6d453d8.system.entry.js.map} +0 -0
  698. /package/dist/pine-core/{p-1d690915.entry.js.map → p-ddcc4932.entry.js.map} +0 -0
  699. /package/dist/pine-core/{p-ed8c3064.system.entry.js.map → p-de550d9e.system.entry.js.map} +0 -0
  700. /package/dist/pine-core/{p-b68cb43d.system.entry.js.map → p-f46c4618.system.entry.js.map} +0 -0
  701. /package/dist/pine-core/{p-3ce8eb9f.entry.js.map → p-f6b226df.entry.js.map} +0 -0
  702. /package/dist/pine-core/{p-6a716bff.entry.js.map → p-f99c59a8.entry.js.map} +0 -0
  703. /package/dist/pine-core/{p-1b81a8ec.entry.js.map → p-fb1eb0c4.entry.js.map} +0 -0
  704. /package/dist/pine-core/{p-8305cd4d.entry.js.map → p-fb2fb435.entry.js.map} +0 -0
  705. /package/dist/pine-core/{p-13b9ed06.system.entry.js.map → p-fed5f55e.system.entry.js.map} +0 -0
@@ -0,0 +1,104 @@
1
+ 'use strict';
2
+
3
+ var index = require('./index-CxX7ua5d.js');
4
+
5
+ const pdsToastCss = ":host{--animation-duration:0.3s;--animation-timing:cubic-bezier(0.4, 0, 0.2, 1);--padding-inline:var(--pine-dimension-md);--padding-inline-desktop:var(--pine-dimension-2xl);--sizing-height-default:68px;--sizing-min-width:calc(var(--sizing-total-width) - (var(--padding-inline) * 2));--sizing-min-width-desktop:calc(var(--sizing-total-width) - (var(--padding-inline-desktop) * 2));--sizing-total-width:350px;-webkit-box-sizing:border-box;box-sizing:border-box;display:block;font:var(--pine-typography-body-medium)}.pds-toast{-ms-flex-align:center;align-items:center;-webkit-animation:pds-toast-animate-in var(--animation-duration) var(--animation-timing);animation:pds-toast-animate-in var(--animation-duration) var(--animation-timing);background-color:var(--pine-color-primary);border-radius:var(--pine-dimension-xs);-webkit-box-shadow:var(--pine-box-shadow);box-shadow:var(--pine-box-shadow);color:var(--pine-color-text-primary);display:-ms-flexbox;display:flex;height:var(--sizing-height-default);-ms-flex-pack:start;justify-content:flex-start;-webkit-margin-after:var(--pine-dimension-2xs);margin-block-end:var(--pine-dimension-2xs);max-width:90vw;min-width:var(--sizing-min-width);padding:0 var(--padding-inline);position:relative;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}@media screen and (max-width: 767px){.pds-toast{height:36px;max-width:calc(100vw - var(--pine-dimension-2xs) * 2);min-width:auto;padding-inline:var(--pine-dimension-2xs)}}.pds-toast--danger{background-color:var(--pine-color-danger)}.pds-toast--loading .pds-toast__loader{-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;-webkit-margin-end:var(--pine-dimension-sm);margin-inline-end:var(--pine-dimension-sm);position:relative}.pds-toast--loading .pds-toast__loader-spinner{-webkit-animation:pds-toast-rotate 2s linear infinite;animation:pds-toast-rotate 2s linear infinite;height:20px;width:20px}.pds-toast--loading .pds-toast__loader-path{-webkit-animation:pds-toast-dash 1.5s ease-in-out infinite;animation:pds-toast-dash 1.5s ease-in-out infinite;stroke-dasharray:1, 200;stroke-dashoffset:0;stroke-linecap:round}.pds-toast__icon{color:var(--pine-color-text-primary);display:-ms-inline-flexbox;display:inline-flex;-webkit-margin-end:var(--pine-dimension-sm);margin-inline-end:var(--pine-dimension-sm)}.pds-toast__message{font:var(--pine-typography-body-sm-medium);-webkit-margin-end:auto;margin-inline-end:auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pds-toast__message ::slotted(a){color:var(--pine-color-text-primary);-webkit-margin-start:var(--pine-dimension-xs);margin-inline-start:var(--pine-dimension-xs);opacity:0.7;text-decoration:underline}.pds-toast__message ::slotted(a):hover,.pds-toast__message ::slotted(a):focus-visible{opacity:1}.pds-toast__message ::slotted(a):focus-visible{outline:2px solid var(--pine-color-text-primary);outline-offset:2px}.pds-toast__button{-ms-flex-align:center;align-items:center;background:none;border:0;border-radius:var(--pine-border-radius-full);color:inherit;cursor:pointer;display:-ms-inline-flexbox;display:inline-flex;-webkit-margin-start:var(--pine-dimension-md);margin-inline-start:var(--pine-dimension-md);opacity:0.7;padding:0;white-space:nowrap}.pds-toast__button:hover,.pds-toast__button:focus{opacity:1}.pds-toast__button:focus{outline:var(--pine-outline-focus);outline-offset:var(--pine-dimension-2xs)}@-webkit-keyframes pds-toast-animate-in{from{opacity:0;-webkit-transform:translateY(100%);transform:translateY(100%)}to{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes pds-toast-animate-in{from{opacity:0;-webkit-transform:translateY(100%);transform:translateY(100%)}to{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@-webkit-keyframes pds-toast-animate-out{from{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}to{opacity:0;-webkit-transform:translateY(100%);transform:translateY(100%)}}@keyframes pds-toast-animate-out{from{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}to{opacity:0;-webkit-transform:translateY(100%);transform:translateY(100%)}}@-webkit-keyframes pds-toast-rotate{to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes pds-toast-rotate{to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@-webkit-keyframes pds-toast-dash{0%{stroke-dasharray:1, 200;stroke-dashoffset:0}50%{stroke-dasharray:89, 200;stroke-dashoffset:-35}100%{stroke-dasharray:89, 200;stroke-dashoffset:-124}}@keyframes pds-toast-dash{0%{stroke-dasharray:1, 200;stroke-dashoffset:0}50%{stroke-dasharray:89, 200;stroke-dashoffset:-35}100%{stroke-dasharray:89, 200;stroke-dashoffset:-124}}:host([hidden]) .pds-toast,.pds-toast--animating-out{-webkit-animation:pds-toast-animate-out var(--animation-duration) var(--animation-timing) forwards;animation:pds-toast-animate-out var(--animation-duration) var(--animation-timing) forwards;pointer-events:none;}";
6
+
7
+ const PdsToast = class {
8
+ constructor(hostRef) {
9
+ index.registerInstance(this, hostRef);
10
+ this.pdsToastDismissed = index.createEvent(this, "pdsToastDismissed");
11
+ /**
12
+ * Whether the toast can be dismissed manually via the close button.
13
+ * Note: This only controls manual dismissal. Auto-dismissal via duration still applies.
14
+ * @default true
15
+ */
16
+ this.dismissible = true;
17
+ /**
18
+ * The duration in milliseconds to show the toast before auto-dismissing.
19
+ * Set to 0 to disable auto-dismiss.
20
+ * @default 4500
21
+ */
22
+ this.duration = 4500;
23
+ /**
24
+ * The type of toast to display.
25
+ * - default: Grey background (default)
26
+ * - danger: Red background
27
+ * - loading: With spinner animation
28
+ * @default 'default'
29
+ */
30
+ this.type = 'default';
31
+ /**
32
+ * Whether the toast is currently visible.
33
+ */
34
+ this.isVisible = true;
35
+ /**
36
+ * Whether the toast is animating out.
37
+ */
38
+ this.isAnimatingOut = false;
39
+ }
40
+ componentDidLoad() {
41
+ if (this.duration > 0) {
42
+ this.startDismissTimer();
43
+ }
44
+ }
45
+ disconnectedCallback() {
46
+ this.cleanup();
47
+ }
48
+ handleDurationChange(newDuration) {
49
+ if (this.dismissTimer) {
50
+ window.clearTimeout(this.dismissTimer);
51
+ this.dismissTimer = undefined;
52
+ }
53
+ if (newDuration > 0) {
54
+ this.startDismissTimer();
55
+ }
56
+ }
57
+ async dismiss() {
58
+ // Start the animation out
59
+ this.isAnimatingOut = true;
60
+ // Wait for animation to complete before hiding and cleanup
61
+ await new Promise((resolve) => setTimeout(resolve, 300)); // Match --animation-duration
62
+ this.isVisible = false;
63
+ this.cleanup();
64
+ this.pdsToastDismissed.emit({ componentId: this.componentId });
65
+ }
66
+ // Private methods
67
+ cleanup() {
68
+ if (this.dismissTimer) {
69
+ window.clearTimeout(this.dismissTimer);
70
+ this.dismissTimer = undefined;
71
+ }
72
+ }
73
+ startDismissTimer() {
74
+ this.dismissTimer = window.setTimeout(() => {
75
+ this.dismiss();
76
+ }, this.duration);
77
+ }
78
+ renderIcon() {
79
+ // Loading type takes priority
80
+ if (this.type === 'loading') {
81
+ return (index.h("div", { class: "pds-toast__loader" }, index.h("svg", { class: "pds-toast__loader-spinner", viewBox: "25 25 50 50", "aria-hidden": "true" }, index.h("circle", { class: "pds-toast__loader-path", cx: "50", cy: "50", r: "20", fill: "none", stroke: "currentColor", "stroke-width": "4", "stroke-linecap": "round" }))));
82
+ }
83
+ // Return icon if provided, otherwise undefined (which renders as nothing)
84
+ return this.icon && index.h("pds-icon", { name: this.icon, class: "pds-toast__icon" });
85
+ }
86
+ render() {
87
+ return (index.h(index.Host, { key: 'dbb28e20be685c46f8c6cb2dd1a5f58f28e27589', hidden: !this.isVisible }, index.h("div", { key: '471b6b387799754b92ad16baf70562e26c379616', class: {
88
+ 'pds-toast': true,
89
+ [`pds-toast--${this.type}`]: this.type !== 'default',
90
+ 'pds-toast--animating-out': this.isAnimatingOut
91
+ }, role: "alert", "aria-live": "polite" }, this.renderIcon(), index.h("span", { key: '638faa5e37de1bae0e59c994de35e27960fc625b', class: "pds-toast__message" }, index.h("slot", { key: 'e58c86bbe9a5467b6b362e0f67db4074b9cac0cb' })), this.dismissible && (index.h("button", { key: '43bd64963222a78163b337b37e9d5ff888236b45', type: "button", class: "pds-toast__button", onClick: () => {
92
+ this.dismiss();
93
+ }, "aria-label": "Dismiss message" }, index.h("pds-icon", { key: '0c924e96515a7934f51d80b4e57f97db5bfaed14', name: "remove" }))))));
94
+ }
95
+ static get watchers() { return {
96
+ "duration": ["handleDurationChange"]
97
+ }; }
98
+ };
99
+ PdsToast.style = pdsToastCss;
100
+
101
+ exports.pds_toast = PdsToast;
102
+ //# sourceMappingURL=pds-toast.entry.cjs.js.map
103
+
104
+ //# sourceMappingURL=pds-toast.cjs.entry.js.map
@@ -0,0 +1 @@
1
+ {"file":"pds-toast.entry.cjs.js","mappings":"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","names":["h","Host"],"sources":["src/components/pds-toast/pds-toast.scss?tag=pds-toast&encapsulation=shadow","src/components/pds-toast/pds-toast.tsx"],"sourcesContent":[":host {\n --animation-duration: 0.3s;\n --animation-timing: cubic-bezier(0.4, 0, 0.2, 1);\n --padding-inline: var(--pine-dimension-md);\n --padding-inline-desktop: var(--pine-dimension-2xl);\n --sizing-height-default: 68px;\n --sizing-min-width: calc(var(--sizing-total-width) - (var(--padding-inline) * 2));\n --sizing-min-width-desktop: calc(var(--sizing-total-width) - (var(--padding-inline-desktop) * 2));\n --sizing-total-width: 350px;\n\n box-sizing: border-box;\n display: block;\n font: var(--pine-typography-body-medium);\n}\n\n.pds-toast {\n align-items: center;\n animation: pds-toast-animate-in var(--animation-duration) var(--animation-timing);\n background-color: var(--pine-color-primary);\n border-radius: var(--pine-dimension-xs);\n box-shadow: var(--pine-box-shadow);\n color: var(--pine-color-text-primary);\n display: flex;\n height: var(--sizing-height-default);\n justify-content: flex-start;\n margin-block-end: var(--pine-dimension-2xs);\n max-width: 90vw;\n min-width: var(--sizing-min-width);\n padding: 0 var(--padding-inline);\n position: relative;\n width: fit-content;\n\n @media screen and (max-width: 767px) {\n height: 36px;\n max-width: calc(100vw - (var(--pine-dimension-2xs) * 2));\n min-width: auto;\n padding-inline: var(--pine-dimension-2xs);\n }\n\n &--danger {\n background-color: var(--pine-color-danger);\n }\n\n &--loading {\n .pds-toast__loader {\n align-items: center;\n display: flex;\n justify-content: center;\n margin-inline-end: var(--pine-dimension-sm);\n position: relative;\n\n &-spinner {\n animation: pds-toast-rotate 2s linear infinite;\n height: 20px;\n width: 20px;\n }\n\n &-path {\n animation: pds-toast-dash 1.5s ease-in-out infinite;\n stroke-dasharray: 1, 200;\n stroke-dashoffset: 0;\n stroke-linecap: round;\n }\n }\n }\n}\n\n.pds-toast__icon {\n color: var(--pine-color-text-primary);\n display: inline-flex;\n margin-inline-end: var(--pine-dimension-sm);\n}\n\n.pds-toast__message {\n font: var(--pine-typography-body-sm-medium);\n margin-inline-end: auto;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n\n // Style all slotted links\n ::slotted(a) {\n color: var(--pine-color-text-primary);\n margin-inline-start: var(--pine-dimension-xs);\n opacity: 0.7;\n text-decoration: underline;\n\n &:hover,\n &:focus-visible {\n opacity: 1;\n }\n\n &:focus-visible {\n outline: 2px solid var(--pine-color-text-primary);\n outline-offset: 2px;\n }\n }\n}\n\n.pds-toast__button {\n align-items: center;\n background: none;\n border: 0;\n border-radius: var(--pine-border-radius-full);\n color: inherit;\n cursor: pointer;\n display: inline-flex;\n margin-inline-start: var(--pine-dimension-md);\n opacity: 0.7;\n padding: 0;\n white-space: nowrap;\n\n &:hover,\n &:focus {\n opacity: 1;\n }\n\n &:focus {\n outline: var(--pine-outline-focus);\n outline-offset: var(--pine-dimension-2xs);\n }\n}\n\n// Animation keyframes\n@keyframes pds-toast-animate-in {\n from {\n opacity: 0;\n transform: translateY(100%);\n }\n\n to {\n opacity: 1;\n transform: translateY(0);\n }\n}\n\n@keyframes pds-toast-animate-out {\n from {\n opacity: 1;\n transform: translateY(0);\n }\n\n to {\n opacity: 0;\n transform: translateY(100%);\n }\n}\n\n// Loading animation keyframes\n@keyframes pds-toast-rotate {\n to {\n transform: rotate(360deg);\n }\n}\n\n@keyframes pds-toast-dash {\n 0% {\n stroke-dasharray: 1, 200;\n stroke-dashoffset: 0;\n }\n\n 50% {\n stroke-dasharray: 89, 200;\n stroke-dashoffset: -35;\n }\n\n 100% {\n stroke-dasharray: 89, 200;\n stroke-dashoffset: -124;\n }\n}\n\n// Animation for dismissing\n:host([hidden]) .pds-toast,\n.pds-toast--animating-out {\n animation: pds-toast-animate-out var(--animation-duration) var(--animation-timing) forwards;\n pointer-events: none; /* Prevent interaction during animation */\n}\n","import { Component, Event, EventEmitter, h, Host, Method, Prop, State, Watch } from '@stencil/core';\n\n@Component({\n tag: 'pds-toast',\n styleUrl: 'pds-toast.scss',\n shadow: true,\n})\nexport class PdsToast {\n // Props\n /**\n * A unique identifier used for the underlying component `id` attribute.\n */\n @Prop() componentId!: string;\n\n /**\n * Whether the toast can be dismissed manually via the close button.\n * Note: This only controls manual dismissal. Auto-dismissal via duration still applies.\n * @default true\n */\n @Prop() dismissible: boolean = true;\n\n /**\n * The duration in milliseconds to show the toast before auto-dismissing.\n * Set to 0 to disable auto-dismiss.\n * @default 4500\n */\n @Prop() duration: number = 4500;\n\n /**\n * The name of the icon to display in the toast.\n */\n @Prop() icon?: string;\n\n /**\n * The type of toast to display.\n * - default: Grey background (default)\n * - danger: Red background\n * - loading: With spinner animation\n * @default 'default'\n */\n @Prop() type: 'default' | 'danger' | 'loading' = 'default';\n\n /**\n * Whether the toast is currently visible.\n */\n @State() isVisible: boolean = true;\n\n /**\n * Whether the toast is animating out.\n */\n @State() isAnimatingOut: boolean = false;\n\n // Private properties\n /**\n * Timer for auto-dismissal\n */\n private dismissTimer?: number;\n\n /**\n * Event emitted when the toast is dismissed, either manually or automatically.\n */\n @Event() pdsToastDismissed: EventEmitter<{ componentId?: string }>;\n\n componentDidLoad() {\n if (this.duration > 0) {\n this.startDismissTimer();\n }\n }\n\n disconnectedCallback() {\n this.cleanup();\n }\n\n @Watch('duration')\n handleDurationChange(newDuration: number) {\n if (this.dismissTimer) {\n window.clearTimeout(this.dismissTimer);\n this.dismissTimer = undefined;\n }\n if (newDuration > 0) {\n this.startDismissTimer();\n }\n }\n\n @Method()\n async dismiss(): Promise<void> {\n // Start the animation out\n this.isAnimatingOut = true;\n\n // Wait for animation to complete before hiding and cleanup\n await new Promise((resolve) => setTimeout(resolve, 300)); // Match --animation-duration\n\n this.isVisible = false;\n this.cleanup();\n this.pdsToastDismissed.emit({ componentId: this.componentId });\n }\n\n // Private methods\n private cleanup(): void {\n if (this.dismissTimer) {\n window.clearTimeout(this.dismissTimer);\n this.dismissTimer = undefined;\n }\n }\n\n private startDismissTimer(): void {\n this.dismissTimer = window.setTimeout(() => {\n this.dismiss();\n }, this.duration);\n }\n\n private renderIcon() {\n // Loading type takes priority\n if (this.type === 'loading') {\n return (\n <div class=\"pds-toast__loader\">\n <svg class=\"pds-toast__loader-spinner\" viewBox=\"25 25 50 50\" aria-hidden=\"true\">\n <circle class=\"pds-toast__loader-path\" cx=\"50\" cy=\"50\" r=\"20\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"4\" stroke-linecap=\"round\" />\n </svg>\n </div>\n );\n }\n\n // Return icon if provided, otherwise undefined (which renders as nothing)\n return this.icon && <pds-icon name={this.icon} class=\"pds-toast__icon\" />;\n }\n\n render() {\n return (\n <Host hidden={!this.isVisible}>\n <div\n class={{\n 'pds-toast': true,\n [`pds-toast--${this.type}`]: this.type !== 'default',\n 'pds-toast--animating-out': this.isAnimatingOut\n }}\n role=\"alert\"\n aria-live=\"polite\"\n >\n {this.renderIcon()}\n\n <span class=\"pds-toast__message\">\n <slot></slot>\n </span>\n\n {this.dismissible && (\n <button\n type=\"button\"\n class=\"pds-toast__button\"\n onClick={() => {\n this.dismiss();\n }}\n aria-label=\"Dismiss message\"\n >\n <pds-icon name=\"remove\" />\n </button>\n )}\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pds-toast.entry.cjs.js","sources":["src/components/pds-toast/pds-toast.scss?tag=pds-toast&encapsulation=shadow","src/components/pds-toast/pds-toast.tsx"],"sourcesContent":[":host {\n --animation-duration: 0.3s;\n --animation-timing: cubic-bezier(0.4, 0, 0.2, 1);\n --padding-inline: var(--pine-dimension-md);\n --padding-inline-desktop: var(--pine-dimension-2xl);\n --sizing-height-default: 68px;\n --sizing-min-width: calc(var(--sizing-total-width) - (var(--padding-inline) * 2));\n --sizing-min-width-desktop: calc(var(--sizing-total-width) - (var(--padding-inline-desktop) * 2));\n --sizing-total-width: 350px;\n\n box-sizing: border-box;\n display: block;\n font: var(--pine-typography-body-medium);\n}\n\n.pds-toast {\n align-items: center;\n animation: pds-toast-animate-in var(--animation-duration) var(--animation-timing);\n background-color: var(--pine-color-primary);\n border-radius: var(--pine-dimension-xs);\n box-shadow: var(--pine-box-shadow);\n color: var(--pine-color-text-primary);\n display: flex;\n height: var(--sizing-height-default);\n justify-content: flex-start;\n margin-block-end: var(--pine-dimension-2xs);\n max-width: 90vw;\n min-width: var(--sizing-min-width);\n padding: 0 var(--padding-inline);\n position: relative;\n width: fit-content;\n\n @media screen and (max-width: 767px) {\n height: 36px;\n max-width: calc(100vw - (var(--pine-dimension-2xs) * 2));\n min-width: auto;\n padding-inline: var(--pine-dimension-2xs);\n }\n\n &--danger {\n background-color: var(--pine-color-danger);\n }\n\n &--loading {\n .pds-toast__loader {\n align-items: center;\n display: flex;\n justify-content: center;\n margin-inline-end: var(--pine-dimension-sm);\n position: relative;\n\n &-spinner {\n animation: pds-toast-rotate 2s linear infinite;\n height: 20px;\n width: 20px;\n }\n\n &-path {\n animation: pds-toast-dash 1.5s ease-in-out infinite;\n stroke-dasharray: 1, 200;\n stroke-dashoffset: 0;\n stroke-linecap: round;\n }\n }\n }\n}\n\n.pds-toast__icon {\n color: var(--pine-color-text-primary);\n display: inline-flex;\n margin-inline-end: var(--pine-dimension-sm);\n}\n\n.pds-toast__message {\n font: var(--pine-typography-body-sm-medium);\n margin-inline-end: auto;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n\n // Style all slotted links\n ::slotted(a) {\n color: var(--pine-color-text-primary);\n margin-inline-start: var(--pine-dimension-xs);\n opacity: 0.7;\n text-decoration: underline;\n\n &:hover,\n &:focus-visible {\n opacity: 1;\n }\n\n &:focus-visible {\n outline: 2px solid var(--pine-color-text-primary);\n outline-offset: 2px;\n }\n }\n}\n\n.pds-toast__button {\n align-items: center;\n background: none;\n border: 0;\n border-radius: var(--pine-border-radius-full);\n color: inherit;\n cursor: pointer;\n display: inline-flex;\n margin-inline-start: var(--pine-dimension-md);\n opacity: 0.7;\n padding: 0;\n white-space: nowrap;\n\n &:hover,\n &:focus {\n opacity: 1;\n }\n\n &:focus {\n outline: var(--pine-outline-focus);\n outline-offset: var(--pine-dimension-2xs);\n }\n}\n\n// Animation keyframes\n@keyframes pds-toast-animate-in {\n from {\n opacity: 0;\n transform: translateY(100%);\n }\n\n to {\n opacity: 1;\n transform: translateY(0);\n }\n}\n\n@keyframes pds-toast-animate-out {\n from {\n opacity: 1;\n transform: translateY(0);\n }\n\n to {\n opacity: 0;\n transform: translateY(100%);\n }\n}\n\n// Loading animation keyframes\n@keyframes pds-toast-rotate {\n to {\n transform: rotate(360deg);\n }\n}\n\n@keyframes pds-toast-dash {\n 0% {\n stroke-dasharray: 1, 200;\n stroke-dashoffset: 0;\n }\n\n 50% {\n stroke-dasharray: 89, 200;\n stroke-dashoffset: -35;\n }\n\n 100% {\n stroke-dasharray: 89, 200;\n stroke-dashoffset: -124;\n }\n}\n\n// Animation for dismissing\n:host([hidden]) .pds-toast,\n.pds-toast--animating-out {\n animation: pds-toast-animate-out var(--animation-duration) var(--animation-timing) forwards;\n pointer-events: none; /* Prevent interaction during animation */\n}\n","import { Component, Event, EventEmitter, h, Host, Method, Prop, State, Watch } from '@stencil/core';\n\n@Component({\n tag: 'pds-toast',\n styleUrl: 'pds-toast.scss',\n shadow: true,\n})\nexport class PdsToast {\n // Props\n /**\n * A unique identifier used for the underlying component `id` attribute.\n */\n @Prop() componentId!: string;\n\n /**\n * Whether the toast can be dismissed manually via the close button.\n * Note: This only controls manual dismissal. Auto-dismissal via duration still applies.\n * @default true\n */\n @Prop() dismissible: boolean = true;\n\n /**\n * The duration in milliseconds to show the toast before auto-dismissing.\n * Set to 0 to disable auto-dismiss.\n * @default 4500\n */\n @Prop() duration: number = 4500;\n\n /**\n * The name of the icon to display in the toast.\n */\n @Prop() icon?: string;\n\n /**\n * The type of toast to display.\n * - default: Grey background (default)\n * - danger: Red background\n * - loading: With spinner animation\n * @default 'default'\n */\n @Prop() type: 'default' | 'danger' | 'loading' = 'default';\n\n /**\n * Whether the toast is currently visible.\n */\n @State() isVisible: boolean = true;\n\n /**\n * Whether the toast is animating out.\n */\n @State() isAnimatingOut: boolean = false;\n\n // Private properties\n /**\n * Timer for auto-dismissal\n */\n private dismissTimer?: number;\n\n /**\n * Event emitted when the toast is dismissed, either manually or automatically.\n */\n @Event() pdsToastDismissed: EventEmitter<{ componentId?: string }>;\n\n componentDidLoad() {\n if (this.duration > 0) {\n this.startDismissTimer();\n }\n }\n\n disconnectedCallback() {\n this.cleanup();\n }\n\n @Watch('duration')\n handleDurationChange(newDuration: number) {\n if (this.dismissTimer) {\n window.clearTimeout(this.dismissTimer);\n this.dismissTimer = undefined;\n }\n if (newDuration > 0) {\n this.startDismissTimer();\n }\n }\n\n @Method()\n async dismiss(): Promise<void> {\n // Start the animation out\n this.isAnimatingOut = true;\n\n // Wait for animation to complete before hiding and cleanup\n await new Promise((resolve) => setTimeout(resolve, 300)); // Match --animation-duration\n\n this.isVisible = false;\n this.cleanup();\n this.pdsToastDismissed.emit({ componentId: this.componentId });\n }\n\n // Private methods\n private cleanup(): void {\n if (this.dismissTimer) {\n window.clearTimeout(this.dismissTimer);\n this.dismissTimer = undefined;\n }\n }\n\n private startDismissTimer(): void {\n this.dismissTimer = window.setTimeout(() => {\n this.dismiss();\n }, this.duration);\n }\n\n private renderIcon() {\n // Loading type takes priority\n if (this.type === 'loading') {\n return (\n <div class=\"pds-toast__loader\">\n <svg class=\"pds-toast__loader-spinner\" viewBox=\"25 25 50 50\" aria-hidden=\"true\">\n <circle class=\"pds-toast__loader-path\" cx=\"50\" cy=\"50\" r=\"20\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"4\" stroke-linecap=\"round\" />\n </svg>\n </div>\n );\n }\n\n // Return icon if provided, otherwise undefined (which renders as nothing)\n return this.icon && <pds-icon name={this.icon} class=\"pds-toast__icon\" />;\n }\n\n render() {\n return (\n <Host hidden={!this.isVisible}>\n <div\n class={{\n 'pds-toast': true,\n [`pds-toast--${this.type}`]: this.type !== 'default',\n 'pds-toast--animating-out': this.isAnimatingOut\n }}\n role=\"alert\"\n aria-live=\"polite\"\n >\n {this.renderIcon()}\n\n <span class=\"pds-toast__message\">\n <slot></slot>\n </span>\n\n {this.dismissible && (\n <button\n type=\"button\"\n class=\"pds-toast__button\"\n onClick={() => {\n this.dismiss();\n }}\n aria-label=\"Dismiss message\"\n >\n <pds-icon name=\"remove\" />\n </button>\n )}\n </div>\n </Host>\n );\n }\n}\n"],"names":["h","Host"],"mappings":"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"}
@@ -3,78 +3,107 @@
3
3
  var index = require('./index-CxX7ua5d.js');
4
4
 
5
5
  const positionTooltip = ({ elem, elemPlacement, overlay, offset = 8 }) => {
6
- if (elem == undefined)
7
- return;
6
+ if (elem === null || overlay === null)
7
+ return false;
8
+ if (typeof elemPlacement !== 'string' || elemPlacement.trim() === '') {
9
+ return false;
10
+ }
8
11
  const rect = elem.getBoundingClientRect();
9
12
  const contentRect = overlay.getBoundingClientRect();
10
- // Exit the function if the placement is not set
11
- if (!elemPlacement || elemPlacement == "")
12
- return;
13
+ // Reset styles
14
+ overlay.style.top = '';
15
+ overlay.style.left = '';
16
+ overlay.style.right = '';
17
+ overlay.style.bottom = '';
18
+ overlay.style.transform = '';
19
+ // Use fixed positioning for portal overlays
20
+ overlay.style.position = 'fixed';
21
+ // Detect if the trigger is a span with only text or a text node
22
+ let isTextTrigger = false;
23
+ if (elem.childNodes.length === 1 && elem.childNodes[0].nodeType === Node.TEXT_NODE) {
24
+ isTextTrigger = true;
25
+ }
26
+ else if (elem.childNodes.length === 1 && elem.childNodes[0].nodeType === Node.ELEMENT_NODE) {
27
+ const child = elem.childNodes[0];
28
+ if (child.tagName === 'SPAN' && child.childNodes.length === 1 && child.childNodes[0].nodeType === Node.TEXT_NODE) {
29
+ isTextTrigger = true;
30
+ }
31
+ }
13
32
  switch (true) {
14
- case elemPlacement.includes("right"):
15
- overlay.style.top = '50%';
16
- overlay.style.left = `calc(${rect.width}px + ${offset}px)`;
17
- overlay.style.transform = 'translateY(-50%)';
18
- if (elemPlacement.includes("start")) {
19
- overlay.style.top = '0';
20
- overlay.style.transform = 'translateY(0)';
21
- }
22
- if (elemPlacement.includes("end")) {
23
- overlay.style.bottom = '0';
24
- overlay.style.top = 'initial';
25
- overlay.style.transform = 'translateY(0)';
33
+ case elemPlacement.includes('right'):
34
+ if (isTextTrigger) {
35
+ // Align to the bottom of the trigger for text triggers
36
+ overlay.style.top = `${rect.bottom - contentRect.height / 2}px`;
37
+ }
38
+ else {
39
+ overlay.style.top = `${rect.top + rect.height / 2 - contentRect.height / 2}px`;
40
+ }
41
+ overlay.style.left = `${rect.right + offset}px`;
42
+ if (elemPlacement.includes('start')) {
43
+ overlay.style.top = `${rect.top}px`;
44
+ }
45
+ if (elemPlacement.includes('end')) {
46
+ overlay.style.top = `${rect.bottom - contentRect.height}px`;
26
47
  }
27
48
  break;
28
- case elemPlacement.includes("left"):
29
- overlay.style.top = '50%';
30
- overlay.style.right = `calc(${rect.width}px + ${offset}px)`;
31
- overlay.style.transform = 'translateY(-50%)';
32
- if (elemPlacement.includes("start")) {
33
- overlay.style.top = '0';
34
- overlay.style.transform = 'translateY(0)';
35
- }
36
- if (elemPlacement.includes("end")) {
37
- overlay.style.bottom = '0';
38
- overlay.style.top = 'initial';
39
- overlay.style.transform = 'translateY(0)';
49
+ case elemPlacement.includes('left'):
50
+ if (isTextTrigger) {
51
+ overlay.style.top = `${rect.bottom - contentRect.height / 2}px`;
52
+ }
53
+ else {
54
+ overlay.style.top = `${rect.top + rect.height / 2 - contentRect.height / 2}px`;
55
+ }
56
+ overlay.style.left = `${rect.left - contentRect.width - offset}px`;
57
+ if (elemPlacement.includes('start')) {
58
+ overlay.style.top = `${rect.top}px`;
59
+ }
60
+ if (elemPlacement.includes('end')) {
61
+ overlay.style.top = `${rect.bottom - contentRect.height}px`;
40
62
  }
41
63
  break;
42
- case elemPlacement.includes("bottom"):
43
- overlay.style.top = `calc(${rect.height}px + ${offset}px)`;
44
- overlay.style.left = '50%';
45
- overlay.style.transform = 'translateX(-50%)';
46
- if (elemPlacement.includes("start")) {
47
- overlay.style.left = '0';
48
- overlay.style.transform = 'translateX(0)';
49
- }
50
- if (elemPlacement.includes("end")) {
51
- overlay.style.left = 'initial';
52
- overlay.style.right = '0';
53
- overlay.style.transform = 'translateX(0)';
64
+ case elemPlacement.includes('bottom'):
65
+ overlay.style.top = `${rect.bottom + offset}px`;
66
+ overlay.style.left = `${rect.left + rect.width / 2 - contentRect.width / 2}px`;
67
+ if (elemPlacement.includes('start')) {
68
+ overlay.style.left = `${rect.left}px`;
69
+ }
70
+ if (elemPlacement.includes('end')) {
71
+ overlay.style.left = `${rect.right - contentRect.width}px`;
72
+ overlay.style.right = 'initial';
54
73
  }
55
74
  break;
56
- case elemPlacement.includes("top"):
57
- overlay.style.top = `calc((${contentRect.height}px + ${offset}px) * -1)`;
58
- overlay.style.left = '50%';
59
- overlay.style.transform = 'translateX(-50%)';
60
- if (elemPlacement.includes("start")) {
61
- overlay.style.left = '0';
62
- overlay.style.transform = 'translateX(0)';
63
- }
64
- if (elemPlacement.includes("end")) {
65
- overlay.style.left = 'initial';
66
- overlay.style.right = '0';
67
- overlay.style.transform = 'translateX(0)';
75
+ case elemPlacement.includes('top'):
76
+ overlay.style.top = `${rect.top - contentRect.height - offset}px`;
77
+ overlay.style.left = `${rect.left + rect.width / 2 - contentRect.width / 2}px`;
78
+ if (elemPlacement.includes('start')) {
79
+ overlay.style.left = `${rect.left}px`;
80
+ }
81
+ if (elemPlacement.includes('end')) {
82
+ overlay.style.left = `${rect.right - contentRect.width}px`;
83
+ overlay.style.right = 'initial';
68
84
  }
69
85
  break;
70
86
  }
87
+ return true;
71
88
  };
72
89
 
73
- const pdsTooltipCss = ":host{--tooltip-border-width-arrow-down:var(--tooltip-sizing-arrow) var(--tooltip-sizing-arrow) 0;--tooltip-border-width-arrow-left:var(--tooltip-sizing-arrow) var(--tooltip-sizing-arrow) var(--tooltip-sizing-arrow) 0;--tooltip-border-width-arrow-right:var(--tooltip-sizing-arrow) 0 var(--tooltip-sizing-arrow) var(--tooltip-sizing-arrow);--tooltip-border-width-arrow-up:0 var(--tooltip-sizing-arrow) var(--tooltip-sizing-arrow);--tooltip-sizing-arrow:6px;--tooltip-sizing-arrow-offset:14px;--tooltip-dimension-max-width:320px;display:inline-block;position:relative}:host ::slotted(*){display:-ms-flexbox;display:flex}:host ::slotted([slot=content]){display:block;max-width:var(--tooltip-dimension-max-width);white-space:normal}.pds-tooltip__content{background-color:var(--pine-color-primary);border-radius:calc(var(--pine-dimension-xs) * 1.25);-webkit-box-shadow:var(--pine-box-shadow);box-shadow:var(--pine-box-shadow);color:var(--pine-color-text-primary);max-width:var(--tooltip-dimension-max-width);opacity:0;padding:var(--pine-dimension-xs) calc(var(--pine-dimension-md) / 2);position:absolute;visibility:hidden;width:-webkit-max-content;width:-moz-max-content;width:max-content}.pds-tooltip--is-open .pds-tooltip__content{opacity:1;visibility:visible;z-index:1}:host(.pds-tooltip--has-html-content) .pds-tooltip__content{width:auto}.pds-tooltip__content::after{border-color:transparent;border-right-color:transparent;border-style:solid;border-width:var(--tooltip-border-width-arrow-left);content:\"\";height:0;position:absolute;width:0}.pds-tooltip--right .pds-tooltip__content::after{border-inline-end-color:var(--pine-color-primary);border-width:var(--tooltip-border-width-arrow-left);left:calc(var(--tooltip-sizing-arrow) * -1);top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.pds-tooltip--right-end .pds-tooltip__content::after{border-inline-end-color:var(--pine-color-primary);border-width:var(--tooltip-border-width-arrow-left);bottom:var(--tooltip-sizing-arrow-offset);left:calc(var(--tooltip-sizing-arrow) * -1);top:initial}.pds-tooltip--right-start .pds-tooltip__content::after{border-inline-end-color:var(--pine-color-primary);border-width:var(--tooltip-border-width-arrow-left);left:calc(var(--tooltip-sizing-arrow) * -1);top:var(--tooltip-sizing-arrow-offset)}.pds-tooltip--top .pds-tooltip__content::after{border-block-start-color:var(--pine-color-primary);border-width:var(--tooltip-border-width-arrow-down);bottom:calc(var(--tooltip-sizing-arrow) * -1);left:50%;top:initial;-webkit-transform:translateX(-50%);transform:translateX(-50%)}.pds-tooltip--top-start .pds-tooltip__content::after{border-block-start-color:var(--pine-color-primary);border-width:var(--tooltip-border-width-arrow-down);bottom:calc(var(--tooltip-sizing-arrow) * -1);left:var(--tooltip-sizing-arrow-offset);top:initial}.pds-tooltip--top-end .pds-tooltip__content::after{border-block-start-color:var(--pine-color-primary);border-width:var(--tooltip-border-width-arrow-down);bottom:calc(var(--tooltip-sizing-arrow) * -1);left:initial;right:var(--tooltip-sizing-arrow-offset);top:initial}.pds-tooltip--left .pds-tooltip__content::after{border-inline-start-color:var(--pine-color-primary);border-width:var(--tooltip-border-width-arrow-right);left:initial;right:calc(var(--tooltip-sizing-arrow) * -1);top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.pds-tooltip--left-end .pds-tooltip__content::after{border-inline-start-color:var(--pine-color-primary);border-width:var(--tooltip-border-width-arrow-right);bottom:var(--tooltip-sizing-arrow-offset);left:initial;right:calc(var(--tooltip-sizing-arrow) * -1);top:initial}.pds-tooltip--left-start .pds-tooltip__content::after{border-inline-start-color:var(--pine-color-primary);border-width:var(--tooltip-border-width-arrow-right);left:initial;right:calc(var(--tooltip-sizing-arrow) * -1);top:var(--tooltip-sizing-arrow-offset)}.pds-tooltip--bottom .pds-tooltip__content::after{border-block-end-color:var(--pine-color-primary);border-width:var(--tooltip-border-width-arrow-up);left:50%;top:calc(var(--tooltip-sizing-arrow) * -1);-webkit-transform:translateX(-50%);transform:translateX(-50%)}.pds-tooltip--bottom-end .pds-tooltip__content::after{border-block-end-color:var(--pine-color-primary);border-width:var(--tooltip-border-width-arrow-up);left:initial;right:var(--tooltip-sizing-arrow-offset);top:calc(var(--tooltip-sizing-arrow) * -1)}.pds-tooltip--bottom-start .pds-tooltip__content::after{border-block-end-color:var(--pine-color-primary);border-width:var(--tooltip-border-width-arrow-up);left:var(--tooltip-sizing-arrow-offset);top:calc(var(--tooltip-sizing-arrow) * -1)}.pds-tooltip--no-arrow .pds-tooltip__content::after{border-width:0}";
90
+ const pdsTooltipCss = ".pds-tooltip{--tooltip-border-width-arrow-down:var(--tooltip-sizing-arrow) var(--tooltip-sizing-arrow) 0;--tooltip-border-width-arrow-left:var(--tooltip-sizing-arrow) var(--tooltip-sizing-arrow) var(--tooltip-sizing-arrow) 0;--tooltip-border-width-arrow-right:var(--tooltip-sizing-arrow) 0 var(--tooltip-sizing-arrow) var(--tooltip-sizing-arrow);--tooltip-border-width-arrow-up:0 var(--tooltip-sizing-arrow) var(--tooltip-sizing-arrow);--tooltip-sizing-arrow:6px;--tooltip-sizing-arrow-offset:14px;--tooltip-dimension-max-width:320px}.pds-tooltip__content{background-color:var(--pine-color-primary);border-radius:calc(var(--pine-dimension-xs) * 1.25);-webkit-box-shadow:var(--pine-box-shadow);box-shadow:var(--pine-box-shadow);color:var(--pine-color-text-primary);max-width:var(--tooltip-dimension-max-width);opacity:0;padding:var(--pine-dimension-xs) calc(var(--pine-dimension-md) / 2);position:absolute;visibility:hidden;width:-webkit-max-content;width:-moz-max-content;width:max-content}.pds-tooltip--is-open .pds-tooltip__content{opacity:1;visibility:visible;z-index:1}.pds-tooltip.pds-tooltip--has-html-content .pds-tooltip__content{width:auto}.pds-tooltip__content::after{border-color:transparent;border-right-color:transparent;border-style:solid;border-width:var(--tooltip-border-width-arrow-left);content:\"\";height:0;position:absolute;width:0}.pds-tooltip--right .pds-tooltip__content::after{border-inline-end-color:var(--pine-color-primary);border-width:var(--tooltip-border-width-arrow-left);left:calc(var(--tooltip-sizing-arrow) * -1);top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.pds-tooltip--right-end .pds-tooltip__content::after{border-inline-end-color:var(--pine-color-primary);border-width:var(--tooltip-border-width-arrow-left);bottom:var(--tooltip-sizing-arrow-offset);left:calc(var(--tooltip-sizing-arrow) * -1);top:initial}.pds-tooltip--right-start .pds-tooltip__content::after{border-inline-end-color:var(--pine-color-primary);border-width:var(--tooltip-border-width-arrow-left);left:calc(var(--tooltip-sizing-arrow) * -1);top:var(--tooltip-sizing-arrow-offset)}.pds-tooltip--top .pds-tooltip__content::after{border-block-start-color:var(--pine-color-primary);border-width:var(--tooltip-border-width-arrow-down);bottom:calc(var(--tooltip-sizing-arrow) * -1);left:50%;top:initial;-webkit-transform:translateX(-50%);transform:translateX(-50%)}.pds-tooltip--top-start .pds-tooltip__content::after{border-block-start-color:var(--pine-color-primary);border-width:var(--tooltip-border-width-arrow-down);bottom:calc(var(--tooltip-sizing-arrow) * -1);left:var(--tooltip-sizing-arrow-offset);top:initial}.pds-tooltip--top-end .pds-tooltip__content::after{border-block-start-color:var(--pine-color-primary);border-width:var(--tooltip-border-width-arrow-down);bottom:calc(var(--tooltip-sizing-arrow) * -1);left:initial;right:var(--tooltip-sizing-arrow-offset);top:initial}.pds-tooltip--left .pds-tooltip__content::after{border-inline-start-color:var(--pine-color-primary);border-width:var(--tooltip-border-width-arrow-right);left:initial;right:calc(var(--tooltip-sizing-arrow) * -1);top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.pds-tooltip--left-end .pds-tooltip__content::after{border-inline-start-color:var(--pine-color-primary);border-width:var(--tooltip-border-width-arrow-right);bottom:var(--tooltip-sizing-arrow-offset);left:initial;right:calc(var(--tooltip-sizing-arrow) * -1);top:initial}.pds-tooltip--left-start .pds-tooltip__content::after{border-inline-start-color:var(--pine-color-primary);border-width:var(--tooltip-border-width-arrow-right);left:initial;right:calc(var(--tooltip-sizing-arrow) * -1);top:var(--tooltip-sizing-arrow-offset)}.pds-tooltip--bottom .pds-tooltip__content::after{border-block-end-color:var(--pine-color-primary);border-width:var(--tooltip-border-width-arrow-up);left:50%;top:calc(var(--tooltip-sizing-arrow) * -1);-webkit-transform:translateX(-50%);transform:translateX(-50%)}.pds-tooltip--bottom-end .pds-tooltip__content::after{border-block-end-color:var(--pine-color-primary);border-width:var(--tooltip-border-width-arrow-up);left:initial;right:var(--tooltip-sizing-arrow-offset);top:calc(var(--tooltip-sizing-arrow) * -1)}.pds-tooltip--bottom-start .pds-tooltip__content::after{border-block-end-color:var(--pine-color-primary);border-width:var(--tooltip-border-width-arrow-up);left:var(--tooltip-sizing-arrow-offset);top:calc(var(--tooltip-sizing-arrow) * -1)}.pds-tooltip--no-arrow .pds-tooltip__content::after{border-width:0}";
74
91
 
75
92
  const PdsTooltip = class {
76
93
  constructor(hostRef) {
77
94
  index.registerInstance(this, hostRef);
95
+ /**
96
+ * Internal state: true if the tooltip was opened by user interaction (hover/focus),
97
+ * false if opened via the `opened` prop or currently closed.
98
+ */
99
+ this._isInteractiveOpen = false;
100
+ this.portalEl = null;
101
+ this.triggerEl = null;
102
+ this.contentDiv = null;
103
+ this.slotMutationObserver = null;
104
+ this.overlayResizeObserver = null;
105
+ this.currentPathname = '';
106
+ this.pathnameCheckInterval = null;
78
107
  /**
79
108
  * Determines when the tooltip is open
80
109
  * @defaultValue false
@@ -106,44 +135,87 @@ const PdsTooltip = class {
106
135
  */
107
136
  this.opened = false;
108
137
  this.handleHide = () => {
138
+ if (this.opened && !this._isInteractiveOpen) {
139
+ return;
140
+ }
109
141
  this.hideTooltip();
142
+ this._isInteractiveOpen = false;
110
143
  };
111
144
  this.handleShow = () => {
145
+ if (this.opened && !this._isInteractiveOpen) {
146
+ return;
147
+ }
148
+ this._isInteractiveOpen = true;
112
149
  this.showTooltip();
113
150
  };
114
151
  this.handlePageShow = () => {
152
+ if (this.opened && !this._isInteractiveOpen) {
153
+ return;
154
+ }
115
155
  this.opened = false;
156
+ this._isInteractiveOpen = false;
157
+ };
158
+ this.handleScroll = () => {
159
+ if (this.opened) {
160
+ if (!this._isInteractiveOpen) {
161
+ this.repositionPortal();
162
+ }
163
+ else {
164
+ this.hideTooltip();
165
+ this._isInteractiveOpen = false;
166
+ }
167
+ }
168
+ };
169
+ this.handleSpaNavigation = () => {
170
+ if (this.opened && !this._isInteractiveOpen) {
171
+ return;
172
+ }
173
+ this.hideTooltip();
174
+ this._isInteractiveOpen = false;
175
+ };
176
+ this.checkPathnameChange = () => {
177
+ if (window.location.pathname !== this.currentPathname) {
178
+ this.currentPathname = window.location.pathname;
179
+ this.handleSpaNavigation();
180
+ }
116
181
  };
117
182
  }
118
- handleOpenToggle() {
119
- if (this.opened) {
120
- this.handleShow();
121
- }
122
- else {
123
- this.handleHide();
183
+ handleOpenToggle(newValue, oldValue) {
184
+ if (newValue === false && oldValue === true) {
185
+ this._isInteractiveOpen = false;
124
186
  }
125
187
  }
126
188
  componentWillLoad() {
127
- if (this.opened) {
128
- this.showTooltip();
129
- }
130
- this.el.addEventListener('blur', this.handleHide, true);
131
- this.el.addEventListener('focus', this.handleShow, true);
189
+ this._isInteractiveOpen = false;
132
190
  }
133
191
  componentDidLoad() {
134
- // fix for Safari iOS back button issue
135
192
  window.addEventListener('pageshow', this.handlePageShow);
193
+ this.currentPathname = window.location.pathname;
194
+ this.triggerEl = this.el.querySelector('.pds-tooltip__trigger');
195
+ const contentSlotWrapper = this.el.querySelector('.pds-tooltip__content-slot-wrapper');
196
+ if (contentSlotWrapper !== null) {
197
+ this.slotMutationObserver = new MutationObserver(() => {
198
+ if (this.opened && this.portalEl !== null) {
199
+ this.removePortal();
200
+ this.createPortal();
201
+ }
202
+ });
203
+ this.slotMutationObserver.observe(contentSlotWrapper, { childList: true, subtree: false });
204
+ }
136
205
  return () => {
137
206
  window.removeEventListener('pageshow', this.handlePageShow);
207
+ if (this.slotMutationObserver !== null) {
208
+ this.slotMutationObserver.disconnect();
209
+ }
138
210
  };
139
211
  }
140
- componentDidUpdate() {
141
- if (this.opened) {
142
- this.showTooltip();
143
- }
144
- }
145
212
  componentDidRender() {
146
- positionTooltip({ elem: this.el, elemPlacement: this.placement, overlay: this.contentEl });
213
+ if (this.opened && this.portalEl === null) {
214
+ this.createPortal();
215
+ }
216
+ else if (!this.opened && this.portalEl !== null) {
217
+ this.removePortal();
218
+ }
147
219
  }
148
220
  /**
149
221
  * Shows the tooltip by enabling the opened property
@@ -157,20 +229,166 @@ const PdsTooltip = class {
157
229
  async hideTooltip() {
158
230
  this.opened = false;
159
231
  }
232
+ /**
233
+ * Determines the most accurate HTML element to use as the anchor for positioning the tooltip.
234
+ * If `htmlContent` is false, it attempts to find the actual element slotted as the trigger.
235
+ * Otherwise, or if no specific element is found, it defaults to the span wrapper around the trigger slot.
236
+ * This helps with precise alignment.
237
+ */
238
+ determinePositioningAnchor() {
239
+ let positioningAnchor = this.triggerEl;
240
+ if (this.triggerEl !== null) {
241
+ const children = this.triggerEl.childNodes;
242
+ for (let i = 0; i < children.length; i++) {
243
+ const childNode = children[i];
244
+ if (childNode.nodeType === Node.ELEMENT_NODE) {
245
+ positioningAnchor = childNode;
246
+ break; // Found the first element, use it as the anchor
247
+ }
248
+ }
249
+ }
250
+ // If no ELEMENT_NODE is found within this.triggerEl (e.g., if trigger is just text),
251
+ // positioningAnchor will correctly remain this.triggerEl (the span).
252
+ return positioningAnchor;
253
+ }
254
+ /**
255
+ * Centralized method to calculate and apply the tooltip's position.
256
+ * Uses the determined anchor element and the current content dimensions.
257
+ */
258
+ repositionPortal() {
259
+ const anchor = this.determinePositioningAnchor();
260
+ if (anchor !== null && this.contentDiv !== null) {
261
+ positionTooltip({ elem: anchor, elemPlacement: this.placement, overlay: this.contentDiv });
262
+ const placementParts = this.placement.split('-');
263
+ const primaryPlacement = placementParts[0];
264
+ const isCardinalCenterPlacement = placementParts.length === 1;
265
+ if (isCardinalCenterPlacement) {
266
+ const anchorRect = anchor.getBoundingClientRect();
267
+ const overlayRect = this.contentDiv.getBoundingClientRect();
268
+ if (primaryPlacement === 'left' || primaryPlacement === 'right') {
269
+ const currentOverlayTop = parseFloat(this.contentDiv.style.top || '0');
270
+ const anchorCenterY = anchorRect.top + (anchorRect.height / 2);
271
+ const overlayCenterY = overlayRect.top + (overlayRect.height / 2);
272
+ const adjustmentY = anchorCenterY - overlayCenterY;
273
+ if (Math.abs(adjustmentY) > 0.5) {
274
+ this.contentDiv.style.top = `${currentOverlayTop + adjustmentY}px`;
275
+ }
276
+ }
277
+ else if (primaryPlacement === 'top' || primaryPlacement === 'bottom') {
278
+ const currentOverlayLeft = parseFloat(this.contentDiv.style.left || '0');
279
+ const anchorCenterX = anchorRect.left + (anchorRect.width / 2);
280
+ const overlayCenterX = overlayRect.left + (overlayRect.width / 2);
281
+ const adjustmentX = anchorCenterX - overlayCenterX;
282
+ if (Math.abs(adjustmentX) > 0.5) {
283
+ this.contentDiv.style.left = `${currentOverlayLeft + adjustmentX}px`;
284
+ }
285
+ }
286
+ }
287
+ }
288
+ }
289
+ createPortal() {
290
+ if (this.portalEl !== null)
291
+ return;
292
+ this.portalEl = document.createElement('div');
293
+ 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'}`;
294
+ this.portalEl.style.position = 'fixed';
295
+ this.portalEl.style.zIndex = '9999';
296
+ if (this.portalEl.id === '') {
297
+ this.portalEl.id = this.componentId || this.el.id || `pds-tooltip-portal-${PdsTooltip.instanceCounter++}`;
298
+ }
299
+ if (this.portalEl.getAttribute('id') !== this.portalEl.id) {
300
+ this.portalEl.setAttribute('id', this.portalEl.id);
301
+ }
302
+ this.portalEl.setAttribute('role', 'tooltip');
303
+ this.portalEl.setAttribute('aria-hidden', this.opened ? 'false' : 'true');
304
+ this.portalEl.setAttribute('aria-live', this.opened ? 'polite' : 'off');
305
+ this.portalEl.style.maxWidth = this.maxWidth;
306
+ this.contentDiv = document.createElement('div');
307
+ this.contentDiv.className = 'pds-tooltip__content';
308
+ this.contentDiv.setAttribute('aria-hidden', this.opened ? 'false' : 'true');
309
+ this.contentDiv.setAttribute('aria-live', this.opened ? 'polite' : 'off');
310
+ this.contentDiv.setAttribute('role', 'tooltip');
311
+ this.contentDiv.style.maxWidth = this.maxWidth;
312
+ const contentSlotWrapper = this.el.querySelector('.pds-tooltip__content-slot-wrapper');
313
+ const slottedContentContainer = contentSlotWrapper === null || contentSlotWrapper === void 0 ? void 0 : contentSlotWrapper.querySelector('[slot="content"]');
314
+ let hasSlottedContent = false;
315
+ if (slottedContentContainer !== null) {
316
+ const childrenToClone = Array.from(slottedContentContainer.childNodes);
317
+ if (childrenToClone.length > 0) {
318
+ const hasMeaningfulNode = childrenToClone.some(node => {
319
+ var _a;
320
+ return node.nodeType === Node.ELEMENT_NODE ||
321
+ (node.nodeType === Node.TEXT_NODE && ((_a = node.textContent) === null || _a === void 0 ? void 0 : _a.trim()) !== '');
322
+ });
323
+ if (hasMeaningfulNode) {
324
+ hasSlottedContent = true;
325
+ childrenToClone.forEach((node /*, index*/) => {
326
+ var _a;
327
+ if (node.nodeType === Node.ELEMENT_NODE || (node.nodeType === Node.TEXT_NODE && ((_a = node.textContent) === null || _a === void 0 ? void 0 : _a.trim()) !== '')) {
328
+ this.contentDiv.appendChild(node.cloneNode(true));
329
+ }
330
+ });
331
+ }
332
+ }
333
+ }
334
+ if (!hasSlottedContent) {
335
+ if (this.content !== '') {
336
+ this.contentDiv.textContent = this.content;
337
+ }
338
+ }
339
+ this.portalEl.appendChild(this.contentDiv);
340
+ document.body.appendChild(this.portalEl);
341
+ this.repositionPortal();
342
+ if (this.contentDiv !== null) {
343
+ this.overlayResizeObserver = new ResizeObserver(() => {
344
+ this.repositionPortal();
345
+ });
346
+ this.overlayResizeObserver.observe(this.contentDiv);
347
+ }
348
+ // Add global listeners when portal is created
349
+ window.addEventListener('scroll', this.handleScroll, true);
350
+ window.addEventListener('popstate', this.handleSpaNavigation, true);
351
+ window.addEventListener('hashchange', this.handleSpaNavigation, true);
352
+ // Start pathname change detection
353
+ this.pathnameCheckInterval = setInterval(this.checkPathnameChange, 100);
354
+ // Add ARIA attribute to trigger, now that portalEl and its ID are confirmed
355
+ if (this.triggerEl !== null && this.portalEl.id !== '') {
356
+ this.triggerEl.setAttribute('aria-describedby', this.portalEl.id);
357
+ }
358
+ }
359
+ removePortal() {
360
+ if (this.overlayResizeObserver !== null && this.contentDiv !== null) {
361
+ this.overlayResizeObserver.unobserve(this.contentDiv);
362
+ this.overlayResizeObserver = null;
363
+ }
364
+ // Stop pathname change detection
365
+ if (this.pathnameCheckInterval !== null) {
366
+ clearInterval(this.pathnameCheckInterval);
367
+ this.pathnameCheckInterval = null;
368
+ }
369
+ if (this.portalEl !== null) {
370
+ window.removeEventListener('scroll', this.handleScroll, true);
371
+ window.removeEventListener('popstate', this.handleSpaNavigation, true);
372
+ window.removeEventListener('hashchange', this.handleSpaNavigation, true);
373
+ document.body.removeChild(this.portalEl);
374
+ this.portalEl = null;
375
+ }
376
+ // Remove ARIA attribute from trigger
377
+ if (this.triggerEl !== null) {
378
+ this.triggerEl.removeAttribute('aria-describedby');
379
+ }
380
+ this.contentDiv = null;
381
+ }
160
382
  render() {
161
- return (index.h(index.Host, { key: '2732f2c81bc66814945206ddde15367e64a89ec2', onMouseEnter: this.handleShow, onMouseLeave: this.handleHide, onFocusin: this.handleShow, onFocusout: this.handleHide }, index.h("div", { key: '58705f1fbb1d88b91337100ba32de07f7838be52', class: `
162
- pds-tooltip
163
- pds-tooltip--${this.placement}
164
- ${this.htmlContent ? 'pds-tooltip--has-html-content' : ''}
165
- ${this.opened ? 'pds-tooltip--is-open' : ''}
166
- ${this.hasArrow ? '' : 'pds-tooltip--no-arrow'}
167
- ` }, index.h("span", { key: '33e96cb4f46ebc418f79971047a37fc5c3498e0d', "aria-describedby": this.componentId, class: "pds-tooltip__trigger" }, index.h("slot", { key: 'cca7b5d50e2cbc0f839a46caa5a5dc8a79f1cb15' })), index.h("div", { key: '22c666894f7835629e00e9c2c3964bcaf63000ae', class: "pds-tooltip__content", "aria-hidden": this.opened ? 'false' : 'true', "aria-live": this.opened ? 'polite' : 'off', id: this.componentId, ref: (el) => (this.contentEl = el), role: "tooltip", style: { maxWidth: this.maxWidth } }, index.h("slot", { key: '83a805d9eef71ac261a03d56853ccc8ac7bfe818', name: "content" }), this.content))));
383
+ const hostId = this.componentId || undefined;
384
+ return (index.h(index.Host, { key: '462d8c0b1b70de08c0a4f9fe0b3977fa3b4af461', id: hostId, class: { 'pds-tooltip--is-open': this.opened } }, index.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 }, index.h("slot", { key: 'f0e5970a1ba6d59045306b836468cd00a06b183f' })), index.h("div", { key: '212ec606b29bd7a64a2ea3b1b4fae9746361a712', class: "pds-tooltip__content-slot-wrapper", style: { display: 'none' } }, index.h("slot", { key: '035ea5b2dfec0ca7f1462c30053f8f455cb986f2', name: "content" }))));
168
385
  }
169
386
  get el() { return index.getElement(this); }
170
387
  static get watchers() { return {
171
388
  "opened": ["handleOpenToggle"]
172
389
  }; }
173
390
  };
391
+ PdsTooltip.instanceCounter = 0;
174
392
  PdsTooltip.style = pdsTooltipCss;
175
393
 
176
394
  exports.pds_tooltip = PdsTooltip;