@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
@@ -1,118 +1,93 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- var _typeof = require("@babel/runtime/helpers/typeof");
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
- exports.EuiPortalClass = exports.EuiPortal = void 0;
9
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
10
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
11
- var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
12
- var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
13
- var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
14
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
15
- var _react = _interopRequireWildcard(require("react"));
7
+ exports.EuiPortal = void 0;
8
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
9
+ var _react = require("react");
16
10
  var _reactDom = require("react-dom");
17
11
  var _services = require("../../services");
18
12
  var _component_defaults = require("../provider/component_defaults");
19
- var _react2 = require("@emotion/react");
20
- 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); }
21
- 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; }
22
- function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2.default)(o), (0, _possibleConstructorReturn2.default)(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2.default)(t).constructor) : o.apply(t, e)); }
23
- function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); } /*
13
+ /*
24
14
  * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
25
15
  * or more contributor license agreements. Licensed under the Elastic License
26
16
  * 2.0 and the Server Side Public License, v 1; you may not use this file except
27
17
  * in compliance with, at your election, the Elastic License 2.0 or the Server
28
18
  * Side Public License, v 1.
29
- */ /**
30
- * NOTE: We can't test this component because Enzyme doesn't support rendering
31
- * into portals.
32
19
  */
20
+
21
+ var usePortalEffect = typeof document === 'undefined' ? _react.useEffect : _react.useLayoutEffect;
33
22
  var INSERT_POSITIONS = ['after', 'before'];
34
23
  var insertPositions = {
35
24
  after: 'afterend',
36
25
  before: 'beforebegin'
37
26
  };
