@pine-ds/core 5.0.0-mercury.0 → 5.0.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 (1473) hide show
  1. package/components/aria-references.js +1 -0
  2. package/components/attributes.js +1 -0
  3. package/components/closest.js +1 -11
  4. package/components/floating-ui.dom.js +1 -0
  5. package/components/form.js +1 -0
  6. package/components/i18n-format.js +1 -0
  7. package/components/index.d.ts +51 -0
  8. package/components/index.js +1 -33
  9. package/components/index2.js +1 -14
  10. package/components/keep-hydrated.js +1 -0
  11. package/components/mock-pds-modal.d.ts +11 -0
  12. package/components/mock-pds-modal.js +1 -0
  13. package/components/pds-accordion.js +1 -68
  14. package/components/pds-alert.d.ts +11 -0
  15. package/components/pds-alert.js +1 -0
  16. package/components/pds-avatar.js +1 -103
  17. package/components/pds-box.js +1 -124
  18. package/components/pds-box2.js +1 -0
  19. package/components/pds-button.js +1 -8
  20. package/components/pds-button2.js +1 -84
  21. package/components/pds-checkbox.js +1 -8
  22. package/components/pds-checkbox2.js +1 -101
  23. package/components/pds-chip.js +1 -78
  24. package/components/pds-chip2.js +1 -0
  25. package/components/pds-combobox.d.ts +11 -0
  26. package/components/pds-combobox.js +2 -0
  27. package/components/pds-container.d.ts +11 -0
  28. package/components/pds-container.js +1 -0
  29. package/components/pds-copytext.js +1 -88
  30. package/components/pds-datepicker.d.ts +11 -0
  31. package/components/pds-datepicker.js +1 -0
  32. package/components/pds-divider.js +1 -54
  33. package/components/pds-drawer-content.d.ts +11 -0
  34. package/components/pds-drawer-content.js +1 -0
  35. package/components/pds-drawer-footer.d.ts +11 -0
  36. package/components/pds-drawer-footer.js +1 -0
  37. package/components/pds-drawer-header.d.ts +11 -0
  38. package/components/pds-drawer-header.js +1 -0
  39. package/components/pds-drawer.d.ts +11 -0
  40. package/components/pds-drawer.js +1 -0
  41. package/components/pds-dropdown-menu-item.d.ts +11 -0
  42. package/components/pds-dropdown-menu-item.js +1 -0
  43. package/components/pds-dropdown-menu-separator.d.ts +11 -0
  44. package/components/pds-dropdown-menu-separator.js +1 -0
  45. package/components/pds-dropdown-menu.d.ts +11 -0
  46. package/components/pds-dropdown-menu.js +1 -0
  47. package/components/pds-filter.d.ts +11 -0
  48. package/components/pds-filter.js +1 -0
  49. package/components/pds-filters.d.ts +11 -0
  50. package/components/pds-filters.js +1 -0
  51. package/components/pds-icon.js +1 -8
  52. package/components/pds-icon2.js +1 -370
  53. package/components/pds-image.js +1 -55
  54. package/components/pds-input.js +1 -72
  55. package/components/pds-input2.js +1 -0
  56. package/components/pds-link.js +1 -65
  57. package/components/pds-link2.js +1 -0
  58. package/components/pds-loader.js +1 -68
  59. package/components/pds-loader2.js +1 -0
  60. package/components/pds-modal-content.d.ts +11 -0
  61. package/components/pds-modal-content.js +1 -0
  62. package/components/pds-modal-footer.d.ts +11 -0
  63. package/components/pds-modal-footer.js +1 -0
  64. package/components/pds-modal-header.d.ts +11 -0
  65. package/components/pds-modal-header.js +1 -0
  66. package/components/pds-modal.d.ts +11 -0
  67. package/components/pds-modal.js +1 -0
  68. package/components/pds-modal2.js +1 -0
  69. package/components/pds-multiselect.d.ts +11 -0
  70. package/components/pds-multiselect.js +1 -0
  71. package/components/pds-popover.d.ts +11 -0
  72. package/components/pds-popover.js +1 -0
  73. package/components/pds-progress.js +1 -49
  74. package/components/pds-property.d.ts +11 -0
  75. package/components/pds-property.js +1 -0
  76. package/components/pds-radio-group.d.ts +11 -0
  77. package/components/pds-radio-group.js +1 -0
  78. package/components/pds-radio.js +1 -78
  79. package/components/pds-row.js +1 -72
  80. package/components/pds-select.d.ts +11 -0
  81. package/components/pds-select.js +1 -0
  82. package/components/pds-sortable-item.js +1 -58
  83. package/components/pds-sortable.js +3 -2718
  84. package/components/pds-switch.js +1 -82
  85. package/components/pds-tab.js +1 -53
  86. package/components/pds-table-body.js +1 -36
  87. package/components/pds-table-cell.js +1 -8
  88. package/components/pds-table-cell2.js +1 -72
  89. package/components/pds-table-head-cell.js +1 -8
  90. package/components/pds-table-head-cell2.js +1 -98
  91. package/components/pds-table-head.js +1 -90
  92. package/components/pds-table-row.js +1 -95
  93. package/components/pds-table.js +1 -124
  94. package/components/pds-tabpanel.js +1 -45
  95. package/components/pds-tabs.js +1 -119
  96. package/components/pds-text.d.ts +11 -0
  97. package/components/pds-text.js +1 -0
  98. package/components/pds-text2.js +1 -0
  99. package/components/pds-textarea.js +1 -82
  100. package/components/pds-toast.d.ts +11 -0
  101. package/components/pds-toast.js +1 -0
  102. package/components/pds-tooltip.js +1 -178
  103. package/components/portal-target.js +1 -0
  104. package/components/reconnected-content.js +1 -0
  105. package/components/reflected-attribute-default.js +1 -0
  106. package/components/scroll.js +1 -0
  107. package/components/sortable-label.js +1 -0
  108. package/components/tabbable.js +1 -0
  109. package/components/truncation-tooltip.js +1 -0
  110. package/components/utils.js +1 -0
  111. package/dist/cjs/aria-references-CUmqibnO.js +54 -0
  112. package/dist/cjs/attributes-Cgbkw6gO.js +188 -0
  113. package/dist/cjs/closest-D0qyYtJ3.js +20 -0
  114. package/dist/cjs/floating-ui.dom-Dw41zbyY.js +1715 -0
  115. package/dist/cjs/form-MhwfKTuo.js +69 -0
  116. package/dist/cjs/i18n-format-BD0PmYzT.js +65 -0
  117. package/dist/cjs/index-BDnbr0DK.js +39 -0
  118. package/dist/cjs/index-D9iJuJCP.js +2950 -0
  119. package/dist/cjs/index.cjs.js +21 -2
  120. package/dist/cjs/keep-hydrated-AKoh0DG4.js +197 -0
  121. package/dist/cjs/loader.cjs.js +4 -8
  122. package/dist/cjs/mock-pds-modal.cjs.entry.js +92 -0
  123. package/dist/cjs/pds-accordion.cjs.entry.js +16 -14
  124. package/dist/cjs/pds-alert.cjs.entry.js +88 -0
  125. package/dist/cjs/pds-avatar.cjs.entry.js +123 -28
  126. package/dist/cjs/pds-box.cjs.entry.js +143 -58
  127. package/dist/cjs/pds-button.cjs.entry.js +234 -25
  128. package/dist/cjs/pds-checkbox.cjs.entry.js +102 -26
  129. package/dist/cjs/pds-chip.cjs.entry.js +226 -23
  130. package/dist/cjs/pds-combobox.cjs.entry.js +4500 -0
  131. package/dist/cjs/pds-container.cjs.entry.js +37 -0
  132. package/dist/cjs/pds-copytext.cjs.entry.js +98 -17
  133. package/dist/cjs/pds-datepicker.cjs.entry.js +2139 -0
  134. package/dist/cjs/pds-divider.cjs.entry.js +16 -11
  135. package/dist/cjs/pds-drawer-content.cjs.entry.js +24 -0
  136. package/dist/cjs/pds-drawer-footer.cjs.entry.js +24 -0
  137. package/dist/cjs/pds-drawer-header.cjs.entry.js +24 -0
  138. package/dist/cjs/pds-drawer.cjs.entry.js +156 -0
  139. package/dist/cjs/pds-dropdown-menu-item.cjs.entry.js +151 -0
  140. package/dist/cjs/pds-dropdown-menu-separator.cjs.entry.js +23 -0
  141. package/dist/cjs/pds-dropdown-menu.cjs.entry.js +453 -0
  142. package/dist/cjs/pds-filter.cjs.entry.js +512 -0
  143. package/dist/cjs/pds-filters.cjs.entry.js +18 -0
  144. package/dist/cjs/pds-icon.cjs.entry.js +334 -44
  145. package/dist/cjs/pds-image.cjs.entry.js +158 -16
  146. package/dist/cjs/pds-input.cjs.entry.js +300 -26
  147. package/dist/cjs/pds-link.cjs.entry.js +50 -13
  148. package/dist/cjs/pds-loader.cjs.entry.js +49 -14
  149. package/dist/cjs/pds-modal-content.cjs.entry.js +199 -0
  150. package/dist/cjs/pds-modal-footer.cjs.entry.js +24 -0
  151. package/dist/cjs/pds-modal-header.cjs.entry.js +24 -0
  152. package/dist/cjs/pds-modal.cjs.entry.js +592 -0
  153. package/dist/cjs/pds-multiselect.cjs.entry.js +1384 -0
  154. package/dist/cjs/pds-popover.cjs.entry.js +1103 -0
  155. package/dist/cjs/pds-progress.cjs.entry.js +30 -12
  156. package/dist/cjs/pds-property.cjs.entry.js +22 -0
  157. package/dist/cjs/pds-radio-group.cjs.entry.js +260 -0
  158. package/dist/cjs/pds-radio.cjs.entry.js +101 -23
  159. package/dist/cjs/pds-row.cjs.entry.js +50 -21
  160. package/dist/cjs/pds-select.cjs.entry.js +380 -0
  161. package/dist/cjs/pds-sortable-item.cjs.entry.js +59 -11
  162. package/dist/cjs/pds-sortable.cjs.entry.js +504 -119
  163. package/dist/cjs/pds-switch.cjs.entry.js +185 -27
  164. package/dist/cjs/pds-tab.cjs.entry.js +78 -16
  165. package/dist/cjs/pds-table-body.cjs.entry.js +5 -9
  166. package/dist/cjs/pds-table-cell.cjs.entry.js +150 -19
  167. package/dist/cjs/pds-table-head-cell.cjs.entry.js +222 -30
  168. package/dist/cjs/pds-table-head.cjs.entry.js +17 -13
  169. package/dist/cjs/pds-table-row.cjs.entry.js +104 -16
  170. package/dist/cjs/pds-table.cjs.entry.js +434 -22
  171. package/dist/cjs/pds-tabpanel.cjs.entry.js +32 -13
  172. package/dist/cjs/pds-tabs.cjs.entry.js +206 -18
  173. package/dist/cjs/pds-text.cjs.entry.js +141 -0
  174. package/dist/cjs/pds-textarea.cjs.entry.js +318 -29
  175. package/dist/cjs/pds-toast.cjs.entry.js +156 -0
  176. package/dist/cjs/pds-tooltip.cjs.entry.js +401 -110
  177. package/dist/cjs/pine-core.cjs.js +8 -10
  178. package/dist/cjs/portal-target-e8WQ6dLx.js +70 -0
  179. package/dist/cjs/reconnected-content-CpnEQcTp.js +29 -0
  180. package/dist/cjs/reflected-attribute-default-DVYHG6O1.js +44 -0
  181. package/dist/cjs/scroll-2XcoE_6Q.js +79 -0
  182. package/dist/cjs/sortable-label-DOcJrHvA.js +37 -0
  183. package/dist/cjs/tabbable-BrrrGvdG.js +86 -0
  184. package/dist/cjs/truncation-tooltip-CM5HgRHh.js +430 -0
  185. package/dist/cjs/utils-BhRmyxT8.js +121 -0
  186. package/dist/collection/collection-manifest.json +30 -3
  187. package/dist/collection/components/_internal/pds-label/pds-label.js +0 -1
  188. package/dist/collection/components/pds-accordion/pds-accordion.css +24 -29
  189. package/dist/collection/components/pds-accordion/pds-accordion.js +36 -9
  190. package/dist/collection/components/pds-accordion/stories/pds-accordion.stories.js +12 -18
  191. package/dist/collection/components/pds-alert/pds-alert.css +141 -0
  192. package/dist/collection/components/pds-alert/pds-alert.js +291 -0
  193. package/dist/collection/components/pds-alert/pds-alert.tokens.css +85 -0
  194. package/dist/collection/components/pds-alert/stories/pds-alert.stories.js +114 -0
  195. package/dist/collection/components/pds-avatar/pds-avatar.css +56 -23
  196. package/dist/collection/components/pds-avatar/pds-avatar.js +284 -32
  197. package/dist/collection/components/pds-avatar/stories/pds-avatar.stories.js +41 -3
  198. package/dist/collection/components/pds-box/pds-box.css +5520 -264
  199. package/dist/collection/components/pds-box/pds-box.js +2854 -252
  200. package/dist/collection/components/pds-box/stories/pds-box.stories.js +86 -30
  201. package/dist/collection/components/pds-button/pds-button.css +255 -93
  202. package/dist/collection/components/pds-button/pds-button.js +470 -40
  203. package/dist/collection/components/pds-button/stories/pds-button.stories.js +242 -16
  204. package/dist/collection/components/pds-checkbox/checkbox-interface.js +0 -1
  205. package/dist/collection/components/pds-checkbox/pds-checkbox.css +168 -60
  206. package/dist/collection/components/pds-checkbox/pds-checkbox.js +186 -54
  207. package/dist/collection/components/pds-checkbox/stories/pds-checkbox.stories.js +45 -15
  208. package/dist/collection/components/pds-chip/pds-chip.css +239 -114
  209. package/dist/collection/components/pds-chip/pds-chip.js +437 -60
  210. package/dist/collection/components/pds-chip/pds-chip.tokens.css +69 -0
  211. package/dist/collection/components/pds-chip/stories/pds-chip.stories.js +164 -24
  212. package/dist/collection/components/pds-combobox/combobox-interface.js +1 -0
  213. package/dist/collection/components/pds-combobox/grouped-options-panel.js +318 -0
  214. package/dist/collection/components/pds-combobox/pds-combobox.css +953 -0
  215. package/dist/collection/components/pds-combobox/pds-combobox.js +3839 -0
  216. package/dist/collection/components/pds-combobox/stories/pds-combobox.stories.js +934 -0
  217. package/dist/collection/components/pds-container/pds-container.css +26 -0
  218. package/dist/collection/components/pds-container/pds-container.js +111 -0
  219. package/dist/collection/components/pds-container/stories/pds-container.stories.js +89 -0
  220. package/dist/collection/components/pds-copytext/pds-copytext.css +39 -51
  221. package/dist/collection/components/pds-copytext/pds-copytext.js +116 -23
  222. package/dist/collection/components/pds-copytext/stories/pds-copytext.stories.js +6 -12
  223. package/dist/collection/components/pds-datepicker/calendar-portal.js +99 -0
  224. package/dist/collection/components/pds-datepicker/date-utils.js +174 -0
  225. package/dist/collection/components/pds-datepicker/datepicker-interface.js +1 -0
  226. package/dist/collection/components/pds-datepicker/pds-datepicker.css +547 -0
  227. package/dist/collection/components/pds-datepicker/pds-datepicker.js +2505 -0
  228. package/dist/collection/components/pds-datepicker/presets.js +131 -0
  229. package/dist/collection/components/pds-datepicker/stories/pds-datepicker.stories.js +206 -0
  230. package/dist/collection/components/pds-datepicker/value.js +296 -0
  231. package/dist/collection/components/pds-divider/pds-divider.css +71 -40
  232. package/dist/collection/components/pds-divider/pds-divider.js +47 -11
  233. package/dist/collection/components/pds-divider/stories/pds-divider.stories.js +7 -2
  234. package/dist/collection/components/pds-drawer/pds-drawer-content/pds-drawer-content.css +22 -0
  235. package/dist/collection/components/pds-drawer/pds-drawer-content/pds-drawer-content.js +27 -0
  236. package/dist/collection/components/pds-drawer/pds-drawer-footer/pds-drawer-footer.css +15 -0
  237. package/dist/collection/components/pds-drawer/pds-drawer-footer/pds-drawer-footer.js +27 -0
  238. package/dist/collection/components/pds-drawer/pds-drawer-header/pds-drawer-header.css +15 -0
  239. package/dist/collection/components/pds-drawer/pds-drawer-header/pds-drawer-header.js +27 -0
  240. package/dist/collection/components/pds-drawer/pds-drawer.css +47 -0
  241. package/dist/collection/components/pds-drawer/pds-drawer.js +405 -0
  242. package/dist/collection/components/pds-drawer/stories/pds-drawer.stories.js +77 -0
  243. package/dist/collection/components/pds-dropdown-menu/pds-dropdown-menu-item/pds-dropdown-menu-item.css +93 -0
  244. package/dist/collection/components/pds-dropdown-menu/pds-dropdown-menu-item/pds-dropdown-menu-item.js +398 -0
  245. package/dist/collection/components/pds-dropdown-menu/pds-dropdown-menu-separator/pds-dropdown-menu-separator.css +7 -0
  246. package/dist/collection/components/pds-dropdown-menu/pds-dropdown-menu-separator/pds-dropdown-menu-separator.js +71 -0
  247. package/dist/collection/components/pds-dropdown-menu/pds-dropdown-menu.css +68 -0
  248. package/dist/collection/components/pds-dropdown-menu/pds-dropdown-menu.js +545 -0
  249. package/dist/collection/components/pds-dropdown-menu/stories/pds-dropdown-menu.stories.js +100 -0
  250. package/dist/collection/components/pds-filters/pds-filter/filter-interface.js +1 -0
  251. package/dist/collection/components/pds-filters/pds-filter/pds-filter.css +200 -0
  252. package/dist/collection/components/pds-filters/pds-filter/pds-filter.js +756 -0
  253. package/dist/collection/components/pds-filters/pds-filter/stories/pds-filter.stories.js +87 -0
  254. package/dist/collection/components/pds-filters/pds-filters.css +10 -0
  255. package/dist/collection/components/pds-filters/pds-filters.js +44 -0
  256. package/dist/collection/components/pds-filters/stories/pds-filters.stories.js +34 -0
  257. package/dist/collection/components/pds-icon/stories/pds-icon.stories.js +2 -2
  258. package/dist/collection/components/pds-image/image-interface.js +1 -0
  259. package/dist/collection/components/pds-image/pds-image.css +13 -1
  260. package/dist/collection/components/pds-image/pds-image.js +297 -31
  261. package/dist/collection/components/pds-image/stories/pds-image.stories.js +124 -8
  262. package/dist/collection/components/pds-input/input-interface.js +1 -0
  263. package/dist/collection/components/pds-input/pds-input.css +275 -63
  264. package/dist/collection/components/pds-input/pds-input.js +687 -57
  265. package/dist/collection/components/pds-input/pds-input.tokens.css +3 -0
  266. package/dist/collection/components/pds-input/stories/pds-input.stories.js +310 -14
  267. package/dist/collection/components/pds-link/pds-link.css +45 -30
  268. package/dist/collection/components/pds-link/pds-link.js +332 -19
  269. package/dist/collection/components/pds-link/stories/pds-link.stories.js +82 -4
  270. package/dist/collection/components/pds-loader/pds-loader.css +17 -30
  271. package/dist/collection/components/pds-loader/pds-loader.js +62 -14
  272. package/dist/collection/components/pds-loader/stories/pds-loader.stories.js +3 -5
  273. package/dist/collection/components/pds-modal/pds-modal-content/pds-modal-content.css +25 -0
  274. package/dist/collection/components/pds-modal/pds-modal-content/pds-modal-content.js +235 -0
  275. package/dist/collection/components/pds-modal/pds-modal-footer/pds-modal-footer.css +8 -0
  276. package/dist/collection/components/pds-modal/pds-modal-footer/pds-modal-footer.js +27 -0
  277. package/dist/collection/components/pds-modal/pds-modal-header/pds-modal-header.css +8 -0
  278. package/dist/collection/components/pds-modal/pds-modal-header/pds-modal-header.js +27 -0
  279. package/dist/collection/components/pds-modal/pds-modal.css +142 -0
  280. package/dist/collection/components/pds-modal/pds-modal.js +852 -0
  281. package/dist/collection/components/pds-modal/stories/pds-modal.stories.js +745 -0
  282. package/dist/collection/components/pds-modal/test/mock-pds-modal.js +286 -0
  283. package/dist/collection/components/pds-multiselect/multiselect-interface.js +1 -0
  284. package/dist/collection/components/pds-multiselect/pds-multiselect.css +365 -0
  285. package/dist/collection/components/pds-multiselect/pds-multiselect.js +2597 -0
  286. package/dist/collection/components/pds-multiselect/stories/pds-multiselect.stories.js +866 -0
  287. package/dist/collection/components/pds-popover/pds-popover.css +16 -0
  288. package/dist/collection/components/pds-popover/pds-popover.js +1347 -0
  289. package/dist/collection/components/pds-popover/popover-interface.js +1 -0
  290. package/dist/collection/components/pds-popover/stories/pds-popover.stories.js +117 -0
  291. package/dist/collection/components/pds-progress/pds-progress.css +11 -24
  292. package/dist/collection/components/pds-progress/pds-progress.js +49 -16
  293. package/dist/collection/components/pds-progress/stories/pds-progress.stories.js +2 -4
  294. package/dist/collection/components/pds-property/pds-property.css +4 -0
  295. package/dist/collection/components/pds-property/pds-property.js +70 -0
  296. package/dist/collection/components/pds-property/stories/pds-property.stories.js +16 -0
  297. package/dist/collection/components/pds-radio/pds-radio.css +285 -54
  298. package/dist/collection/components/pds-radio/pds-radio.js +226 -53
  299. package/dist/collection/components/pds-radio/stories/pds-radio.stories.js +66 -19
  300. package/dist/collection/components/pds-radio-group/pds-radio-group.css +45 -0
  301. package/dist/collection/components/pds-radio-group/pds-radio-group.js +514 -0
  302. package/dist/collection/components/pds-radio-group/radio-group-interface.js +1 -0
  303. package/dist/collection/components/pds-radio-group/stories/pds-radio-group.stories.js +179 -0
  304. package/dist/collection/components/pds-row/pds-row.css +10 -9
  305. package/dist/collection/components/pds-row/pds-row.js +132 -30
  306. package/dist/collection/components/pds-row/stories/pds-row.stories.js +27 -24
  307. package/dist/collection/components/pds-select/pds-select.css +168 -0
  308. package/dist/collection/components/pds-select/pds-select.js +728 -0
  309. package/dist/collection/components/pds-select/pds-select.tokens.css +3 -0
  310. package/dist/collection/components/pds-select/stories/pds-select.stories.js +205 -0
  311. package/dist/collection/components/pds-sortable/pds-sortable-item/pds-sortable-item.css +64 -26
  312. package/dist/collection/components/pds-sortable/pds-sortable-item/pds-sortable-item.js +87 -10
  313. package/dist/collection/components/pds-sortable/pds-sortable-item/stories/pds-sortable-item.stories.js +0 -2
  314. package/dist/collection/components/pds-sortable/pds-sortable.css +2 -4
  315. package/dist/collection/components/pds-sortable/pds-sortable.js +571 -17
  316. package/dist/collection/components/pds-sortable/sortable-interface.js +0 -1
  317. package/dist/collection/components/pds-sortable/sortable-label.js +33 -0
  318. package/dist/collection/components/pds-sortable/stories/pds-sortable.stories.js +49 -13
  319. package/dist/collection/components/pds-switch/pds-switch.css +60 -59
  320. package/dist/collection/components/pds-switch/pds-switch.js +268 -63
  321. package/dist/collection/components/pds-switch/stories/pds-switch.stories.js +90 -28
  322. package/dist/collection/components/pds-table/pds-table-body/pds-table-body.js +4 -2
  323. package/dist/collection/components/pds-table/pds-table-cell/pds-table-cell.css +36 -19
  324. package/dist/collection/components/pds-table/pds-table-cell/pds-table-cell.js +193 -15
  325. package/dist/collection/components/pds-table/pds-table-cell/stories/pds-table-cell.stories.js +22 -7
  326. package/dist/collection/components/pds-table/pds-table-head/pds-table-head.css +22 -5
  327. package/dist/collection/components/pds-table/pds-table-head/pds-table-head.js +75 -11
  328. package/dist/collection/components/pds-table/pds-table-head-cell/pds-table-head-cell.css +57 -25
  329. package/dist/collection/components/pds-table/pds-table-head-cell/pds-table-head-cell.js +328 -24
  330. package/dist/collection/components/pds-table/pds-table-head-cell/stories/pds-table-head-cell.stories.js +12 -7
  331. package/dist/collection/components/pds-table/pds-table-row/pds-table-row.css +14 -5
  332. package/dist/collection/components/pds-table/pds-table-row/pds-table-row.js +118 -13
  333. package/dist/collection/components/pds-table/pds-table-row/stories/pds-table-row.stories.js +3 -9
  334. package/dist/collection/components/pds-table/pds-table.css +106 -17
  335. package/dist/collection/components/pds-table/pds-table.js +576 -44
  336. package/dist/collection/components/pds-table/stories/pds-table.stories.js +428 -33
  337. package/dist/collection/components/pds-tabs/pds-tab/pds-tab.css +102 -60
  338. package/dist/collection/components/pds-tabs/pds-tab/pds-tab.js +240 -18
  339. package/dist/collection/components/pds-tabs/pds-tab/stories/pds-tab.stories.js +15 -0
  340. package/dist/collection/components/pds-tabs/pds-tabpanel/pds-tabpanel.css +15 -2
  341. package/dist/collection/components/pds-tabs/pds-tabpanel/pds-tabpanel.js +68 -12
  342. package/dist/collection/components/pds-tabs/pds-tabpanel/stories/pds-tabpanel.stories.js +15 -0
  343. package/dist/collection/components/pds-tabs/pds-tabs.css +31 -11
  344. package/dist/collection/components/pds-tabs/pds-tabs.js +301 -30
  345. package/dist/collection/components/pds-tabs/stories/pds-tabs.stories.js +70 -27
  346. package/dist/collection/components/pds-text/pds-text.css +207 -0
  347. package/dist/collection/components/pds-text/pds-text.js +328 -0
  348. package/dist/collection/components/pds-text/stories/pds-text.stories.js +141 -0
  349. package/dist/collection/components/pds-textarea/pds-textarea.css +127 -57
  350. package/dist/collection/components/pds-textarea/pds-textarea.js +598 -57
  351. package/dist/collection/components/pds-textarea/stories/pds-textarea.stories.js +101 -25
  352. package/dist/collection/components/pds-textarea/textarea-interface.js +0 -1
  353. package/dist/collection/components/pds-toast/pds-toast.css +167 -0
  354. package/dist/collection/components/pds-toast/pds-toast.js +362 -0
  355. package/dist/collection/components/pds-toast/stories/pds-toast.stories.js +98 -0
  356. package/dist/collection/components/pds-tooltip/pds-tooltip.css +73 -79
  357. package/dist/collection/components/pds-tooltip/pds-tooltip.js +451 -80
  358. package/dist/collection/components/pds-tooltip/stories/pds-tooltip.stories.js +52 -24
  359. package/dist/collection/global/pine-global.js +6 -0
  360. package/dist/collection/global/pine-ui-global.js +0 -1
  361. package/dist/collection/global/styles/utils/label.css +17 -0
  362. package/dist/collection/i18n/i18n-format.js +59 -0
  363. package/dist/collection/i18n/index.js +1 -0
  364. package/dist/collection/index.js +3 -1
  365. package/dist/collection/utils/aria-references.js +48 -0
  366. package/dist/collection/utils/attributes.js +180 -0
  367. package/dist/collection/utils/closest.js +8 -1
  368. package/dist/collection/utils/css.js +41 -0
  369. package/dist/collection/utils/form.js +41 -8
  370. package/dist/collection/utils/interfaces.js +1 -0
  371. package/dist/collection/utils/keep-hydrated.js +188 -0
  372. package/dist/collection/utils/overlay.js +66 -50
  373. package/dist/collection/utils/portal-target.js +64 -0
  374. package/dist/collection/utils/reconnected-content.js +25 -0
  375. package/dist/collection/utils/reflected-attribute-default.js +40 -0
  376. package/dist/collection/utils/scroll.js +77 -0
  377. package/dist/collection/utils/tabbable.js +82 -0
  378. package/dist/collection/utils/test/axe.js +106 -0
  379. package/dist/collection/utils/test/host-strip.js +50 -0
  380. package/dist/collection/utils/test/reconnect-safety.js +31 -0
  381. package/dist/collection/utils/test/reduced-motion.js +78 -0
  382. package/dist/collection/utils/truncation-tooltip.js +422 -0
  383. package/dist/collection/utils/types.js +18 -2
  384. package/dist/collection/utils/utils.js +109 -4
  385. package/dist/docs.d.ts +45 -0
  386. package/dist/docs.json +25718 -2809
  387. package/dist/esm/aria-references-CNn1lObg.js +50 -0
  388. package/dist/esm/attributes-CD8knu3a.js +183 -0
  389. package/dist/esm/closest-DHPzKMVS.js +17 -0
  390. package/dist/esm/floating-ui.dom-Cuc0DYlm.js +1706 -0
  391. package/dist/esm/form-BuRbS7Hp.js +63 -0
  392. package/dist/esm/i18n-format-BJgZHCWe.js +61 -0
  393. package/dist/esm/index-4_RRPJTO.js +2938 -0
  394. package/dist/esm/index-B0DXTeeV.js +21 -0
  395. package/dist/esm/index.js +21 -2
  396. package/dist/esm/keep-hydrated-BgNaWLoS.js +190 -0
  397. package/dist/esm/loader.js +4 -6
  398. package/dist/esm/mock-pds-modal.entry.js +90 -0
  399. package/dist/esm/pds-accordion.entry.js +16 -12
  400. package/dist/esm/pds-alert.entry.js +86 -0
  401. package/dist/esm/pds-avatar.entry.js +123 -26
  402. package/dist/esm/pds-box.entry.js +143 -56
  403. package/dist/esm/pds-button.entry.js +233 -22
  404. package/dist/esm/pds-checkbox.entry.js +103 -25
  405. package/dist/esm/pds-chip.entry.js +227 -22
  406. package/dist/esm/pds-combobox.entry.js +4498 -0
  407. package/dist/esm/pds-container.entry.js +35 -0
  408. package/dist/esm/pds-copytext.entry.js +98 -15
  409. package/dist/esm/pds-datepicker.entry.js +2137 -0
  410. package/dist/esm/pds-divider.entry.js +16 -9
  411. package/dist/esm/pds-drawer-content.entry.js +22 -0
  412. package/dist/esm/pds-drawer-footer.entry.js +22 -0
  413. package/dist/esm/pds-drawer-header.entry.js +22 -0
  414. package/dist/esm/pds-drawer.entry.js +154 -0
  415. package/dist/esm/pds-dropdown-menu-item.entry.js +149 -0
  416. package/dist/esm/pds-dropdown-menu-separator.entry.js +21 -0
  417. package/dist/esm/pds-dropdown-menu.entry.js +451 -0
  418. package/dist/esm/pds-filter.entry.js +510 -0
  419. package/dist/esm/pds-filters.entry.js +16 -0
  420. package/dist/esm/pds-icon.entry.js +334 -42
  421. package/dist/esm/pds-image.entry.js +158 -14
  422. package/dist/esm/pds-input.entry.js +301 -25
  423. package/dist/esm/pds-link.entry.js +50 -11
  424. package/dist/esm/pds-loader.entry.js +49 -12
  425. package/dist/esm/pds-modal-content.entry.js +197 -0
  426. package/dist/esm/pds-modal-footer.entry.js +22 -0
  427. package/dist/esm/pds-modal-header.entry.js +22 -0
  428. package/dist/esm/pds-modal.entry.js +590 -0
  429. package/dist/esm/pds-multiselect.entry.js +1382 -0
  430. package/dist/esm/pds-popover.entry.js +1101 -0
  431. package/dist/esm/pds-progress.entry.js +30 -10
  432. package/dist/esm/pds-property.entry.js +20 -0
  433. package/dist/esm/pds-radio-group.entry.js +258 -0
  434. package/dist/esm/pds-radio.entry.js +102 -22
  435. package/dist/esm/pds-row.entry.js +50 -19
  436. package/dist/esm/pds-select.entry.js +378 -0
  437. package/dist/esm/pds-sortable-item.entry.js +59 -9
  438. package/dist/esm/pds-sortable.entry.js +504 -117
  439. package/dist/esm/pds-switch.entry.js +186 -26
  440. package/dist/esm/pds-tab.entry.js +78 -14
  441. package/dist/esm/pds-table-body.entry.js +5 -7
  442. package/dist/esm/pds-table-cell.entry.js +150 -17
  443. package/dist/esm/pds-table-head-cell.entry.js +222 -28
  444. package/dist/esm/pds-table-head.entry.js +17 -11
  445. package/dist/esm/pds-table-row.entry.js +104 -14
  446. package/dist/esm/pds-table.entry.js +434 -20
  447. package/dist/esm/pds-tabpanel.entry.js +32 -11
  448. package/dist/esm/pds-tabs.entry.js +206 -16
  449. package/dist/esm/pds-text.entry.js +139 -0
  450. package/dist/esm/pds-textarea.entry.js +319 -28
  451. package/dist/esm/pds-toast.entry.js +154 -0
  452. package/dist/esm/pds-tooltip.entry.js +401 -108
  453. package/dist/esm/pine-core.js +6 -7
  454. package/dist/esm/portal-target-CKRzRKdO.js +66 -0
  455. package/dist/esm/reconnected-content-RFpTWV6r.js +27 -0
  456. package/dist/esm/reflected-attribute-default-t3idJwV0.js +42 -0
  457. package/dist/esm/scroll-DtgUQhjl.js +75 -0
  458. package/dist/esm/sortable-label-PItnzVVR.js +35 -0
  459. package/dist/esm/tabbable-C6ZWpp3v.js +84 -0
  460. package/dist/esm/truncation-tooltip-CkIWm6Z-.js +425 -0
  461. package/dist/esm/utils-OYK5-nwe.js +114 -0
  462. package/dist/esm-es5/aria-references-CNn1lObg.js +1 -0
  463. package/dist/esm-es5/attributes-CD8knu3a.js +1 -0
  464. package/dist/esm-es5/closest-DHPzKMVS.js +1 -0
  465. package/dist/esm-es5/floating-ui.dom-Cuc0DYlm.js +1 -0
  466. package/dist/esm-es5/form-BuRbS7Hp.js +1 -0
  467. package/dist/esm-es5/i18n-format-BJgZHCWe.js +1 -0
  468. package/dist/esm-es5/index-4_RRPJTO.js +2 -0
  469. package/dist/esm-es5/index-B0DXTeeV.js +1 -0
  470. package/dist/esm-es5/index.js +1 -2
  471. package/dist/esm-es5/keep-hydrated-BgNaWLoS.js +1 -0
  472. package/dist/esm-es5/loader.js +1 -2
  473. package/dist/esm-es5/mock-pds-modal.entry.js +1 -0
  474. package/dist/esm-es5/pds-accordion.entry.js +1 -2
  475. package/dist/esm-es5/pds-alert.entry.js +1 -0
  476. package/dist/esm-es5/pds-avatar.entry.js +1 -2
  477. package/dist/esm-es5/pds-box.entry.js +1 -2
  478. package/dist/esm-es5/pds-button.entry.js +1 -2
  479. package/dist/esm-es5/pds-checkbox.entry.js +1 -2
  480. package/dist/esm-es5/pds-chip.entry.js +1 -2
  481. package/dist/esm-es5/pds-combobox.entry.js +2 -0
  482. package/dist/esm-es5/pds-container.entry.js +1 -0
  483. package/dist/esm-es5/pds-copytext.entry.js +1 -2
  484. package/dist/esm-es5/pds-datepicker.entry.js +1 -0
  485. package/dist/esm-es5/pds-divider.entry.js +1 -2
  486. package/dist/esm-es5/pds-drawer-content.entry.js +1 -0
  487. package/dist/esm-es5/pds-drawer-footer.entry.js +1 -0
  488. package/dist/esm-es5/pds-drawer-header.entry.js +1 -0
  489. package/dist/esm-es5/pds-drawer.entry.js +1 -0
  490. package/dist/esm-es5/pds-dropdown-menu-item.entry.js +1 -0
  491. package/dist/esm-es5/pds-dropdown-menu-separator.entry.js +1 -0
  492. package/dist/esm-es5/pds-dropdown-menu.entry.js +1 -0
  493. package/dist/esm-es5/pds-filter.entry.js +1 -0
  494. package/dist/esm-es5/pds-filters.entry.js +1 -0
  495. package/dist/esm-es5/pds-icon.entry.js +1 -2
  496. package/dist/esm-es5/pds-image.entry.js +1 -2
  497. package/dist/esm-es5/pds-input.entry.js +1 -2
  498. package/dist/esm-es5/pds-link.entry.js +1 -2
  499. package/dist/esm-es5/pds-loader.entry.js +1 -2
  500. package/dist/esm-es5/pds-modal-content.entry.js +1 -0
  501. package/dist/esm-es5/pds-modal-footer.entry.js +1 -0
  502. package/dist/esm-es5/pds-modal-header.entry.js +1 -0
  503. package/dist/esm-es5/pds-modal.entry.js +1 -0
  504. package/dist/esm-es5/pds-multiselect.entry.js +1 -0
  505. package/dist/esm-es5/pds-popover.entry.js +1 -0
  506. package/dist/esm-es5/pds-progress.entry.js +1 -2
  507. package/dist/esm-es5/pds-property.entry.js +1 -0
  508. package/dist/esm-es5/pds-radio-group.entry.js +1 -0
  509. package/dist/esm-es5/pds-radio.entry.js +1 -2
  510. package/dist/esm-es5/pds-row.entry.js +1 -2
  511. package/dist/esm-es5/pds-select.entry.js +1 -0
  512. package/dist/esm-es5/pds-sortable-item.entry.js +1 -2
  513. package/dist/esm-es5/pds-sortable.entry.js +3 -4
  514. package/dist/esm-es5/pds-switch.entry.js +1 -2
  515. package/dist/esm-es5/pds-tab.entry.js +1 -2
  516. package/dist/esm-es5/pds-table-body.entry.js +1 -2
  517. package/dist/esm-es5/pds-table-cell.entry.js +1 -2
  518. package/dist/esm-es5/pds-table-head-cell.entry.js +1 -2
  519. package/dist/esm-es5/pds-table-head.entry.js +1 -2
  520. package/dist/esm-es5/pds-table-row.entry.js +1 -2
  521. package/dist/esm-es5/pds-table.entry.js +1 -2
  522. package/dist/esm-es5/pds-tabpanel.entry.js +1 -2
  523. package/dist/esm-es5/pds-tabs.entry.js +1 -2
  524. package/dist/esm-es5/pds-text.entry.js +1 -0
  525. package/dist/esm-es5/pds-textarea.entry.js +1 -2
  526. package/dist/esm-es5/pds-toast.entry.js +1 -0
  527. package/dist/esm-es5/pds-tooltip.entry.js +1 -2
  528. package/dist/esm-es5/pine-core.js +1 -2
  529. package/dist/esm-es5/portal-target-CKRzRKdO.js +1 -0
  530. package/dist/esm-es5/reconnected-content-RFpTWV6r.js +1 -0
  531. package/dist/esm-es5/reflected-attribute-default-t3idJwV0.js +1 -0
  532. package/dist/esm-es5/scroll-DtgUQhjl.js +1 -0
  533. package/dist/esm-es5/sortable-label-PItnzVVR.js +1 -0
  534. package/dist/esm-es5/tabbable-C6ZWpp3v.js +1 -0
  535. package/dist/esm-es5/truncation-tooltip-CkIWm6Z-.js +1 -0
  536. package/dist/esm-es5/utils-OYK5-nwe.js +1 -0
  537. package/dist/pine-core/index.esm.js +1 -2
  538. package/dist/pine-core/p-053ff8eb.system.entry.js +1 -0
  539. package/dist/pine-core/p-08b9e3ad.entry.js +1 -0
  540. package/dist/pine-core/p-0ac4262e.system.entry.js +1 -0
  541. package/dist/pine-core/p-0e1b8bd1.system.entry.js +1 -0
  542. package/dist/pine-core/p-12fdc65f.entry.js +1 -0
  543. package/dist/pine-core/p-1765a41b.system.entry.js +1 -0
  544. package/dist/pine-core/p-18524c25.entry.js +1 -0
  545. package/dist/pine-core/p-191eb9e5.system.entry.js +1 -0
  546. package/dist/pine-core/p-1c584a20.entry.js +1 -0
  547. package/dist/pine-core/p-1d4ecc35.entry.js +7 -0
  548. package/dist/pine-core/p-1e0c9738.system.entry.js +1 -0
  549. package/dist/pine-core/p-1fb1ca3d.entry.js +1 -0
  550. package/dist/pine-core/p-2482e4ab.system.entry.js +1 -0
  551. package/dist/pine-core/p-2cc7c682.entry.js +1 -0
  552. package/dist/pine-core/p-2f15e85f.entry.js +1 -0
  553. package/dist/pine-core/p-3306dc5a.system.entry.js +1 -0
  554. package/dist/pine-core/p-3338fc2e.entry.js +1 -0
  555. package/dist/pine-core/p-33da254f.system.entry.js +1 -0
  556. package/dist/pine-core/p-34d22a45.system.entry.js +1 -0
  557. package/dist/pine-core/p-35b90796.entry.js +1 -0
  558. package/dist/pine-core/p-38148f5b.entry.js +1 -0
  559. package/dist/pine-core/p-39264dfb.system.entry.js +1 -0
  560. package/dist/pine-core/p-3aed0418.system.entry.js +1 -0
  561. package/dist/pine-core/p-3dd879fd.entry.js +1 -0
  562. package/dist/pine-core/p-3f1c05cd.system.entry.js +1 -0
  563. package/dist/pine-core/p-3fc9ef80.system.entry.js +1 -0
  564. package/dist/pine-core/p-4125a4a6.system.entry.js +1 -0
  565. package/dist/pine-core/p-42376f2c.entry.js +1 -0
  566. package/dist/pine-core/p-4263038f.entry.js +1 -0
  567. package/dist/pine-core/p-47df9e9f.system.entry.js +3 -0
  568. package/dist/pine-core/p-55a4659a.system.entry.js +1 -0
  569. package/dist/pine-core/p-563baadd.system.entry.js +1 -0
  570. package/dist/pine-core/p-57af5c29.system.entry.js +1 -0
  571. package/dist/pine-core/p-587bd9ed.entry.js +1 -0
  572. package/dist/pine-core/p-5c7dfa7a.entry.js +1 -0
  573. package/dist/pine-core/p-5db87fda.system.entry.js +1 -0
  574. package/dist/pine-core/p-5eb0c78c.system.entry.js +1 -0
  575. package/dist/pine-core/p-6017afb5.system.entry.js +1 -0
  576. package/dist/pine-core/p-63d47dd4.system.entry.js +1 -0
  577. package/dist/pine-core/p-66e61921.system.entry.js +1 -0
  578. package/dist/pine-core/p-67999353.entry.js +1 -0
  579. package/dist/pine-core/p-68328afc.entry.js +1 -0
  580. package/dist/pine-core/p-6a965119.entry.js +1 -0
  581. package/dist/pine-core/p-6fdc6df9.system.entry.js +1 -0
  582. package/dist/pine-core/p-72668673.system.entry.js +1 -0
  583. package/dist/pine-core/p-765f4207.entry.js +1 -0
  584. package/dist/pine-core/p-77530cf2.entry.js +1 -0
  585. package/dist/pine-core/p-77a22399.entry.js +1 -0
  586. package/dist/pine-core/p-783127bf.entry.js +1 -0
  587. package/dist/pine-core/p-7a51f15e.entry.js +1 -0
  588. package/dist/pine-core/p-7b978fff.system.entry.js +1 -0
  589. package/dist/pine-core/p-82f7eed1.entry.js +1 -0
  590. package/dist/pine-core/p-863ff553.system.entry.js +1 -0
  591. package/dist/pine-core/p-87a32ded.system.entry.js +1 -0
  592. package/dist/pine-core/p-87cadd6f.system.entry.js +8 -0
  593. package/dist/pine-core/p-8db554fe.entry.js +1 -0
  594. package/dist/pine-core/p-8e7e7bba.entry.js +1 -0
  595. package/dist/pine-core/p-907c69e9.system.entry.js +1 -0
  596. package/dist/pine-core/p-90f83a5b.system.entry.js +1 -0
  597. package/dist/pine-core/p-931a0ccd.system.entry.js +1 -0
  598. package/dist/pine-core/p-94fd9595.entry.js +1 -0
  599. package/dist/pine-core/p-96bccf85.system.entry.js +1 -0
  600. package/dist/pine-core/p-9a63bf72.entry.js +1 -0
  601. package/dist/pine-core/p-9d983e09.system.entry.js +1 -0
  602. package/dist/pine-core/p-9da10cfb.system.entry.js +1 -0
  603. package/dist/pine-core/p-9e005996.entry.js +1 -0
  604. package/dist/pine-core/p-B0DXTeeV.js +1 -0
  605. package/dist/pine-core/p-BJgZHCWe.js +1 -0
  606. package/dist/pine-core/p-BK1sLRfg.system.js +2 -0
  607. package/dist/pine-core/p-BNTlHhoO.system.js +1 -0
  608. package/dist/pine-core/p-BSRFZB4I.system.js +1 -0
  609. package/dist/pine-core/p-BZ1l3LGl.system.js +1 -0
  610. package/dist/pine-core/p-BZsj6eAn.system.js +1 -0
  611. package/dist/pine-core/p-BbXp4qBM.system.js +1 -0
  612. package/dist/pine-core/p-BgNaWLoS.js +1 -0
  613. package/dist/pine-core/p-Bkho_oFB.system.js +1 -0
  614. package/dist/pine-core/p-BlJQebvG.system.js +1 -0
  615. package/dist/pine-core/p-BuRbS7Hp.js +1 -0
  616. package/dist/pine-core/p-BxIzb-Wc.system.js +1 -0
  617. package/dist/pine-core/p-C35-349-.system.js +1 -0
  618. package/dist/pine-core/p-C6ZWpp3v.js +1 -0
  619. package/dist/pine-core/p-CANeE7Ss.system.js +1 -0
  620. package/dist/pine-core/p-CIe1DGXa.system.js +1 -0
  621. package/dist/pine-core/p-CKRzRKdO.js +1 -0
  622. package/dist/pine-core/p-CNn1lObg.js +1 -0
  623. package/dist/pine-core/p-CQJ44c6o.system.js +1 -0
  624. package/dist/pine-core/p-Cuc0DYlm.js +1 -0
  625. package/dist/pine-core/p-DHPzKMVS.js +1 -0
  626. package/dist/pine-core/p-DVra397g.system.js +1 -0
  627. package/dist/pine-core/p-DtgUQhjl.js +1 -0
  628. package/dist/pine-core/p-Dv9QBmIF.js +1 -0
  629. package/dist/pine-core/p-Dx8tEj0U.system.js +1 -0
  630. package/dist/pine-core/p-M31tvpDN.js +2 -0
  631. package/dist/pine-core/p-OYK5-nwe.js +1 -0
  632. package/dist/pine-core/p-PItnzVVR.js +1 -0
  633. package/dist/pine-core/p-RFpTWV6r.js +1 -0
  634. package/dist/pine-core/p-VPGVqK3P.system.js +1 -0
  635. package/dist/pine-core/p-XK45dzWR.system.js +1 -0
  636. package/dist/pine-core/p-a0fa77b1.system.entry.js +1 -0
  637. package/dist/pine-core/p-a149af29.entry.js +1 -0
  638. package/dist/pine-core/p-a1575919.entry.js +1 -0
  639. package/dist/pine-core/p-a20d9eca.system.entry.js +1 -0
  640. package/dist/pine-core/p-a5782d99.entry.js +1 -0
  641. package/dist/pine-core/p-a9eaf160.system.entry.js +1 -0
  642. package/dist/pine-core/p-aae96744.entry.js +1 -0
  643. package/dist/pine-core/p-b379d9bc.system.entry.js +1 -0
  644. package/dist/pine-core/p-b96bdff6.entry.js +1 -0
  645. package/dist/pine-core/p-badde164.entry.js +1 -0
  646. package/dist/pine-core/p-bbd9ab75.entry.js +1 -0
  647. package/dist/pine-core/p-biShcgLI.js +1 -0
  648. package/dist/pine-core/p-c12b5cd7.system.entry.js +1 -0
  649. package/dist/pine-core/p-c2afe4f3.system.entry.js +1 -0
  650. package/dist/pine-core/p-c65f4eaa.system.entry.js +1 -0
  651. package/dist/pine-core/p-c6c5ada6.system.entry.js +1 -0
  652. package/dist/pine-core/p-c76d8b9e.system.entry.js +1 -0
  653. package/dist/pine-core/p-c89ea2d3.entry.js +1 -0
  654. package/dist/pine-core/p-ce9fa14b.entry.js +1 -0
  655. package/dist/pine-core/p-d4b0122f.system.entry.js +1 -0
  656. package/dist/pine-core/p-d61a0fe8.system.entry.js +1 -0
  657. package/dist/pine-core/p-d7d7a4e1.entry.js +1 -0
  658. package/dist/pine-core/p-d85d50cb.entry.js +1 -0
  659. package/dist/pine-core/p-daa802f1.entry.js +2 -0
  660. package/dist/pine-core/p-de3f4a28.system.entry.js +1 -0
  661. package/dist/pine-core/p-e00777da.system.entry.js +1 -0
  662. package/dist/pine-core/p-e2a1a49a.system.entry.js +1 -0
  663. package/dist/pine-core/p-e334af06.entry.js +1 -0
  664. package/dist/pine-core/p-e4216ff6.entry.js +1 -0
  665. package/dist/pine-core/p-e68044b3.entry.js +1 -0
  666. package/dist/pine-core/p-e75d8bc1.entry.js +1 -0
  667. package/dist/pine-core/p-e871cfce.entry.js +1 -0
  668. package/dist/pine-core/p-e92d0f0f.system.entry.js +1 -0
  669. package/dist/pine-core/p-eab165b9.system.entry.js +1 -0
  670. package/dist/pine-core/p-eabc4bd8.entry.js +1 -0
  671. package/dist/pine-core/p-eeYeEogd.system.js +1 -0
  672. package/dist/pine-core/p-eee042d3.entry.js +1 -0
  673. package/dist/pine-core/p-ef9f84f2.system.entry.js +1 -0
  674. package/dist/pine-core/p-f026af73.entry.js +1 -0
  675. package/dist/pine-core/p-f0509c8e.entry.js +1 -0
  676. package/dist/pine-core/p-f1252e72.system.entry.js +1 -0
  677. package/dist/pine-core/p-f3496fd1.entry.js +1 -0
  678. package/dist/pine-core/p-f65127f1.entry.js +1 -0
  679. package/dist/pine-core/p-f90f4be7.system.entry.js +1 -0
  680. package/dist/pine-core/p-f99bd77f.entry.js +1 -0
  681. package/dist/pine-core/p-fda791df.entry.js +1 -0
  682. package/dist/pine-core/p-t3idJwV0.js +1 -0
  683. package/dist/pine-core/p-wB2y8gR7.system.js +1 -0
  684. package/dist/pine-core/pine-core.css +1 -1
  685. package/dist/pine-core/pine-core.esm.js +1 -2
  686. package/dist/pine-core/pine-core.js +1 -1
  687. package/dist/scripts/vscode-custom-data-generator.js +406 -0
  688. package/dist/scripts/vscode-settings-patcher.cjs +89 -0
  689. package/dist/types/components/pds-accordion/pds-accordion.d.ts +9 -1
  690. package/dist/types/components/pds-alert/pds-alert.d.ts +62 -0
  691. package/dist/types/components/pds-avatar/pds-avatar.d.ts +53 -3
  692. package/dist/types/components/pds-box/pds-box.d.ts +495 -16
  693. package/dist/types/components/pds-button/pds-button.d.ts +91 -13
  694. package/dist/types/components/pds-checkbox/pds-checkbox.d.ts +43 -9
  695. package/dist/types/components/pds-chip/pds-chip.d.ts +77 -14
  696. package/dist/types/components/pds-combobox/combobox-interface.d.ts +73 -0
  697. package/dist/types/components/pds-combobox/grouped-options-panel.d.ts +128 -0
  698. package/dist/types/components/pds-combobox/pds-combobox.d.ts +714 -0
  699. package/dist/types/components/pds-container/pds-container.d.ts +22 -0
  700. package/dist/types/components/pds-copytext/pds-copytext.d.ts +20 -5
  701. package/dist/types/components/pds-datepicker/calendar-portal.d.ts +36 -0
  702. package/dist/types/components/pds-datepicker/date-utils.d.ts +67 -0
  703. package/dist/types/components/pds-datepicker/datepicker-interface.d.ts +47 -0
  704. package/dist/types/components/pds-datepicker/pds-datepicker.d.ts +515 -0
  705. package/dist/types/components/pds-datepicker/presets.d.ts +24 -0
  706. package/dist/types/components/pds-datepicker/value.d.ts +59 -0
  707. package/dist/types/components/pds-divider/pds-divider.d.ts +10 -2
  708. package/dist/types/components/pds-drawer/pds-drawer-content/pds-drawer-content.d.ts +9 -0
  709. package/dist/types/components/pds-drawer/pds-drawer-footer/pds-drawer-footer.d.ts +9 -0
  710. package/dist/types/components/pds-drawer/pds-drawer-header/pds-drawer-header.d.ts +9 -0
  711. package/dist/types/components/pds-drawer/pds-drawer.d.ts +89 -0
  712. package/dist/types/components/pds-dropdown-menu/pds-dropdown-menu-item/pds-dropdown-menu-item.d.ts +87 -0
  713. package/dist/types/components/pds-dropdown-menu/pds-dropdown-menu-separator/pds-dropdown-menu-separator.d.ts +13 -0
  714. package/dist/types/components/pds-dropdown-menu/pds-dropdown-menu.d.ts +60 -0
  715. package/dist/types/components/pds-filters/pds-filter/filter-interface.d.ts +19 -0
  716. package/dist/types/components/pds-filters/pds-filter/pds-filter.d.ts +135 -0
  717. package/dist/types/components/pds-filters/pds-filters.d.ts +11 -0
  718. package/dist/types/components/pds-image/image-interface.d.ts +12 -0
  719. package/dist/types/components/pds-image/pds-image.d.ts +75 -11
  720. package/dist/types/components/pds-input/input-interface.d.ts +12 -0
  721. package/dist/types/components/pds-input/pds-input.d.ts +174 -9
  722. package/dist/types/components/pds-link/pds-link.d.ts +81 -11
  723. package/dist/types/components/pds-loader/pds-loader.d.ts +10 -3
  724. package/dist/types/components/pds-modal/pds-modal-content/pds-modal-content.d.ts +43 -0
  725. package/dist/types/components/pds-modal/pds-modal-footer/pds-modal-footer.d.ts +9 -0
  726. package/dist/types/components/pds-modal/pds-modal-header/pds-modal-header.d.ts +9 -0
  727. package/dist/types/components/pds-modal/pds-modal.d.ts +152 -0
  728. package/dist/types/components/pds-modal/test/mock-pds-modal.d.ts +68 -0
  729. package/dist/types/components/pds-multiselect/multiselect-interface.d.ts +61 -0
  730. package/dist/types/components/pds-multiselect/pds-multiselect.d.ts +402 -0
  731. package/dist/types/components/pds-popover/pds-popover.d.ts +292 -0
  732. package/dist/types/components/pds-popover/popover-interface.d.ts +4 -0
  733. package/dist/types/components/pds-progress/pds-progress.d.ts +6 -2
  734. package/dist/types/components/pds-property/pds-property.d.ts +14 -0
  735. package/dist/types/components/pds-radio/pds-radio.d.ts +42 -11
  736. package/dist/types/components/pds-radio-group/pds-radio-group.d.ts +84 -0
  737. package/dist/types/components/pds-radio-group/radio-group-interface.d.ts +5 -0
  738. package/dist/types/components/pds-row/pds-row.d.ts +17 -2
  739. package/dist/types/components/pds-select/pds-select.d.ts +182 -0
  740. package/dist/types/components/pds-sortable/pds-sortable-item/pds-sortable-item.d.ts +14 -3
  741. package/dist/types/components/pds-sortable/pds-sortable.d.ts +99 -4
  742. package/dist/types/components/pds-sortable/sortable-interface.d.ts +3 -1
  743. package/dist/types/components/pds-sortable/sortable-label.d.ts +7 -0
  744. package/dist/types/components/pds-switch/pds-switch.d.ts +51 -17
  745. package/dist/types/components/pds-table/pds-table-body/pds-table-body.d.ts +3 -0
  746. package/dist/types/components/pds-table/pds-table-cell/pds-table-cell.d.ts +40 -1
  747. package/dist/types/components/pds-table/pds-table-head/pds-table-head.d.ts +19 -2
  748. package/dist/types/components/pds-table/pds-table-head-cell/pds-table-head-cell.d.ts +73 -2
  749. package/dist/types/components/pds-table/pds-table-row/pds-table-row.d.ts +27 -4
  750. package/dist/types/components/pds-table/pds-table.d.ts +138 -12
  751. package/dist/types/components/pds-tabs/pds-tab/pds-tab.d.ts +55 -0
  752. package/dist/types/components/pds-tabs/pds-tabpanel/pds-tabpanel.d.ts +12 -0
  753. package/dist/types/components/pds-tabs/pds-tabs.d.ts +45 -5
  754. package/dist/types/components/pds-text/pds-text.d.ts +61 -0
  755. package/dist/types/components/pds-textarea/pds-textarea.d.ts +140 -15
  756. package/dist/types/components/pds-textarea/textarea-interface.d.ts +5 -1
  757. package/dist/types/components/pds-toast/pds-toast.d.ts +83 -0
  758. package/dist/types/components/pds-tooltip/pds-tooltip.d.ts +80 -20
  759. package/dist/types/components.d.ts +7070 -1247
  760. package/dist/types/global/pine-global.d.ts +2 -0
  761. package/dist/types/home/runner/work/pine/pine/libs/core/.stencil/scripts/vscode-custom-data-generator.d.ts +6 -0
  762. package/dist/types/i18n/i18n-format.d.ts +38 -0
  763. package/dist/types/i18n/index.d.ts +2 -0
  764. package/dist/types/index.d.ts +3 -0
  765. package/dist/types/stencil-public-runtime.d.ts +195 -8
  766. package/dist/types/utils/aria-references.d.ts +28 -0
  767. package/dist/types/utils/attributes.d.ts +44 -0
  768. package/dist/types/utils/closest.d.ts +2 -0
  769. package/dist/types/utils/css.d.ts +7 -0
  770. package/dist/types/utils/form.d.ts +23 -1
  771. package/dist/types/utils/interfaces.d.ts +6 -0
  772. package/dist/types/utils/keep-hydrated.d.ts +56 -0
  773. package/dist/types/utils/overlay.d.ts +3 -3
  774. package/dist/types/utils/portal-target.d.ts +17 -0
  775. package/dist/types/utils/reconnected-content.d.ts +14 -0
  776. package/dist/types/utils/reflected-attribute-default.d.ts +31 -0
  777. package/dist/types/utils/scroll.d.ts +21 -0
  778. package/dist/types/utils/tabbable.d.ts +2 -0
  779. package/dist/types/utils/test/axe.d.ts +81 -0
  780. package/dist/types/utils/test/host-strip.d.ts +10 -0
  781. package/dist/types/utils/test/reconnect-safety.d.ts +11 -0
  782. package/dist/types/utils/test/reduced-motion.d.ts +30 -0
  783. package/dist/types/utils/truncation-tooltip.d.ts +88 -0
  784. package/dist/types/utils/types.d.ts +13 -2
  785. package/dist/types/utils/utils.d.ts +37 -2
  786. package/dist/vscode.html-data.json +11913 -0
  787. package/hydrate/index.d.ts +58 -7
  788. package/hydrate/index.js +29932 -3726
  789. package/hydrate/index.mjs +29929 -3725
  790. package/package.json +52 -26
  791. package/readme.md +26 -55
  792. package/components/closest.js.map +0 -1
  793. package/components/index.js.map +0 -1
  794. package/components/index2.js.map +0 -1
  795. package/components/pds-accordion.js.map +0 -1
  796. package/components/pds-avatar.js.map +0 -1
  797. package/components/pds-box.js.map +0 -1
  798. package/components/pds-button.js.map +0 -1
  799. package/components/pds-button2.js.map +0 -1
  800. package/components/pds-checkbox.js.map +0 -1
  801. package/components/pds-checkbox2.js.map +0 -1
  802. package/components/pds-chip.js.map +0 -1
  803. package/components/pds-copytext.js.map +0 -1
  804. package/components/pds-divider.js.map +0 -1
  805. package/components/pds-icon.js.map +0 -1
  806. package/components/pds-icon2.js.map +0 -1
  807. package/components/pds-image.js.map +0 -1
  808. package/components/pds-input.js.map +0 -1
  809. package/components/pds-label.js +0 -39
  810. package/components/pds-label.js.map +0 -1
  811. package/components/pds-link.js.map +0 -1
  812. package/components/pds-loader.js.map +0 -1
  813. package/components/pds-progress.js.map +0 -1
  814. package/components/pds-radio.js.map +0 -1
  815. package/components/pds-row.js.map +0 -1
  816. package/components/pds-sortable-item.js.map +0 -1
  817. package/components/pds-sortable.js.map +0 -1
  818. package/components/pds-switch.js.map +0 -1
  819. package/components/pds-tab.js.map +0 -1
  820. package/components/pds-table-body.js.map +0 -1
  821. package/components/pds-table-cell.js.map +0 -1
  822. package/components/pds-table-cell2.js.map +0 -1
  823. package/components/pds-table-head-cell.js.map +0 -1
  824. package/components/pds-table-head-cell2.js.map +0 -1
  825. package/components/pds-table-head.js.map +0 -1
  826. package/components/pds-table-row.js.map +0 -1
  827. package/components/pds-table.js.map +0 -1
  828. package/components/pds-tabpanel.js.map +0 -1
  829. package/components/pds-tabs.js.map +0 -1
  830. package/components/pds-textarea.js.map +0 -1
  831. package/components/pds-tooltip.js.map +0 -1
  832. package/dist/cjs/app-globals-3a1e7e63.js +0 -7
  833. package/dist/cjs/app-globals-3a1e7e63.js.map +0 -1
  834. package/dist/cjs/closest-b45138d3.js +0 -13
  835. package/dist/cjs/closest-b45138d3.js.map +0 -1
  836. package/dist/cjs/index-46fb0736.js +0 -1956
  837. package/dist/cjs/index-46fb0736.js.map +0 -1
  838. package/dist/cjs/index-de3f0730.js +0 -24
  839. package/dist/cjs/index-de3f0730.js.map +0 -1
  840. package/dist/cjs/index.cjs.js.map +0 -1
  841. package/dist/cjs/loader.cjs.js.map +0 -1
  842. package/dist/cjs/pds-accordion.cjs.entry.js.map +0 -1
  843. package/dist/cjs/pds-avatar.cjs.entry.js.map +0 -1
  844. package/dist/cjs/pds-box.cjs.entry.js.map +0 -1
  845. package/dist/cjs/pds-button.cjs.entry.js.map +0 -1
  846. package/dist/cjs/pds-checkbox.cjs.entry.js.map +0 -1
  847. package/dist/cjs/pds-chip.cjs.entry.js.map +0 -1
  848. package/dist/cjs/pds-copytext.cjs.entry.js.map +0 -1
  849. package/dist/cjs/pds-divider.cjs.entry.js.map +0 -1
  850. package/dist/cjs/pds-icon.cjs.entry.js.map +0 -1
  851. package/dist/cjs/pds-image.cjs.entry.js.map +0 -1
  852. package/dist/cjs/pds-input.cjs.entry.js.map +0 -1
  853. package/dist/cjs/pds-label-7aabdc4e.js +0 -44
  854. package/dist/cjs/pds-label-7aabdc4e.js.map +0 -1
  855. package/dist/cjs/pds-link.cjs.entry.js.map +0 -1
  856. package/dist/cjs/pds-loader.cjs.entry.js.map +0 -1
  857. package/dist/cjs/pds-progress.cjs.entry.js.map +0 -1
  858. package/dist/cjs/pds-radio.cjs.entry.js.map +0 -1
  859. package/dist/cjs/pds-row.cjs.entry.js.map +0 -1
  860. package/dist/cjs/pds-sortable-item.cjs.entry.js.map +0 -1
  861. package/dist/cjs/pds-sortable.cjs.entry.js.map +0 -1
  862. package/dist/cjs/pds-switch.cjs.entry.js.map +0 -1
  863. package/dist/cjs/pds-tab.cjs.entry.js.map +0 -1
  864. package/dist/cjs/pds-table-body.cjs.entry.js.map +0 -1
  865. package/dist/cjs/pds-table-cell.cjs.entry.js.map +0 -1
  866. package/dist/cjs/pds-table-head-cell.cjs.entry.js.map +0 -1
  867. package/dist/cjs/pds-table-head.cjs.entry.js.map +0 -1
  868. package/dist/cjs/pds-table-row.cjs.entry.js.map +0 -1
  869. package/dist/cjs/pds-table.cjs.entry.js.map +0 -1
  870. package/dist/cjs/pds-tabpanel.cjs.entry.js.map +0 -1
  871. package/dist/cjs/pds-tabs.cjs.entry.js.map +0 -1
  872. package/dist/cjs/pds-textarea.cjs.entry.js.map +0 -1
  873. package/dist/cjs/pds-tooltip.cjs.entry.js.map +0 -1
  874. package/dist/cjs/pine-core.cjs.js.map +0 -1
  875. package/dist/collection/components/_internal/pds-label/pds-label.js.map +0 -1
  876. package/dist/collection/components/pds-accordion/pds-accordion.js.map +0 -1
  877. package/dist/collection/components/pds-avatar/pds-avatar.js.map +0 -1
  878. package/dist/collection/components/pds-box/pds-box.js.map +0 -1
  879. package/dist/collection/components/pds-button/pds-button.js.map +0 -1
  880. package/dist/collection/components/pds-checkbox/checkbox-interface.js.map +0 -1
  881. package/dist/collection/components/pds-checkbox/pds-checkbox.js.map +0 -1
  882. package/dist/collection/components/pds-chip/pds-chip.js.map +0 -1
  883. package/dist/collection/components/pds-copytext/pds-copytext.js.map +0 -1
  884. package/dist/collection/components/pds-divider/pds-divider.js.map +0 -1
  885. package/dist/collection/components/pds-image/pds-image.js.map +0 -1
  886. package/dist/collection/components/pds-input/pds-input.js.map +0 -1
  887. package/dist/collection/components/pds-link/pds-link.js.map +0 -1
  888. package/dist/collection/components/pds-loader/pds-loader.js.map +0 -1
  889. package/dist/collection/components/pds-progress/pds-progress.js.map +0 -1
  890. package/dist/collection/components/pds-radio/pds-radio.js.map +0 -1
  891. package/dist/collection/components/pds-row/pds-row.js.map +0 -1
  892. package/dist/collection/components/pds-sortable/pds-sortable-item/pds-sortable-item.js.map +0 -1
  893. package/dist/collection/components/pds-sortable/pds-sortable.js.map +0 -1
  894. package/dist/collection/components/pds-sortable/sortable-interface.js.map +0 -1
  895. package/dist/collection/components/pds-switch/pds-switch.js.map +0 -1
  896. package/dist/collection/components/pds-table/pds-table-body/pds-table-body.js.map +0 -1
  897. package/dist/collection/components/pds-table/pds-table-cell/pds-table-cell.js.map +0 -1
  898. package/dist/collection/components/pds-table/pds-table-head/pds-table-head.js.map +0 -1
  899. package/dist/collection/components/pds-table/pds-table-head-cell/pds-table-head-cell.js.map +0 -1
  900. package/dist/collection/components/pds-table/pds-table-row/pds-table-row.js.map +0 -1
  901. package/dist/collection/components/pds-table/pds-table.js.map +0 -1
  902. package/dist/collection/components/pds-tabs/pds-tab/pds-tab.js.map +0 -1
  903. package/dist/collection/components/pds-tabs/pds-tabpanel/pds-tabpanel.js.map +0 -1
  904. package/dist/collection/components/pds-tabs/pds-tabs.js.map +0 -1
  905. package/dist/collection/components/pds-textarea/pds-textarea.js.map +0 -1
  906. package/dist/collection/components/pds-textarea/textarea-interface.js.map +0 -1
  907. package/dist/collection/components/pds-tooltip/pds-tooltip.js.map +0 -1
  908. package/dist/collection/global/pine-ui-global.js.map +0 -1
  909. package/dist/collection/index.js.map +0 -1
  910. package/dist/collection/stories/_helpers/index.js +0 -15
  911. package/dist/collection/stories/_helpers/index.js.map +0 -1
  912. package/dist/collection/utils/closest.js.map +0 -1
  913. package/dist/collection/utils/form.js.map +0 -1
  914. package/dist/collection/utils/overlay.js.map +0 -1
  915. package/dist/collection/utils/types.js.map +0 -1
  916. package/dist/collection/utils/utils.js.map +0 -1
  917. package/dist/esm/app-globals-0f993ce5.js +0 -5
  918. package/dist/esm/app-globals-0f993ce5.js.map +0 -1
  919. package/dist/esm/closest-d2d192be.js +0 -11
  920. package/dist/esm/closest-d2d192be.js.map +0 -1
  921. package/dist/esm/index-2a33b470.js +0 -1927
  922. package/dist/esm/index-2a33b470.js.map +0 -1
  923. package/dist/esm/index-a1e2f9af.js +0 -14
  924. package/dist/esm/index-a1e2f9af.js.map +0 -1
  925. package/dist/esm/index.js.map +0 -1
  926. package/dist/esm/loader.js.map +0 -1
  927. package/dist/esm/pds-accordion.entry.js.map +0 -1
  928. package/dist/esm/pds-avatar.entry.js.map +0 -1
  929. package/dist/esm/pds-box.entry.js.map +0 -1
  930. package/dist/esm/pds-button.entry.js.map +0 -1
  931. package/dist/esm/pds-checkbox.entry.js.map +0 -1
  932. package/dist/esm/pds-chip.entry.js.map +0 -1
  933. package/dist/esm/pds-copytext.entry.js.map +0 -1
  934. package/dist/esm/pds-divider.entry.js.map +0 -1
  935. package/dist/esm/pds-icon.entry.js.map +0 -1
  936. package/dist/esm/pds-image.entry.js.map +0 -1
  937. package/dist/esm/pds-input.entry.js.map +0 -1
  938. package/dist/esm/pds-label-31a5848b.js +0 -39
  939. package/dist/esm/pds-label-31a5848b.js.map +0 -1
  940. package/dist/esm/pds-link.entry.js.map +0 -1
  941. package/dist/esm/pds-loader.entry.js.map +0 -1
  942. package/dist/esm/pds-progress.entry.js.map +0 -1
  943. package/dist/esm/pds-radio.entry.js.map +0 -1
  944. package/dist/esm/pds-row.entry.js.map +0 -1
  945. package/dist/esm/pds-sortable-item.entry.js.map +0 -1
  946. package/dist/esm/pds-sortable.entry.js.map +0 -1
  947. package/dist/esm/pds-switch.entry.js.map +0 -1
  948. package/dist/esm/pds-tab.entry.js.map +0 -1
  949. package/dist/esm/pds-table-body.entry.js.map +0 -1
  950. package/dist/esm/pds-table-cell.entry.js.map +0 -1
  951. package/dist/esm/pds-table-head-cell.entry.js.map +0 -1
  952. package/dist/esm/pds-table-head.entry.js.map +0 -1
  953. package/dist/esm/pds-table-row.entry.js.map +0 -1
  954. package/dist/esm/pds-table.entry.js.map +0 -1
  955. package/dist/esm/pds-tabpanel.entry.js.map +0 -1
  956. package/dist/esm/pds-tabs.entry.js.map +0 -1
  957. package/dist/esm/pds-textarea.entry.js.map +0 -1
  958. package/dist/esm/pds-tooltip.entry.js.map +0 -1
  959. package/dist/esm/pine-core.js.map +0 -1
  960. package/dist/esm-es5/app-globals-0f993ce5.js +0 -2
  961. package/dist/esm-es5/app-globals-0f993ce5.js.map +0 -1
  962. package/dist/esm-es5/closest-d2d192be.js +0 -2
  963. package/dist/esm-es5/closest-d2d192be.js.map +0 -1
  964. package/dist/esm-es5/index-2a33b470.js +0 -3
  965. package/dist/esm-es5/index-2a33b470.js.map +0 -1
  966. package/dist/esm-es5/index-a1e2f9af.js +0 -2
  967. package/dist/esm-es5/index-a1e2f9af.js.map +0 -1
  968. package/dist/esm-es5/index.js.map +0 -1
  969. package/dist/esm-es5/loader.js.map +0 -1
  970. package/dist/esm-es5/pds-accordion.entry.js.map +0 -1
  971. package/dist/esm-es5/pds-avatar.entry.js.map +0 -1
  972. package/dist/esm-es5/pds-box.entry.js.map +0 -1
  973. package/dist/esm-es5/pds-button.entry.js.map +0 -1
  974. package/dist/esm-es5/pds-checkbox.entry.js.map +0 -1
  975. package/dist/esm-es5/pds-chip.entry.js.map +0 -1
  976. package/dist/esm-es5/pds-copytext.entry.js.map +0 -1
  977. package/dist/esm-es5/pds-divider.entry.js.map +0 -1
  978. package/dist/esm-es5/pds-icon.entry.js.map +0 -1
  979. package/dist/esm-es5/pds-image.entry.js.map +0 -1
  980. package/dist/esm-es5/pds-input.entry.js.map +0 -1
  981. package/dist/esm-es5/pds-label-31a5848b.js +0 -2
  982. package/dist/esm-es5/pds-label-31a5848b.js.map +0 -1
  983. package/dist/esm-es5/pds-link.entry.js.map +0 -1
  984. package/dist/esm-es5/pds-loader.entry.js.map +0 -1
  985. package/dist/esm-es5/pds-progress.entry.js.map +0 -1
  986. package/dist/esm-es5/pds-radio.entry.js.map +0 -1
  987. package/dist/esm-es5/pds-row.entry.js.map +0 -1
  988. package/dist/esm-es5/pds-sortable-item.entry.js.map +0 -1
  989. package/dist/esm-es5/pds-sortable.entry.js.map +0 -1
  990. package/dist/esm-es5/pds-switch.entry.js.map +0 -1
  991. package/dist/esm-es5/pds-tab.entry.js.map +0 -1
  992. package/dist/esm-es5/pds-table-body.entry.js.map +0 -1
  993. package/dist/esm-es5/pds-table-cell.entry.js.map +0 -1
  994. package/dist/esm-es5/pds-table-head-cell.entry.js.map +0 -1
  995. package/dist/esm-es5/pds-table-head.entry.js.map +0 -1
  996. package/dist/esm-es5/pds-table-row.entry.js.map +0 -1
  997. package/dist/esm-es5/pds-table.entry.js.map +0 -1
  998. package/dist/esm-es5/pds-tabpanel.entry.js.map +0 -1
  999. package/dist/esm-es5/pds-tabs.entry.js.map +0 -1
  1000. package/dist/esm-es5/pds-textarea.entry.js.map +0 -1
  1001. package/dist/esm-es5/pds-tooltip.entry.js.map +0 -1
  1002. package/dist/esm-es5/pine-core.js.map +0 -1
  1003. package/dist/pine-core/index.esm.js.map +0 -1
  1004. package/dist/pine-core/p-06c33261.system.entry.js +0 -2
  1005. package/dist/pine-core/p-06c33261.system.entry.js.map +0 -1
  1006. package/dist/pine-core/p-07f80cb6.entry.js +0 -2
  1007. package/dist/pine-core/p-07f80cb6.entry.js.map +0 -1
  1008. package/dist/pine-core/p-09b1c7f1.system.entry.js +0 -2
  1009. package/dist/pine-core/p-09b1c7f1.system.entry.js.map +0 -1
  1010. package/dist/pine-core/p-0a4b1ce9.system.entry.js +0 -2
  1011. package/dist/pine-core/p-0a4b1ce9.system.entry.js.map +0 -1
  1012. package/dist/pine-core/p-0b541f88.js +0 -3
  1013. package/dist/pine-core/p-0b541f88.js.map +0 -1
  1014. package/dist/pine-core/p-0b77685e.js +0 -2
  1015. package/dist/pine-core/p-0b77685e.js.map +0 -1
  1016. package/dist/pine-core/p-0d6fafef.system.entry.js +0 -2
  1017. package/dist/pine-core/p-0d6fafef.system.entry.js.map +0 -1
  1018. package/dist/pine-core/p-0e1c0d03.entry.js +0 -8
  1019. package/dist/pine-core/p-0e1c0d03.entry.js.map +0 -1
  1020. package/dist/pine-core/p-0e936138.entry.js +0 -2
  1021. package/dist/pine-core/p-0e936138.entry.js.map +0 -1
  1022. package/dist/pine-core/p-143795e5.system.entry.js +0 -2
  1023. package/dist/pine-core/p-143795e5.system.entry.js.map +0 -1
  1024. package/dist/pine-core/p-1f2b0be3.system.entry.js +0 -2
  1025. package/dist/pine-core/p-1f2b0be3.system.entry.js.map +0 -1
  1026. package/dist/pine-core/p-224a435b.system.js +0 -2
  1027. package/dist/pine-core/p-224a435b.system.js.map +0 -1
  1028. package/dist/pine-core/p-31056348.system.entry.js +0 -2
  1029. package/dist/pine-core/p-31056348.system.entry.js.map +0 -1
  1030. package/dist/pine-core/p-32498622.system.entry.js +0 -2
  1031. package/dist/pine-core/p-32498622.system.entry.js.map +0 -1
  1032. package/dist/pine-core/p-3261fdf5.system.entry.js +0 -2
  1033. package/dist/pine-core/p-3261fdf5.system.entry.js.map +0 -1
  1034. package/dist/pine-core/p-32e41e3d.system.entry.js +0 -2
  1035. package/dist/pine-core/p-32e41e3d.system.entry.js.map +0 -1
  1036. package/dist/pine-core/p-34631565.system.js +0 -2
  1037. package/dist/pine-core/p-34631565.system.js.map +0 -1
  1038. package/dist/pine-core/p-3ba3d44c.entry.js +0 -2
  1039. package/dist/pine-core/p-3ba3d44c.entry.js.map +0 -1
  1040. package/dist/pine-core/p-46161cec.entry.js +0 -2
  1041. package/dist/pine-core/p-46161cec.entry.js.map +0 -1
  1042. package/dist/pine-core/p-4f69a7b7.entry.js +0 -2
  1043. package/dist/pine-core/p-4f69a7b7.entry.js.map +0 -1
  1044. package/dist/pine-core/p-50a23474.entry.js +0 -2
  1045. package/dist/pine-core/p-50a23474.entry.js.map +0 -1
  1046. package/dist/pine-core/p-511bf308.entry.js +0 -2
  1047. package/dist/pine-core/p-511bf308.entry.js.map +0 -1
  1048. package/dist/pine-core/p-52515d64.system.entry.js +0 -2
  1049. package/dist/pine-core/p-52515d64.system.entry.js.map +0 -1
  1050. package/dist/pine-core/p-56ba5cbf.system.js +0 -2
  1051. package/dist/pine-core/p-56ba5cbf.system.js.map +0 -1
  1052. package/dist/pine-core/p-5a384517.entry.js +0 -2
  1053. package/dist/pine-core/p-5a384517.entry.js.map +0 -1
  1054. package/dist/pine-core/p-5bee6677.system.entry.js +0 -2
  1055. package/dist/pine-core/p-5bee6677.system.entry.js.map +0 -1
  1056. package/dist/pine-core/p-5df76e04.system.js +0 -2
  1057. package/dist/pine-core/p-5df76e04.system.js.map +0 -1
  1058. package/dist/pine-core/p-62ec9a0f.system.entry.js +0 -2
  1059. package/dist/pine-core/p-62ec9a0f.system.entry.js.map +0 -1
  1060. package/dist/pine-core/p-6a7a864f.entry.js +0 -2
  1061. package/dist/pine-core/p-6a7a864f.entry.js.map +0 -1
  1062. package/dist/pine-core/p-6ae2f0f5.entry.js +0 -2
  1063. package/dist/pine-core/p-6ae2f0f5.entry.js.map +0 -1
  1064. package/dist/pine-core/p-6e146962.entry.js +0 -2
  1065. package/dist/pine-core/p-6e146962.entry.js.map +0 -1
  1066. package/dist/pine-core/p-6ff9ebfa.entry.js +0 -2
  1067. package/dist/pine-core/p-6ff9ebfa.entry.js.map +0 -1
  1068. package/dist/pine-core/p-701ba882.entry.js +0 -2
  1069. package/dist/pine-core/p-701ba882.entry.js.map +0 -1
  1070. package/dist/pine-core/p-73eb1722.entry.js +0 -2
  1071. package/dist/pine-core/p-73eb1722.entry.js.map +0 -1
  1072. package/dist/pine-core/p-78c6c37a.system.entry.js +0 -2
  1073. package/dist/pine-core/p-78c6c37a.system.entry.js.map +0 -1
  1074. package/dist/pine-core/p-79ca4ab9.system.entry.js +0 -2
  1075. package/dist/pine-core/p-79ca4ab9.system.entry.js.map +0 -1
  1076. package/dist/pine-core/p-7c33a02e.entry.js +0 -2
  1077. package/dist/pine-core/p-7c33a02e.entry.js.map +0 -1
  1078. package/dist/pine-core/p-7dac515e.system.entry.js +0 -2
  1079. package/dist/pine-core/p-7dac515e.system.entry.js.map +0 -1
  1080. package/dist/pine-core/p-7ea6838b.system.entry.js +0 -2
  1081. package/dist/pine-core/p-7ea6838b.system.entry.js.map +0 -1
  1082. package/dist/pine-core/p-7ebfdef4.system.entry.js +0 -2
  1083. package/dist/pine-core/p-7ebfdef4.system.entry.js.map +0 -1
  1084. package/dist/pine-core/p-829777e4.system.entry.js +0 -2
  1085. package/dist/pine-core/p-829777e4.system.entry.js.map +0 -1
  1086. package/dist/pine-core/p-8317c6c2.js +0 -2
  1087. package/dist/pine-core/p-8317c6c2.js.map +0 -1
  1088. package/dist/pine-core/p-8469b65a.entry.js +0 -2
  1089. package/dist/pine-core/p-8469b65a.entry.js.map +0 -1
  1090. package/dist/pine-core/p-8d8de5fd.entry.js +0 -2
  1091. package/dist/pine-core/p-8d8de5fd.entry.js.map +0 -1
  1092. package/dist/pine-core/p-8df8debd.entry.js +0 -2
  1093. package/dist/pine-core/p-8df8debd.entry.js.map +0 -1
  1094. package/dist/pine-core/p-8f73bf14.system.entry.js +0 -2
  1095. package/dist/pine-core/p-8f73bf14.system.entry.js.map +0 -1
  1096. package/dist/pine-core/p-8fbec4fe.system.js +0 -2
  1097. package/dist/pine-core/p-8fbec4fe.system.js.map +0 -1
  1098. package/dist/pine-core/p-909b305c.system.entry.js +0 -2
  1099. package/dist/pine-core/p-909b305c.system.entry.js.map +0 -1
  1100. package/dist/pine-core/p-936d96ec.system.entry.js +0 -9
  1101. package/dist/pine-core/p-936d96ec.system.entry.js.map +0 -1
  1102. package/dist/pine-core/p-9583e6d5.entry.js +0 -2
  1103. package/dist/pine-core/p-9583e6d5.entry.js.map +0 -1
  1104. package/dist/pine-core/p-96c750d1.entry.js +0 -2
  1105. package/dist/pine-core/p-96c750d1.entry.js.map +0 -1
  1106. package/dist/pine-core/p-a03e587c.entry.js +0 -2
  1107. package/dist/pine-core/p-a03e587c.entry.js.map +0 -1
  1108. package/dist/pine-core/p-a79a8159.entry.js +0 -2
  1109. package/dist/pine-core/p-a79a8159.entry.js.map +0 -1
  1110. package/dist/pine-core/p-a962fe8e.entry.js +0 -2
  1111. package/dist/pine-core/p-a962fe8e.entry.js.map +0 -1
  1112. package/dist/pine-core/p-ac228abf.entry.js +0 -2
  1113. package/dist/pine-core/p-ac228abf.entry.js.map +0 -1
  1114. package/dist/pine-core/p-ad4238c9.system.entry.js +0 -2
  1115. package/dist/pine-core/p-ad4238c9.system.entry.js.map +0 -1
  1116. package/dist/pine-core/p-af7df3c2.system.entry.js +0 -2
  1117. package/dist/pine-core/p-af7df3c2.system.entry.js.map +0 -1
  1118. package/dist/pine-core/p-b18b20f4.system.js +0 -2
  1119. package/dist/pine-core/p-b18b20f4.system.js.map +0 -1
  1120. package/dist/pine-core/p-b4518566.entry.js +0 -2
  1121. package/dist/pine-core/p-b4518566.entry.js.map +0 -1
  1122. package/dist/pine-core/p-b5c7e02a.entry.js +0 -2
  1123. package/dist/pine-core/p-b5c7e02a.entry.js.map +0 -1
  1124. package/dist/pine-core/p-bc20946b.system.entry.js +0 -2
  1125. package/dist/pine-core/p-bc20946b.system.entry.js.map +0 -1
  1126. package/dist/pine-core/p-c52d0465.system.entry.js +0 -2
  1127. package/dist/pine-core/p-c52d0465.system.entry.js.map +0 -1
  1128. package/dist/pine-core/p-c84cc2f8.system.entry.js +0 -2
  1129. package/dist/pine-core/p-c84cc2f8.system.entry.js.map +0 -1
  1130. package/dist/pine-core/p-ca239d59.system.entry.js +0 -2
  1131. package/dist/pine-core/p-ca239d59.system.entry.js.map +0 -1
  1132. package/dist/pine-core/p-cfacf2e0.system.entry.js +0 -2
  1133. package/dist/pine-core/p-cfacf2e0.system.entry.js.map +0 -1
  1134. package/dist/pine-core/p-e1255160.js +0 -2
  1135. package/dist/pine-core/p-e1255160.js.map +0 -1
  1136. package/dist/pine-core/p-e4b3115c.entry.js +0 -2
  1137. package/dist/pine-core/p-e4b3115c.entry.js.map +0 -1
  1138. package/dist/pine-core/p-e60fccc0.js +0 -2
  1139. package/dist/pine-core/p-e60fccc0.js.map +0 -1
  1140. package/dist/pine-core/p-eb56f262.system.entry.js +0 -2
  1141. package/dist/pine-core/p-eb56f262.system.entry.js.map +0 -1
  1142. package/dist/pine-core/p-ec484bf6.entry.js +0 -2
  1143. package/dist/pine-core/p-ec484bf6.entry.js.map +0 -1
  1144. package/dist/pine-core/p-f59d4a46.entry.js +0 -2
  1145. package/dist/pine-core/p-f59d4a46.entry.js.map +0 -1
  1146. package/dist/pine-core/p-f74c489d.system.js +0 -3
  1147. package/dist/pine-core/p-f74c489d.system.js.map +0 -1
  1148. package/dist/pine-core/pine-core.esm.js.map +0 -1
  1149. package/dist/pine-core/svg/access-key.svg +0 -1
  1150. package/dist/pine-core/svg/add-circle.svg +0 -1
  1151. package/dist/pine-core/svg/add-image.svg +0 -1
  1152. package/dist/pine-core/svg/add-small.svg +0 -1
  1153. package/dist/pine-core/svg/add-square.svg +0 -1
  1154. package/dist/pine-core/svg/add.svg +0 -1
  1155. package/dist/pine-core/svg/advanced.svg +0 -1
  1156. package/dist/pine-core/svg/ai-sparkle.svg +0 -1
  1157. package/dist/pine-core/svg/ai-writer-filled.svg +0 -1
  1158. package/dist/pine-core/svg/ai-writer.svg +0 -1
  1159. package/dist/pine-core/svg/align-center.svg +0 -1
  1160. package/dist/pine-core/svg/align-justify.svg +0 -1
  1161. package/dist/pine-core/svg/align-left.svg +0 -1
  1162. package/dist/pine-core/svg/align-right.svg +0 -1
  1163. package/dist/pine-core/svg/app-store.svg +0 -1
  1164. package/dist/pine-core/svg/archive.svg +0 -1
  1165. package/dist/pine-core/svg/arrow-corner.svg +0 -1
  1166. package/dist/pine-core/svg/arrow-down.svg +0 -1
  1167. package/dist/pine-core/svg/arrow-left.svg +0 -1
  1168. package/dist/pine-core/svg/arrow-right.svg +0 -1
  1169. package/dist/pine-core/svg/arrow-up.svg +0 -1
  1170. package/dist/pine-core/svg/assessment.svg +0 -1
  1171. package/dist/pine-core/svg/at-sign.svg +0 -1
  1172. package/dist/pine-core/svg/attach.svg +0 -1
  1173. package/dist/pine-core/svg/automations.svg +0 -1
  1174. package/dist/pine-core/svg/ban.svg +0 -1
  1175. package/dist/pine-core/svg/bank.svg +0 -1
  1176. package/dist/pine-core/svg/bar-chart-10-tone.svg +0 -1
  1177. package/dist/pine-core/svg/bell-01-tone.svg +0 -1
  1178. package/dist/pine-core/svg/bell.svg +0 -1
  1179. package/dist/pine-core/svg/block.svg +0 -1
  1180. package/dist/pine-core/svg/blog-filled.svg +0 -1
  1181. package/dist/pine-core/svg/blog.svg +0 -1
  1182. package/dist/pine-core/svg/bold.svg +0 -1
  1183. package/dist/pine-core/svg/broadcast.svg +0 -1
  1184. package/dist/pine-core/svg/bulb.svg +0 -1
  1185. package/dist/pine-core/svg/button.svg +0 -1
  1186. package/dist/pine-core/svg/calendar-date.svg +0 -1
  1187. package/dist/pine-core/svg/calendar-schedule.svg +0 -1
  1188. package/dist/pine-core/svg/calendar-simple.svg +0 -1
  1189. package/dist/pine-core/svg/card-amex.svg +0 -1
  1190. package/dist/pine-core/svg/card-android.svg +0 -1
  1191. package/dist/pine-core/svg/card-apple.svg +0 -1
  1192. package/dist/pine-core/svg/card-diners-club.svg +0 -1
  1193. package/dist/pine-core/svg/card-discover.svg +0 -1
  1194. package/dist/pine-core/svg/card-generic.svg +0 -1
  1195. package/dist/pine-core/svg/card-gpay.svg +0 -1
  1196. package/dist/pine-core/svg/card-mastercard.svg +0 -1
  1197. package/dist/pine-core/svg/card-paypal.svg +0 -1
  1198. package/dist/pine-core/svg/card-stripe.svg +0 -1
  1199. package/dist/pine-core/svg/card-update.svg +0 -1
  1200. package/dist/pine-core/svg/card-visa.svg +0 -1
  1201. package/dist/pine-core/svg/caret-down.svg +0 -1
  1202. package/dist/pine-core/svg/caret-left.svg +0 -1
  1203. package/dist/pine-core/svg/caret-right.svg +0 -1
  1204. package/dist/pine-core/svg/caret-up.svg +0 -1
  1205. package/dist/pine-core/svg/cart-add.svg +0 -1
  1206. package/dist/pine-core/svg/cart.svg +0 -1
  1207. package/dist/pine-core/svg/certificate.svg +0 -1
  1208. package/dist/pine-core/svg/chart-filled.svg +0 -1
  1209. package/dist/pine-core/svg/chart.svg +0 -1
  1210. package/dist/pine-core/svg/check-circle-filled.svg +0 -1
  1211. package/dist/pine-core/svg/check-circle.svg +0 -1
  1212. package/dist/pine-core/svg/check.svg +0 -1
  1213. package/dist/pine-core/svg/circle-1.svg +0 -1
  1214. package/dist/pine-core/svg/circle-2.svg +0 -1
  1215. package/dist/pine-core/svg/circle-3.svg +0 -1
  1216. package/dist/pine-core/svg/circle-4.svg +0 -1
  1217. package/dist/pine-core/svg/circle-5.svg +0 -1
  1218. package/dist/pine-core/svg/circle-6.svg +0 -1
  1219. package/dist/pine-core/svg/circle-7.svg +0 -1
  1220. package/dist/pine-core/svg/circle-8.svg +0 -1
  1221. package/dist/pine-core/svg/circle-9.svg +0 -1
  1222. package/dist/pine-core/svg/circle-a.svg +0 -1
  1223. package/dist/pine-core/svg/circle-b.svg +0 -1
  1224. package/dist/pine-core/svg/circle-dashed.svg +0 -1
  1225. package/dist/pine-core/svg/clapperboard-tone.svg +0 -1
  1226. package/dist/pine-core/svg/clock.svg +0 -1
  1227. package/dist/pine-core/svg/closed-captions.svg +0 -1
  1228. package/dist/pine-core/svg/cloud-upload.svg +0 -1
  1229. package/dist/pine-core/svg/code-block.svg +0 -1
  1230. package/dist/pine-core/svg/code.svg +0 -1
  1231. package/dist/pine-core/svg/color.svg +0 -1
  1232. package/dist/pine-core/svg/columns.svg +0 -1
  1233. package/dist/pine-core/svg/comment-no.svg +0 -1
  1234. package/dist/pine-core/svg/comment.svg +0 -1
  1235. package/dist/pine-core/svg/connect.svg +0 -1
  1236. package/dist/pine-core/svg/contact.svg +0 -1
  1237. package/dist/pine-core/svg/conversation.svg +0 -1
  1238. package/dist/pine-core/svg/copy.svg +0 -1
  1239. package/dist/pine-core/svg/coupon.svg +0 -1
  1240. package/dist/pine-core/svg/course-filled.svg +0 -1
  1241. package/dist/pine-core/svg/course.svg +0 -1
  1242. package/dist/pine-core/svg/creator-studio-filled.svg +0 -1
  1243. package/dist/pine-core/svg/creator-studio.svg +0 -1
  1244. package/dist/pine-core/svg/credit-card-02-tone.svg +0 -1
  1245. package/dist/pine-core/svg/cube-01-tone.svg +0 -1
  1246. package/dist/pine-core/svg/cursor-pointer.svg +0 -1
  1247. package/dist/pine-core/svg/cursor.svg +0 -1
  1248. package/dist/pine-core/svg/custom-field.svg +0 -1
  1249. package/dist/pine-core/svg/customize.svg +0 -1
  1250. package/dist/pine-core/svg/danger-filled.svg +0 -1
  1251. package/dist/pine-core/svg/danger.svg +0 -1
  1252. package/dist/pine-core/svg/delete-circle.svg +0 -1
  1253. package/dist/pine-core/svg/delete-key.svg +0 -1
  1254. package/dist/pine-core/svg/delete-x.svg +0 -1
  1255. package/dist/pine-core/svg/dollar.svg +0 -1
  1256. package/dist/pine-core/svg/dot-menu-horizontal.svg +0 -1
  1257. package/dist/pine-core/svg/dots-horizontal-tone.svg +0 -1
  1258. package/dist/pine-core/svg/down-small.svg +0 -1
  1259. package/dist/pine-core/svg/download.svg +0 -1
  1260. package/dist/pine-core/svg/downsell.svg +0 -1
  1261. package/dist/pine-core/svg/draft.svg +0 -1
  1262. package/dist/pine-core/svg/drawer-collapse.svg +0 -1
  1263. package/dist/pine-core/svg/drawer-expand.svg +0 -1
  1264. package/dist/pine-core/svg/drop.svg +0 -1
  1265. package/dist/pine-core/svg/duplicate.svg +0 -1
  1266. package/dist/pine-core/svg/editor-filled.svg +0 -1
  1267. package/dist/pine-core/svg/editor.svg +0 -1
  1268. package/dist/pine-core/svg/email-activity.svg +0 -1
  1269. package/dist/pine-core/svg/emoji.svg +0 -1
  1270. package/dist/pine-core/svg/enlarge-vertical.svg +0 -1
  1271. package/dist/pine-core/svg/enlarge.svg +0 -1
  1272. package/dist/pine-core/svg/expand.svg +0 -1
  1273. package/dist/pine-core/svg/favorite.svg +0 -1
  1274. package/dist/pine-core/svg/feedback.svg +0 -1
  1275. package/dist/pine-core/svg/file-02.svg +0 -1
  1276. package/dist/pine-core/svg/file-money.svg +0 -1
  1277. package/dist/pine-core/svg/file.svg +0 -1
  1278. package/dist/pine-core/svg/filter.svg +0 -1
  1279. package/dist/pine-core/svg/flag.svg +0 -1
  1280. package/dist/pine-core/svg/flash-filled.svg +0 -1
  1281. package/dist/pine-core/svg/flash.svg +0 -1
  1282. package/dist/pine-core/svg/floppy-disk.svg +0 -1
  1283. package/dist/pine-core/svg/folder-group.svg +0 -1
  1284. package/dist/pine-core/svg/folder.svg +0 -1
  1285. package/dist/pine-core/svg/form-field.svg +0 -1
  1286. package/dist/pine-core/svg/form-filled.svg +0 -1
  1287. package/dist/pine-core/svg/form.svg +0 -1
  1288. package/dist/pine-core/svg/fullscreen.svg +0 -1
  1289. package/dist/pine-core/svg/funnel.svg +0 -1
  1290. package/dist/pine-core/svg/gear-filled.svg +0 -1
  1291. package/dist/pine-core/svg/gear.svg +0 -1
  1292. package/dist/pine-core/svg/grant-offer.svg +0 -1
  1293. package/dist/pine-core/svg/handle-2-vertical.svg +0 -1
  1294. package/dist/pine-core/svg/handle-2.svg +0 -1
  1295. package/dist/pine-core/svg/handle.svg +0 -1
  1296. package/dist/pine-core/svg/hashtag.svg +0 -1
  1297. package/dist/pine-core/svg/hd-video.svg +0 -1
  1298. package/dist/pine-core/svg/heading-1.svg +0 -1
  1299. package/dist/pine-core/svg/heading-2.svg +0 -1
  1300. package/dist/pine-core/svg/heading-3.svg +0 -1
  1301. package/dist/pine-core/svg/heading-4.svg +0 -1
  1302. package/dist/pine-core/svg/heading-5.svg +0 -1
  1303. package/dist/pine-core/svg/heading-6.svg +0 -1
  1304. package/dist/pine-core/svg/heading-large.svg +0 -1
  1305. package/dist/pine-core/svg/heading-small.svg +0 -1
  1306. package/dist/pine-core/svg/headset-tone.svg +0 -1
  1307. package/dist/pine-core/svg/headset.svg +0 -1
  1308. package/dist/pine-core/svg/help-filled.svg +0 -1
  1309. package/dist/pine-core/svg/help.svg +0 -1
  1310. package/dist/pine-core/svg/home-02-tone.svg +0 -1
  1311. package/dist/pine-core/svg/home-alt.svg +0 -1
  1312. package/dist/pine-core/svg/home-filled.svg +0 -1
  1313. package/dist/pine-core/svg/home.svg +0 -1
  1314. package/dist/pine-core/svg/horizontal-line.svg +0 -1
  1315. package/dist/pine-core/svg/image.svg +0 -1
  1316. package/dist/pine-core/svg/info-circle-filled.svg +0 -1
  1317. package/dist/pine-core/svg/info-circle.svg +0 -1
  1318. package/dist/pine-core/svg/ios-battery.svg +0 -1
  1319. package/dist/pine-core/svg/ios-data.svg +0 -1
  1320. package/dist/pine-core/svg/ios-wifi.svg +0 -1
  1321. package/dist/pine-core/svg/italic.svg +0 -1
  1322. package/dist/pine-core/svg/kajabi-filled.svg +0 -1
  1323. package/dist/pine-core/svg/kajabi.svg +0 -1
  1324. package/dist/pine-core/svg/klarna.svg +0 -1
  1325. package/dist/pine-core/svg/lab.svg +0 -1
  1326. package/dist/pine-core/svg/launch.svg +0 -1
  1327. package/dist/pine-core/svg/layout-grid.svg +0 -1
  1328. package/dist/pine-core/svg/layout-list.svg +0 -1
  1329. package/dist/pine-core/svg/left-small.svg +0 -1
  1330. package/dist/pine-core/svg/list-bullet.svg +0 -1
  1331. package/dist/pine-core/svg/list-details.svg +0 -1
  1332. package/dist/pine-core/svg/list-numbers.svg +0 -1
  1333. package/dist/pine-core/svg/location.svg +0 -1
  1334. package/dist/pine-core/svg/lock-alt.svg +0 -1
  1335. package/dist/pine-core/svg/lock.svg +0 -1
  1336. package/dist/pine-core/svg/logo-afterpay.svg +0 -1
  1337. package/dist/pine-core/svg/logo-facebook-round.svg +0 -1
  1338. package/dist/pine-core/svg/logo-facebook.svg +0 -1
  1339. package/dist/pine-core/svg/logo-instagram.svg +0 -1
  1340. package/dist/pine-core/svg/logo-linkedin.svg +0 -1
  1341. package/dist/pine-core/svg/logo-tiktok.svg +0 -1
  1342. package/dist/pine-core/svg/logo-twitter-x.svg +0 -1
  1343. package/dist/pine-core/svg/logo-twitter.svg +0 -1
  1344. package/dist/pine-core/svg/logo-youtube.svg +0 -1
  1345. package/dist/pine-core/svg/loop.svg +0 -1
  1346. package/dist/pine-core/svg/mail-01-tone.svg +0 -1
  1347. package/dist/pine-core/svg/mail-filled.svg +0 -1
  1348. package/dist/pine-core/svg/mail-open.svg +0 -1
  1349. package/dist/pine-core/svg/mail.svg +0 -1
  1350. package/dist/pine-core/svg/map.svg +0 -1
  1351. package/dist/pine-core/svg/mapped.svg +0 -1
  1352. package/dist/pine-core/svg/margin-left.svg +0 -1
  1353. package/dist/pine-core/svg/margin-right.svg +0 -1
  1354. package/dist/pine-core/svg/marker-filled.svg +0 -1
  1355. package/dist/pine-core/svg/marker.svg +0 -1
  1356. package/dist/pine-core/svg/megaphone-filled.svg +0 -1
  1357. package/dist/pine-core/svg/megaphone.svg +0 -1
  1358. package/dist/pine-core/svg/menu-alt.svg +0 -1
  1359. package/dist/pine-core/svg/menu-bordered.svg +0 -1
  1360. package/dist/pine-core/svg/menu.svg +0 -1
  1361. package/dist/pine-core/svg/merge.svg +0 -1
  1362. package/dist/pine-core/svg/microphone-off.svg +0 -1
  1363. package/dist/pine-core/svg/microphone.svg +0 -1
  1364. package/dist/pine-core/svg/monitor-03-tone.svg +0 -1
  1365. package/dist/pine-core/svg/monitor-filled.svg +0 -1
  1366. package/dist/pine-core/svg/monitor.svg +0 -1
  1367. package/dist/pine-core/svg/more-menu-filled.svg +0 -1
  1368. package/dist/pine-core/svg/more-menu.svg +0 -1
  1369. package/dist/pine-core/svg/move-left.svg +0 -1
  1370. package/dist/pine-core/svg/move-right.svg +0 -1
  1371. package/dist/pine-core/svg/multi-pay.svg +0 -1
  1372. package/dist/pine-core/svg/newsletter-2.svg +0 -1
  1373. package/dist/pine-core/svg/newsletter.svg +0 -1
  1374. package/dist/pine-core/svg/one-off-session.svg +0 -1
  1375. package/dist/pine-core/svg/one-time.svg +0 -1
  1376. package/dist/pine-core/svg/packages.svg +0 -1
  1377. package/dist/pine-core/svg/pause-circle.svg +0 -1
  1378. package/dist/pine-core/svg/pause.svg +0 -1
  1379. package/dist/pine-core/svg/payout.svg +0 -1
  1380. package/dist/pine-core/svg/pen.svg +0 -1
  1381. package/dist/pine-core/svg/phone-02-tone.svg +0 -1
  1382. package/dist/pine-core/svg/phone-portrait.svg +0 -1
  1383. package/dist/pine-core/svg/phone-toolbar-filled.svg +0 -1
  1384. package/dist/pine-core/svg/phone-toolbar.svg +0 -1
  1385. package/dist/pine-core/svg/play-circle.svg +0 -1
  1386. package/dist/pine-core/svg/play-outline.svg +0 -1
  1387. package/dist/pine-core/svg/play-store.svg +0 -1
  1388. package/dist/pine-core/svg/play.svg +0 -1
  1389. package/dist/pine-core/svg/plug.svg +0 -1
  1390. package/dist/pine-core/svg/premium.svg +0 -1
  1391. package/dist/pine-core/svg/present.svg +0 -1
  1392. package/dist/pine-core/svg/preview-off.svg +0 -1
  1393. package/dist/pine-core/svg/preview-on.svg +0 -1
  1394. package/dist/pine-core/svg/product-filled.svg +0 -1
  1395. package/dist/pine-core/svg/product.svg +0 -1
  1396. package/dist/pine-core/svg/question-circle.svg +0 -1
  1397. package/dist/pine-core/svg/quote.svg +0 -1
  1398. package/dist/pine-core/svg/redo.svg +0 -1
  1399. package/dist/pine-core/svg/refresh.svg +0 -1
  1400. package/dist/pine-core/svg/remove-circle.svg +0 -1
  1401. package/dist/pine-core/svg/remove.svg +0 -1
  1402. package/dist/pine-core/svg/rename.svg +0 -1
  1403. package/dist/pine-core/svg/reset-password.svg +0 -1
  1404. package/dist/pine-core/svg/restore.svg +0 -1
  1405. package/dist/pine-core/svg/right-small.svg +0 -1
  1406. package/dist/pine-core/svg/rocket-filled.svg +0 -1
  1407. package/dist/pine-core/svg/rocket.svg +0 -1
  1408. package/dist/pine-core/svg/round-dollar.svg +0 -1
  1409. package/dist/pine-core/svg/rows.svg +0 -1
  1410. package/dist/pine-core/svg/scissor.svg +0 -1
  1411. package/dist/pine-core/svg/screen-share-off.svg +0 -1
  1412. package/dist/pine-core/svg/screen-share-on.svg +0 -1
  1413. package/dist/pine-core/svg/search-md-tone.svg +0 -1
  1414. package/dist/pine-core/svg/search-small.svg +0 -1
  1415. package/dist/pine-core/svg/search.svg +0 -1
  1416. package/dist/pine-core/svg/send-message.svg +0 -1
  1417. package/dist/pine-core/svg/sequences.svg +0 -1
  1418. package/dist/pine-core/svg/settings-01-tone.svg +0 -1
  1419. package/dist/pine-core/svg/share.svg +0 -1
  1420. package/dist/pine-core/svg/skipped.svg +0 -1
  1421. package/dist/pine-core/svg/slash-divider.svg +0 -1
  1422. package/dist/pine-core/svg/speaker.svg +0 -1
  1423. package/dist/pine-core/svg/stack.svg +0 -1
  1424. package/dist/pine-core/svg/star.svg +0 -1
  1425. package/dist/pine-core/svg/stars-01-tone.svg +0 -1
  1426. package/dist/pine-core/svg/stop.svg +0 -1
  1427. package/dist/pine-core/svg/stopwatch.svg +0 -1
  1428. package/dist/pine-core/svg/strikethrough.svg +0 -1
  1429. package/dist/pine-core/svg/subscript.svg +0 -1
  1430. package/dist/pine-core/svg/subscriptions.svg +0 -1
  1431. package/dist/pine-core/svg/super-admin.svg +0 -1
  1432. package/dist/pine-core/svg/superscript.svg +0 -1
  1433. package/dist/pine-core/svg/sync.svg +0 -1
  1434. package/dist/pine-core/svg/tablet-landscape.svg +0 -1
  1435. package/dist/pine-core/svg/tablet-portrait.svg +0 -1
  1436. package/dist/pine-core/svg/tag-filled.svg +0 -1
  1437. package/dist/pine-core/svg/tag.svg +0 -1
  1438. package/dist/pine-core/svg/text-styles.svg +0 -1
  1439. package/dist/pine-core/svg/theme-store-filled.svg +0 -1
  1440. package/dist/pine-core/svg/theme-store.svg +0 -1
  1441. package/dist/pine-core/svg/thumb-down-filled.svg +0 -1
  1442. package/dist/pine-core/svg/thumb-down.svg +0 -1
  1443. package/dist/pine-core/svg/thumb-up-filled.svg +0 -1
  1444. package/dist/pine-core/svg/thumb-up.svg +0 -1
  1445. package/dist/pine-core/svg/trash.svg +0 -1
  1446. package/dist/pine-core/svg/trophy-filled.svg +0 -1
  1447. package/dist/pine-core/svg/trophy.svg +0 -1
  1448. package/dist/pine-core/svg/underline.svg +0 -1
  1449. package/dist/pine-core/svg/undo.svg +0 -1
  1450. package/dist/pine-core/svg/unlock.svg +0 -1
  1451. package/dist/pine-core/svg/unmapped.svg +0 -1
  1452. package/dist/pine-core/svg/up-small.svg +0 -1
  1453. package/dist/pine-core/svg/upload.svg +0 -1
  1454. package/dist/pine-core/svg/url.svg +0 -1
  1455. package/dist/pine-core/svg/user-circle-filled.svg +0 -1
  1456. package/dist/pine-core/svg/user-circle.svg +0 -1
  1457. package/dist/pine-core/svg/user-filled.svg +0 -1
  1458. package/dist/pine-core/svg/user-star-filled.svg +0 -1
  1459. package/dist/pine-core/svg/user-star.svg +0 -1
  1460. package/dist/pine-core/svg/user.svg +0 -1
  1461. package/dist/pine-core/svg/users-02-tone.svg +0 -1
  1462. package/dist/pine-core/svg/users-alt.svg +0 -1
  1463. package/dist/pine-core/svg/users-filled.svg +0 -1
  1464. package/dist/pine-core/svg/users.svg +0 -1
  1465. package/dist/pine-core/svg/video-off.svg +0 -1
  1466. package/dist/pine-core/svg/video-on.svg +0 -1
  1467. package/dist/pine-core/svg/warning-filled.svg +0 -1
  1468. package/dist/pine-core/svg/warning.svg +0 -1
  1469. package/dist/pine-core/svg/window-paragraph.svg +0 -1
  1470. package/dist/pine-core/svg/world.svg +0 -1
  1471. package/dist/pine-core/svg/wrench.svg +0 -1
  1472. package/dist/types/stories/_helpers/index.d.ts +0 -12
  1473. package/loader/package.json +0 -11
