@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
@@ -11,9 +11,9 @@ var _classnames = _interopRequireDefault(require("classnames"));
11
11
  var _react = _interopRequireDefault(require("react"));
12
12
  var _accessibility = require("../accessibility");
13
13
  var _icon = require("../icon");
14
- var _step_strings = require("./step_strings");
15
14
  var _loading = require("../loading");
16
15
  var _services = require("../../services");
16
+ var _step_strings = require("./step_strings");
17
17
  var _step_number = require("./step_number.styles");
18
18
  var _react2 = require("@emotion/react");
19
19
  var _excluded = ["className", "status", "number", "titleSize"];
@@ -68,37 +68,59 @@ var EuiStepNumber = exports.EuiStepNumber = function EuiStepNumber(_ref) {
68
68
  switch (status) {
69
69
  // Loading spinner
70
70
  case 'loading':
71
- screenReaderText = ariaLabelsMap.loading;
72
- content = (0, _react2.jsx)(_loading.EuiLoadingSpinner, {
73
- className: "euiStepNumber__loader",
74
- size: titleSize === 'xs' ? 'l' : 'xl'
75
- });
76
- break;
71
+ {
72
+ var iconSizeMap = {
73
+ none: 'm',
74
+ xs: 'l',
75
+ s: 'xl',
76
+ m: 'xl'
77
+ };
78
+ screenReaderText = ariaLabelsMap.loading;
79
+ content = (0, _react2.jsx)(_loading.EuiLoadingSpinner, {
80
+ className: "euiStepNumber__loader",
81
+ size: iconSizeMap[titleSize]
82
+ });
83
+ break;
84
+ }
77
85
  // Statuses with icons
78
86
  case 'danger':
79
87
  case 'warning':
80
88
  case 'complete':
81
- var cssIconStyles = [contentStyles.euiStepNumber__icon, contentStyles[status]];
82
- var iconTypeMap = {
83
- danger: 'cross',
84
- warning: 'warning',
85
- complete: 'check'
86
- };
87
- content = (0, _react2.jsx)(_icon.EuiIcon, {
88
- type: iconTypeMap[status],
89
- "aria-label": ariaLabelsMap[status],
90
- size: titleSize === 'xs' ? 's' : 'm',
91
- className: "euiStepNumber__icon",
92
- css: cssIconStyles
93
- });
94
- break;
89
+ {
90
+ var cssIconStyles = [contentStyles.euiStepNumber__icon, contentStyles[status],
91
+ // EuiIcon does not support a xxs size so far,
92
+ // we use custom sizing here instead
93
+ titleSize === 'none' && contentStyles[titleSize]];
94
+ var iconTypeMap = {
95
+ danger: 'cross',
96
+ warning: 'warning',
97
+ complete: 'check'
98
+ };
99
+ var _iconSizeMap = {
100
+ xxs: 's',
101
+ xs: 's',
102
+ s: 'm',
103
+ m: 'm'
104
+ };
105
+ content = (0, _react2.jsx)(_icon.EuiIcon, {
106
+ type: iconTypeMap[status],
107
+ "aria-label": ariaLabelsMap[status],
108
+ size: _iconSizeMap[titleSize],
109
+ className: "euiStepNumber__icon",
110
+ css: cssIconStyles
111
+ });
112
+ break;
113
+ }
95
114
  // Statuses with numbers
96
115
  case 'incomplete':
97
116
  case 'current':
98
117
  case 'disabled':
99
118
  default:
100
- var cssNumberStyles = [contentStyles.euiStepNumber__number, status && contentStyles[status]];
101
119
  screenReaderText = ariaLabelsMap[status || 'step'];
120
+ if (titleSize === 'none') {
121
+ break;
122
+ }
123
+ var cssNumberStyles = [contentStyles.euiStepNumber__number, status && contentStyles[status]];
102
124
  content = (0, _react2.jsx)("span", {
103
125
  "aria-hidden": "true",
104
126
  className: "euiStepNumber__number",
@@ -43,6 +43,7 @@ var euiStepNumberStyles = exports.euiStepNumberStyles = function euiStepNumberSt
43
43
  m: /*#__PURE__*/(0, _react.css)(createStepsNumber(euiStep.numberSize, (0, _global_styling.euiFontSizeFromScale)('s', euiTheme)), ";;label:m;"),
44
44
  s: /*#__PURE__*/(0, _react.css)(createStepsNumber(euiStep.numberSize, (0, _global_styling.euiFontSizeFromScale)('s', euiTheme)), ";;label:s;"),
45
45
  xs: /*#__PURE__*/(0, _react.css)(createStepsNumber(euiStep.numberXSSize, (0, _global_styling.euiFontSizeFromScale)('xs', euiTheme)), ";;label:xs;"),
46
+ none: /*#__PURE__*/(0, _react.css)(createStepsNumber(euiStep.numberXXSSize, (0, _global_styling.euiFontSizeFromScale)('xs', euiTheme)), ";;label:none;"),
46
47
  // status
47
48
  incomplete: /*#__PURE__*/(0, _react.css)("background-color:transparent;color:", euiTheme.colors.text, ";border:", euiTheme.border.thick, ";;label:incomplete;"),
48
49
  disabled: /*#__PURE__*/(0, _react.css)((0, _mixins.euiButtonFillColor)(euiThemeContext, 'disabled'), ";;label:disabled;"),
@@ -70,6 +71,7 @@ var euiStepNumberContentStyles = exports.euiStepNumberContentStyles = function e
70
71
  incomplete: /*#__PURE__*/(0, _react.css)("display:unset;position:relative;inset-block-start:-", euiTheme.border.width.thick, ";;label:incomplete;"),
71
72
  loading: /*#__PURE__*/(0, _react.css)(";label:loading;"),
72
73
  disabled: /*#__PURE__*/(0, _react.css)(";label:disabled;"),
73
- current: /*#__PURE__*/(0, _react.css)("display:inline-block;transform:translateY(-", euiTheme.border.width.thick, ");;label:current;")
74
+ current: /*#__PURE__*/(0, _react.css)("display:inline-block;transform:translateY(-", euiTheme.border.width.thick, ");;label:current;"),
75
+ none: /*#__PURE__*/(0, _react.css)((0, _global_styling.logicalSizeCSS)(euiTheme.size.s), ";label:none;")
74
76
  };
75
77
  };
@@ -20,7 +20,7 @@ var _excluded = ["className", "steps", "size"];
20
20
  * in compliance with, at your election, the Elastic License 2.0 or the Server
21
21
  * Side Public License, v 1.
22
22
  */
23
- var SIZES = exports.SIZES = ['s', 'm'];
23
+ var SIZES = exports.SIZES = ['xs', 's', 'm'];
24
24
  var EuiStepsHorizontal = exports.EuiStepsHorizontal = function EuiStepsHorizontal(_ref) {
25
25
  var className = _ref.className,
26
26
  steps = _ref.steps,
@@ -72,10 +72,18 @@ var euiOverflowShadowStyles = function euiOverflowShadowStyles(_ref3) {
72
72
  gradient = "".concat(gradientEnd);
73
73
  }
74
74
  }
75
+
76
+ // Chrome+Edge has a very bizarre edge case bug where `mask-image` stops working
77
+ // This workaround forces a stacking context on the scrolling container, which
78
+ // hopefully addresses the bug. @see:
79
+ // - https://issues.chromium.org/issues/40778541
80
+ // - https://github.com/elastic/kibana/issues/180828
81
+ // - https://github.com/elastic/eui/pull/6343#issuecomment-1302732021
82
+ var chromiumMaskWorkaround = 'transform: translateZ(0);';
75
83
  if (direction === 'y') {
76
- return "mask-image: linear-gradient(to bottom, ".concat(gradient, ");");
84
+ return "mask-image: linear-gradient(to bottom, ".concat(gradient, "); ").concat(chromiumMaskWorkaround);
77
85
  } else {
78
- return "mask-image: linear-gradient(to right, ".concat(gradient, ");");
86
+ return "mask-image: linear-gradient(to right, ".concat(gradient, "); ").concat(chromiumMaskWorkaround);
79
87
  }
80
88
  };
81
89
 
@@ -9,7 +9,7 @@ exports.CurrentEuiBreakpointProvider = exports.CurrentEuiBreakpointContext = voi
9
9
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
10
10
  var _react = _interopRequireWildcard(require("react"));
11
11
  var _common = require("../../components/common");
12
- var _theme = require("../theme");
12
+ var _hooks = require("../theme/hooks");
13
13
  var _throttle = require("../throttle");
14
14
  var _sorting = require("./_sorting");
15
15
  var _react2 = require("@emotion/react");
@@ -26,13 +26,15 @@ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e;
26
26
  var CurrentEuiBreakpointContext = exports.CurrentEuiBreakpointContext = /*#__PURE__*/(0, _react.createContext)(undefined);
27
27
 
28
28
  /**
29
- * Top level provider (nested within EuiProvider) which provides a single
30
- * resize listener that returns the current breakpoint based on window width
29
+ * Returns the current breakpoint based on window width.
30
+ * Typically only called by the top-level `EuiProvider` (to reduce the number
31
+ * of window resize listeners on the page). Also conditionally called if a
32
+ * nested `EuiThemeProvider` defines a `modify.breakpoint` override
31
33
  */
32
34
  var CurrentEuiBreakpointProvider = exports.CurrentEuiBreakpointProvider = function CurrentEuiBreakpointProvider(_ref) {
33
35
  var children = _ref.children;
34
36
  // Obtain the breakpoints map from the EUI theme
35
- var _useEuiTheme = (0, _theme.useEuiTheme)(),
37
+ var _useEuiTheme = (0, _hooks.useEuiTheme)(),
36
38
  breakpoints = _useEuiTheme.euiTheme.breakpoint;
37
39
 
38
40
  // Ensure the breakpoints map is sorted from largest value to smallest
@@ -16,6 +16,7 @@ var _react2 = _interopRequireWildcard(require("react"));
16
16
  var _isEqual = _interopRequireDefault(require("lodash/isEqual"));
17
17
  var _emotion = require("../emotion");
18
18
  var _css2 = require("../emotion/css");
19
+ var _current_breakpoint = require("../breakpoint/current_breakpoint");
19
20
  var _context = require("./context");
20
21
  var _emotion2 = require("./emotion");
21
22
  var _style_memoization = require("./style_memoization");
@@ -52,6 +53,13 @@ var EuiThemeProvider = exports.EuiThemeProvider = function EuiThemeProvider(_ref
52
53
  system = _useState2[0],
53
54
  setSystem = _useState2[1];
54
55
  var prevSystemKey = (0, _react2.useRef)(system.key);
56
+
57
+ // To reduce the number of window resize listeners, only render a
58
+ // CurrentEuiBreakpointProvider for the top level parent theme, or for
59
+ // nested themes only if modified breakpoint overrides are passed
60
+ var EuiConditionalBreakpointProvider = (0, _react2.useMemo)(function () {
61
+ return isGlobalTheme || _modifications !== null && _modifications !== void 0 && _modifications.breakpoint ? _current_breakpoint.CurrentEuiBreakpointProvider : _react2.Fragment;
62
+ }, [isGlobalTheme, _modifications]);
55
63
  var _useState3 = (0, _react2.useState)((0, _utils.mergeDeep)(parentModifications, _modifications)),
56
64
  _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
57
65
  modifications = _useState4[0],
@@ -161,5 +169,5 @@ var EuiThemeProvider = exports.EuiThemeProvider = function EuiThemeProvider(_ref
161
169
  value: theme
162
170
  }, (0, _react.jsx)(_context.EuiNestedThemeContext.Provider, {
163
171
  value: nestedThemeContext
164
- }, (0, _react.jsx)(_style_memoization.EuiThemeMemoizedStylesProvider, null, (0, _react.jsx)(_emotion2.EuiEmotionThemeProvider, null, renderedChildren))))))));
172
+ }, (0, _react.jsx)(_style_memoization.EuiThemeMemoizedStylesProvider, null, (0, _react.jsx)(_emotion2.EuiEmotionThemeProvider, null, (0, _react.jsx)(EuiConditionalBreakpointProvider, null, renderedChildren)))))))));
165
173
  };
