@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
@@ -0,0 +1,55 @@
1
+ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
2
+
3
+ /*
4
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
5
+ * or more contributor license agreements. Licensed under the Elastic License
6
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
7
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
8
+ * Side Public License, v 1.
9
+ */
10
+ import React, { useMemo } from 'react';
11
+ import { useInnerText } from '../inner_text';
12
+ import { EuiCopy } from '../copy';
13
+ import { useEuiI18n } from '../i18n';
14
+ import { EuiButtonIcon } from '../button';
15
+ /**
16
+ * Hook that returns copy-related state/logic/utils
17
+ */
18
+
19
+ import { jsx as ___EmotionJSX } from "@emotion/react";
20
+ export var useCopy = function useCopy(_ref) {
21
+ var isCopyable = _ref.isCopyable,
22
+ isVirtualized = _ref.isVirtualized,
23
+ children = _ref.children;
24
+
25
+ var _useInnerText = useInnerText(''),
26
+ _useInnerText2 = _slicedToArray(_useInnerText, 2),
27
+ innerTextRef = _useInnerText2[0],
28
+ _innerText = _useInnerText2[1];
29
+
30
+ var innerText = useMemo(function () {
31
+ return (_innerText === null || _innerText === void 0 ? void 0 : _innerText.replace(/[\r\n?]{2}|\n\n/g, '\n')) || '';
32
+ }, [_innerText]);
33
+ var textToCopy = isVirtualized ? "".concat(children) : innerText; // Virtualized code blocks do not have inner text
34
+
35
+ var showCopyButton = isCopyable && textToCopy;
36
+ var copyAriaLabel = useEuiI18n('euiCodeBlockCopy.copy', 'Copy');
37
+ var copyButton = useMemo(function () {
38
+ return showCopyButton ? ___EmotionJSX("div", {
39
+ className: "euiCodeBlock__copyButton"
40
+ }, ___EmotionJSX(EuiCopy, {
41
+ textToCopy: textToCopy
42
+ }, function (copy) {
43
+ return ___EmotionJSX(EuiButtonIcon, {
44
+ onClick: copy,
45
+ iconType: "copyClipboard",
46
+ color: "text",
47
+ "aria-label": copyAriaLabel
48
+ });
49
+ })) : null;
50
+ }, [showCopyButton, textToCopy, copyAriaLabel]);
51
+ return {
52
+ innerTextRef: innerTextRef,
53
+ copyButton: copyButton
54
+ };
55
+ };
@@ -0,0 +1,80 @@
1
+ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
2
+
3
+ /*
4
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
5
+ * or more contributor license agreements. Licensed under the Elastic License
6
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
7
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
8
+ * Side Public License, v 1.
9
+ */
10
+ import React, { useState, useCallback, useMemo } from 'react';
11
+ import { keys, useEuiTheme } from '../../services';
12
+ import { useEuiI18n } from '../i18n';
13
+ import { EuiButtonIcon } from '../button';
14
+ import { EuiFocusTrap } from '../focus_trap';
15
+ import { EuiOverlayMask } from '../overlay_mask';
16
+ import { euiCodeBlockStyles } from './code_block.styles';
17
+ /**
18
+ * Hook that returns fullscreen-related state/logic/utils
19
+ */
20
+
21
+ import { jsx as ___EmotionJSX } from "@emotion/react";
22
+ export var useFullScreen = function useFullScreen(_ref) {
23
+ var overflowHeight = _ref.overflowHeight;
24
+ var showFullScreenButton = !!overflowHeight;
25
+
26
+ var _useState = useState(false),
27
+ _useState2 = _slicedToArray(_useState, 2),
28
+ isFullScreen = _useState2[0],
29
+ setIsFullScreen = _useState2[1];
30
+
31
+ var toggleFullScreen = useCallback(function () {
32
+ setIsFullScreen(function (isFullScreen) {
33
+ return !isFullScreen;
34
+ });
35
+ }, []);
36
+ var onKeyDown = useCallback(function (event) {
37
+ if (event.key === keys.ESCAPE) {
38
+ event.preventDefault();
39
+ event.stopPropagation();
40
+ setIsFullScreen(false);
41
+ }
42
+ }, []);
43
+
44
+ var _useEuiI18n = useEuiI18n(['euiCodeBlockFullScreen.fullscreenCollapse', 'euiCodeBlockFullScreen.fullscreenExpand'], ['Collapse', 'Expand']),
45
+ _useEuiI18n2 = _slicedToArray(_useEuiI18n, 2),
46
+ fullscreenCollapse = _useEuiI18n2[0],
47
+ fullscreenExpand = _useEuiI18n2[1];
48
+
49
+ var fullScreenButton = useMemo(function () {
50
+ return showFullScreenButton ? ___EmotionJSX(EuiButtonIcon, {
51
+ className: "euiCodeBlock__fullScreenButton",
52
+ onClick: toggleFullScreen,
53
+ iconType: isFullScreen ? 'fullScreenExit' : 'fullScreen',
54
+ color: "text",
55
+ "aria-label": isFullScreen ? fullscreenCollapse : fullscreenExpand
56
+ }) : null;
57
+ }, [showFullScreenButton, toggleFullScreen, isFullScreen, fullscreenCollapse, fullscreenExpand]);
58
+ return {
59
+ fullScreenButton: fullScreenButton,
60
+ isFullScreen: isFullScreen,
61
+ onKeyDown: onKeyDown
62
+ };
63
+ };
64
+ /**
65
+ * Portalled full screen wrapper
66
+ */
67
+
68
+ export var EuiCodeBlockFullScreenWrapper = function EuiCodeBlockFullScreenWrapper(_ref2) {
69
+ var children = _ref2.children;
70
+ var euiThemeContext = useEuiTheme();
71
+ var styles = euiCodeBlockStyles(euiThemeContext);
72
+ var cssStyles = [styles.euiCodeBlock, styles.l, // Force fullscreen to use large font
73
+ styles.isFullScreen];
74
+ return ___EmotionJSX(EuiOverlayMask, null, ___EmotionJSX(EuiFocusTrap, {
75
+ clickOutsideDisables: true
76
+ }, ___EmotionJSX("div", {
77
+ className: "euiCodeBlockFullScreen",
78
+ css: cssStyles
79
+ }, children)));
80
+ };
@@ -0,0 +1,49 @@
1
+ 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)."; }
2
+
3
+ /*
4
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
5
+ * or more contributor license agreements. Licensed under the Elastic License
6
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
7
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
8
+ * Side Public License, v 1.
9
+ */
10
+
11
+ /*
12
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
13
+ * or more contributor license agreements. Licensed under the Elastic License
14
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
15
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
16
+ * Side Public License, v 1.
17
+ */
18
+ import { css } from '@emotion/css';
19
+ import { euiBackgroundColor } from '../../global_styling';
20
+ // Note: These styles must be in a separate file due to using `css` from `@emotion/css`
21
+ // (i.e., applying styles in vanilla JS / directly to DOM nodes instead of React)
22
+ export var euiCodeBlockLineStyles = function euiCodeBlockLineStyles(euiThemeContext) {
23
+ var euiTheme = euiThemeContext.euiTheme;
24
+ return {
25
+ euiCodeBlock__line: /*#__PURE__*/css(process.env.NODE_ENV === "production" ? {
26
+ name: "yn676d-euiCodeBlock__line",
27
+ styles: "display:block;label:euiCodeBlock__line;"
28
+ } : {
29
+ name: "yn676d-euiCodeBlock__line",
30
+ styles: "display:block;label:euiCodeBlock__line;",
31
+ toString: _EMOTION_STRINGIFIED_CSS_ERROR__
32
+ }),
33
+ hasLineNumbers: /*#__PURE__*/css(process.env.NODE_ENV === "production" ? {
34
+ name: "156gjef-hasLineNumbers",
35
+ styles: "display:flex;user-select:none;label:hasLineNumbers;"
36
+ } : {
37
+ name: "156gjef-hasLineNumbers",
38
+ styles: "display:flex;user-select:none;label:hasLineNumbers;",
39
+ toString: _EMOTION_STRINGIFIED_CSS_ERROR__
40
+ }),
41
+ lineText: {
42
+ euiCodeBlock__lineText: /*#__PURE__*/css("flex-grow:1;display:inline-block;padding-inline-start:", euiTheme.size.s, ";border-inline-start:", euiTheme.border.thin, ";user-select:text;;label:euiCodeBlock__lineText;"),
43
+ isHighlighted: /*#__PURE__*/css("background:", euiBackgroundColor(euiThemeContext, 'primary'), ";border-inline-start:", euiTheme.border.width.thick, " solid ", euiTheme.colors.primary, ";;label:isHighlighted;")
44
+ },
45
+ lineNumber: {
46
+ euiCodeBlock__lineNumber: /*#__PURE__*/css("flex-grow:0;flex-shrink:0;user-select:none;padding-inline-end:", euiTheme.size.s, ";box-sizing:content-box;&:before{content:attr(data-line-number);color:", euiTheme.colors.subduedText, ";text-align:end;display:block;};label:euiCodeBlock__lineNumber;")
47
+ }
48
+ };
49
+ };
@@ -0,0 +1,67 @@
1
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
+ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
3
+
4
+ /*
5
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
6
+ * or more contributor license agreements. Licensed under the Elastic License
7
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
8
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
9
+ * Side Public License, v 1.
10
+ */
11
+ import { useEffect, useState, useMemo } from 'react';
12
+ import { useMutationObserver } from '../observer/mutation_observer';
13
+ import { useResizeObserver } from '../observer/resize_observer';
14
+ /**
15
+ * Overflow logic - returns overflow-related state/logic/utils
16
+ *
17
+ * Detects whether the code block overflows and returns a tabIndex of 0 if so,
18
+ * which allows keyboard users to use the up/down arrow keys to scroll through
19
+ * the container.
20
+ */
21
+
22
+ export var useOverflow = function useOverflow(_ref) {
23
+ var overflowHeight = _ref.overflowHeight;
24
+
25
+ var _useState = useState(null),
26
+ _useState2 = _slicedToArray(_useState, 2),
27
+ wrapperRef = _useState2[0],
28
+ setWrapperRef = _useState2[1];
29
+
30
+ var _useState3 = useState(-1),
31
+ _useState4 = _slicedToArray(_useState3, 2),
32
+ tabIndex = _useState4[0],
33
+ setTabIndex = _useState4[1];
34
+
35
+ var _useResizeObserver = useResizeObserver(wrapperRef),
36
+ width = _useResizeObserver.width,
37
+ height = _useResizeObserver.height;
38
+
39
+ var doesOverflow = function doesOverflow() {
40
+ if (!wrapperRef) return;
41
+ var clientWidth = wrapperRef.clientWidth,
42
+ clientHeight = wrapperRef.clientHeight,
43
+ scrollWidth = wrapperRef.scrollWidth,
44
+ scrollHeight = wrapperRef.scrollHeight;
45
+ var doesOverflow = scrollHeight > clientHeight || scrollWidth > clientWidth;
46
+ setTabIndex(doesOverflow ? 0 : -1);
47
+ };
48
+
49
+ useMutationObserver(wrapperRef, doesOverflow, {
50
+ subtree: true,
51
+ childList: true
52
+ });
53
+ useEffect(doesOverflow, [width, height, wrapperRef]);
54
+ var overflowHeightStyles = useMemo(function () {
55
+ if (overflowHeight) {
56
+ var property = typeof overflowHeight === 'string' ? 'blockSize' : 'maxBlockSize';
57
+ return _defineProperty({}, property, overflowHeight);
58
+ }
59
+
60
+ return {};
61
+ }, [overflowHeight]);
62
+ return {
63
+ setWrapperRef: setWrapperRef,
64
+ tabIndex: tabIndex,
65
+ overflowHeightStyles: overflowHeightStyles
66
+ };
67
+ };
@@ -0,0 +1,59 @@
1
+ import _extends from "@babel/runtime/helpers/extends";
2
+
3
+ /*
4
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
5
+ * or more contributor license agreements. Licensed under the Elastic License
6
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
7
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
8
+ * Side Public License, v 1.
9
+ */
10
+ import React, { forwardRef, useMemo } from 'react';
11
+ import { FixedSizeList } from 'react-window';
12
+ import { EuiAutoSizer } from '../auto_sizer';
13
+ import { nodeToHtml } from './utils';
14
+ import { jsx as ___EmotionJSX } from "@emotion/react";
15
+ export var EuiCodeBlockVirtualized = function EuiCodeBlockVirtualized(_ref) {
16
+ var data = _ref.data,
17
+ rowHeight = _ref.rowHeight,
18
+ overflowHeight = _ref.overflowHeight,
19
+ preProps = _ref.preProps,
20
+ codeProps = _ref.codeProps;
21
+ var VirtualizedOuterElement = useMemo(function () {
22
+ return /*#__PURE__*/forwardRef(function (props, ref) {
23
+ return ___EmotionJSX("pre", _extends({}, props, {
24
+ ref: ref
25
+ }, preProps));
26
+ });
27
+ }, [preProps]);
28
+ var VirtualizedInnerElement = useMemo(function () {
29
+ return /*#__PURE__*/forwardRef(function (props, ref) {
30
+ return ___EmotionJSX("code", _extends({}, props, {
31
+ ref: ref
32
+ }, codeProps));
33
+ });
34
+ }, [codeProps]);
35
+ return ___EmotionJSX(EuiAutoSizer, {
36
+ disableHeight: typeof overflowHeight === 'number'
37
+ }, function (_ref2) {
38
+ var height = _ref2.height,
39
+ width = _ref2.width;
40
+ return ___EmotionJSX(FixedSizeList, {
41
+ height: height !== null && height !== void 0 ? height : overflowHeight,
42
+ width: width,
43
+ itemData: data,
44
+ itemSize: rowHeight,
45
+ itemCount: data.length,
46
+ outerElementType: VirtualizedOuterElement,
47
+ innerElementType: VirtualizedInnerElement
48
+ }, ListRow);
49
+ });
50
+ };
51
+
52
+ var ListRow = function ListRow(_ref3) {
53
+ var data = _ref3.data,
54
+ index = _ref3.index,
55
+ style = _ref3.style;
56
+ var row = data[index];
57
+ row.properties.style = style;
58
+ return nodeToHtml(row, index, data, 0);
59
+ };
@@ -0,0 +1,43 @@
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 { makeHighContrastColor, euiPaletteColorBlind } from '../../services';
9
+ var visColors = euiPaletteColorBlind();
10
+ export var euiCodeSyntaxColors = function euiCodeSyntaxColors(euiThemeContext) {
11
+ var euiTheme = euiThemeContext.euiTheme;
12
+ var backgroundColor = euiTheme.colors.lightestShade;
13
+ return {
14
+ backgroundColor: backgroundColor,
15
+ color: makeHighContrastColor(euiTheme.colors.text)(backgroundColor),
16
+ inlineCodeColor: makeHighContrastColor(visColors[3])(backgroundColor),
17
+ selectedBackgroundColor: 'inherit',
18
+ commentColor: makeHighContrastColor(euiTheme.colors.subduedText)(backgroundColor),
19
+ selectorTagColor: 'inherit',
20
+ stringColor: makeHighContrastColor(visColors[2])(backgroundColor),
21
+ tagColor: makeHighContrastColor(visColors[1])(backgroundColor),
22
+ nameColor: makeHighContrastColor(visColors[1])(backgroundColor),
23
+ numberColor: makeHighContrastColor(visColors[0])(backgroundColor),
24
+ keywordColor: makeHighContrastColor(visColors[3])(backgroundColor),
25
+ functionTitleColor: 'inherit',
26
+ typeColor: makeHighContrastColor(visColors[1])(backgroundColor),
27
+ attributeColor: 'inherit',
28
+ symbolColor: makeHighContrastColor(visColors[9])(backgroundColor),
29
+ paramsColor: 'inherit',
30
+ metaColor: makeHighContrastColor(euiTheme.colors.subduedText)(backgroundColor),
31
+ titleColor: makeHighContrastColor(visColors[7])(backgroundColor),
32
+ sectionColor: makeHighContrastColor(visColors[9])(backgroundColor),
33
+ additionColor: makeHighContrastColor(visColors[0])(backgroundColor),
34
+ deletionColor: makeHighContrastColor(euiTheme.colors.danger)(backgroundColor),
35
+ selectorClassColor: 'inherit',
36
+ selectorIdColor: 'inherit'
37
+ };
38
+ };
39
+ export var euiCodeSyntaxTokens = function euiCodeSyntaxTokens(euiThemeContext) {
40
+ var euiTheme = euiThemeContext.euiTheme;
41
+ var euiCodeBlock = euiCodeSyntaxColors(euiThemeContext);
42
+ return "\n .token.punctuation:not(.interpolation-punctuation):not([class*='attr-']) {\n opacity: .7;\n }\n \n .token.comment,\n .token.prolog,\n .token.doctype,\n .token.cdata,\n .token.coord,\n .token.blockquote {\n color: ".concat(euiCodeBlock.commentColor, ";\n font-style: italic;\n }\n \n .token.selector {\n color: ").concat(euiCodeBlock.selectorTagColor, ";\n }\n \n .token.string,\n .token.interpolation,\n .token.interpolation-punctuation,\n .token.doc-comment .token.keyword,\n .token.attr-value,\n .token.url .token.content {\n color: ").concat(euiCodeBlock.stringColor, ";\n }\n \n .token.number,\n .token.boolean,\n .token.keyword.nil,\n .token.regex,\n .token.variable,\n .token.unit,\n .token.hexcode,\n .token.attr-name,\n .token.attr-equals {\n color: ").concat(euiCodeBlock.numberColor, ";\n }\n \n .token.atrule .token.rule,\n .token.keyword {\n color: ").concat(euiCodeBlock.keywordColor, ";\n }\n \n .token.function {\n color: ").concat(euiCodeBlock.functionTitleColor, ";\n }\n \n .token.tag {\n color: ").concat(euiCodeBlock.tagColor, ";\n }\n \n .token.class-name {\n color: ").concat(euiCodeBlock.typeColor, ";\n }\n \n .token.property {\n color: ").concat(euiCodeBlock.attributeColor, ";\n }\n \n .token.console,\n .token.list-punctuation,\n .token.url-reference,\n .token.url .token.url {\n color: ").concat(euiCodeBlock.symbolColor, ";\n }\n \n .token.paramater {\n color: ").concat(euiCodeBlock.paramsColor, ";\n }\n \n .token.meta,\n .token.important {\n color: ").concat(euiCodeBlock.metaColor, ";\n }\n \n .token.title {\n color: ").concat(euiCodeBlock.titleColor, ";\n }\n \n .token.section {\n color: ").concat(euiCodeBlock.sectionColor, ";\n }\n \n .token.prefix.inserted,\n .token.prefix.deleted {\n padding-inline-start: -").concat(euiTheme.size.xs, ";\n margin-inline-start: -").concat(euiTheme.size.xs, ";\n }\n \n .token.prefix.inserted {\n box-shadow: -").concat(euiTheme.size.xs, " 0 ").concat(euiCodeBlock.additionColor, ";\n color: ").concat(euiCodeBlock.additionColor, ";\n }\n \n .token.prefix.deleted {\n box-shadow: -").concat(euiTheme.size.xs, " 0 ").concat(euiCodeBlock.deletionColor, ";\n color: ").concat(euiCodeBlock.deletionColor, ";\n }\n \n .token.selector .token.class {\n color: ").concat(euiCodeBlock.selectorClassColor, ";\n }\n \n .token.selector .token.id {\n color: ").concat(euiCodeBlock.selectorIdColor, ";\n }\n \n .token.italic {\n font-style: italic;\n }\n \n .token.important,\n .token.bold {\n font-weight: $euiCodeFontWeightBold;\n }\n \n .token.url-reference,\n .token.url .token.url {\n text-decoration: underline;\n }\n \n .token.entity {\n cursor: help;\n }\n ");
43
+ };
@@ -13,7 +13,12 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
13
13
  */
