@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.
- package/es/components/collapsible_nav/collapsible_nav.js +20 -101
- package/es/components/collapsible_nav_beta/collapsible_nav_beta.js +1 -0
- package/es/components/flyout/_flyout_overlay.js +52 -0
- package/es/components/flyout/_flyout_resize_button.js +32 -0
- package/es/components/flyout/{flyout_resizable.styles.js → _flyout_resize_button.styles.js} +11 -11
- package/es/components/flyout/const.js +42 -0
- package/es/components/flyout/flyout.component.js +481 -0
- package/es/components/flyout/flyout.js +77 -379
- package/es/components/flyout/flyout.styles.js +105 -7
- package/es/components/flyout/flyout_menu.js +241 -0
- package/es/components/flyout/flyout_menu.styles.js +19 -0
- package/{optimize/es/components/flyout/flyout_context.js → es/components/flyout/flyout_menu_context.js} +1 -7
- package/es/components/flyout/flyout_parent_context.js +36 -0
- package/es/components/flyout/flyout_resizable.js +33 -144
- package/es/components/flyout/hooks.js +25 -0
- package/es/components/flyout/index.js +5 -2
- package/es/components/flyout/manager/actions.js +153 -0
- package/es/components/flyout/manager/activity_stage.js +95 -0
- package/es/components/flyout/manager/const.js +56 -0
- package/es/components/flyout/manager/context.js +33 -0
- package/es/components/flyout/manager/flyout_child.js +75 -0
- package/es/components/flyout/manager/flyout_main.js +65 -0
- package/es/components/flyout/manager/flyout_main.styles.js +25 -0
- package/es/components/flyout/manager/flyout_managed.js +227 -0
- package/es/components/flyout/manager/flyout_managed.styles.js +69 -0
- package/es/components/flyout/manager/hooks.js +55 -0
- package/es/components/flyout/manager/index.js +31 -0
- package/es/components/flyout/manager/layout_mode.js +167 -0
- package/es/components/flyout/manager/provider.js +57 -0
- package/es/components/flyout/manager/reducer.js +320 -0
- package/es/components/flyout/manager/selectors.js +116 -0
- package/es/components/flyout/manager/store.js +113 -0
- package/es/components/flyout/manager/validation.js +85 -0
- package/es/components/flyout/use_flyout_resizable.js +149 -0
- package/es/components/flyout/use_flyout_z_index.js +46 -0
- package/es/components/overlay_mask/overlay_mask.js +13 -3
- package/es/components/overlay_mask/overlay_mask.styles.js +11 -2
- package/es/components/provider/provider.js +2 -1
- package/eui.d.ts +1484 -921
- package/i18ntokens.json +1207 -1153
- package/lib/components/collapsible_nav/collapsible_nav.js +20 -101
- package/lib/components/collapsible_nav_beta/collapsible_nav_beta.js +1 -0
- package/lib/components/flyout/_flyout_overlay.js +59 -0
- package/lib/components/flyout/_flyout_resize_button.js +38 -0
- package/{test-env/components/flyout/flyout_resizable.styles.js → lib/components/flyout/_flyout_resize_button.styles.js} +12 -12
- package/lib/components/flyout/const.js +49 -0
- package/lib/components/flyout/flyout.component.js +488 -0
- package/lib/components/flyout/flyout.js +102 -379
- package/lib/components/flyout/flyout.styles.js +105 -7
- package/lib/components/flyout/flyout_menu.js +243 -0
- package/lib/components/flyout/flyout_menu.styles.js +25 -0
- package/{optimize/lib/components/flyout/flyout_context.js → lib/components/flyout/flyout_menu_context.js} +2 -7
- package/lib/components/flyout/flyout_parent_context.js +43 -0
- package/lib/components/flyout/flyout_resizable.js +36 -147
- package/lib/components/flyout/hooks.js +30 -0
- package/lib/components/flyout/index.js +21 -14
- package/lib/components/flyout/manager/actions.js +159 -0
- package/lib/components/flyout/manager/activity_stage.js +101 -0
- package/lib/components/flyout/manager/const.js +62 -0
- package/lib/components/flyout/manager/context.js +41 -0
- package/lib/components/flyout/manager/flyout_child.js +80 -0
- package/lib/components/flyout/manager/flyout_main.js +70 -0
- package/lib/components/flyout/manager/flyout_main.styles.js +31 -0
- package/lib/components/flyout/manager/flyout_managed.js +233 -0
- package/lib/components/flyout/manager/flyout_managed.styles.js +73 -0
- package/lib/components/flyout/manager/hooks.js +131 -0
- package/lib/components/flyout/manager/index.js +168 -0
- package/lib/components/flyout/manager/layout_mode.js +171 -0
- package/lib/components/flyout/manager/provider.js +63 -0
- package/lib/components/flyout/manager/reducer.js +325 -0
- package/lib/components/flyout/manager/selectors.js +122 -0
- package/lib/components/flyout/manager/store.js +120 -0
- package/lib/components/flyout/manager/validation.js +94 -0
- package/lib/components/flyout/use_flyout_resizable.js +153 -0
- package/lib/components/flyout/use_flyout_z_index.js +51 -0
- package/lib/components/overlay_mask/overlay_mask.js +12 -2
- package/lib/components/overlay_mask/overlay_mask.styles.js +11 -4
- package/lib/components/provider/provider.js +2 -1
- package/optimize/es/components/collapsible_nav/collapsible_nav.js +1 -0
- package/optimize/es/components/collapsible_nav_beta/collapsible_nav_beta.js +1 -0
- package/optimize/es/components/flyout/_flyout_overlay.js +52 -0
- package/optimize/es/components/flyout/_flyout_resize_button.js +31 -0
- package/optimize/es/components/flyout/{flyout_resizable.styles.js → _flyout_resize_button.styles.js} +11 -11
- package/optimize/es/components/flyout/const.js +42 -0
- package/optimize/es/components/flyout/flyout.component.js +469 -0
- package/optimize/es/components/flyout/flyout.js +53 -349
- package/optimize/es/components/flyout/flyout.styles.js +102 -7
- package/optimize/es/components/flyout/flyout_menu.js +162 -0
- package/optimize/es/components/flyout/flyout_menu.styles.js +19 -0
- package/{es/components/flyout/flyout_context.js → optimize/es/components/flyout/flyout_menu_context.js} +1 -7
- package/optimize/es/components/flyout/flyout_parent_context.js +36 -0
- package/optimize/es/components/flyout/flyout_resizable.js +7 -138
- package/optimize/es/components/flyout/hooks.js +25 -0
- package/optimize/es/components/flyout/index.js +5 -2
- package/optimize/es/components/flyout/manager/actions.js +153 -0
- package/optimize/es/components/flyout/manager/activity_stage.js +95 -0
- package/optimize/es/components/flyout/manager/const.js +56 -0
- package/optimize/es/components/flyout/manager/context.js +33 -0
- package/optimize/es/components/flyout/manager/flyout_child.js +71 -0
- package/optimize/es/components/flyout/manager/flyout_main.js +61 -0
- package/optimize/es/components/flyout/manager/flyout_main.styles.js +25 -0
- package/optimize/es/components/flyout/manager/flyout_managed.js +223 -0
- package/optimize/es/components/flyout/manager/flyout_managed.styles.js +69 -0
- package/optimize/es/components/flyout/manager/hooks.js +55 -0
- package/optimize/es/components/flyout/manager/index.js +31 -0
- package/optimize/es/components/flyout/manager/layout_mode.js +162 -0
- package/optimize/es/components/flyout/manager/provider.js +53 -0
- package/optimize/es/components/flyout/manager/reducer.js +312 -0
- package/optimize/es/components/flyout/manager/selectors.js +116 -0
- package/optimize/es/components/flyout/manager/store.js +113 -0
- package/optimize/es/components/flyout/manager/types.js +1 -0
- package/optimize/es/components/flyout/manager/validation.js +85 -0
- package/optimize/es/components/flyout/types.js +1 -0
- package/optimize/es/components/flyout/use_flyout_resizable.js +144 -0
- package/optimize/es/components/flyout/use_flyout_z_index.js +46 -0
- package/optimize/es/components/overlay_mask/overlay_mask.js +13 -3
- package/optimize/es/components/overlay_mask/overlay_mask.styles.js +11 -2
- package/optimize/es/components/provider/provider.js +2 -1
- package/optimize/lib/components/collapsible_nav/collapsible_nav.js +1 -0
- package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_beta.js +1 -0
- package/optimize/lib/components/flyout/_flyout_overlay.js +62 -0
- package/optimize/lib/components/flyout/_flyout_resize_button.js +37 -0
- package/{lib/components/flyout/flyout_resizable.styles.js → optimize/lib/components/flyout/_flyout_resize_button.styles.js} +12 -12
- package/optimize/lib/components/flyout/const.js +49 -0
- package/optimize/lib/components/flyout/flyout.component.js +477 -0
- package/optimize/lib/components/flyout/flyout.js +77 -349
- package/optimize/lib/components/flyout/flyout.styles.js +102 -7
- package/optimize/lib/components/flyout/flyout_menu.js +168 -0
- package/optimize/lib/components/flyout/flyout_menu.styles.js +25 -0
- package/{lib/components/flyout/flyout_context.js → optimize/lib/components/flyout/flyout_menu_context.js} +2 -7
- package/optimize/lib/components/flyout/flyout_parent_context.js +43 -0
- package/optimize/lib/components/flyout/flyout_resizable.js +9 -139
- package/optimize/lib/components/flyout/hooks.js +30 -0
- package/optimize/lib/components/flyout/index.js +21 -14
- package/optimize/lib/components/flyout/manager/actions.js +159 -0
- package/optimize/lib/components/flyout/manager/activity_stage.js +101 -0
- package/optimize/lib/components/flyout/manager/const.js +62 -0
- package/optimize/lib/components/flyout/manager/context.js +41 -0
- package/optimize/lib/components/flyout/manager/flyout_child.js +76 -0
- package/optimize/lib/components/flyout/manager/flyout_main.js +66 -0
- package/optimize/lib/components/flyout/manager/flyout_main.styles.js +31 -0
- package/optimize/lib/components/flyout/manager/flyout_managed.js +231 -0
- package/optimize/lib/components/flyout/manager/flyout_managed.styles.js +74 -0
- package/optimize/lib/components/flyout/manager/hooks.js +131 -0
- package/optimize/lib/components/flyout/manager/index.js +168 -0
- package/optimize/lib/components/flyout/manager/layout_mode.js +169 -0
- package/optimize/lib/components/flyout/manager/provider.js +61 -0
- package/optimize/lib/components/flyout/manager/reducer.js +318 -0
- package/optimize/lib/components/flyout/manager/selectors.js +122 -0
- package/optimize/lib/components/flyout/manager/store.js +120 -0
- package/optimize/lib/components/flyout/manager/validation.js +94 -0
- package/optimize/lib/components/flyout/types.js +5 -0
- package/optimize/lib/components/flyout/use_flyout_resizable.js +151 -0
- package/optimize/lib/components/flyout/use_flyout_z_index.js +51 -0
- package/optimize/lib/components/overlay_mask/overlay_mask.js +12 -2
- package/optimize/lib/components/overlay_mask/overlay_mask.styles.js +11 -4
- package/optimize/lib/components/provider/provider.js +2 -1
- package/package.json +5 -4
- package/test-env/components/collapsible_nav/collapsible_nav.js +20 -101
- package/test-env/components/collapsible_nav_beta/collapsible_nav_beta.js +1 -0
- package/test-env/components/flyout/_flyout_overlay.js +62 -0
- package/test-env/components/flyout/_flyout_resize_button.js +37 -0
- package/{optimize/lib/components/flyout/flyout_resizable.styles.js → test-env/components/flyout/_flyout_resize_button.styles.js} +12 -12
- package/test-env/components/flyout/const.js +49 -0
- package/test-env/components/flyout/flyout.component.js +477 -0
- package/test-env/components/flyout/flyout.styles.js +102 -7
- package/test-env/components/flyout/flyout_menu.js +241 -0
- package/test-env/components/flyout/flyout_menu.styles.js +25 -0
- package/test-env/components/flyout/{flyout_context.js → flyout_menu_context.js} +2 -7
- package/test-env/components/flyout/flyout_parent_context.js +43 -0
- package/test-env/components/flyout/flyout_resizable.js +35 -139
- package/test-env/components/flyout/hooks.js +30 -0
- package/test-env/components/flyout/index.js +21 -14
- package/test-env/components/flyout/manager/actions.js +159 -0
- package/test-env/components/flyout/manager/activity_stage.js +101 -0
- package/test-env/components/flyout/manager/const.js +62 -0
- package/test-env/components/flyout/manager/context.js +41 -0
- package/test-env/components/flyout/manager/flyout_child.js +76 -0
- package/test-env/components/flyout/manager/flyout_main.js +66 -0
- package/test-env/components/flyout/manager/flyout_main.styles.js +31 -0
- package/test-env/components/flyout/manager/flyout_managed.js +231 -0
- package/test-env/components/flyout/manager/flyout_managed.styles.js +74 -0
- package/test-env/components/flyout/manager/hooks.js +131 -0
- package/test-env/components/flyout/manager/index.js +168 -0
- package/test-env/components/flyout/manager/layout_mode.js +169 -0
- package/test-env/components/flyout/manager/provider.js +61 -0
- package/test-env/components/flyout/manager/reducer.js +318 -0
- package/test-env/components/flyout/manager/selectors.js +122 -0
- package/test-env/components/flyout/manager/store.js +120 -0
- package/test-env/components/flyout/manager/types.js +5 -0
- package/test-env/components/flyout/manager/validation.js +94 -0
- package/test-env/components/flyout/types.js +5 -0
- package/test-env/components/flyout/use_flyout_resizable.js +151 -0
- package/test-env/components/flyout/use_flyout_z_index.js +51 -0
- package/test-env/components/overlay_mask/overlay_mask.js +12 -2
- package/test-env/components/overlay_mask/overlay_mask.styles.js +11 -4
- package/test-env/components/provider/provider.js +2 -1
- package/es/components/flyout/flyout_child.js +0 -223
- package/es/components/flyout/flyout_child.styles.js +0 -32
- package/es/components/flyout/flyout_child_manager.js +0 -114
- package/es/components/flyout/sessions/flyout_provider.js +0 -95
- package/es/components/flyout/sessions/flyout_reducer.js +0 -195
- package/es/components/flyout/sessions/index.js +0 -10
- package/es/components/flyout/sessions/use_eui_flyout.js +0 -82
- package/lib/components/flyout/flyout_child.js +0 -231
- package/lib/components/flyout/flyout_child.styles.js +0 -38
- package/lib/components/flyout/flyout_child_manager.js +0 -122
- package/lib/components/flyout/sessions/flyout_provider.js +0 -102
- package/lib/components/flyout/sessions/flyout_reducer.js +0 -202
- package/lib/components/flyout/sessions/index.js +0 -25
- package/lib/components/flyout/sessions/use_eui_flyout.js +0 -88
- package/optimize/es/components/flyout/flyout_child.js +0 -178
- package/optimize/es/components/flyout/flyout_child.styles.js +0 -32
- package/optimize/es/components/flyout/flyout_child_manager.js +0 -100
- package/optimize/es/components/flyout/sessions/flyout_provider.js +0 -90
- package/optimize/es/components/flyout/sessions/flyout_reducer.js +0 -187
- package/optimize/es/components/flyout/sessions/index.js +0 -10
- package/optimize/es/components/flyout/sessions/use_eui_flyout.js +0 -82
- package/optimize/lib/components/flyout/flyout_child.js +0 -186
- package/optimize/lib/components/flyout/flyout_child.styles.js +0 -38
- package/optimize/lib/components/flyout/flyout_child_manager.js +0 -110
- package/optimize/lib/components/flyout/sessions/flyout_provider.js +0 -100
- package/optimize/lib/components/flyout/sessions/flyout_reducer.js +0 -195
- package/optimize/lib/components/flyout/sessions/index.js +0 -25
- package/optimize/lib/components/flyout/sessions/use_eui_flyout.js +0 -88
- package/test-env/components/flyout/flyout_child.js +0 -230
- package/test-env/components/flyout/flyout_child.styles.js +0 -38
- package/test-env/components/flyout/flyout_child_manager.js +0 -119
- package/test-env/components/flyout/sessions/flyout_provider.js +0 -100
- package/test-env/components/flyout/sessions/flyout_reducer.js +0 -195
- package/test-env/components/flyout/sessions/index.js +0 -25
- package/test-env/components/flyout/sessions/use_eui_flyout.js +0 -88
- /package/es/components/flyout/{sessions → manager}/types.js +0 -0
- /package/{optimize/es/components/flyout/sessions → es/components/flyout}/types.js +0 -0
- /package/lib/components/flyout/{sessions → manager}/types.js +0 -0
- /package/{optimize/lib/components/flyout/sessions → lib/components/flyout}/types.js +0 -0
- /package/{test-env/components/flyout/sessions → optimize/lib/components/flyout/manager}/types.js +0 -0
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
|
|
2
|
+
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."); }
|
|
3
|
+
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; } }
|
|
4
|
+
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; }
|
|
5
|
+
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; } }
|
|
6
|
+
function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
|
|
7
|
+
/*
|
|
8
|
+
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
|
|
9
|
+
* or more contributor license agreements. Licensed under the Elastic License
|
|
10
|
+
* 2.0 and the Server Side Public License, v 1; you may not use this file except
|
|
11
|
+
* in compliance with, at your election, the Elastic License 2.0 or the Server
|
|
12
|
+
* Side Public License, v 1.
|
|
13
|
+
*/
|
|
14
|
+
|
|
15
|
+
import { useCallback, useEffect, useMemo, useRef, useState } from 'react';
|
|
16
|
+
import { keys } from '../../services';
|
|
17
|
+
import { getPosition } from '../resizable_container/helpers';
|
|
18
|
+
/**
|
|
19
|
+
* @internal
|
|
20
|
+
*/
|
|
21
|
+
export var useEuiFlyoutResizable = function useEuiFlyoutResizable(_ref) {
|
|
22
|
+
var enabled = _ref.enabled,
|
|
23
|
+
_ref$minWidth = _ref.minWidth,
|
|
24
|
+
minWidth = _ref$minWidth === void 0 ? 0 : _ref$minWidth,
|
|
25
|
+
maxWidth = _ref.maxWidth,
|
|
26
|
+
onResize = _ref.onResize,
|
|
27
|
+
side = _ref.side,
|
|
28
|
+
_size = _ref.size;
|
|
29
|
+
var getFlyoutMinMaxWidth = useCallback(function (width) {
|
|
30
|
+
return Math.min(Math.max(width, minWidth), maxWidth || Infinity, window.innerWidth - 20 // Leave some offset
|
|
31
|
+
);
|
|
32
|
+
}, [minWidth, maxWidth]);
|
|
33
|
+
var _useState = useState(0),
|
|
34
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
35
|
+
flyoutWidth = _useState2[0],
|
|
36
|
+
setFlyoutWidth = _useState2[1];
|
|
37
|
+
var _useState3 = useState(false),
|
|
38
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
39
|
+
callOnResize = _useState4[0],
|
|
40
|
+
setCallOnResize = _useState4[1];
|
|
41
|
+
|
|
42
|
+
// Must use state for the flyout ref in order for the useEffect to be correctly called after render
|
|
43
|
+
var _useState5 = useState(null),
|
|
44
|
+
_useState6 = _slicedToArray(_useState5, 2),
|
|
45
|
+
flyoutRef = _useState6[0],
|
|
46
|
+
setFlyoutRef = _useState6[1];
|
|
47
|
+
useEffect(function () {
|
|
48
|
+
if (!enabled) return; // Don't measure when resizing is disabled
|
|
49
|
+
if (!flyoutWidth && flyoutRef) {
|
|
50
|
+
setCallOnResize(false); // Don't call `onResize` for non-user width changes
|
|
51
|
+
setFlyoutWidth(getFlyoutMinMaxWidth(flyoutRef.offsetWidth));
|
|
52
|
+
}
|
|
53
|
+
}, [flyoutWidth, flyoutRef, getFlyoutMinMaxWidth, enabled]);
|
|
54
|
+
|
|
55
|
+
// Update flyout width when consumers pass in a new `size`
|
|
56
|
+
useEffect(function () {
|
|
57
|
+
if (!enabled) return; // Don't update width when resizing is disabled
|
|
58
|
+
setCallOnResize(false);
|
|
59
|
+
// For string `size`s, resetting flyoutWidth to 0 will trigger the above useEffect's recalculation
|
|
60
|
+
setFlyoutWidth(typeof _size === 'number' ? getFlyoutMinMaxWidth(_size) : 0);
|
|
61
|
+
}, [_size, getFlyoutMinMaxWidth, enabled]);
|
|
62
|
+
|
|
63
|
+
// Initial numbers to calculate from, on resize drag start
|
|
64
|
+
var initialWidth = useRef(0);
|
|
65
|
+
var initialMouseX = useRef(0);
|
|
66
|
+
|
|
67
|
+
// Account for flyout side and logical property direction
|
|
68
|
+
var direction = useMemo(function () {
|
|
69
|
+
var modifier = side === 'right' ? -1 : 1;
|
|
70
|
+
if (flyoutRef) {
|
|
71
|
+
var languageDirection = window.getComputedStyle(flyoutRef).direction;
|
|
72
|
+
if (languageDirection === 'rtl') modifier *= -1;
|
|
73
|
+
}
|
|
74
|
+
return modifier;
|
|
75
|
+
}, [side, flyoutRef]);
|
|
76
|
+
var onMouseMove = useCallback(function (e) {
|
|
77
|
+
if (!enabled) {
|
|
78
|
+
return;
|
|
79
|
+
}
|
|
80
|
+
var mouseOffset = getPosition(e, true) - initialMouseX.current;
|
|
81
|
+
var changedFlyoutWidth = initialWidth.current + mouseOffset * direction;
|
|
82
|
+
setFlyoutWidth(getFlyoutMinMaxWidth(changedFlyoutWidth));
|
|
83
|
+
}, [getFlyoutMinMaxWidth, direction, enabled]);
|
|
84
|
+
var onMouseUp = useCallback(function () {
|
|
85
|
+
setCallOnResize(true);
|
|
86
|
+
if (!enabled) {
|
|
87
|
+
return;
|
|
88
|
+
}
|
|
89
|
+
initialMouseX.current = 0;
|
|
90
|
+
window.removeEventListener('mousemove', onMouseMove);
|
|
91
|
+
window.removeEventListener('mouseup', onMouseUp);
|
|
92
|
+
window.removeEventListener('touchmove', onMouseMove);
|
|
93
|
+
window.removeEventListener('touchend', onMouseUp);
|
|
94
|
+
}, [onMouseMove, enabled]);
|
|
95
|
+
var onMouseDown = useCallback(function (e) {
|
|
96
|
+
var _flyoutRef$offsetWidt;
|
|
97
|
+
setCallOnResize(false);
|
|
98
|
+
if (!enabled) {
|
|
99
|
+
return;
|
|
100
|
+
}
|
|
101
|
+
initialMouseX.current = getPosition(e, true);
|
|
102
|
+
initialWidth.current = (_flyoutRef$offsetWidt = flyoutRef === null || flyoutRef === void 0 ? void 0 : flyoutRef.offsetWidth) !== null && _flyoutRef$offsetWidt !== void 0 ? _flyoutRef$offsetWidt : 0;
|
|
103
|
+
|
|
104
|
+
// Window event listeners instead of React events are used
|
|
105
|
+
// in case the user's mouse leaves the component
|
|
106
|
+
window.addEventListener('mousemove', onMouseMove);
|
|
107
|
+
window.addEventListener('mouseup', onMouseUp);
|
|
108
|
+
window.addEventListener('touchmove', onMouseMove);
|
|
109
|
+
window.addEventListener('touchend', onMouseUp);
|
|
110
|
+
}, [flyoutRef, onMouseMove, onMouseUp, enabled]);
|
|
111
|
+
var onKeyDown = useCallback(function (e) {
|
|
112
|
+
setCallOnResize(true);
|
|
113
|
+
if (!enabled) {
|
|
114
|
+
return;
|
|
115
|
+
}
|
|
116
|
+
var KEYBOARD_OFFSET = 10;
|
|
117
|
+
switch (e.key) {
|
|
118
|
+
case keys.ARROW_RIGHT:
|
|
119
|
+
e.preventDefault(); // Safari+VO will screen reader navigate off the button otherwise
|
|
120
|
+
setFlyoutWidth(function (flyoutWidth) {
|
|
121
|
+
return getFlyoutMinMaxWidth(flyoutWidth + KEYBOARD_OFFSET * direction);
|
|
122
|
+
});
|
|
123
|
+
break;
|
|
124
|
+
case keys.ARROW_LEFT:
|
|
125
|
+
e.preventDefault(); // Safari+VO will screen reader navigate off the button otherwise
|
|
126
|
+
setFlyoutWidth(function (flyoutWidth) {
|
|
127
|
+
return getFlyoutMinMaxWidth(flyoutWidth - KEYBOARD_OFFSET * direction);
|
|
128
|
+
});
|
|
129
|
+
}
|
|
130
|
+
}, [getFlyoutMinMaxWidth, direction, enabled]);
|
|
131
|
+
|
|
132
|
+
// To reduce unnecessary calls, only fire onResize callback:
|
|
133
|
+
// 1. After initial mount / on user width change events only
|
|
134
|
+
// 2. If not currently mouse dragging
|
|
135
|
+
useEffect(function () {
|
|
136
|
+
if (callOnResize && enabled) {
|
|
137
|
+
onResize === null || onResize === void 0 || onResize(flyoutWidth);
|
|
138
|
+
}
|
|
139
|
+
}, [onResize, callOnResize, flyoutWidth, enabled]);
|
|
140
|
+
var size = useMemo(function () {
|
|
141
|
+
return enabled ? flyoutWidth || _size : _size;
|
|
142
|
+
}, [enabled, flyoutWidth, _size]);
|
|
143
|
+
return {
|
|
144
|
+
onKeyDown: onKeyDown,
|
|
145
|
+
onMouseDown: onMouseDown,
|
|
146
|
+
setFlyoutRef: setFlyoutRef,
|
|
147
|
+
size: size
|
|
148
|
+
};
|
|
149
|
+
};
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
|
|
3
|
+
* or more contributor license agreements. Licensed under the Elastic License
|
|
4
|
+
* 2.0 and the Server Side Public License, v 1; you may not use this file except
|
|
5
|
+
* in compliance with, at your election, the Elastic License 2.0 or the Server
|
|
6
|
+
* Side Public License, v 1.
|
|
7
|
+
*/
|
|
8
|
+
|
|
9
|
+
import { useEuiTheme } from '../../services';
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* @internal
|
|
13
|
+
*/
|
|
14
|
+
|
|
15
|
+
var calculateZIndex = function calculateZIndex(baseLevel, isChildFlyout) {
|
|
16
|
+
var level = Number(baseLevel);
|
|
17
|
+
return {
|
|
18
|
+
// Child flyouts slide in from below and need to have a lower z-index
|
|
19
|
+
flyoutZIndex: isChildFlyout ? level - 1 : level,
|
|
20
|
+
maskZIndex: level - 2
|
|
21
|
+
};
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* @internal
|
|
26
|
+
*/
|
|
27
|
+
export var useEuiFlyoutZIndex = function useEuiFlyoutZIndex(_ref) {
|
|
28
|
+
var maskProps = _ref.maskProps,
|
|
29
|
+
isPushed = _ref.isPushed,
|
|
30
|
+
managedFlyoutIndex = _ref.managedFlyoutIndex,
|
|
31
|
+
isChildFlyout = _ref.isChildFlyout;
|
|
32
|
+
var _useEuiTheme = useEuiTheme(),
|
|
33
|
+
euiTheme = _useEuiTheme.euiTheme;
|
|
34
|
+
var baseLevel = Number(euiTheme.levels.flyout);
|
|
35
|
+
|
|
36
|
+
// The default headerZindexLocation for EuiFlyout is "below"
|
|
37
|
+
// which is different from what EuiOverlayMask fallbacks to - see
|
|
38
|
+
// _flyout_overlay.tsx.
|
|
39
|
+
// We set z-index to mask level only when explicitly overridden
|
|
40
|
+
// via the maskProps prop
|
|
41
|
+
if (!isPushed && (maskProps === null || maskProps === void 0 ? void 0 : maskProps.headerZindexLocation) === 'above') {
|
|
42
|
+
baseLevel = Number(euiTheme.levels.mask);
|
|
43
|
+
}
|
|
44
|
+
baseLevel += managedFlyoutIndex;
|
|
45
|
+
return calculateZIndex(baseLevel, isChildFlyout);
|
|
46
|
+
};
|
|
@@ -19,7 +19,7 @@ function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t =
|
|
|
19
19
|
* Side Public License, v 1.
|
|
20
20
|
*/
|
|
21
21
|
|
|
22
|
-
import React, { useEffect, useState } from 'react';
|
|
22
|
+
import React, { useCallback, useEffect, useRef, useState } from 'react';
|
|
23
23
|
import PropTypes from "prop-types";
|
|
24
24
|
import { cx } from '@emotion/css';
|
|
25
25
|
import { Global } from '@emotion/react';
|
|
@@ -36,13 +36,17 @@ export var EuiOverlayMask = function EuiOverlayMask(_ref) {
|
|
|
36
36
|
headerZindexLocation = _ref$headerZindexLoca === void 0 ? 'above' : _ref$headerZindexLoca,
|
|
37
37
|
maskRef = _ref.maskRef,
|
|
38
38
|
rest = _objectWithoutProperties(_ref, _excluded);
|
|
39
|
+
var hasRendered = useRef(false);
|
|
39
40
|
var _useState = useState(null),
|
|
40
41
|
_useState2 = _slicedToArray(_useState, 2),
|
|
41
42
|
overlayMaskNode = _useState2[0],
|
|
42
43
|
setOverlayMaskNode = _useState2[1];
|
|
43
44
|
var combinedMaskRef = useCombinedRefs([setOverlayMaskNode, maskRef]);
|
|
45
|
+
var handleAnimationEnd = useCallback(function () {
|
|
46
|
+
hasRendered.current = true;
|
|
47
|
+
}, []);
|
|
44
48
|
var styles = useEuiMemoizedStyles(euiOverlayMaskStyles);
|
|
45
|
-
var cssStyles = cx([styles.euiOverlayMask, styles["".concat(headerZindexLocation, "Header")]]);
|
|
49
|
+
var cssStyles = cx([styles.euiOverlayMask, styles["".concat(headerZindexLocation, "Header")], hasRendered.current && styles.noAnimation]);
|
|
46
50
|
useEffect(function () {
|
|
47
51
|
if (!overlayMaskNode) return;
|
|
48
52
|
keysOf(rest).forEach(function (key) {
|
|
@@ -53,7 +57,13 @@ export var EuiOverlayMask = function EuiOverlayMask(_ref) {
|
|
|
53
57
|
overlayMaskNode.setAttribute(key, rest[key]);
|
|
54
58
|
}
|
|
55
59
|
});
|
|
56
|
-
|
|
60
|
+
overlayMaskNode.addEventListener('animationend', handleAnimationEnd, {
|
|
61
|
+
once: true
|
|
62
|
+
});
|
|
63
|
+
return function () {
|
|
64
|
+
overlayMaskNode.removeEventListener('animationend', handleAnimationEnd);
|
|
65
|
+
};
|
|
66
|
+
}, [overlayMaskNode, handleAnimationEnd]); // eslint-disable-line react-hooks/exhaustive-deps
|
|
57
67
|
|
|
58
68
|
// Note: Use `classList.add/remove` instead of setting the entire `className`
|
|
59
69
|
// so as not to override any existing classes set by `EuiPortal`
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
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)."; }
|
|
1
2
|
/*
|
|
2
3
|
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
|
|
3
4
|
* or more contributor license agreements. Licensed under the Elastic License
|
|
@@ -12,8 +13,16 @@ export var euiOverlayMaskStyles = function euiOverlayMaskStyles(_ref) {
|
|
|
12
13
|
var euiTheme = _ref.euiTheme,
|
|
13
14
|
highContrastMode = _ref.highContrastMode;
|
|
14
15
|
return {
|
|
15
|
-
euiOverlayMask: /*#__PURE__*/css("position:fixed;", logicalCSS('top', 0), " ", logicalCSS('left', 0), " ", logicalCSS('right', 0), " ", logicalCSS('bottom', 0), " display:flex;align-items:center;justify-content:center;animation:", euiAnimFadeIn, " ", euiTheme.animation.fast, " ease-in;background:", highContrastMode ? euiTheme.components.overlayMaskBackgroundHighContrast : euiTheme.components.overlayMaskBackground, ";;label:euiOverlayMask;"),
|
|
16
|
+
euiOverlayMask: /*#__PURE__*/css("position:fixed;", logicalCSS('top', 0), " ", logicalCSS('left', 0), " ", logicalCSS('right', 0), " ", logicalCSS('bottom', 0), " display:flex;align-items:center;justify-content:center;animation:", euiAnimFadeIn, " ", euiTheme.animation.fast, " ease-in forwards;animation-iteration-count:1;background:", highContrastMode ? euiTheme.components.overlayMaskBackgroundHighContrast : euiTheme.components.overlayMaskBackground, ";;label:euiOverlayMask;"),
|
|
16
17
|
aboveHeader: /*#__PURE__*/css("z-index:", euiTheme.levels.mask, ";;label:aboveHeader;"),
|
|
17
|
-
belowHeader: /*#__PURE__*/css("z-index:", euiTheme.levels.maskBelowHeader, ";", logicalCSS('top', 'var(--euiFixedHeadersOffset, 0)'), ";;label:belowHeader;")
|
|
18
|
+
belowHeader: /*#__PURE__*/css("z-index:", euiTheme.levels.maskBelowHeader, ";", logicalCSS('top', 'var(--euiFixedHeadersOffset, 0)'), ";;label:belowHeader;"),
|
|
19
|
+
noAnimation: /*#__PURE__*/css(process.env.NODE_ENV === "production" ? {
|
|
20
|
+
name: "lqr4xc-noAnimation",
|
|
21
|
+
styles: "animation:none;label:noAnimation;"
|
|
22
|
+
} : {
|
|
23
|
+
name: "lqr4xc-noAnimation",
|
|
24
|
+
styles: "animation:none;label:noAnimation;",
|
|
25
|
+
toString: _EMOTION_STRINGIFIED_CSS_ERROR__
|
|
26
|
+
})
|
|
18
27
|
};
|
|
19
28
|
};
|
|
@@ -17,6 +17,7 @@ import { EuiCacheProvider } from './cache';
|
|
|
17
17
|
import { EuiSystemDefaultsProvider } from './system_defaults';
|
|
18
18
|
import { EuiProviderNestedCheck, useIsNestedEuiProvider } from './nested';
|
|
19
19
|
import { EuiComponentDefaultsProvider } from './component_defaults';
|
|
20
|
+
import { EuiFlyoutManager } from '../flyout/manager';
|
|
20
21
|
import { jsx as ___EmotionJSX } from "@emotion/react";
|
|
21
22
|
var isEmotionCacheObject = function isEmotionCacheObject(obj) {
|
|
22
23
|
return obj.hasOwnProperty('key');
|
|
@@ -79,5 +80,5 @@ export var EuiProvider = function EuiProvider(_ref) {
|
|
|
79
80
|
children: Utilities && ___EmotionJSX(Utilities, null)
|
|
80
81
|
})), ___EmotionJSX(EuiComponentDefaultsProvider, {
|
|
81
82
|
componentDefaults: componentDefaults
|
|
82
|
-
}, children)))));
|
|
83
|
+
}, ___EmotionJSX(EuiFlyoutManager, null, children))))));
|
|
83
84
|
};
|