@purpur/library 9.7.4 → 9.8.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 (333) hide show
  1. package/.lintstagedrc.mts +10 -0
  2. package/@types/scss.d.ts +4 -0
  3. package/CHANGELOG.json +4062 -0
  4. package/CHANGELOG.md +2118 -0
  5. package/dist/LICENSE.txt +7 -7
  6. package/dist/{ThemeProvider-DiDBfyFA.mjs → ThemeProvider-BJ25_asg.mjs} +13 -13
  7. package/dist/{ThemeProvider-DiDBfyFA.mjs.map → ThemeProvider-BJ25_asg.mjs.map} +1 -1
  8. package/dist/{ThemeProvider-D7oXcAde.js → ThemeProvider-BJGm3zai.js} +2 -2
  9. package/dist/{ThemeProvider-D7oXcAde.js.map → ThemeProvider-BJGm3zai.js.map} +1 -1
  10. package/dist/{autocomplete-BEGRn-Wh.mjs → autocomplete-A9-Ni60G.mjs} +2 -2
  11. package/dist/{autocomplete-BEGRn-Wh.mjs.map → autocomplete-A9-Ni60G.mjs.map} +1 -1
  12. package/dist/{autocomplete-3kV1btuI.js → autocomplete-Bbth0nDG.js} +2 -2
  13. package/dist/{autocomplete-3kV1btuI.js.map → autocomplete-Bbth0nDG.js.map} +1 -1
  14. package/dist/autocomplete.cjs.js +1 -1
  15. package/dist/autocomplete.es.js +1 -1
  16. package/dist/components/accordion/src/accordion.visual.fixtures.d.ts +13 -0
  17. package/dist/components/accordion/src/accordion.visual.fixtures.d.ts.map +1 -0
  18. package/dist/components/badge/src/badge.visual.fixtures.d.ts +13 -0
  19. package/dist/components/badge/src/badge.visual.fixtures.d.ts.map +1 -0
  20. package/dist/components/footer/src/telia-logo.d.ts.map +1 -1
  21. package/dist/components/hero-banner/src/hero-banner-types.d.ts +48 -0
  22. package/dist/components/hero-banner/src/hero-banner-types.d.ts.map +1 -0
  23. package/dist/components/hero-banner/src/hero-banner.d.ts +5 -48
  24. package/dist/components/hero-banner/src/hero-banner.d.ts.map +1 -1
  25. package/dist/components/hero-banner/src/hero-banner.visual.fixtures.d.ts +1 -1
  26. package/dist/components/hero-banner/src/hero-banner.visual.fixtures.d.ts.map +1 -1
  27. package/dist/components-metadata.js +2 -2
  28. package/dist/{date-field-BKKty89_.js → date-field-CKxEWHG3.js} +2 -2
  29. package/dist/{date-field-BKKty89_.js.map → date-field-CKxEWHG3.js.map} +1 -1
  30. package/dist/{date-field-Cv5CKR1y.mjs → date-field-HEFdHIxk.mjs} +2 -2
  31. package/dist/{date-field-Cv5CKR1y.mjs.map → date-field-HEFdHIxk.mjs.map} +1 -1
  32. package/dist/date-field.cjs.js +1 -1
  33. package/dist/date-field.es.js +1 -1
  34. package/dist/{date-picker-CIizn3Pv.js → date-picker-CDBwkAJI.js} +2 -2
  35. package/dist/{date-picker-CIizn3Pv.js.map → date-picker-CDBwkAJI.js.map} +1 -1
  36. package/dist/{date-picker-DixxW60s.mjs → date-picker-cQewKIMN.mjs} +6 -6
  37. package/dist/{date-picker-DixxW60s.mjs.map → date-picker-cQewKIMN.mjs.map} +1 -1
  38. package/dist/date-picker.cjs.js +1 -1
  39. package/dist/date-picker.es.js +1 -1
  40. package/dist/{date-range-field-D8vLeSwp.js → date-range-field-D7Hn9FGN.js} +2 -2
  41. package/dist/{date-range-field-D8vLeSwp.js.map → date-range-field-D7Hn9FGN.js.map} +1 -1
  42. package/dist/{date-range-field-CFcjprIl.mjs → date-range-field-_WctWD29.mjs} +2 -2
  43. package/dist/{date-range-field-CFcjprIl.mjs.map → date-range-field-_WctWD29.mjs.map} +1 -1
  44. package/dist/date-range-field.cjs.js +1 -1
  45. package/dist/date-range-field.es.js +1 -1
  46. package/dist/{drawer-DyhsP34o.js → drawer-DyLQfvEh.js} +2 -2
  47. package/dist/{drawer-DyhsP34o.js.map → drawer-DyLQfvEh.js.map} +1 -1
  48. package/dist/{drawer-BzkRd9F0.mjs → drawer-cIUx6WSZ.mjs} +3 -3
  49. package/dist/{drawer-BzkRd9F0.mjs.map → drawer-cIUx6WSZ.mjs.map} +1 -1
  50. package/dist/drawer.cjs.js +1 -1
  51. package/dist/drawer.es.js +1 -1
  52. package/dist/{footer-DenAcikt.mjs → footer-BMlXRro2.mjs} +86 -96
  53. package/dist/footer-BMlXRro2.mjs.map +1 -0
  54. package/dist/footer-cet787Iq.js +2 -0
  55. package/dist/footer-cet787Iq.js.map +1 -0
  56. package/dist/footer.cjs.js +1 -1
  57. package/dist/footer.es.js +1 -1
  58. package/dist/{hero-banner-B7xrDfzN.mjs → hero-banner-B08jC0Sf.mjs} +77 -77
  59. package/dist/hero-banner-B08jC0Sf.mjs.map +1 -0
  60. package/dist/hero-banner-D__doaU7.js +2 -0
  61. package/dist/hero-banner-D__doaU7.js.map +1 -0
  62. package/dist/hero-banner.cjs.js +1 -1
  63. package/dist/hero-banner.es.js +1 -1
  64. package/dist/library.cjs.js +1 -1
  65. package/dist/library.es.js +21 -21
  66. package/dist/{modal-DJn9idcw.js → modal-CmPPxJ7Y.js} +2 -2
  67. package/dist/{modal-DJn9idcw.js.map → modal-CmPPxJ7Y.js.map} +1 -1
  68. package/dist/{modal-EIP36327.mjs → modal-Evh8sCBO.mjs} +3 -3
  69. package/dist/{modal-EIP36327.mjs.map → modal-Evh8sCBO.mjs.map} +1 -1
  70. package/dist/modal.cjs.js +1 -1
  71. package/dist/modal.es.js +1 -1
  72. package/dist/{popover-DERrvReO.mjs → popover-BSUdf0Ae.mjs} +3 -3
  73. package/dist/{popover-DERrvReO.mjs.map → popover-BSUdf0Ae.mjs.map} +1 -1
  74. package/dist/{popover-DnGgzfQr.js → popover-XJqF5DHT.js} +2 -2
  75. package/dist/{popover-DnGgzfQr.js.map → popover-XJqF5DHT.js.map} +1 -1
  76. package/dist/popover.cjs.js +1 -1
  77. package/dist/popover.es.js +1 -1
  78. package/dist/{promotion-card-DKc2Cx1h.js → promotion-card-BnXD2mkp.js} +2 -2
  79. package/dist/{promotion-card-DKc2Cx1h.js.map → promotion-card-BnXD2mkp.js.map} +1 -1
  80. package/dist/{promotion-card-BnzIVNQ4.mjs → promotion-card-DOO0VCI8.mjs} +2 -2
  81. package/dist/{promotion-card-BnzIVNQ4.mjs.map → promotion-card-DOO0VCI8.mjs.map} +1 -1
  82. package/dist/promotion-card.cjs.js +1 -1
  83. package/dist/promotion-card.es.js +1 -1
  84. package/dist/purpur.css +1 -1
  85. package/dist/{quantity-selector-CvBvnMeB.mjs → quantity-selector-B4YnfmNb.mjs} +2 -2
  86. package/dist/{quantity-selector-CvBvnMeB.mjs.map → quantity-selector-B4YnfmNb.mjs.map} +1 -1
  87. package/dist/{quantity-selector-CDSfcTb1.js → quantity-selector-CTBoxiPO.js} +2 -2
  88. package/dist/{quantity-selector-CDSfcTb1.js.map → quantity-selector-CTBoxiPO.js.map} +1 -1
  89. package/dist/quantity-selector.cjs.js +1 -1
  90. package/dist/quantity-selector.es.js +1 -1
  91. package/dist/{search-field-DKyNh7pE.mjs → search-field-_h8xn-sj.mjs} +2 -2
  92. package/dist/{search-field-DKyNh7pE.mjs.map → search-field-_h8xn-sj.mjs.map} +1 -1
  93. package/dist/{search-field-2vdDbiT0.js → search-field-vh6uz5KV.js} +2 -2
  94. package/dist/{search-field-2vdDbiT0.js.map → search-field-vh6uz5KV.js.map} +1 -1
  95. package/dist/search-field.cjs.js +1 -1
  96. package/dist/search-field.es.js +1 -1
  97. package/dist/{stepper-e0qicwqd.mjs → stepper-B-nCLs2D.mjs} +2 -2
  98. package/dist/{stepper-e0qicwqd.mjs.map → stepper-B-nCLs2D.mjs.map} +1 -1
  99. package/dist/{stepper-5qMo_shq.js → stepper-CTKlnH0q.js} +2 -2
  100. package/dist/{stepper-5qMo_shq.js.map → stepper-CTKlnH0q.js.map} +1 -1
  101. package/dist/stepper.cjs.js +1 -1
  102. package/dist/stepper.es.js +1 -1
  103. package/dist/{table-i1Gs9e0e.mjs → table-DOPXfD-s.mjs} +6 -6
  104. package/dist/{table-i1Gs9e0e.mjs.map → table-DOPXfD-s.mjs.map} +1 -1
  105. package/dist/{table-BOCcBzSO.js → table-DTQe4nN8.js} +2 -2
  106. package/dist/{table-BOCcBzSO.js.map → table-DTQe4nN8.js.map} +1 -1
  107. package/dist/table.cjs.js +1 -1
  108. package/dist/table.es.js +1 -1
  109. package/dist/{text-area-D0truMT1.js → text-area-9RUldq6W.js} +2 -2
  110. package/dist/{text-area-D0truMT1.js.map → text-area-9RUldq6W.js.map} +1 -1
  111. package/dist/{text-area-IVH-k4MM.mjs → text-area-C58aZEPa.mjs} +3 -3
  112. package/dist/{text-area-IVH-k4MM.mjs.map → text-area-C58aZEPa.mjs.map} +1 -1
  113. package/dist/text-area.cjs.js +1 -1
  114. package/dist/text-area.es.js +1 -1
  115. package/dist/text-field-C2W13n15.js +2 -0
  116. package/dist/{text-field-CYJzQG3h.js.map → text-field-C2W13n15.js.map} +1 -1
  117. package/dist/{text-field-BQfxJobW.mjs → text-field-D8MMa6ij.mjs} +114 -114
  118. package/dist/{text-field-BQfxJobW.mjs.map → text-field-D8MMa6ij.mjs.map} +1 -1
  119. package/dist/text-field.cjs.js +1 -1
  120. package/dist/text-field.es.js +1 -1
  121. package/dist/theme.cjs.js +1 -1
  122. package/dist/theme.es.js +3 -3
  123. package/dist/tokens/color/variables.css +1 -1
  124. package/dist/tokens/color/variables.dark.css +1 -1
  125. package/dist/tokens/color/variables.dark.js +1 -1
  126. package/dist/tokens/color/variables.dark.json +1 -1
  127. package/dist/tokens/color/variables.dark.scss +1 -1
  128. package/dist/tokens/color/variables.js +1 -1
  129. package/dist/tokens/color/variables.json +1 -1
  130. package/dist/tokens/color/variables.scss +1 -1
  131. package/dist/tokens.cjs.js +1 -1
  132. package/dist/tokens.es.js +1 -1
  133. package/dist/{tooltip-CJGmJDFQ.js → tooltip-CDnJKoIA.js} +2 -2
  134. package/dist/{tooltip-CJGmJDFQ.js.map → tooltip-CDnJKoIA.js.map} +1 -1
  135. package/dist/{tooltip-RA-03bKs.mjs → tooltip-pwJMEBBP.mjs} +3 -3
  136. package/dist/{tooltip-RA-03bKs.mjs.map → tooltip-pwJMEBBP.mjs.map} +1 -1
  137. package/dist/tooltip.cjs.js +1 -1
  138. package/dist/tooltip.es.js +1 -1
  139. package/dist/{useColorScheme-B9DWd-LN.mjs → useColorScheme-B7lGBSe4.mjs} +2 -2
  140. package/dist/{useColorScheme-B9DWd-LN.mjs.map → useColorScheme-B7lGBSe4.mjs.map} +1 -1
  141. package/dist/useColorScheme-BHhPgv9q.js +2 -0
  142. package/dist/{useColorScheme-DbTQjxNB.js.map → useColorScheme-BHhPgv9q.js.map} +1 -1
  143. package/dist/useThemePortalContainer-CUcqV327.js +2 -0
  144. package/dist/{useThemePortalContainer-D9BYjEvT.js.map → useThemePortalContainer-CUcqV327.js.map} +1 -1
  145. package/dist/useThemePortalContainer-D13Xx24N.mjs +9 -0
  146. package/dist/{useThemePortalContainer-tFLTaYKN.mjs.map → useThemePortalContainer-D13Xx24N.mjs.map} +1 -1
  147. package/dist/{variables-B5hbV0Uy.mjs → variables-BrsAsWIF.mjs} +2 -2
  148. package/dist/{variables-B5hbV0Uy.mjs.map → variables-BrsAsWIF.mjs.map} +1 -1
  149. package/dist/{variables-DoI78zZc.js → variables-D1vNo1lO.js} +2 -2
  150. package/dist/{variables-DoI78zZc.js.map → variables-D1vNo1lO.js.map} +1 -1
  151. package/eslint.config.mjs +2 -0
  152. package/package.json +27 -31
  153. package/scripts/generate.mts +269 -0
  154. package/src/accordion.ts +6 -0
  155. package/src/alert-badge.ts +6 -0
  156. package/src/aliases.ts +302 -0
  157. package/src/autocomplete.ts +6 -0
  158. package/src/avatar.ts +6 -0
  159. package/src/badge.ts +6 -0
  160. package/src/breadcrumbs.ts +6 -0
  161. package/src/button.ts +6 -0
  162. package/src/calendar.ts +6 -0
  163. package/src/card.ts +6 -0
  164. package/src/carousel.ts +6 -0
  165. package/src/chat-field.ts +6 -0
  166. package/src/checkbox.ts +6 -0
  167. package/src/chip-group.ts +6 -0
  168. package/src/color-dot.ts +6 -0
  169. package/src/comparison-table.ts +6 -0
  170. package/src/container.ts +6 -0
  171. package/src/content-block.ts +6 -0
  172. package/src/countdown.ts +6 -0
  173. package/src/counter-badge.ts +6 -0
  174. package/src/cta-link.ts +6 -0
  175. package/src/date-field.ts +6 -0
  176. package/src/date-picker.ts +6 -0
  177. package/src/date-range-field.ts +6 -0
  178. package/src/dismissable-chip-group.ts +6 -0
  179. package/src/drawer.ts +6 -0
  180. package/src/dropdown.ts +6 -0
  181. package/src/entries.js +73 -0
  182. package/src/field-error-text.ts +6 -0
  183. package/src/field-helper-text.ts +6 -0
  184. package/src/footer.ts +6 -0
  185. package/src/grid.ts +6 -0
  186. package/src/heading.ts +6 -0
  187. package/src/hero-banner.ts +6 -0
  188. package/src/label.ts +6 -0
  189. package/src/library.ts +77 -0
  190. package/src/link.ts +6 -0
  191. package/src/listbox.ts +6 -0
  192. package/src/loading.ts +6 -0
  193. package/src/message.ts +6 -0
  194. package/src/modal.ts +6 -0
  195. package/src/notification-banner.ts +6 -0
  196. package/src/notification.ts +6 -0
  197. package/src/pagination.ts +6 -0
  198. package/src/paragraph.ts +6 -0
  199. package/src/password-field.ts +7 -0
  200. package/src/popover.ts +6 -0
  201. package/src/product-card.ts +6 -0
  202. package/src/promotion-card.ts +6 -0
  203. package/src/purpur.css +1 -0
  204. package/src/quantity-selector.ts +6 -0
  205. package/src/radio-button-group.ts +6 -0
  206. package/src/radio-card-group.ts +6 -0
  207. package/src/rich-text.ts +6 -0
  208. package/src/search-field.ts +6 -0
  209. package/src/select.ts +6 -0
  210. package/src/skeleton.ts +6 -0
  211. package/src/slider.ts +6 -0
  212. package/src/spacer.ts +6 -0
  213. package/src/spinner.ts +6 -0
  214. package/src/stepper.ts +6 -0
  215. package/src/table.ts +6 -0
  216. package/src/tabs.ts +6 -0
  217. package/src/text-area.ts +6 -0
  218. package/src/text-field.ts +6 -0
  219. package/src/text-spacing.ts +6 -0
  220. package/src/theme.ts +6 -0
  221. package/src/toggle.ts +6 -0
  222. package/src/tokens.ts +6 -0
  223. package/src/tooltip.ts +6 -0
  224. package/src/visually-hidden.ts +6 -0
  225. package/tokens/_dark.scss +9 -0
  226. package/tokens/_index.scss +9 -0
  227. package/tokens/border/variables.css +13 -0
  228. package/tokens/border/variables.d.ts +10 -0
  229. package/tokens/border/variables.dark.css +12 -0
  230. package/tokens/border/variables.dark.d.ts +10 -0
  231. package/tokens/border/variables.dark.js +10 -0
  232. package/tokens/border/variables.dark.json +18 -0
  233. package/tokens/border/variables.dark.scss +10 -0
  234. package/tokens/border/variables.js +10 -0
  235. package/tokens/border/variables.json +18 -0
  236. package/tokens/border/variables.scss +10 -0
  237. package/tokens/breakpoint/variables.css +11 -0
  238. package/tokens/breakpoint/variables.d.ts +8 -0
  239. package/tokens/breakpoint/variables.dark.css +10 -0
  240. package/tokens/breakpoint/variables.dark.d.ts +8 -0
  241. package/tokens/breakpoint/variables.dark.js +8 -0
  242. package/tokens/breakpoint/variables.dark.json +14 -0
  243. package/tokens/breakpoint/variables.dark.scss +8 -0
  244. package/tokens/breakpoint/variables.js +8 -0
  245. package/tokens/breakpoint/variables.json +14 -0
  246. package/tokens/breakpoint/variables.scss +8 -0
  247. package/tokens/color/variables.css +262 -0
  248. package/tokens/color/variables.d.ts +253 -0
  249. package/tokens/color/variables.dark.css +262 -0
  250. package/tokens/color/variables.dark.d.ts +252 -0
  251. package/tokens/color/variables.dark.js +252 -0
  252. package/tokens/color/variables.dark.json +306 -0
  253. package/tokens/color/variables.dark.scss +252 -0
  254. package/tokens/color/variables.js +253 -0
  255. package/tokens/color/variables.json +307 -0
  256. package/tokens/color/variables.scss +253 -0
  257. package/tokens/dark.css +9 -0
  258. package/tokens/dark.d.ts +9 -0
  259. package/tokens/dark.js +9 -0
  260. package/tokens/filter/variables.css +4 -0
  261. package/tokens/filter/variables.d.ts +1 -0
  262. package/tokens/filter/variables.dark.css +3 -0
  263. package/tokens/filter/variables.dark.d.ts +1 -0
  264. package/tokens/filter/variables.dark.js +1 -0
  265. package/tokens/filter/variables.dark.json +7 -0
  266. package/tokens/filter/variables.dark.scss +1 -0
  267. package/tokens/filter/variables.js +1 -0
  268. package/tokens/filter/variables.json +7 -0
  269. package/tokens/filter/variables.scss +1 -0
  270. package/tokens/gradient/variables.css +53 -0
  271. package/tokens/gradient/variables.d.ts +9 -0
  272. package/tokens/gradient/variables.dark.css +51 -0
  273. package/tokens/gradient/variables.dark.d.ts +9 -0
  274. package/tokens/gradient/variables.dark.js +18 -0
  275. package/tokens/gradient/variables.dark.json +27 -0
  276. package/tokens/gradient/variables.dark.scss +36 -0
  277. package/tokens/gradient/variables.js +18 -0
  278. package/tokens/gradient/variables.json +27 -0
  279. package/tokens/gradient/variables.scss +42 -0
  280. package/tokens/index.css +18 -0
  281. package/tokens/index.d.ts +9 -0
  282. package/tokens/index.js +9 -0
  283. package/tokens/motion/variables.css +14 -0
  284. package/tokens/motion/variables.d.ts +11 -0
  285. package/tokens/motion/variables.dark.css +13 -0
  286. package/tokens/motion/variables.dark.d.ts +11 -0
  287. package/tokens/motion/variables.dark.js +11 -0
  288. package/tokens/motion/variables.dark.json +19 -0
  289. package/tokens/motion/variables.dark.scss +11 -0
  290. package/tokens/motion/variables.js +11 -0
  291. package/tokens/motion/variables.json +19 -0
  292. package/tokens/motion/variables.scss +11 -0
  293. package/tokens/shadow/variables.css +11 -0
  294. package/tokens/shadow/variables.d.ts +4 -0
  295. package/tokens/shadow/variables.dark.css +10 -0
  296. package/tokens/shadow/variables.dark.d.ts +4 -0
  297. package/tokens/shadow/variables.dark.js +4 -0
  298. package/tokens/shadow/variables.dark.json +8 -0
  299. package/tokens/shadow/variables.dark.scss +4 -0
  300. package/tokens/shadow/variables.js +4 -0
  301. package/tokens/shadow/variables.json +8 -0
  302. package/tokens/shadow/variables.scss +4 -0
  303. package/tokens/spacing/variables.css +26 -0
  304. package/tokens/spacing/variables.d.ts +23 -0
  305. package/tokens/spacing/variables.dark.css +17 -0
  306. package/tokens/spacing/variables.dark.d.ts +15 -0
  307. package/tokens/spacing/variables.dark.js +15 -0
  308. package/tokens/spacing/variables.dark.json +19 -0
  309. package/tokens/spacing/variables.dark.scss +15 -0
  310. package/tokens/spacing/variables.js +23 -0
  311. package/tokens/spacing/variables.json +31 -0
  312. package/tokens/spacing/variables.scss +23 -0
  313. package/tokens/typography/variables.css +30 -0
  314. package/tokens/typography/variables.d.ts +26 -0
  315. package/tokens/typography/variables.dark.css +29 -0
  316. package/tokens/typography/variables.dark.d.ts +26 -0
  317. package/tokens/typography/variables.dark.js +28 -0
  318. package/tokens/typography/variables.dark.json +38 -0
  319. package/tokens/typography/variables.dark.scss +26 -0
  320. package/tokens/typography/variables.js +28 -0
  321. package/tokens/typography/variables.json +38 -0
  322. package/tokens/typography/variables.scss +26 -0
  323. package/vite-plugin-generate-components-metadata.js +62 -0
  324. package/dist/footer-3Y-664-8.js +0 -2
  325. package/dist/footer-3Y-664-8.js.map +0 -1
  326. package/dist/footer-DenAcikt.mjs.map +0 -1
  327. package/dist/hero-banner-B7xrDfzN.mjs.map +0 -1
  328. package/dist/hero-banner-DthITuQ7.js +0 -2
  329. package/dist/hero-banner-DthITuQ7.js.map +0 -1
  330. package/dist/text-field-CYJzQG3h.js +0 -2
  331. package/dist/useColorScheme-DbTQjxNB.js +0 -2
  332. package/dist/useThemePortalContainer-D9BYjEvT.js +0 -2
  333. package/dist/useThemePortalContainer-tFLTaYKN.mjs +0 -9
