@elastic/eui 68.0.0 → 70.0.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 (614) hide show
  1. package/dist/eui_charts_theme.js +5661 -5814
  2. package/dist/eui_charts_theme.js.map +1 -1
  3. package/dist/eui_theme_dark.css +0 -896
  4. package/dist/eui_theme_dark.json +0 -52
  5. package/dist/eui_theme_dark.json.d.ts +0 -52
  6. package/dist/eui_theme_dark.min.css +1 -1
  7. package/dist/eui_theme_light.css +0 -896
  8. package/dist/eui_theme_light.json +0 -52
  9. package/dist/eui_theme_light.json.d.ts +0 -52
  10. package/dist/eui_theme_light.min.css +1 -1
  11. package/es/components/avatar/avatar.js +1 -1
  12. package/es/components/badge/badge.js +1 -1
  13. package/es/components/badge/beta_badge/beta_badge.js +1 -1
  14. package/es/components/basic_table/basic_table.js +1 -1
  15. package/es/components/basic_table/collapsed_item_actions.js +1 -1
  16. package/es/components/basic_table/in_memory_table.js +15 -3
  17. package/es/components/breadcrumbs/breadcrumb.js +9 -5
  18. package/es/components/breadcrumbs/breadcrumbs.js +7 -4
  19. package/es/components/button/_button_content_deprecated.js +1 -1
  20. package/es/components/button/button_display/_button_display.js +1 -1
  21. package/es/components/button/button_display/_button_display_content.js +1 -1
  22. package/es/components/button/button_empty/button_empty.js +1 -1
  23. package/es/components/button/button_group/button_group.js +1 -1
  24. package/es/components/button/button_group/button_group_button.js +1 -1
  25. package/es/components/button/button_icon/button_icon.js +1 -1
  26. package/es/components/call_out/call_out.js +1 -1
  27. package/es/components/card/card.js +1 -1
  28. package/es/components/code/code.js +7 -3
  29. package/es/components/code/code.styles.js +32 -0
  30. package/es/components/code/code_block.js +72 -315
  31. package/es/components/code/code_block.styles.js +153 -0
  32. package/es/components/code/code_block_controls.js +29 -0
  33. package/es/components/code/code_block_controls.styles.js +43 -0
  34. package/es/components/code/code_block_copy.js +65 -0
  35. package/es/components/code/code_block_full_screen.js +90 -0
  36. package/es/components/code/code_block_line.styles.js +49 -0
  37. package/es/components/code/code_block_overflow.js +78 -0
  38. package/es/components/code/code_block_virtualized.js +59 -0
  39. package/es/components/code/code_syntax.styles.js +43 -0
  40. package/es/components/code/utils.js +43 -37
  41. package/es/components/collapsible_nav/collapsible_nav.js +0 -5
  42. package/es/components/collapsible_nav/collapsible_nav_group/collapsible_nav_group.js +1 -1
  43. package/es/components/color_picker/color_palette_picker/color_palette_picker.js +18 -0
  44. package/es/components/combo_box/combo_box.js +52 -11
  45. package/es/components/combo_box/combo_box_options_list/combo_box_options_list.js +14 -6
  46. package/es/components/combo_box/matching_options.js +60 -11
  47. package/es/components/comment_list/comment.js +2 -2
  48. package/es/components/comment_list/comment_event.js +1 -1
  49. package/es/components/comment_list/comment_list.js +2 -2
  50. package/es/components/comment_list/comment_timeline.js +1 -1
  51. package/es/components/datagrid/body/data_grid_body.js +13 -13
  52. package/es/components/datagrid/body/data_grid_cell.js +24 -24
  53. package/es/components/datagrid/body/header/data_grid_header_cell.js +12 -12
  54. package/es/components/datagrid/body/header/data_grid_header_row.js +13 -13
  55. package/es/components/datagrid/controls/column_sorting_draggable.js +1 -1
  56. package/es/components/datagrid/data_grid.js +13 -13
  57. package/es/components/datagrid/utils/in_memory.js +12 -12
  58. package/es/components/date_picker/date_picker.js +2 -2
  59. package/es/components/date_picker/date_picker_range.js +1 -1
  60. package/es/components/empty_prompt/empty_prompt.js +1 -1
  61. package/es/components/flex/flex_grid.js +30 -40
  62. package/es/components/flex/flex_grid.styles.js +137 -0
  63. package/es/components/flex/flex_group.js +16 -42
  64. package/es/components/flex/flex_group.styles.js +202 -0
  65. package/es/components/flex/flex_item.js +17 -16
  66. package/es/components/flex/flex_item.styles.js +148 -0
  67. package/es/components/flyout/flyout_body.js +2 -3
  68. package/es/components/flyout/flyout_footer.js +2 -3
  69. package/es/components/flyout/flyout_header.js +2 -3
  70. package/es/components/form/described_form_group/described_form_group.js +28 -23
  71. package/es/components/form/eui_form_context.js +14 -0
  72. package/es/components/form/field_number/field_number.js +38 -23
  73. package/es/components/form/field_password/field_password.js +31 -20
  74. package/es/components/form/field_search/field_search.js +14 -2
  75. package/es/components/form/field_text/field_text.js +30 -20
  76. package/es/components/form/file_picker/file_picker.js +13 -1
  77. package/es/components/form/form.js +21 -3
  78. package/es/components/form/form_control_layout/form_control_layout.js +19 -3
  79. package/es/components/form/form_control_layout/form_control_layout_custom_icon.js +1 -1
  80. package/es/components/form/form_control_layout/form_control_layout_icons.js +2 -2
  81. package/es/components/form/form_row/form_row.js +22 -4
  82. package/es/components/form/range/dual_range.js +14 -2
  83. package/es/components/form/range/range.js +14 -2
  84. package/es/components/form/range/range_wrapper.js +16 -6
  85. package/es/components/form/select/select.js +41 -25
  86. package/es/components/form/super_select/super_select.js +18 -0
  87. package/es/components/form/super_select/super_select_control.js +26 -22
  88. package/es/components/form/text_area/text_area.js +26 -15
  89. package/es/components/header/header_links/header_link.js +1 -1
  90. package/es/components/header/header_links/header_links.js +1 -1
  91. package/es/components/header/header_logo.js +1 -1
  92. package/es/components/icon/assets/filter.js +1 -2
  93. package/es/components/icon/assets/filterExclude.js +43 -0
  94. package/es/components/icon/assets/filterIgnore.js +38 -0
  95. package/es/components/icon/assets/filterInclude.js +38 -0
  96. package/es/components/icon/assets/indexTemporary.js +40 -0
  97. package/es/components/icon/assets/infinity.js +38 -0
  98. package/es/components/icon/assets/sortAscending.js +38 -0
  99. package/es/components/icon/assets/sortDescending.js +38 -0
  100. package/es/components/icon/icon.js +1 -1
  101. package/es/components/icon/icon_map.js +7 -0
  102. package/es/components/image/image_fullscreen_wrapper.js +3 -3
  103. package/es/components/key_pad_menu/key_pad_menu_item.js +1 -1
  104. package/es/components/list_group/list_group.js +2 -2
  105. package/es/components/list_group/list_group_item.js +2 -2
  106. package/es/components/list_group/list_group_item_extra_action.js +1 -1
  107. package/es/components/list_group/pinnable_list_group/pinnable_list_group.js +4 -4
  108. package/es/components/loading/loading_logo.js +1 -1
  109. package/es/components/markdown_editor/markdown_editor.js +1 -1
  110. package/es/components/markdown_editor/markdown_editor_drop_zone.js +1 -1
  111. package/es/components/markdown_editor/markdown_editor_footer.js +1 -1
  112. package/es/components/markdown_editor/markdown_editor_toolbar.js +1 -1
  113. package/es/components/notification/notification_event.js +2 -2
  114. package/es/components/notification/notification_event_meta.js +1 -1
  115. package/es/components/overlay_mask/overlay_mask.js +8 -14
  116. package/es/components/overlay_mask/overlay_mask.styles.js +4 -14
  117. package/es/components/overlay_mask/overlay_mask_body.styles.js +18 -0
  118. package/es/components/page/page_header/page_header_content.js +1 -1
  119. package/es/components/page/page_section/page_section.js +4 -3
  120. package/es/components/pagination/pagination.js +4 -4
  121. package/es/components/pagination/pagination_button.js +1 -1
  122. package/es/components/provider/provider.js +1 -5
  123. package/es/components/resizable_container/helpers.js +2 -2
  124. package/es/components/resizable_container/resizable_container.js +83 -25
  125. package/es/components/resizable_container/resizable_container.styles.js +28 -0
  126. package/es/components/resizable_container/resizable_panel.js +25 -48
  127. package/es/components/resizable_container/resizable_panel.styles.js +69 -0
  128. package/es/components/search_bar/query/ast.js +14 -3
  129. package/es/components/search_bar/search_bar.js +6 -0
  130. package/es/components/selectable/selectable_list/selectable_list.js +1 -1
  131. package/es/components/selectable/selectable_list/selectable_list_item.js +1 -1
  132. package/es/components/selectable/selectable_templates/selectable_template_sitewide.js +1 -1
  133. package/es/components/suggest/suggest.js +1 -1
  134. package/es/components/suggest/suggest_item.js +1 -1
  135. package/es/components/table/table_header_button.js +1 -1
  136. package/es/components/text/text.js +1 -0
  137. package/es/components/timeline/timeline_item_icon.js +1 -1
  138. package/es/components/toast/global_toast_list.js +1 -1
  139. package/es/components/toast/toast.js +1 -1
  140. package/es/components/tool_tip/icon_tip.js +1 -1
  141. package/es/components/tool_tip/tool_tip.js +3 -2
  142. package/es/components/tool_tip/tool_tip.styles.js +17 -22
  143. package/es/components/tool_tip/tool_tip_anchor.js +2 -2
  144. package/es/components/tool_tip/tool_tip_arrow.js +17 -3
  145. package/es/components/tool_tip/tool_tip_popover.js +7 -7
  146. package/es/components/tour/tour.styles.js +4 -3
  147. package/es/components/tour/tour_step.js +7 -5
  148. package/es/global_styling/functions/logicals.js +5 -3
  149. package/es/global_styling/functions/math.js +37 -19
  150. package/es/global_styling/mixins/_padding.js +13 -9
  151. package/eui.d.ts +664 -122
  152. package/i18ntokens.json +60 -60
  153. package/lib/components/avatar/avatar.js +1 -1
  154. package/lib/components/badge/badge.js +1 -1
  155. package/lib/components/badge/beta_badge/beta_badge.js +1 -1
  156. package/lib/components/basic_table/basic_table.js +1 -1
  157. package/lib/components/basic_table/collapsed_item_actions.js +1 -1
  158. package/lib/components/basic_table/in_memory_table.js +15 -3
  159. package/lib/components/breadcrumbs/breadcrumb.js +9 -5
  160. package/lib/components/breadcrumbs/breadcrumbs.js +7 -4
  161. package/lib/components/button/_button_content_deprecated.js +1 -1
  162. package/lib/components/button/button_display/_button_display.js +1 -1
  163. package/lib/components/button/button_display/_button_display_content.js +1 -1
  164. package/lib/components/button/button_empty/button_empty.js +1 -1
  165. package/lib/components/button/button_group/button_group.js +1 -1
  166. package/lib/components/button/button_group/button_group_button.js +1 -1
  167. package/lib/components/button/button_icon/button_icon.js +1 -1
  168. package/lib/components/call_out/call_out.js +1 -1
  169. package/lib/components/card/card.js +1 -1
  170. package/lib/components/code/code.js +9 -3
  171. package/lib/components/code/code.styles.js +35 -0
  172. package/lib/components/code/code_block.js +72 -320
  173. package/lib/components/code/code_block.styles.js +154 -0
  174. package/lib/components/code/code_block_controls.js +48 -0
  175. package/lib/components/code/code_block_controls.styles.js +39 -0
  176. package/lib/components/code/code_block_copy.js +78 -0
  177. package/lib/components/code/code_block_full_screen.js +108 -0
  178. package/lib/components/code/code_block_line.styles.js +45 -0
  179. package/lib/components/code/code_block_overflow.js +82 -0
  180. package/lib/components/code/code_block_virtualized.js +72 -0
  181. package/lib/components/code/code_syntax.styles.js +57 -0
  182. package/lib/components/code/utils.js +40 -39
  183. package/lib/components/collapsible_nav/collapsible_nav.js +0 -5
  184. package/lib/components/collapsible_nav/collapsible_nav_group/collapsible_nav_group.js +1 -1
  185. package/lib/components/color_picker/color_palette_picker/color_palette_picker.js +18 -0
  186. package/lib/components/combo_box/combo_box.js +51 -10
  187. package/lib/components/combo_box/combo_box_options_list/combo_box_options_list.js +14 -6
  188. package/lib/components/combo_box/matching_options.js +64 -12
  189. package/lib/components/comment_list/comment.js +2 -2
  190. package/lib/components/comment_list/comment_event.js +1 -1
  191. package/lib/components/comment_list/comment_list.js +2 -2
  192. package/lib/components/comment_list/comment_timeline.js +1 -1
  193. package/lib/components/datagrid/body/data_grid_body.js +13 -13
  194. package/lib/components/datagrid/body/data_grid_cell.js +24 -24
  195. package/lib/components/datagrid/body/header/data_grid_header_cell.js +12 -12
  196. package/lib/components/datagrid/body/header/data_grid_header_row.js +13 -13
  197. package/lib/components/datagrid/controls/column_sorting_draggable.js +1 -1
  198. package/lib/components/datagrid/data_grid.js +13 -13
  199. package/lib/components/datagrid/utils/in_memory.js +12 -12
  200. package/lib/components/date_picker/date_picker.js +2 -2
  201. package/lib/components/date_picker/date_picker_range.js +1 -1
  202. package/lib/components/empty_prompt/empty_prompt.js +1 -1
  203. package/lib/components/flex/flex_grid.js +33 -42
  204. package/lib/components/flex/flex_grid.styles.js +140 -0
  205. package/lib/components/flex/flex_group.js +17 -42
  206. package/lib/components/flex/flex_group.styles.js +205 -0
  207. package/lib/components/flex/flex_item.js +20 -19
  208. package/lib/components/flex/flex_item.styles.js +150 -0
  209. package/lib/components/flyout/flyout_body.js +2 -3
  210. package/lib/components/flyout/flyout_footer.js +2 -3
  211. package/lib/components/flyout/flyout_header.js +2 -3
  212. package/lib/components/form/described_form_group/described_form_group.js +29 -23
  213. package/lib/components/form/eui_form_context.js +28 -0
  214. package/lib/components/form/field_number/field_number.js +39 -23
  215. package/lib/components/form/field_password/field_password.js +32 -20
  216. package/lib/components/form/field_search/field_search.js +15 -2
  217. package/lib/components/form/field_text/field_text.js +31 -20
  218. package/lib/components/form/file_picker/file_picker.js +14 -1
  219. package/lib/components/form/form.js +23 -3
  220. package/lib/components/form/form_control_layout/form_control_layout.js +20 -3
  221. package/lib/components/form/form_control_layout/form_control_layout_custom_icon.js +1 -1
  222. package/lib/components/form/form_control_layout/form_control_layout_icons.js +2 -2
  223. package/lib/components/form/form_row/form_row.js +23 -4
  224. package/lib/components/form/range/dual_range.js +15 -2
  225. package/lib/components/form/range/range.js +15 -2
  226. package/lib/components/form/range/range_wrapper.js +17 -6
  227. package/lib/components/form/select/select.js +42 -25
  228. package/lib/components/form/super_select/super_select.js +18 -0
  229. package/lib/components/form/super_select/super_select_control.js +27 -22
  230. package/lib/components/form/text_area/text_area.js +27 -15
  231. package/lib/components/header/header_links/header_link.js +1 -1
  232. package/lib/components/header/header_links/header_links.js +1 -1
  233. package/lib/components/header/header_logo.js +1 -1
  234. package/lib/components/icon/assets/filter.js +1 -2
  235. package/lib/components/icon/assets/filterExclude.js +50 -0
  236. package/lib/components/icon/assets/filterIgnore.js +45 -0
  237. package/lib/components/icon/assets/filterInclude.js +45 -0
  238. package/lib/components/icon/assets/indexTemporary.js +47 -0
  239. package/lib/components/icon/assets/infinity.js +45 -0
  240. package/lib/components/icon/assets/sortAscending.js +45 -0
  241. package/lib/components/icon/assets/sortDescending.js +45 -0
  242. package/lib/components/icon/icon.js +1 -1
  243. package/lib/components/icon/icon_map.js +7 -0
  244. package/lib/components/icon/svgs/filter.svg +1 -1
  245. package/lib/components/icon/svgs/filterExclude.svg +5 -0
  246. package/lib/components/icon/svgs/filterIgnore.svg +4 -0
  247. package/lib/components/icon/svgs/filterInclude.svg +5 -0
  248. package/lib/components/icon/svgs/indexTemporary.svg +4 -0
  249. package/lib/components/icon/svgs/infinity.svg +3 -0
  250. package/lib/components/icon/svgs/sortAscending.svg +3 -0
  251. package/lib/components/icon/svgs/sortDescending.svg +3 -0
  252. package/lib/components/image/image_fullscreen_wrapper.js +3 -3
  253. package/lib/components/key_pad_menu/key_pad_menu_item.js +1 -1
  254. package/lib/components/list_group/list_group.js +2 -2
  255. package/lib/components/list_group/list_group_item.js +2 -2
  256. package/lib/components/list_group/list_group_item_extra_action.js +1 -1
  257. package/lib/components/list_group/pinnable_list_group/pinnable_list_group.js +4 -4
  258. package/lib/components/loading/loading_logo.js +1 -1
  259. package/lib/components/markdown_editor/markdown_editor.js +1 -1
  260. package/lib/components/markdown_editor/markdown_editor_drop_zone.js +1 -1
  261. package/lib/components/markdown_editor/markdown_editor_footer.js +1 -1
  262. package/lib/components/markdown_editor/markdown_editor_toolbar.js +1 -1
  263. package/lib/components/notification/notification_event.js +2 -2
  264. package/lib/components/notification/notification_event_meta.js +1 -1
  265. package/lib/components/overlay_mask/overlay_mask.js +9 -14
  266. package/lib/components/overlay_mask/overlay_mask.styles.js +13 -17
  267. package/lib/components/overlay_mask/overlay_mask_body.styles.js +20 -0
  268. package/lib/components/page/page_header/page_header_content.js +1 -1
  269. package/lib/components/page/page_section/page_section.js +4 -3
  270. package/lib/components/pagination/pagination.js +4 -4
  271. package/lib/components/provider/provider.js +7 -12
  272. package/lib/components/resizable_container/helpers.js +2 -2
  273. package/lib/components/resizable_container/resizable_container.js +84 -25
  274. package/lib/components/resizable_container/resizable_container.styles.js +31 -0
  275. package/lib/components/resizable_container/resizable_panel.js +28 -49
  276. package/lib/components/resizable_container/resizable_panel.styles.js +74 -0
  277. package/lib/components/search_bar/query/ast.js +14 -3
  278. package/lib/components/search_bar/search_bar.js +6 -0
  279. package/lib/components/selectable/selectable_list/selectable_list.js +1 -1
  280. package/lib/components/selectable/selectable_list/selectable_list_item.js +1 -1
  281. package/lib/components/selectable/selectable_templates/selectable_template_sitewide.js +1 -1
  282. package/lib/components/suggest/suggest.js +1 -1
  283. package/lib/components/suggest/suggest_item.js +1 -1
  284. package/lib/components/table/table_header_button.js +1 -1
  285. package/lib/components/text/text.js +1 -0
  286. package/lib/components/timeline/timeline_item_icon.js +1 -1
  287. package/lib/components/toast/global_toast_list.js +1 -1
  288. package/lib/components/toast/toast.js +1 -1
  289. package/lib/components/tool_tip/icon_tip.js +1 -1
  290. package/lib/components/tool_tip/tool_tip.js +3 -2
  291. package/lib/components/tool_tip/tool_tip.styles.js +18 -26
  292. package/lib/components/tool_tip/tool_tip_anchor.js +2 -2
  293. package/lib/components/tool_tip/tool_tip_arrow.js +19 -4
  294. package/lib/components/tool_tip/tool_tip_popover.js +6 -6
  295. package/lib/components/tour/tour.styles.js +3 -2
  296. package/lib/components/tour/tour_step.js +7 -5
  297. package/lib/global_styling/functions/logicals.js +5 -3
  298. package/lib/global_styling/functions/math.js +37 -19
  299. package/lib/global_styling/mixins/_padding.js +17 -10
  300. package/optimize/es/components/basic_table/in_memory_table.js +1 -1
  301. package/optimize/es/components/breadcrumbs/breadcrumb.js +3 -2
  302. package/optimize/es/components/breadcrumbs/breadcrumbs.js +7 -4
  303. package/optimize/es/components/code/code.js +7 -3
  304. package/optimize/es/components/code/code.styles.js +32 -0
  305. package/optimize/es/components/code/code_block.js +70 -299
  306. package/optimize/es/components/code/code_block.styles.js +153 -0
  307. package/optimize/es/components/code/code_block_controls.js +29 -0
  308. package/optimize/es/components/code/code_block_controls.styles.js +43 -0
  309. package/optimize/es/components/code/code_block_copy.js +55 -0
  310. package/optimize/es/components/code/code_block_full_screen.js +80 -0
  311. package/optimize/es/components/code/code_block_line.styles.js +49 -0
  312. package/optimize/es/components/code/code_block_overflow.js +67 -0
  313. package/optimize/es/components/code/code_block_virtualized.js +59 -0
  314. package/optimize/es/components/code/code_syntax.styles.js +43 -0
  315. package/optimize/es/components/code/utils.js +43 -37
  316. package/optimize/es/components/combo_box/combo_box.js +47 -11
  317. package/optimize/es/components/combo_box/combo_box_options_list/combo_box_options_list.js +13 -6
  318. package/optimize/es/components/combo_box/matching_options.js +60 -11
  319. package/optimize/es/components/flex/flex_grid.js +18 -34
  320. package/optimize/es/components/flex/flex_grid.styles.js +137 -0
  321. package/optimize/es/components/flex/flex_group.js +12 -38
  322. package/optimize/es/components/flex/flex_group.styles.js +202 -0
  323. package/optimize/es/components/flex/flex_item.js +11 -14
  324. package/optimize/es/components/flex/flex_item.styles.js +148 -0
  325. package/optimize/es/components/flyout/flyout_body.js +2 -3
  326. package/optimize/es/components/flyout/flyout_footer.js +2 -3
  327. package/optimize/es/components/flyout/flyout_header.js +2 -3
  328. package/optimize/es/components/form/described_form_group/described_form_group.js +22 -22
  329. package/optimize/es/components/form/eui_form_context.js +14 -0
  330. package/optimize/es/components/form/field_number/field_number.js +26 -22
  331. package/optimize/es/components/form/field_password/field_password.js +24 -20
  332. package/optimize/es/components/form/field_search/field_search.js +8 -2
  333. package/optimize/es/components/form/field_text/field_text.js +22 -18
  334. package/optimize/es/components/form/file_picker/file_picker.js +7 -1
  335. package/optimize/es/components/form/form.js +11 -2
  336. package/optimize/es/components/form/form_control_layout/form_control_layout.js +10 -2
  337. package/optimize/es/components/form/form_row/form_row.js +10 -4
  338. package/optimize/es/components/form/range/dual_range.js +8 -2
  339. package/optimize/es/components/form/range/range.js +8 -2
  340. package/optimize/es/components/form/range/range_wrapper.js +11 -6
  341. package/optimize/es/components/form/select/select.js +28 -24
  342. package/optimize/es/components/form/super_select/super_select_control.js +26 -22
  343. package/optimize/es/components/form/text_area/text_area.js +19 -15
  344. package/optimize/es/components/icon/assets/filter.js +1 -2
  345. package/optimize/es/components/icon/assets/filterExclude.js +39 -0
  346. package/optimize/es/components/icon/assets/filterIgnore.js +34 -0
  347. package/optimize/es/components/icon/assets/filterInclude.js +34 -0
  348. package/optimize/es/components/icon/assets/indexTemporary.js +36 -0
  349. package/optimize/es/components/icon/assets/infinity.js +34 -0
  350. package/optimize/es/components/icon/assets/sortAscending.js +34 -0
  351. package/optimize/es/components/icon/assets/sortDescending.js +34 -0
  352. package/optimize/es/components/icon/icon_map.js +7 -0
  353. package/optimize/es/components/image/image_fullscreen_wrapper.js +3 -3
  354. package/optimize/es/components/overlay_mask/overlay_mask.js +8 -9
  355. package/optimize/es/components/overlay_mask/overlay_mask.styles.js +4 -14
  356. package/optimize/es/components/overlay_mask/overlay_mask_body.styles.js +18 -0
  357. package/optimize/es/components/page/page_section/page_section.js +4 -3
  358. package/optimize/es/components/pagination/pagination.js +4 -4
  359. package/optimize/es/components/provider/provider.js +1 -5
  360. package/optimize/es/components/resizable_container/helpers.js +2 -2
  361. package/optimize/es/components/resizable_container/resizable_container.js +73 -25
  362. package/optimize/es/components/resizable_container/resizable_container.styles.js +28 -0
  363. package/optimize/es/components/resizable_container/resizable_panel.js +25 -48
  364. package/optimize/es/components/resizable_container/resizable_panel.styles.js +69 -0
  365. package/optimize/es/components/search_bar/query/ast.js +14 -3
  366. package/optimize/es/components/tool_tip/tool_tip.js +3 -2
  367. package/optimize/es/components/tool_tip/tool_tip.styles.js +17 -22
  368. package/optimize/es/components/tool_tip/tool_tip_anchor.js +2 -2
  369. package/optimize/es/components/tool_tip/tool_tip_arrow.js +9 -3
  370. package/optimize/es/components/tool_tip/tool_tip_popover.js +7 -7
  371. package/optimize/es/components/tour/tour.styles.js +4 -3
  372. package/optimize/es/components/tour/tour_step.js +7 -5
  373. package/optimize/es/global_styling/functions/logicals.js +5 -3
  374. package/optimize/es/global_styling/functions/math.js +35 -17
  375. package/optimize/es/global_styling/mixins/_padding.js +13 -9
  376. package/optimize/lib/components/basic_table/in_memory_table.js +1 -1
  377. package/optimize/lib/components/breadcrumbs/breadcrumb.js +3 -2
  378. package/optimize/lib/components/breadcrumbs/breadcrumbs.js +7 -4
  379. package/optimize/lib/components/code/code.js +9 -3
  380. package/optimize/lib/components/code/code.styles.js +35 -0
  381. package/optimize/lib/components/code/code_block.js +71 -306
  382. package/optimize/lib/components/code/code_block.styles.js +156 -0
  383. package/optimize/lib/components/code/code_block_controls.js +48 -0
  384. package/optimize/lib/components/code/code_block_controls.styles.js +39 -0
  385. package/optimize/lib/components/code/code_block_copy.js +78 -0
  386. package/optimize/lib/components/code/code_block_full_screen.js +108 -0
  387. package/optimize/lib/components/code/code_block_line.styles.js +45 -0
  388. package/optimize/lib/components/code/code_block_overflow.js +82 -0
  389. package/optimize/lib/components/code/code_block_virtualized.js +81 -0
  390. package/optimize/lib/components/code/code_syntax.styles.js +57 -0
  391. package/optimize/lib/components/code/utils.js +40 -37
  392. package/optimize/lib/components/combo_box/combo_box.js +46 -10
  393. package/optimize/lib/components/combo_box/combo_box_options_list/combo_box_options_list.js +13 -6
  394. package/optimize/lib/components/combo_box/matching_options.js +64 -12
  395. package/optimize/lib/components/flex/flex_grid.js +21 -36
  396. package/optimize/lib/components/flex/flex_grid.styles.js +140 -0
  397. package/optimize/lib/components/flex/flex_group.js +13 -38
  398. package/optimize/lib/components/flex/flex_group.styles.js +205 -0
  399. package/optimize/lib/components/flex/flex_item.js +14 -17
  400. package/optimize/lib/components/flex/flex_item.styles.js +150 -0
  401. package/optimize/lib/components/flyout/flyout_body.js +2 -3
  402. package/optimize/lib/components/flyout/flyout_footer.js +2 -3
  403. package/optimize/lib/components/flyout/flyout_header.js +2 -3
  404. package/optimize/lib/components/form/described_form_group/described_form_group.js +23 -22
  405. package/optimize/lib/components/form/eui_form_context.js +28 -0
  406. package/optimize/lib/components/form/field_number/field_number.js +27 -22
  407. package/optimize/lib/components/form/field_password/field_password.js +24 -20
  408. package/optimize/lib/components/form/field_search/field_search.js +7 -2
  409. package/optimize/lib/components/form/field_text/field_text.js +23 -18
  410. package/optimize/lib/components/form/file_picker/file_picker.js +7 -1
  411. package/optimize/lib/components/form/form.js +14 -2
  412. package/optimize/lib/components/form/form_control_layout/form_control_layout.js +10 -2
  413. package/optimize/lib/components/form/form_row/form_row.js +9 -4
  414. package/optimize/lib/components/form/range/dual_range.js +7 -2
  415. package/optimize/lib/components/form/range/range.js +7 -2
  416. package/optimize/lib/components/form/range/range_wrapper.js +12 -6
  417. package/optimize/lib/components/form/select/select.js +29 -24
  418. package/optimize/lib/components/form/super_select/super_select_control.js +27 -22
  419. package/optimize/lib/components/form/text_area/text_area.js +20 -15
  420. package/optimize/lib/components/icon/assets/filter.js +1 -2
  421. package/optimize/lib/components/icon/assets/filterExclude.js +49 -0
  422. package/optimize/lib/components/icon/assets/filterIgnore.js +44 -0
  423. package/optimize/lib/components/icon/assets/filterInclude.js +44 -0
  424. package/optimize/lib/components/icon/assets/indexTemporary.js +46 -0
  425. package/optimize/lib/components/icon/assets/infinity.js +44 -0
  426. package/optimize/lib/components/icon/assets/sortAscending.js +44 -0
  427. package/optimize/lib/components/icon/assets/sortDescending.js +44 -0
  428. package/optimize/lib/components/icon/icon_map.js +7 -0
  429. package/optimize/lib/components/icon/svgs/filter.svg +1 -1
  430. package/optimize/lib/components/icon/svgs/filterExclude.svg +5 -0
  431. package/optimize/lib/components/icon/svgs/filterIgnore.svg +4 -0
  432. package/optimize/lib/components/icon/svgs/filterInclude.svg +5 -0
  433. package/optimize/lib/components/icon/svgs/indexTemporary.svg +4 -0
  434. package/optimize/lib/components/icon/svgs/infinity.svg +3 -0
  435. package/optimize/lib/components/icon/svgs/sortAscending.svg +3 -0
  436. package/optimize/lib/components/icon/svgs/sortDescending.svg +3 -0
  437. package/optimize/lib/components/image/image_fullscreen_wrapper.js +3 -3
  438. package/optimize/lib/components/overlay_mask/overlay_mask.js +9 -9
  439. package/optimize/lib/components/overlay_mask/overlay_mask.styles.js +13 -17
  440. package/optimize/lib/components/overlay_mask/overlay_mask_body.styles.js +20 -0
  441. package/optimize/lib/components/page/page_section/page_section.js +4 -3
  442. package/optimize/lib/components/pagination/pagination.js +4 -4
  443. package/optimize/lib/components/provider/provider.js +7 -12
  444. package/optimize/lib/components/resizable_container/helpers.js +2 -2
  445. package/optimize/lib/components/resizable_container/resizable_container.js +74 -25
  446. package/optimize/lib/components/resizable_container/resizable_container.styles.js +31 -0
  447. package/optimize/lib/components/resizable_container/resizable_panel.js +28 -49
  448. package/optimize/lib/components/resizable_container/resizable_panel.styles.js +76 -0
  449. package/optimize/lib/components/search_bar/query/ast.js +14 -3
  450. package/optimize/lib/components/tool_tip/tool_tip.js +3 -2
  451. package/optimize/lib/components/tool_tip/tool_tip.styles.js +18 -26
  452. package/optimize/lib/components/tool_tip/tool_tip_anchor.js +2 -2
  453. package/optimize/lib/components/tool_tip/tool_tip_arrow.js +10 -10
  454. package/optimize/lib/components/tool_tip/tool_tip_popover.js +6 -6
  455. package/optimize/lib/components/tour/tour.styles.js +3 -2
  456. package/optimize/lib/components/tour/tour_step.js +7 -5
  457. package/optimize/lib/global_styling/functions/logicals.js +4 -10
  458. package/optimize/lib/global_styling/functions/math.js +37 -19
  459. package/optimize/lib/global_styling/mixins/_padding.js +17 -10
  460. package/package.json +24 -21
  461. package/src/components/index.scss +0 -2
  462. package/src/components/resizable_container/_index.scss +0 -2
  463. package/src/global_styling/mixins/_header.scss +1 -1
  464. package/src/global_styling/variables/_index.scss +0 -1
  465. package/src/themes/amsterdam/overrides/_index.scss +0 -1
  466. package/test-env/components/avatar/avatar.js +1 -1
  467. package/test-env/components/badge/badge.js +1 -1
  468. package/test-env/components/badge/beta_badge/beta_badge.js +1 -1
  469. package/test-env/components/basic_table/basic_table.js +1 -1
  470. package/test-env/components/basic_table/collapsed_item_actions.js +1 -1
  471. package/test-env/components/basic_table/in_memory_table.js +15 -3
  472. package/test-env/components/breadcrumbs/breadcrumb.js +9 -5
  473. package/test-env/components/breadcrumbs/breadcrumbs.js +7 -4
  474. package/test-env/components/button/_button_content_deprecated.js +1 -1
  475. package/test-env/components/button/button_display/_button_display.js +1 -1
  476. package/test-env/components/button/button_display/_button_display_content.js +1 -1
  477. package/test-env/components/button/button_empty/button_empty.js +1 -1
  478. package/test-env/components/button/button_group/button_group.js +1 -1
  479. package/test-env/components/button/button_group/button_group_button.js +1 -1
  480. package/test-env/components/button/button_icon/button_icon.js +1 -1
  481. package/test-env/components/call_out/call_out.js +1 -1
  482. package/test-env/components/card/card.js +1 -1
  483. package/test-env/components/code/code.styles.js +35 -0
  484. package/test-env/components/code/code_block.styles.js +156 -0
  485. package/test-env/components/code/code_block_controls.js +48 -0
  486. package/test-env/components/code/code_block_controls.styles.js +39 -0
  487. package/test-env/components/code/code_block_copy.js +78 -0
  488. package/test-env/components/code/code_block_full_screen.js +108 -0
  489. package/test-env/components/code/code_block_line.styles.js +45 -0
  490. package/test-env/components/code/code_block_overflow.js +82 -0
  491. package/test-env/components/code/code_block_virtualized.js +81 -0
  492. package/test-env/components/code/code_syntax.styles.js +57 -0
  493. package/test-env/components/code/utils.js +40 -37
  494. package/test-env/components/collapsible_nav/collapsible_nav.js +0 -5
  495. package/test-env/components/collapsible_nav/collapsible_nav_group/collapsible_nav_group.js +1 -1
  496. package/test-env/components/color_picker/color_palette_picker/color_palette_picker.js +18 -0
  497. package/test-env/components/combo_box/combo_box.js +51 -10
  498. package/test-env/components/combo_box/combo_box_options_list/combo_box_options_list.js +14 -6
  499. package/test-env/components/combo_box/matching_options.js +64 -12
  500. package/test-env/components/comment_list/comment.js +2 -2
  501. package/test-env/components/comment_list/comment_event.js +1 -1
  502. package/test-env/components/comment_list/comment_list.js +2 -2
  503. package/test-env/components/comment_list/comment_timeline.js +1 -1
  504. package/test-env/components/datagrid/body/data_grid_body.js +13 -13
  505. package/test-env/components/datagrid/body/data_grid_cell.js +24 -24
  506. package/test-env/components/datagrid/body/header/data_grid_header_cell.js +12 -12
  507. package/test-env/components/datagrid/body/header/data_grid_header_row.js +13 -13
  508. package/test-env/components/datagrid/controls/column_sorting_draggable.js +1 -1
  509. package/test-env/components/datagrid/data_grid.js +13 -13
  510. package/test-env/components/datagrid/utils/in_memory.js +12 -12
  511. package/test-env/components/date_picker/date_picker.js +2 -2
  512. package/test-env/components/date_picker/date_picker_range.js +1 -1
  513. package/test-env/components/empty_prompt/empty_prompt.js +1 -1
  514. package/test-env/components/flex/flex_grid.js +33 -42
  515. package/test-env/components/flex/flex_grid.styles.js +140 -0
  516. package/test-env/components/flex/flex_group.js +17 -42
  517. package/test-env/components/flex/flex_group.styles.js +205 -0
  518. package/test-env/components/flex/flex_item.js +20 -18
  519. package/test-env/components/flex/flex_item.styles.js +150 -0
  520. package/test-env/components/flyout/flyout_body.js +2 -3
  521. package/test-env/components/flyout/flyout_footer.js +2 -3
  522. package/test-env/components/flyout/flyout_header.js +2 -3
  523. package/test-env/components/form/described_form_group/described_form_group.js +29 -23
  524. package/test-env/components/form/eui_form_context.js +28 -0
  525. package/test-env/components/form/field_number/field_number.js +39 -23
  526. package/test-env/components/form/field_password/field_password.js +31 -20
  527. package/test-env/components/form/field_search/field_search.js +13 -2
  528. package/test-env/components/form/field_text/field_text.js +31 -20
  529. package/test-env/components/form/file_picker/file_picker.js +13 -1
  530. package/test-env/components/form/form.js +24 -3
  531. package/test-env/components/form/form_control_layout/form_control_layout.js +17 -3
  532. package/test-env/components/form/form_control_layout/form_control_layout_custom_icon.js +1 -1
  533. package/test-env/components/form/form_control_layout/form_control_layout_icons.js +2 -2
  534. package/test-env/components/form/form_row/form_row.js +21 -4
  535. package/test-env/components/form/range/dual_range.js +13 -2
  536. package/test-env/components/form/range/range.js +13 -2
  537. package/test-env/components/form/range/range_wrapper.js +17 -6
  538. package/test-env/components/form/select/select.js +41 -24
  539. package/test-env/components/form/super_select/super_select.js +18 -0
  540. package/test-env/components/form/super_select/super_select_control.js +27 -22
  541. package/test-env/components/form/text_area/text_area.js +27 -15
  542. package/test-env/components/header/header_links/header_link.js +1 -1
  543. package/test-env/components/header/header_links/header_links.js +1 -1
  544. package/test-env/components/header/header_logo.js +1 -1
  545. package/test-env/components/icon/assets/filter.js +1 -2
  546. package/test-env/components/icon/assets/filterExclude.js +49 -0
  547. package/test-env/components/icon/assets/filterIgnore.js +44 -0
  548. package/test-env/components/icon/assets/filterInclude.js +44 -0
  549. package/test-env/components/icon/assets/indexTemporary.js +46 -0
  550. package/test-env/components/icon/assets/infinity.js +44 -0
  551. package/test-env/components/icon/assets/sortAscending.js +44 -0
  552. package/test-env/components/icon/assets/sortDescending.js +44 -0
  553. package/test-env/components/icon/icon_map.js +7 -0
  554. package/test-env/components/image/image_fullscreen_wrapper.js +3 -3
  555. package/test-env/components/key_pad_menu/key_pad_menu_item.js +1 -1
  556. package/test-env/components/list_group/list_group.js +2 -2
  557. package/test-env/components/list_group/list_group_item.js +2 -2
  558. package/test-env/components/list_group/list_group_item_extra_action.js +1 -1
  559. package/test-env/components/list_group/pinnable_list_group/pinnable_list_group.js +4 -4
  560. package/test-env/components/loading/loading_logo.js +1 -1
  561. package/test-env/components/markdown_editor/markdown_editor.js +1 -1
  562. package/test-env/components/markdown_editor/markdown_editor_drop_zone.js +1 -1
  563. package/test-env/components/markdown_editor/markdown_editor_footer.js +1 -1
  564. package/test-env/components/markdown_editor/markdown_editor_toolbar.js +1 -1
  565. package/test-env/components/notification/notification_event.js +2 -2
  566. package/test-env/components/notification/notification_event_meta.js +1 -1
  567. package/test-env/components/overlay_mask/overlay_mask.js +9 -14
  568. package/test-env/components/overlay_mask/overlay_mask.styles.js +13 -17
  569. package/test-env/components/overlay_mask/overlay_mask_body.styles.js +20 -0
  570. package/test-env/components/page/page_header/page_header_content.js +1 -1
  571. package/test-env/components/page/page_section/page_section.js +4 -3
  572. package/test-env/components/pagination/pagination.js +4 -4
  573. package/test-env/components/provider/provider.js +7 -12
  574. package/test-env/components/resizable_container/helpers.js +2 -2
  575. package/test-env/components/resizable_container/resizable_container.js +84 -25
  576. package/test-env/components/resizable_container/resizable_container.styles.js +31 -0
  577. package/test-env/components/resizable_container/resizable_panel.js +28 -49
  578. package/test-env/components/resizable_container/resizable_panel.styles.js +76 -0
  579. package/test-env/components/search_bar/query/ast.js +14 -3
  580. package/test-env/components/search_bar/search_bar.js +6 -0
  581. package/test-env/components/selectable/selectable_list/selectable_list.js +1 -1
  582. package/test-env/components/selectable/selectable_list/selectable_list_item.js +1 -1
  583. package/test-env/components/selectable/selectable_templates/selectable_template_sitewide.js +1 -1
  584. package/test-env/components/suggest/suggest.js +1 -1
  585. package/test-env/components/suggest/suggest_item.js +1 -1
  586. package/test-env/components/table/table_header_button.js +1 -1
  587. package/test-env/components/text/text.js +1 -0
  588. package/test-env/components/timeline/timeline_item_icon.js +1 -1
  589. package/test-env/components/toast/global_toast_list.js +1 -1
  590. package/test-env/components/toast/toast.js +1 -1
  591. package/test-env/components/tool_tip/icon_tip.js +1 -1
  592. package/test-env/components/tool_tip/tool_tip.js +3 -2
  593. package/test-env/components/tool_tip/tool_tip.styles.js +18 -26
  594. package/test-env/components/tool_tip/tool_tip_anchor.js +2 -2
  595. package/test-env/components/tool_tip/tool_tip_arrow.js +16 -11
  596. package/test-env/components/tool_tip/tool_tip_popover.js +6 -6
  597. package/test-env/components/tour/tour.styles.js +3 -2
  598. package/test-env/components/tour/tour_step.js +7 -5
  599. package/test-env/global_styling/functions/logicals.js +4 -10
  600. package/test-env/global_styling/functions/math.js +37 -19
  601. package/test-env/global_styling/mixins/_padding.js +17 -10
  602. package/src/components/code/_code.scss +0 -15
  603. package/src/components/code/_code_block.scss +0 -177
  604. package/src/components/code/_index.scss +0 -4
  605. package/src/components/code/_mixins.scss +0 -127
  606. package/src/components/code/_variables.scss +0 -5
  607. package/src/components/flex/_flex_grid.scss +0 -99
  608. package/src/components/flex/_flex_group.scss +0 -100
  609. package/src/components/flex/_flex_item.scss +0 -35
  610. package/src/components/flex/_index.scss +0 -3
  611. package/src/components/resizable_container/_resizable_container.scss +0 -8
  612. package/src/components/resizable_container/_resizable_panel.scss +0 -51
  613. package/src/global_styling/variables/_colors_code.scss +0 -23
  614. package/src/themes/amsterdam/overrides/_code.scss +0 -9
