@elastic/eui 116.2.0-snapshot.1780097782326 → 116.3.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.
Files changed (25) hide show
  1. package/es/components/date_picker/react-datepicker/src/index.js +1 -5
  2. package/es/components/panel/panel.styles.js +4 -4
  3. package/es/components/panel/split_panel/split_panel.styles.js +1 -1
  4. package/es/components/table/store/store.js +7 -0
  5. package/es/components/table/table.js +7 -2
  6. package/eui.d.ts +14 -2
  7. package/lib/components/date_picker/react-datepicker/src/index.js +0 -4
  8. package/lib/components/panel/panel.styles.js +4 -4
  9. package/lib/components/panel/split_panel/split_panel.styles.js +1 -1
  10. package/lib/components/table/store/store.js +7 -0
  11. package/lib/components/table/table.js +7 -2
  12. package/optimize/es/components/date_picker/react-datepicker/src/index.js +1 -5
  13. package/optimize/es/components/panel/panel.styles.js +4 -4
  14. package/optimize/es/components/panel/split_panel/split_panel.styles.js +1 -1
  15. package/optimize/es/components/table/store/store.js +7 -0
  16. package/optimize/lib/components/date_picker/react-datepicker/src/index.js +0 -4
  17. package/optimize/lib/components/panel/panel.styles.js +4 -4
  18. package/optimize/lib/components/panel/split_panel/split_panel.styles.js +1 -1
  19. package/optimize/lib/components/table/store/store.js +7 -0
  20. package/package.json +3 -4
  21. package/test-env/components/date_picker/react-datepicker/src/index.js +0 -4
  22. package/test-env/components/panel/panel.styles.js +4 -4
  23. package/test-env/components/panel/split_panel/split_panel.styles.js +1 -1
  24. package/test-env/components/table/store/store.js +7 -0
  25. package/test-env/components/table/table.js +7 -2
@@ -42,7 +42,7 @@ import Calendar from "./calendar";
42
42
  import React from "react";
43
43
  import PropTypes from "prop-types";
44
44
  import classnames from "classnames";
45
- import { newDate, now, cloneDate, isMoment, isDate, isBefore, isAfter, equals, setTime, getMillisecond, getSecond, getMinute, getHour, addDays, addMonths, addWeeks, addYears, subtractDays, subtractMonths, subtractWeeks, subtractYears, isSameTime, isDayDisabled, isOutOfBounds, isDayInRange, getEffectiveMinDate, getEffectiveMaxDate, parseDate, safeDateFormat, getHightLightDaysMap, getYear, getMonth } from "./date_utils";
45
+ import { newDate, now, cloneDate, isMoment, isDate, isBefore, isAfter, equals, setTime, getMillisecond, getSecond, getMinute, getHour, addDays, addMonths, addWeeks, addYears, subtractDays, subtractMonths, subtractWeeks, subtractYears, isSameTime, isDayDisabled, isDayInRange, getEffectiveMinDate, getEffectiveMaxDate, parseDate, safeDateFormat, getHightLightDaysMap, getYear, getMonth } from "./date_utils";
46
46
  import { EuiPopover, popoverAnchorPosition } from '../../../popover/popover';
47
47
  import { EuiFieldText } from '../../../form/field_text';
48
48
  import { jsx as ___EmotionJSX } from "@emotion/react";
