@elastic/eui 114.3.0 → 116.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 (387) hide show
  1. package/es/components/basic_table/basic_table.js +3 -6
  2. package/es/components/basic_table/collapsed_item_actions.js +1 -3
  3. package/es/components/basic_table/default_item_action.js +0 -1
  4. package/es/components/basic_table/in_memory_table.js +3 -6
  5. package/es/components/collapsible_nav_beta/_kibana_solution/collapsible_nav_kibana_solution.js +14 -11
  6. package/es/components/color_picker/color_palette_picker/color_palette_picker.js +0 -1
  7. package/es/components/color_picker/color_picker_swatch.js +1 -2
  8. package/es/components/combo_box/combo_box.a11y.js +5 -5
  9. package/es/components/combo_box/combo_box.js +61 -53
  10. package/es/components/combo_box/combo_box_options_list/combo_box_options_list.js +147 -84
  11. package/es/components/combo_box/combo_box_options_list/combo_box_options_list.styles.js +8 -7
  12. package/es/components/context_menu/context_menu.js +19 -21
  13. package/es/components/context_menu/context_menu.styles.js +5 -2
  14. package/es/components/context_menu/context_menu_item.js +69 -58
  15. package/es/components/context_menu/context_menu_item.styles.js +14 -28
  16. package/es/components/context_menu/context_menu_panel.js +37 -21
  17. package/es/components/context_menu/context_menu_panel.styles.js +7 -2
  18. package/es/components/context_menu/context_menu_panel_title.js +124 -0
  19. package/es/components/context_menu/context_menu_panel_title.styles.js +20 -0
  20. package/es/components/context_menu/index.js +2 -1
  21. package/es/components/datagrid/body/cell/data_grid_cell.js +35 -29
  22. package/es/components/datagrid/body/data_grid_body.js +23 -17
  23. package/es/components/datagrid/body/data_grid_body_custom.js +23 -17
  24. package/es/components/datagrid/body/data_grid_body_virtualized.js +23 -17
  25. package/es/components/datagrid/body/header/column_actions.js +1 -2
  26. package/es/components/datagrid/body/header/data_grid_header_cell.js +23 -17
  27. package/es/components/datagrid/controls/column_sorting.js +23 -17
  28. package/es/components/datagrid/controls/display_selector.js +1 -2
  29. package/es/components/datagrid/controls/fullscreen_selector.js +1 -2
  30. package/es/components/datagrid/controls/keyboard_shortcuts.js +1 -2
  31. package/es/components/datagrid/utils/in_memory.js +23 -17
  32. package/es/components/filter_group/filter_group.a11y.js +8 -2
  33. package/es/components/filter_group/filter_select_item.js +36 -17
  34. package/es/components/flyout/flyout_menu.js +1 -4
  35. package/es/components/form/checkbox/checkbox.js +6 -6
  36. package/es/components/form/checkbox/checkbox.styles.js +1 -22
  37. package/es/components/form/checkbox/checkbox_control.js +78 -0
  38. package/es/components/form/checkbox/checkbox_control.styles.js +40 -0
  39. package/es/components/form/checkbox/index.js +1 -0
  40. package/es/components/form/form.styles.js +2 -1
  41. package/es/components/form/radio/radio.styles.js +1 -1
  42. package/es/components/form/super_select/super_select.js +118 -99
  43. package/es/components/form/super_select/super_select.styles.js +4 -8
  44. package/es/components/form/super_select/super_select_item.js +10 -18
  45. package/es/components/key_pad_menu/key_pad_menu_item.js +1 -2
  46. package/es/components/link/external_link_icon.js +4 -2
  47. package/es/components/list_group/list_group.js +20 -34
  48. package/es/components/list_group/list_group.styles.js +2 -16
  49. package/es/components/list_group/list_group_item.js +75 -87
  50. package/es/components/list_group/list_group_item.styles.js +17 -61
  51. package/es/components/list_group/list_group_item_extra_action.styles.js +6 -6
  52. package/es/components/list_group/pinnable_list_group/pinnable_list_group.js +16 -28
  53. package/es/components/list_item_layout/_list_item_layout.js +692 -0
  54. package/es/components/list_item_layout/_list_item_layout.styles.js +93 -0
  55. package/es/components/list_item_layout/index.js +9 -0
  56. package/es/components/markdown_editor/markdown_editor.js +1 -1
  57. package/es/components/markdown_editor/markdown_editor_drop_zone.js +6 -3
  58. package/es/components/markdown_editor/markdown_editor_footer.js +1 -1
  59. package/es/components/markdown_editor/markdown_editor_toolbar.js +14 -10
  60. package/es/components/portal/portal.js +72 -117
  61. package/es/components/search_bar/filters/field_value_selection_filter.js +2 -1
  62. package/es/components/search_bar/filters/field_value_toggle_group_filter.js +42 -91
  63. package/es/components/selectable/selectable.js +1 -0
  64. package/es/components/selectable/selectable_list/selectable_list.js +52 -36
  65. package/es/components/selectable/selectable_list/selectable_list.styles.js +19 -4
  66. package/es/components/selectable/selectable_list/selectable_list_item.js +45 -152
  67. package/es/components/selectable/selectable_list/utils/get_list_item_size.js +17 -0
  68. package/es/components/selectable/selectable_search/selectable_search.js +4 -1
  69. package/es/components/selectable/selectable_templates/selectable_template_sitewide.js +1 -1
  70. package/es/components/selectable/selectable_templates/selectable_template_sitewide.styles.js +2 -12
  71. package/es/components/selectable/selectable_templates/selectable_template_sitewide_option.js +1 -1
  72. package/es/components/selectable/selectable_templates/selectable_template_sitewide_popover.js +1 -1
  73. package/es/components/table/table_header_cell.js +1 -2
  74. package/es/components/tool_tip/icon_tip.js +4 -8
  75. package/es/components/tool_tip/tool_tip.js +233 -261
  76. package/es/components/tool_tip/tool_tip.styles.js +10 -18
  77. package/es/components/tool_tip/tool_tip_anchor.js +3 -3
  78. package/es/components/tool_tip/tool_tip_manager.js +1 -0
  79. package/es/components/tool_tip/tool_tip_popover.js +7 -7
  80. package/es/global_styling/mixins/_helpers.js +32 -11
  81. package/es/test/rtl/component_helpers.d.ts +0 -3
  82. package/es/test/rtl/component_helpers.js +40 -62
  83. package/eui.d.ts +10463 -8188
  84. package/i18ntokens.json +2607 -2589
  85. package/lib/components/basic_table/basic_table.js +3 -6
  86. package/lib/components/basic_table/collapsed_item_actions.js +1 -3
  87. package/lib/components/basic_table/default_item_action.js +0 -1
  88. package/lib/components/basic_table/in_memory_table.js +3 -6
  89. package/lib/components/collapsible_nav_beta/_kibana_solution/collapsible_nav_kibana_solution.js +14 -11
  90. package/lib/components/color_picker/color_palette_picker/color_palette_picker.js +0 -1
  91. package/lib/components/color_picker/color_picker_swatch.js +1 -2
  92. package/lib/components/combo_box/combo_box.a11y.js +5 -5
  93. package/lib/components/combo_box/combo_box.js +61 -53
  94. package/lib/components/combo_box/combo_box_options_list/combo_box_options_list.js +145 -82
  95. package/lib/components/combo_box/combo_box_options_list/combo_box_options_list.styles.js +7 -6
  96. package/lib/components/context_menu/context_menu.js +20 -22
  97. package/lib/components/context_menu/context_menu.styles.js +4 -1
  98. package/lib/components/context_menu/context_menu_item.js +70 -59
  99. package/lib/components/context_menu/context_menu_item.styles.js +13 -27
  100. package/lib/components/context_menu/context_menu_panel.js +37 -21
  101. package/lib/components/context_menu/context_menu_panel.styles.js +7 -2
  102. package/lib/components/context_menu/context_menu_panel_title.js +130 -0
  103. package/lib/components/context_menu/context_menu_panel_title.styles.js +26 -0
  104. package/lib/components/context_menu/index.js +8 -1
  105. package/lib/components/datagrid/body/cell/data_grid_cell.js +35 -29
  106. package/lib/components/datagrid/body/data_grid_body.js +23 -17
  107. package/lib/components/datagrid/body/data_grid_body_custom.js +23 -17
  108. package/lib/components/datagrid/body/data_grid_body_virtualized.js +23 -17
  109. package/lib/components/datagrid/body/header/column_actions.js +1 -2
  110. package/lib/components/datagrid/body/header/data_grid_header_cell.js +23 -17
  111. package/lib/components/datagrid/controls/column_sorting.js +23 -17
  112. package/lib/components/datagrid/controls/display_selector.js +1 -2
  113. package/lib/components/datagrid/controls/fullscreen_selector.js +1 -2
  114. package/lib/components/datagrid/controls/keyboard_shortcuts.js +1 -2
  115. package/lib/components/datagrid/utils/in_memory.js +23 -17
  116. package/lib/components/filter_group/filter_group.a11y.js +8 -2
  117. package/lib/components/filter_group/filter_select_item.js +35 -16
  118. package/lib/components/flyout/flyout_menu.js +1 -4
  119. package/lib/components/form/checkbox/checkbox.js +6 -6
  120. package/lib/components/form/checkbox/checkbox.styles.js +1 -22
  121. package/lib/components/form/checkbox/checkbox_control.js +84 -0
  122. package/lib/components/form/checkbox/checkbox_control.styles.js +44 -0
  123. package/lib/components/form/checkbox/index.js +7 -0
  124. package/lib/components/form/form.styles.js +2 -1
  125. package/lib/components/form/radio/radio.styles.js +1 -1
  126. package/lib/components/form/super_select/super_select.js +116 -97
  127. package/lib/components/form/super_select/super_select.styles.js +4 -8
  128. package/lib/components/form/super_select/super_select_item.js +13 -18
  129. package/lib/components/key_pad_menu/key_pad_menu_item.js +1 -2
  130. package/lib/components/link/external_link_icon.js +4 -2
  131. package/lib/components/list_group/list_group.js +21 -35
  132. package/lib/components/list_group/list_group.styles.js +2 -16
  133. package/lib/components/list_group/list_group_item.js +75 -87
  134. package/lib/components/list_group/list_group_item.styles.js +17 -61
  135. package/lib/components/list_group/list_group_item_extra_action.styles.js +5 -5
  136. package/lib/components/list_group/pinnable_list_group/pinnable_list_group.js +16 -28
  137. package/lib/components/list_item_layout/_list_item_layout.js +699 -0
  138. package/lib/components/list_item_layout/_list_item_layout.styles.js +97 -0
  139. package/lib/components/list_item_layout/index.js +12 -0
  140. package/lib/components/markdown_editor/markdown_editor.js +1 -1
  141. package/lib/components/markdown_editor/markdown_editor_drop_zone.js +6 -3
  142. package/lib/components/markdown_editor/markdown_editor_footer.js +1 -1
  143. package/lib/components/markdown_editor/markdown_editor_toolbar.js +12 -10
  144. package/lib/components/portal/portal.js +73 -118
  145. package/lib/components/search_bar/filters/field_value_selection_filter.js +2 -1
  146. package/lib/components/search_bar/filters/field_value_toggle_group_filter.js +44 -93
  147. package/lib/components/selectable/selectable.js +1 -0
  148. package/lib/components/selectable/selectable_list/selectable_list.js +50 -34
  149. package/lib/components/selectable/selectable_list/selectable_list.styles.js +20 -5
  150. package/lib/components/selectable/selectable_list/selectable_list_item.js +44 -152
  151. package/lib/components/selectable/selectable_list/utils/get_list_item_size.js +23 -0
  152. package/lib/components/selectable/selectable_search/selectable_search.js +4 -1
  153. package/lib/components/selectable/selectable_templates/selectable_template_sitewide.js +1 -1
  154. package/lib/components/selectable/selectable_templates/selectable_template_sitewide.styles.js +2 -12
  155. package/lib/components/selectable/selectable_templates/selectable_template_sitewide_option.js +1 -1
  156. package/lib/components/selectable/selectable_templates/selectable_template_sitewide_popover.js +1 -1
  157. package/lib/components/table/table_header_cell.js +1 -2
  158. package/lib/components/tool_tip/icon_tip.js +4 -8
  159. package/lib/components/tool_tip/tool_tip.js +240 -266
  160. package/lib/components/tool_tip/tool_tip.styles.js +8 -16
  161. package/lib/components/tool_tip/tool_tip_anchor.js +2 -2
  162. package/lib/components/tool_tip/tool_tip_manager.js +1 -0
  163. package/lib/components/tool_tip/tool_tip_popover.js +6 -6
  164. package/lib/global_styling/mixins/_helpers.js +33 -12
  165. package/lib/test/rtl/component_helpers.d.ts +0 -3
  166. package/lib/test/rtl/component_helpers.js +41 -63
  167. package/optimize/es/components/basic_table/collapsed_item_actions.js +1 -3
  168. package/optimize/es/components/basic_table/default_item_action.js +0 -1
  169. package/optimize/es/components/collapsible_nav_beta/_kibana_solution/collapsible_nav_kibana_solution.js +1 -4
  170. package/optimize/es/components/color_picker/color_palette_picker/color_palette_picker.js +0 -1
  171. package/optimize/es/components/combo_box/combo_box.a11y.js +5 -5
  172. package/optimize/es/components/combo_box/combo_box.js +60 -52
  173. package/optimize/es/components/combo_box/combo_box_options_list/combo_box_options_list.js +145 -83
  174. package/optimize/es/components/combo_box/combo_box_options_list/combo_box_options_list.styles.js +8 -7
  175. package/optimize/es/components/context_menu/context_menu.js +18 -13
  176. package/optimize/es/components/context_menu/context_menu.styles.js +5 -2
  177. package/optimize/es/components/context_menu/context_menu_item.js +55 -53
  178. package/optimize/es/components/context_menu/context_menu_item.styles.js +14 -28
  179. package/optimize/es/components/context_menu/context_menu_panel.js +36 -17
  180. package/optimize/es/components/context_menu/context_menu_panel.styles.js +7 -2
  181. package/optimize/es/components/context_menu/context_menu_panel_title.js +53 -0
  182. package/optimize/es/components/context_menu/context_menu_panel_title.styles.js +20 -0
  183. package/optimize/es/components/context_menu/index.js +2 -1
  184. package/optimize/es/components/datagrid/body/header/column_actions.js +1 -2
  185. package/optimize/es/components/datagrid/controls/display_selector.js +1 -2
  186. package/optimize/es/components/datagrid/controls/fullscreen_selector.js +1 -2
  187. package/optimize/es/components/datagrid/controls/keyboard_shortcuts.js +1 -2
  188. package/optimize/es/components/filter_group/filter_group.a11y.js +8 -2
  189. package/optimize/es/components/filter_group/filter_select_item.js +36 -17
  190. package/optimize/es/components/flyout/flyout_menu.js +1 -4
  191. package/optimize/es/components/form/checkbox/checkbox.js +6 -6
  192. package/optimize/es/components/form/checkbox/checkbox.styles.js +1 -22
  193. package/optimize/es/components/form/checkbox/checkbox_control.js +48 -0
  194. package/optimize/es/components/form/checkbox/checkbox_control.styles.js +40 -0
  195. package/optimize/es/components/form/checkbox/index.js +1 -0
  196. package/optimize/es/components/form/form.styles.js +2 -1
  197. package/optimize/es/components/form/radio/radio.styles.js +1 -1
  198. package/optimize/es/components/form/super_select/super_select.js +118 -90
  199. package/optimize/es/components/form/super_select/super_select.styles.js +4 -8
  200. package/optimize/es/components/form/super_select/super_select_item.js +10 -14
  201. package/optimize/es/components/key_pad_menu/key_pad_menu_item.js +1 -2
  202. package/optimize/es/components/link/external_link_icon.js +4 -2
  203. package/optimize/es/components/list_group/list_group.js +7 -14
  204. package/optimize/es/components/list_group/list_group.styles.js +2 -16
  205. package/optimize/es/components/list_group/list_group_item.js +62 -80
  206. package/optimize/es/components/list_group/list_group_item.styles.js +17 -61
  207. package/optimize/es/components/list_group/list_group_item_extra_action.styles.js +6 -6
  208. package/optimize/es/components/list_item_layout/_list_item_layout.js +353 -0
  209. package/optimize/es/components/list_item_layout/_list_item_layout.styles.js +93 -0
  210. package/optimize/es/components/list_item_layout/index.js +9 -0
  211. package/optimize/es/components/markdown_editor/markdown_editor_drop_zone.js +5 -2
  212. package/optimize/es/components/markdown_editor/markdown_editor_toolbar.js +13 -9
  213. package/optimize/es/components/portal/portal.js +65 -91
  214. package/optimize/es/components/search_bar/filters/field_value_selection_filter.js +2 -1
  215. package/optimize/es/components/search_bar/filters/field_value_toggle_group_filter.js +43 -66
  216. package/optimize/es/components/selectable/selectable_list/selectable_list.js +48 -33
  217. package/optimize/es/components/selectable/selectable_list/selectable_list.styles.js +19 -4
  218. package/optimize/es/components/selectable/selectable_list/selectable_list_item.js +41 -143
  219. package/optimize/es/components/selectable/selectable_list/utils/get_list_item_size.js +17 -0
  220. package/optimize/es/components/selectable/selectable_search/selectable_search.js +4 -1
  221. package/optimize/es/components/selectable/selectable_templates/selectable_template_sitewide.js +1 -1
  222. package/optimize/es/components/selectable/selectable_templates/selectable_template_sitewide.styles.js +2 -12
  223. package/optimize/es/components/selectable/selectable_templates/selectable_template_sitewide_option.js +1 -1
  224. package/optimize/es/components/selectable/selectable_templates/selectable_template_sitewide_popover.js +1 -1
  225. package/optimize/es/components/tool_tip/icon_tip.js +3 -5
  226. package/optimize/es/components/tool_tip/tool_tip.js +227 -250
  227. package/optimize/es/components/tool_tip/tool_tip.styles.js +10 -18
  228. package/optimize/es/components/tool_tip/tool_tip_anchor.js +3 -3
  229. package/optimize/es/components/tool_tip/tool_tip_manager.js +1 -0
  230. package/optimize/es/components/tool_tip/tool_tip_popover.js +7 -7
  231. package/optimize/es/global_styling/mixins/_helpers.js +32 -11
  232. package/optimize/es/test/rtl/component_helpers.d.ts +0 -3
  233. package/optimize/es/test/rtl/component_helpers.js +40 -62
  234. package/optimize/lib/components/basic_table/collapsed_item_actions.js +1 -3
  235. package/optimize/lib/components/basic_table/default_item_action.js +0 -1
  236. package/optimize/lib/components/collapsible_nav_beta/_kibana_solution/collapsible_nav_kibana_solution.js +1 -4
  237. package/optimize/lib/components/color_picker/color_palette_picker/color_palette_picker.js +0 -1
  238. package/optimize/lib/components/combo_box/combo_box.a11y.js +5 -5
  239. package/optimize/lib/components/combo_box/combo_box.js +60 -52
  240. package/optimize/lib/components/combo_box/combo_box_options_list/combo_box_options_list.js +143 -81
  241. package/optimize/lib/components/combo_box/combo_box_options_list/combo_box_options_list.styles.js +7 -6
  242. package/optimize/lib/components/context_menu/context_menu.js +19 -14
  243. package/optimize/lib/components/context_menu/context_menu.styles.js +4 -1
  244. package/optimize/lib/components/context_menu/context_menu_item.js +56 -54
  245. package/optimize/lib/components/context_menu/context_menu_item.styles.js +13 -27
  246. package/optimize/lib/components/context_menu/context_menu_panel.js +36 -17
  247. package/optimize/lib/components/context_menu/context_menu_panel.styles.js +7 -2
  248. package/optimize/lib/components/context_menu/context_menu_panel_title.js +59 -0
  249. package/optimize/lib/components/context_menu/context_menu_panel_title.styles.js +26 -0
  250. package/optimize/lib/components/context_menu/index.js +8 -1
  251. package/optimize/lib/components/datagrid/body/header/column_actions.js +1 -2
  252. package/optimize/lib/components/datagrid/controls/display_selector.js +1 -2
  253. package/optimize/lib/components/datagrid/controls/fullscreen_selector.js +1 -2
  254. package/optimize/lib/components/datagrid/controls/keyboard_shortcuts.js +1 -2
  255. package/optimize/lib/components/filter_group/filter_group.a11y.js +8 -2
  256. package/optimize/lib/components/filter_group/filter_select_item.js +35 -16
  257. package/optimize/lib/components/flyout/flyout_menu.js +1 -4
  258. package/optimize/lib/components/form/checkbox/checkbox.js +6 -6
  259. package/optimize/lib/components/form/checkbox/checkbox.styles.js +1 -22
  260. package/optimize/lib/components/form/checkbox/checkbox_control.js +54 -0
  261. package/optimize/lib/components/form/checkbox/checkbox_control.styles.js +44 -0
  262. package/optimize/lib/components/form/checkbox/index.js +7 -0
  263. package/optimize/lib/components/form/form.styles.js +2 -1
  264. package/optimize/lib/components/form/radio/radio.styles.js +1 -1
  265. package/optimize/lib/components/form/super_select/super_select.js +116 -88
  266. package/optimize/lib/components/form/super_select/super_select.styles.js +4 -8
  267. package/optimize/lib/components/form/super_select/super_select_item.js +13 -14
  268. package/optimize/lib/components/key_pad_menu/key_pad_menu_item.js +1 -2
  269. package/optimize/lib/components/link/external_link_icon.js +4 -2
  270. package/optimize/lib/components/list_group/list_group.js +8 -15
  271. package/optimize/lib/components/list_group/list_group.styles.js +2 -16
  272. package/optimize/lib/components/list_group/list_group_item.js +62 -80
  273. package/optimize/lib/components/list_group/list_group_item.styles.js +17 -61
  274. package/optimize/lib/components/list_group/list_group_item_extra_action.styles.js +5 -5
  275. package/optimize/lib/components/list_item_layout/_list_item_layout.js +361 -0
  276. package/optimize/lib/components/list_item_layout/_list_item_layout.styles.js +97 -0
  277. package/optimize/lib/components/list_item_layout/index.js +12 -0
  278. package/optimize/lib/components/markdown_editor/markdown_editor_drop_zone.js +5 -2
  279. package/optimize/lib/components/markdown_editor/markdown_editor_toolbar.js +13 -9
  280. package/optimize/lib/components/portal/portal.js +68 -93
  281. package/optimize/lib/components/search_bar/filters/field_value_selection_filter.js +2 -1
  282. package/optimize/lib/components/search_bar/filters/field_value_toggle_group_filter.js +45 -69
  283. package/optimize/lib/components/selectable/selectable_list/selectable_list.js +46 -31
  284. package/optimize/lib/components/selectable/selectable_list/selectable_list.styles.js +20 -5
  285. package/optimize/lib/components/selectable/selectable_list/selectable_list_item.js +41 -143
  286. package/optimize/lib/components/selectable/selectable_list/utils/get_list_item_size.js +23 -0
  287. package/optimize/lib/components/selectable/selectable_search/selectable_search.js +4 -1
  288. package/optimize/lib/components/selectable/selectable_templates/selectable_template_sitewide.js +1 -1
  289. package/optimize/lib/components/selectable/selectable_templates/selectable_template_sitewide.styles.js +2 -12
  290. package/optimize/lib/components/selectable/selectable_templates/selectable_template_sitewide_option.js +1 -1
  291. package/optimize/lib/components/selectable/selectable_templates/selectable_template_sitewide_popover.js +1 -1
  292. package/optimize/lib/components/tool_tip/icon_tip.js +3 -5
  293. package/optimize/lib/components/tool_tip/tool_tip.js +229 -251
  294. package/optimize/lib/components/tool_tip/tool_tip.styles.js +8 -16
  295. package/optimize/lib/components/tool_tip/tool_tip_anchor.js +2 -2
  296. package/optimize/lib/components/tool_tip/tool_tip_manager.js +1 -0
  297. package/optimize/lib/components/tool_tip/tool_tip_popover.js +6 -6
  298. package/optimize/lib/global_styling/mixins/_helpers.js +33 -12
  299. package/optimize/lib/test/rtl/component_helpers.d.ts +0 -3
  300. package/optimize/lib/test/rtl/component_helpers.js +41 -63
  301. package/package.json +5 -13
  302. package/test-env/components/basic_table/basic_table.js +3 -6
  303. package/test-env/components/basic_table/collapsed_item_actions.js +1 -3
  304. package/test-env/components/basic_table/default_item_action.js +0 -1
  305. package/test-env/components/basic_table/in_memory_table.js +3 -6
  306. package/test-env/components/collapsible_nav_beta/_kibana_solution/collapsible_nav_kibana_solution.js +14 -11
  307. package/test-env/components/color_picker/color_palette_picker/color_palette_picker.js +0 -1
  308. package/test-env/components/color_picker/color_picker_swatch.js +1 -2
  309. package/test-env/components/combo_box/combo_box.a11y.js +5 -5
  310. package/test-env/components/combo_box/combo_box.js +61 -53
  311. package/test-env/components/combo_box/combo_box_options_list/combo_box_options_list.js +145 -82
  312. package/test-env/components/combo_box/combo_box_options_list/combo_box_options_list.styles.js +7 -6
  313. package/test-env/components/context_menu/context_menu.js +20 -22
  314. package/test-env/components/context_menu/context_menu.styles.js +4 -1
  315. package/test-env/components/context_menu/context_menu_item.js +67 -59
  316. package/test-env/components/context_menu/context_menu_item.styles.js +13 -27
  317. package/test-env/components/context_menu/context_menu_panel.js +37 -21
  318. package/test-env/components/context_menu/context_menu_panel.styles.js +7 -2
  319. package/test-env/components/context_menu/context_menu_panel_title.js +129 -0
  320. package/test-env/components/context_menu/context_menu_panel_title.styles.js +26 -0
  321. package/test-env/components/context_menu/index.js +8 -1
  322. package/test-env/components/datagrid/body/cell/data_grid_cell.js +35 -29
  323. package/test-env/components/datagrid/body/data_grid_body.js +23 -17
  324. package/test-env/components/datagrid/body/data_grid_body_custom.js +23 -17
  325. package/test-env/components/datagrid/body/data_grid_body_virtualized.js +23 -17
  326. package/test-env/components/datagrid/body/header/column_actions.js +1 -2
  327. package/test-env/components/datagrid/body/header/data_grid_header_cell.js +23 -17
  328. package/test-env/components/datagrid/controls/column_sorting.js +23 -17
  329. package/test-env/components/datagrid/controls/display_selector.js +1 -2
  330. package/test-env/components/datagrid/controls/fullscreen_selector.js +1 -2
  331. package/test-env/components/datagrid/controls/keyboard_shortcuts.js +1 -2
  332. package/test-env/components/datagrid/utils/in_memory.js +23 -17
  333. package/test-env/components/filter_group/filter_group.a11y.js +8 -2
  334. package/test-env/components/filter_group/filter_select_item.js +35 -16
  335. package/test-env/components/flyout/flyout_menu.js +1 -4
  336. package/test-env/components/form/checkbox/checkbox.js +6 -6
  337. package/test-env/components/form/checkbox/checkbox.styles.js +1 -22
  338. package/test-env/components/form/checkbox/checkbox_control.js +83 -0
  339. package/test-env/components/form/checkbox/checkbox_control.styles.js +44 -0
  340. package/test-env/components/form/checkbox/index.js +7 -0
  341. package/test-env/components/form/form.styles.js +2 -1
  342. package/test-env/components/form/radio/radio.styles.js +1 -1
  343. package/test-env/components/form/super_select/super_select.js +116 -97
  344. package/test-env/components/form/super_select/super_select.styles.js +4 -8
  345. package/test-env/components/form/super_select/super_select_item.js +13 -18
  346. package/test-env/components/key_pad_menu/key_pad_menu_item.js +1 -2
  347. package/test-env/components/link/external_link_icon.js +4 -2
  348. package/test-env/components/list_group/list_group.js +21 -35
  349. package/test-env/components/list_group/list_group.styles.js +2 -16
  350. package/test-env/components/list_group/list_group_item.js +75 -87
  351. package/test-env/components/list_group/list_group_item.styles.js +17 -61
  352. package/test-env/components/list_group/list_group_item_extra_action.styles.js +5 -5
  353. package/test-env/components/list_group/pinnable_list_group/pinnable_list_group.js +16 -28
  354. package/test-env/components/list_item_layout/_list_item_layout.js +691 -0
  355. package/test-env/components/list_item_layout/_list_item_layout.styles.js +97 -0
  356. package/test-env/components/list_item_layout/index.js +12 -0
  357. package/test-env/components/markdown_editor/markdown_editor.js +1 -1
  358. package/test-env/components/markdown_editor/markdown_editor_drop_zone.js +6 -3
  359. package/test-env/components/markdown_editor/markdown_editor_footer.js +1 -1
  360. package/test-env/components/markdown_editor/markdown_editor_toolbar.js +14 -10
  361. package/test-env/components/portal/portal.js +70 -113
  362. package/test-env/components/search_bar/filters/field_value_selection_filter.js +2 -1
  363. package/test-env/components/search_bar/filters/field_value_toggle_group_filter.js +44 -88
  364. package/test-env/components/selectable/selectable.js +1 -0
  365. package/test-env/components/selectable/selectable_list/selectable_list.js +50 -34
  366. package/test-env/components/selectable/selectable_list/selectable_list.styles.js +20 -5
  367. package/test-env/components/selectable/selectable_list/selectable_list_item.js +42 -147
  368. package/test-env/components/selectable/selectable_list/utils/get_list_item_size.js +23 -0
  369. package/test-env/components/selectable/selectable_search/selectable_search.js +4 -1
  370. package/test-env/components/selectable/selectable_templates/selectable_template_sitewide.js +1 -1
  371. package/test-env/components/selectable/selectable_templates/selectable_template_sitewide.styles.js +2 -12
  372. package/test-env/components/selectable/selectable_templates/selectable_template_sitewide_option.js +1 -1
  373. package/test-env/components/selectable/selectable_templates/selectable_template_sitewide_popover.js +1 -1
  374. package/test-env/components/table/table_header_cell.js +1 -2
  375. package/test-env/components/tool_tip/icon_tip.js +4 -8
  376. package/test-env/components/tool_tip/tool_tip.js +230 -256
  377. package/test-env/components/tool_tip/tool_tip.styles.js +8 -16
  378. package/test-env/components/tool_tip/tool_tip_anchor.js +2 -2
  379. package/test-env/components/tool_tip/tool_tip_manager.js +1 -0
  380. package/test-env/components/tool_tip/tool_tip_popover.js +6 -6
  381. package/test-env/global_styling/mixins/_helpers.js +33 -12
  382. package/test-env/test/rtl/component_helpers.js +41 -63
  383. package/es/components/selectable/selectable_list/selectable_list_item.styles.js +0 -55
  384. package/lib/components/selectable/selectable_list/selectable_list_item.styles.js +0 -59
  385. package/optimize/es/components/selectable/selectable_list/selectable_list_item.styles.js +0 -55
  386. package/optimize/lib/components/selectable/selectable_list/selectable_list_item.styles.js +0 -59
  387. package/test-env/components/selectable/selectable_list/selectable_list_item.styles.js +0 -59
