@pine-ds/core 3.1.0 → 3.2.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 (623) 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/mock-pds-modal.d.ts +11 -0
  5. package/components/mock-pds-modal.js +108 -0
  6. package/components/mock-pds-modal.js.map +1 -0
  7. package/components/pds-alert.d.ts +11 -0
  8. package/components/pds-alert.js +107 -0
  9. package/components/pds-alert.js.map +1 -0
  10. package/components/pds-avatar.js +1 -1
  11. package/components/pds-box.js +1 -110
  12. package/components/pds-box.js.map +1 -1
  13. package/components/pds-box2.js +115 -0
  14. package/components/pds-box2.js.map +1 -0
  15. package/components/pds-checkbox2.js +3 -3
  16. package/components/pds-chip.js +1 -1
  17. package/components/pds-copytext.js +1 -1
  18. package/components/pds-divider.js +1 -1
  19. package/components/pds-dropdown-menu-item.d.ts +11 -0
  20. package/components/pds-dropdown-menu-item.js +117 -0
  21. package/components/pds-dropdown-menu-item.js.map +1 -0
  22. package/components/pds-dropdown-menu-separator.d.ts +11 -0
  23. package/components/pds-dropdown-menu-separator.js +44 -0
  24. package/components/pds-dropdown-menu-separator.js.map +1 -0
  25. package/components/pds-dropdown-menu.d.ts +11 -0
  26. package/components/pds-dropdown-menu.js +1600 -0
  27. package/components/pds-dropdown-menu.js.map +1 -0
  28. package/components/pds-image.js +2 -2
  29. package/components/pds-input.js +4 -4
  30. package/components/pds-link.js +1 -67
  31. package/components/pds-link.js.map +1 -1
  32. package/components/pds-link2.js +85 -0
  33. package/components/pds-link2.js.map +1 -0
  34. package/components/pds-loader2.js +1 -1
  35. package/components/pds-modal-content.d.ts +11 -0
  36. package/components/pds-modal-content.js +111 -0
  37. package/components/pds-modal-content.js.map +1 -0
  38. package/components/pds-modal-footer.d.ts +11 -0
  39. package/components/pds-modal-footer.js +35 -0
  40. package/components/pds-modal-footer.js.map +1 -0
  41. package/components/pds-modal-header.d.ts +11 -0
  42. package/components/pds-modal-header.js +35 -0
  43. package/components/pds-modal-header.js.map +1 -0
  44. package/components/pds-modal.d.ts +11 -0
  45. package/components/pds-modal.js +278 -0
  46. package/components/pds-modal.js.map +1 -0
  47. package/components/pds-popover.js +33 -1
  48. package/components/pds-popover.js.map +1 -1
  49. package/components/pds-progress.js +1 -1
  50. package/components/pds-radio.js +3 -3
  51. package/components/pds-row.js +1 -1
  52. package/components/pds-select.js +2 -2
  53. package/components/pds-sortable-item.js +1 -1
  54. package/components/pds-sortable.js +1 -1
  55. package/components/pds-switch.js +3 -3
  56. package/components/pds-tab.js +3 -3
  57. package/components/pds-table-body.js +1 -1
  58. package/components/pds-table-cell2.js +2 -2
  59. package/components/pds-table-head-cell2.js +2 -2
  60. package/components/pds-table-head.js +1 -1
  61. package/components/pds-table-row.js +1 -1
  62. package/components/pds-table.js +1 -1
  63. package/components/pds-tabpanel.js +1 -1
  64. package/components/pds-tabs.js +1 -1
  65. package/components/pds-text.js +1 -53
  66. package/components/pds-text.js.map +1 -1
  67. package/components/pds-text2.js +58 -0
  68. package/components/pds-text2.js.map +1 -0
  69. package/components/pds-textarea.js +4 -4
  70. package/components/pds-toast.d.ts +11 -0
  71. package/components/pds-toast.js +137 -0
  72. package/components/pds-toast.js.map +1 -0
  73. package/components/pds-tooltip.js +283 -81
  74. package/components/pds-tooltip.js.map +1 -1
  75. package/components/utils.js +3 -2
  76. package/components/utils.js.map +1 -1
  77. package/dist/cjs/loader.cjs.js +1 -1
  78. package/dist/cjs/mock-pds-modal.cjs.entry.js +86 -0
  79. package/dist/cjs/mock-pds-modal.cjs.entry.js.map +1 -0
  80. package/dist/cjs/mock-pds-modal.entry.cjs.js.map +1 -0
  81. package/dist/cjs/pds-alert.cjs.entry.js +66 -0
  82. package/dist/cjs/pds-alert.cjs.entry.js.map +1 -0
  83. package/dist/cjs/pds-alert.entry.cjs.js.map +1 -0
  84. package/dist/cjs/pds-avatar.cjs.entry.js +1 -1
  85. package/dist/cjs/pds-box.cjs.entry.js +2 -2
  86. package/dist/cjs/pds-box.cjs.entry.js.map +1 -1
  87. package/dist/cjs/pds-box.entry.cjs.js.map +1 -1
  88. package/dist/cjs/pds-button.cjs.entry.js +1 -1
  89. package/dist/cjs/pds-checkbox.cjs.entry.js +3 -3
  90. package/dist/cjs/pds-chip.cjs.entry.js +1 -1
  91. package/dist/cjs/pds-copytext.cjs.entry.js +1 -1
  92. package/dist/cjs/pds-divider.cjs.entry.js +1 -1
  93. package/dist/cjs/pds-dropdown-menu-item.cjs.entry.js +82 -0
  94. package/dist/cjs/pds-dropdown-menu-item.cjs.entry.js.map +1 -0
  95. package/dist/cjs/pds-dropdown-menu-item.entry.cjs.js.map +1 -0
  96. package/dist/cjs/pds-dropdown-menu-separator.cjs.entry.js +25 -0
  97. package/dist/cjs/pds-dropdown-menu-separator.cjs.entry.js.map +1 -0
  98. package/dist/cjs/pds-dropdown-menu-separator.entry.cjs.js.map +1 -0
  99. package/dist/cjs/pds-dropdown-menu.cjs.entry.js +1574 -0
  100. package/dist/cjs/pds-dropdown-menu.cjs.entry.js.map +1 -0
  101. package/dist/cjs/pds-dropdown-menu.entry.cjs.js.map +1 -0
  102. package/dist/cjs/pds-image.cjs.entry.js +2 -2
  103. package/dist/cjs/pds-input.cjs.entry.js +5 -5
  104. package/dist/cjs/pds-link.cjs.entry.js +15 -3
  105. package/dist/cjs/pds-link.cjs.entry.js.map +1 -1
  106. package/dist/cjs/pds-link.entry.cjs.js.map +1 -1
  107. package/dist/cjs/pds-loader.cjs.entry.js +1 -1
  108. package/dist/cjs/pds-modal-content.cjs.entry.js +93 -0
  109. package/dist/cjs/pds-modal-content.cjs.entry.js.map +1 -0
  110. package/dist/cjs/pds-modal-content.entry.cjs.js.map +1 -0
  111. package/dist/cjs/pds-modal-footer.cjs.entry.js +20 -0
  112. package/dist/cjs/pds-modal-footer.cjs.entry.js.map +1 -0
  113. package/dist/cjs/pds-modal-footer.entry.cjs.js.map +1 -0
  114. package/dist/cjs/pds-modal-header.cjs.entry.js +20 -0
  115. package/dist/cjs/pds-modal-header.cjs.entry.js.map +1 -0
  116. package/dist/cjs/pds-modal-header.entry.cjs.js.map +1 -0
  117. package/dist/cjs/pds-modal.cjs.entry.js +253 -0
  118. package/dist/cjs/pds-modal.cjs.entry.js.map +1 -0
  119. package/dist/cjs/pds-modal.entry.cjs.js.map +1 -0
  120. package/dist/cjs/pds-popover.cjs.entry.js +33 -1
  121. package/dist/cjs/pds-popover.cjs.entry.js.map +1 -1
  122. package/dist/cjs/pds-popover.entry.cjs.js.map +1 -1
  123. package/dist/cjs/pds-progress.cjs.entry.js +1 -1
  124. package/dist/cjs/pds-radio.cjs.entry.js +3 -3
  125. package/dist/cjs/pds-row.cjs.entry.js +1 -1
  126. package/dist/cjs/pds-select.cjs.entry.js +2 -2
  127. package/dist/cjs/pds-sortable-item.cjs.entry.js +1 -1
  128. package/dist/cjs/pds-sortable.cjs.entry.js +1 -1
  129. package/dist/cjs/pds-switch.cjs.entry.js +3 -3
  130. package/dist/cjs/pds-tab.cjs.entry.js +3 -3
  131. package/dist/cjs/pds-table-body.cjs.entry.js +1 -1
  132. package/dist/cjs/pds-table-cell.cjs.entry.js +2 -2
  133. package/dist/cjs/pds-table-head-cell.cjs.entry.js +2 -2
  134. package/dist/cjs/pds-table-head.cjs.entry.js +1 -1
  135. package/dist/cjs/pds-table-row.cjs.entry.js +1 -1
  136. package/dist/cjs/pds-table.cjs.entry.js +1 -1
  137. package/dist/cjs/pds-tabpanel.cjs.entry.js +1 -1
  138. package/dist/cjs/pds-tabs.cjs.entry.js +1 -1
  139. package/dist/cjs/pds-text.cjs.entry.js +2 -2
  140. package/dist/cjs/pds-text.cjs.entry.js.map +1 -1
  141. package/dist/cjs/pds-text.entry.cjs.js.map +1 -1
  142. package/dist/cjs/pds-textarea.cjs.entry.js +5 -5
  143. package/dist/cjs/pds-toast.cjs.entry.js +104 -0
  144. package/dist/cjs/pds-toast.cjs.entry.js.map +1 -0
  145. package/dist/cjs/pds-toast.entry.cjs.js.map +1 -0
  146. package/dist/cjs/pds-tooltip.cjs.entry.js +281 -79
  147. package/dist/cjs/pds-tooltip.cjs.entry.js.map +1 -1
  148. package/dist/cjs/pds-tooltip.entry.cjs.js.map +1 -1
  149. package/dist/cjs/pine-core.cjs.js +1 -1
  150. package/dist/cjs/{utils-CQKIgzWg.js → utils-jWx-Mf12.js} +5 -4
  151. package/dist/cjs/utils-jWx-Mf12.js.map +1 -0
  152. package/dist/collection/collection-manifest.json +10 -0
  153. package/dist/collection/components/pds-alert/pds-alert.css +108 -0
  154. package/dist/collection/components/pds-alert/pds-alert.js +198 -0
  155. package/dist/collection/components/pds-alert/pds-alert.js.map +1 -0
  156. package/dist/collection/components/pds-alert/pds-alert.tokens.css +32 -0
  157. package/dist/collection/components/pds-alert/stories/pds-alert.stories.js +97 -0
  158. package/dist/collection/components/pds-avatar/pds-avatar.js +1 -1
  159. package/dist/collection/components/pds-box/pds-box.js +8 -8
  160. package/dist/collection/components/pds-box/pds-box.js.map +1 -1
  161. package/dist/collection/components/pds-checkbox/pds-checkbox.js +3 -3
  162. package/dist/collection/components/pds-chip/pds-chip.js +1 -1
  163. package/dist/collection/components/pds-chip/stories/pds-chip.stories.js +1 -1
  164. package/dist/collection/components/pds-copytext/pds-copytext.js +1 -1
  165. package/dist/collection/components/pds-divider/pds-divider.js +1 -1
  166. package/dist/collection/components/pds-dropdown-menu/pds-dropdown-menu-item/pds-dropdown-menu-item.css +68 -0
  167. package/dist/collection/components/pds-dropdown-menu/pds-dropdown-menu-item/pds-dropdown-menu-item.js +219 -0
  168. package/dist/collection/components/pds-dropdown-menu/pds-dropdown-menu-item/pds-dropdown-menu-item.js.map +1 -0
  169. package/dist/collection/components/pds-dropdown-menu/pds-dropdown-menu-separator/pds-dropdown-menu-separator.css +4 -0
  170. package/dist/collection/components/pds-dropdown-menu/pds-dropdown-menu-separator/pds-dropdown-menu-separator.js +72 -0
  171. package/dist/collection/components/pds-dropdown-menu/pds-dropdown-menu-separator/pds-dropdown-menu-separator.js.map +1 -0
  172. package/dist/collection/components/pds-dropdown-menu/pds-dropdown-menu.css +16 -0
  173. package/dist/collection/components/pds-dropdown-menu/pds-dropdown-menu.js +328 -0
  174. package/dist/collection/components/pds-dropdown-menu/pds-dropdown-menu.js.map +1 -0
  175. package/dist/collection/components/pds-dropdown-menu/stories/pds-dropdown-menu.stories.js +44 -0
  176. package/dist/collection/components/pds-image/pds-image.js +2 -2
  177. package/dist/collection/components/pds-input/pds-input.js +4 -4
  178. package/dist/collection/components/pds-link/pds-link.css +20 -1
  179. package/dist/collection/components/pds-link/pds-link.js +33 -2
  180. package/dist/collection/components/pds-link/pds-link.js.map +1 -1
  181. package/dist/collection/components/pds-link/stories/pds-link.stories.js +15 -2
  182. package/dist/collection/components/pds-loader/pds-loader.js +1 -1
  183. package/dist/collection/components/pds-modal/pds-modal-content/pds-modal-content.css +27 -0
  184. package/dist/collection/components/pds-modal/pds-modal-content/pds-modal-content.js +125 -0
  185. package/dist/collection/components/pds-modal/pds-modal-content/pds-modal-content.js.map +1 -0
  186. package/dist/collection/components/pds-modal/pds-modal-footer/pds-modal-footer.css +8 -0
  187. package/dist/collection/components/pds-modal/pds-modal-footer/pds-modal-footer.js +18 -0
  188. package/dist/collection/components/pds-modal/pds-modal-footer/pds-modal-footer.js.map +1 -0
  189. package/dist/collection/components/pds-modal/pds-modal-header/pds-modal-header.css +8 -0
  190. package/dist/collection/components/pds-modal/pds-modal-header/pds-modal-header.js +18 -0
  191. package/dist/collection/components/pds-modal/pds-modal-header/pds-modal-header.js.map +1 -0
  192. package/dist/collection/components/pds-modal/pds-modal.css +79 -0
  193. package/dist/collection/components/pds-modal/pds-modal.js +426 -0
  194. package/dist/collection/components/pds-modal/pds-modal.js.map +1 -0
  195. package/dist/collection/components/pds-modal/stories/pds-modal.stories.js +415 -0
  196. package/dist/collection/components/pds-modal/test/mock-pds-modal.js +256 -0
  197. package/dist/collection/components/pds-modal/test/mock-pds-modal.js.map +1 -0
  198. package/dist/collection/components/pds-popover/pds-popover.js +33 -1
  199. package/dist/collection/components/pds-popover/pds-popover.js.map +1 -1
  200. package/dist/collection/components/pds-progress/pds-progress.js +1 -1
  201. package/dist/collection/components/pds-radio/pds-radio.js +3 -3
  202. package/dist/collection/components/pds-row/pds-row.js +1 -1
  203. package/dist/collection/components/pds-select/pds-select.js +2 -2
  204. package/dist/collection/components/pds-sortable/pds-sortable-item/pds-sortable-item.js +1 -1
  205. package/dist/collection/components/pds-sortable/pds-sortable.js +1 -1
  206. package/dist/collection/components/pds-switch/pds-switch.js +3 -3
  207. package/dist/collection/components/pds-table/pds-table-body/pds-table-body.js +1 -1
  208. package/dist/collection/components/pds-table/pds-table-cell/pds-table-cell.js +2 -2
  209. package/dist/collection/components/pds-table/pds-table-head/pds-table-head.js +1 -1
  210. package/dist/collection/components/pds-table/pds-table-head-cell/pds-table-head-cell.js +2 -2
  211. package/dist/collection/components/pds-table/pds-table-row/pds-table-row.js +1 -1
  212. package/dist/collection/components/pds-table/pds-table.js +1 -1
  213. package/dist/collection/components/pds-tabs/pds-tab/pds-tab.js +3 -3
  214. package/dist/collection/components/pds-tabs/pds-tabpanel/pds-tabpanel.js +1 -1
  215. package/dist/collection/components/pds-tabs/pds-tabs.js +1 -1
  216. package/dist/collection/components/pds-text/pds-text.js +2 -2
  217. package/dist/collection/components/pds-text/pds-text.js.map +1 -1
  218. package/dist/collection/components/pds-textarea/pds-textarea.js +4 -4
  219. package/dist/collection/components/pds-toast/pds-toast.css +153 -0
  220. package/dist/collection/components/pds-toast/pds-toast.js +263 -0
  221. package/dist/collection/components/pds-toast/pds-toast.js.map +1 -0
  222. package/dist/collection/components/pds-toast/stories/pds-toast.stories.js +103 -0
  223. package/dist/collection/components/pds-tooltip/pds-tooltip.css +2 -12
  224. package/dist/collection/components/pds-tooltip/pds-tooltip.js +211 -26
  225. package/dist/collection/components/pds-tooltip/pds-tooltip.js.map +1 -1
  226. package/dist/collection/components/pds-tooltip/stories/pds-tooltip.stories.js +7 -3
  227. package/dist/collection/utils/interfaces.js +2 -0
  228. package/dist/collection/utils/interfaces.js.map +1 -0
  229. package/dist/collection/utils/overlay.js +66 -49
  230. package/dist/collection/utils/overlay.js.map +1 -1
  231. package/dist/collection/utils/utils.js +3 -2
  232. package/dist/collection/utils/utils.js.map +1 -1
  233. package/dist/docs.json +1638 -266
  234. package/dist/esm/loader.js +1 -1
  235. package/dist/esm/mock-pds-modal.entry.js +84 -0
  236. package/dist/esm/mock-pds-modal.entry.js.map +1 -0
  237. package/dist/esm/pds-alert.entry.js +64 -0
  238. package/dist/esm/pds-alert.entry.js.map +1 -0
  239. package/dist/esm/pds-avatar.entry.js +1 -1
  240. package/dist/esm/pds-box.entry.js +2 -2
  241. package/dist/esm/pds-box.entry.js.map +1 -1
  242. package/dist/esm/pds-button.entry.js +1 -1
  243. package/dist/esm/pds-checkbox.entry.js +3 -3
  244. package/dist/esm/pds-chip.entry.js +1 -1
  245. package/dist/esm/pds-copytext.entry.js +1 -1
  246. package/dist/esm/pds-divider.entry.js +1 -1
  247. package/dist/esm/pds-dropdown-menu-item.entry.js +80 -0
  248. package/dist/esm/pds-dropdown-menu-item.entry.js.map +1 -0
  249. package/dist/esm/pds-dropdown-menu-separator.entry.js +23 -0
  250. package/dist/esm/pds-dropdown-menu-separator.entry.js.map +1 -0
  251. package/dist/esm/pds-dropdown-menu.entry.js +1572 -0
  252. package/dist/esm/pds-dropdown-menu.entry.js.map +1 -0
  253. package/dist/esm/pds-image.entry.js +2 -2
  254. package/dist/esm/pds-input.entry.js +5 -5
  255. package/dist/esm/pds-link.entry.js +15 -3
  256. package/dist/esm/pds-link.entry.js.map +1 -1
  257. package/dist/esm/pds-loader.entry.js +1 -1
  258. package/dist/esm/pds-modal-content.entry.js +91 -0
  259. package/dist/esm/pds-modal-content.entry.js.map +1 -0
  260. package/dist/esm/pds-modal-footer.entry.js +18 -0
  261. package/dist/esm/pds-modal-footer.entry.js.map +1 -0
  262. package/dist/esm/pds-modal-header.entry.js +18 -0
  263. package/dist/esm/pds-modal-header.entry.js.map +1 -0
  264. package/dist/esm/pds-modal.entry.js +251 -0
  265. package/dist/esm/pds-modal.entry.js.map +1 -0
  266. package/dist/esm/pds-popover.entry.js +33 -1
  267. package/dist/esm/pds-popover.entry.js.map +1 -1
  268. package/dist/esm/pds-progress.entry.js +1 -1
  269. package/dist/esm/pds-radio.entry.js +3 -3
  270. package/dist/esm/pds-row.entry.js +1 -1
  271. package/dist/esm/pds-select.entry.js +2 -2
  272. package/dist/esm/pds-sortable-item.entry.js +1 -1
  273. package/dist/esm/pds-sortable.entry.js +1 -1
  274. package/dist/esm/pds-switch.entry.js +3 -3
  275. package/dist/esm/pds-tab.entry.js +3 -3
  276. package/dist/esm/pds-table-body.entry.js +1 -1
  277. package/dist/esm/pds-table-cell.entry.js +2 -2
  278. package/dist/esm/pds-table-head-cell.entry.js +2 -2
  279. package/dist/esm/pds-table-head.entry.js +1 -1
  280. package/dist/esm/pds-table-row.entry.js +1 -1
  281. package/dist/esm/pds-table.entry.js +1 -1
  282. package/dist/esm/pds-tabpanel.entry.js +1 -1
  283. package/dist/esm/pds-tabs.entry.js +1 -1
  284. package/dist/esm/pds-text.entry.js +2 -2
  285. package/dist/esm/pds-text.entry.js.map +1 -1
  286. package/dist/esm/pds-textarea.entry.js +5 -5
  287. package/dist/esm/pds-toast.entry.js +102 -0
  288. package/dist/esm/pds-toast.entry.js.map +1 -0
  289. package/dist/esm/pds-tooltip.entry.js +281 -79
  290. package/dist/esm/pds-tooltip.entry.js.map +1 -1
  291. package/dist/esm/pine-core.js +1 -1
  292. package/dist/esm/{utils-Dw9B1JDC.js → utils-DkabwBZT.js} +5 -4
  293. package/dist/esm/utils-DkabwBZT.js.map +1 -0
  294. package/dist/esm-es5/loader.js +1 -1
  295. package/dist/esm-es5/mock-pds-modal.entry.js +2 -0
  296. package/dist/esm-es5/mock-pds-modal.entry.js.map +1 -0
  297. package/dist/esm-es5/pds-alert.entry.js +2 -0
  298. package/dist/esm-es5/pds-alert.entry.js.map +1 -0
  299. package/dist/esm-es5/pds-avatar.entry.js +1 -1
  300. package/dist/esm-es5/pds-box.entry.js +1 -1
  301. package/dist/esm-es5/pds-box.entry.js.map +1 -1
  302. package/dist/esm-es5/pds-button.entry.js +1 -1
  303. package/dist/esm-es5/pds-checkbox.entry.js +1 -1
  304. package/dist/esm-es5/pds-chip.entry.js +1 -1
  305. package/dist/esm-es5/pds-copytext.entry.js +1 -1
  306. package/dist/esm-es5/pds-divider.entry.js +1 -1
  307. package/dist/esm-es5/pds-dropdown-menu-item.entry.js +2 -0
  308. package/dist/esm-es5/pds-dropdown-menu-item.entry.js.map +1 -0
  309. package/dist/esm-es5/pds-dropdown-menu-separator.entry.js +2 -0
  310. package/dist/esm-es5/pds-dropdown-menu-separator.entry.js.map +1 -0
  311. package/dist/esm-es5/pds-dropdown-menu.entry.js +2 -0
  312. package/dist/esm-es5/pds-dropdown-menu.entry.js.map +1 -0
  313. package/dist/esm-es5/pds-image.entry.js +1 -1
  314. package/dist/esm-es5/pds-input.entry.js +1 -1
  315. package/dist/esm-es5/pds-link.entry.js +1 -1
  316. package/dist/esm-es5/pds-link.entry.js.map +1 -1
  317. package/dist/esm-es5/pds-loader.entry.js +1 -1
  318. package/dist/esm-es5/pds-modal-content.entry.js +2 -0
  319. package/dist/esm-es5/pds-modal-content.entry.js.map +1 -0
  320. package/dist/esm-es5/pds-modal-footer.entry.js +2 -0
  321. package/dist/esm-es5/pds-modal-footer.entry.js.map +1 -0
  322. package/dist/esm-es5/pds-modal-header.entry.js +2 -0
  323. package/dist/esm-es5/pds-modal-header.entry.js.map +1 -0
  324. package/dist/esm-es5/pds-modal.entry.js +2 -0
  325. package/dist/esm-es5/pds-modal.entry.js.map +1 -0
  326. package/dist/esm-es5/pds-popover.entry.js +1 -1
  327. package/dist/esm-es5/pds-popover.entry.js.map +1 -1
  328. package/dist/esm-es5/pds-progress.entry.js +1 -1
  329. package/dist/esm-es5/pds-radio.entry.js +1 -1
  330. package/dist/esm-es5/pds-row.entry.js +1 -1
  331. package/dist/esm-es5/pds-select.entry.js +1 -1
  332. package/dist/esm-es5/pds-sortable-item.entry.js +1 -1
  333. package/dist/esm-es5/pds-sortable.entry.js +1 -1
  334. package/dist/esm-es5/pds-switch.entry.js +1 -1
  335. package/dist/esm-es5/pds-tab.entry.js +1 -1
  336. package/dist/esm-es5/pds-table-body.entry.js +1 -1
  337. package/dist/esm-es5/pds-table-cell.entry.js +1 -1
  338. package/dist/esm-es5/pds-table-head-cell.entry.js +1 -1
  339. package/dist/esm-es5/pds-table-head.entry.js +1 -1
  340. package/dist/esm-es5/pds-table-row.entry.js +1 -1
  341. package/dist/esm-es5/pds-table.entry.js +1 -1
  342. package/dist/esm-es5/pds-tabpanel.entry.js +1 -1
  343. package/dist/esm-es5/pds-tabs.entry.js +1 -1
  344. package/dist/esm-es5/pds-text.entry.js +1 -1
  345. package/dist/esm-es5/pds-text.entry.js.map +1 -1
  346. package/dist/esm-es5/pds-textarea.entry.js +1 -1
  347. package/dist/esm-es5/pds-toast.entry.js +2 -0
  348. package/dist/esm-es5/pds-toast.entry.js.map +1 -0
  349. package/dist/esm-es5/pds-tooltip.entry.js +1 -1
  350. package/dist/esm-es5/pds-tooltip.entry.js.map +1 -1
  351. package/dist/esm-es5/pine-core.js +1 -1
  352. package/dist/esm-es5/utils-DkabwBZT.js +2 -0
  353. package/dist/esm-es5/utils-DkabwBZT.js.map +1 -0
  354. package/dist/pine-core/mock-pds-modal.entry.esm.js.map +1 -0
  355. package/dist/pine-core/{p-38d2498e.system.entry.js → p-0069abf8.system.entry.js} +2 -2
  356. package/dist/pine-core/{p-a14c8ab4.system.entry.js → p-03d8cb4c.system.entry.js} +2 -2
  357. package/dist/pine-core/{p-a952d40c.system.entry.js → p-04df41d7.system.entry.js} +2 -2
  358. package/dist/pine-core/{p-0486ad57.entry.js → p-0572825b.entry.js} +2 -2
  359. package/dist/pine-core/{p-d2110923.system.entry.js → p-111e7da2.system.entry.js} +2 -2
  360. package/dist/pine-core/{p-103b62a1.system.entry.js → p-121e03ad.system.entry.js} +2 -2
  361. package/dist/pine-core/p-1224c874.entry.js +2 -0
  362. package/dist/pine-core/{p-82e05dcf.entry.js → p-146fcd44.entry.js} +2 -2
  363. package/dist/pine-core/{p-e88d58f4.entry.js → p-17d3fa8b.entry.js} +2 -2
  364. package/dist/pine-core/p-1b109c01.entry.js +2 -0
  365. package/dist/pine-core/p-1b109c01.entry.js.map +1 -0
  366. package/dist/pine-core/p-1bd715ee.system.entry.js +2 -0
  367. package/dist/pine-core/p-1bd715ee.system.entry.js.map +1 -0
  368. package/dist/pine-core/{p-d8e02aa9.system.entry.js → p-1eec6bea.system.entry.js} +2 -2
  369. package/dist/pine-core/p-21c3aaeb.entry.js +2 -0
  370. package/dist/pine-core/{p-f439922f.entry.js → p-2296c34f.entry.js} +2 -2
  371. package/dist/pine-core/{p-f439922f.entry.js.map → p-2296c34f.entry.js.map} +1 -1
  372. package/dist/pine-core/{p-5c396e75.entry.js → p-24607f93.entry.js} +2 -2
  373. package/dist/pine-core/p-28e28f42.system.entry.js +2 -0
  374. package/dist/pine-core/p-28e28f42.system.entry.js.map +1 -0
  375. package/dist/pine-core/{p-38246e2f.entry.js → p-29ad0b86.entry.js} +2 -2
  376. package/dist/pine-core/{p-c0f0b368.system.entry.js → p-30142a25.system.entry.js} +2 -2
  377. package/dist/pine-core/p-32bd3e33.entry.js +2 -0
  378. package/dist/pine-core/p-32bd3e33.entry.js.map +1 -0
  379. package/dist/pine-core/{p-8305cd4d.entry.js → p-367e188f.entry.js} +2 -2
  380. package/dist/pine-core/{p-6147b1ea.system.entry.js → p-3798a631.system.entry.js} +2 -2
  381. package/dist/pine-core/p-3D0orTx_.system.js.map +1 -0
  382. package/dist/pine-core/{p-c838b6ef.system.entry.js → p-3f82ac77.system.entry.js} +2 -2
  383. package/dist/pine-core/p-4288c861.entry.js +2 -0
  384. package/dist/pine-core/p-4288c861.entry.js.map +1 -0
  385. package/dist/pine-core/p-47a7a65b.entry.js +2 -0
  386. package/dist/pine-core/p-47a7a65b.entry.js.map +1 -0
  387. package/dist/pine-core/{p-ca09f86a.system.entry.js → p-48e76945.system.entry.js} +2 -2
  388. package/dist/pine-core/p-49265849.system.entry.js +2 -0
  389. package/dist/pine-core/p-49265849.system.entry.js.map +1 -0
  390. package/dist/pine-core/p-513c16c7.entry.js +2 -0
  391. package/dist/pine-core/p-513c16c7.entry.js.map +1 -0
  392. package/dist/pine-core/p-5c4aceb7.entry.js +2 -0
  393. package/dist/pine-core/p-5c4aceb7.entry.js.map +1 -0
  394. package/dist/pine-core/{p-598ade79.entry.js → p-5e1e7762.entry.js} +2 -2
  395. package/dist/pine-core/p-624db3d6.system.entry.js +2 -0
  396. package/dist/pine-core/p-624db3d6.system.entry.js.map +1 -0
  397. package/dist/pine-core/{p-c7d4f436.system.entry.js → p-6a2296e6.system.entry.js} +2 -2
  398. package/dist/pine-core/{p-b68cb43d.system.entry.js → p-71265b2a.system.entry.js} +2 -2
  399. package/dist/pine-core/p-71f01676.system.entry.js +2 -0
  400. package/dist/pine-core/p-71f01676.system.entry.js.map +1 -0
  401. package/dist/pine-core/{p-6ad460a7.entry.js → p-722012ac.entry.js} +2 -2
  402. package/dist/pine-core/{p-98181fa8.system.entry.js → p-730221a8.system.entry.js} +2 -2
  403. package/dist/pine-core/{p-a97952fc.system.entry.js → p-73412ca9.system.entry.js} +2 -2
  404. package/dist/pine-core/{p-a97952fc.system.entry.js.map → p-73412ca9.system.entry.js.map} +1 -1
  405. package/dist/pine-core/{p-8337c77c.entry.js → p-742d4490.entry.js} +2 -2
  406. package/dist/pine-core/{p-3ce8eb9f.entry.js → p-761946a0.entry.js} +2 -2
  407. package/dist/pine-core/{p-950427b2.entry.js → p-77c3a10d.entry.js} +2 -2
  408. package/dist/pine-core/{p-fed4c0c0.system.entry.js → p-78cb1c40.system.entry.js} +2 -2
  409. package/dist/pine-core/{p-1d92261f.system.entry.js → p-78fb945e.system.entry.js} +2 -2
  410. package/dist/pine-core/p-7b38e384.system.entry.js +2 -0
  411. package/dist/pine-core/{p-9d0c1b2e.system.entry.js.map → p-7b38e384.system.entry.js.map} +1 -1
  412. package/dist/pine-core/{p-d78bec50.system.entry.js → p-7e92ec48.system.entry.js} +2 -2
  413. package/dist/pine-core/{p-13b9ed06.system.entry.js → p-7ff213bb.system.entry.js} +2 -2
  414. package/dist/pine-core/{p-4ccd2d5e.entry.js → p-8023086c.entry.js} +2 -2
  415. package/dist/pine-core/p-83252078.system.entry.js +2 -0
  416. package/dist/pine-core/{p-f94703c9.entry.js → p-833f08f3.entry.js} +2 -2
  417. package/dist/pine-core/p-83c632f6.system.entry.js +2 -0
  418. package/dist/pine-core/p-83c632f6.system.entry.js.map +1 -0
  419. package/dist/pine-core/p-83ffc1cc.entry.js +2 -0
  420. package/dist/pine-core/p-83ffc1cc.entry.js.map +1 -0
  421. package/dist/pine-core/p-85ff1482.entry.js +2 -0
  422. package/dist/pine-core/{p-d5838288.entry.js.map → p-85ff1482.entry.js.map} +1 -1
  423. package/dist/pine-core/{p-12bee2e5.entry.js → p-86d388a2.entry.js} +2 -2
  424. package/dist/pine-core/p-929bb7ab.system.entry.js +2 -0
  425. package/dist/pine-core/p-929bb7ab.system.entry.js.map +1 -0
  426. package/dist/pine-core/p-942fa145.system.entry.js +2 -0
  427. package/dist/pine-core/p-942fa145.system.entry.js.map +1 -0
  428. package/dist/pine-core/{p-e045e337.system.entry.js → p-984578f8.system.entry.js} +2 -2
  429. package/dist/pine-core/{p-e281ac09.entry.js → p-99b5e1a5.entry.js} +2 -2
  430. package/dist/pine-core/{p-BFPxUBwH.system.js.map → p-B-pTdYoP.system.js.map} +1 -1
  431. package/dist/pine-core/p-B2gfQpwn.system.js.map +1 -0
  432. package/dist/pine-core/{p-CDhmuxC9.system.js.map → p-B5JFBYFw.system.js.map} +1 -1
  433. package/dist/pine-core/p-B5LBNcOw.system.js.map +1 -0
  434. package/dist/pine-core/{p-B46WXJMn.system.js.map → p-BHZ6CSg4.system.js.map} +1 -1
  435. package/dist/pine-core/{p-Cz3zRtiB.system.js.map → p-BO1OsmVU.system.js.map} +1 -1
  436. package/dist/pine-core/{p-Cj21y714.system.js.map → p-BOJnNd1p.system.js.map} +1 -1
  437. package/dist/pine-core/p-BVUeEWjl.system.js.map +1 -0
  438. package/dist/pine-core/{p-C94EgDFz.system.js → p-BhPuKJbQ.system.js} +2 -2
  439. package/dist/pine-core/p-BhPuKJbQ.system.js.map +1 -0
  440. package/dist/pine-core/p-Bo6FQRlR.system.js.map +1 -0
  441. package/dist/pine-core/{p-kMnJefdU.system.js.map → p-Bs9Nyvj2.system.js.map} +1 -1
  442. package/dist/pine-core/p-BsL2GDnH.system.js +1 -1
  443. package/dist/pine-core/{p-BJyPFOn0.system.js.map → p-C-oNYS10.system.js.map} +1 -1
  444. package/dist/pine-core/{p-Cg0JSYH5.system.js.map → p-CDIHBBTC.system.js.map} +1 -1
  445. package/dist/pine-core/{p-IK9NvSRG.system.js.map → p-CLNi-hRD.system.js.map} +1 -1
  446. package/dist/pine-core/{p-BjCOR1Nn.system.js.map → p-CV405yTU.system.js.map} +1 -1
  447. package/dist/pine-core/p-CWtKi9tV.system.js.map +1 -0
  448. package/dist/pine-core/{p-BoNavS-S.system.js.map → p-CcsZC7UR.system.js.map} +1 -1
  449. package/dist/pine-core/{p-DkJgkLjR.system.js.map → p-CiDIFl28.system.js.map} +1 -1
  450. package/dist/pine-core/{p-Dz6toWDZ.system.js.map → p-Cj2r1nL6.system.js.map} +1 -1
  451. package/dist/pine-core/{p-w3zTyPF1.system.js.map → p-CnPERKGo.system.js.map} +1 -1
  452. package/dist/pine-core/p-CsM74dxm.system.js.map +1 -0
  453. package/dist/pine-core/{p-DFmUOrRG.system.js.map → p-CtAVdPaE.system.js.map} +1 -1
  454. package/dist/pine-core/{p-9niWVsdd.system.js.map → p-CzKqvFNN.system.js.map} +1 -1
  455. package/dist/pine-core/{p-CmTz2SvK.system.js.map → p-D-4Xbxlj.system.js.map} +1 -1
  456. package/dist/pine-core/{p-BVNW4NmT.system.js.map → p-D5vuiRx2.system.js.map} +1 -1
  457. package/dist/pine-core/p-D8DRYw9w.system.js.map +1 -0
  458. package/dist/pine-core/{p-DVVPJPOu.system.js.map → p-D9LPgNmN.system.js.map} +1 -1
  459. package/dist/pine-core/p-DKSZziVY.system.js.map +1 -0
  460. package/dist/pine-core/{p-YuC61pNM.system.js.map → p-DN9puCWI.system.js.map} +1 -1
  461. package/dist/pine-core/{p-C0cdB2AV.system.js.map → p-DS7q5AvX.system.js.map} +1 -1
  462. package/dist/pine-core/{p-BSINexOf.system.js.map → p-DV_GadHU.system.js.map} +1 -1
  463. package/dist/pine-core/{p-BgcVBzVE.system.js.map → p-DbVkYdnF.system.js.map} +1 -1
  464. package/dist/pine-core/{p-eKz-xVcI.system.js.map → p-Derxa-nn.system.js.map} +1 -1
  465. package/dist/pine-core/{p-BW-n3jjz.system.js.map → p-DgOMN0Ur.system.js.map} +1 -1
  466. package/dist/pine-core/p-DiJV28pi.system.js.map +1 -0
  467. package/dist/pine-core/p-DkabwBZT.js +2 -0
  468. package/dist/pine-core/p-DkabwBZT.js.map +1 -0
  469. package/dist/pine-core/{p-Dv_jWtcr.system.js.map → p-DyQ_s5MV.system.js.map} +1 -1
  470. package/dist/pine-core/p-HBgo7i_E.system.js.map +1 -0
  471. package/dist/pine-core/{p-D8WAvG2e.system.js.map → p-M2Hhmwex.system.js.map} +1 -1
  472. package/dist/pine-core/p-PkSWq78_.system.js.map +1 -0
  473. package/dist/pine-core/{p-ceb48b05.system.entry.js → p-a2572675.system.entry.js} +2 -2
  474. package/dist/pine-core/{p-85073252.system.entry.js → p-a394645a.system.entry.js} +2 -2
  475. package/dist/pine-core/p-a52b1413.entry.js +2 -0
  476. package/dist/pine-core/p-a52b1413.entry.js.map +1 -0
  477. package/dist/pine-core/{p-4e7ca704.entry.js → p-abec6606.entry.js} +2 -2
  478. package/dist/pine-core/p-b2796d3c.system.entry.js +2 -0
  479. package/dist/pine-core/p-b2796d3c.system.entry.js.map +1 -0
  480. package/dist/pine-core/{p-1b81a8ec.entry.js → p-b3d05184.entry.js} +2 -2
  481. package/dist/pine-core/{p-b902f535.entry.js → p-b7ba6316.entry.js} +2 -2
  482. package/dist/pine-core/p-b9c13f99.entry.js +2 -0
  483. package/dist/pine-core/p-b9c13f99.entry.js.map +1 -0
  484. package/dist/pine-core/{p-6a716bff.entry.js → p-bcc4edaa.entry.js} +2 -2
  485. package/dist/pine-core/{p-1178485a.system.entry.js → p-bd04212c.system.entry.js} +2 -2
  486. package/dist/pine-core/{p-1178485a.system.entry.js.map → p-bd04212c.system.entry.js.map} +1 -1
  487. package/dist/pine-core/{p-9cdd57de.entry.js → p-c0f74199.entry.js} +2 -2
  488. package/dist/pine-core/{p-ed8c3064.system.entry.js → p-c1b0f921.system.entry.js} +2 -2
  489. package/dist/pine-core/{p-68de979e.entry.js → p-c4294be2.entry.js} +2 -2
  490. package/dist/pine-core/p-cd2cd116.entry.js +2 -0
  491. package/dist/pine-core/p-cd2cd116.entry.js.map +1 -0
  492. package/dist/pine-core/p-d1b222f5.entry.js +2 -0
  493. package/dist/pine-core/{p-b390c427.entry.js.map → p-d1b222f5.entry.js.map} +1 -1
  494. package/dist/pine-core/{p-7b6b354a.system.entry.js → p-d2ccda59.system.entry.js} +2 -2
  495. package/dist/pine-core/p-d6ac2862.system.entry.js +2 -0
  496. package/dist/pine-core/p-d6ac2862.system.entry.js.map +1 -0
  497. package/dist/pine-core/{p-6260135d.system.entry.js → p-e09a3682.system.entry.js} +2 -2
  498. package/dist/pine-core/{p-792355e6.entry.js → p-e2dc81c0.entry.js} +2 -2
  499. package/dist/pine-core/p-e6d6e103.entry.js +2 -0
  500. package/dist/pine-core/p-e6d6e103.entry.js.map +1 -0
  501. package/dist/pine-core/{p-fd9aa739.system.entry.js → p-e9d972db.system.entry.js} +2 -2
  502. package/dist/pine-core/p-ef9ed75a.system.entry.js +2 -0
  503. package/dist/pine-core/p-ef9ed75a.system.entry.js.map +1 -0
  504. package/dist/pine-core/{p-4b59cae8.entry.js → p-f256dd8a.entry.js} +2 -2
  505. package/dist/pine-core/{p-4b59cae8.entry.js.map → p-f256dd8a.entry.js.map} +1 -1
  506. package/dist/pine-core/p-f2c807ac.entry.js +2 -0
  507. package/dist/pine-core/p-f2c807ac.entry.js.map +1 -0
  508. package/dist/pine-core/{p-eda0dc79.entry.js → p-f47133fd.entry.js} +2 -2
  509. package/dist/pine-core/p-f4fff209.system.entry.js +2 -0
  510. package/dist/pine-core/p-f4fff209.system.entry.js.map +1 -0
  511. package/dist/pine-core/{p-5763df39.system.entry.js → p-f9e01886.system.entry.js} +2 -2
  512. package/dist/pine-core/{p-Bu94kuQa.system.js.map → p-xgOOHGQo.system.js.map} +1 -1
  513. package/dist/pine-core/p-yku4NLl6.system.js.map +1 -0
  514. package/dist/pine-core/pds-alert.entry.esm.js.map +1 -0
  515. package/dist/pine-core/pds-box.entry.esm.js.map +1 -1
  516. package/dist/pine-core/pds-dropdown-menu-item.entry.esm.js.map +1 -0
  517. package/dist/pine-core/pds-dropdown-menu-separator.entry.esm.js.map +1 -0
  518. package/dist/pine-core/pds-dropdown-menu.entry.esm.js.map +1 -0
  519. package/dist/pine-core/pds-link.entry.esm.js.map +1 -1
  520. package/dist/pine-core/pds-modal-content.entry.esm.js.map +1 -0
  521. package/dist/pine-core/pds-modal-footer.entry.esm.js.map +1 -0
  522. package/dist/pine-core/pds-modal-header.entry.esm.js.map +1 -0
  523. package/dist/pine-core/pds-modal.entry.esm.js.map +1 -0
  524. package/dist/pine-core/pds-popover.entry.esm.js.map +1 -1
  525. package/dist/pine-core/pds-text.entry.esm.js.map +1 -1
  526. package/dist/pine-core/pds-toast.entry.esm.js.map +1 -0
  527. package/dist/pine-core/pds-tooltip.entry.esm.js.map +1 -1
  528. package/dist/pine-core/pine-core.esm.js +1 -1
  529. package/dist/types/components/pds-alert/pds-alert.d.ts +39 -0
  530. package/dist/types/components/pds-box/pds-box.d.ts +6 -6
  531. package/dist/types/components/pds-dropdown-menu/pds-dropdown-menu-item/pds-dropdown-menu-item.d.ts +43 -0
  532. package/dist/types/components/pds-dropdown-menu/pds-dropdown-menu-separator/pds-dropdown-menu-separator.d.ts +13 -0
  533. package/dist/types/components/pds-dropdown-menu/pds-dropdown-menu.d.ts +33 -0
  534. package/dist/types/components/pds-link/pds-link.d.ts +5 -0
  535. package/dist/types/components/pds-modal/pds-modal-content/pds-modal-content.d.ts +25 -0
  536. package/dist/types/components/pds-modal/pds-modal-footer/pds-modal-footer.d.ts +3 -0
  537. package/dist/types/components/pds-modal/pds-modal-header/pds-modal-header.d.ts +3 -0
  538. package/dist/types/components/pds-modal/pds-modal.d.ts +72 -0
  539. package/dist/types/components/pds-modal/test/mock-pds-modal.d.ts +63 -0
  540. package/dist/types/components/pds-toast/pds-toast.d.ts +57 -0
  541. package/dist/types/components/pds-tooltip/pds-tooltip.d.ts +28 -3
  542. package/dist/types/components.d.ts +539 -14
  543. package/dist/types/utils/interfaces.d.ts +6 -0
  544. package/dist/types/utils/overlay.d.ts +3 -3
  545. package/dist/types/utils/utils.d.ts +1 -1
  546. package/hydrate/index.js +2897 -261
  547. package/hydrate/index.mjs +2897 -261
  548. package/package.json +6 -2
  549. package/dist/cjs/utils-CQKIgzWg.js.map +0 -1
  550. package/dist/esm/utils-Dw9B1JDC.js.map +0 -1
  551. package/dist/esm-es5/utils-Dw9B1JDC.js +0 -2
  552. package/dist/esm-es5/utils-Dw9B1JDC.js.map +0 -1
  553. package/dist/pine-core/p-1d690915.entry.js +0 -2
  554. package/dist/pine-core/p-294f9b1f.entry.js +0 -2
  555. package/dist/pine-core/p-433c6687.system.entry.js +0 -2
  556. package/dist/pine-core/p-433c6687.system.entry.js.map +0 -1
  557. package/dist/pine-core/p-82151ac5.entry.js +0 -2
  558. package/dist/pine-core/p-82151ac5.entry.js.map +0 -1
  559. package/dist/pine-core/p-953f619f.system.entry.js +0 -2
  560. package/dist/pine-core/p-9d0c1b2e.system.entry.js +0 -2
  561. package/dist/pine-core/p-C94EgDFz.system.js.map +0 -1
  562. package/dist/pine-core/p-CdkqpuKd.system.js.map +0 -1
  563. package/dist/pine-core/p-CnoLHUtr.system.js.map +0 -1
  564. package/dist/pine-core/p-DhwO1z4v.system.js.map +0 -1
  565. package/dist/pine-core/p-Dw9B1JDC.js +0 -2
  566. package/dist/pine-core/p-Dw9B1JDC.js.map +0 -1
  567. package/dist/pine-core/p-b390c427.entry.js +0 -2
  568. package/dist/pine-core/p-d3ab594c.system.entry.js +0 -2
  569. package/dist/pine-core/p-d3ab594c.system.entry.js.map +0 -1
  570. package/dist/pine-core/p-d5838288.entry.js +0 -2
  571. package/dist/pine-core/p-f4898d4f.entry.js +0 -2
  572. package/dist/pine-core/p-f4898d4f.entry.js.map +0 -1
  573. /package/dist/pine-core/{p-38d2498e.system.entry.js.map → p-0069abf8.system.entry.js.map} +0 -0
  574. /package/dist/pine-core/{p-a14c8ab4.system.entry.js.map → p-03d8cb4c.system.entry.js.map} +0 -0
  575. /package/dist/pine-core/{p-a952d40c.system.entry.js.map → p-04df41d7.system.entry.js.map} +0 -0
  576. /package/dist/pine-core/{p-0486ad57.entry.js.map → p-0572825b.entry.js.map} +0 -0
  577. /package/dist/pine-core/{p-d2110923.system.entry.js.map → p-111e7da2.system.entry.js.map} +0 -0
  578. /package/dist/pine-core/{p-103b62a1.system.entry.js.map → p-121e03ad.system.entry.js.map} +0 -0
  579. /package/dist/pine-core/{p-1d690915.entry.js.map → p-1224c874.entry.js.map} +0 -0
  580. /package/dist/pine-core/{p-82e05dcf.entry.js.map → p-146fcd44.entry.js.map} +0 -0
  581. /package/dist/pine-core/{p-e88d58f4.entry.js.map → p-17d3fa8b.entry.js.map} +0 -0
  582. /package/dist/pine-core/{p-d8e02aa9.system.entry.js.map → p-1eec6bea.system.entry.js.map} +0 -0
  583. /package/dist/pine-core/{p-294f9b1f.entry.js.map → p-21c3aaeb.entry.js.map} +0 -0
  584. /package/dist/pine-core/{p-5c396e75.entry.js.map → p-24607f93.entry.js.map} +0 -0
  585. /package/dist/pine-core/{p-38246e2f.entry.js.map → p-29ad0b86.entry.js.map} +0 -0
  586. /package/dist/pine-core/{p-c0f0b368.system.entry.js.map → p-30142a25.system.entry.js.map} +0 -0
  587. /package/dist/pine-core/{p-8305cd4d.entry.js.map → p-367e188f.entry.js.map} +0 -0
  588. /package/dist/pine-core/{p-6147b1ea.system.entry.js.map → p-3798a631.system.entry.js.map} +0 -0
  589. /package/dist/pine-core/{p-c838b6ef.system.entry.js.map → p-3f82ac77.system.entry.js.map} +0 -0
  590. /package/dist/pine-core/{p-ca09f86a.system.entry.js.map → p-48e76945.system.entry.js.map} +0 -0
  591. /package/dist/pine-core/{p-598ade79.entry.js.map → p-5e1e7762.entry.js.map} +0 -0
  592. /package/dist/pine-core/{p-c7d4f436.system.entry.js.map → p-6a2296e6.system.entry.js.map} +0 -0
  593. /package/dist/pine-core/{p-b68cb43d.system.entry.js.map → p-71265b2a.system.entry.js.map} +0 -0
  594. /package/dist/pine-core/{p-6ad460a7.entry.js.map → p-722012ac.entry.js.map} +0 -0
  595. /package/dist/pine-core/{p-98181fa8.system.entry.js.map → p-730221a8.system.entry.js.map} +0 -0
  596. /package/dist/pine-core/{p-8337c77c.entry.js.map → p-742d4490.entry.js.map} +0 -0
  597. /package/dist/pine-core/{p-3ce8eb9f.entry.js.map → p-761946a0.entry.js.map} +0 -0
  598. /package/dist/pine-core/{p-950427b2.entry.js.map → p-77c3a10d.entry.js.map} +0 -0
  599. /package/dist/pine-core/{p-fed4c0c0.system.entry.js.map → p-78cb1c40.system.entry.js.map} +0 -0
  600. /package/dist/pine-core/{p-1d92261f.system.entry.js.map → p-78fb945e.system.entry.js.map} +0 -0
  601. /package/dist/pine-core/{p-d78bec50.system.entry.js.map → p-7e92ec48.system.entry.js.map} +0 -0
  602. /package/dist/pine-core/{p-13b9ed06.system.entry.js.map → p-7ff213bb.system.entry.js.map} +0 -0
  603. /package/dist/pine-core/{p-4ccd2d5e.entry.js.map → p-8023086c.entry.js.map} +0 -0
  604. /package/dist/pine-core/{p-953f619f.system.entry.js.map → p-83252078.system.entry.js.map} +0 -0
  605. /package/dist/pine-core/{p-f94703c9.entry.js.map → p-833f08f3.entry.js.map} +0 -0
  606. /package/dist/pine-core/{p-12bee2e5.entry.js.map → p-86d388a2.entry.js.map} +0 -0
  607. /package/dist/pine-core/{p-e045e337.system.entry.js.map → p-984578f8.system.entry.js.map} +0 -0
  608. /package/dist/pine-core/{p-e281ac09.entry.js.map → p-99b5e1a5.entry.js.map} +0 -0
  609. /package/dist/pine-core/{p-ceb48b05.system.entry.js.map → p-a2572675.system.entry.js.map} +0 -0
  610. /package/dist/pine-core/{p-85073252.system.entry.js.map → p-a394645a.system.entry.js.map} +0 -0
  611. /package/dist/pine-core/{p-4e7ca704.entry.js.map → p-abec6606.entry.js.map} +0 -0
  612. /package/dist/pine-core/{p-1b81a8ec.entry.js.map → p-b3d05184.entry.js.map} +0 -0
  613. /package/dist/pine-core/{p-b902f535.entry.js.map → p-b7ba6316.entry.js.map} +0 -0
  614. /package/dist/pine-core/{p-6a716bff.entry.js.map → p-bcc4edaa.entry.js.map} +0 -0
  615. /package/dist/pine-core/{p-9cdd57de.entry.js.map → p-c0f74199.entry.js.map} +0 -0
  616. /package/dist/pine-core/{p-ed8c3064.system.entry.js.map → p-c1b0f921.system.entry.js.map} +0 -0
  617. /package/dist/pine-core/{p-68de979e.entry.js.map → p-c4294be2.entry.js.map} +0 -0
  618. /package/dist/pine-core/{p-7b6b354a.system.entry.js.map → p-d2ccda59.system.entry.js.map} +0 -0
  619. /package/dist/pine-core/{p-6260135d.system.entry.js.map → p-e09a3682.system.entry.js.map} +0 -0
  620. /package/dist/pine-core/{p-792355e6.entry.js.map → p-e2dc81c0.entry.js.map} +0 -0
  621. /package/dist/pine-core/{p-fd9aa739.system.entry.js.map → p-e9d972db.system.entry.js.map} +0 -0
  622. /package/dist/pine-core/{p-eda0dc79.entry.js.map → p-f47133fd.entry.js.map} +0 -0
  623. /package/dist/pine-core/{p-5763df39.system.entry.js.map → p-f9e01886.system.entry.js.map} +0 -0
