@elastic/eui 119.1.0 → 120.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 (544) hide show
  1. package/dist/eui-icons.json +74 -82
  2. package/dist/svgs/cloud_bolt.svg +4 -0
  3. package/dist/svgs/cloud_rain.svg +4 -0
  4. package/dist/svgs/cloud_sun.svg +4 -0
  5. package/dist/svgs/cube.svg +3 -0
  6. package/dist/svgs/kubernetes_namespace.svg +4 -0
  7. package/dist/svgs/memory.svg +1 -10
  8. package/dist/svgs/product_timelion.svg +3 -0
  9. package/dist/svgs/product_tsvb.svg +5 -0
  10. package/dist/svgs/push.svg +4 -0
  11. package/dist/svgs/transition_right_in.svg +4 -0
  12. package/dist/svgs/transition_right_out.svg +4 -0
  13. package/dist/svgs/wrench.svg +1 -1
  14. package/es/components/avatar/avatar.js +1 -1
  15. package/es/components/badge/badge.js +1 -1
  16. package/es/components/badge/beta_badge/beta_badge.js +1 -1
  17. package/es/components/basic_table/basic_table.js +4 -4
  18. package/es/components/basic_table/in_memory_table.js +4 -4
  19. package/es/components/button/button.js +17 -5
  20. package/es/components/button/button_display/_button_display_content.js +1 -1
  21. package/es/components/button/button_empty/button_empty.js +1 -1
  22. package/es/components/button/button_group/button_group.js +111 -29
  23. package/es/components/button/button_group/button_group.styles.js +20 -7
  24. package/es/components/button/button_group/use_button_group_selection.js +30 -0
  25. package/es/components/button/button_icon/button_icon.js +18 -7
  26. package/es/components/button/use_button_common_props.js +16 -7
  27. package/es/components/call_out/call_out.js +2 -2
  28. package/es/components/card/card.js +1 -1
  29. package/es/components/collapsible_nav/collapsible_nav_group/collapsible_nav_group.js +1 -1
  30. package/es/components/comment_list/comment.js +2 -2
  31. package/es/components/comment_list/comment_event.js +1 -1
  32. package/es/components/comment_list/comment_list.js +2 -2
  33. package/es/components/comment_list/comment_timeline.js +1 -1
  34. package/es/components/context_menu/context_menu_item.js +1 -1
  35. package/es/components/datagrid/body/cell/data_grid_cell.js +24 -24
  36. package/es/components/datagrid/body/data_grid_body.js +13 -13
  37. package/es/components/datagrid/body/data_grid_body_custom.js +13 -13
  38. package/es/components/datagrid/body/data_grid_body_virtualized.js +13 -13
  39. package/es/components/datagrid/body/header/data_grid_header_cell.js +12 -12
  40. package/es/components/datagrid/controls/column_sorting.js +13 -13
  41. package/es/components/datagrid/controls/column_sorting_draggable.js +1 -1
  42. package/es/components/datagrid/controls/data_grid_toolbar_control.js +1 -1
  43. package/es/components/datagrid/utils/in_memory.js +12 -12
  44. package/es/components/date_picker/date_picker.js +2 -2
  45. package/es/components/date_picker/date_picker_range.js +1 -1
  46. package/es/components/date_picker/react-datepicker/src/month_dropdown.js +0 -1
  47. package/es/components/date_picker/react-datepicker/src/month_dropdown_options.js +0 -1
  48. package/es/components/date_picker/react-datepicker/src/month_year_dropdown.js +0 -1
  49. package/es/components/date_picker/react-datepicker/src/year_dropdown.js +0 -1
  50. package/es/components/date_picker/react-datepicker/test/helper_components/custom_input.js +74 -0
  51. package/es/components/date_picker/react-datepicker/test/test_wrapper.js +38 -0
  52. package/es/components/date_picker/react-datepicker/test/timezone_date_picker.js +75 -0
  53. package/es/components/date_picker/super_date_picker/quick_select_popover/quick_select.js +224 -253
  54. package/es/components/date_picker/super_date_picker/super_update_button.js +1 -1
  55. package/es/components/delay_hide/delay_hide.js +36 -93
  56. package/es/components/delay_render/delay_render.js +42 -80
  57. package/es/components/empty_prompt/empty_prompt.js +1 -1
  58. package/es/components/flyout/flyout_menu/flyout_menu.js +4 -4
  59. package/es/components/form/field_number/field_number.js +2 -2
  60. package/es/components/form/field_text/field_text.js +2 -2
  61. package/es/components/form/form_control_button/form_control_button.js +1 -1
  62. package/es/components/form/form_control_layout/append_prepend/form_append_prepend.js +2 -2
  63. package/es/components/form/form_control_layout/form_control_layout.js +2 -2
  64. package/es/components/form/form_control_layout/form_control_layout_custom_icon.js +1 -1
  65. package/es/components/form/text_area/text_area.js +2 -2
  66. package/es/components/header/header_links/header_link.js +1 -1
  67. package/es/components/header/header_links/header_links.js +1 -1
  68. package/es/components/header/header_logo/header_logo.js +1 -1
  69. package/es/components/header/header_section/header_section_item_button.js +1 -1
  70. package/es/components/icon/assets/{kubernetes_pod.js → cloud_bolt.js} +5 -3
  71. package/es/components/icon/assets/{branch_user.js → cloud_rain.js} +4 -6
  72. package/es/components/icon/assets/{cloud_stormy.js → cloud_sun.js} +3 -3
  73. package/es/components/icon/assets/{kql_function.js → cube.js} +3 -3
  74. package/es/components/icon/assets/{cloud_drizzle.js → kubernetes_namespace.js} +5 -3
  75. package/es/components/icon/assets/memory.js +1 -3
  76. package/es/components/icon/assets/{continuity_below.js → product_timelion.js} +3 -3
  77. package/es/components/icon/assets/{cloud_sunny.js → product_tsvb.js} +7 -3
  78. package/es/components/icon/assets/{namespace.js → push.js} +3 -6
  79. package/es/components/icon/assets/{function.js → transition_right_in.js} +5 -3
  80. package/es/components/icon/assets/{continuity_above_below.js → transition_right_out.js} +5 -3
  81. package/es/components/icon/assets/wrench.js +1 -3
  82. package/es/components/icon/icon.js +1 -1
  83. package/es/components/icon/icon_glyphs.a11y.js +1 -1
  84. package/es/components/icon/icon_map.js +143 -58
  85. package/es/components/icon/svgs/cloud_bolt.svg +4 -0
  86. package/es/components/icon/svgs/cloud_rain.svg +4 -0
  87. package/es/components/icon/svgs/cloud_sun.svg +4 -0
  88. package/es/components/icon/svgs/cube.svg +3 -0
  89. package/es/components/icon/svgs/kubernetes_namespace.svg +4 -0
  90. package/es/components/icon/svgs/memory.svg +1 -10
  91. package/es/components/icon/svgs/product_timelion.svg +3 -0
  92. package/es/components/icon/svgs/product_tsvb.svg +5 -0
  93. package/es/components/icon/svgs/push.svg +4 -0
  94. package/es/components/icon/svgs/transition_right_in.svg +4 -0
  95. package/es/components/icon/svgs/transition_right_out.svg +4 -0
  96. package/es/components/icon/svgs/wrench.svg +1 -1
  97. package/es/components/key_pad_menu/key_pad_menu_item.js +1 -1
  98. package/es/components/list_group/list_group.js +2 -2
  99. package/es/components/list_group/list_group_item.js +2 -2
  100. package/es/components/list_group/list_group_item_extra_action.js +1 -1
  101. package/es/components/list_group/pinnable_list_group/pinnable_list_group.js +4 -4
  102. package/es/components/loading/loading_logo.js +1 -1
  103. package/es/components/markdown_editor/markdown_editor.js +1 -1
  104. package/es/components/markdown_editor/markdown_editor_drop_zone.js +1 -1
  105. package/es/components/markdown_editor/markdown_editor_footer.js +1 -1
  106. package/es/components/markdown_editor/markdown_editor_toolbar.js +1 -1
  107. package/es/components/page/page_header/page_header_content.js +1 -1
  108. package/es/components/pagination/pagination_button.js +1 -1
  109. package/es/components/resizable_container/resizable_collapse_button.js +4 -4
  110. package/es/components/selectable/selectable_list/selectable_list.js +1 -1
  111. package/es/components/selectable/selectable_list/selectable_list_item.js +1 -1
  112. package/es/components/selectable/selectable_templates/selectable_template_sitewide.js +1 -1
  113. package/es/components/table/table_header_cell.js +1 -1
  114. package/es/components/text_diff/text_diff.js +4 -6
  115. package/es/components/timeline/timeline_item_icon.js +1 -1
  116. package/es/components/toast/global_toast_list.js +2 -2
  117. package/es/components/toast/toast.js +2 -2
  118. package/es/components/tool_tip/icon_tip.js +1 -1
  119. package/eui.d.ts +224 -275
  120. package/lib/components/avatar/avatar.js +1 -1
  121. package/lib/components/badge/badge.js +1 -1
  122. package/lib/components/badge/beta_badge/beta_badge.js +1 -1
  123. package/lib/components/basic_table/basic_table.js +4 -4
  124. package/lib/components/basic_table/in_memory_table.js +4 -4
  125. package/lib/components/button/button.js +17 -5
  126. package/lib/components/button/button_display/_button_display_content.js +1 -1
  127. package/lib/components/button/button_empty/button_empty.js +1 -1
  128. package/lib/components/button/button_group/button_group.js +111 -29
  129. package/lib/components/button/button_group/button_group.styles.js +19 -6
  130. package/lib/components/button/button_group/use_button_group_selection.js +36 -0
  131. package/lib/components/button/button_icon/button_icon.js +18 -7
  132. package/lib/components/button/use_button_common_props.js +16 -7
  133. package/lib/components/call_out/call_out.js +2 -2
  134. package/lib/components/card/card.js +1 -1
  135. package/lib/components/collapsible_nav/collapsible_nav_group/collapsible_nav_group.js +1 -1
  136. package/lib/components/comment_list/comment.js +2 -2
  137. package/lib/components/comment_list/comment_event.js +1 -1
  138. package/lib/components/comment_list/comment_list.js +2 -2
  139. package/lib/components/comment_list/comment_timeline.js +1 -1
  140. package/lib/components/context_menu/context_menu_item.js +1 -1
  141. package/lib/components/datagrid/body/cell/data_grid_cell.js +24 -24
  142. package/lib/components/datagrid/body/data_grid_body.js +13 -13
  143. package/lib/components/datagrid/body/data_grid_body_custom.js +13 -13
  144. package/lib/components/datagrid/body/data_grid_body_virtualized.js +13 -13
  145. package/lib/components/datagrid/body/header/data_grid_header_cell.js +12 -12
  146. package/lib/components/datagrid/controls/column_sorting.js +13 -13
  147. package/lib/components/datagrid/controls/column_sorting_draggable.js +1 -1
  148. package/lib/components/datagrid/controls/data_grid_toolbar_control.js +1 -1
  149. package/lib/components/datagrid/utils/in_memory.js +12 -12
  150. package/lib/components/date_picker/date_picker.js +2 -2
  151. package/lib/components/date_picker/date_picker_range.js +1 -1
  152. package/lib/components/date_picker/react-datepicker/src/month_dropdown.js +0 -1
  153. package/lib/components/date_picker/react-datepicker/src/month_dropdown_options.js +0 -1
  154. package/lib/components/date_picker/react-datepicker/src/month_year_dropdown.js +0 -1
  155. package/lib/components/date_picker/react-datepicker/src/year_dropdown.js +0 -1
  156. package/lib/components/date_picker/react-datepicker/test/helper_components/custom_input.js +80 -0
  157. package/lib/components/date_picker/react-datepicker/test/test_wrapper.js +46 -0
  158. package/lib/components/date_picker/react-datepicker/test/timezone_date_picker.js +83 -0
  159. package/lib/components/date_picker/super_date_picker/quick_select_popover/quick_select.js +224 -253
  160. package/lib/components/date_picker/super_date_picker/super_update_button.js +1 -1
  161. package/lib/components/delay_hide/delay_hide.js +35 -93
  162. package/lib/components/delay_render/delay_render.js +41 -79
  163. package/lib/components/empty_prompt/empty_prompt.js +1 -1
  164. package/lib/components/flyout/flyout_menu/flyout_menu.js +4 -4
  165. package/lib/components/form/field_number/field_number.js +2 -2
  166. package/lib/components/form/field_text/field_text.js +2 -2
  167. package/lib/components/form/form_control_button/form_control_button.js +1 -1
  168. package/lib/components/form/form_control_layout/append_prepend/form_append_prepend.js +2 -2
  169. package/lib/components/form/form_control_layout/form_control_layout.js +2 -2
  170. package/lib/components/form/form_control_layout/form_control_layout_custom_icon.js +1 -1
  171. package/lib/components/form/text_area/text_area.js +2 -2
  172. package/lib/components/header/header_links/header_link.js +1 -1
  173. package/lib/components/header/header_links/header_links.js +1 -1
  174. package/lib/components/header/header_logo/header_logo.js +1 -1
  175. package/lib/components/header/header_section/header_section_item_button.js +1 -1
  176. package/lib/components/icon/assets/{kubernetes_pod.js → cloud_bolt.js} +5 -3
  177. package/lib/components/icon/assets/{branch_user.js → cloud_rain.js} +4 -6
  178. package/lib/components/icon/assets/{cloud_stormy.js → cloud_sun.js} +3 -3
  179. package/lib/components/icon/assets/{kql_function.js → cube.js} +3 -3
  180. package/lib/components/icon/assets/{cloud_drizzle.js → kubernetes_namespace.js} +5 -3
  181. package/lib/components/icon/assets/memory.js +1 -3
  182. package/lib/components/icon/assets/{continuity_below.js → product_timelion.js} +3 -3
  183. package/lib/components/icon/assets/{cloud_sunny.js → product_tsvb.js} +7 -3
  184. package/lib/components/icon/assets/{namespace.js → push.js} +3 -6
  185. package/lib/components/icon/assets/{function.js → transition_right_in.js} +5 -3
  186. package/lib/components/icon/assets/{continuity_above_below.js → transition_right_out.js} +5 -3
  187. package/lib/components/icon/assets/wrench.js +1 -3
  188. package/lib/components/icon/icon.js +1 -1
  189. package/lib/components/icon/icon_glyphs.a11y.js +1 -1
  190. package/lib/components/icon/icon_map.js +165 -78
  191. package/lib/components/icon/svgs/cloud_bolt.svg +4 -0
  192. package/lib/components/icon/svgs/cloud_rain.svg +4 -0
  193. package/lib/components/icon/svgs/cloud_sun.svg +4 -0
  194. package/lib/components/icon/svgs/cube.svg +3 -0
  195. package/lib/components/icon/svgs/kubernetes_namespace.svg +4 -0
  196. package/lib/components/icon/svgs/memory.svg +1 -10
  197. package/lib/components/icon/svgs/product_timelion.svg +3 -0
  198. package/lib/components/icon/svgs/product_tsvb.svg +5 -0
  199. package/lib/components/icon/svgs/push.svg +4 -0
  200. package/lib/components/icon/svgs/transition_right_in.svg +4 -0
  201. package/lib/components/icon/svgs/transition_right_out.svg +4 -0
  202. package/lib/components/icon/svgs/wrench.svg +1 -1
  203. package/lib/components/key_pad_menu/key_pad_menu_item.js +1 -1
  204. package/lib/components/list_group/list_group.js +2 -2
  205. package/lib/components/list_group/list_group_item.js +2 -2
  206. package/lib/components/list_group/list_group_item_extra_action.js +1 -1
  207. package/lib/components/list_group/pinnable_list_group/pinnable_list_group.js +4 -4
  208. package/lib/components/loading/loading_logo.js +1 -1
  209. package/lib/components/markdown_editor/markdown_editor.js +1 -1
  210. package/lib/components/markdown_editor/markdown_editor_drop_zone.js +1 -1
  211. package/lib/components/markdown_editor/markdown_editor_footer.js +1 -1
  212. package/lib/components/markdown_editor/markdown_editor_toolbar.js +1 -1
  213. package/lib/components/page/page_header/page_header_content.js +1 -1
  214. package/lib/components/pagination/pagination_button.js +1 -1
  215. package/lib/components/resizable_container/resizable_collapse_button.js +4 -4
  216. package/lib/components/selectable/selectable_list/selectable_list.js +1 -1
  217. package/lib/components/selectable/selectable_list/selectable_list_item.js +1 -1
  218. package/lib/components/selectable/selectable_templates/selectable_template_sitewide.js +1 -1
  219. package/lib/components/table/table_header_cell.js +1 -1
  220. package/lib/components/text_diff/text_diff.js +4 -6
  221. package/lib/components/timeline/timeline_item_icon.js +1 -1
  222. package/lib/components/toast/global_toast_list.js +2 -2
  223. package/lib/components/toast/toast.js +2 -2
  224. package/lib/components/tool_tip/icon_tip.js +1 -1
  225. package/optimize/es/components/button/button.js +17 -5
  226. package/optimize/es/components/button/button_group/button_group.js +44 -12
  227. package/optimize/es/components/button/button_group/button_group.styles.js +20 -7
  228. package/optimize/es/components/button/button_group/use_button_group_selection.js +30 -0
  229. package/optimize/es/components/button/button_icon/button_icon.js +17 -6
  230. package/optimize/es/components/button/use_button_common_props.js +16 -7
  231. package/optimize/es/components/date_picker/react-datepicker/src/month_dropdown.js +0 -1
  232. package/optimize/es/components/date_picker/react-datepicker/src/month_dropdown_options.js +0 -1
  233. package/optimize/es/components/date_picker/react-datepicker/src/month_year_dropdown.js +0 -1
  234. package/optimize/es/components/date_picker/react-datepicker/src/year_dropdown.js +0 -1
  235. package/optimize/es/components/date_picker/react-datepicker/test/helper_components/custom_input.js +68 -0
  236. package/optimize/es/components/date_picker/react-datepicker/test/test_wrapper.js +38 -0
  237. package/optimize/es/components/date_picker/react-datepicker/test/timezone_date_picker.js +69 -0
  238. package/optimize/es/components/date_picker/super_date_picker/quick_select_popover/quick_select.js +220 -225
  239. package/optimize/es/components/date_picker/super_date_picker/super_update_button.js +1 -1
  240. package/optimize/es/components/delay_hide/delay_hide.js +31 -81
  241. package/optimize/es/components/delay_render/delay_render.js +36 -73
  242. package/optimize/es/components/icon/assets/{continuity_below.js → cloud_bolt.js} +5 -3
  243. package/optimize/es/components/icon/assets/{branch_user.js → cloud_rain.js} +4 -6
  244. package/optimize/es/components/icon/assets/{cloud_sunny.js → cloud_sun.js} +3 -3
  245. package/optimize/es/components/icon/assets/{kql_function.js → cube.js} +3 -3
  246. package/optimize/es/components/icon/assets/{cloud_drizzle.js → kubernetes_namespace.js} +5 -3
  247. package/optimize/es/components/icon/assets/memory.js +1 -3
  248. package/optimize/es/components/icon/assets/product_timelion.js +32 -0
  249. package/optimize/es/components/icon/assets/{cloud_stormy.js → product_tsvb.js} +7 -3
  250. package/optimize/es/components/icon/assets/{namespace.js → push.js} +3 -6
  251. package/optimize/es/components/icon/assets/{function.js → transition_right_in.js} +5 -3
  252. package/optimize/es/components/icon/assets/{continuity_above_below.js → transition_right_out.js} +5 -3
  253. package/optimize/es/components/icon/assets/wrench.js +1 -3
  254. package/optimize/es/components/icon/icon_glyphs.a11y.js +1 -1
  255. package/optimize/es/components/icon/icon_map.js +143 -58
  256. package/optimize/es/components/icon/svgs/cloud_bolt.svg +4 -0
  257. package/optimize/es/components/icon/svgs/cloud_rain.svg +4 -0
  258. package/optimize/es/components/icon/svgs/cloud_sun.svg +4 -0
  259. package/optimize/es/components/icon/svgs/cube.svg +3 -0
  260. package/optimize/es/components/icon/svgs/kubernetes_namespace.svg +4 -0
  261. package/optimize/es/components/icon/svgs/memory.svg +1 -10
  262. package/optimize/es/components/icon/svgs/product_timelion.svg +3 -0
  263. package/optimize/es/components/icon/svgs/product_tsvb.svg +5 -0
  264. package/optimize/es/components/icon/svgs/push.svg +4 -0
  265. package/optimize/es/components/icon/svgs/transition_right_in.svg +4 -0
  266. package/optimize/es/components/icon/svgs/transition_right_out.svg +4 -0
  267. package/optimize/es/components/icon/svgs/wrench.svg +1 -1
  268. package/optimize/es/components/resizable_container/resizable_collapse_button.js +4 -4
  269. package/optimize/es/components/text_diff/text_diff.js +4 -6
  270. package/optimize/lib/components/button/button.js +17 -5
  271. package/optimize/lib/components/button/button_group/button_group.js +44 -12
  272. package/optimize/lib/components/button/button_group/button_group.styles.js +19 -6
  273. package/optimize/lib/components/button/button_group/use_button_group_selection.js +36 -0
  274. package/optimize/lib/components/button/button_icon/button_icon.js +17 -6
  275. package/optimize/lib/components/button/use_button_common_props.js +16 -7
  276. package/optimize/lib/components/date_picker/react-datepicker/src/month_dropdown.js +0 -1
  277. package/optimize/lib/components/date_picker/react-datepicker/src/month_dropdown_options.js +0 -1
  278. package/optimize/lib/components/date_picker/react-datepicker/src/month_year_dropdown.js +0 -1
  279. package/optimize/lib/components/date_picker/react-datepicker/src/year_dropdown.js +0 -1
  280. package/optimize/lib/components/date_picker/react-datepicker/test/helper_components/custom_input.js +74 -0
  281. package/optimize/lib/components/date_picker/react-datepicker/test/test_wrapper.js +46 -0
  282. package/optimize/lib/components/date_picker/react-datepicker/test/timezone_date_picker.js +78 -0
  283. package/optimize/lib/components/date_picker/super_date_picker/quick_select_popover/quick_select.js +219 -224
  284. package/optimize/lib/components/date_picker/super_date_picker/super_update_button.js +1 -1
  285. package/optimize/lib/components/delay_hide/delay_hide.js +32 -80
  286. package/optimize/lib/components/delay_render/delay_render.js +37 -72
  287. package/optimize/lib/components/icon/assets/{continuity_below.js → cloud_bolt.js} +5 -3
  288. package/{test-env/components/icon/assets/branch_user.js → optimize/lib/components/icon/assets/cloud_rain.js} +4 -6
  289. package/optimize/lib/components/icon/assets/{cloud_sunny.js → cloud_sun.js} +3 -3
  290. package/{test-env/components/icon/assets/kql_function.js → optimize/lib/components/icon/assets/cube.js} +3 -3
  291. package/optimize/lib/components/icon/assets/{cloud_drizzle.js → kubernetes_namespace.js} +5 -3
  292. package/optimize/lib/components/icon/assets/memory.js +1 -3
  293. package/{test-env/components/icon/assets/continuity_below.js → optimize/lib/components/icon/assets/product_timelion.js} +3 -3
  294. package/optimize/lib/components/icon/assets/product_tsvb.js +44 -0
  295. package/{test-env/components/icon/assets/namespace.js → optimize/lib/components/icon/assets/push.js} +3 -6
  296. package/optimize/lib/components/icon/assets/{function.js → transition_right_in.js} +5 -3
  297. package/optimize/lib/components/icon/assets/transition_right_out.js +42 -0
  298. package/optimize/lib/components/icon/assets/wrench.js +1 -3
  299. package/optimize/lib/components/icon/icon_glyphs.a11y.js +1 -1
  300. package/optimize/lib/components/icon/icon_map.js +165 -78
  301. package/optimize/lib/components/icon/svgs/cloud_bolt.svg +4 -0
  302. package/optimize/lib/components/icon/svgs/cloud_rain.svg +4 -0
  303. package/optimize/lib/components/icon/svgs/cloud_sun.svg +4 -0
  304. package/optimize/lib/components/icon/svgs/cube.svg +3 -0
  305. package/optimize/lib/components/icon/svgs/kubernetes_namespace.svg +4 -0
  306. package/optimize/lib/components/icon/svgs/memory.svg +1 -10
  307. package/optimize/lib/components/icon/svgs/product_timelion.svg +3 -0
  308. package/optimize/lib/components/icon/svgs/product_tsvb.svg +5 -0
  309. package/optimize/lib/components/icon/svgs/push.svg +4 -0
  310. package/optimize/lib/components/icon/svgs/transition_right_in.svg +4 -0
  311. package/optimize/lib/components/icon/svgs/transition_right_out.svg +4 -0
  312. package/optimize/lib/components/icon/svgs/wrench.svg +1 -1
  313. package/optimize/lib/components/resizable_container/resizable_collapse_button.js +4 -4
  314. package/optimize/lib/components/text_diff/text_diff.js +4 -6
  315. package/package.json +12 -10
  316. package/test-env/components/avatar/avatar.js +1 -1
  317. package/test-env/components/badge/badge.js +1 -1
  318. package/test-env/components/badge/beta_badge/beta_badge.js +1 -1
  319. package/test-env/components/basic_table/basic_table.js +4 -4
  320. package/test-env/components/basic_table/in_memory_table.js +4 -4
  321. package/test-env/components/button/button.js +17 -5
  322. package/test-env/components/button/button_display/_button_display_content.js +1 -1
  323. package/test-env/components/button/button_empty/button_empty.js +1 -1
  324. package/test-env/components/button/button_group/button_group.js +111 -29
  325. package/test-env/components/button/button_group/button_group.styles.js +19 -6
  326. package/test-env/components/button/button_group/use_button_group_selection.js +36 -0
  327. package/test-env/components/button/button_icon/button_icon.js +18 -7
  328. package/test-env/components/button/use_button_common_props.js +16 -7
  329. package/test-env/components/call_out/call_out.js +2 -2
  330. package/test-env/components/card/card.js +1 -1
  331. package/test-env/components/collapsible_nav/collapsible_nav_group/collapsible_nav_group.js +1 -1
  332. package/test-env/components/comment_list/comment.js +2 -2
  333. package/test-env/components/comment_list/comment_event.js +1 -1
  334. package/test-env/components/comment_list/comment_list.js +2 -2
  335. package/test-env/components/comment_list/comment_timeline.js +1 -1
  336. package/test-env/components/context_menu/context_menu_item.js +1 -1
  337. package/test-env/components/datagrid/body/cell/data_grid_cell.js +24 -24
  338. package/test-env/components/datagrid/body/data_grid_body.js +13 -13
  339. package/test-env/components/datagrid/body/data_grid_body_custom.js +13 -13
  340. package/test-env/components/datagrid/body/data_grid_body_virtualized.js +13 -13
  341. package/test-env/components/datagrid/body/header/data_grid_header_cell.js +12 -12
  342. package/test-env/components/datagrid/controls/column_sorting.js +13 -13
  343. package/test-env/components/datagrid/controls/column_sorting_draggable.js +1 -1
  344. package/test-env/components/datagrid/controls/data_grid_toolbar_control.js +1 -1
  345. package/test-env/components/datagrid/utils/in_memory.js +12 -12
  346. package/test-env/components/date_picker/date_picker.js +2 -2
  347. package/test-env/components/date_picker/date_picker_range.js +1 -1
  348. package/test-env/components/date_picker/react-datepicker/src/month_dropdown.js +0 -1
  349. package/test-env/components/date_picker/react-datepicker/src/month_dropdown_options.js +0 -1
  350. package/test-env/components/date_picker/react-datepicker/src/month_year_dropdown.js +0 -1
  351. package/test-env/components/date_picker/react-datepicker/src/year_dropdown.js +0 -1
  352. package/test-env/components/date_picker/react-datepicker/test/helper_components/custom_input.js +74 -0
  353. package/test-env/components/date_picker/react-datepicker/test/test_wrapper.js +46 -0
  354. package/test-env/components/date_picker/react-datepicker/test/timezone_date_picker.js +78 -0
  355. package/test-env/components/date_picker/super_date_picker/quick_select_popover/quick_select.js +218 -249
  356. package/test-env/components/date_picker/super_date_picker/super_update_button.js +1 -1
  357. package/test-env/components/delay_hide/delay_hide.js +32 -86
  358. package/test-env/components/delay_render/delay_render.js +38 -73
  359. package/test-env/components/empty_prompt/empty_prompt.js +1 -1
  360. package/test-env/components/flyout/flyout_menu/flyout_menu.js +4 -4
  361. package/test-env/components/form/field_number/field_number.js +2 -2
  362. package/test-env/components/form/field_text/field_text.js +2 -2
  363. package/test-env/components/form/form_control_button/form_control_button.js +1 -1
  364. package/test-env/components/form/form_control_layout/append_prepend/form_append_prepend.js +2 -2
  365. package/test-env/components/form/form_control_layout/form_control_layout.js +2 -2
  366. package/test-env/components/form/form_control_layout/form_control_layout_custom_icon.js +1 -1
  367. package/test-env/components/form/text_area/text_area.js +2 -2
  368. package/test-env/components/header/header_links/header_link.js +1 -1
  369. package/test-env/components/header/header_links/header_links.js +1 -1
  370. package/test-env/components/header/header_logo/header_logo.js +1 -1
  371. package/test-env/components/header/header_section/header_section_item_button.js +1 -1
  372. package/{optimize/lib/components/icon/assets/kubernetes_pod.js → test-env/components/icon/assets/cloud_bolt.js} +5 -3
  373. package/{optimize/lib/components/icon/assets/branch_user.js → test-env/components/icon/assets/cloud_rain.js} +4 -6
  374. package/{optimize/lib/components/icon/assets/cloud_stormy.js → test-env/components/icon/assets/cloud_sun.js} +3 -3
  375. package/{optimize/lib/components/icon/assets/kql_function.js → test-env/components/icon/assets/cube.js} +3 -3
  376. package/test-env/components/icon/assets/kubernetes_namespace.js +42 -0
  377. package/test-env/components/icon/assets/memory.js +1 -3
  378. package/test-env/components/icon/assets/product_timelion.js +40 -0
  379. package/test-env/components/icon/assets/product_tsvb.js +44 -0
  380. package/{optimize/lib/components/icon/assets/namespace.js → test-env/components/icon/assets/push.js} +3 -6
  381. package/{optimize/lib/components/icon/assets/continuity_above_below.js → test-env/components/icon/assets/transition_right_in.js} +5 -3
  382. package/test-env/components/icon/assets/transition_right_out.js +42 -0
  383. package/test-env/components/icon/assets/wrench.js +1 -3
  384. package/test-env/components/icon/icon_glyphs.a11y.js +1 -1
  385. package/test-env/components/icon/icon_map.js +165 -78
  386. package/test-env/components/key_pad_menu/key_pad_menu_item.js +1 -1
  387. package/test-env/components/list_group/list_group.js +2 -2
  388. package/test-env/components/list_group/list_group_item.js +2 -2
  389. package/test-env/components/list_group/list_group_item_extra_action.js +1 -1
  390. package/test-env/components/list_group/pinnable_list_group/pinnable_list_group.js +4 -4
  391. package/test-env/components/loading/loading_logo.js +1 -1
  392. package/test-env/components/markdown_editor/markdown_editor.js +1 -1
  393. package/test-env/components/markdown_editor/markdown_editor_drop_zone.js +1 -1
  394. package/test-env/components/markdown_editor/markdown_editor_footer.js +1 -1
  395. package/test-env/components/markdown_editor/markdown_editor_toolbar.js +1 -1
  396. package/test-env/components/page/page_header/page_header_content.js +1 -1
  397. package/test-env/components/pagination/pagination_button.js +1 -1
  398. package/test-env/components/resizable_container/resizable_collapse_button.js +4 -4
  399. package/test-env/components/selectable/selectable_list/selectable_list.js +1 -1
  400. package/test-env/components/selectable/selectable_list/selectable_list_item.js +1 -1
  401. package/test-env/components/selectable/selectable_templates/selectable_template_sitewide.js +1 -1
  402. package/test-env/components/table/table_header_cell.js +1 -1
  403. package/test-env/components/text_diff/text_diff.js +4 -6
  404. package/test-env/components/timeline/timeline_item_icon.js +1 -1
  405. package/test-env/components/toast/global_toast_list.js +2 -2
  406. package/test-env/components/toast/toast.js +2 -2
  407. package/test-env/components/tool_tip/icon_tip.js +1 -1
  408. package/dist/svgs/branch_user.svg +0 -4
  409. package/dist/svgs/cloud_drizzle.svg +0 -3
  410. package/dist/svgs/cloud_stormy.svg +0 -3
  411. package/dist/svgs/cloud_sunny.svg +0 -3
  412. package/dist/svgs/continuity_above_below.svg +0 -3
  413. package/dist/svgs/continuity_below.svg +0 -3
  414. package/dist/svgs/function.svg +0 -3
  415. package/dist/svgs/kql_function.svg +0 -5
  416. package/dist/svgs/kubernetes_pod.svg +0 -3
  417. package/dist/svgs/magnet.svg +0 -3
  418. package/dist/svgs/menu_down.svg +0 -3
  419. package/dist/svgs/menu_up.svg +0 -3
  420. package/dist/svgs/namespace.svg +0 -3
  421. package/dist/svgs/page_select.svg +0 -3
  422. package/dist/svgs/security_signal_resolved.svg +0 -3
  423. package/dist/svgs/tear.svg +0 -3
  424. package/dist/svgs/vis_timelion.svg +0 -3
  425. package/dist/svgs/vis_visual_builder.svg +0 -3
  426. package/es/components/icon/assets/magnet.js +0 -33
  427. package/es/components/icon/assets/menu_down.js +0 -33
  428. package/es/components/icon/assets/menu_up.js +0 -33
  429. package/es/components/icon/assets/page_select.js +0 -34
  430. package/es/components/icon/assets/security_signal_resolved.js +0 -34
  431. package/es/components/icon/assets/tear.js +0 -33
  432. package/es/components/icon/assets/vis_timelion.js +0 -33
  433. package/es/components/icon/assets/vis_visual_builder.js +0 -33
  434. package/es/components/icon/svgs/branch_user.svg +0 -4
  435. package/es/components/icon/svgs/cloud_drizzle.svg +0 -3
  436. package/es/components/icon/svgs/cloud_stormy.svg +0 -3
  437. package/es/components/icon/svgs/cloud_sunny.svg +0 -3
  438. package/es/components/icon/svgs/continuity_above_below.svg +0 -3
  439. package/es/components/icon/svgs/continuity_below.svg +0 -3
  440. package/es/components/icon/svgs/function.svg +0 -3
  441. package/es/components/icon/svgs/kql_function.svg +0 -5
  442. package/es/components/icon/svgs/kubernetes_pod.svg +0 -3
  443. package/es/components/icon/svgs/magnet.svg +0 -3
  444. package/es/components/icon/svgs/menu_down.svg +0 -3
  445. package/es/components/icon/svgs/menu_up.svg +0 -3
  446. package/es/components/icon/svgs/namespace.svg +0 -3
  447. package/es/components/icon/svgs/page_select.svg +0 -3
  448. package/es/components/icon/svgs/security_signal_resolved.svg +0 -3
  449. package/es/components/icon/svgs/tear.svg +0 -3
  450. package/es/components/icon/svgs/vis_timelion.svg +0 -3
  451. package/es/components/icon/svgs/vis_visual_builder.svg +0 -3
  452. package/lib/components/icon/assets/magnet.js +0 -40
  453. package/lib/components/icon/assets/menu_down.js +0 -40
  454. package/lib/components/icon/assets/menu_up.js +0 -40
  455. package/lib/components/icon/assets/page_select.js +0 -41
  456. package/lib/components/icon/assets/security_signal_resolved.js +0 -41
  457. package/lib/components/icon/assets/tear.js +0 -40
  458. package/lib/components/icon/assets/vis_timelion.js +0 -40
  459. package/lib/components/icon/assets/vis_visual_builder.js +0 -40
  460. package/lib/components/icon/svgs/branch_user.svg +0 -4
  461. package/lib/components/icon/svgs/cloud_drizzle.svg +0 -3
  462. package/lib/components/icon/svgs/cloud_stormy.svg +0 -3
  463. package/lib/components/icon/svgs/cloud_sunny.svg +0 -3
  464. package/lib/components/icon/svgs/continuity_above_below.svg +0 -3
  465. package/lib/components/icon/svgs/continuity_below.svg +0 -3
  466. package/lib/components/icon/svgs/function.svg +0 -3
  467. package/lib/components/icon/svgs/kql_function.svg +0 -5
  468. package/lib/components/icon/svgs/kubernetes_pod.svg +0 -3
  469. package/lib/components/icon/svgs/magnet.svg +0 -3
  470. package/lib/components/icon/svgs/menu_down.svg +0 -3
  471. package/lib/components/icon/svgs/menu_up.svg +0 -3
  472. package/lib/components/icon/svgs/namespace.svg +0 -3
  473. package/lib/components/icon/svgs/page_select.svg +0 -3
  474. package/lib/components/icon/svgs/security_signal_resolved.svg +0 -3
  475. package/lib/components/icon/svgs/tear.svg +0 -3
  476. package/lib/components/icon/svgs/vis_timelion.svg +0 -3
  477. package/lib/components/icon/svgs/vis_visual_builder.svg +0 -3
  478. package/optimize/es/components/icon/assets/kubernetes_pod.js +0 -32
  479. package/optimize/es/components/icon/assets/magnet.js +0 -32
  480. package/optimize/es/components/icon/assets/menu_down.js +0 -32
  481. package/optimize/es/components/icon/assets/menu_up.js +0 -32
  482. package/optimize/es/components/icon/assets/page_select.js +0 -33
  483. package/optimize/es/components/icon/assets/security_signal_resolved.js +0 -33
  484. package/optimize/es/components/icon/assets/tear.js +0 -32
  485. package/optimize/es/components/icon/assets/vis_timelion.js +0 -32
  486. package/optimize/es/components/icon/assets/vis_visual_builder.js +0 -32
  487. package/optimize/es/components/icon/svgs/branch_user.svg +0 -4
  488. package/optimize/es/components/icon/svgs/cloud_drizzle.svg +0 -3
  489. package/optimize/es/components/icon/svgs/cloud_stormy.svg +0 -3
  490. package/optimize/es/components/icon/svgs/cloud_sunny.svg +0 -3
  491. package/optimize/es/components/icon/svgs/continuity_above_below.svg +0 -3
  492. package/optimize/es/components/icon/svgs/continuity_below.svg +0 -3
  493. package/optimize/es/components/icon/svgs/function.svg +0 -3
  494. package/optimize/es/components/icon/svgs/kql_function.svg +0 -5
  495. package/optimize/es/components/icon/svgs/kubernetes_pod.svg +0 -3
  496. package/optimize/es/components/icon/svgs/magnet.svg +0 -3
  497. package/optimize/es/components/icon/svgs/menu_down.svg +0 -3
  498. package/optimize/es/components/icon/svgs/menu_up.svg +0 -3
  499. package/optimize/es/components/icon/svgs/namespace.svg +0 -3
  500. package/optimize/es/components/icon/svgs/page_select.svg +0 -3
  501. package/optimize/es/components/icon/svgs/security_signal_resolved.svg +0 -3
  502. package/optimize/es/components/icon/svgs/tear.svg +0 -3
  503. package/optimize/es/components/icon/svgs/vis_timelion.svg +0 -3
  504. package/optimize/es/components/icon/svgs/vis_visual_builder.svg +0 -3
  505. package/optimize/lib/components/icon/assets/magnet.js +0 -40
  506. package/optimize/lib/components/icon/assets/menu_down.js +0 -40
  507. package/optimize/lib/components/icon/assets/menu_up.js +0 -40
  508. package/optimize/lib/components/icon/assets/page_select.js +0 -41
  509. package/optimize/lib/components/icon/assets/security_signal_resolved.js +0 -41
  510. package/optimize/lib/components/icon/assets/tear.js +0 -40
  511. package/optimize/lib/components/icon/assets/vis_timelion.js +0 -40
  512. package/optimize/lib/components/icon/assets/vis_visual_builder.js +0 -40
  513. package/optimize/lib/components/icon/svgs/branch_user.svg +0 -4
  514. package/optimize/lib/components/icon/svgs/cloud_drizzle.svg +0 -3
  515. package/optimize/lib/components/icon/svgs/cloud_stormy.svg +0 -3
  516. package/optimize/lib/components/icon/svgs/cloud_sunny.svg +0 -3
  517. package/optimize/lib/components/icon/svgs/continuity_above_below.svg +0 -3
  518. package/optimize/lib/components/icon/svgs/continuity_below.svg +0 -3
  519. package/optimize/lib/components/icon/svgs/function.svg +0 -3
  520. package/optimize/lib/components/icon/svgs/kql_function.svg +0 -5
  521. package/optimize/lib/components/icon/svgs/kubernetes_pod.svg +0 -3
  522. package/optimize/lib/components/icon/svgs/magnet.svg +0 -3
  523. package/optimize/lib/components/icon/svgs/menu_down.svg +0 -3
  524. package/optimize/lib/components/icon/svgs/menu_up.svg +0 -3
  525. package/optimize/lib/components/icon/svgs/namespace.svg +0 -3
  526. package/optimize/lib/components/icon/svgs/page_select.svg +0 -3
  527. package/optimize/lib/components/icon/svgs/security_signal_resolved.svg +0 -3
  528. package/optimize/lib/components/icon/svgs/tear.svg +0 -3
  529. package/optimize/lib/components/icon/svgs/vis_timelion.svg +0 -3
  530. package/optimize/lib/components/icon/svgs/vis_visual_builder.svg +0 -3
  531. package/test-env/components/icon/assets/cloud_drizzle.js +0 -40
  532. package/test-env/components/icon/assets/cloud_stormy.js +0 -40
  533. package/test-env/components/icon/assets/cloud_sunny.js +0 -40
  534. package/test-env/components/icon/assets/continuity_above_below.js +0 -40
  535. package/test-env/components/icon/assets/function.js +0 -40
  536. package/test-env/components/icon/assets/kubernetes_pod.js +0 -40
  537. package/test-env/components/icon/assets/magnet.js +0 -40
  538. package/test-env/components/icon/assets/menu_down.js +0 -40
  539. package/test-env/components/icon/assets/menu_up.js +0 -40
  540. package/test-env/components/icon/assets/page_select.js +0 -41
  541. package/test-env/components/icon/assets/security_signal_resolved.js +0 -41
  542. package/test-env/components/icon/assets/tear.js +0 -40
  543. package/test-env/components/icon/assets/vis_timelion.js +0 -40
  544. package/test-env/components/icon/assets/vis_visual_builder.js +0 -40
