@elastic/eui 70.0.0 → 70.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.
Files changed (128) hide show
  1. package/dist/eui_theme_dark.css +0 -179
  2. package/dist/eui_theme_dark.min.css +1 -1
  3. package/dist/eui_theme_light.css +0 -179
  4. package/dist/eui_theme_light.min.css +1 -1
  5. package/es/components/badge/beta_badge/beta_badge.js +6 -6
  6. package/es/components/basic_table/in_memory_table.js +8 -0
  7. package/es/components/button/button_display/_button_display.js +7 -6
  8. package/es/components/button/button_display/_button_display.styles.js +4 -4
  9. package/es/components/button/button_display/_button_display_content.js +6 -9
  10. package/es/components/button/button_display/_button_display_content.styles.js +3 -41
  11. package/es/components/datagrid/controls/column_selector.js +1 -1
  12. package/es/components/datagrid/controls/column_sorting.js +1 -1
  13. package/es/components/header/header_links/header_links.js +6 -0
  14. package/es/components/loading/loading_spinner.js +14 -3
  15. package/es/components/loading/loading_spinner.styles.js +11 -7
  16. package/es/components/modal/modal.js +17 -2
  17. package/es/components/page_template/page_template.js +6 -9
  18. package/es/components/popover/popover.js +13 -3
  19. package/es/components/popover/popover_arrow/_popover_arrow.js +1 -0
  20. package/es/components/popover/popover_panel/_popover_panel.js +8 -2
  21. package/es/components/popover/popover_panel/_popover_panel.styles.js +15 -1
  22. package/es/components/search_bar/search_bar.js +39 -5
  23. package/es/components/search_bar/search_box.js +37 -4
  24. package/es/components/tabs/tab.js +33 -13
  25. package/es/components/tabs/tab.styles.js +50 -0
  26. package/es/components/tabs/tabbed_content/tabbed_content.js +16 -0
  27. package/es/components/tabs/tabs.js +20 -14
  28. package/es/components/tabs/tabs.styles.js +23 -0
  29. package/es/components/tour/tour_step.js +6 -0
  30. package/eui.d.ts +110 -47
  31. package/i18ntokens.json +4 -4
  32. package/lib/components/badge/beta_badge/beta_badge.js +6 -10
  33. package/lib/components/basic_table/in_memory_table.js +8 -0
  34. package/lib/components/button/button_display/_button_display.js +7 -6
  35. package/lib/components/button/button_display/_button_display.styles.js +4 -4
  36. package/lib/components/button/button_display/_button_display_content.js +6 -9
  37. package/lib/components/button/button_display/_button_display_content.styles.js +10 -40
  38. package/lib/components/datagrid/controls/column_selector.js +1 -1
  39. package/lib/components/datagrid/controls/column_sorting.js +1 -1
  40. package/lib/components/header/header_links/header_links.js +6 -0
  41. package/lib/components/loading/loading_spinner.js +13 -2
  42. package/lib/components/loading/loading_spinner.styles.js +14 -6
  43. package/lib/components/modal/modal.js +23 -2
  44. package/lib/components/page_template/page_template.js +6 -9
  45. package/lib/components/popover/popover.js +13 -3
  46. package/lib/components/popover/popover_arrow/_popover_arrow.js +1 -0
  47. package/lib/components/popover/popover_panel/_popover_panel.js +8 -2
  48. package/lib/components/popover/popover_panel/_popover_panel.styles.js +16 -1
  49. package/lib/components/search_bar/search_bar.js +40 -5
  50. package/lib/components/search_bar/search_box.js +38 -4
  51. package/lib/components/tabs/tab.js +33 -12
  52. package/lib/components/tabs/tab.styles.js +56 -0
  53. package/lib/components/tabs/tabbed_content/tabbed_content.js +16 -0
  54. package/lib/components/tabs/tabs.js +24 -14
  55. package/lib/components/tabs/tabs.styles.js +34 -0
  56. package/optimize/es/components/badge/beta_badge/beta_badge.js +6 -6
  57. package/optimize/es/components/button/button_display/_button_display.js +6 -5
  58. package/optimize/es/components/button/button_display/_button_display.styles.js +4 -4
  59. package/optimize/es/components/button/button_display/_button_display_content.js +6 -9
  60. package/optimize/es/components/button/button_display/_button_display_content.styles.js +3 -41
  61. package/optimize/es/components/datagrid/controls/column_selector.js +1 -1
  62. package/optimize/es/components/datagrid/controls/column_sorting.js +1 -1
  63. package/optimize/es/components/loading/loading_spinner.js +13 -3
  64. package/optimize/es/components/loading/loading_spinner.styles.js +11 -7
  65. package/optimize/es/components/modal/modal.js +17 -2
  66. package/optimize/es/components/page_template/page_template.js +6 -9
  67. package/optimize/es/components/popover/popover.js +7 -3
  68. package/optimize/es/components/popover/popover_arrow/_popover_arrow.js +1 -0
  69. package/optimize/es/components/popover/popover_panel/_popover_panel.js +6 -1
  70. package/optimize/es/components/popover/popover_panel/_popover_panel.styles.js +15 -1
  71. package/optimize/es/components/search_bar/search_bar.js +31 -5
  72. package/optimize/es/components/search_bar/search_box.js +29 -3
  73. package/optimize/es/components/tabs/tab.js +21 -13
  74. package/optimize/es/components/tabs/tab.styles.js +50 -0
  75. package/optimize/es/components/tabs/tabs.js +20 -14
  76. package/optimize/es/components/tabs/tabs.styles.js +23 -0
  77. package/optimize/lib/components/badge/beta_badge/beta_badge.js +6 -13
  78. package/optimize/lib/components/button/button_display/_button_display.js +7 -6
  79. package/optimize/lib/components/button/button_display/_button_display.styles.js +4 -4
  80. package/optimize/lib/components/button/button_display/_button_display_content.js +6 -9
  81. package/optimize/lib/components/button/button_display/_button_display_content.styles.js +10 -40
  82. package/optimize/lib/components/datagrid/controls/column_selector.js +1 -1
  83. package/optimize/lib/components/datagrid/controls/column_sorting.js +1 -1
  84. package/optimize/lib/components/loading/loading_spinner.js +14 -2
  85. package/optimize/lib/components/loading/loading_spinner.styles.js +14 -6
  86. package/optimize/lib/components/modal/modal.js +22 -2
  87. package/optimize/lib/components/page_template/page_template.js +6 -9
  88. package/optimize/lib/components/popover/popover.js +7 -3
  89. package/optimize/lib/components/popover/popover_arrow/_popover_arrow.js +1 -0
  90. package/optimize/lib/components/popover/popover_panel/_popover_panel.js +6 -1
  91. package/optimize/lib/components/popover/popover_panel/_popover_panel.styles.js +16 -1
  92. package/optimize/lib/components/search_bar/search_bar.js +31 -5
  93. package/optimize/lib/components/search_bar/search_box.js +30 -3
  94. package/optimize/lib/components/tabs/tab.js +21 -12
  95. package/optimize/lib/components/tabs/tab.styles.js +56 -0
  96. package/optimize/lib/components/tabs/tabs.js +24 -14
  97. package/optimize/lib/components/tabs/tabs.styles.js +34 -0
  98. package/package.json +4 -4
  99. package/src/components/datagrid/controls/_data_grid_toolbar.scss +0 -8
  100. package/src/components/index.scss +0 -1
  101. package/src/themes/amsterdam/overrides/_index.scss +0 -1
  102. package/test-env/components/badge/beta_badge/beta_badge.js +6 -13
  103. package/test-env/components/basic_table/in_memory_table.js +8 -0
  104. package/test-env/components/button/button_display/_button_display.js +7 -6
  105. package/test-env/components/button/button_display/_button_display.styles.js +4 -4
  106. package/test-env/components/button/button_display/_button_display_content.js +6 -9
  107. package/test-env/components/button/button_display/_button_display_content.styles.js +10 -40
  108. package/test-env/components/datagrid/controls/column_selector.js +1 -1
  109. package/test-env/components/datagrid/controls/column_sorting.js +1 -1
  110. package/test-env/components/header/header_links/header_links.js +6 -0
  111. package/test-env/components/loading/loading_spinner.js +14 -2
  112. package/test-env/components/loading/loading_spinner.styles.js +14 -6
  113. package/test-env/components/modal/modal.js +22 -2
  114. package/test-env/components/page_template/page_template.js +6 -9
  115. package/test-env/components/popover/popover.js +13 -3
  116. package/test-env/components/popover/popover_arrow/_popover_arrow.js +1 -0
  117. package/test-env/components/popover/popover_panel/_popover_panel.js +8 -2
  118. package/test-env/components/popover/popover_panel/_popover_panel.styles.js +16 -1
  119. package/test-env/components/search_bar/search_bar.js +39 -5
  120. package/test-env/components/search_bar/search_box.js +38 -4
  121. package/test-env/components/tabs/tab.js +33 -12
  122. package/test-env/components/tabs/tab.styles.js +56 -0
  123. package/test-env/components/tabs/tabbed_content/tabbed_content.js +16 -0
  124. package/test-env/components/tabs/tabs.js +24 -14
  125. package/test-env/components/tabs/tabs.styles.js +34 -0
  126. package/src/components/tabs/_index.scss +0 -1
  127. package/src/components/tabs/_tabs.scss +0 -110
  128. package/src/themes/amsterdam/overrides/_tabs.scss +0 -80
