@elastic/eui 110.0.0 → 111.0.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 (237) hide show
  1. package/es/components/collapsible_nav/collapsible_nav.js +20 -101
  2. package/es/components/collapsible_nav_beta/collapsible_nav_beta.js +1 -0
  3. package/es/components/flyout/_flyout_overlay.js +52 -0
  4. package/es/components/flyout/_flyout_resize_button.js +32 -0
  5. package/es/components/flyout/{flyout_resizable.styles.js → _flyout_resize_button.styles.js} +11 -11
  6. package/es/components/flyout/const.js +42 -0
  7. package/es/components/flyout/flyout.component.js +481 -0
  8. package/es/components/flyout/flyout.js +77 -379
  9. package/es/components/flyout/flyout.styles.js +105 -7
  10. package/es/components/flyout/flyout_menu.js +241 -0
  11. package/es/components/flyout/flyout_menu.styles.js +19 -0
  12. package/{optimize/es/components/flyout/flyout_context.js → es/components/flyout/flyout_menu_context.js} +1 -7
  13. package/es/components/flyout/flyout_parent_context.js +36 -0
  14. package/es/components/flyout/flyout_resizable.js +33 -144
  15. package/es/components/flyout/hooks.js +25 -0
  16. package/es/components/flyout/index.js +5 -2
  17. package/es/components/flyout/manager/actions.js +153 -0
  18. package/es/components/flyout/manager/activity_stage.js +95 -0
  19. package/es/components/flyout/manager/const.js +56 -0
  20. package/es/components/flyout/manager/context.js +33 -0
  21. package/es/components/flyout/manager/flyout_child.js +75 -0
  22. package/es/components/flyout/manager/flyout_main.js +65 -0
  23. package/es/components/flyout/manager/flyout_main.styles.js +25 -0
  24. package/es/components/flyout/manager/flyout_managed.js +227 -0
  25. package/es/components/flyout/manager/flyout_managed.styles.js +69 -0
  26. package/es/components/flyout/manager/hooks.js +55 -0
  27. package/es/components/flyout/manager/index.js +31 -0
  28. package/es/components/flyout/manager/layout_mode.js +167 -0
  29. package/es/components/flyout/manager/provider.js +57 -0
  30. package/es/components/flyout/manager/reducer.js +320 -0
  31. package/es/components/flyout/manager/selectors.js +116 -0
  32. package/es/components/flyout/manager/store.js +113 -0
  33. package/es/components/flyout/manager/validation.js +85 -0
  34. package/es/components/flyout/use_flyout_resizable.js +149 -0
  35. package/es/components/flyout/use_flyout_z_index.js +46 -0
  36. package/es/components/overlay_mask/overlay_mask.js +13 -3
  37. package/es/components/overlay_mask/overlay_mask.styles.js +11 -2
  38. package/es/components/provider/provider.js +2 -1
  39. package/eui.d.ts +1484 -921
  40. package/i18ntokens.json +1207 -1153
  41. package/lib/components/collapsible_nav/collapsible_nav.js +20 -101
  42. package/lib/components/collapsible_nav_beta/collapsible_nav_beta.js +1 -0
  43. package/lib/components/flyout/_flyout_overlay.js +59 -0
  44. package/lib/components/flyout/_flyout_resize_button.js +38 -0
  45. package/{test-env/components/flyout/flyout_resizable.styles.js → lib/components/flyout/_flyout_resize_button.styles.js} +12 -12
  46. package/lib/components/flyout/const.js +49 -0
  47. package/lib/components/flyout/flyout.component.js +488 -0
  48. package/lib/components/flyout/flyout.js +102 -379
  49. package/lib/components/flyout/flyout.styles.js +105 -7
  50. package/lib/components/flyout/flyout_menu.js +243 -0
  51. package/lib/components/flyout/flyout_menu.styles.js +25 -0
  52. package/{optimize/lib/components/flyout/flyout_context.js → lib/components/flyout/flyout_menu_context.js} +2 -7
  53. package/lib/components/flyout/flyout_parent_context.js +43 -0
  54. package/lib/components/flyout/flyout_resizable.js +36 -147
  55. package/lib/components/flyout/hooks.js +30 -0
  56. package/lib/components/flyout/index.js +21 -14
  57. package/lib/components/flyout/manager/actions.js +159 -0
  58. package/lib/components/flyout/manager/activity_stage.js +101 -0
  59. package/lib/components/flyout/manager/const.js +62 -0
  60. package/lib/components/flyout/manager/context.js +41 -0
  61. package/lib/components/flyout/manager/flyout_child.js +80 -0
  62. package/lib/components/flyout/manager/flyout_main.js +70 -0
  63. package/lib/components/flyout/manager/flyout_main.styles.js +31 -0
  64. package/lib/components/flyout/manager/flyout_managed.js +233 -0
  65. package/lib/components/flyout/manager/flyout_managed.styles.js +73 -0
  66. package/lib/components/flyout/manager/hooks.js +131 -0
  67. package/lib/components/flyout/manager/index.js +168 -0
  68. package/lib/components/flyout/manager/layout_mode.js +171 -0
  69. package/lib/components/flyout/manager/provider.js +63 -0
  70. package/lib/components/flyout/manager/reducer.js +325 -0
  71. package/lib/components/flyout/manager/selectors.js +122 -0
  72. package/lib/components/flyout/manager/store.js +120 -0
  73. package/lib/components/flyout/manager/validation.js +94 -0
  74. package/lib/components/flyout/use_flyout_resizable.js +153 -0
  75. package/lib/components/flyout/use_flyout_z_index.js +51 -0
  76. package/lib/components/overlay_mask/overlay_mask.js +12 -2
  77. package/lib/components/overlay_mask/overlay_mask.styles.js +11 -4
  78. package/lib/components/provider/provider.js +2 -1
  79. package/optimize/es/components/collapsible_nav/collapsible_nav.js +1 -0
  80. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_beta.js +1 -0
  81. package/optimize/es/components/flyout/_flyout_overlay.js +52 -0
  82. package/optimize/es/components/flyout/_flyout_resize_button.js +31 -0
  83. package/optimize/es/components/flyout/{flyout_resizable.styles.js → _flyout_resize_button.styles.js} +11 -11
  84. package/optimize/es/components/flyout/const.js +42 -0
  85. package/optimize/es/components/flyout/flyout.component.js +469 -0
  86. package/optimize/es/components/flyout/flyout.js +53 -349
  87. package/optimize/es/components/flyout/flyout.styles.js +102 -7
  88. package/optimize/es/components/flyout/flyout_menu.js +162 -0
  89. package/optimize/es/components/flyout/flyout_menu.styles.js +19 -0
  90. package/{es/components/flyout/flyout_context.js → optimize/es/components/flyout/flyout_menu_context.js} +1 -7
  91. package/optimize/es/components/flyout/flyout_parent_context.js +36 -0
  92. package/optimize/es/components/flyout/flyout_resizable.js +7 -138
  93. package/optimize/es/components/flyout/hooks.js +25 -0
  94. package/optimize/es/components/flyout/index.js +5 -2
  95. package/optimize/es/components/flyout/manager/actions.js +153 -0
  96. package/optimize/es/components/flyout/manager/activity_stage.js +95 -0
  97. package/optimize/es/components/flyout/manager/const.js +56 -0
  98. package/optimize/es/components/flyout/manager/context.js +33 -0
  99. package/optimize/es/components/flyout/manager/flyout_child.js +71 -0
  100. package/optimize/es/components/flyout/manager/flyout_main.js +61 -0
  101. package/optimize/es/components/flyout/manager/flyout_main.styles.js +25 -0
  102. package/optimize/es/components/flyout/manager/flyout_managed.js +223 -0
  103. package/optimize/es/components/flyout/manager/flyout_managed.styles.js +69 -0
  104. package/optimize/es/components/flyout/manager/hooks.js +55 -0
  105. package/optimize/es/components/flyout/manager/index.js +31 -0
  106. package/optimize/es/components/flyout/manager/layout_mode.js +162 -0
  107. package/optimize/es/components/flyout/manager/provider.js +53 -0
  108. package/optimize/es/components/flyout/manager/reducer.js +312 -0
  109. package/optimize/es/components/flyout/manager/selectors.js +116 -0
  110. package/optimize/es/components/flyout/manager/store.js +113 -0
  111. package/optimize/es/components/flyout/manager/types.js +1 -0
  112. package/optimize/es/components/flyout/manager/validation.js +85 -0
  113. package/optimize/es/components/flyout/types.js +1 -0
  114. package/optimize/es/components/flyout/use_flyout_resizable.js +144 -0
  115. package/optimize/es/components/flyout/use_flyout_z_index.js +46 -0
  116. package/optimize/es/components/overlay_mask/overlay_mask.js +13 -3
  117. package/optimize/es/components/overlay_mask/overlay_mask.styles.js +11 -2
  118. package/optimize/es/components/provider/provider.js +2 -1
  119. package/optimize/lib/components/collapsible_nav/collapsible_nav.js +1 -0
  120. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_beta.js +1 -0
  121. package/optimize/lib/components/flyout/_flyout_overlay.js +62 -0
  122. package/optimize/lib/components/flyout/_flyout_resize_button.js +37 -0
  123. package/{lib/components/flyout/flyout_resizable.styles.js → optimize/lib/components/flyout/_flyout_resize_button.styles.js} +12 -12
  124. package/optimize/lib/components/flyout/const.js +49 -0
  125. package/optimize/lib/components/flyout/flyout.component.js +477 -0
  126. package/optimize/lib/components/flyout/flyout.js +77 -349
  127. package/optimize/lib/components/flyout/flyout.styles.js +102 -7
  128. package/optimize/lib/components/flyout/flyout_menu.js +168 -0
  129. package/optimize/lib/components/flyout/flyout_menu.styles.js +25 -0
  130. package/{lib/components/flyout/flyout_context.js → optimize/lib/components/flyout/flyout_menu_context.js} +2 -7
  131. package/optimize/lib/components/flyout/flyout_parent_context.js +43 -0
  132. package/optimize/lib/components/flyout/flyout_resizable.js +9 -139
  133. package/optimize/lib/components/flyout/hooks.js +30 -0
  134. package/optimize/lib/components/flyout/index.js +21 -14
  135. package/optimize/lib/components/flyout/manager/actions.js +159 -0
  136. package/optimize/lib/components/flyout/manager/activity_stage.js +101 -0
  137. package/optimize/lib/components/flyout/manager/const.js +62 -0
  138. package/optimize/lib/components/flyout/manager/context.js +41 -0
  139. package/optimize/lib/components/flyout/manager/flyout_child.js +76 -0
  140. package/optimize/lib/components/flyout/manager/flyout_main.js +66 -0
  141. package/optimize/lib/components/flyout/manager/flyout_main.styles.js +31 -0
  142. package/optimize/lib/components/flyout/manager/flyout_managed.js +231 -0
  143. package/optimize/lib/components/flyout/manager/flyout_managed.styles.js +74 -0
  144. package/optimize/lib/components/flyout/manager/hooks.js +131 -0
  145. package/optimize/lib/components/flyout/manager/index.js +168 -0
  146. package/optimize/lib/components/flyout/manager/layout_mode.js +169 -0
  147. package/optimize/lib/components/flyout/manager/provider.js +61 -0
  148. package/optimize/lib/components/flyout/manager/reducer.js +318 -0
  149. package/optimize/lib/components/flyout/manager/selectors.js +122 -0
  150. package/optimize/lib/components/flyout/manager/store.js +120 -0
  151. package/optimize/lib/components/flyout/manager/validation.js +94 -0
  152. package/optimize/lib/components/flyout/types.js +5 -0
  153. package/optimize/lib/components/flyout/use_flyout_resizable.js +151 -0
  154. package/optimize/lib/components/flyout/use_flyout_z_index.js +51 -0
  155. package/optimize/lib/components/overlay_mask/overlay_mask.js +12 -2
  156. package/optimize/lib/components/overlay_mask/overlay_mask.styles.js +11 -4
  157. package/optimize/lib/components/provider/provider.js +2 -1
  158. package/package.json +5 -4
  159. package/test-env/components/collapsible_nav/collapsible_nav.js +20 -101
  160. package/test-env/components/collapsible_nav_beta/collapsible_nav_beta.js +1 -0
  161. package/test-env/components/flyout/_flyout_overlay.js +62 -0
  162. package/test-env/components/flyout/_flyout_resize_button.js +37 -0
  163. package/{optimize/lib/components/flyout/flyout_resizable.styles.js → test-env/components/flyout/_flyout_resize_button.styles.js} +12 -12
  164. package/test-env/components/flyout/const.js +49 -0
  165. package/test-env/components/flyout/flyout.component.js +477 -0
  166. package/test-env/components/flyout/flyout.styles.js +102 -7
  167. package/test-env/components/flyout/flyout_menu.js +241 -0
  168. package/test-env/components/flyout/flyout_menu.styles.js +25 -0
  169. package/test-env/components/flyout/{flyout_context.js → flyout_menu_context.js} +2 -7
  170. package/test-env/components/flyout/flyout_parent_context.js +43 -0
  171. package/test-env/components/flyout/flyout_resizable.js +35 -139
  172. package/test-env/components/flyout/hooks.js +30 -0
  173. package/test-env/components/flyout/index.js +21 -14
  174. package/test-env/components/flyout/manager/actions.js +159 -0
  175. package/test-env/components/flyout/manager/activity_stage.js +101 -0
  176. package/test-env/components/flyout/manager/const.js +62 -0
  177. package/test-env/components/flyout/manager/context.js +41 -0
  178. package/test-env/components/flyout/manager/flyout_child.js +76 -0
  179. package/test-env/components/flyout/manager/flyout_main.js +66 -0
  180. package/test-env/components/flyout/manager/flyout_main.styles.js +31 -0
  181. package/test-env/components/flyout/manager/flyout_managed.js +231 -0
  182. package/test-env/components/flyout/manager/flyout_managed.styles.js +74 -0
  183. package/test-env/components/flyout/manager/hooks.js +131 -0
  184. package/test-env/components/flyout/manager/index.js +168 -0
  185. package/test-env/components/flyout/manager/layout_mode.js +169 -0
  186. package/test-env/components/flyout/manager/provider.js +61 -0
  187. package/test-env/components/flyout/manager/reducer.js +318 -0
  188. package/test-env/components/flyout/manager/selectors.js +122 -0
  189. package/test-env/components/flyout/manager/store.js +120 -0
  190. package/test-env/components/flyout/manager/types.js +5 -0
  191. package/test-env/components/flyout/manager/validation.js +94 -0
  192. package/test-env/components/flyout/types.js +5 -0
  193. package/test-env/components/flyout/use_flyout_resizable.js +151 -0
  194. package/test-env/components/flyout/use_flyout_z_index.js +51 -0
  195. package/test-env/components/overlay_mask/overlay_mask.js +12 -2
  196. package/test-env/components/overlay_mask/overlay_mask.styles.js +11 -4
  197. package/test-env/components/provider/provider.js +2 -1
  198. package/es/components/flyout/flyout_child.js +0 -223
  199. package/es/components/flyout/flyout_child.styles.js +0 -32
  200. package/es/components/flyout/flyout_child_manager.js +0 -114
  201. package/es/components/flyout/sessions/flyout_provider.js +0 -95
  202. package/es/components/flyout/sessions/flyout_reducer.js +0 -195
  203. package/es/components/flyout/sessions/index.js +0 -10
  204. package/es/components/flyout/sessions/use_eui_flyout.js +0 -82
  205. package/lib/components/flyout/flyout_child.js +0 -231
  206. package/lib/components/flyout/flyout_child.styles.js +0 -38
  207. package/lib/components/flyout/flyout_child_manager.js +0 -122
  208. package/lib/components/flyout/sessions/flyout_provider.js +0 -102
  209. package/lib/components/flyout/sessions/flyout_reducer.js +0 -202
  210. package/lib/components/flyout/sessions/index.js +0 -25
  211. package/lib/components/flyout/sessions/use_eui_flyout.js +0 -88
  212. package/optimize/es/components/flyout/flyout_child.js +0 -178
  213. package/optimize/es/components/flyout/flyout_child.styles.js +0 -32
  214. package/optimize/es/components/flyout/flyout_child_manager.js +0 -100
  215. package/optimize/es/components/flyout/sessions/flyout_provider.js +0 -90
  216. package/optimize/es/components/flyout/sessions/flyout_reducer.js +0 -187
  217. package/optimize/es/components/flyout/sessions/index.js +0 -10
  218. package/optimize/es/components/flyout/sessions/use_eui_flyout.js +0 -82
  219. package/optimize/lib/components/flyout/flyout_child.js +0 -186
  220. package/optimize/lib/components/flyout/flyout_child.styles.js +0 -38
  221. package/optimize/lib/components/flyout/flyout_child_manager.js +0 -110
  222. package/optimize/lib/components/flyout/sessions/flyout_provider.js +0 -100
  223. package/optimize/lib/components/flyout/sessions/flyout_reducer.js +0 -195
  224. package/optimize/lib/components/flyout/sessions/index.js +0 -25
  225. package/optimize/lib/components/flyout/sessions/use_eui_flyout.js +0 -88
  226. package/test-env/components/flyout/flyout_child.js +0 -230
  227. package/test-env/components/flyout/flyout_child.styles.js +0 -38
  228. package/test-env/components/flyout/flyout_child_manager.js +0 -119
  229. package/test-env/components/flyout/sessions/flyout_provider.js +0 -100
  230. package/test-env/components/flyout/sessions/flyout_reducer.js +0 -195
  231. package/test-env/components/flyout/sessions/index.js +0 -25
  232. package/test-env/components/flyout/sessions/use_eui_flyout.js +0 -88
  233. /package/es/components/flyout/{sessions → manager}/types.js +0 -0
  234. /package/{optimize/es/components/flyout/sessions → es/components/flyout}/types.js +0 -0
  235. /package/lib/components/flyout/{sessions → manager}/types.js +0 -0
  236. /package/{optimize/lib/components/flyout/sessions → lib/components/flyout}/types.js +0 -0
  237. /package/{test-env/components/flyout/sessions → optimize/lib/components/flyout/manager}/types.js +0 -0
