@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
@@ -25,21 +25,15 @@ var EuiIconLogoElasticStack = function EuiIconLogoElasticStack(_ref) {
25
25
  "aria-labelledby": titleId
26
26
  }, props), title ? ___EmotionJSX("title", {
27
27
  id: titleId
28
- }, title) : null, ___EmotionJSX("g", {
29
- fill: "none",
30
- fillRule: "evenodd"
31
- }, ___EmotionJSX("path", {
28
+ }, title) : null, ___EmotionJSX("path", {
32
29
  fill: "#F04E98",
33
- d: "M32 9V2.5A2.5 2.5 0 0 0 29.5 0h-27A2.5 2.5 0 0 0 0 2.5V9h32Z"
30
+ d: "M0 2.37A2.37 2.37 0 0 1 2.37 0h27.26A2.37 2.37 0 0 1 32 2.37v6.52H0V2.37Z"
34
31
  }), ___EmotionJSX("path", {
35
32
  fill: "#00BFB3",
36
- d: "M0 20h32v-8H0z"
33
+ d: "M0 20.148h32v-8.296H0v8.296Z"
37
34
  }), ___EmotionJSX("path", {
38
- fill: "#0080D5",
39
- d: "M14.5 23H0v6.5A2.5 2.5 0 0 0 2.5 32h12v-9Z"
40
- }), ___EmotionJSX("path", {
41
- fill: "#FEC514",
42
- d: "M17.5 23v9h12a2.5 2.5 0 0 0 2.5-2.5V23H17.5Z"
43
- })));
35
+ fill: "#07C",
36
+ d: "M0 23.111h32v6.519A2.37 2.37 0 0 1 29.63 32H2.37A2.37 2.37 0 0 1 0 29.63v-6.52Z"
37
+ }));
44
38
  };
45
39
  export var icon = EuiIconLogoElasticStack;