@@ -1,2 +1,2 @@
1
- "use strict";const a=require("react/jsx-runtime"),K=require("./button-DmybVApa.js"),l=require("react"),dt=require("./variables-Buqm4JZc.js"),j=require("./index-DlMXYAr3.js"),G=require("./index-_XxjJPRD.js"),H=require("./index-kcwFA4Dv.js"),M=require("./index-DA01QPpC.js"),ft=require("./index-BtWPC8xc.js"),R=require("./floating-ui.react-dom-Cc_YSprQ.js"),ht=require("./index-DOFLOnao.js"),Pe=require("./index-CleLBinl.js"),gt=require("./close.es-VL3lKi1O.js"),Ce=require("./paragraph-By4jMjnH.js");require("./ThemeProvider-D7oXcAde.js");const vt=require("./useThemePortalContainer-D9BYjEvT.js"),B=require("./bind-DeUYJ6m9.js"),_t=require("./heading-drD5ugCC.js");function mt(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const r in e)if(r!=="default"){const o=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,o.get?o:{enumerable:!0,get:()=>e[r]})}}return t.default=e,Object.freeze(t)}const h=mt(l),ne=l.createContext(null),se=()=>{const e=l.useContext(ne);if(!e)throw new Error("usePopoverFlow must be used within a PopoverFlow provider");return e},z=()=>l.useContext(ne),wt=({children:e,initialStep:t=1,onComplete:r,onDismiss:o,separatorText:n,stepText:s,backLabel:i,nextLabel:c,finishLabel:p,openDelay:u=0})=>{const[g,d]=l.useState(t),[f,x]=l.useState(new Set),w=l.useCallback(m=>{x(O=>{const y=new Set(O);return y.add(m),y})},[]),P=l.useCallback(m=>{x(O=>{const y=new Set(O);return y.delete(m),y})},[]),v=l.useCallback(()=>{d(m=>{const O=m+1;return O>f.size?(r?.(),m):O})},[f.size,r]),S=l.useCallback(()=>{d(m=>Math.max(1,m-1))},[]),A=l.useCallback(()=>{d(0),o?.()},[o]),E=l.useMemo(()=>({currentStep:g,totalSteps:f.size,next:v,back:S,dismiss:A,registerStep:w,unregisterStep:P,separatorText:n,stepText:s,backLabel:i,nextLabel:c,finishLabel:p,openDelay:u}),[g,f.size,v,S,A,w,P,n,s,i,c,p,u]);return a.jsx(ne.Provider,{value:E,children:e})},ie=l.createContext(null),V=()=>l.useContext(ie),Se=l.createContext({negative:!1}),ae=()=>l.useContext(Se),xt=150,we={MAX_MD:`(max-width: ${dt.purpurBreakpointMd})`},ce=()=>{const e=window.matchMedia(we.MAX_MD);function t(){o(e.matches)}const[r,o]=l.useState(()=>typeof window>"u"?!1:window.matchMedia(we.MAX_MD).matches),n=l.useCallback(()=>{let s;return()=>{clearTimeout(s),s=setTimeout(()=>t(),xt)}},[t]);return l.useEffect(()=>{if(!(typeof window>"u"))return window.addEventListener("resize",n),()=>window.removeEventListener("resize",n)},[n]),{isMdOrSmaller:r}},pe=({children:e,onClick:t})=>{const{back:r}=se(),{negative:o}=ae(),{isMdOrSmaller:n}=ce(),s=!o,i=()=>{t?.(),r()};return a.jsx(K.Button,{size:"sm",variant:"secondary",onClick:i,negative:s,fullWidth:n,children:e})};pe.displayName="PopoverBack";var Pt="Arrow",ye=h.forwardRef((e,t)=>{const{children:r,width:o=10,height:n=5,...s}=e;return a.jsx(j.Primitive.svg,{...s,ref:t,width:o,height:n,viewBox:"0 0 30 10",preserveAspectRatio:"none",children:e.asChild?r:a.jsx("polygon",{points:"0,0 30,0 15,10"})})});ye.displayName=Pt;var Ct=ye,le="Popper",[je,Oe]=H.createContextScope(le),[St,Re]=je(le),be=e=>{const{__scopePopper:t,children:r}=e,[o,n]=h.useState(null);return a.jsx(St,{scope:t,anchor:o,onAnchorChange:n,children:r})};be.displayName=le;var Ae="PopperAnchor",Ne=h.forwardRef((e,t)=>{const{__scopePopper:r,virtualRef:o,...n}=e,s=Re(Ae,r),i=h.useRef(null),c=G.useComposedRefs(t,i),p=h.useRef(null);return h.useEffect(()=>{const u=p.current;p.current=o?.current||i.current,u!==p.current&&s.onAnchorChange(p.current)}),o?null:a.jsx(j.Primitive.div,{...n,ref:c})});Ne.displayName=Ae;var ue="PopperContent",[yt,jt]=je(ue),Ee=h.forwardRef((e,t)=>{const{__scopePopper:r,side:o="bottom",sideOffset:n=0,align:s="center",alignOffset:i=0,arrowPadding:c=0,avoidCollisions:p=!0,collisionBoundary:u=[],collisionPadding:g=0,sticky:d="partial",hideWhenDetached:f=!1,updatePositionStrategy:x="optimized",onPlaced:w,...P}=e,v=Re(ue,r),[S,A]=h.useState(null),E=G.useComposedRefs(t,$=>A($)),[m,O]=h.useState(null),y=ht.useSize(m),Q=y?.width??0,I=y?.height??0,J=o+(s!=="center"?"-"+s:""),ee=typeof g=="number"?g:{top:0,right:0,bottom:0,left:0,...g},L=Array.isArray(u)?u:[u],te=L.length>0,k={padding:ee,boundary:L.filter(Rt),altBoundary:te},{refs:_,floatingStyles:C,placement:Y,isPositioned:X,middlewareData:F}=R.useFloating({strategy:"fixed",placement:J,whileElementsMounted:(...$)=>R.autoUpdate(...$,{animationFrame:x==="always"}),elements:{reference:v.anchor},middleware:[R.offset({mainAxis:n+I,alignmentAxis:i}),p&&R.shift({mainAxis:!0,crossAxis:!1,limiter:d==="partial"?R.limitShift():void 0,...k}),p&&R.flip({...k}),R.size({...k,apply:({elements:$,rects:me,availableWidth:ct,availableHeight:pt})=>{const{width:lt,height:ut}=me.reference,U=$.floating.style;U.setProperty("--radix-popper-available-width",`${ct}px`),U.setProperty("--radix-popper-available-height",`${pt}px`),U.setProperty("--radix-popper-anchor-width",`${lt}px`),U.setProperty("--radix-popper-anchor-height",`${ut}px`)}}),m&&R.arrow({element:m,padding:c}),bt({arrowWidth:Q,arrowHeight:I}),f&&R.hide({strategy:"referenceHidden",...k})]}),[ve,rt]=Te(Y),_e=H.useCallbackRef(w);H.useLayoutEffect2(()=>{X&&_e?.()},[X,_e]);const ot=F.arrow?.x,nt=F.arrow?.y,st=F.arrow?.centerOffset!==0,[it,at]=h.useState();return H.useLayoutEffect2(()=>{S&&at(window.getComputedStyle(S).zIndex)},[S]),a.jsx("div",{ref:_.setFloating,"data-radix-popper-content-wrapper":"",style:{...C,transform:X?C.transform:"translate(0, -200%)",minWidth:"max-content",zIndex:it,"--radix-popper-transform-origin":[F.transformOrigin?.x,F.transformOrigin?.y].join(" "),...F.hide?.referenceHidden&&{visibility:"hidden",pointerEvents:"none"}},dir:e.dir,children:a.jsx(yt,{scope:r,placedSide:ve,onArrowChange:O,arrowX:ot,arrowY:nt,shouldHideArrow:st,children:a.jsx(j.Primitive.div,{"data-side":ve,"data-align":rt,...P,ref:E,style:{...P.style,animation:X?void 0:"none"}})})})});Ee.displayName=ue;var ke="PopperArrow",Ot={top:"bottom",right:"left",bottom:"top",left:"right"},Fe=h.forwardRef(function(t,r){const{__scopePopper:o,...n}=t,s=jt(ke,o),i=Ot[s.placedSide];return a.jsx("span",{ref:s.onArrowChange,style:{position:"absolute",left:s.arrowX,top:s.arrowY,[i]:0,transformOrigin:{top:"",right:"0 0",bottom:"center 0",left:"100% 0"}[s.placedSide],transform:{top:"translateY(100%)",right:"translateY(50%) rotate(90deg) translateX(-50%)",bottom:"rotate(180deg)",left:"translateY(50%) rotate(-90deg) translateX(50%)"}[s.placedSide],visibility:s.shouldHideArrow?"hidden":void 0},children:a.jsx(Ct,{...n,ref:r,style:{...n.style,display:"block"}})})});Fe.displayName=ke;function Rt(e){return e!==null}var bt=e=>({name:"transformOrigin",options:e,fn(t){const{placement:r,rects:o,middlewareData:n}=t,i=n.arrow?.centerOffset!==0,c=i?0:e.arrowWidth,p=i?0:e.arrowHeight,[u,g]=Te(r),d={start:"0%",center:"50%",end:"100%"}[g],f=(n.arrow?.x??0)+c/2,x=(n.arrow?.y??0)+p/2;let w="",P="";return u==="bottom"?(w=i?d:`${f}px`,P=`${-p}px`):u==="top"?(w=i?d:`${f}px`,P=`${o.floating.height+p}px`):u==="right"?(w=`${-p}px`,P=i?d:`${x}px`):u==="left"&&(w=`${o.floating.width+p}px`,P=i?d:`${x}px`),{data:{x:w,y:P}}}});function Te(e){const[t,r="center"]=e.split("-");return[t,r]}var At=be,Me=Ne,Nt=Ee,Et=Fe,Z="Popover",[De]=H.createContextScope(Z,[Oe]),q=Oe(),[kt,N]=De(Z),Ie=e=>{const{__scopePopover:t,children:r,open:o,defaultOpen:n,onOpenChange:s,modal:i=!1}=e,c=q(t),p=h.useRef(null),[u,g]=h.useState(!1),[d,f]=j.useControllableState({prop:o,defaultProp:n??!1,onChange:s,caller:Z});return a.jsx(At,{...c,children:a.jsx(kt,{scope:t,contentId:ft.useId(),triggerRef:p,open:d,onOpenChange:f,onOpenToggle:h.useCallback(()=>f(x=>!x),[f]),hasCustomAnchor:u,onCustomAnchorAdd:h.useCallback(()=>g(!0),[]),onCustomAnchorRemove:h.useCallback(()=>g(!1),[]),modal:i,children:r})})};Ie.displayName=Z;var $e="PopoverAnchor",Ft=h.forwardRef((e,t)=>{const{__scopePopover:r,...o}=e,n=N($e,r),s=q(r),{onCustomAnchorAdd:i,onCustomAnchorRemove:c}=n;return h.useEffect(()=>(i(),()=>c()),[i,c]),a.jsx(Me,{...s,...o,ref:t})});Ft.displayName=$e;var He="PopoverTrigger",Be=h.forwardRef((e,t)=>{const{__scopePopover:r,...o}=e,n=N(He,r),s=q(r),i=G.useComposedRefs(t,n.triggerRef),c=a.jsx(j.Primitive.button,{type:"button","aria-haspopup":"dialog","aria-expanded":n.open,"aria-controls":n.contentId,"data-state":Ue(n.open),...o,ref:i,onClick:j.composeEventHandlers(e.onClick,n.onOpenToggle)});return n.hasCustomAnchor?c:a.jsx(Me,{asChild:!0,...s,children:c})});Be.displayName=He;var de="PopoverPortal",[Tt,Mt]=De(de,{forceMount:void 0}),ze=e=>{const{__scopePopover:t,forceMount:r,children:o,container:n}=e,s=N(de,t);return a.jsx(Tt,{scope:t,forceMount:r,children:a.jsx(Pe.Presence,{present:r||s.open,children:a.jsx(M.Portal,{asChild:!0,container:n,children:o})})})};ze.displayName=de;var D="PopoverContent",qe=h.forwardRef((e,t)=>{const r=Mt(D,e.__scopePopover),{forceMount:o=r.forceMount,...n}=e,s=N(D,e.__scopePopover);return a.jsx(Pe.Presence,{present:o||s.open,children:s.modal?a.jsx(It,{...n,ref:t}):a.jsx($t,{...n,ref:t})})});qe.displayName=D;var Dt=j.createSlot("PopoverContent.RemoveScroll"),It=h.forwardRef((e,t)=>{const r=N(D,e.__scopePopover),o=h.useRef(null),n=G.useComposedRefs(t,o),s=h.useRef(!1);return h.useEffect(()=>{const i=o.current;if(i)return M.hideOthers(i)},[]),a.jsx(M.ReactRemoveScroll,{as:Dt,allowPinchZoom:!0,children:a.jsx(We,{...e,ref:n,trapFocus:r.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:j.composeEventHandlers(e.onCloseAutoFocus,i=>{i.preventDefault(),s.current||r.triggerRef.current?.focus()}),onPointerDownOutside:j.composeEventHandlers(e.onPointerDownOutside,i=>{const c=i.detail.originalEvent,p=c.button===0&&c.ctrlKey===!0,u=c.button===2||p;s.current=u},{checkForDefaultPrevented:!1}),onFocusOutside:j.composeEventHandlers(e.onFocusOutside,i=>i.preventDefault(),{checkForDefaultPrevented:!1})})})}),$t=h.forwardRef((e,t)=>{const r=N(D,e.__scopePopover),o=h.useRef(!1),n=h.useRef(!1);return a.jsx(We,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:s=>{e.onCloseAutoFocus?.(s),s.defaultPrevented||(o.current||r.triggerRef.current?.focus(),s.preventDefault()),o.current=!1,n.current=!1},onInteractOutside:s=>{e.onInteractOutside?.(s),s.defaultPrevented||(o.current=!0,s.detail.originalEvent.type==="pointerdown"&&(n.current=!0));const i=s.target;r.triggerRef.current?.contains(i)&&s.preventDefault(),s.detail.originalEvent.type==="focusin"&&n.current&&s.preventDefault()}})}),We=h.forwardRef((e,t)=>{const{__scopePopover:r,trapFocus:o,onOpenAutoFocus:n,onCloseAutoFocus:s,disableOutsidePointerEvents:i,onEscapeKeyDown:c,onPointerDownOutside:p,onFocusOutside:u,onInteractOutside:g,...d}=e,f=N(D,r),x=q(r);return M.useFocusGuards(),a.jsx(M.FocusScope,{asChild:!0,loop:!0,trapped:o,onMountAutoFocus:n,onUnmountAutoFocus:s,children:a.jsx(M.DismissableLayer,{asChild:!0,disableOutsidePointerEvents:i,onInteractOutside:g,onEscapeKeyDown:c,onPointerDownOutside:p,onFocusOutside:u,onDismiss:()=>f.onOpenChange(!1),children:a.jsx(Nt,{"data-state":Ue(f.open),role:"dialog",id:f.contentId,...x,...d,ref:t,style:{...d.style,"--radix-popover-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-popover-content-available-width":"var(--radix-popper-available-width)","--radix-popover-content-available-height":"var(--radix-popper-available-height)","--radix-popover-trigger-width":"var(--radix-popper-anchor-width)","--radix-popover-trigger-height":"var(--radix-popper-anchor-height)"}})})})}),Le="PopoverClose",Ye=h.forwardRef((e,t)=>{const{__scopePopover:r,...o}=e,n=N(Le,r);return a.jsx(j.Primitive.button,{type:"button",...o,ref:t,onClick:j.composeEventHandlers(e.onClick,()=>n.onOpenChange(!1))})});Ye.displayName=Le;var Ht="PopoverArrow",Xe=h.forwardRef((e,t)=>{const{__scopePopover:r,...o}=e,n=q(r);return a.jsx(Et,{...n,...o,ref:t})});Xe.displayName=Ht;function Ue(e){return e?"open":"closed"}var Ke=Ie,Bt=Be,zt=ze,qt=qe,Ge=Ye,Wt=Xe;const fe=({children:e,asChild:t,onClick:r,variant:o="primary",dismiss:n=!0,fullWidth:s})=>{const i=z(),{isMdOrSmaller:c}=ce(),{negative:p}=ae(),u=!p,g=()=>{r?.(),n&&i?.dismiss()},d=s??c,f=t?e:a.jsx(K.Button,{variant:o,size:"sm",fullWidth:d,negative:u,onClick:g,children:e});return n?a.jsx(Ge,{asChild:!0,children:f}):f};fe.displayName="PopoverButton";const Lt="_highlightState1_1w9je_1",Yt="_fadeIn_1w9je_1",Xt="_slideFromTop_1w9je_1",Ut="_slideFromBottom_1w9je_1",Kt="_slideFromLeft_1w9je_1",Gt="_slideFromRight_1w9je_1",Vt="_fadeOut_1w9je_1",Zt="_slideToTop_1w9je_1",Qt="_slideToBottom_1w9je_1",Jt="_slideToLeft_1w9je_1",er="_slideToRight_1w9je_1",W={"purpur-popover__trigger":"_purpur-popover__trigger_1w9je_1","purpur-popover__trigger-highlight":"_purpur-popover__trigger-highlight_1w9je_5","purpur-popover__trigger-highlight--state1":"_purpur-popover__trigger-highlight--state1_1w9je_14",highlightState1:Lt,"purpur-popover__trigger-highlight--negative":"_purpur-popover__trigger-highlight--negative_1w9je_29","purpur-popover__trigger-highlight--state2":"_purpur-popover__trigger-highlight--state2_1w9je_33","purpur-popover__inner":"_purpur-popover__inner_1w9je_45","purpur-popover__content":"_purpur-popover__content_1w9je_52",fadeIn:Yt,slideFromTop:Xt,slideFromBottom:Ut,slideFromLeft:Kt,slideFromRight:Gt,fadeOut:Vt,slideToTop:Zt,slideToBottom:Qt,slideToLeft:Jt,slideToRight:er,"purpur-popover__arrow":"_purpur-popover__arrow_1w9je_103","purpur-popover__body":"_purpur-popover__body_1w9je_106","purpur-popover__icon":"_purpur-popover__icon_1w9je_107","purpur-popover__steps":"_purpur-popover__steps_1w9je_108","purpur-popover__title":"_purpur-popover__title_1w9je_109","purpur-popover__content--negative":"_purpur-popover__content--negative_1w9je_112","purpur-popover__header-content":"_purpur-popover__header-content_1w9je_124","purpur-popover__close":"_purpur-popover__close_1w9je_137","purpur-popover__footer":"_purpur-popover__footer_1w9je_142","purpur-popover__footer-button-group":"_purpur-popover__footer-button-group_1w9je_155"},tr=B.c.bind(W),Ve=()=>{const e=se(),r=V()?.walkthroughStep||e.currentStep,{totalSteps:o,separatorText:n,stepText:s}=e;return a.jsx(a.Fragment,{children:a.jsxs(Ce.Paragraph,{className:tr("purpur-popover__steps"),role:"status","aria-live":"polite","aria-atomic":"true",children:[s," ",r," ",n," ",o]})})};Ve.displayName="PopoverSteps";const xe=B.c.bind(W),he=({children:e,className:t})=>{const r=z(),o=V(),n=r&&o&&o.walkthroughStep>0;return a.jsxs("div",{className:xe("purpur-popover__footer",t),children:[n&&a.jsx(Ve,{}),a.jsx("div",{className:xe("purpur-popover__footer-button-group"),children:e})]})};he.displayName="PopoverFooter";const re=B.c.bind(W),Ze=l.forwardRef(({title:e,icon:t},r)=>a.jsxs("div",{ref:r,className:re("purpur-popover__header-content"),children:[t&&a.jsx("span",{className:re("purpur-popover__icon"),children:t}),a.jsx(_t.Heading,{tag:"h2",variant:"title-100",className:re("purpur-popover__title"),id:"popover-heading",children:e})]}));Ze.displayName="PopoverHeader";const ge=({children:e,onClick:t})=>{const{next:r}=se(),{negative:o}=ae(),{isMdOrSmaller:n}=ce(),s=!o,i=()=>{t?.(),r()};return a.jsx(K.Button,{size:"sm",variant:"primary",onClick:i,negative:s,fullWidth:n,children:e})};ge.displayName="PopoverNext";const T=B.c.bind(W),Qe=l.forwardRef(({children:e,className:t,beakPosition:r="down",align:o="center",alignOffset:n=0,sideOffset:s=5,negative:i=!1,closeIconAriaLabel:c,title:p,icon:u,body:g,onAction:d,zIndex:f=210,container:x,...w},P)=>{const v=z(),S=V(),A=l.useRef(null),E=vt.useThemePortalContainer(),m=x===void 0?E:x??void 0,y={up:"bottom",right:"left",down:"top",left:"right",none:"bottom"}[r],Q=r!=="none";let I=e;if(v&&!e){const _=S?.walkthroughStep||v.currentStep,C=_===1,Y=_===v.totalSteps;I=a.jsxs(he,{children:[!C&&a.jsx(pe,{onClick:()=>d?.({type:"back",step:_}),children:v.backLabel}),Y?a.jsx(fe,{onClick:()=>d?.({type:"finish",step:_}),dismiss:!0,children:v.finishLabel}):a.jsx(ge,{onClick:()=>d?.({type:"next",step:_}),children:v.nextLabel})]})}const J=_=>{if(_.preventDefault(),v){const C=_.currentTarget;setTimeout(()=>{C.setAttribute("tabindex","-1"),C.focus()},0)}w.onOpenAutoFocus?.(_)},ee=_=>{v&&_.preventDefault(),w.onCloseAutoFocus?.(_)},L=_=>{const C=window.matchMedia("(prefers-reduced-motion: reduce)").matches;v&&!C?(_.preventDefault(),setTimeout(()=>{d?.({type:"dismiss",step:v.currentStep}),v.dismiss()},200)):(d?.({type:"dismiss",step:v?.currentStep}),v?.dismiss())},te=_=>{const C=window.matchMedia("(prefers-reduced-motion: reduce)").matches;v&&!C?(_.preventDefault(),setTimeout(()=>{d?.({type:"dismiss",step:v.currentStep}),v.dismiss()},200)):(d?.({type:"dismiss",step:v?.currentStep}),v?.dismiss())},k=_=>{if(S?.disableClickOutside){_.preventDefault();return}if(v){const C=_.target;C.closest("[role='dialog']")||C.closest(".purpur-popover__trigger")||C.closest("button[aria-haspopup='dialog']")||(d?.({type:"dismiss",step:v.currentStep}),setTimeout(()=>{v.dismiss()},0))}};return a.jsx(zt,{container:m,children:a.jsxs(qt,{"data-testid":"popover-content",role:"dialog","aria-modal":"true","aria-labelledby":w["aria-label"]?void 0:"popover-heading",ref:P,side:y,sideOffset:s,align:o,alignOffset:n,style:{"--popover-z-index":f},className:T("purpur-popover__content",{"purpur-popover__content--negative":i},t),onOpenAutoFocus:J,onCloseAutoFocus:ee,onEscapeKeyDown:te,onInteractOutside:k,...w,children:[a.jsxs(Se.Provider,{value:{negative:i},children:[a.jsxs("div",{className:T("purpur-popover__inner"),children:[a.jsx(Ze,{ref:A,title:p,icon:u}),a.jsx(Ce.Paragraph,{className:T("purpur-popover__body"),children:g})]}),I,a.jsx(Ge,{asChild:!0,onClick:L,children:a.jsx(K.Button,{variant:i?"text":"tertiary-purple",size:"sm","aria-label":c,className:T("purpur-popover__close"),negative:!i,iconOnly:!0,children:a.jsx(gt.r,{size:"xs",className:T("purpur-popover__icon")})})})]}),Q&&a.jsx(Wt,{className:T("purpur-popover__arrow"),"aria-hidden":"true",tabIndex:-1})]})})});Qe.displayName="PopoverContent";const Je=({children:e,open:t,defaultOpen:r=!1,onOpenChange:o,disableClickOutside:n,...s})=>{const[i,c]=l.useState(r),p=t!==void 0,u=p?t:i,g=d=>{p||c(d),o?.(d)};return a.jsx(Ke,{open:u,onOpenChange:g,...s,children:a.jsx(ie.Provider,{value:{isOpen:u,walkthroughStep:0,disableClickOutside:n},children:e})})};Je.displayName="PopoverStandalone";const rr=e=>{const t=l.useRef(null),r=l.useCallback(()=>{t.current&&(cancelAnimationFrame(t.current),t.current=null)},[]);return{scrollToElement:l.useCallback((n,s=600)=>{const i=window.matchMedia("(prefers-reduced-motion: reduce)").matches,c=n.getBoundingClientRect(),p=c.top+window.pageYOffset,u=c.height,g=window.innerHeight;let d=p-g/2+u/2;const f=document.documentElement.scrollHeight,x=Math.max(0,f-g);if(d=Math.max(0,Math.min(d,x)),i){window.scrollTo(0,d),e?.();return}const w=window.pageYOffset,P=d-w,v=performance.now(),S=A=>{const E=A-v,m=Math.min(E/s,1),O=m<.5?2*m*m:1-Math.pow(-2*m+2,2)/2,y=w+P*O;window.scrollTo(0,y),m<1?t.current=requestAnimationFrame(S):(t.current=null,e?.())};r(),t.current=requestAnimationFrame(S)},[e,r]),cancelScroll:r}};function or(e){const t=l.useRef(null),r=V(),o=z(),n=l.useRef(!1),{scrollToElement:s,cancelScroll:i}=rr(r?.onScrollComplete);return l.useEffect(()=>{typeof e=="function"?e(t.current):e&&(e.current=t.current)},[e]),l.useEffect(()=>{if(o&&r?.walkthroughStep!==void 0&&o.currentStep===r.walkthroughStep&&t.current&&!n.current){const p=t.current,u=p.getBoundingClientRect(),g=100;u.top>=-g&&u.bottom<=window.innerHeight+g&&u.left>=-g&&u.right<=window.innerWidth+g?r?.onScrollComplete?.():(r?.onScrollStart?.(),s(p)),n.current=!0}else o?.currentStep!==r?.walkthroughStep&&(n.current=!1,i())},[o?.currentStep,r?.walkthroughStep,o,s,i,r]),l.useEffect(()=>i,[i]),{triggerRef:t,context:r}}const oe=B.c.bind(W),et=l.forwardRef(({children:e,className:t,highlight:r=!0,negative:o=!1,...n},s)=>{const{triggerRef:i,context:c}=or(s);return a.jsxs("div",{className:oe("purpur-popover__trigger",{"purpur-popover__trigger--highlight":c?.isOpen&&r},t),children:[c?.isOpen&&r&&a.jsxs(a.Fragment,{children:[a.jsx("div",{className:oe("purpur-popover__trigger-highlight","purpur-popover__trigger-highlight--state1",{"purpur-popover__trigger-highlight--negative":o}),"aria-hidden":"true"}),a.jsx("div",{className:oe("purpur-popover__trigger-highlight","purpur-popover__trigger-highlight--state2",{"purpur-popover__trigger-highlight--negative":o}),"aria-hidden":"true"})]}),a.jsx(Bt,{ref:i,asChild:!0,"aria-expanded":c?.isOpen??!1,"aria-haspopup":"dialog",...n,children:e})]})});et.displayName="PopoverTrigger";function nr(e){const t=z(),[r,o]=l.useState(!1),[n,s]=l.useState(!1),i=l.useRef(null),c=l.useRef(0);l.useEffect(()=>t?(t.registerStep(e),()=>t.unregisterStep(e)):()=>{},[t,e]);const p=t?.currentStep===e,u=l.useCallback(()=>{s(!0)},[]),g=l.useCallback(()=>{if(s(!1),p){const f=t.openDelay;i.current=window.setTimeout(()=>{o(!0),c.current=Date.now()},f)}},[p,t]);l.useEffect(()=>{if(i.current&&(clearTimeout(i.current),i.current=null),p){if(!n){const f=t.openDelay;i.current=window.setTimeout(()=>{o(!0),c.current=Date.now()},f)}}else o(!1),s(!1),c.current=0;return()=>{i.current&&(clearTimeout(i.current),i.current=null)}},[p,n,t]);const d=l.useCallback((f,x)=>{if(x?.(f),!f&&r&&t&&t.currentStep===e){if(Date.now()-c.current<10||i.current!==null)return;t.dismiss()}},[r,t,e]);return{actuallyOpen:r,onScrollStart:u,onScrollComplete:g,handleOpenChange:d}}const tt=({children:e,step:t,onOpenChange:r,disableClickOutside:o=!0,...n})=>{const{actuallyOpen:s,onScrollStart:i,onScrollComplete:c,handleOpenChange:p}=nr(t);return a.jsx(Ke,{open:s,onOpenChange:u=>p(u,r),...n,children:a.jsx(ie.Provider,{value:{isOpen:s,walkthroughStep:t,onScrollStart:i,onScrollComplete:c,disableClickOutside:o},children:e})})};tt.displayName="PopoverWalkthrough";const b=e=>{const{multistep:t=!1,disableClickOutside:r,...o}=e;return t?a.jsx(tt,{...o,disableClickOutside:r??!0}):a.jsx(Je,{...o,disableClickOutside:r})};b.Back=pe;b.Button=fe;b.Content=Qe;b.Flow=wt;b.Footer=he;b.Next=ge;b.Trigger=et;b.displayName="Popover";exports.Popover=b;
2
- //# sourceMappingURL=popover-DnGgzfQr.js.map
1
+ "use strict";const a=require("react/jsx-runtime"),K=require("./button-DmybVApa.js"),l=require("react"),dt=require("./variables-Buqm4JZc.js"),j=require("./index-DlMXYAr3.js"),G=require("./index-_XxjJPRD.js"),H=require("./index-kcwFA4Dv.js"),M=require("./index-DA01QPpC.js"),ft=require("./index-BtWPC8xc.js"),R=require("./floating-ui.react-dom-Cc_YSprQ.js"),ht=require("./index-DOFLOnao.js"),Pe=require("./index-CleLBinl.js"),gt=require("./close.es-VL3lKi1O.js"),Ce=require("./paragraph-By4jMjnH.js");require("./ThemeProvider-BJGm3zai.js");const vt=require("./useThemePortalContainer-CUcqV327.js"),B=require("./bind-DeUYJ6m9.js"),_t=require("./heading-drD5ugCC.js");function mt(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const r in e)if(r!=="default"){const o=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,o.get?o:{enumerable:!0,get:()=>e[r]})}}return t.default=e,Object.freeze(t)}const h=mt(l),ne=l.createContext(null),se=()=>{const e=l.useContext(ne);if(!e)throw new Error("usePopoverFlow must be used within a PopoverFlow provider");return e},z=()=>l.useContext(ne),wt=({children:e,initialStep:t=1,onComplete:r,onDismiss:o,separatorText:n,stepText:s,backLabel:i,nextLabel:c,finishLabel:p,openDelay:u=0})=>{const[g,d]=l.useState(t),[f,x]=l.useState(new Set),w=l.useCallback(m=>{x(O=>{const y=new Set(O);return y.add(m),y})},[]),P=l.useCallback(m=>{x(O=>{const y=new Set(O);return y.delete(m),y})},[]),v=l.useCallback(()=>{d(m=>{const O=m+1;return O>f.size?(r?.(),m):O})},[f.size,r]),S=l.useCallback(()=>{d(m=>Math.max(1,m-1))},[]),A=l.useCallback(()=>{d(0),o?.()},[o]),E=l.useMemo(()=>({currentStep:g,totalSteps:f.size,next:v,back:S,dismiss:A,registerStep:w,unregisterStep:P,separatorText:n,stepText:s,backLabel:i,nextLabel:c,finishLabel:p,openDelay:u}),[g,f.size,v,S,A,w,P,n,s,i,c,p,u]);return a.jsx(ne.Provider,{value:E,children:e})},ie=l.createContext(null),V=()=>l.useContext(ie),Se=l.createContext({negative:!1}),ae=()=>l.useContext(Se),xt=150,we={MAX_MD:`(max-width: ${dt.purpurBreakpointMd})`},ce=()=>{const e=window.matchMedia(we.MAX_MD);function t(){o(e.matches)}const[r,o]=l.useState(()=>typeof window>"u"?!1:window.matchMedia(we.MAX_MD).matches),n=l.useCallback(()=>{let s;return()=>{clearTimeout(s),s=setTimeout(()=>t(),xt)}},[t]);return l.useEffect(()=>{if(!(typeof window>"u"))return window.addEventListener("resize",n),()=>window.removeEventListener("resize",n)},[n]),{isMdOrSmaller:r}},pe=({children:e,onClick:t})=>{const{back:r}=se(),{negative:o}=ae(),{isMdOrSmaller:n}=ce(),s=!o,i=()=>{t?.(),r()};return a.jsx(K.Button,{size:"sm",variant:"secondary",onClick:i,negative:s,fullWidth:n,children:e})};pe.displayName="PopoverBack";var Pt="Arrow",ye=h.forwardRef((e,t)=>{const{children:r,width:o=10,height:n=5,...s}=e;return a.jsx(j.Primitive.svg,{...s,ref:t,width:o,height:n,viewBox:"0 0 30 10",preserveAspectRatio:"none",children:e.asChild?r:a.jsx("polygon",{points:"0,0 30,0 15,10"})})});ye.displayName=Pt;var Ct=ye,le="Popper",[je,Oe]=H.createContextScope(le),[St,Re]=je(le),be=e=>{const{__scopePopper:t,children:r}=e,[o,n]=h.useState(null);return a.jsx(St,{scope:t,anchor:o,onAnchorChange:n,children:r})};be.displayName=le;var Ae="PopperAnchor",Ne=h.forwardRef((e,t)=>{const{__scopePopper:r,virtualRef:o,...n}=e,s=Re(Ae,r),i=h.useRef(null),c=G.useComposedRefs(t,i),p=h.useRef(null);return h.useEffect(()=>{const u=p.current;p.current=o?.current||i.current,u!==p.current&&s.onAnchorChange(p.current)}),o?null:a.jsx(j.Primitive.div,{...n,ref:c})});Ne.displayName=Ae;var ue="PopperContent",[yt,jt]=je(ue),Ee=h.forwardRef((e,t)=>{const{__scopePopper:r,side:o="bottom",sideOffset:n=0,align:s="center",alignOffset:i=0,arrowPadding:c=0,avoidCollisions:p=!0,collisionBoundary:u=[],collisionPadding:g=0,sticky:d="partial",hideWhenDetached:f=!1,updatePositionStrategy:x="optimized",onPlaced:w,...P}=e,v=Re(ue,r),[S,A]=h.useState(null),E=G.useComposedRefs(t,$=>A($)),[m,O]=h.useState(null),y=ht.useSize(m),Q=y?.width??0,I=y?.height??0,J=o+(s!=="center"?"-"+s:""),ee=typeof g=="number"?g:{top:0,right:0,bottom:0,left:0,...g},L=Array.isArray(u)?u:[u],te=L.length>0,k={padding:ee,boundary:L.filter(Rt),altBoundary:te},{refs:_,floatingStyles:C,placement:Y,isPositioned:X,middlewareData:F}=R.useFloating({strategy:"fixed",placement:J,whileElementsMounted:(...$)=>R.autoUpdate(...$,{animationFrame:x==="always"}),elements:{reference:v.anchor},middleware:[R.offset({mainAxis:n+I,alignmentAxis:i}),p&&R.shift({mainAxis:!0,crossAxis:!1,limiter:d==="partial"?R.limitShift():void 0,...k}),p&&R.flip({...k}),R.size({...k,apply:({elements:$,rects:me,availableWidth:ct,availableHeight:pt})=>{const{width:lt,height:ut}=me.reference,U=$.floating.style;U.setProperty("--radix-popper-available-width",`${ct}px`),U.setProperty("--radix-popper-available-height",`${pt}px`),U.setProperty("--radix-popper-anchor-width",`${lt}px`),U.setProperty("--radix-popper-anchor-height",`${ut}px`)}}),m&&R.arrow({element:m,padding:c}),bt({arrowWidth:Q,arrowHeight:I}),f&&R.hide({strategy:"referenceHidden",...k})]}),[ve,rt]=Te(Y),_e=H.useCallbackRef(w);H.useLayoutEffect2(()=>{X&&_e?.()},[X,_e]);const ot=F.arrow?.x,nt=F.arrow?.y,st=F.arrow?.centerOffset!==0,[it,at]=h.useState();return H.useLayoutEffect2(()=>{S&&at(window.getComputedStyle(S).zIndex)},[S]),a.jsx("div",{ref:_.setFloating,"data-radix-popper-content-wrapper":"",style:{...C,transform:X?C.transform:"translate(0, -200%)",minWidth:"max-content",zIndex:it,"--radix-popper-transform-origin":[F.transformOrigin?.x,F.transformOrigin?.y].join(" "),...F.hide?.referenceHidden&&{visibility:"hidden",pointerEvents:"none"}},dir:e.dir,children:a.jsx(yt,{scope:r,placedSide:ve,onArrowChange:O,arrowX:ot,arrowY:nt,shouldHideArrow:st,children:a.jsx(j.Primitive.div,{"data-side":ve,"data-align":rt,...P,ref:E,style:{...P.style,animation:X?void 0:"none"}})})})});Ee.displayName=ue;var ke="PopperArrow",Ot={top:"bottom",right:"left",bottom:"top",left:"right"},Fe=h.forwardRef(function(t,r){const{__scopePopper:o,...n}=t,s=jt(ke,o),i=Ot[s.placedSide];return a.jsx("span",{ref:s.onArrowChange,style:{position:"absolute",left:s.arrowX,top:s.arrowY,[i]:0,transformOrigin:{top:"",right:"0 0",bottom:"center 0",left:"100% 0"}[s.placedSide],transform:{top:"translateY(100%)",right:"translateY(50%) rotate(90deg) translateX(-50%)",bottom:"rotate(180deg)",left:"translateY(50%) rotate(-90deg) translateX(50%)"}[s.placedSide],visibility:s.shouldHideArrow?"hidden":void 0},children:a.jsx(Ct,{...n,ref:r,style:{...n.style,display:"block"}})})});Fe.displayName=ke;function Rt(e){return e!==null}var bt=e=>({name:"transformOrigin",options:e,fn(t){const{placement:r,rects:o,middlewareData:n}=t,i=n.arrow?.centerOffset!==0,c=i?0:e.arrowWidth,p=i?0:e.arrowHeight,[u,g]=Te(r),d={start:"0%",center:"50%",end:"100%"}[g],f=(n.arrow?.x??0)+c/2,x=(n.arrow?.y??0)+p/2;let w="",P="";return u==="bottom"?(w=i?d:`${f}px`,P=`${-p}px`):u==="top"?(w=i?d:`${f}px`,P=`${o.floating.height+p}px`):u==="right"?(w=`${-p}px`,P=i?d:`${x}px`):u==="left"&&(w=`${o.floating.width+p}px`,P=i?d:`${x}px`),{data:{x:w,y:P}}}});function Te(e){const[t,r="center"]=e.split("-");return[t,r]}var At=be,Me=Ne,Nt=Ee,Et=Fe,Z="Popover",[De]=H.createContextScope(Z,[Oe]),q=Oe(),[kt,N]=De(Z),Ie=e=>{const{__scopePopover:t,children:r,open:o,defaultOpen:n,onOpenChange:s,modal:i=!1}=e,c=q(t),p=h.useRef(null),[u,g]=h.useState(!1),[d,f]=j.useControllableState({prop:o,defaultProp:n??!1,onChange:s,caller:Z});return a.jsx(At,{...c,children:a.jsx(kt,{scope:t,contentId:ft.useId(),triggerRef:p,open:d,onOpenChange:f,onOpenToggle:h.useCallback(()=>f(x=>!x),[f]),hasCustomAnchor:u,onCustomAnchorAdd:h.useCallback(()=>g(!0),[]),onCustomAnchorRemove:h.useCallback(()=>g(!1),[]),modal:i,children:r})})};Ie.displayName=Z;var $e="PopoverAnchor",Ft=h.forwardRef((e,t)=>{const{__scopePopover:r,...o}=e,n=N($e,r),s=q(r),{onCustomAnchorAdd:i,onCustomAnchorRemove:c}=n;return h.useEffect(()=>(i(),()=>c()),[i,c]),a.jsx(Me,{...s,...o,ref:t})});Ft.displayName=$e;var He="PopoverTrigger",Be=h.forwardRef((e,t)=>{const{__scopePopover:r,...o}=e,n=N(He,r),s=q(r),i=G.useComposedRefs(t,n.triggerRef),c=a.jsx(j.Primitive.button,{type:"button","aria-haspopup":"dialog","aria-expanded":n.open,"aria-controls":n.contentId,"data-state":Ue(n.open),...o,ref:i,onClick:j.composeEventHandlers(e.onClick,n.onOpenToggle)});return n.hasCustomAnchor?c:a.jsx(Me,{asChild:!0,...s,children:c})});Be.displayName=He;var de="PopoverPortal",[Tt,Mt]=De(de,{forceMount:void 0}),ze=e=>{const{__scopePopover:t,forceMount:r,children:o,container:n}=e,s=N(de,t);return a.jsx(Tt,{scope:t,forceMount:r,children:a.jsx(Pe.Presence,{present:r||s.open,children:a.jsx(M.Portal,{asChild:!0,container:n,children:o})})})};ze.displayName=de;var D="PopoverContent",qe=h.forwardRef((e,t)=>{const r=Mt(D,e.__scopePopover),{forceMount:o=r.forceMount,...n}=e,s=N(D,e.__scopePopover);return a.jsx(Pe.Presence,{present:o||s.open,children:s.modal?a.jsx(It,{...n,ref:t}):a.jsx($t,{...n,ref:t})})});qe.displayName=D;var Dt=j.createSlot("PopoverContent.RemoveScroll"),It=h.forwardRef((e,t)=>{const r=N(D,e.__scopePopover),o=h.useRef(null),n=G.useComposedRefs(t,o),s=h.useRef(!1);return h.useEffect(()=>{const i=o.current;if(i)return M.hideOthers(i)},[]),a.jsx(M.ReactRemoveScroll,{as:Dt,allowPinchZoom:!0,children:a.jsx(We,{...e,ref:n,trapFocus:r.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:j.composeEventHandlers(e.onCloseAutoFocus,i=>{i.preventDefault(),s.current||r.triggerRef.current?.focus()}),onPointerDownOutside:j.composeEventHandlers(e.onPointerDownOutside,i=>{const c=i.detail.originalEvent,p=c.button===0&&c.ctrlKey===!0,u=c.button===2||p;s.current=u},{checkForDefaultPrevented:!1}),onFocusOutside:j.composeEventHandlers(e.onFocusOutside,i=>i.preventDefault(),{checkForDefaultPrevented:!1})})})}),$t=h.forwardRef((e,t)=>{const r=N(D,e.__scopePopover),o=h.useRef(!1),n=h.useRef(!1);return a.jsx(We,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:s=>{e.onCloseAutoFocus?.(s),s.defaultPrevented||(o.current||r.triggerRef.current?.focus(),s.preventDefault()),o.current=!1,n.current=!1},onInteractOutside:s=>{e.onInteractOutside?.(s),s.defaultPrevented||(o.current=!0,s.detail.originalEvent.type==="pointerdown"&&(n.current=!0));const i=s.target;r.triggerRef.current?.contains(i)&&s.preventDefault(),s.detail.originalEvent.type==="focusin"&&n.current&&s.preventDefault()}})}),We=h.forwardRef((e,t)=>{const{__scopePopover:r,trapFocus:o,onOpenAutoFocus:n,onCloseAutoFocus:s,disableOutsidePointerEvents:i,onEscapeKeyDown:c,onPointerDownOutside:p,onFocusOutside:u,onInteractOutside:g,...d}=e,f=N(D,r),x=q(r);return M.useFocusGuards(),a.jsx(M.FocusScope,{asChild:!0,loop:!0,trapped:o,onMountAutoFocus:n,onUnmountAutoFocus:s,children:a.jsx(M.DismissableLayer,{asChild:!0,disableOutsidePointerEvents:i,onInteractOutside:g,onEscapeKeyDown:c,onPointerDownOutside:p,onFocusOutside:u,onDismiss:()=>f.onOpenChange(!1),children:a.jsx(Nt,{"data-state":Ue(f.open),role:"dialog",id:f.contentId,...x,...d,ref:t,style:{...d.style,"--radix-popover-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-popover-content-available-width":"var(--radix-popper-available-width)","--radix-popover-content-available-height":"var(--radix-popper-available-height)","--radix-popover-trigger-width":"var(--radix-popper-anchor-width)","--radix-popover-trigger-height":"var(--radix-popper-anchor-height)"}})})})}),Le="PopoverClose",Ye=h.forwardRef((e,t)=>{const{__scopePopover:r,...o}=e,n=N(Le,r);return a.jsx(j.Primitive.button,{type:"button",...o,ref:t,onClick:j.composeEventHandlers(e.onClick,()=>n.onOpenChange(!1))})});Ye.displayName=Le;var Ht="PopoverArrow",Xe=h.forwardRef((e,t)=>{const{__scopePopover:r,...o}=e,n=q(r);return a.jsx(Et,{...n,...o,ref:t})});Xe.displayName=Ht;function Ue(e){return e?"open":"closed"}var Ke=Ie,Bt=Be,zt=ze,qt=qe,Ge=Ye,Wt=Xe;const fe=({children:e,asChild:t,onClick:r,variant:o="primary",dismiss:n=!0,fullWidth:s})=>{const i=z(),{isMdOrSmaller:c}=ce(),{negative:p}=ae(),u=!p,g=()=>{r?.(),n&&i?.dismiss()},d=s??c,f=t?e:a.jsx(K.Button,{variant:o,size:"sm",fullWidth:d,negative:u,onClick:g,children:e});return n?a.jsx(Ge,{asChild:!0,children:f}):f};fe.displayName="PopoverButton";const Lt="_highlightState1_1w9je_1",Yt="_fadeIn_1w9je_1",Xt="_slideFromTop_1w9je_1",Ut="_slideFromBottom_1w9je_1",Kt="_slideFromLeft_1w9je_1",Gt="_slideFromRight_1w9je_1",Vt="_fadeOut_1w9je_1",Zt="_slideToTop_1w9je_1",Qt="_slideToBottom_1w9je_1",Jt="_slideToLeft_1w9je_1",er="_slideToRight_1w9je_1",W={"purpur-popover__trigger":"_purpur-popover__trigger_1w9je_1","purpur-popover__trigger-highlight":"_purpur-popover__trigger-highlight_1w9je_5","purpur-popover__trigger-highlight--state1":"_purpur-popover__trigger-highlight--state1_1w9je_14",highlightState1:Lt,"purpur-popover__trigger-highlight--negative":"_purpur-popover__trigger-highlight--negative_1w9je_29","purpur-popover__trigger-highlight--state2":"_purpur-popover__trigger-highlight--state2_1w9je_33","purpur-popover__inner":"_purpur-popover__inner_1w9je_45","purpur-popover__content":"_purpur-popover__content_1w9je_52",fadeIn:Yt,slideFromTop:Xt,slideFromBottom:Ut,slideFromLeft:Kt,slideFromRight:Gt,fadeOut:Vt,slideToTop:Zt,slideToBottom:Qt,slideToLeft:Jt,slideToRight:er,"purpur-popover__arrow":"_purpur-popover__arrow_1w9je_103","purpur-popover__body":"_purpur-popover__body_1w9je_106","purpur-popover__icon":"_purpur-popover__icon_1w9je_107","purpur-popover__steps":"_purpur-popover__steps_1w9je_108","purpur-popover__title":"_purpur-popover__title_1w9je_109","purpur-popover__content--negative":"_purpur-popover__content--negative_1w9je_112","purpur-popover__header-content":"_purpur-popover__header-content_1w9je_124","purpur-popover__close":"_purpur-popover__close_1w9je_137","purpur-popover__footer":"_purpur-popover__footer_1w9je_142","purpur-popover__footer-button-group":"_purpur-popover__footer-button-group_1w9je_155"},tr=B.c.bind(W),Ve=()=>{const e=se(),r=V()?.walkthroughStep||e.currentStep,{totalSteps:o,separatorText:n,stepText:s}=e;return a.jsx(a.Fragment,{children:a.jsxs(Ce.Paragraph,{className:tr("purpur-popover__steps"),role:"status","aria-live":"polite","aria-atomic":"true",children:[s," ",r," ",n," ",o]})})};Ve.displayName="PopoverSteps";const xe=B.c.bind(W),he=({children:e,className:t})=>{const r=z(),o=V(),n=r&&o&&o.walkthroughStep>0;return a.jsxs("div",{className:xe("purpur-popover__footer",t),children:[n&&a.jsx(Ve,{}),a.jsx("div",{className:xe("purpur-popover__footer-button-group"),children:e})]})};he.displayName="PopoverFooter";const re=B.c.bind(W),Ze=l.forwardRef(({title:e,icon:t},r)=>a.jsxs("div",{ref:r,className:re("purpur-popover__header-content"),children:[t&&a.jsx("span",{className:re("purpur-popover__icon"),children:t}),a.jsx(_t.Heading,{tag:"h2",variant:"title-100",className:re("purpur-popover__title"),id:"popover-heading",children:e})]}));Ze.displayName="PopoverHeader";const ge=({children:e,onClick:t})=>{const{next:r}=se(),{negative:o}=ae(),{isMdOrSmaller:n}=ce(),s=!o,i=()=>{t?.(),r()};return a.jsx(K.Button,{size:"sm",variant:"primary",onClick:i,negative:s,fullWidth:n,children:e})};ge.displayName="PopoverNext";const T=B.c.bind(W),Qe=l.forwardRef(({children:e,className:t,beakPosition:r="down",align:o="center",alignOffset:n=0,sideOffset:s=5,negative:i=!1,closeIconAriaLabel:c,title:p,icon:u,body:g,onAction:d,zIndex:f=210,container:x,...w},P)=>{const v=z(),S=V(),A=l.useRef(null),E=vt.useThemePortalContainer(),m=x===void 0?E:x??void 0,y={up:"bottom",right:"left",down:"top",left:"right",none:"bottom"}[r],Q=r!=="none";let I=e;if(v&&!e){const _=S?.walkthroughStep||v.currentStep,C=_===1,Y=_===v.totalSteps;I=a.jsxs(he,{children:[!C&&a.jsx(pe,{onClick:()=>d?.({type:"back",step:_}),children:v.backLabel}),Y?a.jsx(fe,{onClick:()=>d?.({type:"finish",step:_}),dismiss:!0,children:v.finishLabel}):a.jsx(ge,{onClick:()=>d?.({type:"next",step:_}),children:v.nextLabel})]})}const J=_=>{if(_.preventDefault(),v){const C=_.currentTarget;setTimeout(()=>{C.setAttribute("tabindex","-1"),C.focus()},0)}w.onOpenAutoFocus?.(_)},ee=_=>{v&&_.preventDefault(),w.onCloseAutoFocus?.(_)},L=_=>{const C=window.matchMedia("(prefers-reduced-motion: reduce)").matches;v&&!C?(_.preventDefault(),setTimeout(()=>{d?.({type:"dismiss",step:v.currentStep}),v.dismiss()},200)):(d?.({type:"dismiss",step:v?.currentStep}),v?.dismiss())},te=_=>{const C=window.matchMedia("(prefers-reduced-motion: reduce)").matches;v&&!C?(_.preventDefault(),setTimeout(()=>{d?.({type:"dismiss",step:v.currentStep}),v.dismiss()},200)):(d?.({type:"dismiss",step:v?.currentStep}),v?.dismiss())},k=_=>{if(S?.disableClickOutside){_.preventDefault();return}if(v){const C=_.target;C.closest("[role='dialog']")||C.closest(".purpur-popover__trigger")||C.closest("button[aria-haspopup='dialog']")||(d?.({type:"dismiss",step:v.currentStep}),setTimeout(()=>{v.dismiss()},0))}};return a.jsx(zt,{container:m,children:a.jsxs(qt,{"data-testid":"popover-content",role:"dialog","aria-modal":"true","aria-labelledby":w["aria-label"]?void 0:"popover-heading",ref:P,side:y,sideOffset:s,align:o,alignOffset:n,style:{"--popover-z-index":f},className:T("purpur-popover__content",{"purpur-popover__content--negative":i},t),onOpenAutoFocus:J,onCloseAutoFocus:ee,onEscapeKeyDown:te,onInteractOutside:k,...w,children:[a.jsxs(Se.Provider,{value:{negative:i},children:[a.jsxs("div",{className:T("purpur-popover__inner"),children:[a.jsx(Ze,{ref:A,title:p,icon:u}),a.jsx(Ce.Paragraph,{className:T("purpur-popover__body"),children:g})]}),I,a.jsx(Ge,{asChild:!0,onClick:L,children:a.jsx(K.Button,{variant:i?"text":"tertiary-purple",size:"sm","aria-label":c,className:T("purpur-popover__close"),negative:!i,iconOnly:!0,children:a.jsx(gt.r,{size:"xs",className:T("purpur-popover__icon")})})})]}),Q&&a.jsx(Wt,{className:T("purpur-popover__arrow"),"aria-hidden":"true",tabIndex:-1})]})})});Qe.displayName="PopoverContent";const Je=({children:e,open:t,defaultOpen:r=!1,onOpenChange:o,disableClickOutside:n,...s})=>{const[i,c]=l.useState(r),p=t!==void 0,u=p?t:i,g=d=>{p||c(d),o?.(d)};return a.jsx(Ke,{open:u,onOpenChange:g,...s,children:a.jsx(ie.Provider,{value:{isOpen:u,walkthroughStep:0,disableClickOutside:n},children:e})})};Je.displayName="PopoverStandalone";const rr=e=>{const t=l.useRef(null),r=l.useCallback(()=>{t.current&&(cancelAnimationFrame(t.current),t.current=null)},[]);return{scrollToElement:l.useCallback((n,s=600)=>{const i=window.matchMedia("(prefers-reduced-motion: reduce)").matches,c=n.getBoundingClientRect(),p=c.top+window.pageYOffset,u=c.height,g=window.innerHeight;let d=p-g/2+u/2;const f=document.documentElement.scrollHeight,x=Math.max(0,f-g);if(d=Math.max(0,Math.min(d,x)),i){window.scrollTo(0,d),e?.();return}const w=window.pageYOffset,P=d-w,v=performance.now(),S=A=>{const E=A-v,m=Math.min(E/s,1),O=m<.5?2*m*m:1-Math.pow(-2*m+2,2)/2,y=w+P*O;window.scrollTo(0,y),m<1?t.current=requestAnimationFrame(S):(t.current=null,e?.())};r(),t.current=requestAnimationFrame(S)},[e,r]),cancelScroll:r}};function or(e){const t=l.useRef(null),r=V(),o=z(),n=l.useRef(!1),{scrollToElement:s,cancelScroll:i}=rr(r?.onScrollComplete);return l.useEffect(()=>{typeof e=="function"?e(t.current):e&&(e.current=t.current)},[e]),l.useEffect(()=>{if(o&&r?.walkthroughStep!==void 0&&o.currentStep===r.walkthroughStep&&t.current&&!n.current){const p=t.current,u=p.getBoundingClientRect(),g=100;u.top>=-g&&u.bottom<=window.innerHeight+g&&u.left>=-g&&u.right<=window.innerWidth+g?r?.onScrollComplete?.():(r?.onScrollStart?.(),s(p)),n.current=!0}else o?.currentStep!==r?.walkthroughStep&&(n.current=!1,i())},[o?.currentStep,r?.walkthroughStep,o,s,i,r]),l.useEffect(()=>i,[i]),{triggerRef:t,context:r}}const oe=B.c.bind(W),et=l.forwardRef(({children:e,className:t,highlight:r=!0,negative:o=!1,...n},s)=>{const{triggerRef:i,context:c}=or(s);return a.jsxs("div",{className:oe("purpur-popover__trigger",{"purpur-popover__trigger--highlight":c?.isOpen&&r},t),children:[c?.isOpen&&r&&a.jsxs(a.Fragment,{children:[a.jsx("div",{className:oe("purpur-popover__trigger-highlight","purpur-popover__trigger-highlight--state1",{"purpur-popover__trigger-highlight--negative":o}),"aria-hidden":"true"}),a.jsx("div",{className:oe("purpur-popover__trigger-highlight","purpur-popover__trigger-highlight--state2",{"purpur-popover__trigger-highlight--negative":o}),"aria-hidden":"true"})]}),a.jsx(Bt,{ref:i,asChild:!0,"aria-expanded":c?.isOpen??!1,"aria-haspopup":"dialog",...n,children:e})]})});et.displayName="PopoverTrigger";function nr(e){const t=z(),[r,o]=l.useState(!1),[n,s]=l.useState(!1),i=l.useRef(null),c=l.useRef(0);l.useEffect(()=>t?(t.registerStep(e),()=>t.unregisterStep(e)):()=>{},[t,e]);const p=t?.currentStep===e,u=l.useCallback(()=>{s(!0)},[]),g=l.useCallback(()=>{if(s(!1),p){const f=t.openDelay;i.current=window.setTimeout(()=>{o(!0),c.current=Date.now()},f)}},[p,t]);l.useEffect(()=>{if(i.current&&(clearTimeout(i.current),i.current=null),p){if(!n){const f=t.openDelay;i.current=window.setTimeout(()=>{o(!0),c.current=Date.now()},f)}}else o(!1),s(!1),c.current=0;return()=>{i.current&&(clearTimeout(i.current),i.current=null)}},[p,n,t]);const d=l.useCallback((f,x)=>{if(x?.(f),!f&&r&&t&&t.currentStep===e){if(Date.now()-c.current<10||i.current!==null)return;t.dismiss()}},[r,t,e]);return{actuallyOpen:r,onScrollStart:u,onScrollComplete:g,handleOpenChange:d}}const tt=({children:e,step:t,onOpenChange:r,disableClickOutside:o=!0,...n})=>{const{actuallyOpen:s,onScrollStart:i,onScrollComplete:c,handleOpenChange:p}=nr(t);return a.jsx(Ke,{open:s,onOpenChange:u=>p(u,r),...n,children:a.jsx(ie.Provider,{value:{isOpen:s,walkthroughStep:t,onScrollStart:i,onScrollComplete:c,disableClickOutside:o},children:e})})};tt.displayName="PopoverWalkthrough";const b=e=>{const{multistep:t=!1,disableClickOutside:r,...o}=e;return t?a.jsx(tt,{...o,disableClickOutside:r??!0}):a.jsx(Je,{...o,disableClickOutside:r})};b.Back=pe;b.Button=fe;b.Content=Qe;b.Flow=wt;b.Footer=he;b.Next=ge;b.Trigger=et;b.displayName="Popover";exports.Popover=b;
2
+ //# sourceMappingURL=popover-XJqF5DHT.js.map