@elastic/eui 70.0.0 → 70.2.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 (209) hide show
  1. package/dist/eui_theme_dark.css +11 -180
  2. package/dist/eui_theme_dark.min.css +1 -1
  3. package/dist/eui_theme_light.css +11 -180
  4. package/dist/eui_theme_light.min.css +1 -1
  5. package/es/components/accessibility/screen_reader_only/screen_reader_only.js +1 -1
  6. package/es/components/accessibility/screen_reader_only/screen_reader_only.styles.js +1 -1
  7. package/es/components/accordion/accordion.a11y.js +35 -0
  8. package/es/components/badge/beta_badge/beta_badge.js +6 -6
  9. package/es/components/basic_table/in_memory_table.js +8 -0
  10. package/es/components/button/button_display/_button_display.js +7 -6
  11. package/es/components/button/button_display/_button_display.styles.js +4 -4
  12. package/es/components/button/button_display/_button_display_content.js +6 -9
  13. package/es/components/button/button_display/_button_display_content.styles.js +3 -41
  14. package/es/components/card/card.js +13 -31
  15. package/es/components/card/card.styles.js +15 -3
  16. package/es/components/card/card_select/card_select.styles.js +4 -4
  17. package/es/components/card/checkable_card/checkable_card.js +3 -2
  18. package/es/components/context_menu/context_menu_panel.a11y.js +34 -0
  19. package/es/components/datagrid/controls/column_selector.js +1 -1
  20. package/es/components/datagrid/controls/column_sorting.js +1 -1
  21. package/es/components/datagrid/controls/data_grid_toolbar.js +6 -2
  22. package/es/components/datagrid/controls/index.js +1 -0
  23. package/es/components/datagrid/controls/keyboard_shortcuts.js +191 -0
  24. package/es/components/datagrid/data_grid.js +12 -2
  25. package/es/components/date_picker/super_date_picker/super_date_picker.js +22 -4
  26. package/es/components/header/header_links/header_links.js +6 -0
  27. package/es/components/loading/loading_spinner.js +14 -3
  28. package/es/components/loading/loading_spinner.styles.js +11 -7
  29. package/es/components/modal/modal.js +17 -2
  30. package/es/components/page_template/page_template.js +6 -9
  31. package/es/components/popover/popover.js +13 -3
  32. package/es/components/popover/popover_arrow/_popover_arrow.js +1 -0
  33. package/es/components/popover/popover_panel/_popover_panel.js +8 -2
  34. package/es/components/popover/popover_panel/_popover_panel.styles.js +15 -1
  35. package/es/components/search_bar/search_bar.js +39 -5
  36. package/es/components/search_bar/search_box.js +37 -4
  37. package/es/components/selectable/selectable.a11y.js +118 -0
  38. package/es/components/selectable/selectable.js +9 -6
  39. package/es/components/tabs/tab.js +31 -7
  40. package/es/components/tabs/tab.styles.js +63 -0
  41. package/es/components/tabs/tabbed_content/tabbed_content.js +17 -1
  42. package/es/components/tabs/tabs.js +20 -14
  43. package/es/components/tabs/tabs.styles.js +21 -0
  44. package/es/components/tour/tour_step.js +6 -0
  45. package/es/services/string/to_initials.js +1 -1
  46. package/eui.d.ts +305 -198
  47. package/i18ntokens.json +442 -10
  48. package/lib/components/accessibility/screen_reader_only/screen_reader_only.js +1 -1
  49. package/lib/components/accessibility/screen_reader_only/screen_reader_only.styles.js +1 -1
  50. package/lib/components/accordion/accordion.a11y.js +44 -0
  51. package/lib/components/badge/beta_badge/beta_badge.js +6 -10
  52. package/lib/components/basic_table/in_memory_table.js +8 -0
  53. package/lib/components/button/button_display/_button_display.js +7 -6
  54. package/lib/components/button/button_display/_button_display.styles.js +4 -4
  55. package/lib/components/button/button_display/_button_display_content.js +6 -9
  56. package/lib/components/button/button_display/_button_display_content.styles.js +10 -40
  57. package/lib/components/card/card.js +14 -33
  58. package/lib/components/card/card.styles.js +15 -3
  59. package/lib/components/card/card_select/card_select.styles.js +4 -4
  60. package/lib/components/card/checkable_card/checkable_card.js +3 -2
  61. package/lib/components/context_menu/context_menu_panel.a11y.js +42 -0
  62. package/lib/components/datagrid/controls/column_selector.js +1 -1
  63. package/lib/components/datagrid/controls/column_sorting.js +1 -1
  64. package/lib/components/datagrid/controls/data_grid_toolbar.js +7 -2
  65. package/lib/components/datagrid/controls/index.js +8 -0
  66. package/lib/components/datagrid/controls/keyboard_shortcuts.js +208 -0
  67. package/lib/components/datagrid/data_grid.js +11 -1
  68. package/lib/components/date_picker/super_date_picker/super_date_picker.js +22 -4
  69. package/lib/components/header/header_links/header_links.js +6 -0
  70. package/lib/components/loading/loading_spinner.js +13 -2
  71. package/lib/components/loading/loading_spinner.styles.js +14 -6
  72. package/lib/components/modal/modal.js +23 -2
  73. package/lib/components/page_template/page_template.js +6 -9
  74. package/lib/components/popover/popover.js +13 -3
  75. package/lib/components/popover/popover_arrow/_popover_arrow.js +1 -0
  76. package/lib/components/popover/popover_panel/_popover_panel.js +8 -2
  77. package/lib/components/popover/popover_panel/_popover_panel.styles.js +16 -1
  78. package/lib/components/search_bar/search_bar.js +40 -5
  79. package/lib/components/search_bar/search_box.js +38 -4
  80. package/lib/components/selectable/selectable.a11y.js +122 -0
  81. package/lib/components/selectable/selectable.js +9 -6
  82. package/lib/components/tabs/tab.js +31 -6
  83. package/lib/components/tabs/tab.styles.js +69 -0
  84. package/lib/components/tabs/tabbed_content/tabbed_content.js +17 -1
  85. package/lib/components/tabs/tabs.js +24 -14
  86. package/lib/components/tabs/tabs.styles.js +32 -0
  87. package/lib/services/string/to_initials.js +1 -1
  88. package/optimize/es/components/accessibility/screen_reader_only/screen_reader_only.styles.js +1 -1
  89. package/optimize/es/components/accordion/accordion.a11y.js +35 -0
  90. package/optimize/es/components/badge/beta_badge/beta_badge.js +6 -6
  91. package/optimize/es/components/button/button_display/_button_display.js +6 -5
  92. package/optimize/es/components/button/button_display/_button_display.styles.js +4 -4
  93. package/optimize/es/components/button/button_display/_button_display_content.js +6 -9
  94. package/optimize/es/components/button/button_display/_button_display_content.styles.js +3 -41
  95. package/optimize/es/components/card/card.js +12 -30
  96. package/optimize/es/components/card/card.styles.js +15 -3
  97. package/optimize/es/components/card/card_select/card_select.styles.js +4 -4
  98. package/optimize/es/components/card/checkable_card/checkable_card.js +3 -2
  99. package/optimize/es/components/context_menu/context_menu_panel.a11y.js +34 -0
  100. package/optimize/es/components/datagrid/controls/column_selector.js +1 -1
  101. package/optimize/es/components/datagrid/controls/column_sorting.js +1 -1
  102. package/optimize/es/components/datagrid/controls/data_grid_toolbar.js +6 -2
  103. package/optimize/es/components/datagrid/controls/index.js +1 -0
  104. package/optimize/es/components/datagrid/controls/keyboard_shortcuts.js +181 -0
  105. package/optimize/es/components/datagrid/data_grid.js +6 -2
  106. package/optimize/es/components/date_picker/super_date_picker/super_date_picker.js +12 -4
  107. package/optimize/es/components/loading/loading_spinner.js +13 -3
  108. package/optimize/es/components/loading/loading_spinner.styles.js +11 -7
  109. package/optimize/es/components/modal/modal.js +17 -2
  110. package/optimize/es/components/page_template/page_template.js +6 -9
  111. package/optimize/es/components/popover/popover.js +7 -3
  112. package/optimize/es/components/popover/popover_arrow/_popover_arrow.js +1 -0
  113. package/optimize/es/components/popover/popover_panel/_popover_panel.js +6 -1
  114. package/optimize/es/components/popover/popover_panel/_popover_panel.styles.js +15 -1
  115. package/optimize/es/components/search_bar/search_bar.js +31 -5
  116. package/optimize/es/components/search_bar/search_box.js +29 -3
  117. package/optimize/es/components/selectable/selectable.a11y.js +107 -0
  118. package/optimize/es/components/selectable/selectable.js +9 -6
  119. package/optimize/es/components/tabs/tab.js +19 -7
  120. package/optimize/es/components/tabs/tab.styles.js +63 -0
  121. package/optimize/es/components/tabs/tabs.js +20 -14
  122. package/optimize/es/components/tabs/tabs.styles.js +21 -0
  123. package/optimize/es/services/string/to_initials.js +1 -1
  124. package/optimize/lib/components/accessibility/screen_reader_only/screen_reader_only.styles.js +1 -1
  125. package/optimize/lib/components/accordion/accordion.a11y.js +44 -0
  126. package/optimize/lib/components/badge/beta_badge/beta_badge.js +6 -13
  127. package/optimize/lib/components/button/button_display/_button_display.js +7 -6
  128. package/optimize/lib/components/button/button_display/_button_display.styles.js +4 -4
  129. package/optimize/lib/components/button/button_display/_button_display_content.js +6 -9
  130. package/optimize/lib/components/button/button_display/_button_display_content.styles.js +10 -40
  131. package/optimize/lib/components/card/card.js +13 -32
  132. package/optimize/lib/components/card/card.styles.js +15 -3
  133. package/optimize/lib/components/card/card_select/card_select.styles.js +4 -4
  134. package/optimize/lib/components/card/checkable_card/checkable_card.js +3 -2
  135. package/optimize/lib/components/context_menu/context_menu_panel.a11y.js +42 -0
  136. package/optimize/lib/components/datagrid/controls/column_selector.js +1 -1
  137. package/optimize/lib/components/datagrid/controls/column_sorting.js +1 -1
  138. package/optimize/lib/components/datagrid/controls/data_grid_toolbar.js +7 -2
  139. package/optimize/lib/components/datagrid/controls/index.js +8 -0
  140. package/optimize/lib/components/datagrid/controls/keyboard_shortcuts.js +207 -0
  141. package/optimize/lib/components/datagrid/data_grid.js +5 -1
  142. package/optimize/lib/components/date_picker/super_date_picker/super_date_picker.js +12 -4
  143. package/optimize/lib/components/loading/loading_spinner.js +14 -2
  144. package/optimize/lib/components/loading/loading_spinner.styles.js +14 -6
  145. package/optimize/lib/components/modal/modal.js +22 -2
  146. package/optimize/lib/components/page_template/page_template.js +6 -9
  147. package/optimize/lib/components/popover/popover.js +7 -3
  148. package/optimize/lib/components/popover/popover_arrow/_popover_arrow.js +1 -0
  149. package/optimize/lib/components/popover/popover_panel/_popover_panel.js +6 -1
  150. package/optimize/lib/components/popover/popover_panel/_popover_panel.styles.js +16 -1
  151. package/optimize/lib/components/search_bar/search_bar.js +31 -5
  152. package/optimize/lib/components/search_bar/search_box.js +30 -3
  153. package/optimize/lib/components/selectable/selectable.a11y.js +122 -0
  154. package/optimize/lib/components/selectable/selectable.js +9 -6
  155. package/optimize/lib/components/tabs/tab.js +19 -6
  156. package/optimize/lib/components/tabs/tab.styles.js +69 -0
  157. package/optimize/lib/components/tabs/tabs.js +24 -14
  158. package/optimize/lib/components/tabs/tabs.styles.js +32 -0
  159. package/optimize/lib/services/string/to_initials.js +1 -1
  160. package/package.json +5 -4
  161. package/src/components/datagrid/_index.scss +1 -0
  162. package/src/components/datagrid/controls/_data_grid_keyboard_shortcuts.scss +17 -0
  163. package/src/components/datagrid/controls/_data_grid_toolbar.scss +0 -8
  164. package/src/components/index.scss +0 -1
  165. package/src/components/modal/_modal.scss +3 -1
  166. package/src/themes/amsterdam/overrides/_index.scss +0 -1
  167. package/test-env/components/accessibility/screen_reader_only/screen_reader_only.js +1 -1
  168. package/test-env/components/accessibility/screen_reader_only/screen_reader_only.styles.js +1 -1
  169. package/test-env/components/accordion/accordion.a11y.js +44 -0
  170. package/test-env/components/badge/beta_badge/beta_badge.js +6 -13
  171. package/test-env/components/basic_table/in_memory_table.js +8 -0
  172. package/test-env/components/button/button_display/_button_display.js +7 -6
  173. package/test-env/components/button/button_display/_button_display.styles.js +4 -4
  174. package/test-env/components/button/button_display/_button_display_content.js +6 -9
  175. package/test-env/components/button/button_display/_button_display_content.styles.js +10 -40
  176. package/test-env/components/card/card.js +14 -33
  177. package/test-env/components/card/card.styles.js +15 -3
  178. package/test-env/components/card/card_select/card_select.styles.js +4 -4
  179. package/test-env/components/card/checkable_card/checkable_card.js +3 -2
  180. package/test-env/components/context_menu/context_menu_panel.a11y.js +42 -0
  181. package/test-env/components/datagrid/controls/column_selector.js +1 -1
  182. package/test-env/components/datagrid/controls/column_sorting.js +1 -1
  183. package/test-env/components/datagrid/controls/data_grid_toolbar.js +7 -2
  184. package/test-env/components/datagrid/controls/index.js +8 -0
  185. package/test-env/components/datagrid/controls/keyboard_shortcuts.js +207 -0
  186. package/test-env/components/datagrid/data_grid.js +11 -1
  187. package/test-env/components/date_picker/super_date_picker/super_date_picker.js +22 -4
  188. package/test-env/components/header/header_links/header_links.js +6 -0
  189. package/test-env/components/loading/loading_spinner.js +14 -2
  190. package/test-env/components/loading/loading_spinner.styles.js +14 -6
  191. package/test-env/components/modal/modal.js +22 -2
  192. package/test-env/components/page_template/page_template.js +6 -9
  193. package/test-env/components/popover/popover.js +13 -3
  194. package/test-env/components/popover/popover_arrow/_popover_arrow.js +1 -0
  195. package/test-env/components/popover/popover_panel/_popover_panel.js +8 -2
  196. package/test-env/components/popover/popover_panel/_popover_panel.styles.js +16 -1
  197. package/test-env/components/search_bar/search_bar.js +39 -5
  198. package/test-env/components/search_bar/search_box.js +38 -4
  199. package/test-env/components/selectable/selectable.a11y.js +122 -0
  200. package/test-env/components/selectable/selectable.js +9 -6
  201. package/test-env/components/tabs/tab.js +31 -6
  202. package/test-env/components/tabs/tab.styles.js +69 -0
  203. package/test-env/components/tabs/tabbed_content/tabbed_content.js +17 -1
  204. package/test-env/components/tabs/tabs.js +24 -14
  205. package/test-env/components/tabs/tabs.styles.js +32 -0
  206. package/test-env/services/string/to_initials.js +1 -1
  207. package/src/components/tabs/_index.scss +0 -1
  208. package/src/components/tabs/_tabs.scss +0 -110
  209. package/src/themes/amsterdam/overrides/_tabs.scss +0 -80
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ var _react = _interopRequireDefault(require("react"));
6
+
7
+ var _context_menu_item = require("./context_menu_item");
8
+
9
+ var _context_menu_panel = require("./context_menu_panel");
10
+
11
+ var _react2 = require("@emotion/react");
12
+
13
+ /*
14
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
15
+ * or more contributor license agreements. Licensed under the Elastic License
16
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
17
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
18
+ * Side Public License, v 1.
19
+ */
20
+ /// <reference types="../../../cypress/support"/>
21
+ var items = [(0, _react2.jsx)(_context_menu_item.EuiContextMenuItem, {
22
+ key: "A",
23
+ "data-test-subj": "itemA"
24
+ }, "Option A"), (0, _react2.jsx)(_context_menu_item.EuiContextMenuItem, {
25
+ key: "B",
26
+ "data-test-subj": "itemB"
27
+ }, "Option B"), (0, _react2.jsx)(_context_menu_item.EuiContextMenuItem, {
28
+ key: "C",
29
+ "data-test-subj": "itemC"
30
+ }, "Option C")];
31
+ describe('EuiContextMenuPanel', function () {
32
+ describe('Automated accessibility check', function () {
33
+ it('has zero violations', function () {
34
+ var showNextPanelHandler = cy.stub();
35
+ cy.mount((0, _react2.jsx)(_context_menu_panel.EuiContextMenuPanel, {
36
+ items: items,
37
+ showNextPanel: showNextPanelHandler
38
+ }));
39
+ cy.checkAxe();
40
+ });
41
+ });
42
+ });
@@ -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",
@@ -12,6 +12,8 @@ exports.renderAdditionalControls = renderAdditionalControls;
12
12
 