@@ -10,12 +10,13 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
10
10
  var _react = _interopRequireWildcard(require("react"));
11
11
  var _services = require("../../../services");
12
12
  var _accessibility = require("../../accessibility");
13
- var _button_group_button = require("./button_group_button");
14
13
  var _button_context = require("../button_context");
14
+ var _button_group_button = require("./button_group_button");
15
+ var _use_button_group_selection = require("./use_button_group_selection");
15
16
  var _button_group = require("./button_group.styles");
16
17
  var _react2 = require("@emotion/react");
17
18
  var _excluded = ["className", "buttonSize", "color", "idSelected", "idToSelectedMap", "isDisabled", "hasAriaDisabled", "isFullWidth", "isIconOnly", "legend", "name", "onChange", "options", "type"],
18
- _excluded2 = ["className", "children", "legend", "buttonSize", "variant", "gutterSize", "isDisabled", "hasAriaDisabled", "isFullWidth", "showDividers", "wrap", "layout", "onChange"];
19
+ _excluded2 = ["className", "children", "legend", "buttonSize", "variant", "gutterSize", "isDisabled", "hasAriaDisabled", "isFullWidth", "showDividers", "wrap", "layout", "display", "type", "idSelected", "idToSelectedMap", "onChange"];
19
20
  /*
20
21
  * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
21
22
  * or more contributor license agreements. Licensed under the Elastic License
@@ -252,32 +253,62 @@ var EuiButtonGroupChildren = exports.EuiButtonGroupChildren = function EuiButton
252
253
  wrap = _ref2$wrap === void 0 ? true : _ref2$wrap,
253
254
  _ref2$layout = _ref2.layout,
254
255
  layout = _ref2$layout === void 0 ? 'horizontal' : _ref2$layout,
255
- _onChange = _ref2.onChange,
256
+ _ref2$display = _ref2.display,
257
+ display = _ref2$display === void 0 ? 'regular' : _ref2$display,
258
+ type = _ref2.type,
259
+ idSelected = _ref2.idSelected,
260
+ idToSelectedMap = _ref2.idToSelectedMap,
261
+ onChange = _ref2.onChange,
256
262
  rest = _objectWithoutProperties(_ref2, _excluded2);
257
263
  var isSegmented = variant === 'segmented';
264
+ var isSelection = variant === 'selection';
265
+ var hasSegmentedStyle = isSegmented || isSelection;
258
266
  var hasGutterSize = variant === 'default' && gutterSize !== 'none';
267
+ var _useEuiButtonGroupSel = (0, _use_button_group_selection.useEuiButtonGroupSelection)({
268
+ type: type,
269
+ idSelected: idSelected,
270
+ idToSelectedMap: idToSelectedMap,
271
+ onChange: onChange
272
+ }),
273
+ isSelected = _useEuiButtonGroupSel.isSelected,
274
+ _onSelect = _useEuiButtonGroupSel.onSelect;
259
275
  var wrapperCssStyles = [_button_group.euiButtonGroupStyles.euiButtonGroup, isFullWidth && _button_group.euiButtonGroupStyles.fullWidth];
260
276
  var styles = (0, _services.useEuiMemoizedStyles)(_button_group.euiButtonGroupButtonsStyles);
261
- var cssStyles = [styles.euiButtonGroup__buttons, hasGutterSize && styles.gutterSize[gutterSize], isSegmented && !wrap && styles.noWrap];
277
+ var cssStyles = [styles.euiButtonGroup__buttons, hasGutterSize && styles.gutterSize[gutterSize], hasSegmentedStyle && !wrap && styles.noWrap];
262
278
  var containerCssStyles = [styles.euiButtonGroup__container, isFullWidth && layout !== 'vertical' && styles.fullWidth];
263
279
  var classes = (0, _classnames.default)('euiButtonGroup', {
264
280
  'euiButtonGroup-isDisabled': isDisabled
265
281
  }, className);
266
282
  var contextValue = (0, _react.useMemo)(function () {
267
- return _objectSpread({
283
+ return _objectSpread(_objectSpread(_objectSpread({
268
284
  size: buttonSize,
269
285
  isDisabled: isDisabled || undefined,
270
286
  hasAriaDisabled: hasAriaDisabled || undefined,
271
287
  fullWidth: isFullWidth
272
- }, isSegmented && {
288
+ }, (isSegmented || isSelection) && {
289
+ color: 'text'
290
+ }), isSegmented && {
273
291
  display: 'base',
274
- color: 'text',
275
292
  fill: false
293
+ }), isSelection && {
294
+ getSelectionProps: function getSelectionProps(id) {
295
+ var selected = isSelected(id);
296
+ var isInverse = display === 'inverse';
297
+ var hasFill = selected && display === 'highlighted';
298
+ return {
299
+ isSelected: selected,
300
+ fill: isInverse ? false : hasFill,
301
+ display: isInverse ? 'base' : hasFill ? 'fill' : undefined,
302
+ onSelect: function onSelect() {
303
+ return _onSelect(id);
304
+ }
305
+ };
306
+ }
276
307
  });
277
- }, [buttonSize, isDisabled, hasAriaDisabled, isFullWidth, isSegmented]);
308
+ }, [buttonSize, isDisabled, hasAriaDisabled, isFullWidth, isSegmented, isSelection, isSelected, _onSelect, display]);
278
309
 
279
- // wrap children in a wrapper to be able to apply required styles
280
- var children = isSegmented ? flattenButtonGroupChildren(_children).map(function (child, index) {
310
+ // wrap children in a wrapper to apply required inset styles
311
+ var children = isSegmented || isSelection ? flattenButtonGroupChildren(_children).map(function (child, index) {
281
312
  var _child$key;
282
313
  return (0, _react2.jsx)("div", {
283
314
  key: (_child$key = child.key) !== null && _child$key !== void 0 ? _child$key : "euiButtonGroupItem-".concat(index),
@@ -290,8 +321,9 @@ var EuiButtonGroupChildren = exports.EuiButtonGroupChildren = function EuiButton
290
321
  role: "group",
291
322
  "data-variant": variant,
292
323
  "data-size": buttonSize,
293
- "data-layout": isSegmented ? layout : undefined,
294
- "data-dividers": isSegmented && showDividers || undefined,
324
+ "data-display": isSelection ? display : undefined,
325
+ "data-layout": hasSegmentedStyle ? layout : undefined,
326
+ "data-dividers": hasSegmentedStyle && showDividers || undefined,
295
327
  "aria-label": legend,
296
328
  "aria-disabled": isDisabled || undefined
297
329
  }, rest), (0, _react2.jsx)("div", {
@@ -333,14 +365,6 @@ EuiButtonGroupChildren.propTypes = {
333
365
  * @default 's'
334
366
  */