@@ -17,7 +17,11 @@ var _react = _interopRequireWildcard(require("react"));
17
17
 
18
18
  var _classnames = _interopRequireDefault(require("classnames"));
19
19
 
20
- var _common = require("../common");
20
+ var _services = require("../../services");
21
+
22
+ var _clone_element = require("../../services/theme/clone_element");
23
+
24
+ var _tabs = require("./tabs.styles");
21
25
 
22
26
  var _react2 = require("@emotion/react");
23
27
 
@@ -27,13 +31,7 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
27
31
 
28
32
  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; }
29
33
 
30
- var sizeToClassNameMap = {
31
- s: 'euiTabs--small',
32
- m: null,
33
- l: 'euiTabs--large',
34
- xl: 'euiTabs--xlarge'
35
- };
36
- var SIZES = (0, _common.keysOf)(sizeToClassNameMap);
34
+ var SIZES = ['s', 'm', 'l', 'xl'];
37
35
  exports.SIZES = SIZES;
38
36
  var EuiTabs = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
39
37
  var children = _ref.children,
@@ -45,16 +43,28 @@ var EuiTabs = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
45
43
  _ref$size = _ref.size,
46
44
  size = _ref$size === void 0 ? 'm' : _ref$size,
47
45
  rest = (0, _objectWithoutProperties2.default)(_ref, _excluded);