38
- var EuiPortal = exports.EuiPortal = function EuiPortal(props) {
39
- var propsWithDefaults = (0, _component_defaults.usePropsWithComponentDefaults)('EuiPortal', props);
40
- return (0, _react2.jsx)(EuiPortalClass, propsWithDefaults);
41
- };
42
- var EuiPortalClass = exports.EuiPortalClass = /*#__PURE__*/function (_Component) {
43
- function EuiPortalClass(props) {
44
- var _this;
45
- (0, _classCallCheck2.default)(this, EuiPortalClass);
46
- _this = _callSuper(this, EuiPortalClass, [props]);
47
- _this.state = {
48
- portalNode: null
49
- };
50
- return _this;
51
- }
52
- (0, _inherits2.default)(EuiPortalClass, _Component);
53
- return (0, _createClass2.default)(EuiPortalClass, [{
54
- key: "componentDidMount",
55
- value: function componentDidMount() {
56
- var insert = this.props.insert;
57
- var portalNode = document.createElement('div');
58
- portalNode.dataset.euiportal = 'true';
59
- if (insert == null) {
60
- // no insertion defined, append to body
61
- document.body.appendChild(portalNode);
62
- } else {
63
- // inserting before or after an element
64
- var sibling = insert.sibling,
65
- position = insert.position;
66
- sibling.insertAdjacentElement(insertPositions[position], portalNode);
67
- }
68
- this.setThemeColor(portalNode);
69
- this.updatePortalRef(portalNode);
27
+ var EuiPortal = exports.EuiPortal = /*#__PURE__*/(0, _react.memo)(function (_props) {
28
+ var props = (0, _component_defaults.usePropsWithComponentDefaults)('EuiPortal', _props);
29
+ var children = props.children,
30
+ insert = props.insert,
31
+ setPortalRef = props.portalRef;
32
+ var portalRef = (0, _react.useRef)(setPortalRef);
33
+ var _useContext = (0, _react.useContext)(_services.EuiNestedThemeContext),
34
+ hasDifferentColorFromGlobalTheme = _useContext.hasDifferentColorFromGlobalTheme,
35
+ colorClassName = _useContext.colorClassName;
36
+ var _useState = (0, _react.useState)(null),
37
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
38
+ portalNode = _useState2[0],
39
+ setPortalNode = _useState2[1];
70
40
 
71
- // Update state with portalNode to intentionally trigger component rerender
72
- // and call createPortal with correct root element in render()
73
- this.setState({
74
- portalNode: portalNode
75
- });
76
- }
77
- }, {
78
- key: "componentWillUnmount",
79
- value: function componentWillUnmount() {
80
- var portalNode = this.state.portalNode;
81
- if (portalNode !== null && portalNode !== void 0 && portalNode.parentNode) {
82
- portalNode.parentNode.removeChild(portalNode);
83
- }
84
- this.updatePortalRef(null);
41
+ // Set the inherited color of the portal based on the wrapping EuiThemeProvider
42
+ var setThemeColor = function setThemeColor(portalNode) {
43
+ if (hasDifferentColorFromGlobalTheme && insert == null) {
44
+ portalNode.classList.add(colorClassName);
85
45
  }
46
+ };
47
+ var updatePortalRef = function updatePortalRef(ref) {
48
+ var _portalRef$current;
49
+ (_portalRef$current = portalRef.current) === null || _portalRef$current === void 0 || _portalRef$current.call(portalRef, ref);
50
+ };
51
+ (0, _react.useEffect)(function () {
52
+ portalRef.current = setPortalRef;
53
+ }, [setPortalRef]);
86
54
 
87
- // Set the inherited color of the portal based on the wrapping EuiThemeProvider
88
- }, {
89
- key: "setThemeColor",
90
- value: function setThemeColor(portalNode) {
91
- if (this.context) {
92
- var _this$context = this.context,
93
- hasDifferentColorFromGlobalTheme = _this$context.hasDifferentColorFromGlobalTheme,
94
- colorClassName = _this$context.colorClassName;
95
- if (hasDifferentColorFromGlobalTheme && this.props.insert == null) {
96
- portalNode.classList.add(colorClassName);
97
- }
98
- }
55
+ /* Uses `useLayoutEffect` on client-side instead of `useEffect` to ensure the portal
56
+ node is created and inserted into the DOM synchronously. This matches the same timing
57
+ as the previous class component `componentDidMount` behavior.
58
+ Using `useEffect` would add an additional render cycle that would break expected
59
+ behavior of e.g. `@hello-pangea/dnd` which handles keyboard focus and doesn't expect
60
+ a rerender. This falls back to `useEffect` for SSR to avoid console errors. `useEffect` will
61
+ be a no-op, same as `componentDidMount` */
62
+ usePortalEffect(function () {
63
+ var node = document.createElement('div');
64
+ node.dataset.euiportal = 'true';
65
+ if (insert == null) {
66
+ // no insertion defined, append to body
67
+ document.body.appendChild(node);
68
+ } else {
69
+ // inserting before or after an element
70
+ var sibling = insert.sibling,
71
+ position = insert.position;
72
+ sibling.insertAdjacentElement(insertPositions[position], node);
99
73
  }
100
- }, {
101
- key: "updatePortalRef",
102
- value: function updatePortalRef(ref) {
103
- if (this.props.portalRef) {
104
- this.props.portalRef(ref);
105
- }
106
- }
107
- }, {
108
- key: "render",
109
- value: function render() {
110
- var portalNode = this.state.portalNode;
111
- if (!portalNode) {
112
- return null;
74
+ setThemeColor(node);
75
+ updatePortalRef(node);
76
+
77
+ // Update state with portalNode to intentionally trigger component rerender
78
+ // and call createPortal with the correct root element
79
+ setPortalNode(node);
80
+ return function () {
81
+ if (node !== null && node !== void 0 && node.parentNode) {
82
+ node.parentNode.removeChild(node);
113
83
  }
114
- return /*#__PURE__*/(0, _reactDom.createPortal)(this.props.children, portalNode);
115
- }
116
- }]);
117
- }(_react.Component);
118
- (0, _defineProperty2.default)(EuiPortalClass, "contextType", _services.EuiNestedThemeContext);
84
+ updatePortalRef(null);
85
+ };
86
+ // eslint-disable-next-line react-hooks/exhaustive-deps -- on mount only
87
+ }, []);
88
+ if (!portalNode) {
89
+ return null;
90
+ }
91
+ return /*#__PURE__*/(0, _reactDom.createPortal)(children, portalNode);
92
+ });
93
+ EuiPortal.displayName = 'EuiPortal';
@@ -358,7 +358,8 @@ var FieldValueSelectionFilter = exports.FieldValueSelectionFilter = /*#__PURE__*
358
358
  noMatchesMessage: config.noOptionsMessage,
359
359
  listProps: {
360
360
  isVirtualized: isOverSearchThreshold || false,
361
- autoFocus: true
361
+ autoFocus: true,
362
+ paddingSize: 's'
362
363
  },
363
364
  onChange: function onChange(options, event, changedOption) {
364
365
  if (changedOption.data) {
@@ -1,92 +1,68 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- var _typeof = require("@babel/runtime/helpers/typeof");
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.FieldValueToggleGroupFilter = void 0;
9
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
10
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
11
- var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
12
- var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
13
- var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
14
- var _react = _interopRequireWildcard(require("react"));
8
+ var _react = _interopRequireDefault(require("react"));
15
9
  var _filter_group = require("../../filter_group");
16
10
  var _query = require("../query");
17
11
  var _react2 = require("@emotion/react");
18
- 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); }
19
- 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; }
20
- function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2.default)(o), (0, _possibleConstructorReturn2.default)(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2.default)(t).constructor) : o.apply(t, e)); }
21
- function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); } /*
12
+ /*
22
13
  * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
23
14
  * or more contributor license agreements. Licensed under the Elastic License
24
15
  * 2.0 and the Server Side Public License, v 1; you may not use this file except
25
16
  * in compliance with, at your election, the Elastic License 2.0 or the Server
26
17
  * Side Public License, v 1.
27
18
  */
28
- var FieldValueToggleGroupFilter = exports.FieldValueToggleGroupFilter = /*#__PURE__*/function (_Component) {
29
- function FieldValueToggleGroupFilter() {
30
- (0, _classCallCheck2.default)(this, FieldValueToggleGroupFilter);
31
- return _callSuper(this, FieldValueToggleGroupFilter, arguments);
32
- }
33
- (0, _inherits2.default)(FieldValueToggleGroupFilter, _Component);
34
- return (0, _createClass2.default)(FieldValueToggleGroupFilter, [{
35
- key: "resolveDisplay",
36
- value: function resolveDisplay(config, query, item) {
37
- var clause = query.getSimpleFieldClause(config.field, item.value);
38
- if (clause) {
39
- if (_query.Query.isMust(clause)) {
40
- return {
41
- active: true,
42
- name: item.name
43
- };
44
- }
19
+
20
+ var FieldValueToggleGroupFilter = exports.FieldValueToggleGroupFilter = function FieldValueToggleGroupFilter(props) {
21
+ var resolveDisplay = function resolveDisplay(config, query, item) {
22
+ var clause = query.getSimpleFieldClause(config.field, item.value);
23
+ if (clause) {
24
+ if (_query.Query.isMust(clause)) {
45
25
  return {
46
26
  active: true,
47
- name: item.negatedName ? item.negatedName : "Not ".concat(item.name)
27
+ name: item.name
48
28
  };
49
29
  }
50
30
  return {
51
- active: false,
52
- name: item.name
31
+ active: true,
32
+ name: item.negatedName ? item.negatedName : "Not ".concat(item.name)
53
33
  };
54
34
  }
55
- }, {
56
- key: "valueChanged",
57
- value: function valueChanged(item, active) {
58
- var field = this.props.config.field;
59
- var value = item.value,
60
- operator = item.operator;
61
- var query = active ? this.props.query.removeSimpleFieldClauses(field) : this.props.query.removeSimpleFieldClauses(field).addSimpleFieldValue(field, value, true, operator);
62
- this.props.onChange(query);
63
- }
64
- }, {
65
- key: "render",
66
- value: function render() {
67
- var _this = this;
68
- var _this$props = this.props,
69
- config = _this$props.config,
70
- query = _this$props.query;
71
- return config.items.map(function (item, index) {
72
- var _this$resolveDisplay = _this.resolveDisplay(config, query, item),
73
- active = _this$resolveDisplay.active,
74
- name = _this$resolveDisplay.name;
75
- var onClick = function onClick() {
76
- _this.valueChanged(item, active);
77
- };
78
- var key = "field_value_toggle_filter_item_".concat(index);
79
- var isLastItem = index === config.items.length - 1;
80
- return (0, _react2.jsx)(_filter_group.EuiFilterButton, {
81
- key: key,
82
- onClick: onClick,
83
- isSelected: active,
84
- hasActiveFilters: active,
85
- "aria-pressed": !!active,
86
- withNext: !isLastItem,
87
- isToggle: true
88
- }, name);
89
- });
90
- }
91
- }]);
92
- }(_react.Component);
35
+ return {
36
+ active: false,
37
+ name: item.name
38
+ };
39
+ };
40
+ var valueChanged = function valueChanged(item, active) {
41
+ var field = props.config.field;
42
+ var value = item.value,
43
+ operator = item.operator;
44
+ var query = active ? props.query.removeSimpleFieldClauses(field) : props.query.removeSimpleFieldClauses(field).addSimpleFieldValue(field, value, true, operator);
45
+ props.onChange(query);
46
+ };
47
+ var config = props.config,
48
+ query = props.query;
49
+ return config.items.map(function (item, index) {
50
+ var _resolveDisplay = resolveDisplay(config, query, item),
51
+ active = _resolveDisplay.active,
52
+ name = _resolveDisplay.name;
53
+ var onClick = function onClick() {
54
+ valueChanged(item, active);
55
+ };
56
+ var key = "field_value_toggle_filter_item_".concat(index);
57
+ var isLastItem = index === config.items.length - 1;
58
+ return (0, _react2.jsx)(_filter_group.EuiFilterButton, {
59
+ key: key,
60
+ onClick: onClick,
61
+ isSelected: active,
62
+ hasActiveFilters: active,
63
+ "aria-pressed": !!active,
64
+ withNext: !isLastItem,
65
+ isToggle: true
66
+ }, name);
67
+ });
68
+ };
@@ -25,9 +25,10 @@ var _mark = require("../../mark");
25
25
  var _text_truncate = require("../../text_truncate");
26
26
  var _selectable_list_item = require("./selectable_list_item");
27
27
  var _selectable_list = require("./selectable_list.styles");
28
+ var _get_list_item_size = require("./utils/get_list_item_size");
28
29
  var _react2 = require("@emotion/react");
29
30
  var _excluded = ["data"],
30
- _excluded2 = ["label", "isGroupLabel", "checked", "disabled", "prepend", "append", "ref", "key", "searchableLabel", "data", "truncationProps"],
31
+ _excluded2 = ["label", "isGroupLabel", "checked", "disabled", "prepend", "append", "ref", "key", "searchableLabel", "data", "truncationProps", "css"],
31
32
  _excluded3 = ["className", "options", "searchValue", "onOptionClick", "renderOption", "height", "windowProps", "rowHeight", "activeOptionIndex", "makeOptionId", "showIcons", "singleSelection", "visibleOptions", "allowExclusions", "bordered", "paddingSize", "searchable", "onFocusBadge", "listId", "setActiveOptionIndex", "aria-label", "aria-labelledby", "aria-describedby", "role", "isPreFiltered", "isVirtualized", "textWrap", "truncationProps", "autoFocus"];
32
33
  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); }
33
34
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof3(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; }
@@ -115,11 +116,17 @@ var EuiSelectableList = exports.EuiSelectableList = /*#__PURE__*/function (_Comp
115
116
  ariaSetSize: latestAriaPosIndex
116
117
  };
117
118
  });
118
- (0, _defineProperty2.default)(_this, "ListRow", /*#__PURE__*/(0, _react.memo)(function (_ref) {
119
+ (0, _defineProperty2.default)(_this, "getItemSize", function (index) {
120
+ var _ref = _this.props,
121
+ rowHeight = _ref.rowHeight;
122
+ var option = _this.state.optionArray[index];
123
+ return (0, _get_list_item_size.getListItemSize)(index, rowHeight, !!(option !== null && option !== void 0 && option.isGroupLabel));
124
+ });
125
+ (0, _defineProperty2.default)(_this, "ListRow", /*#__PURE__*/(0, _react.memo)(function (_ref2) {
119
126
  var _option$textWrap;
120
- var data = _ref.data,
121
- index = _ref.index,
122
- style = _ref.style;
127
+ var data = _ref2.data,
128
+ index = _ref2.index,
129
+ style = _ref2.style;
123
130
  var option = data[index];
124
131
  var optionData = option.data,
125
132
  _option = (0, _objectWithoutProperties2.default)(option, _excluded);
@@ -134,12 +141,12 @@ var EuiSelectableList = exports.EuiSelectableList = /*#__PURE__*/function (_Comp
134
141
  searchableLabel = option.searchableLabel,
135
142
  _data = option.data,
136
143
  _truncationProps = option.truncationProps,
144
+ css = option.css,
137
145
  optionRest = (0, _objectWithoutProperties2.default)(option, _excluded2);
138
146
  var _this$props2 = _this.props,
139
147
  activeOptionIndex = _this$props2.activeOptionIndex,
140
148
  allowExclusions = _this$props2.allowExclusions,
141
149
  onFocusBadge = _this$props2.onFocusBadge,
142
- paddingSize = _this$props2.paddingSize,
143
150
  showIcons = _this$props2.showIcons,
144
151
  makeOptionId = _this$props2.makeOptionId,
145
152
  renderOption = _this$props2.renderOption,
@@ -147,13 +154,14 @@ var EuiSelectableList = exports.EuiSelectableList = /*#__PURE__*/function (_Comp
147
154
  searchable = _this$props2.searchable,
148
155
  searchValue = _this$props2.searchValue,
149
156
  isPreFiltered = _this$props2.isPreFiltered,
150
- isVirtualized = _this$props2.isVirtualized;
157
+ isVirtualized = _this$props2.isVirtualized,
158
+ singleSelection = _this$props2.singleSelection;
151
159
  if (isGroupLabel) {
152
160
  return (0, _react2.jsx)(_services.RenderWithEuiStylesMemoizer, null, function (stylesMemoizer) {
153
- var styles = stylesMemoizer(_selectable_list.euiSelectableListStyles);
161
+ var styles = stylesMemoizer(_selectable_list.euiSelectableListGroupLabelStyles);
154
162
  return (0, _react2.jsx)("li", (0, _extends2.default)({
155
163
  role: "presentation",
156
- css: styles.euiSelectableList__groupLabel,
164
+ css: [styles.groupLabel, css, ";label:EuiSelectableList;"],
157
165
  className: "euiSelectableList__groupLabel",
158
166
  style: style
159
167
  }, optionRest), prepend, label, append);
@@ -195,9 +203,9 @@ var EuiSelectableList = exports.EuiSelectableList = /*#__PURE__*/function (_Comp
195
203
  onFocusBadge: onFocusBadge,
196
204
  allowExclusions: allowExclusions,
197
205
  showIcons: showIcons,
198
- paddingSize: paddingSize,
199
206
  searchable: searchable,
200
- textWrap: textWrap
207
+ textWrap: textWrap,
208
+ singleSelection: singleSelection === false ? false : true
201
209
  // @ts-ignore complex
202
210
  }, optionRest), renderOption ? renderOption( // @ts-ignore complex
203
211
  _objectSpread(_objectSpread({}, _option), optionData), searchValue) : highlightSearch ? _this.renderSearchedText(label, truncationProps) : truncationProps ? _this.renderTruncatedText(label, truncationProps) : label);
@@ -220,7 +228,9 @@ var EuiSelectableList = exports.EuiSelectableList = /*#__PURE__*/function (_Comp
220
228
  innerElementType: 'ul',
221
229
  itemCount: optionArray.length,
222
230
  itemData: itemData,
223
- itemSize: rowHeight,
231
+ itemSize: _this.getItemSize,
232
+ // Prevents scrollbar jump before VariableSizeList populates the cached size
233
+ estimatedItemSize: rowHeight,
224
234
  'data-skip-axe': 'scrollable-region-focusable'
225
235
  }, windowProps);
226
236
 
@@ -241,19 +251,19 @@ var EuiSelectableList = exports.EuiSelectableList = /*#__PURE__*/function (_Comp
241
251
  }
242
252
  return heightIsFull ? (0, _react2.jsx)(_auto_sizer.EuiAutoSizer, {
243
253
  onResize: _this.calculateDefaultOptionWidth
244
- }, function (_ref2) {
245
- var width = _ref2.width,
246
- height = _ref2.height;
247
- return (0, _react2.jsx)(_reactWindow.FixedSizeList, (0, _extends2.default)({
254
+ }, function (_ref3) {
255
+ var width = _ref3.width,
256
+ height = _ref3.height;
257
+ return (0, _react2.jsx)(_reactWindow.VariableSizeList, (0, _extends2.default)({
248
258
  width: width,
249
259
  height: height
250
260
  }, virtualizationProps), _this.ListRow);
251
261
  }) : (0, _react2.jsx)(_auto_sizer.EuiAutoSizer, {
252
262
  disableHeight: true,
253
263
  onResize: _this.calculateDefaultOptionWidth
254
- }, function (_ref3) {
255
- var width = _ref3.width;
256
- return (0, _react2.jsx)(_reactWindow.FixedSizeList, (0, _extends2.default)({
264
+ }, function (_ref4) {
265
+ var width = _ref4.width;
266
+ return (0, _react2.jsx)(_reactWindow.VariableSizeList, (0, _extends2.default)({
257
267
  width: width,
258
268
  height: calculatedHeight
259
269
  }, virtualizationProps), _this.ListRow);
@@ -270,8 +280,8 @@ var EuiSelectableList = exports.EuiSelectableList = /*#__PURE__*/function (_Comp
270
280
  // each individual item. This logic tries to offset this performance hit by
271
281
  // guesstimating a default width for each option
272
282
  (0, _defineProperty2.default)(_this, "focusBadgeOffset", 0);
273
- (0, _defineProperty2.default)(_this, "calculateDefaultOptionWidth", function (_ref4) {
274
- var containerWidth = _ref4.width;
283
+ (0, _defineProperty2.default)(_this, "calculateDefaultOptionWidth", function (_ref5) {
284
+ var containerWidth = _ref5.width;
275
285
  var _this$props4 = _this.props,
276
286
  truncationProps = _this$props4.truncationProps,
277
287
  searchable = _this$props4.searchable,
@@ -280,9 +290,9 @@ var EuiSelectableList = exports.EuiSelectableList = /*#__PURE__*/function (_Comp
280
290
  // If it's not likely we'll need to use EuiTextTruncate, don't set state/rerender on every panel resize
281
291
  var mayTruncate = searchable || truncationProps;
282
292
  if (!mayTruncate) return;
283
- var paddingOffset = _this.props.paddingSize === 'none' ? 0 : 24; // Defaults to 's'
284
- var checkedIconOffset = _this.props.showIcons === false ? 0 : 28; // Defaults to true
285
- _this.focusBadgeOffset = _this.props.onFocusBadge === false ? 0 : 46;
293
+ var paddingOffset = 24; // 2 * list item padding (8px) + 2 * text padding (4px)
294
+ var checkedIconOffset = _this.props.showIcons === false ? 0 : 24; // icon (16px) + gap (8px)
295
+ _this.focusBadgeOffset = !_this.props.onFocusBadge ? 0 : 28; // badge (20px) + gap (8px)
286
296
 
287
297
  // Wait a tick for the listbox ref to update before proceeding
288
298
  _this.animationFrameId = requestAnimationFrame(function () {
@@ -362,8 +372,8 @@ var EuiSelectableList = exports.EuiSelectableList = /*#__PURE__*/function (_Comp
362
372
  options = _this$props5.options,
363
373
  _this$props5$visibleO = _this$props5.visibleOptions,
364
374
  visibleOptions = _this$props5$visibleO === void 0 ? options : _this$props5$visibleO;
365
- _this.props.setActiveOptionIndex(visibleOptions.findIndex(function (_ref5) {
366
- var label = _ref5.label;
375
+ _this.props.setActiveOptionIndex(visibleOptions.findIndex(function (_ref6) {
376
+ var label = _ref6.label;
367
377
  return label === option.label;
368
378
  }), function () {
369
379
  if (option.checked === 'on' && allowExclusions) {
@@ -456,11 +466,12 @@ var EuiSelectableList = exports.EuiSelectableList = /*#__PURE__*/function (_Comp
456
466
  paddingSize = _this$props9.paddingSize,
457
467
  textWrap = _this$props9.textWrap,
458
468
  onFocusBadge = _this$props9.onFocusBadge,
459
- searchable = _this$props9.searchable;
469
+ searchable = _this$props9.searchable,
470
+ singleSelection = _this$props9.singleSelection;
460
471
 
461
472
  // using shouldComponentUpdate to determine needed rerender before actual rerender
462
473
  // without needing state updates or lagging behind on updates
463
- if (nextProps.allowExclusions !== allowExclusions || nextProps.showIcons !== showIcons || nextProps.paddingSize !== paddingSize || nextProps.textWrap !== textWrap || nextProps.onFocusBadge !== onFocusBadge || nextProps.searchable !== searchable) {
474
+ if (nextProps.allowExclusions !== allowExclusions || nextProps.showIcons !== showIcons || nextProps.paddingSize !== paddingSize || nextProps.textWrap !== textWrap || nextProps.onFocusBadge !== onFocusBadge || nextProps.searchable !== searchable || nextProps.singleSelection !== singleSelection) {
464
475
  this.listRowRerender += 1;
465
476
  }
466
477
  return true;
@@ -478,7 +489,8 @@ var EuiSelectableList = exports.EuiSelectableList = /*#__PURE__*/function (_Comp
478
489
  paddingSize = _this$props10.paddingSize,
479
490
  textWrap = _this$props10.textWrap,
480
491
  onFocusBadge = _this$props10.onFocusBadge,
481
- searchable = _this$props10.searchable;
492
+ searchable = _this$props10.searchable,
493
+ singleSelection = _this$props10.singleSelection;
482
494
  if (prevProps.activeOptionIndex !== activeOptionIndex) {
483
495
  var makeOptionId = this.props.makeOptionId;
484
496
  if (this.listBoxRef && this.props.searchable !== true) {
@@ -487,6 +499,8 @@ var EuiSelectableList = exports.EuiSelectableList = /*#__PURE__*/function (_Comp
487
499
  if (typeof activeOptionIndex !== 'undefined') {
488
500
  if (isVirtualized) {
489
501
  var _this$listRef;
502
+ // NOTE: Maybe we might want to consider changing scroll position to
503
+ // 'center' to not have items stick to the edges of the list
490
504
  (_this$listRef = this.listRef) === null || _this$listRef === void 0 || _this$listRef.scrollToItem(activeOptionIndex, 'auto');
491
505
  } else {
492
506
  var _this$listBoxRef;
@@ -511,7 +525,7 @@ var EuiSelectableList = exports.EuiSelectableList = /*#__PURE__*/function (_Comp
511
525
  }, this.calculateAriaSetAttrs(optionArray)));
512
526
  } else if (isVirtualized) {
513
527
  // ensure that ListRow updates based on item props
514
- if (prevProps.allowExclusions !== allowExclusions || prevProps.showIcons !== showIcons || prevProps.paddingSize !== paddingSize || prevProps.textWrap !== textWrap || prevProps.onFocusBadge !== onFocusBadge || prevProps.searchable !== searchable) {
528
+ if (prevProps.allowExclusions !== allowExclusions || prevProps.showIcons !== showIcons || prevProps.paddingSize !== paddingSize || prevProps.textWrap !== textWrap || prevProps.onFocusBadge !== onFocusBadge || prevProps.searchable !== searchable || prevProps.singleSelection !== singleSelection) {
515
529
  this.setState({
516
530
  itemData: _objectSpread({}, optionArray)
517
531
  });
@@ -557,7 +571,7 @@ var EuiSelectableList = exports.EuiSelectableList = /*#__PURE__*/function (_Comp
557
571
  var classes = (0, _classnames.default)('euiSelectableList', className);
558
572
  return (0, _react2.jsx)(_services.RenderWithEuiStylesMemoizer, null, function (stylesMemoizer) {
559
573
  var styles = stylesMemoizer(_selectable_list.euiSelectableListStyles);
560
- var cssStyles = [styles.euiSelectableList, heightIsFull && styles.fullHeight, bordered && styles.bordered];
574
+ var cssStyles = [styles.euiSelectableList, heightIsFull && styles.fullHeight, bordered && styles.bordered, paddingSize === 's' && styles.paddingSize.s];
561
575
  var listClasses = (0, _classnames.default)('euiSelectableList__list', styles.euiSelectableList__list);
562
576
  return (0, _react2.jsx)("div", (0, _extends2.default)({
563
577
  css: cssStyles,
@@ -583,6 +597,7 @@ var EuiSelectableList = exports.EuiSelectableList = /*#__PURE__*/function (_Comp
583
597
  }(_react.Component);
584
598
  (0, _defineProperty2.default)(EuiSelectableList, "defaultProps", {
585
599
  rowHeight: 32,
600
+ paddingSize: 'none',
586
601
  searchValue: '',
587
602
  isVirtualized: true
588
603
  });
@@ -3,12 +3,13 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.euiSelectableListStyles = void 0;
6
+ exports.euiSelectableListStyles = exports.euiSelectableListGroupLabelStyles = void 0;
7
7
  var _react = require("@emotion/react");
8
8
  var _css = require("@emotion/css");
9
+ var _euiThemeCommon = require("@elastic/eui-theme-common");
9
10
  var _global_styling = require("../../../global_styling");
10
11
  var _title = require("../../title/title.styles");
11
- var _selectable_list_item = require("./selectable_list_item.styles");
12
+ var _list_item_layout = require("../../list_item_layout/_list_item_layout.styles");
12
13
  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)."; } /*
13
14
  * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
14
15
  * or more contributor license agreements. Licensed under the Elastic License
@@ -27,12 +28,26 @@ var _ref = process.env.NODE_ENV === "production" ? {
27
28
  };
28
29
  var euiSelectableListStyles = exports.euiSelectableListStyles = function euiSelectableListStyles(euiThemeContext) {
29
30
  var euiTheme = euiThemeContext.euiTheme;
30
- var itemVars = (0, _selectable_list_item.euiSelectableListItemVariables)(euiThemeContext);
31
31
  return {
32
32
  euiSelectableList: /*#__PURE__*/(0, _react.css)("&:has(:focus-visible){", (0, _global_styling.euiFocusRing)(euiThemeContext, 'outset'), ";};label:euiSelectableList;"),
33
33
  fullHeight: _ref,
34
34
  bordered: /*#__PURE__*/(0, _react.css)("overflow:hidden;border:", euiTheme.border.thin, ";border-radius:", euiTheme.border.radius.medium, ";;label:bordered;"),
35
- euiSelectableList__list: /*#__PURE__*/(0, _css.css)((0, _global_styling.euiYScrollWithShadows)(euiThemeContext), " &:focus,&>ul:focus{outline:none;};label:euiSelectableList__list;"),
36
- euiSelectableList__groupLabel: /*#__PURE__*/(0, _react.css)((0, _title.euiTitle)(euiThemeContext, 'xxxs'), " display:flex;align-items:center;", (0, _global_styling.logicalCSS)('border-bottom', itemVars.border), " ", (0, _global_styling.logicalCSS)('padding-vertical', itemVars.paddingVertical), " ", (0, _global_styling.logicalCSS)('padding-horizontal', itemVars.paddingHorizontal), ";;label:euiSelectableList__groupLabel;")
35
+ paddingSize: {
36
+ s: /*#__PURE__*/(0, _react.css)("padding:", euiTheme.size.s, ";;label:s;")
37
+ },
38
+ euiSelectableList__list: /*#__PURE__*/(0, _css.css)((0, _global_styling.euiYScrollWithShadows)(euiThemeContext, {
39
+ hasAnimatedOverflowShadow: true
40
+ }), " &:focus,&>ul:focus{outline:none;};label:euiSelectableList__list;")
41
+ };
42
+ };
43
+ var euiSelectableListGroupLabelStyles = exports.euiSelectableListGroupLabelStyles = function euiSelectableListGroupLabelStyles(euiThemeContext) {
44
+ var euiTheme = euiThemeContext.euiTheme;
45
+ var itemVars = (0, _list_item_layout.euiListItemVariables)(euiThemeContext);
46
+ var spacingVertical = euiTheme.size.s;
47
+ var borderColor = euiTheme.components.selectableListItemBorderColor;
48
+ return {
49
+ groupLabel: /*#__PURE__*/(0, _react.css)((0, _title.euiTitle)(euiThemeContext, 'xxxs'), " position:relative;display:flex;align-items:center;gap:", itemVars.spacing.horizontal, ";", (0, _global_styling.logicalCSS)('padding-horizontal', itemVars.textPadding.horizontal), " ", (0, _global_styling.logicalCSS)('padding-vertical', spacingVertical), " &:not(:first-child){", (0, _global_styling.logicalCSS)('padding-top', (0, _euiThemeCommon.mathWithUnits)([spacingVertical], function (a) {
50
+ return a * 3;
51
+ })), " &::before{content:'';position:absolute;inset:0;inset-block-start:", spacingVertical, ";", (0, _global_styling.logicalCSS)('border-top', "".concat(euiTheme.border.width.thin, " solid ").concat(borderColor)), ";}};label:groupLabel;")
37
52
  };
38
53
  };