335
367
  buttonSize: _propTypes.default.oneOf(["s", "m"]),
336
- /**
337
- * Defines the type of a button group, which renders visually and functionally different:
338
- * - default: arranges buttons in a horizontal row with optional gutter via `gutterSize`
339
- * - segmented: arranges buttons in a horizontal or vertical row with no gutter.
340
- * The buttons are placed inset and dividers can optionally be shown between them.
341
- * @default 'default'
342
- */
343
- variant: _propTypes.default.oneOf(["default", "segmented"]),
344
368
  /**
345
369
  * Defines the gutter size between children buttons.
346
370
  * Applies only when `variant="default"`.
@@ -349,36 +373,94 @@ EuiButtonGroupChildren.propTypes = {
349
373
  gutterSize: _propTypes.default.any,
350
374
  /**
351
375
  * Expands the whole group to the full width of the container.
352
- * `EuiButton` children will stretch to fill the available space via their `fullWidth` prop.
376
+ * Only `EuiButton` children will stretch to fill the available space.
377
+ * `EuiButtonIcon` groups will not stretch.
353
378
  * Does not apply when `layout="vertical"`.
354
379
  * @default false
355
380
  */
356
381
  isFullWidth: _propTypes.default.bool,
357
382
  /**
358
383
  * Shows dividers between buttons.
359
- * Applies only when `variant="segmented"`.
384
+ * Does not apply when `variant="default"`.
360
385
  * @default false
361
386
  */