48
- var classes = (0, _classnames.default)('euiTabs', sizeToClassNameMap[size], {
49
- 'euiTabs--expand': expand,
50
- 'euiTabs--bottomBorder': bottomBorder
51
- }, className);
46
+ var euiTheme = (0, _services.useEuiTheme)();
47
+ var classes = (0, _classnames.default)('euiTabs', className);
48
+ var tabsStyles = (0, _tabs.euiTabsStyles)(euiTheme);
49
+ var computedStyles = [tabsStyles.euiTabs, tabsStyles[size], bottomBorder && tabsStyles.bottomBorder];
50
+
51
+ var tabItems = _react.default.Children.map(children, function (child) {
52
+ if ( /*#__PURE__*/_react.default.isValidElement(child)) {
53
+ return (0, _clone_element.cloneElementWithCss)(child, {
54
+ // we're passing the parent `size` and `expand` down to the children
55
+ size: size,
56
+ expand: expand
57
+ });
58
+ }
59
+ });
60
+
52
61
  return (0, _react2.jsx)("div", (0, _extends2.default)({
53
62
  ref: ref,
54
- className: classes
63
+ className: classes,
64
+ css: computedStyles
55
65
  }, children && {
56
66
  role: 'tablist'
57
- }, rest), children);
67
+ }, rest), tabItems);
58
68
  });
59
69
  exports.EuiTabs = EuiTabs;
60
70
  EuiTabs.displayName = 'EuiTabs';
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.euiTabsStyles = void 0;
7
+
8
+ var _react = require("@emotion/react");
9
+
10
+ var _global_styling = require("../../global_styling");
11
+
12
+ /*
13
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
14
+ * or more contributor license agreements. Licensed under the Elastic License
15
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
16
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
17
+ * Side Public License, v 1.
18
+ */
19
+ var euiTabsStyles = function euiTabsStyles(euiThemeContext) {
20
+ var euiTheme = euiThemeContext.euiTheme;
21
+ return {
22
+ euiTabs: /*#__PURE__*/(0, _react.css)("display:flex;", (0, _global_styling.logicalCSS)('max-width', '100%'), ";", (0, _global_styling.logicalCSSWithFallback)('overflow-x', 'auto'), ";", (0, _global_styling.logicalCSSWithFallback)('overflow-y', 'hidden'), ";position:relative;flex-shrink:0;;label:euiTabs;"),
23
+ bottomBorder: /*#__PURE__*/(0, _react.css)("box-shadow:inset 0 ", (0, _global_styling.mathWithUnits)(euiTheme.border.width.thin, function (x) {
24
+ return x * -1;
25
+ }), " 0 ", euiTheme.border.color, ";;label:bottomBorder;"),
26
+ // sizes
27
+ s: /*#__PURE__*/(0, _react.css)("gap:", euiTheme.size.m, ";;label:s;"),
28
+ m: /*#__PURE__*/(0, _react.css)("gap:", euiTheme.size.base, ";;label:m;"),
29
+ l: /*#__PURE__*/(0, _react.css)("gap:", euiTheme.size.l, ";;label:l;"),
30
+ xl: /*#__PURE__*/(0, _react.css)("gap:", euiTheme.size.xl, ";;label:xl;")
31
+ };
32
+ };
33
+
34
+ exports.euiTabsStyles = euiTabsStyles;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@elastic/eui",
3
3
  "description": "Elastic UI Component Library",
4
- "version": "70.0.0",
4
+ "version": "70.1.0",
5
5
  "license": "SEE LICENSE IN LICENSE.txt",
6
6
  "main": "lib",
7
7
  "module": "es",
@@ -115,7 +115,7 @@
115
115
  "@cypress/code-coverage": "^3.10.0",
116
116
  "@cypress/react": "^5.10.3",
117
117
  "@cypress/webpack-dev-server": "^1.7.0",
118
- "@elastic/charts": "^50.0.1",
118
+ "@elastic/charts": "^50.0.2",
119
119
  "@elastic/datemath": "^5.0.3",
120
120
  "@elastic/eslint-config-kibana": "^0.15.0",
121
121
  "@emotion/babel-preset-css-prop": "^11.10.0",
@@ -124,6 +124,7 @@
124
124
  "@emotion/eslint-plugin": "^11.10.0",
125
125
  "@emotion/jest": "^11.10.0",
126
126
  "@emotion/react": "^11.10.4",
127
+ "@faker-js/faker": "^7.6.0",
127
128
  "@pmmmwh/react-refresh-webpack-plugin": "^0.5.3",
128
129
  "@svgr/core": "5.5.0",
129
130
  "@svgr/plugin-svgo": "^4.0.3",
