@elastic/eui 92.0.0 → 92.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/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} +56 -209
- 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 +125 -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} +56 -209
- 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} +56 -209
- 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} +56 -209
- 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} +56 -209
- 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
|
@@ -15,7 +15,7 @@ var _reactWindow = require("react-window");
|
|
|
15
15
|
var _resize_observer = require("../../observer/resize_observer");
|
|
16
16
|
var _header = require("./header");
|
|
17
17
|
var _footer = require("./footer");
|
|
18
|
-
var
|
|
18
|
+
var _cell = require("./cell");
|
|
19
19
|
var _data_grid_row_manager = require("./data_grid_row_manager");
|
|
20
20
|
var _grid_height_width = require("../utils/grid_height_width");
|
|
21
21
|
var _col_widths = require("../utils/col_widths");
|
|
@@ -41,7 +41,7 @@ var _Cell = function _Cell(_ref) {
|
|
|
41
41
|
data = _ref.data;
|
|
42
42
|
var _useContext = (0, _react.useContext)(DataGridWrapperRowsContext),
|
|
43
43
|
headerRowHeight = _useContext.headerRowHeight;
|
|
44
|
-
return (0, _react2.jsx)(
|
|
44
|
+
return (0, _react2.jsx)(_cell.Cell, (0, _extends2.default)({
|
|
45
45
|
colIndex: columnIndex,
|
|
46
46
|
visibleRowIndex: rowIndex,
|
|
47
47
|
style: _objectSpread(_objectSpread({}, style), {}, {
|
|
@@ -92,8 +92,6 @@ var EuiDataGridBodyVirtualized = function EuiDataGridBodyVirtualized(_ref3) {
|
|
|
92
92
|
renderFooterCellValue = _ref3.renderFooterCellValue,
|
|
93
93
|
interactiveCellId = _ref3.interactiveCellId,
|
|
94
94
|
pagination = _ref3.pagination,
|
|
95
|
-
headerIsInteractive = _ref3.headerIsInteractive,
|
|
96
|
-
handleHeaderMutation = _ref3.handleHeaderMutation,
|
|
97
95
|
setVisibleColumns = _ref3.setVisibleColumns,
|
|
98
96
|
switchColumnPos = _ref3.switchColumnPos,
|
|
99
97
|
onColumnResize = _ref3.onColumnResize,
|
|
@@ -143,8 +141,6 @@ var EuiDataGridBodyVirtualized = function EuiDataGridBodyVirtualized(_ref3) {
|
|
|
143
141
|
* Header & footer
|
|
144
142
|
*/
|
|
145
143
|
var _useDataGridHeader = (0, _header.useDataGridHeader)({
|
|
146
|
-
headerIsInteractive: headerIsInteractive,
|
|
147
|
-
handleHeaderMutation: handleHeaderMutation,
|
|
148
144
|
switchColumnPos: switchColumnPos,
|
|
149
145
|
setVisibleColumns: setVisibleColumns,
|
|
150
146
|
leadingControlColumns: leadingControlColumns,
|
|
@@ -10,8 +10,7 @@ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")
|
|
|
10
10
|
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
11
11
|
var _classnames = _interopRequireDefault(require("classnames"));
|
|
12
12
|
var _react = _interopRequireWildcard(require("react"));
|
|
13
|
-
var
|
|
14
|
-
var _data_grid_cell_popover = require("../data_grid_cell_popover");
|
|
13
|
+
var _cell = require("../cell");
|
|
15
14
|
var _react2 = require("@emotion/react");
|
|
16
15
|
var _excluded = ["leadingControlColumns", "trailingControlColumns", "columns", "schema", "columnWidths", "defaultColumnWidth", "className", "renderCellValue", "renderCellPopover", "rowIndex", "interactiveCellId", "data-test-subj", "visibleRowIndex"];
|
|
17
16
|
/*
|
|
@@ -46,7 +45,7 @@ var EuiDataGridFooterRow = /*#__PURE__*/(0, _react.memo)( /*#__PURE__*/(0, _reac
|
|
|
46
45
|
'euiDataGridRow--striped': visibleRowIndex % 2 !== 0
|
|
47
46
|
}, 'euiDataGridFooter', className);
|
|
48
47
|
var dataTestSubj = (0, _classnames.default)('dataGridRow', 'dataGridFooterRow', _dataTestSubj);
|
|
49
|
-
var popoverContext = (0, _react.useContext)(
|
|
48
|
+
var popoverContext = (0, _react.useContext)(_cell.DataGridCellPopoverContext);
|
|
50
49
|
var sharedCellProps = {
|
|
51
50
|
rowIndex: rowIndex,
|
|
52
51
|
visibleRowIndex: visibleRowIndex,
|
|
@@ -63,7 +62,7 @@ var EuiDataGridFooterRow = /*#__PURE__*/(0, _react.memo)( /*#__PURE__*/(0, _reac
|
|
|
63
62
|
width = _ref2.width,
|
|
64
63
|
footerCellRender = _ref2.footerCellRender,
|
|
65
64
|
footerCellProps = _ref2.footerCellProps;
|
|
66
|
-
return (0, _react2.jsx)(
|
|
65
|
+
return (0, _react2.jsx)(_cell.EuiDataGridCell, (0, _extends2.default)({}, footerCellProps, sharedCellProps, {
|
|
67
66
|
key: "".concat(id, "-").concat(rowIndex),
|
|
68
67
|
colIndex: i,
|
|
69
68
|
columnId: id,
|
|
@@ -77,7 +76,7 @@ var EuiDataGridFooterRow = /*#__PURE__*/(0, _react.memo)( /*#__PURE__*/(0, _reac
|
|
|
77
76
|
var columnType = schema[id] ? schema[id].columnType : null;
|
|
78
77
|
var width = columnWidths[id] || defaultColumnWidth;
|
|
79
78
|
var columnPosition = i + leadingControlColumns.length;
|
|
80
|
-
return (0, _react2.jsx)(
|
|
79
|
+
return (0, _react2.jsx)(_cell.EuiDataGridCell, (0, _extends2.default)({}, sharedCellProps, {
|
|
81
80
|
key: "".concat(columnPosition, ",").concat(visibleRowIndex) // Note: this key should use cell position to match react-window/data cell behavior. See #5720
|
|
82
81
|
,
|
|
83
82
|
colIndex: columnPosition,
|
|
@@ -95,7 +94,7 @@ var EuiDataGridFooterRow = /*#__PURE__*/(0, _react.memo)( /*#__PURE__*/(0, _reac
|
|
|
95
94
|
footerCellRender = _ref4.footerCellRender,
|
|
96
95
|
footerCellProps = _ref4.footerCellProps;
|
|
97
96
|
var colIndex = i + columns.length + leadingControlColumns.length;
|
|
98
|
-
return (0, _react2.jsx)(
|
|
97
|
+
return (0, _react2.jsx)(_cell.EuiDataGridCell, (0, _extends2.default)({}, footerCellProps, sharedCellProps, {
|
|
99
98
|
key: "".concat(id, "-").concat(rowIndex),
|
|
100
99
|
colIndex: colIndex,
|
|
101
100
|
columnId: id,
|
|
@@ -20,8 +20,7 @@ var _react2 = require("@emotion/react");
|
|
|
20
20
|
|
|
21
21
|
var EuiDataGridControlHeaderCell = function EuiDataGridControlHeaderCell(_ref) {
|
|
22
22
|
var controlColumn = _ref.controlColumn,
|
|
23
|
-
index = _ref.index
|
|
24
|
-
headerIsInteractive = _ref.headerIsInteractive;
|
|
23
|
+
index = _ref.index;
|
|
25
24
|
var HeaderCellRender = controlColumn.headerCellRender,
|
|
26
25
|
headerCellProps = controlColumn.headerCellProps,
|
|
27
26
|
width = controlColumn.width,
|
|
@@ -30,8 +29,7 @@ var EuiDataGridControlHeaderCell = function EuiDataGridControlHeaderCell(_ref) {
|
|
|
30
29
|
className: (0, _classnames.default)('euiDataGridHeaderCell--controlColumn', headerCellProps === null || headerCellProps === void 0 ? void 0 : headerCellProps.className),
|
|
31
30
|
id: id,
|
|
32
31
|
index: index,
|
|
33
|
-
width: width
|
|
34
|
-
headerIsInteractive: headerIsInteractive
|
|
32
|
+
width: width
|
|
35
33
|
}), (0, _react2.jsx)("div", {
|
|
36
34
|
className: "euiDataGridHeaderCell__content"
|
|
37
35
|
}, (0, _react2.jsx)(HeaderCellRender, null)));
|
|
@@ -7,8 +7,8 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
});
|
|
8
8
|
exports.useSortingUtils = exports.usePopoverArrowNavigation = exports.EuiDataGridHeaderCell = void 0;
|
|
9
9
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
10
|
-
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
11
10
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
11
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
12
12
|
var _classnames2 = _interopRequireDefault(require("classnames"));
|
|
13
13
|
var _react = _interopRequireWildcard(require("react"));
|
|
14
14
|
var _tabbable = require("tabbable");
|
|
@@ -43,6 +43,7 @@ var _ref2 = process.env.NODE_ENV === "production" ? {
|
|
|
43
43
|
toString: _EMOTION_STRINGIFIED_CSS_ERROR__
|
|
44
44
|
};
|
|
45
45
|
var EuiDataGridHeaderCell = function EuiDataGridHeaderCell(_ref) {
|
|
46
|
+
var _classnames;
|
|
46
47
|
var column = _ref.column,
|
|
47
48
|
index = _ref.index,
|
|
48
49
|
columns = _ref.columns,
|
|
@@ -52,15 +53,13 @@ var EuiDataGridHeaderCell = function EuiDataGridHeaderCell(_ref) {
|
|
|
52
53
|
defaultColumnWidth = _ref.defaultColumnWidth,
|
|
53
54
|
setColumnWidth = _ref.setColumnWidth,
|
|
54
55
|
setVisibleColumns = _ref.setVisibleColumns,
|
|
55
|
-
switchColumnPos = _ref.switchColumnPos
|
|
56
|
-
headerIsInteractive = _ref.headerIsInteractive;
|
|
56
|
+
switchColumnPos = _ref.switchColumnPos;
|
|
57
57
|
var id = column.id,
|
|
58
58
|
display = column.display,
|
|
59
59
|
displayAsText = column.displayAsText,
|
|
60
60
|
displayHeaderCellProps = column.displayHeaderCellProps;
|
|
61
61
|
var width = columnWidths[id] || defaultColumnWidth;
|
|
62
62
|
var columnType = schema[id] ? schema[id].columnType : null;
|
|
63
|
-
var classes = (0, _classnames2.default)((0, _defineProperty2.default)({}, "euiDataGridHeaderCell--".concat(columnType), columnType), displayHeaderCellProps === null || displayHeaderCellProps === void 0 ? void 0 : displayHeaderCellProps.className);
|
|
64
63
|
var _useContext = (0, _react.useContext)(_focus.DataGridFocusContext),
|
|
65
64
|
setFocusedCell = _useContext.setFocusedCell,
|
|
66
65
|
focusFirstVisibleInteractiveCell = _useContext.focusFirstVisibleInteractiveCell;
|
|
@@ -85,6 +84,14 @@ var EuiDataGridHeaderCell = function EuiDataGridHeaderCell(_ref) {
|
|
|
85
84
|
});
|
|
86
85
|
var showColumnActions = columnActions && columnActions.length > 0;
|
|
87
86
|
var actionsButtonRef = (0, _react.useRef)(null);
|
|
87
|
+
var focusActionsButton = (0, _react.useCallback)(function () {
|
|
88
|
+
var _actionsButtonRef$cur;
|
|
89
|
+
(_actionsButtonRef$cur = actionsButtonRef.current) === null || _actionsButtonRef$cur === void 0 ? void 0 : _actionsButtonRef$cur.focus();
|
|
90
|
+
}, []);
|
|
91
|
+
var _useState3 = (0, _react.useState)(false),
|
|
92
|
+
_useState4 = (0, _slicedToArray2.default)(_useState3, 2),
|
|
93
|
+
isActionsButtonFocused = _useState4[0],
|
|
94
|
+
setIsActionsButtonFocused = _useState4[1];
|
|
88
95
|
var _useSortingUtils = useSortingUtils({
|
|
89
96
|
sorting: sorting,
|
|
90
97
|
id: id,
|
|
@@ -105,13 +112,16 @@ var EuiDataGridHeaderCell = function EuiDataGridHeaderCell(_ref) {
|
|
|
105
112
|
title: displayAsText || id,
|
|
106
113
|
className: "euiDataGridHeaderCell__content"
|
|
107
114
|
}, display || displayAsText || id), sortingArrow);
|
|
115
|
+
var classes = (0, _classnames2.default)((_classnames = {}, (0, _defineProperty2.default)(_classnames, "euiDataGridHeaderCell--".concat(columnType), columnType), (0, _defineProperty2.default)(_classnames, 'euiDataGridHeaderCell--hasColumnActions', showColumnActions), (0, _defineProperty2.default)(_classnames, 'euiDataGridHeaderCell--isActionsPopoverOpen', isPopoverOpen), _classnames), displayHeaderCellProps === null || displayHeaderCellProps === void 0 ? void 0 : displayHeaderCellProps.className);
|
|
108
116
|
return (0, _react2.jsx)(_data_grid_header_cell_wrapper.EuiDataGridHeaderCellWrapper, (0, _extends2.default)({}, displayHeaderCellProps, {
|
|
109
117
|
className: classes,
|
|
110
118
|
id: id,
|
|
111
119
|
index: index,
|
|
112
120
|
width: width,
|
|
113
|
-
|
|
114
|
-
|
|
121
|
+
"aria-sort": ariaSort,
|
|
122
|
+
hasActionsPopover: showColumnActions,
|
|
123
|
+
isActionsButtonFocused: isActionsButtonFocused,
|
|
124
|
+
focusActionsButton: focusActionsButton
|
|
115
125
|
}), column.isResizable !== false && width != null ? (0, _react2.jsx)(_data_grid_column_resizer.EuiDataGridColumnResizer, {
|
|
116
126
|
columnId: id,
|
|
117
127
|
columnWidth: width,
|
|
@@ -119,11 +129,16 @@ var EuiDataGridHeaderCell = function EuiDataGridHeaderCell(_ref) {
|
|
|
119
129
|
}) : null, !showColumnActions ? (0, _react2.jsx)(_react.default.Fragment, null, cellContent, sortingScreenReaderText && (0, _react2.jsx)(_accessibility2.EuiScreenReaderOnly, null, (0, _react2.jsx)("p", null, sortingScreenReaderText))) : (0, _react2.jsx)(_react.default.Fragment, null, (0, _react2.jsx)("button", {
|
|
120
130
|
className: "euiDataGridHeaderCell__button",
|
|
121
131
|
onClick: function onClick() {
|
|
122
|
-
|
|
123
|
-
setIsPopoverOpen(function (isPopoverOpen) {
|
|
132
|
+
return setIsPopoverOpen(function (isPopoverOpen) {
|
|
124
133
|
return !isPopoverOpen;
|
|
125
134
|
});
|
|
126
135
|
},
|
|
136
|
+
onFocus: function onFocus() {
|
|
137
|
+
return setIsActionsButtonFocused(true);
|
|
138
|
+
},
|
|
139
|
+
onBlur: function onBlur() {
|
|
140
|
+
return setIsActionsButtonFocused(false);
|
|
141
|
+
},
|
|
127
142
|
"aria-describedby": "".concat(sortingAriaId, " ").concat(actionsAriaId),
|
|
128
143
|
ref: actionsButtonRef,
|
|
129
144
|
"data-test-subj": "dataGridHeaderCellActionButton-".concat(id)
|
|
@@ -137,8 +152,8 @@ var EuiDataGridHeaderCell = function EuiDataGridHeaderCell(_ref) {
|
|
|
137
152
|
focusTrapProps: {
|
|
138
153
|
// We need to override the default EuiPopover `onClickOutside` since the anchor is separate from the actual button
|
|
139
154
|
onClickOutside: function onClickOutside(event) {
|
|
140
|
-
var _actionsButtonRef$
|
|
141
|
-
if (((_actionsButtonRef$
|
|
155
|
+
var _actionsButtonRef$cur2;
|
|
156
|
+
if (((_actionsButtonRef$cur2 = actionsButtonRef.current) === null || _actionsButtonRef$cur2 === void 0 ? void 0 : _actionsButtonRef$cur2.contains(event.target)) === false) {
|
|
142
157
|
setIsPopoverOpen(false);
|
|
143
158
|
}
|
|
144
159
|
}
|
|
@@ -11,11 +11,10 @@ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/sli
|
|
|
11
11
|
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
12
12
|
var _classnames = _interopRequireDefault(require("classnames"));
|
|
13
13
|
var _react = _interopRequireWildcard(require("react"));
|
|
14
|
-
var _tabbable = require("tabbable");
|
|
15
|
-
var _services = require("../../../../services");
|
|
16
14
|
var _focus = require("../../utils/focus");
|
|
15
|
+
var _focus_utils = require("../cell/focus_utils");
|
|
17
16
|
var _react2 = require("@emotion/react");
|
|
18
|
-
var _excluded = ["id", "index", "
|
|
17
|
+
var _excluded = ["id", "index", "width", "className", "children", "hasActionsPopover", "isActionsButtonFocused", "focusActionsButton"];
|
|
19
18
|
/*
|
|
20
19
|
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
|
|
21
20
|
* or more contributor license agreements. Licensed under the Elastic License
|
|
@@ -23,120 +22,66 @@ var _excluded = ["id", "index", "headerIsInteractive", "width", "className", "ch
|
|
|
23
22
|
* in compliance with, at your election, the Elastic License 2.0 or the Server
|
|
24
23
|
* Side Public License, v 1.
|
|
25
24
|
*/
|
|
26
|
-
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
27
|
-
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
28
25
|
/**
|
|
29
26
|
* This is a wrapper that handles repeated concerns between control &
|
|
30
27
|
* standard header cells. Most of its shared logic is around focus state/UX,
|
|
31
28
|
* but it also DRY's out certain class/data-test-subj/style attributes
|
|
32
29
|
*/
|
|
30
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
31
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
33
32
|
var EuiDataGridHeaderCellWrapper = function EuiDataGridHeaderCellWrapper(_ref) {
|
|
34
33
|
var id = _ref.id,
|
|
35
34
|
index = _ref.index,
|
|
36
|
-
headerIsInteractive = _ref.headerIsInteractive,
|
|
37
35
|
width = _ref.width,
|
|
38
36
|
className = _ref.className,
|
|
39
37
|
children = _ref.children,
|
|
38
|
+
hasActionsPopover = _ref.hasActionsPopover,
|
|
39
|
+
isActionsButtonFocused = _ref.isActionsButtonFocused,
|
|
40
|
+
focusActionsButton = _ref.focusActionsButton,
|
|
40
41
|
rest = (0, _objectWithoutProperties2.default)(_ref, _excluded);
|
|
41
42
|
var classes = (0, _classnames.default)('euiDataGridHeaderCell', className);
|
|
43
|
+
|
|
44
|
+
// Must be a state and not a ref to trigger a HandleInteractiveChildren rerender
|
|
45
|
+
var _useState = (0, _react.useState)(null),
|
|
46
|
+
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
47
|
+
headerEl = _useState2[0],
|
|
48
|
+
setHeaderEl = _useState2[1];
|
|
42
49
|
var _useContext = (0, _react.useContext)(_focus.DataGridFocusContext),
|
|
43
50
|
setFocusedCell = _useContext.setFocusedCell,
|
|
44
51
|
onFocusUpdate = _useContext.onFocusUpdate;
|
|
45
|
-
var
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
52
|
+
var updateCellFocusContext = (0, _react.useCallback)(function () {
|
|
53
|
+
setFocusedCell([index, -1]);
|
|
54
|
+
}, [index, setFocusedCell]);
|
|
55
|
+
var _useState3 = (0, _react.useState)(false),
|
|
56
|
+
_useState4 = (0, _slicedToArray2.default)(_useState3, 2),
|
|
57
|
+
isFocused = _useState4[0],
|
|
58
|
+
setIsFocused = _useState4[1];
|
|
49
59
|
(0, _react.useEffect)(function () {
|
|
50
60
|
onFocusUpdate([index, -1], function (isFocused) {
|
|
51
61
|
setIsFocused(isFocused);
|
|
52
62
|
});
|
|
53
63
|
}, [index, onFocusUpdate]);
|
|
54
|
-
var headerRef = (0, _react.useRef)(null);
|
|
55
|
-
var _useState3 = (0, _react.useState)(false),
|
|
56
|
-
_useState4 = (0, _slicedToArray2.default)(_useState3, 2),
|
|
57
|
-
isCellEntered = _useState4[0],
|
|
58
|
-
setIsCellEntered = _useState4[1];
|
|
59
64
|
(0, _react.useEffect)(function () {
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
disableInteractives(headerNode);
|
|
65
|
-
}
|
|
66
|
-
}, [isCellEntered]);
|
|
67
|
-
(0, _react.useEffect)(function () {
|
|
68
|
-
var headerNode = headerRef.current;
|
|
69
|
-
if (isFocused) {
|
|
70
|
-
var interactives = headerNode.querySelectorAll('[data-euigrid-tab-managed]');
|
|
71
|
-
if (interactives.length === 1) {
|
|
72
|
-
setIsCellEntered(true);
|
|
73
|
-
} else {
|
|
74
|
-
headerNode.focus();
|
|
65
|
+
if (isFocused && headerEl) {
|
|
66
|
+
// Only focus the cell if not already focused on something in the cell
|
|
67
|
+
if (!headerEl.contains(document.activeElement)) {
|
|
68
|
+
headerEl.focus();
|
|
75
69
|
}
|
|
76
|
-
} else {
|
|
77
|
-
setIsCellEntered(false);
|
|
78
70
|
}
|
|
71
|
+
}, [isFocused, headerEl]);
|
|
79
72
|
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
e.preventDefault();
|
|
88
|
-
return false;
|
|
89
|
-
} else {
|
|
90
|
-
// take the focus
|
|
91
|
-
if (isFocused === false) {
|
|
92
|
-
setFocusedCell([index, -1]);
|
|
93
|
-
} else {
|
|
94
|
-
// this cell already had the grid's focus, so re-enable and focus interactives
|
|
95
|
-
setIsCellEntered(true);
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
};
|
|
99
|
-
|
|
100
|
-
// focusout bubbles while blur does not, and this needs to react to the children losing focus
|
|
101
|
-
var onFocusOut = function onFocusOut() {
|
|
102
|
-
// wait for the next element to receive focus, then update interactives' state
|
|
103
|
-
requestAnimationFrame(function () {
|
|
104
|
-
if (!headerNode.contains(document.activeElement)) {
|
|
105
|
-
setIsCellEntered(false);
|
|
106
|
-
}
|
|
107
|
-
});
|
|
108
|
-
};
|
|
109
|
-
var onKeyUp = function onKeyUp(event) {
|
|
110
|
-
switch (event.key) {
|
|
111
|
-
case _services.keys.ENTER:
|
|
112
|
-
{
|
|
113
|
-
event.preventDefault();
|
|
114
|
-
setIsCellEntered(true);
|
|
115
|
-
break;
|
|
116
|
-
}
|
|
117
|
-
case _services.keys.ESCAPE:
|
|
118
|
-
{
|
|
119
|
-
event.preventDefault();
|
|
120
|
-
// move focus to cell
|
|
121
|
-
setIsCellEntered(false);
|
|
122
|
-
headerNode.focus();
|
|
123
|
-
break;
|
|
124
|
-
}
|
|
125
|
-
}
|
|
126
|
-
};
|
|
127
|
-
headerNode.addEventListener('focusin', onFocusIn);
|
|
128
|
-
headerNode.addEventListener('focusout', onFocusOut);
|
|
129
|
-
headerNode.addEventListener('keyup', onKeyUp);
|
|
130
|
-
return function () {
|
|
131
|
-
headerNode.removeEventListener('focusin', onFocusIn);
|
|
132
|
-
headerNode.removeEventListener('focusout', onFocusOut);
|
|
133
|
-
headerNode.removeEventListener('keyup', onKeyUp);
|
|
134
|
-
};
|
|
135
|
-
}, [headerIsInteractive, isFocused, index, setFocusedCell]);
|
|
73
|
+
// For cell headers with actions, auto-focus into the button instead of the cell wrapper div
|
|
74
|
+
// The button text is significantly more useful to screen readers (e.g. contains sort order & hints)
|
|
75
|
+
var onFocus = (0, _react.useCallback)(function (e) {
|
|
76
|
+
if (hasActionsPopover && e.target === headerEl) {
|
|
77
|
+
focusActionsButton === null || focusActionsButton === void 0 ? void 0 : focusActionsButton();
|
|
78
|
+
}
|
|
79
|
+
}, [hasActionsPopover, focusActionsButton, headerEl]);
|
|
136
80
|
return (0, _react2.jsx)("div", (0, _extends2.default)({
|
|
137
81
|
role: "columnheader",
|
|
138
|
-
ref:
|
|
139
|
-
tabIndex: isFocused && !
|
|
82
|
+
ref: setHeaderEl,
|
|
83
|
+
tabIndex: isFocused && !isActionsButtonFocused ? 0 : -1,
|
|
84
|
+
onFocus: onFocus,
|
|
140
85
|
className: classes,
|
|
141
86
|
"data-test-subj": "dataGridHeaderCell-".concat(id),
|
|
142
87
|
"data-gridcell-column-id": id,
|
|
@@ -146,29 +91,10 @@ var EuiDataGridHeaderCellWrapper = function EuiDataGridHeaderCellWrapper(_ref) {
|
|
|
146
91
|
style: width != null ? {
|
|
147
92
|
width: "".concat(width, "px")
|
|
148
93
|
} : {}
|
|
149
|
-
}, rest),
|
|
94
|
+
}, rest), (0, _react2.jsx)(_focus_utils.HandleInteractiveChildren, {
|
|
95
|
+
cellEl: headerEl,
|
|
96
|
+
updateCellFocusContext: updateCellFocusContext,
|
|
97
|
+
renderFocusTrap: !hasActionsPopover
|
|
98
|
+
}, children));
|
|
150
99
|
};
|
|
151
|
-
|
|
152
|
-
/**
|
|
153
|
-
* Utility fns for managing child interactive tabIndex state
|
|
154
|
-
*/
|
|
155
|
-
exports.EuiDataGridHeaderCellWrapper = EuiDataGridHeaderCellWrapper;
|
|
156
|
-
var disableInteractives = function disableInteractives(headerNode) {
|
|
157
|
-
var tabbables = (0, _tabbable.tabbable)(headerNode);
|
|
158
|
-
if (tabbables.length > 1) {
|
|
159
|
-
console.warn("EuiDataGridHeaderCell expects at most 1 tabbable element, ".concat(tabbables.length, " found instead"));
|
|
160
|
-
}
|
|
161
|
-
tabbables.forEach(function (element) {
|
|
162
|
-
element.setAttribute('data-euigrid-tab-managed', 'true');
|
|
163
|
-
element.setAttribute('tabIndex', '-1');
|
|
164
|
-
});
|
|
165
|
-
};
|
|
166
|
-
var enableAndFocusInteractives = function enableAndFocusInteractives(headerNode) {
|
|
167
|
-
var interactiveElements = headerNode.querySelectorAll('[data-euigrid-tab-managed]');
|
|
168
|
-
interactiveElements.forEach(function (element, i) {
|
|
169
|
-
element.setAttribute('tabIndex', '0');
|
|
170
|
-
if (i === 0) {
|
|
171
|
-
element.focus();
|
|
172
|
-
}
|
|
173
|
-
});
|
|
174
|
-
};
|
|
100
|
+
exports.EuiDataGridHeaderCellWrapper = EuiDataGridHeaderCellWrapper;
|
|
@@ -14,7 +14,7 @@ var _data_grid_control_header_cell = require("./data_grid_control_header_cell");
|
|
|
14
14
|
var _data_grid_header_cell = require("./data_grid_header_cell");
|
|
15
15
|
var _data_grid_types = require("../../data_grid_types");
|
|
16
16
|
var _react2 = require("@emotion/react");
|
|
17
|
-
var _excluded = ["leadingControlColumns", "trailingControlColumns", "columns", "schema", "schemaDetectors", "columnWidths", "defaultColumnWidth", "className", "setColumnWidth", "setVisibleColumns", "switchColumnPos", "
|
|
17
|
+
var _excluded = ["leadingControlColumns", "trailingControlColumns", "columns", "schema", "schemaDetectors", "columnWidths", "defaultColumnWidth", "className", "setColumnWidth", "setVisibleColumns", "switchColumnPos", "data-test-subj"];
|
|
18
18
|
/*
|
|
19
19
|
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
|
|
20
20
|
* or more contributor license agreements. Licensed under the Elastic License
|
|
@@ -38,7 +38,6 @@ var EuiDataGridHeaderRow = /*#__PURE__*/(0, _react.forwardRef)(function (props,
|
|
|
38
38
|
setColumnWidth = props.setColumnWidth,
|
|
39
39
|
setVisibleColumns = props.setVisibleColumns,
|
|
40
40
|
switchColumnPos = props.switchColumnPos,
|
|
41
|
-
headerIsInteractive = props.headerIsInteractive,
|
|
42
41
|
_dataTestSubj = props['data-test-subj'],
|
|
43
42
|
rest = (0, _objectWithoutProperties2.default)(props, _excluded);
|
|
44
43
|
var classes = (0, _classnames.default)('euiDataGridHeader', className);
|
|
@@ -52,8 +51,7 @@ var EuiDataGridHeaderRow = /*#__PURE__*/(0, _react.forwardRef)(function (props,
|
|
|
52
51
|
return (0, _react2.jsx)(_data_grid_control_header_cell.EuiDataGridControlHeaderCell, {
|
|
53
52
|
key: controlColumn.id,
|
|
54
53
|
index: index,
|
|
55
|
-
controlColumn: controlColumn
|
|
56
|
-
headerIsInteractive: headerIsInteractive
|
|
54
|
+
controlColumn: controlColumn
|
|
57
55
|
});
|
|
58
56
|
}), columns.map(function (column, index) {
|
|
59
57
|
return (0, _react2.jsx)(_data_grid_header_cell.EuiDataGridHeaderCell, {
|
|
@@ -67,15 +65,13 @@ var EuiDataGridHeaderRow = /*#__PURE__*/(0, _react.forwardRef)(function (props,
|
|
|
67
65
|
setColumnWidth: setColumnWidth,
|
|
68
66
|
setVisibleColumns: setVisibleColumns,
|
|
69
67
|
switchColumnPos: switchColumnPos,
|
|
70
|
-
defaultColumnWidth: defaultColumnWidth
|
|
71
|
-
headerIsInteractive: headerIsInteractive
|
|
68
|
+
defaultColumnWidth: defaultColumnWidth
|
|
72
69
|
});
|
|
73
70
|
}), trailingControlColumns.map(function (controlColumn, index) {
|
|
74
71
|
return (0, _react2.jsx)(_data_grid_control_header_cell.EuiDataGridControlHeaderCell, {
|
|
75
72
|
key: controlColumn.id,
|
|
76
73
|
index: index + leadingControlColumns.length + columns.length,
|
|
77
|
-
controlColumn: controlColumn
|
|
78
|
-
headerIsInteractive: headerIsInteractive
|
|
74
|
+
controlColumn: controlColumn
|
|
79
75
|
});
|
|
80
76
|
}));
|
|
81
77
|
});
|
|
@@ -8,14 +8,12 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
8
8
|
exports.useDataGridHeader = void 0;
|
|
9
9
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
10
10
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
11
|
-
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
12
11
|
var _react = _interopRequireWildcard(require("react"));
|
|
13
|
-
var _mutation_observer = require("../../../observer/mutation_observer");
|
|
14
12
|
var _resize_observer = require("../../../observer/resize_observer");
|
|
15
|
-
var _focus = require("../../utils/focus");
|
|
16
13
|
var _data_grid_header_row = require("./data_grid_header_row");
|
|
17
14
|
var _react2 = require("@emotion/react");
|
|
18
|
-
|
|
15
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
16
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
19
17
|
/*
|
|
20
18
|
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
|
|
21
19
|
* or more contributor license agreements. Licensed under the Elastic License
|
|
@@ -23,22 +21,15 @@ var _excluded = ["handleHeaderMutation"];
|
|
|
23
21
|
* in compliance with, at your election, the Elastic License 2.0 or the Server
|
|
24
22
|
* Side Public License, v 1.
|
|
25
23
|
*/
|
|
26
|
-
|
|
27
|
-
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
24
|
+
|
|
28
25
|
/**
|
|
29
26
|
* DRY out setting up the grid header and its refs & observers
|
|
30
27
|
*/
|
|
31
|
-
var useDataGridHeader = function useDataGridHeader(
|
|
32
|
-
var handleHeaderMutation = _ref.handleHeaderMutation,
|
|
33
|
-
props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
|
|
28
|
+
var useDataGridHeader = function useDataGridHeader(props) {
|
|
34
29
|
var _useState = (0, _react.useState)(null),
|
|
35
30
|
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
36
31
|
headerRowRef = _useState2[0],
|
|
37
32
|
setHeaderRowRef = _useState2[1];
|
|
38
|
-
(0, _mutation_observer.useMutationObserver)(headerRowRef, handleHeaderMutation, {
|
|
39
|
-
subtree: true,
|
|
40
|
-
childList: true
|
|
41
|
-
});
|
|
42
33
|
var _useResizeObserver = (0, _resize_observer.useResizeObserver)(headerRowRef, 'height'),
|
|
43
34
|
headerRowHeight = _useResizeObserver.height;
|
|
44
35
|
var headerRow = (0, _react.useMemo)(function () {
|
|
@@ -47,7 +38,6 @@ var useDataGridHeader = function useDataGridHeader(_ref) {
|
|
|
47
38
|
}, props));
|
|
48
39
|
}, Object.values(props)); // eslint-disable-line react-hooks/exhaustive-deps
|
|
49
40
|
|
|
50
|
-
(0, _focus.useHeaderFocusWorkaround)(props.headerIsInteractive);
|
|
51
41
|
return {
|
|
52
42
|
headerRow: headerRow,
|
|
53
43
|
headerRowHeight: headerRowHeight
|
|
@@ -24,8 +24,7 @@ var _controls = require("./controls");
|
|
|
24
24
|
var _sorting = require("./utils/sorting");
|
|
25
25
|
var _focus = require("./utils/focus");
|
|
26
26
|
var _in_memory = require("./utils/in_memory");
|
|
27
|
-
var
|
|
28
|
-
var _data_grid_cell_popover = require("./body/data_grid_cell_popover");
|
|
27
|
+
var _cell = require("./body/cell");
|
|
29
28
|
var _row_count = require("./utils/row_count");
|
|
30
29
|
var _data_grid_pagination = require("./utils/data_grid_pagination");
|
|
31
30
|
var _data_grid_schema = require("./utils/data_grid_schema");
|
|
@@ -207,20 +206,14 @@ var EuiDataGrid = /*#__PURE__*/(0, _react.memo)( /*#__PURE__*/(0, _react.forward
|
|
|
207
206
|
/**
|
|
208
207
|
* Focus
|
|
209
208
|
*/
|
|
210
|
-
var
|
|
211
|
-
headerIsInteractive = _useHeaderIsInteracti.headerIsInteractive,
|
|
212
|
-
handleHeaderMutation = _useHeaderIsInteracti.handleHeaderMutation;
|
|
213
|
-
var _useFocus = (0, _focus.useFocus)({
|
|
214
|
-
headerIsInteractive: headerIsInteractive,
|
|
215
|
-
gridItemsRendered: gridItemsRendered
|
|
216
|
-
}),
|
|
209
|
+
var _useFocus = (0, _focus.useFocus)(),
|
|
217
210
|
wrappingDivFocusProps = _useFocus.focusProps,
|
|
218
211
|
focusContext = (0, _objectWithoutProperties2.default)(_useFocus, _excluded2);
|
|
219
212
|
|
|
220
213
|
/**
|
|
221
214
|
* Cell popover
|
|
222
215
|
*/
|
|
223
|
-
var _useCellPopover = (0,
|
|
216
|
+
var _useCellPopover = (0, _cell.useCellPopover)(),
|
|
224
217
|
cellPopoverContext = _useCellPopover.cellPopoverContext,
|
|
225
218
|
cellPopover = _useCellPopover.cellPopover;
|
|
226
219
|
|
|
@@ -294,7 +287,7 @@ var EuiDataGrid = /*#__PURE__*/(0, _react.memo)( /*#__PURE__*/(0, _react.forward
|
|
|
294
287
|
}
|
|
295
288
|
return (0, _react2.jsx)(_focus.DataGridFocusContext.Provider, {
|
|
296
289
|
value: focusContext
|
|
297
|
-
}, (0, _react2.jsx)(
|
|
290
|
+
}, (0, _react2.jsx)(_cell.DataGridCellPopoverContext.Provider, {
|
|
298
291
|
value: cellPopoverContext
|
|
299
292
|
}, (0, _react2.jsx)(_sorting.DataGridSortingContext.Provider, {
|
|
300
293
|
value: sortingContext
|
|
@@ -341,7 +334,6 @@ var EuiDataGrid = /*#__PURE__*/(0, _react.memo)( /*#__PURE__*/(0, _react.forward
|
|
|
341
334
|
rowCount: rowCount,
|
|
342
335
|
pagination: pagination,
|
|
343
336
|
hasFooter: !!renderFooterCellValue,
|
|
344
|
-
headerIsInteractive: headerIsInteractive,
|
|
345
337
|
focusContext: focusContext
|
|
346
338
|
}),
|
|
347
339
|
"data-test-subj": "euiDataGridBody",
|
|
@@ -358,8 +350,6 @@ var EuiDataGrid = /*#__PURE__*/(0, _react.memo)( /*#__PURE__*/(0, _react.forward
|
|
|
358
350
|
setVisibleColumns: setVisibleColumns,
|
|
359
351
|
switchColumnPos: switchColumnPos,
|
|
360
352
|
onColumnResize: onColumnResize,
|
|
361
|
-
headerIsInteractive: headerIsInteractive,
|
|
362
|
-
handleHeaderMutation: handleHeaderMutation,
|
|
363
353
|
schemaDetectors: allSchemaDetectors,
|
|
364
354
|
pagination: pagination,
|
|
365
355
|
renderCellValue: renderCellValue,
|