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