@@ -13,7 +13,7 @@ import { euiFormVariables } from '../form/form.styles';
13
13
  export var euiModalStyles = function euiModalStyles(euiThemeContext) {
14
14
  var euiTheme = euiThemeContext.euiTheme;
15
15
  return {
16
- euiModal: /*#__PURE__*/css(euiShadowXLarge(euiThemeContext), " display:flex;flex-direction:column;max-block-size:75vh;position:relative;background-color:", euiTheme.colors.emptyShade, ";border-radius:", euiTheme.border.radius.medium, ";z-index:", euiTheme.levels.modal, ";min-inline-size:", euiFormVariables(euiThemeContext).maxWidth, ";max-inline-size:calc(100vw - ", euiTheme.size.base, ");", euiCanAnimate, "{animation:", euiAnimSlideInUp(euiTheme.size.xxl), " ", euiTheme.animation.slow, " ", euiTheme.animation.bounce, ";}", euiMaxBreakpoint(euiThemeContext, 'm'), "{position:fixed;inset:0;border-radius:0;inline-size:100vw!important;min-inline-size:0!important;max-inline-size:none!important;max-block-size:100vh!important;}&:focus{outline:none;};label:euiModal;"),
16
+ euiModal: /*#__PURE__*/css(euiShadowXLarge(euiThemeContext), " display:flex;flex-direction:column;max-block-size:75vh;position:relative;background-color:", euiTheme.colors.emptyShade, ";border-radius:", euiTheme.border.radius.medium, ";z-index:", euiTheme.levels.modal, ";min-inline-size:", euiFormVariables(euiThemeContext).maxWidth, ";max-inline-size:calc(100vw - ", euiTheme.size.base, ");overflow:hidden;", euiCanAnimate, "{animation:", euiAnimSlideInUp(euiTheme.size.xxl), " ", euiTheme.animation.slow, " ", euiTheme.animation.bounce, ";}", euiMaxBreakpoint(euiThemeContext, 'm'), "{position:fixed;inset:0;border-radius:0;inline-size:100vw!important;min-inline-size:0!important;max-inline-size:none!important;max-block-size:100vh!important;}&:focus{outline:none;};label:euiModal;"),
17
17
  // Variants
18
18
  defaultMaxWidth: /*#__PURE__*/css("max-inline-size:min(\n ", euiTheme.breakpoint.m, "px,\n calc(100vw - ", euiTheme.size.base, ")\n );;label:defaultMaxWidth;"),
19
19
  confirmation: /*#__PURE__*/css("min-inline-size:", euiFormVariables(euiThemeContext).maxWidth, ";", euiMaxBreakpoint(euiThemeContext, 'm'), "{", euiShadowXLarge(euiThemeContext, {
@@ -109,9 +109,11 @@ export var EuiPopover = /*#__PURE__*/function (_Component) {
109
109
  });
110
110
  _defineProperty(_this, "handleStrandedFocus", function () {
111
111
  _this.strandedFocusTimeout = window.setTimeout(function () {
112
- // If `returnFocus` failed and focus was stranded on the body,
113
- // attempt to manually restore focus to the toggle button
114
- if (document.activeElement === document.body) {
112
+ // If `returnFocus` failed and focus was stranded,
113
+ // attempt to manually restore focus to the toggle button.
114
+ // The stranded focus is either in most cases on body but
115
+ // it will be on the panel instead on mount when isOpen=true
116
+ if (document.activeElement === document.body || document.activeElement === _this.panel) {
115
117
  if (!_this.button) return;
116
118
  var focusableItems = focusable(_this.button);
117
119
  if (!focusableItems.length) return;
@@ -7,7 +7,7 @@
7
7
  */
8
8
 
9
9
  import React from 'react';
10
- import { EuiThemeProvider, CurrentEuiBreakpointProvider } from '../../services';
10
+ import { EuiThemeProvider } from '../../services';
11
11
  import { emitEuiProviderWarning } from '../../services/theme/warning';
12
12
  import { cache as fallbackCache } from '../../services/emotion/css';
13
13
  import { EuiGlobalStyles } from '../../global_styling/reset/global_styles';
@@ -76,5 +76,5 @@ export var EuiProvider = function EuiProvider(_ref) {
76
76
  children: Utilities && ___EmotionJSX(Utilities, null)
77
77
  })), ___EmotionJSX(EuiComponentDefaultsProvider, {
78
78
  componentDefaults: componentDefaults
79
- }, ___EmotionJSX(CurrentEuiBreakpointProvider, null, children)))));
79
+ }, children))));
80
80
  };