@@ -33,22 +33,17 @@ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) r
33
33
  * in compliance with, at your election, the Elastic License 2.0 or the Server
34
34
  * Side Public License, v 1.
35
35
  */
36
- import React, { forwardRef, useEffect, useMemo, useState, useCallback } from 'react';
36
+ import React, { useMemo } from 'react';
37
37
  import PropTypes from "prop-types";
38
38
  import classNames from 'classnames';
39
- import { FixedSizeList } from 'react-window';
40
- import { keys, useCombinedRefs } from '../../services';
41
- import { EuiAutoSizer } from '../auto_sizer';
42
- import { EuiButtonIcon } from '../button';
43
- import { keysOf } from '../common';
44
- import { EuiCopy } from '../copy';
45
- import { EuiFocusTrap } from '../focus_trap';
46
- import { useEuiI18n } from '../i18n';
47
- import { useInnerText } from '../inner_text';
48
- import { useMutationObserver } from '../observer/mutation_observer';
49
- import { useResizeObserver } from '../observer/resize_observer';
50
- import { EuiOverlayMask } from '../overlay_mask';
51
- import { DEFAULT_LANGUAGE, checkSupportedLanguage, getHtmlContent, nodeToHtml, highlightByLine } from './utils'; // Based on observed line height for non-virtualized code blocks
39
+ import { useCombinedRefs, useEuiTheme } from '../../services';
40
+ import { DEFAULT_LANGUAGE, checkSupportedLanguage, getHtmlContent, highlightByLine } from './utils';
41
+ import { useOverflow } from './code_block_overflow';
42
+ import { useCopy } from './code_block_copy';
43
+ import { useFullScreen, EuiCodeBlockFullScreenWrapper } from './code_block_full_screen';
44
+ import { EuiCodeBlockControls } from './code_block_controls';
45
+ import { EuiCodeBlockVirtualized } from './code_block_virtualized';
46
+ import { euiCodeBlockStyles, euiCodeBlockPreStyles, euiCodeBlockCodeStyles } from './code_block.styles'; // Based on observed line height for non-virtualized code blocks
52
47
 
