@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,16 +1,3 @@
1
- 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); }
2
- function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); }
3
- function _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }
4
- function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; }
5
- function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
6
- function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
7
- function _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }
8
- function _possibleConstructorReturn(t, e) { if (e && ("object" == _typeof(e) || "function" == typeof e)) return e; if (void 0 !== e) throw new TypeError("Derived constructors may only return object or undefined"); return _assertThisInitialized(t); }
9
- function _assertThisInitialized(e) { if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); return e; }
10
- function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
11
- function _getPrototypeOf(t) { return _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (t) { return t.__proto__ || Object.getPrototypeOf(t); }, _getPrototypeOf(t); }
12
- function _inherits(t, e) { if ("function" != typeof e && null !== e) throw new TypeError("Super expression must either be null or a function"); t.prototype = Object.create(e && e.prototype, { constructor: { value: t, writable: !0, configurable: !0 } }), Object.defineProperty(t, "prototype", { writable: !1 }), e && _setPrototypeOf(t, e); }
13
- function _setPrototypeOf(t, e) { return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) { return t.__proto__ = e, t; }, _setPrototypeOf(t, e); }
14
1
  /*
15
2
  * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
16
3
  * or more contributor license agreements. Licensed under the Elastic License
@@ -19,92 +6,56 @@ function _setPrototypeOf(t, e) { return _setPrototypeOf = Object.setPrototypeOf
19
6
  * Side Public License, v 1.
20
7
  */
21
8
 
22
- import React, { Component } from 'react';
23
- import PropTypes from "prop-types";
9
+ import React from 'react';
24
10
  import { EuiFilterButton } from '../../filter_group';
25
11
  import { Query } from '../query';
26
12
  import { jsx as ___EmotionJSX } from "@emotion/react";