@@ -46,9 +46,9 @@ export var EuiStep = function EuiStep(_ref) {
46
46
  }, ___EmotionJSX(EuiStepNumber, {
47
47
  number: step,
48
48
  status: status,
49
- titleSize: titleSize
49
+ titleSize: titleSize === 'xxs' ? 'none' : titleSize
50
50
  }), ___EmotionJSX(EuiTitle, {
51
- size: titleSize,
51
+ size: titleSize === 'xxs' ? 'xs' : titleSize,
52
52
  className: "euiStep__title",
53
53
  css: cssStepTitleStyles
54
54
  }, /*#__PURE__*/createElement(headingElement, null, title))), ___EmotionJSX("div", {
@@ -13,6 +13,7 @@ export var euiStepVariables = function euiStepVariables(euiTheme) {
13
13
  return {
14
14
  numberSize: euiTheme.size.xl,
15
15
  numberXSSize: euiTheme.size.l,
16
+ numberXXSSize: euiTheme.size.base,
16
17
  numberMargin: euiTheme.size.base
17
18
  };
18
19
  };
@@ -32,9 +33,10 @@ export var euiStepStyles = function euiStepStyles(euiThemeContext) {
32
33
  return {
33
34
  euiStep: /*#__PURE__*/css("&:not(:last-of-type){background-image:", lineGradient, ";background-repeat:no-repeat;};label:euiStep;"),
34
35
  // Sizes
35
- m: /*#__PURE__*/css("&:not(:last-of-type){background-position:left ", euiTheme.size.xl, ";};label:m;"),
36
- s: /*#__PURE__*/css("&:not(:last-of-type){background-position:left ", euiTheme.size.xl, ";};label:s;"),
37
- xs: /*#__PURE__*/css("&:not(:last-of-type){background-position:-", euiTheme.size.xs, " ", euiTheme.size.l, ";};label:xs;")
36
+ m: /*#__PURE__*/css("&:not(:last-of-type){background-position:left ", euiStep.numberSize, ";};label:m;"),
37
+ s: /*#__PURE__*/css("&:not(:last-of-type){background-position:left ", euiStep.numberSize, ";};label:s;"),
38
+ xs: /*#__PURE__*/css("&:not(:last-of-type){background-position:-", euiTheme.size.xs, " ", euiStep.numberXSSize, ";};label:xs;"),
39
+ xxs: /*#__PURE__*/css("&:not(:last-of-type){background-position:-", euiTheme.size.s, " ", euiStep.numberXXSSize, ";};label:xxs;")
38
40
  };
39
41
  };
40
42
  export var euiStepContentStyles = function euiStepContentStyles(euiThemeContext) {
@@ -58,7 +60,12 @@ export var euiStepContentStyles = function euiStepContentStyles(euiThemeContext)
58
60
  return x / 2 + y;
59
61
  })), logicalCSS('margin-left', mathWithUnits(euiStep.numberXSSize, function (x) {
60
62
  return x / 2;
61
- })), ";;label:xs;")
63
+ })), ";;label:xs;"),
64
+ xxs: /*#__PURE__*/css(logicalCSS('padding-left', mathWithUnits([euiStep.numberXXSSize, euiStep.numberMargin], function (x, y) {
65
+ return x / 2 + y;
66
+ })), logicalCSS('margin-left', mathWithUnits(euiStep.numberXXSSize, function (x) {
67
+ return x / 2;
68
+ })), ";;label:xxs;")
62
69
  };
63
70
  };
64
71
  export var euiStepTitleStyles = function euiStepTitleStyles(euiThemeContext) {
@@ -71,6 +78,7 @@ export var euiStepTitleStyles = function euiStepTitleStyles(euiThemeContext) {
71
78
  // Sizes
72
79
  m: /*#__PURE__*/css(";label:m;"),
73
80
  s: /*#__PURE__*/css(logicalCSS('padding-top', euiTheme.size.xs), ";;label:s;"),
74
- xs: /*#__PURE__*/css(";label:xs;")
81
+ xs: /*#__PURE__*/css(";label:xs;"),
82
+ xxs: /*#__PURE__*/css("line-height:", euiStep.numberXXSSize, ";;label:xxs;")
75
83
  };
76
84
  };