14
14
  import React, { createElement } from 'react';
15
15
  import { listLanguages, highlight } from 'refractor';
16
- import classNames from 'classnames';
16
+ import { cx } from '@emotion/css';
17
+ import { euiCodeBlockLineStyles } from './code_block_line.styles';
18
+ /**
19
+ * Utils shared between EuiCode and EuiCodeBlock
20
+ */
21
+
17
22
  import { jsx as ___EmotionJSX } from "@emotion/react";
18
23
  export var SUPPORTED_LANGUAGES = listLanguages();
19
24
  export var DEFAULT_LANGUAGE = 'text';
@@ -40,7 +45,7 @@ export var nodeToHtml = function nodeToHtml(node, idx, nodes) {
40
45
  children = node.children;
41
46
  return /*#__PURE__*/createElement(tagName, _objectSpread(_objectSpread({}, properties), {}, {
42
47
  key: key,
43
- className: classNames(properties.className)
48
+ className: cx(properties.className)
44
49
  }), children && children.map(function (el, i) {
45
50
  return nodeToHtml(el, i, nodes, depth + 1);
46
51
  }));
@@ -55,8 +60,7 @@ export var nodeToHtml = function nodeToHtml(node, idx, nodes) {
55
60
  */
56
61
 
57
62
  // Approximate width of a single digit/character
58
- var CHAR_SIZE = 8;
59
- var $euiSizeS = 8; // Creates an array of numbers from comma-separeated
63
+ var CHAR_SIZE = 8; // Creates an array of numbers from comma-separeated
60
64
  // string of numbers or number ranges using `-`
61
65
  // (e.g., "1, 3-10, 15")
62
66
 
@@ -129,8 +133,7 @@ var addLineData = function addLineData(nodes, data) {
129
133
  }, []);
130
134
  };
