@pine-ds/core 4.8.0 → 4.9.1

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 (555) hide show
  1. package/components/attributes.js +1 -1
  2. package/components/floating-ui.dom.js +1 -1
  3. package/components/index.js +1 -1
  4. package/components/index2.js +1 -1
  5. package/components/keep-hydrated.js +1 -0
  6. package/components/mock-pds-modal.js +1 -1
  7. package/components/pds-alert.js +1 -1
  8. package/components/pds-avatar.js +1 -1
  9. package/components/pds-box2.js +1 -1
  10. package/components/pds-button2.js +1 -1
  11. package/components/pds-checkbox2.js +1 -1
  12. package/components/pds-chip2.js +1 -1
  13. package/components/pds-combobox.js +1 -1
  14. package/components/pds-container.js +1 -1
  15. package/components/pds-copytext.js +1 -1
  16. package/components/pds-datepicker.js +1 -1
  17. package/components/pds-divider.js +1 -1
  18. package/components/pds-drawer-content.js +1 -1
  19. package/components/pds-drawer-footer.js +1 -1
  20. package/components/pds-drawer-header.js +1 -1
  21. package/components/pds-drawer.js +1 -1
  22. package/components/pds-dropdown-menu-item.js +1 -1
  23. package/components/pds-dropdown-menu-separator.js +1 -1
  24. package/components/pds-dropdown-menu.js +1 -1
  25. package/components/pds-filter.js +1 -1
  26. package/components/pds-filters.js +1 -1
  27. package/components/pds-icon2.js +1 -1
  28. package/components/pds-image.js +1 -1
  29. package/components/pds-input2.js +1 -1
  30. package/components/pds-link2.js +1 -1
  31. package/components/pds-loader2.js +1 -1
  32. package/components/pds-modal-content.js +1 -1
  33. package/components/pds-modal-footer.js +1 -1
  34. package/components/pds-modal-header.js +1 -1
  35. package/components/pds-modal2.js +1 -1
  36. package/components/pds-multiselect.js +1 -1
  37. package/components/pds-popover.js +1 -1
  38. package/components/pds-progress.js +1 -1
  39. package/components/pds-property.js +1 -1
  40. package/components/pds-radio-group.js +1 -1
  41. package/components/pds-radio.js +1 -1
  42. package/components/pds-row.js +1 -1
  43. package/components/pds-select.js +1 -1
  44. package/components/pds-sortable-item.js +1 -1
  45. package/components/pds-sortable.js +2 -2
  46. package/components/pds-switch.js +1 -1
  47. package/components/pds-table-body.js +1 -1
  48. package/components/pds-table-cell2.js +1 -1
  49. package/components/pds-table-head-cell2.js +1 -1
  50. package/components/pds-table-head.js +1 -1
  51. package/components/pds-table-row.js +1 -1
  52. package/components/pds-tabpanel.js +1 -1
  53. package/components/pds-tabs.js +1 -1
  54. package/components/pds-text2.js +1 -1
  55. package/components/pds-textarea.js +1 -1
  56. package/components/pds-toast.js +1 -1
  57. package/components/pds-tooltip.js +1 -1
  58. package/components/portal-target.js +1 -0
  59. package/components/tabbable.js +1 -0
  60. package/components/truncation-tooltip.js +1 -1
  61. package/dist/cjs/{attributes-BJ7KBHql.js → attributes-CW49XqaL.js} +1 -1
  62. package/dist/cjs/{floating-ui.dom-Dc8Anyel.js → floating-ui.dom-Dw41zbyY.js} +1 -0
  63. package/dist/cjs/{index-Do70atou.js → index-BDnbr0DK.js} +1 -1
  64. package/dist/cjs/{index-jl_Q819j.js → index-D9iJuJCP.js} +13 -1
  65. package/dist/cjs/index.cjs.js +1 -1
  66. package/dist/cjs/{keep-hydrated-CiXgkEYd.js → keep-hydrated-AKoh0DG4.js} +1 -0
  67. package/dist/cjs/loader.cjs.js +3 -3
  68. package/dist/cjs/mock-pds-modal.cjs.entry.js +4 -4
  69. package/dist/cjs/pds-accordion.cjs.entry.js +3 -3
  70. package/dist/cjs/pds-alert.cjs.entry.js +17 -4
  71. package/dist/cjs/pds-avatar.cjs.entry.js +22 -12
  72. package/dist/cjs/pds-box.cjs.entry.js +4 -4
  73. package/dist/cjs/pds-button.cjs.entry.js +58 -26
  74. package/dist/cjs/pds-checkbox.cjs.entry.js +16 -8
  75. package/dist/cjs/pds-chip.cjs.entry.js +9 -11
  76. package/dist/cjs/pds-combobox.cjs.entry.js +41 -11
  77. package/dist/cjs/pds-container.cjs.entry.js +3 -3
  78. package/dist/cjs/pds-copytext.cjs.entry.js +8 -7
  79. package/dist/cjs/pds-datepicker.cjs.entry.js +8 -45
  80. package/dist/cjs/pds-divider.cjs.entry.js +3 -3
  81. package/dist/cjs/pds-drawer-content.cjs.entry.js +3 -3
  82. package/dist/cjs/pds-drawer-footer.cjs.entry.js +3 -3
  83. package/dist/cjs/pds-drawer-header.cjs.entry.js +3 -3
  84. package/dist/cjs/pds-drawer.cjs.entry.js +4 -4
  85. package/dist/cjs/pds-dropdown-menu-item.cjs.entry.js +4 -4
  86. package/dist/cjs/pds-dropdown-menu-separator.cjs.entry.js +3 -3
  87. package/dist/cjs/pds-dropdown-menu.cjs.entry.js +5 -5
  88. package/dist/cjs/pds-filter.cjs.entry.js +4 -4
  89. package/dist/cjs/pds-filters.cjs.entry.js +3 -3
  90. package/dist/cjs/pds-icon.cjs.entry.js +55 -22
  91. package/dist/cjs/pds-image.cjs.entry.js +4 -4
  92. package/dist/cjs/pds-input.cjs.entry.js +6 -6
  93. package/dist/cjs/pds-link.cjs.entry.js +16 -7
  94. package/dist/cjs/pds-loader.cjs.entry.js +4 -4
  95. package/dist/cjs/pds-modal-content.cjs.entry.js +4 -4
  96. package/dist/cjs/pds-modal-footer.cjs.entry.js +3 -3
  97. package/dist/cjs/pds-modal-header.cjs.entry.js +3 -3
  98. package/dist/cjs/pds-modal.cjs.entry.js +9 -89
  99. package/dist/cjs/pds-multiselect.cjs.entry.js +13 -7
  100. package/dist/cjs/pds-popover.cjs.entry.js +230 -153
  101. package/dist/cjs/pds-progress.cjs.entry.js +4 -4
  102. package/dist/cjs/pds-property.cjs.entry.js +3 -3
  103. package/dist/cjs/pds-radio-group.cjs.entry.js +67 -6
  104. package/dist/cjs/pds-radio.cjs.entry.js +24 -11
  105. package/dist/cjs/pds-row.cjs.entry.js +4 -4
  106. package/dist/cjs/pds-select.cjs.entry.js +132 -21
  107. package/dist/cjs/pds-sortable-item.cjs.entry.js +5 -5
  108. package/dist/cjs/pds-sortable.cjs.entry.js +4 -4
  109. package/dist/cjs/pds-switch.cjs.entry.js +7 -7
  110. package/dist/cjs/pds-tab.cjs.entry.js +3 -3
  111. package/dist/cjs/pds-table-body.cjs.entry.js +3 -3
  112. package/dist/cjs/pds-table-cell.cjs.entry.js +7 -6
  113. package/dist/cjs/pds-table-head-cell.cjs.entry.js +5 -5
  114. package/dist/cjs/pds-table-head.cjs.entry.js +3 -3
  115. package/dist/cjs/pds-table-row.cjs.entry.js +3 -3
  116. package/dist/cjs/pds-table.cjs.entry.js +2 -2
  117. package/dist/cjs/pds-tabpanel.cjs.entry.js +4 -4
  118. package/dist/cjs/pds-tabs.cjs.entry.js +4 -4
  119. package/dist/cjs/pds-text.cjs.entry.js +31 -5
  120. package/dist/cjs/pds-textarea.cjs.entry.js +8 -8
  121. package/dist/cjs/pds-toast.cjs.entry.js +14 -8
  122. package/dist/cjs/pds-tooltip.cjs.entry.js +128 -46
  123. package/dist/cjs/pine-core.cjs.js +3 -3
  124. package/dist/cjs/portal-target-e8WQ6dLx.js +70 -0
  125. package/dist/cjs/tabbable-BrrrGvdG.js +86 -0
  126. package/dist/cjs/{truncation-tooltip-BtuiXLV0.js → truncation-tooltip-DdB78RIe.js} +44 -4
  127. package/dist/collection/components/pds-alert/pds-alert.css +13 -0
  128. package/dist/collection/components/pds-alert/pds-alert.js +36 -1
  129. package/dist/collection/components/pds-alert/stories/pds-alert.stories.js +4 -0
  130. package/dist/collection/components/pds-avatar/pds-avatar.js +41 -9
  131. package/dist/collection/components/pds-avatar/stories/pds-avatar.stories.js +2 -0
  132. package/dist/collection/components/pds-box/pds-box.js +1 -1
  133. package/dist/collection/components/pds-button/pds-button.js +13 -23
  134. package/dist/collection/components/pds-checkbox/pds-checkbox.css +79 -0
  135. package/dist/collection/components/pds-checkbox/pds-checkbox.js +36 -5
  136. package/dist/collection/components/pds-checkbox/stories/pds-checkbox.stories.js +38 -0
  137. package/dist/collection/components/pds-chip/pds-chip.js +2 -5
  138. package/dist/collection/components/pds-combobox/pds-combobox.css +33 -0
  139. package/dist/collection/components/pds-combobox/pds-combobox.js +60 -7
  140. package/dist/collection/components/pds-combobox/stories/pds-combobox.stories.js +44 -0
  141. package/dist/collection/components/pds-container/pds-container.js +1 -1
  142. package/dist/collection/components/pds-copytext/pds-copytext.js +1 -1
  143. package/dist/collection/components/pds-datepicker/calendar-portal.js +1 -38
  144. package/dist/collection/components/pds-datepicker/pds-datepicker.js +2 -2
  145. package/dist/collection/components/pds-divider/pds-divider.js +1 -1
  146. package/dist/collection/components/pds-drawer/pds-drawer-content/pds-drawer-content.js +1 -1
  147. package/dist/collection/components/pds-drawer/pds-drawer-footer/pds-drawer-footer.js +1 -1
  148. package/dist/collection/components/pds-drawer/pds-drawer-header/pds-drawer-header.js +1 -1
  149. package/dist/collection/components/pds-drawer/pds-drawer.js +2 -2
  150. package/dist/collection/components/pds-dropdown-menu/pds-dropdown-menu-item/pds-dropdown-menu-item.js +24 -2
  151. package/dist/collection/components/pds-dropdown-menu/pds-dropdown-menu-separator/pds-dropdown-menu-separator.js +1 -1
  152. package/dist/collection/components/pds-dropdown-menu/pds-dropdown-menu.js +1 -1
  153. package/dist/collection/components/pds-filters/pds-filter/pds-filter.js +1 -1
  154. package/dist/collection/components/pds-filters/pds-filters.js +1 -1
  155. package/dist/collection/components/pds-image/pds-image.js +2 -2
  156. package/dist/collection/components/pds-input/pds-input.js +2 -2
  157. package/dist/collection/components/pds-input/stories/pds-input.stories.js +6 -6
  158. package/dist/collection/components/pds-link/pds-link.css +1 -1
  159. package/dist/collection/components/pds-link/pds-link.js +34 -3
  160. package/dist/collection/components/pds-link/stories/pds-link.stories.js +51 -2
  161. package/dist/collection/components/pds-loader/pds-loader.js +1 -1
  162. package/dist/collection/components/pds-modal/pds-modal-content/pds-modal-content.js +2 -2
  163. package/dist/collection/components/pds-modal/pds-modal-footer/pds-modal-footer.js +1 -1
  164. package/dist/collection/components/pds-modal/pds-modal-header/pds-modal-header.js +1 -1
  165. package/dist/collection/components/pds-modal/pds-modal.css +1 -1
  166. package/dist/collection/components/pds-modal/pds-modal.js +4 -84
  167. package/dist/collection/components/pds-modal/test/mock-pds-modal.js +1 -1
  168. package/dist/collection/components/pds-multiselect/pds-multiselect.js +9 -3
  169. package/dist/collection/components/pds-popover/pds-popover.css +6 -0
  170. package/dist/collection/components/pds-popover/pds-popover.js +226 -149
  171. package/dist/collection/components/pds-progress/pds-progress.js +1 -1
  172. package/dist/collection/components/pds-property/pds-property.js +1 -1
  173. package/dist/collection/components/pds-radio/pds-radio.css +57 -0
  174. package/dist/collection/components/pds-radio/pds-radio.js +45 -9
  175. package/dist/collection/components/pds-radio/stories/pds-radio.stories.js +15 -0
  176. package/dist/collection/components/pds-radio-group/pds-radio-group.js +65 -4
  177. package/dist/collection/components/pds-radio-group/stories/pds-radio-group.stories.js +45 -0
  178. package/dist/collection/components/pds-row/pds-row.js +1 -1
  179. package/dist/collection/components/pds-select/pds-select.js +128 -17
  180. package/dist/collection/components/pds-select/stories/pds-select.stories.js +2 -2
  181. package/dist/collection/components/pds-sortable/pds-sortable-item/pds-sortable-item.js +1 -1
  182. package/dist/collection/components/pds-sortable/pds-sortable.js +1 -1
  183. package/dist/collection/components/pds-switch/pds-switch.js +3 -3
  184. package/dist/collection/components/pds-table/pds-table-body/pds-table-body.js +1 -1
  185. package/dist/collection/components/pds-table/pds-table-cell/pds-table-cell.js +2 -2
  186. package/dist/collection/components/pds-table/pds-table-head/pds-table-head.js +1 -1
  187. package/dist/collection/components/pds-table/pds-table-head-cell/pds-table-head-cell.js +2 -2
  188. package/dist/collection/components/pds-table/pds-table-row/pds-table-row.js +1 -1
  189. package/dist/collection/components/pds-table/stories/pds-table.stories.js +3 -3
  190. package/dist/collection/components/pds-tabs/pds-tabpanel/pds-tabpanel.js +1 -1
  191. package/dist/collection/components/pds-tabs/pds-tabs.js +1 -1
  192. package/dist/collection/components/pds-text/pds-text.js +28 -3
  193. package/dist/collection/components/pds-text/stories/pds-text.stories.js +16 -0
  194. package/dist/collection/components/pds-textarea/pds-textarea.js +4 -4
  195. package/dist/collection/components/pds-textarea/stories/pds-textarea.stories.js +2 -2
  196. package/dist/collection/components/pds-toast/pds-toast.css +13 -0
  197. package/dist/collection/components/pds-toast/pds-toast.js +33 -5
  198. package/dist/collection/components/pds-toast/stories/pds-toast.stories.js +4 -1
  199. package/dist/collection/components/pds-tooltip/pds-tooltip.css +11 -0
  200. package/dist/collection/components/pds-tooltip/pds-tooltip.js +125 -42
  201. package/dist/collection/components/pds-tooltip/stories/pds-tooltip.stories.js +30 -0
  202. package/dist/collection/utils/aria-references.js +42 -0
  203. package/dist/collection/utils/portal-target.js +64 -0
  204. package/dist/collection/utils/tabbable.js +82 -0
  205. package/dist/collection/utils/truncation-tooltip.js +42 -3
  206. package/dist/docs.json +245 -8
  207. package/dist/esm/{attributes-WXw_I_uJ.js → attributes-DkeVeN0g.js} +1 -1
  208. package/dist/esm/{floating-ui.dom-BPqJgIq6.js → floating-ui.dom-Cuc0DYlm.js} +1 -1
  209. package/dist/esm/{index-Cw9J31qd.js → index-4_RRPJTO.js} +13 -2
  210. package/dist/esm/{index-BWDu62Mo.js → index-DvN3tyZp.js} +2 -2
  211. package/dist/esm/index.js +1 -1
  212. package/dist/esm/{keep-hydrated-BLG6RDBt.js → keep-hydrated-BgNaWLoS.js} +1 -1
  213. package/dist/esm/loader.js +4 -4
  214. package/dist/esm/mock-pds-modal.entry.js +4 -4
  215. package/dist/esm/pds-accordion.entry.js +3 -3
  216. package/dist/esm/pds-alert.entry.js +17 -4
  217. package/dist/esm/pds-avatar.entry.js +22 -12
  218. package/dist/esm/pds-box.entry.js +4 -4
  219. package/dist/esm/pds-button.entry.js +58 -26
  220. package/dist/esm/pds-checkbox.entry.js +16 -8
  221. package/dist/esm/pds-chip.entry.js +8 -10
  222. package/dist/esm/pds-combobox.entry.js +41 -11
  223. package/dist/esm/pds-container.entry.js +3 -3
  224. package/dist/esm/pds-copytext.entry.js +8 -7
  225. package/dist/esm/pds-datepicker.entry.js +7 -44
  226. package/dist/esm/pds-divider.entry.js +3 -3
  227. package/dist/esm/pds-drawer-content.entry.js +3 -3
  228. package/dist/esm/pds-drawer-footer.entry.js +3 -3
  229. package/dist/esm/pds-drawer-header.entry.js +3 -3
  230. package/dist/esm/pds-drawer.entry.js +4 -4
  231. package/dist/esm/pds-dropdown-menu-item.entry.js +4 -4
  232. package/dist/esm/pds-dropdown-menu-separator.entry.js +3 -3
  233. package/dist/esm/pds-dropdown-menu.entry.js +5 -5
  234. package/dist/esm/pds-filter.entry.js +4 -4
  235. package/dist/esm/pds-filters.entry.js +3 -3
  236. package/dist/esm/pds-icon.entry.js +55 -22
  237. package/dist/esm/pds-image.entry.js +4 -4
  238. package/dist/esm/pds-input.entry.js +6 -6
  239. package/dist/esm/pds-link.entry.js +16 -7
  240. package/dist/esm/pds-loader.entry.js +4 -4
  241. package/dist/esm/pds-modal-content.entry.js +4 -4
  242. package/dist/esm/pds-modal-footer.entry.js +3 -3
  243. package/dist/esm/pds-modal-header.entry.js +3 -3
  244. package/dist/esm/pds-modal.entry.js +7 -87
  245. package/dist/esm/pds-multiselect.entry.js +13 -7
  246. package/dist/esm/pds-popover.entry.js +230 -153
  247. package/dist/esm/pds-progress.entry.js +4 -4
  248. package/dist/esm/pds-property.entry.js +3 -3
  249. package/dist/esm/pds-radio-group.entry.js +67 -6
  250. package/dist/esm/pds-radio.entry.js +24 -11
  251. package/dist/esm/pds-row.entry.js +4 -4
  252. package/dist/esm/pds-select.entry.js +132 -21
  253. package/dist/esm/pds-sortable-item.entry.js +5 -5
  254. package/dist/esm/pds-sortable.entry.js +4 -4
  255. package/dist/esm/pds-switch.entry.js +7 -7
  256. package/dist/esm/pds-tab.entry.js +3 -3
  257. package/dist/esm/pds-table-body.entry.js +3 -3
  258. package/dist/esm/pds-table-cell.entry.js +7 -6
  259. package/dist/esm/pds-table-head-cell.entry.js +5 -5
  260. package/dist/esm/pds-table-head.entry.js +3 -3
  261. package/dist/esm/pds-table-row.entry.js +3 -3
  262. package/dist/esm/pds-table.entry.js +2 -2
  263. package/dist/esm/pds-tabpanel.entry.js +4 -4
  264. package/dist/esm/pds-tabs.entry.js +4 -4
  265. package/dist/esm/pds-text.entry.js +31 -5
  266. package/dist/esm/pds-textarea.entry.js +8 -8
  267. package/dist/esm/pds-toast.entry.js +14 -8
  268. package/dist/esm/pds-tooltip.entry.js +128 -46
  269. package/dist/esm/pine-core.js +4 -4
  270. package/dist/esm/portal-target-CKRzRKdO.js +66 -0
  271. package/dist/esm/tabbable-C6ZWpp3v.js +84 -0
  272. package/dist/esm/{truncation-tooltip-FaW67DiY.js → truncation-tooltip-CRSdYzpA.js} +44 -5
  273. package/dist/esm-es5/{attributes-WXw_I_uJ.js → attributes-DkeVeN0g.js} +1 -1
  274. package/dist/esm-es5/{floating-ui.dom-BPqJgIq6.js → floating-ui.dom-Cuc0DYlm.js} +1 -1
  275. package/dist/esm-es5/{index-Cw9J31qd.js → index-4_RRPJTO.js} +2 -2
  276. package/dist/esm-es5/{index-BWDu62Mo.js → index-DvN3tyZp.js} +1 -1
  277. package/dist/esm-es5/index.js +1 -1
  278. package/dist/esm-es5/{keep-hydrated-BLG6RDBt.js → keep-hydrated-BgNaWLoS.js} +1 -1
  279. package/dist/esm-es5/loader.js +1 -1
  280. package/dist/esm-es5/mock-pds-modal.entry.js +1 -1
  281. package/dist/esm-es5/pds-accordion.entry.js +1 -1
  282. package/dist/esm-es5/pds-alert.entry.js +1 -1
  283. package/dist/esm-es5/pds-avatar.entry.js +1 -1
  284. package/dist/esm-es5/pds-box.entry.js +1 -1
  285. package/dist/esm-es5/pds-button.entry.js +1 -1
  286. package/dist/esm-es5/pds-checkbox.entry.js +1 -1
  287. package/dist/esm-es5/pds-chip.entry.js +1 -1
  288. package/dist/esm-es5/pds-combobox.entry.js +2 -2
  289. package/dist/esm-es5/pds-container.entry.js +1 -1
  290. package/dist/esm-es5/pds-copytext.entry.js +1 -1
  291. package/dist/esm-es5/pds-datepicker.entry.js +1 -1
  292. package/dist/esm-es5/pds-divider.entry.js +1 -1
  293. package/dist/esm-es5/pds-drawer-content.entry.js +1 -1
  294. package/dist/esm-es5/pds-drawer-footer.entry.js +1 -1
  295. package/dist/esm-es5/pds-drawer-header.entry.js +1 -1
  296. package/dist/esm-es5/pds-drawer.entry.js +1 -1
  297. package/dist/esm-es5/pds-dropdown-menu-item.entry.js +1 -1
  298. package/dist/esm-es5/pds-dropdown-menu-separator.entry.js +1 -1
  299. package/dist/esm-es5/pds-dropdown-menu.entry.js +1 -1
  300. package/dist/esm-es5/pds-filter.entry.js +1 -1
  301. package/dist/esm-es5/pds-filters.entry.js +1 -1
  302. package/dist/esm-es5/pds-icon.entry.js +1 -1
  303. package/dist/esm-es5/pds-image.entry.js +1 -1
  304. package/dist/esm-es5/pds-input.entry.js +1 -1
  305. package/dist/esm-es5/pds-link.entry.js +1 -1
  306. package/dist/esm-es5/pds-loader.entry.js +1 -1
  307. package/dist/esm-es5/pds-modal-content.entry.js +1 -1
  308. package/dist/esm-es5/pds-modal-footer.entry.js +1 -1
  309. package/dist/esm-es5/pds-modal-header.entry.js +1 -1
  310. package/dist/esm-es5/pds-modal.entry.js +1 -1
  311. package/dist/esm-es5/pds-multiselect.entry.js +1 -1
  312. package/dist/esm-es5/pds-popover.entry.js +1 -1
  313. package/dist/esm-es5/pds-progress.entry.js +1 -1
  314. package/dist/esm-es5/pds-property.entry.js +1 -1
  315. package/dist/esm-es5/pds-radio-group.entry.js +1 -1
  316. package/dist/esm-es5/pds-radio.entry.js +1 -1
  317. package/dist/esm-es5/pds-row.entry.js +1 -1
  318. package/dist/esm-es5/pds-select.entry.js +1 -1
  319. package/dist/esm-es5/pds-sortable-item.entry.js +1 -1
  320. package/dist/esm-es5/pds-sortable.entry.js +2 -2
  321. package/dist/esm-es5/pds-switch.entry.js +1 -1
  322. package/dist/esm-es5/pds-tab.entry.js +1 -1
  323. package/dist/esm-es5/pds-table-body.entry.js +1 -1
  324. package/dist/esm-es5/pds-table-cell.entry.js +1 -1
  325. package/dist/esm-es5/pds-table-head-cell.entry.js +1 -1
  326. package/dist/esm-es5/pds-table-head.entry.js +1 -1
  327. package/dist/esm-es5/pds-table-row.entry.js +1 -1
  328. package/dist/esm-es5/pds-table.entry.js +1 -1
  329. package/dist/esm-es5/pds-tabpanel.entry.js +1 -1
  330. package/dist/esm-es5/pds-tabs.entry.js +1 -1
  331. package/dist/esm-es5/pds-text.entry.js +1 -1
  332. package/dist/esm-es5/pds-textarea.entry.js +1 -1
  333. package/dist/esm-es5/pds-toast.entry.js +1 -1
  334. package/dist/esm-es5/pds-tooltip.entry.js +1 -1
  335. package/dist/esm-es5/pine-core.js +1 -1
  336. package/dist/esm-es5/portal-target-CKRzRKdO.js +1 -0
  337. package/dist/esm-es5/tabbable-C6ZWpp3v.js +1 -0
  338. package/dist/esm-es5/truncation-tooltip-CRSdYzpA.js +1 -0
  339. package/dist/pine-core/index.esm.js +1 -1
  340. package/dist/pine-core/{p-9880d251.system.entry.js → p-01f1cdaf.system.entry.js} +1 -1
  341. package/dist/pine-core/{p-138b278b.entry.js → p-07323107.entry.js} +1 -1
  342. package/dist/pine-core/p-08b8e941.entry.js +1 -0
  343. package/dist/pine-core/p-0d5f0ab5.system.entry.js +1 -0
  344. package/dist/pine-core/{p-8c8cc079.system.entry.js → p-1415c988.system.entry.js} +1 -1
  345. package/dist/pine-core/{p-9109b90a.entry.js → p-143b33a6.entry.js} +1 -1
  346. package/dist/pine-core/{p-b9d145f8.system.entry.js → p-14dedf01.system.entry.js} +1 -1
  347. package/dist/pine-core/{p-80e6f3a0.system.entry.js → p-19cf1d91.system.entry.js} +1 -1
  348. package/dist/pine-core/p-1ca8d183.entry.js +1 -0
  349. package/dist/pine-core/p-1cc39908.system.entry.js +1 -0
  350. package/dist/pine-core/p-1e3ef425.entry.js +1 -0
  351. package/dist/pine-core/{p-b914dde8.entry.js → p-1f62bb71.entry.js} +2 -2
  352. package/dist/pine-core/p-20079552.system.entry.js +1 -0
  353. package/dist/pine-core/p-2a18852f.entry.js +1 -0
  354. package/dist/pine-core/{p-ca4ee736.system.entry.js → p-2b9622c1.system.entry.js} +1 -1
  355. package/dist/pine-core/p-2dd30d12.entry.js +1 -0
  356. package/dist/pine-core/{p-cccfe60f.system.entry.js → p-3306dc5a.system.entry.js} +1 -1
  357. package/dist/pine-core/{p-BGLP3keB.js → p-35s7h-dk.js} +1 -1
  358. package/dist/pine-core/{p-8c588ca0.entry.js → p-3610cb3b.entry.js} +1 -1
  359. package/dist/pine-core/p-37718637.entry.js +1 -0
  360. package/dist/pine-core/p-383d84f4.entry.js +2 -0
  361. package/dist/pine-core/p-39276663.entry.js +1 -0
  362. package/dist/pine-core/{p-62433f32.entry.js → p-39e57657.entry.js} +1 -1
  363. package/dist/pine-core/p-3c229091.entry.js +1 -0
  364. package/dist/pine-core/p-3d34b967.system.entry.js +1 -0
  365. package/dist/pine-core/p-3e30a761.entry.js +1 -0
  366. package/dist/pine-core/{p-7a5b21d2.system.entry.js → p-3f8bd3fb.system.entry.js} +1 -1
  367. package/dist/pine-core/p-42d43c3f.system.entry.js +1 -0
  368. package/dist/pine-core/{p-f029b7da.system.entry.js → p-42f70f93.system.entry.js} +1 -1
  369. package/dist/pine-core/{p-d3d69ca4.system.entry.js → p-4a90b9c8.system.entry.js} +1 -1
  370. package/dist/pine-core/{p-ca0a8f5c.entry.js → p-4cfe922b.entry.js} +1 -1
  371. package/dist/pine-core/p-4d1a8803.entry.js +1 -0
  372. package/dist/pine-core/p-4d47023c.system.entry.js +1 -0
  373. package/dist/pine-core/p-4d98bc0c.system.entry.js +1 -0
  374. package/dist/pine-core/{p-c97bfac9.entry.js → p-50ddadbf.entry.js} +1 -1
  375. package/dist/pine-core/{p-0913f696.system.entry.js → p-548bce53.system.entry.js} +1 -1
  376. package/dist/pine-core/p-54f1e86f.system.entry.js +1 -0
  377. package/dist/pine-core/{p-631f5bcc.entry.js → p-590df41a.entry.js} +1 -1
  378. package/dist/pine-core/p-5946203c.entry.js +1 -0
  379. package/dist/pine-core/{p-11d98408.system.entry.js → p-5f181694.system.entry.js} +1 -1
  380. package/dist/pine-core/p-60a30975.system.entry.js +1 -0
  381. package/dist/pine-core/{p-9ab95438.entry.js → p-61cfdbb2.entry.js} +1 -1
  382. package/dist/pine-core/p-62aa6a78.system.entry.js +1 -0
  383. package/dist/pine-core/{p-ecc7a531.system.entry.js → p-63f85859.system.entry.js} +1 -1
  384. package/dist/pine-core/p-64bcb378.entry.js +1 -0
  385. package/dist/pine-core/{p-bdac8f2b.entry.js → p-67999353.entry.js} +1 -1
  386. package/dist/pine-core/{p-cb6a3e4c.system.entry.js → p-67f795d5.system.entry.js} +1 -1
  387. package/dist/pine-core/p-6a1aa8d3.entry.js +1 -0
  388. package/dist/pine-core/p-6f4ab1ea.system.entry.js +1 -0
  389. package/dist/pine-core/{p-acca5f7b.system.entry.js → p-724baba3.system.entry.js} +1 -1
  390. package/dist/pine-core/p-72659a0e.system.entry.js +1 -0
  391. package/dist/pine-core/{p-4bfc8b3e.system.entry.js → p-73efb1ed.system.entry.js} +1 -1
  392. package/dist/pine-core/p-7a51f15e.entry.js +1 -0
  393. package/dist/pine-core/p-7b978fff.system.entry.js +1 -0
  394. package/dist/pine-core/p-8436cbfb.entry.js +1 -0
  395. package/dist/pine-core/p-849ec281.system.entry.js +1 -0
  396. package/dist/pine-core/p-87a32ded.system.entry.js +1 -0
  397. package/dist/pine-core/p-89d38a82.system.entry.js +1 -0
  398. package/dist/pine-core/p-8ade17ce.entry.js +1 -0
  399. package/dist/pine-core/{p-4d03d1e2.system.entry.js → p-8afd5f5b.system.entry.js} +1 -1
  400. package/dist/pine-core/p-8e7f75e6.entry.js +1 -0
  401. package/dist/pine-core/{p-8f531063.entry.js → p-8fb520df.entry.js} +1 -1
  402. package/dist/pine-core/{p-9df5e204.entry.js → p-92115e88.entry.js} +1 -1
  403. package/dist/pine-core/p-93fd7dd8.system.entry.js +1 -0
  404. package/dist/pine-core/p-947582e1.entry.js +1 -0
  405. package/dist/pine-core/{p-2ac2457b.system.entry.js → p-94c9b7d1.system.entry.js} +1 -1
  406. package/dist/pine-core/p-973c3ac0.entry.js +1 -0
  407. package/dist/pine-core/p-97653e60.entry.js +1 -0
  408. package/dist/pine-core/{p-55224683.entry.js → p-97b73359.entry.js} +1 -1
  409. package/dist/pine-core/{p-b1548a20.entry.js → p-99530cb5.entry.js} +1 -1
  410. package/dist/pine-core/p-9a776443.entry.js +1 -0
  411. package/dist/pine-core/p-9b32727a.system.entry.js +1 -0
  412. package/dist/pine-core/{p-CGRdQc49.system.js → p-BK1sLRfg.system.js} +2 -2
  413. package/dist/pine-core/{p-COtCa1Md.system.js → p-BNTlHhoO.system.js} +1 -1
  414. package/dist/pine-core/p-BZ1l3LGl.system.js +1 -0
  415. package/dist/pine-core/p-BgNaWLoS.js +1 -0
  416. package/dist/pine-core/p-C6ZWpp3v.js +1 -0
  417. package/dist/pine-core/{p-Cy8cvR7I.system.js → p-CANeE7Ss.system.js} +1 -1
  418. package/dist/pine-core/p-CKRzRKdO.js +1 -0
  419. package/dist/pine-core/{p-XW4H0W6i.system.js → p-CNXspDYs.system.js} +1 -1
  420. package/dist/pine-core/{p-BPqJgIq6.js → p-Cuc0DYlm.js} +1 -1
  421. package/dist/pine-core/p-DQyF6v9Q.system.js +1 -0
  422. package/dist/pine-core/{p-BWDu62Mo.js → p-DvN3tyZp.js} +1 -1
  423. package/dist/pine-core/p-DwQ5Tjis.js +1 -0
  424. package/dist/pine-core/{p-CmSJytt1.js → p-M31tvpDN.js} +2 -2
  425. package/dist/pine-core/p-XK45dzWR.system.js +1 -0
  426. package/dist/pine-core/{p-1dc5a7e0.system.entry.js → p-a09c9c5e.system.entry.js} +1 -1
  427. package/dist/pine-core/p-a4ce12ef.entry.js +1 -0
  428. package/dist/pine-core/{p-57a2f927.entry.js → p-a594c41f.entry.js} +1 -1
  429. package/dist/pine-core/p-a9d96e22.entry.js +1 -0
  430. package/dist/pine-core/{p-047433a4.system.entry.js → p-ad5208a4.system.entry.js} +1 -1
  431. package/dist/pine-core/p-b3d4f97a.system.entry.js +3 -0
  432. package/dist/pine-core/{p-0b71ecb6.system.entry.js → p-bcc378ba.system.entry.js} +2 -2
  433. package/dist/pine-core/p-bd7dc317.system.entry.js +1 -0
  434. package/dist/pine-core/p-beb7a430.entry.js +1 -0
  435. package/dist/pine-core/p-bfa34194.entry.js +1 -0
  436. package/dist/pine-core/{p-5870b092.system.entry.js → p-c2afe4f3.system.entry.js} +1 -1
  437. package/dist/pine-core/p-c5e1eb3c.system.entry.js +1 -0
  438. package/dist/pine-core/p-c7a53c4f.entry.js +1 -0
  439. package/dist/pine-core/{p-5cfd4d41.system.entry.js → p-c8a0b562.system.entry.js} +1 -1
  440. package/dist/pine-core/{p-f1702281.entry.js → p-c9ae7964.entry.js} +1 -1
  441. package/dist/pine-core/{p-db17c626.system.entry.js → p-cb9baf78.system.entry.js} +1 -1
  442. package/dist/pine-core/{p-e5420660.entry.js → p-ce9fa14b.entry.js} +1 -1
  443. package/dist/pine-core/{p-332590c7.system.entry.js → p-d018dc60.system.entry.js} +1 -1
  444. package/dist/pine-core/p-d47b2a6a.system.entry.js +1 -0
  445. package/dist/pine-core/{p-b75b0d09.system.entry.js → p-d48fe5a0.system.entry.js} +1 -1
  446. package/dist/pine-core/p-d6f338e0.entry.js +1 -0
  447. package/dist/pine-core/{p-8191498f.system.entry.js → p-d920d759.system.entry.js} +1 -1
  448. package/dist/pine-core/{p-26642718.entry.js → p-d9719e37.entry.js} +1 -1
  449. package/dist/pine-core/{p-c483997a.entry.js → p-db7fb5a3.entry.js} +1 -1
  450. package/dist/pine-core/{p-9713fb36.entry.js → p-e1d1b5d8.entry.js} +1 -1
  451. package/dist/pine-core/p-e3de6a1d.entry.js +1 -0
  452. package/dist/pine-core/{p-d2c91e7a.entry.js → p-e7002cee.entry.js} +1 -1
  453. package/dist/pine-core/{p-86040cac.system.entry.js → p-e82f758f.system.entry.js} +1 -1
  454. package/dist/pine-core/p-e84fa9ed.entry.js +1 -0
  455. package/dist/pine-core/{p-ee0e30bf.system.entry.js → p-eb4f0daa.system.entry.js} +1 -1
  456. package/dist/pine-core/p-eeYeEogd.system.js +1 -0
  457. package/dist/pine-core/{p-0af0d752.system.entry.js → p-eecd9ad8.system.entry.js} +1 -1
  458. package/dist/pine-core/p-ef0eba9b.system.entry.js +1 -0
  459. package/dist/pine-core/p-ef3a855f.system.entry.js +1 -0
  460. package/dist/pine-core/{p-717323e4.entry.js → p-f018af99.entry.js} +1 -1
  461. package/dist/pine-core/{p-121612a7.system.entry.js → p-f11cce27.system.entry.js} +1 -1
  462. package/dist/pine-core/{p-4fd454f6.entry.js → p-f6f4fd42.entry.js} +1 -1
  463. package/dist/pine-core/{p-a939b471.entry.js → p-f71d71ca.entry.js} +1 -1
  464. package/dist/pine-core/p-f9063262.system.entry.js +1 -0
  465. package/dist/pine-core/p-f99bd77f.entry.js +1 -0
  466. package/dist/pine-core/{p-ClDiSG97.system.js → p-vFsJv75D.system.js} +1 -1
  467. package/dist/pine-core/p-wB2y8gR7.system.js +1 -0
  468. package/dist/pine-core/pine-core.esm.js +1 -1
  469. package/dist/pine-core/pine-core.js +1 -1
  470. package/dist/types/components/pds-alert/pds-alert.d.ts +10 -0
  471. package/dist/types/components/pds-avatar/pds-avatar.d.ts +8 -0
  472. package/dist/types/components/pds-button/pds-button.d.ts +2 -2
  473. package/dist/types/components/pds-checkbox/pds-checkbox.d.ts +7 -1
  474. package/dist/types/components/pds-combobox/pds-combobox.d.ts +9 -0
  475. package/dist/types/components/pds-datepicker/calendar-portal.d.ts +0 -7
  476. package/dist/types/components/pds-dropdown-menu/pds-dropdown-menu-item/pds-dropdown-menu-item.d.ts +7 -0
  477. package/dist/types/components/pds-link/pds-link.d.ts +8 -0
  478. package/dist/types/components/pds-popover/pds-popover.d.ts +44 -20
  479. package/dist/types/components/pds-radio/pds-radio.d.ts +9 -3
  480. package/dist/types/components/pds-radio-group/pds-radio-group.d.ts +8 -0
  481. package/dist/types/components/pds-select/pds-select.d.ts +32 -4
  482. package/dist/types/components/pds-text/pds-text.d.ts +4 -0
  483. package/dist/types/components/pds-toast/pds-toast.d.ts +9 -0
  484. package/dist/types/components/pds-tooltip/pds-tooltip.d.ts +32 -0
  485. package/dist/types/components.d.ts +98 -10
  486. package/dist/types/utils/aria-references.d.ts +24 -0
  487. package/dist/types/utils/portal-target.d.ts +17 -0
  488. package/dist/types/utils/tabbable.d.ts +2 -0
  489. package/dist/types/utils/truncation-tooltip.d.ts +5 -2
  490. package/dist/vscode.html-data.json +82 -10
  491. package/hydrate/index.js +971 -408
  492. package/hydrate/index.mjs +971 -408
  493. package/package.json +2 -2
  494. package/dist/esm-es5/truncation-tooltip-FaW67DiY.js +0 -1
  495. package/dist/pine-core/p-0092444c.system.entry.js +0 -1
  496. package/dist/pine-core/p-00a50de5.system.entry.js +0 -3
  497. package/dist/pine-core/p-049f126a.entry.js +0 -1
  498. package/dist/pine-core/p-089c3e60.entry.js +0 -1
  499. package/dist/pine-core/p-158b2f51.entry.js +0 -1
  500. package/dist/pine-core/p-17f97f1a.entry.js +0 -1
  501. package/dist/pine-core/p-19ba2788.system.entry.js +0 -1
  502. package/dist/pine-core/p-208c7dbf.entry.js +0 -1
  503. package/dist/pine-core/p-25ea48d1.entry.js +0 -1
  504. package/dist/pine-core/p-295f64ea.entry.js +0 -1
  505. package/dist/pine-core/p-29cd4113.system.entry.js +0 -1
  506. package/dist/pine-core/p-2cb5483a.system.entry.js +0 -1
  507. package/dist/pine-core/p-36cb4bf6.entry.js +0 -1
  508. package/dist/pine-core/p-3c977d8d.system.entry.js +0 -1
  509. package/dist/pine-core/p-3d51891a.entry.js +0 -1
  510. package/dist/pine-core/p-432d5ec7.entry.js +0 -1
  511. package/dist/pine-core/p-44f546ae.entry.js +0 -1
  512. package/dist/pine-core/p-5442d983.system.entry.js +0 -1
  513. package/dist/pine-core/p-5833a072.system.entry.js +0 -1
  514. package/dist/pine-core/p-602c197f.entry.js +0 -1
  515. package/dist/pine-core/p-719542e1.system.entry.js +0 -1
  516. package/dist/pine-core/p-73f931a1.entry.js +0 -1
  517. package/dist/pine-core/p-75ee0403.entry.js +0 -1
  518. package/dist/pine-core/p-77395d62.system.entry.js +0 -1
  519. package/dist/pine-core/p-7a287635.system.entry.js +0 -1
  520. package/dist/pine-core/p-875b0436.system.entry.js +0 -1
  521. package/dist/pine-core/p-884cb31d.system.entry.js +0 -1
  522. package/dist/pine-core/p-8987fd45.system.entry.js +0 -1
  523. package/dist/pine-core/p-8cc302aa.system.entry.js +0 -1
  524. package/dist/pine-core/p-8e3ff75d.entry.js +0 -1
  525. package/dist/pine-core/p-90d5edc6.entry.js +0 -1
  526. package/dist/pine-core/p-91f60173.entry.js +0 -1
  527. package/dist/pine-core/p-9265497e.system.entry.js +0 -1
  528. package/dist/pine-core/p-94593f20.system.entry.js +0 -1
  529. package/dist/pine-core/p-99459e27.entry.js +0 -1
  530. package/dist/pine-core/p-99fdf70f.entry.js +0 -1
  531. package/dist/pine-core/p-9aaedded.entry.js +0 -1
  532. package/dist/pine-core/p-9dcd2cdb.entry.js +0 -1
  533. package/dist/pine-core/p-BLG6RDBt.js +0 -1
  534. package/dist/pine-core/p-BR5nujVX.system.js +0 -1
  535. package/dist/pine-core/p-CuSNnuFu.system.js +0 -1
  536. package/dist/pine-core/p-D04W0cAO.system.js +0 -1
  537. package/dist/pine-core/p-a0960b3d.system.entry.js +0 -1
  538. package/dist/pine-core/p-a1230a74.system.entry.js +0 -1
  539. package/dist/pine-core/p-a826f290.entry.js +0 -1
  540. package/dist/pine-core/p-acce8eb2.entry.js +0 -1
  541. package/dist/pine-core/p-aff411d0.entry.js +0 -1
  542. package/dist/pine-core/p-b182f806.entry.js +0 -2
  543. package/dist/pine-core/p-bb68431a.entry.js +0 -1
  544. package/dist/pine-core/p-be9b6e63.system.entry.js +0 -1
  545. package/dist/pine-core/p-bf30dec0.entry.js +0 -1
  546. package/dist/pine-core/p-c4e12f0a.entry.js +0 -1
  547. package/dist/pine-core/p-e0917a26.entry.js +0 -1
  548. package/dist/pine-core/p-e836a041.entry.js +0 -1
  549. package/dist/pine-core/p-ea340c55.system.entry.js +0 -1
  550. package/dist/pine-core/p-ea4d4741.system.entry.js +0 -1
  551. package/dist/pine-core/p-ea8f5d29.entry.js +0 -1
  552. package/dist/pine-core/p-eaf85be6.system.entry.js +0 -1
  553. package/dist/pine-core/p-ef13f665.system.entry.js +0 -1
  554. package/dist/pine-core/p-f3067d90.system.entry.js +0 -1
  555. package/dist/pine-core/p-jrkGLEPe.js +0 -1