@@ -192,7 +193,6 @@
192
193
  "eslint-plugin-react": "^7.21.3",
193
194
  "eslint-plugin-react-hooks": "^4.1.2",
194
195
  "expose-gc": "^1.0.0",
195
- "faker": "^4.1.0",
196
196
  "file-loader": "^6.1.0",
197
197
  "findup": "^0.1.5",
198
198
  "fork-ts-checker-webpack-plugin": "^5.1.0",
@@ -254,8 +254,8 @@
254
254
  },
255
255
  "peerDependencies": {
256
256
  "@elastic/datemath": "^5.0.2",
257
- "@emotion/react": "11.x",
258
257
  "@emotion/css": "11.x",
258
+ "@emotion/react": "11.x",
259
259
  "@types/react": "^16.9 || ^17.0",
260
260
  "@types/react-dom": "^16.9 || ^17.0",
261
261
  "moment": "^2.13.0",
@@ -52,14 +52,6 @@
52
52
  }
53
53
  }
54
54
 
55
- .euiDataGrid__controlPopoverWithDragDrop {
56
- // Hack because the fixed positions of drag and drop don't work inside of transformed elements
57
- // sass-lint:disable-block no-important
58
- transform: none !important;
59
- transition: none !important;
60
- margin-top: -$euiSizeS;
61
- }
62
-
63
55
  .euiDataGrid__controlScroll {
64
56
  @include euiYScrollWithShadows;
65
57
  max-height: $euiDataGridPopoverMaxHeight;
@@ -29,4 +29,3 @@
29
29
  @import 'steps/index';
30
30
  @import 'suggest/index';
31
31
  @import 'table/index';
32
- @import 'tabs/index';
@@ -24,4 +24,3 @@
24
24
  @import 'range_tooltip';
25
25
  @import 'side_nav';
26
26
  @import 'steps';
27
- @import 'tabs';
@@ -2,8 +2,6 @@
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
4
 
5
- var _typeof3 = require("@babel/runtime/helpers/typeof");
6
-
7
5
  Object.defineProperty(exports, "__esModule", {
8
6
  value: true
9
7
  });
@@ -15,7 +13,7 @@ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")
15
13
 
16
14
  var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
17
15
 
18
- var _react = _interopRequireWildcard(require("react"));
16
+ var _react = _interopRequireDefault(require("react"));
19
17
 
20
18
  var _propTypes = _interopRequireDefault(require("prop-types"));
21
19
 
@@ -32,11 +30,6 @@ var _beta_badge = require("./beta_badge.styles");
32
30
  var _react2 = require("@emotion/react");
33
31
 
34
32
  var _excluded = ["className", "label", "color", "tooltipContent", "tooltipPosition", "anchorProps", "title", "iconType", "onClick", "onClickAriaLabel", "href", "rel", "target", "size"];
35
-
36
- 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); }
37
-
38
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof3(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; }
39
-
40
33
  var COLORS = ['accent', 'subdued', 'hollow'];
41
34
  exports.COLORS = COLORS;
42
35
  var SIZES = ['s', 'm'];
@@ -116,7 +109,7 @@ var EuiBetaBadge = function EuiBetaBadge(_ref) {
116
109
  anchorProps: anchorProps
117
110
  }, content);
118
111
  } else {
119
- return (0, _react2.jsx)(_react.Fragment, null, content);
112
+ return (0, _react2.jsx)("span", anchorProps, content);
120
113
  }
121
114
  } else {
122
115
  if (tooltipContent) {
@@ -138,11 +131,11 @@ var EuiBetaBadge = function EuiBetaBadge(_ref) {
138
131
  console.warn("Only string titles are permitted on badges that do not use tooltips. Found: ".concat((0, _typeof2.default)(spanTitle)));
139
132
  }
140
133
 
141
- return (0, _react2.jsx)("span", (0, _extends2.default)({
142
- css: cssStyles,
134
+ return (0, _react2.jsx)("span", anchorProps, (0, _react2.jsx)("span", (0, _extends2.default)({
143
135
  className: classes,
144
- title: spanTitle
145
- }, rest), icon || label);
136
+ title: spanTitle,
137
+ css: cssStyles
138
+ }, rest), icon || label));
146
139
  }
147
140
  }
148
141
  };