@@ -11,11 +11,17 @@ var _excluded = ["className", "step", "title", "onClick", "disabled", "status",
11
11
 
12
12
  import classNames from 'classnames';
13
13
  import React from 'react';
14
+ import { useEuiTheme } from '../../services';
14
15
  import { EuiStepNumber } from './step_number';
15
16
  import { useI18nCompleteStep, useI18nCurrentStep, useI18nDisabledStep, useI18nIncompleteStep, useI18nStep, useI18nWarningStep, useI18nErrorsStep, useI18nLoadingStep } from './step_strings';
16
- import { useEuiTheme } from '../../services';
17
17
  import { euiStepHorizontalStyles, euiStepHorizontalNumberStyles, euiStepHorizontalTitleStyles } from './step_horizontal.styles';
18
18
  import { jsx as ___EmotionJSX } from "@emotion/react";
19
+ // The titleSize map is not 1 to 1; small == xs on the titleSize map
20
+ var stepNumberSizeMap = {
21
+ xs: 'none',
22
+ s: 'xs',
23
+ m: 'm'
24
+ };
19
25
  export var EuiStepHorizontal = function EuiStepHorizontal(_ref) {
20
26
  var className = _ref.className,
21
27
  _ref$step = _ref.step,
@@ -87,8 +93,7 @@ export var EuiStepHorizontal = function EuiStepHorizontal(_ref) {
87
93
  className: "euiStepHorizontal__number",
88
94
  status: status,
89
95
  number: step,
90
- titleSize: size === 's' ? 'xs' : 'm' // The titleSize map is not 1 to 1; small == xs on the titleSize map
91
- ,
96
+ titleSize: stepNumberSizeMap[size],
92
97
  css: cssNumberStyles
93
98
  }), ___EmotionJSX("span", {
94
99
  className: "euiStepHorizontal__title",
@@ -40,6 +40,7 @@ export var euiStepHorizontalStyles = function euiStepHorizontalStyles(euiThemeCo
40
40
  // Adjust the size of the step number and connecting lines based on size
41
41
  m: _generateStepSizeAndInset(euiStep.numberSize),
42
42
  s: _generateStepSizeAndInset(euiStep.numberXSSize),
43
+ xs: _generateStepSizeAndInset(euiStep.numberXXSSize),
43
44
  // Note: these selectors must be nested because focus/hover state
44
45
  // is on the parent container, but affects specific children
45
46
  enabled: /*#__PURE__*/css("&:focus,&:hover{.euiStepHorizontal__title{text-decoration:underline;}}&:focus{outline:none;.euiStepHorizontal__number{", euiFocusRing(euiThemeContext), ";}.euiStepHorizontal__number:not(:focus-visible){outline:", euiTheme.focus.width, " solid ", euiTheme.colors.darkestShade, ";}};label:enabled;"),
@@ -13,9 +13,9 @@ import classNames from 'classnames';
13
13
  import React from 'react';
14
14
  import { EuiScreenReaderOnly } from '../accessibility';
15
15
  import { EuiIcon } from '../icon';
16
- import { useI18nCompleteStep, useI18nDisabledStep, useI18nErrorsStep, useI18nIncompleteStep, useI18nStep, useI18nWarningStep, useI18nLoadingStep, useI18nCurrentStep } from './step_strings';
17
16
  import { EuiLoadingSpinner } from '../loading';
18
17
  import { useEuiTheme } from '../../services';
18
+ import { useI18nCompleteStep, useI18nDisabledStep, useI18nErrorsStep, useI18nIncompleteStep, useI18nStep, useI18nWarningStep, useI18nLoadingStep, useI18nCurrentStep } from './step_strings';
19
19
  import { euiStepNumberStyles, euiStepNumberContentStyles } from './step_number.styles';
20
20
  import { jsx as ___EmotionJSX } from "@emotion/react";
21
21
  export var STATUS = ['incomplete', 'disabled', 'loading', 'warning', 'danger', 'complete', 'current'];
@@ -62,37 +62,59 @@ export var EuiStepNumber = function EuiStepNumber(_ref) {
62
62
  switch (status) {
63
63
  // Loading spinner
64
64
  case 'loading':
65
- screenReaderText = ariaLabelsMap.loading;
66
- content = ___EmotionJSX(EuiLoadingSpinner, {
67
- className: "euiStepNumber__loader",
68
- size: titleSize === 'xs' ? 'l' : 'xl'
69
- });
70
- break;
65
+ {
66
+ var iconSizeMap = {
67
+ none: 'm',
68
+ xs: 'l',
69
+ s: 'xl',
70
+ m: 'xl'
71
+ };
72
+ screenReaderText = ariaLabelsMap.loading;
73
+ content = ___EmotionJSX(EuiLoadingSpinner, {
74
+ className: "euiStepNumber__loader",
75
+ size: iconSizeMap[titleSize]
76
+ });
77
+ break;
78
+ }
71
79
  // Statuses with icons
72
80
  case 'danger':
73
81
  case 'warning':
74
82
  case 'complete':
75
- var cssIconStyles = [contentStyles.euiStepNumber__icon, contentStyles[status]];
76
- var iconTypeMap = {
77
- danger: 'cross',
78
- warning: 'warning',
79
- complete: 'check'
80
- };
81
- content = ___EmotionJSX(EuiIcon, {
82
- type: iconTypeMap[status],
83
- "aria-label": ariaLabelsMap[status],
84
- size: titleSize === 'xs' ? 's' : 'm',
85
- className: "euiStepNumber__icon",
86
- css: cssIconStyles
87
- });
88
- break;
83
+ {
84
+ var cssIconStyles = [contentStyles.euiStepNumber__icon, contentStyles[status],
85
+ // EuiIcon does not support a xxs size so far,
86
+ // we use custom sizing here instead
87
+ titleSize === 'none' && contentStyles[titleSize]];
88
+ var iconTypeMap = {
89
+ danger: 'cross',
90
+ warning: 'warning',
91
+ complete: 'check'
92
+ };
93
+ var _iconSizeMap = {
94
+ xxs: 's',
95
+ xs: 's',
96
+ s: 'm',
97
+ m: 'm'
98
+ };
99
+ content = ___EmotionJSX(EuiIcon, {
100
+ type: iconTypeMap[status],
101
+ "aria-label": ariaLabelsMap[status],
102
+ size: _iconSizeMap[titleSize],
103
+ className: "euiStepNumber__icon",
104
+ css: cssIconStyles
105
+ });
106
+ break;
107
+ }
89
108
  // Statuses with numbers
90
109
  case 'incomplete':
91
110
  case 'current':
92
111
  case 'disabled':
93
112
  default:
94
- var cssNumberStyles = [contentStyles.euiStepNumber__number, status && contentStyles[status]];
95
113
  screenReaderText = ariaLabelsMap[status || 'step'];
114
+ if (titleSize === 'none') {
115
+ break;
116
+ }
117
+ var cssNumberStyles = [contentStyles.euiStepNumber__number, status && contentStyles[status]];
96
118
  content = ___EmotionJSX("span", {
97
119
  "aria-hidden": "true",
98
120
  className: "euiStepNumber__number",
@@ -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
  };
@@ -14,7 +14,7 @@ import React from 'react';
14
14
  import { EuiStepHorizontal } from './step_horizontal';
15
15
  import { euiStepsHorizontalStyles } from './steps_horizontal.styles';
16
16
  import { jsx as ___EmotionJSX } from "@emotion/react";
17
- export var SIZES = ['s', 'm'];
17
+ export var SIZES = ['xs', 's', 'm'];
18
18
  export var EuiStepsHorizontal = function EuiStepsHorizontal(_ref) {
19
19
  var className = _ref.className,
20
20
  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
 
@@ -9,15 +9,17 @@ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
9
9
 
10
10
  import React, { createContext, useState, useEffect, useMemo, useCallback } from 'react';
11
11
  import { keysOf } from '../../components/common';
12
- import { useEuiTheme } from '../theme';
12
+ import { useEuiTheme } from '../theme/hooks';
13
13
  import { throttle } from '../throttle';
14
14
  import { sortMapByLargeToSmallValues } from './_sorting';
15
15
  import { jsx as ___EmotionJSX } from "@emotion/react";
16
16
  export var CurrentEuiBreakpointContext = /*#__PURE__*/createContext(undefined);
17
17
 
18
18
  /**
19
- * Top level provider (nested within EuiProvider) which provides a single
20
- * resize listener that returns the current breakpoint based on window width
19
+ * Returns the current breakpoint based on window width.
20
+ * Typically only called by the top-level `EuiProvider` (to reduce the number
21
+ * of window resize listeners on the page). Also conditionally called if a
22
+ * nested `EuiThemeProvider` defines a `modify.breakpoint` override
21
23
  */
22
24
  export var CurrentEuiBreakpointProvider = function CurrentEuiBreakpointProvider(_ref) {
23
25
  var children = _ref.children;
@@ -16,11 +16,12 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
16
16
  * Side Public License, v 1.
17
17
  */
18
18
 
19
- import React, { useContext, useEffect, useRef, useMemo, useState, useCallback } from 'react';
19
+ import React, { useContext, useEffect, useRef, useMemo, useState, useCallback, Fragment } from 'react';
20
20
  import { Global } from '@emotion/react';
21
21
  import isEqual from 'lodash/isEqual';
22
22
  import { cloneElementWithCss } from '../emotion';
23
23
  import { css, cx } from '../emotion/css';
24
+ import { CurrentEuiBreakpointProvider } from '../breakpoint/current_breakpoint';
24
25
  import { EuiSystemContext, EuiThemeContext, EuiNestedThemeContext, EuiModificationsContext, EuiColorModeContext } from './context';
25
26
  import { EuiEmotionThemeProvider } from './emotion';
26
27
  import { EuiThemeMemoizedStylesProvider } from './style_memoization';
@@ -46,6 +47,13 @@ export var EuiThemeProvider = function EuiThemeProvider(_ref) {
46
47
  system = _useState2[0],
47
48
  setSystem = _useState2[1];
48
49
  var prevSystemKey = useRef(system.key);
50
+
51
+ // To reduce the number of window resize listeners, only render a
52
+ // CurrentEuiBreakpointProvider for the top level parent theme, or for
53
+ // nested themes only if modified breakpoint overrides are passed
54
+ var EuiConditionalBreakpointProvider = useMemo(function () {
55
+ return isGlobalTheme || _modifications !== null && _modifications !== void 0 && _modifications.breakpoint ? CurrentEuiBreakpointProvider : Fragment;
56
+ }, [isGlobalTheme, _modifications]);
49
57
  var _useState3 = useState(mergeDeep(parentModifications, _modifications)),
50
58
  _useState4 = _slicedToArray(_useState3, 2),
51
59
  modifications = _useState4[0],
@@ -155,5 +163,5 @@ export var EuiThemeProvider = function EuiThemeProvider(_ref) {
155
163
  value: theme
156
164
  }, ___EmotionJSX(EuiNestedThemeContext.Provider, {
157
165
  value: nestedThemeContext
158
- }, ___EmotionJSX(EuiThemeMemoizedStylesProvider, null, ___EmotionJSX(EuiEmotionThemeProvider, null, renderedChildren))))))));
166
+ }, ___EmotionJSX(EuiThemeMemoizedStylesProvider, null, ___EmotionJSX(EuiEmotionThemeProvider, null, ___EmotionJSX(EuiConditionalBreakpointProvider, null, renderedChildren)))))))));
159
167
  };
