@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
@@ -23,31 +23,21 @@ var _react = _interopRequireWildcard(require("react"));
23
23
 
24
24
  var _classnames = _interopRequireDefault(require("classnames"));
25
25
 
26
- var _reactWindow = require("react-window");
27
-
28
26
  var _services = require("../../services");
29
27
 
30
- var _auto_sizer = require("../auto_sizer");
31
-
32
- var _button = require("../button");
33
-
34
- var _common = require("../common");
35
-
36
- var _copy = require("../copy");
37
-
38
- var _focus_trap = require("../focus_trap");
28
+ var _utils = require("./utils");
39
29
 
40
- var _i18n = require("../i18n");
30
+ var _code_block_overflow = require("./code_block_overflow");
41
31
 
42
- var _inner_text = require("../inner_text");
32
+ var _code_block_copy = require("./code_block_copy");
43
33
 
44
- var _mutation_observer = require("../observer/mutation_observer");
34
+ var _code_block_full_screen = require("./code_block_full_screen");
45
35
 
46
- var _resize_observer = require("../observer/resize_observer");
36
+ var _code_block_controls = require("./code_block_controls");
47
37
 
48
- var _overlay_mask = require("../overlay_mask");
38
+ var _code_block_virtualized = require("./code_block_virtualized");
49
39
 
50
- var _utils = require("./utils");
40
+ var _code_block = require("./code_block.styles");
51
41
 
52
42
  var _react2 = require("@emotion/react");
53
43
 
@@ -67,21 +57,9 @@ var fontSizeToRowHeightMap = {
67
57
  m: 21,
68
58
  l: 24
69
59
  };
70
- var fontSizeToClassNameMap = {
71
- s: 'euiCodeBlock--fontSmall',
72
- m: 'euiCodeBlock--fontMedium',
73
- l: 'euiCodeBlock--fontLarge'
74
- };
75
- var FONT_SIZES = (0, _common.keysOf)(fontSizeToClassNameMap);
60
+ var FONT_SIZES = ['s', 'm', 'l'];
76
61
  exports.FONT_SIZES = FONT_SIZES;
77
- var paddingSizeToClassNameMap = {
78
- none: '',
79
- s: 'euiCodeBlock--paddingSmall',
80
- m: 'euiCodeBlock--paddingMedium',
81
- l: 'euiCodeBlock--paddingLarge'
82
- };
83
- var PADDING_SIZES = (0, _common.keysOf)(paddingSizeToClassNameMap); // This exclusive union enforces specific props based on isVirtualized
84
-
62
+ var PADDING_SIZES = ['none', 's', 'm', 'l'];
85
63
  exports.PADDING_SIZES = PADDING_SIZES;
86
64
 
87
65
  var EuiCodeBlock = function EuiCodeBlock(_ref) {
@@ -105,6 +83,7 @@ var EuiCodeBlock = function EuiCodeBlock(_ref) {
105
83
  lineNumbers = _ref$lineNumbers === void 0 ? false : _ref$lineNumbers,
106
84
  rest = (0, _objectWithoutProperties2.default)(_ref, _excluded);
107
85
 
86
+ var euiTheme = (0, _services.useEuiTheme)();
108
87
  var language = (0, _react.useMemo)(function () {
109
88
  return (0, _utils.checkSupportedLanguage)(_language);
110
89
  }, [_language]);
@@ -124,8 +103,8 @@ var EuiCodeBlock = function EuiCodeBlock(_ref) {
124
103
  return [];
125
104
  }
126
105
 
127
- return (0, _utils.highlightByLine)(children, language, lineNumbersConfig);
128
- }, [children, language, lineNumbersConfig]); // Used by `pre` when `isVirtualized=false` or `children` is not parsable
106
+ return (0, _utils.highlightByLine)(children, language, lineNumbersConfig, euiTheme);
107
+ }, [children, language, lineNumbersConfig, euiTheme]); // Used by `pre` when `isVirtualized=false` or `children` is not parsable
129
108
 