@@ -1,10 +1,12 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-jl_Q819j.js');
3
+ var index = require('./index-D9iJuJCP.js');
4
+ var floatingUi_dom = require('./floating-ui.dom-Dw41zbyY.js');
4
5
  var closest = require('./closest-D0qyYtJ3.js');
5
6
  var reflectedAttributeDefault = require('./reflected-attribute-default-DVYHG6O1.js');
6
- var attributes = require('./attributes-BJ7KBHql.js');
7
- var keepHydrated = require('./keep-hydrated-CiXgkEYd.js');
7
+ var attributes = require('./attributes-CW49XqaL.js');
8
+ var keepHydrated = require('./keep-hydrated-AKoh0DG4.js');
9
+ var tabbable = require('./tabbable-BrrrGvdG.js');
8
10
 
9
11
  /**
10
12
  * Escapes a string so it's safe to interpolate into a CSS identifier (an id selector like `#${id}`)
@@ -48,7 +50,7 @@ const cssEscape = (value) => {
48
50
  return result;
49
51
  };
50
52
 
51
- const pdsPopoverCss = () => `:host{--sizing-max-width-default:352px;display:inline-block}:host .pds-popover__trigger-wrapper{display:inline-block}:host .pds-popover__content-slot-wrapper{display:none}`;
53
+ const pdsPopoverCss = () => `:host{--sizing-max-width-default:352px;display:inline-block}:host .pds-popover__trigger-wrapper{display:inline-block}:host .pds-popover__tab-guard{opacity:0;outline:none;pointer-events:none;position:fixed}:host .pds-popover__content-slot-wrapper{display:none}`;
52
54
 
53
55
  /** Open popovers that close on Escape, in the order they opened: Escape goes to the last one it applies to. */
