@elastic/eui 102.1.0 → 102.2.0-snapshot.1748601905883

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 (357) hide show
  1. package/dist/eui_theme_borealis_dark.json +1 -1
  2. package/es/components/badge/color_utils.js +1 -3
  3. package/es/components/badge/notification_badge/badge_notification.styles.js +6 -1
  4. package/es/components/basic_table/basic_table.js +14 -10
  5. package/es/components/basic_table/in_memory_table.js +22 -17
  6. package/es/components/breadcrumbs/_breadcrumb_content.js +1 -1
  7. package/es/components/breadcrumbs/_breadcrumb_content.styles.js +6 -3
  8. package/es/components/breadcrumbs/breadcrumbs.js +3 -3
  9. package/es/components/button/button_display/_button_display.js +1 -1
  10. package/es/components/button/button_display/_button_display.styles.js +11 -2
  11. package/es/components/button/button_display/_button_display_content.styles.js +6 -3
  12. package/es/components/button/button_empty/button_empty.styles.js +9 -12
  13. package/es/components/button/button_group/button_group.js +1 -1
  14. package/es/components/button/button_group/button_group.styles.js +5 -3
  15. package/es/components/button/button_group/button_group_button.js +19 -9
  16. package/es/components/button/button_group/button_group_button.styles.js +43 -19
  17. package/es/components/button/button_icon/button_icon.js +4 -2
  18. package/es/components/collapsible_nav/collapsible_nav.js +1 -0
  19. package/es/components/collapsible_nav_beta/_kibana_solution/collapsible_nav_kibana_solution.js +1 -1
  20. package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_item.js +2 -2
  21. package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_popover.js +2 -2
  22. package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_item.js +4 -4
  23. package/es/components/color_picker/color_palette_display/color_palette_display.js +2 -2
  24. package/es/components/color_picker/color_palette_display/color_palette_display_fixed.js +1 -1
  25. package/es/components/color_picker/color_palette_display/color_palette_display_gradient.js +1 -1
  26. package/es/components/color_picker/color_palette_picker/color_palette_picker.js +4 -4
  27. package/es/components/combo_box/combo_box_options_list/combo_box_options_list.js +1 -1
  28. package/es/components/comment_list/comment_list.js +1 -1
  29. package/es/components/datagrid/body/cell/data_grid_cell.js +9 -9
  30. package/es/components/datagrid/body/data_grid_body.js +14 -9
  31. package/es/components/datagrid/body/data_grid_body_custom.js +14 -9
  32. package/es/components/datagrid/body/data_grid_body_virtualized.js +58 -10
  33. package/es/components/datagrid/body/header/data_grid_header_cell.js +3 -3
  34. package/es/components/datagrid/body/header/draggable_columns.js +1 -1
  35. package/es/components/datagrid/controls/column_sorting.js +6 -6
  36. package/es/components/datagrid/controls/column_sorting_draggable.js +3 -3
  37. package/es/components/datagrid/controls/data_grid_toolbar_control.js +11 -1
  38. package/es/components/datagrid/utils/focus.js +2 -2
  39. package/es/components/datagrid/utils/in_memory.js +3 -3
  40. package/es/components/datagrid/utils/scrolling.js +3 -1
  41. package/es/components/date_picker/super_date_picker/quick_select_popover/quick_select.js +4 -2
  42. package/es/components/date_picker/super_date_picker/super_date_picker.js +4 -4
  43. package/es/components/filter_group/filter_button.js +88 -23
  44. package/es/components/filter_group/filter_button.styles.js +51 -15
  45. package/es/components/filter_group/filter_group.styles.js +18 -6
  46. package/es/components/form/range/dual_range.js +1 -1
  47. package/es/components/form/range/range.js +1 -1
  48. package/es/components/form/range/range_track.js +1 -1
  49. package/es/components/form/select/select.js +1 -1
  50. package/es/components/header/header.js +10 -10
  51. package/es/components/header/header_breadcrumbs/header_breadcrumbs.js +3 -3
  52. package/es/components/header/header_links/header_links.js +1 -1
  53. package/es/components/icon/assets/logo_elastic.js +23 -17
  54. package/es/components/icon/icon.styles.js +1 -1
  55. package/es/components/key_pad_menu/key_pad_menu.js +1 -1
  56. package/es/components/list_group/list_group.js +2 -2
  57. package/es/components/list_group/list_group_item.js +1 -1
  58. package/es/components/list_group/pinnable_list_group/pinnable_list_group.js +4 -4
  59. package/es/components/loading/loading_elastic.styles.js +2 -2
  60. package/es/components/loading/loading_spinner.js +1 -1
  61. package/es/components/markdown_editor/markdown_editor_footer.js +9 -4
  62. package/es/components/page/page_header/page_header_content.js +1 -1
  63. package/es/components/popover/popover.js +1 -1
  64. package/es/components/responsive/hide_for.js +1 -1
  65. package/es/components/responsive/show_for.js +1 -1
  66. package/es/components/search_bar/filters/field_value_selection_filter.js +2 -1
  67. package/es/components/search_bar/filters/field_value_toggle_filter.js +3 -1
  68. package/es/components/search_bar/filters/field_value_toggle_group_filter.js +4 -2
  69. package/es/components/search_bar/filters/is_filter.js +3 -1
  70. package/es/components/search_bar/search_bar.a11y.js +3 -3
  71. package/es/components/search_bar/search_bar.js +3 -3
  72. package/es/components/search_bar/search_filters.js +2 -2
  73. package/es/components/selectable/selectable.js +13 -12
  74. package/es/components/selectable/selectable_templates/selectable_template_sitewide.js +3 -3
  75. package/es/components/side_nav/side_nav.js +2 -2
  76. package/es/components/table/table_row_cell.js +1 -1
  77. package/es/components/timeline/timeline.js +1 -1
  78. package/es/components/toast/global_toast_list.js +27 -20
  79. package/es/components/tour/tour_step.js +1 -1
  80. package/es/global_styling/mixins/_button.js +95 -28
  81. package/es/services/theme/hooks.js +11 -0
  82. package/es/services/theme/index.js +3 -2
  83. package/es/services/theme/provider.js +28 -2
  84. package/es/services/theme/theme_variant.js +22 -0
  85. package/es/themes/amsterdam/global_styling/variables/_buttons.js +348 -147
  86. package/es/themes/amsterdam/global_styling/variables/_components.js +229 -224
  87. package/es/themes/amsterdam/theme.js +2 -1
  88. package/es/themes/json/eui_theme_amsterdam_dark.json +427 -0
  89. package/es/themes/json/eui_theme_amsterdam_light.json +427 -0
  90. package/es/themes/json/eui_theme_borealis_dark.json +427 -0
  91. package/es/themes/json/eui_theme_borealis_light.json +427 -0
  92. package/eui.d.ts +2034 -249
  93. package/lib/components/badge/color_utils.js +1 -3
  94. package/lib/components/badge/notification_badge/badge_notification.styles.js +6 -1
  95. package/lib/components/basic_table/basic_table.js +14 -10
  96. package/lib/components/basic_table/in_memory_table.js +22 -17
  97. package/lib/components/breadcrumbs/_breadcrumb_content.js +1 -1
  98. package/lib/components/breadcrumbs/_breadcrumb_content.styles.js +5 -2
  99. package/lib/components/breadcrumbs/breadcrumbs.js +2 -2
  100. package/lib/components/button/button_display/_button_display.js +1 -1
  101. package/lib/components/button/button_display/_button_display.styles.js +11 -2
  102. package/lib/components/button/button_display/_button_display_content.styles.js +6 -3
  103. package/lib/components/button/button_empty/button_empty.styles.js +10 -11
  104. package/lib/components/button/button_group/button_group.js +1 -1
  105. package/lib/components/button/button_group/button_group.styles.js +5 -3
  106. package/lib/components/button/button_group/button_group_button.js +18 -8
  107. package/lib/components/button/button_group/button_group_button.styles.js +41 -17
  108. package/lib/components/button/button_icon/button_icon.js +3 -1
  109. package/lib/components/collapsible_nav/collapsible_nav.js +1 -0
  110. package/lib/components/collapsible_nav_beta/_kibana_solution/collapsible_nav_kibana_solution.js +1 -1
  111. package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_item.js +2 -2
  112. package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_popover.js +2 -2
  113. package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_item.js +4 -4
  114. package/lib/components/color_picker/color_palette_display/color_palette_display.js +2 -2
  115. package/lib/components/color_picker/color_palette_display/color_palette_display_fixed.js +1 -1
  116. package/lib/components/color_picker/color_palette_display/color_palette_display_gradient.js +1 -1
  117. package/lib/components/color_picker/color_palette_picker/color_palette_picker.js +4 -4
  118. package/lib/components/combo_box/combo_box_options_list/combo_box_options_list.js +1 -1
  119. package/lib/components/comment_list/comment_list.js +1 -1
  120. package/lib/components/datagrid/body/cell/data_grid_cell.js +9 -9
  121. package/lib/components/datagrid/body/data_grid_body.js +14 -9
  122. package/lib/components/datagrid/body/data_grid_body_custom.js +14 -9
  123. package/lib/components/datagrid/body/data_grid_body_virtualized.js +58 -10
  124. package/lib/components/datagrid/body/header/data_grid_header_cell.js +3 -3
  125. package/lib/components/datagrid/body/header/draggable_columns.js +1 -1
  126. package/lib/components/datagrid/controls/column_sorting.js +6 -6
  127. package/lib/components/datagrid/controls/column_sorting_draggable.js +3 -3
  128. package/lib/components/datagrid/controls/data_grid_toolbar_control.js +11 -1
  129. package/lib/components/datagrid/utils/focus.js +1 -1
  130. package/lib/components/datagrid/utils/in_memory.js +3 -3
  131. package/lib/components/datagrid/utils/scrolling.js +3 -1
  132. package/lib/components/date_picker/super_date_picker/quick_select_popover/quick_select.js +4 -2
  133. package/lib/components/date_picker/super_date_picker/super_date_picker.js +4 -4
  134. package/lib/components/empty_prompt/images/illustration.svg +939 -0
  135. package/lib/components/filter_group/filter_button.js +86 -21
  136. package/lib/components/filter_group/filter_button.styles.js +51 -15
  137. package/lib/components/filter_group/filter_group.styles.js +18 -6
  138. package/lib/components/form/range/dual_range.js +1 -1
  139. package/lib/components/form/range/range.js +1 -1
  140. package/lib/components/form/range/range_track.js +1 -1
  141. package/lib/components/form/select/select.js +1 -1
  142. package/lib/components/header/header.js +10 -10
  143. package/lib/components/header/header_breadcrumbs/header_breadcrumbs.js +2 -2
  144. package/lib/components/icon/assets/logo_elastic.js +23 -17
  145. package/lib/components/icon/icon.styles.js +1 -1
  146. package/lib/components/icon/svgs/logo_elastic.svg +7 -9
  147. package/lib/components/key_pad_menu/key_pad_menu.js +1 -1
  148. package/lib/components/list_group/list_group.js +2 -2
  149. package/lib/components/list_group/list_group_item.js +1 -1
  150. package/lib/components/list_group/pinnable_list_group/pinnable_list_group.js +4 -4
  151. package/lib/components/loading/loading_elastic.styles.js +2 -2
  152. package/lib/components/loading/loading_spinner.js +1 -1
  153. package/lib/components/markdown_editor/markdown_editor_footer.js +8 -3
  154. package/lib/components/popover/popover.js +1 -1
  155. package/lib/components/responsive/hide_for.js +1 -1
  156. package/lib/components/responsive/show_for.js +1 -1
  157. package/lib/components/search_bar/filters/field_value_selection_filter.js +2 -1
  158. package/lib/components/search_bar/filters/field_value_toggle_filter.js +3 -1
  159. package/lib/components/search_bar/filters/field_value_toggle_group_filter.js +4 -2
  160. package/lib/components/search_bar/filters/is_filter.js +3 -1
  161. package/lib/components/search_bar/search_bar.a11y.js +3 -3
  162. package/lib/components/search_bar/search_bar.js +3 -3
  163. package/lib/components/search_bar/search_filters.js +2 -2
  164. package/lib/components/selectable/selectable.js +13 -12
  165. package/lib/components/selectable/selectable_templates/selectable_template_sitewide.js +3 -3
  166. package/lib/components/side_nav/side_nav.js +2 -2
  167. package/lib/components/table/table_row_cell.js +1 -1
  168. package/lib/components/timeline/timeline.js +1 -1
  169. package/lib/components/toast/global_toast_list.js +27 -20
  170. package/lib/global_styling/mixins/_button.js +94 -27
  171. package/lib/services/theme/hooks.js +12 -1
  172. package/lib/services/theme/index.js +48 -1
  173. package/lib/services/theme/provider.js +28 -2
  174. package/lib/services/theme/theme_variant.js +28 -0
  175. package/lib/themes/amsterdam/global_styling/variables/_buttons.js +348 -147
  176. package/lib/themes/amsterdam/global_styling/variables/_components.js +229 -224
  177. package/lib/themes/amsterdam/theme.js +2 -1
  178. package/lib/themes/json/eui_theme_amsterdam_dark.json +427 -0
  179. package/lib/themes/json/eui_theme_amsterdam_light.json +427 -0
  180. package/lib/themes/json/eui_theme_borealis_dark.json +427 -0
  181. package/lib/themes/json/eui_theme_borealis_light.json +427 -0
  182. package/optimize/es/components/badge/color_utils.js +1 -3
  183. package/optimize/es/components/badge/notification_badge/badge_notification.styles.js +6 -1
  184. package/optimize/es/components/breadcrumbs/_breadcrumb_content.styles.js +6 -3
  185. package/optimize/es/components/button/button_display/_button_display.js +1 -1
  186. package/optimize/es/components/button/button_display/_button_display.styles.js +11 -2
  187. package/optimize/es/components/button/button_display/_button_display_content.styles.js +6 -3
  188. package/optimize/es/components/button/button_empty/button_empty.styles.js +9 -12
  189. package/optimize/es/components/button/button_group/button_group.styles.js +5 -3
  190. package/optimize/es/components/button/button_group/button_group_button.js +12 -8
  191. package/optimize/es/components/button/button_group/button_group_button.styles.js +43 -19
  192. package/optimize/es/components/button/button_icon/button_icon.js +4 -2
  193. package/optimize/es/components/datagrid/body/data_grid_body_virtualized.js +44 -1
  194. package/optimize/es/components/datagrid/controls/data_grid_toolbar_control.js +11 -1
  195. package/optimize/es/components/datagrid/utils/focus.js +2 -2
  196. package/optimize/es/components/datagrid/utils/scrolling.js +3 -1
  197. package/optimize/es/components/date_picker/super_date_picker/quick_select_popover/quick_select.js +4 -2
  198. package/optimize/es/components/filter_group/filter_button.js +78 -21
  199. package/optimize/es/components/filter_group/filter_button.styles.js +51 -15
  200. package/optimize/es/components/filter_group/filter_group.styles.js +18 -6
  201. package/optimize/es/components/form/select/select.js +1 -1
  202. package/optimize/es/components/icon/assets/logo_elastic.js +23 -17
  203. package/optimize/es/components/icon/icon.styles.js +1 -1
  204. package/optimize/es/components/loading/loading_elastic.styles.js +2 -2
  205. package/optimize/es/components/markdown_editor/markdown_editor_footer.js +9 -4
  206. package/optimize/es/components/search_bar/filters/field_value_selection_filter.js +1 -0
  207. package/optimize/es/components/search_bar/filters/field_value_toggle_filter.js +3 -1
  208. package/optimize/es/components/search_bar/filters/field_value_toggle_group_filter.js +3 -1
  209. package/optimize/es/components/search_bar/filters/is_filter.js +3 -1
  210. package/optimize/es/components/search_bar/search_bar.a11y.js +3 -3
  211. package/optimize/es/components/selectable/selectable.js +10 -9
  212. package/optimize/es/components/toast/global_toast_list.js +24 -20
  213. package/optimize/es/global_styling/mixins/_button.js +95 -28
  214. package/optimize/es/services/theme/hooks.js +11 -0
  215. package/optimize/es/services/theme/index.js +3 -2
  216. package/optimize/es/services/theme/provider.js +28 -2
  217. package/optimize/es/services/theme/theme_variant.js +22 -0
  218. package/optimize/es/themes/amsterdam/global_styling/variables/_buttons.js +348 -147
  219. package/optimize/es/themes/amsterdam/global_styling/variables/_components.js +229 -224
  220. package/optimize/es/themes/amsterdam/theme.js +2 -1
  221. package/optimize/es/themes/json/eui_theme_amsterdam_dark.json +427 -0
  222. package/optimize/es/themes/json/eui_theme_amsterdam_light.json +427 -0
  223. package/optimize/es/themes/json/eui_theme_borealis_dark.json +427 -0
  224. package/optimize/es/themes/json/eui_theme_borealis_light.json +427 -0
  225. package/optimize/lib/components/badge/color_utils.js +1 -3
  226. package/optimize/lib/components/badge/notification_badge/badge_notification.styles.js +6 -1
  227. package/optimize/lib/components/breadcrumbs/_breadcrumb_content.styles.js +5 -2
  228. package/optimize/lib/components/button/button_display/_button_display.js +1 -1
  229. package/optimize/lib/components/button/button_display/_button_display.styles.js +11 -2
  230. package/optimize/lib/components/button/button_display/_button_display_content.styles.js +6 -3
  231. package/optimize/lib/components/button/button_empty/button_empty.styles.js +10 -11
  232. package/optimize/lib/components/button/button_group/button_group.styles.js +5 -3
  233. package/optimize/lib/components/button/button_group/button_group_button.js +11 -7
  234. package/optimize/lib/components/button/button_group/button_group_button.styles.js +41 -17
  235. package/optimize/lib/components/button/button_icon/button_icon.js +3 -1
  236. package/optimize/lib/components/datagrid/body/data_grid_body_virtualized.js +44 -1
  237. package/optimize/lib/components/datagrid/controls/data_grid_toolbar_control.js +11 -1
  238. package/optimize/lib/components/datagrid/utils/focus.js +1 -1
  239. package/optimize/lib/components/datagrid/utils/scrolling.js +3 -1
  240. package/optimize/lib/components/date_picker/super_date_picker/quick_select_popover/quick_select.js +4 -2
  241. package/optimize/lib/components/empty_prompt/images/illustration.svg +939 -0
  242. package/optimize/lib/components/filter_group/filter_button.js +76 -19
  243. package/optimize/lib/components/filter_group/filter_button.styles.js +51 -15
  244. package/optimize/lib/components/filter_group/filter_group.styles.js +18 -6
  245. package/optimize/lib/components/form/select/select.js +1 -1
  246. package/optimize/lib/components/icon/assets/logo_elastic.js +23 -17
  247. package/optimize/lib/components/icon/icon.styles.js +1 -1
  248. package/optimize/lib/components/icon/svgs/logo_elastic.svg +7 -9
  249. package/optimize/lib/components/loading/loading_elastic.styles.js +2 -2
  250. package/optimize/lib/components/markdown_editor/markdown_editor_footer.js +8 -3
  251. package/optimize/lib/components/search_bar/filters/field_value_selection_filter.js +1 -0
  252. package/optimize/lib/components/search_bar/filters/field_value_toggle_filter.js +3 -1
  253. package/optimize/lib/components/search_bar/filters/field_value_toggle_group_filter.js +3 -1
  254. package/optimize/lib/components/search_bar/filters/is_filter.js +3 -1
  255. package/optimize/lib/components/search_bar/search_bar.a11y.js +3 -3
  256. package/optimize/lib/components/selectable/selectable.js +10 -9
  257. package/optimize/lib/components/toast/global_toast_list.js +24 -20
  258. package/optimize/lib/global_styling/mixins/_button.js +94 -27
  259. package/optimize/lib/services/theme/hooks.js +12 -1
  260. package/optimize/lib/services/theme/index.js +48 -1
  261. package/optimize/lib/services/theme/provider.js +28 -2
  262. package/optimize/lib/services/theme/theme_variant.js +28 -0
  263. package/optimize/lib/themes/amsterdam/global_styling/variables/_buttons.js +348 -147
  264. package/optimize/lib/themes/amsterdam/global_styling/variables/_components.js +229 -224
  265. package/optimize/lib/themes/amsterdam/theme.js +2 -1
  266. package/optimize/lib/themes/json/eui_theme_amsterdam_dark.json +427 -0
  267. package/optimize/lib/themes/json/eui_theme_amsterdam_light.json +427 -0
  268. package/optimize/lib/themes/json/eui_theme_borealis_dark.json +427 -0
  269. package/optimize/lib/themes/json/eui_theme_borealis_light.json +427 -0
  270. package/package.json +8 -9
  271. package/test-env/components/badge/color_utils.js +1 -3
  272. package/test-env/components/badge/notification_badge/badge_notification.styles.js +6 -1
  273. package/test-env/components/basic_table/basic_table.js +14 -10
  274. package/test-env/components/basic_table/in_memory_table.js +22 -17
  275. package/test-env/components/breadcrumbs/_breadcrumb_content.js +1 -1
  276. package/test-env/components/breadcrumbs/_breadcrumb_content.styles.js +5 -2
  277. package/test-env/components/breadcrumbs/breadcrumbs.js +2 -2
  278. package/test-env/components/button/button_display/_button_display.js +1 -1
  279. package/test-env/components/button/button_display/_button_display.styles.js +11 -2
  280. package/test-env/components/button/button_display/_button_display_content.styles.js +6 -3
  281. package/test-env/components/button/button_empty/button_empty.styles.js +10 -11
  282. package/test-env/components/button/button_group/button_group.js +1 -1
  283. package/test-env/components/button/button_group/button_group.styles.js +5 -3
  284. package/test-env/components/button/button_group/button_group_button.js +18 -8
  285. package/test-env/components/button/button_group/button_group_button.styles.js +41 -17
  286. package/test-env/components/button/button_icon/button_icon.js +3 -1
  287. package/test-env/components/collapsible_nav/collapsible_nav.js +1 -0
  288. package/test-env/components/collapsible_nav_beta/_kibana_solution/collapsible_nav_kibana_solution.js +1 -1
  289. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_item.js +2 -2
  290. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_popover.js +2 -2
  291. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_item.js +4 -4
  292. package/test-env/components/color_picker/color_palette_display/color_palette_display.js +2 -2
  293. package/test-env/components/color_picker/color_palette_display/color_palette_display_fixed.js +1 -1
  294. package/test-env/components/color_picker/color_palette_display/color_palette_display_gradient.js +1 -1
  295. package/test-env/components/color_picker/color_palette_picker/color_palette_picker.js +4 -4
  296. package/test-env/components/combo_box/combo_box_options_list/combo_box_options_list.js +1 -1
  297. package/test-env/components/comment_list/comment_list.js +1 -1
  298. package/test-env/components/datagrid/body/cell/data_grid_cell.js +9 -9
  299. package/test-env/components/datagrid/body/data_grid_body.js +14 -9
  300. package/test-env/components/datagrid/body/data_grid_body_custom.js +14 -9
  301. package/test-env/components/datagrid/body/data_grid_body_virtualized.js +58 -10
  302. package/test-env/components/datagrid/body/header/data_grid_header_cell.js +3 -3
  303. package/test-env/components/datagrid/body/header/draggable_columns.js +1 -1
  304. package/test-env/components/datagrid/controls/column_sorting.js +6 -6
  305. package/test-env/components/datagrid/controls/column_sorting_draggable.js +3 -3
  306. package/test-env/components/datagrid/controls/data_grid_toolbar_control.js +11 -1
  307. package/test-env/components/datagrid/utils/focus.js +1 -1
  308. package/test-env/components/datagrid/utils/in_memory.js +3 -3
  309. package/test-env/components/datagrid/utils/scrolling.js +3 -1
  310. package/test-env/components/date_picker/super_date_picker/quick_select_popover/quick_select.js +4 -2
  311. package/test-env/components/date_picker/super_date_picker/super_date_picker.js +4 -4
  312. package/test-env/components/filter_group/filter_button.js +86 -21
  313. package/test-env/components/filter_group/filter_button.styles.js +51 -15
  314. package/test-env/components/filter_group/filter_group.styles.js +18 -6
  315. package/test-env/components/form/range/dual_range.js +1 -1
  316. package/test-env/components/form/range/range.js +1 -1
  317. package/test-env/components/form/range/range_track.js +1 -1
  318. package/test-env/components/form/select/select.js +1 -1
  319. package/test-env/components/header/header.js +10 -10
  320. package/test-env/components/header/header_breadcrumbs/header_breadcrumbs.js +2 -2
  321. package/test-env/components/icon/assets/logo_elastic.js +23 -17
  322. package/test-env/components/icon/icon.styles.js +1 -1
  323. package/test-env/components/key_pad_menu/key_pad_menu.js +1 -1
  324. package/test-env/components/list_group/list_group.js +2 -2
  325. package/test-env/components/list_group/list_group_item.js +1 -1
  326. package/test-env/components/list_group/pinnable_list_group/pinnable_list_group.js +4 -4
  327. package/test-env/components/loading/loading_elastic.styles.js +2 -2
  328. package/test-env/components/loading/loading_spinner.js +1 -1
  329. package/test-env/components/markdown_editor/markdown_editor_footer.js +8 -3
  330. package/test-env/components/popover/popover.js +1 -1
  331. package/test-env/components/responsive/hide_for.js +1 -1
  332. package/test-env/components/responsive/show_for.js +1 -1
  333. package/test-env/components/search_bar/filters/field_value_selection_filter.js +2 -1
  334. package/test-env/components/search_bar/filters/field_value_toggle_filter.js +3 -1
  335. package/test-env/components/search_bar/filters/field_value_toggle_group_filter.js +4 -2
  336. package/test-env/components/search_bar/filters/is_filter.js +3 -1
  337. package/test-env/components/search_bar/search_bar.a11y.js +3 -3
  338. package/test-env/components/search_bar/search_bar.js +3 -3
  339. package/test-env/components/search_bar/search_filters.js +2 -2
  340. package/test-env/components/selectable/selectable.js +13 -12
  341. package/test-env/components/selectable/selectable_templates/selectable_template_sitewide.js +3 -3
  342. package/test-env/components/side_nav/side_nav.js +2 -2
  343. package/test-env/components/table/table_row_cell.js +1 -1
  344. package/test-env/components/timeline/timeline.js +1 -1
  345. package/test-env/components/toast/global_toast_list.js +24 -20
  346. package/test-env/global_styling/mixins/_button.js +94 -27
  347. package/test-env/services/theme/hooks.js +12 -1
  348. package/test-env/services/theme/index.js +48 -1
  349. package/test-env/services/theme/provider.js +28 -2
  350. package/test-env/services/theme/theme_variant.js +28 -0
  351. package/test-env/themes/amsterdam/global_styling/variables/_buttons.js +348 -147
  352. package/test-env/themes/amsterdam/global_styling/variables/_components.js +229 -224
  353. package/test-env/themes/amsterdam/theme.js +2 -1
  354. package/test-env/themes/json/eui_theme_amsterdam_dark.json +427 -0
  355. package/test-env/themes/json/eui_theme_amsterdam_light.json +427 -0
  356. package/test-env/themes/json/eui_theme_borealis_dark.json +427 -0
  357. package/test-env/themes/json/eui_theme_borealis_light.json +427 -0