13
13
  var _react = _interopRequireDefault(require("react"));
14
14
 
15
+ var _accessibility = require("../../accessibility");
16
+
15
17
  var _utils = require("../../../utils");
16
18
 
17
19
  var _react2 = require("@emotion/react");
@@ -33,6 +35,7 @@ var EuiDataGridToolbar = function EuiDataGridToolbar(_ref) {
33
35
  toolbarVisibility = _ref.toolbarVisibility,
34
36
  isFullScreen = _ref.isFullScreen,
35
37
  fullScreenSelector = _ref.fullScreenSelector,
38
+ keyboardShortcuts = _ref.keyboardShortcuts,
36
39
  displaySelector = _ref.displaySelector,
37
40
  columnSelector = _ref.columnSelector,
38
41
  columnSorting = _ref.columnSorting;
@@ -40,12 +43,14 @@ var EuiDataGridToolbar = function EuiDataGridToolbar(_ref) {
40
43
  var hasRoomForGridControls = _utils.IS_JEST_ENVIRONMENT ? true : gridWidth > minSizeForControls || isFullScreen;
41
44
  return (0, _react2.jsx)("div", {
42
45
  className: "euiDataGrid__controls",
43
- "data-test-sub": "dataGridControls"
46
+ "data-test-subj": "dataGridControls"
44
47
  }, hasRoomForGridControls && (0, _react2.jsx)("div", {
45
48
  className: "euiDataGrid__leftControls"
46
49
  }, renderAdditionalControls(toolbarVisibility, 'left.prepend'), checkOrDefaultToolBarDisplayOptions(toolbarVisibility, 'showColumnSelector') ? columnSelector : null, checkOrDefaultToolBarDisplayOptions(toolbarVisibility, 'showSortSelector') ? columnSorting : null, renderAdditionalControls(toolbarVisibility, 'left.append')), (0, _react2.jsx)("div", {
47
50
  className: "euiDataGrid__rightControls"
48
- }, renderAdditionalControls(toolbarVisibility, 'right'), checkOrDefaultToolBarDisplayOptions(toolbarVisibility, 'showDisplaySelector') ? displaySelector : null, checkOrDefaultToolBarDisplayOptions(toolbarVisibility, 'showFullScreenSelector') ? fullScreenSelector : null));
51
+ }, renderAdditionalControls(toolbarVisibility, 'right'), checkOrDefaultToolBarDisplayOptions(toolbarVisibility, 'showKeyboardShortcuts') ? keyboardShortcuts : (0, _react2.jsx)(_accessibility.EuiScreenReaderOnly, {
52
+ showOnFocus: true
53
+ }, (0, _react2.jsx)("span", null, keyboardShortcuts)), checkOrDefaultToolBarDisplayOptions(toolbarVisibility, 'showDisplaySelector') ? displaySelector : null, checkOrDefaultToolBarDisplayOptions(toolbarVisibility, 'showFullScreenSelector') ? fullScreenSelector : null));
49
54
  };
