@elastic/eui 69.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 (306) hide show
  1. package/dist/eui_theme_dark.css +0 -554
  2. package/dist/eui_theme_dark.json +0 -27
  3. package/dist/eui_theme_dark.json.d.ts +0 -27
  4. package/dist/eui_theme_dark.min.css +1 -1
  5. package/dist/eui_theme_light.css +0 -554
  6. package/dist/eui_theme_light.json +0 -27
  7. package/dist/eui_theme_light.json.d.ts +0 -27
  8. package/dist/eui_theme_light.min.css +1 -1
  9. package/es/components/badge/beta_badge/beta_badge.js +6 -6
  10. package/es/components/basic_table/in_memory_table.js +16 -2
  11. package/es/components/button/button_display/_button_display.js +7 -6
  12. package/es/components/button/button_display/_button_display.styles.js +4 -4
  13. package/es/components/button/button_display/_button_display_content.js +6 -9
  14. package/es/components/button/button_display/_button_display_content.styles.js +3 -41
  15. package/es/components/code/code.js +7 -3
  16. package/es/components/code/code.styles.js +32 -0
  17. package/es/components/code/code_block.js +72 -315
  18. package/es/components/code/code_block.styles.js +153 -0
  19. package/es/components/code/code_block_controls.js +29 -0
  20. package/es/components/code/code_block_controls.styles.js +43 -0
  21. package/es/components/code/code_block_copy.js +65 -0
  22. package/es/components/code/code_block_full_screen.js +90 -0
  23. package/es/components/code/code_block_line.styles.js +49 -0
  24. package/es/components/code/code_block_overflow.js +78 -0
  25. package/es/components/code/code_block_virtualized.js +59 -0
  26. package/es/components/code/code_syntax.styles.js +43 -0
  27. package/es/components/code/utils.js +43 -37
  28. package/es/components/collapsible_nav/collapsible_nav.js +0 -5
  29. package/es/components/datagrid/controls/column_selector.js +1 -1
  30. package/es/components/datagrid/controls/column_sorting.js +1 -1
  31. package/es/components/header/header_links/header_links.js +6 -0
  32. package/es/components/loading/loading_spinner.js +14 -3
  33. package/es/components/loading/loading_spinner.styles.js +11 -7
  34. package/es/components/modal/modal.js +17 -2
  35. package/es/components/overlay_mask/overlay_mask.js +8 -14
  36. package/es/components/overlay_mask/overlay_mask.styles.js +4 -14
  37. package/es/components/overlay_mask/overlay_mask_body.styles.js +18 -0
  38. package/es/components/page_template/page_template.js +6 -9
  39. package/es/components/popover/popover.js +13 -3
  40. package/es/components/popover/popover_arrow/_popover_arrow.js +1 -0
  41. package/es/components/popover/popover_panel/_popover_panel.js +8 -2
  42. package/es/components/popover/popover_panel/_popover_panel.styles.js +15 -1
  43. package/es/components/provider/provider.js +1 -5
  44. package/es/components/resizable_container/helpers.js +2 -2
  45. package/es/components/resizable_container/resizable_container.js +6 -9
  46. package/es/components/resizable_container/resizable_container.styles.js +28 -0
  47. package/es/components/resizable_container/resizable_panel.js +25 -48
  48. package/es/components/resizable_container/resizable_panel.styles.js +69 -0
  49. package/es/components/search_bar/query/ast.js +14 -3
  50. package/es/components/search_bar/search_bar.js +39 -5
  51. package/es/components/search_bar/search_box.js +37 -4
  52. package/es/components/tabs/tab.js +33 -13
  53. package/es/components/tabs/tab.styles.js +50 -0
  54. package/es/components/tabs/tabbed_content/tabbed_content.js +16 -0
  55. package/es/components/tabs/tabs.js +20 -14
  56. package/es/components/tabs/tabs.styles.js +23 -0
  57. package/es/components/tool_tip/tool_tip.js +3 -2
  58. package/es/components/tool_tip/tool_tip.styles.js +17 -22
  59. package/es/components/tool_tip/tool_tip_arrow.js +17 -3
  60. package/es/components/tool_tip/tool_tip_popover.js +7 -7
  61. package/es/components/tour/tour.styles.js +4 -3
  62. package/es/components/tour/tour_step.js +13 -5
  63. package/es/global_styling/functions/logicals.js +5 -3
  64. package/es/global_styling/functions/math.js +37 -19
  65. package/es/global_styling/mixins/_padding.js +13 -9
  66. package/eui.d.ts +401 -84
  67. package/i18ntokens.json +26 -26
  68. package/lib/components/badge/beta_badge/beta_badge.js +6 -10
  69. package/lib/components/basic_table/in_memory_table.js +16 -2
  70. package/lib/components/button/button_display/_button_display.js +7 -6
  71. package/lib/components/button/button_display/_button_display.styles.js +4 -4
  72. package/lib/components/button/button_display/_button_display_content.js +6 -9
  73. package/lib/components/button/button_display/_button_display_content.styles.js +10 -40
  74. package/lib/components/code/code.js +9 -3
  75. package/lib/components/code/code.styles.js +35 -0
  76. package/lib/components/code/code_block.js +72 -320
  77. package/lib/components/code/code_block.styles.js +154 -0
  78. package/lib/components/code/code_block_controls.js +48 -0
  79. package/lib/components/code/code_block_controls.styles.js +39 -0
  80. package/lib/components/code/code_block_copy.js +78 -0
  81. package/lib/components/code/code_block_full_screen.js +108 -0
  82. package/lib/components/code/code_block_line.styles.js +45 -0
  83. package/lib/components/code/code_block_overflow.js +82 -0
  84. package/lib/components/code/code_block_virtualized.js +72 -0
  85. package/lib/components/code/code_syntax.styles.js +57 -0
  86. package/lib/components/code/utils.js +40 -39
  87. package/lib/components/collapsible_nav/collapsible_nav.js +0 -5
  88. package/lib/components/datagrid/controls/column_selector.js +1 -1
  89. package/lib/components/datagrid/controls/column_sorting.js +1 -1
  90. package/lib/components/header/header_links/header_links.js +6 -0
  91. package/lib/components/loading/loading_spinner.js +13 -2
  92. package/lib/components/loading/loading_spinner.styles.js +14 -6
  93. package/lib/components/modal/modal.js +23 -2
  94. package/lib/components/overlay_mask/overlay_mask.js +9 -14
  95. package/lib/components/overlay_mask/overlay_mask.styles.js +13 -17
  96. package/lib/components/overlay_mask/overlay_mask_body.styles.js +20 -0
  97. package/lib/components/page_template/page_template.js +6 -9
  98. package/lib/components/popover/popover.js +13 -3
  99. package/lib/components/popover/popover_arrow/_popover_arrow.js +1 -0
  100. package/lib/components/popover/popover_panel/_popover_panel.js +8 -2
  101. package/lib/components/popover/popover_panel/_popover_panel.styles.js +16 -1
  102. package/lib/components/provider/provider.js +7 -12
  103. package/lib/components/resizable_container/helpers.js +2 -2
  104. package/lib/components/resizable_container/resizable_container.js +7 -9
  105. package/lib/components/resizable_container/resizable_container.styles.js +31 -0
  106. package/lib/components/resizable_container/resizable_panel.js +28 -49
  107. package/lib/components/resizable_container/resizable_panel.styles.js +74 -0
  108. package/lib/components/search_bar/query/ast.js +14 -3
  109. package/lib/components/search_bar/search_bar.js +40 -5
  110. package/lib/components/search_bar/search_box.js +38 -4
  111. package/lib/components/tabs/tab.js +33 -12
  112. package/lib/components/tabs/tab.styles.js +56 -0
  113. package/lib/components/tabs/tabbed_content/tabbed_content.js +16 -0
  114. package/lib/components/tabs/tabs.js +24 -14
  115. package/lib/components/tabs/tabs.styles.js +34 -0
  116. package/lib/components/tool_tip/tool_tip.js +3 -2
  117. package/lib/components/tool_tip/tool_tip.styles.js +18 -26
  118. package/lib/components/tool_tip/tool_tip_arrow.js +19 -4
  119. package/lib/components/tool_tip/tool_tip_popover.js +6 -6
  120. package/lib/components/tour/tour.styles.js +3 -2
  121. package/lib/components/tour/tour_step.js +7 -5
  122. package/lib/global_styling/functions/logicals.js +5 -3
  123. package/lib/global_styling/functions/math.js +37 -19
  124. package/lib/global_styling/mixins/_padding.js +17 -10
  125. package/optimize/es/components/badge/beta_badge/beta_badge.js +6 -6
  126. package/optimize/es/components/basic_table/in_memory_table.js +1 -1
  127. package/optimize/es/components/button/button_display/_button_display.js +6 -5
  128. package/optimize/es/components/button/button_display/_button_display.styles.js +4 -4
  129. package/optimize/es/components/button/button_display/_button_display_content.js +6 -9
  130. package/optimize/es/components/button/button_display/_button_display_content.styles.js +3 -41
  131. package/optimize/es/components/code/code.js +7 -3
  132. package/optimize/es/components/code/code.styles.js +32 -0
  133. package/optimize/es/components/code/code_block.js +70 -299
  134. package/optimize/es/components/code/code_block.styles.js +153 -0
  135. package/optimize/es/components/code/code_block_controls.js +29 -0
  136. package/optimize/es/components/code/code_block_controls.styles.js +43 -0
  137. package/optimize/es/components/code/code_block_copy.js +55 -0
  138. package/optimize/es/components/code/code_block_full_screen.js +80 -0
  139. package/optimize/es/components/code/code_block_line.styles.js +49 -0
  140. package/optimize/es/components/code/code_block_overflow.js +67 -0
  141. package/optimize/es/components/code/code_block_virtualized.js +59 -0
  142. package/optimize/es/components/code/code_syntax.styles.js +43 -0
  143. package/optimize/es/components/code/utils.js +43 -37
  144. package/optimize/es/components/datagrid/controls/column_selector.js +1 -1
  145. package/optimize/es/components/datagrid/controls/column_sorting.js +1 -1
  146. package/optimize/es/components/loading/loading_spinner.js +13 -3
  147. package/optimize/es/components/loading/loading_spinner.styles.js +11 -7
  148. package/optimize/es/components/modal/modal.js +17 -2
  149. package/optimize/es/components/overlay_mask/overlay_mask.js +8 -9
  150. package/optimize/es/components/overlay_mask/overlay_mask.styles.js +4 -14
  151. package/optimize/es/components/overlay_mask/overlay_mask_body.styles.js +18 -0
  152. package/optimize/es/components/page_template/page_template.js +6 -9
  153. package/optimize/es/components/popover/popover.js +7 -3
  154. package/optimize/es/components/popover/popover_arrow/_popover_arrow.js +1 -0
  155. package/optimize/es/components/popover/popover_panel/_popover_panel.js +6 -1
  156. package/optimize/es/components/popover/popover_panel/_popover_panel.styles.js +15 -1
  157. package/optimize/es/components/provider/provider.js +1 -5
  158. package/optimize/es/components/resizable_container/helpers.js +2 -2
  159. package/optimize/es/components/resizable_container/resizable_container.js +6 -9
  160. package/optimize/es/components/resizable_container/resizable_container.styles.js +28 -0
  161. package/optimize/es/components/resizable_container/resizable_panel.js +25 -48
  162. package/optimize/es/components/resizable_container/resizable_panel.styles.js +69 -0
  163. package/optimize/es/components/search_bar/query/ast.js +14 -3
  164. package/optimize/es/components/search_bar/search_bar.js +31 -5
  165. package/optimize/es/components/search_bar/search_box.js +29 -3
  166. package/optimize/es/components/tabs/tab.js +21 -13
  167. package/optimize/es/components/tabs/tab.styles.js +50 -0
  168. package/optimize/es/components/tabs/tabs.js +20 -14
  169. package/optimize/es/components/tabs/tabs.styles.js +23 -0
  170. package/optimize/es/components/tool_tip/tool_tip.js +3 -2
  171. package/optimize/es/components/tool_tip/tool_tip.styles.js +17 -22
  172. package/optimize/es/components/tool_tip/tool_tip_arrow.js +9 -3
  173. package/optimize/es/components/tool_tip/tool_tip_popover.js +7 -7
  174. package/optimize/es/components/tour/tour.styles.js +4 -3
  175. package/optimize/es/components/tour/tour_step.js +7 -5
  176. package/optimize/es/global_styling/functions/logicals.js +5 -3
  177. package/optimize/es/global_styling/functions/math.js +35 -17
  178. package/optimize/es/global_styling/mixins/_padding.js +13 -9
  179. package/optimize/lib/components/badge/beta_badge/beta_badge.js +6 -13
  180. package/optimize/lib/components/basic_table/in_memory_table.js +1 -1
  181. package/optimize/lib/components/button/button_display/_button_display.js +7 -6
  182. package/optimize/lib/components/button/button_display/_button_display.styles.js +4 -4
  183. package/optimize/lib/components/button/button_display/_button_display_content.js +6 -9
  184. package/optimize/lib/components/button/button_display/_button_display_content.styles.js +10 -40
  185. package/optimize/lib/components/code/code.js +9 -3
  186. package/optimize/lib/components/code/code.styles.js +35 -0
  187. package/optimize/lib/components/code/code_block.js +71 -306
  188. package/optimize/lib/components/code/code_block.styles.js +156 -0
  189. package/optimize/lib/components/code/code_block_controls.js +48 -0
  190. package/optimize/lib/components/code/code_block_controls.styles.js +39 -0
  191. package/optimize/lib/components/code/code_block_copy.js +78 -0
  192. package/optimize/lib/components/code/code_block_full_screen.js +108 -0
  193. package/optimize/lib/components/code/code_block_line.styles.js +45 -0
  194. package/optimize/lib/components/code/code_block_overflow.js +82 -0
  195. package/optimize/lib/components/code/code_block_virtualized.js +81 -0
  196. package/optimize/lib/components/code/code_syntax.styles.js +57 -0
  197. package/optimize/lib/components/code/utils.js +40 -37
  198. package/optimize/lib/components/datagrid/controls/column_selector.js +1 -1
  199. package/optimize/lib/components/datagrid/controls/column_sorting.js +1 -1
  200. package/optimize/lib/components/loading/loading_spinner.js +14 -2
  201. package/optimize/lib/components/loading/loading_spinner.styles.js +14 -6
  202. package/optimize/lib/components/modal/modal.js +22 -2
  203. package/optimize/lib/components/overlay_mask/overlay_mask.js +9 -9
  204. package/optimize/lib/components/overlay_mask/overlay_mask.styles.js +13 -17
  205. package/optimize/lib/components/overlay_mask/overlay_mask_body.styles.js +20 -0
  206. package/optimize/lib/components/page_template/page_template.js +6 -9
  207. package/optimize/lib/components/popover/popover.js +7 -3
  208. package/optimize/lib/components/popover/popover_arrow/_popover_arrow.js +1 -0
  209. package/optimize/lib/components/popover/popover_panel/_popover_panel.js +6 -1
  210. package/optimize/lib/components/popover/popover_panel/_popover_panel.styles.js +16 -1
  211. package/optimize/lib/components/provider/provider.js +7 -12
  212. package/optimize/lib/components/resizable_container/helpers.js +2 -2
  213. package/optimize/lib/components/resizable_container/resizable_container.js +7 -9
  214. package/optimize/lib/components/resizable_container/resizable_container.styles.js +31 -0
  215. package/optimize/lib/components/resizable_container/resizable_panel.js +28 -49
  216. package/optimize/lib/components/resizable_container/resizable_panel.styles.js +76 -0
  217. package/optimize/lib/components/search_bar/query/ast.js +14 -3
  218. package/optimize/lib/components/search_bar/search_bar.js +31 -5
  219. package/optimize/lib/components/search_bar/search_box.js +30 -3
  220. package/optimize/lib/components/tabs/tab.js +21 -12
  221. package/optimize/lib/components/tabs/tab.styles.js +56 -0
  222. package/optimize/lib/components/tabs/tabs.js +24 -14
  223. package/optimize/lib/components/tabs/tabs.styles.js +34 -0
  224. package/optimize/lib/components/tool_tip/tool_tip.js +3 -2
  225. package/optimize/lib/components/tool_tip/tool_tip.styles.js +18 -26
  226. package/optimize/lib/components/tool_tip/tool_tip_arrow.js +10 -10
  227. package/optimize/lib/components/tool_tip/tool_tip_popover.js +6 -6
  228. package/optimize/lib/components/tour/tour.styles.js +3 -2
  229. package/optimize/lib/components/tour/tour_step.js +7 -5
  230. package/optimize/lib/global_styling/functions/logicals.js +4 -10
  231. package/optimize/lib/global_styling/functions/math.js +37 -19
  232. package/optimize/lib/global_styling/mixins/_padding.js +17 -10
  233. package/package.json +10 -9
  234. package/src/components/datagrid/controls/_data_grid_toolbar.scss +0 -8
  235. package/src/components/index.scss +0 -2
  236. package/src/components/resizable_container/_index.scss +0 -2
  237. package/src/global_styling/mixins/_header.scss +1 -1
  238. package/src/global_styling/variables/_index.scss +0 -1
  239. package/src/themes/amsterdam/overrides/_index.scss +0 -2
  240. package/test-env/components/badge/beta_badge/beta_badge.js +6 -13
  241. package/test-env/components/basic_table/in_memory_table.js +16 -2
  242. package/test-env/components/button/button_display/_button_display.js +7 -6
  243. package/test-env/components/button/button_display/_button_display.styles.js +4 -4
  244. package/test-env/components/button/button_display/_button_display_content.js +6 -9
  245. package/test-env/components/button/button_display/_button_display_content.styles.js +10 -40
  246. package/test-env/components/code/code.styles.js +35 -0
  247. package/test-env/components/code/code_block.styles.js +156 -0
  248. package/test-env/components/code/code_block_controls.js +48 -0
  249. package/test-env/components/code/code_block_controls.styles.js +39 -0
  250. package/test-env/components/code/code_block_copy.js +78 -0
  251. package/test-env/components/code/code_block_full_screen.js +108 -0
  252. package/test-env/components/code/code_block_line.styles.js +45 -0
  253. package/test-env/components/code/code_block_overflow.js +82 -0
  254. package/test-env/components/code/code_block_virtualized.js +81 -0
  255. package/test-env/components/code/code_syntax.styles.js +57 -0
  256. package/test-env/components/code/utils.js +40 -37
  257. package/test-env/components/collapsible_nav/collapsible_nav.js +0 -5
  258. package/test-env/components/datagrid/controls/column_selector.js +1 -1
  259. package/test-env/components/datagrid/controls/column_sorting.js +1 -1
  260. package/test-env/components/header/header_links/header_links.js +6 -0
  261. package/test-env/components/loading/loading_spinner.js +14 -2
  262. package/test-env/components/loading/loading_spinner.styles.js +14 -6
  263. package/test-env/components/modal/modal.js +22 -2
  264. package/test-env/components/overlay_mask/overlay_mask.js +9 -14
  265. package/test-env/components/overlay_mask/overlay_mask.styles.js +13 -17
  266. package/test-env/components/overlay_mask/overlay_mask_body.styles.js +20 -0
  267. package/test-env/components/page_template/page_template.js +6 -9
  268. package/test-env/components/popover/popover.js +13 -3
  269. package/test-env/components/popover/popover_arrow/_popover_arrow.js +1 -0
  270. package/test-env/components/popover/popover_panel/_popover_panel.js +8 -2
  271. package/test-env/components/popover/popover_panel/_popover_panel.styles.js +16 -1
  272. package/test-env/components/provider/provider.js +7 -12
  273. package/test-env/components/resizable_container/helpers.js +2 -2
  274. package/test-env/components/resizable_container/resizable_container.js +7 -9
  275. package/test-env/components/resizable_container/resizable_container.styles.js +31 -0
  276. package/test-env/components/resizable_container/resizable_panel.js +28 -49
  277. package/test-env/components/resizable_container/resizable_panel.styles.js +76 -0
  278. package/test-env/components/search_bar/query/ast.js +14 -3
  279. package/test-env/components/search_bar/search_bar.js +39 -5
  280. package/test-env/components/search_bar/search_box.js +38 -4
  281. package/test-env/components/tabs/tab.js +33 -12
  282. package/test-env/components/tabs/tab.styles.js +56 -0
  283. package/test-env/components/tabs/tabbed_content/tabbed_content.js +16 -0
  284. package/test-env/components/tabs/tabs.js +24 -14
  285. package/test-env/components/tabs/tabs.styles.js +34 -0
  286. package/test-env/components/tool_tip/tool_tip.js +3 -2
  287. package/test-env/components/tool_tip/tool_tip.styles.js +18 -26
  288. package/test-env/components/tool_tip/tool_tip_arrow.js +16 -11
  289. package/test-env/components/tool_tip/tool_tip_popover.js +6 -6
  290. package/test-env/components/tour/tour.styles.js +3 -2
  291. package/test-env/components/tour/tour_step.js +7 -5
  292. package/test-env/global_styling/functions/logicals.js +4 -10
  293. package/test-env/global_styling/functions/math.js +37 -19
  294. package/test-env/global_styling/mixins/_padding.js +17 -10
  295. package/src/components/code/_code.scss +0 -15
  296. package/src/components/code/_code_block.scss +0 -177
  297. package/src/components/code/_index.scss +0 -4
  298. package/src/components/code/_mixins.scss +0 -127
  299. package/src/components/code/_variables.scss +0 -5
  300. package/src/components/resizable_container/_resizable_container.scss +0 -8
  301. package/src/components/resizable_container/_resizable_panel.scss +0 -51
  302. package/src/components/tabs/_index.scss +0 -1
  303. package/src/components/tabs/_tabs.scss +0 -110
  304. package/src/global_styling/variables/_colors_code.scss +0 -23
  305. package/src/themes/amsterdam/overrides/_code.scss +0 -9
  306. package/src/themes/amsterdam/overrides/_tabs.scss +0 -80