@@ -305,6 +305,48 @@ export var EuiDataGridBodyVirtualized = /*#__PURE__*/memo(function (_ref3) {
305
305
  footerRow: footerRow
306
306
  };
307
307
  }, [headerRowHeight, headerRow, footerRow]);
308
+ var onScroll = useCallback(function (args) {
309
+ // check only if a callback is passed
310
+ if (typeof (virtualizationOptions === null || virtualizationOptions === void 0 ? void 0 : virtualizationOptions.onScroll) !== 'function') return;
311
+ var enhancedArgs = _objectSpread(_objectSpread({}, args), {}, {
312
+ scrollHeight: 0,
313
+ scrollWidth: 0,
314
+ clientHeight: 0,
315
+ clientWidth: 0,
316
+ isScrolledToBlockStart: args.scrollTop === 0,
317
+ isScrolledToBlockEnd: false,
318
+ isScrolledToInlineStart: args.scrollLeft === 0,
319
+ isScrolledToInlineEnd: false
320
+ });
321
+ if (outerGridRef.current) {
322
+ var _outerGridRef$current = outerGridRef.current,
323
+ scrollTop = _outerGridRef$current.scrollTop,
324
+ scrollLeft = _outerGridRef$current.scrollLeft,
325
+ scrollHeight = _outerGridRef$current.scrollHeight,
326
+ scrollWidth = _outerGridRef$current.scrollWidth,
327
+ clientHeight = _outerGridRef$current.clientHeight,
328
+ clientWidth = _outerGridRef$current.clientWidth;
329
+ var isScrollableVertical = scrollHeight > clientHeight;
330
+ var isScrolledToBlockStart = scrollTop === 0;
331
+ var isScrollableHorizontal = scrollWidth > clientWidth;
332
+ var isScrolledToInlineStart = scrollLeft === 0;
333
+ var isScrolledToBlockEnd = isScrollableVertical && !isScrolledToBlockStart && scrollHeight - scrollTop <= clientHeight;
334
+ var isScrolledToInlineEnd = isScrollableHorizontal && !isScrolledToInlineStart && scrollWidth - scrollLeft <= clientWidth;
335
+ enhancedArgs = _objectSpread(_objectSpread({}, enhancedArgs), {}, {
336
+ scrollTop: scrollTop,
337
+ scrollLeft: scrollLeft,
338
+ scrollHeight: scrollHeight,
339
+ scrollWidth: scrollWidth,
340
+ clientHeight: clientHeight,
341
+ clientWidth: clientWidth,
342
+ isScrolledToBlockStart: isScrolledToBlockStart,
343
+ isScrolledToBlockEnd: isScrolledToBlockEnd,
344
+ isScrolledToInlineStart: isScrolledToInlineStart,
345
+ isScrolledToInlineEnd: isScrolledToInlineEnd
346
+ });
347
+ }
348
+ return virtualizationOptions === null || virtualizationOptions === void 0 ? void 0 : virtualizationOptions.onScroll(enhancedArgs);
349
+ }, [outerGridRef, virtualizationOptions]);
308
350
  return IS_JEST_ENVIRONMENT || finalWidth > 0 ? ___EmotionJSX(DataGridWrapperRowsContext.Provider, {
309
351
  value: rowWrapperContextValue
310
352
  }, ___EmotionJSX(Grid, _extends({}, virtualizationOptions, {
@@ -320,7 +362,8 @@ export var EuiDataGridBodyVirtualized = /*#__PURE__*/memo(function (_ref3) {
320
362
  height: finalHeight,
321
363
  rowHeight: getRowHeight,
322
364
  itemData: itemData,
323
- rowCount: IS_JEST_ENVIRONMENT || headerRowHeight > 0 ? visibleRowCount : 0
365
+ rowCount: IS_JEST_ENVIRONMENT || headerRowHeight > 0 ? visibleRowCount : 0,
366
+ onScroll: onScroll
324
367
  }), Cell), scrollBorderOverlay) : null;
325
368
  });