54
56
  const popoversTakingEscape = [];
@@ -56,6 +58,24 @@ const popoversTakingEscape = [];
56
58
  const HOVER_OPEN_DELAY_MS = 120;
57
59
  /** Leaving the trigger and panel waits this long before closing, which covers the gap between them. */
58
60
  const HOVER_CLOSE_DELAY_MS = 200;
61
+ /**
62
+ * floating-ui reporting viewport coordinates, as `position: fixed` uses without a containing block. Its own
63
+ * containing-block check misses a backdrop filter in WebKit, so handlePopoverPositioning corrects for one itself.
64
+ */
65
+ const viewportPlatform = Object.assign(Object.assign({}, floatingUi_dom.platform), { getOffsetParent: () => window });
66
+ /**
67
+ * Where `top: 0; left: 0` puts a fixed element beside the given one. An empty probe is measured instead of the
68
+ * element, whose own transforms, such as an entrance animation, would otherwise read as part of the offset.
69
+ */
70
+ const containingBlockOrigin = (element) => {
71
+ var _a;
72
+ const probe = document.createElement('div');
73
+ probe.style.cssText = 'all: initial; position: fixed; top: 0; left: 0;';
74
+ (_a = element.parentNode) === null || _a === void 0 ? void 0 : _a.insertBefore(probe, element);
75
+ const { top, left } = probe.getBoundingClientRect();
76
+ probe.remove();
77
+ return { top, left };
78
+ };
59
79
  /** The focused element, followed down through shadow roots to the control that has focus. */