@@ -0,0 +1,82 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.useOverflow = void 0;
9
+
10
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
+
12
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
13
+
14
+ var _react = require("react");
15
+
16
+ var _mutation_observer = require("../observer/mutation_observer");
17
+
18
+ var _resize_observer = require("../observer/resize_observer");
19
+
20
+ /*
21
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
22
+ * or more contributor license agreements. Licensed under the Elastic License
23
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
24
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
25
+ * Side Public License, v 1.
26
+ */
27
+
28
+ /**
29
+ * Overflow logic - returns overflow-related state/logic/utils
30
+ *
31
+ * Detects whether the code block overflows and returns a tabIndex of 0 if so,
32
+ * which allows keyboard users to use the up/down arrow keys to scroll through
33
+ * the container.
34
+ */
35
+ var useOverflow = function useOverflow(_ref) {
36
+ var overflowHeight = _ref.overflowHeight;
37
+
38
+ var _useState = (0, _react.useState)(null),
39
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
40
+ wrapperRef = _useState2[0],
41
+ setWrapperRef = _useState2[1];
42
+
43
+ var _useState3 = (0, _react.useState)(-1),
44
+ _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
45
+ tabIndex = _useState4[0],
46
+ setTabIndex = _useState4[1];
47
+
48
+ var _useResizeObserver = (0, _resize_observer.useResizeObserver)(wrapperRef),
49
+ width = _useResizeObserver.width,
50
+ height = _useResizeObserver.height;
51
+
52
+ var doesOverflow = function doesOverflow() {
53
+ if (!wrapperRef) return;
54
+ var clientWidth = wrapperRef.clientWidth,
55
+ clientHeight = wrapperRef.clientHeight,
56
+ scrollWidth = wrapperRef.scrollWidth,
57
+ scrollHeight = wrapperRef.scrollHeight;
58
+ var doesOverflow = scrollHeight > clientHeight || scrollWidth > clientWidth;
59
+ setTabIndex(doesOverflow ? 0 : -1);
60
+ };
61
+
62
+ (0, _mutation_observer.useMutationObserver)(wrapperRef, doesOverflow, {
63
+ subtree: true,
64
+ childList: true
65
+ });
66
+ (0, _react.useEffect)(doesOverflow, [width, height, wrapperRef]);
67
+ var overflowHeightStyles = (0, _react.useMemo)(function () {
68
+ if (overflowHeight) {
69
+ var property = typeof overflowHeight === 'string' ? 'blockSize' : 'maxBlockSize';
70
+ return (0, _defineProperty2.default)({}, property, overflowHeight);
71
+ }
72
+
73
+ return {};
74
+ }, [overflowHeight]);
75
+ return {
76
+ setWrapperRef: setWrapperRef,
77
+ tabIndex: tabIndex,
78
+ overflowHeightStyles: overflowHeightStyles
79
+ };
80
+ };
81
+
82
+ exports.useOverflow = useOverflow;
@@ -0,0 +1,81 @@
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.EuiCodeBlockVirtualized = void 0;
11
+
12
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
13
+
14
+ var _react = _interopRequireWildcard(require("react"));
15
+
16
+ var _reactWindow = require("react-window");
17
+
18
+ var _auto_sizer = require("../auto_sizer");
19
+
20
+ var _utils = require("./utils");
21
+
22
+ var _react2 = require("@emotion/react");
23
+
24
+ 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); }
25
+
26
+ 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; }
27
+
28
+ /*
29
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
30
+ * or more contributor license agreements. Licensed under the Elastic License
31
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
32
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
33
+ * Side Public License, v 1.
34
+ */
35
+ var EuiCodeBlockVirtualized = function EuiCodeBlockVirtualized(_ref) {
36
+ var data = _ref.data,
37
+ rowHeight = _ref.rowHeight,
38
+ overflowHeight = _ref.overflowHeight,
39
+ preProps = _ref.preProps,
40
+ codeProps = _ref.codeProps;
41
+ var VirtualizedOuterElement = (0, _react.useMemo)(function () {
42
+ return /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
43
+ return (0, _react2.jsx)("pre", (0, _extends2.default)({}, props, {
44
+ ref: ref
45
+ }, preProps));
46
+ });
47
+ }, [preProps]);
48
+ var VirtualizedInnerElement = (0, _react.useMemo)(function () {
49
+ return /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
50
+ return (0, _react2.jsx)("code", (0, _extends2.default)({}, props, {
51
+ ref: ref
52
+ }, codeProps));
53
+ });
54
+ }, [codeProps]);
55
+ return (0, _react2.jsx)(_auto_sizer.EuiAutoSizer, {
56
+ disableHeight: typeof overflowHeight === 'number'
57
+ }, function (_ref2) {
58
+ var height = _ref2.height,
59
+ width = _ref2.width;
60
+ return (0, _react2.jsx)(_reactWindow.FixedSizeList, {
61
+ height: height !== null && height !== void 0 ? height : overflowHeight,
62
+ width: width,
63
+ itemData: data,
64
+ itemSize: rowHeight,
65
+ itemCount: data.length,
66
+ outerElementType: VirtualizedOuterElement,
67
+ innerElementType: VirtualizedInnerElement
68
+ }, ListRow);
69
+ });
70
+ };
71
+
72
+ exports.EuiCodeBlockVirtualized = EuiCodeBlockVirtualized;
73
+
74
+ var ListRow = function ListRow(_ref3) {
75
+ var data = _ref3.data,
76
+ index = _ref3.index,
77
+ style = _ref3.style;
78
+ var row = data[index];
79
+ row.properties.style = style;
80
+ return (0, _utils.nodeToHtml)(row, index, data, 0);
81
+ };
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.euiCodeSyntaxTokens = exports.euiCodeSyntaxColors = void 0;
7
+
8
+ var _services = require("../../services");
9
+
10
+ /*
11
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
12
+ * or more contributor license agreements. Licensed under the Elastic License
13
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
14
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
15
+ * Side Public License, v 1.
16
+ */
17
+ var visColors = (0, _services.euiPaletteColorBlind)();
18
+
19
+ var euiCodeSyntaxColors = function euiCodeSyntaxColors(euiThemeContext) {
20
+ var euiTheme = euiThemeContext.euiTheme;
21
+ var backgroundColor = euiTheme.colors.lightestShade;
22
+ return {
23
+ backgroundColor: backgroundColor,
24
+ color: (0, _services.makeHighContrastColor)(euiTheme.colors.text)(backgroundColor),
25
+ inlineCodeColor: (0, _services.makeHighContrastColor)(visColors[3])(backgroundColor),
26
+ selectedBackgroundColor: 'inherit',
27
+ commentColor: (0, _services.makeHighContrastColor)(euiTheme.colors.subduedText)(backgroundColor),
28
+ selectorTagColor: 'inherit',
29
+ stringColor: (0, _services.makeHighContrastColor)(visColors[2])(backgroundColor),
30
+ tagColor: (0, _services.makeHighContrastColor)(visColors[1])(backgroundColor),
31
+ nameColor: (0, _services.makeHighContrastColor)(visColors[1])(backgroundColor),
32
+ numberColor: (0, _services.makeHighContrastColor)(visColors[0])(backgroundColor),
33
+ keywordColor: (0, _services.makeHighContrastColor)(visColors[3])(backgroundColor),
34
+ functionTitleColor: 'inherit',
35
+ typeColor: (0, _services.makeHighContrastColor)(visColors[1])(backgroundColor),
36
+ attributeColor: 'inherit',
37
+ symbolColor: (0, _services.makeHighContrastColor)(visColors[9])(backgroundColor),
38
+ paramsColor: 'inherit',
39
+ metaColor: (0, _services.makeHighContrastColor)(euiTheme.colors.subduedText)(backgroundColor),
40
+ titleColor: (0, _services.makeHighContrastColor)(visColors[7])(backgroundColor),
41
+ sectionColor: (0, _services.makeHighContrastColor)(visColors[9])(backgroundColor),
42
+ additionColor: (0, _services.makeHighContrastColor)(visColors[0])(backgroundColor),
43
+ deletionColor: (0, _services.makeHighContrastColor)(euiTheme.colors.danger)(backgroundColor),
44
+ selectorClassColor: 'inherit',
45
+ selectorIdColor: 'inherit'
46
+ };
47
+ };
48
+
49
+ exports.euiCodeSyntaxColors = euiCodeSyntaxColors;
50
+
51
+ var euiCodeSyntaxTokens = function euiCodeSyntaxTokens(euiThemeContext) {
52
+ var euiTheme = euiThemeContext.euiTheme;
53
+ var euiCodeBlock = euiCodeSyntaxColors(euiThemeContext);
54
+ return "\n .token.punctuation:not(.interpolation-punctuation):not([class*='attr-']) {\n opacity: .7;\n }\n \n .token.comment,\n .token.prolog,\n .token.doctype,\n .token.cdata,\n .token.coord,\n .token.blockquote {\n color: ".concat(euiCodeBlock.commentColor, ";\n font-style: italic;\n }\n \n .token.selector {\n color: ").concat(euiCodeBlock.selectorTagColor, ";\n }\n \n .token.string,\n .token.interpolation,\n .token.interpolation-punctuation,\n .token.doc-comment .token.keyword,\n .token.attr-value,\n .token.url .token.content {\n color: ").concat(euiCodeBlock.stringColor, ";\n }\n \n .token.number,\n .token.boolean,\n .token.keyword.nil,\n .token.regex,\n .token.variable,\n .token.unit,\n .token.hexcode,\n .token.attr-name,\n .token.attr-equals {\n color: ").concat(euiCodeBlock.numberColor, ";\n }\n \n .token.atrule .token.rule,\n .token.keyword {\n color: ").concat(euiCodeBlock.keywordColor, ";\n }\n \n .token.function {\n color: ").concat(euiCodeBlock.functionTitleColor, ";\n }\n \n .token.tag {\n color: ").concat(euiCodeBlock.tagColor, ";\n }\n \n .token.class-name {\n color: ").concat(euiCodeBlock.typeColor, ";\n }\n \n .token.property {\n color: ").concat(euiCodeBlock.attributeColor, ";\n }\n \n .token.console,\n .token.list-punctuation,\n .token.url-reference,\n .token.url .token.url {\n color: ").concat(euiCodeBlock.symbolColor, ";\n }\n \n .token.paramater {\n color: ").concat(euiCodeBlock.paramsColor, ";\n }\n \n .token.meta,\n .token.important {\n color: ").concat(euiCodeBlock.metaColor, ";\n }\n \n .token.title {\n color: ").concat(euiCodeBlock.titleColor, ";\n }\n \n .token.section {\n color: ").concat(euiCodeBlock.sectionColor, ";\n }\n \n .token.prefix.inserted,\n .token.prefix.deleted {\n padding-inline-start: -").concat(euiTheme.size.xs, ";\n margin-inline-start: -").concat(euiTheme.size.xs, ";\n }\n \n .token.prefix.inserted {\n box-shadow: -").concat(euiTheme.size.xs, " 0 ").concat(euiCodeBlock.additionColor, ";\n color: ").concat(euiCodeBlock.additionColor, ";\n }\n \n .token.prefix.deleted {\n box-shadow: -").concat(euiTheme.size.xs, " 0 ").concat(euiCodeBlock.deletionColor, ";\n color: ").concat(euiCodeBlock.deletionColor, ";\n }\n \n .token.selector .token.class {\n color: ").concat(euiCodeBlock.selectorClassColor, ";\n }\n \n .token.selector .token.id {\n color: ").concat(euiCodeBlock.selectorIdColor, ";\n }\n \n .token.italic {\n font-style: italic;\n }\n \n .token.important,\n .token.bold {\n font-weight: $euiCodeFontWeightBold;\n }\n \n .token.url-reference,\n .token.url .token.url {\n text-decoration: underline;\n }\n \n .token.entity {\n cursor: help;\n }\n ");
55
+ };
56
+
57
+ exports.euiCodeSyntaxTokens = euiCodeSyntaxTokens;
@@ -15,7 +15,9 @@ var _react = _interopRequireWildcard(require("react"));
15
15
 