326
369
  EuiDataGridBodyVirtualized.propTypes = {
@@ -427,12 +470,12 @@ EuiDataGridBodyVirtualized.propTypes = {
427
470
  defaultSortDirection: PropTypes.oneOf(["asc", "desc"]),
428
471
  /**
429
472
  * A Schema to use for the column.
430
- * Built-in values are [`boolean`, `currency`, `datetime`, `numeric`, `json`] but can be expanded by defining your own #EuiDataGrid `schemaDetectors` (for in-memory detection).
473
+ * Built-in values are [`boolean`, `currency`, `datetime`, `numeric`, `json`] but can be expanded by defining your own {@link EuiDataGrid} `schemaDetectors` (for in-memory detection).
431
474
  * In general, it is advised to pass in a value here when you are sure of the schema ahead of time, so that you don't need to rely on the automatic detection.
432
475
  */
433
476
  schema: PropTypes.string,
434
477
  /**
435
- * Configuration of column actions. Set to false to disable or use #EuiDataGridColumnActions to configure the actions displayed in the header cell of the column.
478
+ * Configuration of column actions. Set to false to disable or use {@link EuiDataGridColumnActions} to configure the actions displayed in the header cell of the column.
436
479
  */
437
480
  actions: PropTypes.oneOfType([PropTypes.oneOf([false]), PropTypes.shape({
438
481
  /**
@@ -481,7 +524,7 @@ EuiDataGridBodyVirtualized.propTypes = {
481
524
  */
482
525
  showToolTip: PropTypes.bool,
483
526
  /**
484
- * An object of #EuiListGroupItemExtraAction props.
527
+ * An object of {@link EuiListGroupItemExtraAction} props.
485
528
  * Adds an `EuiButtonIcon` to the right side of the item; `iconType` is required;
486
529
  * pass `alwaysShow` if you don't want the default behavior of only showing on hover
487
530
  */
@@ -791,7 +834,7 @@ EuiDataGridBodyVirtualized.propTypes = {
791
834
  schema: PropTypes.shape({}).isRequired,
792
835
  schemaDetectors: PropTypes.arrayOf(PropTypes.shape({
793
836
  /**
794
- * The name of this data type, matches #EuiDataGridColumn / `schema`
837
+ * The name of this data type, matches {@link EuiDataGridColumn} / `schema`
795
838
  */
796
839
  type: PropTypes.string.isRequired,
797
840
  /**
@@ -819,7 +862,7 @@ EuiDataGridBodyVirtualized.propTypes = {
819
862
  */
820
863
  sortTextDesc: PropTypes.node.isRequired,
821
864
  /**
822
- * Whether columns with this schema are sortable (defaults to true). Can be overridden at the individual #EuiDataGridColumn level
865
+ * Whether columns with this schema are sortable (defaults to true). Can be overridden at the individual {@link EuiDataGridColumn} level
823
866
  */
824
867
  isSortable: PropTypes.bool,
825
868
  /**
@@ -827,7 +870,7 @@ EuiDataGridBodyVirtualized.propTypes = {
827
870
  */
828
871
  textTransform: PropTypes.oneOf(["uppercase", "lowercase", "capitalize"]),
829
872
  /**
830
- * Default sort direction of columns with this schema. Can be overridden at the individual #EuiDataGridColumn level
873
+ * Default sort direction of columns with this schema. Can be overridden at the individual {@link EuiDataGridColumn} level
831
874
  */
832
875
  defaultSortDirection: PropTypes.oneOf(["asc", "desc"])
833
876
  }).isRequired).isRequired,
@@ -860,7 +903,12 @@ EuiDataGridBodyVirtualized.propTypes = {
860
903
  setVisibleColumns: PropTypes.func.isRequired,
861
904
  switchColumnPos: PropTypes.func.isRequired,
862
905
  onColumnResize: PropTypes.func,
863
- virtualizationOptions: PropTypes.any,
906
+ virtualizationOptions: PropTypes.shape({
907
+ /**
908
+ * Called when the grid scroll positions changes, as a result of user scrolling or scroll-to method calls.
909
+ */
910
+ onScroll: PropTypes.func
911
+ }),
864
912
  rowHeightsOptions: PropTypes.shape({
865
913
  /**
866
914
  * Defines the default size for all rows. It can be line count or just height.
@@ -881,7 +929,7 @@ EuiDataGridBodyVirtualized.propTypes = {
881
929
  * Defines the height for a specific row. It can be line count or just height.
882
930
  *
883
931
  * When using row height overrides, we strongly setting the `showDisplaySelector: allowRowHeight`
884
- * toolbar control to `false` in #EuiDataGridToolBarVisibilityOptions
932
+ * toolbar control to `false` in {@link EuiDataGridToolBarVisibilityOptions}
885
933
  */
886
934
  rowHeights: PropTypes.any,
887
935
  /**
@@ -924,7 +972,7 @@ EuiDataGridBodyVirtualized.propTypes = {
924
972
  */
925
973
  stripes: PropTypes.bool,
926
974
  /**
927
- * Visual style for the column headers. Recommendation is to use the `underline` style in times when #EuiDataGrid `toolbarVisibility` is set to `false`.
975
+ * Visual style for the column headers. Recommendation is to use the `underline` style in times when {@link EuiDataGrid} `toolbarVisibility` is set to `false`.
928
976
  * @default shade
929
977
  */
930
978
  header: PropTypes.oneOf(["shade", "underline"]),
@@ -175,12 +175,12 @@ EuiDataGridHeaderCell.propTypes = {
175
175
  defaultSortDirection: PropTypes.oneOf(["asc", "desc"]),
176
176
  /**
177
177
  * A Schema to use for the column.
178
- * Built-in values are [`boolean`, `currency`, `datetime`, `numeric`, `json`] but can be expanded by defining your own #EuiDataGrid `schemaDetectors` (for in-memory detection).
178
+ * Built-in values are [`boolean`, `currency`, `datetime`, `numeric`, `json`] but can be expanded by defining your own {@link EuiDataGrid} `schemaDetectors` (for in-memory detection).
179
179
  * In general, it is advised to pass in a value here when you are sure of the schema ahead of time, so that you don't need to rely on the automatic detection.
180
180
  */
181
181
  schema: PropTypes.string,
182
182
  /**
183
- * Configuration of column actions. Set to false to disable or use #EuiDataGridColumnActions to configure the actions displayed in the header cell of the column.
183
+ * Configuration of column actions. Set to false to disable or use {@link EuiDataGridColumnActions} to configure the actions displayed in the header cell of the column.
184
184
  */
185
185
  actions: PropTypes.oneOfType([PropTypes.oneOf([false]), PropTypes.shape({
186
186
  /**
@@ -229,7 +229,7 @@ EuiDataGridHeaderCell.propTypes = {
229
229
  */
230
230
  showToolTip: PropTypes.bool,
231
231
  /**
232
- * An object of #EuiListGroupItemExtraAction props.
232
+ * An object of {@link EuiListGroupItemExtraAction} props.
233
233
  * Adds an `EuiButtonIcon` to the right side of the item; `iconType` is required;
234
234
  * pass `alwaysShow` if you don't want the default behavior of only showing on hover
235
235
  */
@@ -216,7 +216,7 @@ DraggableColumn.propTypes = {
216
216
  */
217
217
  stripes: PropTypes.bool,
218
218
  /**
219
- * Visual style for the column headers. Recommendation is to use the `underline` style in times when #EuiDataGrid `toolbarVisibility` is set to `false`.
219
+ * Visual style for the column headers. Recommendation is to use the `underline` style in times when {@link EuiDataGrid} `toolbarVisibility` is set to `false`.
220
220
  * @default shade
221
221
  */
222
222
  header: PropTypes.oneOf(["shade", "underline"]),
@@ -307,12 +307,12 @@ DataGridSortingControl.propTypes = {
307
307
  defaultSortDirection: PropTypes.oneOf(["asc", "desc"]),
308
308
  /**
309
309
  * A Schema to use for the column.
310
- * Built-in values are [`boolean`, `currency`, `datetime`, `numeric`, `json`] but can be expanded by defining your own #EuiDataGrid `schemaDetectors` (for in-memory detection).
310
+ * Built-in values are [`boolean`, `currency`, `datetime`, `numeric`, `json`] but can be expanded by defining your own {@link EuiDataGrid} `schemaDetectors` (for in-memory detection).
311
311
  * In general, it is advised to pass in a value here when you are sure of the schema ahead of time, so that you don't need to rely on the automatic detection.
312
312
  */
313
313
  schema: PropTypes.string,
314
314
  /**
315
- * Configuration of column actions. Set to false to disable or use #EuiDataGridColumnActions to configure the actions displayed in the header cell of the column.
315
+ * Configuration of column actions. Set to false to disable or use {@link EuiDataGridColumnActions} to configure the actions displayed in the header cell of the column.
316
316
  */
317
317
  actions: PropTypes.oneOfType([PropTypes.oneOf([false]), PropTypes.shape({
318
318
  /**
@@ -361,7 +361,7 @@ DataGridSortingControl.propTypes = {
361
361
  */
362
362
  showToolTip: PropTypes.bool,
363
363
  /**
364
- * An object of #EuiListGroupItemExtraAction props.
364
+ * An object of {@link EuiListGroupItemExtraAction} props.
365
365
  * Adds an `EuiButtonIcon` to the right side of the item; `iconType` is required;
366
366
  * pass `alwaysShow` if you don't want the default behavior of only showing on hover
367
367
  */
@@ -671,7 +671,7 @@ DataGridSortingControl.propTypes = {
671
671
  schema: PropTypes.shape({}).isRequired,
672
672
  schemaDetectors: PropTypes.arrayOf(PropTypes.shape({
673
673
  /**
674
- * The name of this data type, matches #EuiDataGridColumn / `schema`
674
+ * The name of this data type, matches {@link EuiDataGridColumn} / `schema`
675
675
  */
676
676
  type: PropTypes.string.isRequired,
677
677
  /**
@@ -699,7 +699,7 @@ DataGridSortingControl.propTypes = {
699
699
  */
700
700
  sortTextDesc: PropTypes.node.isRequired,
701
701
  /**
702
- * Whether columns with this schema are sortable (defaults to true). Can be overridden at the individual #EuiDataGridColumn level
702
+ * Whether columns with this schema are sortable (defaults to true). Can be overridden at the individual {@link EuiDataGridColumn} level
703
703
  */
704
704
  isSortable: PropTypes.bool,
705
705
  /**
@@ -707,7 +707,7 @@ DataGridSortingControl.propTypes = {
707
707
  */
708
708
  textTransform: PropTypes.oneOf(["uppercase", "lowercase", "capitalize"]),
709
709
  /**
710
- * Default sort direction of columns with this schema. Can be overridden at the individual #EuiDataGridColumn level
710
+ * Default sort direction of columns with this schema. Can be overridden at the individual {@link EuiDataGridColumn} level
711
711
  */
712
712
  defaultSortDirection: PropTypes.oneOf(["asc", "desc"])
713
713
  }).isRequired).isRequired
@@ -192,7 +192,7 @@ EuiDataGridColumnSortingDraggable.propTypes = {
192
192
  schema: PropTypes.shape({}).isRequired,
193
193
  schemaDetectors: PropTypes.arrayOf(PropTypes.shape({
194
194
  /**
195
- * The name of this data type, matches #EuiDataGridColumn / `schema`
195
+ * The name of this data type, matches {@link EuiDataGridColumn} / `schema`
196
196
  */
197
197
  type: PropTypes.string.isRequired,
198
198
  /**
@@ -220,7 +220,7 @@ EuiDataGridColumnSortingDraggable.propTypes = {
220
220
  */
221
221
  sortTextDesc: PropTypes.node.isRequired,
222
222
  /**
223
- * Whether columns with this schema are sortable (defaults to true). Can be overridden at the individual #EuiDataGridColumn level
223
+ * Whether columns with this schema are sortable (defaults to true). Can be overridden at the individual {@link EuiDataGridColumn} level
224
224
  */
225
225
  isSortable: PropTypes.bool,
226
226
  /**
@@ -228,7 +228,7 @@ EuiDataGridColumnSortingDraggable.propTypes = {
228
228
  */
229
229
  textTransform: PropTypes.oneOf(["uppercase", "lowercase", "capitalize"]),
230
230
  /**
231
- * Default sort direction of columns with this schema. Can be overridden at the individual #EuiDataGridColumn level
231
+ * Default sort direction of columns with this schema. Can be overridden at the individual {@link EuiDataGridColumn} level
232
232
  */
233
233
  defaultSortDirection: PropTypes.oneOf(["asc", "desc"])
234
234
  }).isRequired).isRequired,
@@ -15,6 +15,7 @@ import PropTypes from "prop-types";
15
15
  import React from 'react';
16
16
  import classNames from 'classnames';
17
17
  import { css } from '@emotion/react';
18
+ import { useEuiTheme, useEuiThemeRefreshVariant } from '../../../services';
18
19
  import { EuiButtonEmpty } from '../../button';
19
20
  import { EuiNotificationBadge } from '../../badge';
20
21
  import { useEuiI18n } from '../../i18n';
@@ -25,7 +26,12 @@ export var EuiDataGridToolbarControl = function EuiDataGridToolbarControl(_ref)
25
26
  badgeContent = _ref.badgeContent,
26
27
  textProps = _ref.textProps,
27
28
  rest = _objectWithoutProperties(_ref, _excluded);
29
+ var euiThemeContext = useEuiTheme();
30
+ var isRefreshVariant = useEuiThemeRefreshVariant('buttonVariant');
28
31
  var classes = classNames('euiDataGridToolbarControl', className);
32
+ var cssStyles = isRefreshVariant ?
33
+ // passes euiThemeContext here instead via `css` to ensure legacy Enzyme tests work
34
+ interactiveStyles(euiThemeContext) : underlineStyles;
29
35
  var badgeAriaLabel = useEuiI18n('euiDataGridToolbarControl.badgeAriaLabel', 'Active: {count}', {
30
36
  count: typeof badgeContent === 'string' ? betterScreenReaderSlashes(badgeContent) : badgeContent
31
37
  });
@@ -34,7 +40,7 @@ export var EuiDataGridToolbarControl = function EuiDataGridToolbarControl(_ref)
34
40
  size: "xs",
35
41
  color: "text",
36
42
  textProps: false,
37
- css: underlineStyles
43
+ css: cssStyles
38
44
  }, rest), ___EmotionJSX("span", _extends({}, textProps, {
39
45
  className: classNames('euiDataGridToolbarControl__text', 'eui-textTruncate', textProps && textProps.className)
40
46
  }), children), Boolean(badgeContent) && ___EmotionJSX(EuiNotificationBadge, {
@@ -151,6 +157,10 @@ var underlineStyles = process.env.NODE_ENV === "production" ? {
151
157
  styles: "&:focus,&:hover:not(:disabled){text-decoration:none;.euiDataGridToolbarControl__text{text-decoration:underline;}};label:underlineStyles;",
152
158
  toString: _EMOTION_STRINGIFIED_CSS_ERROR__
153
159
  };
160
+ var interactiveStyles = function interactiveStyles(_ref2) {
161
+ var euiTheme = _ref2.euiTheme;
162
+ return /*#__PURE__*/css("&:focus,&:hover:not(:disabled){.euiDataGridToolbarControl__badge{background-color:", euiTheme.components.filterButtonBadgeBackgroundHover, ";}};label:interactiveStyles;");
163
+ };
154
164
  var badgeStyles = process.env.NODE_ENV === "production" ? {
155
165
  name: "1968nw3-badgeStyles",
156
166
  styles: "cursor:inherit;label:badgeStyles;"
@@ -12,7 +12,7 @@ function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
12
12
  * Side Public License, v 1.
13
13
  */
14
14
 
15
- import { createContext, useCallback, useEffect, useMemo, useRef, useState } from 'react';
15
+ import { createContext, useCallback, useLayoutEffect, useMemo, useRef, useState } from 'react';
16
16
  import { tabbable } from 'tabbable';
17
17
  import { keys } from '../../../services';
18
18
  export var DataGridFocusContext = /*#__PURE__*/createContext({
@@ -60,7 +60,7 @@ export var useFocus = function useFocus() {
60
60
  });
61
61
  }, []);
62
62
  var previousCell = useRef(undefined);
63
- useEffect(function () {
63
+ useLayoutEffect(function () {
64
64
  if (previousCell.current) {
65
65
  notifyCellOfFocusState(cellsUpdateFocus.current, previousCell.current, false);
66
66
  }
@@ -235,12 +235,12 @@ EuiDataGridInMemoryRenderer.propTypes = {
235
235
  defaultSortDirection: PropTypes.oneOf(["asc", "desc"]),
236
236
  /**
237
237
  * A Schema to use for the column.
238
- * Built-in values are [`boolean`, `currency`, `datetime`, `numeric`, `json`] but can be expanded by defining your own #EuiDataGrid `schemaDetectors` (for in-memory detection).
238
+ * Built-in values are [`boolean`, `currency`, `datetime`, `numeric`, `json`] but can be expanded by defining your own {@link EuiDataGrid} `schemaDetectors` (for in-memory detection).
239
239
  * In general, it is advised to pass in a value here when you are sure of the schema ahead of time, so that you don't need to rely on the automatic detection.
240
240
  */
241
241
  schema: PropTypes.string,
242
242
  /**
243
- * Configuration of column actions. Set to false to disable or use #EuiDataGridColumnActions to configure the actions displayed in the header cell of the column.
243
+ * Configuration of column actions. Set to false to disable or use {@link EuiDataGridColumnActions} to configure the actions displayed in the header cell of the column.
244
244
  */
245
245
  actions: PropTypes.oneOfType([PropTypes.oneOf([false]), PropTypes.shape({
246
246
  /**
@@ -289,7 +289,7 @@ EuiDataGridInMemoryRenderer.propTypes = {
289
289
  */
290
290
  showToolTip: PropTypes.bool,
291
291
  /**
292
- * An object of #EuiListGroupItemExtraAction props.
292
+ * An object of {@link EuiListGroupItemExtraAction} props.
293
293
  * Adds an `EuiButtonIcon` to the right side of the item; `iconType` is required;
294
294
  * pass `alwaysShow` if you don't want the default behavior of only showing on hover
295
295
  */
@@ -17,6 +17,7 @@ import { DataGridCellPopoverContext } from '../body/cell';
17
17
  import { DataGridFocusContext } from './focus';
18
18
  import { euiDataGridScrollBarStyles } from './scrolling.styles';
19
19
  import { jsx as ___EmotionJSX } from "@emotion/react";
20
+ var ACTIONS_MENU_HEIGHT = 21;
20
21
  /**
21
22
  * The primary goal of this scroll logic is to ensure keyboard navigation works accessibly,
22
23
  * but there are other scenarios where it applies (e.g. clicking partially-visible cells)
@@ -170,7 +171,8 @@ export var useScrollCellIntoView = function useScrollCellIntoView(_ref) {
170
171
  if (topHeightOutOfView > 0) {
171
172
  // Note: This overrides the bottom side being out of bounds, as we want to prefer
172
173
  // showing the top-left corner of items if a cell is larger than the grid container
173
- adjustedScrollTop = cellTopPos - headerRowHeight;
174
+ // Additionally, add an offset for the actions menu
175
+ adjustedScrollTop = cellTopPos - headerRowHeight - ACTIONS_MENU_HEIGHT;
174
176
  }
175
177
  }
176
178
 
@@ -184,7 +184,8 @@ export var EuiQuickSelect = /*#__PURE__*/function (_Component) {
184
184
  default: "Previous time window"
185
185
  }, function (previousLabel) {
186
186
  return ___EmotionJSX(EuiToolTip, {
187
- content: previousLabel
187
+ content: previousLabel,
188
+ disableScreenReaderOutput: true
188
189
  }, ___EmotionJSX(EuiButtonIcon, {
189
190
  "aria-label": previousLabel,
190
191
  iconType: "arrowLeft",
@@ -197,7 +198,8 @@ export var EuiQuickSelect = /*#__PURE__*/function (_Component) {
197
198
  default: "Next time window"
198
199
  }, function (nextLabel) {
199
200
  return ___EmotionJSX(EuiToolTip, {
200
- content: nextLabel
201
+ content: nextLabel,
202
+ disableScreenReaderOutput: true
201
203
  }, ___EmotionJSX(EuiButtonIcon, {
202
204
  "aria-label": nextLabel,
203
205
  iconType: "arrowRight",
@@ -636,7 +636,7 @@ EuiSuperDatePickerInternal.propTypes = {
636
636
  */
637
637
  isQuickSelectOnly: PropTypes.bool,
638
638
  /**
639
- * Props passed to the update button #EuiSuperUpdateButtonProps
639
+ * Props passed to the update button {@link EuiSuperUpdateButtonProps}
640
640
  */
641
641
  updateButtonProps: PropTypes.shape({
642
642
  /**
@@ -666,7 +666,7 @@ EuiSuperDatePickerInternal.propTypes = {
666
666
  responsive: PropTypes.oneOfType([PropTypes.oneOf([false]), PropTypes.arrayOf(PropTypes.any.isRequired).isRequired])
667
667
  }),
668
668
  /**
669
- * Props passed to the quick select button #EuiQuickSelectButtonProps
669
+ * Props passed to the quick select button {@link EuiQuickSelectButtonProps}
670
670
  */
671
671
  quickSelectButtonProps: PropTypes.any,
672
672
  /**
@@ -831,7 +831,7 @@ EuiSuperDatePicker.propTypes = {
831
831
  */
832
832
  isQuickSelectOnly: PropTypes.bool,
833
833
  /**
834
- * Props passed to the update button #EuiSuperUpdateButtonProps
834
+ * Props passed to the update button {@link EuiSuperUpdateButtonProps}
835
835
  */
836
836
  updateButtonProps: PropTypes.shape({
837
837
  children: PropTypes.node,
@@ -841,7 +841,7 @@ EuiSuperDatePicker.propTypes = {
841
841
  responsive: PropTypes.oneOfType([PropTypes.oneOf([false]), PropTypes.arrayOf(PropTypes.any.isRequired).isRequired])
842
842
  }),
843
843
  /**
844
- * Props passed to the quick select button #EuiQuickSelectButtonProps
844
+ * Props passed to the quick select button {@link EuiQuickSelectButtonProps}
845
845
  */
846
846
  quickSelectButtonProps: PropTypes.any,
847
847
  /**
@@ -1,11 +1,11 @@
1
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
- var _excluded = ["children", "className", "iconType", "iconSide", "color", "badgeColor", "hasActiveFilters", "numFilters", "numActiveFilters", "isDisabled", "isSelected", "type", "grow", "withNext", "textProps", "contentProps"];
3
- function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
2
+ var _excluded = ["children", "className", "iconType", "iconSide", "color", "badgeColor", "hasActiveFilters", "numFilters", "numActiveFilters", "isToggle", "isDisabled", "isSelected", "type", "grow", "withNext", "textProps", "contentProps"];
4
3
  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
4
  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; }
6
5
  function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
7
6
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
8
7
  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); }
8
+ function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
9
9
  function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
10
10
  function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
11
11
  function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
@@ -25,12 +25,14 @@ function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t =
25
25
  import React from 'react';
26
26
  import PropTypes from "prop-types";
27
27
  import classNames from 'classnames';
28
- import { useEuiMemoizedStyles } from '../../services';
28
+ import { EuiThemeProvider, useEuiMemoizedStyles, useEuiTheme, useGeneratedHtmlId, useEuiThemeRefreshVariant } from '../../services';
29
29
  import { useEuiI18n } from '../i18n';
30
30
  import { useInnerText } from '../inner_text';
31
31
  import { EuiNotificationBadge } from '../badge';
32
32
  import { EuiButtonEmpty } from '../button/button_empty';
33
- import { euiFilterButtonStyles, euiFilterButtonChildStyles } from './filter_button.styles';
33
+ import { euiFilterButtonStyles, euiFilterButtonWrapperStyles, euiFilterButtonChildStyles } from './filter_button.styles';
34
+ import { EuiButtonGroupButton } from '../button/button_group/button_group_button';
35
+ import { _compressedButtonFocusColors } from '../button/button_group/button_group_button.styles';
34
36
  import { jsx as ___EmotionJSX } from "@emotion/react";
35
37
  export var EuiFilterButton = function EuiFilterButton(_ref) {
36
38
  var children = _ref.children,
@@ -45,6 +47,7 @@ export var EuiFilterButton = function EuiFilterButton(_ref) {
45
47
  hasActiveFilters = _ref.hasActiveFilters,
46
48
  numFilters = _ref.numFilters,
47
49
  numActiveFilters = _ref.numActiveFilters,
50
+ isToggle = _ref.isToggle,
48
51
  isDisabled = _ref.isDisabled,
49
52
  isSelected = _ref.isSelected,
50
53
  _ref$type = _ref.type,
@@ -55,18 +58,37 @@ export var EuiFilterButton = function EuiFilterButton(_ref) {
55
58
  textProps = _ref.textProps,
56
59
  contentProps = _ref.contentProps,
57
60
  rest = _objectWithoutProperties(_ref, _excluded);
61
+ var id = useGeneratedHtmlId({
62
+ prefix: 'filter-button'
63
+ });
58
64
  var numFiltersDefined = numFilters != null; // != instead of !== to allow for null and undefined
59
65
  var numActiveFiltersDefined = numActiveFilters != null && numActiveFilters > 0;
66
+ var euiThemeContext = useEuiTheme();
67
+ var colorMode = euiThemeContext.colorMode;
68
+ var isRefreshVariant = useEuiThemeRefreshVariant('buttonVariant');
69
+
70
+ // assumption about type of usage based on icon usage
71
+ // requires manual override to apply correct aria attributes for more custom usages
72
+ var isCollapsible = !isToggle && iconType === 'arrowDown';
73
+ // NOTE: in Amsterdam `hasActiveFilters` applies selected styling while `isSelected` does not.
74
+ // With Borealis this is more granular as EuiFilterButton now supports proper toggle buttons next to regular buttons
75
+ var isExpanded = isCollapsible && (isSelected !== null && isSelected !== void 0 ? isSelected : hasActiveFilters);
60
76
  var styles = useEuiMemoizedStyles(euiFilterButtonStyles);
61
- var cssStyles = [styles.euiFilterButton, withNext && styles.withNext, !grow && styles.noGrow, hasActiveFilters && styles.hasActiveFilters, numFiltersDefined && styles.hasNotification];
77
+ var focusColorStyles = useEuiMemoizedStyles(_compressedButtonFocusColors);
78
+ var toggleVariantStyles = isRefreshVariant ? [isToggle && styles.buttonType.toggle, !isToggle && !isDisabled && focusColorStyles[color], !isToggle && styles.buttonType.default] : [isToggle && styles.buttonType.toggle];
79
+ var cssStyles = [styles.euiFilterButton, !isRefreshVariant && withNext && styles.withNext, hasActiveFilters && styles.hasActiveFilters].concat(toggleVariantStyles);
80
+ var wrapperStyles = useEuiMemoizedStyles(euiFilterButtonWrapperStyles);
81
+ var wrapperCssStyles = [wrapperStyles.wrapper, isRefreshVariant && withNext && styles.withNext, numFiltersDefined && styles.hasNotification, isToggle && wrapperStyles.hasToggle, !grow && styles.noGrow];
62
82
  var _useEuiMemoizedStyles = useEuiMemoizedStyles(euiFilterButtonChildStyles),
63
83
  contentStyles = _useEuiMemoizedStyles.content,
64
84
  textStyles = _useEuiMemoizedStyles.text,
65
85
  notificationStyles = _useEuiMemoizedStyles.notification;
86
+ var wrapperClasses = classNames('euiFilterButton__wrapper');
66
87
  var classes = classNames('euiFilterButton', {
67
88
  'euiFilterButton-isSelected': isSelected,
68
89
  'euiFilterButton-hasActiveFilters': hasActiveFilters,
69
- 'euiFilterButton-hasNotification': numFiltersDefined
90
+ 'euiFilterButton-hasNotification': numFiltersDefined,
91
+ 'euiFilterButton-isToggle': isRefreshVariant && isToggle
70
92
  }, className);
71
93
 
72
94
  /**
@@ -81,6 +103,16 @@ export var EuiFilterButton = function EuiFilterButton(_ref) {
81
103
  count: badgeCount
82
104
  });
83
105
  var badgeStyles = [notificationStyles.euiFilterButton__notification, isDisabled && notificationStyles.disabled];
106
+ var badgeContent = ___EmotionJSX(EuiNotificationBadge, {
107
+ className: "euiFilterButton__notification",
108
+ css: badgeStyles,
109
+ "aria-label": hasActiveFilters ? activeBadgeLabel : availableBadgeLabel,
110
+ color: isDisabled || !hasActiveFilters ? 'subdued' : badgeColor,
111
+ role: "marquee" // https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles/marquee_role
112
+ }, badgeCount);
113
+ var badgeElement = showBadge && (isRefreshVariant ? ___EmotionJSX(EuiThemeProvider, {
114
+ colorMode: isToggle && isSelected ? 'INVERSE' : colorMode
115
+ }, badgeContent) : badgeContent);
84
116
 
85
117
  /**
86
118
  * Text
@@ -94,7 +126,17 @@ export var EuiFilterButton = function EuiFilterButton(_ref) {
94
126
  ref = _useInnerText2[0],
95
127
  innerText = _useInnerText2[1];
96
128
  var dataText = children && typeof children === 'string' ? children : innerText;
97
- return ___EmotionJSX(EuiButtonEmpty, _extends({
129
+ var textContent = ___EmotionJSX("span", _extends({
130
+ ref: ref,
131
+ "data-text": dataText,
132
+ title: dataText
133
+ }, textProps, {
134
+ className: buttonTextClassNames,
135
+ css: textCssStyles
136
+ }), children);
137
+
138
+ /** Button element */
139
+ var button = ___EmotionJSX(EuiButtonEmpty, _extends({
98
140
  className: classes,
99
141
  css: cssStyles,
100
142
  color: color,
@@ -103,27 +145,42 @@ export var EuiFilterButton = function EuiFilterButton(_ref) {
103
145
  iconType: iconType,
104
146
  type: type,
105
147
  textProps: false,
148
+ contentProps: _objectSpread(_objectSpread({}, contentProps), {}, {
149
+ css: [contentStyles.euiFilterButton__content, iconType && contentStyles.hasIcon, contentProps === null || contentProps === void 0 ? void 0 : contentProps.css]
150
+ }),
151
+ "aria-expanded": isCollapsible ? isExpanded : undefined
152
+ }, rest), textContent, badgeElement);
153
+ var onToggleClick = function onToggleClick(e) {
154
+ var _rest$onClick;
155
+ rest === null || rest === void 0 || (_rest$onClick = rest.onClick) === null || _rest$onClick === void 0 || _rest$onClick.call(rest, e);
156
+ };
157
+ return ___EmotionJSX("div", {
158
+ className: wrapperClasses,
159
+ css: wrapperCssStyles
160
+ }, isToggle && !isCollapsible ? ___EmotionJSX(EuiButtonGroupButton, _extends({
161
+ id: id,
162
+ label: ___EmotionJSX(React.Fragment, null, textContent, badgeElement),
163
+ className: classes,
164
+ css: cssStyles,
165
+ color: color,
166
+ isSelected: isSelected,
167
+ size: "compressed",
168
+ isDisabled: isDisabled,
169
+ iconSide: iconSide,
170
+ iconType: iconType,
171
+ isIconOnly: false,
172
+ type: type,
173
+ textProps: false,
106
174
  contentProps: _objectSpread(_objectSpread({}, contentProps), {}, {
107
175
  css: [contentStyles.euiFilterButton__content, iconType && contentStyles.hasIcon, contentProps === null || contentProps === void 0 ? void 0 : contentProps.css]
108
176
  })
109
- }, rest), ___EmotionJSX("span", _extends({
110
- ref: ref,
111
- "data-text": dataText,
112
- title: dataText
113
- }, textProps, {
114
- className: buttonTextClassNames,
115
- css: textCssStyles
116
- }), children), showBadge && ___EmotionJSX(EuiNotificationBadge, {
117
- className: "euiFilterButton__notification",
118
- css: badgeStyles,
119
- "aria-label": hasActiveFilters ? activeBadgeLabel : availableBadgeLabel,
120
- color: isDisabled || !hasActiveFilters ? 'subdued' : badgeColor,
121
- role: "marquee" // https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles/marquee_role
122
- }, badgeCount));
177
+ }, rest, {
178
+ onClick: onToggleClick
179
+ })) : button);
123
180
  };
124
181
  EuiFilterButton.propTypes = {
125
182
  /**
126
- * Bolds the button if true
183
+ * Highlights active filters
127
184
  */
128
185
  hasActiveFilters: PropTypes.bool,
129
186
  /**
@@ -137,7 +194,15 @@ EuiFilterButton.propTypes = {
137
194
  */
138
195
  numActiveFilters: PropTypes.number,
139
196
  /**
140
- * Applies a visual state to the button useful when using with a popover.
197
+ * Switches between toggle and regular button
198
+ * @default false
199
+ */
200
+ isToggle: PropTypes.bool,
201
+ /**
202
+ * Applies a visual state to the button.
203
+ * Automatically applies `aria-pressed` when used with `isToggle={true}`.
204
+ * Otherwise applies `aria-expanded` when used with `isToggle={false}` and
205
+ * `iconType="arrowDown"` as trigger button for e.g. a popover.
141
206
  */
142
207
  isSelected: PropTypes.bool,
143
208
  /**