@preply/ds-web-lib 10.0.0 → 11.1.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 (303) hide show
  1. package/dist/Accordion-B0hR-tcI.js +96 -0
  2. package/dist/AlertBannerProvider-Cf7w9AOq.js +76 -0
  3. package/dist/AlertDialog-BG-diKBi.js +475 -0
  4. package/dist/Avatar-B-JdqVyg.js +66 -0
  5. package/dist/AvatarWithStatus-CD9jEqEB.js +36 -0
  6. package/dist/Badge-Dd-CLBoW.js +50 -0
  7. package/dist/Box-BJBE9KNm.js +91 -0
  8. package/dist/BubbleCounter.module-BU2S0euA.js +16 -0
  9. package/dist/Button-C35BZJZT.js +91 -0
  10. package/dist/ButtonBase-8eUyTWxX.js +215 -0
  11. package/dist/Checkbox-CtolNbxI.js +108 -0
  12. package/dist/Chips-BRGw7Uup.js +99 -0
  13. package/dist/ChipsPrimitive-Bezq7ptE.js +1179 -0
  14. package/dist/CountryFlag-DVDKHmQH.js +43 -0
  15. package/dist/Dialog.module-Db2BJAn4.js +21 -0
  16. package/dist/DialogCloseButton-DjDd9Mid.js +98 -0
  17. package/dist/DialogDescription-8zw9t6pm.js +44 -0
  18. package/dist/DialogRoot-B67oJduC.js +335 -0
  19. package/dist/DialogRootContext-Bz8RW-Mq.js +12 -0
  20. package/dist/DialogTitle-C2Nn2ys-.js +43 -0
  21. package/dist/Divider-DvwDWB9_.js +17 -0
  22. package/dist/DropdownMenu.primitives-BrsTBvMk.js +4007 -0
  23. package/dist/FieldButton-B2slox8P.js +32 -0
  24. package/dist/FormControl-qnbQL1iF.js +128 -0
  25. package/dist/Heading-DA9gHfsx.js +71 -0
  26. package/dist/Icon-CixAeOSd.js +48 -0
  27. package/dist/IconButton-BPKpgfep.js +31 -0
  28. package/dist/InputContainer-CzzuOe_p.js +38 -0
  29. package/dist/LayoutFlex-e9auDvWD.js +86 -0
  30. package/dist/LayoutFlexItem-D9ziMmHe.js +48 -0
  31. package/dist/LayoutGridItem-Q8Lnvrri.js +34 -0
  32. package/dist/Link-CdoJVeER.js +66 -0
  33. package/dist/Loader-BMOxdJce.js +26 -0
  34. package/dist/OnboardingTooltip-B47_Yrsj.js +165 -0
  35. package/dist/OnboardingTour-DUUoI5WE.js +131 -0
  36. package/dist/PasswordField-Bx5YG62t.js +93 -0
  37. package/dist/PreplyLogo-abgOre30.js +112 -0
  38. package/dist/ProgressBar-CEU4GyHn.js +31 -0
  39. package/dist/ProgressSteps-BSqopxqv.js +45 -0
  40. package/dist/Select-Bo7PX_8V.js +124 -0
  41. package/dist/Slider-Crg4DEn_.js +64 -0
  42. package/dist/Spinner-Ck8KQA22.js +86 -0
  43. package/dist/Stars-D5QspUBE.js +72 -0
  44. package/dist/Steps-DbN5vFrP.js +173 -0
  45. package/dist/Switch-Ck_xB0ID.js +49 -0
  46. package/dist/Text-CaOF75Z-.js +121 -0
  47. package/dist/TextHighlighted-Dwq9Clgn.js +34 -0
  48. package/dist/TextInline-BcA4H2Tk.js +34 -0
  49. package/dist/Toast-wJAjSLfo.js +1019 -0
  50. package/dist/TokyoUIChevronDown-DGcVqR1z.js +14 -0
  51. package/dist/Tooltip-grvKQxTN.js +84 -0
  52. package/dist/VisuallyHidden-CtcHcZCK.js +29 -0
  53. package/dist/align-self-VrZUceie.js +42 -0
  54. package/dist/assets/Accordion.css +2 -2
  55. package/dist/assets/AlertBannerProvider.css +2 -2
  56. package/dist/assets/AlertDialog.css +2 -2
  57. package/dist/assets/Avatar.css +3 -3
  58. package/dist/assets/AvatarWithStatus.css +2 -2
  59. package/dist/assets/Badge.css +1 -1
  60. package/dist/assets/Box.css +3 -3
  61. package/dist/assets/BubbleCounter.css +1 -1
  62. package/dist/assets/Button.css +4 -4
  63. package/dist/assets/ButtonBase.css +40 -46
  64. package/dist/assets/Checkbox.css +1 -1
  65. package/dist/assets/Chips.css +2 -2
  66. package/dist/assets/ChipsPrimitive.css +2 -2
  67. package/dist/assets/CountryFlag.css +1 -1
  68. package/dist/assets/Dialog.css +13 -4
  69. package/dist/assets/Divider.css +1 -1
  70. package/dist/assets/DropdownMenu.css +2 -2
  71. package/dist/assets/FieldButton.css +3 -3
  72. package/dist/assets/FormControl.css +1 -1
  73. package/dist/assets/Heading.css +3 -3
  74. package/dist/assets/Icon.css +3 -3
  75. package/dist/assets/InputContainer.css +2 -2
  76. package/dist/assets/LayoutFlex.css +1 -1
  77. package/dist/assets/LayoutFlexItem.css +1 -1
  78. package/dist/assets/Link.css +3 -3
  79. package/dist/assets/Loader.css +1 -1
  80. package/dist/assets/OnboardingTooltip.css +6 -4
  81. package/dist/assets/OnboardingTour.css +3 -2
  82. package/dist/assets/PreplyLogo.css +1 -1
  83. package/dist/assets/ProgressBar.css +1 -1
  84. package/dist/assets/ProgressSteps.css +1 -1
  85. package/dist/assets/Select.css +2 -2
  86. package/dist/assets/Slider.css +1 -1
  87. package/dist/assets/Spinner.css +3 -3
  88. package/dist/assets/Stars.css +3 -3
  89. package/dist/assets/Steps.css +2 -2
  90. package/dist/assets/Switch.css +1 -1
  91. package/dist/assets/Text.css +3 -3
  92. package/dist/assets/TextHighlighted.css +3 -3
  93. package/dist/assets/TextInline.css +3 -3
  94. package/dist/assets/Toast.css +2 -2
  95. package/dist/assets/Tooltip.css +1 -1
  96. package/dist/assets/align-self.css +1 -1
  97. package/dist/assets/{IconTile.css → components.css} +9 -1
  98. package/dist/assets/exp-color.css +2 -2
  99. package/dist/assets/index.css +1 -1
  100. package/dist/assets/layout-gap.css +3 -3
  101. package/dist/assets/layout-grid.css +3 -3
  102. package/dist/assets/layout-hide.css +1 -1
  103. package/dist/assets/layout-padding.css +3 -3
  104. package/dist/assets/layout-relative.css +1 -1
  105. package/dist/assets/text-accent.css +2 -2
  106. package/dist/assets/text-centered.css +1 -1
  107. package/dist/assets/text-weight.css +2 -2
  108. package/dist/chunk-BVTlhY3a.js +24 -0
  109. package/dist/components/Accordion/Accordion.js +4 -60
  110. package/dist/components/Accordion/hooks/useOnOpenChange.js +19 -28
  111. package/dist/components/AlertBanner/AlertBanner.js +11 -26
  112. package/dist/components/AlertBanner/AlertBannerProvider.js +3 -8
  113. package/dist/components/AlertBanner/primitives/AlertBannerAction.js +11 -69
  114. package/dist/components/AlertBanner/primitives/AlertBannerIcon.js +77 -39
  115. package/dist/components/AlertBanner/primitives/AlertBannerRoot.js +26 -22
  116. package/dist/components/AlertBanner/primitives/AlertBannerText.js +11 -70
  117. package/dist/components/AlertDialog/AlertDialog.d.ts +3 -3
  118. package/dist/components/AlertDialog/AlertDialog.d.ts.map +1 -1
  119. package/dist/components/AlertDialog/AlertDialog.js +5 -94
  120. package/dist/components/Avatar/Avatar.js +3 -71
  121. package/dist/components/AvatarWithStatus/AvatarWithStatus.js +3 -43
  122. package/dist/components/Badge/Badge.js +4 -62
  123. package/dist/components/Box/Box.js +3 -95
  124. package/dist/components/BubbleCounter/BubbleCounter.js +23 -28
  125. package/dist/components/Button/Button.js +4 -80
  126. package/dist/components/CalloutBanner/CalloutBanner.js +61 -12
  127. package/dist/components/CalloutBanner/primitives/CalloutBannerDismissButton.js +50 -22
  128. package/dist/components/CalloutBanner/primitives/CalloutBannerIcon.js +86 -45
  129. package/dist/components/CalloutBanner/primitives/CalloutBannerRoot.js +50 -24
  130. package/dist/components/CalloutBanner/primitives/CalloutBannerText.js +41 -11
  131. package/dist/components/Checkbox/Checkbox.js +4 -78
  132. package/dist/components/Checkbox/hooks/useIndeterminate.js +24 -30
  133. package/dist/components/Chips/Chips.types.js +0 -1
  134. package/dist/components/Chips/DismissibleChips.js +117 -86
  135. package/dist/components/Chips/MultiSelectChips.js +98 -64
  136. package/dist/components/Chips/SingleSelectChips.js +94 -57
  137. package/dist/components/Chips/private/ChipsPrimitive.js +4 -17
  138. package/dist/components/CountryFlag/CountryFlag.js +3 -44
  139. package/dist/components/Dialog/Dialog.js +56 -31
  140. package/dist/components/Dialog/DialogSteps.js +40 -29
  141. package/dist/components/Dialog/primitives/DialogActions.js +26 -19
  142. package/dist/components/Dialog/primitives/DialogButtonStack.d.ts.map +1 -1
  143. package/dist/components/Dialog/primitives/DialogButtonStack.js +22 -15
  144. package/dist/components/Dialog/primitives/DialogCloseButton.d.ts +1 -1
  145. package/dist/components/Dialog/primitives/DialogCloseButton.d.ts.map +1 -1
  146. package/dist/components/Dialog/primitives/DialogCloseButton.js +4 -93
  147. package/dist/components/Dialog/primitives/DialogDescription.js +3 -43
  148. package/dist/components/Dialog/primitives/DialogFooter.js +37 -34
  149. package/dist/components/Dialog/primitives/DialogRoot.js +4 -1459
  150. package/dist/components/Dialog/primitives/DialogTitle.js +3 -42
  151. package/dist/components/Divider/Divider.js +3 -14
  152. package/dist/components/DropdownMenu/DropdownMenu.js +253 -188
  153. package/dist/components/DropdownMenu/primitives/DropdownMenu.primitives.js +5 -34
  154. package/dist/components/DropdownMenu/primitives/DropdownMenuSelectItem.primitives.js +121 -71
  155. package/dist/components/FieldButton/FieldButton.js +3 -37
  156. package/dist/components/FormControl/FormControl.js +3 -105
  157. package/dist/components/Heading/Heading.js +3 -78
  158. package/dist/components/Icon/Icon.js +4 -49
  159. package/dist/components/IconButton/IconButton.d.ts +5 -1
  160. package/dist/components/IconButton/IconButton.d.ts.map +1 -1
  161. package/dist/components/IconButton/IconButton.js +4 -28
  162. package/dist/components/IconTile/IconTile.js +11 -69
  163. package/dist/components/IntlFormatted/IntlFormattedAggregatedDateTime.js +16 -32
  164. package/dist/components/IntlFormatted/IntlFormattedCurrency.js +20 -42
  165. package/dist/components/IntlFormatted/IntlFormattedDate.js +73 -195
  166. package/dist/components/IntlFormatted/IntlFormattedTime.js +14 -24
  167. package/dist/components/IntlFormatted/Wrapper.js +14 -8
  168. package/dist/components/LayoutFlex/LayoutFlex.js +3 -100
  169. package/dist/components/LayoutFlex/style/getStyleAttrs.js +71 -143
  170. package/dist/components/LayoutFlex/tests/AlignItems.js +67 -97
  171. package/dist/components/LayoutFlex/tests/ColumnReverse.js +63 -100
  172. package/dist/components/LayoutFlex/tests/DataOverride.js +1498 -1093
  173. package/dist/components/LayoutFlex/tests/Default.js +19 -20
  174. package/dist/components/LayoutFlex/tests/Direction.js +65 -88
  175. package/dist/components/LayoutFlex/tests/Gap.js +115 -197
  176. package/dist/components/LayoutFlex/tests/HideInline.js +95 -136
  177. package/dist/components/LayoutFlex/tests/JustifyContent.js +75 -108
  178. package/dist/components/LayoutFlex/tests/Nowrap.js +35 -42
  179. package/dist/components/LayoutFlex/tests/Padding.js +207 -263
  180. package/dist/components/LayoutFlex/tests/Relative.js +49 -64
  181. package/dist/components/LayoutFlexItem/LayoutFlexItem.js +3 -54
  182. package/dist/components/LayoutGrid/LayoutGrid.js +26 -34
  183. package/dist/components/LayoutGridItem/LayoutGridItem.js +3 -41
  184. package/dist/components/Link/Link.js +3 -72
  185. package/dist/components/Loader/Loader.js +3 -32
  186. package/dist/components/NumberField/NumberField.js +33 -35
  187. package/dist/components/ObserveIntersection/ObserveIntersection.js +41 -42
  188. package/dist/components/OnboardingTooltip/OnboardingTooltip.js +4 -115
  189. package/dist/components/OnboardingTour/OnboardingTour.js +4 -114
  190. package/dist/components/PasswordField/PasswordField.js +3 -78
  191. package/dist/components/PreplyLogo/PreplyLogo.js +3 -81
  192. package/dist/components/ProgressBar/ProgressBar.js +3 -27
  193. package/dist/components/ProgressSteps/ProgressSteps.js +3 -48
  194. package/dist/components/Rating/Rating.js +29 -20
  195. package/dist/components/Rating/RatingInput.js +57 -59
  196. package/dist/components/Rating/Stars.js +4 -8
  197. package/dist/components/Rating/hooks/useHasError.js +11 -15
  198. package/dist/components/Rating/hooks/useHoverPercentage.js +37 -45
  199. package/dist/components/Rating/hooks/useInputState.js +18 -24
  200. package/dist/components/Rating/hooks/useLocalizations.js +12 -24
  201. package/dist/components/Rating/utils/roundToHalfDecimal.js +4 -4
  202. package/dist/components/SelectField/Select.js +5 -112
  203. package/dist/components/SelectField/SelectField.js +29 -24
  204. package/dist/components/SelectField/hooks/useBreakpointMatch.js +18 -19
  205. package/dist/components/ShowOnIntersection/ShowOnIntersection.js +32 -21
  206. package/dist/components/Slider/RangeSlider.js +62 -52
  207. package/dist/components/Slider/Slider.js +3 -10
  208. package/dist/components/Steps/Steps.js +4 -210
  209. package/dist/components/Switch/Switch.js +3 -51
  210. package/dist/components/Text/Text.js +3 -128
  211. package/dist/components/TextField/TextField.js +27 -29
  212. package/dist/components/TextHighlighted/TextHighlighted.js +3 -41
  213. package/dist/components/TextInline/TextInline.js +3 -40
  214. package/dist/components/TextareaField/TextareaField.js +26 -28
  215. package/dist/components/Toast/Toast.js +4 -1168
  216. package/dist/components/Tooltip/Tooltip.js +3 -66
  217. package/dist/components/deprecated/Chips/Chips.js +4 -76
  218. package/dist/components/deprecated/NativeSelectField/NativeSelect.js +40 -32
  219. package/dist/components/deprecated/NativeSelectField/NativeSelectField.js +34 -33
  220. package/dist/components/deprecated/index.js +5 -6
  221. package/dist/components/index.js +50 -150
  222. package/dist/components/private/ButtonBase/ButtonBase.d.ts +7 -11
  223. package/dist/components/private/ButtonBase/ButtonBase.d.ts.map +1 -1
  224. package/dist/components/private/ButtonBase/ButtonBase.js +3 -247
  225. package/dist/components/private/Input/Input.js +27 -19
  226. package/dist/components/private/Input/InputContainer.js +3 -5
  227. package/dist/components/private/Input/Textarea.js +24 -20
  228. package/dist/components/private/Input/index.js +2 -4
  229. package/dist/components/private/Spinner/Spinner.js +3 -52
  230. package/dist/components/private/VisuallyHidden/VisuallyHidden.js +3 -15
  231. package/dist/components-BIYP8wHJ.js +200 -0
  232. package/dist/exp-color-C5mKAN91.js +74 -0
  233. package/dist/floating-ui.utils.dom-CoeTbDZx.js +215 -0
  234. package/dist/index.js +50 -150
  235. package/dist/index.module-1c7ENvxc.js +7 -0
  236. package/dist/jsx-runtime-i4KUlhDu.js +743 -0
  237. package/dist/layout-gap.module-DLD8bcR4.js +95 -0
  238. package/dist/layout-grid.module-CZfhrKrB.js +101 -0
  239. package/dist/layout-hide.module-B1P0N4i3.js +53 -0
  240. package/dist/layout-padding-ugY-yd2q.js +389 -0
  241. package/dist/layout-relative.module-B5xrFD9j.js +6 -0
  242. package/dist/render-icon-Ch3b2dE0.js +290 -0
  243. package/dist/shared-styles/align-self/align-self.js +2 -36
  244. package/dist/shared-styles/exp-color/exp-color.js +2 -68
  245. package/dist/shared-styles/layout-gap/layout-gap.js +13 -7
  246. package/dist/shared-styles/layout-grid/layout-grid.js +28 -28
  247. package/dist/shared-styles/layout-grid-responsive-columns/layout-grid-responsive-columns.js +29 -43
  248. package/dist/shared-styles/layout-hide/layout-hide.js +8 -8
  249. package/dist/shared-styles/layout-padding/layout-padding.js +2 -5
  250. package/dist/shared-styles/layout-relative/layout-relative.js +14 -8
  251. package/dist/shared-styles/text-accent/text-accent.js +2 -25
  252. package/dist/shared-styles/text-centered/text-centered.js +2 -24
  253. package/dist/shared-styles/text-weight/text-weight.js +2 -15
  254. package/dist/store-sN_eYeZT.js +1064 -0
  255. package/dist/storybook-utils/consts.js +6 -8
  256. package/dist/storybook-utils/index.js +1 -5
  257. package/dist/text-accent-CfUFx-1K.js +30 -0
  258. package/dist/text-centered-Dwp2_-Yp.js +30 -0
  259. package/dist/text-weight-CwoqmM4o.js +21 -0
  260. package/dist/useBaseUiId-CWAD_PSs.js +13 -0
  261. package/dist/useBreakpointMatch-D9a3CTNK.js +338 -0
  262. package/dist/useButton-DHTh3Hm7.js +148 -0
  263. package/dist/useDialogClose-BzFIyWco.js +22 -0
  264. package/dist/useId-CJsH-2wV.js +34 -0
  265. package/dist/useOpenInteractionType-D8vA_ZKI.js +4104 -0
  266. package/dist/useRenderElement-ZBds6eRN.js +341 -0
  267. package/dist/utils/Orientation/OrientationProvider.js +54 -23
  268. package/dist/utils/Orientation/index.js +2 -4
  269. package/dist/utils/RovingTabIndex/RovingTabIndexProvider.js +70 -44
  270. package/dist/utils/RovingTabIndex/index.js +2 -4
  271. package/dist/utils/createRequiredContext.js +23 -13
  272. package/dist/utils/filterAttributesPassedByRadixUIAtRuntime.js +28 -25
  273. package/dist/utils/render-icon.js +3 -320
  274. package/dist/utils/shared-strings.js +24 -32
  275. package/dist/utils/useBreakpointMatch.d.ts.map +1 -1
  276. package/dist/utils/useBreakpointMatch.js +2 -183
  277. package/dist/utils/useControllableState/useControllableState.js +31 -25
  278. package/dist/utils/useMergeRefs.js +29 -14
  279. package/dist/utils/useStableCallback/useStableCallback.js +28 -13
  280. package/package.json +17 -22
  281. package/dist/AlertBannerProvider-DTx2Xp3V.js +0 -50
  282. package/dist/BubbleCounter.module-QMwXWFIS.js +0 -16
  283. package/dist/ChipsPrimitive-DzsaOWgY.js +0 -1244
  284. package/dist/Dialog.module-Ba1X7b3N.js +0 -29
  285. package/dist/DialogRootContext-BCXmmJAw.js +0 -15
  286. package/dist/DropdownMenu.primitives-CqJE9k4D.js +0 -5871
  287. package/dist/IconTile-D1G7MljH.js +0 -172
  288. package/dist/InputContainer-oHJlLWIi.js +0 -30
  289. package/dist/Slider-DB4Maswa.js +0 -55
  290. package/dist/Stars-C_mHop2H.js +0 -67
  291. package/dist/TokyoUIChevronDown-D_tD1yU8.js +0 -11
  292. package/dist/floating-ui.utils.dom-BvMNldxo.js +0 -234
  293. package/dist/index.module-Q9TzIR6B.js +0 -11
  294. package/dist/layout-gap.module-MKn_un_k.js +0 -97
  295. package/dist/layout-grid.module-P4B4WVUy.js +0 -103
  296. package/dist/layout-hide.module-Bpl3Pl-a.js +0 -55
  297. package/dist/layout-padding-D5I6rRlL.js +0 -373
  298. package/dist/layout-relative.module-1z75aSwo.js +0 -8
  299. package/dist/useBaseUiId-DavsGYu9.js +0 -8
  300. package/dist/useButton-fjQ0ak8m.js +0 -193
  301. package/dist/useId-BhIOp2JG.js +0 -28
  302. package/dist/useOpenInteractionType-DNYFqf-a.js +0 -2880
  303. package/dist/useRenderElement-BSthtPOr.js +0 -350
