@elastic/eui 102.0.0 → 102.1.0-snapshot.1746441787383

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 (258) hide show
  1. package/dist/eui_theme_borealis_dark.json +1 -1
  2. package/es/components/accessibility/skip_link/skip_link.js +7 -0
  3. package/es/components/badge/color_utils.js +1 -3
  4. package/es/components/badge/notification_badge/badge_notification.styles.js +6 -1
  5. package/es/components/breadcrumbs/_breadcrumb_content.styles.js +6 -3
  6. package/es/components/button/button.js +7 -0
  7. package/es/components/button/button_display/_button_display.js +1 -1
  8. package/es/components/button/button_display/_button_display.styles.js +11 -2
  9. package/es/components/button/button_display/_button_display_content.styles.js +6 -3
  10. package/es/components/button/button_empty/button_empty.js +7 -0
  11. package/es/components/button/button_empty/button_empty.styles.js +9 -12
  12. package/es/components/button/button_group/button_group.js +5 -0
  13. package/es/components/button/button_group/button_group.styles.js +5 -3
  14. package/es/components/button/button_group/button_group_button.js +19 -9
  15. package/es/components/button/button_group/button_group_button.styles.js +43 -19
  16. package/es/components/button/button_icon/button_icon.js +11 -2
  17. package/es/components/card/card.js +7 -0
  18. package/es/components/card/card_select/card_select.js +7 -0
  19. package/es/components/collapsible_nav_beta/_kibana_solution/collapsible_nav_kibana_solution.js +7 -0
  20. package/es/components/color_picker/color_picker.js +13 -8
  21. package/es/components/color_picker/hue.js +27 -6
  22. package/es/components/color_picker/hue.styles.js +3 -2
  23. package/es/components/color_picker/saturation.js +16 -11
  24. package/es/components/color_picker/saturation.styles.js +2 -1
  25. package/es/components/datagrid/body/cell/data_grid_cell.js +7 -0
  26. package/es/components/datagrid/body/cell/data_grid_cell_actions.js +2 -2
  27. package/es/components/datagrid/body/cell/data_grid_cell_actions.styles.js +1 -1
  28. package/es/components/datagrid/body/data_grid_body.js +7 -0
  29. package/es/components/datagrid/body/data_grid_body_custom.js +7 -0
  30. package/es/components/datagrid/body/data_grid_body_virtualized.js +7 -0
  31. package/es/components/datagrid/body/header/data_grid_header_cell.js +7 -0
  32. package/es/components/datagrid/controls/column_sorting.js +7 -0
  33. package/es/components/datagrid/controls/data_grid_toolbar_control.js +18 -1
  34. package/es/components/datagrid/utils/in_memory.js +7 -0
  35. package/es/components/date_picker/auto_refresh/auto_refresh.js +7 -0
  36. package/es/components/filter_group/filter_button.js +98 -24
  37. package/es/components/filter_group/filter_button.styles.js +51 -15
  38. package/es/components/filter_group/filter_group.styles.js +18 -6
  39. package/es/components/header/header_links/header_link.js +7 -0
  40. package/es/components/header/header_section/header_section_item_button.js +7 -0
  41. package/es/components/list_group/list_group.js +7 -0
  42. package/es/components/list_group/list_group_item.js +7 -0
  43. package/es/components/list_group/list_group_item_extra_action.js +7 -0
  44. package/es/components/list_group/pinnable_list_group/pinnable_list_group.js +7 -0
  45. package/es/components/pagination/pagination_button.js +7 -0
  46. package/es/components/search_bar/filters/field_value_selection_filter.js +1 -0
  47. package/es/components/search_bar/filters/field_value_toggle_filter.js +3 -1
  48. package/es/components/search_bar/filters/field_value_toggle_group_filter.js +3 -1
  49. package/es/components/search_bar/filters/is_filter.js +3 -1
  50. package/es/components/search_bar/search_bar.a11y.js +3 -3
  51. package/es/components/table/table_header_cell.js +30 -12
  52. package/es/components/tool_tip/tool_tip.js +4 -1
  53. package/es/global_styling/mixins/_button.js +108 -31
  54. package/es/global_styling/mixins/_color.js +9 -2
  55. package/es/services/theme/index.js +2 -1
  56. package/es/services/theme/provider.js +28 -2
  57. package/es/services/theme/theme_variant.js +22 -0
  58. package/es/test/index.d.ts +2 -1
  59. package/es/themes/amsterdam/global_styling/variables/_buttons.js +348 -147
  60. package/es/themes/amsterdam/global_styling/variables/_components.js +229 -224
  61. package/es/themes/amsterdam/theme.js +2 -1
  62. package/eui.d.ts +919 -701
  63. package/lib/components/accessibility/skip_link/skip_link.js +7 -0
  64. package/lib/components/badge/color_utils.js +1 -3
  65. package/lib/components/badge/notification_badge/badge_notification.styles.js +6 -1
  66. package/lib/components/breadcrumbs/_breadcrumb_content.styles.js +5 -2
  67. package/lib/components/button/button.js +7 -0
  68. package/lib/components/button/button_display/_button_display.js +1 -1
  69. package/lib/components/button/button_display/_button_display.styles.js +11 -2
  70. package/lib/components/button/button_display/_button_display_content.styles.js +6 -3
  71. package/lib/components/button/button_empty/button_empty.js +7 -0
  72. package/lib/components/button/button_empty/button_empty.styles.js +10 -11
  73. package/lib/components/button/button_group/button_group.js +5 -0
  74. package/lib/components/button/button_group/button_group.styles.js +5 -3
  75. package/lib/components/button/button_group/button_group_button.js +18 -8
  76. package/lib/components/button/button_group/button_group_button.styles.js +41 -17
  77. package/lib/components/button/button_icon/button_icon.js +10 -1
  78. package/lib/components/card/card.js +7 -0
  79. package/lib/components/card/card_select/card_select.js +7 -0
  80. package/lib/components/collapsible_nav_beta/_kibana_solution/collapsible_nav_kibana_solution.js +7 -0
  81. package/lib/components/color_picker/color_picker.js +13 -8
  82. package/lib/components/color_picker/hue.js +26 -5
  83. package/lib/components/color_picker/hue.styles.js +3 -2
  84. package/lib/components/color_picker/saturation.js +16 -11
  85. package/lib/components/color_picker/saturation.styles.js +2 -1
  86. package/lib/components/datagrid/body/cell/data_grid_cell.js +7 -0
  87. package/lib/components/datagrid/body/cell/data_grid_cell_actions.js +2 -2
  88. package/lib/components/datagrid/body/cell/data_grid_cell_actions.styles.js +1 -1
  89. package/lib/components/datagrid/body/data_grid_body.js +7 -0
  90. package/lib/components/datagrid/body/data_grid_body_custom.js +7 -0
  91. package/lib/components/datagrid/body/data_grid_body_virtualized.js +7 -0
  92. package/lib/components/datagrid/body/header/data_grid_header_cell.js +7 -0
  93. package/lib/components/datagrid/controls/column_sorting.js +7 -0
  94. package/lib/components/datagrid/controls/data_grid_toolbar_control.js +18 -1
  95. package/lib/components/datagrid/utils/in_memory.js +7 -0
  96. package/lib/components/date_picker/auto_refresh/auto_refresh.js +7 -0
  97. package/lib/components/filter_group/filter_button.js +96 -22
  98. package/lib/components/filter_group/filter_button.styles.js +51 -15
  99. package/lib/components/filter_group/filter_group.styles.js +18 -6
  100. package/lib/components/header/header_links/header_link.js +7 -0
  101. package/lib/components/header/header_section/header_section_item_button.js +7 -0
  102. package/lib/components/list_group/list_group.js +7 -0
  103. package/lib/components/list_group/list_group_item.js +7 -0
  104. package/lib/components/list_group/list_group_item_extra_action.js +7 -0
  105. package/lib/components/list_group/pinnable_list_group/pinnable_list_group.js +7 -0
  106. package/lib/components/pagination/pagination_button.js +7 -0
  107. package/lib/components/search_bar/filters/field_value_selection_filter.js +1 -0
  108. package/lib/components/search_bar/filters/field_value_toggle_filter.js +3 -1
  109. package/lib/components/search_bar/filters/field_value_toggle_group_filter.js +3 -1
  110. package/lib/components/search_bar/filters/is_filter.js +3 -1
  111. package/lib/components/search_bar/search_bar.a11y.js +3 -3
  112. package/lib/components/table/table_header_cell.js +28 -10
  113. package/lib/components/tool_tip/tool_tip.js +4 -1
  114. package/lib/global_styling/mixins/_button.js +106 -30
  115. package/lib/global_styling/mixins/_color.js +11 -4
  116. package/lib/services/theme/index.js +41 -1
  117. package/lib/services/theme/provider.js +28 -2
  118. package/lib/services/theme/theme_variant.js +28 -0
  119. package/lib/test/index.d.ts +2 -1
  120. package/lib/themes/amsterdam/global_styling/variables/_buttons.js +348 -147
  121. package/lib/themes/amsterdam/global_styling/variables/_components.js +229 -224
  122. package/lib/themes/amsterdam/theme.js +2 -1
  123. package/optimize/es/components/badge/color_utils.js +1 -3
  124. package/optimize/es/components/badge/notification_badge/badge_notification.styles.js +6 -1
  125. package/optimize/es/components/breadcrumbs/_breadcrumb_content.styles.js +6 -3
  126. package/optimize/es/components/button/button_display/_button_display.js +1 -1
  127. package/optimize/es/components/button/button_display/_button_display.styles.js +11 -2
  128. package/optimize/es/components/button/button_display/_button_display_content.styles.js +6 -3
  129. package/optimize/es/components/button/button_empty/button_empty.styles.js +9 -12
  130. package/optimize/es/components/button/button_group/button_group.styles.js +5 -3
  131. package/optimize/es/components/button/button_group/button_group_button.js +12 -8
  132. package/optimize/es/components/button/button_group/button_group_button.styles.js +43 -19
  133. package/optimize/es/components/button/button_icon/button_icon.js +4 -2
  134. package/optimize/es/components/color_picker/color_picker.js +13 -8
  135. package/optimize/es/components/color_picker/hue.js +22 -6
  136. package/optimize/es/components/color_picker/hue.styles.js +3 -2
  137. package/optimize/es/components/color_picker/saturation.js +16 -11
  138. package/optimize/es/components/color_picker/saturation.styles.js +2 -1
  139. package/optimize/es/components/datagrid/body/cell/data_grid_cell_actions.js +2 -2
  140. package/optimize/es/components/datagrid/body/cell/data_grid_cell_actions.styles.js +1 -1
  141. package/optimize/es/components/datagrid/controls/data_grid_toolbar_control.js +11 -1
  142. package/optimize/es/components/filter_group/filter_button.js +78 -21
  143. package/optimize/es/components/filter_group/filter_button.styles.js +51 -15
  144. package/optimize/es/components/filter_group/filter_group.styles.js +18 -6
  145. package/optimize/es/components/search_bar/filters/field_value_selection_filter.js +1 -0
  146. package/optimize/es/components/search_bar/filters/field_value_toggle_filter.js +3 -1
  147. package/optimize/es/components/search_bar/filters/field_value_toggle_group_filter.js +3 -1
  148. package/optimize/es/components/search_bar/filters/is_filter.js +3 -1
  149. package/optimize/es/components/search_bar/search_bar.a11y.js +3 -3
  150. package/optimize/es/components/table/table_header_cell.js +26 -11
  151. package/optimize/es/components/tool_tip/tool_tip.js +4 -1
  152. package/optimize/es/global_styling/mixins/_button.js +103 -31
  153. package/optimize/es/global_styling/mixins/_color.js +4 -2
  154. package/optimize/es/services/theme/index.js +2 -1
  155. package/optimize/es/services/theme/provider.js +28 -2
  156. package/optimize/es/services/theme/theme_variant.js +22 -0
  157. package/optimize/es/test/index.d.ts +2 -1
  158. package/optimize/es/themes/amsterdam/global_styling/variables/_buttons.js +348 -147
  159. package/optimize/es/themes/amsterdam/global_styling/variables/_components.js +229 -224
  160. package/optimize/es/themes/amsterdam/theme.js +2 -1
  161. package/optimize/lib/components/badge/color_utils.js +1 -3
  162. package/optimize/lib/components/badge/notification_badge/badge_notification.styles.js +6 -1
  163. package/optimize/lib/components/breadcrumbs/_breadcrumb_content.styles.js +5 -2
  164. package/optimize/lib/components/button/button_display/_button_display.js +1 -1
  165. package/optimize/lib/components/button/button_display/_button_display.styles.js +11 -2
  166. package/optimize/lib/components/button/button_display/_button_display_content.styles.js +6 -3
  167. package/optimize/lib/components/button/button_empty/button_empty.styles.js +10 -11
  168. package/optimize/lib/components/button/button_group/button_group.styles.js +5 -3
  169. package/optimize/lib/components/button/button_group/button_group_button.js +11 -7
  170. package/optimize/lib/components/button/button_group/button_group_button.styles.js +41 -17
  171. package/optimize/lib/components/button/button_icon/button_icon.js +3 -1
  172. package/optimize/lib/components/color_picker/color_picker.js +13 -8
  173. package/optimize/lib/components/color_picker/hue.js +21 -5
  174. package/optimize/lib/components/color_picker/hue.styles.js +3 -2
  175. package/optimize/lib/components/color_picker/saturation.js +16 -11
  176. package/optimize/lib/components/color_picker/saturation.styles.js +2 -1
  177. package/optimize/lib/components/datagrid/body/cell/data_grid_cell_actions.js +2 -2
  178. package/optimize/lib/components/datagrid/body/cell/data_grid_cell_actions.styles.js +1 -1
  179. package/optimize/lib/components/datagrid/controls/data_grid_toolbar_control.js +11 -1
  180. package/optimize/lib/components/filter_group/filter_button.js +76 -19
  181. package/optimize/lib/components/filter_group/filter_button.styles.js +51 -15
  182. package/optimize/lib/components/filter_group/filter_group.styles.js +18 -6
  183. package/optimize/lib/components/search_bar/filters/field_value_selection_filter.js +1 -0
  184. package/optimize/lib/components/search_bar/filters/field_value_toggle_filter.js +3 -1
  185. package/optimize/lib/components/search_bar/filters/field_value_toggle_group_filter.js +3 -1
  186. package/optimize/lib/components/search_bar/filters/is_filter.js +3 -1
  187. package/optimize/lib/components/search_bar/search_bar.a11y.js +3 -3
  188. package/optimize/lib/components/table/table_header_cell.js +25 -11
  189. package/optimize/lib/components/tool_tip/tool_tip.js +4 -1
  190. package/optimize/lib/global_styling/mixins/_button.js +101 -30
  191. package/optimize/lib/global_styling/mixins/_color.js +4 -2
  192. package/optimize/lib/services/theme/index.js +41 -1
  193. package/optimize/lib/services/theme/provider.js +28 -2
  194. package/optimize/lib/services/theme/theme_variant.js +28 -0
  195. package/optimize/lib/test/index.d.ts +2 -1
  196. package/optimize/lib/themes/amsterdam/global_styling/variables/_buttons.js +348 -147
  197. package/optimize/lib/themes/amsterdam/global_styling/variables/_components.js +229 -224
  198. package/optimize/lib/themes/amsterdam/theme.js +2 -1
  199. package/package.json +7 -6
  200. package/test-env/components/accessibility/skip_link/skip_link.js +7 -0
  201. package/test-env/components/badge/color_utils.js +1 -3
  202. package/test-env/components/badge/notification_badge/badge_notification.styles.js +6 -1
  203. package/test-env/components/breadcrumbs/_breadcrumb_content.styles.js +5 -2
  204. package/test-env/components/button/button.js +7 -0
  205. package/test-env/components/button/button_display/_button_display.js +1 -1
  206. package/test-env/components/button/button_display/_button_display.styles.js +11 -2
  207. package/test-env/components/button/button_display/_button_display_content.styles.js +6 -3
  208. package/test-env/components/button/button_empty/button_empty.js +7 -0
  209. package/test-env/components/button/button_empty/button_empty.styles.js +10 -11
  210. package/test-env/components/button/button_group/button_group.js +5 -0
  211. package/test-env/components/button/button_group/button_group.styles.js +5 -3
  212. package/test-env/components/button/button_group/button_group_button.js +18 -8
  213. package/test-env/components/button/button_group/button_group_button.styles.js +41 -17
  214. package/test-env/components/button/button_icon/button_icon.js +10 -1
  215. package/test-env/components/card/card.js +7 -0
  216. package/test-env/components/card/card_select/card_select.js +7 -0
  217. package/test-env/components/collapsible_nav_beta/_kibana_solution/collapsible_nav_kibana_solution.js +7 -0
  218. package/test-env/components/color_picker/color_picker.js +13 -8
  219. package/test-env/components/color_picker/hue.js +21 -5
  220. package/test-env/components/color_picker/hue.styles.js +3 -2
  221. package/test-env/components/color_picker/saturation.js +16 -11
  222. package/test-env/components/color_picker/saturation.styles.js +2 -1
  223. package/test-env/components/datagrid/body/cell/data_grid_cell.js +7 -0
  224. package/test-env/components/datagrid/body/cell/data_grid_cell_actions.js +2 -2
  225. package/test-env/components/datagrid/body/cell/data_grid_cell_actions.styles.js +1 -1
  226. package/test-env/components/datagrid/body/data_grid_body.js +7 -0
  227. package/test-env/components/datagrid/body/data_grid_body_custom.js +7 -0
  228. package/test-env/components/datagrid/body/data_grid_body_virtualized.js +7 -0
  229. package/test-env/components/datagrid/body/header/data_grid_header_cell.js +7 -0
  230. package/test-env/components/datagrid/controls/column_sorting.js +7 -0
  231. package/test-env/components/datagrid/controls/data_grid_toolbar_control.js +18 -1
  232. package/test-env/components/datagrid/utils/in_memory.js +7 -0
  233. package/test-env/components/date_picker/auto_refresh/auto_refresh.js +7 -0
  234. package/test-env/components/filter_group/filter_button.js +96 -22
  235. package/test-env/components/filter_group/filter_button.styles.js +51 -15
  236. package/test-env/components/filter_group/filter_group.styles.js +18 -6
  237. package/test-env/components/header/header_links/header_link.js +7 -0
  238. package/test-env/components/header/header_section/header_section_item_button.js +7 -0
  239. package/test-env/components/list_group/list_group.js +7 -0
  240. package/test-env/components/list_group/list_group_item.js +7 -0
  241. package/test-env/components/list_group/list_group_item_extra_action.js +7 -0
  242. package/test-env/components/list_group/pinnable_list_group/pinnable_list_group.js +7 -0
  243. package/test-env/components/pagination/pagination_button.js +7 -0
  244. package/test-env/components/search_bar/filters/field_value_selection_filter.js +1 -0
  245. package/test-env/components/search_bar/filters/field_value_toggle_filter.js +3 -1
  246. package/test-env/components/search_bar/filters/field_value_toggle_group_filter.js +3 -1
  247. package/test-env/components/search_bar/filters/is_filter.js +3 -1
  248. package/test-env/components/search_bar/search_bar.a11y.js +3 -3
  249. package/test-env/components/table/table_header_cell.js +26 -12
  250. package/test-env/components/tool_tip/tool_tip.js +4 -1
  251. package/test-env/global_styling/mixins/_button.js +101 -30
  252. package/test-env/global_styling/mixins/_color.js +4 -2
  253. package/test-env/services/theme/index.js +41 -1
  254. package/test-env/services/theme/provider.js +28 -2
  255. package/test-env/services/theme/theme_variant.js +28 -0
  256. package/test-env/themes/amsterdam/global_styling/variables/_buttons.js +348 -147
  257. package/test-env/themes/amsterdam/global_styling/variables/_components.js +229 -224
  258. package/test-env/themes/amsterdam/theme.js +2 -1