53
48
  import { jsx as ___EmotionJSX } from "@emotion/react";
54
49
  var fontSizeToRowHeightMap = {
@@ -56,20 +51,8 @@ var fontSizeToRowHeightMap = {
56
51
  m: 21,
57
52
  l: 24
58
53
  };
59
- var fontSizeToClassNameMap = {
60
- s: 'euiCodeBlock--fontSmall',
61
- m: 'euiCodeBlock--fontMedium',
62
- l: 'euiCodeBlock--fontLarge'
63
- };
64
- export var FONT_SIZES = keysOf(fontSizeToClassNameMap);
65
- var paddingSizeToClassNameMap = {
66
- none: '',
67
- s: 'euiCodeBlock--paddingSmall',
68
- m: 'euiCodeBlock--paddingMedium',
69
- l: 'euiCodeBlock--paddingLarge'
70
- };
71
- export var PADDING_SIZES = keysOf(paddingSizeToClassNameMap); // This exclusive union enforces specific props based on isVirtualized
72
-
54
+ export var FONT_SIZES = ['s', 'm', 'l'];
55
+ export var PADDING_SIZES = ['none', 's', 'm', 'l'];
73
56
  export var EuiCodeBlock = function EuiCodeBlock(_ref) {
74
57
  var _ref$language = _ref.language,
75
58
  _language = _ref$language === void 0 ? DEFAULT_LANGUAGE : _ref$language,
@@ -91,6 +74,7 @@ export var EuiCodeBlock = function EuiCodeBlock(_ref) {
91
74
  lineNumbers = _ref$lineNumbers === void 0 ? false : _ref$lineNumbers,
92
75
  rest = _objectWithoutProperties(_ref, _excluded);
93
76
 
77
+ var euiTheme = useEuiTheme();
94
78
  var language = useMemo(function () {
95
79
  return checkSupportedLanguage(_language);
96
80
  }, [_language]);
@@ -110,8 +94,8 @@ export var EuiCodeBlock = function EuiCodeBlock(_ref) {
110
94
  return [];
111
95
  }
112
96
 
113
- return highlightByLine(children, language, lineNumbersConfig);
114
- }, [children, language, lineNumbersConfig]); // Used by `pre` when `isVirtualized=false` or `children` is not parsable
97
+ return highlightByLine(children, language, lineNumbersConfig, euiTheme);
98
+ }, [children, language, lineNumbersConfig, euiTheme]); // Used by `pre` when `isVirtualized=false` or `children` is not parsable
115
99
 