@@ -0,0 +1,1179 @@
1
+ "use client";
2
+ import { t as Icon } from "./Icon-CixAeOSd.js";
3
+ import { t as require_jsx_runtime } from "./jsx-runtime-i4KUlhDu.js";
4
+ import { RovingTabIndexProvider, useRovingTabIndex } from "./utils/RovingTabIndex/RovingTabIndexProvider.js";
5
+ import { OrientationProvider, useOrientation } from "./utils/Orientation/OrientationProvider.js";
6
+ import { t as CountryFlag } from "./CountryFlag-DVDKHmQH.js";
7
+ import React, { forwardRef, useContext, useEffect, useMemo, useRef } from "react";
8
+ import { useMergeRefs } from "@preply/ds-core";
9
+ import './assets/ChipsPrimitive.css';//#region ../../node_modules/@react-aria/utils/dist/useLayoutEffect.mjs
10
+ var $f0a04ccd8dbdd83b$export$e5c5a5f917a5871c = typeof document !== "undefined" ? React.useLayoutEffect : () => {};
11
+ //#endregion
12
+ //#region ../../node_modules/@react-aria/utils/dist/domHelpers.mjs
13
+ var $431fbd86ca7dc216$export$b204af158042fbac = (el) => {
14
+ var _el_ownerDocument;
15
+ return (_el_ownerDocument = el === null || el === void 0 ? void 0 : el.ownerDocument) !== null && _el_ownerDocument !== void 0 ? _el_ownerDocument : document;
16
+ };
17
+ var $431fbd86ca7dc216$export$f21a1ffae260145a = (el) => {
18
+ if (el && "window" in el && el.window === el) return el;
19
+ return $431fbd86ca7dc216$export$b204af158042fbac(el).defaultView || window;
20
+ };
21
+ /**
22
+ * Type guard that checks if a value is a Node. Verifies the presence and type of the nodeType property.
23
+ */ function $431fbd86ca7dc216$var$isNode(value) {
24
+ return value !== null && typeof value === "object" && "nodeType" in value && typeof value.nodeType === "number";
25
+ }
26
+ function $431fbd86ca7dc216$export$af51f0f06c0f328a(node) {
27
+ return $431fbd86ca7dc216$var$isNode(node) && node.nodeType === Node.DOCUMENT_FRAGMENT_NODE && "host" in node;
28
+ }
29
+ //#endregion
30
+ //#region ../../node_modules/@react-stately/flags/dist/import.mjs
31
+ var $f4e2df6bd15f8569$var$_shadowDOM = false;
32
+ function $f4e2df6bd15f8569$export$98658e8c59125e6a() {
33
+ return $f4e2df6bd15f8569$var$_shadowDOM;
34
+ }
35
+ //#endregion
36
+ //#region ../../node_modules/@react-aria/utils/dist/DOMFunctions.mjs
37
+ function $d4ee10de306f2510$export$4282f70798064fe0(node, otherNode) {
38
+ if (!$f4e2df6bd15f8569$export$98658e8c59125e6a()) return otherNode && node ? node.contains(otherNode) : false;
39
+ if (!node || !otherNode) return false;
40
+ let currentNode = otherNode;
41
+ while (currentNode !== null) {
42
+ if (currentNode === node) return true;
43
+ if (currentNode.tagName === "SLOT" && currentNode.assignedSlot) currentNode = currentNode.assignedSlot.parentNode;
44
+ else if ($431fbd86ca7dc216$export$af51f0f06c0f328a(currentNode)) currentNode = currentNode.host;
45
+ else currentNode = currentNode.parentNode;
46
+ }
47
+ return false;
48
+ }
49
+ var $d4ee10de306f2510$export$cd4e5573fbe2b576 = (doc = document) => {
50
+ var _activeElement_shadowRoot;
51
+ if (!$f4e2df6bd15f8569$export$98658e8c59125e6a()) return doc.activeElement;
52
+ let activeElement = doc.activeElement;
53
+ while (activeElement && "shadowRoot" in activeElement && ((_activeElement_shadowRoot = activeElement.shadowRoot) === null || _activeElement_shadowRoot === void 0 ? void 0 : _activeElement_shadowRoot.activeElement)) activeElement = activeElement.shadowRoot.activeElement;
54
+ return activeElement;
55
+ };
56
+ function $d4ee10de306f2510$export$e58f029f0fbfdb29(event) {
57
+ if ($f4e2df6bd15f8569$export$98658e8c59125e6a() && event.target.shadowRoot) {
58
+ if (event.composedPath) return event.composedPath()[0];
59
+ }
60
+ return event.target;
61
+ }
62
+ //#endregion
63
+ //#region ../../node_modules/@react-aria/utils/dist/ShadowTreeWalker.mjs
64
+ var $dfc540311bf7f109$export$63eb3ababa9c55c4 = class {
65
+ get currentNode() {
66
+ return this._currentNode;
67
+ }
68
+ set currentNode(node) {
69
+ if (!$d4ee10de306f2510$export$4282f70798064fe0(this.root, node)) throw new Error("Cannot set currentNode to a node that is not contained by the root node.");
70
+ const walkers = [];
71
+ let curNode = node;
72
+ let currentWalkerCurrentNode = node;
73
+ this._currentNode = node;
74
+ while (curNode && curNode !== this.root) if (curNode.nodeType === Node.DOCUMENT_FRAGMENT_NODE) {
75
+ const shadowRoot = curNode;
76
+ const walker = this._doc.createTreeWalker(shadowRoot, this.whatToShow, { acceptNode: this._acceptNode });
77
+ walkers.push(walker);
78
+ walker.currentNode = currentWalkerCurrentNode;
79
+ this._currentSetFor.add(walker);
80
+ curNode = currentWalkerCurrentNode = shadowRoot.host;
81
+ } else curNode = curNode.parentNode;
82
+ const walker = this._doc.createTreeWalker(this.root, this.whatToShow, { acceptNode: this._acceptNode });
83
+ walkers.push(walker);
84
+ walker.currentNode = currentWalkerCurrentNode;
85
+ this._currentSetFor.add(walker);
86
+ this._walkerStack = walkers;
87
+ }
88
+ get doc() {
89
+ return this._doc;
90
+ }
91
+ firstChild() {
92
+ let currentNode = this.currentNode;
93
+ let newNode = this.nextNode();
94
+ if (!$d4ee10de306f2510$export$4282f70798064fe0(currentNode, newNode)) {
95
+ this.currentNode = currentNode;
96
+ return null;
97
+ }
98
+ if (newNode) this.currentNode = newNode;
99
+ return newNode;
100
+ }
101
+ lastChild() {
102
+ let newNode = this._walkerStack[0].lastChild();
103
+ if (newNode) this.currentNode = newNode;
104
+ return newNode;
105
+ }
106
+ nextNode() {
107
+ const nextNode = this._walkerStack[0].nextNode();
108
+ if (nextNode) {
109
+ if (nextNode.shadowRoot) {
110
+ var _this_filter;
111
+ let nodeResult;
112
+ if (typeof this.filter === "function") nodeResult = this.filter(nextNode);
113
+ else if ((_this_filter = this.filter) === null || _this_filter === void 0 ? void 0 : _this_filter.acceptNode) nodeResult = this.filter.acceptNode(nextNode);
114
+ if (nodeResult === NodeFilter.FILTER_ACCEPT) {
115
+ this.currentNode = nextNode;
116
+ return nextNode;
117
+ }
118
+ let newNode = this.nextNode();
119
+ if (newNode) this.currentNode = newNode;
120
+ return newNode;
121
+ }
122
+ if (nextNode) this.currentNode = nextNode;
123
+ return nextNode;
124
+ } else if (this._walkerStack.length > 1) {
125
+ this._walkerStack.shift();
126
+ let newNode = this.nextNode();
127
+ if (newNode) this.currentNode = newNode;
128
+ return newNode;
129
+ } else return null;
130
+ }
131
+ previousNode() {
132
+ const currentWalker = this._walkerStack[0];
133
+ if (currentWalker.currentNode === currentWalker.root) {
134
+ if (this._currentSetFor.has(currentWalker)) {
135
+ this._currentSetFor.delete(currentWalker);
136
+ if (this._walkerStack.length > 1) {
137
+ this._walkerStack.shift();
138
+ let newNode = this.previousNode();
139
+ if (newNode) this.currentNode = newNode;
140
+ return newNode;
141
+ } else return null;
142
+ }
143
+ return null;
144
+ }
145
+ const previousNode = currentWalker.previousNode();
146
+ if (previousNode) {
147
+ if (previousNode.shadowRoot) {
148
+ var _this_filter;
149
+ let nodeResult;
150
+ if (typeof this.filter === "function") nodeResult = this.filter(previousNode);
151
+ else if ((_this_filter = this.filter) === null || _this_filter === void 0 ? void 0 : _this_filter.acceptNode) nodeResult = this.filter.acceptNode(previousNode);
152
+ if (nodeResult === NodeFilter.FILTER_ACCEPT) {
153
+ if (previousNode) this.currentNode = previousNode;
154
+ return previousNode;
155
+ }
156
+ let newNode = this.lastChild();
157
+ if (newNode) this.currentNode = newNode;
158
+ return newNode;
159
+ }
160
+ if (previousNode) this.currentNode = previousNode;
161
+ return previousNode;
162
+ } else if (this._walkerStack.length > 1) {
163
+ this._walkerStack.shift();
164
+ let newNode = this.previousNode();
165
+ if (newNode) this.currentNode = newNode;
166
+ return newNode;
167
+ } else return null;
168
+ }
169
+ /**
170
+ * @deprecated
171
+ */ nextSibling() {
172
+ return null;
173
+ }
174
+ /**
175
+ * @deprecated
176
+ */ previousSibling() {
177
+ return null;
178
+ }
179
+ /**
180
+ * @deprecated
181
+ */ parentNode() {
182
+ return null;
183
+ }
184
+ constructor(doc, root, whatToShow, filter) {
185
+ this._walkerStack = [];
186
+ this._currentSetFor = /* @__PURE__ */ new Set();
187
+ this._acceptNode = (node) => {
188
+ if (node.nodeType === Node.ELEMENT_NODE) {
189
+ const shadowRoot = node.shadowRoot;
190
+ if (shadowRoot) {
191
+ const walker = this._doc.createTreeWalker(shadowRoot, this.whatToShow, { acceptNode: this._acceptNode });
192
+ this._walkerStack.unshift(walker);
193
+ return NodeFilter.FILTER_ACCEPT;
194
+ } else {
195
+ var _this_filter;
196
+ if (typeof this.filter === "function") return this.filter(node);
197
+ else if ((_this_filter = this.filter) === null || _this_filter === void 0 ? void 0 : _this_filter.acceptNode) return this.filter.acceptNode(node);
198
+ else if (this.filter === null) return NodeFilter.FILTER_ACCEPT;
199
+ }
200
+ }
201
+ return NodeFilter.FILTER_SKIP;
202
+ };
203
+ this._doc = doc;
204
+ this.root = root;
205
+ this.filter = filter !== null && filter !== void 0 ? filter : null;
206
+ this.whatToShow = whatToShow !== null && whatToShow !== void 0 ? whatToShow : NodeFilter.SHOW_ALL;
207
+ this._currentNode = root;
208
+ this._walkerStack.unshift(doc.createTreeWalker(root, whatToShow, this._acceptNode));
209
+ const shadowRoot = root.shadowRoot;
210
+ if (shadowRoot) {
211
+ const walker = this._doc.createTreeWalker(shadowRoot, this.whatToShow, { acceptNode: this._acceptNode });
212
+ this._walkerStack.unshift(walker);
213
+ }
214
+ }
215
+ };
216
+ function $dfc540311bf7f109$export$4d0f8be8b12a7ef6(doc, root, whatToShow, filter) {
217
+ if ($f4e2df6bd15f8569$export$98658e8c59125e6a()) return new $dfc540311bf7f109$export$63eb3ababa9c55c4(doc, root, whatToShow, filter);
218
+ return doc.createTreeWalker(root, whatToShow, filter);
219
+ }
220
+ //#endregion
221
+ //#region ../../node_modules/@react-aria/utils/dist/focusWithoutScrolling.mjs
222
+ function $7215afc6de606d6b$export$de79e2c695e052f3(element) {
223
+ if ($7215afc6de606d6b$var$supportsPreventScroll()) element.focus({ preventScroll: true });
224
+ else {
225
+ let scrollableElements = $7215afc6de606d6b$var$getScrollableElements(element);
226
+ element.focus();
227
+ $7215afc6de606d6b$var$restoreScrollPosition(scrollableElements);
228
+ }
229
+ }
230
+ var $7215afc6de606d6b$var$supportsPreventScrollCached = null;
231
+ function $7215afc6de606d6b$var$supportsPreventScroll() {
232
+ if ($7215afc6de606d6b$var$supportsPreventScrollCached == null) {
233
+ $7215afc6de606d6b$var$supportsPreventScrollCached = false;
234
+ try {
235
+ document.createElement("div").focus({ get preventScroll() {
236
+ $7215afc6de606d6b$var$supportsPreventScrollCached = true;
237
+ return true;
238
+ } });
239
+ } catch {}
240
+ }
241
+ return $7215afc6de606d6b$var$supportsPreventScrollCached;
242
+ }
243
+ function $7215afc6de606d6b$var$getScrollableElements(element) {
244
+ let parent = element.parentNode;
245
+ let scrollableElements = [];
246
+ let rootScrollingElement = document.scrollingElement || document.documentElement;
247
+ while (parent instanceof HTMLElement && parent !== rootScrollingElement) {
248
+ if (parent.offsetHeight < parent.scrollHeight || parent.offsetWidth < parent.scrollWidth) scrollableElements.push({
249
+ element: parent,
250
+ scrollTop: parent.scrollTop,
251
+ scrollLeft: parent.scrollLeft
252
+ });
253
+ parent = parent.parentNode;
254
+ }
255
+ if (rootScrollingElement instanceof HTMLElement) scrollableElements.push({
256
+ element: rootScrollingElement,
257
+ scrollTop: rootScrollingElement.scrollTop,
258
+ scrollLeft: rootScrollingElement.scrollLeft
259
+ });
260
+ return scrollableElements;
261
+ }
262
+ function $7215afc6de606d6b$var$restoreScrollPosition(scrollableElements) {
263
+ for (let { element, scrollTop, scrollLeft } of scrollableElements) {
264
+ element.scrollTop = scrollTop;
265
+ element.scrollLeft = scrollLeft;
266
+ }
267
+ }
268
+ //#endregion
269
+ //#region ../../node_modules/@react-aria/utils/dist/platform.mjs
270
+ function $c87311424ea30a05$var$testUserAgent(re) {
271
+ var _window_navigator_userAgentData;
272
+ if (typeof window === "undefined" || window.navigator == null) return false;
273
+ let brands = (_window_navigator_userAgentData = window.navigator["userAgentData"]) === null || _window_navigator_userAgentData === void 0 ? void 0 : _window_navigator_userAgentData.brands;
274
+ return Array.isArray(brands) && brands.some((brand) => re.test(brand.brand)) || re.test(window.navigator.userAgent);
275
+ }
276
+ function $c87311424ea30a05$var$testPlatform(re) {
277
+ var _window_navigator_userAgentData;
278
+ return typeof window !== "undefined" && window.navigator != null ? re.test(((_window_navigator_userAgentData = window.navigator["userAgentData"]) === null || _window_navigator_userAgentData === void 0 ? void 0 : _window_navigator_userAgentData.platform) || window.navigator.platform) : false;
279
+ }
280
+ function $c87311424ea30a05$var$cached(fn) {
281
+ if (process.env.NODE_ENV === "test") return fn;
282
+ let res = null;
283
+ return () => {
284
+ if (res == null) res = fn();
285
+ return res;
286
+ };
287
+ }
288
+ var $c87311424ea30a05$export$9ac100e40613ea10 = $c87311424ea30a05$var$cached(function() {
289
+ return $c87311424ea30a05$var$testPlatform(/^Mac/i);
290
+ });
291
+ var $c87311424ea30a05$export$186c6964ca17d99 = $c87311424ea30a05$var$cached(function() {
292
+ return $c87311424ea30a05$var$testPlatform(/^iPhone/i);
293
+ });
294
+ var $c87311424ea30a05$export$7bef049ce92e4224 = $c87311424ea30a05$var$cached(function() {
295
+ return $c87311424ea30a05$var$testPlatform(/^iPad/i) || $c87311424ea30a05$export$9ac100e40613ea10() && navigator.maxTouchPoints > 1;
296
+ });
297
+ var $c87311424ea30a05$export$fedb369cb70207f1 = $c87311424ea30a05$var$cached(function() {
298
+ return $c87311424ea30a05$export$186c6964ca17d99() || $c87311424ea30a05$export$7bef049ce92e4224();
299
+ });
300
+ $c87311424ea30a05$var$cached(function() {
301
+ return $c87311424ea30a05$export$9ac100e40613ea10() || $c87311424ea30a05$export$fedb369cb70207f1();
302
+ });
303
+ $c87311424ea30a05$var$cached(function() {
304
+ return $c87311424ea30a05$var$testUserAgent(/AppleWebKit/i) && !$c87311424ea30a05$export$6446a186d09e379e();
305
+ });
306
+ var $c87311424ea30a05$export$6446a186d09e379e = $c87311424ea30a05$var$cached(function() {
307
+ return $c87311424ea30a05$var$testUserAgent(/Chrome/i);
308
+ });
309
+ var $c87311424ea30a05$export$a11b0059900ceec8 = $c87311424ea30a05$var$cached(function() {
310
+ return $c87311424ea30a05$var$testUserAgent(/Android/i);
311
+ });
312
+ $c87311424ea30a05$var$cached(function() {
313
+ return $c87311424ea30a05$var$testUserAgent(/Firefox/i);
314
+ });
315
+ //#endregion
316
+ //#region ../../node_modules/@react-aria/utils/dist/runAfterTransition.mjs
317
+ var $bbed8b41f857bcc0$var$transitionsByElement = /* @__PURE__ */ new Map();
318
+ var $bbed8b41f857bcc0$var$transitionCallbacks = /* @__PURE__ */ new Set();
319
+ function $bbed8b41f857bcc0$var$setupGlobalEvents() {
320
+ if (typeof window === "undefined") return;
321
+ function isTransitionEvent(event) {
322
+ return "propertyName" in event;
323
+ }
324
+ let onTransitionStart = (e) => {
325
+ if (!isTransitionEvent(e) || !e.target) return;
326
+ let transitions = $bbed8b41f857bcc0$var$transitionsByElement.get(e.target);
327
+ if (!transitions) {
328
+ transitions = /* @__PURE__ */ new Set();
329
+ $bbed8b41f857bcc0$var$transitionsByElement.set(e.target, transitions);
330
+ e.target.addEventListener("transitioncancel", onTransitionEnd, { once: true });
331
+ }
332
+ transitions.add(e.propertyName);
333
+ };
334
+ let onTransitionEnd = (e) => {
335
+ if (!isTransitionEvent(e) || !e.target) return;
336
+ let properties = $bbed8b41f857bcc0$var$transitionsByElement.get(e.target);
337
+ if (!properties) return;
338
+ properties.delete(e.propertyName);
339
+ if (properties.size === 0) {
340
+ e.target.removeEventListener("transitioncancel", onTransitionEnd);
341
+ $bbed8b41f857bcc0$var$transitionsByElement.delete(e.target);
342
+ }
343
+ if ($bbed8b41f857bcc0$var$transitionsByElement.size === 0) {
344
+ for (let cb of $bbed8b41f857bcc0$var$transitionCallbacks) cb();
345
+ $bbed8b41f857bcc0$var$transitionCallbacks.clear();
346
+ }
347
+ };
348
+ document.body.addEventListener("transitionrun", onTransitionStart);
349
+ document.body.addEventListener("transitionend", onTransitionEnd);
350
+ }
351
+ if (typeof document !== "undefined") if (document.readyState !== "loading") $bbed8b41f857bcc0$var$setupGlobalEvents();
352
+ else document.addEventListener("DOMContentLoaded", $bbed8b41f857bcc0$var$setupGlobalEvents);
353
+ /**
354
+ * Cleans up any elements that are no longer in the document.
355
+ * This is necessary because we can't rely on transitionend events to fire
356
+ * for elements that are removed from the document while transitioning.
357
+ */ function $bbed8b41f857bcc0$var$cleanupDetachedElements() {
358
+ for (const [eventTarget] of $bbed8b41f857bcc0$var$transitionsByElement) if ("isConnected" in eventTarget && !eventTarget.isConnected) $bbed8b41f857bcc0$var$transitionsByElement.delete(eventTarget);
359
+ }
360
+ function $bbed8b41f857bcc0$export$24490316f764c430(fn) {
361
+ requestAnimationFrame(() => {
362
+ $bbed8b41f857bcc0$var$cleanupDetachedElements();
363
+ if ($bbed8b41f857bcc0$var$transitionsByElement.size === 0) fn();
364
+ else $bbed8b41f857bcc0$var$transitionCallbacks.add(fn);
365
+ });
366
+ }
367
+ //#endregion
368
+ //#region ../../node_modules/@react-aria/utils/dist/isVirtualEvent.mjs
369
+ function $6a7db85432448f7f$export$60278871457622de(event) {
370
+ if (event.pointerType === "" && event.isTrusted) return true;
371
+ if ($c87311424ea30a05$export$a11b0059900ceec8() && event.pointerType) return event.type === "click" && event.buttons === 1;
372
+ return event.detail === 0 && !event.pointerType;
373
+ }
374
+ //#endregion
375
+ //#region ../../node_modules/@react-aria/utils/dist/isElementVisible.mjs
376
+ var $7d2416ea0959daaa$var$supportsCheckVisibility = typeof Element !== "undefined" && "checkVisibility" in Element.prototype;
377
+ function $7d2416ea0959daaa$var$isStyleVisible(element) {
378
+ const windowObject = $431fbd86ca7dc216$export$f21a1ffae260145a(element);
379
+ if (!(element instanceof windowObject.HTMLElement) && !(element instanceof windowObject.SVGElement)) return false;
380
+ let { display, visibility } = element.style;
381
+ let isVisible = display !== "none" && visibility !== "hidden" && visibility !== "collapse";
382
+ if (isVisible) {
383
+ const { getComputedStyle } = element.ownerDocument.defaultView;
384
+ let { display: computedDisplay, visibility: computedVisibility } = getComputedStyle(element);
385
+ isVisible = computedDisplay !== "none" && computedVisibility !== "hidden" && computedVisibility !== "collapse";
386
+ }
387
+ return isVisible;
388
+ }
389
+ function $7d2416ea0959daaa$var$isAttributeVisible(element, childElement) {
390
+ return !element.hasAttribute("hidden") && !element.hasAttribute("data-react-aria-prevent-focus") && (element.nodeName === "DETAILS" && childElement && childElement.nodeName !== "SUMMARY" ? element.hasAttribute("open") : true);
391
+ }
392
+ function $7d2416ea0959daaa$export$e989c0fffaa6b27a(element, childElement) {
393
+ if ($7d2416ea0959daaa$var$supportsCheckVisibility) return element.checkVisibility({ visibilityProperty: true }) && !element.closest("[data-react-aria-prevent-focus]");
394
+ return element.nodeName !== "#comment" && $7d2416ea0959daaa$var$isStyleVisible(element) && $7d2416ea0959daaa$var$isAttributeVisible(element, childElement) && (!element.parentElement || $7d2416ea0959daaa$export$e989c0fffaa6b27a(element.parentElement, element));
395
+ }
396
+ //#endregion
397
+ //#region ../../node_modules/@react-aria/utils/dist/isFocusable.mjs
398
+ var $b4b717babfbb907b$var$focusableElements = [
399
+ "input:not([disabled]):not([type=hidden])",
400
+ "select:not([disabled])",
401
+ "textarea:not([disabled])",
402
+ "button:not([disabled])",
403
+ "a[href]",
404
+ "area[href]",
405
+ "summary",
406
+ "iframe",
407
+ "object",
408
+ "embed",
409
+ "audio[controls]",
410
+ "video[controls]",
411
+ "[contenteditable]:not([contenteditable^=\"false\"])",
412
+ "permission"
413
+ ];
414
+ var $b4b717babfbb907b$var$FOCUSABLE_ELEMENT_SELECTOR = $b4b717babfbb907b$var$focusableElements.join(":not([hidden]),") + ",[tabindex]:not([disabled]):not([hidden])";
415
+ $b4b717babfbb907b$var$focusableElements.push("[tabindex]:not([tabindex=\"-1\"]):not([disabled])");
416
+ var $b4b717babfbb907b$var$TABBABLE_ELEMENT_SELECTOR = $b4b717babfbb907b$var$focusableElements.join(":not([hidden]):not([tabindex=\"-1\"]),");
417
+ function $b4b717babfbb907b$export$4c063cf1350e6fed(element) {
418
+ return element.matches($b4b717babfbb907b$var$FOCUSABLE_ELEMENT_SELECTOR) && $7d2416ea0959daaa$export$e989c0fffaa6b27a(element) && !$b4b717babfbb907b$var$isInert(element);
419
+ }
420
+ function $b4b717babfbb907b$export$bebd5a1431fec25d(element) {
421
+ return element.matches($b4b717babfbb907b$var$TABBABLE_ELEMENT_SELECTOR) && $7d2416ea0959daaa$export$e989c0fffaa6b27a(element) && !$b4b717babfbb907b$var$isInert(element);
422
+ }
423
+ function $b4b717babfbb907b$var$isInert(element) {
424
+ let node = element;
425
+ while (node != null) {
426
+ if (node instanceof node.ownerDocument.defaultView.HTMLElement && node.inert) return true;
427
+ node = node.parentElement;
428
+ }
429
+ return false;
430
+ }
431
+ //#endregion
432
+ //#region ../../node_modules/@react-aria/interactions/dist/utils.mjs
433
+ var $8a9cb279dc87e130$export$fda7da73ab5d4c48 = false;
434
+ //#endregion
435
+ //#region ../../node_modules/@react-aria/interactions/dist/useFocusVisible.mjs
436
+ var $507fabe10e71c6fb$var$currentModality = null;
437
+ var $507fabe10e71c6fb$var$changeHandlers = /* @__PURE__ */ new Set();
438
+ var $507fabe10e71c6fb$export$d90243b58daecda7 = /* @__PURE__ */ new Map();
439
+ var $507fabe10e71c6fb$var$hasEventBeforeFocus = false;
440
+ var $507fabe10e71c6fb$var$hasBlurredWindowRecently = false;
441
+ function $507fabe10e71c6fb$var$triggerChangeHandlers(modality, e) {
442
+ for (let handler of $507fabe10e71c6fb$var$changeHandlers) handler(modality, e);
443
+ }
444
+ /**
445
+ * Helper function to determine if a KeyboardEvent is unmodified and could make keyboard focus styles visible.
446
+ */ function $507fabe10e71c6fb$var$isValidKey(e) {
447
+ return !(e.metaKey || !$c87311424ea30a05$export$9ac100e40613ea10() && e.altKey || e.ctrlKey || e.key === "Control" || e.key === "Shift" || e.key === "Meta");
448
+ }
449
+ function $507fabe10e71c6fb$var$handleKeyboardEvent(e) {
450
+ $507fabe10e71c6fb$var$hasEventBeforeFocus = true;
451
+ if ($507fabe10e71c6fb$var$isValidKey(e)) {
452
+ $507fabe10e71c6fb$var$currentModality = "keyboard";
453
+ $507fabe10e71c6fb$var$triggerChangeHandlers("keyboard", e);
454
+ }
455
+ }
456
+ function $507fabe10e71c6fb$var$handlePointerEvent(e) {
457
+ $507fabe10e71c6fb$var$currentModality = "pointer";
458
+ if (e.type === "mousedown" || e.type === "pointerdown") {
459
+ $507fabe10e71c6fb$var$hasEventBeforeFocus = true;
460
+ $507fabe10e71c6fb$var$triggerChangeHandlers("pointer", e);
461
+ }
462
+ }
463
+ function $507fabe10e71c6fb$var$handleClickEvent(e) {
464
+ if ($6a7db85432448f7f$export$60278871457622de(e)) {
465
+ $507fabe10e71c6fb$var$hasEventBeforeFocus = true;
466
+ $507fabe10e71c6fb$var$currentModality = "virtual";
467
+ }
468
+ }
469
+ function $507fabe10e71c6fb$var$handleFocusEvent(e) {
470
+ if (e.target === window || e.target === document || $8a9cb279dc87e130$export$fda7da73ab5d4c48 || !e.isTrusted) return;
471
+ if (!$507fabe10e71c6fb$var$hasEventBeforeFocus && !$507fabe10e71c6fb$var$hasBlurredWindowRecently) {
472
+ $507fabe10e71c6fb$var$currentModality = "virtual";
473
+ $507fabe10e71c6fb$var$triggerChangeHandlers("virtual", e);
474
+ }
475
+ $507fabe10e71c6fb$var$hasEventBeforeFocus = false;
476
+ $507fabe10e71c6fb$var$hasBlurredWindowRecently = false;
477
+ }
478
+ function $507fabe10e71c6fb$var$handleWindowBlur() {
479
+ if ($8a9cb279dc87e130$export$fda7da73ab5d4c48) return;
480
+ $507fabe10e71c6fb$var$hasEventBeforeFocus = false;
481
+ $507fabe10e71c6fb$var$hasBlurredWindowRecently = true;
482
+ }
483
+ /**
484
+ * Setup global event listeners to control when keyboard focus style should be visible.
485
+ */ function $507fabe10e71c6fb$var$setupGlobalFocusEvents(element) {
486
+ if (typeof window === "undefined" || typeof document === "undefined" || $507fabe10e71c6fb$export$d90243b58daecda7.get($431fbd86ca7dc216$export$f21a1ffae260145a(element))) return;
487
+ const windowObject = $431fbd86ca7dc216$export$f21a1ffae260145a(element);
488
+ const documentObject = $431fbd86ca7dc216$export$b204af158042fbac(element);
489
+ let focus = windowObject.HTMLElement.prototype.focus;
490
+ windowObject.HTMLElement.prototype.focus = function() {
491
+ $507fabe10e71c6fb$var$hasEventBeforeFocus = true;
492
+ focus.apply(this, arguments);
493
+ };
494
+ documentObject.addEventListener("keydown", $507fabe10e71c6fb$var$handleKeyboardEvent, true);
495
+ documentObject.addEventListener("keyup", $507fabe10e71c6fb$var$handleKeyboardEvent, true);
496
+ documentObject.addEventListener("click", $507fabe10e71c6fb$var$handleClickEvent, true);
497
+ windowObject.addEventListener("focus", $507fabe10e71c6fb$var$handleFocusEvent, true);
498
+ windowObject.addEventListener("blur", $507fabe10e71c6fb$var$handleWindowBlur, false);
499
+ if (typeof PointerEvent !== "undefined") {
500
+ documentObject.addEventListener("pointerdown", $507fabe10e71c6fb$var$handlePointerEvent, true);
501
+ documentObject.addEventListener("pointermove", $507fabe10e71c6fb$var$handlePointerEvent, true);
502
+ documentObject.addEventListener("pointerup", $507fabe10e71c6fb$var$handlePointerEvent, true);
503
+ } else if (process.env.NODE_ENV === "test") {
504
+ documentObject.addEventListener("mousedown", $507fabe10e71c6fb$var$handlePointerEvent, true);
505
+ documentObject.addEventListener("mousemove", $507fabe10e71c6fb$var$handlePointerEvent, true);
506
+ documentObject.addEventListener("mouseup", $507fabe10e71c6fb$var$handlePointerEvent, true);
507
+ }
508
+ windowObject.addEventListener("beforeunload", () => {
509
+ $507fabe10e71c6fb$var$tearDownWindowFocusTracking(element);
510
+ }, { once: true });
511
+ $507fabe10e71c6fb$export$d90243b58daecda7.set(windowObject, { focus });
512
+ }
513
+ var $507fabe10e71c6fb$var$tearDownWindowFocusTracking = (element, loadListener) => {
514
+ const windowObject = $431fbd86ca7dc216$export$f21a1ffae260145a(element);
515
+ const documentObject = $431fbd86ca7dc216$export$b204af158042fbac(element);
516
+ if (loadListener) documentObject.removeEventListener("DOMContentLoaded", loadListener);
517
+ if (!$507fabe10e71c6fb$export$d90243b58daecda7.has(windowObject)) return;
518
+ windowObject.HTMLElement.prototype.focus = $507fabe10e71c6fb$export$d90243b58daecda7.get(windowObject).focus;
519
+ documentObject.removeEventListener("keydown", $507fabe10e71c6fb$var$handleKeyboardEvent, true);
520
+ documentObject.removeEventListener("keyup", $507fabe10e71c6fb$var$handleKeyboardEvent, true);
521
+ documentObject.removeEventListener("click", $507fabe10e71c6fb$var$handleClickEvent, true);
522
+ windowObject.removeEventListener("focus", $507fabe10e71c6fb$var$handleFocusEvent, true);
523
+ windowObject.removeEventListener("blur", $507fabe10e71c6fb$var$handleWindowBlur, false);
524
+ if (typeof PointerEvent !== "undefined") {
525
+ documentObject.removeEventListener("pointerdown", $507fabe10e71c6fb$var$handlePointerEvent, true);
526
+ documentObject.removeEventListener("pointermove", $507fabe10e71c6fb$var$handlePointerEvent, true);
527
+ documentObject.removeEventListener("pointerup", $507fabe10e71c6fb$var$handlePointerEvent, true);
528
+ } else if (process.env.NODE_ENV === "test") {
529
+ documentObject.removeEventListener("mousedown", $507fabe10e71c6fb$var$handlePointerEvent, true);
530
+ documentObject.removeEventListener("mousemove", $507fabe10e71c6fb$var$handlePointerEvent, true);
531
+ documentObject.removeEventListener("mouseup", $507fabe10e71c6fb$var$handlePointerEvent, true);
532
+ }
533
+ $507fabe10e71c6fb$export$d90243b58daecda7.delete(windowObject);
534
+ };
535
+ function $507fabe10e71c6fb$export$2f1888112f558a7d(element) {
536
+ const documentObject = $431fbd86ca7dc216$export$b204af158042fbac(element);
537
+ let loadListener;
538
+ if (documentObject.readyState !== "loading") $507fabe10e71c6fb$var$setupGlobalFocusEvents(element);
539
+ else {
540
+ loadListener = () => {
541
+ $507fabe10e71c6fb$var$setupGlobalFocusEvents(element);
542
+ };
543
+ documentObject.addEventListener("DOMContentLoaded", loadListener);
544
+ }
545
+ return () => $507fabe10e71c6fb$var$tearDownWindowFocusTracking(element, loadListener);
546
+ }
547
+ if (typeof document !== "undefined") $507fabe10e71c6fb$export$2f1888112f558a7d();
548
+ function $507fabe10e71c6fb$export$630ff653c5ada6a9() {
549
+ return $507fabe10e71c6fb$var$currentModality;
550
+ }
551
+ //#endregion
552
+ //#region ../../node_modules/@react-aria/interactions/dist/focusSafely.mjs
553
+ function $3ad3f6e1647bc98d$export$80f3e147d781571c(element) {
554
+ const ownerDocument = $431fbd86ca7dc216$export$b204af158042fbac(element);
555
+ const activeElement = $d4ee10de306f2510$export$cd4e5573fbe2b576(ownerDocument);
556
+ if ($507fabe10e71c6fb$export$630ff653c5ada6a9() === "virtual") {
557
+ let lastFocusedElement = activeElement;
558
+ $bbed8b41f857bcc0$export$24490316f764c430(() => {
559
+ if ($d4ee10de306f2510$export$cd4e5573fbe2b576(ownerDocument) === lastFocusedElement && element.isConnected) $7215afc6de606d6b$export$de79e2c695e052f3(element);
560
+ });
561
+ } else $7215afc6de606d6b$export$de79e2c695e052f3(element);
562
+ }
563
+ //#endregion
564
+ //#region ../../node_modules/@react-aria/focus/dist/FocusScope.mjs
565
+ var $9bf71ea28793e738$var$FocusContext = /* @__PURE__ */ React.createContext(null);
566
+ var $9bf71ea28793e738$var$RESTORE_FOCUS_EVENT = "react-aria-focus-scope-restore";
567
+ var $9bf71ea28793e738$var$activeScope = null;
568
+ function $9bf71ea28793e738$export$20e40289641fbbb6(props) {
569
+ let { children, contain, restoreFocus, autoFocus } = props;
570
+ let startRef = useRef(null);
571
+ let endRef = useRef(null);
572
+ let scopeRef = useRef([]);
573
+ let { parentNode } = useContext($9bf71ea28793e738$var$FocusContext) || {};
574
+ let node = useMemo(() => new $9bf71ea28793e738$var$TreeNode({ scopeRef }), [scopeRef]);
575
+ $f0a04ccd8dbdd83b$export$e5c5a5f917a5871c(() => {
576
+ let parent = parentNode || $9bf71ea28793e738$export$d06fae2ee68b101e.root;
577
+ if ($9bf71ea28793e738$export$d06fae2ee68b101e.getTreeNode(parent.scopeRef) && $9bf71ea28793e738$var$activeScope && !$9bf71ea28793e738$var$isAncestorScope($9bf71ea28793e738$var$activeScope, parent.scopeRef)) {
578
+ let activeNode = $9bf71ea28793e738$export$d06fae2ee68b101e.getTreeNode($9bf71ea28793e738$var$activeScope);
579
+ if (activeNode) parent = activeNode;
580
+ }
581
+ parent.addChild(node);
582
+ $9bf71ea28793e738$export$d06fae2ee68b101e.addNode(node);
583
+ }, [node, parentNode]);
584
+ $f0a04ccd8dbdd83b$export$e5c5a5f917a5871c(() => {
585
+ let node = $9bf71ea28793e738$export$d06fae2ee68b101e.getTreeNode(scopeRef);
586
+ if (node) node.contain = !!contain;
587
+ }, [contain]);
588
+ $f0a04ccd8dbdd83b$export$e5c5a5f917a5871c(() => {
589
+ var _startRef_current;
590
+ let node = (_startRef_current = startRef.current) === null || _startRef_current === void 0 ? void 0 : _startRef_current.nextSibling;
591
+ let nodes = [];
592
+ let stopPropagation = (e) => e.stopPropagation();
593
+ while (node && node !== endRef.current) {
594
+ nodes.push(node);
595
+ node.addEventListener($9bf71ea28793e738$var$RESTORE_FOCUS_EVENT, stopPropagation);
596
+ node = node.nextSibling;
597
+ }
598
+ scopeRef.current = nodes;
599
+ return () => {
600
+ for (let node of nodes) node.removeEventListener($9bf71ea28793e738$var$RESTORE_FOCUS_EVENT, stopPropagation);
601
+ };
602
+ }, [children]);
603
+ $9bf71ea28793e738$var$useActiveScopeTracker(scopeRef, restoreFocus, contain);
604
+ $9bf71ea28793e738$var$useFocusContainment(scopeRef, contain);
605
+ $9bf71ea28793e738$var$useRestoreFocus(scopeRef, restoreFocus, contain);
606
+ $9bf71ea28793e738$var$useAutoFocus(scopeRef, autoFocus);
607
+ useEffect(() => {
608
+ const activeElement = $d4ee10de306f2510$export$cd4e5573fbe2b576($431fbd86ca7dc216$export$b204af158042fbac(scopeRef.current ? scopeRef.current[0] : void 0));
609
+ let scope = null;
610
+ if ($9bf71ea28793e738$var$isElementInScope(activeElement, scopeRef.current)) {
611
+ for (let node of $9bf71ea28793e738$export$d06fae2ee68b101e.traverse()) if (node.scopeRef && $9bf71ea28793e738$var$isElementInScope(activeElement, node.scopeRef.current)) scope = node;
612
+ if (scope === $9bf71ea28793e738$export$d06fae2ee68b101e.getTreeNode(scopeRef)) $9bf71ea28793e738$var$activeScope = scope.scopeRef;
613
+ }
614
+ }, [scopeRef]);
615
+ $f0a04ccd8dbdd83b$export$e5c5a5f917a5871c(() => {
616
+ return () => {
617
+ var _focusScopeTree_getTreeNode_parent, _focusScopeTree_getTreeNode;
618
+ var _focusScopeTree_getTreeNode_parent_scopeRef;
619
+ let parentScope = (_focusScopeTree_getTreeNode_parent_scopeRef = (_focusScopeTree_getTreeNode = $9bf71ea28793e738$export$d06fae2ee68b101e.getTreeNode(scopeRef)) === null || _focusScopeTree_getTreeNode === void 0 ? void 0 : (_focusScopeTree_getTreeNode_parent = _focusScopeTree_getTreeNode.parent) === null || _focusScopeTree_getTreeNode_parent === void 0 ? void 0 : _focusScopeTree_getTreeNode_parent.scopeRef) !== null && _focusScopeTree_getTreeNode_parent_scopeRef !== void 0 ? _focusScopeTree_getTreeNode_parent_scopeRef : null;
620
+ if ((scopeRef === $9bf71ea28793e738$var$activeScope || $9bf71ea28793e738$var$isAncestorScope(scopeRef, $9bf71ea28793e738$var$activeScope)) && (!parentScope || $9bf71ea28793e738$export$d06fae2ee68b101e.getTreeNode(parentScope))) $9bf71ea28793e738$var$activeScope = parentScope;
621
+ $9bf71ea28793e738$export$d06fae2ee68b101e.removeTreeNode(scopeRef);
622
+ };
623
+ }, [scopeRef]);
624
+ let focusManager = useMemo(() => $9bf71ea28793e738$var$createFocusManagerForScope(scopeRef), []);
625
+ let value = useMemo(() => ({
626
+ focusManager,
627
+ parentNode: node
628
+ }), [node, focusManager]);
629
+ return /* @__PURE__ */ React.createElement($9bf71ea28793e738$var$FocusContext.Provider, { value }, /* @__PURE__ */ React.createElement("span", {
630
+ "data-focus-scope-start": true,
631
+ hidden: true,
632
+ ref: startRef
633
+ }), children, /* @__PURE__ */ React.createElement("span", {
634
+ "data-focus-scope-end": true,
635
+ hidden: true,
636
+ ref: endRef
637
+ }));
638
+ }
639
+ function $9bf71ea28793e738$export$10c5169755ce7bd7() {
640
+ var _useContext;
641
+ return (_useContext = useContext($9bf71ea28793e738$var$FocusContext)) === null || _useContext === void 0 ? void 0 : _useContext.focusManager;
642
+ }
643
+ function $9bf71ea28793e738$var$createFocusManagerForScope(scopeRef) {
644
+ return {
645
+ focusNext(opts = {}) {
646
+ let scope = scopeRef.current;
647
+ let { from, tabbable, wrap, accept } = opts;
648
+ var _scope_;
649
+ let node = from || $d4ee10de306f2510$export$cd4e5573fbe2b576($431fbd86ca7dc216$export$b204af158042fbac((_scope_ = scope[0]) !== null && _scope_ !== void 0 ? _scope_ : void 0));
650
+ let sentinel = scope[0].previousElementSibling;
651
+ let walker = $9bf71ea28793e738$export$2d6ec8fc375ceafa($9bf71ea28793e738$var$getScopeRoot(scope), {
652
+ tabbable,
653
+ accept
654
+ }, scope);
655
+ walker.currentNode = $9bf71ea28793e738$var$isElementInScope(node, scope) ? node : sentinel;
656
+ let nextNode = walker.nextNode();
657
+ if (!nextNode && wrap) {
658
+ walker.currentNode = sentinel;
659
+ nextNode = walker.nextNode();
660
+ }
661
+ if (nextNode) $9bf71ea28793e738$var$focusElement(nextNode, true);
662
+ return nextNode;
663
+ },
664
+ focusPrevious(opts = {}) {
665
+ let scope = scopeRef.current;
666
+ let { from, tabbable, wrap, accept } = opts;
667
+ var _scope_;
668
+ let node = from || $d4ee10de306f2510$export$cd4e5573fbe2b576($431fbd86ca7dc216$export$b204af158042fbac((_scope_ = scope[0]) !== null && _scope_ !== void 0 ? _scope_ : void 0));
669
+ let sentinel = scope[scope.length - 1].nextElementSibling;
670
+ let walker = $9bf71ea28793e738$export$2d6ec8fc375ceafa($9bf71ea28793e738$var$getScopeRoot(scope), {
671
+ tabbable,
672
+ accept
673
+ }, scope);
674
+ walker.currentNode = $9bf71ea28793e738$var$isElementInScope(node, scope) ? node : sentinel;
675
+ let previousNode = walker.previousNode();
676
+ if (!previousNode && wrap) {
677
+ walker.currentNode = sentinel;
678
+ previousNode = walker.previousNode();
679
+ }
680
+ if (previousNode) $9bf71ea28793e738$var$focusElement(previousNode, true);
681
+ return previousNode;
682
+ },
683
+ focusFirst(opts = {}) {
684
+ let scope = scopeRef.current;
685
+ let { tabbable, accept } = opts;
686
+ let walker = $9bf71ea28793e738$export$2d6ec8fc375ceafa($9bf71ea28793e738$var$getScopeRoot(scope), {
687
+ tabbable,
688
+ accept
689
+ }, scope);
690
+ walker.currentNode = scope[0].previousElementSibling;
691
+ let nextNode = walker.nextNode();
692
+ if (nextNode) $9bf71ea28793e738$var$focusElement(nextNode, true);
693
+ return nextNode;
694
+ },
695
+ focusLast(opts = {}) {
696
+ let scope = scopeRef.current;
697
+ let { tabbable, accept } = opts;
698
+ let walker = $9bf71ea28793e738$export$2d6ec8fc375ceafa($9bf71ea28793e738$var$getScopeRoot(scope), {
699
+ tabbable,
700
+ accept
701
+ }, scope);
702
+ walker.currentNode = scope[scope.length - 1].nextElementSibling;
703
+ let previousNode = walker.previousNode();
704
+ if (previousNode) $9bf71ea28793e738$var$focusElement(previousNode, true);
705
+ return previousNode;
706
+ }
707
+ };
708
+ }
709
+ function $9bf71ea28793e738$var$getScopeRoot(scope) {
710
+ return scope[0].parentElement;
711
+ }
712
+ function $9bf71ea28793e738$var$shouldContainFocus(scopeRef) {
713
+ let scope = $9bf71ea28793e738$export$d06fae2ee68b101e.getTreeNode($9bf71ea28793e738$var$activeScope);
714
+ while (scope && scope.scopeRef !== scopeRef) {
715
+ if (scope.contain) return false;
716
+ scope = scope.parent;
717
+ }
718
+ return true;
719
+ }
720
+ function $9bf71ea28793e738$var$isTabbableRadio(element) {
721
+ if (element.checked) return true;
722
+ let radios = [];
723
+ if (!element.form) radios = [...$431fbd86ca7dc216$export$b204af158042fbac(element).querySelectorAll(`input[type="radio"][name="${CSS.escape(element.name)}"]`)].filter((radio) => !radio.form);
724
+ else {
725
+ var _element_form_elements, _element_form;
726
+ let radioList = (_element_form = element.form) === null || _element_form === void 0 ? void 0 : (_element_form_elements = _element_form.elements) === null || _element_form_elements === void 0 ? void 0 : _element_form_elements.namedItem(element.name);
727
+ radios = [...radioList !== null && radioList !== void 0 ? radioList : []];
728
+ }
729
+ if (!radios) return false;
730
+ return !radios.some((radio) => radio.checked);
731
+ }
732
+ function $9bf71ea28793e738$var$useFocusContainment(scopeRef, contain) {
733
+ let focusedNode = useRef(void 0);
734
+ let raf = useRef(void 0);
735
+ $f0a04ccd8dbdd83b$export$e5c5a5f917a5871c(() => {
736
+ let scope = scopeRef.current;
737
+ if (!contain) {
738
+ if (raf.current) {
739
+ cancelAnimationFrame(raf.current);
740
+ raf.current = void 0;
741
+ }
742
+ return;
743
+ }
744
+ const ownerDocument = $431fbd86ca7dc216$export$b204af158042fbac(scope ? scope[0] : void 0);
745
+ let onKeyDown = (e) => {
746
+ if (e.key !== "Tab" || e.altKey || e.ctrlKey || e.metaKey || !$9bf71ea28793e738$var$shouldContainFocus(scopeRef) || e.isComposing) return;
747
+ let focusedElement = $d4ee10de306f2510$export$cd4e5573fbe2b576(ownerDocument);
748
+ let scope = scopeRef.current;
749
+ if (!scope || !$9bf71ea28793e738$var$isElementInScope(focusedElement, scope)) return;
750
+ let walker = $9bf71ea28793e738$export$2d6ec8fc375ceafa($9bf71ea28793e738$var$getScopeRoot(scope), { tabbable: true }, scope);
751
+ if (!focusedElement) return;
752
+ walker.currentNode = focusedElement;
753
+ let nextElement = e.shiftKey ? walker.previousNode() : walker.nextNode();
754
+ if (!nextElement) {
755
+ walker.currentNode = e.shiftKey ? scope[scope.length - 1].nextElementSibling : scope[0].previousElementSibling;
756
+ nextElement = e.shiftKey ? walker.previousNode() : walker.nextNode();
757
+ }
758
+ e.preventDefault();
759
+ if (nextElement) $9bf71ea28793e738$var$focusElement(nextElement, true);
760
+ };
761
+ let onFocus = (e) => {
762
+ if ((!$9bf71ea28793e738$var$activeScope || $9bf71ea28793e738$var$isAncestorScope($9bf71ea28793e738$var$activeScope, scopeRef)) && $9bf71ea28793e738$var$isElementInScope($d4ee10de306f2510$export$e58f029f0fbfdb29(e), scopeRef.current)) {
763
+ $9bf71ea28793e738$var$activeScope = scopeRef;
764
+ focusedNode.current = $d4ee10de306f2510$export$e58f029f0fbfdb29(e);
765
+ } else if ($9bf71ea28793e738$var$shouldContainFocus(scopeRef) && !$9bf71ea28793e738$var$isElementInChildScope($d4ee10de306f2510$export$e58f029f0fbfdb29(e), scopeRef)) {
766
+ if (focusedNode.current) focusedNode.current.focus();
767
+ else if ($9bf71ea28793e738$var$activeScope && $9bf71ea28793e738$var$activeScope.current) $9bf71ea28793e738$var$focusFirstInScope($9bf71ea28793e738$var$activeScope.current);
768
+ } else if ($9bf71ea28793e738$var$shouldContainFocus(scopeRef)) focusedNode.current = $d4ee10de306f2510$export$e58f029f0fbfdb29(e);
769
+ };
770
+ let onBlur = (e) => {
771
+ if (raf.current) cancelAnimationFrame(raf.current);
772
+ raf.current = requestAnimationFrame(() => {
773
+ let modality = $507fabe10e71c6fb$export$630ff653c5ada6a9();
774
+ let shouldSkipFocusRestore = (modality === "virtual" || modality === null) && $c87311424ea30a05$export$a11b0059900ceec8() && $c87311424ea30a05$export$6446a186d09e379e();
775
+ let activeElement = $d4ee10de306f2510$export$cd4e5573fbe2b576(ownerDocument);
776
+ if (!shouldSkipFocusRestore && activeElement && $9bf71ea28793e738$var$shouldContainFocus(scopeRef) && !$9bf71ea28793e738$var$isElementInChildScope(activeElement, scopeRef)) {
777
+ $9bf71ea28793e738$var$activeScope = scopeRef;
778
+ let target = $d4ee10de306f2510$export$e58f029f0fbfdb29(e);
779
+ if (target && target.isConnected) {
780
+ var _focusedNode_current;
781
+ focusedNode.current = target;
782
+ (_focusedNode_current = focusedNode.current) === null || _focusedNode_current === void 0 || _focusedNode_current.focus();
783
+ } else if ($9bf71ea28793e738$var$activeScope.current) $9bf71ea28793e738$var$focusFirstInScope($9bf71ea28793e738$var$activeScope.current);
784
+ }
785
+ });
786
+ };
787
+ ownerDocument.addEventListener("keydown", onKeyDown, false);
788
+ ownerDocument.addEventListener("focusin", onFocus, false);
789
+ scope === null || scope === void 0 || scope.forEach((element) => element.addEventListener("focusin", onFocus, false));
790
+ scope === null || scope === void 0 || scope.forEach((element) => element.addEventListener("focusout", onBlur, false));
791
+ return () => {
792
+ ownerDocument.removeEventListener("keydown", onKeyDown, false);
793
+ ownerDocument.removeEventListener("focusin", onFocus, false);
794
+ scope === null || scope === void 0 || scope.forEach((element) => element.removeEventListener("focusin", onFocus, false));
795
+ scope === null || scope === void 0 || scope.forEach((element) => element.removeEventListener("focusout", onBlur, false));
796
+ };
797
+ }, [scopeRef, contain]);
798
+ $f0a04ccd8dbdd83b$export$e5c5a5f917a5871c(() => {
799
+ return () => {
800
+ if (raf.current) cancelAnimationFrame(raf.current);
801
+ };
802
+ }, [raf]);
803
+ }
804
+ function $9bf71ea28793e738$var$isElementInAnyScope(element) {
805
+ return $9bf71ea28793e738$var$isElementInChildScope(element);
806
+ }
807
+ function $9bf71ea28793e738$var$isElementInScope(element, scope) {
808
+ if (!element) return false;
809
+ if (!scope) return false;
810
+ return scope.some((node) => node.contains(element));
811
+ }
812
+ function $9bf71ea28793e738$var$isElementInChildScope(element, scope = null) {
813
+ if (element instanceof Element && element.closest("[data-react-aria-top-layer]")) return true;
814
+ for (let { scopeRef: s } of $9bf71ea28793e738$export$d06fae2ee68b101e.traverse($9bf71ea28793e738$export$d06fae2ee68b101e.getTreeNode(scope))) if (s && $9bf71ea28793e738$var$isElementInScope(element, s.current)) return true;
815
+ return false;
816
+ }
817
+ function $9bf71ea28793e738$var$isAncestorScope(ancestor, scope) {
818
+ var _focusScopeTree_getTreeNode;
819
+ let parent = (_focusScopeTree_getTreeNode = $9bf71ea28793e738$export$d06fae2ee68b101e.getTreeNode(scope)) === null || _focusScopeTree_getTreeNode === void 0 ? void 0 : _focusScopeTree_getTreeNode.parent;
820
+ while (parent) {
821
+ if (parent.scopeRef === ancestor) return true;
822
+ parent = parent.parent;
823
+ }
824
+ return false;
825
+ }
826
+ function $9bf71ea28793e738$var$focusElement(element, scroll = false) {
827
+ if (element != null && !scroll) try {
828
+ $3ad3f6e1647bc98d$export$80f3e147d781571c(element);
829
+ } catch {}
830
+ else if (element != null) try {
831
+ element.focus();
832
+ } catch {}
833
+ }
834
+ function $9bf71ea28793e738$var$getFirstInScope(scope, tabbable = true) {
835
+ let sentinel = scope[0].previousElementSibling;
836
+ let scopeRoot = $9bf71ea28793e738$var$getScopeRoot(scope);
837
+ let walker = $9bf71ea28793e738$export$2d6ec8fc375ceafa(scopeRoot, { tabbable }, scope);
838
+ walker.currentNode = sentinel;
839
+ let nextNode = walker.nextNode();
840
+ if (tabbable && !nextNode) {
841
+ scopeRoot = $9bf71ea28793e738$var$getScopeRoot(scope);
842
+ walker = $9bf71ea28793e738$export$2d6ec8fc375ceafa(scopeRoot, { tabbable: false }, scope);
843
+ walker.currentNode = sentinel;
844
+ nextNode = walker.nextNode();
845
+ }
846
+ return nextNode;
847
+ }
848
+ function $9bf71ea28793e738$var$focusFirstInScope(scope, tabbable = true) {
849
+ $9bf71ea28793e738$var$focusElement($9bf71ea28793e738$var$getFirstInScope(scope, tabbable));
850
+ }
851
+ function $9bf71ea28793e738$var$useAutoFocus(scopeRef, autoFocus) {
852
+ const autoFocusRef = React.useRef(autoFocus);
853
+ useEffect(() => {
854
+ if (autoFocusRef.current) {
855
+ $9bf71ea28793e738$var$activeScope = scopeRef;
856
+ if (!$9bf71ea28793e738$var$isElementInScope($d4ee10de306f2510$export$cd4e5573fbe2b576($431fbd86ca7dc216$export$b204af158042fbac(scopeRef.current ? scopeRef.current[0] : void 0)), $9bf71ea28793e738$var$activeScope.current) && scopeRef.current) $9bf71ea28793e738$var$focusFirstInScope(scopeRef.current);
857
+ }
858
+ autoFocusRef.current = false;
859
+ }, [scopeRef]);
860
+ }
861
+ function $9bf71ea28793e738$var$useActiveScopeTracker(scopeRef, restore, contain) {
862
+ $f0a04ccd8dbdd83b$export$e5c5a5f917a5871c(() => {
863
+ if (restore || contain) return;
864
+ let scope = scopeRef.current;
865
+ const ownerDocument = $431fbd86ca7dc216$export$b204af158042fbac(scope ? scope[0] : void 0);
866
+ let onFocus = (e) => {
867
+ let target = $d4ee10de306f2510$export$e58f029f0fbfdb29(e);
868
+ if ($9bf71ea28793e738$var$isElementInScope(target, scopeRef.current)) $9bf71ea28793e738$var$activeScope = scopeRef;
869
+ else if (!$9bf71ea28793e738$var$isElementInAnyScope(target)) $9bf71ea28793e738$var$activeScope = null;
870
+ };
871
+ ownerDocument.addEventListener("focusin", onFocus, false);
872
+ scope === null || scope === void 0 || scope.forEach((element) => element.addEventListener("focusin", onFocus, false));
873
+ return () => {
874
+ ownerDocument.removeEventListener("focusin", onFocus, false);
875
+ scope === null || scope === void 0 || scope.forEach((element) => element.removeEventListener("focusin", onFocus, false));
876
+ };
877
+ }, [
878
+ scopeRef,
879
+ restore,
880
+ contain
881
+ ]);
882
+ }
883
+ function $9bf71ea28793e738$var$shouldRestoreFocus(scopeRef) {
884
+ let scope = $9bf71ea28793e738$export$d06fae2ee68b101e.getTreeNode($9bf71ea28793e738$var$activeScope);
885
+ while (scope && scope.scopeRef !== scopeRef) {
886
+ if (scope.nodeToRestore) return false;
887
+ scope = scope.parent;
888
+ }
889
+ return (scope === null || scope === void 0 ? void 0 : scope.scopeRef) === scopeRef;
890
+ }
891
+ function $9bf71ea28793e738$var$useRestoreFocus(scopeRef, restoreFocus, contain) {
892
+ const nodeToRestoreRef = useRef(typeof document !== "undefined" ? $d4ee10de306f2510$export$cd4e5573fbe2b576($431fbd86ca7dc216$export$b204af158042fbac(scopeRef.current ? scopeRef.current[0] : void 0)) : null);
893
+ $f0a04ccd8dbdd83b$export$e5c5a5f917a5871c(() => {
894
+ let scope = scopeRef.current;
895
+ const ownerDocument = $431fbd86ca7dc216$export$b204af158042fbac(scope ? scope[0] : void 0);
896
+ if (!restoreFocus || contain) return;
897
+ let onFocus = () => {
898
+ if ((!$9bf71ea28793e738$var$activeScope || $9bf71ea28793e738$var$isAncestorScope($9bf71ea28793e738$var$activeScope, scopeRef)) && $9bf71ea28793e738$var$isElementInScope($d4ee10de306f2510$export$cd4e5573fbe2b576(ownerDocument), scopeRef.current)) $9bf71ea28793e738$var$activeScope = scopeRef;
899
+ };
900
+ ownerDocument.addEventListener("focusin", onFocus, false);
901
+ scope === null || scope === void 0 || scope.forEach((element) => element.addEventListener("focusin", onFocus, false));
902
+ return () => {
903
+ ownerDocument.removeEventListener("focusin", onFocus, false);
904
+ scope === null || scope === void 0 || scope.forEach((element) => element.removeEventListener("focusin", onFocus, false));
905
+ };
906
+ }, [scopeRef, contain]);
907
+ $f0a04ccd8dbdd83b$export$e5c5a5f917a5871c(() => {
908
+ const ownerDocument = $431fbd86ca7dc216$export$b204af158042fbac(scopeRef.current ? scopeRef.current[0] : void 0);
909
+ if (!restoreFocus) return;
910
+ let onKeyDown = (e) => {
911
+ if (e.key !== "Tab" || e.altKey || e.ctrlKey || e.metaKey || !$9bf71ea28793e738$var$shouldContainFocus(scopeRef) || e.isComposing) return;
912
+ let focusedElement = ownerDocument.activeElement;
913
+ if (!$9bf71ea28793e738$var$isElementInChildScope(focusedElement, scopeRef) || !$9bf71ea28793e738$var$shouldRestoreFocus(scopeRef)) return;
914
+ let treeNode = $9bf71ea28793e738$export$d06fae2ee68b101e.getTreeNode(scopeRef);
915
+ if (!treeNode) return;
916
+ let nodeToRestore = treeNode.nodeToRestore;
917
+ let walker = $9bf71ea28793e738$export$2d6ec8fc375ceafa(ownerDocument.body, { tabbable: true });
918
+ walker.currentNode = focusedElement;
919
+ let nextElement = e.shiftKey ? walker.previousNode() : walker.nextNode();
920
+ if (!nodeToRestore || !nodeToRestore.isConnected || nodeToRestore === ownerDocument.body) {
921
+ nodeToRestore = void 0;
922
+ treeNode.nodeToRestore = void 0;
923
+ }
924
+ if ((!nextElement || !$9bf71ea28793e738$var$isElementInChildScope(nextElement, scopeRef)) && nodeToRestore) {
925
+ walker.currentNode = nodeToRestore;
926
+ do
927
+ nextElement = e.shiftKey ? walker.previousNode() : walker.nextNode();
928
+ while ($9bf71ea28793e738$var$isElementInChildScope(nextElement, scopeRef));
929
+ e.preventDefault();
930
+ e.stopPropagation();
931
+ if (nextElement) $9bf71ea28793e738$var$focusElement(nextElement, true);
932
+ else if (!$9bf71ea28793e738$var$isElementInAnyScope(nodeToRestore)) focusedElement.blur();
933
+ else $9bf71ea28793e738$var$focusElement(nodeToRestore, true);
934
+ }
935
+ };
936
+ if (!contain) ownerDocument.addEventListener("keydown", onKeyDown, true);
937
+ return () => {
938
+ if (!contain) ownerDocument.removeEventListener("keydown", onKeyDown, true);
939
+ };
940
+ }, [
941
+ scopeRef,
942
+ restoreFocus,
943
+ contain
944
+ ]);
945
+ $f0a04ccd8dbdd83b$export$e5c5a5f917a5871c(() => {
946
+ const ownerDocument = $431fbd86ca7dc216$export$b204af158042fbac(scopeRef.current ? scopeRef.current[0] : void 0);
947
+ if (!restoreFocus) return;
948
+ let treeNode = $9bf71ea28793e738$export$d06fae2ee68b101e.getTreeNode(scopeRef);
949
+ if (!treeNode) return;
950
+ var _nodeToRestoreRef_current;
951
+ treeNode.nodeToRestore = (_nodeToRestoreRef_current = nodeToRestoreRef.current) !== null && _nodeToRestoreRef_current !== void 0 ? _nodeToRestoreRef_current : void 0;
952
+ return () => {
953
+ let treeNode = $9bf71ea28793e738$export$d06fae2ee68b101e.getTreeNode(scopeRef);
954
+ if (!treeNode) return;
955
+ let nodeToRestore = treeNode.nodeToRestore;
956
+ let activeElement = $d4ee10de306f2510$export$cd4e5573fbe2b576(ownerDocument);
957
+ if (restoreFocus && nodeToRestore && (activeElement && $9bf71ea28793e738$var$isElementInChildScope(activeElement, scopeRef) || activeElement === ownerDocument.body && $9bf71ea28793e738$var$shouldRestoreFocus(scopeRef))) {
958
+ let clonedTree = $9bf71ea28793e738$export$d06fae2ee68b101e.clone();
959
+ requestAnimationFrame(() => {
960
+ if (ownerDocument.activeElement === ownerDocument.body) {
961
+ let treeNode = clonedTree.getTreeNode(scopeRef);
962
+ while (treeNode) {
963
+ if (treeNode.nodeToRestore && treeNode.nodeToRestore.isConnected) {
964
+ $9bf71ea28793e738$var$restoreFocusToElement(treeNode.nodeToRestore);
965
+ return;
966
+ }
967
+ treeNode = treeNode.parent;
968
+ }
969
+ treeNode = clonedTree.getTreeNode(scopeRef);
970
+ while (treeNode) {
971
+ if (treeNode.scopeRef && treeNode.scopeRef.current && $9bf71ea28793e738$export$d06fae2ee68b101e.getTreeNode(treeNode.scopeRef)) {
972
+ $9bf71ea28793e738$var$restoreFocusToElement($9bf71ea28793e738$var$getFirstInScope(treeNode.scopeRef.current, true));
973
+ return;
974
+ }
975
+ treeNode = treeNode.parent;
976
+ }
977
+ }
978
+ });
979
+ }
980
+ };
981
+ }, [scopeRef, restoreFocus]);
982
+ }
983
+ function $9bf71ea28793e738$var$restoreFocusToElement(node) {
984
+ if (node.dispatchEvent(new CustomEvent($9bf71ea28793e738$var$RESTORE_FOCUS_EVENT, {
985
+ bubbles: true,
986
+ cancelable: true
987
+ }))) $9bf71ea28793e738$var$focusElement(node);
988
+ }
989
+ function $9bf71ea28793e738$export$2d6ec8fc375ceafa(root, opts, scope) {
990
+ let filter = (opts === null || opts === void 0 ? void 0 : opts.tabbable) ? $b4b717babfbb907b$export$bebd5a1431fec25d : $b4b717babfbb907b$export$4c063cf1350e6fed;
991
+ let doc = $431fbd86ca7dc216$export$b204af158042fbac((root === null || root === void 0 ? void 0 : root.nodeType) === Node.ELEMENT_NODE ? root : null);
992
+ let walker = $dfc540311bf7f109$export$4d0f8be8b12a7ef6(doc, root || doc, NodeFilter.SHOW_ELEMENT, { acceptNode(node) {
993
+ var _opts_from;
994
+ if (opts === null || opts === void 0 ? void 0 : (_opts_from = opts.from) === null || _opts_from === void 0 ? void 0 : _opts_from.contains(node)) return NodeFilter.FILTER_REJECT;
995
+ if ((opts === null || opts === void 0 ? void 0 : opts.tabbable) && node.tagName === "INPUT" && node.getAttribute("type") === "radio") {
996
+ if (!$9bf71ea28793e738$var$isTabbableRadio(node)) return NodeFilter.FILTER_REJECT;
997
+ if (walker.currentNode.tagName === "INPUT" && walker.currentNode.type === "radio" && walker.currentNode.name === node.name) return NodeFilter.FILTER_REJECT;
998
+ }
999
+ if (filter(node) && (!scope || $9bf71ea28793e738$var$isElementInScope(node, scope)) && (!(opts === null || opts === void 0 ? void 0 : opts.accept) || opts.accept(node))) return NodeFilter.FILTER_ACCEPT;
1000
+ return NodeFilter.FILTER_SKIP;
1001
+ } });
1002
+ if (opts === null || opts === void 0 ? void 0 : opts.from) walker.currentNode = opts.from;
1003
+ return walker;
1004
+ }
1005
+ var $9bf71ea28793e738$var$Tree = class $9bf71ea28793e738$var$Tree {
1006
+ get size() {
1007
+ return this.fastMap.size;
1008
+ }
1009
+ getTreeNode(data) {
1010
+ return this.fastMap.get(data);
1011
+ }
1012
+ addTreeNode(scopeRef, parent, nodeToRestore) {
1013
+ let parentNode = this.fastMap.get(parent !== null && parent !== void 0 ? parent : null);
1014
+ if (!parentNode) return;
1015
+ let node = new $9bf71ea28793e738$var$TreeNode({ scopeRef });
1016
+ parentNode.addChild(node);
1017
+ node.parent = parentNode;
1018
+ this.fastMap.set(scopeRef, node);
1019
+ if (nodeToRestore) node.nodeToRestore = nodeToRestore;
1020
+ }
1021
+ addNode(node) {
1022
+ this.fastMap.set(node.scopeRef, node);
1023
+ }
1024
+ removeTreeNode(scopeRef) {
1025
+ if (scopeRef === null) return;
1026
+ let node = this.fastMap.get(scopeRef);
1027
+ if (!node) return;
1028
+ let parentNode = node.parent;
1029
+ for (let current of this.traverse()) if (current !== node && node.nodeToRestore && current.nodeToRestore && node.scopeRef && node.scopeRef.current && $9bf71ea28793e738$var$isElementInScope(current.nodeToRestore, node.scopeRef.current)) current.nodeToRestore = node.nodeToRestore;
1030
+ let children = node.children;
1031
+ if (parentNode) {
1032
+ parentNode.removeChild(node);
1033
+ if (children.size > 0) children.forEach((child) => parentNode && parentNode.addChild(child));
1034
+ }
1035
+ this.fastMap.delete(node.scopeRef);
1036
+ }
1037
+ *traverse(node = this.root) {
1038
+ if (node.scopeRef != null) yield node;
1039
+ if (node.children.size > 0) for (let child of node.children) yield* this.traverse(child);
1040
+ }
1041
+ clone() {
1042
+ var _node_parent;
1043
+ let newTree = new $9bf71ea28793e738$var$Tree();
1044
+ var _node_parent_scopeRef;
1045
+ for (let node of this.traverse()) newTree.addTreeNode(node.scopeRef, (_node_parent_scopeRef = (_node_parent = node.parent) === null || _node_parent === void 0 ? void 0 : _node_parent.scopeRef) !== null && _node_parent_scopeRef !== void 0 ? _node_parent_scopeRef : null, node.nodeToRestore);
1046
+ return newTree;
1047
+ }
1048
+ constructor() {
1049
+ this.fastMap = /* @__PURE__ */ new Map();
1050
+ this.root = new $9bf71ea28793e738$var$TreeNode({ scopeRef: null });
1051
+ this.fastMap.set(null, this.root);
1052
+ }
1053
+ };
1054
+ var $9bf71ea28793e738$var$TreeNode = class {
1055
+ addChild(node) {
1056
+ this.children.add(node);
1057
+ node.parent = this;
1058
+ }
1059
+ removeChild(node) {
1060
+ this.children.delete(node);
1061
+ node.parent = void 0;
1062
+ }
1063
+ constructor(props) {
1064
+ this.children = /* @__PURE__ */ new Set();
1065
+ this.contain = false;
1066
+ this.scopeRef = props.scopeRef;
1067
+ }
1068
+ };
1069
+ var $9bf71ea28793e738$export$d06fae2ee68b101e = new $9bf71ea28793e738$var$Tree();
1070
+ var Chips_module_default = {
1071
+ list: "list__U846B",
1072
+ listItem: "listItem__bAYUj",
1073
+ button: "button__-48ze",
1074
+ label: "label__qyi8r",
1075
+ counter: "counter__nHcF5"
1076
+ };
1077
+ //#endregion
1078
+ //#region src/components/Chips/private/ChipsPrimitive.tsx
1079
+ var import_jsx_runtime = require_jsx_runtime();
1080
+ /**
1081
+ * Chips anatomy:
1082
+ *
1083
+ * <ChipsRoot>
1084
+ * <ChipsList>
1085
+ * <ChipListItem>
1086
+ * <ChipButton>
1087
+ * <ChipLabel />
1088
+ * </ChipButton>
1089
+ * </ChipListItem>
1090
+ * </ChipsList>
1091
+ * </ChipsRoot>
1092
+ */
1093
+ var DEFAULT_ORIENTATION = "horizontal";
1094
+ function ChipsRoot({ children, orientation = DEFAULT_ORIENTATION }) {
1095
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(OrientationProvider, {
1096
+ orientation,
1097
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(RovingTabIndexProvider, { children })
1098
+ });
1099
+ }
1100
+ var ChipsList = forwardRef(function ChipsList({ children, orientation = DEFAULT_ORIENTATION, ...props }, ref) {
1101
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("ul", {
1102
+ ...props,
1103
+ ref,
1104
+ className: Chips_module_default.list,
1105
+ "data-orientation": orientation,
1106
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)($9bf71ea28793e738$export$20e40289641fbbb6, { children })
1107
+ });
1108
+ });
1109
+ function ChipListItem({ children, ...props }) {
1110
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("li", {
1111
+ ...props,
1112
+ className: Chips_module_default.listItem,
1113
+ children
1114
+ });
1115
+ }
1116
+ var ChipButton = forwardRef(function ChipButton({ children, onKeyDown, variant, icon, countryFlagCode, dsInternalSimulation, ...props }, incomingRef) {
1117
+ const { ref: rovingTabIndexRef, ...rovingTabIndexProps } = useRovingTabIndex(props);
1118
+ const focusManager = $9bf71ea28793e738$export$10c5169755ce7bd7();
1119
+ const { nextKey, previousKey } = useOrientation();
1120
+ const handleKeyDown = (e) => {
1121
+ onKeyDown === null || onKeyDown === void 0 || onKeyDown(e);
1122
+ if (e.defaultPrevented) return;
1123
+ switch (e.key) {
1124
+ case nextKey:
1125
+ focusManager === null || focusManager === void 0 || focusManager.focusNext({ wrap: true });
1126
+ break;
1127
+ case previousKey:
1128
+ focusManager === null || focusManager === void 0 || focusManager.focusPrevious({ wrap: true });
1129
+ break;
1130
+ case "Home":
1131
+ focusManager === null || focusManager === void 0 || focusManager.focusFirst();
1132
+ break;
1133
+ case "End":
1134
+ focusManager === null || focusManager === void 0 || focusManager.focusLast();
1135
+ break;
1136
+ }
1137
+ };
1138
+ const ref = useMergeRefs(incomingRef, rovingTabIndexRef);
1139
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("button", {
1140
+ ...props,
1141
+ ...rovingTabIndexProps,
1142
+ type: "button",
1143
+ onKeyDown: handleKeyDown,
1144
+ ref,
1145
+ className: Chips_module_default.button,
1146
+ "data-variant": variant,
1147
+ "data-ds-internal-simulation": dsInternalSimulation,
1148
+ children: [
1149
+ icon && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Icon, {
1150
+ dataset: { testid: "chip-icon" },
1151
+ svg: icon
1152
+ }),
1153
+ countryFlagCode && !icon && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(CountryFlag, {
1154
+ code: countryFlagCode,
1155
+ size: "medium",
1156
+ dataset: { testid: "chip-country-flag" },
1157
+ alt: ""
1158
+ }),
1159
+ children
1160
+ ]
1161
+ });
1162
+ });
1163
+ function ChipLabel({ children, counter, ...props }) {
1164
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", {
1165
+ ...props,
1166
+ className: Chips_module_default.label,
1167
+ children: [children, counter !== void 0 && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(ChipCounter, { children: counter })]
1168
+ });
1169
+ }
1170
+ function ChipCounter({ children, ...props }) {
1171
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
1172
+ "data-testid": "chip-counter",
1173
+ ...props,
1174
+ className: Chips_module_default.counter,
1175
+ children
1176
+ });
1177
+ }
1178
+ //#endregion
1179
+ export { ChipsList as a, $9bf71ea28793e738$export$10c5169755ce7bd7 as c, ChipListItem as i, ChipCounter as n, ChipsRoot as o, ChipLabel as r, DEFAULT_ORIENTATION as s, ChipButton as t };