@elastic/eui 92.0.0 → 92.1.1
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/dist/eui_theme_dark.css +3 -18
- package/dist/eui_theme_dark.min.css +1 -1
- package/dist/eui_theme_light.css +3 -18
- package/dist/eui_theme_light.min.css +1 -1
- package/es/components/aspect_ratio/aspect_ratio.js +1 -1
- package/es/components/collapsible_nav_beta/collapsible_nav_body_footer.js +7 -3
- package/es/components/collapsible_nav_beta/collapsible_nav_body_footer.styles.js +4 -4
- package/es/components/datagrid/body/{data_grid_cell.js → cell/data_grid_cell.js} +111 -244
- package/es/components/datagrid/body/{data_grid_cell_actions.js → cell/data_grid_cell_actions.js} +5 -5
- package/es/components/datagrid/body/{data_grid_cell_popover.js → cell/data_grid_cell_popover.js} +4 -4
- package/es/components/datagrid/body/{data_grid_cell_wrapper.js → cell/data_grid_cell_wrapper.js} +1 -1
- package/es/components/datagrid/body/cell/focus_utils.js +166 -0
- package/es/components/datagrid/body/cell/index.js +11 -0
- package/es/components/datagrid/body/data_grid_body.js +0 -2
- package/es/components/datagrid/body/data_grid_body_custom.js +1 -7
- package/es/components/datagrid/body/data_grid_body_virtualized.js +1 -7
- package/es/components/datagrid/body/footer/data_grid_footer_row.js +1 -2
- package/es/components/datagrid/body/header/data_grid_control_header_cell.js +3 -6
- package/es/components/datagrid/body/header/data_grid_header_cell.js +27 -12
- package/es/components/datagrid/body/header/data_grid_header_cell_wrapper.js +45 -116
- package/es/components/datagrid/body/header/data_grid_header_row.js +5 -10
- package/es/components/datagrid/body/header/use_data_grid_header.js +3 -14
- package/es/components/datagrid/data_grid.js +2 -12
- package/es/components/datagrid/utils/focus.js +25 -54
- package/es/components/datagrid/utils/scrolling.js +1 -1
- package/es/components/flyout/flyout_resizable.js +10 -10
- package/es/components/flyout/flyout_resizable.styles.js +12 -6
- package/es/components/resizable_container/helpers.js +5 -6
- package/es/components/resizable_container/resizable_button.js +13 -4
- package/es/components/resizable_container/resizable_button.styles.js +18 -8
- package/es/components/resizable_container/resizable_container.js +28 -22
- package/es/components/steps/step_number.styles.js +6 -7
- package/es/components/tree_view/tree_view.js +9 -2
- package/eui.d.ts +130 -90
- package/i18ntokens.json +108 -72
- package/lib/components/aspect_ratio/aspect_ratio.js +1 -1
- package/lib/components/collapsible_nav_beta/collapsible_nav_body_footer.js +7 -3
- package/lib/components/collapsible_nav_beta/collapsible_nav_body_footer.styles.js +4 -4
- package/lib/components/datagrid/body/{data_grid_cell.js → cell/data_grid_cell.js} +111 -244
- package/lib/components/datagrid/body/{data_grid_cell_actions.js → cell/data_grid_cell_actions.js} +5 -5
- package/lib/components/datagrid/body/{data_grid_cell_popover.js → cell/data_grid_cell_popover.js} +4 -4
- package/lib/components/datagrid/body/{data_grid_cell_wrapper.js → cell/data_grid_cell_wrapper.js} +1 -1
- package/lib/components/datagrid/body/cell/focus_utils.js +174 -0
- package/lib/components/datagrid/body/cell/index.js +32 -0
- package/lib/components/datagrid/body/data_grid_body.js +0 -2
- package/lib/components/datagrid/body/data_grid_body_custom.js +2 -8
- package/lib/components/datagrid/body/data_grid_body_virtualized.js +2 -8
- package/lib/components/datagrid/body/footer/data_grid_footer_row.js +5 -6
- package/lib/components/datagrid/body/header/data_grid_control_header_cell.js +3 -6
- package/lib/components/datagrid/body/header/data_grid_header_cell.js +35 -20
- package/lib/components/datagrid/body/header/data_grid_header_cell_wrapper.js +47 -119
- package/lib/components/datagrid/body/header/data_grid_header_row.js +5 -10
- package/lib/components/datagrid/body/header/use_data_grid_header.js +10 -24
- package/lib/components/datagrid/data_grid.js +4 -14
- package/lib/components/datagrid/utils/focus.js +26 -56
- package/lib/components/datagrid/utils/scrolling.js +2 -2
- package/lib/components/flyout/flyout_resizable.js +10 -10
- package/lib/components/flyout/flyout_resizable.styles.js +12 -6
- package/lib/components/resizable_container/helpers.js +7 -7
- package/lib/components/resizable_container/resizable_button.js +13 -4
- package/lib/components/resizable_container/resizable_button.styles.js +18 -8
- package/lib/components/resizable_container/resizable_container.js +28 -22
- package/lib/components/steps/step_number.styles.js +6 -7
- package/lib/components/tree_view/tree_view.js +9 -2
- package/optimize/es/components/aspect_ratio/aspect_ratio.js +1 -1
- package/optimize/es/components/collapsible_nav_beta/collapsible_nav_body_footer.js +7 -3
- package/optimize/es/components/collapsible_nav_beta/collapsible_nav_body_footer.styles.js +4 -4
- package/optimize/es/components/datagrid/body/{data_grid_cell.js → cell/data_grid_cell.js} +111 -244
- package/optimize/es/components/datagrid/body/{data_grid_cell_actions.js → cell/data_grid_cell_actions.js} +5 -5
- package/optimize/es/components/datagrid/body/{data_grid_cell_popover.js → cell/data_grid_cell_popover.js} +4 -4
- package/optimize/es/components/datagrid/body/{data_grid_cell_wrapper.js → cell/data_grid_cell_wrapper.js} +1 -1
- package/optimize/es/components/datagrid/body/cell/focus_utils.js +153 -0
- package/optimize/es/components/datagrid/body/cell/index.js +11 -0
- package/optimize/es/components/datagrid/body/data_grid_body_custom.js +1 -5
- package/optimize/es/components/datagrid/body/data_grid_body_virtualized.js +1 -5
- package/optimize/es/components/datagrid/body/footer/data_grid_footer_row.js +1 -2
- package/optimize/es/components/datagrid/body/header/data_grid_control_header_cell.js +2 -4
- package/optimize/es/components/datagrid/body/header/data_grid_header_cell.js +25 -10
- package/optimize/es/components/datagrid/body/header/data_grid_header_cell_wrapper.js +41 -115
- package/optimize/es/components/datagrid/body/header/data_grid_header_row.js +4 -8
- package/optimize/es/components/datagrid/body/header/use_data_grid_header.js +3 -13
- package/optimize/es/components/datagrid/data_grid.js +2 -12
- package/optimize/es/components/datagrid/utils/focus.js +25 -54
- package/optimize/es/components/datagrid/utils/scrolling.js +1 -1
- package/optimize/es/components/flyout/flyout_resizable.js +10 -10
- package/optimize/es/components/flyout/flyout_resizable.styles.js +12 -6
- package/optimize/es/components/resizable_container/helpers.js +5 -6
- package/optimize/es/components/resizable_container/resizable_button.js +5 -2
- package/optimize/es/components/resizable_container/resizable_button.styles.js +18 -8
- package/optimize/es/components/resizable_container/resizable_container.js +28 -22
- package/optimize/es/components/steps/step_number.styles.js +6 -7
- package/optimize/es/components/tree_view/tree_view.js +9 -2
- package/optimize/lib/components/aspect_ratio/aspect_ratio.js +1 -1
- package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_body_footer.js +7 -3
- package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_body_footer.styles.js +4 -4
- package/optimize/lib/components/datagrid/body/{data_grid_cell.js → cell/data_grid_cell.js} +111 -244
- package/optimize/lib/components/datagrid/body/{data_grid_cell_actions.js → cell/data_grid_cell_actions.js} +5 -5
- package/optimize/lib/components/datagrid/body/{data_grid_cell_popover.js → cell/data_grid_cell_popover.js} +4 -4
- package/optimize/lib/components/datagrid/body/{data_grid_cell_wrapper.js → cell/data_grid_cell_wrapper.js} +1 -1
- package/optimize/lib/components/datagrid/body/cell/focus_utils.js +163 -0
- package/optimize/lib/components/datagrid/body/cell/index.js +32 -0
- package/optimize/lib/components/datagrid/body/data_grid_body_custom.js +2 -6
- package/optimize/lib/components/datagrid/body/data_grid_body_virtualized.js +2 -6
- package/optimize/lib/components/datagrid/body/footer/data_grid_footer_row.js +5 -6
- package/optimize/lib/components/datagrid/body/header/data_grid_control_header_cell.js +2 -4
- package/optimize/lib/components/datagrid/body/header/data_grid_header_cell.js +25 -10
- package/optimize/lib/components/datagrid/body/header/data_grid_header_cell_wrapper.js +41 -115
- package/optimize/lib/components/datagrid/body/header/data_grid_header_row.js +4 -8
- package/optimize/lib/components/datagrid/body/header/use_data_grid_header.js +4 -14
- package/optimize/lib/components/datagrid/data_grid.js +4 -14
- package/optimize/lib/components/datagrid/utils/focus.js +26 -56
- package/optimize/lib/components/datagrid/utils/scrolling.js +2 -2
- package/optimize/lib/components/flyout/flyout_resizable.js +10 -10
- package/optimize/lib/components/flyout/flyout_resizable.styles.js +12 -6
- package/optimize/lib/components/resizable_container/helpers.js +7 -7
- package/optimize/lib/components/resizable_container/resizable_button.js +5 -2
- package/optimize/lib/components/resizable_container/resizable_button.styles.js +18 -8
- package/optimize/lib/components/resizable_container/resizable_container.js +28 -22
- package/optimize/lib/components/steps/step_number.styles.js +6 -7
- package/optimize/lib/components/tree_view/tree_view.js +9 -2
- package/package.json +1 -1
- package/src/components/datagrid/body/header/_data_grid_header_row.scss +8 -7
- package/test-env/components/aspect_ratio/aspect_ratio.js +1 -1
- package/test-env/components/collapsible_nav_beta/collapsible_nav_body_footer.js +7 -3
- package/test-env/components/collapsible_nav_beta/collapsible_nav_body_footer.styles.js +4 -4
- package/test-env/components/datagrid/body/{data_grid_cell.js → cell/data_grid_cell.js} +111 -244
- package/test-env/components/datagrid/body/{data_grid_cell_actions.js → cell/data_grid_cell_actions.js} +5 -5
- package/test-env/components/datagrid/body/{data_grid_cell_popover.js → cell/data_grid_cell_popover.js} +4 -4
- package/test-env/components/datagrid/body/{data_grid_cell_wrapper.js → cell/data_grid_cell_wrapper.js} +1 -1
- package/test-env/components/datagrid/body/cell/focus_utils.js +172 -0
- package/test-env/components/datagrid/body/cell/index.js +32 -0
- package/test-env/components/datagrid/body/data_grid_body.js +0 -2
- package/test-env/components/datagrid/body/data_grid_body_custom.js +2 -8
- package/test-env/components/datagrid/body/data_grid_body_virtualized.js +2 -8
- package/test-env/components/datagrid/body/footer/data_grid_footer_row.js +5 -6
- package/test-env/components/datagrid/body/header/data_grid_control_header_cell.js +3 -6
- package/test-env/components/datagrid/body/header/data_grid_header_cell.js +25 -10
- package/test-env/components/datagrid/body/header/data_grid_header_cell_wrapper.js +44 -116
- package/test-env/components/datagrid/body/header/data_grid_header_row.js +5 -10
- package/test-env/components/datagrid/body/header/use_data_grid_header.js +4 -14
- package/test-env/components/datagrid/data_grid.js +4 -14
- package/test-env/components/datagrid/utils/focus.js +26 -56
- package/test-env/components/datagrid/utils/scrolling.js +2 -2
- package/test-env/components/flyout/flyout_resizable.js +10 -10
- package/test-env/components/flyout/flyout_resizable.styles.js +12 -6
- package/test-env/components/resizable_container/helpers.js +7 -7
- package/test-env/components/resizable_container/resizable_button.js +13 -4
- package/test-env/components/resizable_container/resizable_button.styles.js +18 -8
- package/test-env/components/resizable_container/resizable_container.js +28 -22
- package/test-env/components/steps/step_number.styles.js +6 -7
- package/test-env/components/tree_view/tree_view.js +9 -2
- package/es/components/datagrid/body/header/header_is_interactive.js +0 -58
- package/lib/components/datagrid/body/header/header_is_interactive.js +0 -63
- package/optimize/es/components/datagrid/body/header/header_is_interactive.js +0 -53
- package/optimize/lib/components/datagrid/body/header/header_is_interactive.js +0 -61
- package/test-env/components/datagrid/body/header/header_is_interactive.js +0 -61
|
@@ -4,7 +4,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
4
4
|
Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
|
-
exports.useContainerCallbacks = exports.sizesOnly = exports.pxToPercent = exports.getPosition = exports.getPanelMinSize = void 0;
|
|
7
|
+
exports.useContainerCallbacks = exports.sizesOnly = exports.pxToPercent = exports.isTouchEvent = exports.getPosition = exports.getPanelMinSize = void 0;
|
|
8
8
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
9
9
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
10
10
|
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
|
@@ -18,9 +18,10 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
|
|
|
18
18
|
* in compliance with, at your election, the Elastic License 2.0 or the Server
|
|
19
19
|
* Side Public License, v 1.
|
|
20
20
|
*/
|
|
21
|
-
function
|
|
22
|
-
return (0, _typeof2.default)(event) === 'object' && '
|
|
23
|
-
}
|
|
21
|
+
var isTouchEvent = function isTouchEvent(event) {
|
|
22
|
+
return (0, _typeof2.default)(event) === 'object' && 'targetTouches' in event;
|
|
23
|
+
};
|
|
24
|
+
exports.isTouchEvent = isTouchEvent;
|
|
24
25
|
var pxToPercent = function pxToPercent(proportion, whole) {
|
|
25
26
|
if (whole < 1 || proportion < 0) return 0;
|
|
26
27
|
return proportion / whole * 100;
|
|
@@ -50,9 +51,8 @@ var getPanelMinSize = function getPanelMinSize(panelMinSize, containerSize) {
|
|
|
50
51
|
};
|
|
51
52
|
exports.getPanelMinSize = getPanelMinSize;
|
|
52
53
|
var getPosition = function getPosition(event, isHorizontal) {
|
|
53
|
-
var
|
|
54
|
-
|
|
55
|
-
return isHorizontal ? clientX : clientY;
|
|
54
|
+
var direction = isHorizontal ? 'clientX' : 'clientY';
|
|
55
|
+
return isTouchEvent(event) ? event.targetTouches[0][direction] : event[direction];
|
|
56
56
|
};
|
|
57
57
|
exports.getPosition = getPosition;
|
|
58
58
|
var getSiblingPanel = function getSiblingPanel(element, adjacency) {
|
|
@@ -17,7 +17,7 @@ var _services = require("../../services");
|
|
|
17
17
|
var _context = require("./context");
|
|
18
18
|
var _resizable_button = require("./resizable_button.styles");
|
|
19
19
|
var _react2 = require("@emotion/react");
|
|
20
|
-
var _excluded = ["isHorizontal", "alignIndicator", "className"],
|
|
20
|
+
var _excluded = ["isHorizontal", "indicator", "alignIndicator", "className"],
|
|
21
21
|
_excluded2 = ["registration", "id", "disabled", "onFocus"];
|
|
22
22
|
/*
|
|
23
23
|
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
|
|
@@ -34,14 +34,17 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
|
|
|
34
34
|
*/
|
|
35
35
|
var EuiResizableButton = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
|
|
36
36
|
var isHorizontal = _ref.isHorizontal,
|
|
37
|
+
_ref$indicator = _ref.indicator,
|
|
38
|
+
indicator = _ref$indicator === void 0 ? 'handle' : _ref$indicator,
|
|
37
39
|
_ref$alignIndicator = _ref.alignIndicator,
|
|
38
40
|
alignIndicator = _ref$alignIndicator === void 0 ? 'center' : _ref$alignIndicator,
|
|
39
41
|
className = _ref.className,
|
|
40
42
|
rest = (0, _objectWithoutProperties2.default)(_ref, _excluded);
|
|
41
43
|
var classes = (0, _classnames.default)('euiResizableButton', className);
|
|
44
|
+
var resizeDirection = isHorizontal ? 'horizontal' : 'vertical';
|
|
42
45
|
var euiTheme = (0, _services.useEuiTheme)();
|
|
43
46
|
var styles = (0, _resizable_button.euiResizableButtonStyles)(euiTheme);
|
|
44
|
-
var cssStyles = [styles.euiResizableButton,
|
|
47
|
+
var cssStyles = [styles.euiResizableButton, styles[indicator], styles["".concat(indicator, "Direction")][resizeDirection], styles[resizeDirection], indicator === 'handle' && styles.alignIndicator[alignIndicator]];
|
|
45
48
|
return (0, _react2.jsx)(_i18n.EuiI18n, {
|
|
46
49
|
tokens: ['euiResizableButton.horizontalResizerAriaLabel', 'euiResizableButton.verticalResizerAriaLabel'],
|
|
47
50
|
defaults: ['Press the left or right arrow keys to adjust panels size', 'Press the up or down arrow keys to adjust panels size']
|
|
@@ -71,8 +74,14 @@ EuiResizableButton.propTypes = {
|
|
|
71
74
|
*/
|
|
72
75
|
isHorizontal: _propTypes.default.bool,
|
|
73
76
|
/**
|
|
74
|
-
*
|
|
75
|
-
*
|
|
77
|
+
* By default, EuiResizableButton will show a grab handle to indicate resizability.
|
|
78
|
+
* This indicator can be optionally hidden to show a plain border instead.
|
|
79
|
+
*/
|
|
80
|
+
indicator: _propTypes.default.oneOf(["handle", "border"]),
|
|
81
|
+
/**
|
|
82
|
+
* Allows customizing the alignment of grab `handle` indicators (does nothing for
|
|
83
|
+
* border indicators). Defaults to `center`, but consider using `start` for extremely
|
|
84
|
+
* tall content that scrolls off-screen
|
|
76
85
|
*/
|
|
77
86
|
alignIndicator: _propTypes.default.oneOf(["center", "start", "end"]),
|
|
78
87
|
/**
|
|
@@ -46,21 +46,31 @@ var euiResizableButtonStyles = function euiResizableButtonStyles(euiThemeContext
|
|
|
46
46
|
var transitionSpeed = euiTheme.animation.fast;
|
|
47
47
|
var transition = "".concat(transitionSpeed, " ease");
|
|
48
48
|
return {
|
|
49
|
-
//
|
|
50
|
-
// 1. The "grab"
|
|
51
|
-
// 2. Start/end aligned handles should have a slight margin offset that disappears on hover/focus
|
|
49
|
+
// Creates a resizable indicator (either a grab handle or a plain border) with CSS psuedo-elements.
|
|
50
|
+
// 1. The "grab" handle transforms into a thicker straight line on :hover and :focus
|
|
51
|
+
// 2. Start/end aligned grab handles should have a slight margin offset that disappears on hover/focus
|
|
52
52
|
// 3. CSS hack to smooth out/anti-alias the 1px wide handles at various zoom levels
|
|
53
|
-
euiResizableButton: /*#__PURE__*/(0, _react.css)("z-index:1;flex-shrink:0;display:flex;justify-content:center;
|
|
54
|
-
return x * 2;
|
|
55
|
-
}), ";&:disabled{display:none;}&:hover,&:focus{gap:0;justify-content:center;}", _global_styling.euiCanAnimate, "{transition:gap ", transition, ",justify-content ", transition, ";}&::before,&::after{content:'';display:block;background-color:", euiTheme.colors.darkestShade, ";transform:translateZ(0);", _global_styling.euiCanAnimate, "{transition:width ", transition, ",height ", transition, ",margin ", transition, ",background-color ", transition, ";}}&:hover{&::before,&::after{background-color:", euiTheme.colors.mediumShade, ";", _global_styling.euiCanAnimate, "{transition-delay:", transitionSpeed, ";}}}&:focus,&:active{background-color:", (0, _services.transparentize)(euiTheme.colors.primary, 0.1), ";&::before,&::after{background-color:", euiTheme.colors.primary, ";", _global_styling.euiCanAnimate, "{transition:width ", transition, ",height ", transition, ";transition-delay:", (0, _global_styling.mathWithUnits)(transitionSpeed, function (x) {
|
|
53
|
+
euiResizableButton: /*#__PURE__*/(0, _react.css)("z-index:1;flex-shrink:0;display:flex;justify-content:center;&:disabled{display:none;}&::before,&::after{content:'';display:block;", _global_styling.euiCanAnimate, "{transition:width ", transition, ",height ", transition, ",margin ", transition, ",background-color ", transition, ";}}&:hover{&::before,&::after{background-color:", euiTheme.colors.mediumShade, ";}}&:focus,&:active{background-color:", (0, _services.transparentize)(euiTheme.colors.primary, 0.1), ";&::before,&::after{background-color:", euiTheme.colors.primary, ";", _global_styling.euiCanAnimate, "{transition:width ", transition, ",height ", transition, ";transition-delay:", (0, _global_styling.mathWithUnits)(transitionSpeed, function (x) {
|
|
56
54
|
return x / 2;
|
|
57
55
|
}), ";}}};label:euiResizableButton;"),
|
|
58
56
|
horizontal: /*#__PURE__*/(0, _react.css)("cursor:col-resize;", (0, _global_styling.logicalCSS)('height', '100%'), " ", (0, _global_styling.logicalCSS)('width', buttonSize), " margin-inline:", (0, _global_styling.mathWithUnits)(buttonSize, function (x) {
|
|
59
57
|
return x / -2;
|
|
60
|
-
}), "
|
|
58
|
+
}), ";;label:horizontal;"),
|
|
61
59
|
vertical: /*#__PURE__*/(0, _react.css)("flex-direction:column;cursor:row-resize;", (0, _global_styling.logicalCSS)('width', '100%'), " ", (0, _global_styling.logicalCSS)('height', buttonSize), " margin-block:", (0, _global_styling.mathWithUnits)(buttonSize, function (x) {
|
|
62
60
|
return x / -2;
|
|
63
|
-
}), "
|
|
61
|
+
}), ";;label:vertical;"),
|
|
62
|
+
border: /*#__PURE__*/(0, _react.css)("&::before,&::after{background-color:", euiTheme.border.color, ";};label:border;"),
|
|
63
|
+
borderDirection: {
|
|
64
|
+
horizontal: /*#__PURE__*/(0, _react.css)("&::before{", (0, _global_styling.logicalCSS)('width', euiTheme.border.width.thin), " ", (0, _global_styling.logicalCSS)('height', '100%'), ";}&:hover,&:focus,&:active{&::after{", (0, _global_styling.logicalCSS)('width', euiTheme.border.width.thin), " ", (0, _global_styling.logicalCSS)('height', '100%'), ";}};label:horizontal;"),
|
|
65
|
+
vertical: /*#__PURE__*/(0, _react.css)("&::before{", (0, _global_styling.logicalCSS)('height', euiTheme.border.width.thin), " ", (0, _global_styling.logicalCSS)('width', '100%'), ";}&:hover,&:focus,&:active{&::after{", (0, _global_styling.logicalCSS)('height', euiTheme.border.width.thin), " ", (0, _global_styling.logicalCSS)('width', '100%'), ";}};label:vertical;")
|
|
66
|
+
},
|
|
67
|
+
handle: /*#__PURE__*/(0, _react.css)("gap:", (0, _global_styling.mathWithUnits)(grabHandleHeight, function (x) {
|
|
68
|
+
return x * 2;
|
|
69
|
+
}), ";&:hover,&:focus,&:active{gap:0;}", _global_styling.euiCanAnimate, "{transition:gap ", transition, ";}&::before,&::after{background-color:", euiTheme.colors.darkestShade, ";transform:translateZ(0);}&:hover{&::before,&::after{", _global_styling.euiCanAnimate, "{transition-delay:", transitionSpeed, ";}}};label:handle;"),
|
|
70
|
+
handleDirection: {
|
|
71
|
+
horizontal: /*#__PURE__*/(0, _react.css)("&::before,&::after{", (0, _global_styling.logicalCSS)('width', grabHandleHeight), " ", (0, _global_styling.logicalCSS)('height', grabHandleWidth), " margin-block:", euiTheme.size.base, ";}&:hover,&:focus,&:active{&::before,&::after{", (0, _global_styling.logicalCSS)('height', '100%'), " margin-block:0;transform:none;}};label:horizontal;"),
|
|
72
|
+
vertical: /*#__PURE__*/(0, _react.css)("&::before,&::after{", (0, _global_styling.logicalCSS)('height', grabHandleHeight), " ", (0, _global_styling.logicalCSS)('width', grabHandleWidth), " margin-inline:", euiTheme.size.base, ";}&:hover,&:focus,&:active{&::before,&::after{", (0, _global_styling.logicalCSS)('width', '100%'), " margin-inline:0;transform:none;}};label:vertical;")
|
|
73
|
+
},
|
|
64
74
|
alignIndicator: {
|
|
65
75
|
center: _ref3,
|
|
66
76
|
start: _ref2,
|
|
@@ -109,16 +109,33 @@ var EuiResizableContainer = function EuiResizableContainer(_ref) {
|
|
|
109
109
|
prevPanelId: prevPanelId,
|
|
110
110
|
nextPanelId: nextPanelId
|
|
111
111
|
});
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
if
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
position
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
112
|
+
|
|
113
|
+
// Window event listeners instead of React events are used to continue
|
|
114
|
+
// detecting movement even if the user's mouse leaves the container
|
|
115
|
+
|
|
116
|
+
var onMouseMove = function onMouseMove(event) {
|
|
117
|
+
var position = (0, _helpers.getPosition)(event, isHorizontal);
|
|
118
|
+
actions.dragMove({
|
|
119
|
+
position: position,
|
|
120
|
+
prevPanelId: prevPanelId,
|
|
121
|
+
nextPanelId: nextPanelId
|
|
122
|
+
});
|
|
123
|
+
};
|
|
124
|
+
var onMouseUp = function onMouseUp() {
|
|
125
|
+
if (resizeContext.current.trigger === 'pointer') {
|
|
126
|
+
resizeEnd();
|
|
127
|
+
}
|
|
128
|
+
actions.reset();
|
|
129
|
+
window.removeEventListener('mousemove', onMouseMove);
|
|
130
|
+
window.removeEventListener('mouseup', onMouseUp);
|
|
131
|
+
window.removeEventListener('touchmove', onMouseMove);
|
|
132
|
+
window.removeEventListener('touchend', onMouseUp);
|
|
133
|
+
};
|
|
134
|
+
window.addEventListener('mousemove', onMouseMove);
|
|
135
|
+
window.addEventListener('mouseup', onMouseUp);
|
|
136
|
+
window.addEventListener('touchmove', onMouseMove);
|
|
137
|
+
window.addEventListener('touchend', onMouseUp);
|
|
138
|
+
}, [actions, isHorizontal, resizeStart, resizeEnd]);
|
|
122
139
|
var getKeyMoveDirection = (0, _react.useCallback)(function (key) {
|
|
123
140
|
var direction = null;
|
|
124
141
|
if (isHorizontal && key === _services.keys.ARROW_LEFT || !isHorizontal && key === _services.keys.ARROW_UP) {
|
|
@@ -156,12 +173,6 @@ var EuiResizableContainer = function EuiResizableContainer(_ref) {
|
|
|
156
173
|
resizeEnd();
|
|
157
174
|
}
|
|
158
175
|
}, [getKeyMoveDirection, resizeEnd]);
|
|
159
|
-
var onMouseUp = (0, _react.useCallback)(function () {
|
|
160
|
-
if (resizeContext.current.trigger === 'pointer') {
|
|
161
|
-
resizeEnd();
|
|
162
|
-
}
|
|
163
|
-
actions.reset();
|
|
164
|
-
}, [actions, resizeEnd]);
|
|
165
176
|
var onBlur = (0, _react.useCallback)(function () {
|
|
166
177
|
if (resizeContext.current.trigger === 'key') {
|
|
167
178
|
resizeEnd();
|
|
@@ -220,12 +231,7 @@ var EuiResizableContainer = function EuiResizableContainer(_ref) {
|
|
|
220
231
|
}, (0, _react2.jsx)("div", (0, _extends2.default)({
|
|
221
232
|
css: cssStyles,
|
|
222
233
|
className: classes,
|
|
223
|
-
ref: containerRef
|
|
224
|
-
onMouseMove: reducerState.isDragging ? onMouseMove : undefined,
|
|
225
|
-
onMouseUp: onMouseUp,
|
|
226
|
-
onMouseLeave: onMouseUp,
|
|
227
|
-
onTouchMove: onMouseMove,
|
|
228
|
-
onTouchEnd: onMouseUp
|
|
234
|
+
ref: containerRef
|
|
229
235
|
}, rest), render()));
|
|
230
236
|
};
|
|
231
237
|
exports.EuiResizableContainer = EuiResizableContainer;
|
|
@@ -6,7 +6,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.euiStepNumberStyles = exports.euiStepNumberContentStyles = void 0;
|
|
7
7
|
var _react = require("@emotion/react");
|
|
8
8
|
var _global_styling = require("../../global_styling");
|
|
9
|
-
var _services = require("../../services");
|
|
10
9
|
var _step = require("./step.styles");
|
|
11
10
|
var _mixins = require("../../themes/amsterdam/global_styling/mixins");
|
|
12
11
|
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)."; } /*
|
|
@@ -46,12 +45,12 @@ var euiStepNumberStyles = function euiStepNumberStyles(euiThemeContext) {
|
|
|
46
45
|
xs: /*#__PURE__*/(0, _react.css)(createStepsNumber(euiStep.numberXSSize, (0, _global_styling.euiFontSizeFromScale)('xs', euiTheme)), ";;label:xs;"),
|
|
47
46
|
// status
|
|
48
47
|
incomplete: /*#__PURE__*/(0, _react.css)("background-color:transparent;color:", euiTheme.colors.text, ";border:", euiTheme.border.thick, ";;label:incomplete;"),
|
|
49
|
-
disabled: /*#__PURE__*/(0, _react.css)(
|
|
48
|
+
disabled: /*#__PURE__*/(0, _react.css)((0, _mixins.euiButtonFillColor)(euiThemeContext, 'disabled'), ";;label:disabled;"),
|
|
50
49
|
loading: _ref,
|
|
51
|
-
warning: /*#__PURE__*/(0, _react.css)(
|
|
52
|
-
danger: /*#__PURE__*/(0, _react.css)(
|
|
53
|
-
complete: /*#__PURE__*/(0, _react.css)(
|
|
54
|
-
current: /*#__PURE__*/(0, _react.css)("border:
|
|
50
|
+
warning: /*#__PURE__*/(0, _react.css)((0, _mixins.euiButtonFillColor)(euiThemeContext, 'warning'), " ", _global_styling.euiCanAnimate, "{animation:", _global_styling.euiAnimScale, " ", euiTheme.animation.fast, " ", euiTheme.animation.bounce, ";};label:warning;"),
|
|
51
|
+
danger: /*#__PURE__*/(0, _react.css)((0, _mixins.euiButtonFillColor)(euiThemeContext, 'danger'), " ", _global_styling.euiCanAnimate, "{animation:", _global_styling.euiAnimScale, " ", euiTheme.animation.fast, " ", euiTheme.animation.bounce, ";};label:danger;"),
|
|
52
|
+
complete: /*#__PURE__*/(0, _react.css)((0, _mixins.euiButtonFillColor)(euiThemeContext, 'success'), " ", _global_styling.euiCanAnimate, "{animation:", _global_styling.euiAnimScale, " ", euiTheme.animation.fast, " ", euiTheme.animation.bounce, ";};label:complete;"),
|
|
53
|
+
current: /*#__PURE__*/(0, _react.css)("border:", euiTheme.border.width.thick, " solid ", euiTheme.colors.body, ";box-shadow:0 0 0 ", euiTheme.border.width.thick, " ", euiTheme.colors.primary, ";;label:current;")
|
|
55
54
|
};
|
|
56
55
|
};
|
|
57
56
|
exports.euiStepNumberStyles = euiStepNumberStyles;
|
|
@@ -72,7 +71,7 @@ var euiStepNumberContentStyles = function euiStepNumberContentStyles(_ref3) {
|
|
|
72
71
|
incomplete: /*#__PURE__*/(0, _react.css)("display:unset;position:relative;inset-block-start:-", euiTheme.border.width.thick, ";;label:incomplete;"),
|
|
73
72
|
loading: /*#__PURE__*/(0, _react.css)(";label:loading;"),
|
|
74
73
|
disabled: /*#__PURE__*/(0, _react.css)(";label:disabled;"),
|
|
75
|
-
current: /*#__PURE__*/(0, _react.css)(";label:current;")
|
|
74
|
+
current: /*#__PURE__*/(0, _react.css)("display:inline-block;transform:translateY(-", euiTheme.border.width.thick, ");;label:current;")
|
|
76
75
|
};
|
|
77
76
|
};
|
|
78
77
|
exports.euiStepNumberContentStyles = euiStepNumberContentStyles;
|
|
@@ -41,7 +41,9 @@ var EuiTreeViewContext = /*#__PURE__*/(0, _react.createContext)('');
|
|
|
41
41
|
function hasAriaLabel(x) {
|
|
42
42
|
return x.hasOwnProperty('aria-label');
|
|
43
43
|
}
|
|
44
|
-
function getTreeId(propId
|
|
44
|
+
function getTreeId(propId) {
|
|
45
|
+
var contextId = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
|
|
46
|
+
var idGenerator = arguments.length > 2 ? arguments[2] : undefined;
|
|
45
47
|
return propId !== null && propId !== void 0 ? propId : contextId === '' ? idGenerator() : contextId;
|
|
46
48
|
}
|
|
47
49
|
var displayToClassNameMap = {
|
|
@@ -51,9 +53,14 @@ var displayToClassNameMap = {
|
|
|
51
53
|
var EuiTreeView = /*#__PURE__*/function (_Component) {
|
|
52
54
|
(0, _inherits2.default)(EuiTreeView, _Component);
|
|
53
55
|
var _super = _createSuper(EuiTreeView);
|
|
54
|
-
function EuiTreeView(props,
|
|
56
|
+
function EuiTreeView(props,
|
|
57
|
+
// Without the optional ? typing, TS will throw errors on JSX component errors
|
|
58
|
+
// @see https://github.com/facebook/react/issues/13944#issuecomment-1183693239
|
|
59
|
+
context) {
|
|
55
60
|
var _this;
|
|
56
61
|
(0, _classCallCheck2.default)(this, EuiTreeView);
|
|
62
|
+
// TODO: context in constructor has been deprecated.
|
|
63
|
+
// We should likely convert this to a function component
|
|
57
64
|
_this = _super.call(this, props, context);
|
|
58
65
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "treeIdGenerator", (0, _services.htmlIdGenerator)('euiTreeView'));
|
|
59
66
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "isNested", void 0);
|
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _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(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
4
|
-
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
5
|
-
function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
|
|
6
|
-
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
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, useState } from 'react';
|
|
16
|
-
import { tabbable } from 'tabbable';
|
|
17
|
-
export var useHeaderIsInteractive = function useHeaderIsInteractive(gridElement) {
|
|
18
|
-
var _useState = useState(false),
|
|
19
|
-
_useState2 = _slicedToArray(_useState, 2),
|
|
20
|
-
headerIsInteractive = _useState2[0],
|
|
21
|
-
setHeaderIsInteractive = _useState2[1];
|
|
22
|
-
var handleHeaderChange = useCallback(function (headerRow) {
|
|
23
|
-
var tabbables = tabbable(headerRow);
|
|
24
|
-
var managed = headerRow.querySelectorAll('[data-euigrid-tab-managed]');
|
|
25
|
-
var hasInteractives = tabbables.length > 0 || managed.length > 0;
|
|
26
|
-
if (hasInteractives !== headerIsInteractive) {
|
|
27
|
-
setHeaderIsInteractive(hasInteractives);
|
|
28
|
-
}
|
|
29
|
-
}, [headerIsInteractive]);
|
|
30
|
-
|
|
31
|
-
// Set headerIsInteractive on data grid init/load
|
|
32
|
-
useEffect(function () {
|
|
33
|
-
if (gridElement) {
|
|
34
|
-
var headerElement = gridElement.querySelector('[data-test-subj~=dataGridHeader]');
|
|
35
|
-
if (headerElement) {
|
|
36
|
-
handleHeaderChange(headerElement);
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
}, [gridElement, handleHeaderChange]);
|
|
40
|
-
|
|
41
|
-
// Update headerIsInteractive if the header changes (e.g., columns are hidden)
|
|
42
|
-
// Used in header mutation observer set in EuiDataGridBody
|
|
43
|
-
var handleHeaderMutation = useCallback(function (records) {
|
|
44
|
-
var _records = _slicedToArray(records, 1),
|
|
45
|
-
target = _records[0].target;
|
|
46
|
-
|
|
47
|
-
// find the wrapping header div
|
|
48
|
-
var headerRow = target.parentElement;
|
|
49
|
-
while (headerRow && (headerRow.getAttribute('data-test-subj') || '').split(/\s+/).indexOf('dataGridHeader') === -1) {
|
|
50
|
-
headerRow = headerRow.parentElement;
|
|
51
|
-
}
|
|
52
|
-
if (headerRow) handleHeaderChange(headerRow);
|
|
53
|
-
}, [handleHeaderChange]);
|
|
54
|
-
return {
|
|
55
|
-
headerIsInteractive: headerIsInteractive,
|
|
56
|
-
handleHeaderMutation: handleHeaderMutation
|
|
57
|
-
};
|
|
58
|
-
};
|
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.useHeaderIsInteractive = void 0;
|
|
7
|
-
var _react = require("react");
|
|
8
|
-
var _tabbable = require("tabbable");
|
|
9
|
-
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
10
|
-
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."); }
|
|
11
|
-
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
12
|
-
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
13
|
-
function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
|
|
14
|
-
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } /*
|
|
15
|
-
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
|
|
16
|
-
* or more contributor license agreements. Licensed under the Elastic License
|
|
17
|
-
* 2.0 and the Server Side Public License, v 1; you may not use this file except
|
|
18
|
-
* in compliance with, at your election, the Elastic License 2.0 or the Server
|
|
19
|
-
* Side Public License, v 1.
|
|
20
|
-
*/
|
|
21
|
-
var useHeaderIsInteractive = function useHeaderIsInteractive(gridElement) {
|
|
22
|
-
var _useState = (0, _react.useState)(false),
|
|
23
|
-
_useState2 = _slicedToArray(_useState, 2),
|
|
24
|
-
headerIsInteractive = _useState2[0],
|
|
25
|
-
setHeaderIsInteractive = _useState2[1];
|
|
26
|
-
var handleHeaderChange = (0, _react.useCallback)(function (headerRow) {
|
|
27
|
-
var tabbables = (0, _tabbable.tabbable)(headerRow);
|
|
28
|
-
var managed = headerRow.querySelectorAll('[data-euigrid-tab-managed]');
|
|
29
|
-
var hasInteractives = tabbables.length > 0 || managed.length > 0;
|
|
30
|
-
if (hasInteractives !== headerIsInteractive) {
|
|
31
|
-
setHeaderIsInteractive(hasInteractives);
|
|
32
|
-
}
|
|
33
|
-
}, [headerIsInteractive]);
|
|
34
|
-
|
|
35
|
-
// Set headerIsInteractive on data grid init/load
|
|
36
|
-
(0, _react.useEffect)(function () {
|
|
37
|
-
if (gridElement) {
|
|
38
|
-
var headerElement = gridElement.querySelector('[data-test-subj~=dataGridHeader]');
|
|
39
|
-
if (headerElement) {
|
|
40
|
-
handleHeaderChange(headerElement);
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
}, [gridElement, handleHeaderChange]);
|
|
44
|
-
|
|
45
|
-
// Update headerIsInteractive if the header changes (e.g., columns are hidden)
|
|
46
|
-
// Used in header mutation observer set in EuiDataGridBody
|
|
47
|
-
var handleHeaderMutation = (0, _react.useCallback)(function (records) {
|
|
48
|
-
var _records = _slicedToArray(records, 1),
|
|
49
|
-
target = _records[0].target;
|
|
50
|
-
|
|
51
|
-
// find the wrapping header div
|
|
52
|
-
var headerRow = target.parentElement;
|
|
53
|
-
while (headerRow && (headerRow.getAttribute('data-test-subj') || '').split(/\s+/).indexOf('dataGridHeader') === -1) {
|
|
54
|
-
headerRow = headerRow.parentElement;
|
|
55
|
-
}
|
|
56
|
-
if (headerRow) handleHeaderChange(headerRow);
|
|
57
|
-
}, [handleHeaderChange]);
|
|
58
|
-
return {
|
|
59
|
-
headerIsInteractive: headerIsInteractive,
|
|
60
|
-
handleHeaderMutation: handleHeaderMutation
|
|
61
|
-
};
|
|
62
|
-
};
|
|
63
|
-
exports.useHeaderIsInteractive = useHeaderIsInteractive;
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
2
|
-
/*
|
|
3
|
-
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
|
|
4
|
-
* or more contributor license agreements. Licensed under the Elastic License
|
|
5
|
-
* 2.0 and the Server Side Public License, v 1; you may not use this file except
|
|
6
|
-
* in compliance with, at your election, the Elastic License 2.0 or the Server
|
|
7
|
-
* Side Public License, v 1.
|
|
8
|
-
*/
|
|
9
|
-
|
|
10
|
-
import { useCallback, useEffect, useState } from 'react';
|
|
11
|
-
import { tabbable } from 'tabbable';
|
|
12
|
-
export var useHeaderIsInteractive = function useHeaderIsInteractive(gridElement) {
|
|
13
|
-
var _useState = useState(false),
|
|
14
|
-
_useState2 = _slicedToArray(_useState, 2),
|
|
15
|
-
headerIsInteractive = _useState2[0],
|
|
16
|
-
setHeaderIsInteractive = _useState2[1];
|
|
17
|
-
var handleHeaderChange = useCallback(function (headerRow) {
|
|
18
|
-
var tabbables = tabbable(headerRow);
|
|
19
|
-
var managed = headerRow.querySelectorAll('[data-euigrid-tab-managed]');
|
|
20
|
-
var hasInteractives = tabbables.length > 0 || managed.length > 0;
|
|
21
|
-
if (hasInteractives !== headerIsInteractive) {
|
|
22
|
-
setHeaderIsInteractive(hasInteractives);
|
|
23
|
-
}
|
|
24
|
-
}, [headerIsInteractive]);
|
|
25
|
-
|
|
26
|
-
// Set headerIsInteractive on data grid init/load
|
|
27
|
-
useEffect(function () {
|
|
28
|
-
if (gridElement) {
|
|
29
|
-
var headerElement = gridElement.querySelector('[data-test-subj~=dataGridHeader]');
|
|
30
|
-
if (headerElement) {
|
|
31
|
-
handleHeaderChange(headerElement);
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
}, [gridElement, handleHeaderChange]);
|
|
35
|
-
|
|
36
|
-
// Update headerIsInteractive if the header changes (e.g., columns are hidden)
|
|
37
|
-
// Used in header mutation observer set in EuiDataGridBody
|
|
38
|
-
var handleHeaderMutation = useCallback(function (records) {
|
|
39
|
-
var _records = _slicedToArray(records, 1),
|
|
40
|
-
target = _records[0].target;
|
|
41
|
-
|
|
42
|
-
// find the wrapping header div
|
|
43
|
-
var headerRow = target.parentElement;
|
|
44
|
-
while (headerRow && (headerRow.getAttribute('data-test-subj') || '').split(/\s+/).indexOf('dataGridHeader') === -1) {
|
|
45
|
-
headerRow = headerRow.parentElement;
|
|
46
|
-
}
|
|
47
|
-
if (headerRow) handleHeaderChange(headerRow);
|
|
48
|
-
}, [handleHeaderChange]);
|
|
49
|
-
return {
|
|
50
|
-
headerIsInteractive: headerIsInteractive,
|
|
51
|
-
handleHeaderMutation: handleHeaderMutation
|
|
52
|
-
};
|
|
53
|
-
};
|
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
Object.defineProperty(exports, "__esModule", {
|
|
5
|
-
value: true
|
|
6
|
-
});
|
|
7
|
-
exports.useHeaderIsInteractive = void 0;
|
|
8
|
-
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
9
|
-
var _react = require("react");
|
|
10
|
-
var _tabbable = require("tabbable");
|
|
11
|
-
/*
|
|
12
|
-
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
|
|
13
|
-
* or more contributor license agreements. Licensed under the Elastic License
|
|
14
|
-
* 2.0 and the Server Side Public License, v 1; you may not use this file except
|
|
15
|
-
* in compliance with, at your election, the Elastic License 2.0 or the Server
|
|
16
|
-
* Side Public License, v 1.
|
|
17
|
-
*/
|
|
18
|
-
|
|
19
|
-
var useHeaderIsInteractive = function useHeaderIsInteractive(gridElement) {
|
|
20
|
-
var _useState = (0, _react.useState)(false),
|
|
21
|
-
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
22
|
-
headerIsInteractive = _useState2[0],
|
|
23
|
-
setHeaderIsInteractive = _useState2[1];
|
|
24
|
-
var handleHeaderChange = (0, _react.useCallback)(function (headerRow) {
|
|
25
|
-
var tabbables = (0, _tabbable.tabbable)(headerRow);
|
|
26
|
-
var managed = headerRow.querySelectorAll('[data-euigrid-tab-managed]');
|
|
27
|
-
var hasInteractives = tabbables.length > 0 || managed.length > 0;
|
|
28
|
-
if (hasInteractives !== headerIsInteractive) {
|
|
29
|
-
setHeaderIsInteractive(hasInteractives);
|
|
30
|
-
}
|
|
31
|
-
}, [headerIsInteractive]);
|
|
32
|
-
|
|
33
|
-
// Set headerIsInteractive on data grid init/load
|
|
34
|
-
(0, _react.useEffect)(function () {
|
|
35
|
-
if (gridElement) {
|
|
36
|
-
var headerElement = gridElement.querySelector('[data-test-subj~=dataGridHeader]');
|
|
37
|
-
if (headerElement) {
|
|
38
|
-
handleHeaderChange(headerElement);
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
}, [gridElement, handleHeaderChange]);
|
|
42
|
-
|
|
43
|
-
// Update headerIsInteractive if the header changes (e.g., columns are hidden)
|
|
44
|
-
// Used in header mutation observer set in EuiDataGridBody
|
|
45
|
-
var handleHeaderMutation = (0, _react.useCallback)(function (records) {
|
|
46
|
-
var _records = (0, _slicedToArray2.default)(records, 1),
|
|
47
|
-
target = _records[0].target;
|
|
48
|
-
|
|
49
|
-
// find the wrapping header div
|
|
50
|
-
var headerRow = target.parentElement;
|
|
51
|
-
while (headerRow && (headerRow.getAttribute('data-test-subj') || '').split(/\s+/).indexOf('dataGridHeader') === -1) {
|
|
52
|
-
headerRow = headerRow.parentElement;
|
|
53
|
-
}
|
|
54
|
-
if (headerRow) handleHeaderChange(headerRow);
|
|
55
|
-
}, [handleHeaderChange]);
|
|
56
|
-
return {
|
|
57
|
-
headerIsInteractive: headerIsInteractive,
|
|
58
|
-
handleHeaderMutation: handleHeaderMutation
|
|
59
|
-
};
|
|
60
|
-
};
|
|
61
|
-
exports.useHeaderIsInteractive = useHeaderIsInteractive;
|
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
Object.defineProperty(exports, "__esModule", {
|
|
5
|
-
value: true
|
|
6
|
-
});
|
|
7
|
-
exports.useHeaderIsInteractive = void 0;
|
|
8
|
-
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
9
|
-
var _react = require("react");
|
|
10
|
-
var _tabbable = require("tabbable");
|
|
11
|
-
/*
|
|
12
|
-
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
|
|
13
|
-
* or more contributor license agreements. Licensed under the Elastic License
|
|
14
|
-
* 2.0 and the Server Side Public License, v 1; you may not use this file except
|
|
15
|
-
* in compliance with, at your election, the Elastic License 2.0 or the Server
|
|
16
|
-
* Side Public License, v 1.
|
|
17
|
-
*/
|
|
18
|
-
|
|
19
|
-
var useHeaderIsInteractive = function useHeaderIsInteractive(gridElement) {
|
|
20
|
-
var _useState = (0, _react.useState)(false),
|
|
21
|
-
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
22
|
-
headerIsInteractive = _useState2[0],
|
|
23
|
-
setHeaderIsInteractive = _useState2[1];
|
|
24
|
-
var handleHeaderChange = (0, _react.useCallback)(function (headerRow) {
|
|
25
|
-
var tabbables = (0, _tabbable.tabbable)(headerRow);
|
|
26
|
-
var managed = headerRow.querySelectorAll('[data-euigrid-tab-managed]');
|
|
27
|
-
var hasInteractives = tabbables.length > 0 || managed.length > 0;
|
|
28
|
-
if (hasInteractives !== headerIsInteractive) {
|
|
29
|
-
setHeaderIsInteractive(hasInteractives);
|
|
30
|
-
}
|
|
31
|
-
}, [headerIsInteractive]);
|
|
32
|
-
|
|
33
|
-
// Set headerIsInteractive on data grid init/load
|
|
34
|
-
(0, _react.useEffect)(function () {
|
|
35
|
-
if (gridElement) {
|
|
36
|
-
var headerElement = gridElement.querySelector('[data-test-subj~=dataGridHeader]');
|
|
37
|
-
if (headerElement) {
|
|
38
|
-
handleHeaderChange(headerElement);
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
}, [gridElement, handleHeaderChange]);
|
|
42
|
-
|
|
43
|
-
// Update headerIsInteractive if the header changes (e.g., columns are hidden)
|
|
44
|
-
// Used in header mutation observer set in EuiDataGridBody
|
|
45
|
-
var handleHeaderMutation = (0, _react.useCallback)(function (records) {
|
|
46
|
-
var _records = (0, _slicedToArray2.default)(records, 1),
|
|
47
|
-
target = _records[0].target;
|
|
48
|
-
|
|
49
|
-
// find the wrapping header div
|
|
50
|
-
var headerRow = target.parentElement;
|
|
51
|
-
while (headerRow && (headerRow.getAttribute('data-test-subj') || '').split(/\s+/).indexOf('dataGridHeader') === -1) {
|
|
52
|
-
headerRow = headerRow.parentElement;
|
|
53
|
-
}
|
|
54
|
-
if (headerRow) handleHeaderChange(headerRow);
|
|
55
|
-
}, [handleHeaderChange]);
|
|
56
|
-
return {
|
|
57
|
-
headerIsInteractive: headerIsInteractive,
|
|
58
|
-
handleHeaderMutation: handleHeaderMutation
|
|
59
|
-
};
|
|
60
|
-
};
|
|
61
|
-
exports.useHeaderIsInteractive = useHeaderIsInteractive;
|