@elastic/eui 95.1.0 → 95.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (203) hide show
  1. package/dist/eui_theme_dark.css +8 -604
  2. package/dist/eui_theme_dark.min.css +1 -1
  3. package/dist/eui_theme_light.css +8 -604
  4. package/dist/eui_theme_light.min.css +1 -1
  5. package/es/components/color_picker/color_palette_display/color_palette_display.js +9 -9
  6. package/es/components/color_picker/color_palette_display/color_palette_display.styles.js +24 -0
  7. package/es/components/color_picker/color_palette_display/color_palette_display_fixed.js +2 -0
  8. package/es/components/color_picker/color_palette_display/color_palette_display_fixed.styles.js +14 -0
  9. package/es/components/color_picker/color_palette_picker/color_palette_picker.js +34 -26
  10. package/es/components/color_picker/color_picker.js +26 -39
  11. package/es/components/color_picker/color_picker.styles.js +15 -5
  12. package/es/components/color_picker/color_picker_swatch.js +5 -1
  13. package/es/components/color_picker/color_picker_swatch.styles.js +19 -0
  14. package/es/components/color_picker/hue.js +11 -6
  15. package/es/components/color_picker/hue.styles.js +29 -0
  16. package/es/components/color_picker/saturation.js +29 -16
  17. package/es/components/color_picker/saturation.styles.js +23 -0
  18. package/es/components/combo_box/combo_box_input/combo_box_input.js +2 -1
  19. package/es/components/context_menu/context_menu_item.js +1 -1
  20. package/es/components/form/file_picker/file_picker.js +54 -40
  21. package/es/components/form/file_picker/file_picker.styles.js +98 -0
  22. package/es/components/form/range/range.styles.js +1 -1
  23. package/es/components/icon/assets/app_cases.js +9 -7
  24. package/es/components/icon/assets/logo_elastic_stack.js +6 -12
  25. package/es/components/modal/modal.styles.js +1 -1
  26. package/es/components/popover/popover.js +5 -3
  27. package/es/components/provider/provider.js +2 -2
  28. package/es/components/steps/step.js +5 -3
  29. package/es/components/steps/step.styles.js +13 -5
  30. package/es/components/steps/step_horizontal.js +8 -3
  31. package/es/components/steps/step_horizontal.styles.js +1 -0
  32. package/es/components/steps/step_number.js +48 -24
  33. package/es/components/steps/step_number.styles.js +4 -2
  34. package/es/components/steps/steps.js +3 -1
  35. package/es/components/steps/steps_horizontal.js +1 -1
  36. package/es/global_styling/mixins/_helpers.js +10 -2
  37. package/es/services/breakpoint/current_breakpoint.js +5 -3
  38. package/es/services/theme/provider.js +10 -2
  39. package/es/services/theme/warning.js +7 -2
  40. package/eui.d.ts +7610 -7492
  41. package/i18ntokens.json +66 -66
  42. package/lib/components/color_picker/color_palette_display/color_palette_display.js +9 -9
  43. package/lib/components/color_picker/color_palette_display/color_palette_display.styles.js +30 -0
  44. package/lib/components/color_picker/color_palette_display/color_palette_display_fixed.js +2 -0
  45. package/lib/components/color_picker/color_palette_display/color_palette_display_fixed.styles.js +19 -0
  46. package/lib/components/color_picker/color_palette_picker/color_palette_picker.js +37 -27
  47. package/lib/components/color_picker/color_picker.js +26 -39
  48. package/lib/components/color_picker/color_picker.styles.js +15 -5
  49. package/lib/components/color_picker/color_picker_swatch.js +5 -1
  50. package/lib/components/color_picker/color_picker_swatch.styles.js +25 -0
  51. package/lib/components/color_picker/hue.js +11 -6
  52. package/lib/components/color_picker/hue.styles.js +35 -0
  53. package/lib/components/color_picker/saturation.js +27 -14
  54. package/lib/components/color_picker/saturation.styles.js +29 -0
  55. package/lib/components/combo_box/combo_box_input/combo_box_input.js +2 -1
  56. package/lib/components/context_menu/context_menu_item.js +1 -1
  57. package/lib/components/form/file_picker/file_picker.js +56 -42
  58. package/lib/components/form/file_picker/file_picker.styles.js +102 -0
  59. package/lib/components/form/range/range.styles.js +1 -1
  60. package/lib/components/icon/assets/app_cases.js +9 -7
  61. package/lib/components/icon/assets/logo_elastic_stack.js +6 -12
  62. package/lib/components/icon/svgs/app_cases.svg +6 -5
  63. package/lib/components/icon/svgs/logo_elastic_stack.svg +4 -7
  64. package/lib/components/modal/modal.styles.js +1 -1
  65. package/lib/components/popover/popover.js +5 -3
  66. package/lib/components/provider/provider.js +1 -1
  67. package/lib/components/steps/step.js +5 -3
  68. package/lib/components/steps/step.styles.js +13 -5
  69. package/lib/components/steps/step_horizontal.js +8 -3
  70. package/lib/components/steps/step_horizontal.styles.js +1 -0
  71. package/lib/components/steps/step_number.js +48 -24
  72. package/lib/components/steps/step_number.styles.js +3 -1
  73. package/lib/components/steps/steps.js +3 -1
  74. package/lib/components/steps/steps_horizontal.js +1 -1
  75. package/lib/global_styling/mixins/_helpers.js +10 -2
  76. package/lib/services/breakpoint/current_breakpoint.js +6 -4
  77. package/lib/services/theme/provider.js +9 -1
  78. package/lib/services/theme/warning.js +7 -2
  79. package/optimize/es/components/color_picker/color_palette_display/color_palette_display.js +8 -8
  80. package/optimize/es/components/color_picker/color_palette_display/color_palette_display.styles.js +24 -0
  81. package/optimize/es/components/color_picker/color_palette_display/color_palette_display_fixed.js +2 -0
  82. package/optimize/es/components/color_picker/color_palette_display/color_palette_display_fixed.styles.js +14 -0
  83. package/optimize/es/components/color_picker/color_palette_picker/color_palette_picker.js +34 -26
  84. package/optimize/es/components/color_picker/color_picker.js +26 -39
  85. package/optimize/es/components/color_picker/color_picker.styles.js +15 -5
  86. package/optimize/es/components/color_picker/color_picker_swatch.js +5 -1
  87. package/optimize/es/components/color_picker/color_picker_swatch.styles.js +19 -0
  88. package/optimize/es/components/color_picker/hue.js +11 -6
  89. package/optimize/es/components/color_picker/hue.styles.js +29 -0
  90. package/optimize/es/components/color_picker/saturation.js +29 -16
  91. package/optimize/es/components/color_picker/saturation.styles.js +23 -0
  92. package/optimize/es/components/combo_box/combo_box_input/combo_box_input.js +2 -1
  93. package/optimize/es/components/form/file_picker/file_picker.js +45 -39
  94. package/optimize/es/components/form/file_picker/file_picker.styles.js +98 -0
  95. package/optimize/es/components/form/range/range.styles.js +1 -1
  96. package/optimize/es/components/icon/assets/app_cases.js +9 -7
  97. package/optimize/es/components/icon/assets/logo_elastic_stack.js +6 -12
  98. package/optimize/es/components/modal/modal.styles.js +1 -1
  99. package/optimize/es/components/popover/popover.js +5 -3
  100. package/optimize/es/components/provider/provider.js +2 -2
  101. package/optimize/es/components/steps/step.js +2 -2
  102. package/optimize/es/components/steps/step.styles.js +13 -5
  103. package/optimize/es/components/steps/step_horizontal.js +8 -3
  104. package/optimize/es/components/steps/step_horizontal.styles.js +1 -0
  105. package/optimize/es/components/steps/step_number.js +44 -22
  106. package/optimize/es/components/steps/step_number.styles.js +4 -2
  107. package/optimize/es/components/steps/steps_horizontal.js +1 -1
  108. package/optimize/es/global_styling/mixins/_helpers.js +10 -2
  109. package/optimize/es/services/breakpoint/current_breakpoint.js +5 -3
  110. package/optimize/es/services/theme/provider.js +10 -2
  111. package/optimize/es/services/theme/warning.js +7 -2
  112. package/optimize/lib/components/color_picker/color_palette_display/color_palette_display.js +8 -8
  113. package/optimize/lib/components/color_picker/color_palette_display/color_palette_display.styles.js +30 -0
  114. package/optimize/lib/components/color_picker/color_palette_display/color_palette_display_fixed.js +2 -0
  115. package/optimize/lib/components/color_picker/color_palette_display/color_palette_display_fixed.styles.js +19 -0
  116. package/optimize/lib/components/color_picker/color_palette_picker/color_palette_picker.js +38 -27
  117. package/optimize/lib/components/color_picker/color_picker.js +26 -39
  118. package/optimize/lib/components/color_picker/color_picker.styles.js +15 -5
  119. package/optimize/lib/components/color_picker/color_picker_swatch.js +5 -1
  120. package/optimize/lib/components/color_picker/color_picker_swatch.styles.js +25 -0
  121. package/optimize/lib/components/color_picker/hue.js +11 -6
  122. package/optimize/lib/components/color_picker/hue.styles.js +35 -0
  123. package/optimize/lib/components/color_picker/saturation.js +27 -14
  124. package/optimize/lib/components/color_picker/saturation.styles.js +29 -0
  125. package/optimize/lib/components/combo_box/combo_box_input/combo_box_input.js +2 -1
  126. package/optimize/lib/components/form/file_picker/file_picker.js +47 -41
  127. package/optimize/lib/components/form/file_picker/file_picker.styles.js +102 -0
  128. package/optimize/lib/components/form/range/range.styles.js +1 -1
  129. package/optimize/lib/components/icon/assets/app_cases.js +9 -7
  130. package/optimize/lib/components/icon/assets/logo_elastic_stack.js +6 -12
  131. package/optimize/lib/components/icon/svgs/app_cases.svg +6 -5
  132. package/optimize/lib/components/icon/svgs/logo_elastic_stack.svg +4 -7
  133. package/optimize/lib/components/modal/modal.styles.js +1 -1
  134. package/optimize/lib/components/popover/popover.js +5 -3
  135. package/optimize/lib/components/provider/provider.js +1 -1
  136. package/optimize/lib/components/steps/step.js +2 -2
  137. package/optimize/lib/components/steps/step.styles.js +13 -5
  138. package/optimize/lib/components/steps/step_horizontal.js +8 -3
  139. package/optimize/lib/components/steps/step_horizontal.styles.js +1 -0
  140. package/optimize/lib/components/steps/step_number.js +44 -22
  141. package/optimize/lib/components/steps/step_number.styles.js +3 -1
  142. package/optimize/lib/components/steps/steps_horizontal.js +1 -1
  143. package/optimize/lib/global_styling/mixins/_helpers.js +10 -2
  144. package/optimize/lib/services/breakpoint/current_breakpoint.js +6 -4
  145. package/optimize/lib/services/theme/provider.js +9 -1
  146. package/optimize/lib/services/theme/warning.js +7 -2
  147. package/package.json +10 -7
  148. package/src/components/form/_index.scss +0 -1
  149. package/src/components/index.scss +0 -1
  150. package/src/global_styling/mixins/_shadow.scss +5 -0
  151. package/src/themes/amsterdam/overrides/_index.scss +0 -1
  152. package/test-env/components/color_picker/color_palette_display/color_palette_display.js +9 -9
  153. package/test-env/components/color_picker/color_palette_display/color_palette_display.styles.js +30 -0
  154. package/test-env/components/color_picker/color_palette_display/color_palette_display_fixed.js +2 -0
  155. package/test-env/components/color_picker/color_palette_display/color_palette_display_fixed.styles.js +19 -0
  156. package/test-env/components/color_picker/color_palette_picker/color_palette_picker.js +38 -27
  157. package/test-env/components/color_picker/color_picker.js +26 -39
  158. package/test-env/components/color_picker/color_picker.styles.js +15 -5
  159. package/test-env/components/color_picker/color_picker_swatch.js +5 -1
  160. package/test-env/components/color_picker/color_picker_swatch.styles.js +25 -0
  161. package/test-env/components/color_picker/hue.js +11 -6
  162. package/test-env/components/color_picker/hue.styles.js +35 -0
  163. package/test-env/components/color_picker/saturation.js +27 -14
  164. package/test-env/components/color_picker/saturation.styles.js +29 -0
  165. package/test-env/components/combo_box/combo_box_input/combo_box_input.js +2 -1
  166. package/test-env/components/context_menu/context_menu_item.js +1 -1
  167. package/test-env/components/form/file_picker/file_picker.js +51 -42
  168. package/test-env/components/form/file_picker/file_picker.styles.js +102 -0
  169. package/test-env/components/form/range/range.styles.js +1 -1
  170. package/test-env/components/icon/assets/app_cases.js +9 -7
  171. package/test-env/components/icon/assets/logo_elastic_stack.js +6 -12
  172. package/test-env/components/modal/modal.styles.js +1 -1
  173. package/test-env/components/popover/popover.js +5 -3
  174. package/test-env/components/provider/provider.js +1 -1
  175. package/test-env/components/steps/step.js +5 -3
  176. package/test-env/components/steps/step.styles.js +13 -5
  177. package/test-env/components/steps/step_horizontal.js +8 -3
  178. package/test-env/components/steps/step_horizontal.styles.js +1 -0
  179. package/test-env/components/steps/step_number.js +48 -24
  180. package/test-env/components/steps/step_number.styles.js +3 -1
  181. package/test-env/components/steps/steps.js +3 -1
  182. package/test-env/components/steps/steps_horizontal.js +1 -1
  183. package/test-env/global_styling/mixins/_helpers.js +10 -2
  184. package/test-env/services/breakpoint/current_breakpoint.js +6 -4
  185. package/test-env/services/theme/provider.js +9 -1
  186. package/test-env/services/theme/warning.js +7 -2
  187. package/src/components/color_picker/_color_picker.scss +0 -37
  188. package/src/components/color_picker/_color_picker_swatch.scss +0 -18
  189. package/src/components/color_picker/_hue.scss +0 -88
  190. package/src/components/color_picker/_index.scss +0 -7
  191. package/src/components/color_picker/_saturation.scss +0 -57
  192. package/src/components/color_picker/_variables.scss +0 -6
  193. package/src/components/color_picker/color_palette_display/_color_palette_display.scss +0 -18
  194. package/src/components/color_picker/color_palette_display/_color_palette_display_fixed.scss +0 -12
  195. package/src/components/color_picker/color_palette_display/_index.scss +0 -4
  196. package/src/components/color_picker/color_palette_display/_mixins.scss +0 -22
  197. package/src/components/color_picker/color_palette_display/_variables.scss +0 -6
  198. package/src/components/color_picker/color_palette_picker/_color_palette_picker.scss +0 -9
  199. package/src/components/color_picker/color_palette_picker/_index.scss +0 -1
  200. package/src/components/form/file_picker/_file_picker.scss +0 -212
  201. package/src/components/form/file_picker/_index.scss +0 -2
  202. package/src/components/form/file_picker/_variables.scss +0 -1
  203. package/src/themes/amsterdam/overrides/_hue.scss +0 -44