@@ -1140,6 +1140,14 @@ EuiInMemoryTable.propTypes = {
1140
1140
  * Date formatter to use when parsing date values
1141
1141
  */
1142
1142
  dateFormat: _propTypes.default.any,
1143
+
1144
+ /**
1145
+ * Hint to render below the search bar
1146
+ */
1147
+ hint: _propTypes.default.shape({
1148
+ content: _propTypes.default.node.isRequired,
1149
+ popoverProps: _propTypes.default.any
1150
+ }),
1143
1151
  className: _propTypes.default.string,
1144
1152
  "aria-label": _propTypes.default.string,
1145
1153
  "data-test-subj": _propTypes.default.string,
@@ -10,10 +10,10 @@ Object.defineProperty(exports, "__esModule", {
10
10
  exports.EuiButtonDisplay = void 0;
11
11
  exports.isButtonDisabled = isButtonDisabled;
12
12
 
13
- var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
14
-
15
13
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
16
14
 
15
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
16
+
17
17
  var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
18
18
 
19
19
  var _react = _interopRequireWildcard(require("react"));
@@ -60,7 +60,8 @@ function isButtonDisabled(_ref) {
60
60
  var EuiButtonDisplay = /*#__PURE__*/(0, _react.forwardRef)(function (_ref2, ref) {
61
61
  var children = _ref2.children,
62
62
  iconType = _ref2.iconType,
63
- iconSide = _ref2.iconSide,
63
+ _ref2$iconSide = _ref2.iconSide,
64
+ iconSide = _ref2$iconSide === void 0 ? 'left' : _ref2$iconSide,
64
65
  iconSize = _ref2.iconSize,
65
66
  _ref2$size = _ref2.size,
66
67
  size = _ref2$size === void 0 ? 'm' : _ref2$size,
@@ -94,7 +95,7 @@ var EuiButtonDisplay = /*#__PURE__*/(0, _react.forwardRef)(function (_ref2, ref)
94
95
  iconType: iconType,
95
96
  iconSide: iconSide,
96
97
  iconSize: iconSize,
97
- textProps: _objectSpread({}, textProps)
98
+ textProps: textProps
98
99
  }, contentProps), children);
99
100
  var element = href && !buttonIsDisabled ? 'a' : 'button';
100
101
  var elementProps = {}; // Element-specific attributes
@@ -122,8 +123,8 @@ var EuiButtonDisplay = /*#__PURE__*/(0, _react.forwardRef)(function (_ref2, ref)
122
123
 
123
124
  return (0, _react2.createElement)(element, _objectSpread(_objectSpread(_objectSpread({
124
125
  css: cssStyles,
125
- style: minWidth ? _objectSpread(_objectSpread({}, style), {}, {
126
- minWidth: minWidth
126
+ style: minWidth != null ? _objectSpread(_objectSpread({}, style), {}, {
127
+ minInlineSize: minWidth
127
128
  }) : style,
128
129
  ref: ref
129
130
  }, elementProps), relObj), rest), innerNode);
@@ -24,11 +24,11 @@ var _buttonSize = function _buttonSize(size) {
24
24
  };
25
25
 
26
26
  var _ref = process.env.NODE_ENV === "production" ? {
27
- name: "vifhyf-isDisabled",
28
- styles: "pointer-events:none;cursor:not-allowed;label:isDisabled;"
27
+ name: "8595p9-isDisabled",
28
+ styles: "cursor:not-allowed;label:isDisabled;"
29
29
  } : {
30
- name: "vifhyf-isDisabled",
31
- styles: "pointer-events:none;cursor:not-allowed;label:isDisabled;",
30
+ name: "8595p9-isDisabled",
31
+ styles: "cursor:not-allowed;label:isDisabled;",
32
32
  toString: _EMOTION_STRINGIFIED_CSS_ERROR__
33
33
  };
34
34
 
@@ -43,13 +43,12 @@ var EuiButtonDisplayContent = function EuiButtonDisplayContent(_ref) {
43
43
  iconType = _ref.iconType,
44
44
  _ref$iconSize = _ref.iconSize,
45
45
  iconSize = _ref$iconSize === void 0 ? 'm' : _ref$iconSize,
46
- iconSide = _ref.iconSide,
46
+ _ref$iconSide = _ref.iconSide,
47
+ iconSide = _ref$iconSide === void 0 ? 'left' : _ref$iconSide,
47
48
  contentProps = (0, _objectWithoutProperties2.default)(_ref, _excluded);
48
49
  var theme = (0, _services.useEuiTheme)();
49
50
  var styles = (0, _button_display_content.euiButtonDisplayContentStyles)(theme);
50
- var cssStyles = [styles.euiButtonDisplayContent, iconSide && styles[iconSide]];
51
- var cssSpinnerStyles = [styles.euiButtonDisplayContent__spinner];
52
- var cssIconStyles = [styles.euiButtonDisplayContent__icon, iconSize && styles[iconSize]]; // Add an icon to the button if one exists.
51
+ var cssStyles = [styles.euiButtonDisplayContent]; // Add an icon to the button if one exists.
53
52
 
54
53
  var icon; // When the button is disabled the text gets gray
55
54
  // and in some buttons the background gets a light gray
@@ -58,18 +57,16 @@ var EuiButtonDisplayContent = function EuiButtonDisplayContent(_ref) {
58
57
  // are always visible. The default spinner color could be very light.
59
58
 
60
59
  var loadingSpinnerColor = isDisabled ? {
61
- border: 'currentColor'
60
+ border: 'currentcolor'
62
61
  } : undefined;
63
62
 
64
63
  if (isLoading) {
65
64
  icon = (0, _react2.jsx)(_loading.EuiLoadingSpinner, {
66
- css: cssSpinnerStyles,
67
65
  size: iconSize,
68
66
  color: loadingSpinnerColor
69
67
  });
70
68
  } else if (iconType) {
71
69
  icon = (0, _react2.jsx)(_icon.EuiIcon, {
72
- css: cssIconStyles,
73
70
  type: iconType,
74
71
  size: iconSize,
75
72
  color: "inherit" // forces the icon to inherit its parent color
@@ -80,9 +77,9 @@ var EuiButtonDisplayContent = function EuiButtonDisplayContent(_ref) {
80
77
  var isText = typeof children === 'string';
81
78
  return (0, _react2.jsx)("span", (0, _extends2.default)({
82
79
  css: cssStyles
83
- }, contentProps), icon, isText ? (0, _react2.jsx)("span", (0, _extends2.default)({}, textProps, {
80
+ }, contentProps), iconSide === 'left' && icon, isText || textProps ? (0, _react2.jsx)("span", (0, _extends2.default)({}, textProps, {
84
81
  className: (0, _classnames.default)('eui-textTruncate', textProps === null || textProps === void 0 ? void 0 : textProps.className)
85
- }), children) : children);
82
+ }), children) : children, iconSide === 'right' && icon);
86
83
  };
87
84
 
88
85
  exports.EuiButtonDisplayContent = EuiButtonDisplayContent;
@@ -9,48 +9,18 @@ var _react = require("@emotion/react");
9
9
 
10
10
  var _global_styling = require("../../../global_styling");
11
11
 
12
- 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)."; }
13
-
14
- var _ref = process.env.NODE_ENV === "production" ? {
15
- name: "gtg6j-euiButtonDisplayContent__icon",
16
- styles: "flex-shrink:0;label:euiButtonDisplayContent__icon;"
17
- } : {
18
- name: "gtg6j-euiButtonDisplayContent__icon",
19
- styles: "flex-shrink:0;label:euiButtonDisplayContent__icon;",
20
- toString: _EMOTION_STRINGIFIED_CSS_ERROR__
21
- };
22
-
23
- var _ref2 = process.env.NODE_ENV === "production" ? {
24
- name: "10wlo76-euiButtonDisplayContent__spinner",
25
- styles: "flex-shrink:0;label:euiButtonDisplayContent__spinner;"
26
- } : {
27
- name: "10wlo76-euiButtonDisplayContent__spinner",
28
- styles: "flex-shrink:0;label:euiButtonDisplayContent__spinner;",
29
- toString: _EMOTION_STRINGIFIED_CSS_ERROR__
30
- };
31
-
32
- var _ref3 = process.env.NODE_ENV === "production" ? {
33
- name: "qfl6yj-right",
34
- styles: "flex-direction:row-reverse;label:right;"
35
- } : {
36
- name: "qfl6yj-right",
37
- styles: "flex-direction:row-reverse;label:right;",
38
- toString: _EMOTION_STRINGIFIED_CSS_ERROR__
39
- };
40
-
41
- var euiButtonDisplayContentStyles = function euiButtonDisplayContentStyles(_ref4) {
42
- var euiTheme = _ref4.euiTheme;
12
+ /*
13
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
14
+ * or more contributor license agreements. Licensed under the Elastic License
15
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
16
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
17
+ * Side Public License, v 1.
18
+ */
19
+ var euiButtonDisplayContentStyles = function euiButtonDisplayContentStyles(_ref) {
20
+ var euiTheme = _ref.euiTheme;
43
21
  return {
44
22
  // Base
45
- euiButtonDisplayContent: /*#__PURE__*/(0, _react.css)((0, _global_styling.logicalCSS)('height', '100%'), ";", (0, _global_styling.logicalCSS)('width', '100%'), ";display:flex;justify-content:center;align-items:center;vertical-align:middle;gap:", euiTheme.size.s, ";;label:euiButtonDisplayContent;"),
46
- // Icon side
47
- left: /*#__PURE__*/(0, _react.css)(";label:left;"),
48
- right: _ref3,
49
- euiButtonDisplayContent__spinner: _ref2,
50
- euiButtonDisplayContent__icon: _ref,
51
- // Icon size
52
- s: /*#__PURE__*/(0, _react.css)(";label:s;"),
53
- m: /*#__PURE__*/(0, _react.css)(";label:m;")
23
+ euiButtonDisplayContent: /*#__PURE__*/(0, _react.css)((0, _global_styling.logicalCSS)('height', '100%'), ";", (0, _global_styling.logicalCSS)('width', '100%'), ";display:flex;justify-content:center;align-items:center;vertical-align:middle;gap:", euiTheme.size.s, ";;label:euiButtonDisplayContent;")
54
24
  };
55
25
  };
56
26
 
@@ -138,7 +138,7 @@ var useDataGridColumnSelector = function useDataGridColumnSelector(availableColu
138
138
  },
139
139
  anchorPosition: "downLeft",
140
140
  panelPaddingSize: "s",
141
- panelClassName: "euiDataGrid__controlPopoverWithDragDrop",
141
+ hasDragDrop: true,
142
142
  button: (0, _react2.jsx)(_button.EuiButtonEmpty, {
143
143
  size: "xs",
144
144
  iconType: allowColumnHiding ? 'listAdd' : 'list',
@@ -150,7 +150,7 @@ var useDataGridColumnSorting = function useDataGridColumnSorting(columns, sortin
150
150
  },
151
151
  anchorPosition: "downLeft",
152
152
  panelPaddingSize: "s",
153
- panelClassName: "euiDataGrid__controlPopoverWithDragDrop",
153
+ hasDragDrop: true,
154
154
  button: (0, _react2.jsx)(_button.EuiButtonEmpty, {
155
155
  size: "xs",
156
156
  iconType: "sortable",
@@ -260,6 +260,12 @@ EuiHeaderLinks.propTypes = {
260
260
  */
261
261
  repositionOnScroll: _propTypes.default.bool,
262
262
 
263
+ /**
264
+ * Must be set to true if using `EuiDragDropContext` within a popover,
265
+ * otherwise your nested drag & drop will have incorrect positioning
266
+ */
267
+ hasDragDrop: _propTypes.default.bool,
268
+
263
269
  /**
264
270
  * By default, popover content inherits the z-index of the anchor
265
271
  * component; pass `zIndex` to override
@@ -9,6 +9,8 @@ exports.SIZES = exports.EuiLoadingSpinner = void 0;
9
9
 
10
10
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
11
 
12
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
13
+
12
14
  var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
13
15
 
14
16
  var _react = _interopRequireDefault(require("react"));
@@ -25,7 +27,12 @@ var _loading_spinner = require("./loading_spinner.styles");
25
27
 
26
28
  var _react2 = require("@emotion/react");
27
29
 
28
- var _excluded = ["size", "className", "aria-label", "color"];
30
+ var _excluded = ["size", "className", "aria-label", "color", "style"];
31
+
32
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
33
+
34
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
35
+
29
36
  var SIZES = ['s', 'm', 'l', 'xl', 'xxl'];
30
37
  exports.SIZES = SIZES;
31
38
 
@@ -35,15 +42,20 @@ var EuiLoadingSpinner = function EuiLoadingSpinner(_ref) {
35
42
  className = _ref.className,
36
43
  ariaLabel = _ref['aria-label'],
37
44
  color = _ref.color,
45
+ style = _ref.style,
38
46
  rest = (0, _objectWithoutProperties2.default)(_ref, _excluded);
39
47
  var euiTheme = (0, _services.useEuiTheme)();
40
- var styles = (0, _loading_spinner.euiLoadingSpinnerStyles)(euiTheme, color);
48
+ var styles = (0, _loading_spinner.euiLoadingSpinnerStyles)(euiTheme);
41
49
  var cssStyles = [styles.euiLoadingSpinner, styles[size]];
42
50
  var classes = (0, _classnames.default)('euiLoadingSpinner', className);
43
51
  var defaultLabel = (0, _loading_strings.useLoadingAriaLabel)();
52
+ var customColorStyle = color ? _objectSpread(_objectSpread({}, style), {}, {
53
+ borderColor: (0, _loading_spinner.euiSpinnerBorderColorsCSS)(euiTheme, color)
54
+ }) : style;
44
55
  return (0, _react2.jsx)("span", (0, _extends2.default)({
45
56
  className: classes,
46
57
  css: cssStyles,
58
+ style: customColorStyle,
47
59
  role: "progressbar",
48
60
  "aria-label": ariaLabel || defaultLabel
49
61
  }, rest));
@@ -5,7 +5,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
- exports.euiLoadingSpinnerStyles = void 0;
8
+ exports.euiSpinnerBorderColorsCSS = exports.euiLoadingSpinnerStyles = void 0;
9
9
 
10
10
  var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
11
11
 
@@ -25,14 +25,22 @@ var spinnerSizes = {
25
25
  xxl: 'xxl'
26
26
  };
27
27
 
28
- var spinnerColorsCSS = function spinnerColorsCSS(border, highlight) {
29
- return "\n border-color: ".concat(highlight, " ").concat(border, " ").concat(border, " ").concat(border, ";\n ");
28
+ var euiSpinnerBorderColorsCSS = function euiSpinnerBorderColorsCSS(_ref) {
29
+ var euiTheme = _ref.euiTheme;
30
+ var colors = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
31
+ var _colors$border = colors.border,
32
+ border = _colors$border === void 0 ? euiTheme.colors.lightShade : _colors$border,
33
+ _colors$highlight = colors.highlight,
34
+ highlight = _colors$highlight === void 0 ? euiTheme.colors.primary : _colors$highlight;
35
+ return "".concat(highlight, " ").concat(border, " ").concat(border, " ").concat(border);
30
36
  };
31
37
 
32
- var euiLoadingSpinnerStyles = function euiLoadingSpinnerStyles(_ref, color) {
33
- var euiTheme = _ref.euiTheme;
38
+ exports.euiSpinnerBorderColorsCSS = euiSpinnerBorderColorsCSS;
39
+
40
+ var euiLoadingSpinnerStyles = function euiLoadingSpinnerStyles(euiThemeContext) {
41
+ var euiTheme = euiThemeContext.euiTheme;
34
42
  return {
35
- euiLoadingSpinner: /*#__PURE__*/(0, _react.css)("flex-shrink:0;display:inline-block;border-radius:50%;border:", euiTheme.border.thick, ";", spinnerColorsCSS((color === null || color === void 0 ? void 0 : color.border) || euiTheme.colors.lightShade, (color === null || color === void 0 ? void 0 : color.highlight) || euiTheme.colors.primary), ";", _global_styling.euiCanAnimate, "{animation:", _loadingSpinner, " 0.6s infinite linear;};label:euiLoadingSpinner;"),
43
+ euiLoadingSpinner: /*#__PURE__*/(0, _react.css)("flex-shrink:0;display:inline-block;border-radius:50%;border:", euiTheme.border.thick, ";border-color:", euiSpinnerBorderColorsCSS(euiThemeContext), ";", _global_styling.euiCanAnimate, "{animation:", _loadingSpinner, " 0.6s infinite linear;};label:euiLoadingSpinner;"),
36
44
  // Sizes
37
45
  s: /*#__PURE__*/(0, _react.css)((0, _global_styling.logicalSizeCSS)(euiTheme.size[spinnerSizes.s], euiTheme.size[spinnerSizes.s]), " border-width:calc(", euiTheme.border.width.thin, " * 1.5);;label:s;"),
38
46
  m: /*#__PURE__*/(0, _react.css)((0, _global_styling.logicalSizeCSS)(euiTheme.size[spinnerSizes.m], euiTheme.size[spinnerSizes.m]), " border-width:calc(", euiTheme.border.width.thin, " * 1.5);;label:m;"),
@@ -2,6 +2,8 @@
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
4
 
5
+ var _typeof = require("@babel/runtime/helpers/typeof");
6
+
5
7
  Object.defineProperty(exports, "__esModule", {
6
8
  value: true
7
9
  });
@@ -13,7 +15,7 @@ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/de
13
15
 
14
16
  var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
15
17
 
16
- var _react = _interopRequireDefault(require("react"));
18
+ var _react = _interopRequireWildcard(require("react"));
17
19
 
18
20
  var _propTypes = _interopRequireDefault(require("prop-types"));
19
21
 
@@ -33,6 +35,10 @@ var _react2 = require("@emotion/react");
33
35
 
34
36
  var _excluded = ["className", "children", "initialFocus", "onClose", "maxWidth", "style"];
35
37
 
38
+ 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); }
39
+
40
+ 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; }
41
+
36
42
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
37
43
 
38
44
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
@@ -46,6 +52,18 @@ var EuiModal = function EuiModal(_ref) {
46
52
  maxWidth = _ref$maxWidth === void 0 ? true : _ref$maxWidth,
47
53
  style = _ref.style,
48
54
  rest = (0, _objectWithoutProperties2.default)(_ref, _excluded);
55
+ // TODO: Remove this onFocus scroll workaround after react-focus-on supports focusOptions
56
+ // @see https://github.com/elastic/eui/issues/6304
57
+ var bodyScrollTop = (0, _react.useRef)(typeof window === 'undefined' ? undefined : window.scrollY // Account for SSR
58
+ );
59
+ var onFocus = (0, _react.useCallback)(function () {
60
+ if (bodyScrollTop.current != null) {
61
+ window.scrollTo({
62
+ top: bodyScrollTop.current
63
+ });
64
+ bodyScrollTop.current = undefined; // Unset after first auto focus
65
+ }
66
+ }, []);
49
67
 
50
68
  var onKeyDown = function onKeyDown(event) {
51
69
  if (event.key === _services.keys.ESCAPE) {
@@ -69,11 +87,13 @@ var EuiModal = function EuiModal(_ref) {
69
87
 
70
88
  var classes = (0, _classnames.default)('euiModal', widthClassName, className);
71
89
  return (0, _react2.jsx)(_overlay_mask.EuiOverlayMask, null, (0, _react2.jsx)(_focus_trap.EuiFocusTrap, {
72
- initialFocus: initialFocus
90
+ initialFocus: initialFocus,
91
+ scrollLock: true
73
92
  }, (0, _react2.jsx)("div", (0, _extends2.default)({
74
93
  className: classes,
75
94
  onKeyDown: onKeyDown,
76
95
  tabIndex: 0,
96
+ onFocus: onFocus,
77
97
  style: newStyle || style
78
98
  }, rest), (0, _react2.jsx)(_i18n.EuiI18n, {
79
99
  token: "euiModal.closeModal",
@@ -157,15 +157,12 @@ var _EuiPageTemplate = function _EuiPageTemplate(_ref) {
157
157
  _react.default.Children.toArray(children).forEach(function (child, index) {
158
158
  if (! /*#__PURE__*/_react.default.isValidElement(child)) return; // Skip non-components
159
159
 
160
- switch (child.type) {
161
- case _page.EuiPageSidebar:
162
- sidebar.push( /*#__PURE__*/_react.default.cloneElement(child, _objectSpread(_objectSpread({
163
- key: "sidebar".concat(index)
164
- }, getSideBarProps()), child.props)));
165
- break;
166
-
167
- default:
168
- sections.push(child);
160
+ if (child.type === _page.EuiPageSidebar || child.props.__EMOTION_TYPE_PLEASE_DO_NOT_USE__ === _page.EuiPageSidebar) {
161
+ sidebar.push( /*#__PURE__*/_react.default.cloneElement(child, _objectSpread(_objectSpread({
162
+ key: "sidebar".concat(index)
163
+ }, getSideBarProps()), child.props)));
164
+ } else {
165
+ sections.push(child);
169
166
  }
170
167
  });
171
168