@purpur/library 9.6.0 → 9.7.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 (286) hide show
  1. package/CHANGELOG.json +45 -0
  2. package/CHANGELOG.md +19 -1
  3. package/dist/LICENSE.txt +7 -7
  4. package/dist/ThemeProvider-D7oXcAde.js +2 -0
  5. package/dist/{ThemeProvider-Dy771oix.js.map → ThemeProvider-D7oXcAde.js.map} +1 -1
  6. package/dist/ThemeProvider-DiDBfyFA.mjs +348 -0
  7. package/dist/{ThemeProvider-CkX-BNWN.mjs.map → ThemeProvider-DiDBfyFA.mjs.map} +1 -1
  8. package/dist/carousel-BIKcwvYz.mjs +1658 -0
  9. package/dist/carousel-BIKcwvYz.mjs.map +1 -0
  10. package/dist/carousel-DnSaLDZf.js +2 -0
  11. package/dist/carousel-DnSaLDZf.js.map +1 -0
  12. package/dist/carousel.cjs.js +1 -1
  13. package/dist/carousel.es.js +1 -1
  14. package/dist/{comparison-table-Nhp5W6Yc.js → comparison-table-0UDB2BTU.js} +2 -2
  15. package/dist/{comparison-table-Nhp5W6Yc.js.map → comparison-table-0UDB2BTU.js.map} +1 -1
  16. package/dist/{comparison-table-CZMKl1TX.mjs → comparison-table-CjTE-fHN.mjs} +48 -48
  17. package/dist/{comparison-table-CZMKl1TX.mjs.map → comparison-table-CjTE-fHN.mjs.map} +1 -1
  18. package/dist/comparison-table.cjs.js +1 -1
  19. package/dist/comparison-table.es.js +1 -1
  20. package/dist/components/button/src/button.visual.fixtures.d.ts +43 -0
  21. package/dist/components/button/src/button.visual.fixtures.d.ts.map +1 -0
  22. package/dist/components/carousel/src/carousel.d.ts.map +1 -1
  23. package/dist/components/date-picker/src/date-picker.d.ts +8 -0
  24. package/dist/components/date-picker/src/date-picker.d.ts.map +1 -1
  25. package/dist/components/drawer/src/drawer-content.d.ts +21 -0
  26. package/dist/components/drawer/src/drawer-content.d.ts.map +1 -1
  27. package/dist/components/hero-banner/src/hero-banner.visual.fixtures.d.ts +14 -0
  28. package/dist/components/hero-banner/src/hero-banner.visual.fixtures.d.ts.map +1 -0
  29. package/dist/components/modal/src/modal-content.d.ts +21 -0
  30. package/dist/components/modal/src/modal-content.d.ts.map +1 -1
  31. package/dist/components/modal/src/modal.d.ts +2 -0
  32. package/dist/components/modal/src/modal.d.ts.map +1 -1
  33. package/dist/components/popover/src/popover-content.d.ts +14 -0
  34. package/dist/components/popover/src/popover-content.d.ts.map +1 -1
  35. package/dist/components/radio-card-group/src/is-radio-card-item.d.ts +4 -0
  36. package/dist/components/radio-card-group/src/is-radio-card-item.d.ts.map +1 -0
  37. package/dist/components/radio-card-group/src/radio-card-group.constants.d.ts +5 -0
  38. package/dist/components/radio-card-group/src/radio-card-group.constants.d.ts.map +1 -0
  39. package/dist/components/radio-card-group/src/radio-card-group.d.ts +5 -6
  40. package/dist/components/radio-card-group/src/radio-card-group.d.ts.map +1 -1
  41. package/dist/components/radio-card-group/src/radio-card-item.d.ts +1 -2
  42. package/dist/components/radio-card-group/src/radio-card-item.d.ts.map +1 -1
  43. package/dist/components/search-field/src/search-field-autocomplete.d.ts +6 -3
  44. package/dist/components/search-field/src/search-field-autocomplete.d.ts.map +1 -1
  45. package/dist/components/search-field/src/search-field-base.d.ts +10 -3
  46. package/dist/components/search-field/src/search-field-base.d.ts.map +1 -1
  47. package/dist/components/search-field/src/search-field-button.d.ts +3 -1
  48. package/dist/components/search-field/src/search-field-button.d.ts.map +1 -1
  49. package/dist/components/search-field/src/search-field.d.ts +12 -6
  50. package/dist/components/search-field/src/search-field.d.ts.map +1 -1
  51. package/dist/components/table/src/drag-indicator-circle.d.ts +8 -1
  52. package/dist/components/table/src/drag-indicator-circle.d.ts.map +1 -1
  53. package/dist/components/table/src/table.d.ts.map +1 -1
  54. package/dist/components/tooltip/src/tooltip.d.ts +21 -0
  55. package/dist/components/tooltip/src/tooltip.d.ts.map +1 -1
  56. package/dist/components-metadata.js +0 -2
  57. package/dist/date-picker-CIizn3Pv.js +2 -0
  58. package/dist/{date-picker-uyPKJulK.js.map → date-picker-CIizn3Pv.js.map} +1 -1
  59. package/dist/date-picker-DixxW60s.mjs +1617 -0
  60. package/dist/{date-picker-CzxhZxsw.mjs.map → date-picker-DixxW60s.mjs.map} +1 -1
  61. package/dist/date-picker.cjs.js +1 -1
  62. package/dist/date-picker.es.js +1 -1
  63. package/dist/drawer-BzkRd9F0.mjs +577 -0
  64. package/dist/drawer-BzkRd9F0.mjs.map +1 -0
  65. package/dist/drawer-DyhsP34o.js +2 -0
  66. package/dist/drawer-DyhsP34o.js.map +1 -0
  67. package/dist/drawer.cjs.js +1 -1
  68. package/dist/drawer.es.js +1 -1
  69. package/dist/{footer-D9AcPwlH.js → footer-3Y-664-8.js} +2 -2
  70. package/dist/{footer-D9AcPwlH.js.map → footer-3Y-664-8.js.map} +1 -1
  71. package/dist/{footer-BLPlXaZK.mjs → footer-DenAcikt.mjs} +3 -3
  72. package/dist/{footer-BLPlXaZK.mjs.map → footer-DenAcikt.mjs.map} +1 -1
  73. package/dist/footer.cjs.js +1 -1
  74. package/dist/footer.es.js +1 -1
  75. package/dist/{hero-banner-DkC_BqM7.mjs → hero-banner-B7xrDfzN.mjs} +2 -2
  76. package/dist/{hero-banner-DkC_BqM7.mjs.map → hero-banner-B7xrDfzN.mjs.map} +1 -1
  77. package/dist/{hero-banner-D1A-_qou.js → hero-banner-DthITuQ7.js} +2 -2
  78. package/dist/{hero-banner-D1A-_qou.js.map → hero-banner-DthITuQ7.js.map} +1 -1
  79. package/dist/hero-banner.cjs.js +1 -1
  80. package/dist/hero-banner.es.js +1 -1
  81. package/dist/libraries/theme/src/ThemeProvider.d.ts.map +1 -1
  82. package/dist/libraries/theme/src/theme.d.ts +1 -0
  83. package/dist/libraries/theme/src/theme.d.ts.map +1 -1
  84. package/dist/libraries/theme/src/types.d.ts +7 -0
  85. package/dist/libraries/theme/src/types.d.ts.map +1 -1
  86. package/dist/libraries/theme/src/useThemePortalContainer.d.ts +12 -0
  87. package/dist/libraries/theme/src/useThemePortalContainer.d.ts.map +1 -0
  88. package/dist/library.cjs.js +1 -1
  89. package/dist/library.es.js +469 -469
  90. package/dist/library.es.js.map +1 -1
  91. package/dist/modal-DJn9idcw.js +2 -0
  92. package/dist/modal-DJn9idcw.js.map +1 -0
  93. package/dist/{modal-fp37VbrH.mjs → modal-EIP36327.mjs} +83 -80
  94. package/dist/modal-EIP36327.mjs.map +1 -0
  95. package/dist/modal.cjs.js +1 -1
  96. package/dist/modal.es.js +1 -1
  97. package/dist/{popover-I26xNbTz.mjs → popover-DERrvReO.mjs} +328 -325
  98. package/dist/popover-DERrvReO.mjs.map +1 -0
  99. package/dist/popover-DnGgzfQr.js +2 -0
  100. package/dist/popover-DnGgzfQr.js.map +1 -0
  101. package/dist/popover.cjs.js +1 -1
  102. package/dist/popover.es.js +1 -1
  103. package/dist/{promotion-card-BiHnQvhn.mjs → promotion-card-BnzIVNQ4.mjs} +2 -2
  104. package/dist/{promotion-card-BiHnQvhn.mjs.map → promotion-card-BnzIVNQ4.mjs.map} +1 -1
  105. package/dist/{promotion-card-Bag64gqP.js → promotion-card-DKc2Cx1h.js} +2 -2
  106. package/dist/{promotion-card-Bag64gqP.js.map → promotion-card-DKc2Cx1h.js.map} +1 -1
  107. package/dist/promotion-card.cjs.js +1 -1
  108. package/dist/promotion-card.es.js +1 -1
  109. package/dist/purpur.css +1 -1
  110. package/dist/radio-card-group-ZBXjYcQs.mjs +166 -0
  111. package/dist/radio-card-group-ZBXjYcQs.mjs.map +1 -0
  112. package/dist/radio-card-group-nrDi5EPK.js +2 -0
  113. package/dist/radio-card-group-nrDi5EPK.js.map +1 -0
  114. package/dist/radio-card-group.cjs.js +1 -1
  115. package/dist/radio-card-group.es.js +3 -5
  116. package/dist/search-field-2vdDbiT0.js +2 -0
  117. package/dist/search-field-2vdDbiT0.js.map +1 -0
  118. package/dist/search-field-DKyNh7pE.mjs +167 -0
  119. package/dist/search-field-DKyNh7pE.mjs.map +1 -0
  120. package/dist/search-field.cjs.js +1 -1
  121. package/dist/search-field.es.js +1 -1
  122. package/dist/{stepper-CWR2vGPj.mjs → stepper-BDsSa6yr.mjs} +2 -2
  123. package/dist/{stepper-CWR2vGPj.mjs.map → stepper-BDsSa6yr.mjs.map} +1 -1
  124. package/dist/{stepper-Df4X7DDR.js → stepper-DpauItjx.js} +2 -2
  125. package/dist/{stepper-Df4X7DDR.js.map → stepper-DpauItjx.js.map} +1 -1
  126. package/dist/stepper.cjs.js +1 -1
  127. package/dist/stepper.es.js +1 -1
  128. package/dist/{table-gnGUejtb.js → table-BOCcBzSO.js} +4 -4
  129. package/dist/table-BOCcBzSO.js.map +1 -0
  130. package/dist/{table-g_n68i4s.mjs → table-i1Gs9e0e.mjs} +440 -440
  131. package/dist/table-i1Gs9e0e.mjs.map +1 -0
  132. package/dist/table.cjs.js +1 -1
  133. package/dist/table.es.js +1 -1
  134. package/dist/{text-area-peNKG7g4.js → text-area-D0truMT1.js} +2 -2
  135. package/dist/{text-area-peNKG7g4.js.map → text-area-D0truMT1.js.map} +1 -1
  136. package/dist/{text-area-kJvg6cFp.mjs → text-area-IVH-k4MM.mjs} +3 -3
  137. package/dist/{text-area-kJvg6cFp.mjs.map → text-area-IVH-k4MM.mjs.map} +1 -1
  138. package/dist/text-area.cjs.js +1 -1
  139. package/dist/text-area.es.js +1 -1
  140. package/dist/theme.cjs.js +1 -1
  141. package/dist/theme.es.js +8 -6
  142. package/dist/theme.es.js.map +1 -1
  143. package/dist/tooltip-CJGmJDFQ.js +2 -0
  144. package/dist/{tooltip-C8Zxnqdb.js.map → tooltip-CJGmJDFQ.js.map} +1 -1
  145. package/dist/{tooltip-LU2Cy-QC.mjs → tooltip-RA-03bKs.mjs} +277 -274
  146. package/dist/{tooltip-LU2Cy-QC.mjs.map → tooltip-RA-03bKs.mjs.map} +1 -1
  147. package/dist/tooltip.cjs.js +1 -1
  148. package/dist/tooltip.es.js +1 -1
  149. package/dist/{useColorScheme-tAkY9LHt.mjs → useColorScheme-B9DWd-LN.mjs} +2 -2
  150. package/dist/{useColorScheme-tAkY9LHt.mjs.map → useColorScheme-B9DWd-LN.mjs.map} +1 -1
  151. package/dist/useColorScheme-DbTQjxNB.js +2 -0
  152. package/dist/{useColorScheme-DNyjsWX9.js.map → useColorScheme-DbTQjxNB.js.map} +1 -1
  153. package/dist/useThemePortalContainer-D9BYjEvT.js +2 -0
  154. package/dist/useThemePortalContainer-D9BYjEvT.js.map +1 -0
  155. package/dist/useThemePortalContainer-tFLTaYKN.mjs +9 -0
  156. package/dist/useThemePortalContainer-tFLTaYKN.mjs.map +1 -0
  157. package/package.json +26 -26
  158. package/src/library.ts +2 -71
  159. package/dist/ThemeProvider-CkX-BNWN.mjs +0 -337
  160. package/dist/ThemeProvider-Dy771oix.js +0 -2
  161. package/dist/carousel-DLkTL9sj.mjs +0 -1633
  162. package/dist/carousel-DLkTL9sj.mjs.map +0 -1
  163. package/dist/carousel-DXrtxRz5.js +0 -2
  164. package/dist/carousel-DXrtxRz5.js.map +0 -1
  165. package/dist/date-picker-CzxhZxsw.mjs +0 -1611
  166. package/dist/date-picker-uyPKJulK.js +0 -2
  167. package/dist/drawer-8Acg4wkV.mjs +0 -574
  168. package/dist/drawer-8Acg4wkV.mjs.map +0 -1
  169. package/dist/drawer-BLHgcEqb.js +0 -2
  170. package/dist/drawer-BLHgcEqb.js.map +0 -1
  171. package/dist/modal-Baisuc6m.js +0 -2
  172. package/dist/modal-Baisuc6m.js.map +0 -1
  173. package/dist/modal-fp37VbrH.mjs.map +0 -1
  174. package/dist/popover-B0XJZ5mj.js +0 -2
  175. package/dist/popover-B0XJZ5mj.js.map +0 -1
  176. package/dist/popover-I26xNbTz.mjs.map +0 -1
  177. package/dist/radio-card-group-CneOprGY.mjs +0 -168
  178. package/dist/radio-card-group-CneOprGY.mjs.map +0 -1
  179. package/dist/radio-card-group-Ctuvg61o.js +0 -2
  180. package/dist/radio-card-group-Ctuvg61o.js.map +0 -1
  181. package/dist/search-field-CpkHGIYi.mjs +0 -151
  182. package/dist/search-field-CpkHGIYi.mjs.map +0 -1
  183. package/dist/search-field-Z0PqDARl.js +0 -2
  184. package/dist/search-field-Z0PqDARl.js.map +0 -1
  185. package/dist/table-g_n68i4s.mjs.map +0 -1
  186. package/dist/table-gnGUejtb.js.map +0 -1
  187. package/dist/tooltip-C8Zxnqdb.js +0 -2
  188. package/dist/useColorScheme-DNyjsWX9.js +0 -2
  189. package/tokens/_dark.scss +0 -9
  190. package/tokens/_index.scss +0 -9
  191. package/tokens/border/variables.css +0 -13
  192. package/tokens/border/variables.d.ts +0 -10
  193. package/tokens/border/variables.dark.css +0 -12
  194. package/tokens/border/variables.dark.d.ts +0 -10
  195. package/tokens/border/variables.dark.js +0 -10
  196. package/tokens/border/variables.dark.json +0 -18
  197. package/tokens/border/variables.dark.scss +0 -10
  198. package/tokens/border/variables.js +0 -10
  199. package/tokens/border/variables.json +0 -18
  200. package/tokens/border/variables.scss +0 -10
  201. package/tokens/breakpoint/variables.css +0 -11
  202. package/tokens/breakpoint/variables.d.ts +0 -8
  203. package/tokens/breakpoint/variables.dark.css +0 -10
  204. package/tokens/breakpoint/variables.dark.d.ts +0 -8
  205. package/tokens/breakpoint/variables.dark.js +0 -8
  206. package/tokens/breakpoint/variables.dark.json +0 -14
  207. package/tokens/breakpoint/variables.dark.scss +0 -8
  208. package/tokens/breakpoint/variables.js +0 -8
  209. package/tokens/breakpoint/variables.json +0 -14
  210. package/tokens/breakpoint/variables.scss +0 -8
  211. package/tokens/color/variables.css +0 -262
  212. package/tokens/color/variables.d.ts +0 -253
  213. package/tokens/color/variables.dark.css +0 -262
  214. package/tokens/color/variables.dark.d.ts +0 -252
  215. package/tokens/color/variables.dark.js +0 -252
  216. package/tokens/color/variables.dark.json +0 -306
  217. package/tokens/color/variables.dark.scss +0 -252
  218. package/tokens/color/variables.js +0 -253
  219. package/tokens/color/variables.json +0 -307
  220. package/tokens/color/variables.scss +0 -253
  221. package/tokens/dark.css +0 -9
  222. package/tokens/dark.d.ts +0 -9
  223. package/tokens/dark.js +0 -9
  224. package/tokens/filter/variables.css +0 -4
  225. package/tokens/filter/variables.d.ts +0 -1
  226. package/tokens/filter/variables.dark.css +0 -3
  227. package/tokens/filter/variables.dark.d.ts +0 -1
  228. package/tokens/filter/variables.dark.js +0 -1
  229. package/tokens/filter/variables.dark.json +0 -7
  230. package/tokens/filter/variables.dark.scss +0 -1
  231. package/tokens/filter/variables.js +0 -1
  232. package/tokens/filter/variables.json +0 -7
  233. package/tokens/filter/variables.scss +0 -1
  234. package/tokens/gradient/variables.css +0 -53
  235. package/tokens/gradient/variables.d.ts +0 -9
  236. package/tokens/gradient/variables.dark.css +0 -51
  237. package/tokens/gradient/variables.dark.d.ts +0 -9
  238. package/tokens/gradient/variables.dark.js +0 -18
  239. package/tokens/gradient/variables.dark.json +0 -27
  240. package/tokens/gradient/variables.dark.scss +0 -36
  241. package/tokens/gradient/variables.js +0 -18
  242. package/tokens/gradient/variables.json +0 -27
  243. package/tokens/gradient/variables.scss +0 -42
  244. package/tokens/index.css +0 -18
  245. package/tokens/index.d.ts +0 -9
  246. package/tokens/index.js +0 -9
  247. package/tokens/motion/variables.css +0 -14
  248. package/tokens/motion/variables.d.ts +0 -11
  249. package/tokens/motion/variables.dark.css +0 -13
  250. package/tokens/motion/variables.dark.d.ts +0 -11
  251. package/tokens/motion/variables.dark.js +0 -11
  252. package/tokens/motion/variables.dark.json +0 -19
  253. package/tokens/motion/variables.dark.scss +0 -11
  254. package/tokens/motion/variables.js +0 -11
  255. package/tokens/motion/variables.json +0 -19
  256. package/tokens/motion/variables.scss +0 -11
  257. package/tokens/shadow/variables.css +0 -11
  258. package/tokens/shadow/variables.d.ts +0 -4
  259. package/tokens/shadow/variables.dark.css +0 -10
  260. package/tokens/shadow/variables.dark.d.ts +0 -4
  261. package/tokens/shadow/variables.dark.js +0 -4
  262. package/tokens/shadow/variables.dark.json +0 -8
  263. package/tokens/shadow/variables.dark.scss +0 -4
  264. package/tokens/shadow/variables.js +0 -4
  265. package/tokens/shadow/variables.json +0 -8
  266. package/tokens/shadow/variables.scss +0 -4
  267. package/tokens/spacing/variables.css +0 -26
  268. package/tokens/spacing/variables.d.ts +0 -23
  269. package/tokens/spacing/variables.dark.css +0 -17
  270. package/tokens/spacing/variables.dark.d.ts +0 -15
  271. package/tokens/spacing/variables.dark.js +0 -15
  272. package/tokens/spacing/variables.dark.json +0 -19
  273. package/tokens/spacing/variables.dark.scss +0 -15
  274. package/tokens/spacing/variables.js +0 -23
  275. package/tokens/spacing/variables.json +0 -31
  276. package/tokens/spacing/variables.scss +0 -23
  277. package/tokens/typography/variables.css +0 -30
  278. package/tokens/typography/variables.d.ts +0 -26
  279. package/tokens/typography/variables.dark.css +0 -29
  280. package/tokens/typography/variables.dark.d.ts +0 -26
  281. package/tokens/typography/variables.dark.js +0 -28
  282. package/tokens/typography/variables.dark.json +0 -38
  283. package/tokens/typography/variables.dark.scss +0 -26
  284. package/tokens/typography/variables.js +0 -28
  285. package/tokens/typography/variables.json +0 -38
  286. package/tokens/typography/variables.scss +0 -26
