@elastic/eui 106.0.0 → 106.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/es/components/collapsible_nav/collapsible_nav.js +4 -0
- package/es/components/flyout/flyout.js +85 -70
- package/es/components/flyout/flyout_child.js +13 -4
- package/es/components/flyout/flyout_child_manager.js +3 -1
- package/es/components/flyout/sessions/flyout_provider.js +4 -4
- package/es/components/flyout/sessions/flyout_reducer.js +11 -12
- package/es/components/flyout/sessions/use_eui_flyout.js +4 -27
- package/es/components/form/range/range_input.styles.js +5 -3
- package/es/components/provider/component_defaults/component_defaults.js +12 -2
- package/es/components/tree_view/tree_view.js +4 -0
- package/es/services/theme/provider.js +7 -1
- package/eui.d.ts +5931 -5928
- package/i18ntokens.json +508 -508
- package/lib/components/collapsible_nav/collapsible_nav.js +4 -0
- package/lib/components/flyout/flyout.js +84 -69
- package/lib/components/flyout/flyout_child.js +11 -2
- package/lib/components/flyout/flyout_child_manager.js +3 -1
- package/lib/components/flyout/sessions/flyout_provider.js +3 -3
- package/lib/components/flyout/sessions/flyout_reducer.js +11 -12
- package/lib/components/flyout/sessions/use_eui_flyout.js +4 -26
- package/lib/components/form/range/range_input.styles.js +5 -3
- package/lib/components/provider/component_defaults/component_defaults.js +12 -2
- package/lib/components/tree_view/tree_view.js +4 -0
- package/lib/services/theme/provider.js +7 -1
- package/optimize/es/components/flyout/flyout.js +85 -70
- package/optimize/es/components/flyout/flyout_child.js +13 -4
- package/optimize/es/components/flyout/flyout_child_manager.js +3 -1
- package/optimize/es/components/flyout/sessions/flyout_provider.js +4 -4
- package/optimize/es/components/flyout/sessions/flyout_reducer.js +11 -12
- package/optimize/es/components/flyout/sessions/use_eui_flyout.js +4 -27
- package/optimize/es/components/form/range/range_input.styles.js +5 -3
- package/optimize/es/components/tree_view/tree_view.js +1 -0
- package/optimize/es/services/theme/provider.js +7 -1
- package/optimize/lib/components/flyout/flyout.js +84 -69
- package/optimize/lib/components/flyout/flyout_child.js +11 -2
- package/optimize/lib/components/flyout/flyout_child_manager.js +3 -1
- package/optimize/lib/components/flyout/sessions/flyout_provider.js +3 -3
- package/optimize/lib/components/flyout/sessions/flyout_reducer.js +11 -12
- package/optimize/lib/components/flyout/sessions/use_eui_flyout.js +4 -26
- package/optimize/lib/components/form/range/range_input.styles.js +5 -3
- package/optimize/lib/components/tree_view/tree_view.js +1 -0
- package/optimize/lib/services/theme/provider.js +7 -1
- package/package.json +9 -11
- package/test-env/components/collapsible_nav/collapsible_nav.js +4 -0
- package/test-env/components/flyout/flyout_child.js +11 -2
- package/test-env/components/flyout/flyout_child_manager.js +3 -1
- package/test-env/components/flyout/sessions/flyout_provider.js +3 -3
- package/test-env/components/flyout/sessions/flyout_reducer.js +11 -12
- package/test-env/components/flyout/sessions/use_eui_flyout.js +4 -26
- package/test-env/components/form/range/range_input.styles.js +5 -3
- package/test-env/components/provider/component_defaults/component_defaults.js +12 -2
- package/test-env/components/tree_view/tree_view.js +4 -0
- package/test-env/services/theme/provider.js +7 -1
|
@@ -25,8 +25,9 @@ var _flyout_close_button = require("./_flyout_close_button");
|
|
|
25
25
|
var _flyout = require("./flyout.styles");
|
|
26
26
|
var _flyout_child = require("./flyout_child");
|
|
27
27
|
var _flyout_child_manager = require("./flyout_child_manager");
|
|
28
|
+
var _component_defaults = require("../provider/component_defaults");
|
|
28
29
|
var _react2 = require("@emotion/react");
|
|
29
|
-
var _excluded = ["className", "children", "as", "hideCloseButton", "closeButtonProps", "closeButtonPosition", "onClose", "ownFocus", "side", "size", "paddingSize", "maxWidth", "style", "maskProps", "type", "outsideClickCloses", "pushMinBreakpoint", "pushAnimation", "focusTrapProps", "includeFixedHeadersInFocusTrap", "aria-describedby"];
|
|
30
|
+
var _excluded = ["className", "children", "as", "hideCloseButton", "closeButtonProps", "closeButtonPosition", "onClose", "ownFocus", "side", "size", "paddingSize", "maxWidth", "style", "maskProps", "type", "outsideClickCloses", "pushMinBreakpoint", "pushAnimation", "focusTrapProps", "includeFixedHeadersInFocusTrap", "includeSelectorInFocusTrap", "aria-describedby"];
|
|
30
31
|
/*
|
|
31
32
|
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
|
|
32
33
|
* or more contributor license agreements. Licensed under the Elastic License
|
|
@@ -50,40 +51,44 @@ function isEuiFlyoutSizeNamed(value) {
|
|
|
50
51
|
}
|
|
51
52
|
var PADDING_SIZES = exports.PADDING_SIZES = ['none', 's', 'm', 'l'];
|
|
52
53
|
var defaultElement = 'div';
|
|
53
|
-
var EuiFlyout = exports.EuiFlyout = /*#__PURE__*/(0, _react.forwardRef)(function (
|
|
54
|
-
var
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
54
|
+
var EuiFlyout = exports.EuiFlyout = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
55
|
+
var _usePropsWithComponen = (0, _component_defaults.usePropsWithComponentDefaults)('EuiFlyout', props),
|
|
56
|
+
className = _usePropsWithComponen.className,
|
|
57
|
+
children = _usePropsWithComponen.children,
|
|
58
|
+
as = _usePropsWithComponen.as,
|
|
59
|
+
_usePropsWithComponen2 = _usePropsWithComponen.hideCloseButton,
|
|
60
|
+
hideCloseButton = _usePropsWithComponen2 === void 0 ? false : _usePropsWithComponen2,
|
|
61
|
+
closeButtonProps = _usePropsWithComponen.closeButtonProps,
|
|
62
|
+
_usePropsWithComponen3 = _usePropsWithComponen.closeButtonPosition,
|
|
63
|
+
_closeButtonPosition = _usePropsWithComponen3 === void 0 ? 'inside' : _usePropsWithComponen3,
|
|
64
|
+
onClose = _usePropsWithComponen.onClose,
|
|
65
|
+
_usePropsWithComponen4 = _usePropsWithComponen.ownFocus,
|
|
66
|
+
ownFocus = _usePropsWithComponen4 === void 0 ? true : _usePropsWithComponen4,
|
|
67
|
+
_usePropsWithComponen5 = _usePropsWithComponen.side,
|
|
68
|
+
side = _usePropsWithComponen5 === void 0 ? 'right' : _usePropsWithComponen5,
|
|
69
|
+
_usePropsWithComponen6 = _usePropsWithComponen.size,
|
|
70
|
+
size = _usePropsWithComponen6 === void 0 ? 'm' : _usePropsWithComponen6,
|
|
71
|
+
_usePropsWithComponen7 = _usePropsWithComponen.paddingSize,
|
|
72
|
+
paddingSize = _usePropsWithComponen7 === void 0 ? 'l' : _usePropsWithComponen7,
|
|
73
|
+
_usePropsWithComponen8 = _usePropsWithComponen.maxWidth,
|
|
74
|
+
maxWidth = _usePropsWithComponen8 === void 0 ? false : _usePropsWithComponen8,
|
|
75
|
+
style = _usePropsWithComponen.style,
|
|
76
|
+
maskProps = _usePropsWithComponen.maskProps,
|
|
77
|
+
_usePropsWithComponen9 = _usePropsWithComponen.type,
|
|
78
|
+
type = _usePropsWithComponen9 === void 0 ? 'overlay' : _usePropsWithComponen9,
|
|
79
|
+
outsideClickCloses = _usePropsWithComponen.outsideClickCloses,
|
|
80
|
+
_usePropsWithComponen10 = _usePropsWithComponen.pushMinBreakpoint,
|
|
81
|
+
pushMinBreakpoint = _usePropsWithComponen10 === void 0 ? 'l' : _usePropsWithComponen10,
|
|
82
|
+
_usePropsWithComponen11 = _usePropsWithComponen.pushAnimation,
|
|
83
|
+
pushAnimation = _usePropsWithComponen11 === void 0 ? false : _usePropsWithComponen11,
|
|
84
|
+
_focusTrapProps = _usePropsWithComponen.focusTrapProps,
|
|
85
|
+
_usePropsWithComponen12 = _usePropsWithComponen.includeFixedHeadersInFocusTrap,
|
|
86
|
+
includeFixedHeadersInFocusTrap = _usePropsWithComponen12 === void 0 ? true : _usePropsWithComponen12,
|
|
87
|
+
includeSelectorInFocusTrap = _usePropsWithComponen.includeSelectorInFocusTrap,
|
|
88
|
+
_ariaDescribedBy = _usePropsWithComponen['aria-describedby'],
|
|
89
|
+
rest = (0, _objectWithoutProperties2.default)(_usePropsWithComponen, _excluded);
|
|
90
|
+
var _useEuiThemeCSSVariab = (0, _services.useEuiThemeCSSVariables)(),
|
|
91
|
+
setGlobalCSSVariables = _useEuiThemeCSSVariab.setGlobalCSSVariables;
|
|
87
92
|
var Element = as || defaultElement;
|
|
88
93
|
var maskRef = (0, _react.useRef)(null);
|
|
89
94
|
|
|
@@ -142,12 +147,17 @@ var EuiFlyout = exports.EuiFlyout = /*#__PURE__*/(0, _react.forwardRef)(function
|
|
|
142
147
|
*/
|
|
143
148
|
if (isPushed) {
|
|
144
149
|
var paddingSide = side === 'left' ? 'paddingInlineStart' : 'paddingInlineEnd';
|
|
150
|
+
var cssVarName = "--euiPushFlyoutOffset".concat(side === 'left' ? 'InlineStart' : 'InlineEnd');
|
|
145
151
|
document.body.style[paddingSide] = "".concat(width, "px");
|
|
152
|
+
|
|
153
|
+
// EUI doesn't use this css variable, but it is useful for consumers
|
|
154
|
+
setGlobalCSSVariables((0, _defineProperty2.default)({}, cssVarName, "".concat(width, "px")));
|
|
146
155
|
return function () {
|
|
147
156
|
document.body.style[paddingSide] = '';
|
|
157
|
+
setGlobalCSSVariables((0, _defineProperty2.default)({}, cssVarName, null));
|
|
148
158
|
};
|
|
149
159
|
}
|
|
150
|
-
}, [isPushed, side, width]);
|
|
160
|
+
}, [isPushed, setGlobalCSSVariables, side, width]);
|
|
151
161
|
|
|
152
162
|
/**
|
|
153
163
|
* This class doesn't actually do anything by EUI, but is nice to add for consumers (JIC)
|
|
@@ -164,11 +174,11 @@ var EuiFlyout = exports.EuiFlyout = /*#__PURE__*/(0, _react.forwardRef)(function
|
|
|
164
174
|
* ESC key closes flyout (always?)
|
|
165
175
|
*/
|
|
166
176
|
var onKeyDown = (0, _react.useCallback)(function (event) {
|
|
167
|
-
if (!isPushed && event.key === _services.keys.ESCAPE) {
|
|
177
|
+
if (!isPushed && event.key === _services.keys.ESCAPE && !isChildFlyoutOpen) {
|
|
168
178
|
event.preventDefault();
|
|
169
179
|
onClose(event);
|
|
170
180
|
}
|
|
171
|
-
}, [onClose, isPushed]);
|
|
181
|
+
}, [onClose, isPushed, isChildFlyoutOpen]);
|
|
172
182
|
|
|
173
183
|
/**
|
|
174
184
|
* Set inline styles
|
|
@@ -197,32 +207,44 @@ var EuiFlyout = exports.EuiFlyout = /*#__PURE__*/(0, _react.forwardRef)(function
|
|
|
197
207
|
var flyoutToggle = (0, _react.useRef)(document.activeElement);
|
|
198
208
|
var _useState7 = (0, _react.useState)([]),
|
|
199
209
|
_useState8 = (0, _slicedToArray2.default)(_useState7, 2),
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
(0, _react.
|
|
210
|
+
focusTrapShards = _useState8[0],
|
|
211
|
+
setFocusTrapShards = _useState8[1];
|
|
212
|
+
var focusTrapSelectors = (0, _react.useMemo)(function () {
|
|
213
|
+
var selectors = [];
|
|
214
|
+
if (includeSelectorInFocusTrap) {
|
|
215
|
+
selectors = Array.isArray(includeSelectorInFocusTrap) ? includeSelectorInFocusTrap : [includeSelectorInFocusTrap];
|
|
216
|
+
}
|
|
203
217
|
if (includeFixedHeadersInFocusTrap) {
|
|
204
|
-
|
|
205
|
-
|
|
218
|
+
selectors.push('.euiHeader[data-fixed-header]');
|
|
219
|
+
}
|
|
220
|
+
return selectors;
|
|
221
|
+
}, [includeSelectorInFocusTrap, includeFixedHeadersInFocusTrap]);
|
|
222
|
+
(0, _react.useEffect)(function () {
|
|
223
|
+
if (focusTrapSelectors.length > 0) {
|
|
224
|
+
var shardsEls = focusTrapSelectors.flatMap(function (selector) {
|
|
225
|
+
return Array.from(document.querySelectorAll(selector));
|
|
226
|
+
});
|
|
227
|
+
setFocusTrapShards(Array.from(shardsEls));
|
|
206
228
|
|
|
207
|
-
// Flyouts that are toggled from
|
|
229
|
+
// Flyouts that are toggled from shards do not have working
|
|
208
230
|
// focus trap autoFocus, so we need to focus the flyout wrapper ourselves
|
|
209
|
-
|
|
210
|
-
if (
|
|
231
|
+
shardsEls.forEach(function (shard) {
|
|
232
|
+
if (shard.contains(flyoutToggle.current)) {
|
|
211
233
|
resizeRef === null || resizeRef === void 0 || resizeRef.focus();
|
|
212
234
|
}
|
|
213
235
|
});
|
|
214
236
|
} else {
|
|
215
|
-
// Clear existing
|
|
216
|
-
|
|
217
|
-
return
|
|
237
|
+
// Clear existing shards if necessary, e.g. switching to `false`
|
|
238
|
+
setFocusTrapShards(function (shards) {
|
|
239
|
+
return shards.length ? [] : shards;
|
|
218
240
|
});
|
|
219
241
|
}
|
|
220
|
-
}, [
|
|
242
|
+
}, [focusTrapSelectors, resizeRef]);
|
|
221
243
|
var focusTrapProps = (0, _react.useMemo)(function () {
|
|
222
244
|
return _objectSpread(_objectSpread({}, _focusTrapProps), {}, {
|
|
223
|
-
shards: [].concat((0, _toConsumableArray2.default)(
|
|
245
|
+
shards: [].concat((0, _toConsumableArray2.default)(focusTrapShards), (0, _toConsumableArray2.default)((_focusTrapProps === null || _focusTrapProps === void 0 ? void 0 : _focusTrapProps.shards) || []))
|
|
224
246
|
});
|
|
225
|
-
}, [_focusTrapProps,
|
|
247
|
+
}, [_focusTrapProps, focusTrapShards]);
|
|
226
248
|
|
|
227
249
|
/*
|
|
228
250
|
* Provide meaningful screen reader instructions/details
|
|
@@ -239,11 +261,11 @@ var EuiFlyout = exports.EuiFlyout = /*#__PURE__*/(0, _react.forwardRef)(function
|
|
|
239
261
|
}) : (0, _react2.jsx)(_i18n.EuiI18n, {
|
|
240
262
|
token: "euiFlyout.screenReaderNonModalDialog",
|
|
241
263
|
default: "You are in a non-modal dialog. To close the dialog, press Escape."
|
|
242
|
-
}), ' ',
|
|
243
|
-
token: "euiFlyout.
|
|
244
|
-
default: "You can still continue tabbing through
|
|
264
|
+
}), ' ', focusTrapShards.length > 0 && (0, _react2.jsx)(_i18n.EuiI18n, {
|
|
265
|
+
token: "euiFlyout.screenReaderFocusTrapShards",
|
|
266
|
+
default: "You can still continue tabbing through other global page landmarks."
|
|
245
267
|
})));
|
|
246
|
-
}, [hasOverlayMask, descriptionId,
|
|
268
|
+
}, [hasOverlayMask, descriptionId, focusTrapShards.length]);
|
|
247
269
|
|
|
248
270
|
/*
|
|
249
271
|
* Trap focus even when `ownFocus={false}`, otherwise closing
|
|
@@ -301,14 +323,7 @@ var EuiFlyout = exports.EuiFlyout = /*#__PURE__*/(0, _react.forwardRef)(function
|
|
|
301
323
|
disabled: isPushed || ownFocus && isChildFlyoutOpen,
|
|
302
324
|
scrollLock: hasOverlayMask,
|
|
303
325
|
clickOutsideDisables: !ownFocus,
|
|
304
|
-
onClickOutside: onClickOutside
|
|
305
|
-
returnFocus: function returnFocus() {
|
|
306
|
-
if (!isChildFlyoutOpen && flyoutToggle.current) {
|
|
307
|
-
flyoutToggle.current.focus();
|
|
308
|
-
return false; // We've handled focus
|
|
309
|
-
}
|
|
310
|
-
return true;
|
|
311
|
-
}
|
|
326
|
+
onClickOutside: onClickOutside
|
|
312
327
|
}, focusTrapProps), (0, _react2.jsx)(Element, (0, _extends2.default)({
|
|
313
328
|
className: classes,
|
|
314
329
|
css: cssStyles,
|
|
@@ -335,11 +350,11 @@ EuiFlyout.displayName = 'EuiFlyout';
|
|
|
335
350
|
* - Otherwise still wrap within an EuiPortal so it appends to the bottom of the window.
|
|
336
351
|
* Push flyouts have no overlay OR portal behavior.
|
|
337
352
|
*/
|
|
338
|
-
var EuiFlyoutWrapper = function EuiFlyoutWrapper(
|
|
339
|
-
var children =
|
|
340
|
-
hasOverlayMask =
|
|
341
|
-
maskProps =
|
|
342
|
-
isPortalled =
|
|
353
|
+
var EuiFlyoutWrapper = function EuiFlyoutWrapper(_ref) {
|
|
354
|
+
var children = _ref.children,
|
|
355
|
+
hasOverlayMask = _ref.hasOverlayMask,
|
|
356
|
+
maskProps = _ref.maskProps,
|
|
357
|
+
isPortalled = _ref.isPortalled;
|
|
343
358
|
if (hasOverlayMask) {
|
|
344
359
|
return (0, _react2.jsx)(_overlay_mask.EuiOverlayMask, (0, _extends2.default)({
|
|
345
360
|
headerZindexLocation: "below"
|
|
@@ -52,7 +52,8 @@ var EuiFlyoutChild = exports.EuiFlyoutChild = function EuiFlyoutChild(_ref) {
|
|
|
52
52
|
if (!flyoutContext) {
|
|
53
53
|
throw new Error('EuiFlyoutChild must be used as a child of EuiFlyout.');
|
|
54
54
|
}
|
|
55
|
-
var
|
|
55
|
+
var isChildFlyoutOpen = flyoutContext.isChildFlyoutOpen,
|
|
56
|
+
setIsChildFlyoutOpen = flyoutContext.setIsChildFlyoutOpen,
|
|
56
57
|
parentSize = flyoutContext.parentSize;
|
|
57
58
|
(0, _react.useEffect)(function () {
|
|
58
59
|
setIsChildFlyoutOpen === null || setIsChildFlyoutOpen === void 0 || setIsChildFlyoutOpen(true);
|
|
@@ -131,6 +132,13 @@ var EuiFlyoutChild = exports.EuiFlyoutChild = function EuiFlyoutChild(_ref) {
|
|
|
131
132
|
var childLayoutMode = flyoutContext.childLayoutMode,
|
|
132
133
|
parentFlyoutRef = flyoutContext.parentFlyoutRef;
|
|
133
134
|
var flyoutChildCss = [styles.euiFlyoutChild, backgroundStyle === 'shaded' ? styles.backgroundShaded : styles.backgroundDefault, size === 's' ? styles.s : styles.m, childLayoutMode === 'side-by-side' ? styles.sidePosition : styles.stackedPosition];
|
|
135
|
+
var onKeyDown = (0, _react.useCallback)(function (event) {
|
|
136
|
+
if (isChildFlyoutOpen && event.key === _services.keys.ESCAPE) {
|
|
137
|
+
event.preventDefault();
|
|
138
|
+
setIsChildFlyoutOpen === null || setIsChildFlyoutOpen === void 0 || setIsChildFlyoutOpen(false);
|
|
139
|
+
onClose(event.nativeEvent);
|
|
140
|
+
}
|
|
141
|
+
}, [isChildFlyoutOpen, onClose, setIsChildFlyoutOpen]);
|
|
134
142
|
return (0, _react2.jsx)(_focus_trap.EuiFocusTrap, {
|
|
135
143
|
returnFocus: function returnFocus() {
|
|
136
144
|
if (parentFlyoutRef !== null && parentFlyoutRef !== void 0 && parentFlyoutRef.current) {
|
|
@@ -151,7 +159,8 @@ var EuiFlyoutChild = exports.EuiFlyoutChild = function EuiFlyoutChild(_ref) {
|
|
|
151
159
|
"aria-label": ariaLabel,
|
|
152
160
|
"aria-labelledby": ariaLabelledBy,
|
|
153
161
|
"aria-describedby": ariaDescribedBy,
|
|
154
|
-
tabIndex: -1
|
|
162
|
+
tabIndex: -1,
|
|
163
|
+
onKeyDown: onKeyDown // used as generic container event handler
|
|
155
164
|
}, rest), flyoutTitleText && !ariaLabelledBy && (0, _react2.jsx)("h2", {
|
|
156
165
|
id: titleIdGenerated,
|
|
157
166
|
className: "euiScreenReaderOnly"
|
|
@@ -57,8 +57,10 @@ var EuiFlyoutChildProvider = exports.EuiFlyoutChildProvider = function EuiFlyout
|
|
|
57
57
|
window.addEventListener('resize', handleResize);
|
|
58
58
|
handleResize();
|
|
59
59
|
return function () {
|
|
60
|
-
|
|
60
|
+
window.removeEventListener('resize', handleResize);
|
|
61
|
+
reportIsChildOpen === null || reportIsChildOpen === void 0 || reportIsChildOpen(false);
|
|
61
62
|
};
|
|
63
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
62
64
|
}, []);
|
|
63
65
|
|
|
64
66
|
// Calculate stacking breakpoint value for child flyout.
|
|
@@ -58,7 +58,7 @@ var EuiFlyoutSessionProvider = exports.EuiFlyoutSessionProvider = function EuiFl
|
|
|
58
58
|
var activeFlyoutGroup = state.activeFlyoutGroup;
|
|
59
59
|
var handleClose = function handleClose() {
|
|
60
60
|
dispatch({
|
|
61
|
-
type: '
|
|
61
|
+
type: 'CLOSE_SESSION'
|
|
62
62
|
});
|
|
63
63
|
};
|
|
64
64
|
var handleCloseChild = function handleCloseChild() {
|
|
@@ -91,10 +91,10 @@ var EuiFlyoutSessionProvider = exports.EuiFlyoutSessionProvider = function EuiFl
|
|
|
91
91
|
}
|
|
92
92
|
}, children, (activeFlyoutGroup === null || activeFlyoutGroup === void 0 ? void 0 : activeFlyoutGroup.isMainOpen) && (0, _react2.jsx)(_index.EuiFlyout, (0, _extends2.default)({
|
|
93
93
|
onClose: handleClose,
|
|
94
|
-
size:
|
|
94
|
+
size: config === null || config === void 0 ? void 0 : config.mainSize,
|
|
95
95
|
ownFocus: !activeFlyoutGroup.isChildOpen
|
|
96
96
|
}, flyoutPropsMain), mainFlyoutContentNode, activeFlyoutGroup.isChildOpen && childFlyoutContentNode && (0, _react2.jsx)(_index.EuiFlyoutChild, (0, _extends2.default)({
|
|
97
97
|
onClose: handleCloseChild,
|
|
98
|
-
size:
|
|
98
|
+
size: config === null || config === void 0 ? void 0 : config.childSize
|
|
99
99
|
}, flyoutPropsChild), childFlyoutContentNode)));
|
|
100
100
|
};
|
|
@@ -62,10 +62,10 @@ function flyoutReducer(state, action) {
|
|
|
62
62
|
switch (action.type) {
|
|
63
63
|
case 'OPEN_MAIN_FLYOUT':
|
|
64
64
|
{
|
|
65
|
-
var _state$activeFlyoutGr, _state$activeFlyoutGr2;
|
|
66
65
|
var _action$payload = action.payload,
|
|
67
66
|
size = _action$payload.size,
|
|
68
|
-
flyoutProps = _action$payload.flyoutProps
|
|
67
|
+
flyoutProps = _action$payload.flyoutProps,
|
|
68
|
+
meta = _action$payload.meta;
|
|
69
69
|
var newHistory = (0, _toConsumableArray2.default)(state.history);
|
|
70
70
|
if (state.activeFlyoutGroup) {
|
|
71
71
|
newHistory.push(state.activeFlyoutGroup);
|
|
@@ -75,11 +75,9 @@ function flyoutReducer(state, action) {
|
|
|
75
75
|
isChildOpen: false,
|
|
76
76
|
config: {
|
|
77
77
|
mainSize: size,
|
|
78
|
-
|
|
79
|
-
mainFlyoutProps: flyoutProps,
|
|
80
|
-
childFlyoutProps: {}
|
|
78
|
+
mainFlyoutProps: flyoutProps
|
|
81
79
|
},
|
|
82
|
-
meta:
|
|
80
|
+
meta: meta
|
|
83
81
|
};
|
|
84
82
|
return {
|
|
85
83
|
activeFlyoutGroup: applySizeConstraints(newActiveGroup),
|
|
@@ -94,14 +92,15 @@ function flyoutReducer(state, action) {
|
|
|
94
92
|
}
|
|
95
93
|
var _action$payload2 = action.payload,
|
|
96
94
|
_size = _action$payload2.size,
|
|
97
|
-
_flyoutProps = _action$payload2.flyoutProps
|
|
95
|
+
_flyoutProps = _action$payload2.flyoutProps,
|
|
96
|
+
_meta = _action$payload2.meta;
|
|
98
97
|
var updatedActiveGroup = _objectSpread(_objectSpread({}, state.activeFlyoutGroup), {}, {
|
|
99
98
|
isChildOpen: true,
|
|
100
99
|
config: _objectSpread(_objectSpread({}, state.activeFlyoutGroup.config), {}, {
|
|
101
100
|
childSize: _size,
|
|
102
101
|
childFlyoutProps: _flyoutProps
|
|
103
102
|
}),
|
|
104
|
-
meta:
|
|
103
|
+
meta: _meta
|
|
105
104
|
});
|
|
106
105
|
return {
|
|
107
106
|
history: state.history,
|
|
@@ -113,7 +112,7 @@ function flyoutReducer(state, action) {
|
|
|
113
112
|
var _action$payload3 = action.payload,
|
|
114
113
|
main = _action$payload3.main,
|
|
115
114
|
child = _action$payload3.child,
|
|
116
|
-
|
|
115
|
+
_meta2 = _action$payload3.meta;
|
|
117
116
|
var _newHistory = (0, _toConsumableArray2.default)(state.history);
|
|
118
117
|
if (state.activeFlyoutGroup) {
|
|
119
118
|
_newHistory.push(state.activeFlyoutGroup);
|
|
@@ -129,7 +128,7 @@ function flyoutReducer(state, action) {
|
|
|
129
128
|
mainFlyoutProps: main.flyoutProps,
|
|
130
129
|
childFlyoutProps: child.flyoutProps
|
|
131
130
|
},
|
|
132
|
-
meta:
|
|
131
|
+
meta: _meta2
|
|
133
132
|
};
|
|
134
133
|
return {
|
|
135
134
|
activeFlyoutGroup: applySizeConstraints(_newActiveGroup),
|
|
@@ -184,8 +183,8 @@ function flyoutReducer(state, action) {
|
|
|
184
183
|
activeFlyoutGroup: finalUpdatedActiveGroup
|
|
185
184
|
});
|
|
186
185
|
}
|
|
187
|
-
case '
|
|
188
|
-
//
|
|
186
|
+
case 'CLOSE_SESSION':
|
|
187
|
+
// Remove the active group and close the session
|
|
189
188
|
return {
|
|
190
189
|
activeFlyoutGroup: null,
|
|
191
190
|
history: []
|
|
@@ -14,18 +14,6 @@ var _flyout_provider = require("./flyout_provider");
|
|
|
14
14
|
* Side Public License, v 1.
|
|
15
15
|
*/
|
|
16
16
|
|
|
17
|
-
/**
|
|
18
|
-
* Options that control a main flyout in a session
|
|
19
|
-
*/
|
|
20
|
-
|
|
21
|
-
/**
|
|
22
|
-
* Options that control a child flyout in a session
|
|
23
|
-
*/
|
|
24
|
-
|
|
25
|
-
/**
|
|
26
|
-
* Options for opening both a main flyout and child flyout simultaneously
|
|
27
|
-
*/
|
|
28
|
-
|
|
29
17
|
/**
|
|
30
18
|
* Hook for accessing the flyout API
|
|
31
19
|
* @public
|
|
@@ -65,17 +53,7 @@ function useEuiFlyoutSession() {
|
|
|
65
53
|
var openFlyoutGroup = function openFlyoutGroup(options) {
|
|
66
54
|
dispatch({
|
|
67
55
|
type: 'OPEN_FLYOUT_GROUP',
|
|
68
|
-
payload:
|
|
69
|
-
main: {
|
|
70
|
-
size: options.main.size,
|
|
71
|
-
flyoutProps: options.main.flyoutProps
|
|
72
|
-
},
|
|
73
|
-
child: {
|
|
74
|
-
size: options.child.size,
|
|
75
|
-
flyoutProps: options.child.flyoutProps
|
|
76
|
-
},
|
|
77
|
-
meta: options.meta
|
|
78
|
-
}
|
|
56
|
+
payload: options
|
|
79
57
|
});
|
|
80
58
|
};
|
|
81
59
|
var closeChildFlyout = function closeChildFlyout() {
|
|
@@ -88,9 +66,9 @@ function useEuiFlyoutSession() {
|
|
|
88
66
|
type: 'GO_BACK'
|
|
89
67
|
});
|
|
90
68
|
};
|
|
91
|
-
var
|
|
69
|
+
var closeSession = function closeSession() {
|
|
92
70
|
dispatch({
|
|
93
|
-
type: '
|
|
71
|
+
type: 'CLOSE_SESSION'
|
|
94
72
|
});
|
|
95
73
|
};
|
|
96
74
|
var isFlyoutOpen = !!((_state$activeFlyoutGr = state.activeFlyoutGroup) !== null && _state$activeFlyoutGr !== void 0 && _state$activeFlyoutGr.isMainOpen);
|
|
@@ -102,7 +80,7 @@ function useEuiFlyoutSession() {
|
|
|
102
80
|
openFlyoutGroup: openFlyoutGroup,
|
|
103
81
|
closeChildFlyout: closeChildFlyout,
|
|
104
82
|
goBack: goBack,
|
|
105
|
-
|
|
83
|
+
closeSession: closeSession,
|
|
106
84
|
isFlyoutOpen: isFlyoutOpen,
|
|
107
85
|
isChildFlyoutOpen: isChildFlyoutOpen,
|
|
108
86
|
canGoBack: canGoBack
|
|
@@ -5,6 +5,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.euiRangeInputStyles = void 0;
|
|
7
7
|
var _react = require("@emotion/react");
|
|
8
|
+
var _services = require("../../../services");
|
|
8
9
|
/*
|
|
9
10
|
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
|
|
10
11
|
* or more contributor license agreements. Licensed under the Elastic License
|
|
@@ -13,9 +14,10 @@ var _react = require("@emotion/react");
|
|
|
13
14
|
* Side Public License, v 1.
|
|
14
15
|
*/
|
|
15
16
|
|
|
16
|
-
var euiRangeInputStyles = exports.euiRangeInputStyles = function euiRangeInputStyles(
|
|
17
|
-
var euiTheme =
|
|
17
|
+
var euiRangeInputStyles = exports.euiRangeInputStyles = function euiRangeInputStyles(euiThemeContext) {
|
|
18
|
+
var euiTheme = euiThemeContext.euiTheme;
|
|
19
|
+
var isRefreshVariant = (0, _services.isEuiThemeRefreshVariant)(euiThemeContext, 'formVariant');
|
|
18
20
|
return {
|
|
19
|
-
euiRangeInput: /*#__PURE__*/(0, _react.css)("inline-size:auto;min-inline-size:", euiTheme.base * 4, "px;.euiRange__popover &,.euiDualRange__popover &{inline-size:100%;};label:euiRangeInput;")
|
|
21
|
+
euiRangeInput: /*#__PURE__*/(0, _react.css)("inline-size:auto;min-inline-size:", euiTheme.base * (isRefreshVariant ? 3.5 : 4), "px;.euiRange__popover &,.euiDualRange__popover &{inline-size:100%;};label:euiRangeInput;")
|
|
20
22
|
};
|
|
21
23
|
};
|
|
@@ -228,6 +228,7 @@ var EuiTreeViewClass = exports.EuiTreeViewClass = /*#__PURE__*/function (_Compon
|
|
|
228
228
|
key: buttonId + index,
|
|
229
229
|
id: buttonId,
|
|
230
230
|
className: node.className,
|
|
231
|
+
css: node.css,
|
|
231
232
|
buttonRef: function buttonRef(ref) {
|
|
232
233
|
return _this2.setButtonRef(ref, index);
|
|
233
234
|
},
|
|
@@ -182,7 +182,13 @@ var EuiThemeProvider = exports.EuiThemeProvider = function EuiThemeProvider(_ref
|
|
|
182
182
|
_setThemeCSSVariables = _useState10[1];
|
|
183
183
|
var setThemeCSSVariables = (0, _react2.useCallback)(function (variables) {
|
|
184
184
|
return _setThemeCSSVariables(function (previous) {
|
|
185
|
-
|
|
185
|
+
var merged = _objectSpread(_objectSpread({}, previous), variables);
|
|
186
|
+
Object.keys(merged).forEach(function (key) {
|
|
187
|
+
if (merged[key] === null) {
|
|
188
|
+
delete merged[key];
|
|
189
|
+
}
|
|
190
|
+
});
|
|
191
|
+
return merged;
|
|
186
192
|
});
|
|
187
193
|
}, []);
|
|
188
194
|
var nestedThemeContext = (0, _react2.useMemo)(function () {
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@elastic/eui",
|
|
3
3
|
"description": "Elastic UI Component Library",
|
|
4
|
-
"version": "106.
|
|
4
|
+
"version": "106.1.0",
|
|
5
5
|
"license": "SEE LICENSE IN LICENSE.txt",
|
|
6
6
|
"main": "lib",
|
|
7
7
|
"module": "es",
|
|
@@ -49,10 +49,11 @@
|
|
|
49
49
|
},
|
|
50
50
|
"repository": {
|
|
51
51
|
"type": "git",
|
|
52
|
-
"url": "https://github.com/elastic/eui.git"
|
|
52
|
+
"url": "https://github.com/elastic/eui.git",
|
|
53
|
+
"directory": "packages/eui"
|
|
53
54
|
},
|
|
54
55
|
"dependencies": {
|
|
55
|
-
"@elastic/eui-theme-common": "3.
|
|
56
|
+
"@elastic/eui-theme-common": "3.1.0",
|
|
56
57
|
"@elastic/prismjs-esql": "^1.1.0",
|
|
57
58
|
"@hello-pangea/dnd": "^16.6.0",
|
|
58
59
|
"@types/lodash": "^4.14.202",
|
|
@@ -133,7 +134,7 @@
|
|
|
133
134
|
"@svgr/plugin-svgo": "^8.0.1",
|
|
134
135
|
"@testing-library/jest-dom": "^5.16.3",
|
|
135
136
|
"@testing-library/react": "^14.0.0",
|
|
136
|
-
"@testing-library/react-
|
|
137
|
+
"@testing-library/react-17": "npm:@testing-library/react@^12.1.5",
|
|
137
138
|
"@testing-library/react-hooks": "^7.0.2",
|
|
138
139
|
"@testing-library/user-event": "^13.5.0",
|
|
139
140
|
"@types/cheerio": "^0.22.31",
|
|
@@ -181,7 +182,6 @@
|
|
|
181
182
|
"dedent": "^0.7.0",
|
|
182
183
|
"dts-generator": "^3.0.0",
|
|
183
184
|
"enzyme": "^3.11.0",
|
|
184
|
-
"enzyme-adapter-react-16": "^1.15.7",
|
|
185
185
|
"enzyme-to-json": "^3.5.0",
|
|
186
186
|
"eslint": "^8.41.0",
|
|
187
187
|
"eslint-config-prettier": "^8.8.0",
|
|
@@ -222,11 +222,9 @@
|
|
|
222
222
|
"process": "^0.11.10",
|
|
223
223
|
"raw-loader": "^4.0.1",
|
|
224
224
|
"react": "^18.2.0",
|
|
225
|
-
"react-16": "npm:react@^16.14.0",
|
|
226
225
|
"react-17": "npm:react@^17.0.2",
|
|
227
226
|
"react-docgen-typescript": "^2.2.2",
|
|
228
227
|
"react-dom": "^18.2.0",
|
|
229
|
-
"react-dom-16": "npm:react-dom@^16.14.0",
|
|
230
228
|
"react-dom-17": "npm:react-dom@^17.0.2",
|
|
231
229
|
"react-helmet": "^6.1.0",
|
|
232
230
|
"react-redux": "^7.2.1",
|
|
@@ -262,11 +260,11 @@
|
|
|
262
260
|
"@elastic/eui-theme-borealis": "3.3.0",
|
|
263
261
|
"@emotion/css": "11.x",
|
|
264
262
|
"@emotion/react": "11.x",
|
|
265
|
-
"@types/react": "^
|
|
266
|
-
"@types/react-dom": "^
|
|
263
|
+
"@types/react": "^17.0 || ^18.0",
|
|
264
|
+
"@types/react-dom": "^17.0 || ^18.0",
|
|
267
265
|
"moment": "^2.13.0",
|
|
268
|
-
"react": "^
|
|
269
|
-
"react-dom": "^
|
|
266
|
+
"react": "^17.0 || ^18.0",
|
|
267
|
+
"react-dom": "^17.0 || ^18.0",
|
|
270
268
|
"typescript": "~4.5.3 || ^5"
|
|
271
269
|
},
|
|
272
270
|
"files": [
|
|
@@ -217,6 +217,10 @@ EuiCollapsibleNav.propTypes = {
|
|
|
217
217
|
* Set this to `false` if you need to disable this behavior for a specific reason.
|
|
218
218
|
*/
|
|
219
219
|
includeFixedHeadersInFocusTrap: _propTypes.default.bool,
|
|
220
|
+
/**
|
|
221
|
+
* Specify additional css selectors to include in the focus trap.
|
|
222
|
+
*/
|
|
223
|
+
includeSelectorInFocusTrap: _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.string.isRequired).isRequired, _propTypes.default.string.isRequired]),
|
|
220
224
|
/**
|
|
221
225
|
* ReactNode to render as this component's content
|
|
222
226
|
*/
|
|
@@ -53,7 +53,8 @@ var EuiFlyoutChild = exports.EuiFlyoutChild = function EuiFlyoutChild(_ref) {
|
|
|
53
53
|
if (!flyoutContext) {
|
|
54
54
|
throw new Error('EuiFlyoutChild must be used as a child of EuiFlyout.');
|
|
55
55
|
}
|
|
56
|
-
var
|
|
56
|
+
var isChildFlyoutOpen = flyoutContext.isChildFlyoutOpen,
|
|
57
|
+
setIsChildFlyoutOpen = flyoutContext.setIsChildFlyoutOpen,
|
|
57
58
|
parentSize = flyoutContext.parentSize;
|
|
58
59
|
(0, _react.useEffect)(function () {
|
|
59
60
|
setIsChildFlyoutOpen === null || setIsChildFlyoutOpen === void 0 || setIsChildFlyoutOpen(true);
|
|
@@ -132,6 +133,13 @@ var EuiFlyoutChild = exports.EuiFlyoutChild = function EuiFlyoutChild(_ref) {
|
|
|
132
133
|
var childLayoutMode = flyoutContext.childLayoutMode,
|
|
133
134
|
parentFlyoutRef = flyoutContext.parentFlyoutRef;
|
|
134
135
|
var flyoutChildCss = [styles.euiFlyoutChild, backgroundStyle === 'shaded' ? styles.backgroundShaded : styles.backgroundDefault, size === 's' ? styles.s : styles.m, childLayoutMode === 'side-by-side' ? styles.sidePosition : styles.stackedPosition];
|
|
136
|
+
var onKeyDown = (0, _react.useCallback)(function (event) {
|
|
137
|
+
if (isChildFlyoutOpen && event.key === _services.keys.ESCAPE) {
|
|
138
|
+
event.preventDefault();
|
|
139
|
+
setIsChildFlyoutOpen === null || setIsChildFlyoutOpen === void 0 || setIsChildFlyoutOpen(false);
|
|
140
|
+
onClose(event.nativeEvent);
|
|
141
|
+
}
|
|
142
|
+
}, [isChildFlyoutOpen, onClose, setIsChildFlyoutOpen]);
|
|
135
143
|
return (0, _react2.jsx)(_focus_trap.EuiFocusTrap, {
|
|
136
144
|
returnFocus: function returnFocus() {
|
|
137
145
|
if (parentFlyoutRef !== null && parentFlyoutRef !== void 0 && parentFlyoutRef.current) {
|
|
@@ -152,7 +160,8 @@ var EuiFlyoutChild = exports.EuiFlyoutChild = function EuiFlyoutChild(_ref) {
|
|
|
152
160
|
"aria-label": ariaLabel,
|
|
153
161
|
"aria-labelledby": ariaLabelledBy,
|
|
154
162
|
"aria-describedby": ariaDescribedBy,
|
|
155
|
-
tabIndex: -1
|
|
163
|
+
tabIndex: -1,
|
|
164
|
+
onKeyDown: onKeyDown // used as generic container event handler
|
|
156
165
|
}, rest), flyoutTitleText && !ariaLabelledBy && (0, _react2.jsx)("h2", {
|
|
157
166
|
id: titleIdGenerated,
|
|
158
167
|
className: "euiScreenReaderOnly"
|
|
@@ -58,8 +58,10 @@ var EuiFlyoutChildProvider = exports.EuiFlyoutChildProvider = function EuiFlyout
|
|
|
58
58
|
window.addEventListener('resize', handleResize);
|
|
59
59
|
handleResize();
|
|
60
60
|
return function () {
|
|
61
|
-
|
|
61
|
+
window.removeEventListener('resize', handleResize);
|
|
62
|
+
reportIsChildOpen === null || reportIsChildOpen === void 0 || reportIsChildOpen(false);
|
|
62
63
|
};
|
|
64
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
63
65
|
}, []);
|
|
64
66
|
|
|
65
67
|
// Calculate stacking breakpoint value for child flyout.
|
|
@@ -58,7 +58,7 @@ var EuiFlyoutSessionProvider = exports.EuiFlyoutSessionProvider = function EuiFl
|
|
|
58
58
|
var activeFlyoutGroup = state.activeFlyoutGroup;
|
|
59
59
|
var handleClose = function handleClose() {
|
|
60
60
|
dispatch({
|
|
61
|
-
type: '
|
|
61
|
+
type: 'CLOSE_SESSION'
|
|
62
62
|
});
|
|
63
63
|
};
|
|
64
64
|
var handleCloseChild = function handleCloseChild() {
|
|
@@ -91,10 +91,10 @@ var EuiFlyoutSessionProvider = exports.EuiFlyoutSessionProvider = function EuiFl
|
|
|
91
91
|
}
|
|
92
92
|
}, children, (activeFlyoutGroup === null || activeFlyoutGroup === void 0 ? void 0 : activeFlyoutGroup.isMainOpen) && (0, _react2.jsx)(_index.EuiFlyout, (0, _extends2.default)({
|
|
93
93
|
onClose: handleClose,
|
|
94
|
-
size:
|
|
94
|
+
size: config === null || config === void 0 ? void 0 : config.mainSize,
|
|
95
95
|
ownFocus: !activeFlyoutGroup.isChildOpen
|
|
96
96
|
}, flyoutPropsMain), mainFlyoutContentNode, activeFlyoutGroup.isChildOpen && childFlyoutContentNode && (0, _react2.jsx)(_index.EuiFlyoutChild, (0, _extends2.default)({
|
|
97
97
|
onClose: handleCloseChild,
|
|
98
|
-
size:
|
|
98
|
+
size: config === null || config === void 0 ? void 0 : config.childSize
|
|
99
99
|
}, flyoutPropsChild), childFlyoutContentNode)));
|
|
100
100
|
};
|