@@ -13,8 +13,8 @@ exports.setEuiDevProviderWarning = exports.getEuiDevProviderWarning = exports.em
13
13
  */
14
14
 
15
15
  var providerWarning = undefined;
16
- var setEuiDevProviderWarning = exports.setEuiDevProviderWarning = function setEuiDevProviderWarning(level) {
17
- return providerWarning = level;
16
+ var setEuiDevProviderWarning = exports.setEuiDevProviderWarning = function setEuiDevProviderWarning(warningType) {
17
+ return providerWarning = warningType;
18
18
  };
19
19
  var getEuiDevProviderWarning = exports.getEuiDevProviderWarning = function getEuiDevProviderWarning() {
20
20
  return providerWarning;
@@ -22,6 +22,11 @@ var getEuiDevProviderWarning = exports.getEuiDevProviderWarning = function getEu
22
22
 
23
23
  // Not a public top-level EUI export, currently for internal use
24
24
  var emitEuiProviderWarning = exports.emitEuiProviderWarning = function emitEuiProviderWarning(providerMessage) {
25
+ // Handle callback types
26
+ if (typeof providerWarning === 'function') {
27
+ return providerWarning(providerMessage);
28
+ }
29
+ // Handle level types
25
30
  switch (providerWarning) {
26
31
  case 'log':
27
32
  console.log(providerMessage);
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@elastic/eui",
3
3
  "description": "Elastic UI Component Library",
4
- "version": "95.1.0",
4
+ "version": "95.3.0",
5
5
  "license": "SEE LICENSE IN LICENSE.txt",
6
6
  "main": "lib",
7
7
  "module": "es",
@@ -118,7 +118,8 @@
118
118
  "@storybook/addon-links": "^8.0.5",
119
119
  "@storybook/addon-webpack5-compiler-babel": "^3.0.3",
120
120
  "@storybook/blocks": "^8.0.5",
121
- "@storybook/manager-api": "^8.1.2",
121
+ "@storybook/manager-api": "^8.1.3",
122
+ "@storybook/preview-api": "^8.1.3",
122
123
  "@storybook/react": "^8.0.5",
123
124
  "@storybook/react-webpack5": "^8.0.5",
124
125
  "@storybook/test": "^8.0.5",
@@ -134,7 +135,8 @@
134
135
  "@types/chroma-js": "^2.4.0",
135
136
  "@types/classnames": "^2.3.1",
136
137
  "@types/enzyme": "^3.10.5",
137
- "@types/jest": "^24.0.6",
138
+ "@types/jest": "^29.5.12",
139
+ "@types/prettier": "2.7.3",
138
140
  "@types/react": "^18.2.14",
139
141
  "@types/react-dom": "^18.2.6",
140
142
  "@types/react-is": "^17.0.3",
@@ -150,7 +152,7 @@
150
152
  "assert": "^2.0.0",
151
153
  "autoprefixer": "^9.8.6",
152
154
  "axe-core": "^4.9.0",
153
- "babel-jest": "^24.1.0",
155
+ "babel-jest": "^29.7.0",
154
156
  "babel-loader": "^9.1.2",
155
157
  "babel-plugin-add-module-exports": "^1.0.4",
156
158
  "babel-plugin-inline-react-svg": "^2.0.2",
@@ -179,7 +181,7 @@
179
181
  "eslint-config-prettier": "^8.8.0",
180
182
  "eslint-import-resolver-webpack": "^0.13.2",
181
183
  "eslint-plugin-import": "^2.27.5",
182
- "eslint-plugin-jest": "^24.1.0",
184
+ "eslint-plugin-jest": "^28.5.0",
183
185
  "eslint-plugin-jsx-a11y": "^6.7.1",
184
186
  "eslint-plugin-local": "^1.0.0",
185
187
  "eslint-plugin-mocha": "^10.1.0",
@@ -196,8 +198,9 @@
196
198
  "html-format": "^1.0.1",
197
199
  "html-webpack-plugin": "^5.5.0",
198
200
  "inquirer": "^9.1.4",
199
- "jest": "^24.1.0",
200
- "jest-cli": "^24.1.0",
201
+ "jest": "^29.7.0",
202
+ "jest-cli": "^29.7.0",
203
+ "jest-environment-jsdom": "^29.7.0",
201
204
  "loki": "^0.35.0",
202
205
  "moment": "^2.27.0",
203
206
  "moment-timezone": "^0.5.31",
@@ -1,6 +1,5 @@
1
1
  @import 'checkbox/index';
2
2
  @import 'described_form_group/index';
3
- @import 'file_picker/index';
4
3
  @import 'form';
5
4
  @import 'form_control_layout/index';
6
5
  @import 'form_error_text/index';
@@ -1,6 +1,5 @@
1
1
  // Components
2
2
 
3
- @import 'color_picker/index';
4
3
  @import 'combo_box/index';
5
4
  @import 'date_picker/index';
6
5
  @import 'datagrid/index';
@@ -100,4 +100,9 @@
100
100
  } @else {
101
101
  @warn "euiOverflowShadow() expects direction to be 'y' or 'x' but got '#{$direction}'";
102
102
  }
103
+
104
+ // Chrome+Edge has a very bizarre edge case bug where `mask-image` stops working
105
+ // This workaround forces a stacking context on the scrolling container, which
106
+ // hopefully addresses the bug. @see https://github.com/elastic/eui/pull/7855
107
+ transform: translateZ(0);
103
108
  }
@@ -3,4 +3,3 @@
3
3
  @import 'form_control_layout';
4
4
  @import 'form_control_layout_delimited';
5
5
  @import 'form_controls';
6
- @import 'hue';
@@ -10,9 +10,10 @@ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/h
10
10
  var _react = _interopRequireDefault(require("react"));
11
11
  var _propTypes = _interopRequireDefault(require("prop-types"));
12
12
  var _classnames = _interopRequireDefault(require("classnames"));
13
- var _common = require("../../common");
13
+ var _services = require("../../../services");
14
14
  var _color_palette_display_fixed = require("./color_palette_display_fixed");
15
15
  var _color_palette_display_gradient = require("./color_palette_display_gradient");
16
+ var _color_palette_display = require("./color_palette_display.styles");
16
17
  var _react2 = require("@emotion/react");
17
18
  var _excluded = ["type", "palette", "className", "size"];
18
19
  /*
@@ -22,12 +23,7 @@ var _excluded = ["type", "palette", "className", "size"];
22
23
  * in compliance with, at your election, the Elastic License 2.0 or the Server
23
24
  * Side Public License, v 1.
24
25
  */
25
- var sizeToClassNameMap = {
26
- xs: 'euiColorPaletteDisplay--sizeExtraSmall',
27
- s: 'euiColorPaletteDisplay--sizeSmall',
28
- m: 'euiColorPaletteDisplay--sizeMedium'
29
- };
30
- var SIZES = exports.SIZES = (0, _common.keysOf)(sizeToClassNameMap);
26
+ var SIZES = exports.SIZES = ['xs', 's', 'm'];
31
27
  var EuiColorPaletteDisplay = exports.EuiColorPaletteDisplay = function EuiColorPaletteDisplay(_ref) {
32
28
  var _ref$type = _ref.type,
33
29
  type = _ref$type === void 0 ? 'fixed' : _ref$type,
@@ -36,11 +32,15 @@ var EuiColorPaletteDisplay = exports.EuiColorPaletteDisplay = function EuiColorP
36
32
  _ref$size = _ref.size,
37
33
  size = _ref$size === void 0 ? 's' : _ref$size,
38
34
  rest = (0, _objectWithoutProperties2.default)(_ref, _excluded);
39
- var classes = (0, _classnames.default)('euiColorPaletteDisplay', className, sizeToClassNameMap[size]);
35
+ var classes = (0, _classnames.default)('euiColorPaletteDisplay', className);
36
+ var styles = (0, _services.useEuiMemoizedStyles)(_color_palette_display.euiColorPaletteDisplayStyles);
37
+ var cssStyles = [styles.euiColorPaletteDisplay, styles[size]];
40
38
  return (0, _react2.jsx)(_react.default.Fragment, null, type === 'fixed' ? (0, _react2.jsx)(_color_palette_display_fixed.EuiColorPaletteDisplayFixed, (0, _extends2.default)({
39
+ css: cssStyles,
41
40
  className: classes,
42
41
  palette: palette
43
42
  }, rest)) : (0, _react2.jsx)(_color_palette_display_gradient.EuiColorPaletteDisplayGradient, (0, _extends2.default)({
43
+ css: cssStyles,
44
44
  className: classes,
45
45
  palette: palette
46
46
  }, rest)));
@@ -49,7 +49,7 @@ EuiColorPaletteDisplay.propTypes = {
49
49
  /**
50
50
  * Height of the palette display
51
51
  */
52
- size: _propTypes.default.oneOf(["xs", "s", "m"]),
52
+ size: _propTypes.default.any,
53
53
  /**
54
54
  * Specify the type of palette.
55
55
  * `gradient`: each color fades into the next.
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.euiColorPaletteDisplayStyles = void 0;
7
+ var _react = require("@emotion/react");
8
+ var _services = require("../../../services");
9
+ var _global_styling = require("../../../global_styling");
10
+ /*
11
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
12
+ * or more contributor license agreements. Licensed under the Elastic License
13
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
14
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
15
+ * Side Public License, v 1.
16
+ */
17
+
18
+ var euiColorPaletteDisplayStyles = exports.euiColorPaletteDisplayStyles = function euiColorPaletteDisplayStyles(euiThemeContext) {
19
+ var euiTheme = euiThemeContext.euiTheme;
20
+
21
+ // Border is a pseudo element with transparency
22
+ var border = "".concat(euiTheme.border.width.thin, " solid ").concat((0, _services.transparentize)(euiTheme.colors.darkestShade, 0.2));
23
+ return {
24
+ euiColorPaletteDisplay: /*#__PURE__*/(0, _react.css)("position:relative;display:flex;flex-direction:row;overflow:hidden;&::after{content:'';position:absolute;inset:0;pointer-events:none;border:", border, ";border-radius:inherit;};label:euiColorPaletteDisplay;"),
25
+ // Sizes
26
+ xs: /*#__PURE__*/(0, _react.css)((0, _global_styling.logicalCSS)('height', euiTheme.size.xs), " border-radius:", euiTheme.size.xs, ";;label:xs;"),
27
+ s: /*#__PURE__*/(0, _react.css)((0, _global_styling.logicalCSS)('height', euiTheme.size.s), " border-radius:", euiTheme.size.s, ";;label:s;"),
28
+ m: /*#__PURE__*/(0, _react.css)((0, _global_styling.logicalCSS)('height', euiTheme.size.base), " border-radius:", euiTheme.size.base, ";;label:m;")
29
+ };
30
+ };
@@ -10,6 +10,7 @@ var _react = _interopRequireDefault(require("react"));
10
10
  var _propTypes = _interopRequireDefault(require("prop-types"));
11
11
  var _utils = require("../utils");
12
12
  var _accessibility = require("../../accessibility");
13
+ var _color_palette_display_fixed = require("./color_palette_display_fixed.styles");
13
14
  var _react2 = require("@emotion/react");
14
15
  var _excluded = ["palette", "title"];
15
16
  /*
@@ -37,6 +38,7 @@ var EuiColorPaletteDisplayFixed = exports.EuiColorPaletteDisplayFixed = function
37
38
  // aria-hidden="true" is to ensure color blocks are ignored by screen readers,
38
39
  // and the only accessible text for options is the EuiScreenReaderOnly {title}
39
40
  "aria-hidden": "true",
41
+ css: _color_palette_display_fixed.euiColorPaletteDisplayFixed__bleedArea,
40
42
  className: "euiColorPaletteDisplayFixed__bleedArea"
41
43
  }, paletteStops));
42
44
  };
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.euiColorPaletteDisplayFixed__bleedArea = void 0;
7
+ var _react = require("@emotion/react");
8
+ var _global_styling = require("../../../global_styling");
9
+ /*
10
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
11
+ * or more contributor license agreements. Licensed under the Elastic License
12
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
13
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
14
+ * Side Public License, v 1.
15
+ */
16
+
17
+ // In a few screen sizes the palette display doesn't get a fully 100% width -
18
+ // it gets 1px less on width. For this reason we're adding a horizontal 1px bleed area
19
+ var euiColorPaletteDisplayFixed__bleedArea = exports.euiColorPaletteDisplayFixed__bleedArea = /*#__PURE__*/(0, _react.css)("position:absolute;inset:0;", (0, _global_styling.logicalCSS)('right', '-1px'), " display:flex;;label:euiColorPaletteDisplayFixed__bleedArea;");
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _typeof = require("@babel/runtime/helpers/typeof");
4
5
  Object.defineProperty(exports, "__esModule", {
5
6
  value: true
6
7
  });
@@ -8,9 +9,11 @@ exports.EuiColorPalettePicker = void 0;
8
9
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
10
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
10
11
  var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
11
- var _react = _interopRequireDefault(require("react"));
12
+ var _react = _interopRequireWildcard(require("react"));
12
13
  var _propTypes = _interopRequireDefault(require("prop-types"));
13
- var _form = require("../../form");
14
+ var _spacer = require("../../spacer");
15
+ var _text = require("../../text");
16
+ var _super_select = require("../../form/super_select");
14
17
  var _color_palette_display = require("../color_palette_display");
15
18
  var _react2 = require("@emotion/react");
16
19
  var _excluded = ["className", "compressed", "disabled", "fullWidth", "isInvalid", "onChange", "readOnly", "valueOfSelected", "palettes", "append", "prepend", "selectionDisplay"],
@@ -22,6 +25,9 @@ var _excluded = ["className", "compressed", "disabled", "fullWidth", "isInvalid"
22
25
  * in compliance with, at your election, the Elastic License 2.0 or the Server
23
26
  * Side Public License, v 1.
24
27
  */
28
+ // Note: needs to be pointed at this specific subdir for Storybook to inherit types correctly??
29
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
30
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
25
31
  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; }
26
32
  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) { (0, _defineProperty2.default)(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; }
27
33
  var EuiColorPalettePicker = exports.EuiColorPalettePicker = function EuiColorPalettePicker(_ref) {
@@ -43,7 +49,7 @@ var EuiColorPalettePicker = exports.EuiColorPalettePicker = function EuiColorPal
43
49
  _ref$selectionDisplay = _ref.selectionDisplay,
44
50
  selectionDisplay = _ref$selectionDisplay === void 0 ? 'palette' : _ref$selectionDisplay,
45
51
  rest = (0, _objectWithoutProperties2.default)(_ref, _excluded);
46
- var getPalette = function getPalette(_ref2) {
52
+ var getPalette = (0, _react.useCallback)(function (_ref2) {
47
53
  var type = _ref2.type,
48
54
  palette = _ref2.palette,
49
55
  title = _ref2.title;
@@ -52,30 +58,35 @@ var EuiColorPalettePicker = exports.EuiColorPalettePicker = function EuiColorPal
52
58
  palette: palette,
53
59
  title: title
54
60
  });
55
- };
56
- var paletteOptions = palettes.map(function (item) {
57
- var type = item.type,
58
- value = item.value,
59
- title = item.title,
60
- palette = item.palette,
61
- rest = (0, _objectWithoutProperties2.default)(item, _excluded2);
62
- var paletteForDisplay = item.type !== 'text' ? getPalette(item) : null;
63
- return _objectSpread({
64
- value: String(value),
65
- inputDisplay: selectionDisplay === 'title' || type === 'text' ? title : paletteForDisplay,
66
- dropdownDisplay: (0, _react2.jsx)("div", {
67
- className: "euiColorPalettePicker__item"
68
- }, title && type !== 'text' &&
69
- // Accessible labels are managed by color_palette_display_fixed and
70
- // color_palette_display_gradient. Adding the aria-hidden attribute
71
- // here to ensure screen readers don't speak the listbox options twice.
72
- (0, _react2.jsx)("div", {
73
- "aria-hidden": "true",
74
- className: "euiColorPalettePicker__itemTitle"
75
- }, title), type === 'text' ? title : paletteForDisplay)
76
- }, rest);
77
- });
78
- return (0, _react2.jsx)(_form.EuiSuperSelect, (0, _extends2.default)({
61
+ }, []);
62
+ var paletteOptions = (0, _react.useMemo)(function () {
63
+ return palettes.map(function (item) {
64
+ var type = item.type,
65
+ value = item.value,
66
+ title = item.title,
67
+ palette = item.palette,
68
+ rest = (0, _objectWithoutProperties2.default)(item, _excluded2);
69
+ var paletteForDisplay = item.type !== 'text' ? getPalette(item) : null;
70
+ return _objectSpread({
71
+ value: String(value),
72
+ inputDisplay: selectionDisplay === 'title' || type === 'text' ? title : paletteForDisplay,
73
+ dropdownDisplay: (0, _react2.jsx)("div", {
74
+ className: "euiColorPalettePicker__item"
75
+ }, title && type !== 'text' &&
76
+ // Accessible labels are managed by color_palette_display_fixed and
77
+ // color_palette_display_gradient. Adding the aria-hidden attribute
78
+ // here to ensure screen readers don't speak the listbox options twice.
79
+ (0, _react2.jsx)(_react.default.Fragment, null, (0, _react2.jsx)(_text.EuiText, {
80
+ "aria-hidden": "true",
81
+ className: "euiColorPalettePicker__itemTitle",
82
+ size: "xs"
83
+ }, title), (0, _react2.jsx)(_spacer.EuiSpacer, {
84
+ size: "xs"
85
+ })), type === 'text' ? title : paletteForDisplay)
86
+ }, rest);
87
+ });
88
+ }, [getPalette, palettes, selectionDisplay]);
89
+ return (0, _react2.jsx)(_super_select.EuiSuperSelect, (0, _extends2.default)({
79
90
  className: className,
80
91
  options: paletteOptions,
81
92
  valueOfSelected: valueOfSelected,