27
- export var FieldValueToggleGroupFilter = /*#__PURE__*/function (_Component) {
28
- function FieldValueToggleGroupFilter() {
29
- _classCallCheck(this, FieldValueToggleGroupFilter);
30
- return _callSuper(this, FieldValueToggleGroupFilter, arguments);
31
- }
32
- _inherits(FieldValueToggleGroupFilter, _Component);
33
- return _createClass(FieldValueToggleGroupFilter, [{
34
- key: "resolveDisplay",
35
- value: function resolveDisplay(config, query, item) {
36
- var clause = query.getSimpleFieldClause(config.field, item.value);
37
- if (clause) {
38
- if (Query.isMust(clause)) {
39
- return {
40
- active: true,
41
- name: item.name
42
- };
43
- }
13
+ export var FieldValueToggleGroupFilter = function FieldValueToggleGroupFilter(props) {
14
+ var resolveDisplay = function resolveDisplay(config, query, item) {
15
+ var clause = query.getSimpleFieldClause(config.field, item.value);
16
+ if (clause) {
17
+ if (Query.isMust(clause)) {
44
18
  return {
45
19
  active: true,
46
- name: item.negatedName ? item.negatedName : "Not ".concat(item.name)
20
+ name: item.name
47
21
  };
48
22
  }
49
23
  return {
50
- active: false,
51
- name: item.name
24
+ active: true,
25
+ name: item.negatedName ? item.negatedName : "Not ".concat(item.name)
52
26
  };
53
27
  }
54
- }, {
55
- key: "valueChanged",
56
- value: function valueChanged(item, active) {
57
- var field = this.props.config.field;
58
- var value = item.value,
59
- operator = item.operator;
60
- var query = active ? this.props.query.removeSimpleFieldClauses(field) : this.props.query.removeSimpleFieldClauses(field).addSimpleFieldValue(field, value, true, operator);
61
- this.props.onChange(query);
62
- }
63
- }, {
64
- key: "render",
65
- value: function render() {
66
- var _this = this;
67
- var _this$props = this.props,
68
- config = _this$props.config,
69
- query = _this$props.query;
70
- return config.items.map(function (item, index) {
71
- var _this$resolveDisplay = _this.resolveDisplay(config, query, item),
72
- active = _this$resolveDisplay.active,
73
- name = _this$resolveDisplay.name;
74
- var onClick = function onClick() {
75
- _this.valueChanged(item, active);
76
- };
77
- var key = "field_value_toggle_filter_item_".concat(index);
78
- var isLastItem = index === config.items.length - 1;
79
- return ___EmotionJSX(EuiFilterButton, {
80
- key: key,
81
- onClick: onClick,
82
- isSelected: active,
83
- hasActiveFilters: active,
84
- "aria-pressed": !!active,
85
- withNext: !isLastItem,
86
- isToggle: true
87
- }, name);
88
- });
89
- }
90
- }]);
91
- }(Component);
92
- FieldValueToggleGroupFilter.propTypes = {
93
- index: PropTypes.number.isRequired,
94
- config: PropTypes.shape({
95
- type: PropTypes.oneOf(["field_value_toggle_group"]).isRequired,
96
- field: PropTypes.string.isRequired,
97
- /**
98
- * See {@link FieldValueToggleGroupFilterItemType}
99
- */
100
- items: PropTypes.arrayOf(PropTypes.shape({
101
- value: PropTypes.oneOfType([PropTypes.string.isRequired, PropTypes.number.isRequired, PropTypes.bool.isRequired]).isRequired,
102
- name: PropTypes.string.isRequired,
103
- negatedName: PropTypes.string,
104
- operator: PropTypes.oneOf(["eq", "exact", "gt", "gte", "lt", "lte"])
105
- }).isRequired).isRequired,
106
- available: PropTypes.func
107
- }).isRequired,
108
- query: PropTypes.any.isRequired,
109
- onChange: PropTypes.func.isRequired
28
+ return {
29
+ active: false,
30
+ name: item.name
31
+ };
32
+ };
33
+ var valueChanged = function valueChanged(item, active) {
34
+ var field = props.config.field;
35
+ var value = item.value,
36
+ operator = item.operator;
37
+ var query = active ? props.query.removeSimpleFieldClauses(field) : props.query.removeSimpleFieldClauses(field).addSimpleFieldValue(field, value, true, operator);
38
+ props.onChange(query);
39
+ };
40
+ var config = props.config,
41
+ query = props.query;
42
+ return config.items.map(function (item, index) {
43
+ var _resolveDisplay = resolveDisplay(config, query, item),
44
+ active = _resolveDisplay.active,
45
+ name = _resolveDisplay.name;
46
+ var onClick = function onClick() {
47
+ valueChanged(item, active);
48
+ };
49
+ var key = "field_value_toggle_filter_item_".concat(index);
50
+ var isLastItem = index === config.items.length - 1;
51
+ return ___EmotionJSX(EuiFilterButton, {
52
+ key: key,
53
+ onClick: onClick,
54
+ isSelected: active,
55
+ hasActiveFilters: active,
56
+ "aria-pressed": !!active,
57
+ withNext: !isLastItem,
58
+ isToggle: true
59
+ }, name);
60
+ });
110
61
  };
@@ -696,6 +696,7 @@ EuiSelectable.propTypes = {
696
696
  * `false`: allows multiple selection
697
697
  * `true`: only allows one selection
698
698
  * `always`: can and must have only one selection
699
+ * @default false
699
700
  */
700
701
  singleSelection: PropTypes.oneOfType([PropTypes.oneOf(["always"]), PropTypes.bool.isRequired]),
701
702
  /**
@@ -1,5 +1,5 @@
1
1
  var _excluded = ["data"],
2
- _excluded2 = ["label", "isGroupLabel", "checked", "disabled", "prepend", "append", "ref", "key", "searchableLabel", "data", "truncationProps"],
2
+ _excluded2 = ["label", "isGroupLabel", "checked", "disabled", "prepend", "append", "ref", "key", "searchableLabel", "data", "truncationProps", "css"],
3
3
  _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"];
4
4
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
5
5
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
@@ -31,14 +31,15 @@ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e
31
31
  import React, { Component, memo } from 'react';
32
32
  import PropTypes from "prop-types";
33
33
  import classNames from 'classnames';
34
- import { FixedSizeList, areEqual } from 'react-window';
34
+ import { VariableSizeList, areEqual } from 'react-window';
35
35
  import { RenderWithEuiStylesMemoizer } from '../../../services';
36
36
  import { EuiAutoSizer } from '../../auto_sizer';
37
37
  import { EuiHighlight } from '../../highlight';
38
38
  import { EuiMark } from '../../mark';
39
39
  import { EuiTextTruncate } from '../../text_truncate';
40
40
  import { EuiSelectableListItem } from './selectable_list_item';
41
- import { euiSelectableListStyles } from './selectable_list.styles';
41
+ import { euiSelectableListGroupLabelStyles, euiSelectableListStyles } from './selectable_list.styles';
42
+ import { getListItemSize } from './utils/get_list_item_size';
42
43
 
43
44
  // Consumer Configurable Props via `EuiSelectable.listProps`
44
45
  import { jsx as ___EmotionJSX } from "@emotion/react";
@@ -116,11 +117,17 @@ export var EuiSelectableList = /*#__PURE__*/function (_Component) {
116
117
  ariaSetSize: latestAriaPosIndex
117
118
  };
118
119
  });
119
- _defineProperty(_this, "ListRow", /*#__PURE__*/memo(function (_ref) {
120
+ _defineProperty(_this, "getItemSize", function (index) {
121
+ var _ref = _this.props,
122
+ rowHeight = _ref.rowHeight;
123
+ var option = _this.state.optionArray[index];
124
+ return getListItemSize(index, rowHeight, !!(option !== null && option !== void 0 && option.isGroupLabel));
125
+ });
126
+ _defineProperty(_this, "ListRow", /*#__PURE__*/memo(function (_ref2) {
120
127
  var _option$textWrap;
121
- var data = _ref.data,
122
- index = _ref.index,
123
- style = _ref.style;
128
+ var data = _ref2.data,
129
+ index = _ref2.index,
130
+ style = _ref2.style;
124
131
  var option = data[index];
125
132
  var optionData = option.data,
126
133
  _option = _objectWithoutProperties(option, _excluded);
@@ -135,12 +142,12 @@ export var EuiSelectableList = /*#__PURE__*/function (_Component) {
135
142
  searchableLabel = option.searchableLabel,
136
143
  _data = option.data,
137
144
  _truncationProps = option.truncationProps,
145
+ css = option.css,
138
146
  optionRest = _objectWithoutProperties(option, _excluded2);
139
147
  var _this$props2 = _this.props,
140
148
  activeOptionIndex = _this$props2.activeOptionIndex,
141
149
  allowExclusions = _this$props2.allowExclusions,
142
150
  onFocusBadge = _this$props2.onFocusBadge,
143
- paddingSize = _this$props2.paddingSize,
144
151
  showIcons = _this$props2.showIcons,
145
152
  makeOptionId = _this$props2.makeOptionId,
146
153
  renderOption = _this$props2.renderOption,
@@ -148,13 +155,14 @@ export var EuiSelectableList = /*#__PURE__*/function (_Component) {
148
155
  searchable = _this$props2.searchable,
149
156
  searchValue = _this$props2.searchValue,
150
157
  isPreFiltered = _this$props2.isPreFiltered,
151
- isVirtualized = _this$props2.isVirtualized;
158
+ isVirtualized = _this$props2.isVirtualized,
159
+ singleSelection = _this$props2.singleSelection;
152
160
  if (isGroupLabel) {
153
161
  return ___EmotionJSX(RenderWithEuiStylesMemoizer, null, function (stylesMemoizer) {
154
- var styles = stylesMemoizer(euiSelectableListStyles);
162
+ var styles = stylesMemoizer(euiSelectableListGroupLabelStyles);
155
163
  return ___EmotionJSX("li", _extends({
156
164
  role: "presentation",
157
- css: styles.euiSelectableList__groupLabel,
165
+ css: [styles.groupLabel, css, ";label:EuiSelectableList;"],
158
166
  className: "euiSelectableList__groupLabel",
159
167
  style: style
160
168
  }, optionRest), prepend, label, append);
@@ -196,9 +204,9 @@ export var EuiSelectableList = /*#__PURE__*/function (_Component) {
196
204
  onFocusBadge: onFocusBadge,
197
205
  allowExclusions: allowExclusions,
198
206
  showIcons: showIcons,
199
- paddingSize: paddingSize,
200
207
  searchable: searchable,
201
- textWrap: textWrap
208
+ textWrap: textWrap,
209
+ singleSelection: singleSelection === false ? false : true
202
210
  // @ts-ignore complex
203
211
  }, optionRest), renderOption ? renderOption( // @ts-ignore complex
204
212
  _objectSpread(_objectSpread({}, _option), optionData), searchValue) : highlightSearch ? _this.renderSearchedText(label, truncationProps) : truncationProps ? _this.renderTruncatedText(label, truncationProps) : label);
@@ -221,7 +229,9 @@ export var EuiSelectableList = /*#__PURE__*/function (_Component) {
221
229
  innerElementType: 'ul',
222
230
  itemCount: optionArray.length,
223
231
  itemData: itemData,
224
- itemSize: rowHeight,
232
+ itemSize: _this.getItemSize,
233
+ // Prevents scrollbar jump before VariableSizeList populates the cached size
234
+ estimatedItemSize: rowHeight,
225
235
  'data-skip-axe': 'scrollable-region-focusable'
226
236
  }, windowProps);
227
237
 
@@ -242,19 +252,19 @@ export var EuiSelectableList = /*#__PURE__*/function (_Component) {
242
252
  }
243
253
  return heightIsFull ? ___EmotionJSX(EuiAutoSizer, {
244
254
  onResize: _this.calculateDefaultOptionWidth
245
- }, function (_ref2) {
246
- var width = _ref2.width,
247
- height = _ref2.height;
248
- return ___EmotionJSX(FixedSizeList, _extends({
255
+ }, function (_ref3) {
256
+ var width = _ref3.width,
257
+ height = _ref3.height;
258
+ return ___EmotionJSX(VariableSizeList, _extends({
249
259
  width: width,
250
260
  height: height
251
261
  }, virtualizationProps), _this.ListRow);
252
262
  }) : ___EmotionJSX(EuiAutoSizer, {
253
263
  disableHeight: true,
254
264
  onResize: _this.calculateDefaultOptionWidth
255
- }, function (_ref3) {
256
- var width = _ref3.width;
257
- return ___EmotionJSX(FixedSizeList, _extends({
265
+ }, function (_ref4) {
266
+ var width = _ref4.width;
267
+ return ___EmotionJSX(VariableSizeList, _extends({
258
268
  width: width,
259
269
  height: calculatedHeight
260
270
  }, virtualizationProps), _this.ListRow);
@@ -271,8 +281,8 @@ export var EuiSelectableList = /*#__PURE__*/function (_Component) {
271
281
  // each individual item. This logic tries to offset this performance hit by
272
282
  // guesstimating a default width for each option
273
283
  _defineProperty(_this, "focusBadgeOffset", 0);
274
- _defineProperty(_this, "calculateDefaultOptionWidth", function (_ref4) {
275
- var containerWidth = _ref4.width;
284
+ _defineProperty(_this, "calculateDefaultOptionWidth", function (_ref5) {
285
+ var containerWidth = _ref5.width;
276
286
  var _this$props4 = _this.props,
277
287
  truncationProps = _this$props4.truncationProps,
278
288
  searchable = _this$props4.searchable,
@@ -281,9 +291,9 @@ export var EuiSelectableList = /*#__PURE__*/function (_Component) {
281
291
  // If it's not likely we'll need to use EuiTextTruncate, don't set state/rerender on every panel resize
282
292
  var mayTruncate = searchable || truncationProps;
283
293
  if (!mayTruncate) return;
284
- var paddingOffset = _this.props.paddingSize === 'none' ? 0 : 24; // Defaults to 's'
285
- var checkedIconOffset = _this.props.showIcons === false ? 0 : 28; // Defaults to true
286
- _this.focusBadgeOffset = _this.props.onFocusBadge === false ? 0 : 46;
294
+ var paddingOffset = 24; // 2 * list item padding (8px) + 2 * text padding (4px)
295
+ var checkedIconOffset = _this.props.showIcons === false ? 0 : 24; // icon (16px) + gap (8px)
296
+ _this.focusBadgeOffset = !_this.props.onFocusBadge ? 0 : 28; // badge (20px) + gap (8px)
287
297
 
288
298
  // Wait a tick for the listbox ref to update before proceeding
289
299
  _this.animationFrameId = requestAnimationFrame(function () {
@@ -363,8 +373,8 @@ export var EuiSelectableList = /*#__PURE__*/function (_Component) {
363
373
  options = _this$props5.options,
364
374
  _this$props5$visibleO = _this$props5.visibleOptions,
365
375
  visibleOptions = _this$props5$visibleO === void 0 ? options : _this$props5$visibleO;
366
- _this.props.setActiveOptionIndex(visibleOptions.findIndex(function (_ref5) {
367
- var label = _ref5.label;
376
+ _this.props.setActiveOptionIndex(visibleOptions.findIndex(function (_ref6) {
377
+ var label = _ref6.label;
368
378
  return label === option.label;
369
379
  }), function () {
370
380
  if (option.checked === 'on' && allowExclusions) {
@@ -457,11 +467,12 @@ export var EuiSelectableList = /*#__PURE__*/function (_Component) {
457
467
  paddingSize = _this$props9.paddingSize,
458
468
  textWrap = _this$props9.textWrap,
459
469
  onFocusBadge = _this$props9.onFocusBadge,
460
- searchable = _this$props9.searchable;
470
+ searchable = _this$props9.searchable,
471
+ singleSelection = _this$props9.singleSelection;
461
472
 
462
473
  // using shouldComponentUpdate to determine needed rerender before actual rerender
463
474
  // without needing state updates or lagging behind on updates
464
- if (nextProps.allowExclusions !== allowExclusions || nextProps.showIcons !== showIcons || nextProps.paddingSize !== paddingSize || nextProps.textWrap !== textWrap || nextProps.onFocusBadge !== onFocusBadge || nextProps.searchable !== searchable) {
475
+ if (nextProps.allowExclusions !== allowExclusions || nextProps.showIcons !== showIcons || nextProps.paddingSize !== paddingSize || nextProps.textWrap !== textWrap || nextProps.onFocusBadge !== onFocusBadge || nextProps.searchable !== searchable || nextProps.singleSelection !== singleSelection) {
465
476
  this.listRowRerender += 1;
466
477
  }
467
478
  return true;
@@ -479,7 +490,8 @@ export var EuiSelectableList = /*#__PURE__*/function (_Component) {
479
490
  paddingSize = _this$props10.paddingSize,
480
491
  textWrap = _this$props10.textWrap,
481
492
  onFocusBadge = _this$props10.onFocusBadge,
482
- searchable = _this$props10.searchable;
493
+ searchable = _this$props10.searchable,
494
+ singleSelection = _this$props10.singleSelection;
483
495
  if (prevProps.activeOptionIndex !== activeOptionIndex) {
484
496
  var makeOptionId = this.props.makeOptionId;
485
497
  if (this.listBoxRef && this.props.searchable !== true) {
@@ -488,6 +500,8 @@ export var EuiSelectableList = /*#__PURE__*/function (_Component) {
488
500
  if (typeof activeOptionIndex !== 'undefined') {
489
501
  if (isVirtualized) {
490
502
  var _this$listRef;
503
+ // NOTE: Maybe we might want to consider changing scroll position to
504
+ // 'center' to not have items stick to the edges of the list
491
505
  (_this$listRef = this.listRef) === null || _this$listRef === void 0 || _this$listRef.scrollToItem(activeOptionIndex, 'auto');
492
506
  } else {
493
507
  var _this$listBoxRef;
@@ -512,7 +526,7 @@ export var EuiSelectableList = /*#__PURE__*/function (_Component) {
512
526
  }, this.calculateAriaSetAttrs(optionArray)));
513
527
  } else if (isVirtualized) {
514
528
  // ensure that ListRow updates based on item props
515
- if (prevProps.allowExclusions !== allowExclusions || prevProps.showIcons !== showIcons || prevProps.paddingSize !== paddingSize || prevProps.textWrap !== textWrap || prevProps.onFocusBadge !== onFocusBadge || prevProps.searchable !== searchable) {
529
+ if (prevProps.allowExclusions !== allowExclusions || prevProps.showIcons !== showIcons || prevProps.paddingSize !== paddingSize || prevProps.textWrap !== textWrap || prevProps.onFocusBadge !== onFocusBadge || prevProps.searchable !== searchable || prevProps.singleSelection !== singleSelection) {
516
530
  this.setState({
517
531
  itemData: _objectSpread({}, optionArray)
518
532
  });
@@ -558,7 +572,7 @@ export var EuiSelectableList = /*#__PURE__*/function (_Component) {
558
572
  var classes = classNames('euiSelectableList', className);
559
573
  return ___EmotionJSX(RenderWithEuiStylesMemoizer, null, function (stylesMemoizer) {
560
574
  var styles = stylesMemoizer(euiSelectableListStyles);
561
- var cssStyles = [styles.euiSelectableList, heightIsFull && styles.fullHeight, bordered && styles.bordered];
575
+ var cssStyles = [styles.euiSelectableList, heightIsFull && styles.fullHeight, bordered && styles.bordered, paddingSize === 's' && styles.paddingSize.s];
562
576
  var listClasses = classNames('euiSelectableList__list', styles.euiSelectableList__list);
563
577
  return ___EmotionJSX("div", _extends({
564
578
  css: cssStyles,
@@ -584,6 +598,7 @@ export var EuiSelectableList = /*#__PURE__*/function (_Component) {
584
598
  }(Component);
585
599
  _defineProperty(EuiSelectableList, "defaultProps", {
586
600
  rowHeight: 32,
601
+ paddingSize: 'none',
587
602
  searchValue: '',
588
603
  isVirtualized: true
589
604
  });
@@ -599,7 +614,7 @@ EuiSelectableList.propTypes = {
599
614
  */
600
615
  activeOptionIndex: PropTypes.number,
601
616
  /**
602
- * Show the check/cross selection indicator icons
617
+ * Show the check/cross selection indicators
603
618
  */
604
619
  showIcons: PropTypes.bool,
605
620
  singleSelection: PropTypes.oneOfType([PropTypes.oneOf(["always"]), PropTypes.bool.isRequired]),
@@ -669,9 +684,10 @@ EuiSelectableList.propTypes = {
669
684
  rel: PropTypes.string
670
685
  }).isRequired]),
671
686
  /**
672
- * Padding for the list items.
687
+ * Optional list container padding.
688
+ * @default 'none'
673
689
  */
674
- paddingSize: PropTypes.any,
690
+ paddingSize: PropTypes.oneOf(["none", "s"]),
675
691
  /**
676
692
  * How to handle long text within the item.
677
693
  * Wrapping only works if virtualization is off.
@@ -11,9 +11,10 @@ import { css } from '@emotion/react';
11
11
  // .euiSelectableList__list requires a static vanilla className
12
12
  // as it's passed down to react-window's virtualization library
13
13
  import { css as classNameCss } from '@emotion/css';
14
+ import { mathWithUnits } from '@elastic/eui-theme-common';
14
15
  import { euiFocusRing, euiYScrollWithShadows, logicalCSS } from '../../../global_styling';
15
16
  import { euiTitle } from '../../title/title.styles';
16
- import { euiSelectableListItemVariables } from './selectable_list_item.styles';
17
+ import { euiListItemVariables } from '../../list_item_layout/_list_item_layout.styles';
17
18
  var _ref = process.env.NODE_ENV === "production" ? {
18
19
  name: "1giu8j5-fullHeight",
19
20
  styles: "flex-grow:1;label:fullHeight;"
@@ -24,12 +25,26 @@ var _ref = process.env.NODE_ENV === "production" ? {
24
25
  };
25
26
  export var euiSelectableListStyles = function euiSelectableListStyles(euiThemeContext) {
26
27
  var euiTheme = euiThemeContext.euiTheme;
27
- var itemVars = euiSelectableListItemVariables(euiThemeContext);
28
28
  return {
29
29
  euiSelectableList: /*#__PURE__*/css("&:has(:focus-visible){", euiFocusRing(euiThemeContext, 'outset'), ";};label:euiSelectableList;"),
30
30
  fullHeight: _ref,
31
31
  bordered: /*#__PURE__*/css("overflow:hidden;border:", euiTheme.border.thin, ";border-radius:", euiTheme.border.radius.medium, ";;label:bordered;"),
32
- euiSelectableList__list: /*#__PURE__*/classNameCss(euiYScrollWithShadows(euiThemeContext), " &:focus,&>ul:focus{outline:none;};label:euiSelectableList__list;"),
33
- euiSelectableList__groupLabel: /*#__PURE__*/css(euiTitle(euiThemeContext, 'xxxs'), " display:flex;align-items:center;", logicalCSS('border-bottom', itemVars.border), " ", logicalCSS('padding-vertical', itemVars.paddingVertical), " ", logicalCSS('padding-horizontal', itemVars.paddingHorizontal), ";;label:euiSelectableList__groupLabel;")
32
+ paddingSize: {
33
+ s: /*#__PURE__*/css("padding:", euiTheme.size.s, ";;label:s;")
34
+ },
35
+ euiSelectableList__list: /*#__PURE__*/classNameCss(euiYScrollWithShadows(euiThemeContext, {
36
+ hasAnimatedOverflowShadow: true
37
+ }), " &:focus,&>ul:focus{outline:none;};label:euiSelectableList__list;")
38
+ };
39
+ };
40
+ export var euiSelectableListGroupLabelStyles = function euiSelectableListGroupLabelStyles(euiThemeContext) {
41
+ var euiTheme = euiThemeContext.euiTheme;
42
+ var itemVars = euiListItemVariables(euiThemeContext);
43
+ var spacingVertical = euiTheme.size.s;
44
+ var borderColor = euiTheme.components.selectableListItemBorderColor;
45
+ return {
46
+ groupLabel: /*#__PURE__*/css(euiTitle(euiThemeContext, 'xxxs'), " position:relative;display:flex;align-items:center;gap:", itemVars.spacing.horizontal, ";", logicalCSS('padding-horizontal', itemVars.textPadding.horizontal), " ", logicalCSS('padding-vertical', spacingVertical), " &:not(:first-child){", logicalCSS('padding-top', mathWithUnits([spacingVertical], function (a) {
47
+ return a * 3;
48
+ })), " &::before{content:'';position:absolute;inset:0;inset-block-start:", spacingVertical, ";", logicalCSS('border-top', "".concat(euiTheme.border.width.thin, " solid ").concat(borderColor)), ";}};label:groupLabel;")
34
49
  };
35
50
  };