@@ -0,0 +1,426 @@
1
+ import { h } from "@stencil/core";
2
+ export class PdsModal {
3
+ constructor() {
4
+ this.focusableElements = [];
5
+ /**
6
+ * Whether the modal can be dismissed by clicking the backdrop
7
+ * @default true
8
+ */
9
+ this.backdropDismiss = true;
10
+ /**
11
+ * Whether the modal is open
12
+ * @default false
13
+ */
14
+ this.open = false;
15
+ /**
16
+ * The size of the modal
17
+ * @default 'md'
18
+ */
19
+ this.size = 'md';
20
+ /**
21
+ * Stores the list of focusable elements in the modal
22
+ */
23
+ this.focusableElementsArray = [];
24
+ this.handleBackdropClick = (e) => {
25
+ if (!this.backdropDismiss || !this.open)
26
+ return;
27
+ if (e.target.classList.contains('pds-modal__backdrop')) {
28
+ e.stopPropagation();
29
+ // Only close if this is the innermost modal
30
+ if (this.isInnermostModal()) {
31
+ this.hideModal();
32
+ }
33
+ }
34
+ };
35
+ this.handleKeyDown = (e) => {
36
+ // If the modal is not open, don't handle any keyboard events
37
+ if (!this.open)
38
+ return;
39
+ // Handle Escape key to close the modal
40
+ if (e.key === 'Escape') {
41
+ // Only close if this is the innermost modal
42
+ if (this.isInnermostModal()) {
43
+ e.preventDefault();
44
+ this.hideModal();
45
+ }
46
+ return;
47
+ }
48
+ // Handle Tab key for focus trapping
49
+ if (e.key === 'Tab') {
50
+ // If there are no focusable elements, do nothing
51
+ if (this.focusableElements.length === 0)
52
+ return;
53
+ // Get the first and last focusable elements
54
+ const firstFocusableElement = this.focusableElements[0];
55
+ const lastFocusableElement = this.focusableElements[this.focusableElements.length - 1];
56
+ // Get the current active element
57
+ const activeElement = document.activeElement;
58
+ // Check if we need to wrap focus
59
+ const isFirstElement = activeElement === firstFocusableElement ||
60
+ firstFocusableElement.contains(activeElement);
61
+ const isLastElement = activeElement === lastFocusableElement ||
62
+ lastFocusableElement.contains(activeElement);
63
+ // If shift + tab is pressed and focus is on the first element, move to the last element
64
+ if (e.shiftKey && isFirstElement) {
65
+ e.preventDefault();
66
+ this.focusElement(lastFocusableElement);
67
+ }
68
+ // If tab is pressed and focus is on the last element, move to the first element
69
+ else if (!e.shiftKey && isLastElement) {
70
+ e.preventDefault();
71
+ this.focusElement(firstFocusableElement);
72
+ }
73
+ }
74
+ };
75
+ }
76
+ componentDidLoad() {
77
+ this.modalRef = this.el.querySelector('.pds-modal__backdrop');
78
+ // Add keyboard event listener
79
+ document.addEventListener('keydown', this.handleKeyDown);
80
+ }
81
+ disconnectedCallback() {
82
+ // Clean up event listener
83
+ document.removeEventListener('keydown', this.handleKeyDown);
84
+ }
85
+ handleOpenChange(newValue) {
86
+ if (newValue) {
87
+ this.showModal();
88
+ }
89
+ else {
90
+ this.hideModal();
91
+ }
92
+ }
93
+ /**
94
+ * Updates the list of focusable elements in the modal
95
+ */
96
+ updateFocusableElements() {
97
+ if (!this.modalRef)
98
+ return;
99
+ // Get all focusable elements within the modal
100
+ const selector = [
101
+ 'a[href]',
102
+ 'button:not([disabled])',
103
+ 'input:not([disabled])',
104
+ 'select:not([disabled])',
105
+ 'textarea:not([disabled])',
106
+ '[tabindex]:not([tabindex="-1"])',
107
+ 'pds-button:not([disabled])',
108
+ 'pds-link:not([disabled])',
109
+ 'pds-input:not([disabled])',
110
+ 'pds-checkbox:not([disabled])',
111
+ 'pds-radio:not([disabled])',
112
+ 'pds-switch:not([disabled])',
113
+ 'pds-select:not([disabled])',
114
+ ].join(',');
115
+ this.focusableElements = Array.from(this.modalRef.querySelectorAll(selector));
116
+ // Filter out elements with display: none or visibility: hidden
117
+ this.focusableElements = this.focusableElements.filter(el => {
118
+ const style = window.getComputedStyle(el);
119
+ return style.display !== 'none' && style.visibility !== 'hidden';
120
+ });
121
+ }
122
+ /**
123
+ * Sets focus to the first focusable element in the modal
124
+ */
125
+ setInitialFocus() {
126
+ if (this.focusableElements.length === 0)
127
+ return;
128
+ // Focus the first focusable element
129
+ const firstElement = this.focusableElements[0];
130
+ // For web components, we need to ensure they're properly focused
131
+ this.focusElement(firstElement);
132
+ }
133
+ /**
134
+ * Helper method to focus an element, with special handling for web components
135
+ */
136
+ focusElement(element) {
137
+ if (!element)
138
+ return;
139
+ try {
140
+ // Try standard focus first
141
+ element.focus();
142
+ // Check if focus worked
143
+ setTimeout(() => {
144
+ if (document.activeElement !== element) {
145
+ // For web components, try to find a focusable element inside
146
+ if (element.shadowRoot) {
147
+ const focusableInShadow = element.shadowRoot.querySelector('button, [tabindex], input, a[href]');
148
+ if (focusableInShadow) {
149
+ focusableInShadow.focus();
150
+ }
151
+ }
152
+ }
153
+ }, 0);
154
+ }
155
+ catch (error) {
156
+ console.error('Error focusing element:', error);
157
+ }
158
+ }
159
+ /**
160
+ * Opens the modal
161
+ */
162
+ async showModal() {
163
+ if (this.modalRef) {
164
+ try {
165
+ // Store the currently focused element to restore focus when modal closes
166
+ this.previousActiveElement = document.activeElement;
167
+ // Use native dialog showModal method which makes the rest of the page inert
168
+ this.modalRef.showModal();
169
+ this.open = true;
170
+ // Update focusable elements and set initial focus
171
+ // Using a longer timeout to ensure all components are fully rendered
172
+ setTimeout(() => {
173
+ this.updateFocusableElements();
174
+ this.setInitialFocus();
175
+ this.pdsModalOpen.emit();
176
+ }, 100);
177
+ }
178
+ catch (error) {
179
+ console.error('Failed to show modal:', error);
180
+ }
181
+ }
182
+ }
183
+ /**
184
+ * Closes the modal
185
+ */
186
+ async hideModal() {
187
+ if (this.modalRef) {
188
+ try {
189
+ this.modalRef.close();
190
+ this.open = false;
191
+ // Restore focus to the element that was focused before the modal was opened
192
+ if (this.previousActiveElement && typeof this.previousActiveElement.focus === 'function') {
193
+ this.previousActiveElement.focus();
194
+ }
195
+ this.pdsModalClose.emit();
196
+ }
197
+ catch (error) {
198
+ console.error('Failed to hide modal:', error);
199
+ }
200
+ }
201
+ }
202
+ /**
203
+ * Gets the z-index of a modal's backdrop element
204
+ */
205
+ getBackdropZIndex(modal) {
206
+ const backdrop = modal.querySelector('.pds-modal__backdrop');
207
+ return backdrop ? parseInt(getComputedStyle(backdrop).zIndex, 10) : -1;
208
+ }
209
+ /**
210
+ * Checks if this modal is the innermost (highest z-index) modal
211
+ */
212
+ isInnermostModal() {
213
+ // Find all open modals
214
+ const openModals = Array.from(document.querySelectorAll('pds-modal')).filter(modal => modal.open);
215
+ if (openModals.length === 0)
216
+ return false;
217
+ // Get this modal's backdrop element
218
+ const thisBackdrop = this.el.querySelector('.pds-modal__backdrop');
219
+ if (!thisBackdrop)
220
+ return false;
221
+ // Get computed z-index of all open modal backdrops
222
+ const modalZIndexes = openModals.map(modal => this.getBackdropZIndex(modal));
223
+ // Get the highest z-index
224
+ const maxZIndex = Math.max(...modalZIndexes);
225
+ // Check if this modal's backdrop has the highest z-index
226
+ const thisZIndex = this.getBackdropZIndex(this.el);
227
+ return thisZIndex === maxZIndex;
228
+ }
229
+ render() {
230
+ return (h("dialog", { key: 'c27d56b7717f739fb8ed7a243e0715a806ed3b0c', class: {
231
+ 'pds-modal__backdrop': true,
232
+ 'open': this.open
233
+ }, "aria-modal": "true", "aria-labelledby": `${this.componentId}-heading`, onClick: this.handleBackdropClick }, h("div", { key: '083bfc9fa7ec82b9f5deb9b49f19d10abfc5c912', class: `pds-modal pds-modal--${this.size} pds-modal--scrollable` }, h("slot", { key: '2c47ddf024a9b1b7824de478f8d15a4af74627bb' }))));
234
+ }
235
+ static get is() { return "pds-modal"; }
236
+ static get originalStyleUrls() {
237
+ return {
238
+ "$": ["pds-modal.scss"]
239
+ };
240
+ }
241
+ static get styleUrls() {
242
+ return {
243
+ "$": ["pds-modal.css"]
244
+ };
245
+ }
246
+ static get properties() {
247
+ return {
248
+ "backdropDismiss": {
249
+ "type": "boolean",
250
+ "mutable": false,
251
+ "complexType": {
252
+ "original": "boolean",
253
+ "resolved": "boolean",
254
+ "references": {}
255
+ },
256
+ "required": false,
257
+ "optional": false,
258
+ "docs": {
259
+ "tags": [{
260
+ "name": "default",
261
+ "text": "true"
262
+ }],
263
+ "text": "Whether the modal can be dismissed by clicking the backdrop"
264
+ },
265
+ "getter": false,
266
+ "setter": false,
267
+ "attribute": "backdrop-dismiss",
268
+ "reflect": false,
269
+ "defaultValue": "true"
270
+ },
271
+ "componentId": {
272
+ "type": "string",
273
+ "mutable": false,
274
+ "complexType": {
275
+ "original": "string",
276
+ "resolved": "string",
277
+ "references": {}
278
+ },
279
+ "required": false,
280
+ "optional": false,
281
+ "docs": {
282
+ "tags": [],
283
+ "text": "A unique identifier used for the underlying component `id` attribute."
284
+ },
285
+ "getter": false,
286
+ "setter": false,
287
+ "attribute": "component-id",
288
+ "reflect": false
289
+ },
290
+ "open": {
291
+ "type": "boolean",
292
+ "mutable": true,
293
+ "complexType": {
294
+ "original": "boolean",
295
+ "resolved": "boolean",
296
+ "references": {}
297
+ },
298
+ "required": false,
299
+ "optional": false,
300
+ "docs": {
301
+ "tags": [{
302
+ "name": "default",
303
+ "text": "false"
304
+ }],
305
+ "text": "Whether the modal is open"
306
+ },
307
+ "getter": false,
308
+ "setter": false,
309
+ "attribute": "open",
310
+ "reflect": false,
311
+ "defaultValue": "false"
312
+ },
313
+ "size": {
314
+ "type": "string",
315
+ "mutable": false,
316
+ "complexType": {
317
+ "original": "'sm' | 'md' | 'lg' | 'fullscreen'",
318
+ "resolved": "\"fullscreen\" | \"lg\" | \"md\" | \"sm\"",
319
+ "references": {}
320
+ },
321
+ "required": false,
322
+ "optional": false,
323
+ "docs": {
324
+ "tags": [{
325
+ "name": "default",
326
+ "text": "'md'"
327
+ }],
328
+ "text": "The size of the modal"
329
+ },
330
+ "getter": false,
331
+ "setter": false,
332
+ "attribute": "size",
333
+ "reflect": false,
334
+ "defaultValue": "'md'"
335
+ }
336
+ };
337
+ }
338
+ static get states() {
339
+ return {
340
+ "focusableElementsArray": {}
341
+ };
342
+ }
343
+ static get events() {
344
+ return [{
345
+ "method": "pdsModalOpen",
346
+ "name": "pdsModalOpen",
347
+ "bubbles": true,
348
+ "cancelable": true,
349
+ "composed": true,
350
+ "docs": {
351
+ "tags": [],
352
+ "text": "Emitted when the modal is opened"
353
+ },
354
+ "complexType": {
355
+ "original": "void",
356
+ "resolved": "void",
357
+ "references": {}
358
+ }
359
+ }, {
360
+ "method": "pdsModalClose",
361
+ "name": "pdsModalClose",
362
+ "bubbles": true,
363
+ "cancelable": true,
364
+ "composed": true,
365
+ "docs": {
366
+ "tags": [],
367
+ "text": "Emitted when the modal is closed"
368
+ },
369
+ "complexType": {
370
+ "original": "void",
371
+ "resolved": "void",
372
+ "references": {}
373
+ }
374
+ }];
375
+ }
376
+ static get methods() {
377
+ return {
378
+ "showModal": {
379
+ "complexType": {
380
+ "signature": "() => Promise<void>",
381
+ "parameters": [],
382
+ "references": {
383
+ "Promise": {
384
+ "location": "global",
385
+ "id": "global::Promise"
386
+ },
387
+ "HTMLElement": {
388
+ "location": "global",
389
+ "id": "global::HTMLElement"
390
+ }
391
+ },
392
+ "return": "Promise<void>"
393
+ },
394
+ "docs": {
395
+ "text": "Opens the modal",
396
+ "tags": []
397
+ }
398
+ },
399
+ "hideModal": {
400
+ "complexType": {
401
+ "signature": "() => Promise<void>",
402
+ "parameters": [],
403
+ "references": {
404
+ "Promise": {
405
+ "location": "global",
406
+ "id": "global::Promise"
407
+ }
408
+ },
409
+ "return": "Promise<void>"
410
+ },
411
+ "docs": {
412
+ "text": "Closes the modal",
413
+ "tags": []
414
+ }
415
+ }
416
+ };
417
+ }
418
+ static get elementRef() { return "el"; }
419
+ static get watchers() {
420
+ return [{
421
+ "propName": "open",
422
+ "methodName": "handleOpenChange"
423
+ }];
424
+ }
425
+ }
426
+ //# sourceMappingURL=pds-modal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pds-modal.js","sourceRoot":"","sources":["../../../src/components/pds-modal/pds-modal.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Element, Event, EventEmitter, h, Method, Prop, State, Watch } from '@stencil/core';\n\n@Component({\n tag: 'pds-modal',\n styleUrl: 'pds-modal.scss',\n shadow: false\n})\nexport class PdsModal {\n private modalRef: HTMLDialogElement;\n private previousActiveElement: HTMLElement;\n private focusableElements: HTMLElement[] = [];\n\n @Element() el: HTMLPdsModalElement;\n\n /**\n * Whether the modal can be dismissed by clicking the backdrop\n * @default true\n */\n @Prop() backdropDismiss = true;\n\n /**\n * A unique identifier used for the underlying component `id` attribute.\n */\n @Prop() componentId: string;\n\n /**\n * Whether the modal is open\n * @default false\n */\n @Prop({ mutable: true }) open = false;\n\n /**\n * The size of the modal\n * @default 'md'\n */\n @Prop() size: 'sm' | 'md' | 'lg' | 'fullscreen' = 'md';\n\n // Modal content is always scrollable by default\n\n /**\n * Emitted when the modal is opened\n */\n @Event() pdsModalOpen: EventEmitter<void>;\n\n /**\n * Emitted when the modal is closed\n */\n @Event() pdsModalClose: EventEmitter<void>;\n\n /**\n * Stores the list of focusable elements in the modal\n */\n @State() focusableElementsArray: HTMLElement[] = [];\n\n componentDidLoad() {\n this.modalRef = this.el.querySelector('.pds-modal__backdrop') as HTMLDialogElement;\n // Add keyboard event listener\n document.addEventListener('keydown', this.handleKeyDown);\n }\n\n disconnectedCallback() {\n // Clean up event listener\n document.removeEventListener('keydown', this.handleKeyDown);\n }\n\n @Watch('open')\n handleOpenChange(newValue: boolean) {\n if (newValue) {\n this.showModal();\n } else {\n this.hideModal();\n }\n }\n\n /**\n * Updates the list of focusable elements in the modal\n */\n private updateFocusableElements() {\n if (!this.modalRef) return;\n\n // Get all focusable elements within the modal\n const selector = [\n 'a[href]',\n 'button:not([disabled])',\n 'input:not([disabled])',\n 'select:not([disabled])',\n 'textarea:not([disabled])',\n '[tabindex]:not([tabindex=\"-1\"])',\n 'pds-button:not([disabled])',\n 'pds-link:not([disabled])',\n 'pds-input:not([disabled])',\n 'pds-checkbox:not([disabled])',\n 'pds-radio:not([disabled])',\n 'pds-switch:not([disabled])',\n 'pds-select:not([disabled])',\n ].join(',');\n\n this.focusableElements = Array.from(\n this.modalRef.querySelectorAll(selector)\n ) as HTMLElement[];\n\n // Filter out elements with display: none or visibility: hidden\n this.focusableElements = this.focusableElements.filter(el => {\n const style = window.getComputedStyle(el);\n return style.display !== 'none' && style.visibility !== 'hidden';\n });\n }\n\n /**\n * Sets focus to the first focusable element in the modal\n */\n private setInitialFocus() {\n if (this.focusableElements.length === 0) return;\n\n // Focus the first focusable element\n const firstElement = this.focusableElements[0];\n\n // For web components, we need to ensure they're properly focused\n this.focusElement(firstElement);\n }\n\n /**\n * Helper method to focus an element, with special handling for web components\n */\n private focusElement(element: HTMLElement) {\n if (!element) return;\n\n try {\n // Try standard focus first\n element.focus();\n\n // Check if focus worked\n setTimeout(() => {\n if (document.activeElement !== element) {\n // For web components, try to find a focusable element inside\n if (element.shadowRoot) {\n const focusableInShadow = element.shadowRoot.querySelector(\n 'button, [tabindex], input, a[href]'\n ) as HTMLElement;\n\n if (focusableInShadow) {\n focusableInShadow.focus();\n }\n }\n }\n }, 0);\n } catch (error) {\n console.error('Error focusing element:', error);\n }\n }\n\n /**\n * Opens the modal\n */\n @Method()\n async showModal() {\n if (this.modalRef) {\n try {\n // Store the currently focused element to restore focus when modal closes\n this.previousActiveElement = document.activeElement as HTMLElement;\n\n // Use native dialog showModal method which makes the rest of the page inert\n this.modalRef.showModal();\n this.open = true;\n\n // Update focusable elements and set initial focus\n // Using a longer timeout to ensure all components are fully rendered\n setTimeout(() => {\n this.updateFocusableElements();\n this.setInitialFocus();\n this.pdsModalOpen.emit();\n }, 100);\n } catch (error) {\n console.error('Failed to show modal:', error);\n }\n }\n }\n\n /**\n * Closes the modal\n */\n @Method()\n async hideModal() {\n if (this.modalRef) {\n try {\n this.modalRef.close();\n this.open = false;\n\n // Restore focus to the element that was focused before the modal was opened\n if (this.previousActiveElement && typeof this.previousActiveElement.focus === 'function') {\n this.previousActiveElement.focus();\n }\n\n this.pdsModalClose.emit();\n } catch (error) {\n console.error('Failed to hide modal:', error);\n }\n }\n }\n\n private handleBackdropClick = (e: MouseEvent) => {\n if (!this.backdropDismiss || !this.open) return;\n\n if ((e.target as HTMLElement).classList.contains('pds-modal__backdrop')) {\n e.stopPropagation();\n\n // Only close if this is the innermost modal\n if (this.isInnermostModal()) {\n this.hideModal();\n }\n }\n };\n\n /**\n * Gets the z-index of a modal's backdrop element\n */\n private getBackdropZIndex(modal: Element): number {\n const backdrop = modal.querySelector('.pds-modal__backdrop');\n return backdrop ? parseInt(getComputedStyle(backdrop).zIndex, 10) : -1;\n }\n\n /**\n * Checks if this modal is the innermost (highest z-index) modal\n */\n private isInnermostModal(): boolean {\n // Find all open modals\n const openModals = Array.from(document.querySelectorAll('pds-modal')).filter(\n modal => modal.open\n );\n\n if (openModals.length === 0) return false;\n\n // Get this modal's backdrop element\n const thisBackdrop = this.el.querySelector('.pds-modal__backdrop');\n if (!thisBackdrop) return false;\n\n // Get computed z-index of all open modal backdrops\n const modalZIndexes = openModals.map(modal => this.getBackdropZIndex(modal));\n\n // Get the highest z-index\n const maxZIndex = Math.max(...modalZIndexes);\n\n // Check if this modal's backdrop has the highest z-index\n const thisZIndex = this.getBackdropZIndex(this.el);\n return thisZIndex === maxZIndex;\n }\n\n private handleKeyDown = (e: KeyboardEvent) => {\n // If the modal is not open, don't handle any keyboard events\n if (!this.open) return;\n\n // Handle Escape key to close the modal\n if (e.key === 'Escape') {\n // Only close if this is the innermost modal\n if (this.isInnermostModal()) {\n e.preventDefault();\n this.hideModal();\n }\n return;\n }\n\n // Handle Tab key for focus trapping\n if (e.key === 'Tab') {\n // If there are no focusable elements, do nothing\n if (this.focusableElements.length === 0) return;\n\n // Get the first and last focusable elements\n const firstFocusableElement = this.focusableElements[0];\n const lastFocusableElement = this.focusableElements[this.focusableElements.length - 1];\n\n // Get the current active element\n const activeElement = document.activeElement;\n\n // Check if we need to wrap focus\n const isFirstElement = activeElement === firstFocusableElement ||\n firstFocusableElement.contains(activeElement as Node);\n\n const isLastElement = activeElement === lastFocusableElement ||\n lastFocusableElement.contains(activeElement as Node);\n\n // If shift + tab is pressed and focus is on the first element, move to the last element\n if (e.shiftKey && isFirstElement) {\n e.preventDefault();\n this.focusElement(lastFocusableElement);\n }\n // If tab is pressed and focus is on the last element, move to the first element\n else if (!e.shiftKey && isLastElement) {\n e.preventDefault();\n this.focusElement(firstFocusableElement);\n }\n }\n };\n\n render() {\n return (\n <dialog\n class={{\n 'pds-modal__backdrop': true,\n 'open': this.open\n }}\n aria-modal=\"true\"\n aria-labelledby={`${this.componentId}-heading`}\n onClick={this.handleBackdropClick}\n >\n <div\n class={`pds-modal pds-modal--${this.size} pds-modal--scrollable`}\n >\n <slot></slot>\n </div>\n </dialog>\n );\n }\n}\n"]}