50
55
  /**
51
56
  * Toolbar utilities
@@ -45,6 +45,12 @@ Object.defineProperty(exports, "useDataGridFullScreenSelector", {
45
45
  return _fullscreen_selector.useDataGridFullScreenSelector;
46
46
  }
47
47
  });
48
+ Object.defineProperty(exports, "useDataGridKeyboardShortcuts", {
49
+ enumerable: true,
50
+ get: function get() {
51
+ return _keyboard_shortcuts.useDataGridKeyboardShortcuts;
52
+ }
53
+ });
48
54
 
49
55
  var _column_selector = require("./column_selector");
50
56
 
@@ -52,6 +58,8 @@ var _column_sorting = require("./column_sorting");
52
58
 
53
59
  var _display_selector = require("./display_selector");
54
60
 
61
+ var _keyboard_shortcuts = require("./keyboard_shortcuts");
62
+
55
63
  var _fullscreen_selector = require("./fullscreen_selector");
56
64
 
57
65
  var _data_grid_toolbar = require("./data_grid_toolbar");
@@ -0,0 +1,207 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ var _typeof = require("@babel/runtime/helpers/typeof");
6
+
7
+ Object.defineProperty(exports, "__esModule", {
8
+ value: true
9
+ });
10
+ exports.useDataGridKeyboardShortcuts = void 0;
11
+
12
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
13
+
14
+ var _react = _interopRequireWildcard(require("react"));
15
+
16
+ var _services = require("../../../services");
17
+
18
+ var _button = require("../../button");
19
+
20
+ var _tool_tip = require("../../tool_tip");
21
+
22
+ var _popover = require("../../popover");
23
+
24
+ var _description_list = require("../../description_list");
25
+
26
+ var _text = require("../../text");
27
+
28
+ var _i18n = require("../../i18n");
29
+
30
+ var _react2 = require("@emotion/react");
31
+
32
+ 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); }
33
+
34
+ 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; }
35
+
36
+ /*
37
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
38
+ * or more contributor license agreements. Licensed under the Elastic License
39
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
40
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
41
+ * Side Public License, v 1.
42
+ */
43
+ var useDataGridKeyboardShortcuts = function useDataGridKeyboardShortcuts() {
44
+ var _useState = (0, _react.useState)(false),
45
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
46
+ isOpen = _useState2[0],
47
+ setIsOpen = _useState2[1];
48
+
49
+ var title = (0, _i18n.useEuiI18n)('euiKeyboardShortcuts.title', 'Keyboard shortcuts');
50
+ var titleId = (0, _services.useGeneratedHtmlId)();
51
+ var keyboardShortcuts = (0, _react.useMemo)(function () {
52
+ return (0, _react2.jsx)(_popover.EuiPopover, {
53
+ "data-test-subj": "dataGridKeyboardShortcutsPopover",
54
+ isOpen: isOpen,
55
+ closePopover: function closePopover() {
56
+ return setIsOpen(false);
57
+ },
58
+ anchorPosition: "downRight",
59
+ button: (0, _react2.jsx)(_tool_tip.EuiToolTip, {
60
+ content: title,
61
+ delay: "long"
62
+ }, (0, _react2.jsx)(_button.EuiButtonIcon, {
63
+ size: "xs",
64
+ iconType: "keyboard",
65
+ color: "text",
66
+ "data-test-subj": "dataGridKeyboardShortcutsButton",
67
+ onClick: function onClick() {
68
+ return setIsOpen(!isOpen);
69
+ },
70
+ "aria-label": title
71
+ }))
72
+ }, (0, _react2.jsx)(_popover.EuiPopoverTitle, {
73
+ paddingSize: "s"
74
+ }, (0, _react2.jsx)("h2", {
75
+ id: titleId
76
+ }, title)), (0, _react2.jsx)(_text.EuiText, {
77
+ className: "euiDataGrid__keyboardShortcuts",
78
+ size: "xs"
79
+ }, (0, _react2.jsx)(_description_list.EuiDescriptionList, {
80
+ "aria-labelledby": titleId,
81
+ type: "column",
82
+ align: "center",
83
+ compressed: true,
84
+ gutterSize: "s",
85
+ listItems: [{
86
+ title: (0, _react2.jsx)("kbd", null, (0, _react2.jsx)(_i18n.EuiI18n, {
87
+ token: "euiKeyboardShortcuts.upArrowTitle",
88
+ default: "Up arrow"
89
+ })),
90
+ description: (0, _react2.jsx)(_i18n.EuiI18n, {
91
+ token: "euiKeyboardShortcuts.upArrowDescription",
92
+ default: "Move one cell up"
93
+ })
94
+ }, {
95
+ title: (0, _react2.jsx)("kbd", null, (0, _react2.jsx)(_i18n.EuiI18n, {
96
+ token: "euiKeyboardShortcuts.downArrowTitle",
97
+ default: "Down arrow"
98
+ })),
99
+ description: (0, _react2.jsx)(_i18n.EuiI18n, {
100
+ token: "euiKeyboardShortcuts.downArrowDescription",
101
+ default: "Move one cell down"
102
+ })
103
+ }, {
104
+ title: (0, _react2.jsx)("kbd", null, (0, _react2.jsx)(_i18n.EuiI18n, {
105
+ token: "euiKeyboardShortcuts.rightArrowTitle",
106
+ default: "Right arrow"
107
+ })),
108
+ description: (0, _react2.jsx)(_i18n.EuiI18n, {
109
+ token: "euiKeyboardShortcuts.rightArrowDescription",
110
+ default: "Move one cell right"
111
+ })
112
+ }, {
113
+ title: (0, _react2.jsx)("kbd", null, (0, _react2.jsx)(_i18n.EuiI18n, {
114
+ token: "euiKeyboardShortcuts.leftArrowTitle",
115
+ default: "Left arrow"
116
+ })),
117
+ description: (0, _react2.jsx)(_i18n.EuiI18n, {
118
+ token: "euiKeyboardShortcuts.leftArrowDescription",
119
+ default: "Move one cell left"
120
+ })
121
+ }, {
122
+ title: (0, _react2.jsx)("kbd", null, (0, _react2.jsx)(_i18n.EuiI18n, {
123
+ token: "euiKeyboardShortcuts.homeTitle",
124
+ default: "Home"
125
+ })),
126
+ description: (0, _react2.jsx)(_i18n.EuiI18n, {
127
+ token: "euiKeyboardShortcuts.homeDescription",
128
+ default: "Move to the first cell of the current row"
129
+ })
130
+ }, {
131
+ title: (0, _react2.jsx)("kbd", null, (0, _react2.jsx)(_i18n.EuiI18n, {
132
+ token: "euiKeyboardShortcuts.endTitle",
133
+ default: "End"
134
+ })),
135
+ description: (0, _react2.jsx)(_i18n.EuiI18n, {
136
+ token: "euiKeyboardShortcuts.endDescription",
137
+ default: "Move to the last cell of the current row"
138
+ })
139
+ }, {
140
+ title: (0, _react2.jsx)(_react.default.Fragment, null, (0, _react2.jsx)("kbd", null, (0, _react2.jsx)(_i18n.EuiI18n, {
141
+ token: "euiKeyboardShortcuts.ctrl",
142
+ default: "Ctrl"
143
+ })), ' ', (0, _react2.jsx)("kbd", null, (0, _react2.jsx)(_i18n.EuiI18n, {
144
+ token: "euiKeyboardShortcuts.homeTitle",
145
+ default: "Home"
146
+ }))),
147
+ description: (0, _react2.jsx)(_i18n.EuiI18n, {
148
+ token: "euiKeyboardShortcuts.ctrlHomeDescription",
149
+ default: "Move to the first cell of the current page"
150
+ })
151
+ }, {
152
+ title: (0, _react2.jsx)(_react.default.Fragment, null, (0, _react2.jsx)("kbd", null, (0, _react2.jsx)(_i18n.EuiI18n, {
153
+ token: "euiKeyboardShortcuts.ctrl",
154
+ default: "Ctrl"
155
+ })), ' ', (0, _react2.jsx)("kbd", null, (0, _react2.jsx)(_i18n.EuiI18n, {
156
+ token: "euiKeyboardShortcuts.endTitle",
157
+ default: "End"
158
+ }))),
159
+ description: (0, _react2.jsx)(_i18n.EuiI18n, {
160
+ token: "euiKeyboardShortcuts.ctrlEndDescription",
161
+ default: "Move to the last cell of the current page"
162
+ })
163
+ }, {
164
+ title: (0, _react2.jsx)("kbd", null, (0, _react2.jsx)(_i18n.EuiI18n, {
165
+ token: "euiKeyboardShortcuts.pageUpTitle",
166
+ default: "Page Up"
167
+ })),
168
+ description: (0, _react2.jsx)(_i18n.EuiI18n, {
169
+ token: "euiKeyboardShortcuts.pageUpDescription",
170
+ default: "Go to the last row of the previous page"
171
+ })
172
+ }, {
173
+ title: (0, _react2.jsx)("kbd", null, (0, _react2.jsx)(_i18n.EuiI18n, {
174
+ token: "euiKeyboardShortcuts.pageDownTitle",
175
+ default: "Page Down"
176
+ })),
177
+ description: (0, _react2.jsx)(_i18n.EuiI18n, {
178
+ token: "euiKeyboardShortcuts.pageDownDescription",
179
+ default: "Go to the first row of the next page"
180
+ })
181
+ }, {
182
+ title: (0, _react2.jsx)("kbd", null, (0, _react2.jsx)(_i18n.EuiI18n, {
183
+ token: "euiKeyboardShortcuts.enterTitle",
184
+ default: "Enter"
185
+ })),
186
+ description: (0, _react2.jsx)(_i18n.EuiI18n, {
187
+ token: "euiKeyboardShortcuts.enterDescription",
188
+ default: "Open cell details and actions"
189
+ })
190
+ }, {
191
+ title: (0, _react2.jsx)("kbd", null, (0, _react2.jsx)(_i18n.EuiI18n, {
192
+ token: "euiKeyboardShortcuts.escapeTitle",
193
+ default: "Escape"
194
+ })),
195
+ description: (0, _react2.jsx)(_i18n.EuiI18n, {
196
+ token: "euiKeyboardShortcuts.escapeDescription",
197
+ default: "Close cell details and actions"
198
+ })
199
+ }]
200
+ })));
201
+ }, [isOpen, title, titleId]);
202
+ return {
203
+ keyboardShortcuts: keyboardShortcuts
204
+ };
205
+ };
206
+
207
+ exports.useDataGridKeyboardShortcuts = useDataGridKeyboardShortcuts;
@@ -246,12 +246,15 @@ var EuiDataGrid = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
246
246
  cellPopoverContext = _useCellPopover.cellPopoverContext,