362
387
  showDividers: _propTypes.default.bool,
363
388
  /**
364
389
  * Defines the layout direction of the button group.
365
390
  * `layout="vertical"` should only be used with EuiButtonIcon children.
366
- * Applies only when `variant="segmented"`.
391
+ * Does not apply when `variant="default"`.
367
392
  * @default 'horizontal'
368
393
  */
369
394
  layout: _propTypes.default.oneOf(["horizontal", "vertical"]),
370
395
  /**
371
396
  * Defines if buttons wrap or shrink.
372
- * Applies only when `variant="segmented"`.
397
+ * Does not apply when `variant="default"`.
373
398
  * @default true
374
399
  */
375
400
  wrap: _propTypes.default.bool,
376
401
  /**
377
- * Callback fired when a child button is selected.
378
- * Returns the `id` of the clicked option.
379
- * Applies only for `variant="selection"`.
380
- */
381
- onChange: _propTypes.default.func
402
+ * Defines the type of a button group, which renders visually and functionally different:
403
+ * - default: arranges buttons in a horizontal row with optional gutter via `gutterSize`
404
+ * - segmented: arranges buttons in a horizontal or vertical row with no gutter.
405
+ * The buttons are placed inset and dividers can optionally be shown between them.
406
+ * - selection: arranges buttons inset with toggle selection state (single or multi).
407
+ * Each child button must have a unique `id` prop.
408
+ * @default 'default'
409
+ */
410
+ variant: _propTypes.default.oneOfType([_propTypes.default.oneOf(["selection"]), _propTypes.default.oneOf(["default", "segmented"])]),
411
+ /**
412
+ * Determines selection behavior.
413
+ * With `'multi'` multiple buttons can be selected simultaneously.
414
+ * Applies only when `variant="selection"`.
415
+ */
416
+ /**
417
+ * Determines selection behavior.
418
+ * With `'single'` only one button can be selected at a time.
419
+ * Applies only when `variant="selection"`.
420
+ * @default 'single'
421
+ */
422
+ type: _propTypes.default.oneOfType([_propTypes.default.oneOf(["single"]), _propTypes.default.oneOf(["multi"])]),
423
+ /**
424
+ * The currently selected button `id`.
425
+ * Omit or pass `undefined` for no initial selection.
426
+ * Applies only when `variant="selection"` and `type="single"`.
427
+ */
428
+ idSelected: _propTypes.default.string,
429
+ /**
430
+ * Visual display variant for the selection container background.
431
+ * Applies only when `variant="selection"`.
432
+ * - `'regular'`: subdued toggle state, light container background
433
+ * - `'highlighted'`: highlighted toggle state, light container background
434
+ * - `'inverse'`: light toggle state, dark container background
435
+ * @default 'regular'
436
+ */
437
+ /**
438
+ * Visual display variant for the selection container background.
439
+ * Applies only when `variant="selection"`.
440
+ * - `'regular'`: subdued toggle state, light container background
441
+ * - `'highlighted'`: highlighted toggle state, light container background
442
+ * - `'inverse'`: light toggle state, dark container background
443
+ * @default 'regular'
444
+ */
445
+ display: _propTypes.default.oneOf(["regular", "highlighted", "inverse"]),
446
+ /**
447
+ * Callback fired when a child button is selected.
448
+ * Returns the `id` of the clicked option.
449
+ * Applies only when `variant="selection"`.
450
+ */
451
+ /**
452
+ * Callback fired when a child button is selected.
453
+ * Returns the `id` of the clicked option.
454
+ * Applies only when `variant="selection"`.
455
+ */
456
+ onChange: _propTypes.default.func,
457
+ /**
458
+ * A map of button `id`s to their selected boolean values.
459
+ * Omit or pass `{}` for no initial selection.
460
+ * The consumer must update this value via `onChange` to reflect new selections.
461
+ * Applies only when `variant="selection"` and `type="multi"`.
462
+ */
463
+ idToSelectedMap: _propTypes.default.any
382
464
  };
