@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,80 @@
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.EuiFlyoutChild = EuiFlyoutChild;
8
+ var _react = _interopRequireDefault(require("react"));
9
+ var _services = require("../../../services");
10
+ var _flyout_managed = require("./flyout_managed");
11
+ var _hooks = require("./hooks");
12
+ var _const = require("./const");
13
+ var _const2 = require("../const");
14
+ var _react2 = require("@emotion/react");
15
+ var _excluded = ["css", "side"];
16
+ /*
17
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
18
+ * or more contributor license agreements. Licensed under the Elastic License
19
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
20
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
21
+ * Side Public License, v 1.
22
+ */
23
+ /**
24
+ * Props for `EuiFlyoutChild`, a managed child flyout that pairs with a main flyout.
25
+ *
26
+ * Notes:
27
+ * - `type`, `side`, and `level` are fixed by the component and thus omitted.
28
+ */
29
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
30
+ 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); }
31
+ 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; }
32
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
33
+ 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); }
34
+ 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; }
35
+ 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; }
36
+ /**
37
+ * Managed child flyout that renders alongside or stacked over the main flyout,
38
+ * depending on the current layout mode. Handles required managed flyout props.
39
+ */
40
+ function EuiFlyoutChild(_ref) {
41
+ var customCss = _ref.css,
42
+ _ref$side = _ref.side,
43
+ side = _ref$side === void 0 ? _const2.DEFAULT_SIDE : _ref$side,
44
+ props = _objectWithoutProperties(_ref, _excluded);
45
+ var _useEuiTheme = (0, _services.useEuiTheme)(),
46
+ euiTheme = _useEuiTheme.euiTheme;
47
+ var mainFlyout = (0, _hooks.useCurrentMainFlyout)();
48
+ var mainWidth = (0, _hooks.useFlyoutWidth)(mainFlyout === null || mainFlyout === void 0 ? void 0 : mainFlyout.flyoutId);
49
+ var layoutMode = (0, _hooks.useFlyoutLayoutMode)();
50
+
51
+ // Runtime validation: prevent orphan child flyouts
52
+ if (!mainFlyout) {
53
+ var errorMessage = 'EuiFlyoutChild must be used with an EuiFlyoutMain. ' + 'This usually means the main flyout was not rendered before the child flyout.';
54
+
55
+ // In development, throw an error to catch the issue early
56
+ if (process.env.NODE_ENV === 'development') {
57
+ throw new Error(errorMessage);
58
+ }
59
+
60
+ // In production, log a warning and prevent rendering
61
+ console.error('EuiFlyoutChild validation failed:', errorMessage);
62
+ return null;
63
+ }
64
+ var style = {};
65
+ if (mainWidth && layoutMode === _const.LAYOUT_MODE_SIDE_BY_SIDE) {
66
+ style = _defineProperty({}, side, mainWidth);
67
+ } else if (layoutMode === _const.LAYOUT_MODE_STACKED) {
68
+ style = {
69
+ zIndex: Number(euiTheme.levels.flyout) + 2
70
+ };
71
+ }
72
+ return (0, _react2.jsx)(_flyout_managed.EuiManagedFlyout, _extends({}, props, {
73
+ style: style,
74
+ level: _const.LEVEL_CHILD,
75
+ type: "overlay",
76
+ ownFocus: false,
77
+ side: side,
78
+ css: customCss
79
+ }));
80
+ }
@@ -0,0 +1,70 @@
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.EuiFlyoutMain = EuiFlyoutMain;
8
+ var _react = _interopRequireDefault(require("react"));
9
+ var _flyout_managed = require("./flyout_managed");
10
+ var _hooks = require("./hooks");
11
+ var _flyout_main = require("./flyout_main.styles");
12
+ var _services = require("../../../services");
13
+ var _const = require("../const");
14
+ var _hooks2 = require("../hooks");
15
+ var _const2 = require("./const");
16
+ var _react2 = require("@emotion/react");
17
+ var _excluded = ["id", "pushMinBreakpoint", "type", "side"];
18
+ /*
19
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
20
+ * or more contributor license agreements. Licensed under the Elastic License
21
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
22
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
23
+ * Side Public License, v 1.
24
+ */
25
+ /**
26
+ * Props for `EuiFlyoutMain`, the primary managed flyout component.
27
+ * The `level` prop is fixed internally to `main` and is therefore omitted.
28
+ */
29
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
30
+ 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); }
31
+ 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; }
32
+ 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; }
33
+ 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; }
34
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
35
+ 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); }
36
+ 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; }
37
+ 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; }
38
+ /**
39
+ * Managed main flyout. Handles ID management, child-flyout styling,
40
+ * and push/overlay behavior based on provided props.
41
+ */
42
+ function EuiFlyoutMain(_ref) {
43
+ var id = _ref.id,
44
+ _ref$pushMinBreakpoin = _ref.pushMinBreakpoint,
45
+ pushMinBreakpoint = _ref$pushMinBreakpoin === void 0 ? _const.DEFAULT_PUSH_MIN_BREAKPOINT : _ref$pushMinBreakpoin,
46
+ _ref$type = _ref.type,
47
+ type = _ref$type === void 0 ? _const.DEFAULT_TYPE : _ref$type,
48
+ _ref$side = _ref.side,
49
+ side = _ref$side === void 0 ? _const.DEFAULT_SIDE : _ref$side,
50
+ props = _objectWithoutProperties(_ref, _excluded);
51
+ var flyoutId = (0, _hooks.useFlyoutId)(id);
52
+ var hasChildFlyout = (0, _hooks.useHasChildFlyout)(flyoutId);
53
+ var styles = (0, _services.useEuiMemoizedStyles)(_flyout_main.euiMainFlyoutStyles);
54
+ var isPushed = (0, _hooks2.useIsPushed)({
55
+ type: type,
56
+ pushMinBreakpoint: pushMinBreakpoint
57
+ });
58
+ var cssStyles = [hasChildFlyout && !isPushed && styles.hasChildFlyout[side]];
59
+ var style = {};
60
+ return (0, _react2.jsx)(_flyout_managed.EuiManagedFlyout, _extends({
61
+ id: flyoutId,
62
+ level: _const2.LEVEL_MAIN,
63
+ style: style,
64
+ css: cssStyles
65
+ }, _objectSpread(_objectSpread({}, props), {}, {
66
+ pushMinBreakpoint: pushMinBreakpoint,
67
+ type: type,
68
+ side: side
69
+ })));
70
+ }
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.euiMainFlyoutStyles = void 0;
7
+ var _react = require("@emotion/react");
8
+ /*
9
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
10
+ * or more contributor license agreements. Licensed under the Elastic License
11
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
12
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
13
+ * Side Public License, v 1.
14
+ */
15
+
16
+ /**
17
+ * Emotion styles for the main (parent) managed flyout.
18
+ * Adds subtle borders when a child flyout is present, depending on side.
19
+ *
20
+ * Returns an object with:
21
+ * - `hasChildFlyout.left` and `.right`: border styles to separate from child.
22
+ */
23
+ var euiMainFlyoutStyles = exports.euiMainFlyoutStyles = function euiMainFlyoutStyles(euiThemeContext) {
24
+ var thin = euiThemeContext.euiTheme.border.thin;
25
+ return {
26
+ hasChildFlyout: {
27
+ left: /*#__PURE__*/(0, _react.css)("box-shadow:none;border-inline-end:", thin, ";;label:left;"),
28
+ right: /*#__PURE__*/(0, _react.css)("box-shadow:none;border-inline-start:", thin, ";;label:right;")
29
+ }
30
+ };
31
+ };
@@ -0,0 +1,233 @@
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.EuiManagedFlyout = void 0;
8
+ var _react = _interopRequireWildcard(require("react"));
9
+ var _services = require("../../../services");
10
+ var _i18n = require("../../i18n");
11
+ var _resize_observer = require("../../observer/resize_observer");
12
+ var _flyout = require("../flyout.component");
13
+ var _flyout_menu_context = require("../flyout_menu_context");
14
+ var _activity_stage = require("./activity_stage");
15
+ var _const = require("./const");
16
+ var _context = require("./context");
17
+ var _flyout_managed = require("./flyout_managed.styles");
18
+ var _hooks = require("./hooks");
19
+ var _selectors = require("./selectors");
20
+ var _validation = require("./validation");
21
+ var _react2 = require("@emotion/react");
22
+ var _excluded = ["id", "onClose", "onActive", "level", "size", "css", "flyoutMenuProps"];
23
+ /*
24
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
25
+ * or more contributor license agreements. Licensed under the Elastic License
26
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
27
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
28
+ * Side Public License, v 1.
29
+ */
30
+ /**
31
+ * Props for `EuiManagedFlyout`, the internal persistent flyout used by
32
+ * the manager. Extends base flyout props and requires a `level` to
33
+ * distinguish `main` vs `child` behavior.
34
+ */
35
+ 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); }
36
+ 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; }
37
+ 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); }
38
+ 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; }
39
+ 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; }
40
+ 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; }
41
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
42
+ 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); }
43
+ 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; }
44
+ 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; }
45
+ var useFlyoutManager = function useFlyoutManager() {
46
+ var context = (0, _hooks.useFlyoutManager)();
47
+ if (!context) {
48
+ throw new Error('EuiManagedFlyout must be used within an EuiFlyoutManager');
49
+ }
50
+ return context;
51
+ };
52
+
53
+ /**
54
+ * Persistent managed flyout rendered inside the provider. Handles:
55
+ * - registration/unregistration with the manager
56
+ * - size validation and parent/child size compatibility
57
+ * - width tracking for responsive layouts
58
+ * - lifecycle stage transitions and data attributes for styling
59
+ */
60
+ var EuiManagedFlyout = exports.EuiManagedFlyout = function EuiManagedFlyout(_ref) {
61
+ var id = _ref.id,
62
+ onCloseProp = _ref.onClose,
63
+ onActiveProp = _ref.onActive,
64
+ level = _ref.level,
65
+ sizeProp = _ref.size,
66
+ customCss = _ref.css,
67
+ _flyoutMenuProps = _ref.flyoutMenuProps,
68
+ props = _objectWithoutProperties(_ref, _excluded);
69
+ var flyoutId = (0, _hooks.useFlyoutId)(id);
70
+ var flyoutRef = (0, _react.useRef)(null);
71
+ var _useFlyoutManager2 = useFlyoutManager(),
72
+ addFlyout = _useFlyoutManager2.addFlyout,
73
+ closeFlyout = _useFlyoutManager2.closeFlyout,
74
+ setFlyoutWidth = _useFlyoutManager2.setFlyoutWidth,
75
+ goBack = _useFlyoutManager2.goBack,
76
+ _historyItems = _useFlyoutManager2.historyItems;
77
+ var parentSize = (0, _hooks.useParentFlyoutSize)(flyoutId);
78
+ var parentFlyout = (0, _selectors.useCurrentMainFlyout)();
79
+ var layoutMode = (0, _hooks.useFlyoutLayoutMode)();
80
+ var styles = (0, _services.useEuiMemoizedStyles)(_flyout_managed.euiManagedFlyoutStyles);
81
+
82
+ // Set default size based on level: main defaults to 'm', child defaults to 's'
83
+ var size = sizeProp !== null && sizeProp !== void 0 ? sizeProp : level === _const.LEVEL_CHILD ? 's' : 'm';
84
+
85
+ // Validate size
86
+ var sizeTypeError = (0, _validation.validateManagedFlyoutSize)(size, flyoutId, level);
87
+ if (sizeTypeError) {
88
+ throw new Error((0, _validation.createValidationErrorMessage)(sizeTypeError));
89
+ }
90
+
91
+ // For child flyouts, validate parent-child combinations
92
+ if (level === _const.LEVEL_CHILD && parentSize && (0, _validation.isNamedSize)(size) && (0, _validation.isNamedSize)(parentSize)) {
93
+ var combinationError = (0, _validation.validateSizeCombination)(parentSize, size);
94
+ if (combinationError) {
95
+ combinationError.flyoutId = flyoutId;
96
+ combinationError.parentFlyoutId = parentFlyout === null || parentFlyout === void 0 ? void 0 : parentFlyout.flyoutId;
97
+ combinationError.level = level;
98
+ throw new Error((0, _validation.createValidationErrorMessage)(combinationError));
99
+ }
100
+ }
101
+ var defaultTitle = (0, _i18n.useEuiI18n)('euiFlyoutManaged.defaultTitle', 'Unknown Flyout');
102
+
103
+ // Set title from flyoutMenuProps or aria-label
104
+ // TODO: allow aria-labelledby references to be used
105
+ var title = (_flyoutMenuProps === null || _flyoutMenuProps === void 0 ? void 0 : _flyoutMenuProps.title) || props['aria-label'];
106
+ if (process.env.NODE_ENV === 'development' && level === _const.LEVEL_MAIN && !title) {
107
+ console.warn("Managed flyout \"".concat(flyoutId, "\" requires a title, which can be provided through 'flyoutMenuProps.title' or 'aria-label'. Using default title: \"").concat(defaultTitle, "\""));
108
+ title = defaultTitle;
109
+ }
110
+ var isActive = (0, _hooks.useIsFlyoutActive)(flyoutId);
111
+ var currentSession = (0, _hooks.useCurrentSession)();
112
+ var flyoutExistsInManager = (0, _selectors.useIsFlyoutRegistered)(flyoutId);
113
+
114
+ // Stabilize the onClose callback
115
+ var onCloseCallbackRef = (0, _react.useRef)();
116
+ onCloseCallbackRef.current = function (e) {
117
+ if (onCloseProp) {
118
+ var event = e || new MouseEvent('click');
119
+ onCloseProp(event);
120
+ }
121
+ };
122
+
123
+ // Stabilize the onActive callback
124
+ var onActiveCallbackRef = (0, _react.useRef)();
125
+ onActiveCallbackRef.current = onActiveProp;
126
+
127
+ // Track if flyout was ever registered to avoid false positives on initial mount
128
+ var wasRegisteredRef = (0, _react.useRef)(false);
129
+
130
+ // Register with flyout manager context when open, remove when closed
131
+ (0, _react.useEffect)(function () {
132
+ addFlyout(flyoutId, title, level, size);
133
+ return function () {
134
+ closeFlyout(flyoutId);
135
+
136
+ // Reset navigation tracking when explicitly closed via isOpen=false
137
+ wasRegisteredRef.current = false;
138
+ };
139
+ }, [flyoutId, title, level, size, addFlyout, closeFlyout]);
140
+
141
+ // Detect when flyout has been removed from manager state (e.g., via Back button)
142
+ // and trigger onClose callback to notify the parent component
143
+ (0, _react.useEffect)(function () {
144
+ if (flyoutExistsInManager) {
145
+ wasRegisteredRef.current = true;
146
+ }
147
+
148
+ // If flyout was previously registered, is marked as open, but no longer exists in manager state,
149
+ // it was removed via navigation (Back button) - trigger close callback
150
+ if (wasRegisteredRef.current && !flyoutExistsInManager) {
151
+ var _onCloseCallbackRef$c;
152
+ (_onCloseCallbackRef$c = onCloseCallbackRef.current) === null || _onCloseCallbackRef$c === void 0 || _onCloseCallbackRef$c.call(onCloseCallbackRef, new MouseEvent('navigation'));
153
+ wasRegisteredRef.current = false; // Reset to avoid repeated calls
154
+ }
155
+ }, [flyoutExistsInManager, flyoutId]);
156
+
157
+ // Monitor current session changes and fire onActive callback when this flyout becomes active
158
+ (0, _react.useEffect)(function () {
159
+ if (!onActiveCallbackRef.current || !currentSession) {
160
+ return;
161
+ }
162
+
163
+ // Make sure callback is only fired for the flyout that changed
164
+ var mainChanged = level === _const.LEVEL_MAIN && currentSession.mainFlyoutId === flyoutId;
165
+ var childChanged = level === _const.LEVEL_CHILD && currentSession.childFlyoutId === flyoutId;
166
+ if (mainChanged || childChanged) {
167
+ onActiveCallbackRef.current();
168
+ }
169
+ }, [currentSession, flyoutId, level]);
170
+ (0, _react.useEffect)(function () {
171
+ return function () {
172
+ // Only remove from manager on component unmount, don't trigger close callback
173
+ closeFlyout(flyoutId);
174
+ };
175
+ }, [closeFlyout, flyoutId]);
176
+
177
+ // Track width changes for flyouts
178
+ var _useResizeObserver = (0, _resize_observer.useResizeObserver)(isActive ? flyoutRef.current : null, 'width'),
179
+ width = _useResizeObserver.width;
180
+
181
+ // Pass the stabilized onClose callback to the flyout menu context
182
+ var onClose = function onClose(e) {
183
+ var _onCloseCallbackRef$c2;
184
+ (_onCloseCallbackRef$c2 = onCloseCallbackRef.current) === null || _onCloseCallbackRef$c2 === void 0 || _onCloseCallbackRef$c2.call(onCloseCallbackRef, e);
185
+ };
186
+
187
+ // Update width in manager state when it changes
188
+ (0, _react.useEffect)(function () {
189
+ if (isActive && width) {
190
+ setFlyoutWidth(flyoutId, width);
191
+ }
192
+ }, [flyoutId, level, isActive, width, setFlyoutWidth]);
193
+ var _useFlyoutActivitySta = (0, _activity_stage.useFlyoutActivityStage)({
194
+ flyoutId: flyoutId,
195
+ level: level
196
+ }),
197
+ activityStage = _useFlyoutActivitySta.activityStage,
198
+ onAnimationEnd = _useFlyoutActivitySta.onAnimationEnd;
199
+
200
+ // Note: history controls are only relevant for main flyouts
201
+ var historyItems = (0, _react.useMemo)(function () {
202
+ var result = level === _const.LEVEL_MAIN ? _historyItems : undefined;
203
+ return result;
204
+ }, [level, _historyItems]);
205
+ var backButtonProps = (0, _react.useMemo)(function () {
206
+ return level === _const.LEVEL_MAIN ? {
207
+ onClick: goBack
208
+ } : undefined;
209
+ }, [level, goBack]);
210
+ var showBackButton = historyItems ? historyItems.length > 0 : false;
211
+ var flyoutMenuProps = _objectSpread(_objectSpread({}, _flyoutMenuProps), {}, {
212
+ historyItems: historyItems,
213
+ showBackButton: showBackButton,
214
+ backButtonProps: backButtonProps,
215
+ title: title
216
+ });
217
+ return (0, _react2.jsx)(_context.EuiFlyoutIsManagedProvider, {
218
+ isManaged: true
219
+ }, (0, _react2.jsx)(_flyout_menu_context.EuiFlyoutMenuContext.Provider, {
220
+ value: {
221
+ onClose: onClose
222
+ }
223
+ }, (0, _react2.jsx)(_flyout.EuiFlyoutComponent, _extends({
224
+ id: flyoutId,
225
+ ref: flyoutRef,
226
+ css: [styles.managedFlyout, customCss, styles.stage(activityStage, props.side, level), ";label:EuiManagedFlyout;"]
227
+ }, _objectSpread(_objectSpread({}, props), {}, _defineProperty(_defineProperty(_defineProperty({
228
+ onClose: onClose,
229
+ size: size,
230
+ flyoutMenuProps: flyoutMenuProps,
231
+ onAnimationEnd: onAnimationEnd
232
+ }, _const.PROPERTY_FLYOUT, true), _const.PROPERTY_LAYOUT_MODE, layoutMode), _const.PROPERTY_LEVEL, level))))));
233
+ };
@@ -0,0 +1,73 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.euiManagedFlyoutStyles = void 0;
7
+ var _react = require("@emotion/react");
8
+ var _global_styling = require("../../../global_styling");
9
+ var _const = require("./const");
10
+ var _const2 = require("../const");
11
+ var _templateObject, _templateObject2;
12
+ function _taggedTemplateLiteral(e, t) { return t || (t = e.slice(0)), Object.freeze(Object.defineProperties(e, { raw: { value: Object.freeze(t) } })); }
13
+ function _EMOTION_STRINGIFIED_CSS_ERROR__() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; } /*
14
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
15
+ * or more contributor license agreements. Licensed under the Elastic License
16
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
17
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
18
+ * Side Public License, v 1.
19
+ */
20
+ var _ref = process.env.NODE_ENV === "production" ? {
21
+ name: "hklg7q-managedFlyout",
22
+ styles: "perspective:1000px;transform-style:preserve-3d;label:managedFlyout;"
23
+ } : {
24
+ name: "hklg7q-managedFlyout",
25
+ styles: "perspective:1000px;transform-style:preserve-3d;label:managedFlyout;",
26
+ toString: _EMOTION_STRINGIFIED_CSS_ERROR__
27
+ };
28
+ /**
29
+ * Emotion styles for managed flyouts.
30
+ * Provides base 3D context and animations tied to managed flyout stages
31
+ * via data attributes.
32
+ */
33
+ var euiManagedFlyoutStyles = exports.euiManagedFlyoutStyles = function euiManagedFlyoutStyles(euiThemeContext) {
34
+ var euiTheme = euiThemeContext.euiTheme;
35
+ return {
36
+ stage: function stage(activeStage) {
37
+ var side = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _const2.DEFAULT_SIDE;
38
+ var level = arguments.length > 2 ? arguments[2] : undefined;
39
+ // Animation for moving flyout backwards in 3D space (z-axis) when inactive
40
+ var euiFlyoutSlideBack3D = (0, _react.keyframes)(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n from {\n transform: translateZ(0) translateX(0) scale(1);\n filter: blur(0px);\n opacity: 1;\n }\n to {\n transform: translateZ(-1500px) translateX(", ") scale(0.5);\n filter: blur(3px);\n opacity: 0.6;\n }\n "])), side === 'left' ? 'calc(-100vw - 100%)' : 'calc(100vw + 100%)');
41
+
42
+ // Animation for bringing flyout forward from 3D space when transitioning to active
43
+ var euiFlyoutSlideForward3D = (0, _react.keyframes)(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n from {\n transform: translateZ(-500px) translateX(", ") scale(0.85);\n filter: blur(3px);\n opacity: 0.6;\n }\n to {\n transform: translateZ(0) translateX(0) scale(1);\n filter: blur(0px);\n opacity: 1;\n }\n "])), side === 'left' ? 'calc(-100vw - 100%)' : 'calc(100vw + 100%)');
44
+ // When flyout is becoming inactive, animate backwards in 3D space
45
+ var inactiveTransition = /*#__PURE__*/(0, _react.css)(_global_styling.euiCanAnimate, "{animation:", euiFlyoutSlideBack3D, " ", euiTheme.animation.extraSlow, " ", euiTheme.animation.resistance, " forwards;pointer-events:none;};label:inactiveTransition;");
46
+
47
+ // When flyout is becoming active from a backgrounded state, animate forward in 3D space
48
+ var returningTransition = /*#__PURE__*/(0, _react.css)(_global_styling.euiCanAnimate, "{animation:", euiFlyoutSlideForward3D, " ", euiTheme.animation.normal, " ", euiTheme.animation.resistance, " forwards;};label:returningTransition;");
49
+ var noTransition = /*#__PURE__*/(0, _react.css)(_global_styling.euiCanAnimate, "{animation:none;opacity:1;};label:noTransition;");
50
+ var activeFlyout = /*#__PURE__*/(0, _react.css)("z-index:", parseInt(euiTheme.levels.flyout) + 1, ";pointer-events:auto;;label:activeFlyout;");
51
+ var inactiveFlyout = /*#__PURE__*/(0, _react.css)(side === 'left' ? (0, _global_styling.logicalCSS)('right', '100vw') : (0, _global_styling.logicalCSS)('left', '100vw'), " transform:translateX(", side === 'left' ? 'calc(-100vw - 100%)' : 'calc(100vw + 100%)', ");;label:inactiveFlyout;");
52
+ switch (activeStage) {
53
+ case _const.STAGE_OPENING:
54
+ // Apply a higher z-index to opening main flyouts for seamless
55
+ // transitions from previously active main flyouts
56
+ return [level === _const.LEVEL_MAIN && activeFlyout];
57
+ case _const.STAGE_ACTIVE:
58
+ return [activeFlyout, noTransition];
59
+ case _const.STAGE_BACKGROUNDING:
60
+ return [inactiveTransition];
61
+ case _const.STAGE_BACKGROUNDED:
62
+ return [inactiveFlyout, noTransition];
63
+ case _const.STAGE_RETURNING:
64
+ return [activeFlyout, returningTransition];
65
+ case _const.STAGE_INACTIVE:
66
+ return [inactiveFlyout, noTransition];
67
+ case _const.STAGE_CLOSING:
68
+ return [inactiveTransition];
69
+ }
70
+ },
71
+ managedFlyout: _ref
72
+ };
73
+ };
@@ -0,0 +1,131 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "useCurrentChildFlyout", {
7
+ enumerable: true,
8
+ get: function get() {
9
+ return _selectors.useCurrentChildFlyout;
10
+ }
11
+ });
12
+ Object.defineProperty(exports, "useCurrentMainFlyout", {
13
+ enumerable: true,
14
+ get: function get() {
15
+ return _selectors.useCurrentMainFlyout;
16
+ }
17
+ });
18
+ Object.defineProperty(exports, "useCurrentSession", {
19
+ enumerable: true,
20
+ get: function get() {
21
+ return _selectors.useCurrentSession;
22
+ }
23
+ });
24
+ exports.useFlyoutId = void 0;
25
+ Object.defineProperty(exports, "useFlyoutLayoutMode", {
26
+ enumerable: true,
27
+ get: function get() {
28
+ return _layout_mode.useFlyoutLayoutMode;
29
+ }
30
+ });
31
+ exports.useFlyoutManager = void 0;
32
+ Object.defineProperty(exports, "useFlyoutWidth", {
33
+ enumerable: true,
34
+ get: function get() {
35
+ return _selectors.useFlyoutWidth;
36
+ }
37
+ });
38
+ Object.defineProperty(exports, "useHasActiveSession", {
39
+ enumerable: true,
40
+ get: function get() {
41
+ return _selectors.useHasActiveSession;
42
+ }
43
+ });
44
+ Object.defineProperty(exports, "useHasChildFlyout", {
45
+ enumerable: true,
46
+ get: function get() {
47
+ return _selectors.useHasChildFlyout;
48
+ }
49
+ });
50
+ Object.defineProperty(exports, "useHasPushPadding", {
51
+ enumerable: true,
52
+ get: function get() {
53
+ return _selectors.useHasPushPadding;
54
+ }
55
+ });
56
+ Object.defineProperty(exports, "useIsFlyoutActive", {
57
+ enumerable: true,
58
+ get: function get() {
59
+ return _selectors.useIsFlyoutActive;
60
+ }
61
+ });
62
+ Object.defineProperty(exports, "useIsInManagedFlyout", {
63
+ enumerable: true,
64
+ get: function get() {
65
+ return _context.useIsInManagedFlyout;
66
+ }
67
+ });
68
+ Object.defineProperty(exports, "useParentFlyoutSize", {
69
+ enumerable: true,
70
+ get: function get() {
71
+ return _selectors.useParentFlyoutSize;
72
+ }
73
+ });
74
+ Object.defineProperty(exports, "usePushPaddingOffsets", {
75
+ enumerable: true,
76
+ get: function get() {
77
+ return _selectors.usePushPaddingOffsets;
78
+ }
79
+ });
80
+ var _react = require("react");
81
+ var _services = require("../../../services");
82
+ var _provider = require("./provider");
83
+ var _selectors = require("./selectors");
84
+ var _layout_mode = require("./layout_mode");
85
+ var _context = require("./context");
86
+ /*
87
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
88
+ * or more contributor license agreements. Licensed under the Elastic License
89
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
90
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
91
+ * Side Public License, v 1.
92
+ */
93
+
94
+ // Ensure uniqueness across multiple hook instances, including in test envs
95
+ var autoGeneratedFlyoutIdCounter = 0;
96
+ // Convenience selector for a flyout's activity stage
97
+
98
+ /** Access the flyout manager context (state and actions). */
99
+ var useFlyoutManager = exports.useFlyoutManager = function useFlyoutManager() {
100
+ return (0, _react.useContext)(_provider.EuiFlyoutManagerContext);
101
+ };
102
+
103
+ /**
104
+ * Stable flyout ID utility. Uses the passed `id` if provided and not already registered,
105
+ * otherwise generates a deterministic ID for the component's lifetime.
106
+ * The ID remains stable across re-renders to maintain consistency in effects and other hooks.
107
+ */
108
+ var useFlyoutId = exports.useFlyoutId = function useFlyoutId(flyoutId) {
109
+ var defaultId = (0, _services.useGeneratedHtmlId)({
110
+ prefix: 'flyout-'
111
+ });
112
+ var isRegistered = (0, _selectors.useIsFlyoutRegistered)(flyoutId);
113
+
114
+ // Use ref to maintain ID stability across re-renders
115
+ var componentIdRef = (0, _react.useRef)(undefined);
116
+ if (!componentIdRef.current) {
117
+ // Determine the ID to use
118
+ if (!flyoutId) {
119
+ // No ID provided, generate a new one
120
+ componentIdRef.current = "".concat(defaultId, "-").concat(++autoGeneratedFlyoutIdCounter);
121
+ } else if (isRegistered) {
122
+ // ID is provided but already registered, generate a new one
123
+ (0, _services.warnOnce)("flyout-id-".concat(flyoutId), "Flyout with ID ".concat(flyoutId, " already registered; using new ID ").concat(defaultId));
124
+ componentIdRef.current = "".concat(defaultId, "-").concat(++autoGeneratedFlyoutIdCounter);
125
+ } else {
126
+ // ID is provided and not registered, use it
127
+ componentIdRef.current = flyoutId;
128
+ }
129
+ }
130
+ return componentIdRef.current;
131
+ };