@@ -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);
@@ -9,9 +9,10 @@ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")
9
9
  var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
10
10
  var _react = _interopRequireDefault(require("react"));
11
11
  var _classnames = _interopRequireDefault(require("classnames"));
12
- var _common = require("../../common");
12
+ var _services = require("../../../services");
13
13
  var _color_palette_display_fixed = require("./color_palette_display_fixed");
14
14
  var _color_palette_display_gradient = require("./color_palette_display_gradient");
15
+ var _color_palette_display = require("./color_palette_display.styles");
15
16
  var _react2 = require("@emotion/react");
16
17
  var _excluded = ["type", "palette", "className", "size"];
17
18
  /*
@@ -21,12 +22,7 @@ var _excluded = ["type", "palette", "className", "size"];
21
22
  * in compliance with, at your election, the Elastic License 2.0 or the Server
22
23
  * Side Public License, v 1.
23
24
  */
24
- var sizeToClassNameMap = {
25
- xs: 'euiColorPaletteDisplay--sizeExtraSmall',
26
- s: 'euiColorPaletteDisplay--sizeSmall',
27
- m: 'euiColorPaletteDisplay--sizeMedium'
28
- };
29
- var SIZES = exports.SIZES = (0, _common.keysOf)(sizeToClassNameMap);
25
+ var SIZES = exports.SIZES = ['xs', 's', 'm'];
30
26
  var EuiColorPaletteDisplay = exports.EuiColorPaletteDisplay = function EuiColorPaletteDisplay(_ref) {
31
27
  var _ref$type = _ref.type,
32
28
  type = _ref$type === void 0 ? 'fixed' : _ref$type,
@@ -35,11 +31,15 @@ var EuiColorPaletteDisplay = exports.EuiColorPaletteDisplay = function EuiColorP
35
31
  _ref$size = _ref.size,
36
32
  size = _ref$size === void 0 ? 's' : _ref$size,
37
33
  rest = (0, _objectWithoutProperties2.default)(_ref, _excluded);
38
- var classes = (0, _classnames.default)('euiColorPaletteDisplay', className, sizeToClassNameMap[size]);
34
+ var classes = (0, _classnames.default)('euiColorPaletteDisplay', className);
35
+ var styles = (0, _services.useEuiMemoizedStyles)(_color_palette_display.euiColorPaletteDisplayStyles);
36
+ var cssStyles = [styles.euiColorPaletteDisplay, styles[size]];
39
37
  return (0, _react2.jsx)(_react.default.Fragment, null, type === 'fixed' ? (0, _react2.jsx)(_color_palette_display_fixed.EuiColorPaletteDisplayFixed, (0, _extends2.default)({
38
+ css: cssStyles,
40
39
  className: classes,
41
40
  palette: palette
42
41
  }, rest)) : (0, _react2.jsx)(_color_palette_display_gradient.EuiColorPaletteDisplayGradient, (0, _extends2.default)({
42
+ css: cssStyles,
43
43
  className: classes,
44
44
  palette: palette
45
45
  }, rest)));
@@ -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
+ };
@@ -9,6 +9,7 @@ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/h
9
9
  var _react = _interopRequireDefault(require("react"));