@@ -392,7 +392,7 @@
392
392
  "euiColorBackgroundLightWarning": "#3D3014",
393
393
  "euiColorBackgroundLightRisk": "#4A221C",
394
394
  "euiColorBackgroundLightDanger": "#491D27",
395
- "euiColorBackgroundLightText": "#1D2A3E",
395
+ "euiColorBackgroundLightText": "#2B394F",
396
396
  "euiColorBackgroundFilledPrimary": "#61A2FF",
397
397
  "euiColorBackgroundFilledAccent": "#EE72A6",
398
398
  "euiColorBackgroundFilledAccentSecondary": "#16C5C0",
@@ -129,6 +129,13 @@ EuiSkipLink.propTypes = {
129
129
  fill: PropTypes.bool,
130
130
  /**
131
131
  * Any of the named color palette options.
132
+ *
133
+ * Do not use the following colors for standalone buttons directly,
134
+ * they exist to serve other components:
135
+ * - accent
136
+ * - warning
137
+ * - neutral
138
+ * - risk
132
139
  */
133
140
  color: PropTypes.any,
134
141
  /**
@@ -35,7 +35,6 @@ export var euiBadgeColors = function euiBadgeColors(euiThemeContext) {
35
35
  risk: euiButtonFillColor(euiThemeContext, 'risk'),
36
36
  danger: euiButtonFillColor(euiThemeContext, 'danger'),
37
37
  accent: euiButtonFillColor(euiThemeContext, 'accent'),
38
- accentSecondary: euiButtonFillColor(euiThemeContext, 'accentSecondary'),
39
38
  disabled: _objectSpread(_objectSpread({}, euiButtonColor(euiThemeContext, 'disabled')), {}, {
40
39
  borderColor: highContrastMode ? euiTheme.colors.textDisabled : ''
41
40
  }),
@@ -53,8 +52,7 @@ export var euiBadgeColors = function euiBadgeColors(euiThemeContext) {
53
52
  }),
54
53
  accentText: _objectSpread(_objectSpread({}, badgeColorsAccentText), {}, {
55
54
  borderColor: highContrastMode ? badgeColorsAccentText.backgroundColor : ''
56
- }),
57
- accentSecondaryText: getBadgeColors(euiThemeContext, euiTheme.colors.textAccentSecondary)
55
+ })
58
56
  };
59
57
  };
60
58
  export var getBadgeColors = function getBadgeColors(euiThemeContext, backgroundColor) {
@@ -9,12 +9,17 @@
9
9
  import { css } from '@emotion/react';
10
10
  import { logicalCSS, euiCanAnimate, euiFontSizeFromScale, euiNumberFormat, mathWithUnits } from '../../../global_styling';
11
11
  import { highContrastModeStyles } from '../../../global_styling/functions/high_contrast';
12
+ import { isEuiThemeRefreshVariant } from '../../../services';
12
13
  import { euiBadgeColors } from '../color_utils';
13
14
  export var euiNotificationBadgeStyles = function euiNotificationBadgeStyles(euiThemeContext) {
14
15
  var euiTheme = euiThemeContext.euiTheme;
16
+ var isRefreshVariant = isEuiThemeRefreshVariant(euiThemeContext, 'buttonVariant');
15
17
  var badgeColors = euiBadgeColors(euiThemeContext);
18
+ var borderRadius = isRefreshVariant ? mathWithUnits(euiTheme.border.radius.small, function (x) {
19
+ return x / 2;
20
+ }) : euiTheme.border.radius.small;
16
21
  return {
17
- euiNotificationBadge: /*#__PURE__*/css("flex-shrink:0;display:inline-flex;justify-content:center;align-items:center;vertical-align:middle;", logicalCSS('padding-horizontal', euiTheme.size.xs), " border-radius:", euiTheme.border.radius.small, ";", highContrastModeStyles(euiThemeContext, {
22
+ euiNotificationBadge: /*#__PURE__*/css("flex-shrink:0;display:inline-flex;justify-content:center;align-items:center;vertical-align:middle;", logicalCSS('padding-horizontal', euiTheme.size.xs), " border-radius:", borderRadius, ";", highContrastModeStyles(euiThemeContext, {
18
23
  preferred: "\n border: ".concat(euiTheme.border.thin, ";\n overflow: hidden; /* Fix text clipping */\n ")
19
24
  }), " cursor:default;font-size:", euiFontSizeFromScale('xs', euiTheme), ";font-weight:", euiTheme.font.weight.medium, ";", euiNumberFormat(euiThemeContext), " text-align:center;", euiCanAnimate, "{transition:all ", euiTheme.animation.fast, " ease-in;};label:euiNotificationBadge;"),
20
25
  // Sizes
@@ -7,9 +7,8 @@
7
7
  */
8
8
 
9
9
  import { css } from '@emotion/react';
10
- import { euiFontSize, euiTextTruncate, euiFocusRing, logicalCSS, logicalBorderRadiusCSS, mathWithUnits } from '../../global_styling';
10
+ import { euiFontSize, euiTextTruncate, euiFocusRing, logicalCSS, logicalBorderRadiusCSS, mathWithUnits, euiButtonColor } from '../../global_styling';
11
11
  import { highContrastModeStyles } from '../../global_styling/functions/high_contrast';
12
- import { euiButtonColor } from '../../themes/amsterdam/global_styling/mixins/button';
13
12
 
14
13
  /**
15
14
  * Styles cast to inner <a>, <button>, <span> elements
@@ -19,7 +18,11 @@ export var euiBreadcrumbContentStyles = function euiBreadcrumbContentStyles(euiT
19
18
  highContrastMode = euiThemeContext.highContrastMode;
20
19
 
21
20
  // Reuse button colors for `type="application`" clickable breadcrumbs
22
- var applicationButtonColors = euiButtonColor(euiThemeContext, 'primary');
21
+ var buttonColors = euiButtonColor(euiThemeContext, 'primary');
22
+ var applicationButtonColors = {
23
+ backgroundColor: euiTheme.colors.backgroundLightPrimary,
24
+ color: buttonColors.color
25
+ };
23
26
 
24
27
  // Create custom darker gray colors for non-clickable application breadcrumbs
25
28
  // The numbers/ratios are fairly specific here to pass WCAG AA contrast minimums
@@ -65,6 +65,13 @@ EuiButton.propTypes = {
65
65
  fill: PropTypes.bool,
66
66
  /**
67
67
  * Any of the named color palette options.
68
+ *
69
+ * Do not use the following colors for standalone buttons directly,
70
+ * they exist to serve other components:
71
+ * - accent
72
+ * - warning
73
+ * - neutral
74
+ * - risk
68
75
  */
69
76
  color: PropTypes.any,
70
77
  /**
@@ -76,7 +76,7 @@ export var EuiButtonDisplay = /*#__PURE__*/forwardRef(function (_ref2, ref) {
76
76
  isLoading: isLoading
77
77
  });
78
78
  var styles = useEuiMemoizedStyles(euiButtonDisplayStyles);
79
- var cssStyles = [styles.euiButtonDisplay, styles[size], fullWidth && styles.fullWidth, minWidth == null && styles.defaultMinWidth, buttonIsDisabled && styles.isDisabled];
79
+ var cssStyles = [styles.euiButtonDisplay, styles[size], fullWidth && styles.fullWidth, minWidth == null && [styles.defaultMinWidth.defaultMinWidth, styles.defaultMinWidth[size]], buttonIsDisabled && styles.isDisabled];
80
80
  var innerNode = ___EmotionJSX(EuiButtonDisplayContent, _extends({
81
81
  isLoading: isLoading,
82
82
  isDisabled: buttonIsDisabled,
@@ -7,6 +7,7 @@ function _EMOTION_STRINGIFIED_CSS_ERROR__() { return "You have tried to stringif
7
7
  * Side Public License, v 1.
8
8
  */
9
9
  import { css } from '@emotion/react';
10
+ import { isEuiThemeRefreshVariant } from '../../../services';
10
11
  import { euiFontSize, logicalCSS, logicalShorthandCSS, logicalTextAlignCSS } from '../../../global_styling';
11
12
  import { euiButtonSizeMap } from '../../../global_styling/mixins';
12
13
  // Provides a solid reset and base for handling sizing layout
@@ -24,18 +25,26 @@ var _ref = process.env.NODE_ENV === "production" ? {
24
25
  };
25
26
  export var euiButtonDisplayStyles = function euiButtonDisplayStyles(euiThemeContext) {
26
27
  var euiTheme = euiThemeContext.euiTheme;
28
+ var isRefreshVariant = isEuiThemeRefreshVariant(euiThemeContext, 'buttonVariant');
27
29
  var sizes = euiButtonSizeMap(euiThemeContext);
28
30
  var _buttonSize = function _buttonSize(sizeKey) {
29
31
  var size = sizes[sizeKey];
30
32
  return /*#__PURE__*/css(logicalCSS('height', size.height), " line-height:", size.height, ";", euiFontSize(euiThemeContext, size.fontScale), " border-radius:", size.radius, ";");
31
33
  };
34
+ var classicVariantStyles = "\n &:hover:not(:disabled),\n &:focus {\n text-decoration: underline;\n }\n ";
32
35
  return {
33
36
  // Base
34
- euiButtonDisplay: /*#__PURE__*/css(euiButtonBaseCSS(), " font-weight:", euiTheme.font.weight.medium, ";", logicalShorthandCSS('padding', "0 ".concat(euiTheme.size.m)), " &:hover:not(:disabled),&:focus{text-decoration:underline;};label:euiButtonDisplay;"),
37
+ euiButtonDisplay: /*#__PURE__*/css(euiButtonBaseCSS(), " font-weight:", euiTheme.font.weight.medium, ";", logicalShorthandCSS('padding', "0 ".concat(euiTheme.size.m)), " ", !isRefreshVariant && classicVariantStyles, ";;label:euiButtonDisplay;"),
35
38
  // States
36
39
  isDisabled: _ref,
37
40
  fullWidth: /*#__PURE__*/css("display:block;", logicalCSS('width', '100%'), ";;label:fullWidth;"),
38
- defaultMinWidth: /*#__PURE__*/css(logicalCSS('min-width', "".concat(euiTheme.base * 7, "px")), ";;label:defaultMinWidth;"),
41
+ defaultMinWidth: {
42
+ defaultMinWidth: /*#__PURE__*/css(";label:defaultMinWidth;"),
43
+ // Skip css`` for the sizes as we already add classes for sizes and defaultMinWidth
44
+ xs: "\n ".concat(logicalCSS('min-width', "".concat(sizes.xs.minWidth, "px")), "\n "),
45
+ s: "\n ".concat(logicalCSS('min-width', "".concat(sizes.s.minWidth, "px")), "\n "),
46
+ m: "\n ".concat(logicalCSS('min-width', "".concat(sizes.m.minWidth, "px")), "\n ")
47
+ },
39
48
  // Sizes
40
49
  xs: /*#__PURE__*/css(_buttonSize('xs'), ";label:xs;"),
41
50
  s: /*#__PURE__*/css(_buttonSize('s'), ";label:s;"),
@@ -6,11 +6,14 @@
6
6
  * Side Public License, v 1.
7
7
  */
8
8
  import { css } from '@emotion/react';
9
+ import { isEuiThemeRefreshVariant } from '../../../services';
9
10
  import { logicalCSS } from '../../../global_styling';
10
- export var euiButtonDisplayContentStyles = function euiButtonDisplayContentStyles(_ref) {
11
- var euiTheme = _ref.euiTheme;
11
+ export var euiButtonDisplayContentStyles = function euiButtonDisplayContentStyles(euiThemeContext) {
12
+ var euiTheme = euiThemeContext.euiTheme;
13
+ var isRefreshVariant = isEuiThemeRefreshVariant(euiThemeContext, 'buttonVariant');
14
+ var refreshVariantStyles = "\n /* ensure content stays ontop of hover pseudo element */\n position: relative;\n ";
12
15
  return {
13
16
  // Base
14
- euiButtonDisplayContent: /*#__PURE__*/css(logicalCSS('height', '100%'), " ", logicalCSS('width', '100%'), " display:flex;justify-content:center;align-items:center;vertical-align:middle;gap:", euiTheme.size.s, ";;label:euiButtonDisplayContent;")
17
+ euiButtonDisplayContent: /*#__PURE__*/css(logicalCSS('height', '100%'), " ", logicalCSS('width', '100%'), " display:flex;justify-content:center;align-items:center;vertical-align:middle;gap:", euiTheme.size.s, ";", isRefreshVariant && refreshVariantStyles, ";;label:euiButtonDisplayContent;")
15
18
  };
16
19
  };
@@ -116,6 +116,13 @@ EuiButtonEmpty.propTypes = {
116
116
  onClick: PropTypes.func,
117
117
  /**
118
118
  * Any of the named color palette options.
119
+ *
120
+ * Do not use the following colors for standalone buttons directly,
121
+ * they exist to serve other components:
122
+ * - accent
123
+ * - warning
124
+ * - neutral
125
+ * - risk
119
126
  */
120
127
  color: PropTypes.any,
121
128
  size: PropTypes.any,
@@ -1,4 +1,3 @@
1
- function _EMOTION_STRINGIFIED_CSS_ERROR__() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; }
2
1
  /*
3
2
  * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
4
3
  * or more contributor license agreements. Licensed under the Elastic License
@@ -8,32 +7,30 @@ function _EMOTION_STRINGIFIED_CSS_ERROR__() { return "You have tried to stringif
8
7
  */
9
8
 
10
9
  import { css } from '@emotion/react';
11
- import { logicalCSS, logicalShorthandCSS, euiCanAnimate } from '../../../global_styling';
10
+ import { isEuiThemeRefreshVariant } from '../../../services';
11
+ import { logicalCSS, logicalShorthandCSS, euiCanAnimate, highContrastModeStyles } from '../../../global_styling';
12
12
  import { euiButtonDisplayStyles } from '../button_display/_button_display.styles';
13
- var _ref = process.env.NODE_ENV === "production" ? {
14
- name: "1lywbid-flush",
15
- styles: "padding-inline:0;label:flush;"
16
- } : {
17
- name: "1lywbid-flush",
18
- styles: "padding-inline:0;label:flush;",
19
- toString: _EMOTION_STRINGIFIED_CSS_ERROR__
20
- };
21
13
  export var euiButtonEmptyStyles = function euiButtonEmptyStyles(euiThemeContext) {
22
14
  var euiTheme = euiThemeContext.euiTheme;
15
+ var isRefreshVariant = isEuiThemeRefreshVariant(euiThemeContext, 'buttonVariant');
23
16
 
24
17
  // EuiButtonEmpty uses the same size/font styling as EuiButtonDisplay,
25
18
  // but does not share enough of the same colors/props to the point
26
19
  // of using the actual component - so we'll reuse its styles instead
27
20
  var displayStyles = euiButtonDisplayStyles(euiThemeContext);
21
+ var refreshFlushStyles = "\n /* using duplicate selector to ensure specificity */\n &&:hover,\n &&:active {\n background-color: transparent;\n\n /* removes hover overlay */\n &::before {\n display: none;\n }\n }\n\n &:hover:not(:disabled),\n &:focus {\n text-decoration: underline;\n\n ".concat(highContrastModeStyles(euiThemeContext, {
22
+ forced: "\n /* hides HCM hover border, flush buttons use text-decoration */\n &::after {\n display: none;\n }\n "
23
+ }), "\n }\n ");
28
24
  return {
29
25
  euiButtonEmpty: /*#__PURE__*/css(displayStyles.euiButtonDisplay, " ", logicalShorthandCSS('padding', "0 ".concat(euiTheme.size.s)), euiCanAnimate, "{transition-timing-function:ease-in;transition-duration:", euiTheme.animation.fast, ";};label:euiButtonEmpty;"),
30
26
  isDisabled: displayStyles.isDisabled,
31
27
  // Sizes
32
28
  xs: displayStyles.xs,
33
29
  s: displayStyles.s,
34
- m: displayStyles.m,
30
+ // uses array here to prevent adding duplicate "m" classname partial
31
+ m: [displayStyles.m, isRefreshVariant && "\n ".concat(logicalCSS('padding-horizontal', euiTheme.size.m), "\n ")],
35
32
  // Flush sides
36
- flush: _ref,
33
+ flush: /*#__PURE__*/css("padding-inline:0;", isRefreshVariant && refreshFlushStyles, ";;label:flush;"),
37
34
  left: /*#__PURE__*/css(logicalCSS('margin-right', euiTheme.size.s), ";;label:left;"),
38
35
  right: /*#__PURE__*/css(logicalCSS('margin-left', euiTheme.size.s), ";;label:right;"),
39
36
  both: /*#__PURE__*/css(";label:both;")
@@ -100,6 +100,11 @@ EuiButtonGroup.propTypes = {
100
100
  legend: PropTypes.string.isRequired,
101
101
  /**
102
102
  * Any of the named color palette options.
103
+ *
104
+ * Do not use the following colors for standalone buttons directly,
105
+ * they exist to serve other components:
106
+ * - accent
107
+ * - warning
103
108
  */
104
109
  color: PropTypes.any,
105
110
  /**
@@ -8,6 +8,7 @@ function _EMOTION_STRINGIFIED_CSS_ERROR__() { return "You have tried to stringif
8
8
  */
9
9
 
10
10
  import { css } from '@emotion/react';
11
+ import { isEuiThemeRefreshVariant } from '../../../services';
11
12
  import { logicalCSS } from '../../../global_styling';
12
13
  import { highContrastModeStyles, preventForcedColors } from '../../../global_styling/functions/high_contrast';
13
14
  import { euiFormVariables } from '../../form/form.styles';
@@ -31,7 +32,7 @@ export var euiButtonGroupButtonsStyles = function euiButtonGroupButtonsStyles(eu
31
32
  borderColor = _euiFormVariables.borderColor;
32
33
  return {
33
34
  // Base
34
- euiButtonGroup__buttons: /*#__PURE__*/css(logicalCSS('max-width', '100%'), " display:flex;;label:euiButtonGroup__buttons;"),
35
+ euiButtonGroup__buttons: /*#__PURE__*/css(logicalCSS('max-width', '100%'), " display:flex;align-items:center;;label:euiButtonGroup__buttons;"),
35
36
  fullWidth: /*#__PURE__*/css(logicalCSS('width', '100%'), " .euiButtonGroupButton,.euiButtonGroup__tooltipWrapper{flex:1;", logicalCSS('width', '100%'), ";};label:fullWidth;"),
36
37
  // Sizes
37
38
  m: /*#__PURE__*/css("border-radius:", euiTheme.border.radius.medium, ";", _highContrastStyles(euiThemeContext), ";;label:m;"),
@@ -41,6 +42,7 @@ export var euiButtonGroupButtonsStyles = function euiButtonGroupButtonsStyles(eu
41
42
  };
42
43
  var _highContrastStyles = function _highContrastStyles(euiThemeContext, compressed) {
43
44
  var euiTheme = euiThemeContext.euiTheme;
45
+ var isRefreshVariant = isEuiThemeRefreshVariant(euiThemeContext, 'buttonVariant');
44
46
 
45
47
  // Account for buttons within tooltip wrappers in selectors
46
48
  var getButtonChildSelectors = function getButtonChildSelectors(selector) {
@@ -50,7 +52,7 @@ var _highContrastStyles = function _highContrastStyles(euiThemeContext, compress
50
52
  preferred: compressed ? "\n .euiButtonGroupButton {\n border: none;\n }\n " : // Conditionally unset the high contrast borders passed by `euiButtonColor` -
51
53
  // faux borders between selected/unselected buttons are rendered by pseudo elements,
52
54
  // and can flip colors depending on selected/unselected siblings
53
- "\n ".concat(getButtonChildSelectors(':not(:first-child, :last-child)'), " {\n ").concat(logicalCSS('border-horizontal', 'none'), "\n }\n ").concat(getButtonChildSelectors(':first-child'), " {\n ").concat(logicalCSS('border-right', 'none'), "\n }\n ").concat(getButtonChildSelectors(':last-child'), " {\n ").concat(logicalCSS('border-left', 'none'), "\n }\n "),
54
- forced: "\n .euiButtonGroupButton-isSelected {\n ".concat(preventForcedColors(euiThemeContext), "\n color: ").concat(euiTheme.colors.emptyShade, ";\n background-color: ").concat(euiTheme.colors.fullShade, ";\n }\n\n .euiButtonGroupButton[disabled] {\n opacity: 0.5;\n }\n ")
55
+ "\n ".concat(!isRefreshVariant && "\n ".concat(getButtonChildSelectors(':not(:first-child, :last-child)'), " {\n ").concat(logicalCSS('border-horizontal', 'none'), "\n }\n ").concat(getButtonChildSelectors(':first-child'), " {\n ").concat(logicalCSS('border-right', 'none'), "\n }\n ").concat(getButtonChildSelectors(':last-child'), " {\n ").concat(logicalCSS('border-left', 'none'), "\n }\n "), "\n "),
56
+ forced: "\n .euiButtonGroupButton-isSelected {\n ".concat(preventForcedColors(euiThemeContext), "\n color: ").concat(euiTheme.colors.emptyShade, ";\n background-color: ").concat(euiTheme.colors.fullShade, ";\n\n ").concat(isRefreshVariant && "\n &:is(:hover, :focus):not(:disabled) {\n &::before {\n border-color: ".concat(euiTheme.colors.textInverse, ";\n }\n }\n "), "\n }\n\n .euiButtonGroupButton[disabled] {\n opacity: 0.5;\n }\n ")
55
57
  });
56
58
  };
@@ -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 = ["className", "id", "isDisabled", "isIconOnly", "isSelected", "label", "value", "size", "color", "toolTipContent", "toolTipProps"];
2
+ var _excluded = ["className", "id", "isDisabled", "isIconOnly", "isSelected", "label", "value", "size", "color", "toolTipContent", "toolTipProps", "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); }
3
4
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
4
5
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
5
6
  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; }
6
7
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
7
8
  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,7 +25,7 @@ function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t =
25
25
  import classNames from 'classnames';
26
26
  import PropTypes from "prop-types";
27
27
  import React from 'react';
28
- import { useEuiMemoizedStyles } from '../../../services';
28
+ import { isEuiThemeRefreshVariant, useEuiMemoizedStyles, useEuiTheme } from '../../../services';
29
29
  import { useEuiButtonColorCSS } from '../../../global_styling/mixins/_button';
30
30
  import { useInnerText } from '../../inner_text';
31
31
  import { EuiButtonDisplay } from '../button_display/_button_display';
@@ -46,17 +46,21 @@ export var EuiButtonGroupButton = function EuiButtonGroupButton(_ref) {
46
46
  _color = _ref$color === void 0 ? 'primary' : _ref$color,
47
47
  toolTipContent = _ref.toolTipContent,
48
48
  toolTipProps = _ref.toolTipProps,
49
+ contentProps = _ref.contentProps,
49
50
  rest = _objectWithoutProperties(_ref, _excluded);
51
+ var euiThemeContext = useEuiTheme();
52
+ var isRefreshVariant = isEuiThemeRefreshVariant(euiThemeContext, 'buttonVariant');
50
53
  var isCompressed = size === 'compressed';
51
54
  var color = isDisabled ? 'disabled' : _color;
52
- var display = isSelected ? 'fill' : isCompressed ? 'empty' : 'base';
55
+ var hasBorder = isRefreshVariant && color !== 'text' && !isCompressed;
56
+ var display = isSelected ? 'fill' : isCompressed || hasBorder ? 'empty' : 'base';
53
57
  var hasToolTip = !!toolTipContent;
54
58
  var styles = useEuiMemoizedStyles(euiButtonGroupButtonStyles);
55
59
  var focusColorStyles = useEuiMemoizedStyles(_compressedButtonFocusColors);
56
60
  var buttonColorStyles = useEuiButtonColorCSS({
57
61
  display: display
58
62
  })[color];
59
- var cssStyles = [styles.euiButtonGroupButton, isIconOnly && styles.iconOnly, !isCompressed && (hasToolTip ? styles.uncompressed.hasToolTip : styles.uncompressed[size]), isCompressed ? styles.compressed : styles.uncompressed.uncompressed, isDisabled && isSelected ? styles.disabledAndSelected : buttonColorStyles, !isDisabled && isCompressed && focusColorStyles[color]];
63
+ var cssStyles = [styles.euiButtonGroupButton, isIconOnly && styles.iconOnly, !isCompressed && (hasToolTip ? styles.uncompressed.hasToolTip : styles.uncompressed[size]), isCompressed ? styles.compressed : styles.uncompressed.uncompressed, isDisabled && isSelected ? styles.disabledAndSelected : buttonColorStyles, !isDisabled && isCompressed && focusColorStyles[color], hasBorder && styles.hasBorder];
60
64
  var tooltipWrapperStyles = [styles.tooltipWrapper, !isCompressed && styles.uncompressed[size]];
61
65
  var contentStyles = [styles.content.euiButtonGroupButton__content, isCompressed && styles.content.compressed];
62
66
  var textStyles = [isIconOnly ? styles.text.euiButtonGroupButton__iconOnly : styles.text.euiButtonGroupButton__text];
@@ -84,9 +88,9 @@ export var EuiButtonGroupButton = function EuiButtonGroupButton(_ref) {
84
88
  className: buttonClasses,
85
89
  isDisabled: isDisabled,
86
90
  size: size === 'compressed' ? 's' : size,
87
- contentProps: {
88
- css: contentStyles
89
- },
91
+ contentProps: _objectSpread(_objectSpread({}, contentProps), {}, {
92
+ css: [contentStyles, contentProps === null || contentProps === void 0 ? void 0 : contentProps.css]
93
+ }),
90
94
  textProps: {
91
95
  css: textStyles,
92
96
  ref: buttonTextRef,
@@ -175,7 +179,13 @@ EuiButtonGroupButton.propTypes = {
175
179
  /**
176
180
  * Inherit from EuiButtonGroup
177
181
  */
178
- onClick: PropTypes.func.isRequired
182
+ onClick: PropTypes.func.isRequired,
183
+ contentProps: PropTypes.shape({
184
+ className: PropTypes.string,
185
+ "aria-label": PropTypes.string,
186
+ "data-test-subj": PropTypes.string,
187
+ css: PropTypes.any
188
+ })
179
189
  };
180
190
  var EuiButtonGroupButtonWithToolTip = function EuiButtonGroupButtonWithToolTip(_ref2) {
181
191
  var _toolTipProps$anchorP, _toolTipProps$anchorP2;
@@ -20,17 +20,17 @@ function _EMOTION_STRINGIFIED_CSS_ERROR__() { return "You have tried to stringif
20
20
  */
21
21
 
22
22
  import { css } from '@emotion/react';
23
- import { makeDisabledContrastColor } from '../../../services';
24
- import { mathWithUnits, logicalCSS, logicalShorthandCSS, euiTextShift, euiOutline, euiCanAnimate } from '../../../global_styling';
23
+ import { isEuiThemeRefreshVariant, makeDisabledContrastColor } from '../../../services';
24
+ import { mathWithUnits, logicalCSS, logicalShorthandCSS, euiTextShift, euiOutline, euiCanAnimate, preventForcedColors, highContrastModeStyles } from '../../../global_styling';
25
25
  import { euiButtonFillColor, BUTTON_COLORS } from '../../../global_styling/mixins/_button';
26
26
  import { euiScreenReaderOnly } from '../../accessibility';
27
27
  import { euiFormVariables } from '../../form/form.styles';
28
28
  var _ref = process.env.NODE_ENV === "production" ? {
29
- name: "nwv4a2-tooltipWrapper",
30
- styles: "overflow:hidden;label:tooltipWrapper;"
29
+ name: "m6ysua-tooltipWrapper",
30
+ styles: "overflow:hidden;&:has(:focus-visible){z-index:1;};label:tooltipWrapper;"
31
31
  } : {
32
- name: "nwv4a2-tooltipWrapper",
33
- styles: "overflow:hidden;label:tooltipWrapper;",
32
+ name: "m6ysua-tooltipWrapper",
33
+ styles: "overflow:hidden;&:has(:focus-visible){z-index:1;};label:tooltipWrapper;",
34
34
  toString: _EMOTION_STRINGIFIED_CSS_ERROR__
35
35
  };
36
36
  var _ref2 = process.env.NODE_ENV === "production" ? {
@@ -44,48 +44,70 @@ var _ref2 = process.env.NODE_ENV === "production" ? {
44
44
  export var euiButtonGroupButtonStyles = function euiButtonGroupButtonStyles(euiThemeContext) {
45
45
  var euiTheme = euiThemeContext.euiTheme,
46
46
  highContrastMode = euiThemeContext.highContrastMode;
47
+ var isRefreshVariant = isEuiThemeRefreshVariant(euiThemeContext, 'buttonVariant');
47
48
  var _euiFormVariables = euiFormVariables(euiThemeContext),
48
49
  controlCompressedHeight = _euiFormVariables.controlCompressedHeight,
49
50
  controlCompressedBorderRadius = _euiFormVariables.controlCompressedBorderRadius;
50
51
  var compressedButtonHeight = mathWithUnits([controlCompressedHeight, euiTheme.border.width.thin], function (x, y) {
51
- return x - y * 2;
52
+ return isRefreshVariant ? x - y * 6 : x - y * 2;
52
53
  });
54
+ var selectedSelectors = '.euiButtonGroupButton-isSelected, .euiButtonGroup__tooltipWrapper-isSelected';
53
55
  var uncompressedBorderRadii = function uncompressedBorderRadii(radiusSize) {
54
- return "\n border-radius: 0;\n\n &:first-child {\n ".concat(logicalShorthandCSS('border-radius', "".concat(radiusSize, " 0 0 ").concat(radiusSize)), "\n }\n\n &:last-child {\n ").concat(logicalShorthandCSS('border-radius', "0 ".concat(radiusSize, " ").concat(radiusSize, " 0")), "\n }\n ");
56
+ return "\n border-radius: 0;\n\n &:first-child {\n ".concat(logicalShorthandCSS('border-radius', "".concat(radiusSize, " 0 0 ").concat(radiusSize)), "\n }\n\n &:last-child {\n ").concat(logicalShorthandCSS('border-radius', "0 ".concat(radiusSize, " ").concat(radiusSize, " 0")), "\n }\n\n &:first-child:last-child {\n ").concat(logicalShorthandCSS('border-radius', "".concat(radiusSize)), "\n }\n ");
55
57
  };
58
+ var refreshVariantStyles = "\n &:is(".concat(selectedSelectors, ") {\n ").concat(highContrastModeStyles(euiThemeContext, {
59
+ forced: "\n --highContrastHoverIndicatorColor: ".concat(euiTheme.colors.textInverse, ";\n border: none;\n\n /* styles the content manually instead of the button itself to preserve the system\n focus style, as otherwise preventForcedColors() would require manual styling */\n > [class*=\"euiButtonDisplayContent\"] {\n ").concat(preventForcedColors(euiThemeContext), "\n color: ").concat(euiTheme.colors.emptyShade, ";\n border: none;\n }\n ")
60
+ }), "\n }\n ");
61
+ var uncompressedStyles = isRefreshVariant ? "\n &:is(".concat(selectedSelectors, "):not(:disabled) {\n z-index: 1;\n /* prevent layout jumps due to missing border for selected/filled buttons */\n border: ").concat(euiTheme.border.width.thin, " solid transparent;\n\n ").concat(highContrastModeStyles(euiThemeContext, {
62
+ forced: "\n /* use inset focus outline to ensure visibility, same as custom hover.\n NOTE: temp solution - this will be revisited once we handle global focus styles */\n &:focus-visible {\n outline-color: ".concat(euiTheme.colors.textInverse, ";\n /* has to be inset due to overflow: hidden */\n outline-offset: -").concat(mathWithUnits(euiTheme.border.width.thin, function (x) {
63
+ return x * 4;
64
+ }), ";\n }\n ")
65
+ }), "\n }\n ") : "\n &:is(.euiButtonGroupButton-isSelected) {\n font-weight: ".concat(euiTheme.font.weight.bold, ";\n }\n ");
66
+ var compressedStyles = isRefreshVariant ? "\n margin: ".concat(euiTheme.size.xxs, ";\n border-radius: ").concat(mathWithUnits(euiTheme.border.radius.small, function (x) {
67
+ return x / 2;
68
+ }), ";\n\n & + .euiButtonGroupButton {\n ").concat(logicalCSS('margin-left', '0'), "\n }\n\n &:is(").concat(selectedSelectors, "):not(:disabled) {\n /* prevent layout jumps due to missing border for non-selected buttons */\n border: none;\n\n ").concat(highContrastModeStyles(euiThemeContext, {
69
+ forced: "\n /* use inset focus outline to ensure visibility, same as custom hover.\n NOTE: temp solution - this will be revisited once we handle global focus styles */\n &:focus-visible {\n outline-color: ".concat(euiTheme.colors.textInverse, ";\n /* has to be inset due to overflow: hidden */\n outline-offset: -").concat(mathWithUnits(euiTheme.border.width.thin, function (x) {
70
+ return x * 3;
71
+ }), ";\n }\n ")
72
+ }), "\n }\n ") : "\n background-clip: content-box;\n /* Tweak border radius to account for the padding & background-clip */\n border-radius: ".concat(mathWithUnits([controlCompressedBorderRadius, euiTheme.border.width.thin], function (x, y) {
73
+ return x + y;
74
+ }), ";\n\n &:is(.euiButtonGroupButton-isSelected) {\n font-weight: ").concat(euiTheme.font.weight.semiBold, ";\n }\n ");
56
75
  return {
57
76
  // Base
58
- euiButtonGroupButton: /*#__PURE__*/css(logicalCSS('min-width', 0), " flex-shrink:1;flex-grow:0;z-index:0;&:focus-visible{z-index:1;}", euiCanAnimate, "{transition:background-color ", euiTheme.animation.normal, " ease-in-out,color ", euiTheme.animation.normal, " ease-in-out;};label:euiButtonGroupButton;"),
77
+ euiButtonGroupButton: /*#__PURE__*/css(logicalCSS('min-width', 0), " flex-shrink:1;flex-grow:0;z-index:0;&:focus-visible{z-index:2;}", euiCanAnimate, "{transition:background-color ", euiTheme.animation.normal, " ease-in-out,color ", euiTheme.animation.normal, " ease-in-out;}", isRefreshVariant && refreshVariantStyles, ";;label:euiButtonGroupButton;"),
59
78
  iconOnly: /*#__PURE__*/css("padding-inline:", euiTheme.size.s, ";;label:iconOnly;"),
60
79
  // Sizes
61
80
  uncompressed: {
62
- uncompressed: /*#__PURE__*/css("&:is(.euiButtonGroupButton-isSelected){font-weight:", euiTheme.font.weight.bold, ";}&:focus-visible{", euiOutline(euiThemeContext, 'inset', euiTheme.components.buttonGroupFocusColor), ";};label:uncompressed;"),
81
+ uncompressed: /*#__PURE__*/css("&:focus-visible{", euiOutline(euiThemeContext, 'inset', euiTheme.components.buttonGroupFocusColor), ";}", uncompressedStyles, ";;label:uncompressed;"),
63
82
  get borders() {
64
83
  // We use pseudo elements to avoid affecing button width, and to allow
65
84
  // inheriting high contrast border colors
66
- var selectors = '.euiButtonGroupButton-isSelected, .euiButtonGroup__tooltipWrapper-isSelected';
85
+ var selectors = selectedSelectors;
67
86
  var selectedColor = highContrastMode ? euiTheme.colors.emptyShade : euiTheme.components.buttonGroupBorderColorSelected;
68
87
  var unselectedColor = highContrastMode ? 'inherit' : euiTheme.components.buttonGroupBorderColor;
88
+ var borderWidth = euiTheme.border.width.thin;
89
+ var borderStyles = isRefreshVariant ? "\n &:not(:first-child) {\n margin-inline-start: -".concat(borderWidth, ";\n }\n\n &:is(").concat(selectors, ") {\n &::before {\n position: absolute;\n z-index: 1;\n ").concat(logicalCSS('left', 0), "\n ").concat(logicalCSS('vertical', "-".concat(euiTheme.border.width.thin)), "\n ").concat(logicalCSS('border-left-style', 'solid'), "\n ").concat(logicalCSS('border-left-width', euiTheme.border.width.thin), "\n pointer-events: none;\n\n ").concat(preventForcedColors(euiThemeContext), "\n }\n }\n ") : "\n &::before {\n position: absolute;\n ".concat(logicalCSS('left', 0), "\n ").concat(logicalCSS('vertical', highContrastMode ? "-".concat(euiTheme.border.width.thin) : 0), "\n ").concat(logicalCSS('border-left-style', 'solid'), "\n ").concat(logicalCSS('border-left-width', euiTheme.border.width.thin), "\n pointer-events: none;\n }\n ");
69
90
 
70
91
  // "Borders" between buttons should be present between two of the same colored buttons,
71
92
  // and absent between selected vs non-selected buttons (different colors)
72
- return "\n position: relative;\n\n &::before {\n position: absolute;\n ".concat(logicalCSS('left', 0), "\n ").concat(logicalCSS('vertical', highContrastMode ? "-".concat(euiTheme.border.width.thin) : 0), "\n ").concat(logicalCSS('border-left-style', 'solid'), "\n ").concat(logicalCSS('border-left-width', euiTheme.border.width.thin), "\n pointer-events: none;\n }\n \n &:not(").concat(selectors, ") + *:not(").concat(selectors, ") {\n &::before {\n content: '';\n border-color: ").concat(unselectedColor, ";\n }\n }\n\n &:is(").concat(selectors, ") + *:is(").concat(selectors, ") {\n &::before {\n content: '';\n border-color: ").concat(selectedColor, ";\n }\n }\n ");
93
+ return "\n position: relative;\n\n ".concat(borderStyles, "\n\n &:not(").concat(selectors, ") + *:not(").concat(selectors, ") {\n &::before {\n content: '';\n border-color: ").concat(unselectedColor, ";\n }\n }\n\n &:is(").concat(selectors, ") + *:is(").concat(selectors, ") {\n &::before {\n content: '';\n border-color: ").concat(selectedColor, ";\n }\n }\n ");
73
94
  },
74
95
  get s() {
75
96
  return /*#__PURE__*/css(this.borders, " ", uncompressedBorderRadii(euiTheme.border.radius.small), ";;label:s;");
76
97
  },
77
98
  get m() {
78
- return /*#__PURE__*/css(this.borders, " ", uncompressedBorderRadii(euiTheme.border.radius.medium), ";;label:m;");
99
+ var radius = isRefreshVariant ? euiTheme.border.radius.small : euiTheme.border.radius.medium;
100
+ return /*#__PURE__*/css(this.borders, " ", uncompressedBorderRadii(radius), ";;label:m;");
79
101
  },
80
102
  hasToolTip: _ref2
81
103
  },
82
- compressed: /*#__PURE__*/css(logicalCSS('height', compressedButtonHeight), " line-height:", compressedButtonHeight, ";padding:", mathWithUnits(euiTheme.border.width.thin, function (x) {
104
+ compressed: /*#__PURE__*/css(logicalCSS('height', compressedButtonHeight), " line-height:", compressedButtonHeight, ";font-weight:", euiTheme.font.weight.regular, ";padding:", isRefreshVariant ? '0' : mathWithUnits(euiTheme.border.width.thin, function (x) {
83
105
  return x * 2;
84
- }), ";background-clip:content-box;border-radius:", mathWithUnits([controlCompressedBorderRadius, euiTheme.border.width.thin], function (x, y) {
85
- return x + y;
86
- }), ";font-weight:", euiTheme.font.weight.regular, ";&:is(.euiButtonGroupButton-isSelected){font-weight:", euiTheme.font.weight.semiBold, ";};label:compressed;"),
106
+ }), ";", compressedStyles, ";;label:compressed;"),
87
107
  // States
88
- disabledAndSelected: /*#__PURE__*/css("color:", makeDisabledContrastColor(euiTheme.colors.textDisabled)(euiTheme.components.buttonGroupBackgroundDisabledSelected), ";background-color:", euiTheme.components.buttonGroupBackgroundDisabledSelected, ";border:", highContrastMode && "".concat(euiTheme.border.width.thin, " solid ").concat(euiTheme.components.buttonGroupBackgroundDisabledSelected), ";;label:disabledAndSelected;"),
108
+ disabledAndSelected: /*#__PURE__*/css("color:", isRefreshVariant ? euiTheme.colors.textDisabled : makeDisabledContrastColor(euiTheme.colors.textDisabled)(euiTheme.components.buttonGroupBackgroundDisabledSelected), ";background-color:", euiTheme.components.buttonGroupBackgroundDisabledSelected, ";border:", highContrastMode ? "".concat(euiTheme.border.width.thin, " solid ").concat(euiTheme.components.buttonGroupBackgroundDisabledSelected) : isRefreshVariant ? "".concat(euiTheme.border.width.thin, " solid ").concat(euiTheme.colors.borderBasePlain) : '', ";;label:disabledAndSelected;"),
109
+ // Skip css`` to avoid generating a className
110
+ hasBorder: "\n border: ".concat(euiTheme.border.width.thin, " solid\n ").concat(euiTheme.colors.borderBasePlain, ";\n "),
89
111
  // Tooltip anchor wrapper
90
112
  tooltipWrapper: _ref,
91
113
  // Content wrapper
@@ -101,10 +123,12 @@ export var euiButtonGroupButtonStyles = function euiButtonGroupButtonStyles(euiT
101
123
  };
102
124
  };
103
125
  export var _compressedButtonFocusColors = function _compressedButtonFocusColors(euiThemeContext) {
126
+ var euiTheme = euiThemeContext.euiTheme;
127
+ var isRefreshVariant = isEuiThemeRefreshVariant(euiThemeContext, 'buttonVariant');
104
128
  var colors = [].concat(_toConsumableArray(BUTTON_COLORS), ['disabled']);
105
129
  return colors.reduce(function (acc, color) {
106
130
  var _euiButtonFillColor = euiButtonFillColor(euiThemeContext, color),
107
131
  backgroundColor = _euiButtonFillColor.backgroundColor;
108
- return _objectSpread(_objectSpread({}, acc), {}, _defineProperty({}, color, /*#__PURE__*/css("&:focus-visible{", euiOutline(euiThemeContext, 'center', backgroundColor), " &:is(.euiButtonGroupButton-isSelected){outline-offset:0;}}")));
132
+ return _objectSpread(_objectSpread({}, acc), {}, _defineProperty({}, color, /*#__PURE__*/css("&:focus-visible{", euiOutline(euiThemeContext, isRefreshVariant ? 'outset' : 'center', isRefreshVariant ? euiTheme.focus.color : backgroundColor), " ", !isRefreshVariant && "\n &:is(.euiButtonGroupButton-isSelected) {\n outline-offset: 0;\n }\n ", ";}")));
109
133
  }, {});
110
134
  };
@@ -13,7 +13,7 @@ function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t =
13
13
  import React from 'react';
14
14
  import PropTypes from "prop-types";
15
15
  import classNames from 'classnames';
16
- import { getSecureRelForTarget, useEuiMemoizedStyles } from '../../../services';
16
+ import { getSecureRelForTarget, isEuiThemeRefreshVariant, useEuiMemoizedStyles, useEuiTheme } from '../../../services';
17
17
  import { EuiIcon } from '../../icon';
18
18
  import { EuiLoadingSpinner } from '../../loading';
19
19
  import { useEuiButtonColorCSS, useEuiButtonFocusCSS } from '../../../global_styling/mixins/_button';
@@ -44,6 +44,8 @@ export var EuiButtonIcon = function EuiButtonIcon(_ref) {
44
44
  isSelected = _ref.isSelected,
45
45
  isLoading = _ref.isLoading,
46
46
  rest = _objectWithoutProperties(_ref, _excluded);
47
+ var euiThemeContext = useEuiTheme();
48
+ var isRefreshVariant = isEuiThemeRefreshVariant(euiThemeContext, 'buttonVariant');
47
49
  var isDisabled = isButtonDisabled({
48
50
  isDisabled: _isDisabled || disabled,
49
51
  href: href,
@@ -60,7 +62,7 @@ export var EuiButtonIcon = function EuiButtonIcon(_ref) {
60
62
  var buttonFocusStyle = useEuiButtonFocusCSS();
61
63
  var emptyHoverStyles = useEuiMemoizedStyles(_emptyHoverStyles);
62
64
  var styles = useEuiMemoizedStyles(euiButtonIconStyles);
63
- var cssStyles = [styles.euiButtonIcon, styles[size], buttonColorStyles[isDisabled ? 'disabled' : color], buttonFocusStyle, display === 'empty' && !isDisabled && emptyHoverStyles[color], isDisabled && styles.isDisabled];
65
+ var cssStyles = [styles.euiButtonIcon, styles[size], buttonColorStyles[isDisabled ? 'disabled' : color], buttonFocusStyle, !isRefreshVariant && display === 'empty' && !isDisabled && emptyHoverStyles[color], isDisabled && styles.isDisabled];
64
66
  var classes = classNames('euiButtonIcon', className);
65
67
 
66
68
  // Add an icon to the button if one exists.
@@ -130,6 +132,13 @@ EuiButtonIcon.propTypes = {
130
132
  iconType: PropTypes.oneOfType([PropTypes.oneOf(["accessibility", "addDataApp", "advancedSettingsApp", "agentApp", "aggregate", "analyzeEvent", "annotation", "anomalyChart", "anomalySwimLane", "apmApp", "apmTrace", "appSearchApp", "apps", "arrowDown", "arrowLeft", "arrowRight", "arrowUp", "arrowStart", "arrowEnd", "article", "asterisk", "at", "auditbeatApp", "beaker", "bell", "bellSlash", "beta", "bolt", "boxesHorizontal", "boxesVertical", "branch", "branchUser", "broom", "brush", "bug", "bullseye", "calendar", "canvasApp", "casesApp", "changePointDetection", "check", "checkCircle", "checkInCircleFilled", "cheer", "classificationJob", "clickLeft", "clickRight", "clock", "clockCounter", "cloudDrizzle", "cloudStormy", "cloudSunny", "cluster", "code", "codeApp", "color", "comment", "compute", "console", "consoleApp", "container", "continuityAbove", "continuityAboveBelow", "continuityBelow", "continuityWithin", "contrast", "contrastHigh", "controls", "controlsHorizontal", "controlsVertical", "copy", "copyClipboard", "createAdvancedJob", "createGenericJob", "createGeoJob", "createMultiMetricJob", "createPopulationJob", "createSingleMetricJob", "cross", "crossClusterReplicationApp", "crossInCircle", "crosshairs", "currency", "cut", "dashboardApp", "dataVisualizer", "database", "desktop", "devToolsApp", "diff", "discoverApp", "discuss", "document", "documentEdit", "documentation", "documents", "dot", "dotInCircle", "doubleArrowLeft", "doubleArrowRight", "download", "editorAlignCenter", "editorAlignLeft", "editorAlignRight", "editorBold", "editorChecklist", "editorCodeBlock", "editorComment", "editorDistributeHorizontal", "editorDistributeVertical", "editorHeading", "editorItalic", "editorItemAlignBottom", "editorItemAlignCenter", "editorItemAlignLeft", "editorItemAlignMiddle", "editorItemAlignRight", "editorItemAlignTop", "editorLink", "editorOrderedList", "editorPositionBottomLeft", "editorPositionBottomRight", "editorPositionTopLeft", "editorPositionTopRight", "editorRedo", "editorStrike", "editorTable", "editorUnderline", "editorUndo", "editorUnorderedList", "email", "empty", "emsApp", "endpoint", "eql", "eraser", "error", "errorFilled", "esqlVis", "exit", "expand", "expandMini", "export", "exportAction", "eye", "eyeClosed", "faceHappy", "faceNeutral", "faceSad", "fieldStatistics", "filebeatApp", "filter", "filterExclude", "filterIgnore", "filterInclude", "filterInCircle", "flask", "flag", "fleetApp", "fold", "folderCheck", "folderClosed", "folderExclamation", "folderOpen", "frameNext", "framePrevious", "fullScreen", "fullScreenExit", "function", "gear", "gisApp", "glasses", "globe", "grab", "grabHorizontal", "grabOmnidirectional", "gradient", "graphApp", "grid", "grokApp", "heart", "heartbeatApp", "heatmap", "help", "home", "iInCircle", "image", "importAction", "index", "indexClose", "indexEdit", "indexFlush", "indexManagementApp", "indexMapping", "indexOpen", "indexPatternApp", "indexRollupApp", "indexRuntime", "indexSettings", "indexTemporary", "infinity", "inputOutput", "inspect", "invert", "ip", "key", "keyboard", "kqlField", "kqlFunction", "kqlOperand", "kqlSelector", "kqlValue", "kubernetesNode", "kubernetesPod", "launch", "layers", "lensApp", "lettering", "lineDashed", "lineDotted", "lineSolid", "link", "list", "listAdd", "lock", "lockOpen", "logPatternAnalysis", "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", "logoVulnerabilityManagement", "logoWebhook", "logoWindows", "logoWorkplaceSearch", "logsApp", "logstashFilter", "logstashIf", "logstashInput", "logstashOutput", "logstashQueue", "machineLearningApp", "magnet", "magnifyWithExclamation", "magnifyWithMinus", "magnifyWithPlus", "managementApp", "mapMarker", "memory", "menu", "menuDown", "menuLeft", "menuRight", "menuUp", "merge", "metricbeatApp", "metricsApp", "minimize", "minus", "minusInCircle", "minusInCircleFilled", "minusInSquare", "mobile", "monitoringApp", "moon", "move", "namespace", "nested", "newChat", "node", "notebookApp", "number", "offline", "online", "outlierDetectionJob", "package", "packetbeatApp", "pageSelect", "pagesSelect", "palette", "paperClip", "partial", "pause", "payment", "pencil", "percent", "pin", "pinFilled", "pipeBreaks", "pipelineApp", "pipeNoBreaks", "pivot", "play", "playFilled", "plugs", "plus", "plusInCircle", "plusInCircleFilled", "plusInSquare", "popout", "push", "questionInCircle", "quote", "readOnly", "recentlyViewedApp", "refresh", "regressionJob", "reporter", "reportingApp", "returnKey", "save", "savedObjectsApp", "scale", "search", "searchProfilerApp", "section", "securityAnalyticsApp", "securityApp", "securitySignal", "securitySignalDetected", "securitySignalResolved", "sessionViewer", "shard", "share", "singleMetricViewer", "snowflake", "sortAscending", "sortDescending", "sortDown", "sortLeft", "sortRight", "sortUp", "sortable", "spaces", "spacesApp", "sparkles", "sqlApp", "starEmpty", "starEmptySpace", "starFilled", "starFilledSpace", "starMinusEmpty", "starMinusFilled", "starPlusEmpty", "starPlusFilled", "stats", "stop", "stopFilled", "stopSlash", "storage", "string", "submodule", "sun", "swatchInput", "symlink", "tableDensityCompact", "tableDensityExpanded", "tableDensityNormal", "tableOfContents", "tag", "tear", "temperature", "timeline", "timelineWithArrow", "timelionApp", "timeRefresh", "timeslider", "training", "transitionLeftIn", "transitionLeftOut", "transitionTopIn", "transitionTopOut", "trash", "unfold", "unlink", "upgradeAssistantApp", "uptimeApp", "user", "userAvatar", "users", "usersRolesApp", "vector", "videoPlayer", "visArea", "visAreaStacked", "visBarHorizontal", "visBarHorizontalStacked", "visBarVertical", "visBarVerticalStacked", "visGauge", "visGoal", "visLine", "visMapCoordinate", "visMapRegion", "visMetric", "visPie", "visTable", "visTagCloud", "visText", "visTimelion", "visVega", "visVisualBuilder", "visualizeApp", "vulnerabilityManagementApp", "warning", "warningFilled", "alert", "watchesApp", "web", "wordWrap", "wordWrapDisabled", "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", "tokenDenseVector", "tokenVectorSparse"]).isRequired, PropTypes.string.isRequired, PropTypes.elementType.isRequired]).isRequired,
131
133
  /**
132
134
  * Any of the named color palette options.
135
+ *
136
+ * Do not use the following colors for standalone buttons directly,
137
+ * they exist to serve other components:
138
+ * - accent
139
+ * - warning
140
+ * - neutral
141
+ * - risk
133
142
  */
134
143
  color: PropTypes.any,
135
144
  "aria-label": PropTypes.string,
@@ -416,6 +416,13 @@ EuiCard.propTypes = {
416
416
  fill: PropTypes.bool,
417
417
  /**
418
418
  * Any of the named color palette options.
419
+ *
420
+ * Do not use the following colors for standalone buttons directly,
421
+ * they exist to serve other components:
422
+ * - accent
423
+ * - warning
424
+ * - neutral
425
+ * - risk
419
426
  */
420
427
  color: PropTypes.any,
421
428
  /**
@@ -51,6 +51,13 @@ EuiCardSelect.propTypes = {
51
51
  fill: PropTypes.bool,
52
52
  /**
53
53
  * Any of the named color palette options.
54
+ *
55
+ * Do not use the following colors for standalone buttons directly,
56
+ * they exist to serve other components:
57
+ * - accent
58
+ * - warning
59
+ * - neutral
60
+ * - risk
54
61
  */
55
62
  color: PropTypes.any,
56
63
  /**