247
247
  cellPopover = _useCellPopover.cellPopover;
248
248
  /**
249
- * Toolbar & fullscreen
249
+ * Toolbar, keyboard shortcuts, & fullscreen
250
250
  */
251
251
 
252
252
 
253
253
  var showToolbar = !!toolbarVisibility;
254
254
 
255
+ var _useDataGridKeyboardS = (0, _controls.useDataGridKeyboardShortcuts)(),
256
+ keyboardShortcuts = _useDataGridKeyboardS.keyboardShortcuts;
257
+
255
258
  var _useDataGridFullScree = (0, _controls.useDataGridFullScreenSelector)(),
256
259
  isFullScreen = _useDataGridFullScree.isFullScreen,
257
260
  setIsFullScreen = _useDataGridFullScree.setIsFullScreen,
@@ -340,6 +343,7 @@ var EuiDataGrid = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
340
343
  toolbarVisibility: toolbarVisibility,
341
344
  isFullScreen: isFullScreen,
342
345
  fullScreenSelector: fullScreenSelector,
346
+ keyboardShortcuts: keyboardShortcuts,
343
347
  displaySelector: displaySelector,
344
348
  columnSelector: columnSelector,
345
349
  columnSorting: columnSorting
@@ -267,7 +267,8 @@ var EuiSuperDatePickerInternal = /*#__PURE__*/function (_Component) {
267
267
  locale = _this$props2.locale,
268
268
  timeFormat = _this$props2.timeFormat,
269
269
  utcOffset = _this$props2.utcOffset,
270
- compressed = _this$props2.compressed;
270
+ compressed = _this$props2.compressed,
271
+ onFocus = _this$props2.onFocus;
271
272
 
272
273
  if (showPrettyDuration && !isStartDatePopoverOpen && !isEndDatePopoverOpen) {
273
274
  return (0, _react2.jsx)(_date_picker_range.EuiDatePickerRange, {
@@ -282,7 +283,8 @@ var EuiSuperDatePickerInternal = /*#__PURE__*/function (_Component) {
282
283
  }),
283
284
  "data-test-subj": "superDatePickerShowDatesButton",
284
285
  disabled: isDisabled,
285
- onClick: _this.hidePrettyDuration
286
+ onClick: _this.hidePrettyDuration,
287
+ onFocus: onFocus
286
288
  }, (0, _react2.jsx)(_pretty_duration.PrettyDuration, {
287
289
  timeFrom: start,
288
290
  timeTo: end,
@@ -315,7 +317,10 @@ var EuiSuperDatePickerInternal = /*#__PURE__*/function (_Component) {
315
317
  isOpen: _this.state.isStartDatePopoverOpen,
316
318
  onPopoverToggle: _this.onStartDatePopoverToggle,
317
319
  onPopoverClose: _this.onStartDatePopoverClose,
318
- timeOptions: timeOptions
320
+ timeOptions: timeOptions,
321
+ buttonProps: {
322
+ onFocus: onFocus
323
+ }
319
324
  }),
320
325
  endDateControl: (0, _react2.jsx)(_date_popover_button.EuiDatePopoverButton, {
321
326
  position: "end",
@@ -333,7 +338,10 @@ var EuiSuperDatePickerInternal = /*#__PURE__*/function (_Component) {
333
338
  isOpen: _this.state.isEndDatePopoverOpen,
334
339
  onPopoverToggle: _this.onEndDatePopoverToggle,
335
340
  onPopoverClose: _this.onEndDatePopoverClose,
336
- timeOptions: timeOptions
341
+ timeOptions: timeOptions,
342
+ buttonProps: {
343
+ onFocus: onFocus
344
+ }
337
345
  })
338
346
  });
339
347
  });
