@navikt/ds-react 7.32.1 → 7.32.3

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 (221) hide show
  1. package/cjs/copybutton/CopyButton.js +4 -9
  2. package/cjs/copybutton/CopyButton.js.map +1 -1
  3. package/cjs/form/combobox/Combobox.js +1 -3
  4. package/cjs/form/combobox/Combobox.js.map +1 -1
  5. package/cjs/form/combobox/ComboboxWrapper.d.ts +1 -2
  6. package/cjs/form/combobox/ComboboxWrapper.js +1 -2
  7. package/cjs/form/combobox/ComboboxWrapper.js.map +1 -1
  8. package/cjs/form/combobox/FilteredOptions/FilteredOptions.js +28 -19
  9. package/cjs/form/combobox/FilteredOptions/FilteredOptions.js.map +1 -1
  10. package/cjs/form/combobox/FilteredOptions/FilteredOptionsItem.js +4 -0
  11. package/cjs/form/combobox/FilteredOptions/FilteredOptionsItem.js.map +1 -1
  12. package/cjs/form/combobox/FilteredOptions/useVirtualFocus.js.map +1 -1
  13. package/cjs/form/combobox/Input/Input.context.d.ts +2 -0
  14. package/cjs/form/combobox/Input/Input.context.js +4 -1
  15. package/cjs/form/combobox/Input/Input.context.js.map +1 -1
  16. package/cjs/form/combobox/Input/InputController.js +2 -2
  17. package/cjs/form/combobox/Input/InputController.js.map +1 -1
  18. package/cjs/form/switch/Switch.js +3 -3
  19. package/cjs/form/switch/Switch.js.map +1 -1
  20. package/cjs/help-text/HelpText.js +3 -3
  21. package/cjs/help-text/HelpText.js.map +1 -1
  22. package/cjs/help-text/HelpTextIcon.d.ts +1 -2
  23. package/cjs/help-text/HelpTextIcon.js +3 -7
  24. package/cjs/help-text/HelpTextIcon.js.map +1 -1
  25. package/cjs/layout/page/parts/PageBlock.d.ts +9 -6
  26. package/cjs/layout/page/parts/PageBlock.js.map +1 -1
  27. package/cjs/modal/ModalUtils.js +6 -4
  28. package/cjs/modal/ModalUtils.js.map +1 -1
  29. package/cjs/overlays/dismissablelayer/DismissableLayer.js +9 -19
  30. package/cjs/overlays/dismissablelayer/DismissableLayer.js.map +1 -1
  31. package/cjs/overlays/dismissablelayer/util/usePointerDownOutside.js +5 -4
  32. package/cjs/overlays/dismissablelayer/util/usePointerDownOutside.js.map +1 -1
  33. package/cjs/overlays/floating-menu/Menu.d.ts +4 -4
  34. package/cjs/overlays/floating-menu/Menu.js +7 -4
  35. package/cjs/overlays/floating-menu/Menu.js.map +1 -1
  36. package/cjs/overlays/floating-menu/parts/RovingFocus.js +3 -3
  37. package/cjs/overlays/floating-menu/parts/RovingFocus.js.map +1 -1
  38. package/cjs/overlays/overlay/hooks/useAnimationsFinished.js +1 -1
  39. package/cjs/overlays/overlay/hooks/useAnimationsFinished.js.map +1 -1
  40. package/cjs/overlays/overlay/hooks/useOpenChangeAnimationComplete.js +2 -2
  41. package/cjs/overlays/overlay/hooks/useOpenChangeAnimationComplete.js.map +1 -1
  42. package/cjs/popover/Popover.js +1 -1
  43. package/cjs/popover/Popover.js.map +1 -1
  44. package/cjs/progress-bar/ProgressBar.js +9 -6
  45. package/cjs/progress-bar/ProgressBar.js.map +1 -1
  46. package/cjs/table/AnimateHeight.js +12 -13
  47. package/cjs/table/AnimateHeight.js.map +1 -1
  48. package/cjs/tabs/parts/tablist/useScrollButtons.d.ts +1 -1
  49. package/cjs/tabs/parts/tablist/useScrollButtons.js +4 -4
  50. package/cjs/tabs/parts/tablist/useScrollButtons.js.map +1 -1
  51. package/cjs/util/TextareaAutoSize.js +3 -10
  52. package/cjs/util/TextareaAutoSize.js.map +1 -1
  53. package/cjs/util/create-context.d.ts +0 -1
  54. package/cjs/util/create-context.js.map +1 -1
  55. package/cjs/util/debounce.d.ts +1 -1
  56. package/cjs/util/debounce.js +5 -8
  57. package/cjs/util/debounce.js.map +1 -1
  58. package/cjs/util/detectBrowser.d.ts +2 -0
  59. package/cjs/util/detectBrowser.js +7 -0
  60. package/cjs/util/detectBrowser.js.map +1 -0
  61. package/cjs/util/focus-boundary/FocusBoundary.d.ts +44 -0
  62. package/cjs/util/focus-boundary/FocusBoundary.js +365 -0
  63. package/cjs/util/focus-boundary/FocusBoundary.js.map +1 -0
  64. package/cjs/util/focus-guards/FocusGuards.d.ts +8 -0
  65. package/cjs/util/focus-guards/FocusGuards.js +36 -0
  66. package/cjs/util/focus-guards/FocusGuards.js.map +1 -0
  67. package/cjs/util/hooks/descendants/useDescendant.js +3 -0
  68. package/cjs/util/hooks/descendants/useDescendant.js.map +1 -1
  69. package/cjs/util/hooks/useEventCallback.js.map +1 -0
  70. package/cjs/{overlays/overlay → util}/hooks/useLatestRef.js +3 -2
  71. package/cjs/util/hooks/useLatestRef.js.map +1 -0
  72. package/cjs/util/hooks/useRefWithInit.js.map +1 -0
  73. package/cjs/util/hooks/useTimeout.d.ts +16 -0
  74. package/cjs/util/hooks/useTimeout.js +49 -0
  75. package/cjs/util/hooks/useTimeout.js.map +1 -0
  76. package/cjs/util/link-anchor/LinkAnchor.js +6 -7
  77. package/cjs/util/link-anchor/LinkAnchor.js.map +1 -1
  78. package/cjs/util/owner.d.ts +29 -0
  79. package/cjs/util/owner.js +38 -0
  80. package/cjs/util/owner.js.map +1 -0
  81. package/esm/copybutton/CopyButton.js +5 -10
  82. package/esm/copybutton/CopyButton.js.map +1 -1
  83. package/esm/form/combobox/Combobox.js +1 -3
  84. package/esm/form/combobox/Combobox.js.map +1 -1
  85. package/esm/form/combobox/ComboboxWrapper.d.ts +1 -2
  86. package/esm/form/combobox/ComboboxWrapper.js +1 -2
  87. package/esm/form/combobox/ComboboxWrapper.js.map +1 -1
  88. package/esm/form/combobox/FilteredOptions/FilteredOptions.js +29 -20
  89. package/esm/form/combobox/FilteredOptions/FilteredOptions.js.map +1 -1
  90. package/esm/form/combobox/FilteredOptions/FilteredOptionsItem.js +4 -0
  91. package/esm/form/combobox/FilteredOptions/FilteredOptionsItem.js.map +1 -1
  92. package/esm/form/combobox/FilteredOptions/useVirtualFocus.js.map +1 -1
  93. package/esm/form/combobox/Input/Input.context.d.ts +2 -0
  94. package/esm/form/combobox/Input/Input.context.js +4 -1
  95. package/esm/form/combobox/Input/Input.context.js.map +1 -1
  96. package/esm/form/combobox/Input/InputController.js +2 -2
  97. package/esm/form/combobox/Input/InputController.js.map +1 -1
  98. package/esm/form/switch/Switch.js +3 -3
  99. package/esm/form/switch/Switch.js.map +1 -1
  100. package/esm/help-text/HelpText.js +3 -3
  101. package/esm/help-text/HelpText.js.map +1 -1
  102. package/esm/help-text/HelpTextIcon.d.ts +1 -2
  103. package/esm/help-text/HelpTextIcon.js +3 -7
  104. package/esm/help-text/HelpTextIcon.js.map +1 -1
  105. package/esm/layout/page/parts/PageBlock.d.ts +9 -6
  106. package/esm/layout/page/parts/PageBlock.js.map +1 -1
  107. package/esm/modal/ModalUtils.js +6 -4
  108. package/esm/modal/ModalUtils.js.map +1 -1
  109. package/esm/overlays/dismissablelayer/DismissableLayer.js +9 -19
  110. package/esm/overlays/dismissablelayer/DismissableLayer.js.map +1 -1
  111. package/esm/overlays/dismissablelayer/util/usePointerDownOutside.js +5 -4
  112. package/esm/overlays/dismissablelayer/util/usePointerDownOutside.js.map +1 -1
  113. package/esm/overlays/floating-menu/Menu.d.ts +4 -4
  114. package/esm/overlays/floating-menu/Menu.js +7 -4
  115. package/esm/overlays/floating-menu/Menu.js.map +1 -1
  116. package/esm/overlays/floating-menu/parts/RovingFocus.js +3 -3
  117. package/esm/overlays/floating-menu/parts/RovingFocus.js.map +1 -1
  118. package/esm/overlays/overlay/hooks/useAnimationsFinished.js +1 -1
  119. package/esm/overlays/overlay/hooks/useAnimationsFinished.js.map +1 -1
  120. package/esm/overlays/overlay/hooks/useOpenChangeAnimationComplete.js +2 -2
  121. package/esm/overlays/overlay/hooks/useOpenChangeAnimationComplete.js.map +1 -1
  122. package/esm/popover/Popover.js +1 -1
  123. package/esm/popover/Popover.js.map +1 -1
  124. package/esm/progress-bar/ProgressBar.js +10 -7
  125. package/esm/progress-bar/ProgressBar.js.map +1 -1
  126. package/esm/table/AnimateHeight.js +12 -13
  127. package/esm/table/AnimateHeight.js.map +1 -1
  128. package/esm/tabs/parts/tablist/useScrollButtons.d.ts +1 -1
  129. package/esm/tabs/parts/tablist/useScrollButtons.js +4 -4
  130. package/esm/tabs/parts/tablist/useScrollButtons.js.map +1 -1
  131. package/esm/util/TextareaAutoSize.js +1 -8
  132. package/esm/util/TextareaAutoSize.js.map +1 -1
  133. package/esm/util/create-context.d.ts +0 -1
  134. package/esm/util/create-context.js.map +1 -1
  135. package/esm/util/debounce.d.ts +1 -1
  136. package/esm/util/debounce.js +5 -8
  137. package/esm/util/debounce.js.map +1 -1
  138. package/esm/util/detectBrowser.d.ts +2 -0
  139. package/esm/util/detectBrowser.js +4 -0
  140. package/esm/util/detectBrowser.js.map +1 -0
  141. package/esm/util/focus-boundary/FocusBoundary.d.ts +44 -0
  142. package/esm/util/focus-boundary/FocusBoundary.js +329 -0
  143. package/esm/util/focus-boundary/FocusBoundary.js.map +1 -0
  144. package/esm/util/focus-guards/FocusGuards.d.ts +8 -0
  145. package/esm/util/focus-guards/FocusGuards.js +31 -0
  146. package/esm/util/focus-guards/FocusGuards.js.map +1 -0
  147. package/esm/util/hooks/descendants/useDescendant.js +3 -0
  148. package/esm/util/hooks/descendants/useDescendant.js.map +1 -1
  149. package/esm/util/hooks/useEventCallback.js.map +1 -0
  150. package/esm/{overlays/overlay → util}/hooks/useLatestRef.js +2 -1
  151. package/esm/util/hooks/useLatestRef.js.map +1 -0
  152. package/esm/util/hooks/useRefWithInit.js.map +1 -0
  153. package/esm/util/hooks/useTimeout.d.ts +16 -0
  154. package/esm/util/hooks/useTimeout.js +45 -0
  155. package/esm/util/hooks/useTimeout.js.map +1 -0
  156. package/esm/util/link-anchor/LinkAnchor.js +6 -7
  157. package/esm/util/link-anchor/LinkAnchor.js.map +1 -1
  158. package/esm/util/owner.d.ts +29 -0
  159. package/esm/util/owner.js +35 -0
  160. package/esm/util/owner.js.map +1 -0
  161. package/package.json +8 -8
  162. package/src/copybutton/CopyButton.tsx +5 -17
  163. package/src/form/combobox/Combobox.tsx +0 -4
  164. package/src/form/combobox/ComboboxWrapper.tsx +0 -3
  165. package/src/form/combobox/FilteredOptions/FilteredOptions.tsx +65 -45
  166. package/src/form/combobox/FilteredOptions/FilteredOptionsItem.tsx +4 -0
  167. package/src/form/combobox/FilteredOptions/useVirtualFocus.ts +1 -0
  168. package/src/form/combobox/Input/Input.context.tsx +5 -0
  169. package/src/form/combobox/Input/InputController.tsx +2 -1
  170. package/src/form/file-upload/parts/item/utils/format-file-size.test.ts +2 -2
  171. package/src/form/switch/Switch.tsx +4 -4
  172. package/src/help-text/HelpText.tsx +3 -2
  173. package/src/help-text/HelpTextIcon.tsx +2 -12
  174. package/src/layout/page/parts/PageBlock.tsx +9 -6
  175. package/src/modal/ModalUtils.ts +7 -4
  176. package/src/overlays/dismissablelayer/DismissableLayer.tsx +9 -18
  177. package/src/overlays/dismissablelayer/util/usePointerDownOutside.ts +5 -4
  178. package/src/overlays/floating-menu/Menu.tsx +13 -9
  179. package/src/overlays/floating-menu/parts/RovingFocus.tsx +3 -3
  180. package/src/overlays/overlay/hooks/useAnimationsFinished.ts +1 -1
  181. package/src/overlays/overlay/hooks/useOpenChangeAnimationComplete.ts +2 -2
  182. package/src/popover/Popover.tsx +1 -1
  183. package/src/progress-bar/ProgressBar.tsx +12 -10
  184. package/src/table/AnimateHeight.tsx +12 -15
  185. package/src/tabs/parts/tablist/useScrollButtons.ts +4 -3
  186. package/src/util/TextareaAutoSize.tsx +1 -9
  187. package/src/util/create-context.tsx +0 -1
  188. package/src/util/debounce.ts +7 -8
  189. package/src/util/detectBrowser.ts +5 -0
  190. package/src/util/focus-boundary/FocusBoundary.tsx +453 -0
  191. package/src/util/focus-guards/FocusGuards.tsx +56 -0
  192. package/src/util/hooks/descendants/useDescendant.tsx +3 -0
  193. package/src/{overlays/overlay → util}/hooks/useLatestRef.ts +2 -1
  194. package/src/util/hooks/useTimeout.ts +54 -0
  195. package/src/util/link-anchor/LinkAnchor.tsx +7 -6
  196. package/src/util/owner.ts +35 -0
  197. package/cjs/overlays/floating-menu/parts/FocusScope.d.ts +0 -22
  198. package/cjs/overlays/floating-menu/parts/FocusScope.js +0 -98
  199. package/cjs/overlays/floating-menu/parts/FocusScope.js.map +0 -1
  200. package/cjs/overlays/overlay/hooks/useEventCallback.js.map +0 -1
  201. package/cjs/overlays/overlay/hooks/useLatestRef.js.map +0 -1
  202. package/cjs/overlays/overlay/hooks/useRefWithInit.js.map +0 -1
  203. package/esm/overlays/floating-menu/parts/FocusScope.d.ts +0 -22
  204. package/esm/overlays/floating-menu/parts/FocusScope.js +0 -62
  205. package/esm/overlays/floating-menu/parts/FocusScope.js.map +0 -1
  206. package/esm/overlays/overlay/hooks/useEventCallback.js.map +0 -1
  207. package/esm/overlays/overlay/hooks/useLatestRef.js.map +0 -1
  208. package/esm/overlays/overlay/hooks/useRefWithInit.js.map +0 -1
  209. package/src/overlays/floating-menu/parts/FocusScope.tsx +0 -83
  210. /package/cjs/{overlays/overlay → util}/hooks/useEventCallback.d.ts +0 -0
  211. /package/cjs/{overlays/overlay → util}/hooks/useEventCallback.js +0 -0
  212. /package/cjs/{overlays/overlay → util}/hooks/useLatestRef.d.ts +0 -0
  213. /package/cjs/{overlays/overlay → util}/hooks/useRefWithInit.d.ts +0 -0
  214. /package/cjs/{overlays/overlay → util}/hooks/useRefWithInit.js +0 -0
  215. /package/esm/{overlays/overlay → util}/hooks/useEventCallback.d.ts +0 -0
  216. /package/esm/{overlays/overlay → util}/hooks/useEventCallback.js +0 -0
  217. /package/esm/{overlays/overlay → util}/hooks/useLatestRef.d.ts +0 -0
  218. /package/esm/{overlays/overlay → util}/hooks/useRefWithInit.d.ts +0 -0
  219. /package/esm/{overlays/overlay → util}/hooks/useRefWithInit.js +0 -0
  220. /package/src/{overlays/overlay → util}/hooks/useEventCallback.ts +0 -0
  221. /package/src/{overlays/overlay → util}/hooks/useRefWithInit.ts +0 -0