@@ -254,10 +254,6 @@ var DatePicker = /*#__PURE__*/function (_React$Component) {
254
254
  _defineProperty(_this, "setSelected", function (date, event, keepInput) {
255
255
  var changedDate = date;
256
256
  if (changedDate !== null && isDayDisabled(changedDate, _this.props)) {
257
- if (isOutOfBounds(changedDate, _this.props)) {
258
- _this.props.onChange(date, event);
259
- _this.props.onSelect(changedDate, event);
260
- }
261
257
  return;
262
258
  }
263
259
  if (changedDate !== null && _this.props.selected) {
@@ -31,11 +31,11 @@ var _ref = process.env.NODE_ENV === "production" ? {
31
31
  toString: _EMOTION_STRINGIFIED_CSS_ERROR__
32
32
  };
33
33
  var _ref2 = process.env.NODE_ENV === "production" ? {
34
- name: "1xyrf3k-euiPanel",
35
- styles: "position:relative;flex-grow:0;label:euiPanel;"
34
+ name: "z103qm-euiPanel",
35
+ styles: "position:relative;flex-grow:0;line-height:inherit;label:euiPanel;"
36
36
  } : {
37
- name: "1xyrf3k-euiPanel",
38
- styles: "position:relative;flex-grow:0;label:euiPanel;",
37
+ name: "z103qm-euiPanel",
38
+ styles: "position:relative;flex-grow:0;line-height:inherit;label:euiPanel;",
39
39
  toString: _EMOTION_STRINGIFIED_CSS_ERROR__
40
40
  };
41
41
  export var euiPanelStyles = function euiPanelStyles(euiThemeContext) {
@@ -11,7 +11,7 @@ import { css } from '@emotion/react';
11
11
  import { logicalCSS } from '../../../global_styling';
12
12
  import { highContrastModeStyles } from '../../../global_styling/functions/high_contrast';
13
13
  export var euiSplitPanelOuterStyles = {
14
- euiSplitPanelOuter: /*#__PURE__*/css("display:flex;", logicalCSS('min-width', 0), " overflow:hidden;;label:euiSplitPanelOuter;"),
14
+ euiSplitPanelOuter: /*#__PURE__*/css("display:flex;&:enabled{display:flex;}", logicalCSS('min-width', 0), " overflow:hidden;;label:euiSplitPanelOuter;"),
15
15
  column: process.env.NODE_ENV === "production" ? {
16
16
  name: "ll8kmq-column",
17
17
  styles: "flex-direction:column;label:column;"
@@ -17,6 +17,13 @@ import { createPublisher } from '../../../utils/publisher';
17
17
  */
18
18
 
19
19
  /**
20
+ * EuiTable store that helps with column and width synchronization between
21
+ * the original table and the "virtual" sticky header table.
22
+ *
23
+ * This store is currently only used for these synchronization purposes, but
24
+ * that may extend as we implement resizable columns.
25
+ * If that's not implemented by the time per-axis `position: sticky`
26
+ * is supported in all browsers natively, this can be removed.
20
27
  * @internal
21
28
  */
22
29
 
@@ -125,8 +125,13 @@ EuiTable.propTypes = {
125
125
  */
126
126
  stickyScrollbar: PropTypes.bool,
127
127
  /**
128
- * Enable sticky table header that remains visible when scrolling.
129
- * The header row will be duplicated and positioned with `position: sticky`.
128
+ * When enabled, the table header will stick to the top of the viewport as users
129
+ * scroll through long tables. This enhances usability by maintaining column
130
+ * context during vertical scrolling and unifies the scrolling experience
131
+ * between EuiTable components and EuiDataGrid.
132
+ *
133
+ * This feature should be used in places where it's possible for the table
134
+ * to grow longer than the viewport.
130
135
  *
131
136
  * @beta
132
137
  * @default false
package/eui.d.ts CHANGED
@@ -2267,6 +2267,13 @@ declare module '@elastic/eui/src/components/table/store/store' {
2267
2267
  type EuiTableStoreColumnsMap = ReadonlyMap<string, EuiTableStoreColumnData>;
2268
2268
  type EuiTableStoreColumnWidthsMap = ReadonlyMap<string, number>;
2269
2269
  /**
2270
+ * EuiTable store that helps with column and width synchronization between
2271
+ * the original table and the "virtual" sticky header table.
2272
+ *
2273
+ * This store is currently only used for these synchronization purposes, but
2274
+ * that may extend as we implement resizable columns.
2275
+ * If that's not implemented by the time per-axis `position: sticky`
2276
+ * is supported in all browsers natively, this can be removed.
2270
2277
  * @internal
2271
2278
  */
2272
2279
  export interface EuiTableStore {
@@ -2428,8 +2435,13 @@ declare module '@elastic/eui/src/components/table/table' {
2428
2435
  */
2429
2436
  stickyScrollbar?: boolean;
2430
2437
  /**
2431
- * Enable sticky table header that remains visible when scrolling.
2432
- * The header row will be duplicated and positioned with `position: sticky`.
2438
+ * When enabled, the table header will stick to the top of the viewport as users
2439
+ * scroll through long tables. This enhances usability by maintaining column
2440
+ * context during vertical scrolling and unifies the scrolling experience
2441
+ * between EuiTable components and EuiDataGrid.
2442
+ *
2443
+ * This feature should be used in places where it's possible for the table
2444
+ * to grow longer than the viewport.
2433
2445
  *
2434
2446
  * @beta
2435
2447
  * @default false
@@ -265,10 +265,6 @@ var DatePicker = exports.default = /*#__PURE__*/function (_React$Component) {
265
265
  _defineProperty(_this, "setSelected", function (date, event, keepInput) {
266
266
  var changedDate = date;
267
267
  if (changedDate !== null && (0, _date_utils.isDayDisabled)(changedDate, _this.props)) {
268
- if ((0, _date_utils.isOutOfBounds)(changedDate, _this.props)) {
269
- _this.props.onChange(date, event);
270
- _this.props.onSelect(changedDate, event);
271
- }
272
268
  return;
273
269
  }
274
270
  if (changedDate !== null && _this.props.selected) {
@@ -35,11 +35,11 @@ var _ref = process.env.NODE_ENV === "production" ? {
35
35
  toString: _EMOTION_STRINGIFIED_CSS_ERROR__
36
36
  };
37
37
  var _ref2 = process.env.NODE_ENV === "production" ? {
38
- name: "1xyrf3k-euiPanel",
39
- styles: "position:relative;flex-grow:0;label:euiPanel;"
38
+ name: "z103qm-euiPanel",
39
+ styles: "position:relative;flex-grow:0;line-height:inherit;label:euiPanel;"
40
40
  } : {
41
- name: "1xyrf3k-euiPanel",
42
- styles: "position:relative;flex-grow:0;label:euiPanel;",
41
+ name: "z103qm-euiPanel",
42
+ styles: "position:relative;flex-grow:0;line-height:inherit;label:euiPanel;",
43
43
  toString: _EMOTION_STRINGIFIED_CSS_ERROR__
44
44
  };
45
45
  var euiPanelStyles = exports.euiPanelStyles = function euiPanelStyles(euiThemeContext) {
@@ -15,7 +15,7 @@ function _EMOTION_STRINGIFIED_CSS_ERROR__() { return "You have tried to stringif
15
15
  * Side Public License, v 1.
16
16
  */
17
17
  var euiSplitPanelOuterStyles = exports.euiSplitPanelOuterStyles = {
18
- euiSplitPanelOuter: /*#__PURE__*/(0, _react.css)("display:flex;", (0, _global_styling.logicalCSS)('min-width', 0), " overflow:hidden;;label:euiSplitPanelOuter;"),
18
+ euiSplitPanelOuter: /*#__PURE__*/(0, _react.css)("display:flex;&:enabled{display:flex;}", (0, _global_styling.logicalCSS)('min-width', 0), " overflow:hidden;;label:euiSplitPanelOuter;"),
19
19
  column: process.env.NODE_ENV === "production" ? {
20
20
  name: "ll8kmq-column",
21
21
  styles: "flex-direction:column;label:column;"
@@ -22,6 +22,13 @@ var _publisher = require("../../../utils/publisher");
22
22
  */
23
23
 
24
24
  /**
25
+ * EuiTable store that helps with column and width synchronization between
26
+ * the original table and the "virtual" sticky header table.
27
+ *
28
+ * This store is currently only used for these synchronization purposes, but
29
+ * that may extend as we implement resizable columns.
30
+ * If that's not implemented by the time per-axis `position: sticky`
31
+ * is supported in all browsers natively, this can be removed.
25
32
  * @internal
26
33
  */
27
34
 
@@ -134,8 +134,13 @@ EuiTable.propTypes = {
134
134
  */
135
135
  stickyScrollbar: _propTypes.default.bool,
136
136
  /**
137
- * Enable sticky table header that remains visible when scrolling.
138
- * The header row will be duplicated and positioned with `position: sticky`.
137
+ * When enabled, the table header will stick to the top of the viewport as users
138
+ * scroll through long tables. This enhances usability by maintaining column
139
+ * context during vertical scrolling and unifies the scrolling experience
140
+ * between EuiTable components and EuiDataGrid.
141
+ *
142
+ * This feature should be used in places where it's possible for the table
143
+ * to grow longer than the viewport.
139
144
  *
140
145
  * @beta
141
146
  * @default false
@@ -36,7 +36,7 @@ import Calendar from "./calendar";
36
36
  import React from "react";
37
37
  import PropTypes from "prop-types";
38
38
  import classnames from "classnames";
39
- import { newDate, now, cloneDate, isMoment, isDate, isBefore, isAfter, equals, setTime, getMillisecond, getSecond, getMinute, getHour, addDays, addMonths, addWeeks, addYears, subtractDays, subtractMonths, subtractWeeks, subtractYears, isSameTime, isDayDisabled, isOutOfBounds, isDayInRange, getEffectiveMinDate, getEffectiveMaxDate, parseDate, safeDateFormat, getHightLightDaysMap, getYear, getMonth } from "./date_utils";
39
+ import { newDate, now, cloneDate, isMoment, isDate, isBefore, isAfter, equals, setTime, getMillisecond, getSecond, getMinute, getHour, addDays, addMonths, addWeeks, addYears, subtractDays, subtractMonths, subtractWeeks, subtractYears, isSameTime, isDayDisabled, isDayInRange, getEffectiveMinDate, getEffectiveMaxDate, parseDate, safeDateFormat, getHightLightDaysMap, getYear, getMonth } from "./date_utils";
40
40
  import { EuiPopover, popoverAnchorPosition } from '../../../popover/popover';
41
41
  import { EuiFieldText } from '../../../form/field_text';
42
42
  import { jsx as ___EmotionJSX } from "@emotion/react";
@@ -248,10 +248,6 @@ var DatePicker = /*#__PURE__*/function (_React$Component) {
248
248
  _defineProperty(_this, "setSelected", function (date, event, keepInput) {
249
249
  var changedDate = date;
250
250
  if (changedDate !== null && isDayDisabled(changedDate, _this.props)) {
251
- if (isOutOfBounds(changedDate, _this.props)) {
252
- _this.props.onChange(date, event);
253
- _this.props.onSelect(changedDate, event);
254
- }
255
251
  return;
256
252
  }
257
253
  if (changedDate !== null && _this.props.selected) {
@@ -31,11 +31,11 @@ var _ref = process.env.NODE_ENV === "production" ? {
31
31
  toString: _EMOTION_STRINGIFIED_CSS_ERROR__
32
32
  };
33
33
  var _ref2 = process.env.NODE_ENV === "production" ? {
34
- name: "1xyrf3k-euiPanel",
35
- styles: "position:relative;flex-grow:0;label:euiPanel;"
34
+ name: "z103qm-euiPanel",
35
+ styles: "position:relative;flex-grow:0;line-height:inherit;label:euiPanel;"
36
36
  } : {
37
- name: "1xyrf3k-euiPanel",
38
- styles: "position:relative;flex-grow:0;label:euiPanel;",
37
+ name: "z103qm-euiPanel",
38
+ styles: "position:relative;flex-grow:0;line-height:inherit;label:euiPanel;",
39
39
  toString: _EMOTION_STRINGIFIED_CSS_ERROR__
40
40
  };
41
41
  export var euiPanelStyles = function euiPanelStyles(euiThemeContext) {
@@ -11,7 +11,7 @@ import { css } from '@emotion/react';
11
11
  import { logicalCSS } from '../../../global_styling';
12
12
  import { highContrastModeStyles } from '../../../global_styling/functions/high_contrast';
13
13
  export var euiSplitPanelOuterStyles = {
14
- euiSplitPanelOuter: /*#__PURE__*/css("display:flex;", logicalCSS('min-width', 0), " overflow:hidden;;label:euiSplitPanelOuter;"),
14
+ euiSplitPanelOuter: /*#__PURE__*/css("display:flex;&:enabled{display:flex;}", logicalCSS('min-width', 0), " overflow:hidden;;label:euiSplitPanelOuter;"),
15
15
  column: process.env.NODE_ENV === "production" ? {
16
16
  name: "ll8kmq-column",
17
17
  styles: "flex-direction:column;label:column;"
@@ -17,6 +17,13 @@ import { createPublisher } from '../../../utils/publisher';
17
17
  */
18
18
 
19
19
  /**
20
+ * EuiTable store that helps with column and width synchronization between
21
+ * the original table and the "virtual" sticky header table.
22
+ *
23
+ * This store is currently only used for these synchronization purposes, but
24
+ * that may extend as we implement resizable columns.
25
+ * If that's not implemented by the time per-axis `position: sticky`
26
+ * is supported in all browsers natively, this can be removed.
20
27
  * @internal
21
28
  */
22
29
 
@@ -259,10 +259,6 @@ var DatePicker = exports.default = /*#__PURE__*/function (_React$Component) {
259
259
  (0, _defineProperty2.default)(_this, "setSelected", function (date, event, keepInput) {
260
260
  var changedDate = date;
261
261
  if (changedDate !== null && (0, _date_utils.isDayDisabled)(changedDate, _this.props)) {
262
- if ((0, _date_utils.isOutOfBounds)(changedDate, _this.props)) {
263
- _this.props.onChange(date, event);
264
- _this.props.onSelect(changedDate, event);
265
- }
266
262
  return;
267
263
  }
268
264
  if (changedDate !== null && _this.props.selected) {
@@ -35,11 +35,11 @@ var _ref = process.env.NODE_ENV === "production" ? {
35
35
  toString: _EMOTION_STRINGIFIED_CSS_ERROR__
36
36
  };
37
37
  var _ref2 = process.env.NODE_ENV === "production" ? {
38
- name: "1xyrf3k-euiPanel",
39
- styles: "position:relative;flex-grow:0;label:euiPanel;"
38
+ name: "z103qm-euiPanel",
39
+ styles: "position:relative;flex-grow:0;line-height:inherit;label:euiPanel;"
40
40
  } : {
41
- name: "1xyrf3k-euiPanel",
42
- styles: "position:relative;flex-grow:0;label:euiPanel;",
41
+ name: "z103qm-euiPanel",
42
+ styles: "position:relative;flex-grow:0;line-height:inherit;label:euiPanel;",
43
43
  toString: _EMOTION_STRINGIFIED_CSS_ERROR__
44
44
  };
45
45
  var euiPanelStyles = exports.euiPanelStyles = function euiPanelStyles(euiThemeContext) {
@@ -15,7 +15,7 @@ function _EMOTION_STRINGIFIED_CSS_ERROR__() { return "You have tried to stringif
15
15
  * Side Public License, v 1.
16
16
  */
17
17
  var euiSplitPanelOuterStyles = exports.euiSplitPanelOuterStyles = {
18
- euiSplitPanelOuter: /*#__PURE__*/(0, _react.css)("display:flex;", (0, _global_styling.logicalCSS)('min-width', 0), " overflow:hidden;;label:euiSplitPanelOuter;"),
18
+ euiSplitPanelOuter: /*#__PURE__*/(0, _react.css)("display:flex;&:enabled{display:flex;}", (0, _global_styling.logicalCSS)('min-width', 0), " overflow:hidden;;label:euiSplitPanelOuter;"),
19
19
  column: process.env.NODE_ENV === "production" ? {
20
20
  name: "ll8kmq-column",
21
21
  styles: "flex-direction:column;label:column;"
@@ -22,6 +22,13 @@ var _publisher = require("../../../utils/publisher");
22
22
  */
23
23
 
24
24
  /**
25
+ * EuiTable store that helps with column and width synchronization between
26
+ * the original table and the "virtual" sticky header table.
27
+ *
28
+ * This store is currently only used for these synchronization purposes, but
29
+ * that may extend as we implement resizable columns.
30
+ * If that's not implemented by the time per-axis `position: sticky`
31
+ * is supported in all browsers natively, this can be removed.
25
32
  * @internal
26
33
  */
27
34
 
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@elastic/eui",
3
3
  "description": "Elastic UI Component Library",
4
- "version": "116.2.0-snapshot.1780097782326",
4
+ "version": "116.3.0",
5
5
  "license": "SEE LICENSE IN LICENSE.txt",
6
6
  "main": "lib",
7
7
  "module": "es",
@@ -108,7 +108,7 @@
108
108
  "@cypress/webpack-dev-server": "^1.7.0",
109
109
  "@elastic/charts": "^64.1.0",
110
110
  "@elastic/datemath": "^5.0.3",
111
- "@elastic/eslint-plugin-eui": "2.13.0",
111
+ "@elastic/eslint-plugin-eui": "2.14.0",
112
112
  "@elastic/eui-theme-borealis": "8.0.0",
113
113
  "@emotion/babel-preset-css-prop": "^11.11.0",
114
114
  "@emotion/cache": "^11.11.0",
@@ -272,6 +272,5 @@
272
272
  ],
273
273
  "installConfig": {
274
274
  "hoistingLimits": "workspaces"
275
- },
276
- "stableVersion": "116.2.0"
275
+ }
277
276
  }
@@ -259,10 +259,6 @@ var DatePicker = exports.default = /*#__PURE__*/function (_React$Component) {
259
259
  (0, _defineProperty2.default)(_this, "setSelected", function (date, event, keepInput) {
260
260
  var changedDate = date;
261
261
  if (changedDate !== null && (0, _date_utils.isDayDisabled)(changedDate, _this.props)) {
262
- if ((0, _date_utils.isOutOfBounds)(changedDate, _this.props)) {
263
- _this.props.onChange(date, event);
264
- _this.props.onSelect(changedDate, event);
265
- }
266
262
  return;
267
263
  }
268
264
  if (changedDate !== null && _this.props.selected) {
@@ -35,11 +35,11 @@ var _ref = process.env.NODE_ENV === "production" ? {
35
35
  toString: _EMOTION_STRINGIFIED_CSS_ERROR__
36
36
  };
37
37
  var _ref2 = process.env.NODE_ENV === "production" ? {
38
- name: "1xyrf3k-euiPanel",
39
- styles: "position:relative;flex-grow:0;label:euiPanel;"
38
+ name: "z103qm-euiPanel",
39
+ styles: "position:relative;flex-grow:0;line-height:inherit;label:euiPanel;"
40
40
  } : {
41
- name: "1xyrf3k-euiPanel",
42
- styles: "position:relative;flex-grow:0;label:euiPanel;",
41
+ name: "z103qm-euiPanel",
42
+ styles: "position:relative;flex-grow:0;line-height:inherit;label:euiPanel;",
43
43
  toString: _EMOTION_STRINGIFIED_CSS_ERROR__
44
44
  };
45
45
  var euiPanelStyles = exports.euiPanelStyles = function euiPanelStyles(euiThemeContext) {
@@ -15,7 +15,7 @@ function _EMOTION_STRINGIFIED_CSS_ERROR__() { return "You have tried to stringif
15
15
  * Side Public License, v 1.
16
16
  */
17
17
  var euiSplitPanelOuterStyles = exports.euiSplitPanelOuterStyles = {
18
- euiSplitPanelOuter: /*#__PURE__*/(0, _react.css)("display:flex;", (0, _global_styling.logicalCSS)('min-width', 0), " overflow:hidden;;label:euiSplitPanelOuter;"),
18
+ euiSplitPanelOuter: /*#__PURE__*/(0, _react.css)("display:flex;&:enabled{display:flex;}", (0, _global_styling.logicalCSS)('min-width', 0), " overflow:hidden;;label:euiSplitPanelOuter;"),
19
19
  column: process.env.NODE_ENV === "production" ? {
20
20
  name: "ll8kmq-column",
21
21
  styles: "flex-direction:column;label:column;"
@@ -22,6 +22,13 @@ var _publisher = require("../../../utils/publisher");
22
22
  */
23
23
 
24
24
  /**
25
+ * EuiTable store that helps with column and width synchronization between
26
+ * the original table and the "virtual" sticky header table.
27
+ *
28
+ * This store is currently only used for these synchronization purposes, but
29
+ * that may extend as we implement resizable columns.
30
+ * If that's not implemented by the time per-axis `position: sticky`
31
+ * is supported in all browsers natively, this can be removed.
25
32
  * @internal
26
33
  */
27
34
 
@@ -133,8 +133,13 @@ EuiTable.propTypes = {
133
133
  */
134
134
  stickyScrollbar: _propTypes.default.bool,
135
135
  /**
136
- * Enable sticky table header that remains visible when scrolling.
137
- * The header row will be duplicated and positioned with `position: sticky`.
136
+ * When enabled, the table header will stick to the top of the viewport as users
137
+ * scroll through long tables. This enhances usability by maintaining column
138
+ * context during vertical scrolling and unifies the scrolling experience
139
+ * between EuiTable components and EuiDataGrid.
140
+ *
141
+ * This feature should be used in places where it's possible for the table
142
+ * to grow longer than the viewport.
138
143
  *
139
144
  * @beta
140
145
  * @default false