@@ -1,1633 +0,0 @@
1
- import { jsx as V, jsxs as wt, Fragment as bn } from "react/jsx-runtime";
2
- import Kt, { useRef as yt, useState as it, useCallback as nt, useEffect as st } from "react";
3
- import { b as Mt } from "./button-4-yWOgtD.mjs";
4
- import { l as vn } from "./arrow-left.es-DU-PX-Il.mjs";
5
- import { i as xn } from "./arrow-right.es-C7SkjAB6.mjs";
6
- import { b as Wt } from "./icon-DNHpBTHs-JfI8WyiR.mjs";
7
- import { c as tn } from "./bind-CU-R61T-.mjs";
8
- const wn = {
9
- name: "play-filled",
10
- svg: '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor"><path d="M19 12 5.5 19.794V4.206L19 12Z"/><path fill-rule="evenodd" d="M19.875 12a.875.875 0 0 1-.438.758l-13.5 7.794a.875.875 0 0 1-1.312-.758V4.206a.875.875 0 0 1 1.313-.758l13.5 7.794c.27.156.437.445.437.758Zm-13.5-6.279V18.28L17.25 12 6.375 5.721Z" clip-rule="evenodd"/></svg>',
11
- keywords: ["play-filled"],
12
- category: "action"
13
- }, nn = (t) => /* @__PURE__ */ V(Wt, { ...t, svg: wn });
14
- nn.displayName = "IconPlayFilled";
15
- const En = {
16
- name: "tv-pause",
17
- svg: '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor"><path d="M19 20h-3V4h3v16ZM8 20H5V4h3v16Z"/><path fill-rule="evenodd" d="M4.1 4a.9.9 0 0 1 .9-.9h3a.9.9 0 0 1 .9.9v16a.9.9 0 0 1-.9.9H5a.9.9 0 0 1-.9-.9V4Zm1.8.9v14.2h1.2V4.9H5.9Zm9.2-.9a.9.9 0 0 1 .9-.9h3a.9.9 0 0 1 .9.9v16a.9.9 0 0 1-.9.9h-3a.9.9 0 0 1-.9-.9V4Zm1.8.9v14.2h1.2V4.9h-1.2Z" clip-rule="evenodd"/></svg>',
18
- keywords: ["tv-pause"],
19
- category: "action"
20
- }, en = (t) => /* @__PURE__ */ V(Wt, { ...t, svg: En });
21
- en.displayName = "IconTvPause";
22
- const In = {
23
- active: !0,
24
- breakpoints: {},
25
- delay: 4e3,
26
- jump: !1,
27
- playOnInit: !0,
28
- stopOnFocusIn: !0,
29
- stopOnInteraction: !0,
30
- stopOnMouseEnter: !1,
31
- stopOnLastSnap: !1,
32
- rootNode: null
33
- };
34
- function Ln(t, n) {
35
- const e = t.scrollSnapList();
36
- return typeof n == "number" ? e.map(() => n) : n(e, t);
37
- }
38
- function _n(t, n) {
39
- const e = t.rootNode();
40
- return n && n(e) || e;
41
- }
42
- function Ct(t = {}) {
43
- let n, e, i, c, o = null, r = 0, u = !1, s = !1, a = !1, g = !1;
44
- function l(T, A) {
45
- e = T;
46
- const {
47
- mergeOptions: j,
48
- optionsAtMedia: $
49
- } = A, G = j(In, Ct.globalOptions), U = j(G, t);
50
- if (n = $(U), e.scrollSnapList().length <= 1) return;
51
- g = n.jump, i = !1, c = Ln(e, n.delay);
52
- const {
53
- eventStore: K,
54
- ownerDocument: R
55
- } = e.internalEngine(), J = !!e.internalEngine().options.watchDrag, X = _n(e, n.rootNode);
56
- K.add(R, "visibilitychange", d), J && e.on("pointerDown", b), J && !n.stopOnInteraction && e.on("pointerUp", E), n.stopOnMouseEnter && K.add(X, "mouseenter", L), n.stopOnMouseEnter && !n.stopOnInteraction && K.add(X, "mouseleave", I), n.stopOnFocusIn && e.on("slideFocusStart", y), n.stopOnFocusIn && !n.stopOnInteraction && K.add(e.containerNode(), "focusout", p), n.playOnInit && p();
57
- }
58
- function m() {
59
- e.off("pointerDown", b).off("pointerUp", E).off("slideFocusStart", y), y(), i = !0, u = !1;
60
- }
61
- function S() {
62
- const {
63
- ownerWindow: T
64
- } = e.internalEngine();
65
- T.clearTimeout(r), r = T.setTimeout(O, c[e.selectedScrollSnap()]), o = (/* @__PURE__ */ new Date()).getTime(), e.emit("autoplay:timerset");
66
- }
67
- function f() {
68
- const {
69
- ownerWindow: T
70
- } = e.internalEngine();
71
- T.clearTimeout(r), r = 0, o = null, e.emit("autoplay:timerstopped");
72
- }
73
- function p() {
74
- if (!i) {
75
- if (h()) {
76
- a = !0;
77
- return;
78
- }
79
- u || e.emit("autoplay:play"), S(), u = !0;
80
- }
81
- }
82
- function y() {
83
- i || (u && e.emit("autoplay:stop"), f(), u = !1);
84
- }
85
- function d() {
86
- if (h())
87
- return a = u, y();
88
- a && p();
89
- }
90
- function h() {
91
- const {
92
- ownerDocument: T
93
- } = e.internalEngine();
94
- return T.visibilityState === "hidden";
95
- }
96
- function b() {
97
- s || y();
98
- }
99
- function E() {
100
- s || p();
101
- }
102
- function L() {
103
- s = !0, y();
104
- }
105
- function I() {
106
- s = !1, p();
107
- }
108
- function x(T) {
109
- typeof T < "u" && (g = T), p();
110
- }
111
- function w() {
112
- u && y();
113
- }
114
- function _() {
115
- u && p();
116
- }
117
- function N() {
118
- return u;
119
- }
120
- function O() {
121
- const {
122
- index: T
123
- } = e.internalEngine(), A = T.clone().add(1).get(), j = e.scrollSnapList().length - 1, $ = n.stopOnLastSnap && A === j;
124
- if (e.canScrollNext() ? e.scrollNext(g) : e.scrollTo(0, g), e.emit("autoplay:select"), $) return y();
125
- p();
126
- }
127
- function k() {
128
- if (!o) return null;
129
- const T = c[e.selectedScrollSnap()], A = (/* @__PURE__ */ new Date()).getTime() - o;
130
- return T - A;
131
- }
132
- return {
133
- name: "autoplay",
134
- options: t,
135
- init: l,
136
- destroy: m,
137
- play: x,
138
- stop: w,
139
- reset: _,
140
- isPlaying: N,
141
- timeUntilNext: k
142
- };
143
- }
144
- Ct.globalOptions = void 0;
145
- function On(t) {
146
- return Object.prototype.toString.call(t) === "[object Object]";
147
- }
148
- function Qt(t) {
149
- return On(t) || Array.isArray(t);
150
- }
151
- function Tn() {
152
- return !!(typeof window < "u" && window.document && window.document.createElement);
153
- }
154
- function kt(t, n) {
155
- const e = Object.keys(t), i = Object.keys(n);
156
- if (e.length !== i.length) return !1;
157
- const c = JSON.stringify(Object.keys(t.breakpoints || {})), o = JSON.stringify(Object.keys(n.breakpoints || {}));
158
- return c !== o ? !1 : e.every((r) => {
159
- const u = t[r], s = n[r];
160
- return typeof u == "function" ? `${u}` == `${s}` : !Qt(u) || !Qt(s) ? u === s : kt(u, s);
161
- });
162
- }
163
- function Jt(t) {
164
- return t.concat().sort((n, e) => n.name > e.name ? 1 : -1).map((n) => n.options);
165
- }
166
- function Dn(t, n) {
167
- if (t.length !== n.length) return !1;
168
- const e = Jt(t), i = Jt(n);
169
- return e.every((c, o) => {
170
- const r = i[o];
171
- return kt(c, r);
172
- });
173
- }
174
- function At(t) {
175
- return typeof t == "number";
176
- }
177
- function Pt(t) {
178
- return typeof t == "string";
179
- }
180
- function It(t) {
181
- return typeof t == "boolean";
182
- }
183
- function Xt(t) {
184
- return Object.prototype.toString.call(t) === "[object Object]";
185
- }
186
- function P(t) {
187
- return Math.abs(t);
188
- }
189
- function Bt(t) {
190
- return Math.sign(t);
191
- }
192
- function mt(t, n) {
193
- return P(t - n);
194
- }
195
- function Mn(t, n) {
196
- if (t === 0 || n === 0 || P(t) <= P(n)) return 0;
197
- const e = mt(P(t), P(n));
198
- return P(e / t);
199
- }
200
- function Pn(t) {
201
- return Math.round(t * 100) / 100;
202
- }
203
- function ht(t) {
204
- return St(t).map(Number);
205
- }
206
- function Z(t) {
207
- return t[vt(t)];
208
- }
209
- function vt(t) {
210
- return Math.max(0, t.length - 1);
211
- }
212
- function Ft(t, n) {
213
- return n === vt(t);
214
- }
215
- function Yt(t, n = 0) {
216
- return Array.from(Array(t), (e, i) => n + i);
217
- }
218
- function St(t) {
219
- return Object.keys(t);
220
- }
221
- function on(t, n) {
222
- return [t, n].reduce((e, i) => (St(i).forEach((c) => {
223
- const o = e[c], r = i[c], u = Xt(o) && Xt(r);
224
- e[c] = u ? on(o, r) : r;
225
- }), e), {});
226
- }
227
- function Nt(t, n) {
228
- return typeof n.MouseEvent < "u" && t instanceof n.MouseEvent;
229
- }
230
- function Nn(t, n) {
231
- const e = {
232
- start: i,
233
- center: c,
234
- end: o
235
- };
236
- function i() {
237
- return 0;
238
- }
239
- function c(s) {
240
- return o(s) / 2;
241
- }
242
- function o(s) {
243
- return n - s;
244
- }
245
- function r(s, a) {
246
- return Pt(t) ? e[t](s) : t(n, s, a);
247
- }
248
- return {
249
- measure: r
250
- };
251
- }
252
- function bt() {
253
- let t = [];
254
- function n(c, o, r, u = {
255
- passive: !0
256
- }) {
257
- let s;
258
- if ("addEventListener" in c)
259
- c.addEventListener(o, r, u), s = () => c.removeEventListener(o, r, u);
260
- else {
261
- const a = c;
262
- a.addListener(r), s = () => a.removeListener(r);
263
- }
264
- return t.push(s), i;
265
- }
266
- function e() {
267
- t = t.filter((c) => c());
268
- }
269
- const i = {
270
- add: n,
271
- clear: e
272
- };
273
- return i;
274
- }
275
- function Cn(t, n, e, i) {
276
- const c = bt(), o = 1e3 / 60;
277
- let r = null, u = 0, s = 0;
278
- function a() {
279
- c.add(t, "visibilitychange", () => {
280
- t.hidden && f();
281
- });
282
- }
283
- function g() {
284
- S(), c.clear();
285
- }
286
- function l(y) {
287
- if (!s) return;
288
- r || (r = y, e(), e());
289
- const d = y - r;
290
- for (r = y, u += d; u >= o; )
291
- e(), u -= o;
292
- const h = u / o;
293
- i(h), s && (s = n.requestAnimationFrame(l));
294
- }
295
- function m() {
296
- s || (s = n.requestAnimationFrame(l));
297
- }
298
- function S() {
299
- n.cancelAnimationFrame(s), r = null, u = 0, s = 0;
300
- }
301
- function f() {
302
- r = null, u = 0;
303
- }
304
- return {
305
- init: a,
306
- destroy: g,
307
- start: m,
308
- stop: S,
309
- update: e,
310
- render: i
311
- };
312
- }
313
- function kn(t, n) {
314
- const e = n === "rtl", i = t === "y", c = i ? "y" : "x", o = i ? "x" : "y", r = !i && e ? -1 : 1, u = g(), s = l();
315
- function a(f) {
316
- const {
317
- height: p,
318
- width: y
319
- } = f;
320
- return i ? p : y;
321
- }
322
- function g() {
323
- return i ? "top" : e ? "right" : "left";
324
- }
325
- function l() {
326
- return i ? "bottom" : e ? "left" : "right";
327
- }
328
- function m(f) {
329
- return f * r;
330
- }
331
- return {
332
- scroll: c,
333
- cross: o,
334
- startEdge: u,
335
- endEdge: s,
336
- measureSize: a,
337
- direction: m
338
- };
339
- }
340
- function at(t = 0, n = 0) {
341
- const e = P(t - n);
342
- function i(a) {
343
- return a < t;
344
- }
345
- function c(a) {
346
- return a > n;
347
- }
348
- function o(a) {
349
- return i(a) || c(a);
350
- }
351
- function r(a) {
352
- return o(a) ? i(a) ? t : n : a;
353
- }
354
- function u(a) {
355
- return e ? a - e * Math.ceil((a - n) / e) : a;
356
- }
357
- return {
358
- length: e,
359
- max: n,
360
- min: t,
361
- constrain: r,
362
- reachedAny: o,
363
- reachedMax: c,
364
- reachedMin: i,
365
- removeOffset: u
366
- };
367
- }
368
- function rn(t, n, e) {
369
- const {
370
- constrain: i
371
- } = at(0, t), c = t + 1;
372
- let o = r(n);
373
- function r(m) {
374
- return e ? P((c + m) % c) : i(m);
375
- }
376
- function u() {
377
- return o;
378
- }
379
- function s(m) {
380
- return o = r(m), l;
381
- }
382
- function a(m) {
383
- return g().set(u() + m);
384
- }
385
- function g() {
386
- return rn(t, u(), e);
387
- }
388
- const l = {
389
- get: u,
390
- set: s,
391
- add: a,
392
- clone: g
393
- };
394
- return l;
395
- }
396
- function An(t, n, e, i, c, o, r, u, s, a, g, l, m, S, f, p, y, d, h) {
397
- const {
398
- cross: b,
399
- direction: E
400
- } = t, L = ["INPUT", "SELECT", "TEXTAREA"], I = {
401
- passive: !1
402
- }, x = bt(), w = bt(), _ = at(50, 225).constrain(S.measure(20)), N = {
403
- mouse: 300,
404
- touch: 400
405
- }, O = {
406
- mouse: 500,
407
- touch: 600
408
- }, k = f ? 43 : 25;
409
- let H = !1, T = 0, A = 0, j = !1, $ = !1, G = !1, U = !1;
410
- function K(v) {
411
- if (!h) return;
412
- function D(F) {
413
- (It(h) || h(v, F)) && dt(F);
414
- }
415
- const C = n;
416
- x.add(C, "dragstart", (F) => F.preventDefault(), I).add(C, "touchmove", () => {
417
- }, I).add(C, "touchend", () => {
418
- }).add(C, "touchstart", D).add(C, "mousedown", D).add(C, "touchcancel", B).add(C, "contextmenu", B).add(C, "click", W, !0);
419
- }
420
- function R() {
421
- x.clear(), w.clear();
422
- }
423
- function J() {
424
- const v = U ? e : n;
425
- w.add(v, "touchmove", z, I).add(v, "touchend", B).add(v, "mousemove", z, I).add(v, "mouseup", B);
426
- }
427
- function X(v) {
428
- const D = v.nodeName || "";
429
- return L.includes(D);
430
- }
431
- function Y() {
432
- return (f ? O : N)[U ? "mouse" : "touch"];
433
- }
434
- function ft(v, D) {
435
- const C = l.add(Bt(v) * -1), F = g.byDistance(v, !f).distance;
436
- return f || P(v) < _ ? F : y && D ? F * 0.5 : g.byIndex(C.get(), 0).distance;
437
- }
438
- function dt(v) {
439
- const D = Nt(v, i);
440
- U = D, G = f && D && !v.buttons && H, H = mt(c.get(), r.get()) >= 2, !(D && v.button !== 0) && (X(v.target) || (j = !0, o.pointerDown(v), a.useFriction(0).useDuration(0), c.set(r), J(), T = o.readPoint(v), A = o.readPoint(v, b), m.emit("pointerDown")));
441
- }
442
- function z(v) {
443
- if (!Nt(v, i) && v.touches.length >= 2) return B(v);
444
- const C = o.readPoint(v), F = o.readPoint(v, b), Q = mt(C, T), tt = mt(F, A);
445
- if (!$ && !U && (!v.cancelable || ($ = Q > tt, !$)))
446
- return B(v);
447
- const ct = o.pointerMove(v);
448
- Q > p && (G = !0), a.useFriction(0.3).useDuration(0.75), u.start(), c.add(E(ct)), v.preventDefault();
449
- }
450
- function B(v) {
451
- const C = g.byDistance(0, !1).index !== l.get(), F = o.pointerUp(v) * Y(), Q = ft(E(F), C), tt = Mn(F, Q), ct = k - 10 * tt, et = d + tt / 50;
452
- $ = !1, j = !1, w.clear(), a.useDuration(ct).useFriction(et), s.distance(Q, !f), U = !1, m.emit("pointerUp");
453
- }
454
- function W(v) {
455
- G && (v.stopPropagation(), v.preventDefault(), G = !1);
456
- }
457
- function q() {
458
- return j;
459
- }
460
- return {
461
- init: K,
462
- destroy: R,
463
- pointerDown: q
464
- };
465
- }
466
- function Bn(t, n) {
467
- let i, c;
468
- function o(l) {
469
- return l.timeStamp;
470
- }
471
- function r(l, m) {
472
- const f = `client${(m || t.scroll) === "x" ? "X" : "Y"}`;
473
- return (Nt(l, n) ? l : l.touches[0])[f];
474
- }
475
- function u(l) {
476
- return i = l, c = l, r(l);
477
- }
478
- function s(l) {
479
- const m = r(l) - r(c), S = o(l) - o(i) > 170;
480
- return c = l, S && (i = l), m;
481
- }
482
- function a(l) {
483
- if (!i || !c) return 0;
484
- const m = r(c) - r(i), S = o(l) - o(i), f = o(l) - o(c) > 170, p = m / S;
485
- return S && !f && P(p) > 0.1 ? p : 0;
486
- }
487
- return {
488
- pointerDown: u,
489
- pointerMove: s,
490
- pointerUp: a,
491
- readPoint: r
492
- };
493
- }
494
- function Fn() {
495
- function t(e) {
496
- const {
497
- offsetTop: i,
498
- offsetLeft: c,
499
- offsetWidth: o,
500
- offsetHeight: r
501
- } = e;
502
- return {
503
- top: i,
504
- right: c + o,
505
- bottom: i + r,
506
- left: c,
507
- width: o,
508
- height: r
509
- };
510
- }
511
- return {
512
- measure: t
513
- };
514
- }
515
- function Vn(t) {
516
- function n(i) {
517
- return t * (i / 100);
518
- }
519
- return {
520
- measure: n
521
- };
522
- }
523
- function zn(t, n, e, i, c, o, r) {
524
- const u = [t].concat(i);
525
- let s, a, g = [], l = !1;
526
- function m(y) {
527
- return c.measureSize(r.measure(y));
528
- }
529
- function S(y) {
530
- if (!o) return;
531
- a = m(t), g = i.map(m);
532
- function d(h) {
533
- for (const b of h) {
534
- if (l) return;
535
- const E = b.target === t, L = i.indexOf(b.target), I = E ? a : g[L], x = m(E ? t : i[L]);
536
- if (P(x - I) >= 0.5) {
537
- y.reInit(), n.emit("resize");
538
- break;
539
- }
540
- }
541
- }
542
- s = new ResizeObserver((h) => {
543
- (It(o) || o(y, h)) && d(h);
544
- }), e.requestAnimationFrame(() => {
545
- u.forEach((h) => s.observe(h));
546
- });
547
- }
548
- function f() {
549
- l = !0, s && s.disconnect();
550
- }
551
- return {
552
- init: S,
553
- destroy: f
554
- };
555
- }
556
- function jn(t, n, e, i, c, o) {
557
- let r = 0, u = 0, s = c, a = o, g = t.get(), l = 0;
558
- function m() {
559
- const I = i.get() - t.get(), x = !s;
560
- let w = 0;
561
- return x ? (r = 0, e.set(i), t.set(i), w = I) : (e.set(t), r += I / s, r *= a, g += r, t.add(r), w = g - l), u = Bt(w), l = g, L;
562
- }
563
- function S() {
564
- const I = i.get() - n.get();
565
- return P(I) < 1e-3;
566
- }
567
- function f() {
568
- return s;
569
- }
570
- function p() {
571
- return u;
572
- }
573
- function y() {
574
- return r;
575
- }
576
- function d() {
577
- return b(c);
578
- }
579
- function h() {
580
- return E(o);
581
- }
582
- function b(I) {
583
- return s = I, L;
584
- }
585
- function E(I) {
586
- return a = I, L;
587
- }
588
- const L = {
589
- direction: p,
590
- duration: f,
591
- velocity: y,
592
- seek: m,
593
- settled: S,
594
- useBaseFriction: h,
595
- useBaseDuration: d,
596
- useFriction: E,
597
- useDuration: b
598
- };
599
- return L;
600
- }
601
- function $n(t, n, e, i, c) {
602
- const o = c.measure(10), r = c.measure(50), u = at(0.1, 0.99);
603
- let s = !1;
604
- function a() {
605
- return !(s || !t.reachedAny(e.get()) || !t.reachedAny(n.get()));
606
- }
607
- function g(S) {
608
- if (!a()) return;
609
- const f = t.reachedMin(n.get()) ? "min" : "max", p = P(t[f] - n.get()), y = e.get() - n.get(), d = u.constrain(p / r);
610
- e.subtract(y * d), !S && P(y) < o && (e.set(t.constrain(e.get())), i.useDuration(25).useBaseFriction());
611
- }
612
- function l(S) {
613
- s = !S;
614
- }
615
- return {
616
- shouldConstrain: a,
617
- constrain: g,
618
- toggleActive: l
619
- };
620
- }
621
- function Rn(t, n, e, i, c) {
622
- const o = at(-n + t, 0), r = l(), u = g(), s = m();
623
- function a(f, p) {
624
- return mt(f, p) <= 1;
625
- }
626
- function g() {
627
- const f = r[0], p = Z(r), y = r.lastIndexOf(f), d = r.indexOf(p) + 1;
628
- return at(y, d);
629
- }
630
- function l() {
631
- return e.map((f, p) => {
632
- const {
633
- min: y,
634
- max: d
635
- } = o, h = o.constrain(f), b = !p, E = Ft(e, p);
636
- return b ? d : E || a(y, h) ? y : a(d, h) ? d : h;
637
- }).map((f) => parseFloat(f.toFixed(3)));
638
- }
639
- function m() {
640
- if (n <= t + c) return [o.max];
641
- if (i === "keepSnaps") return r;
642
- const {
643
- min: f,
644
- max: p
645
- } = u;
646
- return r.slice(f, p);
647
- }
648
- return {
649
- snapsContained: s,
650
- scrollContainLimit: u
651
- };
652
- }
653
- function qn(t, n, e) {
654
- const i = n[0], c = e ? i - t : Z(n);
655
- return {
656
- limit: at(c, i)
657
- };
658
- }
659
- function Hn(t, n, e, i) {
660
- const o = n.min + 0.1, r = n.max + 0.1, {
661
- reachedMin: u,
662
- reachedMax: s
663
- } = at(o, r);
664
- function a(m) {
665
- return m === 1 ? s(e.get()) : m === -1 ? u(e.get()) : !1;
666
- }
667
- function g(m) {
668
- if (!a(m)) return;
669
- const S = t * (m * -1);
670
- i.forEach((f) => f.add(S));
671
- }
672
- return {
673
- loop: g
674
- };
675
- }
676
- function Gn(t) {
677
- const {
678
- max: n,
679
- length: e
680
- } = t;
681
- function i(o) {
682
- const r = o - n;
683
- return e ? r / -e : 0;
684
- }
685
- return {
686
- get: i
687
- };
688
- }
689
- function Un(t, n, e, i, c) {
690
- const {
691
- startEdge: o,
692
- endEdge: r
693
- } = t, {
694
- groupSlides: u
695
- } = c, s = l().map(n.measure), a = m(), g = S();
696
- function l() {
697
- return u(i).map((p) => Z(p)[r] - p[0][o]).map(P);
698
- }
699
- function m() {
700
- return i.map((p) => e[o] - p[o]).map((p) => -P(p));
701
- }
702
- function S() {
703
- return u(a).map((p) => p[0]).map((p, y) => p + s[y]);
704
- }
705
- return {
706
- snaps: a,
707
- snapsAligned: g
708
- };
709
- }
710
- function Zn(t, n, e, i, c, o) {
711
- const {
712
- groupSlides: r
713
- } = c, {
714
- min: u,
715
- max: s
716
- } = i, a = g();
717
- function g() {
718
- const m = r(o), S = !t || n === "keepSnaps";
719
- return e.length === 1 ? [o] : S ? m : m.slice(u, s).map((f, p, y) => {
720
- const d = !p, h = Ft(y, p);
721
- if (d) {
722
- const b = Z(y[0]) + 1;
723
- return Yt(b);
724
- }
725
- if (h) {
726
- const b = vt(o) - Z(y)[0] + 1;
727
- return Yt(b, Z(y)[0]);
728
- }
729
- return f;
730
- });
731
- }
732
- return {
733
- slideRegistry: a
734
- };
735
- }
736
- function Kn(t, n, e, i, c) {
737
- const {
738
- reachedAny: o,
739
- removeOffset: r,
740
- constrain: u
741
- } = i;
742
- function s(f) {
743
- return f.concat().sort((p, y) => P(p) - P(y))[0];
744
- }
745
- function a(f) {
746
- const p = t ? r(f) : u(f), y = n.map((h, b) => ({
747
- diff: g(h - p, 0),
748
- index: b
749
- })).sort((h, b) => P(h.diff) - P(b.diff)), {
750
- index: d
751
- } = y[0];
752
- return {
753
- index: d,
754
- distance: p
755
- };
756
- }
757
- function g(f, p) {
758
- const y = [f, f + e, f - e];
759
- if (!t) return f;
760
- if (!p) return s(y);
761
- const d = y.filter((h) => Bt(h) === p);
762
- return d.length ? s(d) : Z(y) - e;
763
- }
764
- function l(f, p) {
765
- const y = n[f] - c.get(), d = g(y, p);
766
- return {
767
- index: f,
768
- distance: d
769
- };
770
- }
771
- function m(f, p) {
772
- const y = c.get() + f, {
773
- index: d,
774
- distance: h
775
- } = a(y), b = !t && o(y);
776
- if (!p || b) return {
777
- index: d,
778
- distance: f
779
- };
780
- const E = n[d] - h, L = f + g(E, 0);
781
- return {
782
- index: d,
783
- distance: L
784
- };
785
- }
786
- return {
787
- byDistance: m,
788
- byIndex: l,
789
- shortcut: g
790
- };
791
- }
792
- function Qn(t, n, e, i, c, o, r) {
793
- function u(l) {
794
- const m = l.distance, S = l.index !== n.get();
795
- o.add(m), m && (i.duration() ? t.start() : (t.update(), t.render(1), t.update())), S && (e.set(n.get()), n.set(l.index), r.emit("select"));
796
- }
797
- function s(l, m) {
798
- const S = c.byDistance(l, m);
799
- u(S);
800
- }
801
- function a(l, m) {
802
- const S = n.clone().set(l), f = c.byIndex(S.get(), m);
803
- u(f);
804
- }
805
- return {
806
- distance: s,
807
- index: a
808
- };
809
- }
810
- function Jn(t, n, e, i, c, o, r, u) {
811
- const s = {
812
- passive: !0,
813
- capture: !0
814
- };
815
- let a = 0;
816
- function g(S) {
817
- if (!u) return;
818
- function f(p) {
819
- if ((/* @__PURE__ */ new Date()).getTime() - a > 10) return;
820
- r.emit("slideFocusStart"), t.scrollLeft = 0;
821
- const h = e.findIndex((b) => b.includes(p));
822
- At(h) && (c.useDuration(0), i.index(h, 0), r.emit("slideFocus"));
823
- }
824
- o.add(document, "keydown", l, !1), n.forEach((p, y) => {
825
- o.add(p, "focus", (d) => {
826
- (It(u) || u(S, d)) && f(y);
827
- }, s);
828
- });
829
- }
830
- function l(S) {
831
- S.code === "Tab" && (a = (/* @__PURE__ */ new Date()).getTime());
832
- }
833
- return {
834
- init: g
835
- };
836
- }
837
- function gt(t) {
838
- let n = t;
839
- function e() {
840
- return n;
841
- }
842
- function i(s) {
843
- n = r(s);
844
- }
845
- function c(s) {
846
- n += r(s);
847
- }
848
- function o(s) {
849
- n -= r(s);
850
- }
851
- function r(s) {
852
- return At(s) ? s : s.get();
853
- }
854
- return {
855
- get: e,
856
- set: i,
857
- add: c,
858
- subtract: o
859
- };
860
- }
861
- function sn(t, n) {
862
- const e = t.scroll === "x" ? r : u, i = n.style;
863
- let c = null, o = !1;
864
- function r(m) {
865
- return `translate3d(${m}px,0px,0px)`;
866
- }
867
- function u(m) {
868
- return `translate3d(0px,${m}px,0px)`;
869
- }
870
- function s(m) {
871
- if (o) return;
872
- const S = Pn(t.direction(m));
873
- S !== c && (i.transform = e(S), c = S);
874
- }
875
- function a(m) {
876
- o = !m;
877
- }
878
- function g() {
879
- o || (i.transform = "", n.getAttribute("style") || n.removeAttribute("style"));
880
- }
881
- return {
882
- clear: g,
883
- to: s,
884
- toggleActive: a
885
- };
886
- }
887
- function Xn(t, n, e, i, c, o, r, u, s) {
888
- const g = ht(c), l = ht(c).reverse(), m = d().concat(h());
889
- function S(x, w) {
890
- return x.reduce((_, N) => _ - c[N], w);
891
- }
892
- function f(x, w) {
893
- return x.reduce((_, N) => S(_, w) > 0 ? _.concat([N]) : _, []);
894
- }
895
- function p(x) {
896
- return o.map((w, _) => ({
897
- start: w - i[_] + 0.5 + x,
898
- end: w + n - 0.5 + x
899
- }));
900
- }
901
- function y(x, w, _) {
902
- const N = p(w);
903
- return x.map((O) => {
904
- const k = _ ? 0 : -e, H = _ ? e : 0, T = _ ? "end" : "start", A = N[O][T];
905
- return {
906
- index: O,
907
- loopPoint: A,
908
- slideLocation: gt(-1),
909
- translate: sn(t, s[O]),
910
- target: () => u.get() > A ? k : H
911
- };
912
- });
913
- }
914
- function d() {
915
- const x = r[0], w = f(l, x);
916
- return y(w, e, !1);
917
- }
918
- function h() {
919
- const x = n - r[0] - 1, w = f(g, x);
920
- return y(w, -e, !0);
921
- }
922
- function b() {
923
- return m.every(({
924
- index: x
925
- }) => {
926
- const w = g.filter((_) => _ !== x);
927
- return S(w, n) <= 0.1;
928
- });
929
- }
930
- function E() {
931
- m.forEach((x) => {
932
- const {
933
- target: w,
934
- translate: _,
935
- slideLocation: N
936
- } = x, O = w();
937
- O !== N.get() && (_.to(O), N.set(O));
938
- });
939
- }
940
- function L() {
941
- m.forEach((x) => x.translate.clear());
942
- }
943
- return {
944
- canLoop: b,
945
- clear: L,
946
- loop: E,
947
- loopPoints: m
948
- };
949
- }
950
- function Yn(t, n, e) {
951
- let i, c = !1;
952
- function o(s) {
953
- if (!e) return;
954
- function a(g) {
955
- for (const l of g)
956
- if (l.type === "childList") {
957
- s.reInit(), n.emit("slidesChanged");
958
- break;
959
- }
960
- }
961
- i = new MutationObserver((g) => {
962
- c || (It(e) || e(s, g)) && a(g);
963
- }), i.observe(t, {
964
- childList: !0
965
- });
966
- }
967
- function r() {
968
- i && i.disconnect(), c = !0;
969
- }
970
- return {
971
- init: o,
972
- destroy: r
973
- };
974
- }
975
- function Wn(t, n, e, i) {
976
- const c = {};
977
- let o = null, r = null, u, s = !1;
978
- function a() {
979
- u = new IntersectionObserver((f) => {
980
- s || (f.forEach((p) => {
981
- const y = n.indexOf(p.target);
982
- c[y] = p;
983
- }), o = null, r = null, e.emit("slidesInView"));
984
- }, {
985
- root: t.parentElement,
986
- threshold: i
987
- }), n.forEach((f) => u.observe(f));
988
- }
989
- function g() {
990
- u && u.disconnect(), s = !0;
991
- }
992
- function l(f) {
993
- return St(c).reduce((p, y) => {
994
- const d = parseInt(y), {
995
- isIntersecting: h
996
- } = c[d];
997
- return (f && h || !f && !h) && p.push(d), p;
998
- }, []);
999
- }
1000
- function m(f = !0) {
1001
- if (f && o) return o;
1002
- if (!f && r) return r;
1003
- const p = l(f);
1004
- return f && (o = p), f || (r = p), p;
1005
- }
1006
- return {
1007
- init: a,
1008
- destroy: g,
1009
- get: m
1010
- };
1011
- }
1012
- function te(t, n, e, i, c, o) {
1013
- const {
1014
- measureSize: r,
1015
- startEdge: u,
1016
- endEdge: s
1017
- } = t, a = e[0] && c, g = f(), l = p(), m = e.map(r), S = y();
1018
- function f() {
1019
- if (!a) return 0;
1020
- const h = e[0];
1021
- return P(n[u] - h[u]);
1022
- }
1023
- function p() {
1024
- if (!a) return 0;
1025
- const h = o.getComputedStyle(Z(i));
1026
- return parseFloat(h.getPropertyValue(`margin-${s}`));
1027
- }
1028
- function y() {
1029
- return e.map((h, b, E) => {
1030
- const L = !b, I = Ft(E, b);
1031
- return L ? m[b] + g : I ? m[b] + l : E[b + 1][u] - h[u];
1032
- }).map(P);
1033
- }
1034
- return {
1035
- slideSizes: m,
1036
- slideSizesWithGaps: S,
1037
- startGap: g,
1038
- endGap: l
1039
- };
1040
- }
1041
- function ne(t, n, e, i, c, o, r, u, s) {
1042
- const {
1043
- startEdge: a,
1044
- endEdge: g,
1045
- direction: l
1046
- } = t, m = At(e);
1047
- function S(d, h) {
1048
- return ht(d).filter((b) => b % h === 0).map((b) => d.slice(b, b + h));
1049
- }
1050
- function f(d) {
1051
- return d.length ? ht(d).reduce((h, b, E) => {
1052
- const L = Z(h) || 0, I = L === 0, x = b === vt(d), w = c[a] - o[L][a], _ = c[a] - o[b][g], N = !i && I ? l(r) : 0, O = !i && x ? l(u) : 0, k = P(_ - O - (w + N));
1053
- return E && k > n + s && h.push(b), x && h.push(d.length), h;
1054
- }, []).map((h, b, E) => {
1055
- const L = Math.max(E[b - 1] || 0);
1056
- return d.slice(L, h);
1057
- }) : [];
1058
- }
1059
- function p(d) {
1060
- return m ? S(d, e) : f(d);
1061
- }
1062
- return {
1063
- groupSlides: p
1064
- };
1065
- }
1066
- function ee(t, n, e, i, c, o, r) {
1067
- const {
1068
- align: u,
1069
- axis: s,
1070
- direction: a,
1071
- startIndex: g,
1072
- loop: l,
1073
- duration: m,
1074
- dragFree: S,
1075
- dragThreshold: f,
1076
- inViewThreshold: p,
1077
- slidesToScroll: y,
1078
- skipSnaps: d,
1079
- containScroll: h,
1080
- watchResize: b,
1081
- watchSlides: E,
1082
- watchDrag: L,
1083
- watchFocus: I
1084
- } = o, x = 2, w = Fn(), _ = w.measure(n), N = e.map(w.measure), O = kn(s, a), k = O.measureSize(_), H = Vn(k), T = Nn(u, k), A = !l && !!h, j = l || !!h, {
1085
- slideSizes: $,
1086
- slideSizesWithGaps: G,
1087
- startGap: U,
1088
- endGap: K
1089
- } = te(O, _, N, e, j, c), R = ne(O, k, y, l, _, N, U, K, x), {
1090
- snaps: J,
1091
- snapsAligned: X
1092
- } = Un(O, T, _, N, R), Y = -Z(J) + Z(G), {
1093
- snapsContained: ft,
1094
- scrollContainLimit: dt
1095
- } = Rn(k, Y, X, h, x), z = A ? ft : X, {
1096
- limit: B
1097
- } = qn(Y, z, l), W = rn(vt(z), g, l), q = W.clone(), M = ht(e), v = ({
1098
- dragHandler: lt,
1099
- scrollBody: Tt,
1100
- scrollBounds: Dt,
1101
- options: {
1102
- loop: xt
1103
- }
1104
- }) => {
1105
- xt || Dt.constrain(lt.pointerDown()), Tt.seek();
1106
- }, D = ({
1107
- scrollBody: lt,
1108
- translate: Tt,
1109
- location: Dt,
1110
- offsetLocation: xt,
1111
- previousLocation: fn,
1112
- scrollLooper: dn,
1113
- slideLooper: pn,
1114
- dragHandler: gn,
1115
- animation: mn,
1116
- eventHandler: Rt,
1117
- scrollBounds: yn,
1118
- options: {
1119
- loop: qt
1120
- }
1121
- }, Ht) => {
1122
- const Gt = lt.settled(), hn = !yn.shouldConstrain(), Ut = qt ? Gt : Gt && hn, Zt = Ut && !gn.pointerDown();
1123
- Zt && mn.stop();
1124
- const Sn = Dt.get() * Ht + fn.get() * (1 - Ht);
1125
- xt.set(Sn), qt && (dn.loop(lt.direction()), pn.loop()), Tt.to(xt.get()), Zt && Rt.emit("settle"), Ut || Rt.emit("scroll");
1126
- }, C = Cn(i, c, () => v(Ot), (lt) => D(Ot, lt)), F = 0.68, Q = z[W.get()], tt = gt(Q), ct = gt(Q), et = gt(Q), ut = gt(Q), pt = jn(tt, et, ct, ut, m, F), Lt = Kn(l, z, Y, B, ut), _t = Qn(C, W, q, pt, Lt, ut, r), zt = Gn(B), jt = bt(), an = Wn(n, e, r, p), {
1127
- slideRegistry: $t
1128
- } = Zn(A, h, z, dt, R, M), ln = Jn(t, e, $t, _t, pt, jt, r, I), Ot = {
1129
- ownerDocument: i,
1130
- ownerWindow: c,
1131
- eventHandler: r,
1132
- containerRect: _,
1133
- slideRects: N,
1134
- animation: C,
1135
- axis: O,
1136
- dragHandler: An(O, t, i, c, ut, Bn(O, c), tt, C, _t, pt, Lt, W, r, H, S, f, d, F, L),
1137
- eventStore: jt,
1138
- percentOfView: H,
1139
- index: W,
1140
- indexPrevious: q,
1141
- limit: B,
1142
- location: tt,
1143
- offsetLocation: et,
1144
- previousLocation: ct,
1145
- options: o,
1146
- resizeHandler: zn(n, r, c, e, O, b, w),
1147
- scrollBody: pt,
1148
- scrollBounds: $n(B, et, ut, pt, H),
1149
- scrollLooper: Hn(Y, B, et, [tt, et, ct, ut]),
1150
- scrollProgress: zt,
1151
- scrollSnapList: z.map(zt.get),
1152
- scrollSnaps: z,
1153
- scrollTarget: Lt,
1154
- scrollTo: _t,
1155
- slideLooper: Xn(O, k, Y, $, G, J, z, et, e),
1156
- slideFocus: ln,
1157
- slidesHandler: Yn(n, r, E),
1158
- slidesInView: an,
1159
- slideIndexes: M,
1160
- slideRegistry: $t,
1161
- slidesToScroll: R,
1162
- target: ut,
1163
- translate: sn(O, n)
1164
- };
1165
- return Ot;
1166
- }
1167
- function oe() {
1168
- let t = {}, n;
1169
- function e(a) {
1170
- n = a;
1171
- }
1172
- function i(a) {
1173
- return t[a] || [];
1174
- }
1175
- function c(a) {
1176
- return i(a).forEach((g) => g(n, a)), s;
1177
- }
1178
- function o(a, g) {
1179
- return t[a] = i(a).concat([g]), s;
1180
- }
1181
- function r(a, g) {
1182
- return t[a] = i(a).filter((l) => l !== g), s;
1183
- }
1184
- function u() {
1185
- t = {};
1186
- }
1187
- const s = {
1188
- init: e,
1189
- emit: c,
1190
- off: r,
1191
- on: o,
1192
- clear: u
1193
- };
1194
- return s;
1195
- }
1196
- const re = {
1197
- align: "center",
1198
- axis: "x",
1199
- container: null,
1200
- slides: null,
1201
- containScroll: "trimSnaps",
1202
- direction: "ltr",
1203
- slidesToScroll: 1,
1204
- inViewThreshold: 0,
1205
- breakpoints: {},
1206
- dragFree: !1,
1207
- dragThreshold: 10,
1208
- loop: !1,
1209
- skipSnaps: !1,
1210
- duration: 25,
1211
- startIndex: 0,
1212
- active: !0,
1213
- watchDrag: !0,
1214
- watchResize: !0,
1215
- watchSlides: !0,
1216
- watchFocus: !0
1217
- };
1218
- function se(t) {
1219
- function n(o, r) {
1220
- return on(o, r || {});
1221
- }
1222
- function e(o) {
1223
- const r = o.breakpoints || {}, u = St(r).filter((s) => t.matchMedia(s).matches).map((s) => r[s]).reduce((s, a) => n(s, a), {});
1224
- return n(o, u);
1225
- }
1226
- function i(o) {
1227
- return o.map((r) => St(r.breakpoints || {})).reduce((r, u) => r.concat(u), []).map(t.matchMedia);
1228
- }
1229
- return {
1230
- mergeOptions: n,
1231
- optionsAtMedia: e,
1232
- optionsMediaQueries: i
1233
- };
1234
- }
1235
- function ie(t) {
1236
- let n = [];
1237
- function e(o, r) {
1238
- return n = r.filter(({
1239
- options: u
1240
- }) => t.optionsAtMedia(u).active !== !1), n.forEach((u) => u.init(o, t)), r.reduce((u, s) => Object.assign(u, {
1241
- [s.name]: s
1242
- }), {});
1243
- }
1244
- function i() {
1245
- n = n.filter((o) => o.destroy());
1246
- }
1247
- return {
1248
- init: e,
1249
- destroy: i
1250
- };
1251
- }
1252
- function Et(t, n, e) {
1253
- const i = t.ownerDocument, c = i.defaultView, o = se(c), r = ie(o), u = bt(), s = oe(), {
1254
- mergeOptions: a,
1255
- optionsAtMedia: g,
1256
- optionsMediaQueries: l
1257
- } = o, {
1258
- on: m,
1259
- off: S,
1260
- emit: f
1261
- } = s, p = O;
1262
- let y = !1, d, h = a(re, Et.globalOptions), b = a(h), E = [], L, I, x;
1263
- function w() {
1264
- const {
1265
- container: M,
1266
- slides: v
1267
- } = b;
1268
- I = (Pt(M) ? t.querySelector(M) : M) || t.children[0];
1269
- const C = Pt(v) ? I.querySelectorAll(v) : v;
1270
- x = [].slice.call(C || I.children);
1271
- }
1272
- function _(M) {
1273
- const v = ee(t, I, x, i, c, M, s);
1274
- if (M.loop && !v.slideLooper.canLoop()) {
1275
- const D = Object.assign({}, M, {
1276
- loop: !1
1277
- });
1278
- return _(D);
1279
- }
1280
- return v;
1281
- }
1282
- function N(M, v) {
1283
- y || (h = a(h, M), b = g(h), E = v || E, w(), d = _(b), l([h, ...E.map(({
1284
- options: D
1285
- }) => D)]).forEach((D) => u.add(D, "change", O)), b.active && (d.translate.to(d.location.get()), d.animation.init(), d.slidesInView.init(), d.slideFocus.init(q), d.eventHandler.init(q), d.resizeHandler.init(q), d.slidesHandler.init(q), d.options.loop && d.slideLooper.loop(), I.offsetParent && x.length && d.dragHandler.init(q), L = r.init(q, E)));
1286
- }
1287
- function O(M, v) {
1288
- const D = R();
1289
- k(), N(a({
1290
- startIndex: D
1291
- }, M), v), s.emit("reInit");
1292
- }
1293
- function k() {
1294
- d.dragHandler.destroy(), d.eventStore.clear(), d.translate.clear(), d.slideLooper.clear(), d.resizeHandler.destroy(), d.slidesHandler.destroy(), d.slidesInView.destroy(), d.animation.destroy(), r.destroy(), u.clear();
1295
- }
1296
- function H() {
1297
- y || (y = !0, u.clear(), k(), s.emit("destroy"), s.clear());
1298
- }
1299
- function T(M, v, D) {
1300
- !b.active || y || (d.scrollBody.useBaseFriction().useDuration(v === !0 ? 0 : b.duration), d.scrollTo.index(M, D || 0));
1301
- }
1302
- function A(M) {
1303
- const v = d.index.add(1).get();
1304
- T(v, M, -1);
1305
- }
1306
- function j(M) {
1307
- const v = d.index.add(-1).get();
1308
- T(v, M, 1);
1309
- }
1310
- function $() {
1311
- return d.index.add(1).get() !== R();
1312
- }
1313
- function G() {
1314
- return d.index.add(-1).get() !== R();
1315
- }
1316
- function U() {
1317
- return d.scrollSnapList;
1318
- }
1319
- function K() {
1320
- return d.scrollProgress.get(d.offsetLocation.get());
1321
- }
1322
- function R() {
1323
- return d.index.get();
1324
- }
1325
- function J() {
1326
- return d.indexPrevious.get();
1327
- }
1328
- function X() {
1329
- return d.slidesInView.get();
1330
- }
1331
- function Y() {
1332
- return d.slidesInView.get(!1);
1333
- }
1334
- function ft() {
1335
- return L;
1336
- }
1337
- function dt() {
1338
- return d;
1339
- }
1340
- function z() {
1341
- return t;
1342
- }
1343
- function B() {
1344
- return I;
1345
- }
1346
- function W() {
1347
- return x;
1348
- }
1349
- const q = {
1350
- canScrollNext: $,
1351
- canScrollPrev: G,
1352
- containerNode: B,
1353
- internalEngine: dt,
1354
- destroy: H,
1355
- off: S,
1356
- on: m,
1357
- emit: f,
1358
- plugins: ft,
1359
- previousScrollSnap: J,
1360
- reInit: p,
1361
- rootNode: z,
1362
- scrollNext: A,
1363
- scrollPrev: j,
1364
- scrollProgress: K,
1365
- scrollSnapList: U,
1366
- scrollTo: T,
1367
- selectedScrollSnap: R,
1368
- slideNodes: W,
1369
- slidesInView: X,
1370
- slidesNotInView: Y
1371
- };
1372
- return N(n, e), setTimeout(() => s.emit("init"), 0), q;
1373
- }
1374
- Et.globalOptions = void 0;
1375
- function Vt(t = {}, n = []) {
1376
- const e = yt(t), i = yt(n), [c, o] = it(), [r, u] = it(), s = nt(() => {
1377
- c && c.reInit(e.current, i.current);
1378
- }, [c]);
1379
- return st(() => {
1380
- kt(e.current, t) || (e.current = t, s());
1381
- }, [t, s]), st(() => {
1382
- Dn(i.current, n) || (i.current = n, s());
1383
- }, [n, s]), st(() => {
1384
- if (Tn() && r) {
1385
- Et.globalOptions = Vt.globalOptions;
1386
- const a = Et(r, e.current, i.current);
1387
- return o(a), () => a.destroy();
1388
- } else
1389
- o(void 0);
1390
- }, [r, o]), [u, c];
1391
- }
1392
- Vt.globalOptions = void 0;
1393
- const ce = {
1394
- "purpur-carousel": "_purpur-carousel_pqv4p_1",
1395
- "purpur-carousel__viewport": "_purpur-carousel__viewport_pqv4p_16",
1396
- "purpur-carousel__container": "_purpur-carousel__container_pqv4p_19",
1397
- "purpur-carousel__page-indicators": "_purpur-carousel__page-indicators_pqv4p_27",
1398
- "purpur-carousel__controls": "_purpur-carousel__controls_pqv4p_36",
1399
- "purpur-carousel__autoplay-pause-button": "_purpur-carousel__autoplay-pause-button_pqv4p_40",
1400
- "purpur-carousel__buttons": "_purpur-carousel__buttons_pqv4p_48",
1401
- "purpur-carousel__slide": "_purpur-carousel__slide_pqv4p_59"
1402
- }, ue = {
1403
- "carousel-page-indicator": "_carousel-page-indicator_y8joq_1",
1404
- "dot-progress": "_dot-progress_y8joq_1"
1405
- }, ae = tn.bind(ue), le = "carousel-page-indicator", fe = 4e3, de = ({
1406
- index: t,
1407
- selectedIndex: n,
1408
- totalIndicators: e,
1409
- showProgress: i,
1410
- delay: c = fe
1411
- }) => {
1412
- const o = () => {
1413
- const m = Math.min(t, e - 1 - t);
1414
- let S = u;
1415
- if (!g) return 0;
1416
- if (m === 0) return 150;
1417
- s === 0 && (u === 2 && (S = 1), u === 3 && (S = 2));
1418
- const f = 1 / (2 * (S || 0.5));
1419
- return f < 0.25 ? 50 : f < 0.5 ? 100 : 150;
1420
- }, r = t === n, u = Math.abs(n - t), s = Math.min(n, e - 1 - n), a = Math.max(5 - s, 3), g = u < a, l = e < 6 ? 150 : o();
1421
- return /* @__PURE__ */ V(
1422
- "li",
1423
- {
1424
- className: ae(le),
1425
- "data-selected": r,
1426
- "data-show-progress": i,
1427
- style: {
1428
- marginLeft: g ? "var(--purpur-spacing-100)" : void 0,
1429
- width: r ? "var(--purpur-spacing-400)" : `var(--purpur-spacing-${l})`,
1430
- height: `var(--purpur-spacing-${l})`,
1431
- // @ts-expect-error TS doesn't know about CSS variables yet
1432
- "--progress-time": `${c}ms`
1433
- }
1434
- }
1435
- );
1436
- }, pe = (t, n) => {
1437
- const e = yt(!1), [i, c] = it(!1), o = t?.plugins()?.autoplay, r = nt(() => {
1438
- if (!o) return;
1439
- (o.isPlaying() ? o.stop : o.play)();
1440
- }, [o]), u = () => {
1441
- o && o.reset();
1442
- };
1443
- return st(() => {
1444
- o && (c(o.isPlaying()), t.on("autoplay:play", () => c(!0)).on("autoplay:stop", () => c(!1)).on("reInit", () => c(o.isPlaying())));
1445
- }, [o, t]), st(() => {
1446
- if (!o || !n?.current) return;
1447
- const s = new IntersectionObserver(
1448
- ([g]) => {
1449
- g.isIntersecting ? e.current && (e.current = !1, o.play()) : o.isPlaying() && (e.current = !0, o.stop());
1450
- },
1451
- { threshold: 0 }
1452
- ), a = n.current;
1453
- return s.observe(a), () => s.disconnect();
1454
- }, [o, n]), {
1455
- isPlaying: i,
1456
- toggle: r,
1457
- reset: u
1458
- };
1459
- }, ge = (t) => {
1460
- const [n, e] = it(0), [i, c] = it([]), o = nt(
1461
- (s) => {
1462
- t && t.scrollTo(s);
1463
- },
1464
- [t]
1465
- ), r = nt((s) => {
1466
- c(s.scrollSnapList());
1467
- }, []), u = nt((s) => {
1468
- e(s.selectedScrollSnap());
1469
- }, []);
1470
- return st(() => {
1471
- t && (r(t), u(t), t.on("reInit", r).on("reInit", u).on("select", u));
1472
- }, [t, r, u]), {
1473
- selectedIndex: n,
1474
- scrollSnaps: i,
1475
- onIndicatorClick: o
1476
- };
1477
- }, cn = "(prefers-reduced-motion: reduce)", me = () => typeof window > "u" ? !1 : window.matchMedia(cn).matches, ye = () => {
1478
- const [t, n] = it(me);
1479
- return st(() => {
1480
- if (typeof window > "u")
1481
- return;
1482
- const e = window.matchMedia(cn), i = () => {
1483
- n(e.matches);
1484
- };
1485
- return i(), e.addEventListener("change", i), () => {
1486
- e.removeEventListener("change", i);
1487
- };
1488
- }, []), t;
1489
- }, he = (t, n, e) => {
1490
- const [i, c] = it(!0), [o, r] = it(!0), u = nt(() => {
1491
- t && (t.scrollPrev(), e.reset());
1492
- }, [t, e]), s = nt(() => {
1493
- t && (t.scrollNext(), e.reset());
1494
- }, [t, e]), a = nt((l) => {
1495
- c(!l.canScrollPrev()), r(!l.canScrollNext());
1496
- }, []), g = nt(
1497
- (l) => {
1498
- switch (l.key) {
1499
- case "ArrowLeft":
1500
- u(), l.target?.previousSibling?.focus();
1501
- break;
1502
- case "ArrowRight":
1503
- s(), l.target?.nextSibling?.focus();
1504
- break;
1505
- }
1506
- },
1507
- [u, s]
1508
- );
1509
- return st(() => {
1510
- const l = n.current;
1511
- if (t && l)
1512
- return a(t), t.on("reInit", a).on("select", a), l.addEventListener("keydown", g), () => {
1513
- l.removeEventListener("keydown", g);
1514
- };
1515
- }, [t, a, n, g]), {
1516
- prevBtnDisabled: i,
1517
- nextBtnDisabled: o,
1518
- onPrevButtonClick: u,
1519
- onNextButtonClick: s
1520
- };
1521
- }, ot = tn.bind(ce), rt = "purpur-carousel", un = ({
1522
- className: t,
1523
- options: n = {},
1524
- children: e,
1525
- controllerPlacement: i = "bottom",
1526
- ...c
1527
- }) => {
1528
- const o = yt(null), r = yt(null), u = typeof c.autoplay == "boolean" ? {} : c.autoplay ?? {}, s = ot(rt, t), a = ye(), g = be(
1529
- a ? { ...n, duration: 0 } : n
1530
- ), l = [];
1531
- c.autoplay && l.push(
1532
- Ct({
1533
- ...u,
1534
- jump: a
1535
- })
1536
- );
1537
- const [m, S] = Vt({ align: "start", ...g }, l), f = pe(S, o), p = he(S, o, f), { selectedIndex: y, scrollSnaps: d } = ge(S), h = () => Kt.Children.toArray(e).map((L) => Kt.Children.only(L)), b = () => /* @__PURE__ */ wt("div", { className: ot(`${rt}__controls`), children: [
1538
- c.hidePageIndicator !== !0 && /* @__PURE__ */ wt(bn, { children: [
1539
- /* @__PURE__ */ V(
1540
- "ul",
1541
- {
1542
- className: ot(`${rt}__page-indicators`),
1543
- "data-overflowing": d.length > 5,
1544
- "aria-label": `${c.ariaLabels.autoplay.indicator} ${y + 1}`,
1545
- "aria-live": "off",
1546
- children: d.map((L, I, x) => /* @__PURE__ */ V(
1547
- de,
1548
- {
1549
- index: I,
1550
- ref: r,
1551
- showProgress: f.isPlaying,
1552
- totalIndicators: x.length,
1553
- selectedIndex: y,
1554
- delay: u.delay
1555
- },
1556
- I
1557
- ))
1558
- }
1559
- ),
1560
- c.autoplay && /* @__PURE__ */ V(
1561
- Mt,
1562
- {
1563
- variant: "text",
1564
- "aria-label": f.isPlaying ? c.ariaLabels.autoplay.pause : c.ariaLabels.autoplay.play,
1565
- onClick: f.toggle,
1566
- iconOnly: !0,
1567
- size: "sm",
1568
- className: ot(`${rt}__autoplay-pause-button`),
1569
- children: f.isPlaying ? /* @__PURE__ */ V(en, { size: "xs" }) : /* @__PURE__ */ V(nn, { size: "xs" })
1570
- }
1571
- )
1572
- ] }),
1573
- /* @__PURE__ */ wt("div", { className: ot(`${rt}__buttons`), children: [
1574
- /* @__PURE__ */ V(
1575
- Mt,
1576
- {
1577
- iconOnly: !0,
1578
- "aria-label": c.ariaLabels.previousButton,
1579
- size: "md",
1580
- variant: "secondary",
1581
- onClick: p.onPrevButtonClick,
1582
- disabled: p.prevBtnDisabled,
1583
- children: /* @__PURE__ */ V(vn, { size: "xs" })
1584
- }
1585
- ),
1586
- /* @__PURE__ */ V(
1587
- Mt,
1588
- {
1589
- iconOnly: !0,
1590
- "aria-label": c.ariaLabels.nextButton,
1591
- size: "md",
1592
- variant: "secondary",
1593
- onClick: p.onNextButtonClick,
1594
- disabled: p.nextBtnDisabled,
1595
- children: /* @__PURE__ */ V(xn, { size: "xs" })
1596
- }
1597
- )
1598
- ] })
1599
- ] }), E = Math.max(0, Math.min(50, c.nextSlidePreview || 0));
1600
- return /* @__PURE__ */ wt(
1601
- "section",
1602
- {
1603
- ref: o,
1604
- className: s,
1605
- "data-is-looping": !!n?.loop,
1606
- style: {
1607
- // @ts-expect-error TS doesn't know about CSS variables yet
1608
- "--n": g.slidesToShow || 1,
1609
- "--preview": E,
1610
- "--slide-spacing": `var(--purpur-spacing-${c.slideSpacing || 300})`
1611
- },
1612
- children: [
1613
- i === "top" && b(),
1614
- /* @__PURE__ */ V("div", { className: ot(`${rt}__viewport`), ref: m, children: /* @__PURE__ */ V("ul", { className: ot(`${rt}__container`), children: h() }) }),
1615
- i === "bottom" && b()
1616
- ]
1617
- }
1618
- );
1619
- }, Se = ({ children: t }) => /* @__PURE__ */ V("li", { className: ot(`${rt}__slide`), children: t });
1620
- un.displayName = "Carousel";
1621
- un.Slide = Se;
1622
- function be(t = {}) {
1623
- const n = { ...t };
1624
- if (typeof window > "u" || !t.breakpoints)
1625
- return n;
1626
- for (const e in t.breakpoints)
1627
- Object.assign(n, window.matchMedia(e).matches ? t.breakpoints[e] : {});
1628
- return n;
1629
- }
1630
- export {
1631
- un as C
1632
- };
1633
- //# sourceMappingURL=carousel-DLkTL9sj.mjs.map