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