@@ -0,0 +1,353 @@
1
+ import _extends from "@babel/runtime/helpers/extends";
2
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
3
+ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
4
+ import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
5
+ var _excluded = ["children", "element", "wrapperElement", "className", "css", "role", "prepend", "append", "extraAction", "wrapperProps", "contentProps", "prependProps", "appendProps", "textProps", "tooltipProps", "checked", "isDisabled", "hasAriaDisabled", "isFocused", "isSelected", "isSingleSelection", "selectionMode", "showIndicator", "textWrap", "external", "aria-describedby", "aria-selected", "aria-checked", "data-test-subj", "onClick"],
6
+ _excluded2 = ["href", "target", "rel"],
7
+ _excluded3 = ["ref"];
8
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
9
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
10
+ /*
11
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
12
+ * or more contributor license agreements. Licensed under the Elastic License
13
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
14
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
15
+ * Side Public License, v 1.
16
+ */
17
+
18
+ import React, { forwardRef, useEffect, useMemo, useState } from 'react';
19
+ // @ts-ignore module doesn't export `createElement`
20
+ import { createElement } from '@emotion/react';
21
+ import classNames from 'classnames';
22
+ import { useCombinedRefs, useEuiDisabledElement, useEuiMemoizedStyles } from '../../services';
23
+ import { euiListItemLayoutStyles, euiListItemLayoutWrapperStyles } from './_list_item_layout.styles';
24
+ import { EuiToolTip } from '../tool_tip';
25
+ import { EuiCheckboxControl } from '../form';
26
+ import { EuiIcon } from '../icon';
27
+ import { isButtonDisabled } from '../button/button_display/_button_display';
28
+ import { EuiExternalLinkIcon } from '../link/external_link_icon';
29
+ import { jsx as ___EmotionJSX } from "@emotion/react";
30
+ export var OPTION_CHECKED_STATES = ['on', 'off', 'mixed', undefined];
31
+ var NATIVELY_CHECKABLE_ROLES = ['checkbox', 'menuitemcheckbox', 'radio', 'menuitemradio', 'switch'];
32
+ var ROLES_THAT_CAN_BE_MIXED = ['option', 'checkbox', 'menuitemcheckbox'];
33
+ var ROLES_THAT_CAN_USE_ARIA_CHECKED = ['option'].concat(NATIVELY_CHECKABLE_ROLES);
34
+ var ROLES_THAT_CAN_USE_ARIA_SELECTED = ['tab', 'gridcell', 'option', 'row', 'treeitem'];
35
+
36
+ // Ensure an exclusive union of either li, div, button, or anchor
37
+
38
+ /**
39
+ * This is an EUI internal-only layout component that is used to share layout and
40
+ * styles between selection and navigational list components.
41
+ */
42
+ export var EuiListItemLayout = /*#__PURE__*/forwardRef(function (_ref, ref) {
43
+ var _tooltipProps$anchorP;
44
+ var _children = _ref.children,
45
+ _ref$element = _ref.element,
46
+ _element = _ref$element === void 0 ? 'li' : _ref$element,
47
+ wrapperElement = _ref.wrapperElement,
48
+ className = _ref.className,
49
+ css = _ref.css,
50
+ role = _ref.role,
51
+ _prepend = _ref.prepend,
52
+ _append = _ref.append,
53
+ extraAction = _ref.extraAction,
54
+ _wrapperProps = _ref.wrapperProps,
55
+ _contentProps = _ref.contentProps,
56
+ _prependProps = _ref.prependProps,
57
+ _appendProps = _ref.appendProps,
58
+ _textProps = _ref.textProps,
59
+ _tooltipProps = _ref.tooltipProps,
60
+ checked = _ref.checked,
61
+ isDisabled = _ref.isDisabled,
62
+ _ref$hasAriaDisabled = _ref.hasAriaDisabled,
63
+ hasAriaDisabled = _ref$hasAriaDisabled === void 0 ? false : _ref$hasAriaDisabled,
64
+ isFocused = _ref.isFocused,
65
+ isSelected = _ref.isSelected,
66
+ _ref$isSingleSelectio = _ref.isSingleSelection,
67
+ isSingleSelection = _ref$isSingleSelectio === void 0 ? true : _ref$isSingleSelectio,
68
+ _selectionMode = _ref.selectionMode,
69
+ _ref$showIndicator = _ref.showIndicator,
70
+ showIndicator = _ref$showIndicator === void 0 ? true : _ref$showIndicator,
71
+ _ref$textWrap = _ref.textWrap,
72
+ textWrap = _ref$textWrap === void 0 ? 'truncate' : _ref$textWrap,
73
+ external = _ref.external,
74
+ _ariaDescribedBy = _ref['aria-describedby'],
75
+ _ariaSelected = _ref['aria-selected'],
76
+ _ariaChecked = _ref['aria-checked'],
77
+ _ref$dataTestSubj = _ref['data-test-subj'],
78
+ dataTestSubj = _ref$dataTestSubj === void 0 ? 'euiListItemLayout' : _ref$dataTestSubj,
79
+ onClick = _ref.onClick,
80
+ props = _objectWithoutProperties(_ref, _excluded);
81
+ var _useState = useState(null),
82
+ _useState2 = _slicedToArray(_useState, 2),
83
+ tooltipRef = _useState2[0],
84
+ setTooltipRef = _useState2[1]; // Needs to be state and not a ref to trigger useEffect
85
+ var _useState3 = useState(_ariaDescribedBy),
86
+ _useState4 = _slicedToArray(_useState3, 2),
87
+ ariaDescribedBy = _useState4[0],
88
+ setAriaDescribedBy = _useState4[1];
89
+ var _ref2 = props,
90
+ href = _ref2.href,
91
+ target = _ref2.target,
92
+ rel = _ref2.rel,
93
+ rest = _objectWithoutProperties(_ref2, _excluded2);
94
+ var component = _element === 'a' && isDisabled ? 'button' : _element;
95
+ var isLink = component === 'a' && !isDisabled;
96
+ var buttonIsDisabled = isButtonDisabled({
97
+ href: href,
98
+ isDisabled: component === 'button' && isDisabled
99
+ });
100
+ var _useEuiDisabledElemen = useEuiDisabledElement({
101
+ isDisabled: buttonIsDisabled,
102
+ hasAriaDisabled: hasAriaDisabled,
103
+ onKeyDown: rest.onKeyDown
104
+ }),
105
+ disabledRef = _useEuiDisabledElemen.ref,
106
+ disabledButtonProps = _objectWithoutProperties(_useEuiDisabledElemen, _excluded3);
107
+ var setCombinedRef = useCombinedRefs(useMemo(function () {
108
+ return [disabledRef, ref];
109
+ }, [disabledRef, ref]));
110
+ var hasToolTip = !!_tooltipProps;
111
+ var isNonInteractiveComponent = ['li', 'div'].includes(component);
112
+ var isInteractiveComponent = ['button', 'a'].includes(component) || ['button', 'link'].includes(role !== null && role !== void 0 ? role : '');
113
+ var isInteractive = isInteractiveComponent || !!onClick;
114
+ /* Multi-action: component is interactive (button/a) and has an additional action passed via `extraAction`,
115
+ which requires to not nest interactive elements. The wrapper is the outermost styled container and owns
116
+ hover/focus/selected styles.
117
+ Single-action: component (li/div) is the outermost element and owns all styles. */
118
+ var isMultiAction = extraAction != null && isInteractiveComponent;
119
+ var WrapperElement = isMultiAction ? wrapperElement !== null && wrapperElement !== void 0 ? wrapperElement : 'li' : isInteractiveComponent ? wrapperElement : undefined;
120
+ var hasWrapper = WrapperElement != null;
121
+
122
+ // aria-checked is intended to be used with role="checkbox" but
123
+ // the MDN documentation lists it as a possibility for role="option".
124
+ // See https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-checked
125
+ // and https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles/option_role
126
+ var ariaChecked = useMemo(function () {
127
+ if (!role) return undefined;
128
+ if (!ROLES_THAT_CAN_USE_ARIA_CHECKED.includes(role)) return undefined;
129
+ switch (checked) {
130
+ case 'on':
131
+ case 'off':
132
+ return true;
133
+ case 'mixed':
134
+ if (ROLES_THAT_CAN_BE_MIXED.includes(role)) {
135
+ return 'mixed';
136
+ } else {
137
+ return false;
138
+ }
139
+ default:
140
+ return _ariaChecked !== null && _ariaChecked !== void 0 ? _ariaChecked : false;
141
+ }
142
+ }, [role, checked, _ariaChecked]);
143
+ var defaultSelectionMode = useMemo(function () {
144
+ if (!isSingleSelection) {
145
+ return 'checked';
146
+ }
147
+ if (role && NATIVELY_CHECKABLE_ROLES.includes(role)) {
148
+ return 'checked';
149
+ }
150
+ return 'selected';
151
+ }, [isSingleSelection, role]);
152
+ var selectionMode = _selectionMode !== null && _selectionMode !== void 0 ? _selectionMode : defaultSelectionMode;
153
+ var hasAriaChecked = (selectionMode === 'checked' ? ariaChecked : undefined) !== undefined;
154
+ var hasAriaSelected = ROLES_THAT_CAN_USE_ARIA_SELECTED.includes(role !== null && role !== void 0 ? role : '');
155
+ var hasCustomAriaSelected = _ariaSelected != null;
156
+
157
+ /* Styles */
158
+
159
+ var wrapperClasses = classNames('euiListItemLayout__wrapper', _wrapperProps === null || _wrapperProps === void 0 ? void 0 : _wrapperProps.className);
160
+ var classes = classNames('euiListItemLayout', className);
161
+ var wrapperStyles = useEuiMemoizedStyles(euiListItemLayoutWrapperStyles);
162
+ var styles = useEuiMemoizedStyles(euiListItemLayoutStyles);
163
+ var interactiveStyles = [isInteractive && styles.isInteractive, isFocused && styles.isFocused, (isSingleSelection || !showIndicator) && isSelected && styles.isSelected, (isSingleSelection || !showIndicator) && isSelected && isFocused && styles.isSelectedFocused];
164
+ var wrapperCssStyles = [wrapperStyles.euiListItemLayout__wrapper, extraAction && wrapperStyles.hasExtraAction, !isDisabled && hasWrapper && interactiveStyles, hasWrapper && css, isDisabled && hasWrapper && styles.isDisabled];
165
+ var cssStyles = [styles.euiListItemLayout, hasWrapper && styles.euiListItemLayout__action, !isDisabled && !hasWrapper && interactiveStyles, !hasWrapper && css, isDisabled && styles.isDisabled, hasAriaDisabled && buttonIsDisabled && hasToolTip && styles.buttonIsDisabled];
166
+
167
+ // Manually trigger the tooltip on keyboard focus
168
+ useEffect(function () {
169
+ if (!tooltipRef || isFocused == null || !hasAriaDisabled && isDisabled) {
170
+ return;
171
+ }
172
+ if (isFocused) {
173
+ tooltipRef.showToolTip();
174
+ } else {
175
+ tooltipRef.hideToolTip();
176
+ }
177
+ }, [isFocused, isDisabled, hasAriaDisabled, tooltipRef]);
178
+
179
+ /* Props */
180
+
181
+ // Manually set the `aria-describedby` id on the wrapper
182
+ useEffect(function () {
183
+ if (tooltipRef) {
184
+ var tooltipId = tooltipRef.id;
185
+ setAriaDescribedBy(classNames(tooltipId, _ariaDescribedBy));
186
+ }
187
+ }, [tooltipRef, _ariaDescribedBy]);
188
+ var contentProps = useMemo(function () {
189
+ return _objectSpread(_objectSpread({}, _contentProps), {}, {
190
+ css: [styles.euiListItemLayout__content, _contentProps === null || _contentProps === void 0 ? void 0 : _contentProps.css],
191
+ className: classNames('euiListItemLayout__content', _contentProps === null || _contentProps === void 0 ? void 0 : _contentProps.className)
192
+ });
193
+ }, [_contentProps, styles]);
194
+ var textProps = useMemo(function () {
195
+ return _objectSpread(_objectSpread({}, _textProps), {}, {
196
+ css: [styles.euiListItemLayout__text, styles.textWrap[textWrap], _textProps === null || _textProps === void 0 ? void 0 : _textProps.css],
197
+ className: classNames('euiListItemLayout__text', _textProps === null || _textProps === void 0 ? void 0 : _textProps.className)
198
+ });
199
+ }, [_textProps, textWrap, styles]);
200
+
201
+ /**
202
+ * ARIA selection attribute appliance:
203
+ * - multi-selection + checkable role -> `aria-checked`
204
+ * - multi-selection + non-checkable, selectable role -> `aria-selected`
205
+ * - multi-selection + non-checkable, non-selectable role -> `aria-current`
206
+ * - single-selection + checkable role -> `aria-checked`
207
+ * - single-selection + non-checkable, selectable role -> `aria-selected`
208
+ * - single-selection + non-checkable, non-selectable role -> `aria-current`
209
+ */
210
+
211
+ // added to selection list items only (`component=li/div`)
212
+ var selectionProps = isNonInteractiveComponent && !isInteractiveComponent ? {
213
+ role: role,
214
+ 'aria-checked': hasAriaChecked ? ariaChecked : undefined,
215
+ 'aria-selected': !hasAriaChecked && hasAriaSelected ? isSelected : undefined,
216
+ 'aria-current': !hasAriaChecked && !hasAriaSelected && isSelected ? 'true' : undefined
217
+ } : {};
218
+
219
+ // added to navigational list items only (`component=button/a`)
220
+ var navigationalProps = isInteractiveComponent ? {
221
+ /* supports aria-checked as custom `role` can enable checked states */
222
+ 'aria-checked': hasAriaChecked ? ariaChecked : undefined,
223
+ 'aria-current': !hasAriaChecked && !hasCustomAriaSelected && isSelected ? 'true' : undefined,
224
+ // indicates currently active navigation item
225
+ /* allow manual `aria-selected` overrides; By default a list of navigational elements likely uses `aria-current` but using
226
+ a button with appropriate `role` within a selection list could still be valid, though weird (e.g. custom EuiSuperSelect) */
227
+ 'aria-selected': !hasAriaChecked && hasCustomAriaSelected ? isSelected : undefined // indicates current selected item
228
+ } : {};
229
+ var linkProps = ['a'].includes(component) && !isDisabled ? {
230
+ href: href,
231
+ target: target,
232
+ rel: rel
233
+ } : {};
234
+ var disabledProps = isDisabled ? buttonIsDisabled ? disabledButtonProps : {
235
+ disabled: component === 'button' ? isDisabled : undefined,
236
+ 'aria-disabled': component !== 'button' ? isDisabled : undefined
237
+ } : {};
238
+ var wrapperProps = _objectSpread(_objectSpread({
239
+ 'data-test-subj': "".concat(dataTestSubj, "-wrapper")
240
+ }, _wrapperProps), {}, {
241
+ className: wrapperClasses,
242
+ css: [wrapperCssStyles, _wrapperProps === null || _wrapperProps === void 0 ? void 0 : _wrapperProps.css]
243
+ });
244
+ var tooltipProps = _objectSpread(_objectSpread({}, _tooltipProps), {}, {
245
+ anchorProps: _objectSpread(_objectSpread({}, _tooltipProps === null || _tooltipProps === void 0 ? void 0 : _tooltipProps.anchorProps), {}, {
246
+ css: [isDisabled && styles.tooltip.isDisabled, _tooltipProps === null || _tooltipProps === void 0 || (_tooltipProps$anchorP = _tooltipProps.anchorProps) === null || _tooltipProps$anchorP === void 0 ? void 0 : _tooltipProps$anchorP.css]
247
+ })
248
+ });
249
+ var hasInternalTooltip = isNonInteractiveComponent && hasToolTip;
250
+ var elementProps = _objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread({
251
+ ref: setCombinedRef,
252
+ role: role,
253
+ className: classes,
254
+ css: cssStyles
255
+ }, selectionProps), navigationalProps), linkProps), disabledProps), {}, _defineProperty(_defineProperty(_defineProperty({}, 'aria-describedby', hasInternalTooltip ? ariaDescribedBy : _ariaDescribedBy), 'data-test-subj', dataTestSubj), "onClick", onClick), rest);
256
+
257
+ /* Render nodes */
258
+
259
+ var indicator = useMemo(function () {
260
+ if (showIndicator) {
261
+ if (!isSingleSelection) {
262
+ return ___EmotionJSX(EuiCheckboxControl, {
263
+ className: "euiListItemLayout__checkbox",
264
+ checked: checked === 'on',
265
+ disabled: isDisabled,
266
+ indeterminate: checked === 'mixed',
267
+ excluded: checked === 'off'
268
+ });
269
+ }
270
+ var _resolveIconAndColor = resolveIconAndColor(checked, isSelected, isDisabled),
271
+ icon = _resolveIconAndColor.icon,
272
+ color = _resolveIconAndColor.color;
273
+ return ___EmotionJSX(EuiIcon, {
274
+ css: styles.euiListItemLayout__icon,
275
+ className: "euiListItemLayout__icon",
276
+ color: color,
277
+ type: icon
278
+ });
279
+ }
280
+ }, [checked, isSingleSelection, showIndicator, isSelected, isDisabled, styles]);
281
+ var prepend = useMemo(function () {
282
+ if (_prepend) {
283
+ var prependProps = _objectSpread(_objectSpread({}, _prependProps), {}, {
284
+ css: [styles.euiListItemLayout__prepend, _prependProps === null || _prependProps === void 0 ? void 0 : _prependProps.css],
285
+ className: classNames('euiListItemLayout__prepend', _prependProps === null || _prependProps === void 0 ? void 0 : _prependProps.className)
286
+ });
287
+ return ___EmotionJSX("span", prependProps, _prepend);
288
+ }
289
+ }, [_prepend, _prependProps, styles]);
290
+ var append = useMemo(function () {
291
+ if (_append) {
292
+ var appendProps = _objectSpread(_objectSpread({}, _appendProps), {}, {
293
+ css: [styles.euiListItemLayout__append, _appendProps === null || _appendProps === void 0 ? void 0 : _appendProps.css],
294
+ className: classNames('euiListItemLayout__append', _appendProps === null || _appendProps === void 0 ? void 0 : _appendProps.className)
295
+ });
296
+ return ___EmotionJSX("span", appendProps, _append);
297
+ }
298
+ }, [_append, _appendProps, styles]);
299
+ var innerContent = ___EmotionJSX("span", contentProps, indicator, prepend, ___EmotionJSX("span", textProps, _children, isLink && ___EmotionJSX(EuiExternalLinkIcon, {
300
+ css: styles.externalIcon,
301
+ external: external,
302
+ target: target,
303
+ size: "m"
304
+ })), append, !isMultiAction && extraAction);
305
+ /* for non interactive elements, specifically semantic li we need to
306
+ ensure that the li is the outer element to be a valid child of a wrapping ul */
307
+ var content = hasInternalTooltip ? ___EmotionJSX(EuiToolTip, _extends({
308
+ ref: setTooltipRef,
309
+ content: tooltipProps === null || tooltipProps === void 0 ? void 0 : tooltipProps.content,
310
+ anchorClassName: "eui-fullWidth"
311
+ }, tooltipProps), innerContent) : innerContent;
312
+
313
+ /* Uses `createElement` to side step having to specify element types. Since this is an
314
+ internal-only component and we're specifying separate types for each element, we can safely
315
+ assume the right props are passed at this point.
316
+ It uses the import from @emotion/react to ensure the `css` props works as in JSX. */
317
+ var innerElement = createElement(component, elementProps, content);
318
+ var element = !isNonInteractiveComponent && hasToolTip ? ___EmotionJSX(EuiToolTip, _extends({
319
+ ref: setTooltipRef,
320
+ content: tooltipProps === null || tooltipProps === void 0 ? void 0 : tooltipProps.content,
321
+ anchorClassName: "eui-fullWidth"
322
+ }, tooltipProps), innerElement) : innerElement;
323
+ return WrapperElement ? ___EmotionJSX(WrapperElement, wrapperProps, element, isMultiAction && extraAction) : element;
324
+ });
325
+ EuiListItemLayout.displayName = 'EuiListItemLayout';
326
+
327
+ /* Internal helpers */
328
+
329
+ function resolveIconAndColor(checked, isSelected, isDisabled) {
330
+ switch (checked) {
331
+ case 'on':
332
+ return {
333
+ icon: 'check',
334
+ color: isDisabled ? 'subdued' : isSelected ? 'primary' : 'text'
335
+ };
336
+ case 'off':
337
+ return {
338
+ icon: 'cross',
339
+ color: isDisabled ? 'subdued' : isSelected ? 'primary' : 'text'
340
+ };
341
+ case 'mixed':
342
+ return {
343
+ icon: 'minus',
344
+ color: isDisabled ? 'subdued' : isSelected ? 'primary' : 'text'
345
+ };
346
+ case undefined:
347
+ default:
348
+ return {
349
+ icon: 'empty',
350
+ color: isDisabled ? 'subdued' : 'text'
351
+ };
352
+ }
353
+ }
@@ -0,0 +1,93 @@
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
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
4
+ * or more contributor license agreements. Licensed under the Elastic License
5
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
6
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
7
+ * Side Public License, v 1.
8
+ */
9
+
10
+ import { css } from '@emotion/react';
11
+ import { mathWithUnits } from '@elastic/eui-theme-common';
12
+ import { euiFontSize, euiTextTruncate, highContrastModeStyles, logicalCSS } from '../../global_styling';
13
+ export var euiListItemVariables = function euiListItemVariables(_ref3) {
14
+ var euiTheme = _ref3.euiTheme;
15
+ var spacing = {
16
+ horizontal: euiTheme.size.s,
17
+ vertical: euiTheme.size.xs
18
+ };
19
+ var textPadding = {
20
+ horizontal: euiTheme.size.xs,
21
+ vertical: mathWithUnits([spacing.vertical, euiTheme.size.xxs], function (x, y) {
22
+ return x + y;
23
+ })
24
+ };
25
+ return {
26
+ spacing: spacing,
27
+ textPadding: textPadding
28
+ };
29
+ };
30
+ var listItemCommonStyles = function listItemCommonStyles(euiThemeContext) {
31
+ var euiTheme = euiThemeContext.euiTheme;
32
+ return "\n display: inline-flex; /* Necessary to make sure it doesn't force the whole popover to be too wide */\n align-items: center;\n ".concat(logicalCSS('width', '100%'), "\n border-radius: ").concat(euiTheme.border.radius.small, ";\n line-height: ").concat(euiFontSize(euiThemeContext, 's').lineHeight, ";\n font-size: ").concat(euiFontSize(euiThemeContext, 's').fontSize, ";\n color: ").concat(euiTheme.colors.textParagraph, ";\n overflow: hidden;\n ");
33
+ };
34
+ var _ref = process.env.NODE_ENV === "production" ? {
35
+ name: "8595p9-isDisabled",
36
+ styles: "cursor:not-allowed;label:isDisabled;"
37
+ } : {
38
+ name: "8595p9-isDisabled",
39
+ styles: "cursor:not-allowed;label:isDisabled;",
40
+ toString: _EMOTION_STRINGIFIED_CSS_ERROR__
41
+ };
42
+ var _ref2 = process.env.NODE_ENV === "production" ? {
43
+ name: "2nxums-buttonIsDisabled",
44
+ styles: "&[aria-disabled='true']{pointer-events:none;>*{pointer-events:none;}};label:buttonIsDisabled;"
45
+ } : {
46
+ name: "2nxums-buttonIsDisabled",
47
+ styles: "&[aria-disabled='true']{pointer-events:none;>*{pointer-events:none;}};label:buttonIsDisabled;",
48
+ toString: _EMOTION_STRINGIFIED_CSS_ERROR__
49
+ };
50
+ export var euiListItemLayoutStyles = function euiListItemLayoutStyles(euiThemeContext) {
51
+ var euiTheme = euiThemeContext.euiTheme;
52
+ var _euiListItemVariables = euiListItemVariables(euiThemeContext),
53
+ spacing = _euiListItemVariables.spacing,
54
+ textPadding = _euiListItemVariables.textPadding;
55
+
56
+ // uses `aria-disabled` only as not all variants can have a native `:disabled` state
57
+ var notDisabledSelector = "&:not([aria-disabled=\"true\"])";
58
+ var sharedFlexStyles = "\n display: flex;\n align-items: center;\n flex-shrink: 0;\n ";
59
+ var highlightedStyles = "\n ".concat(notDisabledSelector, " {\n background-color: ").concat(euiTheme.colors.backgroundBaseInteractiveHover, ";\n\n ").concat(highContrastModeStyles(euiThemeContext, {
60
+ preferred: "\n text-decoration: underline;\n "
61
+ }), "\n }\n ");
62
+ return {
63
+ euiListItemLayout: /*#__PURE__*/css(listItemCommonStyles(euiThemeContext), " ", logicalCSS('padding-horizontal', spacing.horizontal), ";;label:euiListItemLayout;"),
64
+ euiListItemLayout__action: /*#__PURE__*/css("display:flex;flex-grow:1;", logicalCSS('width', '100%'), " color:inherit;overflow:hidden;;label:euiListItemLayout__action;"),
65
+ euiListItemLayout__content: /*#__PURE__*/css(logicalCSS('width', '100%'), " display:flex;align-items:center;gap:", spacing.horizontal, ";;label:euiListItemLayout__content;"),
66
+ euiListItemLayout__text: /*#__PURE__*/css("flex-grow:1;", logicalCSS('padding-vertical', textPadding.vertical), " ", euiFontSize(euiThemeContext, 's'), " text-align:start;>*:only-child,>*:first-child{vertical-align:middle;}>*+*{", logicalCSS('margin-top', euiTheme.size.xxs), ";};label:euiListItemLayout__text;"),
67
+ textWrap: {
68
+ truncate: /*#__PURE__*/css(euiTextTruncate(), ";label:truncate;"),
69
+ wrap: /*#__PURE__*/css(";label:wrap;")
70
+ },
71
+ euiListItemLayout__prepend: /*#__PURE__*/css(sharedFlexStyles, " gap:", spacing.horizontal, ";;label:euiListItemLayout__prepend;"),
72
+ euiListItemLayout__append: /*#__PURE__*/css(sharedFlexStyles, " gap:", spacing.horizontal, ";;label:euiListItemLayout__append;"),
73
+ euiListItemLayout__icon: /*#__PURE__*/css(sharedFlexStyles, ";;label:euiListItemLayout__icon;"),
74
+ isInteractive: /*#__PURE__*/css("cursor:pointer;&:hover{", highlightedStyles, ";};label:isInteractive;"),
75
+ isDisabled: /*#__PURE__*/css("color:", euiTheme.colors.textDisabled, ";cursor:not-allowed;background-color:transparent;;label:isDisabled;"),
76
+ buttonIsDisabled: _ref2,
77
+ isFocused: /*#__PURE__*/css(highlightedStyles, ";;label:isFocused;"),
78
+ isSelected: /*#__PURE__*/css("color:", euiTheme.colors.textPrimary, ";background-color:", euiTheme.colors.backgroundBaseInteractiveSelect, ";", notDisabledSelector, "{&:hover{background-color:", euiTheme.colors.backgroundBaseInteractiveSelectHover, ";}}.euiIcon,.euiButtonIcon{color:inherit;}.euiListItemLayout__prepend,.euiListItemLayout__append{.euiIcon{color:", euiTheme.colors.textPrimary, ";}};label:isSelected;"),
79
+ isSelectedFocused: /*#__PURE__*/css(notDisabledSelector, "{background-color:", euiTheme.colors.backgroundBaseInteractiveSelectHover, ";};label:isSelectedFocused;"),
80
+ tooltip: {
81
+ isDisabled: _ref
82
+ },
83
+ externalIcon: /*#__PURE__*/css("color:", euiTheme.colors.textDisabled, ";;label:externalIcon;")
84
+ };
85
+ };
86
+ export var euiListItemLayoutWrapperStyles = function euiListItemLayoutWrapperStyles(euiThemeContext) {
87
+ var _euiListItemVariables2 = euiListItemVariables(euiThemeContext),
88
+ spacing = _euiListItemVariables2.spacing;
89
+ return {
90
+ euiListItemLayout__wrapper: /*#__PURE__*/css(listItemCommonStyles(euiThemeContext), "flex-shrink:0;list-style:none;;label:euiListItemLayout__wrapper;"),
91
+ hasExtraAction: /*#__PURE__*/css(logicalCSS('padding-right', spacing.horizontal), ";;label:hasExtraAction;")
92
+ };
93
+ };
@@ -0,0 +1,9 @@
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
+
9
+ export { EuiListItemLayout } from './_list_item_layout';
@@ -163,8 +163,11 @@ export var EuiMarkdownEditorDropZone = function EuiMarkdownEditorDropZone(props)
163
163
  getInputProps = _useDropzone.getInputProps,