@@ -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"));
@@ -23,7 +25,12 @@ var _loading_spinner = require("./loading_spinner.styles");
23
25
 
24
26
  var _react2 = require("@emotion/react");
25
27
 
26
- var _excluded = ["size", "className", "aria-label", "color"];
28
+ var _excluded = ["size", "className", "aria-label", "color", "style"];
29
+
30
+ 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; }
31
+
32
+ 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; }
33
+
27
34
  var SIZES = ['s', 'm', 'l', 'xl', 'xxl'];
28
35
  exports.SIZES = SIZES;
29
36
 
@@ -33,15 +40,20 @@ var EuiLoadingSpinner = function EuiLoadingSpinner(_ref) {
33
40
  className = _ref.className,
34
41
  ariaLabel = _ref['aria-label'],
35
42
  color = _ref.color,
43
+ style = _ref.style,
36
44
  rest = (0, _objectWithoutProperties2.default)(_ref, _excluded);
37
45
  var euiTheme = (0, _services.useEuiTheme)();
38
- var styles = (0, _loading_spinner.euiLoadingSpinnerStyles)(euiTheme, color);
46
+ var styles = (0, _loading_spinner.euiLoadingSpinnerStyles)(euiTheme);
39
47
  var cssStyles = [styles.euiLoadingSpinner, styles[size]];
40
48
  var classes = (0, _classnames.default)('euiLoadingSpinner', className);
41
49
  var defaultLabel = (0, _loading_strings.useLoadingAriaLabel)();
50
+ var customColorStyle = color ? _objectSpread(_objectSpread({}, style), {}, {
51
+ borderColor: (0, _loading_spinner.euiSpinnerBorderColorsCSS)(euiTheme, color)
52
+ }) : style;
42
53
  return (0, _react2.jsx)("span", (0, _extends2.default)({
43
54
  className: classes,
44
55
  css: cssStyles,
56
+ style: customColorStyle,
45
57
  role: "progressbar",
46
58
  "aria-label": ariaLabel || defaultLabel
47
59
  }, 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 _classnames = _interopRequireDefault(require("classnames"));
19
21
 
@@ -31,6 +33,10 @@ var _react2 = require("@emotion/react");
31
33
 
32
34
  var _excluded = ["className", "children", "initialFocus", "onClose", "maxWidth", "style"];
33
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 || _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; }
39
+
34
40
  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; }
35
41
 
36
42
  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; }
