@pine-ds/core 3.22.1 → 3.24.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 (607) hide show
  1. package/components/floating-ui.dom.js +142 -129
  2. package/components/floating-ui.dom.js.map +1 -1
  3. package/components/form.js +14 -1
  4. package/components/form.js.map +1 -1
  5. package/components/index.d.ts +2 -0
  6. package/components/index.js +1 -0
  7. package/components/index.js.map +1 -1
  8. package/components/index2.js +1 -1
  9. package/components/index2.js.map +1 -1
  10. package/components/mock-pds-modal.js +1 -1
  11. package/components/pds-alert.js +1 -1
  12. package/components/pds-alert.js.map +1 -1
  13. package/components/pds-avatar.js +1 -1
  14. package/components/pds-avatar.js.map +1 -1
  15. package/components/pds-checkbox2.js +5 -7
  16. package/components/pds-checkbox2.js.map +1 -1
  17. package/components/pds-chip2.js +1 -1
  18. package/components/pds-chip2.js.map +1 -1
  19. package/components/pds-combobox.js +46 -41
  20. package/components/pds-combobox.js.map +1 -1
  21. package/components/pds-container.d.ts +11 -0
  22. package/components/pds-container.js +61 -0
  23. package/components/pds-container.js.map +1 -0
  24. package/components/pds-copytext.js +1 -1
  25. package/components/pds-divider.js +1 -1
  26. package/components/pds-dropdown-menu-item.js +1 -1
  27. package/components/pds-dropdown-menu-item.js.map +1 -1
  28. package/components/pds-dropdown-menu-separator.js +1 -1
  29. package/components/pds-dropdown-menu.js +1 -1
  30. package/components/pds-filter.js +1 -1
  31. package/components/pds-filters.js +1 -1
  32. package/components/pds-image.js +2 -2
  33. package/components/pds-input.js +4 -2
  34. package/components/pds-input.js.map +1 -1
  35. package/components/pds-link2.js +2 -2
  36. package/components/pds-loader2.js +1 -1
  37. package/components/pds-modal-content.js +2 -2
  38. package/components/pds-modal-footer.js +1 -1
  39. package/components/pds-modal-header.js +1 -1
  40. package/components/pds-modal.js +3 -3
  41. package/components/pds-multiselect.js +199 -40
  42. package/components/pds-multiselect.js.map +1 -1
  43. package/components/pds-select.js +4 -2
  44. package/components/pds-select.js.map +1 -1
  45. package/components/pds-sortable-item.js +1 -1
  46. package/components/pds-sortable-item.js.map +1 -1
  47. package/components/pds-sortable.js +98 -93
  48. package/components/pds-sortable.js.map +1 -1
  49. package/components/pds-switch.js +5 -7
  50. package/components/pds-switch.js.map +1 -1
  51. package/components/pds-textarea.js +8 -6
  52. package/components/pds-textarea.js.map +1 -1
  53. package/components/pds-toast.js +3 -3
  54. package/components/pds-toast.js.map +1 -1
  55. package/dist/cjs/{floating-ui.dom-Ca6tS7ef.js → floating-ui.dom-BZk7Blsu.js} +144 -131
  56. package/dist/cjs/floating-ui.dom-BZk7Blsu.js.map +1 -0
  57. package/dist/cjs/{form-DUqlzovE.js → form-CpM5Z8q7.js} +16 -2
  58. package/dist/cjs/form-CpM5Z8q7.js.map +1 -0
  59. package/dist/cjs/{index-D8mNsvM8.js → index-DGBoDsAL.js} +3 -3
  60. package/dist/cjs/index-DGBoDsAL.js.map +1 -0
  61. package/dist/cjs/loader.cjs.js +1 -1
  62. package/dist/cjs/mock-pds-modal.cjs.entry.js +1 -1
  63. package/dist/cjs/pds-accordion.cjs.entry.js +1 -1
  64. package/dist/cjs/pds-alert.cjs.entry.js +1 -1
  65. package/dist/cjs/pds-alert.entry.cjs.js.map +1 -1
  66. package/dist/cjs/pds-avatar.cjs.entry.js +2 -2
  67. package/dist/cjs/pds-avatar.entry.cjs.js.map +1 -1
  68. package/dist/cjs/pds-button.cjs.entry.js +1 -1
  69. package/dist/cjs/pds-checkbox.cjs.entry.js +6 -8
  70. package/dist/cjs/pds-checkbox.entry.cjs.js.map +1 -1
  71. package/dist/cjs/pds-chip.cjs.entry.js +2 -2
  72. package/dist/cjs/pds-chip.entry.cjs.js.map +1 -1
  73. package/dist/cjs/pds-combobox.cjs.entry.js +46 -42
  74. package/dist/cjs/pds-combobox.entry.cjs.js.map +1 -1
  75. package/dist/cjs/pds-container.cjs.entry.js +37 -0
  76. package/dist/cjs/pds-container.entry.cjs.js.map +1 -0
  77. package/dist/cjs/pds-copytext.cjs.entry.js +4 -4
  78. package/dist/cjs/pds-divider.cjs.entry.js +1 -1
  79. package/dist/cjs/pds-dropdown-menu-item.cjs.entry.js +1 -1
  80. package/dist/cjs/pds-dropdown-menu-item.entry.cjs.js.map +1 -1
  81. package/dist/cjs/pds-dropdown-menu-separator.cjs.entry.js +1 -1
  82. package/dist/cjs/pds-dropdown-menu.cjs.entry.js +2 -2
  83. package/dist/cjs/pds-filter.cjs.entry.js +2 -2
  84. package/dist/cjs/pds-filters.cjs.entry.js +1 -1
  85. package/dist/cjs/pds-image.cjs.entry.js +2 -2
  86. package/dist/cjs/pds-input.cjs.entry.js +5 -3
  87. package/dist/cjs/pds-input.entry.cjs.js.map +1 -1
  88. package/dist/cjs/pds-link.cjs.entry.js +3 -3
  89. package/dist/cjs/pds-loader.cjs.entry.js +1 -1
  90. package/dist/cjs/pds-modal-content.cjs.entry.js +2 -2
  91. package/dist/cjs/pds-modal-footer.cjs.entry.js +1 -1
  92. package/dist/cjs/pds-modal-header.cjs.entry.js +1 -1
  93. package/dist/cjs/pds-modal.cjs.entry.js +3 -3
  94. package/dist/cjs/pds-multiselect.cjs.entry.js +187 -38
  95. package/dist/cjs/pds-multiselect.entry.cjs.js.map +1 -1
  96. package/dist/cjs/pds-radio-group.cjs.entry.js +2 -2
  97. package/dist/cjs/pds-radio.cjs.entry.js +2 -2
  98. package/dist/cjs/pds-select.cjs.entry.js +5 -3
  99. package/dist/cjs/pds-select.entry.cjs.js.map +1 -1
  100. package/dist/cjs/pds-sortable-item.cjs.entry.js +2 -2
  101. package/dist/cjs/pds-sortable-item.entry.cjs.js.map +1 -1
  102. package/dist/cjs/pds-sortable.cjs.entry.js +95 -93
  103. package/dist/cjs/pds-sortable.entry.cjs.js.map +1 -1
  104. package/dist/cjs/pds-switch.cjs.entry.js +6 -8
  105. package/dist/cjs/pds-switch.entry.cjs.js.map +1 -1
  106. package/dist/cjs/pds-table-cell.cjs.entry.js +2 -2
  107. package/dist/cjs/pds-table-head-cell.cjs.entry.js +1 -1
  108. package/dist/cjs/pds-text.cjs.entry.js +2 -2
  109. package/dist/cjs/pds-textarea.cjs.entry.js +9 -7
  110. package/dist/cjs/pds-textarea.entry.cjs.js.map +1 -1
  111. package/dist/cjs/pds-toast.cjs.entry.js +3 -3
  112. package/dist/cjs/pds-toast.entry.cjs.js.map +1 -1
  113. package/dist/cjs/pds-tooltip.cjs.entry.js +1 -1
  114. package/dist/cjs/pine-core.cjs.js +1 -1
  115. package/dist/cjs/{truncation-tooltip-BGGnm8SZ.js → truncation-tooltip-CVzAha5B.js} +3 -3
  116. package/dist/cjs/{truncation-tooltip-BGGnm8SZ.js.map → truncation-tooltip-CVzAha5B.js.map} +1 -1
  117. package/dist/collection/collection-manifest.json +1 -0
  118. package/dist/collection/components/pds-alert/pds-alert.js +2 -1
  119. package/dist/collection/components/pds-alert/pds-alert.js.map +1 -1
  120. package/dist/collection/components/pds-avatar/pds-avatar.js +3 -1
  121. package/dist/collection/components/pds-avatar/pds-avatar.js.map +1 -1
  122. package/dist/collection/components/pds-checkbox/pds-checkbox.js +5 -7
  123. package/dist/collection/components/pds-checkbox/pds-checkbox.js.map +1 -1
  124. package/dist/collection/components/pds-chip/pds-chip.js +2 -1
  125. package/dist/collection/components/pds-chip/pds-chip.js.map +1 -1
  126. package/dist/collection/components/pds-combobox/pds-combobox.css +5 -0
  127. package/dist/collection/components/pds-combobox/pds-combobox.js +53 -37
  128. package/dist/collection/components/pds-combobox/pds-combobox.js.map +1 -1
  129. package/dist/collection/components/pds-container/pds-container.css +26 -0
  130. package/dist/collection/components/pds-container/pds-container.js +112 -0
  131. package/dist/collection/components/pds-container/pds-container.js.map +1 -0
  132. package/dist/collection/components/pds-container/stories/pds-container.stories.js +89 -0
  133. package/dist/collection/components/pds-copytext/pds-copytext.js +1 -1
  134. package/dist/collection/components/pds-divider/pds-divider.js +1 -1
  135. package/dist/collection/components/pds-dropdown-menu/pds-dropdown-menu-item/pds-dropdown-menu-item.js +4 -1
  136. package/dist/collection/components/pds-dropdown-menu/pds-dropdown-menu-item/pds-dropdown-menu-item.js.map +1 -1
  137. package/dist/collection/components/pds-dropdown-menu/pds-dropdown-menu-separator/pds-dropdown-menu-separator.js +1 -1
  138. package/dist/collection/components/pds-dropdown-menu/pds-dropdown-menu.js +1 -1
  139. package/dist/collection/components/pds-filters/pds-filter/pds-filter.js +1 -1
  140. package/dist/collection/components/pds-filters/pds-filters.js +1 -1
  141. package/dist/collection/components/pds-image/pds-image.js +2 -2
  142. package/dist/collection/components/pds-input/pds-input.js +4 -2
  143. package/dist/collection/components/pds-input/pds-input.js.map +1 -1
  144. package/dist/collection/components/pds-link/pds-link.js +2 -2
  145. package/dist/collection/components/pds-loader/pds-loader.js +1 -1
  146. package/dist/collection/components/pds-modal/pds-modal-content/pds-modal-content.js +2 -2
  147. package/dist/collection/components/pds-modal/pds-modal-footer/pds-modal-footer.js +1 -1
  148. package/dist/collection/components/pds-modal/pds-modal-header/pds-modal-header.js +1 -1
  149. package/dist/collection/components/pds-modal/pds-modal.js +3 -3
  150. package/dist/collection/components/pds-modal/test/mock-pds-modal.js +1 -1
  151. package/dist/collection/components/pds-multiselect/multiselect-interface.js.map +1 -1
  152. package/dist/collection/components/pds-multiselect/pds-multiselect.css +83 -1
  153. package/dist/collection/components/pds-multiselect/pds-multiselect.js +258 -37
  154. package/dist/collection/components/pds-multiselect/pds-multiselect.js.map +1 -1
  155. package/dist/collection/components/pds-multiselect/stories/pds-multiselect.stories.js +226 -0
  156. package/dist/collection/components/pds-select/pds-select.js +4 -2
  157. package/dist/collection/components/pds-select/pds-select.js.map +1 -1
  158. package/dist/collection/components/pds-sortable/pds-sortable-item/pds-sortable-item.css +12 -2
  159. package/dist/collection/components/pds-sortable/pds-sortable.js +46 -4
  160. package/dist/collection/components/pds-sortable/pds-sortable.js.map +1 -1
  161. package/dist/collection/components/pds-sortable/sortable-interface.js.map +1 -1
  162. package/dist/collection/components/pds-sortable/stories/pds-sortable.stories.js +19 -4
  163. package/dist/collection/components/pds-switch/pds-switch.js +5 -7
  164. package/dist/collection/components/pds-switch/pds-switch.js.map +1 -1
  165. package/dist/collection/components/pds-textarea/pds-textarea.js +8 -6
  166. package/dist/collection/components/pds-textarea/pds-textarea.js.map +1 -1
  167. package/dist/collection/components/pds-toast/pds-toast.js +6 -3
  168. package/dist/collection/components/pds-toast/pds-toast.js.map +1 -1
  169. package/dist/collection/utils/form.js +13 -0
  170. package/dist/collection/utils/form.js.map +1 -1
  171. package/dist/docs.json +346 -15
  172. package/dist/esm/{floating-ui.dom-BO6p966C.js → floating-ui.dom-DDtwbwIl.js} +144 -131
  173. package/dist/esm/floating-ui.dom-DDtwbwIl.js.map +1 -0
  174. package/dist/esm/{form-CN-lL5QG.js → form-C3xDZBme.js} +16 -3
  175. package/dist/esm/form-C3xDZBme.js.map +1 -0
  176. package/dist/esm/{index-Bmf4Ow_8.js → index-D4ys0pep.js} +3 -3
  177. package/dist/esm/index-D4ys0pep.js.map +1 -0
  178. package/dist/esm/loader.js +1 -1
  179. package/dist/esm/mock-pds-modal.entry.js +1 -1
  180. package/dist/esm/pds-accordion.entry.js +1 -1
  181. package/dist/esm/pds-alert.entry.js +1 -1
  182. package/dist/esm/pds-alert.entry.js.map +1 -1
  183. package/dist/esm/pds-avatar.entry.js +2 -2
  184. package/dist/esm/pds-avatar.entry.js.map +1 -1
  185. package/dist/esm/pds-button.entry.js +1 -1
  186. package/dist/esm/pds-checkbox.entry.js +6 -8
  187. package/dist/esm/pds-checkbox.entry.js.map +1 -1
  188. package/dist/esm/pds-chip.entry.js +2 -2
  189. package/dist/esm/pds-chip.entry.js.map +1 -1
  190. package/dist/esm/pds-combobox.entry.js +46 -42
  191. package/dist/esm/pds-combobox.entry.js.map +1 -1
  192. package/dist/esm/pds-container.entry.js +35 -0
  193. package/dist/esm/pds-container.entry.js.map +1 -0
  194. package/dist/esm/pds-copytext.entry.js +4 -4
  195. package/dist/esm/pds-divider.entry.js +1 -1
  196. package/dist/esm/pds-dropdown-menu-item.entry.js +1 -1
  197. package/dist/esm/pds-dropdown-menu-item.entry.js.map +1 -1
  198. package/dist/esm/pds-dropdown-menu-separator.entry.js +1 -1
  199. package/dist/esm/pds-dropdown-menu.entry.js +2 -2
  200. package/dist/esm/pds-filter.entry.js +2 -2
  201. package/dist/esm/pds-filters.entry.js +1 -1
  202. package/dist/esm/pds-image.entry.js +2 -2
  203. package/dist/esm/pds-input.entry.js +5 -3
  204. package/dist/esm/pds-input.entry.js.map +1 -1
  205. package/dist/esm/pds-link.entry.js +3 -3
  206. package/dist/esm/pds-loader.entry.js +1 -1
  207. package/dist/esm/pds-modal-content.entry.js +2 -2
  208. package/dist/esm/pds-modal-footer.entry.js +1 -1
  209. package/dist/esm/pds-modal-header.entry.js +1 -1
  210. package/dist/esm/pds-modal.entry.js +3 -3
  211. package/dist/esm/pds-multiselect.entry.js +187 -38
  212. package/dist/esm/pds-multiselect.entry.js.map +1 -1
  213. package/dist/esm/pds-radio-group.entry.js +2 -2
  214. package/dist/esm/pds-radio.entry.js +2 -2
  215. package/dist/esm/pds-select.entry.js +5 -3
  216. package/dist/esm/pds-select.entry.js.map +1 -1
  217. package/dist/esm/pds-sortable-item.entry.js +2 -2
  218. package/dist/esm/pds-sortable-item.entry.js.map +1 -1
  219. package/dist/esm/pds-sortable.entry.js +95 -93
  220. package/dist/esm/pds-sortable.entry.js.map +1 -1
  221. package/dist/esm/pds-switch.entry.js +6 -8
  222. package/dist/esm/pds-switch.entry.js.map +1 -1
  223. package/dist/esm/pds-table-cell.entry.js +2 -2
  224. package/dist/esm/pds-table-head-cell.entry.js +1 -1
  225. package/dist/esm/pds-text.entry.js +2 -2
  226. package/dist/esm/pds-textarea.entry.js +9 -7
  227. package/dist/esm/pds-textarea.entry.js.map +1 -1
  228. package/dist/esm/pds-toast.entry.js +3 -3
  229. package/dist/esm/pds-toast.entry.js.map +1 -1
  230. package/dist/esm/pds-tooltip.entry.js +1 -1
  231. package/dist/esm/pine-core.js +1 -1
  232. package/dist/esm/{truncation-tooltip-CTHpMbU3.js → truncation-tooltip-Blk4GigP.js} +3 -3
  233. package/dist/{esm-es5/truncation-tooltip-CTHpMbU3.js.map → esm/truncation-tooltip-Blk4GigP.js.map} +1 -1
  234. package/dist/esm-es5/floating-ui.dom-DDtwbwIl.js +2 -0
  235. package/dist/esm-es5/floating-ui.dom-DDtwbwIl.js.map +1 -0
  236. package/dist/esm-es5/{form-CN-lL5QG.js → form-C3xDZBme.js} +2 -2
  237. package/dist/esm-es5/form-C3xDZBme.js.map +1 -0
  238. package/dist/esm-es5/{index-Bmf4Ow_8.js → index-D4ys0pep.js} +1 -1
  239. package/dist/esm-es5/index-D4ys0pep.js.map +1 -0
  240. package/dist/esm-es5/loader.js +1 -1
  241. package/dist/esm-es5/mock-pds-modal.entry.js +1 -1
  242. package/dist/esm-es5/pds-accordion.entry.js +1 -1
  243. package/dist/esm-es5/pds-alert.entry.js +1 -1
  244. package/dist/esm-es5/pds-alert.entry.js.map +1 -1
  245. package/dist/esm-es5/pds-avatar.entry.js +1 -1
  246. package/dist/esm-es5/pds-avatar.entry.js.map +1 -1
  247. package/dist/esm-es5/pds-button.entry.js +1 -1
  248. package/dist/esm-es5/pds-checkbox.entry.js +1 -1
  249. package/dist/esm-es5/pds-checkbox.entry.js.map +1 -1
  250. package/dist/esm-es5/pds-chip.entry.js +1 -1
  251. package/dist/esm-es5/pds-chip.entry.js.map +1 -1
  252. package/dist/esm-es5/pds-combobox.entry.js +2 -2
  253. package/dist/esm-es5/pds-combobox.entry.js.map +1 -1
  254. package/dist/esm-es5/pds-container.entry.js +2 -0
  255. package/dist/esm-es5/pds-container.entry.js.map +1 -0
  256. package/dist/esm-es5/pds-copytext.entry.js +1 -1
  257. package/dist/esm-es5/pds-divider.entry.js +1 -1
  258. package/dist/esm-es5/pds-dropdown-menu-item.entry.js +1 -1
  259. package/dist/esm-es5/pds-dropdown-menu-item.entry.js.map +1 -1
  260. package/dist/esm-es5/pds-dropdown-menu-separator.entry.js +1 -1
  261. package/dist/esm-es5/pds-dropdown-menu.entry.js +1 -1
  262. package/dist/esm-es5/pds-filter.entry.js +1 -1
  263. package/dist/esm-es5/pds-filters.entry.js +1 -1
  264. package/dist/esm-es5/pds-image.entry.js +1 -1
  265. package/dist/esm-es5/pds-input.entry.js +1 -1
  266. package/dist/esm-es5/pds-input.entry.js.map +1 -1
  267. package/dist/esm-es5/pds-link.entry.js +1 -1
  268. package/dist/esm-es5/pds-loader.entry.js +1 -1
  269. package/dist/esm-es5/pds-modal-content.entry.js +1 -1
  270. package/dist/esm-es5/pds-modal-footer.entry.js +1 -1
  271. package/dist/esm-es5/pds-modal-header.entry.js +1 -1
  272. package/dist/esm-es5/pds-modal.entry.js +1 -1
  273. package/dist/esm-es5/pds-multiselect.entry.js +1 -1
  274. package/dist/esm-es5/pds-multiselect.entry.js.map +1 -1
  275. package/dist/esm-es5/pds-radio-group.entry.js +1 -1
  276. package/dist/esm-es5/pds-radio.entry.js +1 -1
  277. package/dist/esm-es5/pds-select.entry.js +1 -1
  278. package/dist/esm-es5/pds-select.entry.js.map +1 -1
  279. package/dist/esm-es5/pds-sortable-item.entry.js +1 -1
  280. package/dist/esm-es5/pds-sortable-item.entry.js.map +1 -1
  281. package/dist/esm-es5/pds-sortable.entry.js +2 -2
  282. package/dist/esm-es5/pds-sortable.entry.js.map +1 -1
  283. package/dist/esm-es5/pds-switch.entry.js +1 -1
  284. package/dist/esm-es5/pds-switch.entry.js.map +1 -1
  285. package/dist/esm-es5/pds-table-cell.entry.js +1 -1
  286. package/dist/esm-es5/pds-table-head-cell.entry.js +1 -1
  287. package/dist/esm-es5/pds-text.entry.js +1 -1
  288. package/dist/esm-es5/pds-textarea.entry.js +1 -1
  289. package/dist/esm-es5/pds-textarea.entry.js.map +1 -1
  290. package/dist/esm-es5/pds-toast.entry.js +1 -1
  291. package/dist/esm-es5/pds-toast.entry.js.map +1 -1
  292. package/dist/esm-es5/pds-tooltip.entry.js +1 -1
  293. package/dist/esm-es5/pine-core.js +1 -1
  294. package/dist/esm-es5/{truncation-tooltip-CTHpMbU3.js → truncation-tooltip-Blk4GigP.js} +2 -2
  295. package/dist/{esm/truncation-tooltip-CTHpMbU3.js.map → esm-es5/truncation-tooltip-Blk4GigP.js.map} +1 -1
  296. package/dist/pine-core/p--XSKe449.system.js.map +1 -0
  297. package/dist/pine-core/p-06921b1a.system.entry.js +2 -0
  298. package/dist/pine-core/p-06921b1a.system.entry.js.map +1 -0
  299. package/dist/pine-core/{p-5f63b999.entry.js → p-0e35b09a.entry.js} +2 -2
  300. package/dist/pine-core/{p-b2a7c2bf.entry.js → p-0f376270.entry.js} +2 -2
  301. package/dist/pine-core/p-10e0be55.entry.js +2 -0
  302. package/dist/pine-core/{p-9f09e116.system.entry.js → p-137517ea.system.entry.js} +2 -2
  303. package/dist/pine-core/{p-203f6e9e.entry.js → p-14ca4f31.entry.js} +2 -2
  304. package/dist/pine-core/p-1fa303af.entry.js +2 -0
  305. package/dist/pine-core/p-213d0f72.system.entry.js +2 -0
  306. package/dist/pine-core/p-213d0f72.system.entry.js.map +1 -0
  307. package/dist/pine-core/p-23450d7a.system.entry.js +2 -0
  308. package/dist/pine-core/p-23450d7a.system.entry.js.map +1 -0
  309. package/dist/pine-core/{p-b6ede995.system.entry.js → p-2483b797.system.entry.js} +2 -2
  310. package/dist/pine-core/p-29a8ef8a.entry.js +2 -0
  311. package/dist/pine-core/p-29a8ef8a.entry.js.map +1 -0
  312. package/dist/pine-core/{p-f179c88f.system.entry.js → p-2f0eb2b5.system.entry.js} +2 -2
  313. package/dist/pine-core/{p-68f97bdf.entry.js → p-2f6f60d9.entry.js} +2 -2
  314. package/dist/pine-core/p-3a527283.entry.js +8 -0
  315. package/dist/pine-core/p-3a527283.entry.js.map +1 -0
  316. package/dist/pine-core/{p-73be1c83.entry.js → p-3b342c35.entry.js} +2 -2
  317. package/dist/pine-core/{p-9ba4acdf.system.entry.js → p-3f0a6a75.system.entry.js} +2 -2
  318. package/dist/pine-core/{p-51d2999d.entry.js → p-426e90cb.entry.js} +2 -2
  319. package/dist/pine-core/{p-119ccf73.entry.js → p-426f5f57.entry.js} +2 -2
  320. package/dist/pine-core/p-4591a359.system.entry.js +9 -0
  321. package/dist/pine-core/p-4591a359.system.entry.js.map +1 -0
  322. package/dist/pine-core/{p-7737e4e8.system.entry.js → p-4d2e9e8d.system.entry.js} +2 -2
  323. package/dist/pine-core/p-4f6487b9.system.entry.js +2 -0
  324. package/dist/pine-core/p-4f6487b9.system.entry.js.map +1 -0
  325. package/dist/pine-core/{p-DKT0sVlZ.system.js.map → p-5L_gsODn.system.js.map} +1 -1
  326. package/dist/pine-core/p-66644048.entry.js +2 -0
  327. package/dist/pine-core/{p-b8f21554.system.entry.js → p-6b456e02.system.entry.js} +2 -2
  328. package/dist/pine-core/{p-d0504aa8.system.entry.js → p-6be19a23.system.entry.js} +2 -2
  329. package/dist/pine-core/{p-d8d796ad.system.entry.js → p-6dcd7876.system.entry.js} +2 -2
  330. package/dist/pine-core/{p-8a53ae6d.system.entry.js → p-712e0d82.system.entry.js} +2 -2
  331. package/dist/pine-core/p-72a27cb7.system.entry.js +2 -0
  332. package/dist/pine-core/p-72a27cb7.system.entry.js.map +1 -0
  333. package/dist/pine-core/{p-3fc8dbc9.system.entry.js → p-75a53dce.system.entry.js} +2 -2
  334. package/dist/pine-core/{p-2f663747.system.entry.js → p-7dfb5b1f.system.entry.js} +2 -2
  335. package/dist/pine-core/{p-e9eb3fc3.system.entry.js → p-811e510d.system.entry.js} +2 -2
  336. package/dist/pine-core/{p-7fc20a77.system.entry.js → p-84b696ce.system.entry.js} +2 -2
  337. package/dist/pine-core/p-8501bb6b.entry.js +2 -0
  338. package/dist/pine-core/p-8501bb6b.entry.js.map +1 -0
  339. package/dist/pine-core/p-8c000d7c.entry.js +2 -0
  340. package/dist/pine-core/{p-ccdee55a.entry.js → p-8c0fc8ff.entry.js} +2 -2
  341. package/dist/pine-core/p-8f48fa0b.system.entry.js +2 -0
  342. package/dist/pine-core/p-8f48fa0b.system.entry.js.map +1 -0
  343. package/dist/pine-core/{p-18a3b6ba.system.entry.js → p-92df334f.system.entry.js} +2 -2
  344. package/dist/pine-core/{p-1b0dc99e.system.entry.js → p-93eeca70.system.entry.js} +2 -2
  345. package/dist/pine-core/p-98e202b8.system.entry.js +2 -0
  346. package/dist/pine-core/{p-445c5ec5.system.entry.js → p-9947c6cd.system.entry.js} +2 -2
  347. package/dist/pine-core/{p-1d82417a.entry.js → p-9d2e89e5.entry.js} +2 -2
  348. package/dist/pine-core/{p-cbf49268.entry.js → p-9ea92b46.entry.js} +2 -2
  349. package/dist/pine-core/p-9f0f1389.entry.js +2 -0
  350. package/dist/pine-core/{p-bf712423.entry.js.map → p-9f0f1389.entry.js.map} +1 -1
  351. package/dist/pine-core/{p-Bch44a-T.system.js → p-B1u-QvFn.system.js} +2 -2
  352. package/dist/pine-core/p-B1u-QvFn.system.js.map +1 -0
  353. package/dist/pine-core/{p-BASnRvhy.system.js.map → p-B8OHXU49.system.js.map} +1 -1
  354. package/dist/pine-core/{p-5hPM5knE.js → p-BNSGedhN.js} +2 -2
  355. package/dist/pine-core/{p-5hPM5knE.js.map → p-BNSGedhN.js.map} +1 -1
  356. package/dist/pine-core/p-B_IKQKhn.system.js.map +1 -0
  357. package/dist/pine-core/{p-CSe1fQxQ.system.js.map → p-Bb4REZL1.system.js.map} +1 -1
  358. package/dist/pine-core/p-BfOM0dtX.system.js.map +1 -0
  359. package/dist/pine-core/{p-C1p8XJSR.system.js.map → p-BgNsCT1R.system.js.map} +1 -1
  360. package/dist/pine-core/p-Bng_-RSY.system.js.map +1 -0
  361. package/dist/pine-core/{p-dPhHNR2G.system.js.map → p-Bp9jwGLH.system.js.map} +1 -1
  362. package/dist/pine-core/{p-B9rVdQdy.system.js.map → p-BqPhyc8k.system.js.map} +1 -1
  363. package/dist/pine-core/p-BrLs99ML.system.js +2 -0
  364. package/dist/pine-core/p-BrLs99ML.system.js.map +1 -0
  365. package/dist/pine-core/p-C3xDZBme.js +2 -0
  366. package/dist/pine-core/p-C3xDZBme.js.map +1 -0
  367. package/dist/pine-core/{p-CFL53vBy.system.js → p-C62JIZmE.system.js} +1 -1
  368. package/dist/pine-core/p-C62JIZmE.system.js.map +1 -0
  369. package/dist/pine-core/{p-DQCerqxZ.system.js.map → p-C6TsH_RJ.system.js.map} +1 -1
  370. package/dist/pine-core/p-C9msrPdv.system.js.map +1 -0
  371. package/dist/pine-core/{p-BR9M75xt.system.js.map → p-CI7DD4Gj.system.js.map} +1 -1
  372. package/dist/pine-core/{p-DXVwADJT.system.js → p-CRCxGYgw.system.js} +2 -2
  373. package/dist/pine-core/{p-DXVwADJT.system.js.map → p-CRCxGYgw.system.js.map} +1 -1
  374. package/dist/pine-core/p-CXhVuzyx.system.js.map +1 -0
  375. package/dist/pine-core/{p-9SGoKSa6.system.js.map → p-CYFz3obB.system.js.map} +1 -1
  376. package/dist/pine-core/{p-BeJr-4oL.system.js.map → p-CZnOhE0g.system.js.map} +1 -1
  377. package/dist/pine-core/p-CdMCGjQj.system.js.map +1 -0
  378. package/dist/pine-core/{p-sgZDP7ET.system.js.map → p-CijIWK3K.system.js.map} +1 -1
  379. package/dist/pine-core/{p-DZt6ah_A.system.js.map → p-ClPf_JF1.system.js.map} +1 -1
  380. package/dist/pine-core/{p-Bsen6aos.system.js.map → p-Co9FFVKs.system.js.map} +1 -1
  381. package/dist/pine-core/{p-CfNEp0k0.system.js.map → p-Cvql9iy1.system.js.map} +1 -1
  382. package/dist/pine-core/p-CyOICl1j.system.js.map +1 -0
  383. package/dist/pine-core/{p-DmWm26A6.system.js.map → p-D0GkJmlY.system.js.map} +1 -1
  384. package/dist/pine-core/{p-Bmf4Ow_8.js → p-D4ys0pep.js} +1 -1
  385. package/dist/pine-core/p-D4ys0pep.js.map +1 -0
  386. package/dist/pine-core/p-DDtwbwIl.js +2 -0
  387. package/dist/pine-core/p-DDtwbwIl.js.map +1 -0
  388. package/dist/pine-core/p-DLZO3aKG.system.js.map +1 -0
  389. package/dist/pine-core/p-DO--6n89.system.js.map +1 -0
  390. package/dist/pine-core/p-DQJGHOVq.system.js.map +1 -0
  391. package/dist/pine-core/{p-D02u2D7r.system.js.map → p-DkNlmqjM.system.js.map} +1 -1
  392. package/dist/pine-core/p-Dl-o5ymF.system.js.map +1 -0
  393. package/dist/pine-core/p-DqfjMab8.system.js.map +1 -0
  394. package/dist/pine-core/{p-CsWO_n3t.system.js.map → p-DyrMiAYl.system.js.map} +1 -1
  395. package/dist/pine-core/{p-DzmLlvu3.system.js.map → p-FWsvMskO.system.js.map} +1 -1
  396. package/dist/pine-core/p-JAVnELnm.system.js +1 -1
  397. package/dist/pine-core/p-a11c3642.system.entry.js +2 -0
  398. package/dist/pine-core/{p-08cdf7f2.system.entry.js → p-a55bc143.system.entry.js} +2 -2
  399. package/dist/pine-core/{p-abb72971.system.entry.js → p-a85e565c.system.entry.js} +2 -2
  400. package/dist/pine-core/{p-56d0e6f4.entry.js → p-aa331370.entry.js} +2 -2
  401. package/dist/pine-core/{p-BUtyruql.system.js.map → p-abrage-l.system.js.map} +1 -1
  402. package/dist/pine-core/p-ac186cd4.system.entry.js +2 -0
  403. package/dist/pine-core/{p-edbaff73.system.entry.js → p-ae238530.system.entry.js} +2 -2
  404. package/dist/pine-core/{p-b7f2f9f3.system.entry.js → p-afad45f6.system.entry.js} +2 -2
  405. package/dist/pine-core/p-b2218fa1.entry.js +2 -0
  406. package/dist/pine-core/p-b2218fa1.entry.js.map +1 -0
  407. package/dist/pine-core/{p-36478643.system.entry.js → p-b2a5b6ae.system.entry.js} +2 -2
  408. package/dist/pine-core/p-b83f79a7.entry.js +2 -0
  409. package/dist/pine-core/p-b83f79a7.entry.js.map +1 -0
  410. package/dist/pine-core/{p-Be8OBmYb.system.js.map → p-bkQbPz-z.system.js.map} +1 -1
  411. package/dist/pine-core/{p-bf157830.entry.js → p-c38eb8e9.entry.js} +2 -2
  412. package/dist/pine-core/p-ca9da7ea.system.entry.js +2 -0
  413. package/dist/pine-core/p-ca9da7ea.system.entry.js.map +1 -0
  414. package/dist/pine-core/{p-5e83f6e3.system.entry.js → p-cb668b61.system.entry.js} +2 -2
  415. package/dist/pine-core/{p-39cb879d.entry.js → p-ccf46b90.entry.js} +2 -2
  416. package/dist/pine-core/p-cdd8175e.entry.js +2 -0
  417. package/dist/pine-core/p-cdd8175e.entry.js.map +1 -0
  418. package/dist/pine-core/{p-867ef2f1.entry.js → p-ceca2cb1.entry.js} +2 -2
  419. package/dist/pine-core/{p-9558fa60.entry.js → p-d045b245.entry.js} +2 -2
  420. package/dist/pine-core/{p-ea721a45.entry.js → p-d0eebd6d.entry.js} +2 -2
  421. package/dist/pine-core/{p-599a5903.system.entry.js → p-d1313dd6.system.entry.js} +2 -2
  422. package/dist/pine-core/p-d3e64f4e.system.entry.js +4 -0
  423. package/dist/pine-core/p-d3e64f4e.system.entry.js.map +1 -0
  424. package/dist/pine-core/{p-3e2fc38f.entry.js → p-d4844049.entry.js} +2 -2
  425. package/dist/pine-core/p-d8698ac5.entry.js +3 -0
  426. package/dist/pine-core/p-d8698ac5.entry.js.map +1 -0
  427. package/dist/pine-core/p-e0f21c22.entry.js +2 -0
  428. package/dist/pine-core/{p-9b2cd9fc.entry.js → p-e463b9d3.entry.js} +2 -2
  429. package/dist/pine-core/{p-5107c129.entry.js → p-e73b5859.entry.js} +2 -2
  430. package/dist/pine-core/{p-De6wHGVf.system.js.map → p-eUcBQ_fh.system.js.map} +1 -1
  431. package/dist/pine-core/p-ed447b3e.entry.js +2 -0
  432. package/dist/pine-core/p-ed447b3e.entry.js.map +1 -0
  433. package/dist/pine-core/p-f42e65fd.system.entry.js +2 -0
  434. package/dist/pine-core/{p-46d61c98.system.entry.js.map → p-f42e65fd.system.entry.js.map} +1 -1
  435. package/dist/pine-core/{p-9c0e22d4.entry.js → p-f74bd712.entry.js} +2 -2
  436. package/dist/pine-core/p-f84b6b5a.entry.js +2 -0
  437. package/dist/pine-core/p-f84b6b5a.entry.js.map +1 -0
  438. package/dist/pine-core/p-fa21e054.system.entry.js +2 -0
  439. package/dist/pine-core/{p-64c6c4a0.entry.js → p-fa51ae5d.entry.js} +2 -2
  440. package/dist/pine-core/p-fc830d8b.entry.js +2 -0
  441. package/dist/pine-core/{p-7c1b1fb8.entry.js.map → p-fc830d8b.entry.js.map} +1 -1
  442. package/dist/pine-core/{p-CEE11B7K.system.js.map → p-k9PMan7S.system.js.map} +1 -1
  443. package/dist/pine-core/p-kR80YJVM.system.js.map +1 -0
  444. package/dist/pine-core/p-uIsnJ30J.system.js.map +1 -0
  445. package/dist/pine-core/pds-alert.entry.esm.js.map +1 -1
  446. package/dist/pine-core/pds-avatar.entry.esm.js.map +1 -1
  447. package/dist/pine-core/pds-checkbox.entry.esm.js.map +1 -1
  448. package/dist/pine-core/pds-chip.entry.esm.js.map +1 -1
  449. package/dist/pine-core/pds-combobox.entry.esm.js.map +1 -1
  450. package/dist/pine-core/pds-container.entry.esm.js.map +1 -0
  451. package/dist/pine-core/pds-dropdown-menu-item.entry.esm.js.map +1 -1
  452. package/dist/pine-core/pds-input.entry.esm.js.map +1 -1
  453. package/dist/pine-core/pds-multiselect.entry.esm.js.map +1 -1
  454. package/dist/pine-core/pds-select.entry.esm.js.map +1 -1
  455. package/dist/pine-core/pds-sortable-item.entry.esm.js.map +1 -1
  456. package/dist/pine-core/pds-sortable.entry.esm.js.map +1 -1
  457. package/dist/pine-core/pds-switch.entry.esm.js.map +1 -1
  458. package/dist/pine-core/pds-textarea.entry.esm.js.map +1 -1
  459. package/dist/pine-core/pds-toast.entry.esm.js.map +1 -1
  460. package/dist/pine-core/pine-core.esm.js +1 -1
  461. package/dist/types/components/pds-alert/pds-alert.d.ts +1 -0
  462. package/dist/types/components/pds-avatar/pds-avatar.d.ts +2 -0
  463. package/dist/types/components/pds-chip/pds-chip.d.ts +1 -0
  464. package/dist/types/components/pds-combobox/pds-combobox.d.ts +9 -1
  465. package/dist/types/components/pds-container/pds-container.d.ts +22 -0
  466. package/dist/types/components/pds-dropdown-menu/pds-dropdown-menu-item/pds-dropdown-menu-item.d.ts +3 -0
  467. package/dist/types/components/pds-multiselect/multiselect-interface.d.ts +8 -0
  468. package/dist/types/components/pds-multiselect/pds-multiselect.d.ts +31 -0
  469. package/dist/types/components/pds-sortable/pds-sortable.d.ts +8 -1
  470. package/dist/types/components/pds-sortable/sortable-interface.d.ts +1 -0
  471. package/dist/types/components/pds-toast/pds-toast.d.ts +3 -0
  472. package/dist/types/components.d.ts +97 -6
  473. package/dist/types/utils/form.d.ts +10 -0
  474. package/dist/vscode.html-data.json +10529 -0
  475. package/hydrate/index.js +596 -349
  476. package/hydrate/index.mjs +596 -349
  477. package/package.json +2 -2
  478. package/dist/cjs/floating-ui.dom-Ca6tS7ef.js.map +0 -1
  479. package/dist/cjs/form-DUqlzovE.js.map +0 -1
  480. package/dist/cjs/index-D8mNsvM8.js.map +0 -1
  481. package/dist/esm/floating-ui.dom-BO6p966C.js.map +0 -1
  482. package/dist/esm/form-CN-lL5QG.js.map +0 -1
  483. package/dist/esm/index-Bmf4Ow_8.js.map +0 -1
  484. package/dist/esm-es5/floating-ui.dom-BO6p966C.js +0 -2
  485. package/dist/esm-es5/floating-ui.dom-BO6p966C.js.map +0 -1
  486. package/dist/esm-es5/form-CN-lL5QG.js.map +0 -1
  487. package/dist/esm-es5/index-Bmf4Ow_8.js.map +0 -1
  488. package/dist/pine-core/p-0b3d6527.entry.js +0 -2
  489. package/dist/pine-core/p-0b3d6527.entry.js.map +0 -1
  490. package/dist/pine-core/p-221b4348.entry.js +0 -2
  491. package/dist/pine-core/p-221b4348.entry.js.map +0 -1
  492. package/dist/pine-core/p-25255ab8.system.entry.js +0 -4
  493. package/dist/pine-core/p-25255ab8.system.entry.js.map +0 -1
  494. package/dist/pine-core/p-2a7b94ba.system.entry.js +0 -2
  495. package/dist/pine-core/p-2a7b94ba.system.entry.js.map +0 -1
  496. package/dist/pine-core/p-31bfac45.entry.js +0 -2
  497. package/dist/pine-core/p-3239c67a.entry.js +0 -2
  498. package/dist/pine-core/p-396d4b63.entry.js +0 -8
  499. package/dist/pine-core/p-396d4b63.entry.js.map +0 -1
  500. package/dist/pine-core/p-3fd70f83.entry.js +0 -2
  501. package/dist/pine-core/p-3fd70f83.entry.js.map +0 -1
  502. package/dist/pine-core/p-44035cf4.entry.js +0 -3
  503. package/dist/pine-core/p-44035cf4.entry.js.map +0 -1
  504. package/dist/pine-core/p-46d61c98.system.entry.js +0 -2
  505. package/dist/pine-core/p-4c0e71ce.entry.js +0 -2
  506. package/dist/pine-core/p-4c0e71ce.entry.js.map +0 -1
  507. package/dist/pine-core/p-4c82bff5.entry.js +0 -2
  508. package/dist/pine-core/p-79f0b007.entry.js +0 -2
  509. package/dist/pine-core/p-79f0b007.entry.js.map +0 -1
  510. package/dist/pine-core/p-7c1b1fb8.entry.js +0 -2
  511. package/dist/pine-core/p-7da176b4.system.entry.js +0 -9
  512. package/dist/pine-core/p-7da176b4.system.entry.js.map +0 -1
  513. package/dist/pine-core/p-8a31ccd4.entry.js +0 -2
  514. package/dist/pine-core/p-8a31ccd4.entry.js.map +0 -1
  515. package/dist/pine-core/p-91781a0a.system.entry.js +0 -2
  516. package/dist/pine-core/p-91781a0a.system.entry.js.map +0 -1
  517. package/dist/pine-core/p-94a9ff2a.system.entry.js +0 -2
  518. package/dist/pine-core/p-BB9Md7vT.system.js.map +0 -1
  519. package/dist/pine-core/p-BGc1L0Ao.system.js.map +0 -1
  520. package/dist/pine-core/p-BO6p966C.js +0 -2
  521. package/dist/pine-core/p-BO6p966C.js.map +0 -1
  522. package/dist/pine-core/p-Bch44a-T.system.js.map +0 -1
  523. package/dist/pine-core/p-Bmf4Ow_8.js.map +0 -1
  524. package/dist/pine-core/p-BohZ8Mvm.system.js.map +0 -1
  525. package/dist/pine-core/p-CEll-OBZ.system.js.map +0 -1
  526. package/dist/pine-core/p-CFL53vBy.system.js.map +0 -1
  527. package/dist/pine-core/p-CFqOsbKv.system.js.map +0 -1
  528. package/dist/pine-core/p-CH2XYz0c.system.js.map +0 -1
  529. package/dist/pine-core/p-CN-lL5QG.js +0 -2
  530. package/dist/pine-core/p-CN-lL5QG.js.map +0 -1
  531. package/dist/pine-core/p-CTDKHxjD.system.js.map +0 -1
  532. package/dist/pine-core/p-D-iLwshJ.system.js.map +0 -1
  533. package/dist/pine-core/p-D2eS6fhD.system.js +0 -2
  534. package/dist/pine-core/p-D2eS6fhD.system.js.map +0 -1
  535. package/dist/pine-core/p-D497NWkn.system.js.map +0 -1
  536. package/dist/pine-core/p-DHNujrRT.system.js.map +0 -1
  537. package/dist/pine-core/p-DcrqbXJe.system.js.map +0 -1
  538. package/dist/pine-core/p-DdR8iWme.system.js.map +0 -1
  539. package/dist/pine-core/p-DqO0Rc5m.system.js.map +0 -1
  540. package/dist/pine-core/p-a553b40b.system.entry.js +0 -2
  541. package/dist/pine-core/p-a553b40b.system.entry.js.map +0 -1
  542. package/dist/pine-core/p-af5bf21d.entry.js +0 -2
  543. package/dist/pine-core/p-bPSIyJOo.system.js.map +0 -1
  544. package/dist/pine-core/p-ba195382.system.entry.js +0 -2
  545. package/dist/pine-core/p-bd2329cd.entry.js +0 -2
  546. package/dist/pine-core/p-bf712423.entry.js +0 -2
  547. package/dist/pine-core/p-d6139188.system.entry.js +0 -2
  548. package/dist/pine-core/p-ed5ca877.system.entry.js +0 -2
  549. package/dist/pine-core/p-ef7d0535.system.entry.js +0 -2
  550. package/dist/pine-core/p-ef7d0535.system.entry.js.map +0 -1
  551. package/dist/pine-core/p-f298baeb.system.entry.js +0 -2
  552. package/dist/pine-core/p-f298baeb.system.entry.js.map +0 -1
  553. package/dist/pine-core/p-f9c32940.system.entry.js +0 -2
  554. package/dist/pine-core/p-f9c32940.system.entry.js.map +0 -1
  555. /package/dist/pine-core/{p-5f63b999.entry.js.map → p-0e35b09a.entry.js.map} +0 -0
  556. /package/dist/pine-core/{p-b2a7c2bf.entry.js.map → p-0f376270.entry.js.map} +0 -0
  557. /package/dist/pine-core/{p-31bfac45.entry.js.map → p-10e0be55.entry.js.map} +0 -0
  558. /package/dist/pine-core/{p-9f09e116.system.entry.js.map → p-137517ea.system.entry.js.map} +0 -0
  559. /package/dist/pine-core/{p-203f6e9e.entry.js.map → p-14ca4f31.entry.js.map} +0 -0
  560. /package/dist/pine-core/{p-4c82bff5.entry.js.map → p-1fa303af.entry.js.map} +0 -0
  561. /package/dist/pine-core/{p-b6ede995.system.entry.js.map → p-2483b797.system.entry.js.map} +0 -0
  562. /package/dist/pine-core/{p-f179c88f.system.entry.js.map → p-2f0eb2b5.system.entry.js.map} +0 -0
  563. /package/dist/pine-core/{p-68f97bdf.entry.js.map → p-2f6f60d9.entry.js.map} +0 -0
  564. /package/dist/pine-core/{p-73be1c83.entry.js.map → p-3b342c35.entry.js.map} +0 -0
  565. /package/dist/pine-core/{p-9ba4acdf.system.entry.js.map → p-3f0a6a75.system.entry.js.map} +0 -0
  566. /package/dist/pine-core/{p-51d2999d.entry.js.map → p-426e90cb.entry.js.map} +0 -0
  567. /package/dist/pine-core/{p-119ccf73.entry.js.map → p-426f5f57.entry.js.map} +0 -0
  568. /package/dist/pine-core/{p-7737e4e8.system.entry.js.map → p-4d2e9e8d.system.entry.js.map} +0 -0
  569. /package/dist/pine-core/{p-3239c67a.entry.js.map → p-66644048.entry.js.map} +0 -0
  570. /package/dist/pine-core/{p-b8f21554.system.entry.js.map → p-6b456e02.system.entry.js.map} +0 -0
  571. /package/dist/pine-core/{p-d0504aa8.system.entry.js.map → p-6be19a23.system.entry.js.map} +0 -0
  572. /package/dist/pine-core/{p-d8d796ad.system.entry.js.map → p-6dcd7876.system.entry.js.map} +0 -0
  573. /package/dist/pine-core/{p-8a53ae6d.system.entry.js.map → p-712e0d82.system.entry.js.map} +0 -0
  574. /package/dist/pine-core/{p-3fc8dbc9.system.entry.js.map → p-75a53dce.system.entry.js.map} +0 -0
  575. /package/dist/pine-core/{p-2f663747.system.entry.js.map → p-7dfb5b1f.system.entry.js.map} +0 -0
  576. /package/dist/pine-core/{p-e9eb3fc3.system.entry.js.map → p-811e510d.system.entry.js.map} +0 -0
  577. /package/dist/pine-core/{p-7fc20a77.system.entry.js.map → p-84b696ce.system.entry.js.map} +0 -0
  578. /package/dist/pine-core/{p-bd2329cd.entry.js.map → p-8c000d7c.entry.js.map} +0 -0
  579. /package/dist/pine-core/{p-ccdee55a.entry.js.map → p-8c0fc8ff.entry.js.map} +0 -0
  580. /package/dist/pine-core/{p-18a3b6ba.system.entry.js.map → p-92df334f.system.entry.js.map} +0 -0
  581. /package/dist/pine-core/{p-1b0dc99e.system.entry.js.map → p-93eeca70.system.entry.js.map} +0 -0
  582. /package/dist/pine-core/{p-ed5ca877.system.entry.js.map → p-98e202b8.system.entry.js.map} +0 -0
  583. /package/dist/pine-core/{p-445c5ec5.system.entry.js.map → p-9947c6cd.system.entry.js.map} +0 -0
  584. /package/dist/pine-core/{p-1d82417a.entry.js.map → p-9d2e89e5.entry.js.map} +0 -0
  585. /package/dist/pine-core/{p-cbf49268.entry.js.map → p-9ea92b46.entry.js.map} +0 -0
  586. /package/dist/pine-core/{p-94a9ff2a.system.entry.js.map → p-a11c3642.system.entry.js.map} +0 -0
  587. /package/dist/pine-core/{p-08cdf7f2.system.entry.js.map → p-a55bc143.system.entry.js.map} +0 -0
  588. /package/dist/pine-core/{p-abb72971.system.entry.js.map → p-a85e565c.system.entry.js.map} +0 -0
  589. /package/dist/pine-core/{p-56d0e6f4.entry.js.map → p-aa331370.entry.js.map} +0 -0
  590. /package/dist/pine-core/{p-ba195382.system.entry.js.map → p-ac186cd4.system.entry.js.map} +0 -0
  591. /package/dist/pine-core/{p-edbaff73.system.entry.js.map → p-ae238530.system.entry.js.map} +0 -0
  592. /package/dist/pine-core/{p-b7f2f9f3.system.entry.js.map → p-afad45f6.system.entry.js.map} +0 -0
  593. /package/dist/pine-core/{p-36478643.system.entry.js.map → p-b2a5b6ae.system.entry.js.map} +0 -0
  594. /package/dist/pine-core/{p-bf157830.entry.js.map → p-c38eb8e9.entry.js.map} +0 -0
  595. /package/dist/pine-core/{p-5e83f6e3.system.entry.js.map → p-cb668b61.system.entry.js.map} +0 -0
  596. /package/dist/pine-core/{p-39cb879d.entry.js.map → p-ccf46b90.entry.js.map} +0 -0
  597. /package/dist/pine-core/{p-867ef2f1.entry.js.map → p-ceca2cb1.entry.js.map} +0 -0
  598. /package/dist/pine-core/{p-9558fa60.entry.js.map → p-d045b245.entry.js.map} +0 -0
  599. /package/dist/pine-core/{p-ea721a45.entry.js.map → p-d0eebd6d.entry.js.map} +0 -0
  600. /package/dist/pine-core/{p-599a5903.system.entry.js.map → p-d1313dd6.system.entry.js.map} +0 -0
  601. /package/dist/pine-core/{p-3e2fc38f.entry.js.map → p-d4844049.entry.js.map} +0 -0
  602. /package/dist/pine-core/{p-af5bf21d.entry.js.map → p-e0f21c22.entry.js.map} +0 -0
  603. /package/dist/pine-core/{p-9b2cd9fc.entry.js.map → p-e463b9d3.entry.js.map} +0 -0
  604. /package/dist/pine-core/{p-5107c129.entry.js.map → p-e73b5859.entry.js.map} +0 -0
  605. /package/dist/pine-core/{p-9c0e22d4.entry.js.map → p-f74bd712.entry.js.map} +0 -0
  606. /package/dist/pine-core/{p-d6139188.system.entry.js.map → p-fa21e054.system.entry.js.map} +0 -0
  607. /package/dist/pine-core/{p-64c6c4a0.entry.js.map → p-fa51ae5d.entry.js.map} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"p-Bsen6aos.system.js","sources":["src/components/pds-modal/pds-modal.scss?tag=pds-modal","src/components/pds-modal/pds-modal.tsx"],"sourcesContent":[".pds-modal__backdrop {\n align-items: flex-start;\n /* stylelint-disable-next-line pine-design-system/no-hardcoded-colors */\n background-color: rgba(0, 0, 0, 0.4);\n border: 0;\n display: flex;\n height: 100%;\n inset: 0;\n justify-content: center;\n margin: 0;\n max-height: 100%;\n max-width: 100%;\n opacity: 0;\n padding: 0;\n position: fixed;\n transition: opacity 0.2s ease, visibility 0.2s ease;\n visibility: hidden;\n width: 100%;\n z-index: var(--pine-z-index-modal);\n\n @supports (backdrop-filter: blur(3px)) {\n backdrop-filter: blur(3px);\n }\n\n // Increase z-index for nested modals\n pds-modal & {\n z-index: var(--pine-z-index-priority);\n }\n\n &::backdrop {\n background: transparent;\n }\n\n &.open {\n opacity: 1;\n visibility: visible;\n }\n}\n\n.pds-modal {\n background: var(--pine-color-background-container);\n border-radius: var(--pine-dimension-sm);\n box-shadow: var(--pine-box-shadow-400);\n display: flex;\n flex-direction: column;\n margin: var(--pine-dimension-md);\n max-height: none;\n width: 100%;\n\n &.pds-modal--scrollable {\n max-height: calc(100vh - (calc(5vh + 96px)));\n\n @supports (height: 100dvh) {\n max-height: calc(100dvh - (calc(5dvh + 96px)));\n }\n }\n\n @media (min-width: 992px) {\n margin-block-start: 6vh;\n\n @supports (height: 100dvh) {\n margin-block-start: 6dvh;\n }\n }\n\n @media (min-width: 1200px) {\n margin-block-start: 8vh;\n\n @supports (height: 100dvh) {\n margin-block-start: 8dvh;\n }\n }\n}\n\n.pds-modal--sm {\n max-width: 520px;\n}\n\n.pds-modal--md {\n max-width: 700px;\n}\n\n.pds-modal--lg {\n max-width: 900px;\n}\n\n.pds-modal--fullscreen {\n border-radius: 0;\n height: 100%;\n margin: 0;\n max-height: 100vh;\n max-width: 100%;\n\n @supports (height: 100dvh) {\n max-height: 100dvh;\n }\n\n &.pds-modal--scrollable {\n max-height: 100vh;\n\n @supports (height: 100dvh) {\n max-height: 100dvh;\n }\n }\n}\n\n.pds-modal-content {\n .pds-modal--fullscreen & {\n flex: 1;\n }\n}\n\n// Scrollable modal styles (default behavior)\n.pds-modal--scrollable {\n pds-modal-content {\n border-block-end: 1px solid transparent;\n border-block-start: 1px solid transparent;\n overflow-y: auto;\n }\n}\n\n// Non-scrollable modal styles\n.pds-modal:not(.pds-modal--scrollable) {\n pds-modal-content {\n overflow-y: visible;\n }\n}\n\n","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 /**\n * Whether the modal content should be scrollable\n * @default true\n */\n @Prop() scrollable = true;\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 // Always prevent native dialog close behavior\n e.preventDefault();\n // Only close if backdropDismiss is enabled and this is the innermost modal\n if (this.backdropDismiss && this.isInnermostModal()) {\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={{\n 'pds-modal': true,\n [`pds-modal--${this.size}`]: true,\n 'pds-modal--scrollable': this.scrollable\n }}\n part=\"modal\"\n >\n <slot></slot>\n </div>\n </dialog>\n );\n }\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"p-Co9FFVKs.system.js","sources":["src/components/pds-modal/pds-modal.scss?tag=pds-modal","src/components/pds-modal/pds-modal.tsx"],"sourcesContent":[".pds-modal__backdrop {\n align-items: flex-start;\n /* stylelint-disable-next-line pine-design-system/no-hardcoded-colors */\n background-color: rgba(0, 0, 0, 0.4);\n border: 0;\n display: flex;\n height: 100%;\n inset: 0;\n justify-content: center;\n margin: 0;\n max-height: 100%;\n max-width: 100%;\n opacity: 0;\n padding: 0;\n position: fixed;\n transition: opacity 0.2s ease, visibility 0.2s ease;\n visibility: hidden;\n width: 100%;\n z-index: var(--pine-z-index-modal);\n\n @supports (backdrop-filter: blur(3px)) {\n backdrop-filter: blur(3px);\n }\n\n // Increase z-index for nested modals\n pds-modal & {\n z-index: var(--pine-z-index-priority);\n }\n\n &::backdrop {\n background: transparent;\n }\n\n &.open {\n opacity: 1;\n visibility: visible;\n }\n}\n\n.pds-modal {\n background: var(--pine-color-background-container);\n border-radius: var(--pine-dimension-sm);\n box-shadow: var(--pine-box-shadow-400);\n display: flex;\n flex-direction: column;\n margin: var(--pine-dimension-md);\n max-height: none;\n width: 100%;\n\n &.pds-modal--scrollable {\n max-height: calc(100vh - (calc(5vh + 96px)));\n\n @supports (height: 100dvh) {\n max-height: calc(100dvh - (calc(5dvh + 96px)));\n }\n }\n\n @media (min-width: 992px) {\n margin-block-start: 6vh;\n\n @supports (height: 100dvh) {\n margin-block-start: 6dvh;\n }\n }\n\n @media (min-width: 1200px) {\n margin-block-start: 8vh;\n\n @supports (height: 100dvh) {\n margin-block-start: 8dvh;\n }\n }\n}\n\n.pds-modal--sm {\n max-width: 520px;\n}\n\n.pds-modal--md {\n max-width: 700px;\n}\n\n.pds-modal--lg {\n max-width: 900px;\n}\n\n.pds-modal--fullscreen {\n border-radius: 0;\n height: 100%;\n margin: 0;\n max-height: 100vh;\n max-width: 100%;\n\n @supports (height: 100dvh) {\n max-height: 100dvh;\n }\n\n &.pds-modal--scrollable {\n max-height: 100vh;\n\n @supports (height: 100dvh) {\n max-height: 100dvh;\n }\n }\n}\n\n.pds-modal-content {\n .pds-modal--fullscreen & {\n flex: 1;\n }\n}\n\n// Scrollable modal styles (default behavior)\n.pds-modal--scrollable {\n pds-modal-content {\n border-block-end: 1px solid transparent;\n border-block-start: 1px solid transparent;\n overflow-y: auto;\n }\n}\n\n// Non-scrollable modal styles\n.pds-modal:not(.pds-modal--scrollable) {\n pds-modal-content {\n overflow-y: visible;\n }\n}\n\n","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 /**\n * Whether the modal content should be scrollable\n * @default true\n */\n @Prop() scrollable = true;\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 // Always prevent native dialog close behavior\n e.preventDefault();\n // Only close if backdropDismiss is enabled and this is the innermost modal\n if (this.backdropDismiss && this.isInnermostModal()) {\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={{\n 'pds-modal': true,\n [`pds-modal--${this.size}`]: true,\n 'pds-modal--scrollable': this.scrollable\n }}\n part=\"modal\"\n >\n <slot></slot>\n </div>\n </dialog>\n );\n }\n}\n"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"p-CfNEp0k0.system.js","sources":["src/components/pds-copytext/pds-copytext.scss?tag=pds-copytext&encapsulation=shadow","src/components/pds-copytext/pds-copytext.tsx"],"sourcesContent":[":host(.pds-copytext) {\n // Update custom prop usage in Button before changing\n --copytext-color-background-hover: var(--pine-color-background-inset);\n\n\n pds-button {\n align-items: center;\n border-radius: var(--pine-border-radius-full);\n border-width: var(--pine-dimension-none);\n display: inline-flex;\n font-family: var(--pine-font-family-heading);\n font-size: var(--pine-font-size-body-md);\n font-weight: var(--pine-font-weight-body-medium);\n letter-spacing: var(--pine-letter-spacing);\n line-height: var(--pine-line-height-body);\n max-width: 100%;\n\n &::part(button) {\n padding-block: var(--pine-dimension-2xs);\n padding-inline: var(--pine-dimension-xs);\n }\n\n &::part(button):hover {\n // Update custom prop usage in Button before changing\n background-color: var(--copytext-color-background-hover);\n color: var(--pine-color-text-secondary-hover);\n }\n\n span {\n font-weight: var(--pine-font-weight-medium);\n margin-inline-end: var(--pine-dimension-xs);\n white-space: nowrap;\n }\n\n :nth-child(2) {\n flex-shrink: 0;\n }\n }\n\n // bordered\n\n &:host(.pds-copytext--bordered) {\n border-width: var(--pine-dimension-none);\n padding: var(--pine-dimension-none);\n\n pds-button {\n padding: var(--pine-dimension-none);\n\n &::part(button) {\n padding: var(--pine-dimension-none);\n }\n\n &::part(button):hover {\n background-color: transparent;\n }\n }\n\n span {\n background: var(--pine-color-secondary);\n border: var(--pine-border);\n border-radius: var(--pine-border-radius-full);\n margin-inline-end: var(--pine-dimension-sm);\n padding-block: var(--pine-dimension-xs);\n padding-inline: var(--pine-dimension-sm);\n }\n\n :hover {\n span {\n border: var(--pine-border-hover);\n }\n }\n }\n\n // full width and truncated\n &:host(.pds-copytext--full-width),\n &:host(.pds-copytext--truncated) {\n pds-button {\n display: inline-flex;\n min-width: auto;\n width: 100%;\n\n &::part(button-content),\n &::part(button-text) {\n flex-shrink: 1;\n width: 100%;\n }\n\n span {\n text-align: start;\n width: 100%;\n }\n }\n }\n\n // full width\n &:host(.pds-copytext--full-width) {\n pds-button {\n justify-content: space-between;\n }\n }\n\n // truncated\n &:host(.pds-copytext--truncated) {\n pds-button span {\n overflow: hidden;\n text-overflow: ellipsis;\n }\n }\n}\n","import { Component, Element, Event, EventEmitter, Host, h, Prop, Watch } from '@stencil/core';\n\nimport { copy as copyIcon } from '@pine-ds/icons/icons';\nimport { setupTruncationTooltip } from '../../utils/truncation-tooltip';\n\n@Component({\n tag: 'pds-copytext',\n styleUrls: ['pds-copytext.scss'],\n shadow: true,\n})\nexport class PdsCopytext {\n @Element() el: HTMLPdsCopytextElement;\n private truncationCleanup: (() => void) | null = null;\n private valueSpanEl: HTMLSpanElement;\n\n /**\n * Determines whether `copytext` should have a visible border.\n * @defaultValue true\n */\n @Prop({ reflect: true }) border = true;\n\n /**\n * A unique identifier used for the underlying component `id` attribute.\n */\n @Prop() componentId: string;\n\n /**\n * Determines whether `copytext` should expand to the full width of its container.\n * @defaultValue false\n */\n @Prop() fullWidth = false;\n\n /**\n * Determines whether the `value` should truncate and display with an ellipsis.\n * When text overflows, a tooltip showing the full value will appear on hover/focus.\n * @defaultValue false\n */\n @Prop() truncate = false;\n\n /**\n * The string displayed that is also copied to the clipboard upon interaction.\n */\n @Prop() value!: string;\n\n @Watch('truncate')\n handleTruncateChange(newValue: boolean) {\n if (newValue) {\n this.initTruncationTooltip();\n } else {\n this.destroyTruncationTooltip();\n }\n }\n\n @Watch('value')\n handleValueChange() {\n if (this.truncate) {\n this.initTruncationTooltip();\n }\n }\n\n componentDidLoad() {\n if (this.truncate) {\n this.initTruncationTooltip();\n }\n }\n\n disconnectedCallback() {\n this.destroyTruncationTooltip();\n }\n\n private initTruncationTooltip() {\n this.destroyTruncationTooltip();\n\n if (this.valueSpanEl) {\n this.truncationCleanup = setupTruncationTooltip({\n hostEl: this.el,\n contentEl: this.valueSpanEl,\n getTooltipText: () => this.value || '',\n });\n }\n }\n\n private destroyTruncationTooltip() {\n if (this.truncationCleanup) {\n this.truncationCleanup();\n this.truncationCleanup = null;\n }\n }\n\n /**\n * Event fired when copyText button is clicked.\n */\n @Event() pdsCopyTextClick: EventEmitter<string>;\n\n private copyToClipboard = async (value: string) => {\n try {\n if (typeof navigator.clipboard !== 'undefined') {\n await navigator.clipboard.writeText(value);\n this.pdsCopyTextClick.emit('Copied to clipboard');\n }\n } catch (err) {\n this.pdsCopyTextClick.emit(`Error writing text to clipboard: ${err}`);\n }\n };\n\n private handleClick = () => {\n this.copyToClipboard(this.value);\n };\n\n private classNames() {\n const classNames = ['pds-copytext'];\n\n if (this.border) {\n classNames.push('pds-copytext--bordered');\n }\n\n if (this.fullWidth) {\n classNames.push('pds-copytext--full-width');\n }\n\n if (this.truncate) {\n classNames.push('pds-copytext--truncated');\n }\n\n return classNames.join(' ');\n }\n\n render() {\n return (\n <Host class={this.classNames()} id={this.componentId}>\n <pds-button type=\"button\" variant=\"unstyled\" onClick={this.handleClick}>\n <span ref={(el) => this.valueSpanEl = el}>{this.value}</span>\n <pds-icon icon={copyIcon} size=\"16px\"></pds-icon>\n </pds-button>\n </Host>\n );\n }\n}\n"],"names":["copyIcon"],"mappings":"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"}
1
+ {"version":3,"file":"p-Cvql9iy1.system.js","sources":["src/components/pds-copytext/pds-copytext.scss?tag=pds-copytext&encapsulation=shadow","src/components/pds-copytext/pds-copytext.tsx"],"sourcesContent":[":host(.pds-copytext) {\n // Update custom prop usage in Button before changing\n --copytext-color-background-hover: var(--pine-color-background-inset);\n\n\n pds-button {\n align-items: center;\n border-radius: var(--pine-border-radius-full);\n border-width: var(--pine-dimension-none);\n display: inline-flex;\n font-family: var(--pine-font-family-heading);\n font-size: var(--pine-font-size-body-md);\n font-weight: var(--pine-font-weight-body-medium);\n letter-spacing: var(--pine-letter-spacing);\n line-height: var(--pine-line-height-body);\n max-width: 100%;\n\n &::part(button) {\n padding-block: var(--pine-dimension-2xs);\n padding-inline: var(--pine-dimension-xs);\n }\n\n &::part(button):hover {\n // Update custom prop usage in Button before changing\n background-color: var(--copytext-color-background-hover);\n color: var(--pine-color-text-secondary-hover);\n }\n\n span {\n font-weight: var(--pine-font-weight-medium);\n margin-inline-end: var(--pine-dimension-xs);\n white-space: nowrap;\n }\n\n :nth-child(2) {\n flex-shrink: 0;\n }\n }\n\n // bordered\n\n &:host(.pds-copytext--bordered) {\n border-width: var(--pine-dimension-none);\n padding: var(--pine-dimension-none);\n\n pds-button {\n padding: var(--pine-dimension-none);\n\n &::part(button) {\n padding: var(--pine-dimension-none);\n }\n\n &::part(button):hover {\n background-color: transparent;\n }\n }\n\n span {\n background: var(--pine-color-secondary);\n border: var(--pine-border);\n border-radius: var(--pine-border-radius-full);\n margin-inline-end: var(--pine-dimension-sm);\n padding-block: var(--pine-dimension-xs);\n padding-inline: var(--pine-dimension-sm);\n }\n\n :hover {\n span {\n border: var(--pine-border-hover);\n }\n }\n }\n\n // full width and truncated\n &:host(.pds-copytext--full-width),\n &:host(.pds-copytext--truncated) {\n pds-button {\n display: inline-flex;\n min-width: auto;\n width: 100%;\n\n &::part(button-content),\n &::part(button-text) {\n flex-shrink: 1;\n width: 100%;\n }\n\n span {\n text-align: start;\n width: 100%;\n }\n }\n }\n\n // full width\n &:host(.pds-copytext--full-width) {\n pds-button {\n justify-content: space-between;\n }\n }\n\n // truncated\n &:host(.pds-copytext--truncated) {\n pds-button span {\n overflow: hidden;\n text-overflow: ellipsis;\n }\n }\n}\n","import { Component, Element, Event, EventEmitter, Host, h, Prop, Watch } from '@stencil/core';\n\nimport { copy as copyIcon } from '@pine-ds/icons/icons';\nimport { setupTruncationTooltip } from '../../utils/truncation-tooltip';\n\n@Component({\n tag: 'pds-copytext',\n styleUrls: ['pds-copytext.scss'],\n shadow: true,\n})\nexport class PdsCopytext {\n @Element() el: HTMLPdsCopytextElement;\n private truncationCleanup: (() => void) | null = null;\n private valueSpanEl: HTMLSpanElement;\n\n /**\n * Determines whether `copytext` should have a visible border.\n * @defaultValue true\n */\n @Prop({ reflect: true }) border = true;\n\n /**\n * A unique identifier used for the underlying component `id` attribute.\n */\n @Prop() componentId: string;\n\n /**\n * Determines whether `copytext` should expand to the full width of its container.\n * @defaultValue false\n */\n @Prop() fullWidth = false;\n\n /**\n * Determines whether the `value` should truncate and display with an ellipsis.\n * When text overflows, a tooltip showing the full value will appear on hover/focus.\n * @defaultValue false\n */\n @Prop() truncate = false;\n\n /**\n * The string displayed that is also copied to the clipboard upon interaction.\n */\n @Prop() value!: string;\n\n @Watch('truncate')\n handleTruncateChange(newValue: boolean) {\n if (newValue) {\n this.initTruncationTooltip();\n } else {\n this.destroyTruncationTooltip();\n }\n }\n\n @Watch('value')\n handleValueChange() {\n if (this.truncate) {\n this.initTruncationTooltip();\n }\n }\n\n componentDidLoad() {\n if (this.truncate) {\n this.initTruncationTooltip();\n }\n }\n\n disconnectedCallback() {\n this.destroyTruncationTooltip();\n }\n\n private initTruncationTooltip() {\n this.destroyTruncationTooltip();\n\n if (this.valueSpanEl) {\n this.truncationCleanup = setupTruncationTooltip({\n hostEl: this.el,\n contentEl: this.valueSpanEl,\n getTooltipText: () => this.value || '',\n });\n }\n }\n\n private destroyTruncationTooltip() {\n if (this.truncationCleanup) {\n this.truncationCleanup();\n this.truncationCleanup = null;\n }\n }\n\n /**\n * Event fired when copyText button is clicked.\n */\n @Event() pdsCopyTextClick: EventEmitter<string>;\n\n private copyToClipboard = async (value: string) => {\n try {\n if (typeof navigator.clipboard !== 'undefined') {\n await navigator.clipboard.writeText(value);\n this.pdsCopyTextClick.emit('Copied to clipboard');\n }\n } catch (err) {\n this.pdsCopyTextClick.emit(`Error writing text to clipboard: ${err}`);\n }\n };\n\n private handleClick = () => {\n this.copyToClipboard(this.value);\n };\n\n private classNames() {\n const classNames = ['pds-copytext'];\n\n if (this.border) {\n classNames.push('pds-copytext--bordered');\n }\n\n if (this.fullWidth) {\n classNames.push('pds-copytext--full-width');\n }\n\n if (this.truncate) {\n classNames.push('pds-copytext--truncated');\n }\n\n return classNames.join(' ');\n }\n\n render() {\n return (\n <Host class={this.classNames()} id={this.componentId}>\n <pds-button type=\"button\" variant=\"unstyled\" onClick={this.handleClick}>\n <span ref={(el) => this.valueSpanEl = el}>{this.value}</span>\n <pds-icon icon={copyIcon} size=\"16px\"></pds-icon>\n </pds-button>\n </Host>\n );\n }\n}\n"],"names":["copyIcon"],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"p-CyOICl1j.system.js","sources":["src/components/pds-alert/pds-alert.tokens.scss?tag=pds-alert&encapsulation=shadow","src/components/pds-alert/pds-alert.scss?tag=pds-alert&encapsulation=shadow","src/components/pds-alert/pds-alert.tsx"],"sourcesContent":["@use '~@kajabi-ui/styles/dist/pine/components/pds-alert/pds-alert.tokens.css';\n",":host {\n // Context link colors for slotted pds-link components (default variant)\n --pds-context-link-color: var(--pine-alert-color-link);\n --pds-context-link-color-hover: var(--pine-alert-color-link-hover);\n\n display: block;\n line-height: 1;\n width: 100%;\n}\n\n:host([variant=\"danger\"]) {\n --pds-context-link-color: var(--pine-alert-color-danger-link);\n --pds-context-link-color-hover: var(--pine-alert-color-danger-link-hover);\n}\n\n:host([variant=\"info\"]) {\n --pds-context-link-color: var(--pine-alert-color-info-link);\n --pds-context-link-color-hover: var(--pine-alert-color-info-link-hover);\n}\n\n:host([variant=\"success\"]) {\n --pds-context-link-color: var(--pine-alert-color-success-link);\n --pds-context-link-color-hover: var(--pine-alert-color-success-link-hover);\n}\n\n:host([variant=\"warning\"]) {\n --pds-context-link-color: var(--pine-alert-color-warning-link);\n --pds-context-link-color-hover: var(--pine-alert-color-warning-link-hover);\n}\n\n.pds-alert__container {\n --pds-alert-icon-size: var(--pine-dimension-sm);\n --pds-alert-border-dismiss-outline: 2px solid var(--pds-alert-color-dismiss);\n\n --pds-alert-background: var(--pine-alert-color-background);\n --pds-alert-border-color: var(--pine-alert-color-border);\n --pds-alert-color-icon: var(--pine-alert-color-icon);\n --pds-alert-color-text: var(--pine-alert-color-text);\n --pds-alert-color-dismiss: var(--pine-alert-color-dismiss);\n --pds-alert-background-dismiss-hover: var(--pine-alert-color-dismiss-hover);\n\n padding: var(--pine-dimension-250);\n}\n\n.pds-alert__container--danger {\n --pds-alert-background: var(--pine-alert-color-danger-background);\n --pds-alert-border-color: var(--pine-alert-color-danger-border);\n --pds-alert-color-icon: var(--pine-alert-color-danger-icon);\n --pds-alert-color-text: var(--pine-alert-color-danger-text);\n --pds-alert-color-dismiss: var(--pine-alert-color-danger-dismiss);\n --pds-alert-background-dismiss-hover: var(--pine-alert-color-danger-dismiss-hover);\n}\n\n.pds-alert__container--info {\n --pds-alert-background: var(--pine-alert-color-info-background);\n --pds-alert-border-color: var(--pine-alert-color-info-border);\n --pds-alert-color-icon: var(--pine-alert-color-info-icon);\n --pds-alert-color-text: var(--pine-alert-color-info-text);\n --pds-alert-color-dismiss: var(--pine-alert-color-info-dismiss);\n --pds-alert-background-dismiss-hover: var(--pine-alert-color-info-dismiss-hover);\n}\n\n.pds-alert__container--success {\n --pds-alert-background: var(--pine-alert-color-success-background);\n --pds-alert-border-color: var(--pine-alert-color-success-border);\n --pds-alert-color-icon: var(--pine-alert-color-success-icon);\n --pds-alert-color-text: var(--pine-alert-color-success-text);\n --pds-alert-color-dismiss: var(--pine-alert-color-success-dismiss);\n --pds-alert-background-dismiss-hover: var(--pine-alert-color-success-dismiss-hover);\n}\n\n.pds-alert__container--warning {\n --pds-alert-background: var(--pine-alert-color-warning-background);\n --pds-alert-border-color: var(--pine-alert-color-warning-border);\n --pds-alert-color-icon: var(--pine-alert-color-warning-icon);\n --pds-alert-color-text: var(--pine-alert-color-warning-text);\n --pds-alert-color-dismiss: var(--pine-alert-color-warning-dismiss);\n --pds-alert-background-dismiss-hover: var(--pine-alert-color-warning-dismiss-hover);\n}\n\n.pds-alert__icon {\n margin-block-start: var(--pine-dimension-2xs);\n}\n\n.pds-alert__icon--small {\n margin-block-start: calc(var(--pine-dimension-2xs) / 2); // half the default icon margin\n}\n\n.pds-alert__content-wrapper {\n flex: 1;\n min-width: 0;\n overflow: hidden;\n width: 100%;\n}\n\n.pds-alert__dismiss {\n align-items: center;\n background: none;\n border: 0;\n border-radius: var(--pine-border-radius-full);\n cursor: pointer;\n display: flex;\n height: var(--pine-dimension-250);\n justify-content: center;\n padding: var(--pine-dimension-xs);\n width: var(--pine-dimension-250);\n}\n\n.pds-alert__dismiss:hover {\n background: var(--pds-alert-background-dismiss-hover);\n opacity: 0.8;\n}\n\n.pds-alert__dismiss:focus-visible {\n outline: var(--pds-alert-border-dismiss-outline);\n}\n\n.pds-alert__description--small {\n flex: 1 1 auto;\n max-width: 100%;\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.pds-alert__actions {\n margin-block-start: var(--pine-dimension-sm);\n}\n\n.pds-alert__actions--small {\n flex-shrink: 0;\n margin-inline-start: auto;\n white-space: nowrap;\n}\n","import { Component, Host, h, Prop, Event, EventEmitter, Element, State } from '@stencil/core';\n\n/**\n * @slot actions - Slot for alert actions.\n * @part dismiss\n */\n\n@Component({\n tag: 'pds-alert',\n styleUrls: ['pds-alert.tokens.scss', 'pds-alert.scss'],\n shadow: true,\n})\nexport class PdsAlert {\n\n @Element() el: HTMLPdsAlertElement;\n\n /**\n * A unique identifier used for the underlying component `id` attribute.\n */\n @Prop() componentId: string;\n\n /**\n * Text displayed as the heading of the alert.\n */\n @Prop() heading: string;\n\n /**\n * If true, the alert is displayed in a smaller size and description text is truncated. Heading is not displayed.\n */\n @Prop() small = false;\n\n /**\n * If true, shows the dismiss button. If false, the dismiss button is hidden.\n * @defaultValue false\n */\n @Prop() dismissible = false;\n\n /**\n * Sets the style variant of the alert.\n * @defaultValue 'default'\n */\n @Prop() variant: 'default' | 'danger' | 'info' | 'success' | 'warning' = 'default';\n\n /**\n * Event emitted when the dismiss button is clicked.\n */\n @Event() pdsAlertDismissClick: EventEmitter<void>;\n\n @State() hasActionsContent = false;\n\n private handleCloseClick = () => {\n this.pdsAlertDismissClick.emit();\n };\n\n componentWillRender() {\n // Check if the actions slot has any content.\n // If not, hide the actions container to prevent empty space.\n const actionsSlot = this.el.querySelector('[slot=\"actions\"]');\n this.hasActionsContent = !!actionsSlot;\n }\n\n private renderActions(isSmall: boolean) {\n return (\n <pds-box class={isSmall ? \"pds-alert__actions--small\" : \"pds-alert__actions\"} gap=\"sm\" flex={isSmall ? \"none\" : undefined} align-items={isSmall ? undefined : \"center\"}>\n <slot name=\"actions\"></slot>\n </pds-box>\n );\n }\n\n private renderContent() {\n if (this.small) {\n return (\n <pds-box display=\"flex\" gap=\"md\" align-items=\"center\">\n <pds-text\n truncate={this.small}\n class=\"pds-alert__description--small\"\n color=\"var(--pds-alert-color-text)\"\n tag=\"p\"\n >\n <slot></slot>\n </pds-text>\n {this.hasActionsContent && this.renderActions(true)}\n </pds-box>\n );\n }\n\n return (\n <div>\n <pds-text class=\"pds-alert__description\" color=\"var(--pds-alert-color-text)\" tag=\"p\">\n <slot></slot>\n </pds-text>\n {this.hasActionsContent && this.renderActions(false)}\n </div>\n );\n }\n\n render() {\n const iconMap = {\n danger: 'warning-filled',\n default: 'info-circle-filled',\n info: 'info-circle-filled',\n success: 'check-circle-filled',\n warning: 'info-circle-filled',\n };\n\n // Get the icon name based on the current variant\n const iconName = iconMap[this.variant] || iconMap.default;\n\n return (\n <Host class=\"pds-alert\" id={this.componentId} variant={this.variant}>\n <pds-box\n class={`pds-alert__container pds-alert__container--${this.variant}`}\n background-color=\"var(--pds-alert-background)\"\n border-color=\"var(--pds-alert-border-color)\"\n border-radius=\"md\"\n border\n display=\"block\"\n >\n <pds-box gap=\"sm\" display=\"flex\">\n <pds-icon\n class={`pds-alert__icon ${this.small ? 'pds-alert__icon--small' : ''}`}\n color=\"var(--pds-alert-color-icon)\"\n icon={iconName}\n size=\"var(--pds-alert-icon-size)\"\n />\n <pds-box class=\"pds-alert__content-wrapper\" direction=\"column\" gap=\"xs\" flex=\"grow\">\n {this.heading && !this.small && (\n <pds-text class=\"pds-alert__heading\" color=\"var(--pds-alert-color-text)\" size=\"h5\" tag=\"h3\" weight=\"medium\">\n {this.heading}\n </pds-text>\n )}\n\n {this.renderContent()}\n </pds-box>\n\n {this.dismissible && (\n <button class=\"pds-alert__dismiss\" type=\"button\" part=\"dismiss\" aria-label=\"Dismiss alert\" onClick={this.handleCloseClick}>\n <pds-icon icon=\"remove\" size=\"var(--pds-alert-icon-size)\" aria-hidden=\"true\" color=\"var(--pds-alert-color-dismiss)\" />\n </button>\n )}\n </pds-box>\n </pds-box>\n </Host>\n );\n }\n}\n"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"p-DmWm26A6.system.js","sources":["src/components/pds-tooltip/pds-tooltip.scss?tag=pds-tooltip","src/components/pds-tooltip/pds-tooltip.tsx"],"sourcesContent":[".pds-tooltip {\n --tooltip-border-width-arrow-down: var(--tooltip-sizing-arrow) var(--tooltip-sizing-arrow) 0;\n --tooltip-border-width-arrow-left: var(--tooltip-sizing-arrow) var(--tooltip-sizing-arrow) var(--tooltip-sizing-arrow) 0;\n --tooltip-border-width-arrow-right: var(--tooltip-sizing-arrow) 0 var(--tooltip-sizing-arrow) var(--tooltip-sizing-arrow);\n --tooltip-border-width-arrow-up: 0 var(--tooltip-sizing-arrow) var(--tooltip-sizing-arrow);\n --tooltip-sizing-arrow: 6px;\n --tooltip-sizing-arrow-offset: 14px;\n --tooltip-dimension-max-width: 320px;\n}\n\n.pds-tooltip__content {\n background-color: var(--pine-color-primary);\n border-radius: calc(var(--pine-dimension-xs) * 1.25);\n box-shadow: var(--pine-box-shadow);\n color: var(--pine-color-text-primary);\n // TODO: need to use block / none but the tooltip content width and height are needed for calculations\n max-width: var(--tooltip-dimension-max-width);\n opacity: 0;\n padding: var(--pine-dimension-xs) calc(var(--pine-dimension-md) / 2);\n visibility: hidden;\n width: max-content;\n\n .pds-tooltip--is-open & {\n // TODO: need to use block / none but the tooltip content width and height are needed for calculations\n opacity: 1;\n visibility: visible;\n z-index: var(--pine-z-index-raised);\n }\n\n .pds-tooltip.pds-tooltip--has-html-content & {\n width: auto;\n }\n\n &::after {\n border-color: transparent;\n border-right-color: transparent;\n border-style: solid;\n border-width: var(--tooltip-border-width-arrow-left);\n content: '';\n height: 0;\n position: absolute;\n width: 0;\n\n .pds-tooltip--right & {\n border-inline-end-color: var(--pine-color-primary);\n border-width: var(--tooltip-border-width-arrow-left);\n left: calc(var(--tooltip-sizing-arrow) * -1);\n top: 50%;\n transform: translateY(-50%);\n }\n\n .pds-tooltip--right-end & {\n border-inline-end-color: var(--pine-color-primary);\n border-width: var(--tooltip-border-width-arrow-left);\n bottom: var(--tooltip-sizing-arrow-offset);\n left: calc(var(--tooltip-sizing-arrow) * -1);\n top: initial;\n }\n\n .pds-tooltip--right-start & {\n border-inline-end-color: var(--pine-color-primary);\n border-width: var(--tooltip-border-width-arrow-left);\n left: calc(var(--tooltip-sizing-arrow) * -1);\n top: var(--tooltip-sizing-arrow-offset);\n }\n\n .pds-tooltip--top & {\n border-block-start-color: var(--pine-color-primary);\n border-width: var(--tooltip-border-width-arrow-down);\n bottom: calc(var(--tooltip-sizing-arrow) * -1);\n left: 50%;\n top: initial;\n transform: translateX(-50%);\n }\n\n .pds-tooltip--top-start & {\n border-block-start-color: var(--pine-color-primary);\n border-width: var(--tooltip-border-width-arrow-down);\n bottom: calc(var(--tooltip-sizing-arrow) * -1);\n left: var(--tooltip-sizing-arrow-offset);\n top: initial;\n }\n\n .pds-tooltip--top-end & {\n border-block-start-color: var(--pine-color-primary);\n border-width: var(--tooltip-border-width-arrow-down);\n bottom: calc(var(--tooltip-sizing-arrow) * -1);\n left: initial;\n right: var(--tooltip-sizing-arrow-offset);\n top: initial;\n }\n\n .pds-tooltip--left & {\n border-inline-start-color: var(--pine-color-primary);\n border-width: var(--tooltip-border-width-arrow-right);\n left: initial;\n right: calc(var(--tooltip-sizing-arrow) * -1);\n top: 50%;\n transform: translateY(-50%);\n }\n\n .pds-tooltip--left-end & {\n border-inline-start-color: var(--pine-color-primary);\n border-width: var(--tooltip-border-width-arrow-right);\n bottom: var(--tooltip-sizing-arrow-offset);\n left: initial;\n right: calc(var(--tooltip-sizing-arrow) * -1);\n top: initial;\n }\n\n .pds-tooltip--left-start & {\n border-inline-start-color: var(--pine-color-primary);\n border-width: var(--tooltip-border-width-arrow-right);\n left: initial;\n right: calc(var(--tooltip-sizing-arrow) * -1);\n top: var(--tooltip-sizing-arrow-offset);\n }\n\n .pds-tooltip--bottom & {\n border-block-end-color: var(--pine-color-primary);\n border-width: var(--tooltip-border-width-arrow-up);\n left: 50%;\n top: calc(var(--tooltip-sizing-arrow) * -1);\n transform: translateX(-50%);\n }\n\n .pds-tooltip--bottom-end & {\n border-block-end-color: var(--pine-color-primary);\n border-width: var(--tooltip-border-width-arrow-up);\n left: initial;\n right: var(--tooltip-sizing-arrow-offset);\n top: calc(var(--tooltip-sizing-arrow) * -1);\n }\n\n .pds-tooltip--bottom-start & {\n border-block-end-color: var(--pine-color-primary);\n border-width: var(--tooltip-border-width-arrow-up);\n left: var(--tooltip-sizing-arrow-offset);\n top: calc(var(--tooltip-sizing-arrow) * -1);\n }\n\n .pds-tooltip--no-arrow & {\n border-width: 0;\n }\n }\n}\n","import { Component, Element, Host, Prop, State, h, Method, Watch } from '@stencil/core';\nimport { PlacementType } from '@utils/types';\nimport {\n autoUpdate,\n computePosition,\n flip,\n offset,\n shift,\n} from '@floating-ui/dom';\n\n/**\n * @slot (default) - The tooltip's target element\n * @slot content - HTML content for the tooltip\n */\n\n@Component({\n tag: 'pds-tooltip',\n styleUrls: ['pds-tooltip.scss'],\n shadow: false,\n})\n\nexport class PdsTooltip {\n private static instanceCounter = 0;\n\n /**\n * Internal state: true if the tooltip was opened by user interaction (hover/focus),\n * false if opened via the `opened` prop or currently closed.\n */\n @State() private _isInteractiveOpen = false;\n\n private portalEl: HTMLElement | null = null;\n private resolvedPlacement: PlacementType = 'right';\n private triggerEl: HTMLElement | null = null;\n private contentDiv: HTMLElement | null = null;\n private slotMutationObserver: MutationObserver | null = null;\n private currentPathname: string = '';\n private pathnameCheckInterval: ReturnType<typeof setInterval> | null = null;\n private stopAutoUpdate: (() => void) | null = null;\n\n /**\n * Reference to the Host element\n */\n @Element() el: HTMLPdsTooltipElement;\n\n /**\n * Content for the tooltip. If HTML is required, use the content slot\n */\n @Prop() content: string;\n\n /**\n * A unique identifier used for the underlying component `id` attribute.\n */\n @Prop() componentId: string;\n\n /**\n * Determines whether or not the tooltip has an arrow\n * @defaultValue true\n */\n @Prop() hasArrow = true;\n\n /**\n * Enable this option when using the content slot\n * @defaultValue false\n */\n @Prop() htmlContent = false;\n\n /**\n * Determines the preferred position of the tooltip\n * @defaultValue \"right\"\n */\n @Prop({ reflect: true }) placement: PlacementType = 'right';\n\n /**\n * Sets the maximum width of the tooltip content\n * @defaultValue \"352px\"\n */\n @Prop() maxWidth: string = '352px';\n\n /**\n * Determines whether or not the tooltip is visible\n * @defaultValue false\n */\n @Prop({mutable: true, reflect: true}) opened = false;\n\n @Watch('opened')\n\n handleOpenToggle(newValue: boolean, oldValue: boolean) {\n if (newValue === false && oldValue === true) {\n this._isInteractiveOpen = false;\n }\n }\n\n componentWillLoad() {\n this._isInteractiveOpen = false;\n this.resolvedPlacement = this.placement;\n }\n\n componentDidLoad() {\n window.addEventListener('pageshow', this.handlePageShow);\n this.currentPathname = window.location.pathname;\n this.triggerEl = this.el.querySelector('.pds-tooltip__trigger') as HTMLElement;\n const contentSlotWrapper = this.el.querySelector('.pds-tooltip__content-slot-wrapper');\n\n if (contentSlotWrapper !== null) {\n this.slotMutationObserver = new MutationObserver(() => {\n if (this.opened && this.portalEl !== null) {\n this.removePortal();\n this.createPortal();\n }\n });\n this.slotMutationObserver.observe(contentSlotWrapper, { childList: true, subtree: false });\n }\n\n // no return; Stencil ignores teardown functions here\n }\n\n disconnectedCallback() {\n window.removeEventListener('pageshow', this.handlePageShow);\n if (this.slotMutationObserver !== null) {\n this.slotMutationObserver.disconnect();\n this.slotMutationObserver = null;\n }\n // Ensure global listeners/intervals are removed if still present\n if (this.portalEl !== null) {\n this.removePortal();\n }\n if (this.pathnameCheckInterval !== null) {\n clearInterval(this.pathnameCheckInterval);\n this.pathnameCheckInterval = null;\n }\n // Ensure autoUpdate is stopped if still present\n if (this.stopAutoUpdate !== null) {\n this.stopAutoUpdate();\n this.stopAutoUpdate = null;\n }\n }\n\n componentDidRender() {\n if (this.opened && this.portalEl === null) {\n this.createPortal();\n } else if (!this.opened && this.portalEl !== null) {\n this.removePortal();\n }\n\n // Update portal class when opened state changes\n if (this.portalEl !== null) {\n this.portalEl.className = `pds-tooltip pds-tooltip--${this.resolvedPlacement} ${this.htmlContent ? 'pds-tooltip--has-html-content' : ''} ${this.opened ? 'pds-tooltip--is-open' : ''} ${this.hasArrow ? '' : 'pds-tooltip--no-arrow'}`;\n\n // Update ARIA attributes to stay in sync with visual open state\n this.portalEl.setAttribute('aria-hidden', this.opened ? 'false' : 'true');\n this.portalEl.setAttribute('aria-live', this.opened ? 'polite' : 'off');\n }\n }\n\n /**\n * Shows the tooltip by enabling the opened property\n */\n @Method()\n async showTooltip() {\n this.opened = true;\n }\n\n /**\n * Hides the tooltip by disabling the opened property\n */\n @Method()\n async hideTooltip() {\n this.opened = false;\n }\n\n private handleHide = () => {\n if (this.opened && !this._isInteractiveOpen) {\n return;\n }\n\n this.hideTooltip();\n this._isInteractiveOpen = false;\n };\n\n private handleShow = () => {\n if (this.opened && !this._isInteractiveOpen) {\n return;\n }\n\n this._isInteractiveOpen = true;\n this.showTooltip();\n };\n\n private handlePageShow = () => {\n if (this.opened && !this._isInteractiveOpen) {\n return;\n }\n\n this.opened = false;\n this._isInteractiveOpen = false;\n };\n\n\n private handleSpaNavigation = () => {\n if (this.opened && !this._isInteractiveOpen) {\n return;\n }\n\n this.hideTooltip();\n this._isInteractiveOpen = false;\n };\n\n private checkPathnameChange = () => {\n if (window.location.pathname !== this.currentPathname) {\n this.currentPathname = window.location.pathname;\n this.handleSpaNavigation();\n }\n };\n\n /**\n * Determines the most accurate HTML element to use as the anchor for positioning the tooltip.\n * If `htmlContent` is false, it attempts to find the actual element slotted as the trigger.\n * Otherwise, or if no specific element is found, it defaults to the span wrapper around the trigger slot.\n * This helps with precise alignment.\n */\n private determinePositioningAnchor(): HTMLElement | null {\n let positioningAnchor: HTMLElement | null = this.triggerEl;\n\n if (this.triggerEl !== null) {\n const children = this.triggerEl.childNodes;\n\n for (let i = 0; i < children.length; i++) {\n const childNode = children[i];\n\n if (childNode.nodeType === Node.ELEMENT_NODE) {\n positioningAnchor = childNode as HTMLElement;\n break; // Found the first element, use it as the anchor\n }\n }\n }\n\n // If no ELEMENT_NODE is found within this.triggerEl (e.g., if trigger is just text),\n // positioningAnchor will correctly remain this.triggerEl (the span).\n return positioningAnchor;\n }\n\n /**\n * Centralized method to calculate and apply the tooltip's position using floating UI.\n * Uses the determined anchor element and applies computePosition with flip, offset, and shift.\n */\n private async repositionPortal() {\n const anchor = this.determinePositioningAnchor();\n\n if (anchor !== null && this.portalEl !== null) {\n try {\n const { x, y, placement: computedPlacement } = await computePosition(anchor, this.portalEl, {\n placement: this.placement,\n strategy: 'fixed',\n middleware: [offset(8), flip(), shift({ padding: 5 })],\n });\n\n this.resolvedPlacement = computedPlacement as PlacementType;\n\n Object.assign(this.portalEl.style, {\n left: `${x}px`,\n top: `${y}px`,\n position: 'fixed',\n });\n\n // Update CSS classes to match the resolved placement\n this.portalEl.className = `pds-tooltip pds-tooltip--${this.resolvedPlacement} ${this.htmlContent ? 'pds-tooltip--has-html-content' : ''} ${this.opened ? 'pds-tooltip--is-open' : ''} ${this.hasArrow ? '' : 'pds-tooltip--no-arrow'}`;\n } catch (error) {\n console.warn('Failed to position tooltip:', error);\n this.resolvedPlacement = this.placement; // Fallback to requested placement\n // Fallback to basic positioning if floating UI fails\n const anchorRect = anchor.getBoundingClientRect();\n this.portalEl.style.left = `${anchorRect.right + 8}px`;\n this.portalEl.style.top = `${anchorRect.top}px`;\n this.portalEl.style.position = 'fixed';\n }\n }\n }\n\n private createPortal() {\n if (this.portalEl !== null) return;\n\n this.portalEl = document.createElement('div');\n this.portalEl.className = `pds-tooltip pds-tooltip--${this.resolvedPlacement} ${this.htmlContent ? 'pds-tooltip--has-html-content' : ''} ${this.opened ? 'pds-tooltip--is-open' : ''} ${this.hasArrow ? '' : 'pds-tooltip--no-arrow'}`;\n this.portalEl.style.position = 'fixed';\n this.portalEl.style.zIndex = 'var(--pine-z-index-nuclear)';\n\n if (this.portalEl.id === '') {\n const suffix = PdsTooltip.instanceCounter++;\n const baseId = this.componentId || this.el.id || 'pds-tooltip';\n this.portalEl.id = `${baseId}-portal-${suffix}`;\n }\n\n if (this.portalEl.getAttribute('id') !== this.portalEl.id) {\n this.portalEl.setAttribute('id', this.portalEl.id);\n }\n\n this.portalEl.setAttribute('role', 'tooltip');\n this.portalEl.setAttribute('aria-hidden', this.opened ? 'false' : 'true');\n this.portalEl.setAttribute('aria-live', this.opened ? 'polite' : 'off');\n this.portalEl.style.maxWidth = this.maxWidth;\n\n this.contentDiv = document.createElement('div');\n this.contentDiv.className = 'pds-tooltip__content';\n this.contentDiv.setAttribute('aria-hidden', this.opened ? 'false' : 'true');\n this.contentDiv.setAttribute('aria-live', this.opened ? 'polite' : 'off');\n\n const contentSlotWrapper = this.el.querySelector('.pds-tooltip__content-slot-wrapper');\n const slottedContentContainer = contentSlotWrapper?.querySelector('[slot=\"content\"]') as HTMLElement | null;\n let hasSlottedContent = false;\n\n if (slottedContentContainer !== null) {\n const childrenToClone = Array.from(slottedContentContainer.childNodes);\n\n if (childrenToClone.length > 0) {\n const hasMeaningfulNode = childrenToClone.some(node =>\n node.nodeType === Node.ELEMENT_NODE ||\n (node.nodeType === Node.TEXT_NODE && node.textContent?.trim() !== '')\n );\n\n if (hasMeaningfulNode) {\n hasSlottedContent = true;\n childrenToClone.forEach((node /*, index*/) => {\n if (node.nodeType === Node.ELEMENT_NODE || (node.nodeType === Node.TEXT_NODE && node.textContent?.trim() !== '')) {\n this.contentDiv.appendChild(node.cloneNode(true));\n }\n });\n }\n }\n }\n\n if (!hasSlottedContent && typeof this.content === 'string' && this.content.trim() !== '') {\n this.contentDiv.textContent = this.content;\n }\n\n this.portalEl.appendChild(this.contentDiv);\n document.body.appendChild(this.portalEl);\n\n this.repositionPortal().catch(error => {\n console.warn('Failed to position tooltip on creation:', error);\n });\n\n // Use Floating UI's autoUpdate to handle scroll/resize automatically\n if (this.triggerEl && this.portalEl) {\n this.stopAutoUpdate = autoUpdate(\n this.triggerEl,\n this.portalEl,\n () => {\n this.repositionPortal().catch(error => {\n console.warn('Failed to reposition tooltip on auto update:', error);\n });\n }\n );\n }\n\n // Keep only SPA navigation listeners (not handled by autoUpdate)\n window.addEventListener('popstate', this.handleSpaNavigation, true);\n window.addEventListener('hashchange', this.handleSpaNavigation, true);\n\n // Start pathname change detection\n this.pathnameCheckInterval = setInterval(this.checkPathnameChange, 100);\n\n // Add ARIA attribute to trigger, now that portalEl and its ID are confirmed\n if (this.triggerEl !== null && this.portalEl.id !== '') {\n this.triggerEl.setAttribute('aria-describedby', this.portalEl.id);\n }\n }\n\n private removePortal() {\n // Stop Floating UI's autoUpdate\n if (this.stopAutoUpdate !== null) {\n this.stopAutoUpdate();\n this.stopAutoUpdate = null;\n }\n\n // Stop pathname change detection\n if (this.pathnameCheckInterval !== null) {\n clearInterval(this.pathnameCheckInterval);\n this.pathnameCheckInterval = null;\n }\n\n if (this.portalEl !== null) {\n // Remove only SPA navigation listeners (scroll/resize handled by autoUpdate)\n window.removeEventListener('popstate', this.handleSpaNavigation, true);\n window.removeEventListener('hashchange', this.handleSpaNavigation, true);\n\n // Safely remove portal from DOM\n try {\n if (this.portalEl.parentNode) {\n this.portalEl.parentNode.removeChild(this.portalEl);\n }\n } catch (error) {\n // Portal might have already been removed by test cleanup\n console.warn('Portal element could not be removed from DOM:', error);\n }\n\n this.portalEl = null;\n }\n\n // Remove ARIA attribute from trigger\n if (this.triggerEl !== null) {\n this.triggerEl.removeAttribute('aria-describedby');\n }\n this.contentDiv = null;\n }\n\n render() {\n const hostId = this.componentId || undefined;\n\n return (\n <Host id={hostId} class={{ 'pds-tooltip--is-open': this.opened }}>\n <span\n class=\"pds-tooltip__trigger\"\n onMouseEnter={this.handleShow}\n onMouseLeave={this.handleHide}\n /* focusin/out bubble; ensure keyboard users see tooltips */\n onFocusin={this.handleShow as any}\n onFocusout={this.handleHide as any}\n ref={el => this.triggerEl = el}\n >\n <slot />\n </span>\n <div class=\"pds-tooltip__content-slot-wrapper\" hidden>\n <slot name=\"content\"></slot>\n </div>\n </Host>\n );\n }\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"p-D0GkJmlY.system.js","sources":["src/components/pds-tooltip/pds-tooltip.scss?tag=pds-tooltip","src/components/pds-tooltip/pds-tooltip.tsx"],"sourcesContent":[".pds-tooltip {\n --tooltip-border-width-arrow-down: var(--tooltip-sizing-arrow) var(--tooltip-sizing-arrow) 0;\n --tooltip-border-width-arrow-left: var(--tooltip-sizing-arrow) var(--tooltip-sizing-arrow) var(--tooltip-sizing-arrow) 0;\n --tooltip-border-width-arrow-right: var(--tooltip-sizing-arrow) 0 var(--tooltip-sizing-arrow) var(--tooltip-sizing-arrow);\n --tooltip-border-width-arrow-up: 0 var(--tooltip-sizing-arrow) var(--tooltip-sizing-arrow);\n --tooltip-sizing-arrow: 6px;\n --tooltip-sizing-arrow-offset: 14px;\n --tooltip-dimension-max-width: 320px;\n}\n\n.pds-tooltip__content {\n background-color: var(--pine-color-primary);\n border-radius: calc(var(--pine-dimension-xs) * 1.25);\n box-shadow: var(--pine-box-shadow);\n color: var(--pine-color-text-primary);\n // TODO: need to use block / none but the tooltip content width and height are needed for calculations\n max-width: var(--tooltip-dimension-max-width);\n opacity: 0;\n padding: var(--pine-dimension-xs) calc(var(--pine-dimension-md) / 2);\n visibility: hidden;\n width: max-content;\n\n .pds-tooltip--is-open & {\n // TODO: need to use block / none but the tooltip content width and height are needed for calculations\n opacity: 1;\n visibility: visible;\n z-index: var(--pine-z-index-raised);\n }\n\n .pds-tooltip.pds-tooltip--has-html-content & {\n width: auto;\n }\n\n &::after {\n border-color: transparent;\n border-right-color: transparent;\n border-style: solid;\n border-width: var(--tooltip-border-width-arrow-left);\n content: '';\n height: 0;\n position: absolute;\n width: 0;\n\n .pds-tooltip--right & {\n border-inline-end-color: var(--pine-color-primary);\n border-width: var(--tooltip-border-width-arrow-left);\n left: calc(var(--tooltip-sizing-arrow) * -1);\n top: 50%;\n transform: translateY(-50%);\n }\n\n .pds-tooltip--right-end & {\n border-inline-end-color: var(--pine-color-primary);\n border-width: var(--tooltip-border-width-arrow-left);\n bottom: var(--tooltip-sizing-arrow-offset);\n left: calc(var(--tooltip-sizing-arrow) * -1);\n top: initial;\n }\n\n .pds-tooltip--right-start & {\n border-inline-end-color: var(--pine-color-primary);\n border-width: var(--tooltip-border-width-arrow-left);\n left: calc(var(--tooltip-sizing-arrow) * -1);\n top: var(--tooltip-sizing-arrow-offset);\n }\n\n .pds-tooltip--top & {\n border-block-start-color: var(--pine-color-primary);\n border-width: var(--tooltip-border-width-arrow-down);\n bottom: calc(var(--tooltip-sizing-arrow) * -1);\n left: 50%;\n top: initial;\n transform: translateX(-50%);\n }\n\n .pds-tooltip--top-start & {\n border-block-start-color: var(--pine-color-primary);\n border-width: var(--tooltip-border-width-arrow-down);\n bottom: calc(var(--tooltip-sizing-arrow) * -1);\n left: var(--tooltip-sizing-arrow-offset);\n top: initial;\n }\n\n .pds-tooltip--top-end & {\n border-block-start-color: var(--pine-color-primary);\n border-width: var(--tooltip-border-width-arrow-down);\n bottom: calc(var(--tooltip-sizing-arrow) * -1);\n left: initial;\n right: var(--tooltip-sizing-arrow-offset);\n top: initial;\n }\n\n .pds-tooltip--left & {\n border-inline-start-color: var(--pine-color-primary);\n border-width: var(--tooltip-border-width-arrow-right);\n left: initial;\n right: calc(var(--tooltip-sizing-arrow) * -1);\n top: 50%;\n transform: translateY(-50%);\n }\n\n .pds-tooltip--left-end & {\n border-inline-start-color: var(--pine-color-primary);\n border-width: var(--tooltip-border-width-arrow-right);\n bottom: var(--tooltip-sizing-arrow-offset);\n left: initial;\n right: calc(var(--tooltip-sizing-arrow) * -1);\n top: initial;\n }\n\n .pds-tooltip--left-start & {\n border-inline-start-color: var(--pine-color-primary);\n border-width: var(--tooltip-border-width-arrow-right);\n left: initial;\n right: calc(var(--tooltip-sizing-arrow) * -1);\n top: var(--tooltip-sizing-arrow-offset);\n }\n\n .pds-tooltip--bottom & {\n border-block-end-color: var(--pine-color-primary);\n border-width: var(--tooltip-border-width-arrow-up);\n left: 50%;\n top: calc(var(--tooltip-sizing-arrow) * -1);\n transform: translateX(-50%);\n }\n\n .pds-tooltip--bottom-end & {\n border-block-end-color: var(--pine-color-primary);\n border-width: var(--tooltip-border-width-arrow-up);\n left: initial;\n right: var(--tooltip-sizing-arrow-offset);\n top: calc(var(--tooltip-sizing-arrow) * -1);\n }\n\n .pds-tooltip--bottom-start & {\n border-block-end-color: var(--pine-color-primary);\n border-width: var(--tooltip-border-width-arrow-up);\n left: var(--tooltip-sizing-arrow-offset);\n top: calc(var(--tooltip-sizing-arrow) * -1);\n }\n\n .pds-tooltip--no-arrow & {\n border-width: 0;\n }\n }\n}\n","import { Component, Element, Host, Prop, State, h, Method, Watch } from '@stencil/core';\nimport { PlacementType } from '@utils/types';\nimport {\n autoUpdate,\n computePosition,\n flip,\n offset,\n shift,\n} from '@floating-ui/dom';\n\n/**\n * @slot (default) - The tooltip's target element\n * @slot content - HTML content for the tooltip\n */\n\n@Component({\n tag: 'pds-tooltip',\n styleUrls: ['pds-tooltip.scss'],\n shadow: false,\n})\n\nexport class PdsTooltip {\n private static instanceCounter = 0;\n\n /**\n * Internal state: true if the tooltip was opened by user interaction (hover/focus),\n * false if opened via the `opened` prop or currently closed.\n */\n @State() private _isInteractiveOpen = false;\n\n private portalEl: HTMLElement | null = null;\n private resolvedPlacement: PlacementType = 'right';\n private triggerEl: HTMLElement | null = null;\n private contentDiv: HTMLElement | null = null;\n private slotMutationObserver: MutationObserver | null = null;\n private currentPathname: string = '';\n private pathnameCheckInterval: ReturnType<typeof setInterval> | null = null;\n private stopAutoUpdate: (() => void) | null = null;\n\n /**\n * Reference to the Host element\n */\n @Element() el: HTMLPdsTooltipElement;\n\n /**\n * Content for the tooltip. If HTML is required, use the content slot\n */\n @Prop() content: string;\n\n /**\n * A unique identifier used for the underlying component `id` attribute.\n */\n @Prop() componentId: string;\n\n /**\n * Determines whether or not the tooltip has an arrow\n * @defaultValue true\n */\n @Prop() hasArrow = true;\n\n /**\n * Enable this option when using the content slot\n * @defaultValue false\n */\n @Prop() htmlContent = false;\n\n /**\n * Determines the preferred position of the tooltip\n * @defaultValue \"right\"\n */\n @Prop({ reflect: true }) placement: PlacementType = 'right';\n\n /**\n * Sets the maximum width of the tooltip content\n * @defaultValue \"352px\"\n */\n @Prop() maxWidth: string = '352px';\n\n /**\n * Determines whether or not the tooltip is visible\n * @defaultValue false\n */\n @Prop({mutable: true, reflect: true}) opened = false;\n\n @Watch('opened')\n\n handleOpenToggle(newValue: boolean, oldValue: boolean) {\n if (newValue === false && oldValue === true) {\n this._isInteractiveOpen = false;\n }\n }\n\n componentWillLoad() {\n this._isInteractiveOpen = false;\n this.resolvedPlacement = this.placement;\n }\n\n componentDidLoad() {\n window.addEventListener('pageshow', this.handlePageShow);\n this.currentPathname = window.location.pathname;\n this.triggerEl = this.el.querySelector('.pds-tooltip__trigger') as HTMLElement;\n const contentSlotWrapper = this.el.querySelector('.pds-tooltip__content-slot-wrapper');\n\n if (contentSlotWrapper !== null) {\n this.slotMutationObserver = new MutationObserver(() => {\n if (this.opened && this.portalEl !== null) {\n this.removePortal();\n this.createPortal();\n }\n });\n this.slotMutationObserver.observe(contentSlotWrapper, { childList: true, subtree: false });\n }\n\n // no return; Stencil ignores teardown functions here\n }\n\n disconnectedCallback() {\n window.removeEventListener('pageshow', this.handlePageShow);\n if (this.slotMutationObserver !== null) {\n this.slotMutationObserver.disconnect();\n this.slotMutationObserver = null;\n }\n // Ensure global listeners/intervals are removed if still present\n if (this.portalEl !== null) {\n this.removePortal();\n }\n if (this.pathnameCheckInterval !== null) {\n clearInterval(this.pathnameCheckInterval);\n this.pathnameCheckInterval = null;\n }\n // Ensure autoUpdate is stopped if still present\n if (this.stopAutoUpdate !== null) {\n this.stopAutoUpdate();\n this.stopAutoUpdate = null;\n }\n }\n\n componentDidRender() {\n if (this.opened && this.portalEl === null) {\n this.createPortal();\n } else if (!this.opened && this.portalEl !== null) {\n this.removePortal();\n }\n\n // Update portal class when opened state changes\n if (this.portalEl !== null) {\n this.portalEl.className = `pds-tooltip pds-tooltip--${this.resolvedPlacement} ${this.htmlContent ? 'pds-tooltip--has-html-content' : ''} ${this.opened ? 'pds-tooltip--is-open' : ''} ${this.hasArrow ? '' : 'pds-tooltip--no-arrow'}`;\n\n // Update ARIA attributes to stay in sync with visual open state\n this.portalEl.setAttribute('aria-hidden', this.opened ? 'false' : 'true');\n this.portalEl.setAttribute('aria-live', this.opened ? 'polite' : 'off');\n }\n }\n\n /**\n * Shows the tooltip by enabling the opened property\n */\n @Method()\n async showTooltip() {\n this.opened = true;\n }\n\n /**\n * Hides the tooltip by disabling the opened property\n */\n @Method()\n async hideTooltip() {\n this.opened = false;\n }\n\n private handleHide = () => {\n if (this.opened && !this._isInteractiveOpen) {\n return;\n }\n\n this.hideTooltip();\n this._isInteractiveOpen = false;\n };\n\n private handleShow = () => {\n if (this.opened && !this._isInteractiveOpen) {\n return;\n }\n\n this._isInteractiveOpen = true;\n this.showTooltip();\n };\n\n private handlePageShow = () => {\n if (this.opened && !this._isInteractiveOpen) {\n return;\n }\n\n this.opened = false;\n this._isInteractiveOpen = false;\n };\n\n\n private handleSpaNavigation = () => {\n if (this.opened && !this._isInteractiveOpen) {\n return;\n }\n\n this.hideTooltip();\n this._isInteractiveOpen = false;\n };\n\n private checkPathnameChange = () => {\n if (window.location.pathname !== this.currentPathname) {\n this.currentPathname = window.location.pathname;\n this.handleSpaNavigation();\n }\n };\n\n /**\n * Determines the most accurate HTML element to use as the anchor for positioning the tooltip.\n * If `htmlContent` is false, it attempts to find the actual element slotted as the trigger.\n * Otherwise, or if no specific element is found, it defaults to the span wrapper around the trigger slot.\n * This helps with precise alignment.\n */\n private determinePositioningAnchor(): HTMLElement | null {\n let positioningAnchor: HTMLElement | null = this.triggerEl;\n\n if (this.triggerEl !== null) {\n const children = this.triggerEl.childNodes;\n\n for (let i = 0; i < children.length; i++) {\n const childNode = children[i];\n\n if (childNode.nodeType === Node.ELEMENT_NODE) {\n positioningAnchor = childNode as HTMLElement;\n break; // Found the first element, use it as the anchor\n }\n }\n }\n\n // If no ELEMENT_NODE is found within this.triggerEl (e.g., if trigger is just text),\n // positioningAnchor will correctly remain this.triggerEl (the span).\n return positioningAnchor;\n }\n\n /**\n * Centralized method to calculate and apply the tooltip's position using floating UI.\n * Uses the determined anchor element and applies computePosition with flip, offset, and shift.\n */\n private async repositionPortal() {\n const anchor = this.determinePositioningAnchor();\n\n if (anchor !== null && this.portalEl !== null) {\n try {\n const { x, y, placement: computedPlacement } = await computePosition(anchor, this.portalEl, {\n placement: this.placement,\n strategy: 'fixed',\n middleware: [offset(8), flip(), shift({ padding: 5 })],\n });\n\n this.resolvedPlacement = computedPlacement as PlacementType;\n\n Object.assign(this.portalEl.style, {\n left: `${x}px`,\n top: `${y}px`,\n position: 'fixed',\n });\n\n // Update CSS classes to match the resolved placement\n this.portalEl.className = `pds-tooltip pds-tooltip--${this.resolvedPlacement} ${this.htmlContent ? 'pds-tooltip--has-html-content' : ''} ${this.opened ? 'pds-tooltip--is-open' : ''} ${this.hasArrow ? '' : 'pds-tooltip--no-arrow'}`;\n } catch (error) {\n console.warn('Failed to position tooltip:', error);\n this.resolvedPlacement = this.placement; // Fallback to requested placement\n // Fallback to basic positioning if floating UI fails\n const anchorRect = anchor.getBoundingClientRect();\n this.portalEl.style.left = `${anchorRect.right + 8}px`;\n this.portalEl.style.top = `${anchorRect.top}px`;\n this.portalEl.style.position = 'fixed';\n }\n }\n }\n\n private createPortal() {\n if (this.portalEl !== null) return;\n\n this.portalEl = document.createElement('div');\n this.portalEl.className = `pds-tooltip pds-tooltip--${this.resolvedPlacement} ${this.htmlContent ? 'pds-tooltip--has-html-content' : ''} ${this.opened ? 'pds-tooltip--is-open' : ''} ${this.hasArrow ? '' : 'pds-tooltip--no-arrow'}`;\n this.portalEl.style.position = 'fixed';\n this.portalEl.style.zIndex = 'var(--pine-z-index-nuclear)';\n\n if (this.portalEl.id === '') {\n const suffix = PdsTooltip.instanceCounter++;\n const baseId = this.componentId || this.el.id || 'pds-tooltip';\n this.portalEl.id = `${baseId}-portal-${suffix}`;\n }\n\n if (this.portalEl.getAttribute('id') !== this.portalEl.id) {\n this.portalEl.setAttribute('id', this.portalEl.id);\n }\n\n this.portalEl.setAttribute('role', 'tooltip');\n this.portalEl.setAttribute('aria-hidden', this.opened ? 'false' : 'true');\n this.portalEl.setAttribute('aria-live', this.opened ? 'polite' : 'off');\n this.portalEl.style.maxWidth = this.maxWidth;\n\n this.contentDiv = document.createElement('div');\n this.contentDiv.className = 'pds-tooltip__content';\n this.contentDiv.setAttribute('aria-hidden', this.opened ? 'false' : 'true');\n this.contentDiv.setAttribute('aria-live', this.opened ? 'polite' : 'off');\n\n const contentSlotWrapper = this.el.querySelector('.pds-tooltip__content-slot-wrapper');\n const slottedContentContainer = contentSlotWrapper?.querySelector('[slot=\"content\"]') as HTMLElement | null;\n let hasSlottedContent = false;\n\n if (slottedContentContainer !== null) {\n const childrenToClone = Array.from(slottedContentContainer.childNodes);\n\n if (childrenToClone.length > 0) {\n const hasMeaningfulNode = childrenToClone.some(node =>\n node.nodeType === Node.ELEMENT_NODE ||\n (node.nodeType === Node.TEXT_NODE && node.textContent?.trim() !== '')\n );\n\n if (hasMeaningfulNode) {\n hasSlottedContent = true;\n childrenToClone.forEach((node /*, index*/) => {\n if (node.nodeType === Node.ELEMENT_NODE || (node.nodeType === Node.TEXT_NODE && node.textContent?.trim() !== '')) {\n this.contentDiv.appendChild(node.cloneNode(true));\n }\n });\n }\n }\n }\n\n if (!hasSlottedContent && typeof this.content === 'string' && this.content.trim() !== '') {\n this.contentDiv.textContent = this.content;\n }\n\n this.portalEl.appendChild(this.contentDiv);\n document.body.appendChild(this.portalEl);\n\n this.repositionPortal().catch(error => {\n console.warn('Failed to position tooltip on creation:', error);\n });\n\n // Use Floating UI's autoUpdate to handle scroll/resize automatically\n if (this.triggerEl && this.portalEl) {\n this.stopAutoUpdate = autoUpdate(\n this.triggerEl,\n this.portalEl,\n () => {\n this.repositionPortal().catch(error => {\n console.warn('Failed to reposition tooltip on auto update:', error);\n });\n }\n );\n }\n\n // Keep only SPA navigation listeners (not handled by autoUpdate)\n window.addEventListener('popstate', this.handleSpaNavigation, true);\n window.addEventListener('hashchange', this.handleSpaNavigation, true);\n\n // Start pathname change detection\n this.pathnameCheckInterval = setInterval(this.checkPathnameChange, 100);\n\n // Add ARIA attribute to trigger, now that portalEl and its ID are confirmed\n if (this.triggerEl !== null && this.portalEl.id !== '') {\n this.triggerEl.setAttribute('aria-describedby', this.portalEl.id);\n }\n }\n\n private removePortal() {\n // Stop Floating UI's autoUpdate\n if (this.stopAutoUpdate !== null) {\n this.stopAutoUpdate();\n this.stopAutoUpdate = null;\n }\n\n // Stop pathname change detection\n if (this.pathnameCheckInterval !== null) {\n clearInterval(this.pathnameCheckInterval);\n this.pathnameCheckInterval = null;\n }\n\n if (this.portalEl !== null) {\n // Remove only SPA navigation listeners (scroll/resize handled by autoUpdate)\n window.removeEventListener('popstate', this.handleSpaNavigation, true);\n window.removeEventListener('hashchange', this.handleSpaNavigation, true);\n\n // Safely remove portal from DOM\n try {\n if (this.portalEl.parentNode) {\n this.portalEl.parentNode.removeChild(this.portalEl);\n }\n } catch (error) {\n // Portal might have already been removed by test cleanup\n console.warn('Portal element could not be removed from DOM:', error);\n }\n\n this.portalEl = null;\n }\n\n // Remove ARIA attribute from trigger\n if (this.triggerEl !== null) {\n this.triggerEl.removeAttribute('aria-describedby');\n }\n this.contentDiv = null;\n }\n\n render() {\n const hostId = this.componentId || undefined;\n\n return (\n <Host id={hostId} class={{ 'pds-tooltip--is-open': this.opened }}>\n <span\n class=\"pds-tooltip__trigger\"\n onMouseEnter={this.handleShow}\n onMouseLeave={this.handleHide}\n /* focusin/out bubble; ensure keyboard users see tooltips */\n onFocusin={this.handleShow as any}\n onFocusout={this.handleHide as any}\n ref={el => this.triggerEl = el}\n >\n <slot />\n </span>\n <div class=\"pds-tooltip__content-slot-wrapper\" hidden>\n <slot name=\"content\"></slot>\n </div>\n </Host>\n );\n }\n}\n"],"names":[],"mappings":"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"}
@@ -1,2 +1,2 @@
1
1
  const a="data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' class='pdsicon'><path fill-rule='evenodd' d='M12 3a9 9 0 1 0 0 18 9 9 0 0 0 0-18M1 12C1 5.925 5.925 1 12 1s11 4.925 11 11-4.925 11-11 11S1 18.075 1 12m11-5a1 1 0 0 1 1 1v3h3a1 1 0 1 1 0 2h-3v3a1 1 0 1 1-2 0v-3H8a1 1 0 1 1 0-2h3V8a1 1 0 0 1 1-1'/></svg>";const s="data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' class='pdsicon'><path fill-rule='evenodd' d='M5.293 8.293a1 1 0 0 1 1.414 0L12 13.586l5.293-5.293a1 1 0 1 1 1.414 1.414l-6 6a1 1 0 0 1-1.414 0l-6-6a1 1 0 0 1 0-1.414'/></svg>";const c="data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' class='pdsicon'><path fill-rule='evenodd' d='M12 1C5.925 1 1 5.925 1 12s4.925 11 11 11 11-4.925 11-11S18.075 1 12 1m5.207 8.707a1 1 0 0 0-1.414-1.414L10.5 13.586l-2.293-2.293a1 1 0 0 0-1.414 1.414l3 3a1 1 0 0 0 1.414 0z'/></svg>";const v="data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' class='pdsicon'><path fill-rule='evenodd' d='M11.162 1h7.676c.528 0 .982 0 1.357.03.395.033.789.104 1.167.297a3 3 0 0 1 1.311 1.311c.193.378.264.772.296 1.167.031.375.031.83.031 1.356v7.678c0 .527 0 .981-.03 1.356-.033.395-.104.789-.297 1.167a3 3 0 0 1-1.311 1.311c-.378.193-.772.264-1.167.296-.375.031-.83.031-1.357.031H17v1.838c0 .528 0 .982-.03 1.357-.033.395-.104.789-.297 1.167a3 3 0 0 1-1.311 1.311c-.378.193-.772.264-1.167.296-.375.031-.83.031-1.356.031H5.16c-.527 0-.981 0-1.356-.03-.395-.033-.789-.104-1.167-.297a3 3 0 0 1-1.311-1.311c-.193-.378-.264-.772-.296-1.167C1 19.82 1 19.365 1 18.838v-7.677c0-.527 0-.981.03-1.356.033-.395.104-.789.297-1.167a3 3 0 0 1 1.311-1.311c.378-.193.772-.264 1.167-.296C4.18 7 4.635 7 5.161 7H7V5.161c0-.527 0-.981.03-1.356.033-.395.104-.789.297-1.167a3 3 0 0 1 1.311-1.311c.378-.193.772-.264 1.167-.296C10.18 1 10.635 1 11.162 1M5.2 9c-.577 0-.949 0-1.232.024-.272.022-.373.06-.422.085a1 1 0 0 0-.437.437c-.025.05-.063.15-.085.422C3 10.25 3 10.623 3 11.2v7.6c0 .577 0 .949.024 1.232.022.272.06.373.085.422a1 1 0 0 0 .437.437c.05.025.15.063.422.085C4.25 21 4.623 21 5.2 21h7.6c.577 0 .949 0 1.232-.024.272-.022.373-.06.422-.085a1 1 0 0 0 .437-.437c.025-.05.063-.15.085-.422C15 19.75 15 19.377 15 18.8v-7.6c0-.577 0-.949-.024-1.232-.022-.272-.06-.373-.085-.422a1 1 0 0 0-.437-.437c-.05-.025-.15-.063-.422-.085C13.75 9 13.377 9 12.8 9zM17 15v-3.838c0-.528 0-.982-.03-1.357-.033-.395-.104-.789-.297-1.167a3 3 0 0 0-1.311-1.311c-.378-.193-.772-.264-1.167-.296A18 18 0 0 0 12.838 7H9V5.2c0-.577 0-.949.024-1.232.022-.272.06-.373.085-.422a1 1 0 0 1 .437-.437c.05-.025.15-.063.422-.085C10.25 3 10.623 3 11.2 3h7.6c.577 0 .949 0 1.232.024.272.022.373.06.422.085a1 1 0 0 1 .437.437c.025.05.063.15.085.422C21 4.25 21 4.623 21 5.2v7.6c0 .577 0 .949-.024 1.232-.022.272-.06.373-.085.422a1 1 0 0 1-.437.437c-.05.025-.15.063-.422.085C19.75 15 19.377 15 18.8 15z'/></svg>";const l="data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' class='pdsicon'><path fill-rule='evenodd' d='M12 3a9 9 0 1 0 0 18 9 9 0 0 0 0-18M1 12C1 5.925 5.925 1 12 1s11 4.925 11 11-4.925 11-11 11S1 18.075 1 12m11-5a1 1 0 0 1 1 1v4a1 1 0 1 1-2 0V8a1 1 0 0 1 1-1m-1 9a1 1 0 0 1 1-1h.01a1 1 0 1 1 0 2H12a1 1 0 0 1-1-1'/></svg>";const t="data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' class='pdsicon'><path fill-rule='evenodd' d='M5.293 8.293a1 1 0 0 1 1.414 0L12 13.586l5.293-5.293a1 1 0 1 1 1.414 1.414l-6 6a1 1 0 0 1-1.414 0l-6-6a1 1 0 0 1 0-1.414'/></svg>";const g="data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' class='pdsicon'><path fill-rule='evenodd' d='M11.293 3.293a1 1 0 0 1 1.414 0l5 5a1 1 0 0 1-1.414 1.414L12 5.414 7.707 9.707a1 1 0 0 1-1.414-1.414zm-5 11a1 1 0 0 1 1.414 0L12 18.586l4.293-4.293a1 1 0 0 1 1.414 1.414l-5 5a1 1 0 0 1-1.414 0l-5-5a1 1 0 0 1 0-1.414'/></svg>";const o="data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' class='pdsicon'><path d='M2.833 7.5c-.46 0-.833.448-.833 1s.373 1 .833 1h18.334c.46 0 .833-.448.833-1s-.373-1-.833-1zM2.833 14.5c-.46 0-.833.448-.833 1s.373 1 .833 1h18.334c.46 0 .833-.448.833-1s-.373-1-.833-1z'/></svg>";const w="data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' class='pdsicon'><path fill-rule='evenodd' d='M14 3a1 1 0 0 1 1-1h6a1 1 0 0 1 1 1v6a1 1 0 1 1-2 0V5.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L18.586 4H15a1 1 0 0 1-1-1M7.759 4H10a1 1 0 1 1 0 2H7.8c-.857 0-1.439 0-1.889.038-.438.035-.663.1-.819.18a2 2 0 0 0-.874.874c-.08.156-.145.38-.18.819C4 8.361 4 8.943 4 9.8v6.4c0 .857 0 1.439.038 1.889.035.438.1.663.18.819a2 2 0 0 0 .874.874c.156.08.38.145.819.18C6.361 20 6.943 20 7.8 20h6.4c.857 0 1.439 0 1.889-.038.438-.035.663-.1.819-.18a2 2 0 0 0 .874-.874c.08-.156.145-.38.18-.819.037-.45.038-1.032.038-1.889V14a1 1 0 1 1 2 0v2.241c0 .805 0 1.47-.044 2.01-.046.563-.145 1.08-.392 1.565a4 4 0 0 1-1.748 1.748c-.485.247-1.002.346-1.564.392-.541.044-1.206.044-2.01.044H7.758c-.805 0-1.47 0-2.01-.044-.563-.046-1.08-.145-1.565-.392a4 4 0 0 1-1.748-1.748c-.247-.485-.346-1.002-.392-1.564C2 17.71 2 17.046 2 16.242V9.758c0-.805 0-1.47.044-2.01.046-.563.145-1.08.392-1.565a4 4 0 0 1 1.748-1.748c.485-.247 1.002-.346 1.564-.392C6.29 4 6.954 4 7.758 4'/></svg>";const d="data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' class='pdsicon'><path fill-rule='evenodd' d='M5.293 5.293a1 1 0 0 1 1.414 0L12 10.586l5.293-5.293a1 1 0 1 1 1.414 1.414L13.414 12l5.293 5.293a1 1 0 0 1-1.414 1.414L12 13.414l-5.293 5.293a1 1 0 0 1-1.414-1.414L10.586 12 5.293 6.707a1 1 0 0 1 0-1.414'/></svg>";const e="data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' class='pdsicon'><path fill-rule='evenodd' d='M11.162 1h1.676c.528 0 .982 0 1.357.03.395.033.789.104 1.167.297a3 3 0 0 1 1.311 1.311c.193.378.264.772.296 1.167.028.336.03.736.031 1.195h4a1 1 0 1 1 0 2h-1v10.241c0 .805 0 1.47-.044 2.01-.046.563-.145 1.08-.392 1.565a4 4 0 0 1-1.748 1.748c-.485.247-1.002.346-1.564.392-.541.044-1.206.044-2.01.044H9.758c-.805 0-1.47 0-2.01-.044-.563-.046-1.08-.145-1.565-.392a4 4 0 0 1-1.748-1.748c-.247-.485-.346-1.002-.392-1.564C4 18.71 4 18.046 4 17.242V7H3a1 1 0 1 1 0-2h4c0-.459.003-.86.03-1.195.033-.395.104-.789.297-1.167a3 3 0 0 1 1.311-1.311c.378-.193.772-.264 1.167-.296C10.18 1 10.635 1 11.162 1M6 7v10.2c0 .857 0 1.439.038 1.889.035.438.1.663.18.819a2 2 0 0 0 .874.874c.156.08.38.145.819.18C8.361 21 8.943 21 9.8 21h4.4c.857 0 1.439 0 1.889-.038.438-.035.663-.1.819-.18a2 2 0 0 0 .874-.874c.08-.156.145-.38.18-.819.037-.45.038-1.032.038-1.889V7zm9-2H9c0-.465.004-.783.024-1.032.022-.272.06-.373.085-.422a1 1 0 0 1 .437-.437c.05-.025.15-.063.422-.085C10.25 3 10.623 3 11.2 3h1.6c.577 0 .949 0 1.232.024.272.022.373.06.422.085a1 1 0 0 1 .437.437c.025.05.063.15.085.422.02.249.023.567.024 1.032m-5 5.5a1 1 0 0 1 1 1v5a1 1 0 1 1-2 0v-5a1 1 0 0 1 1-1m4 0a1 1 0 0 1 1 1v5a1 1 0 1 1-2 0v-5a1 1 0 0 1 1-1'/></svg>";const i="data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' class='pdsicon'><path fill-rule='evenodd' d='M11.293 8.293a1 1 0 0 1 1.414 0l6 6a1 1 0 0 1-1.414 1.414L12 10.414l-5.293 5.293a1 1 0 0 1-1.414-1.414z'/></svg>";const n="data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' class='pdsicon'><path fill-rule='evenodd' d='M8.786 14.5h6.428c.727 0 1.222 0 1.654.076a5 5 0 0 1 4.056 4.056c.076.432.076.927.076 1.654 0 .158.005.318-.023.474a1.5 1.5 0 0 1-1.216 1.217c-.137.024-.28.023-.351.023Q12 21.961 4.59 22c-.07 0-.214.001-.35-.023a1.5 1.5 0 0 1-1.217-1.216c-.028-.157-.023-.317-.023-.475 0-.727 0-1.222.076-1.654a5 5 0 0 1 4.056-4.056c.432-.076.927-.076 1.654-.076M6.5 7.5a5.5 5.5 0 1 1 11 0 5.5 5.5 0 0 1-11 0'/></svg>";export{v as a,l as b,c,t as d,g as e,a as f,s as g,o as h,i,w as l,d as r,e as t,n as u};
2
- //# sourceMappingURL=p-Bmf4Ow_8.js.map
2
+ //# sourceMappingURL=p-D4ys0pep.js.map