60
80
  function deepActiveElement() {
61
81
  var _a;
@@ -64,6 +84,27 @@ function deepActiveElement() {
64
84
  active = active.shadowRoot.activeElement;
65
85
  return active;
66
86
  }
87
+ /** `node`, or the shadow host it sits in, lifted until it shares a tree with `other` or reaches the document. */
88
+ function liftToTreeOf(node, other) {
89
+ let current = node;
90
+ while (current.getRootNode() !== other.getRootNode() && current.getRootNode() instanceof ShadowRoot) {
91
+ current = current.getRootNode().host;
92
+ }
93
+ return current;
94
+ }
95
+ /**
96
+ * Where `node` sits relative to `ref`, as `compareDocumentPosition` reports it. Whichever of the two
97
+ * is inside a shadow root is lifted to its host first, so a control inside a component compares too.
98
+ */
99
+ function positionAcrossTrees(ref, node) {
100
+ const lifted = liftToTreeOf(node, ref);
101
+ return liftToTreeOf(ref, lifted).compareDocumentPosition(lifted);
102
+ }
103
+ const isPosition = (position, flag) => (position & Node.DOCUMENT_POSITION_DISCONNECTED) === 0 && (position & flag) !== 0;
104
+ /** The popover each panel belongs to, so a popover inside another one's panel can find it. */
105
+ const panelOwners = new WeakMap();
106
+ /** Floating layers Pine components put at the end of the page or of a dialog, as a popover does its panel. */
107
+ const FLOATING_LAYERS = '.pds-popover, .pds-datepicker-calendar-portal, .pds-combobox-dropdown-portal';
67
108
  const PdsPopover = class {
68
109
  constructor(hostRef) {
69
110
  index.registerInstance(this, hostRef);
@@ -99,14 +140,21 @@ const PdsPopover = class {
99
140
  */
100
141
  this.portalEl = null;
101
142
  /**
102
- * Guard to prevent repositioning loops
143
+ * Stops floating-ui's autoUpdate, which repositions the open panel as its trigger or the page moves or resizes
103
144
  */
104
- this.isRepositioning = false;
145
+ this.stopAutoUpdate = null;
105
146
  /**
106
- * Debounce timers for performance optimization
147
+ * Counts positioning runs, so a run that resolves after a newer one started is dropped
107
148
  */
108
- this.scrollDebounceTimer = null;
109
- this.resizeDebounceTimer = null;
149
+ this.positioningRun = 0;
150
+ /**
151
+ * The latest positioning run, which pdsPopoverOpen waits for so the panel's side is set when it fires
152
+ */
153
+ this.positioning = Promise.resolve();
154
+ /**
155
+ * Set while show() waits to emit pdsPopoverOpen, so a hide() in the meantime emits it first
156
+ */
157
+ this.openEventPending = false;
110
158
  /**
111
159
  * Track moved nodes and their placeholders for restoration
112
160
  */
@@ -127,6 +175,18 @@ const PdsPopover = class {
127
175
  * How far the pointer was from the panel at its last move after leaving the trigger
128
176
  */
129
177
  this.panelDistance = Infinity;
178
+ /**
179
+ * Stands in for the panel in the Tab order, right after the trigger, while the popover is open
180
+ */
181
+ this.tabGuardEl = null;
182
+ /**
183
+ * Set while focus passes through the guard on its way out of the panel
184
+ */
185
+ this.leavingPanel = false;
186
+ /**
187
+ * The direction of the Tab key being handled, until its default action has run
188
+ */
189
+ this.tabDirection = null;
130
190
  /**
131
191
  * Determines the action that triggers the popover. For manual popovers, the consumer is responsible for toggling this value.
132
192
  * @defaultValue "show"
@@ -180,6 +240,9 @@ const PdsPopover = class {
180
240
  else {
181
241
  this.triggerEl = null;
182
242
  }
243
+ // autoUpdate watches the trigger it started with, so an open popover starts it again on the new one.
244
+ if (this.active)
245
+ this.addScrollAndResizeListeners();
183
246
  this.observeTrigger();
184
247
  };
185
248
  /**
@@ -297,6 +360,59 @@ const PdsPopover = class {
297
360
  event.stopPropagation();
298
361
  }
299
362
  };
363
+ // At the end of the body or of a dialog, the panel would come last in the Tab order. The guard
364
+ // after the trigger takes its place there, while the panel has a control for it to lead to.
365
+ this.syncTabGuard = (event) => {
366
+ if (event.key !== 'Tab')
367
+ return;
368
+ this.releasePanel();
369
+ this.tabDirection = event.shiftKey ? 'backward' : 'forward';
370
+ setTimeout(this.endTabKey);
371
+ // Read on each Tab, as the panel's content can arrive after it opens.
372
+ const guarding = this.guardedTabbables().length > 0;
373
+ if (this.tabGuardEl != null)
374
+ this.tabGuardEl.tabIndex = guarding ? 0 : -1;
375
+ // Inert for this key press, the panel is reached only through the guard, either way round. A
376
+ // control in another floating layer, such as a nested popover's panel, may move focus back into it.
377
+ const focused = deepActiveElement();
378
+ if (guarding && !closest.containsComposed(this.portalEl, focused) && !closest.closest(FLOATING_LAYERS, focused !== null && focused !== void 0 ? focused : document)) {
379
+ this.portalEl.inert = true;
380
+ }
381
+ };
382
+ this.endTabKey = () => {
383
+ this.tabDirection = null;
384
+ this.releasePanel();
385
+ };
386
+ this.handleTabGuardFocus = (event) => {
387
+ if (this.leavingPanel)
388
+ return;
389
+ // An inert panel's controls aren't tabbable, so the guard would find none to send focus to.
390
+ this.releasePanel();
391
+ const tabbables = this.guardedTabbables();
392
+ // A Tab press says which end of the panel focus comes in at; without one, where it came from does.
393
+ const from = event.relatedTarget;
394
+ const backward = this.tabDirection != null ? this.tabDirection === 'backward' : from != null && this.isAfterPopover(from);
395
+ const target = backward ? tabbables[tabbables.length - 1] : tabbables[0];
396
+ // Focus can reach the guard without a Tab keydown here (from a frame, or assistive tech) after
397
+ // the panel's controls are gone. The trigger is the nearest visible place for it.
398
+ if (target == null)
399
+ this.returnFocusToTrigger();
400
+ else
401
+ target.focus();
402
+ };
403
+ this.handleTabFromPanel = (event) => {
404
+ if (event.key !== 'Tab' || event.defaultPrevented || this.tabGuardEl == null)
405
+ return;
406
+ const tabbables = this.guardedTabbables();
407
+ const edge = event.shiftKey ? tabbables[0] : tabbables[tabbables.length - 1];
408
+ if (edge == null || deepActiveElement() !== edge)
409
+ return;
410
+ this.leavePanel(edge, event.shiftKey);
411
+ };
412
+ this.releasePanel = () => {
413
+ if (this.portalEl != null)
414
+ this.portalEl.inert = false;
415
+ };
300
416
  }
301
417
  openOnChanged() {
302
418
  this.pin();
@@ -332,8 +448,6 @@ const PdsPopover = class {
332
448
  // Bind event handlers for cleanup
333
449
  this.boundClickOutsideHandler = this.handleClickOutside.bind(this);
334
450
  this.boundEscapeKeyHandler = this.handleEscapeKey.bind(this);
335
- this.boundScrollHandler = this.handleScroll.bind(this);
336
- this.boundResizeHandler = this.handleResize.bind(this);
337
451
  // Create portal element
338
452
  this.createPortal();
339
453
  this.hasLoaded = true;
@@ -432,11 +546,12 @@ const PdsPopover = class {
432
546
  // is in now, if any.
433
547
  if (this.active) {
434
548
  this.placePortal();
435
- requestAnimationFrame(() => this.handlePopoverPositioning());
549
+ // autoUpdate listens to the scroll containers around where the trigger was, so it starts again.
550
+ this.addScrollAndResizeListeners();
436
551
  }
437
552
  }
438
553
  disconnectedCallback() {
439
- var _a;
554
+ var _a, _b;
440
555
  // Moved in one operation (a DOM morph, or a framework reparenting it), the popover is
441
556
  // already back in the page. Its portal is outside the popover, so it stays open, with focus
442
557
  // where it was; connectedCallback moves it to follow the popover.
@@ -451,6 +566,7 @@ const PdsPopover = class {
451
566
  this.restorePortalContent();
452
567
  this.active = false;
453
568
  this.linkTriggerToPortal();
569
+ this.emitOpenEvent();
454
570
  this.pdsPopoverClose.emit({
455
571
  componentId: this.componentId,
456
572
  popoverType: this.popoverType,
@@ -467,32 +583,20 @@ const PdsPopover = class {
467
583
  this.removeLightDismissListeners();
468
584
  this.removeScrollAndResizeListeners();
469
585
  document.removeEventListener('submit', this.handleSubmitFromPanel, true);
470
- // Clear any pending debounce timers
471
- this.clearDebounceTimers();
586
+ document.removeEventListener('keydown', this.syncTabGuard, true);
587
+ (_b = this.tabGuardEl) === null || _b === void 0 ? void 0 : _b.removeAttribute('tabindex');
472
588
  this.clearHoverTimers();
473
589
  this.hoverOpened = false;
474
590
  // Remove portal from DOM
475
591
  this.removePortal();
476
592
  }
477
- /**
478
- * Clears any pending debounce timers
479
- */
480
- clearDebounceTimers() {
481
- if (this.scrollDebounceTimer !== null) {
482
- clearTimeout(this.scrollDebounceTimer);
483
- this.scrollDebounceTimer = null;
484
- }
485
- if (this.resizeDebounceTimer !== null) {
486
- clearTimeout(this.resizeDebounceTimer);
487
- this.resizeDebounceTimer = null;
488
- }
489
- }
490
593
  createPortal() {
491
594
  var _a;
492
595
  if (this.portalEl !== null)
493
596
  return;
494
597
  this.portalEl = document.createElement('div');
495
598
  this.portalEl.className = 'pds-popover';
599
+ panelOwners.set(this.portalEl, this);
496
600
  // Apply all styles inline since portal is outside shadow DOM
497
601
  this.portalEl.style.position = 'fixed';
498
602
  this.portalEl.style.zIndex = 'var(--pine-z-index-raised)';
@@ -519,6 +623,7 @@ const PdsPopover = class {
519
623
  // This is done after appending to ensure it's part of the document and can access CSS variables
520
624
  this.addPortalFocusStyles();
521
625
  this.listenForHover(this.portalEl);
626
+ this.portalEl.addEventListener('keydown', this.handleTabFromPanel);
522
627
  }
523
628
  /**
524
629
  * Adds Pine design system focus styles and dark mode border to the portal element
@@ -652,15 +757,10 @@ const PdsPopover = class {
652
757
  this.portalEl.style.display = 'block';
653
758
  this.portalEl.style.opacity = '1';
654
759
  this.portalEl.style.visibility = 'visible';
655
- // Position the popover
656
- requestAnimationFrame(() => {
657
- if (!this.isComponentMounted)
658
- return;
659
- this.handlePopoverPositioning();
660
- });
661
- // Add scroll and resize listeners for repositioning (always)
760
+ // Position the popover now, and again whenever its trigger or the page moves or resizes
662
761
  this.addScrollAndResizeListeners();
663
762
  document.addEventListener('submit', this.handleSubmitFromPanel, true);
763
+ document.addEventListener('keydown', this.syncTabGuard, true);
664
764
  // Add document listeners for light dismiss and escape key (auto type only), or for the escape
665
765
  // key alone while hover holds a manual popover open
666
766
  if (this.popoverType === 'auto') {
@@ -671,7 +771,20 @@ const PdsPopover = class {
671
771
  popoversTakingEscape.push(this);
672
772
  document.addEventListener('keydown', this.boundEscapeKeyHandler);
673
773
  }
674
- // Emit open event
774
+ // Emit open event once the panel is positioned, with the side it took already on it. A reconnect, a
775
+ // trigger swap or another show() can start a newer run meanwhile, which drops this one, so wait for the latest.
776
+ this.openEventPending = true;
777
+ let positioning;
778
+ do {
779
+ positioning = this.positioning;
780
+ await positioning;
781
+ } while (positioning !== this.positioning);
782
+ this.emitOpenEvent();
783
+ }
784
+ emitOpenEvent() {
785
+ if (!this.openEventPending)
786
+ return;
787
+ this.openEventPending = false;
675
788
  this.pdsPopoverOpen.emit({
676
789
  componentId: this.componentId,
677
790
  popoverType: this.popoverType,
@@ -681,6 +794,7 @@ const PdsPopover = class {
681
794
  * Closes the popover programmatically
682
795
  */
683
796
  async hide() {
797
+ var _a;
684
798
  this.clearHoverTimers();
685
799
  if (!this.active || !this.portalEl)
686
800
  return;
@@ -696,6 +810,7 @@ const PdsPopover = class {
696
810
  // Hide portal. The dark-mode border set in a shadow root is worked out again on the next open.
697
811
  this.portalEl.style.border = '';
698
812
  this.portalEl.removeAttribute('data-pds-popover-open');
813
+ this.portalEl.removeAttribute('data-pds-popover-placement');
699
814
  this.portalEl.style.display = 'none';
700
815
  this.portalEl.style.opacity = '0';
701
816
  this.portalEl.style.visibility = 'hidden';
@@ -709,8 +824,11 @@ const PdsPopover = class {
709
824
  this.removeLightDismissListeners();
710
825
  this.removeScrollAndResizeListeners();
711
826
  document.removeEventListener('submit', this.handleSubmitFromPanel, true);
712
- // Clear any pending timers
713
- this.clearDebounceTimers();
827
+ document.removeEventListener('keydown', this.syncTabGuard, true);
828
+ (_a = this.tabGuardEl) === null || _a === void 0 ? void 0 : _a.removeAttribute('tabindex');
829
+ this.releasePanel();
830
+ // Closed before its first position resolved, it still announces the open before the close.
831
+ this.emitOpenEvent();
714
832
  // Emit close event
715
833
  this.pdsPopoverClose.emit({
716
834
  componentId: this.componentId,
@@ -722,10 +840,10 @@ const PdsPopover = class {
722
840
  */
723
841
  async toggle() {
724
842
  if (this.active) {
725
- this.hide();
843
+ await this.hide();
726
844
  }
727
845
  else {
728
- this.show();
846
+ await this.show();
729
847
  }
730
848
  }
731
849
  /**
@@ -809,19 +927,62 @@ const PdsPopover = class {
809
927
  document.removeEventListener('click', this.boundClickOutsideHandler, true);
810
928
  document.removeEventListener('keydown', this.boundEscapeKeyHandler);
811
929
  }
930
+ /**
931
+ * The panel's controls that Tab reaches through the guard. None when the panel sits right after
932
+ * the popover, in a dialog, where it's already next in the Tab order.
933
+ */
934
+ guardedTabbables() {
935
+ if (this.portalEl == null || this.el.nextElementSibling === this.portalEl)
936
+ return [];
937
+ return tabbable.tabbableIn(this.portalEl);
938
+ }
939
+ isAfterPopover(node) {
940
+ if (closest.containsComposed(this.el, node))
941
+ return false;
942
+ return isPosition(positionAcrossTrees(this.el, node), Node.DOCUMENT_POSITION_FOLLOWING);
943
+ }
944
+ /**
945
+ * Moves focus to the guard without preventing the Tab, so the browser's Tab carries on from there.
946
+ * Inert until then, the panel can't be where it lands.
947
+ */
948
+ leavePanel(edge, backward) {
949
+ var _a, _b;
950
+ this.leavingPanel = true;
951
+ (_a = this.tabGuardEl) === null || _a === void 0 ? void 0 : _a.focus();
952
+ this.leavingPanel = false;
953
+ this.portalEl.inert = true;
954
+ setTimeout(() => this.finishLeavingPanel(edge));
955
+ // Last in another popover's panel, the guard hands the Tab on to that popover's own guard.
956
+ const outer = panelOwners.get(closest.closest('.pds-popover', this.el));
957
+ const outerTabbables = (_b = outer === null || outer === void 0 ? void 0 : outer.guardedTabbables()) !== null && _b !== void 0 ? _b : [];
958
+ if (!backward && outerTabbables[outerTabbables.length - 1] === this.tabGuardEl)
959
+ outer.leavePanel(edge, false);
960
+ }
961
+ // With nowhere for the browser's Tab to go, focus would stay on the invisible guard.
962
+ finishLeavingPanel(edge) {
963
+ var _a;
964
+ this.releasePanel();
965
+ if (this.active && ((_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.activeElement) === this.tabGuardEl)
966
+ edge.focus();
967
+ }
812
968
  /**
813
969
  * Adds scroll and resize listeners for repositioning
814
970
  */
815
971
  addScrollAndResizeListeners() {
816
- window.addEventListener('scroll', this.boundScrollHandler, true);
817
- window.addEventListener('resize', this.boundResizeHandler);
972
+ this.removeScrollAndResizeListeners();
973
+ if (this.triggerEl == null || this.portalEl == null)
974
+ return;
975
+ this.stopAutoUpdate = floatingUi_dom.autoUpdate(this.triggerEl, this.portalEl, () => {
976
+ this.positioning = this.handlePopoverPositioning().catch(error => console.warn('pds-popover: failed to position the panel', error));
977
+ });
818
978
  }
819
979
  /**
820
980
  * Removes scroll and resize listeners
821
981
  */
822
982
  removeScrollAndResizeListeners() {
823
- window.removeEventListener('scroll', this.boundScrollHandler, true);
824
- window.removeEventListener('resize', this.boundResizeHandler);
983
+ var _a;
984
+ (_a = this.stopAutoUpdate) === null || _a === void 0 ? void 0 : _a.call(this);
985
+ this.stopAutoUpdate = null;
825
986
  }
826
987
  /**
827
988
  * Handles clicks outside the popover for light dismiss (auto type only)
@@ -885,122 +1046,38 @@ const PdsPopover = class {
885
1046
  this.hide();
886
1047
  }
887
1048
  /**
888
- * Handles scroll events to reposition the popover (debounced for performance)
1049
+ * Positions the popover relative to its trigger element, flipping to the opposite side when only that side has
1050
+ * room and shifting to stay 8px inside the viewport. The side it takes goes on the panel's `data-pds-popover-placement`.
889
1051
  */
890
- handleScroll() {
891
- if (!this.active)
892
- return;
893
- if (this.scrollDebounceTimer !== null) {
894
- clearTimeout(this.scrollDebounceTimer);
895
- }
896
- this.scrollDebounceTimer = setTimeout(() => {
897
- this.handlePopoverPositioning();
898
- this.scrollDebounceTimer = null;
899
- }, 10); // 10ms debounce for smooth repositioning
900
- }
901
- /**
902
- * Handles resize events to reposition the popover (debounced for performance)
903
- */
904
- handleResize() {
905
- if (!this.active)
906
- return;
907
- if (this.resizeDebounceTimer !== null) {
908
- clearTimeout(this.resizeDebounceTimer);
909
- }
910
- this.resizeDebounceTimer = setTimeout(() => {
911
- this.handlePopoverPositioning();
912
- this.resizeDebounceTimer = null;
913
- }, 100); // 100ms debounce for resize
914
- }
915
- /**
916
- * Positions the popover relative to its trigger element
917
- */
918
- handlePopoverPositioning() {
919
- // Prevent repositioning loops
920
- if (this.isRepositioning) {
921
- return;
922
- }
923
- this.isRepositioning = true;
924
- if (this.triggerEl == null || this.portalEl == null) {
925
- this.isRepositioning = false;
1052
+ async handlePopoverPositioning() {
1053
+ // Counted before the guards, so a run still in flight is dropped even when this one can't position.
1054
+ const run = ++this.positioningRun;
1055
+ if (this.triggerEl == null || this.portalEl == null)
926
1056
  return;
927
- }
928
- const triggerRect = this.triggerEl.getBoundingClientRect();
929
- const popoverRect = this.portalEl.getBoundingClientRect();
930
1057
  // Safety check: ensure trigger has valid dimensions (is rendered and visible)
931
- if (triggerRect.width === 0 || triggerRect.height === 0) {
932
- this.isRepositioning = false;
1058
+ const triggerRect = this.triggerEl.getBoundingClientRect();
1059
+ if (triggerRect.width === 0 || triggerRect.height === 0)
933
1060
  return;
934
- }
935
- let top = 0;
936
- let left = 0;
937
- const offset = 8;
938
- switch (this.placement) {
939
- case 'top':
940
- top = triggerRect.top - popoverRect.height - offset;
941
- left = triggerRect.left + (triggerRect.width - popoverRect.width) / 2;
942
- break;
943
- case 'top-start':
944
- top = triggerRect.top - popoverRect.height - offset;
945
- left = triggerRect.left;
946
- break;
947
- case 'top-end':
948
- top = triggerRect.top - popoverRect.height - offset;
949
- left = triggerRect.right - popoverRect.width;
950
- break;
951
- case 'right':
952
- top = triggerRect.top + (triggerRect.height - popoverRect.height) / 2;
953
- left = triggerRect.right + offset;
954
- break;
955
- case 'right-start':
956
- top = triggerRect.top;
957
- left = triggerRect.right + offset;
958
- break;
959
- case 'right-end':
960
- top = triggerRect.bottom - popoverRect.height;
961
- left = triggerRect.right + offset;
962
- break;
963
- case 'bottom':
964
- top = triggerRect.bottom + offset;
965
- left = triggerRect.left + (triggerRect.width - popoverRect.width) / 2;
966
- break;
967
- case 'bottom-start':
968
- top = triggerRect.bottom + offset;
969
- left = triggerRect.left;
970
- break;
971
- case 'bottom-end':
972
- top = triggerRect.bottom + offset;
973
- left = triggerRect.right - popoverRect.width;
974
- break;
975
- case 'left':
976
- top = triggerRect.top + (triggerRect.height - popoverRect.height) / 2;
977
- left = triggerRect.left - popoverRect.width - offset;
978
- break;
979
- case 'left-start':
980
- top = triggerRect.top;
981
- left = triggerRect.left - popoverRect.width - offset;
982
- break;
983
- case 'left-end':
984
- top = triggerRect.bottom - popoverRect.height;
985
- left = triggerRect.left - popoverRect.width - offset;
986
- break;
987
- }
988
- this.portalEl.style.top = `${top}px`;
989
- this.portalEl.style.left = `${left}px`;
1061
+ const portal = this.portalEl;
1062
+ const { x: left, y: top, placement } = await floatingUi_dom.computePosition(this.triggerEl, portal, {
1063
+ placement: this.placement,
1064
+ strategy: 'fixed',
1065
+ // With no room on either side, stay on the preferred side: the side that overflows less can still push
1066
+ // a tall panel's start above the viewport.
1067
+ middleware: [floatingUi_dom.offset(8), floatingUi_dom.flip({ fallbackStrategy: 'initialPlacement' }), floatingUi_dom.shift({ padding: 8 })],
1068
+ platform: viewportPlatform,
1069
+ });
1070
+ if (!this.active || run !== this.positioningRun || portal !== this.portalEl)
1071
+ return;
1072
+ portal.setAttribute('data-pds-popover-placement', placement);
990
1073
  // `position: fixed` measures from the viewport unless an ancestor becomes its containing block,
991
- // as a modal dialog does with its backdrop filter. Shift by however far it landed from the spot.
992
- const placed = this.portalEl.getBoundingClientRect();
993
- if (Math.abs(placed.top - top) > 0.5 || Math.abs(placed.left - left) > 0.5) {
994
- this.portalEl.style.top = `${2 * top - placed.top}px`;
995
- this.portalEl.style.left = `${2 * left - placed.left}px`;
996
- }
997
- // Reset the repositioning guard after a short delay
998
- setTimeout(() => {
999
- this.isRepositioning = false;
1000
- }, 16); // ~1 frame at 60fps
1074
+ // as a modal dialog does with its backdrop filter. Offset by however far that block's corner is from the viewport's.
1075
+ const origin = containingBlockOrigin(portal);
1076
+ portal.style.top = `${top - origin.top}px`;
1077
+ portal.style.left = `${left - origin.left}px`;
1001
1078
  }
1002
1079
  render() {
1003
- return (index.h(index.Host, { key: 'e48b897acdc9e89f2e6b1449e7a358da7da1060c', id: this.componentId }, index.h("span", { key: 'b83b2c234b07703c2c850a9991c94939ed2fdaf7', class: "pds-popover__trigger-wrapper" }, index.h("slot", { key: '0a7f7829ee445fd57cf824ebee1409b3c571f983', name: "trigger", onSlotchange: this.handleTriggerSlotChange })), index.h("div", { key: '8c1fe2d4d7c4342b4bd5eb4c56e596f17b4e14fa', class: "pds-popover__content-slot-wrapper" }, index.h("slot", { key: '4ccfce1f335acbc436f7942e497f5d360f849d48', onSlotchange: this.handleContentSlotChange }))));
1080
+ return (index.h(index.Host, { key: '85422eb7544a4795ce78b51684b7224a5d856a4e', id: this.componentId }, index.h("span", { key: '6fe9c827ed4d46ca723d6013f296faf80ba31366', class: "pds-popover__trigger-wrapper" }, index.h("slot", { key: '970d1974d2be1451e670a36e7d2ccdc5979595bb', name: "trigger", onSlotchange: this.handleTriggerSlotChange })), index.h("span", { key: '0c76f76286a30d8e6e948bd0abab3317b3673aa6', class: "pds-popover__tab-guard", ref: (el) => (this.tabGuardEl = el !== null && el !== void 0 ? el : null), onFocus: this.handleTabGuardFocus }), index.h("div", { key: '692c45e93899e74a3d5970f3a3625f6115ab63b0', class: "pds-popover__content-slot-wrapper" }, index.h("slot", { key: 'f1566e0eb1eb08626f2a8285447702ce96b09f4d', onSlotchange: this.handleContentSlotChange }))));
1004
1081
  }
1005
1082
  get el() { return index.getElement(this); }
1006
1083
  static get watchers() { return {
@@ -1,9 +1,9 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-jl_Q819j.js');
4
- var attributes = require('./attributes-BJ7KBHql.js');
3
+ var index = require('./index-D9iJuJCP.js');
4
+ var attributes = require('./attributes-CW49XqaL.js');
5
5
  var utils = require('./utils-BhRmyxT8.js');
6
- require('./keep-hydrated-CiXgkEYd.js');
6
+ require('./keep-hydrated-AKoh0DG4.js');
7
7
 
8
8
  const pdsProgressCss = () => `:host{--color-progress-fill:var(--pine-color-primary);--sizing-progress-bar-width:100%;-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex;width:var(--sizing-progress-bar-width)}@-webkit-keyframes progressBar{0%{width:0}100%{width:var(--sizing-progress-bar-width)}}@keyframes progressBar{0%{width:0}100%{width:var(--sizing-progress-bar-width)}}.pds-progress{-ms-flex-align:center;align-items:center;background-color:var(--pine-color-background-muted);border-radius:var(--pine-dimension-2xs);display:-ms-flexbox;display:flex;-ms-flex-direction:row;flex-direction:row;height:var(--pine-dimension-xs);position:relative;width:100%}:host(.is-animated) progress,:host(.is-animated) progress::-webkit-progress-bar{-webkit-animation:progressBar 3s ease;animation:progressBar 3s ease;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards}progress,progress::-webkit-progress-bar{background-color:transparent;border:0;height:var(--pine-dimension-xs);width:100%}progress::-webkit-progress-value{background:var(--color-progress-fill, var(--pine-color-primary));border-radius:var(--pine-dimension-2xs)}progress::-moz-progress-bar{background:var(--color-progress-fill, var(--pine-color-primary));border-radius:var(--pine-dimension-2xs)}.pds-progress__label{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.pds-progress__percentage{font-weight:var(--pine-font-weight-medium);-webkit-margin-start:calc(var(--pine-dimension-md) / 2);margin-inline-start:calc(var(--pine-dimension-md) / 2)}`;
9
9
 
@@ -37,7 +37,7 @@ const PdsProgress = class {
37
37
  const normalizedFillColor = utils.normalizeColorValue(this.fillColor);
38
38
  const hostClass = this.animated ? { 'is-animated': this.animated } : '';
39
39
  this.hostKeeper.record(hostClass);
40
- return (index.h(index.Host, { key: 'a224e1e9bc50433553ab8bf4b0d772f01148ee76', class: hostClass }, index.h("div", { key: '261742044f3d68c204cbf640cc4447eb6d74df11', class: "pds-progress" }, index.h("label", { key: 'd686bdc6ab450bf8c14dd56077525a3139593f46', class: "pds-progress__label", htmlFor: this.componentId }, this.label), index.h("progress", { key: 'c716e977a952a628aec600fa680aa9c3b8d0e996', id: this.componentId, max: "100", style: normalizedFillColor ? { '--color-progress-fill': normalizedFillColor } : {}, value: this.percent })), this.showPercent && index.h("div", { key: '44176a580b435f69993be4a60ee2e888b87e10fb', class: "pds-progress__percentage" }, this.percent, "%")));
40
+ return (index.h(index.Host, { key: '6d2151cdd1f65b33a7478e5ac12df711d8252d1f', class: hostClass }, index.h("div", { key: '4a902c6c7d51fe8e8a778e1fa24bdbf95d625b1f', class: "pds-progress" }, index.h("label", { key: 'c50955234a7eee05cdf47531e25b4413f206e416', class: "pds-progress__label", htmlFor: this.componentId }, this.label), index.h("progress", { key: 'c54ad90f7b3fcf3368afca4c5618949f1a370114', id: this.componentId, max: "100", style: normalizedFillColor ? { '--color-progress-fill': normalizedFillColor } : {}, value: this.percent })), this.showPercent && index.h("div", { key: '6b3e3f42f04a516ef7992d1f8bc967be432f55bb', class: "pds-progress__percentage" }, this.percent, "%")));
41
41
  }
42
42
  get el() { return index.getElement(this); }
43
43
  };
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-jl_Q819j.js');
4
- require('./keep-hydrated-CiXgkEYd.js');
3
+ var index = require('./index-D9iJuJCP.js');
4
+ require('./keep-hydrated-AKoh0DG4.js');
5
5
 
6
6
  const pdsPropertyCss = () => `:host{color:var(--pine-color-text-message);font:var(--pine-typography-body-medium)}`;
7
7
 
@@ -14,7 +14,7 @@ const PdsProperty = class {
14
14
  this.icon = 'star';
15
15
  }
16
16
  render() {
17
- return (index.h(index.Host, { key: 'd599b62be4bacf1d89afcc26b14fc93bdc9bb3a4', id: this.componentId }, index.h("pds-box", { key: 'd7f80f6598615c761d672893c8acab09bd9ea33f', "align-items": "center", gap: "xs" }, index.h("pds-icon", { key: '15a6a6545c2cd2332bd830451106b7b08adc39ff', icon: this.icon, size: "var(--pine-dimension-sm)", "aria-hidden": "true" }), index.h("slot", { key: '4e5661563b99ec56189447faabcdd1ae631159b2' }))));
17
+ return (index.h(index.Host, { key: '198ffd747b7a84a6f58a1b072890fc8bd3ed93aa', id: this.componentId }, index.h("pds-box", { key: 'be71f3d96efea0a45f357d888f71dbe5ad8b68d6', "align-items": "center", gap: "xs" }, index.h("pds-icon", { key: '1a52407e00b158d5e6a515ad4b07ed3407d31f75', icon: this.icon, size: "var(--pine-dimension-sm)", "aria-hidden": "true" }), index.h("slot", { key: '46ac5019b27bdd079c7853abeef8f7c240d19c2c' }))));
18
18
  }
19
19
  };
20
20
  PdsProperty.style = pdsPropertyCss();