383
465
  // Renders either the (legacy) `options` API or the `children` API depending on which props are provided.
384
466
  var EuiButtonGroup = exports.EuiButtonGroup = function EuiButtonGroup(props) {
@@ -19,8 +19,9 @@ var hasButtonOnlySelector = ':not(:has(.euiButtonIcon))';
19
19
  var hasButtonIconOnlySelector = ':not(:has(.euiButton, .euiButtonEmpty))';
20
20
  var buttonItemSelector = '.euiButtonGroup__item, .euiToolTipAnchor, .euiPopover, .euiButton';
21
21
  var buttonOnlyItemSelector = "*:is(".concat(buttonItemSelector, "):not(:has(.euiButtonIcon))");
22
+ var segmentedStyledSelector = "*:is([data-variant='segmented'], [data-variant='selection'])";
22
23
  var euiButtonGroupStyles = exports.euiButtonGroupStyles = {
23
- euiButtonGroup: /*#__PURE__*/(0, _react.css)("display:inline-block;", (0, _global_styling.logicalCSS)('max-width', '100%'), " position:relative;&:where([data-variant='segmented']){&", hasButtonIconOnlySelector, "{display:flex;}};label:euiButtonGroup;"),
24
+ euiButtonGroup: /*#__PURE__*/(0, _react.css)("display:inline-block;", (0, _global_styling.logicalCSS)('max-width', '100%'), " position:relative;&:where(", segmentedStyledSelector, "){&", hasButtonIconOnlySelector, "{display:flex;}};label:euiButtonGroup;"),
24
25
  fullWidth: process.env.NODE_ENV === "production" ? {
25
26
  name: "jl0hie-fullWidth",
26
27
  styles: "display:block;label:fullWidth;"
@@ -73,13 +74,25 @@ var euiButtonGroupButtonsStyles = exports.euiButtonGroupButtonsStyles = function
73
74
  }), ";\n inline-size: calc(\n 100% + ").concat((0, _global_styling.mathWithUnits)(containerPadding, function (x) {
74
75
  return x * 2;
75
76
  }), "\n );\n block-size: ").concat(euiTheme.border.width.thin, ";\n border-block-start: ").concat(euiTheme.border.width.thin, " solid\n ").concat(euiTheme.colors.borderBasePlain, ";\n pointer-events: none;\n }\n\n /* inline border */\n &::after {\n content: '';\n position: absolute;\n inset-inline-start: -").concat(dividerOffset, ";\n block-size: calc(\n var(--euiButtonGroupButtonInsetSize) - ").concat(euiTheme.size.s, "\n );\n inline-size: ").concat(euiTheme.border.width.thin, ";\n border-inline-start: ").concat(euiTheme.border.width.thin, " solid\n ").concat(euiTheme.colors.borderBasePlain, ";\n pointer-events: none;\n }\n }\n\n &:where([data-layout='horizontal'] &) {\n &:where(:is(").concat(hasButtonIconOnlySelector, ") &) {\n .euiButtonGroup__item::before {\n inset-inline-start: 0;\n inline-size: 100%;\n }\n }\n }\n\n &:where([data-layout='vertical'] &) {\n &:where(:is(").concat(hasButtonIconOnlySelector, ") &) {\n .euiButtonGroup__item::before {\n inset-inline-start: auto;\n inline-size: calc(\n var(--euiButtonGroupButtonInsetSize) - ").concat(euiTheme.size.s, "\n );\n }\n }\n }\n ");