@@ -0,0 +1,488 @@
1
+ "use strict";
2
+
3
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.EuiFlyoutComponent = void 0;
8
+ var _react = _interopRequireWildcard(require("react"));
9
+ var _classnames = _interopRequireDefault(require("classnames"));
10
+ var _services = require("../../services");
11
+ var _manager = require("./manager");
12
+ var _focus_trap = require("../focus_trap");
13
+ var _i18n = require("../i18n");
14
+ var _resize_observer = require("../observer/resize_observer");
15
+ var _accessibility = require("../accessibility");
16
+ var _flyout_close_button = require("./_flyout_close_button");
17
+ var _flyout = require("./flyout.styles");
18
+ var _component_defaults = require("../provider/component_defaults");
19
+ var _const = require("./const");
20
+ var _hooks = require("./hooks");
21
+ var _flyout_menu = require("./flyout_menu");
22
+ var _flyout_overlay = require("./_flyout_overlay");
23
+ var _flyout_resize_button = require("./_flyout_resize_button");
24
+ var _use_flyout_resizable = require("./use_flyout_resizable");
25
+ var _use_flyout_z_index = require("./use_flyout_z_index");
26
+ var _flyout_parent_context = require("./flyout_parent_context");
27
+ var _selectors = require("./manager/selectors");
28
+ var _react2 = require("@emotion/react");
29
+ var _excluded = ["className", "children", "as", "hideCloseButton", "flyoutMenuProps", "closeButtonProps", "closeButtonPosition", "onClose", "ownFocus", "side", "size", "paddingSize", "maxWidth", "style", "hasChildBackground", "maskProps", "type", "outsideClickCloses", "pushMinBreakpoint", "pushAnimation", "focusTrapProps", "includeFixedHeadersInFocusTrap", "includeSelectorInFocusTrap", "aria-describedby", "aria-labelledby", "id", "resizable", "minWidth", "onResize", "onAnimationEnd"],
30
+ _excluded2 = ["titleId"];
31
+ /*
32
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
33
+ * or more contributor license agreements. Licensed under the Elastic License
34
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
35
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
36
+ * Side Public License, v 1.
37
+ */
38
+ /* eslint-disable local/i18n */
39
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
40
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
41
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
42
+ function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
43
+ function _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); }
44
+ function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
45
+ function _iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); }
46
+ function _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); }
47
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
48
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
49
+ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
50
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
51
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
52
+ function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
53
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
54
+ function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
55
+ function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
56
+ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
57
+ function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
58
+ function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], t.indexOf(o) >= 0 || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
59
+ function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.indexOf(n) >= 0) continue; t[n] = r[n]; } return t; }
60
+ var defaultElement = 'div';
61
+ var EuiFlyoutComponent = exports.EuiFlyoutComponent = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
62
+ var _usePropsWithComponen = (0, _component_defaults.usePropsWithComponentDefaults)('EuiFlyout', props),
63
+ className = _usePropsWithComponen.className,
64
+ children = _usePropsWithComponen.children,
65
+ as = _usePropsWithComponen.as,
66
+ _usePropsWithComponen2 = _usePropsWithComponen.hideCloseButton,
67
+ hideCloseButton = _usePropsWithComponen2 === void 0 ? false : _usePropsWithComponen2,
68
+ _flyoutMenuProps = _usePropsWithComponen.flyoutMenuProps,
69
+ closeButtonProps = _usePropsWithComponen.closeButtonProps,
70
+ _usePropsWithComponen3 = _usePropsWithComponen.closeButtonPosition,
71
+ closeButtonPosition = _usePropsWithComponen3 === void 0 ? 'inside' : _usePropsWithComponen3,
72
+ onClose = _usePropsWithComponen.onClose,
73
+ _usePropsWithComponen4 = _usePropsWithComponen.ownFocus,
74
+ ownFocus = _usePropsWithComponen4 === void 0 ? true : _usePropsWithComponen4,
75
+ _usePropsWithComponen5 = _usePropsWithComponen.side,
76
+ side = _usePropsWithComponen5 === void 0 ? _const.DEFAULT_SIDE : _usePropsWithComponen5,
77
+ _usePropsWithComponen6 = _usePropsWithComponen.size,
78
+ _size = _usePropsWithComponen6 === void 0 ? _const.DEFAULT_SIZE : _usePropsWithComponen6,
79
+ _usePropsWithComponen7 = _usePropsWithComponen.paddingSize,
80
+ paddingSize = _usePropsWithComponen7 === void 0 ? _const.DEFAULT_PADDING_SIZE : _usePropsWithComponen7,
81
+ _usePropsWithComponen8 = _usePropsWithComponen.maxWidth,
82
+ maxWidth = _usePropsWithComponen8 === void 0 ? false : _usePropsWithComponen8,
83
+ style = _usePropsWithComponen.style,
84
+ _usePropsWithComponen9 = _usePropsWithComponen.hasChildBackground,
85
+ hasChildBackground = _usePropsWithComponen9 === void 0 ? false : _usePropsWithComponen9,
86
+ maskProps = _usePropsWithComponen.maskProps,
87
+ _usePropsWithComponen10 = _usePropsWithComponen.type,
88
+ type = _usePropsWithComponen10 === void 0 ? _const.DEFAULT_TYPE : _usePropsWithComponen10,
89
+ outsideClickCloses = _usePropsWithComponen.outsideClickCloses,
90
+ _usePropsWithComponen11 = _usePropsWithComponen.pushMinBreakpoint,
91
+ pushMinBreakpoint = _usePropsWithComponen11 === void 0 ? _const.DEFAULT_PUSH_MIN_BREAKPOINT : _usePropsWithComponen11,
92
+ _usePropsWithComponen12 = _usePropsWithComponen.pushAnimation,
93
+ pushAnimation = _usePropsWithComponen12 === void 0 ? false : _usePropsWithComponen12,
94
+ _focusTrapProps = _usePropsWithComponen.focusTrapProps,
95
+ _usePropsWithComponen13 = _usePropsWithComponen.includeFixedHeadersInFocusTrap,
96
+ includeFixedHeadersInFocusTrap = _usePropsWithComponen13 === void 0 ? true : _usePropsWithComponen13,
97
+ includeSelectorInFocusTrap = _usePropsWithComponen.includeSelectorInFocusTrap,
98
+ _ariaDescribedBy = _usePropsWithComponen['aria-describedby'],
99
+ _ariaLabelledBy = _usePropsWithComponen['aria-labelledby'],
100
+ id = _usePropsWithComponen.id,
101
+ _usePropsWithComponen14 = _usePropsWithComponen.resizable,
102
+ resizable = _usePropsWithComponen14 === void 0 ? false : _usePropsWithComponen14,
103
+ minWidth = _usePropsWithComponen.minWidth,
104
+ onResize = _usePropsWithComponen.onResize,
105
+ onAnimationEnd = _usePropsWithComponen.onAnimationEnd,
106
+ rest = _objectWithoutProperties(_usePropsWithComponen, _excluded);
107
+ var _useEuiThemeCSSVariab = (0, _services.useEuiThemeCSSVariables)(),
108
+ setGlobalCSSVariables = _useEuiThemeCSSVariab.setGlobalCSSVariables;
109
+ var Element = as || defaultElement;
110
+ var maskRef = (0, _react.useRef)(null);
111
+
112
+ // Ref for the main flyout element to pass to context
113
+ var internalParentFlyoutRef = (0, _react.useRef)(null);
114
+ var isPushed = (0, _hooks.useIsPushed)({
115
+ type: type,
116
+ pushMinBreakpoint: pushMinBreakpoint
117
+ });
118
+ var currentSession = (0, _manager.useCurrentSession)();
119
+ var isInManagedContext = (0, _manager.useIsInManagedFlyout)();
120
+ var flyoutId = (0, _manager.useFlyoutId)(id);
121
+ var layoutMode = (0, _manager.useFlyoutLayoutMode)();
122
+ var isActiveManagedFlyout = (0, _manager.useIsFlyoutActive)(flyoutId);
123
+ var flyoutManager = (0, _manager.useFlyoutManager)();
124
+ var currentZIndexRef = (0, _selectors.useCurrentFlyoutZIndexRef)();
125
+
126
+ // Use a ref to access the latest flyoutManager without triggering effect re-runs
127
+ var flyoutManagerRef = (0, _react.useRef)(flyoutManager);
128
+ (0, _react.useEffect)(function () {
129
+ flyoutManagerRef.current = flyoutManager;
130
+ }, [flyoutManager]);
131
+ (0, _react.useEffect)(function () {
132
+ // Keep track of unmanaged flyouts to properly calculate z-index
133
+ // values for all flyouts
134
+ if (!isInManagedContext) {
135
+ var _flyoutManagerRef$cur;
136
+ (_flyoutManagerRef$cur = flyoutManagerRef.current) === null || _flyoutManagerRef$cur === void 0 || _flyoutManagerRef$cur.addUnmanagedFlyout(flyoutId);
137
+ return function () {
138
+ var _flyoutManagerRef$cur2;
139
+ return (_flyoutManagerRef$cur2 = flyoutManagerRef.current) === null || _flyoutManagerRef$cur2 === void 0 ? void 0 : _flyoutManagerRef$cur2.closeUnmanagedFlyout(flyoutId);
140
+ };
141
+ }
142
+ }, [isInManagedContext, flyoutId]);
143
+ var _useEuiFlyoutResizabl = (0, _use_flyout_resizable.useEuiFlyoutResizable)({
144
+ enabled: resizable,
145
+ minWidth: minWidth,
146
+ maxWidth: typeof maxWidth === 'number' ? maxWidth : 0,
147
+ onResize: onResize,
148
+ side: side,
149
+ size: _size
150
+ }),
151
+ onMouseDownResizableButton = _useEuiFlyoutResizabl.onMouseDown,
152
+ onKeyDownResizableButton = _useEuiFlyoutResizabl.onKeyDown,
153
+ size = _useEuiFlyoutResizabl.size,
154
+ setFlyoutRef = _useEuiFlyoutResizabl.setFlyoutRef;
155
+
156
+ /**
157
+ * Setting up the refs on the actual flyout element in order to
158
+ * accommodate for the `isPushed` state by adding padding to the body equal to the width of the element
159
+ */
160
+ var _useState = (0, _react.useState)(null),
161
+ _useState2 = _slicedToArray(_useState, 2),
162
+ resizeRef = _useState2[0],
163
+ setResizeRef = _useState2[1];
164
+ var setRef = (0, _services.useCombinedRefs)([setResizeRef, ref, internalParentFlyoutRef, setFlyoutRef]);
165
+ var _useResizeObserver = (0, _resize_observer.useResizeObserver)(isPushed ? resizeRef : null, 'width'),
166
+ width = _useResizeObserver.width;
167
+
168
+ /**
169
+ * Effect for adding push padding to body. Using useLayoutEffect to ensure
170
+ * padding changes happen synchronously before child components render -
171
+ * this is needed to prevent RemoveScrollBar from measuring the body in an
172
+ * inconsistent state during flyout transitions.
173
+ */
174
+ (0, _react.useLayoutEffect)(function () {
175
+ if (!isPushed) {
176
+ return; // Only push-type flyouts manage body padding
177
+ }
178
+ var shouldApplyPadding = !isInManagedContext || isActiveManagedFlyout;
179
+ var paddingSide = side === 'left' ? 'paddingInlineStart' : 'paddingInlineEnd';
180
+ var cssVarName = "--euiPushFlyoutOffset".concat(side === 'left' ? 'InlineStart' : 'InlineEnd');
181
+ var managerSide = side === 'left' ? 'left' : 'right';
182
+ if (shouldApplyPadding) {
183
+ document.body.style[paddingSide] = "".concat(width, "px");
184
+ setGlobalCSSVariables(_defineProperty({}, cssVarName, "".concat(width, "px")));
185
+ // Update manager state if in managed context
186
+ if (isInManagedContext && flyoutManagerRef.current) {
187
+ flyoutManagerRef.current.setPushPadding(managerSide, width);
188
+ }
189
+ } else {
190
+ // Explicitly remove padding when this push flyout becomes inactive
191
+ document.body.style[paddingSide] = '';
192
+ setGlobalCSSVariables(_defineProperty({}, cssVarName, null));
193
+ // Clear manager state if in managed context
194
+ if (isInManagedContext && flyoutManagerRef.current) {
195
+ flyoutManagerRef.current.setPushPadding(managerSide, 0);
196
+ }
197
+ }
198
+
199
+ // Cleanup on unmount
200
+ return function () {
201
+ document.body.style[paddingSide] = '';
202
+ setGlobalCSSVariables(_defineProperty({}, cssVarName, null));
203
+ // Clear manager state on unmount if in managed context
204
+ if (isInManagedContext && flyoutManagerRef.current) {
205
+ flyoutManagerRef.current.setPushPadding(managerSide, 0);
206
+ }
207
+ };
208
+ }, [isPushed, isInManagedContext, isActiveManagedFlyout, setGlobalCSSVariables, side, width]);
209
+
210
+ /**
211
+ * This class doesn't actually do anything by EUI, but is nice to add for consumers (JIC)
212
+ */
213
+ (0, _react.useEffect)(function () {
214
+ document.body.classList.add('euiBody--hasFlyout');
215
+ return function () {
216
+ // Remove the hasFlyout class when the flyout is unmounted
217
+ document.body.classList.remove('euiBody--hasFlyout');
218
+ };
219
+ }, []);
220
+
221
+ // Memoize flyout identification and relationships to prevent race conditions
222
+ var flyoutIdentity = (0, _react.useMemo)(function () {
223
+ if (!flyoutId || !currentSession) {
224
+ return {
225
+ isMainFlyout: false,
226
+ siblingFlyoutId: null,
227
+ hasValidSession: false,
228
+ sessionForWidth: null
229
+ };
230
+ }
231
+ var siblingFlyoutId = currentSession.mainFlyoutId === flyoutId ? currentSession.childFlyoutId : currentSession.mainFlyoutId;
232
+ return {
233
+ siblingFlyoutId: siblingFlyoutId,
234
+ hasValidSession: true,
235
+ sessionForWidth: currentSession
236
+ };
237
+ }, [flyoutId, currentSession]);
238
+
239
+ // Destructure for easier use
240
+ var siblingFlyoutId = flyoutIdentity.siblingFlyoutId;
241
+ var hasChildFlyout = (currentSession === null || currentSession === void 0 ? void 0 : currentSession.childFlyoutId) != null;
242
+ var isChildFlyout = isInManagedContext && hasChildFlyout && (currentSession === null || currentSession === void 0 ? void 0 : currentSession.childFlyoutId) === id;
243
+ var shouldCloseOnEscape = (0, _react.useMemo)(function () {
244
+ // Regular flyout - always close on ESC
245
+ if (!isInManagedContext) {
246
+ return true;
247
+ }
248
+
249
+ // Managed flyout with no child - close on ESC
250
+ if (!hasChildFlyout) {
251
+ return true;
252
+ }
253
+
254
+ // Child flyout - close on ESC
255
+ if (isChildFlyout) {
256
+ return true;
257
+ }
258
+
259
+ // Main flyout with child flyout - don't close on ESC
260
+ return false;
261
+ }, [isInManagedContext, hasChildFlyout, isChildFlyout]);
262
+
263
+ /**
264
+ * ESC key closes flyout based on flyout hierarchy rules
265
+ */
266
+ var onKeyDown = (0, _react.useCallback)(function (event) {
267
+ if (!isPushed && event.key === _services.keys.ESCAPE && shouldCloseOnEscape) {
268
+ event.preventDefault();
269
+ onClose(event);
270
+ }
271
+ }, [onClose, isPushed, shouldCloseOnEscape]);
272
+ var siblingFlyoutWidth = (0, _manager.useFlyoutWidth)(siblingFlyoutId);
273
+ var managedFlyoutIndex = currentZIndexRef.current;
274
+ if (isInManagedContext && currentSession) {
275
+ managedFlyoutIndex = currentSession.zIndex;
276
+ }
277
+ var _useEuiFlyoutZIndex = (0, _use_flyout_z_index.useEuiFlyoutZIndex)({
278
+ maskProps: maskProps,
279
+ isPushed: isPushed,
280
+ managedFlyoutIndex: managedFlyoutIndex,
281
+ isChildFlyout: isChildFlyout
282
+ }),
283
+ flyoutZIndex = _useEuiFlyoutZIndex.flyoutZIndex,
284
+ maskZIndex = _useEuiFlyoutZIndex.maskZIndex;
285
+
286
+ /**
287
+ * Set inline styles
288
+ */
289
+ var inlineStyles = (0, _react.useMemo)(function () {
290
+ var composedStyles = (0, _flyout.composeFlyoutInlineStyles)(size, layoutMode, siblingFlyoutId, siblingFlyoutWidth || null, maxWidth, flyoutZIndex);
291
+ return _objectSpread(_objectSpread({}, style), composedStyles);
292
+ }, [style, size, layoutMode, siblingFlyoutId, siblingFlyoutWidth, maxWidth, flyoutZIndex]);
293
+ var styles = (0, _services.useEuiMemoizedStyles)(_flyout.euiFlyoutStyles);
294
+ var cssStyles = [styles.euiFlyout, styles.paddingSizes[paddingSize], (0, _const.isEuiFlyoutSizeNamed)(size) && styles[size], maxWidth === false && styles.noMaxWidth, isPushed ? styles.push.push : styles.overlay.overlay, isPushed ? styles.push[side] : styles.overlay[side], isPushed && !pushAnimation && styles.push.noAnimation, styles[side]];
295
+ var classes = (0, _classnames.default)('euiFlyout', isChildFlyout && hasChildBackground && 'euiFlyout--hasChildBackground', className);
296
+ var flyoutToggle = (0, _react.useRef)(document.activeElement);
297
+ var _useState3 = (0, _react.useState)([]),
298
+ _useState4 = _slicedToArray(_useState3, 2),
299
+ focusTrapShards = _useState4[0],
300
+ setFocusTrapShards = _useState4[1];
301
+ var focusTrapSelectors = (0, _react.useMemo)(function () {
302
+ var selectors = [];
303
+ if (includeSelectorInFocusTrap) {
304
+ selectors = Array.isArray(includeSelectorInFocusTrap) ? includeSelectorInFocusTrap : [includeSelectorInFocusTrap];
305
+ }
306
+ if (includeFixedHeadersInFocusTrap) {
307
+ selectors.push('.euiHeader[data-fixed-header]');
308
+ }
309
+ return selectors;
310
+ }, [includeSelectorInFocusTrap, includeFixedHeadersInFocusTrap]);
311
+
312
+ /**
313
+ * Finds the shards to include in the focus trap by querying by `focusTrapSelectors`.
314
+ *
315
+ * @param shouldAutoFocus Whether to auto-focus the flyout wrapper when the focus trap is activated.
316
+ * This is necessary because when a flyout is toggled from within a shard, the focus trap's `autoFocus`
317
+ * feature doesn't work. This logic manually focuses the flyout as a workaround.
318
+ */
319
+ var findShards = (0, _react.useCallback)(function () {
320
+ var shouldAutoFocus = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
321
+ if (focusTrapSelectors.length > 0) {
322
+ var shardsEls = focusTrapSelectors.flatMap(function (selector) {
323
+ return Array.from(document.querySelectorAll(selector));
324
+ });
325
+ setFocusTrapShards(Array.from(shardsEls));
326
+ if (shouldAutoFocus) {
327
+ shardsEls.forEach(function (shard) {
328
+ if (shard.contains(flyoutToggle.current)) {
329
+ resizeRef === null || resizeRef === void 0 || resizeRef.focus();
330
+ }
331
+ });
332
+ }
333
+ } else {
334
+ // Clear existing shards if necessary, e.g. switching to `false`
335
+ setFocusTrapShards(function (shards) {
336
+ return shards.length ? [] : shards;
337
+ });
338
+ }
339
+ }, [focusTrapSelectors, resizeRef]);
340
+ (0, _react.useEffect)(function () {
341
+ // Auto-focus should only happen on initial flyout mount (or when the dependencies change)
342
+ // because it snaps focus to the flyout wrapper, which steals it from subsequently focused elements.
343
+ findShards(true);
344
+ var unsubscribe = _services.focusTrapPubSub.subscribe(function () {
345
+ return findShards();
346
+ });
347
+ return unsubscribe;
348
+ }, [findShards]);
349
+ var focusTrapProps = (0, _react.useMemo)(function () {
350
+ return _objectSpread(_objectSpread({}, _focusTrapProps), {}, {
351
+ shards: [].concat(_toConsumableArray(focusTrapShards), _toConsumableArray((_focusTrapProps === null || _focusTrapProps === void 0 ? void 0 : _focusTrapProps.shards) || []))
352
+ });
353
+ }, [_focusTrapProps, focusTrapShards]);
354
+
355
+ /*
356
+ * Provide meaningful screen reader instructions/details
357
+ */
358
+ var hasOverlayMask = ownFocus && !isPushed;
359
+ var descriptionId = (0, _services.useGeneratedHtmlId)();
360
+ var ariaDescribedBy = (0, _classnames.default)(descriptionId, _ariaDescribedBy);
361
+ var screenReaderDescription = (0, _react.useMemo)(function () {
362
+ return (0, _react2.jsx)(_accessibility.EuiScreenReaderOnly, null, (0, _react2.jsx)("p", {
363
+ id: descriptionId
364
+ }, hasOverlayMask ? (0, _react2.jsx)(_i18n.EuiI18n, {
365
+ token: "euiFlyout.screenReaderModalDialog",
366
+ default: "You are in a modal dialog. Press Escape or tap/click outside the dialog on the shadowed overlay to close."
367
+ }) : (0, _react2.jsx)(_i18n.EuiI18n, {
368
+ token: "euiFlyout.screenReaderNonModalDialog",
369
+ default: "You are in a non-modal dialog. To close the dialog, press Escape."
370
+ }), ' ', focusTrapShards.length > 0 && (0, _react2.jsx)(_i18n.EuiI18n, {
371
+ token: "euiFlyout.screenReaderFocusTrapShards",
372
+ default: "You can still continue tabbing through other global page landmarks."
373
+ })));
374
+ }, [hasOverlayMask, descriptionId, focusTrapShards.length]);
375
+
376
+ /*
377
+ * If the flyout menu is to be rendered, ensure the flyout has aria-labelledby referencing the menu's titleId
378
+ */
379
+ var generatedMenuId = (0, _services.useGeneratedHtmlId)();
380
+ var _ref = _flyoutMenuProps || {},
381
+ _titleId = _ref.titleId,
382
+ flyoutMenuProps = _objectWithoutProperties(_ref, _excluded2);
383
+ var hasMenu = !!_flyoutMenuProps;
384
+ var flyoutMenuId = (0, _react.useMemo)(function () {
385
+ if (!hasMenu) return undefined;
386
+ return _titleId || generatedMenuId;
387
+ }, [hasMenu, _titleId, generatedMenuId]);
388
+
389
+ // If the flyout level is LEVEL_MAIN, the title should be hidden by default
390
+ var flyoutMenuHideTitle = (0, _react.useMemo)(function () {
391
+ if (!hasMenu) return undefined;
392
+ if ((_flyoutMenuProps === null || _flyoutMenuProps === void 0 ? void 0 : _flyoutMenuProps.hideTitle) !== undefined) {
393
+ return _flyoutMenuProps.hideTitle;
394
+ }
395
+ return (currentSession === null || currentSession === void 0 ? void 0 : currentSession.mainFlyoutId) === flyoutId;
396
+ }, [hasMenu, _flyoutMenuProps, currentSession, flyoutId]);
397
+ var ariaLabelledBy = (0, _react.useMemo)(function () {
398
+ if (flyoutMenuId) {
399
+ return (0, _classnames.default)(flyoutMenuId, _ariaLabelledBy);
400
+ }
401
+ return _ariaLabelledBy;
402
+ }, [flyoutMenuId, _ariaLabelledBy]);
403
+
404
+ /*
405
+ * Trap focus even when `ownFocus={false}`, otherwise closing
406
+ * the flyout won't return focus to the originating button.
407
+ *
408
+ * Set `clickOutsideDisables={true}` when `ownFocus={false}`
409
+ * to allow non-keyboard users the ability to interact with
410
+ * elements outside the flyout.
411
+ *
412
+ * Set `onClickOutside={onClose}` when `ownFocus` and `type` are the defaults,
413
+ * or if `outsideClickCloses={true}` to close on clicks that target
414
+ * (both mousedown and mouseup) the overlay mask.
415
+ */
416
+ var onClickOutside = (0, _react.useCallback)(function (event) {
417
+ // Do not close the flyout for any external click
418
+ if (outsideClickCloses === false) return undefined;
419
+ if (hasOverlayMask) {
420
+ // The overlay mask is present, so only clicks on the mask should close the flyout, regardless of outsideClickCloses
421
+ if (event.target === maskRef.current) return onClose(event);
422
+ } else {
423
+ // No overlay mask is present, so any outside clicks should close the flyout
424
+ if (outsideClickCloses === true) return onClose(event);
425
+ }
426
+ // Otherwise if ownFocus is false and outsideClickCloses is undefined, outside clicks should not close the flyout
427
+ return undefined;
428
+ }, [onClose, hasOverlayMask, outsideClickCloses]);
429
+ var maskCombinedRefs = (0, _services.useCombinedRefs)([maskProps === null || maskProps === void 0 ? void 0 : maskProps.maskRef, maskRef]);
430
+
431
+ /**
432
+ * For overlay flyouts in managed contexts, coordinate scroll locking with push flyout state.
433
+ */
434
+ var hasPushPaddingInManager = (0, _manager.useHasPushPadding)();
435
+ var shouldDeferScrollLock = !isPushed && isInManagedContext && hasPushPaddingInManager;
436
+ var shouldUseScrollLock = hasOverlayMask && !shouldDeferScrollLock;
437
+ return (0, _react2.jsx)(_flyout_overlay.EuiFlyoutOverlay, {
438
+ hasOverlayMask: hasOverlayMask,
439
+ isPushed: isPushed,
440
+ maskZIndex: maskZIndex,
441
+ maskProps: _objectSpread(_objectSpread({}, maskProps), {}, {
442
+ maskRef: maskCombinedRefs
443
+ })
444
+ }, (0, _react2.jsx)(_services.EuiWindowEvent, {
445
+ event: "keydown",
446
+ handler: onKeyDown
447
+ }), (0, _react2.jsx)(_focus_trap.EuiFocusTrap, _extends({
448
+ disabled: isPushed,
449
+ scrollLock: shouldUseScrollLock,
450
+ clickOutsideDisables: !ownFocus,
451
+ onClickOutside: onClickOutside
452
+ }, focusTrapProps), (0, _react2.jsx)(Element, _extends({
453
+ className: classes,
454
+ css: cssStyles,
455
+ style: inlineStyles,
456
+ ref: setRef,
457
+ id: id
458
+ }, rest, {
459
+ role: !isPushed ? 'dialog' : rest.role,
460
+ "aria-modal": !isPushed || undefined,
461
+ tabIndex: !isPushed ? 0 : rest.tabIndex,
462
+ "aria-describedby": !isPushed ? ariaDescribedBy : _ariaDescribedBy,
463
+ "aria-labelledby": ariaLabelledBy,
464
+ "data-autofocus": !isPushed || undefined,
465
+ onAnimationEnd: onAnimationEnd
466
+ }), !isPushed && screenReaderDescription, !_flyoutMenuProps && !hideCloseButton && (0, _react2.jsx)(_flyout_close_button.EuiFlyoutCloseButton, _extends({}, closeButtonProps, {
467
+ onClose: onClose,
468
+ closeButtonPosition: closeButtonPosition,
469
+ side: side
470
+ })), _flyoutMenuProps && (0, _react2.jsx)(_flyout_menu.EuiFlyoutMenu, _extends({}, flyoutMenuProps, {
471
+ hideTitle: flyoutMenuHideTitle,
472
+ titleId: flyoutMenuId
473
+ })), resizable && (0, _react2.jsx)(_flyout_resize_button.EuiFlyoutResizeButton, {
474
+ type: type,
475
+ side: side,
476
+ ownFocus: ownFocus,
477
+ isPushed: isPushed,
478
+ onMouseDown: onMouseDownResizableButton,
479
+ onTouchStart: onMouseDownResizableButton,
480
+ onKeyDown: onKeyDownResizableButton
481
+ }), (0, _react2.jsx)(_flyout_parent_context.EuiFlyoutParentProvider, null, children))));
482
+ }
483
+ // React.forwardRef interferes with the inferred element type
484
+ // Casting to ensure correct element prop type checking for `as`
485
+ // e.g., `href` is not on a `div`
486
+ );
487
+ // Recast to allow `displayName`
488
+ EuiFlyoutComponent.displayName = 'EuiFlyoutComponent';