@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,84 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.EuiCheckboxControl = void 0;
7
+ var _react = _interopRequireDefault(require("react"));
8
+ var _propTypes = _interopRequireDefault(require("prop-types"));
9
+ var _classnames = _interopRequireDefault(require("classnames"));
10
+ var _services = require("../../../services");
11
+ var _icon = require("../../icon");
12
+ var _checkbox_control = require("./checkbox_control.styles");
13
+ var _react2 = require("@emotion/react");
14
+ var _excluded = ["className", "checked", "indeterminate", "excluded", "disabled"];
15
+ /*
16
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
17
+ * or more contributor license agreements. Licensed under the Elastic License
18
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
19
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
20
+ * Side Public License, v 1.
21
+ */
22
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
23
+ function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
24
+ function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], t.indexOf(o) >= 0 || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
25
+ function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.indexOf(n) >= 0) continue; t[n] = r[n]; } return t; }
26
+ /**
27
+ * Presentation-only checkbox control element. Renders a checkbox square and state icon only without functionality.
28
+ */
29
+ var EuiCheckboxControl = exports.EuiCheckboxControl = function EuiCheckboxControl(_ref) {
30
+ var className = _ref.className,
31
+ _ref$checked = _ref.checked,
32
+ checked = _ref$checked === void 0 ? false : _ref$checked,
33
+ _ref$indeterminate = _ref.indeterminate,
34
+ indeterminate = _ref$indeterminate === void 0 ? false : _ref$indeterminate,
35
+ _ref$excluded = _ref.excluded,
36
+ excluded = _ref$excluded === void 0 ? false : _ref$excluded,
37
+ _ref$disabled = _ref.disabled,
38
+ disabled = _ref$disabled === void 0 ? false : _ref$disabled,
39
+ rest = _objectWithoutProperties(_ref, _excluded);
40
+ var isSelected = checked || indeterminate || excluded;
41
+ var isExcluded = excluded && !indeterminate;
42
+ var classes = (0, _classnames.default)('euiCheckboxControl', className);
43
+ var styles = (0, _services.useEuiMemoizedStyles)(_checkbox_control.euiCheckboxControlStyles);
44
+ var cssStyles = [styles.euiCheckboxControl, disabled ? isSelected ? styles.disabled.selected : styles.disabled.unselected : isExcluded ? styles.enabled.excluded : isSelected ? styles.enabled.selected : styles.enabled.unselected];
45
+ var iconStyles = [styles.icon.euiCheckbox__icon, indeterminate ? styles.icon.indeterminate : styles.icon.check];
46
+ var iconType = indeterminate ? 'stopFill' : excluded ? 'cross' : checked ? 'check' : 'empty';
47
+ return (0, _react2.jsx)("span", _extends({
48
+ css: cssStyles,
49
+ className: classes
50
+ }, rest), (0, _react2.jsx)(_icon.EuiIcon, {
51
+ role: "presentation",
52
+ css: iconStyles,
53
+ type: iconType,
54
+ size: "m"
55
+ }));
56
+ };
57
+ EuiCheckboxControl.propTypes = {
58
+ /**
59
+ * Renders a checked variant.
60
+ * @default false
61
+ */
62
+ checked: _propTypes.default.bool,
63
+ /**
64
+ * Renders an indeterminate variant.
65
+ * This overrides any other variant.
66
+ * @default false
67
+ */
68
+ indeterminate: _propTypes.default.bool,
69
+ /**
70
+ * Renders an excluded variant.
71
+ * This overrides the checked variant.
72
+ * @default false
73
+ */
74
+ excluded: _propTypes.default.bool,
75
+ /**
76
+ * Renders a disabled variant.
77
+ * @default false
78
+ */
79
+ disabled: _propTypes.default.bool,
80
+ className: _propTypes.default.string,
81
+ "aria-label": _propTypes.default.string,
82
+ "data-test-subj": _propTypes.default.string,
83
+ css: _propTypes.default.any
84
+ };
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.euiCheckboxControlStyles = void 0;
7
+ var _react = require("@emotion/react");
8
+ var _form = require("../form.styles");
9
+ 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)."; } /*
10
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
11
+ * or more contributor license agreements. Licensed under the Elastic License
12
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
13
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
14
+ * Side Public License, v 1.
15
+ */
16
+ var _ref = process.env.NODE_ENV === "production" ? {
17
+ name: "u54glv-indeterminate",
18
+ styles: "transform:scale(0.5);label:indeterminate;"
19
+ } : {
20
+ name: "u54glv-indeterminate",
21
+ styles: "transform:scale(0.5);label:indeterminate;",
22
+ toString: _EMOTION_STRINGIFIED_CSS_ERROR__
23
+ };
24
+ var euiCheckboxControlStyles = exports.euiCheckboxControlStyles = function euiCheckboxControlStyles(euiThemeContext) {
25
+ var euiTheme = euiThemeContext.euiTheme;
26
+ var controlStyles = (0, _form.euiFormCustomControlStyles)(euiThemeContext);
27
+ return {
28
+ euiCheckboxControl: /*#__PURE__*/(0, _react.css)(controlStyles.input.fauxInput, " border-radius:", euiTheme.border.radius.small, ";;label:euiCheckboxControl;"),
29
+ enabled: {
30
+ selected: /*#__PURE__*/(0, _react.css)(controlStyles.input.enabled.selected, ";label:selected;"),
31
+ unselected: /*#__PURE__*/(0, _react.css)(controlStyles.input.enabled.unselected, ";label:unselected;"),
32
+ excluded: /*#__PURE__*/(0, _react.css)(controlStyles.input.enabled.selected, " background-color:", euiTheme.colors.backgroundFilledDanger, ";border-color:", euiTheme.colors.backgroundFilledDanger, ";;label:excluded;")
33
+ },
34
+ disabled: {
35
+ selected: /*#__PURE__*/(0, _react.css)(controlStyles.input.disabled.selected, ";label:selected;"),
36
+ unselected: /*#__PURE__*/(0, _react.css)(controlStyles.input.disabled.unselected, ";label:unselected;")
37
+ },
38
+ icon: {
39
+ euiCheckbox__icon: /*#__PURE__*/(0, _react.css)(";label:euiCheckbox__icon;"),
40
+ check: /*#__PURE__*/(0, _react.css)(controlStyles.input.icon, " stroke:currentColor;;label:check;"),
41
+ indeterminate: _ref
42
+ }
43
+ };
44
+ };
@@ -9,6 +9,12 @@ Object.defineProperty(exports, "EuiCheckbox", {
9
9
  return _checkbox.EuiCheckbox;
10
10
  }
11
11
  });