@@ -1,98 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- var __rest = (this && this.__rest) || function (s, e) {
36
- var t = {};
37
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
38
- t[p] = s[p];
39
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
40
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
41
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
42
- t[p[i]] = s[p[i]];
43
- }
44
- return t;
45
- };
46
- Object.defineProperty(exports, "__esModule", { value: true });
47
- exports.FocusScope = void 0;
48
- const react_1 = __importStar(require("react"));
49
- const Slot_1 = require("../../../slot/Slot");
50
- const hooks_1 = require("../../../util/hooks");
51
- const AUTOFOCUS_ON_MOUNT = "focusScope.autoFocusOnMount";
52
- const AUTOFOCUS_ON_UNMOUNT = "focusScope.autoFocusOnUnmount";
53
- const EVENT_OPTIONS = { bubbles: false, cancelable: true };
54
- /**
55
- * FocusScope manages focus on mount and unmount of container.
56
- * This is used to better handle autofocus of elements when mounted and unmounted.
57
- * Example usage:
58
- * - Focus first item in a list when mounted
59
- * - Focus a button when unmounted
60
- */
61
- const FocusScope = (0, react_1.forwardRef)((_a, ref) => {
62
- var { onMountHandler: onMountHandlerCallback, onUnmountHandler: onUnmountHandlerCallback } = _a, rest = __rest(_a, ["onMountHandler", "onUnmountHandler"]);
63
- const [container, setContainer] = (0, react_1.useState)(null);
64
- const onMountHandler = (0, hooks_1.useCallbackRef)(onMountHandlerCallback);
65
- const onUnmountHandler = (0, hooks_1.useCallbackRef)(onUnmountHandlerCallback);
66
- const composedRefs = (0, hooks_1.useMergeRefs)(ref, setContainer);
67
- (0, react_1.useEffect)(() => {
68
- var _a;
69
- if (!container)
70
- return;
71
- const ownerDocument = (_a = container.ownerDocument) !== null && _a !== void 0 ? _a : globalThis === null || globalThis === void 0 ? void 0 : globalThis.document;
72
- const hasFocus = container.contains(ownerDocument.activeElement);
73
- if (!hasFocus) {
74
- const mountEvent = new CustomEvent(AUTOFOCUS_ON_MOUNT, EVENT_OPTIONS);
75
- container.addEventListener(AUTOFOCUS_ON_MOUNT, onMountHandler);
76
- container.dispatchEvent(mountEvent);
77
- }
78
- return () => {
79
- container.removeEventListener(AUTOFOCUS_ON_MOUNT, onMountHandler);
80
- /**
81
- * https://github.com/facebook/react/issues/17894
82
- * As usual when dealing with focus and useEffect,
83
- * we need to defer the focus to the next event-loop
84
- * setTimeout makes sure the code is ran after the next render-cycle
85
- */
86
- setTimeout(() => {
87
- const unmountEvent = new CustomEvent(AUTOFOCUS_ON_UNMOUNT, EVENT_OPTIONS);
88
- container.addEventListener(AUTOFOCUS_ON_UNMOUNT, onUnmountHandler);
89
- container.dispatchEvent(unmountEvent);
90
- // we need to remove the listener after we `dispatchEvent`
91
- container.removeEventListener(AUTOFOCUS_ON_UNMOUNT, onUnmountHandler);
92
- }, 0);
93
- };
94
- }, [container, onMountHandler, onUnmountHandler]);
95
- return react_1.default.createElement(Slot_1.Slot, Object.assign({ tabIndex: -1 }, rest, { ref: composedRefs }));
96
- });
97
- exports.FocusScope = FocusScope;
98
- //# sourceMappingURL=FocusScope.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"FocusScope.js","sourceRoot":"","sources":["../../../../src/overlays/floating-menu/parts/FocusScope.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAA+D;AAC/D,6CAA0C;AAC1C,+CAAmE;AAEnE,MAAM,kBAAkB,GAAG,6BAA6B,CAAC;AACzD,MAAM,oBAAoB,GAAG,+BAA+B,CAAC;AAC7D,MAAM,aAAa,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;AAe3D;;;;;;GAMG;AACH,MAAM,UAAU,GAAG,IAAA,kBAAU,EAC3B,CACE,EAIC,EACD,GAAG,EACH,EAAE;QANF,EACE,cAAc,EAAE,sBAAsB,EACtC,gBAAgB,EAAE,wBAAwB,OAE3C,EADI,IAAI,cAHT,sCAIC,CADQ;IAIT,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,IAAA,gBAAQ,EAAqB,IAAI,CAAC,CAAC;IACrE,MAAM,cAAc,GAAG,IAAA,sBAAc,EAAC,sBAAsB,CAAC,CAAC;IAC9D,MAAM,gBAAgB,GAAG,IAAA,sBAAc,EAAC,wBAAwB,CAAC,CAAC;IAElE,MAAM,YAAY,GAAG,IAAA,oBAAY,EAAC,GAAG,EAAE,YAAY,CAAC,CAAC;IAErD,IAAA,iBAAS,EAAC,GAAG,EAAE;;QACb,IAAI,CAAC,SAAS;YAAE,OAAO;QAEvB,MAAM,aAAa,GAAG,MAAA,SAAS,CAAC,aAAa,mCAAI,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,QAAQ,CAAC;QACtE,MAAM,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC;QAEjE,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,UAAU,GAAG,IAAI,WAAW,CAAC,kBAAkB,EAAE,aAAa,CAAC,CAAC;YACtE,SAAS,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,cAAc,CAAC,CAAC;YAC/D,SAAS,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;QACtC,CAAC;QAED,OAAO,GAAG,EAAE;YACV,SAAS,CAAC,mBAAmB,CAAC,kBAAkB,EAAE,cAAc,CAAC,CAAC;YAElE;;;;;eAKG;YACH,UAAU,CAAC,GAAG,EAAE;gBACd,MAAM,YAAY,GAAG,IAAI,WAAW,CAClC,oBAAoB,EACpB,aAAa,CACd,CAAC;gBACF,SAAS,CAAC,gBAAgB,CAAC,oBAAoB,EAAE,gBAAgB,CAAC,CAAC;gBACnE,SAAS,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;gBAEtC,0DAA0D;gBAC1D,SAAS,CAAC,mBAAmB,CAAC,oBAAoB,EAAE,gBAAgB,CAAC,CAAC;YACxE,CAAC,EAAE,CAAC,CAAC,CAAC;QACR,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,SAAS,EAAE,cAAc,EAAE,gBAAgB,CAAC,CAAC,CAAC;IAElD,OAAO,8BAAC,WAAI,kBAAC,QAAQ,EAAE,CAAC,CAAC,IAAM,IAAI,IAAE,GAAG,EAAE,YAAY,IAAI,CAAC;AAC7D,CAAC,CACF,CAAC;AAEO,gCAAU"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"useEventCallback.js","sourceRoot":"","sources":["../../../../src/overlays/overlay/hooks/useEventCallback.ts"],"names":[],"mappings":";AAAA,YAAY,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+Cb,4CAOC;AApDD;;;;;;;;;;;;;;GAcG;AACH,+CAA+C;AAC/C,qDAAkD;AAElD,6EAA6E;AAC7E,MAAM,kBAAkB,GAAI,eAAa,CACvC,qBAAqB,IAAI,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAC7D,CAAC;AAEF,MAAM,sBAAsB;AAC1B,4CAA4C;AAC5C,kBAAkB;IAClB,8EAA8E;IAC9E,kBAAkB,KAAK,uBAAe;IACpC,CAAC,CAAC,kBAAkB;IACpB,CAAC,CAAC,CAAC,EAAO,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;AAaxB;;GAEG;AACH,SAAgB,gBAAgB,CAC9B,QAAuB;IAEvB,MAAM,MAAM,GAAG,IAAA,+BAAc,EAAC,oBAAoB,CAAC,CAAC,OAAoB,CAAC;IACzE,MAAM,CAAC,IAAI,GAAG,QAAQ,CAAC;IACvB,sBAAsB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACtC,OAAO,MAAM,CAAC,UAAU,CAAC;AAC3B,CAAC;AAED,SAAS,oBAAoB;IAC3B,MAAM,MAAM,GAAqB;QAC/B,IAAI,EAAE,SAAS;QACf,QAAQ,EAAE,eAAe;QACzB,UAAU,EAAE,CAAC,GAAG,IAAW,EAAE,EAAE,WAAC,OAAA,MAAA,MAAM,CAAC,QAAQ,uDAAG,GAAG,IAAI,CAAC,CAAA,EAAA;QAC1D,MAAM,EAAE,GAAG,EAAE;YACX,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC;QAChC,CAAC;KACF,CAAC;IACF,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,eAAe;IACtB,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,EAAE,CAAC;QAC1C,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;IAC1E,CAAC;AACH,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"useLatestRef.js","sourceRoot":"","sources":["../../../../src/overlays/overlay/hooks/useLatestRef.ts"],"names":[],"mappings":";AAAA,YAAY,CAAC;;AAKb,oCAQC;AAXD,wCAAsD;AACtD,qDAAkD;AAElD,SAAgB,YAAY,CAAI,KAAQ;IACtC,MAAM,MAAM,GAAG,IAAA,+BAAc,EAAC,eAAe,EAAE,KAAK,CAAC,CAAC,OAAQ,CAAC;IAE/D,MAAM,CAAC,IAAI,GAAG,KAAK,CAAC;IAEpB,IAAA,4BAAqB,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAErC,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,eAAe,CAAI,KAAQ;IAClC,MAAM,MAAM,GAAG;QACb,OAAO,EAAE,KAAK;QACd,IAAI,EAAE,KAAK;QACX,MAAM,EAAE,GAAG,EAAE;YACX,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC;QAC/B,CAAC;KACF,CAAC;IACF,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"useRefWithInit.js","sourceRoot":"","sources":["../../../../src/overlays/overlay/hooks/useRefWithInit.ts"],"names":[],"mappings":";AAAA,YAAY,CAAC;;AAwBJ,wCAAc;AAtBvB,iCAAsC;AAEtC,MAAM,aAAa,GAAG,EAAE,CAAC;AAUzB,SAAS,cAAc,CAAC,IAAgC,EAAE,OAAiB;IACzE,MAAM,GAAG,GAAG,IAAA,cAAM,EAAC,aAAoB,CAAC,CAAC;IAEzC,IAAI,GAAG,CAAC,OAAO,KAAK,aAAa,EAAE,CAAC;QAClC,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC;IAC9B,CAAC;IAED,OAAO,GAAG,CAAC;AACb,CAAC"}
@@ -1,22 +0,0 @@
1
- import React from "react";
2
- interface FocusScopeProps extends React.HTMLAttributes<HTMLDivElement> {
3
- /**
4
- * Event handler called on mount, unless the component already has focus. Used for auto-focusing.
5
- * Can be prevented.
6
- */
7
- onMountHandler?: (event: Event) => void;
8
- /**
9
- * Event handler called on unmount. Used for auto-focusing.
10
- * Can be prevented.
11
- */
12
- onUnmountHandler?: (event: Event) => void;
13
- }
14
- /**
15
- * FocusScope manages focus on mount and unmount of container.
16
- * This is used to better handle autofocus of elements when mounted and unmounted.
17
- * Example usage:
18
- * - Focus first item in a list when mounted
19
- * - Focus a button when unmounted
20
- */
21
- declare const FocusScope: React.ForwardRefExoticComponent<FocusScopeProps & React.RefAttributes<HTMLDivElement>>;
22
- export { FocusScope, type FocusScopeProps };
@@ -1,62 +0,0 @@
1
- var __rest = (this && this.__rest) || function (s, e) {
2
- var t = {};
3
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
4
- t[p] = s[p];
5
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
6
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
7
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
8
- t[p[i]] = s[p[i]];
9
- }
10
- return t;
11
- };
12
- import React, { forwardRef, useEffect, useState } from "react";
13
- import { Slot } from "../../../slot/Slot.js";
14
- import { useCallbackRef, useMergeRefs } from "../../../util/hooks/index.js";
15
- const AUTOFOCUS_ON_MOUNT = "focusScope.autoFocusOnMount";
16
- const AUTOFOCUS_ON_UNMOUNT = "focusScope.autoFocusOnUnmount";
17
- const EVENT_OPTIONS = { bubbles: false, cancelable: true };
18
- /**
19
- * FocusScope manages focus on mount and unmount of container.
20
- * This is used to better handle autofocus of elements when mounted and unmounted.
21
- * Example usage:
22
- * - Focus first item in a list when mounted
23
- * - Focus a button when unmounted
24
- */
25
- const FocusScope = forwardRef((_a, ref) => {
26
- var { onMountHandler: onMountHandlerCallback, onUnmountHandler: onUnmountHandlerCallback } = _a, rest = __rest(_a, ["onMountHandler", "onUnmountHandler"]);
27
- const [container, setContainer] = useState(null);
28
- const onMountHandler = useCallbackRef(onMountHandlerCallback);
29
- const onUnmountHandler = useCallbackRef(onUnmountHandlerCallback);
30
- const composedRefs = useMergeRefs(ref, setContainer);
31
- useEffect(() => {
32
- var _a;
33
- if (!container)
34
- return;
35
- const ownerDocument = (_a = container.ownerDocument) !== null && _a !== void 0 ? _a : globalThis === null || globalThis === void 0 ? void 0 : globalThis.document;
36
- const hasFocus = container.contains(ownerDocument.activeElement);
37
- if (!hasFocus) {
38
- const mountEvent = new CustomEvent(AUTOFOCUS_ON_MOUNT, EVENT_OPTIONS);
39
- container.addEventListener(AUTOFOCUS_ON_MOUNT, onMountHandler);
40
- container.dispatchEvent(mountEvent);
41
- }
42
- return () => {
43
- container.removeEventListener(AUTOFOCUS_ON_MOUNT, onMountHandler);
44
- /**
45
- * https://github.com/facebook/react/issues/17894
46
- * As usual when dealing with focus and useEffect,
47
- * we need to defer the focus to the next event-loop
48
- * setTimeout makes sure the code is ran after the next render-cycle
49
- */
50
- setTimeout(() => {
51
- const unmountEvent = new CustomEvent(AUTOFOCUS_ON_UNMOUNT, EVENT_OPTIONS);
52
- container.addEventListener(AUTOFOCUS_ON_UNMOUNT, onUnmountHandler);
53
- container.dispatchEvent(unmountEvent);
54
- // we need to remove the listener after we `dispatchEvent`
55
- container.removeEventListener(AUTOFOCUS_ON_UNMOUNT, onUnmountHandler);
56
- }, 0);
57
- };
58
- }, [container, onMountHandler, onUnmountHandler]);
59
- return React.createElement(Slot, Object.assign({ tabIndex: -1 }, rest, { ref: composedRefs }));
60
- });
61
- export { FocusScope };
62
- //# sourceMappingURL=FocusScope.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"FocusScope.js","sourceRoot":"","sources":["../../../../src/overlays/floating-menu/parts/FocusScope.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC/D,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAEnE,MAAM,kBAAkB,GAAG,6BAA6B,CAAC;AACzD,MAAM,oBAAoB,GAAG,+BAA+B,CAAC;AAC7D,MAAM,aAAa,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;AAe3D;;;;;;GAMG;AACH,MAAM,UAAU,GAAG,UAAU,CAC3B,CACE,EAIC,EACD,GAAG,EACH,EAAE;QANF,EACE,cAAc,EAAE,sBAAsB,EACtC,gBAAgB,EAAE,wBAAwB,OAE3C,EADI,IAAI,cAHT,sCAIC,CADQ;IAIT,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAqB,IAAI,CAAC,CAAC;IACrE,MAAM,cAAc,GAAG,cAAc,CAAC,sBAAsB,CAAC,CAAC;IAC9D,MAAM,gBAAgB,GAAG,cAAc,CAAC,wBAAwB,CAAC,CAAC;IAElE,MAAM,YAAY,GAAG,YAAY,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;IAErD,SAAS,CAAC,GAAG,EAAE;;QACb,IAAI,CAAC,SAAS;YAAE,OAAO;QAEvB,MAAM,aAAa,GAAG,MAAA,SAAS,CAAC,aAAa,mCAAI,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,QAAQ,CAAC;QACtE,MAAM,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC;QAEjE,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,UAAU,GAAG,IAAI,WAAW,CAAC,kBAAkB,EAAE,aAAa,CAAC,CAAC;YACtE,SAAS,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,cAAc,CAAC,CAAC;YAC/D,SAAS,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;QACtC,CAAC;QAED,OAAO,GAAG,EAAE;YACV,SAAS,CAAC,mBAAmB,CAAC,kBAAkB,EAAE,cAAc,CAAC,CAAC;YAElE;;;;;eAKG;YACH,UAAU,CAAC,GAAG,EAAE;gBACd,MAAM,YAAY,GAAG,IAAI,WAAW,CAClC,oBAAoB,EACpB,aAAa,CACd,CAAC;gBACF,SAAS,CAAC,gBAAgB,CAAC,oBAAoB,EAAE,gBAAgB,CAAC,CAAC;gBACnE,SAAS,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;gBAEtC,0DAA0D;gBAC1D,SAAS,CAAC,mBAAmB,CAAC,oBAAoB,EAAE,gBAAgB,CAAC,CAAC;YACxE,CAAC,EAAE,CAAC,CAAC,CAAC;QACR,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,SAAS,EAAE,cAAc,EAAE,gBAAgB,CAAC,CAAC,CAAC;IAElD,OAAO,oBAAC,IAAI,kBAAC,QAAQ,EAAE,CAAC,CAAC,IAAM,IAAI,IAAE,GAAG,EAAE,YAAY,IAAI,CAAC;AAC7D,CAAC,CACF,CAAC;AAEF,OAAO,EAAE,UAAU,EAAwB,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"useEventCallback.js","sourceRoot":"","sources":["../../../../src/overlays/overlay/hooks/useEventCallback.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb;;;;;;;;;;;;;;GAcG;AACH,OAAO,KAAK,EAAE,EAAE,eAAe,EAAE,MAAM,OAAO,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,6EAA6E;AAC7E,MAAM,kBAAkB,GAAI,KAAa,CACvC,qBAAqB,IAAI,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAC7D,CAAC;AAEF,MAAM,sBAAsB;AAC1B,4CAA4C;AAC5C,kBAAkB;IAClB,8EAA8E;IAC9E,kBAAkB,KAAK,eAAe;IACpC,CAAC,CAAC,kBAAkB;IACpB,CAAC,CAAC,CAAC,EAAO,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;AAaxB;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAC9B,QAAuB;IAEvB,MAAM,MAAM,GAAG,cAAc,CAAC,oBAAoB,CAAC,CAAC,OAAoB,CAAC;IACzE,MAAM,CAAC,IAAI,GAAG,QAAQ,CAAC;IACvB,sBAAsB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACtC,OAAO,MAAM,CAAC,UAAU,CAAC;AAC3B,CAAC;AAED,SAAS,oBAAoB;IAC3B,MAAM,MAAM,GAAqB;QAC/B,IAAI,EAAE,SAAS;QACf,QAAQ,EAAE,eAAe;QACzB,UAAU,EAAE,CAAC,GAAG,IAAW,EAAE,EAAE,WAAC,OAAA,MAAA,MAAM,CAAC,QAAQ,uDAAG,GAAG,IAAI,CAAC,CAAA,EAAA;QAC1D,MAAM,EAAE,GAAG,EAAE;YACX,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC;QAChC,CAAC;KACF,CAAC;IACF,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,eAAe;IACtB,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,EAAE,CAAC;QAC1C,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;IAC1E,CAAC;AACH,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"useLatestRef.js","sourceRoot":"","sources":["../../../../src/overlays/overlay/hooks/useLatestRef.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,MAAM,UAAU,YAAY,CAAI,KAAQ;IACtC,MAAM,MAAM,GAAG,cAAc,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC,OAAQ,CAAC;IAE/D,MAAM,CAAC,IAAI,GAAG,KAAK,CAAC;IAEpB,qBAAqB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAErC,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,eAAe,CAAI,KAAQ;IAClC,MAAM,MAAM,GAAG;QACb,OAAO,EAAE,KAAK;QACd,IAAI,EAAE,KAAK;QACX,MAAM,EAAE,GAAG,EAAE;YACX,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC;QAC/B,CAAC;KACF,CAAC;IACF,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"useRefWithInit.js","sourceRoot":"","sources":["../../../../src/overlays/overlay/hooks/useRefWithInit.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAc,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAEtC,MAAM,aAAa,GAAG,EAAE,CAAC;AAUzB,SAAS,cAAc,CAAC,IAAgC,EAAE,OAAiB;IACzE,MAAM,GAAG,GAAG,MAAM,CAAC,aAAoB,CAAC,CAAC;IAEzC,IAAI,GAAG,CAAC,OAAO,KAAK,aAAa,EAAE,CAAC;QAClC,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC;IAC9B,CAAC;IAED,OAAO,GAAG,CAAC;AACb,CAAC;AAED,OAAO,EAAE,cAAc,EAAE,CAAC"}
@@ -1,83 +0,0 @@
1
- import React, { forwardRef, useEffect, useState } from "react";
2
- import { Slot } from "../../../slot/Slot";
3
- import { useCallbackRef, useMergeRefs } from "../../../util/hooks";
4
-
5
- const AUTOFOCUS_ON_MOUNT = "focusScope.autoFocusOnMount";
6
- const AUTOFOCUS_ON_UNMOUNT = "focusScope.autoFocusOnUnmount";
7
- const EVENT_OPTIONS = { bubbles: false, cancelable: true };
8
-
9
- interface FocusScopeProps extends React.HTMLAttributes<HTMLDivElement> {
10
- /**
11
- * Event handler called on mount, unless the component already has focus. Used for auto-focusing.
12
- * Can be prevented.
13
- */
14
- onMountHandler?: (event: Event) => void;
15
- /**
16
- * Event handler called on unmount. Used for auto-focusing.
17
- * Can be prevented.
18
- */
19
- onUnmountHandler?: (event: Event) => void;
20
- }
21
-
22
- /**
23
- * FocusScope manages focus on mount and unmount of container.
24
- * This is used to better handle autofocus of elements when mounted and unmounted.
25
- * Example usage:
26
- * - Focus first item in a list when mounted
27
- * - Focus a button when unmounted
28
- */
29
- const FocusScope = forwardRef<HTMLDivElement, FocusScopeProps>(
30
- (
31
- {
32
- onMountHandler: onMountHandlerCallback,
33
- onUnmountHandler: onUnmountHandlerCallback,
34
- ...rest
35
- },
36
- ref,
37
- ) => {
38
- const [container, setContainer] = useState<HTMLElement | null>(null);
39
- const onMountHandler = useCallbackRef(onMountHandlerCallback);
40
- const onUnmountHandler = useCallbackRef(onUnmountHandlerCallback);
41
-
42
- const composedRefs = useMergeRefs(ref, setContainer);
43
-
44
- useEffect(() => {
45
- if (!container) return;
46
-
47
- const ownerDocument = container.ownerDocument ?? globalThis?.document;
48
- const hasFocus = container.contains(ownerDocument.activeElement);
49
-
50
- if (!hasFocus) {
51
- const mountEvent = new CustomEvent(AUTOFOCUS_ON_MOUNT, EVENT_OPTIONS);
52
- container.addEventListener(AUTOFOCUS_ON_MOUNT, onMountHandler);
53
- container.dispatchEvent(mountEvent);
54
- }
55
-
56
- return () => {
57
- container.removeEventListener(AUTOFOCUS_ON_MOUNT, onMountHandler);
58
-
59
- /**
60
- * https://github.com/facebook/react/issues/17894
61
- * As usual when dealing with focus and useEffect,
62
- * we need to defer the focus to the next event-loop
63
- * setTimeout makes sure the code is ran after the next render-cycle
64
- */
65
- setTimeout(() => {
66
- const unmountEvent = new CustomEvent(
67
- AUTOFOCUS_ON_UNMOUNT,
68
- EVENT_OPTIONS,
69
- );
70
- container.addEventListener(AUTOFOCUS_ON_UNMOUNT, onUnmountHandler);
71
- container.dispatchEvent(unmountEvent);
72
-
73
- // we need to remove the listener after we `dispatchEvent`
74
- container.removeEventListener(AUTOFOCUS_ON_UNMOUNT, onUnmountHandler);
75
- }, 0);
76
- };
77
- }, [container, onMountHandler, onUnmountHandler]);
78
-
79
- return <Slot tabIndex={-1} {...rest} ref={composedRefs} />;
80
- },
81
- );
82
-
83
- export { FocusScope, type FocusScopeProps };