@@ -15,9 +15,9 @@ import PropTypes from "prop-types";
15
15
  import React from 'react';
16
16
  import { EuiScreenReaderOnly } from '../accessibility';
17
17
  import { EuiIcon } from '../icon';
18
- import { useI18nCompleteStep, useI18nDisabledStep, useI18nErrorsStep, useI18nIncompleteStep, useI18nStep, useI18nWarningStep, useI18nLoadingStep, useI18nCurrentStep } from './step_strings';
19
18
  import { EuiLoadingSpinner } from '../loading';
20
19
  import { useEuiTheme } from '../../services';
20
+ import { useI18nCompleteStep, useI18nDisabledStep, useI18nErrorsStep, useI18nIncompleteStep, useI18nStep, useI18nWarningStep, useI18nLoadingStep, useI18nCurrentStep } from './step_strings';
21
21
  import { euiStepNumberStyles, euiStepNumberContentStyles } from './step_number.styles';
22
22
  import { jsx as ___EmotionJSX } from "@emotion/react";
23
23
  export var STATUS = ['incomplete', 'disabled', 'loading', 'warning', 'danger', 'complete', 'current'];
@@ -64,37 +64,59 @@ export var EuiStepNumber = function EuiStepNumber(_ref) {
64
64
  switch (status) {
65
65
  // Loading spinner
66
66
  case 'loading':
67
- screenReaderText = ariaLabelsMap.loading;
68
- content = ___EmotionJSX(EuiLoadingSpinner, {
69
- className: "euiStepNumber__loader",
70
- size: titleSize === 'xs' ? 'l' : 'xl'
71
- });
72
- break;
67
+ {
68
+ var iconSizeMap = {
69
+ none: 'm',
70
+ xs: 'l',
71
+ s: 'xl',
72
+ m: 'xl'
73
+ };
74
+ screenReaderText = ariaLabelsMap.loading;
75
+ content = ___EmotionJSX(EuiLoadingSpinner, {
76
+ className: "euiStepNumber__loader",
77
+ size: iconSizeMap[titleSize]
78
+ });
79
+ break;
80
+ }
73
81
  // Statuses with icons
74
82
  case 'danger':
75
83
  case 'warning':
76
84
  case 'complete':
77
- var cssIconStyles = [contentStyles.euiStepNumber__icon, contentStyles[status]];
78
- var iconTypeMap = {
79
- danger: 'cross',
80
- warning: 'warning',
81
- complete: 'check'
82
- };
83
- content = ___EmotionJSX(EuiIcon, {
84
- type: iconTypeMap[status],
85
- "aria-label": ariaLabelsMap[status],
86
- size: titleSize === 'xs' ? 's' : 'm',
87
- className: "euiStepNumber__icon",
88
- css: cssIconStyles
89
- });
90
- break;
85
+ {
86
+ var cssIconStyles = [contentStyles.euiStepNumber__icon, contentStyles[status],
87
+ // EuiIcon does not support a xxs size so far,
88
+ // we use custom sizing here instead
89
+ titleSize === 'none' && contentStyles[titleSize]];
90
+ var iconTypeMap = {
91
+ danger: 'cross',
92
+ warning: 'warning',
93
+ complete: 'check'
94
+ };
95
+ var _iconSizeMap = {
96
+ xxs: 's',
97
+ xs: 's',
98
+ s: 'm',
99
+ m: 'm'
100
+ };
101
+ content = ___EmotionJSX(EuiIcon, {
102
+ type: iconTypeMap[status],
103
+ "aria-label": ariaLabelsMap[status],
104
+ size: _iconSizeMap[titleSize],
105
+ className: "euiStepNumber__icon",
106
+ css: cssIconStyles
107
+ });
108
+ break;
109
+ }
91
110
  // Statuses with numbers
92
111
  case 'incomplete':
93
112
  case 'current':
94
113
  case 'disabled':
95
114
  default:
96
- var cssNumberStyles = [contentStyles.euiStepNumber__number, status && contentStyles[status]];
97
115
  screenReaderText = ariaLabelsMap[status || 'step'];
116
+ if (titleSize === 'none') {
117
+ break;
118
+ }
119
+ var cssNumberStyles = [contentStyles.euiStepNumber__number, status && contentStyles[status]];
98
120
  content = ___EmotionJSX("span", {
99
121
  "aria-hidden": "true",
100
122
  className: "euiStepNumber__number",
@@ -114,9 +136,11 @@ EuiStepNumber.propTypes = {
114
136
  status: PropTypes.any,
115
137
  number: PropTypes.number,
116
138
  /**
117
- * Title sizing equivalent to EuiTitle, but only `m`, `s` and `xs`. Defaults to `s`
139
+ * Title sizing equivalent to EuiTitle, but only `m`, `s`, `xs`.
140
+ * `none` indicates no step number should be rendered.
141
+ * @default s
118
142
  */
119
- titleSize: PropTypes.any,
143
+ titleSize: PropTypes.oneOfType([PropTypes.any.isRequired, PropTypes.oneOf(["none"])]),
120
144
  className: PropTypes.string,
121
145
  "aria-label": PropTypes.string,
122
146
  "data-test-subj": PropTypes.string,
@@ -8,7 +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 { mathWithUnits, logicalCSS, euiFontSizeFromScale, euiCanAnimate, euiAnimScale } from '../../global_styling';
11
+ import { mathWithUnits, logicalCSS, euiFontSizeFromScale, euiCanAnimate, euiAnimScale, logicalSizeCSS } from '../../global_styling';
12
12
  import { euiStepVariables } from './step.styles';
13
13
  import { euiButtonFillColor } from '../../themes/amsterdam/global_styling/mixins';
14
14
  var _ref = process.env.NODE_ENV === "production" ? {
@@ -39,6 +39,7 @@ export var euiStepNumberStyles = function euiStepNumberStyles(euiThemeContext) {
39
39
  m: /*#__PURE__*/css(createStepsNumber(euiStep.numberSize, euiFontSizeFromScale('s', euiTheme)), ";;label:m;"),
40
40
  s: /*#__PURE__*/css(createStepsNumber(euiStep.numberSize, euiFontSizeFromScale('s', euiTheme)), ";;label:s;"),
41
41
  xs: /*#__PURE__*/css(createStepsNumber(euiStep.numberXSSize, euiFontSizeFromScale('xs', euiTheme)), ";;label:xs;"),
42
+ none: /*#__PURE__*/css(createStepsNumber(euiStep.numberXXSSize, euiFontSizeFromScale('xs', euiTheme)), ";;label:none;"),
42
43
  // status
43
44
  incomplete: /*#__PURE__*/css("background-color:transparent;color:", euiTheme.colors.text, ";border:", euiTheme.border.thick, ";;label:incomplete;"),
44
45
  disabled: /*#__PURE__*/css(euiButtonFillColor(euiThemeContext, 'disabled'), ";;label:disabled;"),
@@ -66,6 +67,7 @@ export var euiStepNumberContentStyles = function euiStepNumberContentStyles(_ref
66
67
  incomplete: /*#__PURE__*/css("display:unset;position:relative;inset-block-start:-", euiTheme.border.width.thick, ";;label:incomplete;"),
67
68
  loading: /*#__PURE__*/css(";label:loading;"),
68
69
  disabled: /*#__PURE__*/css(";label:disabled;"),
69
- current: /*#__PURE__*/css("display:inline-block;transform:translateY(-", euiTheme.border.width.thick, ");;label:current;")
70
+ current: /*#__PURE__*/css("display:inline-block;transform:translateY(-", euiTheme.border.width.thick, ");;label:current;"),
71
+ none: /*#__PURE__*/css(logicalSizeCSS(euiTheme.size.s), ";label:none;")
70
72
  };
71
73
  };
@@ -62,7 +62,9 @@ EuiSteps.propTypes = {
62
62
  */
63
63
  headingElement: PropTypes.string,
64
64
  /**
65
- * Title sizing equivalent to EuiTitle, but only `m`, `s` and `xs`. Defaults to `s`
65
+ * Title sizing equivalent to **EuiTitle**, but only `m`, `s`, `xs` font sizes.
66
+ * The `xxs` size reduces the size of the accompanying step indicator, but not the title itself.
67
+ * @default s
66
68
  */
67
69
  titleSize: PropTypes.any,
68
70
  className: PropTypes.string,
@@ -16,7 +16,7 @@ import React from 'react';
16
16
  import { EuiStepHorizontal } from './step_horizontal';
17
17
  import { euiStepsHorizontalStyles } from './steps_horizontal.styles';
18
18
  import { jsx as ___EmotionJSX } from "@emotion/react";
19
- export var SIZES = ['s', 'm'];
19
+ export var SIZES = ['xs', 's', 'm'];
20
20
  export var EuiStepsHorizontal = function EuiStepsHorizontal(_ref) {
21
21
  var className = _ref.className,
22
22
  steps = _ref.steps,
@@ -67,10 +67,18 @@ var euiOverflowShadowStyles = function euiOverflowShadowStyles(_ref3) {
67
67
  gradient = "".concat(gradientEnd);
68
68
  }
69
69
  }
70
+
71
+ // Chrome+Edge has a very bizarre edge case bug where `mask-image` stops working
72
+ // This workaround forces a stacking context on the scrolling container, which
73
+ // hopefully addresses the bug. @see:
74
+ // - https://issues.chromium.org/issues/40778541
75
+ // - https://github.com/elastic/kibana/issues/180828
76
+ // - https://github.com/elastic/eui/pull/6343#issuecomment-1302732021
77
+ var chromiumMaskWorkaround = 'transform: translateZ(0);';
70
78
  if (direction === 'y') {
71
- return "mask-image: linear-gradient(to bottom, ".concat(gradient, ");");
79
+ return "mask-image: linear-gradient(to bottom, ".concat(gradient, "); ").concat(chromiumMaskWorkaround);
72
80
  } else {
73
- return "mask-image: linear-gradient(to right, ".concat(gradient, ");");
81
+ return "mask-image: linear-gradient(to right, ".concat(gradient, "); ").concat(chromiumMaskWorkaround);
74
82
  }
75
83
  };
76
84
 
@@ -14,15 +14,17 @@ function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
14
14
 
15
15
  import React, { createContext, useState, useEffect, useMemo, useCallback } from 'react';
16
16
  import { keysOf } from '../../components/common';
17
- import { useEuiTheme } from '../theme';
17
+ import { useEuiTheme } from '../theme/hooks';
18
18
  import { throttle } from '../throttle';
19
19
  import { sortMapByLargeToSmallValues } from './_sorting';
20
20
  import { jsx as ___EmotionJSX } from "@emotion/react";
21
21
  export var CurrentEuiBreakpointContext = /*#__PURE__*/createContext(undefined);
22
22
 
23
23
  /**
24
- * Top level provider (nested within EuiProvider) which provides a single
25
- * resize listener that returns the current breakpoint based on window width
24
+ * Returns the current breakpoint based on window width.
25
+ * Typically only called by the top-level `EuiProvider` (to reduce the number
26
+ * of window resize listeners on the page). Also conditionally called if a
27
+ * nested `EuiThemeProvider` defines a `modify.breakpoint` override
26
28
  */
27
29
  export var CurrentEuiBreakpointProvider = function CurrentEuiBreakpointProvider(_ref) {
28
30
  var children = _ref.children;
@@ -25,11 +25,12 @@ function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
25
25
  * Side Public License, v 1.
26
26
  */
27
27
 
28
- import React, { useContext, useEffect, useRef, useMemo, useState, useCallback } from 'react';
28
+ import React, { useContext, useEffect, useRef, useMemo, useState, useCallback, Fragment } from 'react';
29
29
  import { Global } from '@emotion/react';
30
30
  import isEqual from 'lodash/isEqual';
31
31
  import { cloneElementWithCss } from '../emotion';
32
32
  import { css, cx } from '../emotion/css';
33
+ import { CurrentEuiBreakpointProvider } from '../breakpoint/current_breakpoint';
33
34
  import { EuiSystemContext, EuiThemeContext, EuiNestedThemeContext, EuiModificationsContext, EuiColorModeContext } from './context';
34
35
  import { EuiEmotionThemeProvider } from './emotion';
35
36
  import { EuiThemeMemoizedStylesProvider } from './style_memoization';
@@ -55,6 +56,13 @@ export var EuiThemeProvider = function EuiThemeProvider(_ref) {
55
56
  system = _useState2[0],
56
57
  setSystem = _useState2[1];
57
58
  var prevSystemKey = useRef(system.key);
59
+
60
+ // To reduce the number of window resize listeners, only render a
61
+ // CurrentEuiBreakpointProvider for the top level parent theme, or for
62
+ // nested themes only if modified breakpoint overrides are passed
63
+ var EuiConditionalBreakpointProvider = useMemo(function () {
64
+ return isGlobalTheme || _modifications !== null && _modifications !== void 0 && _modifications.breakpoint ? CurrentEuiBreakpointProvider : Fragment;
65
+ }, [isGlobalTheme, _modifications]);
58
66
  var _useState3 = useState(mergeDeep(parentModifications, _modifications)),
59
67
  _useState4 = _slicedToArray(_useState3, 2),
60
68
  modifications = _useState4[0],
@@ -164,5 +172,5 @@ export var EuiThemeProvider = function EuiThemeProvider(_ref) {
164
172
  value: theme
165
173
  }, ___EmotionJSX(EuiNestedThemeContext.Provider, {
166
174
  value: nestedThemeContext
167
- }, ___EmotionJSX(EuiThemeMemoizedStylesProvider, null, ___EmotionJSX(EuiEmotionThemeProvider, null, renderedChildren))))))));
175
+ }, ___EmotionJSX(EuiThemeMemoizedStylesProvider, null, ___EmotionJSX(EuiEmotionThemeProvider, null, ___EmotionJSX(EuiConditionalBreakpointProvider, null, renderedChildren)))))))));
168
176
  };
@@ -7,8 +7,8 @@
7
7
  */
8
8
 
9
9
  var providerWarning = undefined;
10
- export var setEuiDevProviderWarning = function setEuiDevProviderWarning(level) {
11
- return providerWarning = level;
10
+ export var setEuiDevProviderWarning = function setEuiDevProviderWarning(warningType) {
11
+ return providerWarning = warningType;
12
12
  };
13
13
  export var getEuiDevProviderWarning = function getEuiDevProviderWarning() {
14
14
  return providerWarning;
@@ -16,6 +16,11 @@ export var getEuiDevProviderWarning = function getEuiDevProviderWarning() {
16
16
 
17
17
  // Not a public top-level EUI export, currently for internal use
18
18
  export var emitEuiProviderWarning = function emitEuiProviderWarning(providerMessage) {
19
+ // Handle callback types
20
+ if (typeof providerWarning === 'function') {
21
+ return providerWarning(providerMessage);
22
+ }
23
+ // Handle level types
19
24
  switch (providerWarning) {
20
25
  case 'log':
21
26
  console.log(providerMessage);