10
10
  var _utils = require("../utils");
11
11
  var _accessibility = require("../../accessibility");
12
+ var _color_palette_display_fixed = require("./color_palette_display_fixed.styles");
12
13
  var _react2 = require("@emotion/react");
13
14
  var _excluded = ["palette", "title"];
14
15
  /*
@@ -36,6 +37,7 @@ var EuiColorPaletteDisplayFixed = exports.EuiColorPaletteDisplayFixed = function
36
37
  // aria-hidden="true" is to ensure color blocks are ignored by screen readers,
37
38
  // and the only accessible text for options is the EuiScreenReaderOnly {title}
38
39
  "aria-hidden": "true",
40
+ css: _color_palette_display_fixed.euiColorPaletteDisplayFixed__bleedArea,
39
41
  className: "euiColorPaletteDisplayFixed__bleedArea"
40
42
  }, paletteStops));
41
43
  };
@@ -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,8 +9,10 @@ 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 _form = require("../../form");
12
+ var _react = _interopRequireWildcard(require("react"));
13
+ var _spacer = require("../../spacer");
14
+ var _text = require("../../text");
15
+ var _super_select = require("../../form/super_select");
13
16
  var _color_palette_display = require("../color_palette_display");
14
17
  var _react2 = require("@emotion/react");
15
18
  var _excluded = ["className", "compressed", "disabled", "fullWidth", "isInvalid", "onChange", "readOnly", "valueOfSelected", "palettes", "append", "prepend", "selectionDisplay"],
@@ -21,6 +24,9 @@ var _excluded = ["className", "compressed", "disabled", "fullWidth", "isInvalid"
21
24
  * in compliance with, at your election, the Elastic License 2.0 or the Server
22
25
  * Side Public License, v 1.
23
26
  */