76
- var segmentedChildrenStyles = "\n /* Buttons are used inset and shouldn't have their own borders */\n .euiButton,\n .euiButtonIcon {\n border: none;\n pointer-events: auto; /* Ensure buttons are still clickable in jsdom */\n\n &::before {\n border-radius: inherit;\n }\n }\n\n /* Adjust children for inset behavior */\n ".concat(buttonItemSelector, ", \n .euiButtonIcon {\n display: inline-flex;\n align-items: center;\n block-size: var(--euiButtonGroupButtonInsetSize);\n border-radius: ").concat(buttonGroupVariables.radius.inner, ";\n }\n\n .euiButtonIcon {\n inline-size: var(--euiButtonGroupButtonInsetSize);\n }\n\n /* Only non-icon buttons auto-grow/shrink */\n .euiButton,\n ").concat(buttonOnlyItemSelector, " {\n flex: 1;\n min-inline-size: auto;\n }\n ");
77
+
78
+ // Shared inset styles for both segmented and selection variants.
79
+ var segmentedChildrenStyles = "\n /* Buttons are used inset and shouldn't have their own borders */\n .euiButton,\n .euiButtonIcon {\n border: none;\n pointer-events: auto; /* Ensure buttons are still clickable in jsdom */\n\n &::before {\n border-radius: inherit;\n }\n\n &:focus-visible {\n outline-offset: 0;\n }\n }\n\n /* Adjust children for inset behavior */\n ".concat(buttonItemSelector, ",\n .euiButtonIcon {\n display: inline-flex;\n align-items: center;\n block-size: var(--euiButtonGroupButtonInsetSize);\n border-radius: ").concat(buttonGroupVariables.radius.inner, ";\n }\n\n .euiButtonIcon {\n inline-size: var(--euiButtonGroupButtonInsetSize);\n }\n\n /* Only non-icon buttons auto-grow/shrink */\n .euiButton,\n ").concat(buttonOnlyItemSelector, " {\n flex: 1;\n min-inline-size: auto;\n }\n ");
77
80
  return {
78
81
  // Base
79
- euiButtonGroup__container: /*#__PURE__*/(0, _react.css)("&:where([data-variant='segmented'] &){position:relative;display:inline-flex;align-items:center;max-inline-size:100%;padding:", splitPadding, ";border-radius:", buttonGroupVariables.radius.outer, ";background-color:", euiTheme.colors.backgroundBasePlain, ";&:where([data-size='s'] &){--euiButtonGroupButtonInsetSize:", buttonGroupVariables.size.s, ";min-block-size:", buttonSizeMap.s.height, ";}&:where([data-size='m'] &){--euiButtonGroupButtonInsetSize:", buttonGroupVariables.size.m, ";min-block-size:", buttonSizeMap.m.height, ";}&::after{content:'';position:absolute;inset:0;border:", euiTheme.border.width.thin, " solid ", euiTheme.colors.borderBasePlain, ";border-radius:inherit;pointer-events:none;}};label:euiButtonGroup__container;"),
80
- euiButtonGroup__buttons: /*#__PURE__*/(0, _react.css)((0, _global_styling.logicalCSS)('max-width', '100%'), " display:flex;align-items:center;&:where([data-variant='default'] &){flex-wrap:wrap;}&:where([data-variant='segmented'] &){position:relative;display:inline-flex;align-items:center;flex-wrap:wrap;gap:", buttonGroupVariables.gap.regular, ";max-inline-size:100%;padding:", splitPadding, ";overflow:hidden;*:where(.euiButton, .euiButtonIcon):is(", _global_styling.euiDisabledSelector, "){background-color:transparent;}&:where([data-dividers='true'] &){", dividerStyles, ";}", segmentedChildrenStyles, " &:where([data-layout='vertical'] &){flex-direction:column;.euiButtonGroup__item{justify-content:center;}}};label:euiButtonGroup__buttons;"),
81
- noWrap: /*#__PURE__*/(0, _react.css)("&:where([data-variant='segmented'] &){flex-wrap:nowrap;", buttonOnlyItemSelector, "{flex:0 1 auto;min-inline-size:0;.euiButton .eui-textTruncate{min-inline-size:0;}}&", hasButtonIconOnlySelector, "{overflow-inline:auto;}};label:noWrap;"),
82
- fullWidth: /*#__PURE__*/(0, _react.css)((0, _global_styling.logicalCSS)('width', '100%'), " .euiButtonGroupButton,.euiButtonGroup__tooltipWrapper{flex:1;", (0, _global_styling.logicalCSS)('width', '100%'), ";}&:where([data-variant='default'] &){.euiButton{flex-grow:1;inline-size:auto;}.euiButtonEmpty{flex-shrink:0;}}&:where([data-variant='segmented'] &){&", hasButtonIconOnlySelector, "{inline-size:auto;}&", hasButtonOnlySelector, "{.euiButtonGroup__buttons{inline-size:100%;}", buttonOnlyItemSelector, "{flex-grow:1;}}};label:fullWidth;"),
82
+ euiButtonGroup__container: /*#__PURE__*/(0, _react.css)("&:where(", segmentedStyledSelector, " &){position:relative;display:inline-flex;align-items:center;max-inline-size:100%;padding:", splitPadding, ";border-radius:", buttonGroupVariables.radius.outer, ";background-color:", euiTheme.colors.backgroundBasePlain, ";&:where([data-size='s'] &){--euiButtonGroupButtonInsetSize:", buttonGroupVariables.size.s, ";min-block-size:", buttonSizeMap.s.height, ";}&:where([data-size='m'] &){--euiButtonGroupButtonInsetSize:", buttonGroupVariables.size.m, ";min-block-size:", buttonSizeMap.m.height, ";}&::after{content:'';position:absolute;inset:0;border:", euiTheme.border.width.thin, " solid ", euiTheme.colors.borderBasePlain, ";border-radius:inherit;pointer-events:none;}}&:where([data-variant='selection'][data-display='inverse'] &){background-color:", euiTheme.colors.backgroundBaseSubdued, ";};label:euiButtonGroup__container;"),
83
+ euiButtonGroup__buttons: /*#__PURE__*/(0, _react.css)((0, _global_styling.logicalCSS)('max-width', '100%'), " display:flex;align-items:center;&:where([data-variant='default'] &){flex-wrap:wrap;}&:where(", segmentedStyledSelector, " &){position:relative;display:inline-flex;align-items:center;flex-wrap:wrap;gap:", buttonGroupVariables.gap.regular, ";max-inline-size:100%;padding:", splitPadding, ";overflow:hidden;", segmentedChildrenStyles, " *:where(.euiButton, .euiButtonIcon):is(", _global_styling.euiDisabledSelector, "){background-color:transparent;}&:where([data-dividers='true'] &){", dividerStyles, ";}&:where([data-layout='vertical'] &){flex-direction:column;.euiButtonGroup__item{justify-content:center;}}}&:where([data-variant='segmented'] &){*:where(.euiButton, .euiButtonIcon):is(", _global_styling.euiDisabledSelector, "){background-color:transparent;}}&:where([data-variant='selection'] &){*:where(.euiButton, .euiButtonIcon){&:is(", _global_styling.euiDisabledSelector, "){", (0, _high_contrast.highContrastModeStyles)(euiThemeContext, {
84
+ forced: "\n opacity: 0.5;\n "
85
+ }), ";}&:is([aria-pressed='true']){", (0, _high_contrast.highContrastModeStyles)(euiThemeContext, {
86
+ forced: "\n --highContrastHoverIndicatorColor: ".concat(euiTheme.colors.textInverse, ";\n ").concat((0, _high_contrast.preventForcedColors)(euiThemeContext), "\n background-color: ").concat(euiTheme.colors.fullShade, ";\n color: ").concat(euiTheme.colors.emptyShade, ";\n ")
87
+ }), ";}&:is([aria-pressed='false']){background-color:transparent;}}}&:where([data-variant='selection'][data-display='regular'] &){*:where(.euiButton, .euiButtonIcon):is([aria-pressed='true']){background-color:", euiTheme.colors.backgroundLightText, ";", (0, _high_contrast.highContrastModeStyles)(euiThemeContext, {
88
+ none: "\n background-color: ".concat(euiTheme.colors.backgroundLightText, ";\n "),
89
+ preferred: "\n border: ".concat(euiTheme.border.thin, ";\n "),
90
+ forced: "\n background-color: ".concat(euiTheme.colors.fullShade, ";\n border: none;\n ")
91
+ }), ";}}&:where([data-variant='selection'][data-display='inverse'] &){*:where(.euiButton, .euiButtonIcon):is([aria-pressed='true']){", (0, _global_styling.euiShadowXSmall)(euiThemeContext), " ", (0, _high_contrast.highContrastModeStyles)(euiThemeContext, {
92
+ forced: "\n border: none;\n "
93
+ }), ";}};label:euiButtonGroup__buttons;"),
94
+ noWrap: /*#__PURE__*/(0, _react.css)("&:where(", segmentedStyledSelector, " &){flex-wrap:nowrap;", buttonOnlyItemSelector, "{flex:0 1 auto;min-inline-size:0;.euiButton .eui-textTruncate{min-inline-size:0;}}&", hasButtonIconOnlySelector, "{overflow-inline:auto;}};label:noWrap;"),
95
+ fullWidth: /*#__PURE__*/(0, _react.css)((0, _global_styling.logicalCSS)('width', '100%'), " .euiButtonGroupButton,.euiButtonGroup__tooltipWrapper{flex:1;", (0, _global_styling.logicalCSS)('width', '100%'), ";}&:where([data-variant='default'] &){.euiButton{flex-grow:1;inline-size:auto;}.euiButtonEmpty{flex-shrink:0;}}&:where(", segmentedStyledSelector, " &){&", hasButtonIconOnlySelector, "{inline-size:auto;}&", hasButtonOnlySelector, "{.euiButtonGroup__buttons{inline-size:100%;}", buttonOnlyItemSelector, "{flex-grow:1;}}};label:fullWidth;"),
83
96
  // Sizes
84
97
  size: {
85
98
  m: /*#__PURE__*/(0, _react.css)("border-radius:", euiTheme.border.radius.medium, ";", _highContrastStyles(euiThemeContext), ";;label:m;"),
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.useEuiButtonGroupSelection = useEuiButtonGroupSelection;
7
+ var _react = require("react");
8
+ /*
9
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
10
+ * or more contributor license agreements. Licensed under the Elastic License
11
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
12
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
13
+ * Side Public License, v 1.
14
+ */
15
+
16
+ /**
17
+ * Purely controlled selection state for `EuiButtonGroup` with `variant="selection"`.
18
+ * The consumer owns state via `idSelected` (single) or `idToSelectedMap` (multi)
19
+ * and updates it through `onChange`.
20
+ */
21
+ function useEuiButtonGroupSelection(_ref) {
22
+ var type = _ref.type,
23
+ idSelected = _ref.idSelected,
24
+ idToSelectedMap = _ref.idToSelectedMap,
25
+ onChange = _ref.onChange;
26
+ var isSelected = (0, _react.useCallback)(function (id) {
27
+ return type === 'multi' ? !!(idToSelectedMap !== null && idToSelectedMap !== void 0 && idToSelectedMap[id]) : id === idSelected;
28
+ }, [type, idSelected, idToSelectedMap]);
29
+ var onSelect = (0, _react.useCallback)(function (id) {
30
+ return onChange === null || onChange === void 0 ? void 0 : onChange(id);
31
+ }, [onChange]);
32
+ return {
33
+ isSelected: isSelected,
34
+ onSelect: onSelect
35
+ };
36
+ }
@@ -15,7 +15,7 @@ var _loading = require("../../loading");
15
15
  var _use_button_common_props = require("../use_button_common_props");
16
16
  var _button_icon = require("./button_icon.styles");
17
17
  var _react2 = require("@emotion/react");
18
- var _excluded = ["className", "iconType", "iconSize", "color", "isDisabled", "disabled", "hasAriaDisabled", "href", "type", "display", "target", "rel", "size", "buttonRef", "isSelected", "isLoading"],
18
+ var _excluded = ["className", "iconType", "iconSize", "color", "isDisabled", "disabled", "hasAriaDisabled", "href", "type", "display", "target", "rel", "size", "buttonRef", "isSelected", "isLoading", "id", "onClick"],
19
19
  _excluded2 = ["ref"];
20
20
  /*
21
21
  * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
@@ -50,8 +50,10 @@ var EuiButtonIcon = exports.EuiButtonIcon = function EuiButtonIcon(_ref) {
50
50
  _ref$size = _ref.size,
51
51
  _size = _ref$size === void 0 ? 'xs' : _ref$size,
52
52
  buttonRef = _ref.buttonRef,
53
- isSelected = _ref.isSelected,
53
+ _isSelected = _ref.isSelected,
54
54
  isLoading = _ref.isLoading,
55
+ id = _ref.id,
56
+ _onClick = _ref.onClick,
55
57
  rest = _objectWithoutProperties(_ref, _excluded);
56
58
  var _useEuiButtonCommonPr = (0, _use_button_common_props.useEuiButtonCommonProps)({
57
59
  size: _size,
@@ -61,14 +63,19 @@ var EuiButtonIcon = exports.EuiButtonIcon = function EuiButtonIcon(_ref) {
61
63
  display: _display,
62
64
  href: href,
63
65
  disabled: disabled,
64
- isLoading: isLoading
66
+ isLoading: isLoading,
67
+ id: id,
68
+ isSelected: _isSelected,
69
+ onClick: _onClick
65
70
  }),
66
71
  size = _useEuiButtonCommonPr.size,
67
72
  color = _useEuiButtonCommonPr.color,
68
73
  isDisabled = _useEuiButtonCommonPr.isDisabled,
69
74
  _useEuiButtonCommonPr2 = _useEuiButtonCommonPr.hasAriaDisabled,
70
75
  hasAriaDisabled = _useEuiButtonCommonPr2 === void 0 ? false : _useEuiButtonCommonPr2,
71
- display = _useEuiButtonCommonPr.display;
76
+ display = _useEuiButtonCommonPr.display,
77
+ isSelected = _useEuiButtonCommonPr.isSelected,
78
+ onClick = _useEuiButtonCommonPr.onClick;
72
79
  var _useEuiDisabledElemen = (0, _useEuiDisabledElement.useEuiDisabledElement)({
73
80
  isDisabled: isDisabled,
74
81
  hasAriaDisabled: hasAriaDisabled,
@@ -136,7 +143,9 @@ var EuiButtonIcon = exports.EuiButtonIcon = function EuiButtonIcon(_ref) {
136
143
  href: href,
137
144
  target: target,
138
145
  rel: secureRel,
139
- ref: setCombinedRef
146
+ ref: setCombinedRef,
147
+ id: id,
148
+ onClick: onClick
140
149
  }, rest), buttonIcon);
141
150
  }
142
151
  var buttonType;
@@ -147,14 +156,16 @@ var EuiButtonIcon = exports.EuiButtonIcon = function EuiButtonIcon(_ref) {
147
156
  className: classes,
148
157
  "aria-pressed": isSelected,
149
158
  type: type,
150
- ref: setCombinedRef
159
+ ref: setCombinedRef,
160
+ id: id,
161
+ onClick: onClick
151
162
  }, rest, disabledButtonProps), buttonIcon);
152
163
  };
153
164
  EuiButtonIcon.propTypes = {
154
165
  type: _propTypes.default.any,
155
166
  href: _propTypes.default.string,
156
167
  onClick: _propTypes.default.func,
157
- iconType: _propTypes.default.oneOfType([_propTypes.default.oneOf(["accessibility", "addDataApp", "addToChat", "addToDashboard", "advancedSettingsApp", "agentApp", "aggregate", "alignBottom", "alignBottomLeft", "alignBottomRight", "alignCenterHorizontal", "alignCenterVertical", "alignLeft", "alignRight", "alignTop", "alignTopLeft", "alignTopRight", "analyzeEvent", "annotation", "chartAnomaly", "anomalySwimLane", "apmApp", "chartWaterfall", "appSearchApp", "apps", "chevronSingleDown", "chevronSingleLeft", "chevronSingleRight", "chevronSingleUp", "chevronLimitLeft", "chevronLimitRight", "article", "asterisk", "at", "archive", "axisX", "axisYLeft", "axisYRight", "auditbeatApp", "backgroundTask", "bell", "bellSlash", "beta", "bolt", "boxesVertical", "branch", "briefcase", "branchUser", "broom", "brush", "bug", "bulb", "bullseye", "calendar", "canvasApp", "casesApp", "chartChangePoint", "chartArea", "visArea", "chartAreaStack", "chartBarHorizontal", "chartBarHorizontalStack", "chartBarVertical", "visBarVertical", "chartBarVerticalStack", "chartGauge", "visGauge", "chartHeatmap", "chartLine", "visLine", "chartPie", "visPie", "chartTagCloud", "chartThreshold", "check", "checkCircle", "checkCircleFill", "popper", "classificationJob", "clickLeft", "clickRight", "clock", "clockCounter", "clockControl", "cloud", "cloudDrizzle", "cloudStormy", "cloudSunny", "cluster", "code", "codeApp", "paintBucket", "commandLine", "comment", "editorComment", "compare", "processor", "compute", "consoleApp", "container", "continuityAbove", "continuityAboveBelow", "continuityBelow", "continuityWithin", "contrast", "contrastFill", "controls", "copy", "crossProjectSearch", "createAdvancedJob", "createGenericJob", "createGeoJob", "createMultiMetricJob", "createPopulationJob", "createSingleMetricJob", "cross", "crossClusterReplicationApp", "crossCircle", "crosshair", "cursorDefault", "money", "scissors", "dashboardApp", "dashedCircle", "dataVisualizer", "database", "display", "devToolsApp", "discoverApp", "distributeHorizontal", "distributeVertical", "download", "drag", "dragHorizontal", "dragVertical", "document", "documentation", "documents", "dot", "dotInCircle", "chevronDoubleLeft", "chevronDoubleRight", "ellipsis", "textAlignCenter", "textAlignLeft", "textAlignRight", "textBold", "listCheck", "textHeading", "textItalic", "listNumber", "redo", "textStrike", "table", "visTable", "textUnderline", "undo", "listBullet", "list", "mail", "empty", "emsApp", "endpoint", "query", "eraser", "error", "errorFill", "esqlVis", "logIn", "logOut", "maximize", "export", "upload", "external", "eye", "eyeSlash", "faceHappy", "faceNeutral", "faceSad", "tableInfo", "filebeatApp", "filter", "filterExclude", "filterIgnore", "filterInclude", "flask", "flag", "fleetApp", "fold", "folder", "folderClosed", "folderClose", "folderCheck", "folderExclamation", "folderOpen", "folderOpened", "frameNext", "framePrevious", "fullScreen", "fullScreenExit", "function", "gear", "gisApp", "globe", "gradient", "graphApp", "grid", "grokApp", "heart", "heartbeatApp", "help", "home", "hourglass", "if", "info", "image", "index", "indexClose", "tableCross", "indexEdit", "tablePencil", "indexManagementApp", "mapping", "indexOpen", "tablePlus", "indexPatternApp", "indexRollupApp", "indexRuntime", "tablePlay", "indexSettings", "tableGear", "tableTime", "infinity", "inputOutput", "inspect", "ip", "key", "keyboard", "queryField", "kqlFunction", "queryOperand", "querySelector", "queryValue", "kubernetesNode", "kubernetesPod", "cube", "rocket", "layers", "lensApp", "text", "lineBreak", "lineBreakSlash", "lineDash", "lineDot", "lineSolid", "link", "linkSlash", "lock", "lockOpen", "pattern", "logRateAnalysis", "logoAWS", "logoAWSMono", "logoAerospike", "logoApache", "logoAppSearch", "logoAzure", "logoAzureMono", "logoBeats", "logoBusinessAnalytics", "logoCeph", "logoCloud", "logoCloudEnterprise", "logoCode", "logoCodesandbox", "logoCouchbase", "logoDocker", "logoDropwizard", "logoElastic", "logoElasticStack", "logoElasticsearch", "logoEnterpriseSearch", "logoEtcd", "logoGCP", "logoGCPMono", "logoGithub", "logoGmail", "logoGolang", "logoGoogleG", "logoHAproxy", "logoIBM", "logoIBMMono", "logoKafka", "logoKibana", "logoKubernetes", "logoLogging", "logoLogstash", "logoMaps", "logoMemcached", "logoMetrics", "logoMongodb", "logoMySQL", "logoNginx", "logoObservability", "logoOsquery", "logoPhp", "logoPostgres", "logoPrometheus", "logoRabbitmq", "logoRedis", "logoSecurity", "logoSiteSearch", "logoSketch", "logoSlack", "logoUptime", "logoVectorDB", "logoVulnerabilityManagement", "logoWebhook", "logoWindows", "logoWorkplaceSearch", "logsApp", "logstashFilter", "logstashInput", "logstashOutput", "queue", "machineLearningApp", "magnet", "magnify", "search", "magnifyExclamation", "magnifyMinus", "magnifyPlus", "managementApp", "map", "mapMarker", "waypoint", "megaphone", "memory", "menu", "menuDown", "menuLeft", "menuRight", "menuUp", "merge", "metricbeatApp", "metricsApp", "minimize", "minus", "minusCircle", "minusSquare", "mobile", "monitoringApp", "moon", "move", "namespace", "nested", "vectorTriangle", "notebookApp", "number", "wifiSlash", "wifi", "outlierDetectionJob", "package", "packetbeatApp", "pageSelect", "pagesSelect", "documentsCheck", "palette", "paperClip", "partial", "pause", "payment", "pencil", "percent", "pin", "pinFill", "pinFilled", "pipelineApp", "pivot", "play", "plugs", "plus", "plusCircle", "plusSquare", "presentation", "productAgent", "productCloudInfra", "productDashboard", "productDiscover", "productML", "productStreamsClassic", "productStreamsWired", "send", "question", "quote", "radar", "readOnly", "recentlyViewedApp", "refresh", "regressionJob", "reporter", "reportingApp", "return", "routeSplit", "save", "savedObjectsApp", "scale", "searchProfilerApp", "section", "securityAnalyticsApp", "securityApp", "securitySignalDetected", "securitySignalResolved", "server", "sessionViewer", "shard", "share", "significantEvents", "singleMetricViewer", "snowflake", "sortAscending", "sortDescending", "sortDown", "sortLeft", "sortRight", "sortUp", "sortable", "spaces", "spacesApp", "sparkles", "sqlApp", "star", "starEmpty", "starEmptySpace", "starFill", "starFilled", "starFillSpace", "starMinusEmpty", "starMinusFill", "starPlusEmpty", "starPlusFill", "stats", "stop", "stopFill", "stopSlash", "storage", "string", "sun", "swatchInput", "symlink", "tableDensityHigh", "tableDensityLow", "tableOfContents", "tag", "tear", "thermometer", "temperature", "thumbDown", "thumbUp", "timeline", "timelineWithArrow", "timelinePointer", "timelionApp", "refreshTime", "transitionBottomIn", "transitionBottomOut", "transitionLeftIn", "transitionLeftOut", "transitionTopIn", "transitionTopOut", "translate", "trash", "unfold", "upgradeAssistantApp", "uptimeApp", "user", "users", "usersRolesApp", "unarchive", "vectorSquare", "videoPlayer", "visGoal", "chartMetric", "visTimelion", "visVisualBuilder", "visualizeApp", "vulnerabilityManagementApp", "warning", "alert", "warningFill", "watchesApp", "web", "wordWrap", "wordWrapDisabled", "workflowsApp", "workflow", "workplaceSearchApp", "wrench", "tokenAlias", "tokenAnnotation", "tokenArray", "tokenBinary", "tokenBoolean", "tokenClass", "tokenCompletionSuggester", "tokenConstant", "tokenDate", "tokenDimension", "tokenElement", "tokenEnum", "tokenEnumMember", "tokenEvent", "tokenException", "tokenField", "tokenFile", "tokenFlattened", "tokenFunction", "tokenGeo", "tokenHistogram", "tokenInterface", "tokenIP", "tokenJoin", "tokenKey", "tokenKeyword", "tokenMethod", "tokenMetricCounter", "tokenMetricGauge", "tokenModule", "tokenNamespace", "tokenNested", "tokenNull", "tokenNumber", "tokenObject", "tokenOperator", "tokenPackage", "tokenParameter", "tokenPercolator", "tokenProperty", "tokenRange", "tokenRankFeature", "tokenRankFeatures", "tokenRepo", "tokenSearchType", "tokenSemanticText", "tokenShape", "tokenString", "tokenStruct", "tokenSymbol", "tokenTag", "tokenText", "tokenTokenCount", "tokenVariable", "tokenVectorDense", "tokenVectorSparse"]).isRequired, _propTypes.default.string.isRequired, _propTypes.default.elementType.isRequired]).isRequired,
168
+ iconType: _propTypes.default.oneOfType([_propTypes.default.oneOf(["accessibility", "addDataApp", "addToChat", "addToDashboard", "advancedSettingsApp", "agentApp", "aggregate", "alignBottom", "alignBottomLeft", "alignBottomRight", "alignCenterHorizontal", "alignCenterVertical", "alignLeft", "alignRight", "alignTop", "alignTopLeft", "alignTopRight", "analyzeEvent", "annotation", "chartAnomaly", "anomalySwimLane", "apmApp", "chartWaterfall", "appSearchApp", "apps", "chevronSingleDown", "chevronSingleLeft", "chevronSingleRight", "chevronSingleUp", "chevronLimitLeft", "chevronLimitRight", "asterisk", "at", "archive", "article", "axisX", "axisYLeft", "axisYRight", "auditbeatApp", "backgroundTask", "bell", "bellSlash", "beta", "bolt", "boxesVertical", "branch", "briefcase", "broom", "brush", "bug", "bulb", "bullseye", "calendar", "canvasApp", "casesApp", "chartChangePoint", "chartArea", "visArea", "chartAreaStack", "chartBarHorizontal", "chartBarHorizontalStack", "chartBarVertical", "visBarVertical", "chartBarVerticalStack", "chartGauge", "visGauge", "chartHeatmap", "chartLine", "visLine", "chartPie", "visPie", "chartTagCloud", "chartThreshold", "check", "checkCircle", "checkCircleFill", "popper", "classificationJob", "clickLeft", "clickRight", "clock", "clockCounter", "clockControl", "cloud", "cloudBolt", "cloudDrizzle", "cloudRain", "cloudStormy", "cloudSun", "cloudSunny", "cluster", "code", "codeApp", "paintBucket", "commandLine", "comment", "editorComment", "compare", "processor", "compute", "consoleApp", "container", "continuityAbove", "continuityWithin", "contrast", "contrastFill", "controls", "copy", "crossProjectSearch", "createAdvancedJob", "createGenericJob", "createGeoJob", "createMultiMetricJob", "createPopulationJob", "createSingleMetricJob", "cross", "crossClusterReplicationApp", "crossCircle", "crosshair", "cursorDefault", "money", "scissors", "dashboardApp", "dashedCircle", "dataVisualizer", "database", "display", "devToolsApp", "discoverApp", "distributeHorizontal", "distributeVertical", "download", "drag", "dragHorizontal", "dragVertical", "document", "documentation", "documents", "dot", "dotInCircle", "chevronDoubleLeft", "chevronDoubleRight", "ellipsis", "textAlignCenter", "textAlignLeft", "textAlignRight", "textBold", "listCheck", "textHeading", "textItalic", "listNumber", "redo", "textStrike", "table", "visTable", "textUnderline", "undo", "listBullet", "list", "mail", "empty", "emsApp", "endpoint", "query", "eraser", "error", "errorFill", "esqlVis", "logIn", "logOut", "maximize", "export", "upload", "external", "eye", "eyeSlash", "faceHappy", "faceNeutral", "faceSad", "tableInfo", "filebeatApp", "filter", "filterExclude", "filterIgnore", "filterInclude", "flask", "flag", "fleetApp", "fold", "folder", "folderClosed", "folderClose", "folderCheck", "folderExclamation", "folderOpen", "folderOpened", "frameNext", "framePrevious", "fullScreen", "fullScreenExit", "gear", "gisApp", "globe", "gradient", "graphApp", "grid", "grokApp", "heart", "heartbeatApp", "help", "home", "hourglass", "if", "info", "image", "index", "indexClose", "tableCross", "indexEdit", "tablePencil", "indexManagementApp", "mapping", "indexOpen", "tablePlus", "indexPatternApp", "indexRollupApp", "indexRuntime", "tablePlay", "indexSettings", "tableGear", "tableTime", "infinity", "inputOutput", "inspect", "ip", "key", "keyboard", "queryField", "kqlFunction", "queryOperand", "querySelector", "queryValue", "kubernetesNamespace", "kubernetesNode", "kubernetesPod", "cube", "rocket", "layers", "lensApp", "text", "lineBreak", "lineBreakSlash", "lineDash", "lineDot", "lineSolid", "link", "linkSlash", "lock", "lockOpen", "pattern", "logRateAnalysis", "logoAWS", "logoAWSMono", "logoAerospike", "logoApache", "logoAppSearch", "logoAzure", "logoAzureMono", "logoBeats", "logoBusinessAnalytics", "logoCeph", "logoCloud", "logoCloudEnterprise", "logoCode", "logoCodesandbox", "logoCouchbase", "logoDocker", "logoDropwizard", "logoElastic", "logoElasticStack", "logoElasticsearch", "logoEnterpriseSearch", "logoEtcd", "logoGCP", "logoGCPMono", "logoGithub", "logoGmail", "logoGolang", "logoGoogleG", "logoHAproxy", "logoIBM", "logoIBMMono", "logoKafka", "logoKibana", "logoKubernetes", "logoLogging", "logoLogstash", "logoMaps", "logoMemcached", "logoMetrics", "logoMongodb", "logoMySQL", "logoNginx", "logoObservability", "logoOsquery", "logoPhp", "logoPostgres", "logoPrometheus", "logoRabbitmq", "logoRedis", "logoSecurity", "logoSiteSearch", "logoSketch", "logoSlack", "logoUptime", "logoVectorDB", "logoVulnerabilityManagement", "logoWebhook", "logoWindows", "logoWorkplaceSearch", "logsApp", "logstashFilter", "logstashInput", "logstashOutput", "queue", "machineLearningApp", "magnify", "search", "magnifyExclamation", "magnifyMinus", "magnifyPlus", "managementApp", "map", "mapMarker", "waypoint", "megaphone", "memory", "menu", "menuDown", "menuLeft", "menuRight", "menuUp", "merge", "metricbeatApp", "metricsApp", "minimize", "minus", "minusCircle", "minusSquare", "mobile", "monitoringApp", "moon", "move", "namespace", "nested", "vectorTriangle", "notebookApp", "number", "wifiSlash", "wifi", "outlierDetectionJob", "package", "packetbeatApp", "pagesSelect", "documentsCheck", "palette", "paperClip", "partial", "pause", "payment", "pencil", "percent", "pin", "pinFill", "pinFilled", "pipelineApp", "pivot", "play", "plugs", "plus", "plusCircle", "plusSquare", "presentation", "productAgent", "productCloudInfra", "productDashboard", "productDiscover", "productML", "productStreamsClassic", "productStreamsWired", "productTimelion", "productTSVB", "push", "send", "question", "quote", "radar", "readOnly", "recentlyViewedApp", "refresh", "regressionJob", "reporter", "reportingApp", "return", "routeSplit", "save", "scale", "savedObjectsApp", "searchProfilerApp", "section", "securityAnalyticsApp", "securityApp", "securitySignalDetected", "server", "sessionViewer", "shard", "share", "significantEvents", "singleMetricViewer", "snowflake", "sortAscending", "sortDescending", "sortDown", "sortLeft", "sortRight", "sortUp", "sortable", "spaces", "spacesApp", "sparkles", "sqlApp", "star", "starEmpty", "starEmptySpace", "starFill", "starFilled", "starFillSpace", "starMinusEmpty", "starMinusFill", "starPlusEmpty", "starPlusFill", "stats", "stop", "stopFill", "stopSlash", "storage", "string", "sun", "swatchInput", "symlink", "tableDensityHigh", "tableDensityLow", "tableOfContents", "tag", "thermometer", "temperature", "thumbDown", "thumbUp", "timeline", "timelineWithArrow", "timelinePointer", "timelionApp", "refreshTime", "transitionBottomIn", "transitionBottomOut", "transitionLeftIn", "transitionLeftOut", "transitionRightIn", "transitionRightOut", "transitionTopIn", "transitionTopOut", "translate", "trash", "unfold", "upgradeAssistantApp", "uptimeApp", "user", "users", "usersRolesApp", "unarchive", "vectorSquare", "videoPlayer", "visGoal", "chartMetric", "visTimelion", "visVisualBuilder", "visualizeApp", "vulnerabilityManagementApp", "warning", "alert", "warningFill", "watchesApp", "web", "wordWrap", "wordWrapDisabled", "workflowsApp", "workflow", "workplaceSearchApp", "wrench", "tokenAlias", "tokenAnnotation", "tokenArray", "tokenBinary", "tokenBoolean", "tokenClass", "tokenCompletionSuggester", "tokenConstant", "tokenDate", "tokenDimension", "tokenElement", "tokenEnum", "tokenEnumMember", "tokenEvent", "tokenException", "tokenField", "tokenFile", "tokenFlattened", "tokenFunction", "tokenGeo", "tokenHistogram", "tokenInterface", "tokenIP", "tokenJoin", "tokenKey", "tokenKeyword", "tokenMethod", "tokenMetricCounter", "tokenMetricGauge", "tokenModule", "tokenNamespace", "tokenNested", "tokenNull", "tokenNumber", "tokenObject", "tokenOperator", "tokenPackage", "tokenParameter", "tokenPercolator", "tokenProperty", "tokenRange", "tokenRankFeature", "tokenRankFeatures", "tokenRepo", "tokenSearchType", "tokenSemanticText", "tokenShape", "tokenString", "tokenStruct", "tokenSymbol", "tokenTag", "tokenText", "tokenTokenCount", "tokenVariable", "tokenVectorDense", "tokenVectorSparse"]).isRequired, _propTypes.default.string.isRequired, _propTypes.default.elementType.isRequired]).isRequired,
158
169
  /**
159
170
  * Any of the named color palette options.
160
171
  *
@@ -20,31 +20,40 @@ var _button_display = require("./button_display/_button_display");
20
20
  * popover boundary isolation and isDisabled computation.
21
21
  */
22
22
  function useEuiButtonCommonProps(_ref) {
23
- var _groupContext$isDisab, _groupContext$size, _groupContext$color, _groupContext$hasAria, _groupContext$fullWid, _groupContext$display, _groupContext$fill;
23
+ var _groupContext$isDisab, _groupContext$getSele, _groupContext$size, _groupContext$color, _groupContext$hasAria, _groupContext$fullWid, _ref2, _groupContext$display, _selectionProps$isSel;
24
24
  var size = _ref.size,
25
25
  color = _ref.color,
26
26
  _isDisabled = _ref.isDisabled,
27
27
  hasAriaDisabled = _ref.hasAriaDisabled,
28
28
  fullWidth = _ref.fullWidth,
29
29
  fill = _ref.fill,
30
- display = _ref.display,
30
+ _display = _ref.display,
31
31
  href = _ref.href,
32
32
  disabled = _ref.disabled,
33
- isLoading = _ref.isLoading;
34
- var buttonContext = (0, _react.useContext)(_button_context.EuiButtonContext);
35
- var groupContext = buttonContext;
33
+ isLoading = _ref.isLoading,
34
+ id = _ref.id,
35
+ _isSelected = _ref.isSelected,
36
+ _onClick = _ref.onClick;
37
+ var groupContext = (0, _react.useContext)(_button_context.EuiButtonContext);
36
38
  var isDisabled = (0, _button_display.isButtonDisabled)({
37
39
  href: href,
38
40
  isDisabled: ((_groupContext$isDisab = groupContext.isDisabled) !== null && _groupContext$isDisab !== void 0 ? _groupContext$isDisab : _isDisabled) || disabled,
39
41
  isLoading: isLoading
40
42
  });
43
+ var selectionProps = id != null ? (_groupContext$getSele = groupContext.getSelectionProps) === null || _groupContext$getSele === void 0 ? void 0 : _groupContext$getSele.call(groupContext, id) : undefined;
44
+ var onClick = selectionProps ? function (event) {
45
+ selectionProps.onSelect();
46
+ _onClick === null || _onClick === void 0 || _onClick(event);
47
+ } : _onClick;
41
48
  return {
42
49
  size: (_groupContext$size = groupContext.size) !== null && _groupContext$size !== void 0 ? _groupContext$size : size,
43
50
  color: (_groupContext$color = groupContext.color) !== null && _groupContext$color !== void 0 ? _groupContext$color : color,
44
51
  isDisabled: isDisabled,
45
52
  hasAriaDisabled: (_groupContext$hasAria = groupContext.hasAriaDisabled) !== null && _groupContext$hasAria !== void 0 ? _groupContext$hasAria : hasAriaDisabled,
46
53
  fullWidth: (_groupContext$fullWid = groupContext.fullWidth) !== null && _groupContext$fullWid !== void 0 ? _groupContext$fullWid : fullWidth,
47
- display: (_groupContext$display = groupContext.display) !== null && _groupContext$display !== void 0 ? _groupContext$display : display,
48
- fill: (_groupContext$fill = groupContext.fill) !== null && _groupContext$fill !== void 0 ? _groupContext$fill : fill
54
+ display: (_ref2 = (_groupContext$display = groupContext.display) !== null && _groupContext$display !== void 0 ? _groupContext$display : selectionProps === null || selectionProps === void 0 ? void 0 : selectionProps.display) !== null && _ref2 !== void 0 ? _ref2 : _display,
55
+ fill: (selectionProps === null || selectionProps === void 0 ? void 0 : selectionProps.fill) !== undefined ? selectionProps.fill : groupContext.fill !== undefined ? groupContext.fill : fill,
56
+ isSelected: (_selectionProps$isSel = selectionProps === null || selectionProps === void 0 ? void 0 : selectionProps.isSelected) !== null && _selectionProps$isSel !== void 0 ? _selectionProps$isSel : _isSelected,
57
+ onClick: onClick
49
58
  };
50
59
  }