@@ -0,0 +1,1347 @@
1
+ import { Host, h } from "@stencil/core";
2
+ import { autoUpdate, computePosition, flip, offset, platform, shift } from "@floating-ui/dom";
3
+ import { closest, containsComposed } from "../../utils/closest";
4
+ import { restoreReflectedDefault } from "../../utils/reflected-attribute-default";
5
+ import { setAttributesIfChanged } from "../../utils/attributes";
6
+ import { cssEscape } from "../../utils/css";
7
+ import { limitRestores } from "../../utils/keep-hydrated";
8
+ import { tabbableIn } from "../../utils/tabbable";
9
+ /** Open popovers that close on Escape, in the order they opened: Escape goes to the last one it applies to. */
10
+ const popoversTakingEscape = [];
11
+ /** Hovering the trigger waits this long before opening, so a pointer passing over it doesn't open it. */
12
+ const HOVER_OPEN_DELAY_MS = 120;
13
+ /** Leaving the trigger and panel waits this long before closing, which covers the gap between them. */
14
+ const HOVER_CLOSE_DELAY_MS = 200;
15
+ /**
16
+ * floating-ui reporting viewport coordinates, as `position: fixed` uses without a containing block. Its own
17
+ * containing-block check misses a backdrop filter in WebKit, so handlePopoverPositioning corrects for one itself.
18
+ */
19
+ const viewportPlatform = Object.assign(Object.assign({}, platform), { getOffsetParent: () => window });
20
+ /**
21
+ * Where `top: 0; left: 0` puts a fixed element beside the given one. An empty probe is measured instead of the
22
+ * element, whose own transforms, such as an entrance animation, would otherwise read as part of the offset.
23
+ */
24
+ const containingBlockOrigin = (element) => {
25
+ var _a;
26
+ const probe = document.createElement('div');
27
+ probe.style.cssText = 'all: initial; position: fixed; top: 0; left: 0;';
28
+ (_a = element.parentNode) === null || _a === void 0 ? void 0 : _a.insertBefore(probe, element);
29
+ const { top, left } = probe.getBoundingClientRect();
30
+ probe.remove();
31
+ return { top, left };
32
+ };
33
+ /** The focused element, followed down through shadow roots to the control that has focus. */
34
+ function deepActiveElement() {
35
+ var _a;
36
+ let active = document.activeElement;
37
+ while ((_a = active === null || active === void 0 ? void 0 : active.shadowRoot) === null || _a === void 0 ? void 0 : _a.activeElement)
38
+ active = active.shadowRoot.activeElement;
39
+ return active;
40
+ }
41
+ /** `node`, or the shadow host it sits in, lifted until it shares a tree with `other` or reaches the document. */
42
+ function liftToTreeOf(node, other) {
43
+ let current = node;
44
+ while (current.getRootNode() !== other.getRootNode() && current.getRootNode() instanceof ShadowRoot) {
45
+ current = current.getRootNode().host;
46
+ }
47
+ return current;
48
+ }
49
+ /**
50
+ * Where `node` sits relative to `ref`, as `compareDocumentPosition` reports it. Whichever of the two
51
+ * is inside a shadow root is lifted to its host first, so a control inside a component compares too.
52
+ */
53
+ function positionAcrossTrees(ref, node) {
54
+ const lifted = liftToTreeOf(node, ref);
55
+ return liftToTreeOf(ref, lifted).compareDocumentPosition(lifted);
56
+ }
57
+ const isPosition = (position, flag) => (position & Node.DOCUMENT_POSITION_DISCONNECTED) === 0 && (position & flag) !== 0;
58
+ /** The popover each panel belongs to, so a popover inside another one's panel can find it. */
59
+ const panelOwners = new WeakMap();
60
+ /** Floating layers Pine components put at the end of the page or of a dialog, as a popover does its panel. */
61
+ const FLOATING_LAYERS = '.pds-popover, .pds-datepicker-calendar-portal, .pds-combobox-dropdown-portal';
62
+ /**
63
+ * @slot trigger - The trigger element for the popover
64
+ * @slot (default) - The content to display inside the popover
65
+ */
66
+ export class PdsPopover {
67
+ constructor() {
68
+ /**
69
+ * Determines when the popover is active
70
+ * @defaultValue false
71
+ */
72
+ this.active = false;
73
+ /**
74
+ * Tracks if the component is still mounted to prevent memory leaks
75
+ */
76
+ this.isComponentMounted = true;
77
+ /**
78
+ * Set once `componentDidLoad` has built the portal, so a later reconnect knows to rebuild it
79
+ */
80
+ this.hasLoaded = false;
81
+ /**
82
+ * A popover without a componentId keeps one generated portal id, even when the portal is rebuilt
83
+ */
84
+ this.generatedPortalId = null;
85
+ /**
86
+ * Reference to the trigger element
87
+ */
88
+ this.triggerEl = null;
89
+ /**
90
+ * Puts the trigger's ARIA back when something else removes or changes it
91
+ */
92
+ this.triggerObserver = null;
93
+ /**
94
+ * Portal element: in document.body, or in the open dialog the popover is in
95
+ */
96
+ this.portalEl = null;
97
+ /**
98
+ * Stops floating-ui's autoUpdate, which repositions the open panel as its trigger or the page moves or resizes
99
+ */
100
+ this.stopAutoUpdate = null;
101
+ /**
102
+ * Counts positioning runs, so a run that resolves after a newer one started is dropped
103
+ */
104
+ this.positioningRun = 0;
105
+ /**
106
+ * The latest positioning run, which pdsPopoverOpen waits for so the panel's side is set when it fires
107
+ */
108
+ this.positioning = Promise.resolve();
109
+ /**
110
+ * Set while show() waits to emit pdsPopoverOpen, so a hide() in the meantime emits it first
111
+ */
112
+ this.openEventPending = false;
113
+ /**
114
+ * Track moved nodes and their placeholders for restoration
115
+ */
116
+ this.movedNodes = [];
117
+ /**
118
+ * Timestamp when popover was opened (for preventing immediate close)
119
+ */
120
+ this.openTimestamp = 0;
121
+ /**
122
+ * Set while hover holds the popover open, until a click pins it or it closes
123
+ */
124
+ this.hoverOpened = false;
125
+ /**
126
+ * Set when the pointer left while focus was in the panel, so focus leaving it closes it instead
127
+ */
128
+ this.closeWhenFocusLeaves = false;
129
+ /**
130
+ * How far the pointer was from the panel at its last move after leaving the trigger
131
+ */
132
+ this.panelDistance = Infinity;
133
+ /**
134
+ * Stands in for the panel in the Tab order, right after the trigger, while the popover is open
135
+ */
136
+ this.tabGuardEl = null;
137
+ /**
138
+ * Set while focus passes through the guard on its way out of the panel
139
+ */
140
+ this.leavingPanel = false;
141
+ /**
142
+ * The direction of the Tab key being handled, until its default action has run
143
+ */
144
+ this.tabDirection = null;
145
+ /**
146
+ * Determines the action that triggers the popover. For manual popovers, the consumer is responsible for toggling this value.
147
+ * @defaultValue "show"
148
+ */
149
+ this.popoverTargetAction = 'show';
150
+ /**
151
+ * Determines how the popover opens. With `hover`, it also opens when the pointer rests on the trigger and closes
152
+ * when the pointer leaves, until a click on the trigger keeps it open. Enter or Space on the trigger opens it either way.
153
+ * @defaultValue "click"
154
+ */
155
+ this.openOn = 'click';
156
+ /**
157
+ * Determines the type of popover. Auto popovers can be "light dismissed" by clicking outside of the popover.
158
+ * Manual popovers require the consumer to handle the visibility of the popover.
159
+ */
160
+ this.popoverType = 'auto';
161
+ /**
162
+ * Sets the maximum width of the popover, in pixels, including its padding.
163
+ * @defaultValue 400
164
+ */
165
+ this.maxWidth = 400;
166
+ /**
167
+ * Sets the padding of the popover content
168
+ * @defaultValue "md"
169
+ */
170
+ this.padding = 'md';
171
+ /**
172
+ * Determines the preferred position of the popover
173
+ * @defaultValue "right"
174
+ */
175
+ this.placement = 'right';
176
+ /**
177
+ * Handles changes to the trigger slot
178
+ */
179
+ this.handleTriggerSlotChange = (event) => {
180
+ const slot = event.target;
181
+ const assignedElements = slot.assignedElements();
182
+ // Clean up previous trigger's event listener if it exists
183
+ if (this.triggerEl != null) {
184
+ this.triggerEl.removeEventListener('click', this.handleTriggerClick);
185
+ this.stopListeningForHover(this.triggerEl);
186
+ }
187
+ if (assignedElements.length > 0) {
188
+ // Use the first assigned element as the trigger
189
+ this.triggerEl = assignedElements[0];
190
+ this.linkTriggerToPortal();
191
+ // Attach click listener to handle popover visibility
192
+ this.triggerEl.addEventListener('click', this.handleTriggerClick);
193
+ this.listenForHover(this.triggerEl);
194
+ }
195
+ else {
196
+ this.triggerEl = null;
197
+ }
198
+ // autoUpdate watches the trigger it started with, so an open popover starts it again on the new one.
199
+ if (this.active)
200
+ this.addScrollAndResizeListeners();
201
+ this.observeTrigger();
202
+ };
203
+ /**
204
+ * Handles changes to the default slot (popover content)
205
+ * When the popover is active, re-sync content with portal to handle dynamic updates
206
+ */
207
+ this.handleContentSlotChange = () => {
208
+ if (!this.active)
209
+ return;
210
+ this.updatePortalContent();
211
+ };
212
+ /**
213
+ * Handles clicks on the trigger element
214
+ */
215
+ this.handleTriggerClick = (event) => {
216
+ // Only prevent default if the trigger is not an anchor with href
217
+ // This allows link navigation while still controlling popover visibility
218
+ const composedPath = event.composedPath();
219
+ const anchorWithHref = composedPath.find((el) => el instanceof HTMLAnchorElement && el.href);
220
+ if (!anchorWithHref) {
221
+ event.preventDefault();
222
+ }
223
+ if (this.openOn === 'hover' && this.popoverTargetAction !== 'hide') {
224
+ const heldByHover = this.hoverOpened;
225
+ this.pin();
226
+ // Pinning, not toggling: the hover before a click has already opened it.
227
+ if (heldByHover)
228
+ return;
229
+ }
230
+ // Execute the appropriate action based on popoverTargetAction prop
231
+ switch (this.popoverTargetAction) {
232
+ case 'show':
233
+ this.show();
234
+ break;
235
+ case 'hide':
236
+ this.hide();
237
+ break;
238
+ case 'toggle':
239
+ default:
240
+ this.toggle();
241
+ break;
242
+ }
243
+ };
244
+ // A tap sends touch pointer events and then a click, so touch takes the click path alone.
245
+ this.handleHoverEnter = (event) => {
246
+ if (event.pointerType === 'touch')
247
+ return;
248
+ this.clearHoverTimers();
249
+ if (this.active)
250
+ return;
251
+ this.hoverOpenTimer = setTimeout(() => {
252
+ this.hoverOpenTimer = undefined;
253
+ if (this.active || this.portalEl == null)
254
+ return;
255
+ this.hoverOpened = true;
256
+ this.show();
257
+ }, HOVER_OPEN_DELAY_MS);
258
+ };
259
+ this.handleHoverLeave = (event) => {
260
+ if (event.pointerType === 'touch')
261
+ return;
262
+ this.clearHoverTimers();
263
+ if (!this.hoverOpened)
264
+ return;
265
+ this.hoverCloseTimer = setTimeout(this.closeFromHover, HOVER_CLOSE_DELAY_MS);
266
+ if (event.currentTarget !== this.triggerEl)
267
+ return;
268
+ this.panelDistance = this.distanceToPanel(event);
269
+ document.addEventListener('pointermove', this.handleMoveTowardPanel);
270
+ };
271
+ // A slow diagonal from the trigger to a panel shorter than it runs beside the panel for longer
272
+ // than the close delay, so each move that brings the pointer closer starts the delay again.
273
+ this.handleMoveTowardPanel = (event) => {
274
+ const distance = this.distanceToPanel(event);
275
+ if (distance < this.panelDistance) {
276
+ clearTimeout(this.hoverCloseTimer);
277
+ this.hoverCloseTimer = setTimeout(this.closeFromHover, HOVER_CLOSE_DELAY_MS);
278
+ }
279
+ this.panelDistance = distance;
280
+ };
281
+ this.handleHoverFocusOut = (event) => {
282
+ if (!this.closeWhenFocusLeaves || containsComposed(this.portalEl, event.relatedTarget))
283
+ return;
284
+ this.closeWhenFocusLeaves = false;
285
+ this.hoverCloseTimer = setTimeout(this.closeFromHover, HOVER_CLOSE_DELAY_MS);
286
+ };
287
+ this.closeFromHover = () => {
288
+ this.clearHoverTimers();
289
+ if (!this.hoverOpened)
290
+ return;
291
+ // Content shown on hover stays while focus is in it (WCAG 1.4.13).
292
+ if (containsComposed(this.portalEl, deepActiveElement())) {
293
+ this.closeWhenFocusLeaves = true;
294
+ return;
295
+ }
296
+ this.hide();
297
+ };
298
+ /** The focus style copied into a shadow root the panel opened in, which `document.head` can't reach. */
299
+ this.shadowFocusStyle = null;
300
+ /** The dialog the panel was opened in, closed along with it. */
301
+ this.watchedDialog = null;
302
+ this.onDialogClose = () => {
303
+ this.hide();
304
+ };
305
+ /**
306
+ * Inside a dialog, the panel can sit in a form that wraps the dialog, which a body portal never
307
+ * did. A submit from the panel (a button in it, or Enter in a field in it) is stopped, so the
308
+ * panel behaves as it does in the body.
309
+ */
310
+ this.handleSubmitFromPanel = (event) => {
311
+ if (!this.portalEl || !containsComposed(event.target, this.portalEl))
312
+ return;
313
+ if (containsComposed(this.portalEl, event.submitter) || containsComposed(this.portalEl, deepActiveElement())) {
314
+ event.preventDefault();
315
+ event.stopPropagation();
316
+ }
317
+ };
318
+ // At the end of the body or of a dialog, the panel would come last in the Tab order. The guard
319
+ // after the trigger takes its place there, while the panel has a control for it to lead to.
320
+ this.syncTabGuard = (event) => {
321
+ if (event.key !== 'Tab')
322
+ return;
323
+ this.releasePanel();
324
+ this.tabDirection = event.shiftKey ? 'backward' : 'forward';
325
+ setTimeout(this.endTabKey);
326
+ // Read on each Tab, as the panel's content can arrive after it opens.
327
+ const guarding = this.guardedTabbables().length > 0;
328
+ if (this.tabGuardEl != null)
329
+ this.tabGuardEl.tabIndex = guarding ? 0 : -1;
330
+ // Inert for this key press, the panel is reached only through the guard, either way round. A
331
+ // control in another floating layer, such as a nested popover's panel, may move focus back into it.
332
+ const focused = deepActiveElement();
333
+ if (guarding && !containsComposed(this.portalEl, focused) && !closest(FLOATING_LAYERS, focused !== null && focused !== void 0 ? focused : document)) {
334
+ this.portalEl.inert = true;
335
+ }
336
+ };
337
+ this.endTabKey = () => {
338
+ this.tabDirection = null;
339
+ this.releasePanel();
340
+ };
341
+ this.handleTabGuardFocus = (event) => {
342
+ if (this.leavingPanel)
343
+ return;
344
+ // An inert panel's controls aren't tabbable, so the guard would find none to send focus to.
345
+ this.releasePanel();
346
+ const tabbables = this.guardedTabbables();
347
+ // A Tab press says which end of the panel focus comes in at; without one, where it came from does.
348
+ const from = event.relatedTarget;
349
+ const backward = this.tabDirection != null ? this.tabDirection === 'backward' : from != null && this.isAfterPopover(from);
350
+ const target = backward ? tabbables[tabbables.length - 1] : tabbables[0];
351
+ // Focus can reach the guard without a Tab keydown here (from a frame, or assistive tech) after
352
+ // the panel's controls are gone. The trigger is the nearest visible place for it.
353
+ if (target == null)
354
+ this.returnFocusToTrigger();
355
+ else
356
+ target.focus();
357
+ };
358
+ this.handleTabFromPanel = (event) => {
359
+ if (event.key !== 'Tab' || event.defaultPrevented || this.tabGuardEl == null)
360
+ return;
361
+ const tabbables = this.guardedTabbables();
362
+ const edge = event.shiftKey ? tabbables[0] : tabbables[tabbables.length - 1];
363
+ if (edge == null || deepActiveElement() !== edge)
364
+ return;
365
+ this.leavePanel(edge, event.shiftKey);
366
+ };
367
+ this.releasePanel = () => {
368
+ if (this.portalEl != null)
369
+ this.portalEl.inert = false;
370
+ };
371
+ }
372
+ openOnChanged() {
373
+ this.pin();
374
+ this.stopListeningForHover(this.triggerEl);
375
+ this.stopListeningForHover(this.portalEl);
376
+ // Out of the page, connectedCallback binds them when it comes back.
377
+ if (!this.isComponentMounted)
378
+ return;
379
+ this.listenForHover(this.triggerEl);
380
+ this.listenForHover(this.portalEl);
381
+ }
382
+ applyPadding() {
383
+ if (this.portalEl != null)
384
+ this.portalEl.style.padding = this.paddingToken();
385
+ }
386
+ paddingToken() {
387
+ switch (this.padding) {
388
+ case 'none':
389
+ return 'var(--pine-dimension-none)';
390
+ case 'xs':
391
+ return 'var(--pine-dimension-xs)';
392
+ case 'sm':
393
+ return 'var(--pine-dimension-sm)';
394
+ default:
395
+ return 'var(--pine-dimension-md)';
396
+ }
397
+ }
398
+ restorePlacementDefault(newValue) {
399
+ this.placement = restoreReflectedDefault(this.el, 'placement', newValue, 'right');
400
+ }
401
+ componentDidLoad() {
402
+ var _a;
403
+ // Bind event handlers for cleanup
404
+ this.boundClickOutsideHandler = this.handleClickOutside.bind(this);
405
+ this.boundEscapeKeyHandler = this.handleEscapeKey.bind(this);
406
+ // Create portal element
407
+ this.createPortal();
408
+ this.hasLoaded = true;
409
+ // Initialize trigger element by calling slot change handler
410
+ // This is a fallback for environments where slot change might not fire reliably
411
+ const triggerSlot = (_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('slot[name="trigger"]');
412
+ if (triggerSlot && this.triggerEl == null) {
413
+ const CustomEvent = (typeof window !== 'undefined' ? window.Event : global.Event);
414
+ const slotChangeEvent = new CustomEvent('slotchange');
415
+ Object.defineProperty(slotChangeEvent, 'target', { value: triggerSlot, enumerable: true });
416
+ this.handleTriggerSlotChange(slotChangeEvent);
417
+ }
418
+ else {
419
+ // A component trigger delays componentDidLoad, so its slotchange ran before the portal existed.
420
+ this.linkTriggerToPortal();
421
+ }
422
+ }
423
+ // The trigger is the consumer's element, so anything can rewrite its attributes (a Turbo morph
424
+ // matches it to server HTML that has no ARIA). Put Pine's values back when that happens.
425
+ observeTrigger() {
426
+ var _a;
427
+ (_a = this.triggerObserver) === null || _a === void 0 ? void 0 : _a.disconnect();
428
+ this.triggerObserver = null;
429
+ if (this.triggerEl == null || typeof MutationObserver === 'undefined')
430
+ return;
431
+ // Capped against a script that keeps undoing it; opening and closing still write it directly.
432
+ this.triggerObserver = new MutationObserver(limitRestores(() => this.linkTriggerToPortal(), 'pds-popover: stopped restoring its trigger ARIA, as another script keeps changing it. It may be wrong until the popover opens or closes.', this.triggerEl));
433
+ this.triggerObserver.observe(this.triggerEl, {
434
+ attributes: true,
435
+ attributeFilter: ['aria-expanded', 'aria-controls'],
436
+ });
437
+ }
438
+ // Set ARIA attributes to establish relationship between trigger and popover
439
+ // This mirrors the native Popover API's accessibility behavior
440
+ linkTriggerToPortal() {
441
+ if (this.triggerEl == null || this.portalEl == null)
442
+ return false;
443
+ // Skips values already in place, so the trigger observer's own callback doesn't loop.
444
+ return setAttributesIfChanged(this.triggerEl, { 'aria-expanded': String(this.active), 'aria-controls': this.portalEl.id });
445
+ }
446
+ listenForHover(el) {
447
+ if (this.openOn !== 'hover' || el == null)
448
+ return;
449
+ el.addEventListener('pointerenter', this.handleHoverEnter);
450
+ el.addEventListener('pointerleave', this.handleHoverLeave);
451
+ el.addEventListener('focusout', this.handleHoverFocusOut);
452
+ }
453
+ stopListeningForHover(el) {
454
+ if (el == null)
455
+ return;
456
+ el.removeEventListener('pointerenter', this.handleHoverEnter);
457
+ el.removeEventListener('pointerleave', this.handleHoverLeave);
458
+ el.removeEventListener('focusout', this.handleHoverFocusOut);
459
+ }
460
+ distanceToPanel({ clientX, clientY }) {
461
+ const panel = this.portalEl.getBoundingClientRect();
462
+ return Math.hypot(Math.max(panel.left - clientX, 0, clientX - panel.right), Math.max(panel.top - clientY, 0, clientY - panel.bottom));
463
+ }
464
+ /**
465
+ * Keeps a popover that hover opened open, closing from then on as one opened by a click does. A
466
+ * manual one gives up Escape again, which it took only while hover held it.
467
+ */
468
+ pin() {
469
+ var _a;
470
+ this.clearHoverTimers();
471
+ if (!this.hoverOpened)
472
+ return;
473
+ this.hoverOpened = false;
474
+ if (this.popoverType === 'auto')
475
+ return;
476
+ this.forgetOpen();
477
+ (_a = this.portalEl) === null || _a === void 0 ? void 0 : _a.removeAttribute('data-pds-popover-open');
478
+ document.removeEventListener('keydown', this.boundEscapeKeyHandler);
479
+ }
480
+ clearHoverTimers() {
481
+ clearTimeout(this.hoverOpenTimer);
482
+ clearTimeout(this.hoverCloseTimer);
483
+ this.hoverOpenTimer = undefined;
484
+ this.hoverCloseTimer = undefined;
485
+ this.closeWhenFocusLeaves = false;
486
+ document.removeEventListener('pointermove', this.handleMoveTowardPanel);
487
+ }
488
+ // componentDidLoad doesn't run again when a popover comes back, so rebuild whatever
489
+ // disconnectedCallback tore down. Each step is a no-op when nothing was.
490
+ connectedCallback() {
491
+ var _a;
492
+ if (!this.hasLoaded)
493
+ return;
494
+ this.isComponentMounted = true;
495
+ this.createPortal();
496
+ (_a = this.triggerEl) === null || _a === void 0 ? void 0 : _a.addEventListener('click', this.handleTriggerClick);
497
+ this.listenForHover(this.triggerEl);
498
+ this.observeTrigger();
499
+ this.linkTriggerToPortal();
500
+ // Still open after a move: the trigger moved, so the portal follows it, into the dialog it
501
+ // is in now, if any.
502
+ if (this.active) {
503
+ this.placePortal();
504
+ // autoUpdate listens to the scroll containers around where the trigger was, so it starts again.
505
+ this.addScrollAndResizeListeners();
506
+ }
507
+ }
508
+ disconnectedCallback() {
509
+ var _a, _b;
510
+ // Moved in one operation (a DOM morph, or a framework reparenting it), the popover is
511
+ // already back in the page. Its portal is outside the popover, so it stays open, with focus
512
+ // where it was; connectedCallback moves it to follow the popover.
513
+ if (this.el.isConnected)
514
+ return;
515
+ this.isComponentMounted = false;
516
+ this.unwatchDialogClose();
517
+ this.forgetOpen();
518
+ // Open, the content sits in the portal; put it back before the portal goes. Only listeners on
519
+ // the popover itself hear the close event now, but those are the ones mirroring its state.
520
+ if (this.active) {
521
+ this.restorePortalContent();
522
+ this.active = false;
523
+ this.linkTriggerToPortal();
524
+ this.emitOpenEvent();
525
+ this.pdsPopoverClose.emit({
526
+ componentId: this.componentId,
527
+ popoverType: this.popoverType,
528
+ });
529
+ }
530
+ // Clean up trigger click event listener
531
+ if (this.triggerEl != null) {
532
+ this.triggerEl.removeEventListener('click', this.handleTriggerClick);
533
+ }
534
+ this.stopListeningForHover(this.triggerEl);
535
+ (_a = this.triggerObserver) === null || _a === void 0 ? void 0 : _a.disconnect();
536
+ this.triggerObserver = null;
537
+ // Clean up all event listeners
538
+ this.removeLightDismissListeners();
539
+ this.removeScrollAndResizeListeners();
540
+ document.removeEventListener('submit', this.handleSubmitFromPanel, true);
541
+ document.removeEventListener('keydown', this.syncTabGuard, true);
542
+ (_b = this.tabGuardEl) === null || _b === void 0 ? void 0 : _b.removeAttribute('tabindex');
543
+ this.clearHoverTimers();
544
+ this.hoverOpened = false;
545
+ // Remove portal from DOM
546
+ this.removePortal();
547
+ }
548
+ createPortal() {
549
+ var _a;
550
+ if (this.portalEl !== null)
551
+ return;
552
+ this.portalEl = document.createElement('div');
553
+ this.portalEl.className = 'pds-popover';
554
+ panelOwners.set(this.portalEl, this);
555
+ // Apply all styles inline since portal is outside shadow DOM
556
+ this.portalEl.style.position = 'fixed';
557
+ this.portalEl.style.zIndex = 'var(--pine-z-index-raised)';
558
+ this.portalEl.style.maxWidth = `${this.maxWidth}px`;
559
+ this.portalEl.style.display = 'none';
560
+ this.portalEl.style.opacity = '0';
561
+ this.portalEl.style.visibility = 'hidden';
562
+ this.portalEl.style.backgroundColor = 'var(--pine-color-background-overlay)';
563
+ this.portalEl.style.borderRadius = 'var(--pine-dimension-125)';
564
+ this.portalEl.style.boxShadow = 'var(--pine-box-shadow-200)';
565
+ // So the padding below stays inside max-width rather than adding to it.
566
+ this.portalEl.style.boxSizing = 'border-box';
567
+ this.portalEl.style.margin = 'var(--pine-dimension-none)';
568
+ this.portalEl.style.padding = this.paddingToken();
569
+ // Generate unique ID
570
+ if (!this.componentId) {
571
+ (_a = this.generatedPortalId) !== null && _a !== void 0 ? _a : (this.generatedPortalId = `pds-popover-portal-${PdsPopover.instanceCounter++}`);
572
+ this.portalEl.id = this.generatedPortalId;
573
+ }
574
+ else {
575
+ this.portalEl.id = `${this.componentId}-portal`;
576
+ }
577
+ // Append to body
578
+ document.body.appendChild(this.portalEl);
579
+ // Add global focus styles to match Pine design system
580
+ // This is done after appending to ensure it's part of the document and can access CSS variables
581
+ this.addPortalFocusStyles();
582
+ this.listenForHover(this.portalEl);
583
+ this.portalEl.addEventListener('keydown', this.handleTabFromPanel);
584
+ }
585
+ /**
586
+ * Adds Pine design system focus styles and dark mode border to the portal element
587
+ * Uses CSS variables from Pine's design tokens
588
+ */
589
+ addPortalFocusStyles() {
590
+ if (!this.portalEl)
591
+ return;
592
+ const portalId = this.portalEl.id;
593
+ // componentId comes from the consumer, so it can carry characters cssEscape needs to
594
+ // neutralize before the id is used as a selector or interpolated into stylesheet text.
595
+ const escapedPortalId = cssEscape(portalId);
596
+ // Check if style element already exists
597
+ const existingStyle = document.querySelector(`style[data-pds-popover-focus="${escapedPortalId}"]`);
598
+ if (existingStyle)
599
+ return;
600
+ // Create style element with Pine's focus ring styles and dark mode border
601
+ const styleEl = document.createElement('style');
602
+ styleEl.setAttribute('data-pds-popover-focus', portalId);
603
+ styleEl.textContent = `
604
+ #${escapedPortalId}:focus {
605
+ outline: var(--pine-outline-focus, 2px solid var(--pine-color-focus-ring, #6366f1)) !important;
606
+ outline-offset: var(--pine-border-width, 1px);
607
+ }
608
+ #${escapedPortalId}:focus:not(:focus-visible) {
609
+ outline: none;
610
+ }
611
+ [data-theme="dark"] #${escapedPortalId} {
612
+ border: var(--pine-border);
613
+ }
614
+ `;
615
+ document.head.appendChild(styleEl);
616
+ }
617
+ /**
618
+ * Moves slot content into portal (preserves event handlers and component instances)
619
+ */
620
+ updatePortalContent() {
621
+ var _a;
622
+ if (!this.portalEl)
623
+ return;
624
+ const contentSlotWrapper = (_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.pds-popover__content-slot-wrapper');
625
+ const defaultSlot = contentSlotWrapper === null || contentSlotWrapper === void 0 ? void 0 : contentSlotWrapper.querySelector('slot');
626
+ if (defaultSlot) {
627
+ const assignedNodes = defaultSlot.assignedNodes();
628
+ // Move each node into portal and track with placeholder for restoration
629
+ assignedNodes.forEach(node => {
630
+ var _a;
631
+ // Skip if node is already in the portal or already tracked
632
+ const isAlreadyInPortal = node.parentNode === this.portalEl;
633
+ const isAlreadyTracked = this.movedNodes.some(moved => moved.node === node);
634
+ if (isAlreadyInPortal || isAlreadyTracked) {
635
+ return;
636
+ }
637
+ // Create a placeholder comment to mark original position
638
+ const placeholder = document.createComment('pds-popover-placeholder');
639
+ // Insert placeholder before moving the node
640
+ (_a = node.parentNode) === null || _a === void 0 ? void 0 : _a.insertBefore(placeholder, node);
641
+ // Move the actual node to portal (preserves all handlers and state)
642
+ this.portalEl.appendChild(node);
643
+ // Track for restoration
644
+ this.movedNodes.push({ node, placeholder });
645
+ });
646
+ }
647
+ }
648
+ /**
649
+ * Restores moved nodes back to their original positions
650
+ */
651
+ restorePortalContent() {
652
+ // Restore each moved node to its original position
653
+ this.movedNodes.forEach(({ node, placeholder }) => {
654
+ if (placeholder.parentNode) {
655
+ placeholder.parentNode.insertBefore(node, placeholder);
656
+ placeholder.parentNode.removeChild(placeholder);
657
+ }
658
+ });
659
+ // Clear tracking array
660
+ this.movedNodes = [];
661
+ }
662
+ copyFocusStylesInto(root) {
663
+ var _a, _b, _c;
664
+ // Outside a shadow root the document's own style applies, so drop a copy left in one.
665
+ if (!(root instanceof ShadowRoot)) {
666
+ (_a = this.shadowFocusStyle) === null || _a === void 0 ? void 0 : _a.remove();
667
+ this.shadowFocusStyle = null;
668
+ return;
669
+ }
670
+ if (((_b = this.shadowFocusStyle) === null || _b === void 0 ? void 0 : _b.parentNode) === root || !this.portalEl)
671
+ return;
672
+ const source = document.querySelector(`style[data-pds-popover-focus="${cssEscape(this.portalEl.id)}"]`);
673
+ if (!source)
674
+ return;
675
+ (_c = this.shadowFocusStyle) === null || _c === void 0 ? void 0 : _c.remove();
676
+ this.shadowFocusStyle = source.cloneNode(true);
677
+ root.appendChild(this.shadowFocusStyle);
678
+ }
679
+ removePortal() {
680
+ var _a;
681
+ (_a = this.shadowFocusStyle) === null || _a === void 0 ? void 0 : _a.remove();
682
+ this.shadowFocusStyle = null;
683
+ if (this.portalEl) {
684
+ // Remove the portal element from DOM
685
+ if (this.portalEl.parentNode) {
686
+ this.portalEl.parentNode.removeChild(this.portalEl);
687
+ }
688
+ // Remove the associated focus style element
689
+ const portalId = this.portalEl.id;
690
+ const styleEl = document.querySelector(`style[data-pds-popover-focus="${cssEscape(portalId)}"]`);
691
+ if (styleEl && styleEl.parentNode) {
692
+ styleEl.parentNode.removeChild(styleEl);
693
+ }
694
+ }
695
+ this.portalEl = null;
696
+ }
697
+ /**
698
+ * Opens the popover programmatically
699
+ */
700
+ async show() {
701
+ if (this.active || !this.portalEl)
702
+ return;
703
+ this.active = true;
704
+ // Record open timestamp to prevent immediate close from opening click
705
+ this.openTimestamp = Date.now();
706
+ this.linkTriggerToPortal();
707
+ this.placePortal();
708
+ // Update portal content with latest slot content
709
+ this.updatePortalContent();
710
+ // Show portal. The attribute tells a modal around it that this popover takes Escape first; only
711
+ // an auto popover, or one hover opened, listens for Escape.
712
+ if (this.popoverType === 'auto' || this.hoverOpened)
713
+ this.portalEl.setAttribute('data-pds-popover-open', '');
714
+ this.portalEl.style.display = 'block';
715
+ this.portalEl.style.opacity = '1';
716
+ this.portalEl.style.visibility = 'visible';
717
+ // Position the popover now, and again whenever its trigger or the page moves or resizes
718
+ this.addScrollAndResizeListeners();
719
+ document.addEventListener('submit', this.handleSubmitFromPanel, true);
720
+ document.addEventListener('keydown', this.syncTabGuard, true);
721
+ // Add document listeners for light dismiss and escape key (auto type only), or for the escape
722
+ // key alone while hover holds a manual popover open
723
+ if (this.popoverType === 'auto') {
724
+ popoversTakingEscape.push(this);
725
+ this.addLightDismissListeners();
726
+ }
727
+ else if (this.hoverOpened) {
728
+ popoversTakingEscape.push(this);
729
+ document.addEventListener('keydown', this.boundEscapeKeyHandler);
730
+ }
731
+ // Emit open event once the panel is positioned, with the side it took already on it. A reconnect, a
732
+ // trigger swap or another show() can start a newer run meanwhile, which drops this one, so wait for the latest.
733
+ this.openEventPending = true;
734
+ let positioning;
735
+ do {
736
+ positioning = this.positioning;
737
+ await positioning;
738
+ } while (positioning !== this.positioning);
739
+ this.emitOpenEvent();
740
+ }
741
+ emitOpenEvent() {
742
+ if (!this.openEventPending)
743
+ return;
744
+ this.openEventPending = false;
745
+ this.pdsPopoverOpen.emit({
746
+ componentId: this.componentId,
747
+ popoverType: this.popoverType,
748
+ });
749
+ }
750
+ /**
751
+ * Closes the popover programmatically
752
+ */
753
+ async hide() {
754
+ var _a;
755
+ this.clearHoverTimers();
756
+ if (!this.active || !this.portalEl)
757
+ return;
758
+ this.active = false;
759
+ this.hoverOpened = false;
760
+ this.unwatchDialogClose();
761
+ // Restoring the content drops its focus to the body, so check where focus is first. In a
762
+ // shadow root, document.activeElement is only its host.
763
+ const focusWasInside = containsComposed(this.portalEl, deepActiveElement());
764
+ this.linkTriggerToPortal();
765
+ // Restore content back to original slot positions
766
+ this.restorePortalContent();
767
+ // Hide portal. The dark-mode border set in a shadow root is worked out again on the next open.
768
+ this.portalEl.style.border = '';
769
+ this.portalEl.removeAttribute('data-pds-popover-open');
770
+ this.portalEl.removeAttribute('data-pds-popover-placement');
771
+ this.portalEl.style.display = 'none';
772
+ this.portalEl.style.opacity = '0';
773
+ this.portalEl.style.visibility = 'hidden';
774
+ // Return focus to trigger for keyboard accessibility
775
+ // This mirrors native Popover API behavior on close
776
+ if (focusWasInside) {
777
+ this.returnFocusToTrigger();
778
+ }
779
+ // Remove all listeners
780
+ this.forgetOpen();
781
+ this.removeLightDismissListeners();
782
+ this.removeScrollAndResizeListeners();
783
+ document.removeEventListener('submit', this.handleSubmitFromPanel, true);
784
+ document.removeEventListener('keydown', this.syncTabGuard, true);
785
+ (_a = this.tabGuardEl) === null || _a === void 0 ? void 0 : _a.removeAttribute('tabindex');
786
+ this.releasePanel();
787
+ // Closed before its first position resolved, it still announces the open before the close.
788
+ this.emitOpenEvent();
789
+ // Emit close event
790
+ this.pdsPopoverClose.emit({
791
+ componentId: this.componentId,
792
+ popoverType: this.popoverType,
793
+ });
794
+ }
795
+ /**
796
+ * Toggles the popover open/closed state programmatically
797
+ */
798
+ async toggle() {
799
+ if (this.active) {
800
+ await this.hide();
801
+ }
802
+ else {
803
+ await this.show();
804
+ }
805
+ }
806
+ /**
807
+ * Puts the panel where it shows above everything around the popover. In an open dialog, it goes
808
+ * inside it: a modal dialog sits in the top layer above the body and makes the rest of the page
809
+ * inert, and a non-modal one sits above it by z-index. Right after the popover, it's next in the
810
+ * Tab order. In another component's slot, though, it would have no slot to render in, and in a
811
+ * form its buttons would submit it, so there it goes at the end of the dialog.
812
+ */
813
+ placePortal() {
814
+ var _a, _b;
815
+ if (!this.portalEl)
816
+ return;
817
+ const dialog = closest('dialog[open]', this.el);
818
+ if (!dialog) {
819
+ this.unwatchDialogClose();
820
+ this.portalEl.style.border = '';
821
+ if (this.portalEl.parentElement !== document.body)
822
+ document.body.appendChild(this.portalEl);
823
+ this.copyFocusStylesInto(document);
824
+ return;
825
+ }
826
+ const form = closest('form', this.el);
827
+ const besidePopover = !((_a = this.el.parentElement) === null || _a === void 0 ? void 0 : _a.shadowRoot) && !(form && containsComposed(dialog, form));
828
+ if (besidePopover) {
829
+ if (this.el.nextElementSibling !== this.portalEl)
830
+ (_b = this.el.parentNode) === null || _b === void 0 ? void 0 : _b.insertBefore(this.portalEl, this.el.nextSibling);
831
+ }
832
+ else if (this.portalEl.parentNode !== dialog) {
833
+ dialog.appendChild(this.portalEl);
834
+ }
835
+ this.watchDialogClose(dialog);
836
+ const root = this.portalEl.getRootNode();
837
+ this.copyFocusStylesInto(root);
838
+ // In a shadow root, the copied dark-mode rule can't see a [data-theme="dark"] on the page.
839
+ this.portalEl.style.border = root instanceof ShadowRoot && closest('[data-theme="dark"]', this.el) ? 'var(--pine-border)' : '';
840
+ }
841
+ forgetOpen() {
842
+ const index = popoversTakingEscape.indexOf(this);
843
+ if (index >= 0)
844
+ popoversTakingEscape.splice(index, 1);
845
+ }
846
+ /**
847
+ * Whether an Escape is this popover's. One from a dialog the popover isn't in belongs to that
848
+ * dialog when it's above it: a top-layer dialog or a pds-modal. A plain non-modal dialog inside
849
+ * the popover's modal doesn't close on Escape, so the popover takes it.
850
+ */
851
+ takesEscapeFrom(event) {
852
+ var _a, _b;
853
+ const origin = ((_b = (_a = event.composedPath) === null || _a === void 0 ? void 0 : _a.call(event)[0]) !== null && _b !== void 0 ? _b : event.target);
854
+ const dialog = closest('dialog[open]', origin);
855
+ if (!dialog || containsComposed(dialog, this.portalEl))
856
+ return true;
857
+ return !(dialog.classList.contains('pds-modal__backdrop') || dialog.matches(':modal'));
858
+ }
859
+ /**
860
+ * Adds light dismiss listeners (click outside and escape key)
861
+ */
862
+ addLightDismissListeners() {
863
+ // Add listeners immediately - handleClickOutside will check timestamp
864
+ document.addEventListener('click', this.boundClickOutsideHandler, true);
865
+ document.addEventListener('keydown', this.boundEscapeKeyHandler);
866
+ }
867
+ /** Closes the popover when the dialog it opened in closes, so it isn't left open inside. */
868
+ watchDialogClose(dialog) {
869
+ if (this.watchedDialog === dialog)
870
+ return;
871
+ this.unwatchDialogClose();
872
+ this.watchedDialog = dialog;
873
+ dialog.addEventListener('close', this.onDialogClose);
874
+ }
875
+ unwatchDialogClose() {
876
+ var _a;
877
+ (_a = this.watchedDialog) === null || _a === void 0 ? void 0 : _a.removeEventListener('close', this.onDialogClose);
878
+ this.watchedDialog = null;
879
+ }
880
+ /**
881
+ * Removes light dismiss listeners
882
+ */
883
+ removeLightDismissListeners() {
884
+ document.removeEventListener('click', this.boundClickOutsideHandler, true);
885
+ document.removeEventListener('keydown', this.boundEscapeKeyHandler);
886
+ }
887
+ /**
888
+ * The panel's controls that Tab reaches through the guard. None when the panel sits right after
889
+ * the popover, in a dialog, where it's already next in the Tab order.
890
+ */
891
+ guardedTabbables() {
892
+ if (this.portalEl == null || this.el.nextElementSibling === this.portalEl)
893
+ return [];
894
+ return tabbableIn(this.portalEl);
895
+ }
896
+ isAfterPopover(node) {
897
+ if (containsComposed(this.el, node))
898
+ return false;
899
+ return isPosition(positionAcrossTrees(this.el, node), Node.DOCUMENT_POSITION_FOLLOWING);
900
+ }
901
+ /**
902
+ * Moves focus to the guard without preventing the Tab, so the browser's Tab carries on from there.
903
+ * Inert until then, the panel can't be where it lands.
904
+ */
905
+ leavePanel(edge, backward) {
906
+ var _a, _b;
907
+ this.leavingPanel = true;
908
+ (_a = this.tabGuardEl) === null || _a === void 0 ? void 0 : _a.focus();
909
+ this.leavingPanel = false;
910
+ this.portalEl.inert = true;
911
+ setTimeout(() => this.finishLeavingPanel(edge));
912
+ // Last in another popover's panel, the guard hands the Tab on to that popover's own guard.
913
+ const outer = panelOwners.get(closest('.pds-popover', this.el));
914
+ const outerTabbables = (_b = outer === null || outer === void 0 ? void 0 : outer.guardedTabbables()) !== null && _b !== void 0 ? _b : [];
915
+ if (!backward && outerTabbables[outerTabbables.length - 1] === this.tabGuardEl)
916
+ outer.leavePanel(edge, false);
917
+ }
918
+ // With nowhere for the browser's Tab to go, focus would stay on the invisible guard.
919
+ finishLeavingPanel(edge) {
920
+ var _a;
921
+ this.releasePanel();
922
+ if (this.active && ((_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.activeElement) === this.tabGuardEl)
923
+ edge.focus();
924
+ }
925
+ /**
926
+ * Adds scroll and resize listeners for repositioning
927
+ */
928
+ addScrollAndResizeListeners() {
929
+ this.removeScrollAndResizeListeners();
930
+ if (this.triggerEl == null || this.portalEl == null)
931
+ return;
932
+ this.stopAutoUpdate = autoUpdate(this.triggerEl, this.portalEl, () => {
933
+ this.positioning = this.handlePopoverPositioning().catch(error => console.warn('pds-popover: failed to position the panel', error));
934
+ });
935
+ }
936
+ /**
937
+ * Removes scroll and resize listeners
938
+ */
939
+ removeScrollAndResizeListeners() {
940
+ var _a;
941
+ (_a = this.stopAutoUpdate) === null || _a === void 0 ? void 0 : _a.call(this);
942
+ this.stopAutoUpdate = null;
943
+ }
944
+ /**
945
+ * Handles clicks outside the popover for light dismiss (auto type only)
946
+ */
947
+ handleClickOutside(event) {
948
+ var _a, _b;
949
+ // Ignore events that occurred at or before the popover opened
950
+ // This prevents the opening click from immediately closing the popover
951
+ // Convert event.timeStamp (DOMHighResTimeStamp from performance.now()) to epoch time
952
+ // by calculating: currentEpochTime - (currentPerfTime - eventPerfTime)
953
+ const eventTime = event.timeStamp
954
+ ? Date.now() - (performance.now() - event.timeStamp)
955
+ : Date.now();
956
+ if (eventTime <= this.openTimestamp) {
957
+ return;
958
+ }
959
+ // In a shadow root, event.target is only its host.
960
+ const target = ((_b = (_a = event.composedPath) === null || _a === void 0 ? void 0 : _a.call(event)[0]) !== null && _b !== void 0 ? _b : event.target);
961
+ // A datepicker's calendar is portaled to the body: a click in the calendar of a datepicker
962
+ // inside this popover, in its content or its trigger, isn't outside it. The target can be
963
+ // inside the calendar's shadow root, so look up across it.
964
+ const calendar = closest('.pds-datepicker-calendar-portal', target);
965
+ const owner = calendar === null || calendar === void 0 ? void 0 : calendar.pdsDatepicker;
966
+ if (owner && (containsComposed(this.portalEl, owner) || containsComposed(this.triggerEl, owner)))
967
+ return;
968
+ // Check if click is outside both the popover portal and the trigger
969
+ const clickedInsidePopover = containsComposed(this.portalEl, target);
970
+ const clickedInsideTrigger = containsComposed(this.triggerEl, target);
971
+ if (!clickedInsidePopover && !clickedInsideTrigger) {
972
+ this.hide();
973
+ }
974
+ }
975
+ /**
976
+ * Returns focus to the trigger element with visible focus indicator
977
+ * This ensures focus rings/outlines are shown as they would be with keyboard navigation
978
+ */
979
+ returnFocusToTrigger() {
980
+ if (!this.triggerEl)
981
+ return;
982
+ // Focus immediately while still in keyboard event context
983
+ // This ensures the browser treats it as keyboard-initiated and shows focus ring
984
+ this.triggerEl.focus({ preventScroll: true });
985
+ }
986
+ /**
987
+ * Handles escape key press to close the popover
988
+ * Mirrors native Popover API: Escape closes and returns focus to trigger
989
+ */
990
+ handleEscapeKey(event) {
991
+ // A control inside that closes on Escape (a datepicker, a combobox) has handled it already.
992
+ if (event.key !== 'Escape' || event.defaultPrevented)
993
+ return;
994
+ // Like the native Popover API, Escape closes only the top popover: the last one opened that
995
+ // it applies to. Every open popover hears it, so each checks whether it's that one.
996
+ const top = [...popoversTakingEscape].reverse().find(popover => popover.takesEscapeFrom(event));
997
+ if (top !== this)
998
+ return;
999
+ // Take the key, so the dialog or modal around it doesn't close too.
1000
+ event.preventDefault();
1001
+ event.stopPropagation();
1002
+ // Close popover and return focus to trigger
1003
+ this.hide();
1004
+ }
1005
+ /**
1006
+ * Positions the popover relative to its trigger element, flipping to the opposite side when only that side has
1007
+ * room and shifting to stay 8px inside the viewport. The side it takes goes on the panel's `data-pds-popover-placement`.
1008
+ */
1009
+ async handlePopoverPositioning() {
1010
+ // Counted before the guards, so a run still in flight is dropped even when this one can't position.
1011
+ const run = ++this.positioningRun;
1012
+ if (this.triggerEl == null || this.portalEl == null)
1013
+ return;
1014
+ // Safety check: ensure trigger has valid dimensions (is rendered and visible)
1015
+ const triggerRect = this.triggerEl.getBoundingClientRect();
1016
+ if (triggerRect.width === 0 || triggerRect.height === 0)
1017
+ return;
1018
+ const portal = this.portalEl;
1019
+ const { x: left, y: top, placement } = await computePosition(this.triggerEl, portal, {
1020
+ placement: this.placement,
1021
+ strategy: 'fixed',
1022
+ // With no room on either side, stay on the preferred side: the side that overflows less can still push
1023
+ // a tall panel's start above the viewport.
1024
+ middleware: [offset(8), flip({ fallbackStrategy: 'initialPlacement' }), shift({ padding: 8 })],
1025
+ platform: viewportPlatform,
1026
+ });
1027
+ if (!this.active || run !== this.positioningRun || portal !== this.portalEl)
1028
+ return;
1029
+ portal.setAttribute('data-pds-popover-placement', placement);
1030
+ // `position: fixed` measures from the viewport unless an ancestor becomes its containing block,
1031
+ // as a modal dialog does with its backdrop filter. Offset by however far that block's corner is from the viewport's.
1032
+ const origin = containingBlockOrigin(portal);
1033
+ portal.style.top = `${top - origin.top}px`;
1034
+ portal.style.left = `${left - origin.left}px`;
1035
+ }
1036
+ render() {
1037
+ return (h(Host, { key: '1767e44f8f0fba0938cc99fefdeb786cf9131384' }, h("span", { key: 'b5369451958d62562f007d600e7567809f281bfb', class: "pds-popover__trigger-wrapper" }, h("slot", { key: '30a8273c6365eff7fd8265966ae09d66ac84e0a9', name: "trigger", onSlotchange: this.handleTriggerSlotChange })), h("span", { key: 'a562458380244ca76af047edd00d40d012bc30ce', class: "pds-popover__tab-guard", ref: (el) => (this.tabGuardEl = el !== null && el !== void 0 ? el : null), onFocus: this.handleTabGuardFocus }), h("div", { key: '36db874a9f1bcdf0dc52d9cce368c5fc4f296b62', class: "pds-popover__content-slot-wrapper" }, h("slot", { key: '295f000fcdcaa4ef5249f4e98ed83cbd467351b0', onSlotchange: this.handleContentSlotChange }))));
1038
+ }
1039
+ static get is() { return "pds-popover"; }
1040
+ static get encapsulation() { return "shadow"; }
1041
+ static get originalStyleUrls() {
1042
+ return {
1043
+ "$": ["pds-popover.scss"]
1044
+ };
1045
+ }
1046
+ static get styleUrls() {
1047
+ return {
1048
+ "$": ["pds-popover.css"]
1049
+ };
1050
+ }
1051
+ static get properties() {
1052
+ return {
1053
+ "popoverTargetAction": {
1054
+ "type": "string",
1055
+ "mutable": false,
1056
+ "complexType": {
1057
+ "original": "'show' | 'toggle' | 'hide'",
1058
+ "resolved": "\"hide\" | \"show\" | \"toggle\"",
1059
+ "references": {}
1060
+ },
1061
+ "required": false,
1062
+ "optional": false,
1063
+ "docs": {
1064
+ "tags": [{
1065
+ "name": "defaultValue",
1066
+ "text": "\"show\""
1067
+ }],
1068
+ "text": "Determines the action that triggers the popover. For manual popovers, the consumer is responsible for toggling this value."
1069
+ },
1070
+ "getter": false,
1071
+ "setter": false,
1072
+ "reflect": false,
1073
+ "attribute": "popover-target-action",
1074
+ "defaultValue": "'show'"
1075
+ },
1076
+ "openOn": {
1077
+ "type": "string",
1078
+ "mutable": false,
1079
+ "complexType": {
1080
+ "original": "'click' | 'hover'",
1081
+ "resolved": "\"click\" | \"hover\"",
1082
+ "references": {}
1083
+ },
1084
+ "required": false,
1085
+ "optional": true,
1086
+ "docs": {
1087
+ "tags": [{
1088
+ "name": "defaultValue",
1089
+ "text": "\"click\""
1090
+ }],
1091
+ "text": "Determines how the popover opens. With `hover`, it also opens when the pointer rests on the trigger and closes\nwhen the pointer leaves, until a click on the trigger keeps it open. Enter or Space on the trigger opens it either way."
1092
+ },
1093
+ "getter": false,
1094
+ "setter": false,
1095
+ "reflect": false,
1096
+ "attribute": "open-on",
1097
+ "defaultValue": "'click'"
1098
+ },
1099
+ "popoverType": {
1100
+ "type": "string",
1101
+ "mutable": false,
1102
+ "complexType": {
1103
+ "original": "'auto' | 'manual'",
1104
+ "resolved": "\"auto\" | \"manual\"",
1105
+ "references": {}
1106
+ },
1107
+ "required": false,
1108
+ "optional": false,
1109
+ "docs": {
1110
+ "tags": [],
1111
+ "text": "Determines the type of popover. Auto popovers can be \"light dismissed\" by clicking outside of the popover.\nManual popovers require the consumer to handle the visibility of the popover."
1112
+ },
1113
+ "getter": false,
1114
+ "setter": false,
1115
+ "reflect": false,
1116
+ "attribute": "popover-type",
1117
+ "defaultValue": "'auto'"
1118
+ },
1119
+ "componentId": {
1120
+ "type": "string",
1121
+ "mutable": false,
1122
+ "complexType": {
1123
+ "original": "string",
1124
+ "resolved": "string",
1125
+ "references": {}
1126
+ },
1127
+ "required": false,
1128
+ "optional": false,
1129
+ "docs": {
1130
+ "tags": [],
1131
+ "text": "A unique identifier for this component instance, used to build its portal element's `id`.\nDoes not set the host element's `id` attribute \u2014 set `id` directly if you need one."
1132
+ },
1133
+ "getter": false,
1134
+ "setter": false,
1135
+ "reflect": false,
1136
+ "attribute": "component-id"
1137
+ },
1138
+ "maxWidth": {
1139
+ "type": "number",
1140
+ "mutable": false,
1141
+ "complexType": {
1142
+ "original": "number",
1143
+ "resolved": "number",
1144
+ "references": {}
1145
+ },
1146
+ "required": false,
1147
+ "optional": true,
1148
+ "docs": {
1149
+ "tags": [{
1150
+ "name": "defaultValue",
1151
+ "text": "400"
1152
+ }],
1153
+ "text": "Sets the maximum width of the popover, in pixels, including its padding."
1154
+ },
1155
+ "getter": false,
1156
+ "setter": false,
1157
+ "reflect": false,
1158
+ "attribute": "max-width",
1159
+ "defaultValue": "400"
1160
+ },
1161
+ "padding": {
1162
+ "type": "string",
1163
+ "mutable": false,
1164
+ "complexType": {
1165
+ "original": "PopoverPaddingType",
1166
+ "resolved": "\"md\" | \"none\" | \"sm\" | \"xs\"",
1167
+ "references": {
1168
+ "PopoverPaddingType": {
1169
+ "location": "import",
1170
+ "path": "@utils/types",
1171
+ "id": "src/utils/types.ts::PopoverPaddingType",
1172
+ "referenceLocation": "PopoverPaddingType"
1173
+ }
1174
+ }
1175
+ },
1176
+ "required": false,
1177
+ "optional": true,
1178
+ "docs": {
1179
+ "tags": [{
1180
+ "name": "defaultValue",
1181
+ "text": "\"md\""
1182
+ }],
1183
+ "text": "Sets the padding of the popover content"
1184
+ },
1185
+ "getter": false,
1186
+ "setter": false,
1187
+ "reflect": false,
1188
+ "attribute": "padding",
1189
+ "defaultValue": "'md'"
1190
+ },
1191
+ "placement": {
1192
+ "type": "string",
1193
+ "mutable": true,
1194
+ "complexType": {
1195
+ "original": "PlacementType",
1196
+ "resolved": "\"bottom\" | \"bottom-end\" | \"bottom-start\" | \"left\" | \"left-end\" | \"left-start\" | \"right\" | \"right-end\" | \"right-start\" | \"top\" | \"top-end\" | \"top-start\"",
1197
+ "references": {
1198
+ "PlacementType": {
1199
+ "location": "import",
1200
+ "path": "@utils/types",
1201
+ "id": "src/utils/types.ts::PlacementType",
1202
+ "referenceLocation": "PlacementType"
1203
+ }
1204
+ }
1205
+ },
1206
+ "required": false,
1207
+ "optional": false,
1208
+ "docs": {
1209
+ "tags": [{
1210
+ "name": "defaultValue",
1211
+ "text": "\"right\""
1212
+ }],
1213
+ "text": "Determines the preferred position of the popover"
1214
+ },
1215
+ "getter": false,
1216
+ "setter": false,
1217
+ "reflect": true,
1218
+ "attribute": "placement",
1219
+ "defaultValue": "'right'"
1220
+ }
1221
+ };
1222
+ }
1223
+ static get states() {
1224
+ return {
1225
+ "active": {}
1226
+ };
1227
+ }
1228
+ static get events() {
1229
+ return [{
1230
+ "method": "pdsPopoverOpen",
1231
+ "name": "pdsPopoverOpen",
1232
+ "bubbles": true,
1233
+ "cancelable": true,
1234
+ "composed": true,
1235
+ "docs": {
1236
+ "tags": [],
1237
+ "text": "Emitted when the popover is opened"
1238
+ },
1239
+ "complexType": {
1240
+ "original": "PdsPopoverEventDetail",
1241
+ "resolved": "PdsPopoverEventDetail",
1242
+ "references": {
1243
+ "PdsPopoverEventDetail": {
1244
+ "location": "import",
1245
+ "path": "./popover-interface",
1246
+ "id": "src/components/pds-popover/popover-interface.ts::PdsPopoverEventDetail",
1247
+ "referenceLocation": "PdsPopoverEventDetail"
1248
+ }
1249
+ }
1250
+ }
1251
+ }, {
1252
+ "method": "pdsPopoverClose",
1253
+ "name": "pdsPopoverClose",
1254
+ "bubbles": true,
1255
+ "cancelable": true,
1256
+ "composed": true,
1257
+ "docs": {
1258
+ "tags": [],
1259
+ "text": "Emitted when the popover is closed"
1260
+ },
1261
+ "complexType": {
1262
+ "original": "PdsPopoverEventDetail",
1263
+ "resolved": "PdsPopoverEventDetail",
1264
+ "references": {
1265
+ "PdsPopoverEventDetail": {
1266
+ "location": "import",
1267
+ "path": "./popover-interface",
1268
+ "id": "src/components/pds-popover/popover-interface.ts::PdsPopoverEventDetail",
1269
+ "referenceLocation": "PdsPopoverEventDetail"
1270
+ }
1271
+ }
1272
+ }
1273
+ }];
1274
+ }
1275
+ static get methods() {
1276
+ return {
1277
+ "show": {
1278
+ "complexType": {
1279
+ "signature": "() => Promise<void>",
1280
+ "parameters": [],
1281
+ "references": {
1282
+ "Promise": {
1283
+ "location": "global",
1284
+ "id": "global::Promise"
1285
+ }
1286
+ },
1287
+ "return": "Promise<void>"
1288
+ },
1289
+ "docs": {
1290
+ "text": "Opens the popover programmatically",
1291
+ "tags": []
1292
+ }
1293
+ },
1294
+ "hide": {
1295
+ "complexType": {
1296
+ "signature": "() => Promise<void>",
1297
+ "parameters": [],
1298
+ "references": {
1299
+ "Promise": {
1300
+ "location": "global",
1301
+ "id": "global::Promise"
1302
+ }
1303
+ },
1304
+ "return": "Promise<void>"
1305
+ },
1306
+ "docs": {
1307
+ "text": "Closes the popover programmatically",
1308
+ "tags": []
1309
+ }
1310
+ },
1311
+ "toggle": {
1312
+ "complexType": {
1313
+ "signature": "() => Promise<void>",
1314
+ "parameters": [],
1315
+ "references": {
1316
+ "Promise": {
1317
+ "location": "global",
1318
+ "id": "global::Promise"
1319
+ }
1320
+ },
1321
+ "return": "Promise<void>"
1322
+ },
1323
+ "docs": {
1324
+ "text": "Toggles the popover open/closed state programmatically",
1325
+ "tags": []
1326
+ }
1327
+ }
1328
+ };
1329
+ }
1330
+ static get elementRef() { return "el"; }
1331
+ static get watchers() {
1332
+ return [{
1333
+ "propName": "openOn",
1334
+ "methodName": "openOnChanged"
1335
+ }, {
1336
+ "propName": "padding",
1337
+ "methodName": "applyPadding"
1338
+ }, {
1339
+ "propName": "placement",
1340
+ "methodName": "restorePlacementDefault"
1341
+ }];
1342
+ }
1343
+ }
1344
+ /**
1345
+ * Instance counter for unique IDs
1346
+ */
1347
+ PdsPopover.instanceCounter = 0;