@elastic/eui 116.0.0 → 116.1.0-snapshot.1779110362015
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/accordion/accordion.js +95 -134
- package/es/components/basic_table/basic_table.js +6 -0
- package/es/components/basic_table/in_memory_table.js +6 -0
- package/es/components/color_picker/color_picker_swatch.js +4 -0
- package/es/components/context_menu/context_menu_panel.js +2 -2
- package/es/components/copy/copy.js +36 -13
- package/es/components/datagrid/body/cell/data_grid_cell_popover.js +10 -7
- package/es/components/datagrid/data_grid.styles.js +6 -5
- package/es/components/focus_trap/focus_trap.js +110 -177
- package/es/components/observer/mutation_observer/mutation_observer.js +32 -35
- package/es/components/observer/resize_observer/resize_observer.js +46 -60
- package/es/components/observer/use_observer.js +62 -0
- package/es/components/table/table_header_cell.js +4 -0
- package/es/components/tool_tip/icon_tip.js +4 -0
- package/es/components/tool_tip/tool_tip.js +8 -2
- package/eui.d.ts +26 -69
- package/lib/components/accordion/accordion.js +102 -139
- package/lib/components/basic_table/basic_table.js +6 -0
- package/lib/components/basic_table/in_memory_table.js +6 -0
- package/lib/components/color_picker/color_picker_swatch.js +4 -0
- package/lib/components/context_menu/context_menu_panel.js +2 -2
- package/lib/components/copy/copy.js +35 -12
- package/lib/components/datagrid/body/cell/data_grid_cell_popover.js +10 -7
- package/lib/components/datagrid/data_grid.styles.js +6 -5
- package/lib/components/focus_trap/focus_trap.js +117 -183
- package/lib/components/observer/mutation_observer/mutation_observer.js +32 -34
- package/lib/components/observer/resize_observer/resize_observer.js +48 -61
- package/lib/components/observer/use_observer.js +68 -0
- package/lib/components/table/table_header_cell.js +4 -0
- package/lib/components/tool_tip/icon_tip.js +4 -0
- package/lib/components/tool_tip/tool_tip.js +8 -2
- package/optimize/es/components/accordion/accordion.js +88 -126
- package/optimize/es/components/context_menu/context_menu_panel.js +2 -2
- package/optimize/es/components/copy/copy.js +36 -13
- package/optimize/es/components/datagrid/body/cell/data_grid_cell_popover.js +10 -7
- package/optimize/es/components/datagrid/data_grid.styles.js +6 -5
- package/optimize/es/components/focus_trap/focus_trap.js +103 -122
- package/optimize/es/components/observer/mutation_observer/mutation_observer.js +23 -32
- package/optimize/es/components/observer/resize_observer/resize_observer.js +38 -54
- package/optimize/es/components/observer/use_observer.js +62 -0
- package/optimize/es/components/tool_tip/tool_tip.js +4 -2
- package/optimize/lib/components/accordion/accordion.js +90 -127
- package/optimize/lib/components/context_menu/context_menu_panel.js +2 -2
- package/optimize/lib/components/copy/copy.js +35 -12
- package/optimize/lib/components/datagrid/body/cell/data_grid_cell_popover.js +10 -7
- package/optimize/lib/components/datagrid/data_grid.styles.js +6 -5
- package/optimize/lib/components/focus_trap/focus_trap.js +106 -124
- package/optimize/lib/components/observer/mutation_observer/mutation_observer.js +23 -32
- package/optimize/lib/components/observer/resize_observer/resize_observer.js +40 -54
- package/optimize/lib/components/observer/use_observer.js +68 -0
- package/optimize/lib/components/tool_tip/tool_tip.js +4 -2
- package/package.json +4 -3
- package/test-env/components/accordion/accordion.js +92 -129
- package/test-env/components/basic_table/basic_table.js +6 -0
- package/test-env/components/basic_table/in_memory_table.js +6 -0
- package/test-env/components/color_picker/color_picker_swatch.js +4 -0
- package/test-env/components/context_menu/context_menu_panel.js +2 -2
- package/test-env/components/copy/copy.js +35 -12
- package/test-env/components/datagrid/body/cell/data_grid_cell_popover.js +10 -7
- package/test-env/components/datagrid/data_grid.styles.js +6 -5
- package/test-env/components/observer/mutation_observer/mutation_observer.js +32 -32
- package/test-env/components/observer/use_observer.js +68 -0
- package/test-env/components/table/table_header_cell.js +4 -0
- package/test-env/components/tool_tip/icon_tip.js +4 -0
- package/test-env/components/tool_tip/tool_tip.js +8 -2
- package/es/components/observer/observer.js +0 -75
- package/lib/components/observer/observer.js +0 -79
- package/optimize/es/components/observer/observer.js +0 -69
- package/optimize/lib/components/observer/observer.js +0 -74
- package/test-env/components/observer/observer.js +0 -74
|
@@ -5,27 +5,15 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.useResizeObserver = exports.hasResizeObserver = exports.EuiResizeObserver = void 0;
|
|
7
7
|
var _react = require("react");
|
|
8
|
-
var
|
|
9
|
-
|
|
8
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
9
|
+
var _use_observer = require("../use_observer");
|
|
10
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
10
11
|
function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
|
|
11
12
|
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."); }
|
|
12
13
|
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; } }
|
|
13
14
|
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; }
|
|
14
15
|
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; } }
|
|
15
|
-
function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
|
|
16
|
-
function _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }
|
|
17
|
-
function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; }
|
|
18
|
-
function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); }
|
|
19
|
-
function _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }
|
|
20
|
-
function _possibleConstructorReturn(t, e) { if (e && ("object" == _typeof(e) || "function" == typeof e)) return e; if (void 0 !== e) throw new TypeError("Derived constructors may only return object or undefined"); return _assertThisInitialized(t); }
|
|
21
|
-
function _assertThisInitialized(e) { if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); return e; }
|
|
22
|
-
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
|
|
23
|
-
function _getPrototypeOf(t) { return _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (t) { return t.__proto__ || Object.getPrototypeOf(t); }, _getPrototypeOf(t); }
|
|
24
|
-
function _inherits(t, e) { if ("function" != typeof e && null !== e) throw new TypeError("Super expression must either be null or a function"); t.prototype = Object.create(e && e.prototype, { constructor: { value: t, writable: !0, configurable: !0 } }), Object.defineProperty(t, "prototype", { writable: !1 }), e && _setPrototypeOf(t, e); }
|
|
25
|
-
function _setPrototypeOf(t, e) { return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) { return t.__proto__ = e, t; }, _setPrototypeOf(t, e); }
|
|
26
|
-
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; }
|
|
27
|
-
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
|
|
28
|
-
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); } /*
|
|
16
|
+
function _arrayWithHoles(r) { if (Array.isArray(r)) return r; } /*
|
|
29
17
|
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
|
|
30
18
|
* or more contributor license agreements. Licensed under the Elastic License
|
|
31
19
|
* 2.0 and the Server Side Public License, v 1; you may not use this file except
|
|
@@ -33,50 +21,49 @@ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e
|
|
|
33
21
|
* Side Public License, v 1.
|
|
34
22
|
*/
|
|
35
23
|
var hasResizeObserver = exports.hasResizeObserver = typeof window !== 'undefined' && typeof window.ResizeObserver !== 'undefined';
|
|
36
|
-
var EuiResizeObserver = exports.EuiResizeObserver =
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
entry = _ref2[0];
|
|
52
|
-
var _entry$borderBoxSize$ = entry.borderBoxSize[0],
|
|
53
|
-
width = _entry$borderBoxSize$.inlineSize,
|
|
54
|
-
height = _entry$borderBoxSize$.blockSize;
|
|
24
|
+
var EuiResizeObserver = exports.EuiResizeObserver = function EuiResizeObserver(_ref) {
|
|
25
|
+
var children = _ref.children,
|
|
26
|
+
onResize = _ref.onResize;
|
|
27
|
+
var onResizeRef = (0, _react.useRef)(onResize);
|
|
28
|
+
onResizeRef.current = onResize;
|
|
29
|
+
var sizeRef = (0, _react.useRef)({
|
|
30
|
+
height: 0,
|
|
31
|
+
width: 0
|
|
32
|
+
});
|
|
33
|
+
var resizeCallback = (0, _react.useCallback)(function (_ref2) {
|
|
34
|
+
var _ref3 = _slicedToArray(_ref2, 1),
|
|
35
|
+
entry = _ref3[0];
|
|
36
|
+
var _entry$borderBoxSize$ = entry.borderBoxSize[0],
|
|
37
|
+
width = _entry$borderBoxSize$.inlineSize,
|
|
38
|
+
height = _entry$borderBoxSize$.blockSize;
|
|
55
39
|
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
});
|
|
68
|
-
});
|
|
69
|
-
_defineProperty(_this, "beginObserve", function () {
|
|
70
|
-
// The superclass checks that childNode is not null before invoking
|
|
71
|
-
// beginObserve()
|
|
72
|
-
var childNode = _this.childNode;
|
|
73
|
-
_this.observer = makeResizeObserver(childNode, _this.onResize);
|
|
40
|
+
// Check for actual resize event
|
|
41
|
+
if (sizeRef.current.height === height && sizeRef.current.width === width) {
|
|
42
|
+
return;
|
|
43
|
+
}
|
|
44
|
+
sizeRef.current = {
|
|
45
|
+
height: height,
|
|
46
|
+
width: width
|
|
47
|
+
};
|
|
48
|
+
onResizeRef.current({
|
|
49
|
+
height: height,
|
|
50
|
+
width: width
|
|
74
51
|
});
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
52
|
+
}, []);
|
|
53
|
+
var beginObserve = (0, _react.useCallback)(function (node) {
|
|
54
|
+
return makeResizeObserver(node, resizeCallback);
|
|
55
|
+
}, [resizeCallback]);
|
|
56
|
+
var updateChildNode = (0, _use_observer.useObserver)(beginObserve, 'EuiResizeObserver');
|
|
57
|
+
return children(updateChildNode);
|
|
58
|
+
};
|
|
59
|
+
EuiResizeObserver.propTypes = {
|
|
60
|
+
/**
|
|
61
|
+
* ReactNode to render as this component's content
|
|
62
|
+
*/
|
|
63
|
+
children: _propTypes.default.func.isRequired,
|
|
64
|
+
onResize: _propTypes.default.func.isRequired
|
|
65
|
+
};
|
|
66
|
+
EuiResizeObserver.displayName = 'EuiResizeObserver';
|
|
80
67
|
var makeResizeObserver = function makeResizeObserver(node, callback) {
|
|
81
68
|
var observer;
|
|
82
69
|
if (hasResizeObserver) {
|
|
@@ -107,9 +94,9 @@ var useResizeObserver = exports.useResizeObserver = function useResizeObserver(c
|
|
|
107
94
|
}, [dimension]);
|
|
108
95
|
(0, _react.useEffect)(function () {
|
|
109
96
|
if (container != null) {
|
|
110
|
-
var observer = makeResizeObserver(container, function (
|
|
111
|
-
var
|
|
112
|
-
entry =
|
|
97
|
+
var observer = makeResizeObserver(container, function (_ref4) {
|
|
98
|
+
var _ref5 = _slicedToArray(_ref4, 1),
|
|
99
|
+
entry = _ref5[0];
|
|
113
100
|
var _entry$borderBoxSize$2 = entry.borderBoxSize[0],
|
|
114
101
|
inlineSize = _entry$borderBoxSize$2.inlineSize,
|
|
115
102
|
blockSize = _entry$borderBoxSize$2.blockSize;
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.useObserver = void 0;
|
|
7
|
+
var _react = require("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
|
+
* A shared custom hook that provides a pattern for observing DOM nodes
|
|
18
|
+
* via browser observer APIs. Used by `EuiResizeObserver` and `EuiMutationObserver`.
|
|
19
|
+
*
|
|
20
|
+
* @param beginObserve - A callback that receives the target DOM element and should
|
|
21
|
+
* create and return the observer instance (e.g., `ResizeObserver`).
|
|
22
|
+
* @param componentName - Optional name used in error messages when no ref is
|
|
23
|
+
* attached on mount, mirroring the guard previously in `EuiObserver`.
|
|
24
|
+
*/
|
|
25
|
+
var useObserver = exports.useObserver = function useObserver(beginObserve) {
|
|
26
|
+
var componentName = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'useObserver';
|
|
27
|
+
var childNodeRef = (0, _react.useRef)(null);
|
|
28
|
+
var observerRef = (0, _react.useRef)(null);
|
|
29
|
+
|
|
30
|
+
// Store beginObserve in a ref so the ref callback doesn't cycle
|
|
31
|
+
var beginObserveRef = (0, _react.useRef)(beginObserve);
|
|
32
|
+
beginObserveRef.current = beginObserve;
|
|
33
|
+
|
|
34
|
+
// Store componentName in a ref so the mount-only effect can access the
|
|
35
|
+
// latest value without needing it as a dependency.
|
|
36
|
+
var componentNameRef = (0, _react.useRef)(componentName);
|
|
37
|
+
componentNameRef.current = componentName;
|
|
38
|
+
|
|
39
|
+
// Guard: throw if the ref callback was never called (no element attached),
|
|
40
|
+
// mirroring the check previously in EuiObserver.componentDidMount.
|
|
41
|
+
// Also cleans up the observer on unmount.
|
|
42
|
+
// Empty deps: run only on mount/unmount — componentName is only used for the
|
|
43
|
+
// error message and changing it must not disconnect/re-connect the observer.
|
|
44
|
+
(0, _react.useEffect)(function () {
|
|
45
|
+
if (childNodeRef.current == null) {
|
|
46
|
+
throw new Error("".concat(componentNameRef.current, " did not receive a ref"));
|
|
47
|
+
}
|
|
48
|
+
return function () {
|
|
49
|
+
var _observerRef$current;
|
|
50
|
+
(_observerRef$current = observerRef.current) === null || _observerRef$current === void 0 || _observerRef$current.disconnect();
|
|
51
|
+
};
|
|
52
|
+
}, []);
|
|
53
|
+
var updateChildNode = (0, _react.useCallback)(function (ref) {
|
|
54
|
+
if (childNodeRef.current === ref) return; // node hasn't changed
|
|
55
|
+
|
|
56
|
+
// if there's an existing observer disconnect it
|
|
57
|
+
if (observerRef.current != null) {
|
|
58
|
+
observerRef.current.disconnect();
|
|
59
|
+
observerRef.current = null;
|
|
60
|
+
}
|
|
61
|
+
childNodeRef.current = ref;
|
|
62
|
+
if (childNodeRef.current != null) {
|
|
63
|
+
var _beginObserveRef$curr;
|
|
64
|
+
observerRef.current = (_beginObserveRef$curr = beginObserveRef.current(childNodeRef.current)) !== null && _beginObserveRef$curr !== void 0 ? _beginObserveRef$curr : null;
|
|
65
|
+
}
|
|
66
|
+
}, []);
|
|
67
|
+
return updateChildNode;
|
|
68
|
+
};
|
|
@@ -242,6 +242,10 @@ EuiTableHeaderCell.propTypes = {
|
|
|
242
242
|
* hidden.
|
|
243
243
|
*/
|
|
244
244
|
onMouseOut: _propTypes.default.func,
|
|
245
|
+
/**
|
|
246
|
+
* If supplied, called when the trigger loses focus.
|
|
247
|
+
*/
|
|
248
|
+
onBlur: _propTypes.default.func,
|
|
245
249
|
/**
|
|
246
250
|
* Offset in pixels from the anchor. Defaults to 16.
|
|
247
251
|
*/
|
|
@@ -99,6 +99,10 @@ EuiIconTip.propTypes = {
|
|
|
99
99
|
* hidden.
|
|
100
100
|
*/
|
|
101
101
|
onMouseOut: _propTypes.default.func,
|
|
102
|
+
/**
|
|
103
|
+
* If supplied, called when the trigger loses focus.
|
|
104
|
+
*/
|
|
105
|
+
onBlur: _propTypes.default.func,
|
|
102
106
|
/**
|
|
103
107
|
* Offset in pixels from the anchor. Defaults to 16.
|
|
104
108
|
*/
|
|
@@ -18,7 +18,7 @@ var _tool_tip_anchor = require("./tool_tip_anchor");
|
|
|
18
18
|
var _tool_tip_arrow = require("./tool_tip_arrow");
|
|
19
19
|
var _tool_tip_manager = require("./tool_tip_manager");
|
|
20
20
|
var _react2 = require("@emotion/react");
|
|
21
|
-
var _excluded = ["children", "className", "anchorClassName", "anchorProps", "content", "title", "display", "repositionOnScroll", "disableScreenReaderOutput", "position", "offset", "id", "onMouseOut"];
|
|
21
|
+
var _excluded = ["children", "className", "anchorClassName", "anchorProps", "content", "title", "display", "repositionOnScroll", "disableScreenReaderOutput", "position", "offset", "id", "onMouseOut", "onBlur"];
|
|
22
22
|
/*
|
|
23
23
|
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
|
|
24
24
|
* or more contributor license agreements. Licensed under the Elastic License
|
|
@@ -82,6 +82,7 @@ var EuiToolTip = exports.EuiToolTip = /*#__PURE__*/(0, _react.forwardRef)(functi
|
|
|
82
82
|
offset = _ref.offset,
|
|
83
83
|
idProp = _ref.id,
|
|
84
84
|
onMouseOutProp = _ref.onMouseOut,
|
|
85
|
+
onBlurProp = _ref.onBlur,
|
|
85
86
|
rest = _objectWithoutProperties(_ref, _excluded);
|
|
86
87
|
var componentDefaultsContext = (0, _react.useContext)(_component_defaults.EuiComponentDefaultsContext);
|
|
87
88
|
var _useState = (0, _react.useState)(false),
|
|
@@ -228,7 +229,8 @@ var EuiToolTip = exports.EuiToolTip = /*#__PURE__*/(0, _react.forwardRef)(functi
|
|
|
228
229
|
var onBlur = (0, _react.useCallback)(function () {
|
|
229
230
|
setHasFocus(false);
|
|
230
231
|
hideToolTip();
|
|
231
|
-
|
|
232
|
+
onBlurProp === null || onBlurProp === void 0 || onBlurProp();
|
|
233
|
+
}, [hideToolTip, onBlurProp]);
|
|
232
234
|
var onEscapeKey = (0, _react.useCallback)(function (event) {
|
|
233
235
|
if (event.key === _services.keys.ESCAPE) {
|
|
234
236
|
// when the tooltip is only visual, we don't want it to add an additional key stop
|
|
@@ -350,6 +352,10 @@ EuiToolTip.propTypes = {
|
|
|
350
352
|
* hidden.
|
|
351
353
|
*/
|
|
352
354
|
onMouseOut: _propTypes.default.func,
|
|
355
|
+
/**
|
|
356
|
+
* If supplied, called when the trigger loses focus.
|
|
357
|
+
*/
|
|
358
|
+
onBlur: _propTypes.default.func,
|
|
353
359
|
/**
|
|
354
360
|
* Offset in pixels from the anchor. Defaults to 16.
|
|
355
361
|
*/
|
|
@@ -1,14 +1,7 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/extends";
|
|
2
|
+
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
2
3
|
import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
|
|
3
|
-
|
|
4
|
-
import _createClass from "@babel/runtime/helpers/createClass";
|
|
5
|
-
import _possibleConstructorReturn from "@babel/runtime/helpers/possibleConstructorReturn";
|
|
6
|
-
import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf";
|
|
7
|
-
import _inherits from "@babel/runtime/helpers/inherits";
|
|
8
|
-
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
9
|
-
var _excluded = ["children", "className", "id", "role", "element", "buttonElement", "buttonProps", "buttonClassName", "buttonContentClassName", "buttonContent", "arrowDisplay", "arrowProps", "extraAction", "paddingSize", "borders", "initialIsOpen", "forceState", "isLoading", "isLoadingMessage", "isDisabled", "theme"];
|
|
10
|
-
function _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }
|
|
11
|
-
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
|
|
4
|
+
var _excluded = ["children", "className", "id", "role", "element", "buttonElement", "buttonProps", "buttonClassName", "buttonContentClassName", "buttonContent", "arrowDisplay", "arrowProps", "extraAction", "paddingSize", "borders", "initialIsOpen", "forceState", "isLoading", "isLoadingMessage", "isDisabled", "onToggle"];
|
|
12
5
|
/*
|
|
13
6
|
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
|
|
14
7
|
* or more contributor license agreements. Licensed under the Elastic License
|
|
@@ -17,128 +10,97 @@ function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.
|
|
|
17
10
|
* Side Public License, v 1.
|
|
18
11
|
*/
|
|
19
12
|
|
|
20
|
-
import React, {
|
|
13
|
+
import React, { useState } from 'react';
|
|
21
14
|
import classNames from 'classnames';
|
|
22
|
-
import {
|
|
15
|
+
import { useEuiMemoizedStyles, useGeneratedHtmlId } from '../../services';
|
|
23
16
|
import { EuiLoadingSpinner } from '../loading';
|
|
24
17
|
import { EuiAccordionTrigger } from './accordion_trigger';
|
|
25
18
|
import { EuiAccordionChildren } from './accordion_children';
|
|
26
19
|
import { euiAccordionStyles } from './accordion.styles';
|
|
27
20
|
import { jsx as ___EmotionJSX } from "@emotion/react";
|
|
28
21
|
export var PADDING_SIZES = ['none', 'xs', 's', 'm', 'l', 'xl'];
|
|
29
|
-
export var
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
22
|
+
export var EuiAccordion = function EuiAccordion(_ref) {
|
|
23
|
+
var _buttonProps$id;
|
|
24
|
+
var children = _ref.children,
|
|
25
|
+
className = _ref.className,
|
|
26
|
+
id = _ref.id,
|
|
27
|
+
_ref$role = _ref.role,
|
|
28
|
+
role = _ref$role === void 0 ? 'group' : _ref$role,
|
|
29
|
+
_ref$element = _ref.element,
|
|
30
|
+
Element = _ref$element === void 0 ? 'div' : _ref$element,
|
|
31
|
+
_ref$buttonElement = _ref.buttonElement,
|
|
32
|
+
buttonElement = _ref$buttonElement === void 0 ? 'button' : _ref$buttonElement,
|
|
33
|
+
buttonProps = _ref.buttonProps,
|
|
34
|
+
buttonClassName = _ref.buttonClassName,
|
|
35
|
+
buttonContentClassName = _ref.buttonContentClassName,
|
|
36
|
+
buttonContent = _ref.buttonContent,
|
|
37
|
+
_ref$arrowDisplay = _ref.arrowDisplay,
|
|
38
|
+
arrowDisplay = _ref$arrowDisplay === void 0 ? 'left' : _ref$arrowDisplay,
|
|
39
|
+
arrowProps = _ref.arrowProps,
|
|
40
|
+
extraAction = _ref.extraAction,
|
|
41
|
+
_ref$paddingSize = _ref.paddingSize,
|
|
42
|
+
paddingSize = _ref$paddingSize === void 0 ? 'none' : _ref$paddingSize,
|
|
43
|
+
_ref$borders = _ref.borders,
|
|
44
|
+
borders = _ref$borders === void 0 ? 'none' : _ref$borders,
|
|
45
|
+
_ref$initialIsOpen = _ref.initialIsOpen,
|
|
46
|
+
initialIsOpen = _ref$initialIsOpen === void 0 ? false : _ref$initialIsOpen,
|
|
47
|
+
forceState = _ref.forceState,
|
|
48
|
+
_ref$isLoading = _ref.isLoading,
|
|
49
|
+
isLoading = _ref$isLoading === void 0 ? false : _ref$isLoading,
|
|
50
|
+
_ref$isLoadingMessage = _ref.isLoadingMessage,
|
|
51
|
+
isLoadingMessage = _ref$isLoadingMessage === void 0 ? false : _ref$isLoadingMessage,
|
|
52
|
+
_ref$isDisabled = _ref.isDisabled,
|
|
53
|
+
isDisabled = _ref$isDisabled === void 0 ? false : _ref$isDisabled,
|
|
54
|
+
onToggle = _ref.onToggle,
|
|
55
|
+
rest = _objectWithoutProperties(_ref, _excluded);
|
|
56
|
+
var _useState = useState(forceState ? forceState === 'open' : initialIsOpen),
|
|
57
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
58
|
+
isOpenState = _useState2[0],
|
|
59
|
+
setIsOpenState = _useState2[1];
|
|
60
|
+
var isOpen = forceState ? forceState === 'open' : isOpenState;
|
|
61
|
+
var onAccordionToggle = function onAccordionToggle() {
|
|
62
|
+
if (forceState) {
|
|
63
|
+
onToggle === null || onToggle === void 0 || onToggle(!isOpen);
|
|
64
|
+
} else {
|
|
65
|
+
var nextState = !isOpenState;
|
|
66
|
+
setIsOpenState(nextState);
|
|
67
|
+
onToggle === null || onToggle === void 0 || onToggle(nextState);
|
|
35
68
|
}
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
role = _this$props3.role,
|
|
75
|
-
_this$props3$element = _this$props3.element,
|
|
76
|
-
Element = _this$props3$element === void 0 ? 'div' : _this$props3$element,
|
|
77
|
-
buttonElement = _this$props3.buttonElement,
|
|
78
|
-
buttonProps = _this$props3.buttonProps,
|
|
79
|
-
buttonClassName = _this$props3.buttonClassName,
|
|
80
|
-
buttonContentClassName = _this$props3.buttonContentClassName,
|
|
81
|
-
buttonContent = _this$props3.buttonContent,
|
|
82
|
-
arrowDisplay = _this$props3.arrowDisplay,
|
|
83
|
-
arrowProps = _this$props3.arrowProps,
|
|
84
|
-
extraAction = _this$props3.extraAction,
|
|
85
|
-
paddingSize = _this$props3.paddingSize,
|
|
86
|
-
borders = _this$props3.borders,
|
|
87
|
-
initialIsOpen = _this$props3.initialIsOpen,
|
|
88
|
-
forceState = _this$props3.forceState,
|
|
89
|
-
isLoading = _this$props3.isLoading,
|
|
90
|
-
isLoadingMessage = _this$props3.isLoadingMessage,
|
|
91
|
-
isDisabled = _this$props3.isDisabled,
|
|
92
|
-
theme = _this$props3.theme,
|
|
93
|
-
rest = _objectWithoutProperties(_this$props3, _excluded);
|
|
94
|
-
var classes = classNames('euiAccordion', {
|
|
95
|
-
'euiAccordion-isOpen': this.isOpen
|
|
96
|
-
}, className);
|
|
97
|
-
var styles = euiAccordionStyles(theme);
|
|
98
|
-
var cssStyles = [styles.euiAccordion, borders !== 'none' && styles.borders.borders, borders !== 'none' && styles.borders[borders]];
|
|
99
|
-
var buttonId = (_buttonProps$id = buttonProps === null || buttonProps === void 0 ? void 0 : buttonProps.id) !== null && _buttonProps$id !== void 0 ? _buttonProps$id : this.generatedId;
|
|
100
|
-
return ___EmotionJSX(Element, _extends({
|
|
101
|
-
className: classes,
|
|
102
|
-
css: cssStyles
|
|
103
|
-
}, rest), ___EmotionJSX(EuiAccordionTrigger, {
|
|
104
|
-
ariaControlsId: id,
|
|
105
|
-
buttonId: buttonId
|
|
106
|
-
// Force button element to be a legend if the element is a fieldset
|
|
107
|
-
,
|
|
108
|
-
buttonElement: Element === 'fieldset' ? 'legend' : buttonElement,
|
|
109
|
-
buttonClassName: buttonClassName,
|
|
110
|
-
buttonContent: buttonContent,
|
|
111
|
-
buttonContentClassName: buttonContentClassName,
|
|
112
|
-
buttonProps: buttonProps,
|
|
113
|
-
arrowProps: arrowProps,
|
|
114
|
-
arrowDisplay: arrowDisplay,
|
|
115
|
-
isDisabled: isDisabled,
|
|
116
|
-
isOpen: this.isOpen,
|
|
117
|
-
onToggle: this.onToggle,
|
|
118
|
-
extraAction: isLoading ? ___EmotionJSX(EuiLoadingSpinner, null) : extraAction
|
|
119
|
-
}), ___EmotionJSX(EuiAccordionChildren, {
|
|
120
|
-
role: role,
|
|
121
|
-
id: id,
|
|
122
|
-
"aria-labelledby": buttonId,
|
|
123
|
-
paddingSize: paddingSize,
|
|
124
|
-
isLoading: isLoading,
|
|
125
|
-
isLoadingMessage: isLoadingMessage,
|
|
126
|
-
isOpen: this.isOpen,
|
|
127
|
-
initialIsOpen: initialIsOpen
|
|
128
|
-
}, children));
|
|
129
|
-
}
|
|
130
|
-
}]);
|
|
131
|
-
}(Component);
|
|
132
|
-
_defineProperty(EuiAccordionClass, "defaultProps", {
|
|
133
|
-
initialIsOpen: false,
|
|
134
|
-
borders: 'none',
|
|
135
|
-
paddingSize: 'none',
|
|
136
|
-
arrowDisplay: 'left',
|
|
137
|
-
isLoading: false,
|
|
138
|
-
isDisabled: false,
|
|
139
|
-
isLoadingMessage: false,
|
|
140
|
-
element: 'div',
|
|
141
|
-
buttonElement: 'button',
|
|
142
|
-
role: 'group'
|
|
143
|
-
});
|
|
144
|
-
export var EuiAccordion = withEuiTheme(EuiAccordionClass);
|
|
69
|
+
};
|
|
70
|
+
var generatedId = useGeneratedHtmlId();
|
|
71
|
+
var buttonId = (_buttonProps$id = buttonProps === null || buttonProps === void 0 ? void 0 : buttonProps.id) !== null && _buttonProps$id !== void 0 ? _buttonProps$id : generatedId;
|
|
72
|
+
var classes = classNames('euiAccordion', {
|
|
73
|
+
'euiAccordion-isOpen': isOpen
|
|
74
|
+
}, className);
|
|
75
|
+
var styles = useEuiMemoizedStyles(euiAccordionStyles);
|
|
76
|
+
var cssStyles = [styles.euiAccordion, borders !== 'none' && styles.borders.borders, borders !== 'none' && styles.borders[borders]];
|
|
77
|
+
return ___EmotionJSX(Element, _extends({
|
|
78
|
+
className: classes,
|
|
79
|
+
css: cssStyles
|
|
80
|
+
}, rest), ___EmotionJSX(EuiAccordionTrigger, {
|
|
81
|
+
ariaControlsId: id,
|
|
82
|
+
buttonId: buttonId
|
|
83
|
+
// Force button element to be a legend if the element is a fieldset
|
|
84
|
+
,
|
|
85
|
+
buttonElement: Element === 'fieldset' ? 'legend' : buttonElement,
|
|
86
|
+
buttonClassName: buttonClassName,
|
|
87
|
+
buttonContent: buttonContent,
|
|
88
|
+
buttonContentClassName: buttonContentClassName,
|
|
89
|
+
buttonProps: buttonProps,
|
|
90
|
+
arrowProps: arrowProps,
|
|
91
|
+
arrowDisplay: arrowDisplay,
|
|
92
|
+
isDisabled: isDisabled,
|
|
93
|
+
isOpen: isOpen,
|
|
94
|
+
onToggle: onAccordionToggle,
|
|
95
|
+
extraAction: isLoading ? ___EmotionJSX(EuiLoadingSpinner, null) : extraAction
|
|
96
|
+
}), ___EmotionJSX(EuiAccordionChildren, {
|
|
97
|
+
role: role,
|
|
98
|
+
id: id,
|
|
99
|
+
"aria-labelledby": buttonId,
|
|
100
|
+
paddingSize: paddingSize,
|
|
101
|
+
isLoading: isLoading,
|
|
102
|
+
isLoadingMessage: isLoadingMessage,
|
|
103
|
+
isOpen: isOpen,
|
|
104
|
+
initialIsOpen: initialIsOpen
|
|
105
|
+
}, children));
|
|
106
|
+
};
|
|
@@ -261,8 +261,8 @@ export var EuiContextMenuPanelClass = /*#__PURE__*/function (_Component) {
|
|
|
261
261
|
}
|
|
262
262
|
}, {
|
|
263
263
|
key: "componentDidUpdate",
|
|
264
|
-
value: function componentDidUpdate(
|
|
265
|
-
if (
|
|
264
|
+
value: function componentDidUpdate(prevProps) {
|
|
265
|
+
if (prevProps.items !== this.props.items) {
|
|
266
266
|
this.findMenuItems();
|
|
267
267
|
}
|
|
268
268
|
// Focus isn't always ready to be taken on mount, so we need to call it
|
|
@@ -15,8 +15,9 @@ function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.
|
|
|
15
15
|
* Side Public License, v 1.
|
|
16
16
|
*/
|
|
17
17
|
|
|
18
|
-
import React, { Component } from 'react';
|
|
18
|
+
import React, { Component, createRef } from 'react';
|
|
19
19
|
import { copyToClipboard } from '../../services';
|
|
20
|
+
import { EuiScreenReaderOnly } from '../accessibility';
|
|
20
21
|
import { EuiToolTip } from '../tool_tip';
|
|
21
22
|
import { jsx as ___EmotionJSX } from "@emotion/react";
|
|
22
23
|
export var EuiCopy = /*#__PURE__*/function (_Component) {
|
|
@@ -24,21 +25,31 @@ export var EuiCopy = /*#__PURE__*/function (_Component) {
|
|
|
24
25
|
var _this;
|
|
25
26
|
_classCallCheck(this, EuiCopy);
|
|
26
27
|
_this = _callSuper(this, EuiCopy, [props]);
|
|
28
|
+
_defineProperty(_this, "tooltipRef", /*#__PURE__*/createRef());
|
|
27
29
|
_defineProperty(_this, "copy", function () {
|
|
28
30
|
var isCopied = copyToClipboard(_this.props.textToCopy);
|
|
29
31
|
if (isCopied) {
|
|
30
32
|
_this.setState({
|
|
31
|
-
tooltipText: _this.props.afterMessage
|
|
33
|
+
tooltipText: _this.props.afterMessage,
|
|
34
|
+
isCopied: true
|
|
35
|
+
},
|
|
36
|
+
// `EuiToolTip` suppresses showing when content is empty, so `EuiCopy`
|
|
37
|
+
// imperatively shows the tooltip after the post-copy state update.
|
|
38
|
+
function () {
|
|
39
|
+
var _this$tooltipRef$curr;
|
|
40
|
+
(_this$tooltipRef$curr = _this.tooltipRef.current) === null || _this$tooltipRef$curr === void 0 || _this$tooltipRef$curr.showToolTip();
|
|
32
41
|
});
|
|
33
42
|
}
|
|
34
43
|
});
|
|
35
44
|
_defineProperty(_this, "resetTooltipText", function () {
|
|
36
45
|
_this.setState({
|
|
37
|
-
tooltipText: _this.props.beforeMessage
|
|
46
|
+
tooltipText: _this.props.beforeMessage,
|
|
47
|
+
isCopied: false
|
|
38
48
|
});
|
|
39
49
|
});
|
|
40
50
|
_this.state = {
|
|
41
|
-
tooltipText: _this.props.beforeMessage
|
|
51
|
+
tooltipText: _this.props.beforeMessage,
|
|
52
|
+
isCopied: false
|
|
42
53
|
};
|
|
43
54
|
return _this;
|
|
44
55
|
}
|
|
@@ -46,17 +57,29 @@ export var EuiCopy = /*#__PURE__*/function (_Component) {
|
|
|
46
57
|
return _createClass(EuiCopy, [{
|
|
47
58
|
key: "render",
|
|
48
59
|
value: function render() {
|
|
60
|
+
var _this2 = this;
|
|
49
61
|
var _this$props = this.props,
|
|
50
62
|
children = _this$props.children,
|
|
51
|
-
tooltipProps = _this$props.tooltipProps
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
63
|
+
tooltipProps = _this$props.tooltipProps,
|
|
64
|
+
afterMessage = _this$props.afterMessage;
|
|
65
|
+
var _this$state = this.state,
|
|
66
|
+
tooltipText = _this$state.tooltipText,
|
|
67
|
+
isCopied = _this$state.isCopied;
|
|
68
|
+
return ___EmotionJSX(React.Fragment, null, ___EmotionJSX(EuiToolTip, _extends({
|
|
69
|
+
ref: this.tooltipRef,
|
|
70
|
+
content: tooltipText,
|
|
71
|
+
onMouseOut: this.resetTooltipText
|
|
72
|
+
}, tooltipProps, {
|
|
73
|
+
onBlur: function onBlur() {
|
|
74
|
+
var _tooltipProps$onBlur;
|
|
75
|
+
tooltipProps === null || tooltipProps === void 0 || (_tooltipProps$onBlur = tooltipProps.onBlur) === null || _tooltipProps$onBlur === void 0 || _tooltipProps$onBlur.call(tooltipProps);
|
|
76
|
+
if (isCopied) _this2.resetTooltipText();
|
|
77
|
+
},
|
|
78
|
+
disableScreenReaderOutput: isCopied || !!(tooltipProps !== null && tooltipProps !== void 0 && tooltipProps.disableScreenReaderOutput)
|
|
79
|
+
}), children(this.copy)), ___EmotionJSX(EuiScreenReaderOnly, null, ___EmotionJSX("div", {
|
|
80
|
+
"aria-live": "assertive",
|
|
81
|
+
"aria-atomic": "true"
|
|
82
|
+
}, isCopied ? afterMessage : '')));
|
|
60
83
|
}
|
|
61
84
|
}]);
|
|
62
85
|
}(Component);
|