131
135
 
132
- function wrapLines(nodes, options) {
133
- var highlights = options.highlight ? parseLineRanges(options.highlight) : [];
136
+ function wrapLines(nodes, options, euiTheme) {
134
137
  var grouped = [];
135
138
  nodes.forEach(function (node) {
136
139
  var lineStart = node.lineStart - 1;
@@ -142,41 +145,44 @@ function wrapLines(nodes, options) {
142
145
  }
143
146
  });
144
147
  var wrapped = [];
145
- var digits = grouped.length.toString().length;
146
- var width = digits * CHAR_SIZE;
147
148
  grouped.forEach(function (node, i) {
148
- var _properties;
149
-
150
- var lineNumber = i + 1;
151
- var classes = classNames('euiCodeBlock__line', {
152
- 'euiCodeBlock__line--isHighlighted': highlights.includes(lineNumber)
153
- });
154
- var children = options.showLineNumbers ? [{
155
- type: 'element',
156
- tagName: 'span',
157
- properties: (_properties = {
158
- style: {
159
- width: width
160
- }
161
- }, _defineProperty(_properties, 'data-line-number', lineNumber), _defineProperty(_properties, 'aria-hidden', true), _defineProperty(_properties, "className", ['euiCodeBlock__lineNumber']), _properties),
162
- children: []
163
- }, {
164
- type: 'element',
165
- tagName: 'span',
166
- properties: {
167
- style: {
168
- marginLeft: width + $euiSizeS,
169
- width: "calc(100% - ".concat(width, "px)")
149
+ var children = node;
150
+ var styles = euiCodeBlockLineStyles(euiTheme);
151
+ var lineStyles = cx([styles.euiCodeBlock__line, options.showLineNumbers && styles.hasLineNumbers]);
152
+
153
+ if (options.showLineNumbers) {
154
+ var _properties;
155
+
156
+ var lineNumber = i + 1;
157
+ var digits = grouped.length.toString().length;
158
+ var width = digits * CHAR_SIZE;
159
+ var highlights = options.highlight ? parseLineRanges(options.highlight) : [];
160
+ var lineTextStyles = cx([styles.lineText.euiCodeBlock__lineText, highlights.includes(lineNumber) && styles.lineText.isHighlighted]);
161
+ var lineNumberStyles = cx(styles.lineNumber.euiCodeBlock__lineNumber);
162
+ children = [{
163
+ type: 'element',
164
+ tagName: 'span',
165
+ properties: (_properties = {
166
+ style: {
167
+ inlineSize: width
168
+ }
169
+ }, _defineProperty(_properties, 'data-line-number', lineNumber), _defineProperty(_properties, 'aria-hidden', true), _defineProperty(_properties, "className", ['euiCodeBlock__lineNumber', lineNumberStyles]), _properties),
170
+ children: []
171
+ }, {
172
+ type: 'element',
173
+ tagName: 'span',
174
+ properties: {
175
+ className: ['euiCodeBlock__lineText', lineTextStyles]
170
176
  },
171
- className: ['euiCodeBlock__lineText']
172
- },
173
- children: node
174
- }] : node;
177
+ children: node
178
+ }];
179
+ }
180
+
175
181
  wrapped.push({
176
182
  type: 'element',
177
183
  tagName: 'span',
178
184
  properties: {
179
- className: [classes]
185
+ className: ['euiCodeBlock__line', lineStyles]
180
186
  },
181
187
  children: children
182
188
  });
@@ -184,11 +190,11 @@ function wrapLines(nodes, options) {
184
190
  return wrapped;
185
191
  }
186
192
 
187
- export var highlightByLine = function highlightByLine(children, language, data) {
193
+ export var highlightByLine = function highlightByLine(children, language, data, euiTheme) {
188
194
  return wrapLines(addLineData(highlight(children, language), {
189
195
  lineNumber: data.start
190
196
  }), {
191
197
  showLineNumbers: data.show,
192
198
  highlight: data.highlight
193
- });
199
+ }, euiTheme);
194
200
  };
@@ -7,7 +7,7 @@ import _inherits from "@babel/runtime/helpers/inherits";
7
7
  import _possibleConstructorReturn from "@babel/runtime/helpers/possibleConstructorReturn";
8
8
  import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf";
9
9
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
10
- var _excluded = ["data-test-subj", "async", "className", "compressed", "customOptionText", "fullWidth", "id", "inputRef", "isClearable", "isDisabled", "isInvalid", "isLoading", "noSuggestions", "onBlur", "onChange", "onCreateOption", "onSearchChange", "options", "placeholder", "renderOption", "rowHeight", "selectedOptions", "singleSelection", "prepend", "sortMatchesBy", "delimiter", "append", "autoFocus", "aria-label", "aria-labelledby"];
10
+ var _excluded = ["data-test-subj", "async", "className", "compressed", "customOptionText", "fullWidth", "id", "inputRef", "isCaseSensitive", "isClearable", "isDisabled", "isInvalid", "isLoading", "noSuggestions", "onBlur", "onChange", "onCreateOption", "onSearchChange", "options", "placeholder", "renderOption", "rowHeight", "selectedOptions", "singleSelection", "prepend", "sortMatchesBy", "delimiter", "append", "autoFocus", "aria-label", "aria-labelledby"];
11
11
 
12
12
  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; }
13
13
 
@@ -35,7 +35,7 @@ import { findPopoverPosition, htmlIdGenerator, keys } from '../../services';
35
35
  import { EuiPortal } from '../portal';
36
36
  import { EuiI18n } from '../i18n';
37
37
  import { EuiComboBoxOptionsList } from './combo_box_options_list';
38
- import { getMatchingOptions, flattenOptionGroups, getSelectedOptionForSearchValue } from './matching_options';
38
+ import { getMatchingOptions, flattenOptionGroups, getSelectedOptionForSearchValue, transformForCaseSensitivity } from './matching_options';
39
39
  import { EuiComboBoxInput } from './combo_box_input/combo_box_input';
40
40
  import { getElementZIndex } from '../../services/popover';
41
41
  import { jsx as ___EmotionJSX } from "@emotion/react";
@@ -63,7 +63,15 @@ export var EuiComboBox = /*#__PURE__*/function (_Component) {
63
63
  listElement: null,
64
64
  listPosition: 'bottom',
65
65
  listZIndex: undefined,
66
- matchingOptions: getMatchingOptions(_this.props.options, _this.props.selectedOptions, initialSearchValue, _this.props.async, Boolean(_this.props.singleSelection), _this.props.sortMatchesBy),
66
+ matchingOptions: getMatchingOptions({
67
+ options: _this.props.options,
68
+ selectedOptions: _this.props.selectedOptions,
69
+ searchValue: initialSearchValue,
70
+ isCaseSensitive: _this.props.isCaseSensitive,
71
+ isPreFiltered: _this.props.async,
72
+ showPrevSelected: Boolean(_this.props.singleSelection),
73
+ sortMatchesBy: _this.props.sortMatchesBy
74
+ }),
67
75
  searchValue: initialSearchValue,
68
76
  width: 0
69
77
  });
@@ -282,6 +290,7 @@ export var EuiComboBox = /*#__PURE__*/function (_Component) {
282
290
 
283
291
  _defineProperty(_assertThisInitialized(_this), "addCustomOption", function (isContainerBlur, searchValue) {
284
292
  var _this$props = _this.props,
293
+ isCaseSensitive = _this$props.isCaseSensitive,
285
294
  onCreateOption = _this$props.onCreateOption,
286
295
  options = _this$props.options,
287
296
  selectedOptions = _this$props.selectedOptions,
@@ -304,7 +313,11 @@ export var EuiComboBox = /*#__PURE__*/function (_Component) {
304
313
  } // Don't create the value if it's already been selected.
305
314
 
306
315
 
307
- if (getSelectedOptionForSearchValue(searchValue, selectedOptions)) {
316
+ if (getSelectedOptionForSearchValue({
317
+ isCaseSensitive: isCaseSensitive,
318
+ searchValue: searchValue,
319
+ selectedOptions: selectedOptions
320
+ })) {
308
321
  return;
309
322
  } // Add new custom pill if this is custom input, even if it partially matches an option.
310
323
 
@@ -330,14 +343,17 @@ export var EuiComboBox = /*#__PURE__*/function (_Component) {
330
343
  return false;
331
344
  }
332
345
 
333
- return _this.state.matchingOptions[0].label.toLowerCase() === searchValue.toLowerCase();
346
+ var normalizedSearchSubject = transformForCaseSensitivity(_this.state.matchingOptions[0].label, _this.props.isCaseSensitive);
347
+ var normalizedSearchValue = transformForCaseSensitivity(searchValue, _this.props.isCaseSensitive);
348
+ return normalizedSearchSubject === normalizedSearchValue;
334
349
  });
335
350
 
336
351
  _defineProperty(_assertThisInitialized(_this), "areAllOptionsSelected", function () {
337
352
  var _this$props2 = _this.props,
338
353
  options = _this$props2.options,
339
354
  selectedOptions = _this$props2.selectedOptions,
340
- async = _this$props2.async; // Assume if this is async then there could be infinite options.
355
+ async = _this$props2.async,
356
+ isCaseSensitive = _this$props2.isCaseSensitive; // Assume if this is async then there could be infinite options.
341
357
 
342
358
  if (async) {
343
359
  return false;
@@ -345,13 +361,13 @@ export var EuiComboBox = /*#__PURE__*/function (_Component) {
345
361
 
346
362
  var flattenOptions = flattenOptionGroups(options).map(function (option) {
347
363
  return _objectSpread(_objectSpread({}, option), {}, {
348
- label: option.label.trim().toLowerCase()
364
+ label: transformForCaseSensitivity(option.label.trim(), isCaseSensitive)
349
365
  });
350
366
  });
351
367
  var numberOfSelectedOptions = 0;
352
368
  selectedOptions.forEach(function (_ref3) {
353
369
  var label = _ref3.label;
354
- var trimmedLabel = label.trim().toLowerCase();
370
+ var trimmedLabel = transformForCaseSensitivity(label.trim(), isCaseSensitive);
355
371
  if (flattenOptions.findIndex(function (option) {
356
372
  return option.label === trimmedLabel;
357
373
  }) !== -1) numberOfSelectedOptions += 1;
@@ -706,7 +722,15 @@ export var EuiComboBox = /*#__PURE__*/function (_Component) {
706
722
  // isn't called after a state change, and we track `searchValue` in state
707
723
  // instead we need to react to a change in searchValue here
708
724
 
709
- this.updateMatchingOptionsIfDifferent(getMatchingOptions(options, selectedOptions, searchValue, this.props.async, Boolean(singleSelection), sortMatchesBy));
725
+ this.updateMatchingOptionsIfDifferent(getMatchingOptions({
726
+ options: options,
727
+ selectedOptions: selectedOptions,
728
+ searchValue: searchValue,
729
+ isCaseSensitive: this.props.isCaseSensitive,
730
+ isPreFiltered: this.props.async,
731
+ showPrevSelected: Boolean(singleSelection),
732
+ sortMatchesBy: sortMatchesBy
733
+ }));
710
734
  }
711
735
  }, {
712
736
  key: "componentWillUnmount",
@@ -727,6 +751,7 @@ export var EuiComboBox = /*#__PURE__*/function (_Component) {
727
751
  fullWidth = _this$props8.fullWidth,
728
752
  id = _this$props8.id,
729
753
  inputRef = _this$props8.inputRef,
754
+ isCaseSensitive = _this$props8.isCaseSensitive,
730
755
  isClearable = _this$props8.isClearable,
731
756
  isDisabled = _this$props8.isDisabled,
732
757
  isInvalid = _this$props8.isInvalid,
@@ -792,6 +817,7 @@ export var EuiComboBox = /*#__PURE__*/function (_Component) {
792
817
  customOptionText: customOptionText,
793
818
  "data-test-subj": optionsListDataTestSubj,
794
819
  fullWidth: fullWidth,
820
+ isCaseSensitive: isCaseSensitive,
795
821
  isLoading: isLoading,
796
822
  listRef: _this3.listRefCallback,
797
823
  matchingOptions: matchingOptions,
@@ -871,7 +897,9 @@ export var EuiComboBox = /*#__PURE__*/function (_Component) {
871
897
  }], [{
872
898
  key: "getDerivedStateFromProps",
873
899
  value: function getDerivedStateFromProps(nextProps, prevState) {
874
- var options = nextProps.options,
900
+ var async = nextProps.async,
901
+ isCaseSensitive = nextProps.isCaseSensitive,
902
+ options = nextProps.options,
875
903
  selectedOptions = nextProps.selectedOptions,
876
904
  singleSelection = nextProps.singleSelection,
877
905
  sortMatchesBy = nextProps.sortMatchesBy;
@@ -879,7 +907,15 @@ export var EuiComboBox = /*#__PURE__*/function (_Component) {
879
907
  searchValue = prevState.searchValue; // Calculate and cache the options which match the searchValue, because we use this information
880
908
  // in multiple places and it would be expensive to calculate repeatedly.
881
909
 
882
- var matchingOptions = getMatchingOptions(options, selectedOptions, searchValue, nextProps.async, Boolean(singleSelection), sortMatchesBy);
910
+ var matchingOptions = getMatchingOptions({
911
+ options: options,
912
+ selectedOptions: selectedOptions,
913
+ searchValue: searchValue,
914
+ isCaseSensitive: isCaseSensitive,
915
+ isPreFiltered: async,
916
+ showPrevSelected: Boolean(singleSelection),
917
+ sortMatchesBy: sortMatchesBy
918
+ });
883
919
  var stateUpdate = {
884
920
  matchingOptions: matchingOptions
885
921
  };