16
16
  var _refractor = require("refractor");
17
17
 
18
- var _classnames = _interopRequireDefault(require("classnames"));
18
+ var _css = require("@emotion/css");
19
+
20
+ var _code_block_line = require("./code_block_line.styles");
19
21
 
20
22
  var _react2 = require("@emotion/react");
21
23
 
@@ -64,7 +66,7 @@ var nodeToHtml = function nodeToHtml(node, idx, nodes) {
64
66
  children = node.children;
65
67
  return /*#__PURE__*/(0, _react.createElement)(tagName, _objectSpread(_objectSpread({}, properties), {}, {
66
68
  key: key,
67
- className: (0, _classnames.default)(properties.className)
69
+ className: (0, _css.cx)(properties.className)
68
70
  }), children && children.map(function (el, i) {
69
71
  return nodeToHtml(el, i, nodes, depth + 1);
70
72
  }));
@@ -81,8 +83,7 @@ var nodeToHtml = function nodeToHtml(node, idx, nodes) {
81
83
 
82
84
  exports.nodeToHtml = nodeToHtml;
83
85
  // Approximate width of a single digit/character
84
- var CHAR_SIZE = 8;
85
- var $euiSizeS = 8; // Creates an array of numbers from comma-separeated
86
+ var CHAR_SIZE = 8; // Creates an array of numbers from comma-separeated
86
87
  // string of numbers or number ranges using `-`
87
88
  // (e.g., "1, 3-10, 15")
88
89
 
@@ -157,8 +158,7 @@ var addLineData = function addLineData(nodes, data) {
157
158
  }, []);
158
159
  };