27
+ // Note: needs to be pointed at this specific subdir for Storybook to inherit types correctly??
28
+ 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); }
29
+ 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; }
24
30
  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; }
25
31
  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; }
26
32
  var EuiColorPalettePicker = exports.EuiColorPalettePicker = function EuiColorPalettePicker(_ref) {
@@ -42,7 +48,7 @@ var EuiColorPalettePicker = exports.EuiColorPalettePicker = function EuiColorPal
42
48
  _ref$selectionDisplay = _ref.selectionDisplay,
43
49
  selectionDisplay = _ref$selectionDisplay === void 0 ? 'palette' : _ref$selectionDisplay,
44
50
  rest = (0, _objectWithoutProperties2.default)(_ref, _excluded);
45
- var getPalette = function getPalette(_ref2) {
51
+ var getPalette = (0, _react.useCallback)(function (_ref2) {
46
52
  var type = _ref2.type,
47
53
  palette = _ref2.palette,
48
54
  title = _ref2.title;
@@ -51,30 +57,35 @@ var EuiColorPalettePicker = exports.EuiColorPalettePicker = function EuiColorPal
51
57
  palette: palette,
52
58
  title: title
53
59
  });
54
- };
55
- var paletteOptions = palettes.map(function (item) {
56
- var type = item.type,
57
- value = item.value,
58
- title = item.title,
59
- palette = item.palette,
60
- rest = (0, _objectWithoutProperties2.default)(item, _excluded2);
61
- var paletteForDisplay = item.type !== 'text' ? getPalette(item) : null;
62
- return _objectSpread({
63
- value: String(value),
64
- inputDisplay: selectionDisplay === 'title' || type === 'text' ? title : paletteForDisplay,
65
- dropdownDisplay: (0, _react2.jsx)("div", {
66
- className: "euiColorPalettePicker__item"
67
- }, title && type !== 'text' &&
68
- // Accessible labels are managed by color_palette_display_fixed and
69
- // color_palette_display_gradient. Adding the aria-hidden attribute
70
- // here to ensure screen readers don't speak the listbox options twice.
71
- (0, _react2.jsx)("div", {
72
- "aria-hidden": "true",
73
- className: "euiColorPalettePicker__itemTitle"
74
- }, title), type === 'text' ? title : paletteForDisplay)
75
- }, rest);
76
- });
77
- return (0, _react2.jsx)(_form.EuiSuperSelect, (0, _extends2.default)({
60
+ }, []);
61
+ var paletteOptions = (0, _react.useMemo)(function () {
62
+ return palettes.map(function (item) {
63
+ var type = item.type,
64
+ value = item.value,
65
+ title = item.title,
66
+ palette = item.palette,
67
+ rest = (0, _objectWithoutProperties2.default)(item, _excluded2);
68
+ var paletteForDisplay = item.type !== 'text' ? getPalette(item) : null;
69
+ return _objectSpread({
70
+ value: String(value),
71
+ inputDisplay: selectionDisplay === 'title' || type === 'text' ? title : paletteForDisplay,
72
+ dropdownDisplay: (0, _react2.jsx)("div", {
73
+ className: "euiColorPalettePicker__item"
74
+ }, title && type !== 'text' &&
75
+ // Accessible labels are managed by color_palette_display_fixed and
76
+ // color_palette_display_gradient. Adding the aria-hidden attribute
77
+ // here to ensure screen readers don't speak the listbox options twice.
78
+ (0, _react2.jsx)(_react.default.Fragment, null, (0, _react2.jsx)(_text.EuiText, {
79
+ "aria-hidden": "true",
80
+ className: "euiColorPalettePicker__itemTitle",
81
+ size: "xs"
82
+ }, title), (0, _react2.jsx)(_spacer.EuiSpacer, {
83
+ size: "xs"
84
+ })), type === 'text' ? title : paletteForDisplay)
85
+ }, rest);
86
+ });
87
+ }, [getPalette, palettes, selectionDisplay]);
88
+ return (0, _react2.jsx)(_super_select.EuiSuperSelect, (0, _extends2.default)({
78
89
  className: className,
79
90
  options: paletteOptions,
80
91
  valueOfSelected: valueOfSelected,