@@ -44,6 +50,18 @@ var EuiModal = function EuiModal(_ref) {
44
50
  maxWidth = _ref$maxWidth === void 0 ? true : _ref$maxWidth,
45
51
  style = _ref.style,
46
52
  rest = (0, _objectWithoutProperties2.default)(_ref, _excluded);
53
+ // TODO: Remove this onFocus scroll workaround after react-focus-on supports focusOptions
54
+ // @see https://github.com/elastic/eui/issues/6304
55
+ var bodyScrollTop = (0, _react.useRef)(typeof window === 'undefined' ? undefined : window.scrollY // Account for SSR
56
+ );
57
+ var onFocus = (0, _react.useCallback)(function () {
58
+ if (bodyScrollTop.current != null) {
59
+ window.scrollTo({
60
+ top: bodyScrollTop.current
61
+ });
62
+ bodyScrollTop.current = undefined; // Unset after first auto focus
63
+ }
64
+ }, []);
47
65
 
48
66
  var onKeyDown = function onKeyDown(event) {
49
67
  if (event.key === _services.keys.ESCAPE) {
@@ -67,11 +85,13 @@ var EuiModal = function EuiModal(_ref) {
67
85
 
68
86
  var classes = (0, _classnames.default)('euiModal', widthClassName, className);
69
87
  return (0, _react2.jsx)(_overlay_mask.EuiOverlayMask, null, (0, _react2.jsx)(_focus_trap.EuiFocusTrap, {
70
- initialFocus: initialFocus
88
+ initialFocus: initialFocus,
89
+ scrollLock: true
71
90
  }, (0, _react2.jsx)("div", (0, _extends2.default)({
72
91
  className: classes,
73
92
  onKeyDown: onKeyDown,
74
93
  tabIndex: 0,
94
+ onFocus: onFocus,
75
95
  style: newStyle || style
76
96
  }, rest), (0, _react2.jsx)(_i18n.EuiI18n, {
77
97
  token: "euiModal.closeModal",
@@ -155,15 +155,12 @@ var _EuiPageTemplate = function _EuiPageTemplate(_ref) {
155
155
  _react.default.Children.toArray(children).forEach(function (child, index) {
156
156
  if (! /*#__PURE__*/_react.default.isValidElement(child)) return; // Skip non-components
157
157
 
158
- switch (child.type) {
159
- case _page.EuiPageSidebar:
160
- sidebar.push( /*#__PURE__*/_react.default.cloneElement(child, _objectSpread(_objectSpread({
161
- key: "sidebar".concat(index)
162
- }, getSideBarProps()), child.props)));
163
- break;
164
-
165
- default:
166
- sections.push(child);
158
+ if (child.type === _page.EuiPageSidebar || child.props.__EMOTION_TYPE_PLEASE_DO_NOT_USE__ === _page.EuiPageSidebar) {
159
+ sidebar.push( /*#__PURE__*/_react.default.cloneElement(child, _objectSpread(_objectSpread({
160
+ key: "sidebar".concat(index)
161
+ }, getSideBarProps()), child.props)));
162
+ } else {
163
+ sections.push(child);
167
164
  }
168
165
  });
169
166
 
@@ -64,7 +64,7 @@ var _popover2 = require("./popover.styles");
64
64
 
65
65
  var _popover_panel = require("./popover_panel");
66
66
 
67
- var _excluded = ["anchorClassName", "anchorPosition", "button", "buttonRef", "insert", "isOpen", "ownFocus", "children", "className", "closePopover", "panelClassName", "panelPaddingSize", "panelProps", "panelRef", "panelStyle", "popoverScreenReaderText", "popoverRef", "hasArrow", "arrowChildren", "repositionOnScroll", "zIndex", "attachToAnchor", "display", "offset", "onPositionChange", "onTrapDeactivation", "buffer", "aria-label", "aria-labelledby", "container", "focusTrapProps", "initialFocus", "tabIndex"];
67
+ var _excluded = ["anchorClassName", "anchorPosition", "button", "buttonRef", "insert", "isOpen", "ownFocus", "children", "className", "closePopover", "panelClassName", "panelPaddingSize", "panelProps", "panelRef", "panelStyle", "popoverScreenReaderText", "popoverRef", "hasArrow", "arrowChildren", "repositionOnScroll", "hasDragDrop", "zIndex", "attachToAnchor", "display", "offset", "onPositionChange", "onTrapDeactivation", "buffer", "aria-label", "aria-labelledby", "container", "focusTrapProps", "initialFocus", "tabIndex"];
68
68
 
69
69
  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); }
70
70
 
@@ -401,7 +401,8 @@ var EuiPopover = /*#__PURE__*/function (_Component) {
401
401
  }, {
402
402
  key: "render",
403
403
  value: function render() {
404
- var _this4 = this;
404
+ var _panelProps$tabIndex,
405
+ _this4 = this;
405
406
 
406
407
  var _this$props = this.props,
407
408
  anchorClassName = _this$props.anchorClassName,
@@ -424,6 +425,7 @@ var EuiPopover = /*#__PURE__*/function (_Component) {
424
425
  hasArrow = _this$props.hasArrow,
425
426
  arrowChildren = _this$props.arrowChildren,
426
427
  repositionOnScroll = _this$props.repositionOnScroll,
428
+ hasDragDrop = _this$props.hasDragDrop,
427
429
  zIndex = _this$props.zIndex,
428
430
  attachToAnchor = _this$props.attachToAnchor,
429
431
  display = _this$props.display,
@@ -436,8 +438,9 @@ var EuiPopover = /*#__PURE__*/function (_Component) {
436
438
  container = _this$props.container,
437
439
  focusTrapProps = _this$props.focusTrapProps,
438
440
  initialFocusProp = _this$props.initialFocus,
439
- tabIndexProp = _this$props.tabIndex,
441
+ _tabIndexProp = _this$props.tabIndex,
440
442
  rest = (0, _objectWithoutProperties2.default)(_this$props, _excluded);
443
+ var tabIndexProp = (_panelProps$tabIndex = panelProps === null || panelProps === void 0 ? void 0 : panelProps.tabIndex) !== null && _panelProps$tabIndex !== void 0 ? _panelProps$tabIndex : _tabIndexProp;
441
444
  var styles = (0, _popover2.euiPopoverStyles)();
442
445
  var popoverStyles = [styles.euiPopover, {
443
446
  display: display
@@ -501,6 +504,7 @@ var EuiPopover = /*#__PURE__*/function (_Component) {
501
504
  position: this.state.arrowPosition,
502
505
  isAttached: attachToAnchor,
503
506
  className: (0, _classnames.default)(panelClassName, panelProps === null || panelProps === void 0 ? void 0 : panelProps.className),
507
+ hasDragDrop: hasDragDrop,
504
508
  hasShadow: false,
505
509
  paddingSize: panelPaddingSize,
506
510
  tabIndex: tabIndex,
@@ -31,6 +31,7 @@ var EuiPopoverArrow = function EuiPopoverArrow(_ref) {
31
31
  var styles = (0, _popover_arrow.euiPopoverArrowStyles)(euiTheme);
32
32
  var cssStyles = [styles.euiPopoverArrow, styles[position]];
33
33
  return (0, _react2.jsx)("div", (0, _extends2.default)({
34
+ className: "euiPopover__arrow",
34
35
  "data-popover-arrow": position,
35
36
  css: cssStyles
36
37
  }, rest), children);
@@ -27,7 +27,7 @@ var _popover_panel = require("./_popover_panel.styles");
27
27
 
28
28
  var _react2 = require("@emotion/react");
29
29
 
30
- var _excluded = ["children", "className", "isOpen", "isAttached", "position"];
30
+ var _excluded = ["children", "className", "isOpen", "isAttached", "hasDragDrop", "position"];
31
31
 
32
32
  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); }
33
33
 
@@ -47,6 +47,7 @@ var EuiPopoverPanel = function EuiPopoverPanel(_ref) {
47
47
  className = _ref.className,
48
48
  isOpen = _ref.isOpen,
49
49
  isAttached = _ref.isAttached,
50
+ hasDragDrop = _ref.hasDragDrop,
50
51
  position = _ref.position,
51
52
  rest = (0, _objectWithoutProperties2.default)(_ref, _excluded);
52
53
  var panelContext = (0, _react.useContext)(EuiPopoverPanelContext);
@@ -61,6 +62,10 @@ var EuiPopoverPanel = function EuiPopoverPanel(_ref) {
61
62
  panelCSS = [].concat((0, _toConsumableArray2.default)(panelCSS), [isOpen && styles.attached.isOpen, position && styles.attached[position]]);
62
63
  }
63
64
 
65
+ if (hasDragDrop) {
66
+ panelCSS = [].concat((0, _toConsumableArray2.default)(panelCSS), [styles.hasDragDrop.hasDragDrop, position && styles.hasDragDrop[position]]);
67
+ }
68
+
64
69
  return (0, _react2.jsx)(EuiPopoverPanelContext.Provider, {
65
70
  value: panelContext
66
71
  }, (0, _react2.jsx)(_panel.EuiPanel, (0, _extends2.default)({