159
160
 
160
- function wrapLines(nodes, options) {
161
- var highlights = options.highlight ? parseLineRanges(options.highlight) : [];
161
+ function wrapLines(nodes, options, euiTheme) {
162
162
  var grouped = [];
163
163
  nodes.forEach(function (node) {
164
164
  var lineStart = node.lineStart - 1;
@@ -170,41 +170,44 @@ function wrapLines(nodes, options) {
170
170
  }
171
171
  });
172
172
  var wrapped = [];
173
- var digits = grouped.length.toString().length;
174
- var width = digits * CHAR_SIZE;
175
173
  grouped.forEach(function (node, i) {
176
- var _properties;
177
-
178
- var lineNumber = i + 1;
179
- var classes = (0, _classnames.default)('euiCodeBlock__line', {
180
- 'euiCodeBlock__line--isHighlighted': highlights.includes(lineNumber)
181
- });
182
- var children = options.showLineNumbers ? [{
183
- type: 'element',
184
- tagName: 'span',
185
- properties: (_properties = {
186
- style: {
187
- width: width
188
- }
189
- }, (0, _defineProperty2.default)(_properties, 'data-line-number', lineNumber), (0, _defineProperty2.default)(_properties, 'aria-hidden', true), (0, _defineProperty2.default)(_properties, "className", ['euiCodeBlock__lineNumber']), _properties),
190
- children: []
191
- }, {
192
- type: 'element',
193
- tagName: 'span',
194
- properties: {
195
- style: {
196
- marginLeft: width + $euiSizeS,
197
- width: "calc(100% - ".concat(width, "px)")
174
+ var children = node;
175
+ var styles = (0, _code_block_line.euiCodeBlockLineStyles)(euiTheme);
176
+ var lineStyles = (0, _css.cx)([styles.euiCodeBlock__line, options.showLineNumbers && styles.hasLineNumbers]);
177
+
178
+ if (options.showLineNumbers) {
179
+ var _properties;
180
+
181
+ var lineNumber = i + 1;
182
+ var digits = grouped.length.toString().length;
183
+ var width = digits * CHAR_SIZE;
184
+ var highlights = options.highlight ? parseLineRanges(options.highlight) : [];
185
+ var lineTextStyles = (0, _css.cx)([styles.lineText.euiCodeBlock__lineText, highlights.includes(lineNumber) && styles.lineText.isHighlighted]);
186
+ var lineNumberStyles = (0, _css.cx)(styles.lineNumber.euiCodeBlock__lineNumber);
187
+ children = [{
188
+ type: 'element',
189
+ tagName: 'span',
190
+ properties: (_properties = {
191
+ style: {
192
+ inlineSize: width
193
+ }
194
+ }, (0, _defineProperty2.default)(_properties, 'data-line-number', lineNumber), (0, _defineProperty2.default)(_properties, 'aria-hidden', true), (0, _defineProperty2.default)(_properties, "className", ['euiCodeBlock__lineNumber', lineNumberStyles]), _properties),
195
+ children: []
196
+ }, {
197
+ type: 'element',
198
+ tagName: 'span',
199
+ properties: {
200
+ className: ['euiCodeBlock__lineText', lineTextStyles]
198
201
  },
199
- className: ['euiCodeBlock__lineText']
200
- },
201
- children: node
202
- }] : node;
202
+ children: node
203
+ }];
204
+ }
205
+
203
206
  wrapped.push({
204
207
  type: 'element',
205
208
  tagName: 'span',
206
209
  properties: {
207
- className: [classes]
210
+ className: ['euiCodeBlock__line', lineStyles]
208
211
  },
209
212
  children: children
210
213
  });
@@ -212,13 +215,13 @@ function wrapLines(nodes, options) {
212
215
  return wrapped;
213
216
  }
214
217
 
215
- var highlightByLine = function highlightByLine(children, language, data) {
218
+ var highlightByLine = function highlightByLine(children, language, data, euiTheme) {
216
219
  return wrapLines(addLineData((0, _refractor.highlight)(children, language), {
217
220
  lineNumber: data.start
218
221
  }), {
219
222
  showLineNumbers: data.show,
220
223
  highlight: data.highlight
221
- });
224
+ }, euiTheme);
222
225
  };
223
226
 
224
227
  exports.highlightByLine = highlightByLine;
@@ -188,11 +188,6 @@ EuiCollapsibleNav.propTypes = {
188
188
  * Adjustments to the EuiOverlayMask that is added when `ownFocus = true`
189
189
  */
190
190
  maskProps: _propTypes.default.shape({
191
- className: _propTypes.default.string,
192
- "aria-label": _propTypes.default.string,
193
- "data-test-subj": _propTypes.default.string,
194
- css: _propTypes.default.any,
195
-
196
191
  /**
197
192
  * ReactNode to render as this component's content
198
193
  */
@@ -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",
@@ -17,7 +17,7 @@ var _react = _interopRequireWildcard(require("react"));
17
17
 
18
18
  var _propTypes = _interopRequireDefault(require("prop-types"));
19
19
 
20
- var _classnames = _interopRequireDefault(require("classnames"));
20
+ var _css = require("@emotion/css");
21
21
 
22
22
  var _react2 = require("@emotion/react");
23
23
 
@@ -29,7 +29,9 @@ var _portal = require("../portal");
29
29
 
30
30
  var _overlay_mask = require("./overlay_mask.styles");
31
31
 
32
- var _excluded = ["className", "children", "headerZindexLocation", "maskRef", "css"];
32
+ var _overlay_mask_body = require("./overlay_mask_body.styles");
33
+
34
+ var _excluded = ["className", "children", "headerZindexLocation", "maskRef"];
33
35
 
34
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); }
35
37
 
@@ -41,7 +43,6 @@ var EuiOverlayMask = function EuiOverlayMask(_ref) {
41
43
  _ref$headerZindexLoca = _ref.headerZindexLocation,
42
44
  headerZindexLocation = _ref$headerZindexLoca === void 0 ? 'above' : _ref$headerZindexLoca,
43
45
  maskRef = _ref.maskRef,
44
- css = _ref.css,
45
46
  rest = (0, _objectWithoutProperties2.default)(_ref, _excluded);
46
47
 
47
48
  var _useState = (0, _react.useState)(null),
@@ -52,7 +53,7 @@ var EuiOverlayMask = function EuiOverlayMask(_ref) {
52
53
  var combinedMaskRef = (0, _services.useCombinedRefs)([setOverlayMaskNode, maskRef]);
53
54
  var euiTheme = (0, _services.useEuiTheme)();
54
55
  var styles = (0, _overlay_mask.euiOverlayMaskStyles)(euiTheme);
55
- var cssStyles = [styles.euiOverlayMask, styles["".concat(headerZindexLocation, "Header")]];
56
+ var cssStyles = (0, _css.cx)([styles.euiOverlayMask, styles["".concat(headerZindexLocation, "Header")]]);
56
57
  (0, _react.useEffect)(function () {
57
58
  if (!overlayMaskNode) return;
58
59
  (0, _common.keysOf)(rest).forEach(function (key) {
@@ -68,24 +69,18 @@ var EuiOverlayMask = function EuiOverlayMask(_ref) {
68
69
 
69
70
  (0, _react.useEffect)(function () {
70
71
  if (!overlayMaskNode) return;
71
- overlayMaskNode.className = (0, _classnames.default)('euiOverlayMask', className);
72
- }, [overlayMaskNode, className]);
72
+ overlayMaskNode.className = (0, _css.cx)('euiOverlayMask', cssStyles, className);
73
+ overlayMaskNode.dataset.relativeToHeader = headerZindexLocation;
74
+ }, [overlayMaskNode, className, cssStyles, headerZindexLocation]);
73
75
  return (0, _react2.jsx)(_portal.EuiPortal, {
74
76
  portalRef: combinedMaskRef
75
77
  }, (0, _react2.jsx)(_react2.Global, {
76
- styles: _overlay_mask.euiOverlayMaskBodyStyles
77
- }), (0, _react2.jsx)(_react2.Global, {
78
- styles: cssStyles
78
+ styles: _overlay_mask_body.euiOverlayMaskBodyStyles
79
79
  }), children);
80
80
  };
81
81
 
82
82
  exports.EuiOverlayMask = EuiOverlayMask;
83
83
  EuiOverlayMask.propTypes = {
84
- className: _propTypes.default.string,
85
- "aria-label": _propTypes.default.string,
86
- "data-test-subj": _propTypes.default.string,
87
- css: _propTypes.default.any,
88
-
89
84
  /**
90
85
  * ReactNode to render as this component's content
91
86
  */