12
+ Object.defineProperty(exports, "EuiCheckboxControl", {
13
+ enumerable: true,
14
+ get: function get() {
15
+ return _checkbox_control.EuiCheckboxControl;
16
+ }
17
+ });
12
18
  Object.defineProperty(exports, "EuiCheckboxGroup", {
13
19
  enumerable: true,
14
20
  get: function get() {
@@ -16,4 +22,5 @@ Object.defineProperty(exports, "EuiCheckboxGroup", {
16
22
  }
17
23
  });
18
24
  var _checkbox = require("./checkbox");
25
+ var _checkbox_control = require("./checkbox_control");
19
26
  var _checkbox_group = require("./checkbox_group");
@@ -282,7 +282,8 @@ var euiFormCustomControlStyles = exports.euiFormCustomControlStyles = function e
282
282
  return {
283
283
  wrapper: "\n display: flex;\n align-items: flex-start;\n ",
284
284
  input: {
285
- fauxInput: "\n position: relative;\n ".concat((0, _global_styling.logicalCSS)('height', controlVars.sizes.control), "\n ").concat((0, _global_styling.logicalCSS)('width', controlVars.sizes.control), "\n display: flex;\n justify-content: center;\n align-items: center;\n /* For Windows high contrast themes, a border must always be rendered, not just a background */\n border: ").concat(euiTheme.border.width.thin, " solid transparent;\n\n &:has(input:focus-visible) {\n outline: ").concat(euiTheme.focus.width, " solid ").concat(controlVars.colors.selected, ";\n outline-offset: ").concat(euiTheme.focus.width, ";\n }\n\n ").concat(_global_styling.euiCanAnimate, " {\n transition-property: background-color, color;\n transition-duration: ").concat(controlVars.animation.speed, ";\n transition-timing-function: ").concat(controlVars.animation.easing, ";\n }\n "),
285
+ fauxInput: "\n position: relative;\n ".concat((0, _global_styling.logicalCSS)('height', controlVars.sizes.control), "\n ").concat((0, _global_styling.logicalCSS)('width', controlVars.sizes.control), "\n display: flex;\n justify-content: center;\n align-items: center;\n /* For Windows high contrast themes, a border must always be rendered, not just a background */\n border: ").concat(euiTheme.border.width.thin, " solid transparent;\n\n ").concat(_global_styling.euiCanAnimate, " {\n transition-property: background-color, color;\n transition-duration: ").concat(controlVars.animation.speed, ";\n transition-timing-function: ").concat(controlVars.animation.easing, ";\n }\n "),
286
+ focusVisible: "\n &:has(input:focus-visible) {\n outline: ".concat(euiTheme.focus.width, " solid ").concat(controlVars.colors.selected, ";\n outline-offset: ").concat(euiTheme.focus.width, ";\n }\n "),
286
287
  // TODO: Revert https://github.com/elastic/eui/pull/7981
287
288
  // once https://github.com/dperini/nwsapi/issues/123
288
289
  // has been fixed, and restore `&:has(+ label)` selector
@@ -19,7 +19,7 @@ var euiRadioStyles = exports.euiRadioStyles = function euiRadioStyles(euiThemeCo
19
19
  return {
20
20
  euiRadio: /*#__PURE__*/(0, _react.css)(controlStyles.wrapper, ";label:euiRadio;"),
21
21
  input: {
22
- euiRadio__circle: /*#__PURE__*/(0, _react.css)(controlStyles.input.fauxInput, " border-radius:50%;;label:euiRadio__circle;"),
22
+ euiRadio__circle: /*#__PURE__*/(0, _react.css)(controlStyles.input.fauxInput, " ", controlStyles.input.focusVisible, " border-radius:50%;;label:euiRadio__circle;"),
23
23
  hasLabel: controlStyles.input.hasLabel,
24
24
  // Skip css`` className generation
25
25
  enabled: {
@@ -15,8 +15,8 @@ var _super_select_control = require("./super_select_control");
15
15
  var _super_select_item = require("./super_select_item");
16
16
  var _super_select = require("./super_select.styles");
17
17
  var _react2 = require("@emotion/react");
18
- var _excluded = ["className", "options", "valueOfSelected", "placeholder", "onChange", "isOpen", "isInvalid", "hasDividers", "itemClassName", "itemLayoutAlign", "fullWidth", "popoverProps", "compressed"],
19
- _excluded2 = ["value", "dropdownDisplay", "inputDisplay"];
18
+ var _excluded = ["className", "options", "valueOfSelected", "placeholder", "onChange", "isOpen", "isInvalid", "itemClassName", "fullWidth", "popoverProps", "compressed"],
19
+ _excluded2 = ["value", "dropdownDisplay", "inputDisplay", "disabled"];
20
20
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
21
21
  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); }
22
22
  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; }
@@ -61,40 +61,50 @@ var EuiSuperSelect = exports.EuiSuperSelect = /*#__PURE__*/function (_Component)
61
61
  _defineProperty(_this, "controlButtonRef", /*#__PURE__*/(0, _react.createRef)());
62
62
  _defineProperty(_this, "describedById", (0, _services.htmlIdGenerator)('euiSuperSelect_')('_screenreaderDescribeId'));
63
63
  _defineProperty(_this, "state", {
64
- isPopoverOpen: _this.props.isOpen || false
64
+ isPopoverOpen: _this.props.isOpen || false,
65
+ currentIndex: 0
65
66
  });
66
67
  _defineProperty(_this, "setItemNode", function (node, index) {
67
68
  _this.itemNodes[index] = node;
68
69
  });
69
70
  _defineProperty(_this, "openPopover", function () {
71
+ var _this$props = _this.props,
72
+ options = _this$props.options,
73
+ valueOfSelected = _this$props.valueOfSelected;
74
+ var indexOfSelected = options.findIndex(function (option) {
75
+ return (option === null || option === void 0 ? void 0 : option.value) === valueOfSelected;
76
+ });
77
+ var candidateIndex = valueOfSelected != null && indexOfSelected >= 0 ? indexOfSelected : 0;
78
+ var initialIndex = candidateIndex;
79
+
80
+ // If the item is disabled, find the first focusable item going forward
81
+ while (initialIndex < options.length && (_options$initialIndex = options[initialIndex]) !== null && _options$initialIndex !== void 0 && _options$initialIndex.disabled) {
82
+ var _options$initialIndex;
83
+ initialIndex++;
84
+ }
85
+ if (initialIndex >= options.length) {
86
+ initialIndex = candidateIndex;
87
+ }
70
88
  _this.setState({
71
- isPopoverOpen: true
89
+ isPopoverOpen: options.length > 0,
90
+ currentIndex: initialIndex
72
91
  });
73
- var focusSelected = function focusSelected() {
74
- var indexOfSelected = _this.props.options.reduce(function (indexOfSelected, option, index) {
75
- if (indexOfSelected != null) return indexOfSelected;
76
- if (option == null) return null;
77
- return option.value === _this.props.valueOfSelected ? index : null;
78
- }, null);
92
+ requestAnimationFrame(function () {
79
93
  requestAnimationFrame(function () {
80
94
  if (!_this._isMounted) {
81
95
  return;
82
96
  }
83
- if (_this.props.valueOfSelected != null && indexOfSelected != null) {
84
- _this.focusItemAt(indexOfSelected);
85
- } else {
86
- _this.focusItemAt(0);
87
- }
97
+ _this.focusItemAt(initialIndex);
88
98
  if (_this.props.onFocus) {
89
99
  _this.props.onFocus();
90
100
  }
91
101
  });
92
- };
93
- requestAnimationFrame(focusSelected);
102
+ });
94
103
  });
95
104
  _defineProperty(_this, "closePopover", function () {
96
105
  _this.setState({
97
- isPopoverOpen: false
106
+ isPopoverOpen: false,
107
+ currentIndex: -1
98
108
  });
99
109
 
100
110
  // Refocus back to the toggling control button on popover close
@@ -164,54 +174,58 @@ var EuiSuperSelect = exports.EuiSuperSelect = /*#__PURE__*/function (_Component)
164
174
  }
165
175
  }, {
166
176
  key: "focusItemAt",
167
- value: function focusItemAt(index, direction) {
168
- var _targetElement;
169
- var targetElement = this.itemNodes[index];
170
- // If the current index is disabled, find the next non-disabled element
171
- while (targetElement && targetElement.disabled) {
172
- direction === ShiftDirection.BACK ? index-- : index++;
173
- targetElement = this.itemNodes[index];
174
- }
175
- (_targetElement = targetElement) === null || _targetElement === void 0 || _targetElement.focus();
177
+ value: function focusItemAt(index) {
178
+ var _this$itemNodes$index;
179
+ (_this$itemNodes$index = this.itemNodes[index]) === null || _this$itemNodes$index === void 0 || _this$itemNodes$index.focus();
176
180
  }
177
181
  }, {
178
182
  key: "shiftFocus",
179
183
  value: function shiftFocus(direction) {
180
- var currentIndex = this.itemNodes.indexOf(document.activeElement);
181
- var targetElementIndex;
184
+ var options = this.props.options;
185
+ var currentIndex = this.state.currentIndex;
182
186
  if (currentIndex === -1) {
183
187
  // somehow the select options has lost focus
184
- targetElementIndex = 0;
185
- } else {
186
- // Note: this component purposely does not cycle arrow key navigation
187
- // to match native <select> elements
188
- if (direction === ShiftDirection.BACK) {
189
- targetElementIndex = currentIndex - 1;
190
- } else {
191
- targetElementIndex = currentIndex + 1;
188
+ this.focusItemAt(0);
189
+ this.setState({
190
+ currentIndex: 0
191
+ });
192
+ return;
193
+ }
194
+
195
+ // Note: this component purposely does not cycle arrow key navigation
196
+ // to match native <select> elements
197
+ var step = direction === ShiftDirection.BACK ? -1 : 1;
198
+ var nextIndex = currentIndex + step;
199
+ while (nextIndex >= 0 && nextIndex < options.length) {
200
+ var _options$nextIndex;
201
+ if (!((_options$nextIndex = options[nextIndex]) !== null && _options$nextIndex !== void 0 && _options$nextIndex.disabled)) {
202
+ this.focusItemAt(nextIndex);
203
+ this.setState({
204
+ currentIndex: nextIndex
205
+ });
206
+ return;
192
207
  }
208
+ nextIndex += step;
193
209
  }
194
- this.focusItemAt(targetElementIndex, direction);
195
210
  }
196
211
  }, {
197
212
  key: "render",
198
213
  value: function render() {
199
- var _this2 = this;
200
- var _this$props = this.props,
201
- className = _this$props.className,
202
- options = _this$props.options,
203
- valueOfSelected = _this$props.valueOfSelected,
204
- placeholder = _this$props.placeholder,
205
- onChange = _this$props.onChange,
206
- isOpen = _this$props.isOpen,
207
- isInvalid = _this$props.isInvalid,
208
- hasDividers = _this$props.hasDividers,
209
- itemClassName = _this$props.itemClassName,
210
- itemLayoutAlign = _this$props.itemLayoutAlign,
211
- fullWidth = _this$props.fullWidth,
212
- popoverProps = _this$props.popoverProps,
213
- compressed = _this$props.compressed,
214
- rest = _objectWithoutProperties(_this$props, _excluded);
214
+ var _this2 = this,
215
+ _options$this$state$c;
216
+ var _this$props2 = this.props,
217
+ className = _this$props2.className,
218
+ options = _this$props2.options,
219
+ valueOfSelected = _this$props2.valueOfSelected,
220
+ placeholder = _this$props2.placeholder,
221
+ onChange = _this$props2.onChange,
222
+ isOpen = _this$props2.isOpen,
223
+ isInvalid = _this$props2.isInvalid,
224
+ itemClassName = _this$props2.itemClassName,
225
+ fullWidth = _this$props2.fullWidth,
226
+ popoverProps = _this$props2.popoverProps,
227
+ compressed = _this$props2.compressed,
228
+ rest = _objectWithoutProperties(_this$props2, _excluded);
215
229
  var popoverClasses = (0, _classnames.default)('euiSuperSelect', popoverProps === null || popoverProps === void 0 ? void 0 : popoverProps.className);
216
230
  var button = (0, _react2.jsx)(_super_select_control.EuiSuperSelectControl, _extends({
217
231
  options: options,
@@ -231,58 +245,72 @@ var EuiSuperSelect = exports.EuiSuperSelect = /*#__PURE__*/function (_Component)
231
245
  var value = option.value,
232
246
  dropdownDisplay = option.dropdownDisplay,
233
247
  inputDisplay = option.inputDisplay,
248
+ disabled = option.disabled,
234
249
  optionRest = _objectWithoutProperties(option, _excluded2);
235
250
  if (value == null) return;
236
251
  return (0, _react2.jsx)(_super_select_item.EuiSuperSelectItem, _extends({
237
- key: index,
252
+ key: index
253
+ /* NOTE: This should rather use "li" to align select-like behavior. But the current
254
+ implementation relies on the interactive and focusable item for the navigation.
255
+ This will require additional refactoring to adjust but we might want to decide first
256
+ if the effort is worth it, considering the unification plans for selection components
257
+ as part of OneSelect (https://github.com/elastic/eui/issues/8808).
258
+ */,
259
+ element: "button",
238
260
  id: String(value),
239
261
  className: itemClassName,
240
- hasDividers: hasDividers,
241
- layoutAlign: itemLayoutAlign,
242
- icon: valueOfSelected === value ? 'check' : 'empty',
262
+ checked: valueOfSelected === value ? 'on' : undefined,
263
+ isSelected: valueOfSelected === value,
264
+ isFocused: _this2.state.currentIndex === index,
265
+ isSingleSelection: true,
266
+ isDisabled: disabled,
267
+ textWrap: "wrap",
243
268
  onClick: function onClick() {
244
269
  return _this2.itemClicked(value);
245
270
  },
246
271
  onKeyDown: _this2.onItemKeyDown,
247
- buttonRef: function buttonRef(node) {
272
+ ref: function ref(node) {
248
273
  return _this2.setItemNode(node, index);
249
274
  },
250
275
  "aria-selected": valueOfSelected === value
251
276
  }, optionRest), dropdownDisplay || inputDisplay);
252
277
  });
253
- return (0, _react2.jsx)(_popover.EuiInputPopover, _extends({
254
- closePopover: this.closePopover,
255
- panelPaddingSize: "none"
256
- }, popoverProps, {
257
- className: popoverClasses,
258
- isOpen: isOpen || this.state.isPopoverOpen,
259
- input: button,
260
- fullWidth: fullWidth,
261
- disableFocusTrap: true // This component handles its own focus manually
262
- }), (0, _react2.jsx)(_accessibility.EuiScreenReaderOnly, null, (0, _react2.jsx)("p", {
263
- id: this.describedById
264
- }, (0, _react2.jsx)(_i18n.EuiI18n, {
265
- token: "euiSuperSelect.screenReaderAnnouncement",
266
- default: "You are in a form selector and must select a single option. Use the Up and Down arrow keys to navigate or Escape to close."
267
- }))), (0, _react2.jsx)(_i18n.EuiI18n, {
268
- token: "euiSuperSelect.ariaLabel",
269
- default: "Select listbox"
270
- }, function (ariaLabel) {
271
- return (0, _react2.jsx)("div", {
272
- "aria-label": ariaLabel,
273
- "aria-describedby": _this2.describedById,
274
- css: _super_select.euiSuperSelectStyles.euiSuperSelect__listbox,
275
- className: "euiSuperSelect__listbox eui-scrollBar",
276
- role: "listbox",
277
- "aria-activedescendant": valueOfSelected != null ? String(valueOfSelected) : undefined,
278
- tabIndex: 0
279
- }, items);
280
- }));
278
+ var ariaActiveDescendant = ((_options$this$state$c = options[this.state.currentIndex]) === null || _options$this$state$c === void 0 ? void 0 : _options$this$state$c.value) != null ? String(options[this.state.currentIndex].value) : undefined;
279
+ return (0, _react2.jsx)(_services.RenderWithEuiStylesMemoizer, null, function (stylesMemoizer) {
280
+ var styles = stylesMemoizer(_super_select.euiSuperSelectStyles);
281
+ return (0, _react2.jsx)(_popover.EuiInputPopover, _extends({
282
+ closePopover: _this2.closePopover,
283
+ panelPaddingSize: "none"
284
+ }, popoverProps, {
285
+ className: popoverClasses,
286
+ isOpen: isOpen || _this2.state.isPopoverOpen,
287
+ input: button,
288
+ fullWidth: fullWidth,
289
+ disableFocusTrap: true // This component handles its own focus manually
290
+ }), (0, _react2.jsx)(_accessibility.EuiScreenReaderOnly, null, (0, _react2.jsx)("p", {
291
+ id: _this2.describedById
292
+ }, (0, _react2.jsx)(_i18n.EuiI18n, {
293
+ token: "euiSuperSelect.screenReaderAnnouncement",
294
+ default: "You are in a form selector and must select a single option. Use the Up and Down arrow keys to navigate or Escape to close."
295
+ }))), (0, _react2.jsx)(_i18n.EuiI18n, {
296
+ token: "euiSuperSelect.ariaLabel",
297
+ default: "Select listbox"
298
+ }, function (ariaLabel) {
299
+ return (0, _react2.jsx)("div", {
300
+ "aria-label": ariaLabel,
301
+ "aria-describedby": _this2.describedById,
302
+ css: styles.euiSuperSelect__listbox,
303
+ className: "euiSuperSelect__listbox eui-scrollBar",
304
+ role: "listbox",
305
+ "aria-activedescendant": ariaActiveDescendant,
306
+ tabIndex: 0
307
+ }, items);
308
+ }));
309
+ });
281
310
  }
282
311
  }]);
283
312
  }(_react.Component);
284
313
  _defineProperty(EuiSuperSelect, "defaultProps", {
285
- hasDividers: false,
286
314
  fullWidth: false,
287
315
  compressed: false,
288
316
  isInvalid: false,
@@ -352,15 +380,6 @@ EuiSuperSelect.propTypes = {
352
380
  onChange: _propTypes.default.func,
353
381
  onFocus: _propTypes.default.func,
354
382
  onBlur: _propTypes.default.func,
355
- /**
356
- * Change to `true` if you want horizontal lines between options.
357
- * This is best used when options are multi-line.
358
- */
359
- hasDividers: _propTypes.default.bool,
360
- /**
361
- * Change `EuiContextMenuItem` layout position of icon
362
- */
363
- itemLayoutAlign: _propTypes.default.oneOf(["center", "top", "bottom"]),
364
383
  /**
365
384
  * Controls whether the options are shown. Default: false
366
385
  */
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.euiSuperSelectStyles = exports.euiSuperSelectItemStyles = exports.euiSuperSelectControlStyles = void 0;
6
+ exports.euiSuperSelectStyles = exports.euiSuperSelectControlStyles = void 0;
7
7
  var _react = require("@emotion/react");
8
8
  var _global_styling = require("../../../global_styling");
9
9
  var _form = require("../form.styles");
@@ -15,14 +15,10 @@ var _form = require("../form.styles");
15
15
  * Side Public License, v 1.
16
16
  */
17
17
 
18
- var euiSuperSelectStyles = exports.euiSuperSelectStyles = {
19
- euiSuperSelect__listbox: /*#__PURE__*/(0, _react.css)((0, _global_styling.logicalCSS)('max-height', '300px'), " ", (0, _global_styling.logicalCSSWithFallback)('overflow-y', 'auto'), " ", (0, _global_styling.logicalCSSWithFallback)('overflow-x', 'hidden'), ";;label:euiSuperSelect__listbox;")
20
- };
21
- var euiSuperSelectItemStyles = exports.euiSuperSelectItemStyles = function euiSuperSelectItemStyles(euiThemeContext) {
22
- var euiTheme = euiThemeContext.euiTheme;
18
+ var euiSuperSelectStyles = exports.euiSuperSelectStyles = function euiSuperSelectStyles(_ref) {
19
+ var euiTheme = _ref.euiTheme;
23
20
  return {
24
- euiSuperSelect__item: /*#__PURE__*/(0, _react.css)("padding:", euiTheme.size.s, ";", (0, _global_styling.euiFontSize)(euiThemeContext, 's'), ";;label:euiSuperSelect__item;"),
25
- hasDividers: /*#__PURE__*/(0, _react.css)("&:not(:last-of-type){", (0, _global_styling.logicalCSS)('border-bottom', euiTheme.border.thin), ";};label:hasDividers;")
21
+ euiSuperSelect__listbox: /*#__PURE__*/(0, _react.css)((0, _global_styling.logicalCSS)('max-height', '300px'), " ", (0, _global_styling.logicalCSSWithFallback)('overflow-y', 'auto'), " ", (0, _global_styling.logicalCSSWithFallback)('overflow-x', 'hidden'), " padding:", euiTheme.size.s, ";.euiSuperSelect__item:focus{outline:none;};label:euiSuperSelect__listbox;")
26
22
  };
27
23
  };
28
24
  var euiSuperSelectControlStyles = exports.euiSuperSelectControlStyles = function euiSuperSelectControlStyles(euiThemeContext) {
@@ -1,17 +1,15 @@
1
1
  "use strict";
2
2
 
3
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
3
4
  Object.defineProperty(exports, "__esModule", {
4
5
  value: true
5
6
  });
6
7
  exports.EuiSuperSelectItem = void 0;
7
- var _react = _interopRequireDefault(require("react"));
8
- var _propTypes = _interopRequireDefault(require("prop-types"));
8
+ var _react = _interopRequireWildcard(require("react"));
9
9
  var _classnames = _interopRequireDefault(require("classnames"));
10
- var _services = require("../../../services");
11
- var _context_menu = require("../../context_menu");
12
- var _super_select = require("./super_select.styles");
10
+ var _list_item_layout = require("../../list_item_layout");
13
11
  var _react2 = require("@emotion/react");
14
- var _excluded = ["children", "className", "hasDividers"];
12
+ var _excluded = ["children", "className"];
15
13
  /*
16
14
  * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
17
15
  * or more contributor license agreements. Licensed under the Elastic License
@@ -23,24 +21,21 @@ var _excluded = ["children", "className", "hasDividers"];
23
21
  // Actual props used by below component, transmogged by parent EuiSuperSelect
24
22
  // from consumer props to internal EUI props
25
23
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
24
+ 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); }
25
+ 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; }
26
26
  function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
27
27
  function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], t.indexOf(o) >= 0 || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
28
28
  function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.indexOf(n) >= 0) continue; t[n] = r[n]; } return t; }
29
29
  // Internal subcomponent util, primarily for easier usage of hooks
30
- var EuiSuperSelectItem = exports.EuiSuperSelectItem = function EuiSuperSelectItem(_ref) {
30
+ var EuiSuperSelectItem = exports.EuiSuperSelectItem = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
31
31
  var children = _ref.children,
32
32
  className = _ref.className,
33
- hasDividers = _ref.hasDividers,
34
33
  rest = _objectWithoutProperties(_ref, _excluded);
35
34
  var classes = (0, _classnames.default)('euiSuperSelect__item', className);
36
- var styles = (0, _services.useEuiMemoizedStyles)(_super_select.euiSuperSelectItemStyles);
37
- var cssStyles = [styles.euiSuperSelect__item, hasDividers && styles.hasDividers];
38
- return (0, _react2.jsx)(_context_menu.EuiContextMenuItem, _extends({
39
- css: cssStyles,
40
- className: classes,
41
- role: "option"
35
+ return (0, _react2.jsx)(_list_item_layout.EuiListItemLayout, _extends({
36
+ ref: ref,
37
+ role: "option",
38
+ className: classes
42
39
  }, rest), children);
43
- };
44
- EuiSuperSelectItem.propTypes = {
45
- hasDividers: _propTypes.default.bool
46
- };
40
+ });
41
+ EuiSuperSelectItem.displayName = 'EuiSuperSelectItem';
@@ -137,8 +137,7 @@ var EuiKeyPadMenuItem = exports.EuiKeyPadMenuItem = function EuiKeyPadMenuItem(_
137
137
  }, label)));
138
138
  return betaBadgeLabel ? (0, _react2.jsx)(_tool_tip.EuiToolTip, _extends({}, betaBadgeTooltipProps, {
139
139
  title: betaBadgeLabel,
140
- content: betaBadgeTooltipContent,
141
- delay: "long"
140
+ content: betaBadgeTooltipContent
142
141
  }), button) : button;
143
142
  };
144
143
  EuiKeyPadMenuItem.propTypes = {
@@ -12,7 +12,7 @@ var _icon = require("../icon");
12
12
  var _i18n = require("../i18n");
13
13
  var _accessibility = require("../accessibility");
14
14
  var _react2 = require("@emotion/react");
15
- var _excluded = ["target", "external"];
15
+ var _excluded = ["target", "external", "size"];
16
16
  /*
17
17
  * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
18
18
  * or more contributor license agreements. Licensed under the Elastic License
@@ -35,6 +35,8 @@ var iconStyle = function iconStyle(_ref) {
35
35
  var EuiExternalLinkIcon = exports.EuiExternalLinkIcon = function EuiExternalLinkIcon(_ref2) {
36
36
  var target = _ref2.target,
37
37
  external = _ref2.external,
38
+ _ref2$size = _ref2.size,
39
+ size = _ref2$size === void 0 ? 's' : _ref2$size,
38
40
  rest = _objectWithoutProperties(_ref2, _excluded);
39
41
  var iconCssStyle = (0, _services.useEuiMemoizedStyles)(iconStyle);
40
42
  var showExternalLinkIcon = target === '_blank' && external !== false || external === true;
@@ -43,7 +45,7 @@ var EuiExternalLinkIcon = exports.EuiExternalLinkIcon = function EuiExternalLink
43
45
  }
44
46
  return (0, _react2.jsx)(_react.default.Fragment, null, (0, _react2.jsx)(_icon.EuiIcon, _extends({
45
47
  css: iconCssStyle,
46
- size: "s",
48
+ size: size,
47
49
  type: "external",
48
50
  role: "presentation"
49
51
  }, rest)), target === '_blank' ? (0, _react2.jsx)(_accessibility.EuiScreenReaderOnly, null, (0, _react2.jsx)("span", null, (0, _react2.jsx)(_i18n.EuiI18n, {