130
109
  var content = (0, _react.useMemo)(function () {
131
110
  return (0, _utils.getHtmlContent)(data, children);
@@ -134,305 +113,91 @@ var EuiCodeBlock = function EuiCodeBlock(_ref) {
134
113
  return !!(_isVirtualized && Array.isArray(data));
135
114
  }, [_isVirtualized, data]);
136
115
 
137
- var _useCopy = useCopy({
116
+ var _useCopy = (0, _code_block_copy.useCopy)({
138
117
  isCopyable: isCopyable,
139
118
  isVirtualized: isVirtualized,
140
119
  children: children
141
120
  }),
142
121
  innerTextRef = _useCopy.innerTextRef,
143
- showCopyButton = _useCopy.showCopyButton,
144
- textToCopy = _useCopy.textToCopy;
122
+ copyButton = _useCopy.copyButton;
145
123
 
146
- var _useOverflowDetection = useOverflowDetection(),
147
- setWrapperRef = _useOverflowDetection.setWrapperRef,
148
- tabIndex = _useOverflowDetection.tabIndex;
124
+ var _useOverflow = (0, _code_block_overflow.useOverflow)({
125
+ overflowHeight: overflowHeight
126
+ }),
127
+ setWrapperRef = _useOverflow.setWrapperRef,
128
+ tabIndex = _useOverflow.tabIndex,
129
+ overflowHeightStyles = _useOverflow.overflowHeightStyles;
149
130
 
150
131
  var combinedRef = (0, _services.useCombinedRefs)([innerTextRef, setWrapperRef]);
151
132
 
152
- var _useFullScreen = useFullScreen({
133
+ var _useFullScreen = (0, _code_block_full_screen.useFullScreen)({
153
134
  overflowHeight: overflowHeight
154
135
  }),
155
- showFullScreenButton = _useFullScreen.showFullScreenButton,
156
- onKeyDown = _useFullScreen.onKeyDown,
136
+ fullScreenButton = _useFullScreen.fullScreenButton,
157
137
  isFullScreen = _useFullScreen.isFullScreen,
158
- toggleFullScreen = _useFullScreen.toggleFullScreen; // Classes used in both fullscreen and non-fullscreen mode
159
-
160
-
161
- var wrapperClasses = (0, _classnames.default)(className, 'euiCodeBlock', {
162
- 'euiCodeBlock--hasControl': showCopyButton || showFullScreenButton,
163
- 'euiCodeBlock--hasBothControls': showCopyButton && showFullScreenButton,
164
- 'euiCodeBlock--hasLineNumbers': lineNumbersConfig.show
165
- }); // Classes used in non-fullscreen mode only
138
+ onKeyDown = _useFullScreen.onKeyDown;
139
+
140
+ var hasControls = !!(copyButton || fullScreenButton);
141
+ var hasBothControls = !!(copyButton && fullScreenButton);
142
+ var styles = (0, _code_block.euiCodeBlockStyles)(euiTheme);
143
+ var cssStyles = [styles.euiCodeBlock, styles[fontSize], transparentBackground && styles.transparentBackground, hasControls && (hasBothControls ? styles.hasBothControls[paddingSize] : styles.hasControls[paddingSize])];
144
+
145
+ var _useMemo = (0, _react.useMemo)(function () {
146
+ var isWhiteSpacePre = whiteSpace === 'pre' || isVirtualized;
147
+ var styles = (0, _code_block.euiCodeBlockPreStyles)(euiTheme);
148
+ var cssStyles = [styles.euiCodeBlock__pre, isWhiteSpacePre ? styles.whiteSpace.pre.pre : styles.whiteSpace.preWrap.preWrap];
149
+ var preProps = {
150
+ className: 'euiCodeBlock__pre',
151
+ css: [].concat(cssStyles, [styles.padding[paddingSize], hasControls && (isWhiteSpacePre ? styles.whiteSpace.pre.controlsOffset[paddingSize] : styles.whiteSpace.preWrap.controlsOffset[paddingSize])]),
152
+ tabIndex: isVirtualized ? 0 : tabIndex
153
+ };
154
+ var preFullscreenProps = {
155
+ className: 'euiCodeBlock__pre',
156
+ css: [].concat(cssStyles, [// Force fullscreen to use xl padding
157
+ styles.padding.xl, hasControls && (isWhiteSpacePre ? styles.whiteSpace.pre.controlsOffset.xl : styles.whiteSpace.preWrap.controlsOffset.xl)]),
158
+ tabIndex: 0,
159
+ onKeyDown: onKeyDown
160
+ };
161
+ return [preProps, preFullscreenProps];
162
+ }, [euiTheme, whiteSpace, isVirtualized, hasControls, paddingSize, onKeyDown, tabIndex]),
163
+ _useMemo2 = (0, _slicedToArray2.default)(_useMemo, 2),
164
+ preProps = _useMemo2[0],
165
+ preFullscreenProps = _useMemo2[1];
166
166
 
167
- var classes = (0, _classnames.default)(wrapperClasses, fontSizeToClassNameMap[fontSize], paddingSizeToClassNameMap[paddingSize], {
168
- 'euiCodeBlock--transparentBackground': transparentBackground
169
- });
170
167
  var codeProps = (0, _react.useMemo)(function () {
168
+ var styles = (0, _code_block.euiCodeBlockCodeStyles)(euiTheme);
169
+ var cssStyles = [styles.euiCodeBlock__code, isVirtualized && styles.isVirtualized];
171
170
  return _objectSpread({
172
171
  className: 'euiCodeBlock__code',
172
+ css: cssStyles,
173
173
  'data-code-language': language
174
174
  }, rest);
175
- }, [language, rest]);
176
- var preClasses = (0, _classnames.default)('euiCodeBlock__pre', {
177
- 'euiCodeBlock__pre--whiteSpacePre': whiteSpace === 'pre' || isVirtualized,
178
- 'euiCodeBlock__pre--whiteSpacePreWrap': whiteSpace === 'pre-wrap' && !isVirtualized,
179
- 'euiCodeBlock__pre--isVirtualized': isVirtualized
180
- });
181
- var preFullscreenProps = (0, _react.useMemo)(function () {
182
- return {
183
- className: preClasses,
184
- tabIndex: 0,
185
- onKeyDown: onKeyDown
186
- };
187
- }, [preClasses, onKeyDown]);
188
- var overflowHeightStyles = (0, _react.useMemo)(function () {
189
- if (overflowHeight) {
190
- var property = typeof overflowHeight === 'string' ? 'height' : 'maxHeight';
191
- return (0, _defineProperty2.default)({}, property, overflowHeight);
192
- }
193
-
194
- return {};
195
- }, [overflowHeight]);
196
- var wrapperProps = (0, _react.useMemo)(function () {
197
- return {
198
- className: classes,
199
- style: overflowHeightStyles
200
- };
201
- }, [classes, overflowHeightStyles]);
202
- var codeBlockControls = (0, _react.useMemo)(function () {
203
- if (showCopyButton || showFullScreenButton) {
204
- return (0, _react2.jsx)("div", {
205
- className: "euiCodeBlock__controls"
206
- }, showFullScreenButton && (0, _react2.jsx)(FullScreenButton, {
207
- isFullScreen: isFullScreen,
208
- toggleFullScreen: toggleFullScreen
209
- }), showCopyButton && (0, _react2.jsx)(CopyButton, {
210
- textToCopy: textToCopy
211
- }));
212
- }
213
- }, [isFullScreen, toggleFullScreen, showCopyButton, showFullScreenButton, textToCopy]);
214
- return (0, _react2.jsx)("div", wrapperProps, isVirtualized ? (0, _react2.jsx)(VirtualizedCodeBlock, {
175
+ }, [language, euiTheme, isVirtualized, rest]);
176
+ return (0, _react2.jsx)("div", {
177
+ css: cssStyles,
178
+ className: (0, _classnames.default)('euiCodeBlock', className),
179
+ style: overflowHeightStyles
180
+ }, isVirtualized ? (0, _react2.jsx)(_code_block_virtualized.EuiCodeBlockVirtualized, {
215
181
  data: data,
216
182
  rowHeight: fontSizeToRowHeightMap[fontSize],
217
183
  overflowHeight: overflowHeight,
218
- preProps: preFullscreenProps // Note: the virtualized codeblock always sets a tabIndex of 0
219
- ,
184
+ preProps: preProps,
220
185
  codeProps: codeProps
221
- }) : (0, _react2.jsx)("pre", {
186
+ }) : (0, _react2.jsx)("pre", (0, _extends2.default)({}, preProps, {
222
187
  ref: combinedRef,
223
- style: overflowHeightStyles,
224
- className: preClasses,
225
- tabIndex: tabIndex
226
- }, (0, _react2.jsx)("code", codeProps, content)), codeBlockControls, isFullScreen && (0, _react2.jsx)(FullScreenDisplay, {
227
- className: wrapperClasses
228
- }, isVirtualized ? (0, _react2.jsx)(VirtualizedCodeBlock, {
188
+ style: overflowHeightStyles
189
+ }), (0, _react2.jsx)("code", codeProps, content)), (0, _react2.jsx)(_code_block_controls.EuiCodeBlockControls, {
190
+ controls: [fullScreenButton, copyButton],
191
+ paddingSize: paddingSize
192
+ }), isFullScreen && (0, _react2.jsx)(_code_block_full_screen.EuiCodeBlockFullScreenWrapper, null, isVirtualized ? (0, _react2.jsx)(_code_block_virtualized.EuiCodeBlockVirtualized, {
229
193
  data: data,
230
194
  rowHeight: fontSizeToRowHeightMap.l,
231
195
  preProps: preFullscreenProps,
232
196
  codeProps: codeProps
233
- }) : (0, _react2.jsx)("pre", preFullscreenProps, (0, _react2.jsx)("code", codeProps, content)), codeBlockControls));
234
- };
235
- /**
236
- * Overflow logic
237
- *
238
- * Detects whether the code block overflows and returns a tabIndex of 0 if so,
239
- * which allows keyboard users to use the up/down arrow keys to scroll through
240
- * the container.
241
- */
242
-
243
-
244
- exports.EuiCodeBlock = EuiCodeBlock;
245
-
246
- var useOverflowDetection = function useOverflowDetection() {
247
- var _useState = (0, _react.useState)(null),
248
- _useState2 = (0, _slicedToArray2.default)(_useState, 2),
249
- wrapperRef = _useState2[0],
250
- setWrapperRef = _useState2[1];
251
-
252
- var _useState3 = (0, _react.useState)(-1),
253
- _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
254
- tabIndex = _useState4[0],
255
- setTabIndex = _useState4[1];
256
-
257
- var _useResizeObserver = (0, _resize_observer.useResizeObserver)(wrapperRef),
258
- width = _useResizeObserver.width,
259
- height = _useResizeObserver.height;
260
-
261
- var doesOverflow = function doesOverflow() {
262
- if (!wrapperRef) return;
263
- var clientWidth = wrapperRef.clientWidth,
264
- clientHeight = wrapperRef.clientHeight,
265
- scrollWidth = wrapperRef.scrollWidth,
266
- scrollHeight = wrapperRef.scrollHeight;
267
- var doesOverflow = scrollHeight > clientHeight || scrollWidth > clientWidth;
268
- setTabIndex(doesOverflow ? 0 : -1);
269
- };
270
-
271
- (0, _mutation_observer.useMutationObserver)(wrapperRef, doesOverflow, {
272
- subtree: true,
273
- childList: true
274
- });
275
- (0, _react.useEffect)(doesOverflow, [width, height, wrapperRef]);
276
- return {
277
- setWrapperRef: setWrapperRef,
278
- tabIndex: tabIndex
279
- };
280
- };
281
- /**
282
- * Copy logic
283
- */
284
-
285
-
286
- var CopyButton = function CopyButton(_ref3) {
287
- var textToCopy = _ref3.textToCopy;
288
- var copyButton = (0, _i18n.useEuiI18n)('euiCodeBlock.copyButton', 'Copy');
289
- return (0, _react2.jsx)("div", {
290
- className: "euiCodeBlock__copyButton"
291
- }, (0, _react2.jsx)(_copy.EuiCopy, {
292
- textToCopy: textToCopy
293
- }, function (copy) {
294
- return (0, _react2.jsx)(_button.EuiButtonIcon, {
295
- onClick: copy,
296
- iconType: "copyClipboard",
297
- color: "text",
298
- "aria-label": copyButton
299
- });
300
- }));
301
- };
302
-
303
- var useCopy = function useCopy(_ref4) {
304
- var isCopyable = _ref4.isCopyable,
305
- isVirtualized = _ref4.isVirtualized,
306
- children = _ref4.children;
307
-
308
- var _useInnerText = (0, _inner_text.useInnerText)(''),
309
- _useInnerText2 = (0, _slicedToArray2.default)(_useInnerText, 2),
310
- innerTextRef = _useInnerText2[0],
311
- _innerText = _useInnerText2[1];
312
-
313
- var innerText = (0, _react.useMemo)(function () {
314
- return (_innerText === null || _innerText === void 0 ? void 0 : _innerText.replace(/[\r\n?]{2}|\n\n/g, '\n')) || '';
315
- }, [_innerText]);
316
- var textToCopy = isVirtualized ? "".concat(children) : innerText; // Virtualized code blocks do not have inner text
317
-
318
- var showCopyButton = isCopyable && textToCopy;
319
- return {
320
- innerTextRef: innerTextRef,
321
- showCopyButton: showCopyButton,
322
- textToCopy: textToCopy
323
- };
324
- };
325
- /**
326
- * Fullscreen logic
327
- */
328
-
329
-
330
- var FullScreenButton = function FullScreenButton(_ref5) {
331
- var isFullScreen = _ref5.isFullScreen,
332
- toggleFullScreen = _ref5.toggleFullScreen;
333
-
334
- var _useEuiI18n = (0, _i18n.useEuiI18n)(['euiCodeBlock.fullscreenCollapse', 'euiCodeBlock.fullscreenExpand'], ['Collapse', 'Expand']),
335
- _useEuiI18n2 = (0, _slicedToArray2.default)(_useEuiI18n, 2),
336
- fullscreenCollapse = _useEuiI18n2[0],
337
- fullscreenExpand = _useEuiI18n2[1];
338
-
339
- return (0, _react2.jsx)(_button.EuiButtonIcon, {
340
- className: "euiCodeBlock__fullScreenButton",
341
- onClick: toggleFullScreen,
342
- iconType: isFullScreen ? 'fullScreenExit' : 'fullScreen',
343
- color: "text",
344
- "aria-label": isFullScreen ? fullscreenCollapse : fullscreenExpand
345
- });
346
- };
347
-
348
- var FullScreenDisplay = function FullScreenDisplay(_ref6) {
349
- var children = _ref6.children,
350
- className = _ref6.className;
351
- // Force fullscreen to use large font and padding.
352
- var fullScreenClasses = (0, _classnames.default)(className, 'euiCodeBlock--fontLarge', 'euiCodeBlock--paddingLarge', 'euiCodeBlock-isFullScreen'); // Attaches to the body because of EuiOverlayMask's React portal usage.
353
-
354
- return (0, _react2.jsx)(_overlay_mask.EuiOverlayMask, null, (0, _react2.jsx)(_focus_trap.EuiFocusTrap, {
355
- clickOutsideDisables: true
356
- }, (0, _react2.jsx)("div", {
357
- className: fullScreenClasses
358
- }, children)));
359
- };
360
-
361
- var useFullScreen = function useFullScreen(_ref7) {
362
- var overflowHeight = _ref7.overflowHeight;
363
-
364
- var _useState5 = (0, _react.useState)(false),
365
- _useState6 = (0, _slicedToArray2.default)(_useState5, 2),
366
- isFullScreen = _useState6[0],
367
- setIsFullScreen = _useState6[1];
368
-
369
- var toggleFullScreen = (0, _react.useCallback)(function () {
370
- setIsFullScreen(function (isFullScreen) {
371
- return !isFullScreen;
372
- });
373
- }, []);
374
- var onKeyDown = (0, _react.useCallback)(function (event) {
375
- if (event.key === _services.keys.ESCAPE) {
376
- event.preventDefault();
377
- event.stopPropagation();
378
- setIsFullScreen(false);
379
- }
380
- }, []);
381
- var showFullScreenButton = !!overflowHeight;
382
- return {
383
- showFullScreenButton: showFullScreenButton,
384
- isFullScreen: isFullScreen,
385
- toggleFullScreen: toggleFullScreen,
386
- onKeyDown: onKeyDown
387
- };
388
- };
389
- /**
390
- * Virtualization logic
391
- */
392
-
393
-
394
- var ListRow = function ListRow(_ref8) {
395
- var data = _ref8.data,
396
- index = _ref8.index,
397
- style = _ref8.style;
398
- var row = data[index];
399
- row.properties.style = style;
400
- return (0, _utils.nodeToHtml)(row, index, data, 0);
197
+ }) : (0, _react2.jsx)("pre", preFullscreenProps, (0, _react2.jsx)("code", codeProps, content)), (0, _react2.jsx)(_code_block_controls.EuiCodeBlockControls, {
198
+ controls: [fullScreenButton, copyButton],
199
+ paddingSize: "l"
200
+ })));
401
201
  };
402
202
 
403
- var VirtualizedCodeBlock = function VirtualizedCodeBlock(_ref9) {
404
- var data = _ref9.data,
405
- rowHeight = _ref9.rowHeight,
406
- overflowHeight = _ref9.overflowHeight,
407
- preProps = _ref9.preProps,
408
- codeProps = _ref9.codeProps;
409
- var VirtualizedOuterElement = (0, _react.useMemo)(function () {
410
- return /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
411
- return (0, _react2.jsx)("pre", (0, _extends2.default)({}, props, {
412
- ref: ref
413
- }, preProps));
414
- });
415
- }, [preProps]);
416
- var VirtualizedInnerElement = (0, _react.useMemo)(function () {
417
- return /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
418
- return (0, _react2.jsx)("code", (0, _extends2.default)({}, props, {
419
- ref: ref
420
- }, codeProps));
421
- });
422
- }, [codeProps]);
423
- return (0, _react2.jsx)(_auto_sizer.EuiAutoSizer, {
424
- disableHeight: typeof overflowHeight === 'number'
425
- }, function (_ref10) {
426
- var height = _ref10.height,
427
- width = _ref10.width;
428
- return (0, _react2.jsx)(_reactWindow.FixedSizeList, {
429
- height: height !== null && height !== void 0 ? height : overflowHeight,
430
- width: width,
431
- itemData: data,
432
- itemSize: rowHeight,
433
- itemCount: data.length,
434
- outerElementType: VirtualizedOuterElement,
435
- innerElementType: VirtualizedInnerElement
436
- }, ListRow);
437
- });
438
- };
203
+ exports.EuiCodeBlock = EuiCodeBlock;
@@ -0,0 +1,156 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.euiCodeBlockStyles = exports.euiCodeBlockPreStyles = exports.euiCodeBlockCodeStyles = void 0;
9
+
10
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
+
12
+ var _react = require("@emotion/react");
13
+
14
+ var _global_styling = require("../../global_styling");
15
+
16
+ var _code_syntax = require("./code_syntax.styles");
17
+
18
+ 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; }
19
+
20
+ 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; }
21
+
22
+ function _EMOTION_STRINGIFIED_CSS_ERROR__() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; }
23
+
24
+ var _ref4 = process.env.NODE_ENV === "production" ? {
25
+ name: "i92zwx-isFullScreen",
26
+ styles: "position:fixed;inset:0;label:isFullScreen;"
27
+ } : {
28
+ name: "i92zwx-isFullScreen",
29
+ styles: "position:fixed;inset:0;label:isFullScreen;",
30
+ toString: _EMOTION_STRINGIFIED_CSS_ERROR__
31
+ };
32
+
33
+ var _ref5 = process.env.NODE_ENV === "production" ? {
34
+ name: "gfiv3z-transparentBackground",
35
+ styles: "background:transparent;label:transparentBackground;"
36
+ } : {
37
+ name: "gfiv3z-transparentBackground",
38
+ styles: "background:transparent;label:transparentBackground;",
39
+ toString: _EMOTION_STRINGIFIED_CSS_ERROR__
40
+ };
41
+
42
+ var euiCodeBlockStyles = function euiCodeBlockStyles(euiThemeContext) {
43
+ var euiTheme = euiThemeContext.euiTheme;
44
+ var euiCodeSyntax = (0, _code_syntax.euiCodeSyntaxColors)(euiThemeContext);
45
+ return {
46
+ euiCodeBlock: /*#__PURE__*/(0, _react.css)("max-inline-size:100%;display:block;position:relative;background:", euiCodeSyntax.backgroundColor, ";", (0, _code_syntax.euiCodeSyntaxTokens)(euiThemeContext), ";;label:euiCodeBlock;"),
47
+ // Font size
48
+ s: /*#__PURE__*/(0, _react.css)((0, _global_styling.euiFontSize)(euiThemeContext, 'xs'), ";;label:s;"),
49
+ m: /*#__PURE__*/(0, _react.css)((0, _global_styling.euiFontSize)(euiThemeContext, 's'), ";;label:m;"),
50
+ l: /*#__PURE__*/(0, _react.css)((0, _global_styling.euiFontSize)(euiThemeContext, 'm'), ";;label:l;"),
51
+ // Variants
52
+ transparentBackground: _ref5,
53
+ isFullScreen: _ref4,
54
+ // Account for control heights
55
+ hasControls: generatePaddingCss(euiThemeContext, function (paddingSize) {
56
+ return /*#__PURE__*/(0, _react.css)("min-block-size:", (0, _global_styling.mathWithUnits)([euiTheme.size.l, paddingSize], function (iconSize, paddingSize) {
57
+ return iconSize + paddingSize * 2;
58
+ }), ";;label:hasControls;");
59
+ }),
60
+ hasBothControls: generatePaddingCss(euiThemeContext, function (paddingSize) {
61
+ return /*#__PURE__*/(0, _react.css)("min-block-size:", (0, _global_styling.mathWithUnits)([euiTheme.size.l, euiTheme.size.xs, paddingSize], function (iconSize, gap, paddingSize) {
62
+ return iconSize * 2 + gap + paddingSize * 2;
63
+ }), ";;label:hasBothControls;");
64
+ })
65
+ };
66
+ };
67
+
68
+ exports.euiCodeBlockStyles = euiCodeBlockStyles;
69
+
70
+ var _ref2 = process.env.NODE_ENV === "production" ? {
71
+ name: "eav5br-preWrap",
72
+ styles: "white-space:pre-wrap;label:preWrap;"
73
+ } : {
74
+ name: "eav5br-preWrap",
75
+ styles: "white-space:pre-wrap;label:preWrap;",
76
+ toString: _EMOTION_STRINGIFIED_CSS_ERROR__
77
+ };
78
+
79
+ var _ref3 = process.env.NODE_ENV === "production" ? {
80
+ name: "4dmmkq-pre",
81
+ styles: "white-space:pre;label:pre;"
82
+ } : {
83
+ name: "4dmmkq-pre",
84
+ styles: "white-space:pre;label:pre;",
85
+ toString: _EMOTION_STRINGIFIED_CSS_ERROR__
86
+ };
87
+
88
+ var euiCodeBlockPreStyles = function euiCodeBlockPreStyles(euiThemeContext) {
89
+ var euiTheme = euiThemeContext.euiTheme;
90
+ return {
91
+ euiCodeBlock__pre: /*#__PURE__*/(0, _react.css)("block-size:100%;overflow:auto;display:block;", (0, _global_styling.euiScrollBarStyles)(euiThemeContext), ";;label:euiCodeBlock__pre;"),
92
+ padding: _objectSpread({}, generatePaddingCss(euiThemeContext, function (paddingSize) {
93
+ return /*#__PURE__*/(0, _react.css)("padding:", paddingSize, ";;label:padding;");
94
+ })),
95
+ whiteSpace: {
96
+ pre: {
97
+ pre: _ref3,
98
+ controlsOffset: generatePaddingCss(euiThemeContext, function (paddingSize) {
99
+ return /*#__PURE__*/(0, _react.css)("margin-inline-end:", (0, _global_styling.mathWithUnits)([paddingSize, euiTheme.size.l, euiTheme.size.xs], function (paddingSize, iconSize, gap) {
100
+ return paddingSize + gap + iconSize;
101
+ }), ";;label:controlsOffset;");
102
+ })
103
+ },
104
+ preWrap: {
105
+ preWrap: _ref2,
106
+ controlsOffset: generatePaddingCss(euiThemeContext, function (paddingSize) {
107
+ return /*#__PURE__*/(0, _react.css)("padding-inline-end:", (0, _global_styling.mathWithUnits)([paddingSize, euiTheme.size.l, euiTheme.size.xs], function (paddingSize, iconSize, gap) {
108
+ return paddingSize + gap + iconSize;
109
+ }), ";;label:controlsOffset;");
110
+ })
111
+ }
112
+ }
113
+ };
114
+ };
115
+
116
+ exports.euiCodeBlockPreStyles = euiCodeBlockPreStyles;
117
+
118
+ var _ref = process.env.NODE_ENV === "production" ? {
119
+ name: "9y8iu3-isVirtualized",
120
+ styles: "position:relative;label:isVirtualized;"
121
+ } : {
122
+ name: "9y8iu3-isVirtualized",
123
+ styles: "position:relative;label:isVirtualized;",
124
+ toString: _EMOTION_STRINGIFIED_CSS_ERROR__
125
+ };
126
+
127
+ var euiCodeBlockCodeStyles = function euiCodeBlockCodeStyles(euiThemeContext) {
128
+ var euiTheme = euiThemeContext.euiTheme;
129
+ var euiCodeSyntax = (0, _code_syntax.euiCodeSyntaxColors)(euiThemeContext);
130
+ return {
131
+ euiCodeBlock__code: /*#__PURE__*/(0, _react.css)("font-family:", euiTheme.font.familyCode, ";font-size:inherit;color:", euiCodeSyntax.color, ";display:block;;label:euiCodeBlock__code;"),
132
+ isVirtualized: _ref
133
+ };
134
+ };
135
+ /**
136
+ * Helper for generating keys for each code block padding size
137
+ */
138
+
139
+
140
+ exports.euiCodeBlockCodeStyles = euiCodeBlockCodeStyles;
141
+
142
+ var generatePaddingCss = function generatePaddingCss(euiThemeContext, callback) {
143
+ var cssKeys = {
144
+ none: /*#__PURE__*/(0, _react.css)(";label:none;"),
145
+ s: /*#__PURE__*/(0, _react.css)(";label:s;"),
146
+ m: /*#__PURE__*/(0, _react.css)(";label:m;"),
147
+ l: /*#__PURE__*/(0, _react.css)(";label:l;"),
148
+ xl: /*#__PURE__*/(0, _react.css)(";label:xl;")
149
+ }; // xl padding used by fullscreen mode
150
+
151
+ ['none', 's', 'm', 'l', 'xl'].forEach(function (size) {
152
+ var paddingSize = (0, _global_styling.euiPaddingSize)(euiThemeContext, size) || 0;
153
+ cssKeys[size] = callback(paddingSize);
154
+ });
155
+ return cssKeys;
156
+ };
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+
3
+ var _typeof = require("@babel/runtime/helpers/typeof");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.EuiCodeBlockControls = void 0;
9
+
10
+ var _react = _interopRequireWildcard(require("react"));
11
+
12
+ var _services = require("../../services");
13
+
14
+ var _code_block_controls = require("./code_block_controls.styles");
15
+
16
+ var _react2 = require("@emotion/react");
17
+
18
+ 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); }
19
+
20
+ 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; }
21
+
22
+ /*
23
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
24
+ * or more contributor license agreements. Licensed under the Elastic License
25
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
26
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
27
+ * Side Public License, v 1.
28
+ */
29
+ var EuiCodeBlockControls = function EuiCodeBlockControls(_ref) {
30
+ var paddingSize = _ref.paddingSize,
31
+ controls = _ref.controls;
32
+ var euiTheme = (0, _services.useEuiTheme)();
33
+ var styles = (0, _code_block_controls.euiCodeBlockControlsStyles)(euiTheme);
34
+ var cssStyles = [styles.euiCodeBlock__controls, styles.offset[paddingSize]];
35
+ var hasControls = controls.some(function (control) {
36
+ return !!control;
37
+ });
38
+ return hasControls ? (0, _react2.jsx)("div", {
39
+ className: "euiCodeBlock__controls",
40
+ css: cssStyles
41
+ }, controls.map(function (control, i) {
42
+ return (0, _react2.jsx)(_react.Fragment, {
43
+ key: i
44
+ }, control);
45
+ })) : null;
46
+ };
47
+
48
+ exports.EuiCodeBlockControls = EuiCodeBlockControls;