116
100
  var content = useMemo(function () {
117
101
  return getHtmlContent(data, children);
@@ -126,106 +110,86 @@ export var EuiCodeBlock = function EuiCodeBlock(_ref) {
126
110
  children: children
127
111
  }),
128
112
  innerTextRef = _useCopy.innerTextRef,
129
- showCopyButton = _useCopy.showCopyButton,
130
- textToCopy = _useCopy.textToCopy;
113
+ copyButton = _useCopy.copyButton;
131
114
 
132
- var _useOverflowDetection = useOverflowDetection(),
133
- setWrapperRef = _useOverflowDetection.setWrapperRef,
134
- tabIndex = _useOverflowDetection.tabIndex;
115
+ var _useOverflow = useOverflow({
116
+ overflowHeight: overflowHeight
117
+ }),
118
+ setWrapperRef = _useOverflow.setWrapperRef,
119
+ tabIndex = _useOverflow.tabIndex,
120
+ overflowHeightStyles = _useOverflow.overflowHeightStyles;
135
121
 
136
122
  var combinedRef = useCombinedRefs([innerTextRef, setWrapperRef]);
137
123
 
138
124
  var _useFullScreen = useFullScreen({
139
125
  overflowHeight: overflowHeight
140
126
  }),
141
- showFullScreenButton = _useFullScreen.showFullScreenButton,
142
- onKeyDown = _useFullScreen.onKeyDown,
127
+ fullScreenButton = _useFullScreen.fullScreenButton,
143
128
  isFullScreen = _useFullScreen.isFullScreen,
144
- toggleFullScreen = _useFullScreen.toggleFullScreen; // Classes used in both fullscreen and non-fullscreen mode
145
-
146
-
147
- var wrapperClasses = classNames(className, 'euiCodeBlock', {
148
- 'euiCodeBlock--hasControl': showCopyButton || showFullScreenButton,
149
- 'euiCodeBlock--hasBothControls': showCopyButton && showFullScreenButton,
150
- 'euiCodeBlock--hasLineNumbers': lineNumbersConfig.show
151
- }); // Classes used in non-fullscreen mode only
129
+ onKeyDown = _useFullScreen.onKeyDown;
130
+
131
+ var hasControls = !!(copyButton || fullScreenButton);
132
+ var hasBothControls = !!(copyButton && fullScreenButton);
133
+ var styles = euiCodeBlockStyles(euiTheme);
134
+ var cssStyles = [styles.euiCodeBlock, styles[fontSize], transparentBackground && styles.transparentBackground, hasControls && (hasBothControls ? styles.hasBothControls[paddingSize] : styles.hasControls[paddingSize])];
135
+
136
+ var _useMemo = useMemo(function () {
137
+ var isWhiteSpacePre = whiteSpace === 'pre' || isVirtualized;
138
+ var styles = euiCodeBlockPreStyles(euiTheme);
139
+ var cssStyles = [styles.euiCodeBlock__pre, isWhiteSpacePre ? styles.whiteSpace.pre.pre : styles.whiteSpace.preWrap.preWrap];
140
+ var preProps = {
141
+ className: 'euiCodeBlock__pre',
142
+ css: [].concat(cssStyles, [styles.padding[paddingSize], hasControls && (isWhiteSpacePre ? styles.whiteSpace.pre.controlsOffset[paddingSize] : styles.whiteSpace.preWrap.controlsOffset[paddingSize])]),
143
+ tabIndex: isVirtualized ? 0 : tabIndex
144
+ };
145
+ var preFullscreenProps = {
146
+ className: 'euiCodeBlock__pre',
147
+ css: [].concat(cssStyles, [// Force fullscreen to use xl padding
148
+ styles.padding.xl, hasControls && (isWhiteSpacePre ? styles.whiteSpace.pre.controlsOffset.xl : styles.whiteSpace.preWrap.controlsOffset.xl)]),
149
+ tabIndex: 0,
150
+ onKeyDown: onKeyDown
151
+ };
152
+ return [preProps, preFullscreenProps];
153
+ }, [euiTheme, whiteSpace, isVirtualized, hasControls, paddingSize, onKeyDown, tabIndex]),
154
+ _useMemo2 = _slicedToArray(_useMemo, 2),
155
+ preProps = _useMemo2[0],
156
+ preFullscreenProps = _useMemo2[1];
152
157
 
153
- var classes = classNames(wrapperClasses, fontSizeToClassNameMap[fontSize], paddingSizeToClassNameMap[paddingSize], {
154
- 'euiCodeBlock--transparentBackground': transparentBackground
155
- });
156
158
  var codeProps = useMemo(function () {
159
+ var styles = euiCodeBlockCodeStyles(euiTheme);
160
+ var cssStyles = [styles.euiCodeBlock__code, isVirtualized && styles.isVirtualized];
157
161
  return _objectSpread({
158
162
  className: 'euiCodeBlock__code',
163
+ css: cssStyles,
159
164
  'data-code-language': language
160
165
  }, rest);
161
- }, [language, rest]);
162
- var preClasses = classNames('euiCodeBlock__pre', {
163
- 'euiCodeBlock__pre--whiteSpacePre': whiteSpace === 'pre' || isVirtualized,
164
- 'euiCodeBlock__pre--whiteSpacePreWrap': whiteSpace === 'pre-wrap' && !isVirtualized,
165
- 'euiCodeBlock__pre--isVirtualized': isVirtualized
166
- });
167
- var preFullscreenProps = useMemo(function () {
168
- return {
169
- className: preClasses,
170
- tabIndex: 0,
171
- onKeyDown: onKeyDown
172
- };
173
- }, [preClasses, onKeyDown]);
174
- var overflowHeightStyles = useMemo(function () {
175
- if (overflowHeight) {
176
- var property = typeof overflowHeight === 'string' ? 'height' : 'maxHeight';
177
- return _defineProperty({}, property, overflowHeight);
178
- }
179
-
180
- return {};
181
- }, [overflowHeight]);
182
- var wrapperProps = useMemo(function () {
183
- return {
184
- className: classes,
185
- style: overflowHeightStyles
186
- };
187
- }, [classes, overflowHeightStyles]);
188
- var codeBlockControls = useMemo(function () {
189
- if (showCopyButton || showFullScreenButton) {
190
- return ___EmotionJSX("div", {
191
- className: "euiCodeBlock__controls"
192
- }, showFullScreenButton && ___EmotionJSX(FullScreenButton, {
193
- isFullScreen: isFullScreen,
194
- toggleFullScreen: toggleFullScreen
195
- }), showCopyButton && ___EmotionJSX(CopyButton, {
196
- textToCopy: textToCopy
197
- }));
198
- }
199
- }, [isFullScreen, toggleFullScreen, showCopyButton, showFullScreenButton, textToCopy]);
200
- return ___EmotionJSX("div", wrapperProps, isVirtualized ? ___EmotionJSX(VirtualizedCodeBlock, {
166
+ }, [language, euiTheme, isVirtualized, rest]);
167
+ return ___EmotionJSX("div", {
168
+ css: cssStyles,
169
+ className: classNames('euiCodeBlock', className),
170
+ style: overflowHeightStyles
171
+ }, isVirtualized ? ___EmotionJSX(EuiCodeBlockVirtualized, {
201
172
  data: data,
202
173
  rowHeight: fontSizeToRowHeightMap[fontSize],
203
174
  overflowHeight: overflowHeight,
204
- preProps: preFullscreenProps // Note: the virtualized codeblock always sets a tabIndex of 0
205
- ,
175
+ preProps: preProps,
206
176
  codeProps: codeProps
207
- }) : ___EmotionJSX("pre", {
177
+ }) : ___EmotionJSX("pre", _extends({}, preProps, {
208
178
  ref: combinedRef,
209
- style: overflowHeightStyles,
210
- className: preClasses,
211
- tabIndex: tabIndex
212
- }, ___EmotionJSX("code", codeProps, content)), codeBlockControls, isFullScreen && ___EmotionJSX(FullScreenDisplay, {
213
- className: wrapperClasses
214
- }, isVirtualized ? ___EmotionJSX(VirtualizedCodeBlock, {
179
+ style: overflowHeightStyles
180
+ }), ___EmotionJSX("code", codeProps, content)), ___EmotionJSX(EuiCodeBlockControls, {
181
+ controls: [fullScreenButton, copyButton],
182
+ paddingSize: paddingSize
183
+ }), isFullScreen && ___EmotionJSX(EuiCodeBlockFullScreenWrapper, null, isVirtualized ? ___EmotionJSX(EuiCodeBlockVirtualized, {
215
184
  data: data,
216
185
  rowHeight: fontSizeToRowHeightMap.l,
217
186
  preProps: preFullscreenProps,
218
187
  codeProps: codeProps
219
- }) : ___EmotionJSX("pre", preFullscreenProps, ___EmotionJSX("code", codeProps, content)), codeBlockControls));
188
+ }) : ___EmotionJSX("pre", preFullscreenProps, ___EmotionJSX("code", codeProps, content)), ___EmotionJSX(EuiCodeBlockControls, {
189
+ controls: [fullScreenButton, copyButton],
190
+ paddingSize: "l"
191
+ })));
220
192
  };