164
164
  open = _useDropzone.open;
165
165
  var rootProps = _objectSpread({}, getRootProps());
166
- if (readOnly) rootProps.role = undefined; // Unset the default `role="button"` attribute which sets a misleading pointer icon
167
-
166
+ /* Unset the default `role="button"` attribute to prevent invalid nested interactive elements.
167
+ The dropzone has `noClick=true` and `noKeyboard=true` set via `useDropzone`.
168
+ Keyboard drop interactions expect the drop zone element to have `role="button` but we're supporting
169
+ adding files via a standalone footer button instead." */
170
+ rootProps.role = undefined;
168
171
  return ___EmotionJSX("div", _extends({}, rootProps, {
169
172
  css: cssStyles,
170
173
  className: classes
@@ -16,6 +16,11 @@ import { EuiToolTip } from '../tool_tip';
16
16
  import { MODE_VIEWING } from './markdown_modes';
17
17
  import { EuiMarkdownContext } from './markdown_context';
18
18
  import { euiMarkdownEditorToolbarStyles } from './markdown_editor_toolbar.styles';
19
+
20
+ /**
21
+ * A helper type to ensure the `button` property is defined
22
+ * on an ` EuiMarkdownEditorUiPlugin ` object.
23
+ */
19
24
  import { jsx as ___EmotionJSX } from "@emotion/react";
20
25
  var boldItalicButtons = [{
21
26
  id: 'mdBold',
@@ -91,7 +96,7 @@ export var EuiMarkdownEditorToolbar = /*#__PURE__*/forwardRef(function (_ref2, r
91
96
  markdownActions = _ref2.markdownActions,
92
97
  viewMode = _ref2.viewMode,
93
98
  onClickPreview = _ref2.onClickPreview,
94
- uiPlugins = _ref2.uiPlugins,
99
+ _uiPlugins = _ref2.uiPlugins,
95
100
  selectedNode = _ref2.selectedNode,
96
101
  right = _ref2.right;
97
102
  var _useContext = useContext(EuiMarkdownContext),
@@ -105,6 +110,9 @@ export var EuiMarkdownEditorToolbar = /*#__PURE__*/forwardRef(function (_ref2, r
105
110
  var isPreviewing = viewMode === MODE_VIEWING;
106
111
  var isEditable = !isPreviewing && !readOnly;
107
112
  var styles = useEuiMemoizedStyles(euiMarkdownEditorToolbarStyles);
113
+ var uiPlugins = _uiPlugins.filter(function (uiPlugin) {
114
+ return !!uiPlugin.button;
115
+ });
108
116
  return ___EmotionJSX("div", {
109
117
  ref: ref,
110
118
  css: styles.euiMarkdownEditorToolbar,
@@ -116,8 +124,7 @@ export var EuiMarkdownEditorToolbar = /*#__PURE__*/forwardRef(function (_ref2, r
116
124
  }, boldItalicButtons.map(function (item) {
117
125
  return ___EmotionJSX(EuiToolTip, {
118
126
  key: item.id,
119
- content: item.label,
120
- delay: "long"
127
+ content: item.label
121
128
  }, ___EmotionJSX(EuiMarkdownEditorToolbarButton, {
122
129
  selectedNode: selectedNode,
123
130
  handleMdButtonClick: handleMdButtonClick,
@@ -133,8 +140,7 @@ export var EuiMarkdownEditorToolbar = /*#__PURE__*/forwardRef(function (_ref2, r
133
140
  }), listButtons.map(function (item) {
134
141
  return ___EmotionJSX(EuiToolTip, {
135
142
  key: item.id,
136
- content: item.label,
137
- delay: "long"
143
+ content: item.label
138
144
  }, ___EmotionJSX(EuiMarkdownEditorToolbarButton, {
139
145
  selectedNode: selectedNode,
140
146
  handleMdButtonClick: handleMdButtonClick,
@@ -150,8 +156,7 @@ export var EuiMarkdownEditorToolbar = /*#__PURE__*/forwardRef(function (_ref2, r
150
156
  }), quoteCodeLinkButtons.map(function (item) {
151
157
  return ___EmotionJSX(EuiToolTip, {
152
158
  key: item.id,
153
- content: item.label,
154
- delay: "long"
159
+ content: item.label
155
160
  }, ___EmotionJSX(EuiMarkdownEditorToolbarButton, {
156
161
  selectedNode: selectedNode,
157
162
  handleMdButtonClick: handleMdButtonClick,
@@ -169,8 +174,7 @@ export var EuiMarkdownEditorToolbar = /*#__PURE__*/forwardRef(function (_ref2, r
169
174
  button = _ref3.button;
170
175
  return ___EmotionJSX(EuiToolTip, {
171
176
  key: name,
172
- content: button.label,
173
- delay: "long"
177
+ content: button.label
174
178
  }, ___EmotionJSX(EuiMarkdownEditorToolbarButton, {
175
179
  selectedNode: selectedNode,
176
180
  handleMdButtonClick: handleMdButtonClick,