221
- /**
222
- * Overflow logic
223
- *
224
- * Detects whether the code block overflows and returns a tabIndex of 0 if so,
225
- * which allows keyboard users to use the up/down arrow keys to scroll through
226
- * the container.
227
- */
228
-
229
193
  EuiCodeBlock.propTypes = {
230
194
  className: PropTypes.string,
231
195
  "aria-label": PropTypes.string,
@@ -238,8 +202,8 @@ EuiCodeBlock.propTypes = {
238
202
  */
239
203
  language: PropTypes.string,
240
204
  transparentBackground: PropTypes.bool,
241
- paddingSize: PropTypes.oneOf(["none", "s", "m", "l"]),
242
- fontSize: PropTypes.oneOf(["s", "m", "l"]),
205
+ paddingSize: PropTypes.any,
206
+ fontSize: PropTypes.any,
243
207
 
244
208
  /**
245
209
  * Specify how `white-space` inside the element is handled.
@@ -278,211 +242,4 @@ EuiCodeBlock.propTypes = {
278
242
  * `whiteSpace` can only be `pre`.
279
243
  */
280
244
  isVirtualized: PropTypes.oneOfType([PropTypes.bool, PropTypes.oneOfType([PropTypes.oneOf([true]).isRequired, PropTypes.oneOf([false])])])
281
- };
282
-
283
- var useOverflowDetection = function useOverflowDetection() {
284
- var _useState = useState(null),
285
- _useState2 = _slicedToArray(_useState, 2),
286
- wrapperRef = _useState2[0],
287
- setWrapperRef = _useState2[1];
288
-
289
- var _useState3 = useState(-1),
290
- _useState4 = _slicedToArray(_useState3, 2),
291
- tabIndex = _useState4[0],
292
- setTabIndex = _useState4[1];
293
-
294
- var _useResizeObserver = useResizeObserver(wrapperRef),
295
- width = _useResizeObserver.width,
296
- height = _useResizeObserver.height;
297
-
298
- var doesOverflow = function doesOverflow() {
299
- if (!wrapperRef) return;
300
- var clientWidth = wrapperRef.clientWidth,
301
- clientHeight = wrapperRef.clientHeight,
302
- scrollWidth = wrapperRef.scrollWidth,
303
- scrollHeight = wrapperRef.scrollHeight;
304
- var doesOverflow = scrollHeight > clientHeight || scrollWidth > clientWidth;
305
- setTabIndex(doesOverflow ? 0 : -1);
306
- };
307
-
308
- useMutationObserver(wrapperRef, doesOverflow, {
309
- subtree: true,
310
- childList: true
311
- });
312
- useEffect(doesOverflow, [width, height, wrapperRef]);
313
- return {
314
- setWrapperRef: setWrapperRef,
315
- tabIndex: tabIndex
316
- };
317
- };
318
- /**
319
- * Copy logic
320
- */
321
-
322
-
323
- var CopyButton = function CopyButton(_ref3) {
324
- var textToCopy = _ref3.textToCopy;
325
- var copyButton = useEuiI18n('euiCodeBlock.copyButton', 'Copy');
326
- return ___EmotionJSX("div", {
327
- className: "euiCodeBlock__copyButton"
328
- }, ___EmotionJSX(EuiCopy, {
329
- textToCopy: textToCopy
330
- }, function (copy) {
331
- return ___EmotionJSX(EuiButtonIcon, {
332
- onClick: copy,
333
- iconType: "copyClipboard",
334
- color: "text",
335
- "aria-label": copyButton
336
- });
337
- }));
338
- };
339
-
340
- CopyButton.propTypes = {
341
- textToCopy: PropTypes.string.isRequired
342
- };
343
-
344
- var useCopy = function useCopy(_ref4) {
345
- var isCopyable = _ref4.isCopyable,
346
- isVirtualized = _ref4.isVirtualized,
347
- children = _ref4.children;
348
-
349
- var _useInnerText = useInnerText(''),
350
- _useInnerText2 = _slicedToArray(_useInnerText, 2),
351
- innerTextRef = _useInnerText2[0],
352
- _innerText = _useInnerText2[1];
353
-
354
- var innerText = useMemo(function () {
355
- return (_innerText === null || _innerText === void 0 ? void 0 : _innerText.replace(/[\r\n?]{2}|\n\n/g, '\n')) || '';
356
- }, [_innerText]);
357
- var textToCopy = isVirtualized ? "".concat(children) : innerText; // Virtualized code blocks do not have inner text
358
-
359
- var showCopyButton = isCopyable && textToCopy;
360
- return {
361
- innerTextRef: innerTextRef,
362
- showCopyButton: showCopyButton,
363
- textToCopy: textToCopy
364
- };
365
- };
366
- /**
367
- * Fullscreen logic
368
- */
369
-
370
-
371
- var FullScreenButton = function FullScreenButton(_ref5) {
372
- var isFullScreen = _ref5.isFullScreen,
373
- toggleFullScreen = _ref5.toggleFullScreen;
374
-
375
- var _useEuiI18n = useEuiI18n(['euiCodeBlock.fullscreenCollapse', 'euiCodeBlock.fullscreenExpand'], ['Collapse', 'Expand']),
376
- _useEuiI18n2 = _slicedToArray(_useEuiI18n, 2),
377
- fullscreenCollapse = _useEuiI18n2[0],
378
- fullscreenExpand = _useEuiI18n2[1];
379
-
380
- return ___EmotionJSX(EuiButtonIcon, {
381
- className: "euiCodeBlock__fullScreenButton",
382
- onClick: toggleFullScreen,
383
- iconType: isFullScreen ? 'fullScreenExit' : 'fullScreen',
384
- color: "text",
385
- "aria-label": isFullScreen ? fullscreenCollapse : fullscreenExpand
386
- });
387
- };
388
-
389
- FullScreenButton.propTypes = {
390
- isFullScreen: PropTypes.bool.isRequired,
391
- toggleFullScreen: PropTypes.func.isRequired
392
- };
393
-
394
- var FullScreenDisplay = function FullScreenDisplay(_ref6) {
395
- var children = _ref6.children,
396
- className = _ref6.className;
397
- // Force fullscreen to use large font and padding.
398
- var fullScreenClasses = classNames(className, 'euiCodeBlock--fontLarge', 'euiCodeBlock--paddingLarge', 'euiCodeBlock-isFullScreen'); // Attaches to the body because of EuiOverlayMask's React portal usage.
399
-
400
- return ___EmotionJSX(EuiOverlayMask, null, ___EmotionJSX(EuiFocusTrap, {
401
- clickOutsideDisables: true
402
- }, ___EmotionJSX("div", {
403
- className: fullScreenClasses
404
- }, children)));
405
- };
406
-
407
- FullScreenDisplay.propTypes = {
408
- className: PropTypes.string.isRequired
409
- };
410
-
411
- var useFullScreen = function useFullScreen(_ref7) {
412
- var overflowHeight = _ref7.overflowHeight;
413
-
414
- var _useState5 = useState(false),
415
- _useState6 = _slicedToArray(_useState5, 2),
416
- isFullScreen = _useState6[0],
417
- setIsFullScreen = _useState6[1];
418
-
419
- var toggleFullScreen = useCallback(function () {
420
- setIsFullScreen(function (isFullScreen) {
421
- return !isFullScreen;
422
- });
423
- }, []);
424
- var onKeyDown = useCallback(function (event) {
425
- if (event.key === keys.ESCAPE) {
426
- event.preventDefault();
427
- event.stopPropagation();
428
- setIsFullScreen(false);
429
- }
430
- }, []);
431
- var showFullScreenButton = !!overflowHeight;
432
- return {
433
- showFullScreenButton: showFullScreenButton,
434
- isFullScreen: isFullScreen,
435
- toggleFullScreen: toggleFullScreen,
436
- onKeyDown: onKeyDown
437
- };
438
- };
439
- /**
440
- * Virtualization logic
441
- */
442
-
443
-
444
- var ListRow = function ListRow(_ref8) {
445
- var data = _ref8.data,
446
- index = _ref8.index,
447
- style = _ref8.style;
448
- var row = data[index];
449
- row.properties.style = style;
450
- return nodeToHtml(row, index, data, 0);
451
- };
452
-
453
- var VirtualizedCodeBlock = function VirtualizedCodeBlock(_ref9) {
454
- var data = _ref9.data,
455
- rowHeight = _ref9.rowHeight,
456
- overflowHeight = _ref9.overflowHeight,
457
- preProps = _ref9.preProps,
458
- codeProps = _ref9.codeProps;
459
- var VirtualizedOuterElement = useMemo(function () {
460
- return /*#__PURE__*/forwardRef(function (props, ref) {
461
- return ___EmotionJSX("pre", _extends({}, props, {
462
- ref: ref
463
- }, preProps));
464
- });
465
- }, [preProps]);
466
- var VirtualizedInnerElement = useMemo(function () {
467
- return /*#__PURE__*/forwardRef(function (props, ref) {
468
- return ___EmotionJSX("code", _extends({}, props, {
469
- ref: ref
470
- }, codeProps));
471
- });
472
- }, [codeProps]);
473
- return ___EmotionJSX(EuiAutoSizer, {
474
- disableHeight: typeof overflowHeight === 'number'
475
- }, function (_ref10) {
476
- var height = _ref10.height,
477
- width = _ref10.width;
478
- return ___EmotionJSX(FixedSizeList, {
479
- height: height !== null && height !== void 0 ? height : overflowHeight,
480
- width: width,
481
- itemData: data,
482
- itemSize: rowHeight,
483
- itemCount: data.length,
484
- outerElementType: VirtualizedOuterElement,
485
- innerElementType: VirtualizedInnerElement
486
- }, ListRow);
487
- });
488
245
  };
@@ -0,0 +1,153 @@
1
+ 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; }
2
+
3
+ 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) { _defineProperty(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; }
4
+
5
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
6
+
7
+ 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)."; }
8
+
9
+ /*
10
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
11
+ * or more contributor license agreements. Licensed under the Elastic License
12
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
13
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
14
+ * Side Public License, v 1.
15
+ */
16
+
17
+ /*
18
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
19
+ * or more contributor license agreements. Licensed under the Elastic License
20
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
21
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
22
+ * Side Public License, v 1.
23
+ */
24
+ import { css } from '@emotion/react';
25
+ import { euiPaddingSize, euiFontSize, euiScrollBarStyles, mathWithUnits } from '../../global_styling';
26
+ import { euiCodeSyntaxColors, euiCodeSyntaxTokens } from './code_syntax.styles';
27
+
28
+ var _ref4 = process.env.NODE_ENV === "production" ? {
29
+ name: "i92zwx-isFullScreen",
30
+ styles: "position:fixed;inset:0;label:isFullScreen;"
31
+ } : {
32
+ name: "i92zwx-isFullScreen",
33
+ styles: "position:fixed;inset:0;label:isFullScreen;",
34
+ toString: _EMOTION_STRINGIFIED_CSS_ERROR__
35
+ };
36
+
37
+ var _ref5 = process.env.NODE_ENV === "production" ? {
38
+ name: "gfiv3z-transparentBackground",
39
+ styles: "background:transparent;label:transparentBackground;"
40
+ } : {
41
+ name: "gfiv3z-transparentBackground",
42
+ styles: "background:transparent;label:transparentBackground;",
43
+ toString: _EMOTION_STRINGIFIED_CSS_ERROR__
44
+ };
45
+
46
+ export var euiCodeBlockStyles = function euiCodeBlockStyles(euiThemeContext) {
47
+ var euiTheme = euiThemeContext.euiTheme;
48
+ var euiCodeSyntax = euiCodeSyntaxColors(euiThemeContext);
49
+ return {
50
+ euiCodeBlock: /*#__PURE__*/css("max-inline-size:100%;display:block;position:relative;background:", euiCodeSyntax.backgroundColor, ";", euiCodeSyntaxTokens(euiThemeContext), ";;label:euiCodeBlock;"),
51
+ // Font size
52
+ s: /*#__PURE__*/css(euiFontSize(euiThemeContext, 'xs'), ";;label:s;"),
53
+ m: /*#__PURE__*/css(euiFontSize(euiThemeContext, 's'), ";;label:m;"),
54
+ l: /*#__PURE__*/css(euiFontSize(euiThemeContext, 'm'), ";;label:l;"),
55
+ // Variants
56
+ transparentBackground: _ref5,
57
+ isFullScreen: _ref4,
58
+ // Account for control heights
59
+ hasControls: generatePaddingCss(euiThemeContext, function (paddingSize) {
60
+ return /*#__PURE__*/css("min-block-size:", mathWithUnits([euiTheme.size.l, paddingSize], function (iconSize, paddingSize) {
61
+ return iconSize + paddingSize * 2;
62
+ }), ";;label:hasControls;");
63
+ }),
64
+ hasBothControls: generatePaddingCss(euiThemeContext, function (paddingSize) {
65
+ return /*#__PURE__*/css("min-block-size:", mathWithUnits([euiTheme.size.l, euiTheme.size.xs, paddingSize], function (iconSize, gap, paddingSize) {
66
+ return iconSize * 2 + gap + paddingSize * 2;
67
+ }), ";;label:hasBothControls;");
68
+ })
69
+ };
70
+ };
71
+
72
+ var _ref2 = process.env.NODE_ENV === "production" ? {
73
+ name: "eav5br-preWrap",
74
+ styles: "white-space:pre-wrap;label:preWrap;"
75
+ } : {
76
+ name: "eav5br-preWrap",
77
+ styles: "white-space:pre-wrap;label:preWrap;",
78
+ toString: _EMOTION_STRINGIFIED_CSS_ERROR__
79
+ };
80
+
81
+ var _ref3 = process.env.NODE_ENV === "production" ? {
82
+ name: "4dmmkq-pre",
83
+ styles: "white-space:pre;label:pre;"
84
+ } : {
85
+ name: "4dmmkq-pre",
86
+ styles: "white-space:pre;label:pre;",
87
+ toString: _EMOTION_STRINGIFIED_CSS_ERROR__
88
+ };
89
+
90
+ export var euiCodeBlockPreStyles = function euiCodeBlockPreStyles(euiThemeContext) {
91
+ var euiTheme = euiThemeContext.euiTheme;
92
+ return {
93
+ euiCodeBlock__pre: /*#__PURE__*/css("block-size:100%;overflow:auto;display:block;", euiScrollBarStyles(euiThemeContext), ";;label:euiCodeBlock__pre;"),
94
+ padding: _objectSpread({}, generatePaddingCss(euiThemeContext, function (paddingSize) {
95
+ return /*#__PURE__*/css("padding:", paddingSize, ";;label:padding;");
96
+ })),
97
+ whiteSpace: {
98
+ pre: {
99
+ pre: _ref3,
100
+ controlsOffset: generatePaddingCss(euiThemeContext, function (paddingSize) {
101
+ return /*#__PURE__*/css("margin-inline-end:", mathWithUnits([paddingSize, euiTheme.size.l, euiTheme.size.xs], function (paddingSize, iconSize, gap) {
102
+ return paddingSize + gap + iconSize;
103
+ }), ";;label:controlsOffset;");
104
+ })
105
+ },
106
+ preWrap: {
107
+ preWrap: _ref2,
108
+ controlsOffset: generatePaddingCss(euiThemeContext, function (paddingSize) {
109
+ return /*#__PURE__*/css("padding-inline-end:", mathWithUnits([paddingSize, euiTheme.size.l, euiTheme.size.xs], function (paddingSize, iconSize, gap) {
110
+ return paddingSize + gap + iconSize;
111
+ }), ";;label:controlsOffset;");
112
+ })
113
+ }
114
+ }
115
+ };
116
+ };
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
+ export var euiCodeBlockCodeStyles = function euiCodeBlockCodeStyles(euiThemeContext) {
128
+ var euiTheme = euiThemeContext.euiTheme;
129
+ var euiCodeSyntax = euiCodeSyntaxColors(euiThemeContext);
130
+ return {
131
+ euiCodeBlock__code: /*#__PURE__*/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
+ var generatePaddingCss = function generatePaddingCss(euiThemeContext, callback) {
140
+ var cssKeys = {
141
+ none: /*#__PURE__*/css(";label:none;"),
142
+ s: /*#__PURE__*/css(";label:s;"),
143
+ m: /*#__PURE__*/css(";label:m;"),
144
+ l: /*#__PURE__*/css(";label:l;"),
145
+ xl: /*#__PURE__*/css(";label:xl;")
146
+ }; // xl padding used by fullscreen mode
147
+
148
+ ['none', 's', 'm', 'l', 'xl'].forEach(function (size) {
149
+ var paddingSize = euiPaddingSize(euiThemeContext, size) || 0;
150
+ cssKeys[size] = callback(paddingSize);
151
+ });
152
+ return cssKeys;
153
+ };
@@ -0,0 +1,29 @@
1
+ /*
2
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
3
+ * or more contributor license agreements. Licensed under the Elastic License
4
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
5
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
6
+ * Side Public License, v 1.
7
+ */
8
+ import React, { Fragment } from 'react';
9
+ import { useEuiTheme } from '../../services';
10
+ import { euiCodeBlockControlsStyles } from './code_block_controls.styles';
11
+ import { jsx as ___EmotionJSX } from "@emotion/react";
12
+ export var EuiCodeBlockControls = function EuiCodeBlockControls(_ref) {
13
+ var paddingSize = _ref.paddingSize,
14
+ controls = _ref.controls;
15
+ var euiTheme = useEuiTheme();
16
+ var styles = euiCodeBlockControlsStyles(euiTheme);
17
+ var cssStyles = [styles.euiCodeBlock__controls, styles.offset[paddingSize]];
18
+ var hasControls = controls.some(function (control) {
19
+ return !!control;
20
+ });
21
+ return hasControls ? ___EmotionJSX("div", {
22
+ className: "euiCodeBlock__controls",
23
+ css: cssStyles
24
+ }, controls.map(function (control, i) {
25
+ return ___EmotionJSX(Fragment, {
26
+ key: i
27
+ }, control);
28
+ })) : null;
29
+ };