@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
@@ -9,9 +9,9 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
9
9
  var _react = _interopRequireDefault(require("react"));
10
10
  var _accessibility = require("../accessibility");
11
11
  var _icon = require("../icon");
12
- var _step_strings = require("./step_strings");
13
12
  var _loading = require("../loading");
14
13
  var _services = require("../../services");
14
+ var _step_strings = require("./step_strings");
15
15
  var _step_number = require("./step_number.styles");
16
16
  var _react2 = require("@emotion/react");
17
17
  var _excluded = ["className", "status", "number", "titleSize"];
@@ -70,37 +70,59 @@ var EuiStepNumber = exports.EuiStepNumber = function EuiStepNumber(_ref) {
70
70
  switch (status) {
71
71
  // Loading spinner
72
72
  case 'loading':
73
- screenReaderText = ariaLabelsMap.loading;
74
- content = (0, _react2.jsx)(_loading.EuiLoadingSpinner, {
75
- className: "euiStepNumber__loader",
76
- size: titleSize === 'xs' ? 'l' : 'xl'
77
- });
78
- break;
73
+ {
74
+ var iconSizeMap = {
75
+ none: 'm',
76
+ xs: 'l',
77
+ s: 'xl',
78
+ m: 'xl'
79
+ };
80
+ screenReaderText = ariaLabelsMap.loading;
81
+ content = (0, _react2.jsx)(_loading.EuiLoadingSpinner, {
82
+ className: "euiStepNumber__loader",
83
+ size: iconSizeMap[titleSize]
84
+ });
85
+ break;
86
+ }
79
87
  // Statuses with icons
80
88
  case 'danger':
81
89
  case 'warning':
82
90
  case 'complete':
83
- var cssIconStyles = [contentStyles.euiStepNumber__icon, contentStyles[status]];
84
- var iconTypeMap = {
85
- danger: 'cross',
86
- warning: 'warning',
87
- complete: 'check'
88
- };
89
- content = (0, _react2.jsx)(_icon.EuiIcon, {
90
- type: iconTypeMap[status],
91
- "aria-label": ariaLabelsMap[status],
92
- size: titleSize === 'xs' ? 's' : 'm',
93
- className: "euiStepNumber__icon",
94
- css: cssIconStyles
95
- });
96
- break;
91
+ {
92
+ var cssIconStyles = [contentStyles.euiStepNumber__icon, contentStyles[status],
93
+ // EuiIcon does not support a xxs size so far,
94
+ // we use custom sizing here instead
95
+ titleSize === 'none' && contentStyles[titleSize]];
96
+ var iconTypeMap = {
97
+ danger: 'cross',
98
+ warning: 'warning',
99
+ complete: 'check'
100
+ };
101
+ var _iconSizeMap = {
102
+ xxs: 's',
103
+ xs: 's',
104
+ s: 'm',
105
+ m: 'm'
106
+ };
107
+ content = (0, _react2.jsx)(_icon.EuiIcon, {
108
+ type: iconTypeMap[status],
109
+ "aria-label": ariaLabelsMap[status],
110
+ size: _iconSizeMap[titleSize],
111
+ className: "euiStepNumber__icon",
112
+ css: cssIconStyles
113
+ });
114
+ break;
115
+ }
97
116
  // Statuses with numbers
98
117
  case 'incomplete':
99
118
  case 'current':
100
119
  case 'disabled':
101
120
  default:
102
- var cssNumberStyles = [contentStyles.euiStepNumber__number, status && contentStyles[status]];
103
121
  screenReaderText = ariaLabelsMap[status || 'step'];
122
+ if (titleSize === 'none') {
123
+ break;
124
+ }
125
+ var cssNumberStyles = [contentStyles.euiStepNumber__number, status && contentStyles[status]];
104
126
  content = (0, _react2.jsx)("span", {
105
127
  "aria-hidden": "true",
106
128
  className: "euiStepNumber__number",
@@ -120,9 +142,11 @@ EuiStepNumber.propTypes = {
120
142
  status: _propTypes.default.any,
121
143
  number: _propTypes.default.number,
122
144
  /**
123
- * Title sizing equivalent to EuiTitle, but only `m`, `s` and `xs`. Defaults to `s`
145
+ * Title sizing equivalent to EuiTitle, but only `m`, `s`, `xs`.
146
+ * `none` indicates no step number should be rendered.
147
+ * @default s
124
148
  */
125
- titleSize: _propTypes.default.any,
149
+ titleSize: _propTypes.default.oneOfType([_propTypes.default.any.isRequired, _propTypes.default.oneOf(["none"])]),
126
150
  className: _propTypes.default.string,
127
151
  "aria-label": _propTypes.default.string,
128
152
  "data-test-subj": _propTypes.default.string,
@@ -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
  };
@@ -68,7 +68,9 @@ EuiSteps.propTypes = {
68
68
  */
69
69
  headingElement: _propTypes.default.string,
70
70
  /**
71
- * Title sizing equivalent to EuiTitle, but only `m`, `s` and `xs`. Defaults to `s`
71
+ * Title sizing equivalent to **EuiTitle**, but only `m`, `s`, `xs` font sizes.
72
+ * The `xxs` size reduces the size of the accompanying step indicator, but not the title itself.
73
+ * @default s
72
74
  */
73
75
  titleSize: _propTypes.default.any,
74
76
  className: _propTypes.default.string,
@@ -22,7 +22,7 @@ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e
22
22
  function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
23
23
  function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], t.indexOf(o) >= 0 || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
24
24
  function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.indexOf(n) >= 0) continue; t[n] = r[n]; } return t; }
25
- var SIZES = exports.SIZES = ['s', 'm'];
25
+ var SIZES = exports.SIZES = ['xs', 's', 'm'];
26
26
  var EuiStepsHorizontal = exports.EuiStepsHorizontal = function EuiStepsHorizontal(_ref) {
27
27
  var className = _ref.className,
28
28
  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
 
@@ -7,7 +7,7 @@ Object.defineProperty(exports, "__esModule", {
7
7
  exports.CurrentEuiBreakpointProvider = exports.CurrentEuiBreakpointContext = void 0;
8
8
  var _react = _interopRequireWildcard(require("react"));
9
9
  var _common = require("../../components/common");
10
- var _theme = require("../theme");
10
+ var _hooks = require("../theme/hooks");
11
11
  var _throttle = require("../throttle");
12
12
  var _sorting = require("./_sorting");
13
13
  var _react2 = require("@emotion/react");
@@ -28,13 +28,15 @@ function _arrayWithHoles(r) { if (Array.isArray(r)) return r; } /*
28
28
  var CurrentEuiBreakpointContext = exports.CurrentEuiBreakpointContext = /*#__PURE__*/(0, _react.createContext)(undefined);
29
29
 
30
30
  /**
31
- * Top level provider (nested within EuiProvider) which provides a single
32
- * resize listener that returns the current breakpoint based on window width
31
+ * Returns the current breakpoint based on window width.
32
+ * Typically only called by the top-level `EuiProvider` (to reduce the number
33
+ * of window resize listeners on the page). Also conditionally called if a
34
+ * nested `EuiThemeProvider` defines a `modify.breakpoint` override
33
35
  */
34
36
  var CurrentEuiBreakpointProvider = exports.CurrentEuiBreakpointProvider = function CurrentEuiBreakpointProvider(_ref) {
35
37
  var children = _ref.children;
36
38
  // Obtain the breakpoints map from the EUI theme
37
- var _useEuiTheme = (0, _theme.useEuiTheme)(),
39
+ var _useEuiTheme = (0, _hooks.useEuiTheme)(),
38
40
  breakpoints = _useEuiTheme.euiTheme.breakpoint;
39
41
 
40
42
  // Ensure the breakpoints map is sorted from largest value to smallest
@@ -10,6 +10,7 @@ var _react2 = _interopRequireWildcard(require("react"));
10
10
  var _isEqual = _interopRequireDefault(require("lodash/isEqual"));
11
11
  var _emotion = require("../emotion");
12
12
  var _css2 = require("../emotion/css");
13
+ var _current_breakpoint = require("../breakpoint/current_breakpoint");
13
14
  var _context = require("./context");
14
15
  var _emotion2 = require("./emotion");
15
16
  var _style_memoization = require("./style_memoization");
@@ -60,6 +61,13 @@ var EuiThemeProvider = exports.EuiThemeProvider = function EuiThemeProvider(_ref
60
61
  system = _useState2[0],
61
62
  setSystem = _useState2[1];
62
63
  var prevSystemKey = (0, _react2.useRef)(system.key);
64
+
65
+ // To reduce the number of window resize listeners, only render a
66
+ // CurrentEuiBreakpointProvider for the top level parent theme, or for
67
+ // nested themes only if modified breakpoint overrides are passed
68
+ var EuiConditionalBreakpointProvider = (0, _react2.useMemo)(function () {
69
+ return isGlobalTheme || _modifications !== null && _modifications !== void 0 && _modifications.breakpoint ? _current_breakpoint.CurrentEuiBreakpointProvider : _react2.Fragment;
70
+ }, [isGlobalTheme, _modifications]);
63
71
  var _useState3 = (0, _react2.useState)((0, _utils.mergeDeep)(parentModifications, _modifications)),
64
72
  _useState4 = _slicedToArray(_useState3, 2),
65
73
  modifications = _useState4[0],
@@ -169,5 +177,5 @@ var EuiThemeProvider = exports.EuiThemeProvider = function EuiThemeProvider(_ref
169
177
  value: theme
170
178
  }, (0, _react.jsx)(_context.EuiNestedThemeContext.Provider, {
171
179
  value: nestedThemeContext
172
- }, (0, _react.jsx)(_style_memoization.EuiThemeMemoizedStylesProvider, null, (0, _react.jsx)(_emotion2.EuiEmotionThemeProvider, null, renderedChildren))))))));
180
+ }, (0, _react.jsx)(_style_memoization.EuiThemeMemoizedStylesProvider, null, (0, _react.jsx)(_emotion2.EuiEmotionThemeProvider, null, (0, _react.jsx)(EuiConditionalBreakpointProvider, null, renderedChildren)))))))));
173
181
  };
@@ -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);
@@ -11,16 +11,12 @@ var _excluded = ["type", "palette", "className", "size"];
11
11
 
12
12
  import React from 'react';
13
13
  import classnames from 'classnames';
14
- import { keysOf } from '../../common';
14
+ import { useEuiMemoizedStyles } from '../../../services';
15
15
  import { EuiColorPaletteDisplayFixed } from './color_palette_display_fixed';
16
16
  import { EuiColorPaletteDisplayGradient } from './color_palette_display_gradient';
17
+ import { euiColorPaletteDisplayStyles } from './color_palette_display.styles';
17
18
  import { jsx as ___EmotionJSX } from "@emotion/react";
18
- var sizeToClassNameMap = {
19
- xs: 'euiColorPaletteDisplay--sizeExtraSmall',
20
- s: 'euiColorPaletteDisplay--sizeSmall',
21
- m: 'euiColorPaletteDisplay--sizeMedium'
22
- };
23
- export var SIZES = keysOf(sizeToClassNameMap);
19
+ export var SIZES = ['xs', 's', 'm'];
24
20
  export var EuiColorPaletteDisplay = function EuiColorPaletteDisplay(_ref) {
25
21
  var _ref$type = _ref.type,
26
22
  type = _ref$type === void 0 ? 'fixed' : _ref$type,
@@ -29,11 +25,15 @@ export var EuiColorPaletteDisplay = function EuiColorPaletteDisplay(_ref) {
29
25
  _ref$size = _ref.size,
30
26
  size = _ref$size === void 0 ? 's' : _ref$size,
31
27
  rest = _objectWithoutProperties(_ref, _excluded);
32
- var classes = classnames('euiColorPaletteDisplay', className, sizeToClassNameMap[size]);
28
+ var classes = classnames('euiColorPaletteDisplay', className);
29
+ var styles = useEuiMemoizedStyles(euiColorPaletteDisplayStyles);
30
+ var cssStyles = [styles.euiColorPaletteDisplay, styles[size]];
33
31
  return ___EmotionJSX(React.Fragment, null, type === 'fixed' ? ___EmotionJSX(EuiColorPaletteDisplayFixed, _extends({
32
+ css: cssStyles,
34
33
  className: classes,
35
34
  palette: palette
36
35
  }, rest)) : ___EmotionJSX(EuiColorPaletteDisplayGradient, _extends({
36
+ css: cssStyles,
37
37
  className: classes,
38
38
  palette: palette
39
39
  }, rest)));
@@ -0,0 +1,24 @@
1
+ /*
2
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
3
+ * or more contributor license agreements. Licensed under the Elastic License
4
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
5
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
6
+ * Side Public License, v 1.
7
+ */
8
+
9
+ import { css } from '@emotion/react';
10
+ import { transparentize } from '../../../services';
11
+ import { logicalCSS } from '../../../global_styling';
12
+ export var euiColorPaletteDisplayStyles = function euiColorPaletteDisplayStyles(euiThemeContext) {
13
+ var euiTheme = euiThemeContext.euiTheme;
14
+
15
+ // Border is a pseudo element with transparency
16
+ var border = "".concat(euiTheme.border.width.thin, " solid ").concat(transparentize(euiTheme.colors.darkestShade, 0.2));
17
+ return {
18
+ euiColorPaletteDisplay: /*#__PURE__*/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;"),
19
+ // Sizes
20
+ xs: /*#__PURE__*/css(logicalCSS('height', euiTheme.size.xs), " border-radius:", euiTheme.size.xs, ";;label:xs;"),
21
+ s: /*#__PURE__*/css(logicalCSS('height', euiTheme.size.s), " border-radius:", euiTheme.size.s, ";;label:s;"),
22
+ m: /*#__PURE__*/css(logicalCSS('height', euiTheme.size.base), " border-radius:", euiTheme.size.base, ";;label:m;")
23
+ };
24
+ };
@@ -11,6 +11,7 @@ var _excluded = ["palette", "title"];
11
11
  import React from 'react';
12
12
  import { getFixedLinearGradient } from '../utils';
13
13
  import { EuiScreenReaderOnly } from '../../accessibility';
14
+ import { euiColorPaletteDisplayFixed__bleedArea } from './color_palette_display_fixed.styles';
14
15
  import { jsx as ___EmotionJSX } from "@emotion/react";
15
16
  export var EuiColorPaletteDisplayFixed = function EuiColorPaletteDisplayFixed(_ref) {
16
17
  var palette = _ref.palette,
@@ -30,6 +31,7 @@ export var EuiColorPaletteDisplayFixed = function EuiColorPaletteDisplayFixed(_r
30
31
  // aria-hidden="true" is to ensure color blocks are ignored by screen readers,
31
32
  // and the only accessible text for options is the EuiScreenReaderOnly {title}
32
33
  "aria-hidden": "true",
34
+ css: euiColorPaletteDisplayFixed__bleedArea,
33
35
  className: "euiColorPaletteDisplayFixed__bleedArea"
34
36
  }, paletteStops));
35
37
  };
@@ -0,0 +1,14 @@
1
+ /*
2
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
3
+ * or more contributor license agreements. Licensed under the Elastic License
4
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
5
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
6
+ * Side Public License, v 1.
7
+ */
8
+
9
+ import { css } from '@emotion/react';
10
+ import { logicalCSS } from '../../../global_styling';
11
+
12
+ // In a few screen sizes the palette display doesn't get a fully 100% width -
13
+ // it gets 1px less on width. For this reason we're adding a horizontal 1px bleed area
14
+ export var euiColorPaletteDisplayFixed__bleedArea = /*#__PURE__*/css("position:absolute;inset:0;", logicalCSS('right', '-1px'), " display:flex;;label:euiColorPaletteDisplayFixed__bleedArea;");
@@ -13,8 +13,11 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
13
13
  * Side Public License, v 1.
14
14
  */
15
15
 
16
- import React from 'react';
17
- import { EuiSuperSelect } from '../../form';
16
+ import React, { useCallback, useMemo } from 'react';
17
+ import { EuiSpacer } from '../../spacer';
18
+ import { EuiText } from '../../text';
19
+ import { EuiSuperSelect } from '../../form/super_select'; // Note: needs to be pointed at this specific subdir for Storybook to inherit types correctly??
20
+
18
21
  import { EuiColorPaletteDisplay } from '../color_palette_display';
19
22
  import { jsx as ___EmotionJSX } from "@emotion/react";
20
23
  export var EuiColorPalettePicker = function EuiColorPalettePicker(_ref) {
@@ -36,7 +39,7 @@ export var EuiColorPalettePicker = function EuiColorPalettePicker(_ref) {
36
39
  _ref$selectionDisplay = _ref.selectionDisplay,
37
40
  selectionDisplay = _ref$selectionDisplay === void 0 ? 'palette' : _ref$selectionDisplay,
38
41
  rest = _objectWithoutProperties(_ref, _excluded);
39
- var getPalette = function getPalette(_ref2) {
42
+ var getPalette = useCallback(function (_ref2) {
40
43
  var type = _ref2.type,
41
44
  palette = _ref2.palette,
42
45
  title = _ref2.title;
@@ -45,29 +48,34 @@ export var EuiColorPalettePicker = function EuiColorPalettePicker(_ref) {
45
48
  palette: palette,
46
49
  title: title
47
50
  });
48
- };
49
- var paletteOptions = palettes.map(function (item) {
50
- var type = item.type,
51
- value = item.value,
52
- title = item.title,
53
- palette = item.palette,
54
- rest = _objectWithoutProperties(item, _excluded2);
55
- var paletteForDisplay = item.type !== 'text' ? getPalette(item) : null;
56
- return _objectSpread({
57
- value: String(value),
58
- inputDisplay: selectionDisplay === 'title' || type === 'text' ? title : paletteForDisplay,
59
- dropdownDisplay: ___EmotionJSX("div", {
60
- className: "euiColorPalettePicker__item"
61
- }, title && type !== 'text' &&
62
- // Accessible labels are managed by color_palette_display_fixed and
63
- // color_palette_display_gradient. Adding the aria-hidden attribute
64
- // here to ensure screen readers don't speak the listbox options twice.
65
- ___EmotionJSX("div", {
66
- "aria-hidden": "true",
67
- className: "euiColorPalettePicker__itemTitle"
68
- }, title), type === 'text' ? title : paletteForDisplay)
69
- }, rest);
70
- });
51
+ }, []);
52
+ var paletteOptions = useMemo(function () {
53
+ return palettes.map(function (item) {
54
+ var type = item.type,
55
+ value = item.value,
56
+ title = item.title,
57
+ palette = item.palette,
58
+ rest = _objectWithoutProperties(item, _excluded2);
59
+ var paletteForDisplay = item.type !== 'text' ? getPalette(item) : null;
60
+ return _objectSpread({
61
+ value: String(value),
62
+ inputDisplay: selectionDisplay === 'title' || type === 'text' ? title : paletteForDisplay,
63
+ dropdownDisplay: ___EmotionJSX("div", {
64
+ className: "euiColorPalettePicker__item"
65
+ }, title && type !== 'text' &&
66
+ // Accessible labels are managed by color_palette_display_fixed and
67
+ // color_palette_display_gradient. Adding the aria-hidden attribute
68
+ // here to ensure screen readers don't speak the listbox options twice.
69
+ ___EmotionJSX(React.Fragment, null, ___EmotionJSX(EuiText, {
70
+ "aria-hidden": "true",
71
+ className: "euiColorPalettePicker__itemTitle",
72
+ size: "xs"
73
+ }, title), ___EmotionJSX(EuiSpacer, {
74
+ size: "xs"
75
+ })), type === 'text' ? title : paletteForDisplay)
76
+ }, rest);
77
+ });
78
+ }, [getPalette, palettes, selectionDisplay]);
71
79
  return ___EmotionJSX(EuiSuperSelect, _extends({
72
80
  className: className,
73
81
  options: paletteOptions,
@@ -12,16 +12,15 @@ import _typeof from "@babel/runtime/helpers/typeof";
12
12
  import React, { cloneElement, useEffect, useMemo, useRef, useState } from 'react';
13
13
  import classNames from 'classnames';
14
14
  import chroma from 'chroma-js';
15
+ import { useEuiMemoizedStyles, VISUALIZATION_COLORS, keys } from '../../services';
15
16
  import { EuiFieldText, EuiFormControlLayout, EuiFormRow, EuiRange } from '../form';
16
- import { getFormControlClassNameForIconCount } from '../form/form_control_layout/_num_icons';
17
17
  import { useEuiI18n } from '../i18n';
18
18
  import { EuiPopover } from '../popover';
19
- import { EuiSpacer } from '../spacer';
20
- import { VISUALIZATION_COLORS, keys } from '../../services';
21
19
  import { EuiColorPickerSwatch } from './color_picker_swatch';
22
20
  import { EuiHue } from './hue';
23
21
  import { EuiSaturation } from './saturation';
24
22
  import { getChromaColor, parseColor, HEX_FALLBACK, HSV_FALLBACK, RGB_FALLBACK, RGB_JOIN } from './utils';
23
+ import { euiColorPickerStyles } from './color_picker.styles';
25
24
  import { jsx as ___EmotionJSX } from "@emotion/react";
26
25
  function isKeyboardEvent(event) {
27
26
  return _typeof(event) === 'object' && 'key' in event;
@@ -152,18 +151,7 @@ export var EuiColorPicker = function EuiColorPicker(_ref) {
152
151
  setColorAsHsv(getHsv([h, s, v], usableHsv[0]));
153
152
  };
154
153
  var classes = classNames('euiColorPicker', className);
155
- var popoverClass = 'euiColorPicker__popoverAnchor';
156
- var panelClasses = classNames('euiColorPicker__popoverPanel', {
157
- 'euiColorPicker__popoverPanel--pickerOnly': mode === 'picker' && secondaryInputDisplay !== 'bottom',
158
- 'euiColorPicker__popoverPanel--customButton': button
159
- });
160
- var swatchClass = 'euiColorPicker__swatchSelect';
161
- var numIconsClass = getFormControlClassNameForIconCount({
162
- isDropdown: true,
163
- clear: isClearable,
164
- isInvalid: isInvalid
165
- });
166
- var inputClasses = classNames('euiColorPicker__input', numIconsClass);
154
+ var styles = useEuiMemoizedStyles(euiColorPickerStyles);
167
155
  var handleOnChange = function handleOnChange(text) {
168
156
  var output = getOutput(text, showAlpha);
169
157
  if (output.isValid) {
@@ -313,7 +301,8 @@ export var EuiColorPicker = function EuiColorPicker(_ref) {
313
301
  });
314
302
  }
315
303
  };
316
- var inlineInput = secondaryInputDisplay !== 'none' && ___EmotionJSX(EuiFormRow, {
304
+ var showSecondaryInput = mode === 'secondaryInput' || secondaryInputDisplay !== 'none';
305
+ var inlineInput = showSecondaryInput && ___EmotionJSX(EuiFormRow, {
317
306
  display: "rowCompressed",
318
307
  isInvalid: isInvalid,
319
308
  error: isInvalid ? colorErrorMessage : null
@@ -322,9 +311,12 @@ export var EuiColorPicker = function EuiColorPicker(_ref) {
322
311
  onClick: handleClearInput
323
312
  } : undefined,
324
313
  readOnly: readOnly,
325
- compressed: compressed
314
+ isDisabled: disabled,
315
+ isInvalid: isInvalid,
316
+ compressed: display === 'inline' ? compressed : true
326
317
  }, ___EmotionJSX(EuiFieldText, {
327
- compressed: true,
318
+ controlOnly: true,
319
+ compressed: display === 'inline' ? compressed : true,
328
320
  value: color ? color.toUpperCase() : HEX_FALLBACK,
329
321
  placeholder: !color ? placeholder || transparent : undefined,
330
322
  onChange: handleColorInput,
@@ -338,40 +330,34 @@ export var EuiColorPicker = function EuiColorPicker(_ref) {
338
330
  var showSecondaryInputOnly = mode === 'secondaryInput';
339
331
  var showPicker = mode !== 'swatch' && !showSecondaryInputOnly;
340
332
  var showSwatches = mode !== 'picker' && !showSecondaryInputOnly;
341
- var composite = ___EmotionJSX(React.Fragment, null, secondaryInputDisplay === 'top' && ___EmotionJSX(React.Fragment, null, inlineInput, ___EmotionJSX(EuiSpacer, {
342
- size: "s"
343
- })), showPicker && ___EmotionJSX("div", {
344
- onKeyDown: handleOnKeyDown
345
- }, ___EmotionJSX(EuiSaturation, {
333
+ var composite = ___EmotionJSX(React.Fragment, null, secondaryInputDisplay === 'top' && inlineInput, showPicker && ___EmotionJSX(React.Fragment, null, ___EmotionJSX(EuiSaturation, {
346
334
  id: id,
347
335
  color: usableHsv,
348
336
  hex: chromaColor ? chromaColor.hex() : undefined,
349
337
  onChange: handleColorSelection,
350
- ref: saturationRef
338
+ ref: saturationRef,
339
+ onKeyDown: handleOnKeyDown
351
340
  }), ___EmotionJSX(EuiHue, {
352
341
  id: id,
353
342
  hue: usableHsv[0],
354
343
  hex: chromaColor ? chromaColor.hex() : undefined,
355
- onChange: handleHueSelection
344
+ onChange: handleHueSelection,
345
+ onKeyDown: handleOnKeyDown
356
346
  })), showSwatches && ___EmotionJSX("ul", {
347
+ css: styles.euiColorPicker__swatches,
357
348
  className: "euiColorPicker__swatches"
358
349
  }, swatches.map(function (swatch, index) {
359
350
  return ___EmotionJSX("li", {
360
- className: "euiColorPicker__swatch-item",
361
351
  key: swatch
362
352
  }, ___EmotionJSX(EuiColorPickerSwatch, {
363
- className: swatchClass,
364
353
  color: swatch,
365
354
  onClick: function onClick() {
366
355
  return handleSwatchSelection(swatch);
367
356
  },
368
357
  ref: index === 0 ? swatchRef : undefined
369
358
  }));
370
- })), secondaryInputDisplay === 'bottom' && ___EmotionJSX(React.Fragment, null, mode !== 'picker' && ___EmotionJSX(EuiSpacer, {
371
- size: "s"
372
- }), inlineInput), showAlpha && ___EmotionJSX(React.Fragment, null, ___EmotionJSX(EuiSpacer, {
373
- size: "s"
374
- }), ___EmotionJSX(EuiRange, {
359
+ })), secondaryInputDisplay === 'bottom' && inlineInput, showAlpha && ___EmotionJSX(EuiRange, {
360
+ css: styles.euiColorPicker__alphaRange,
375
361
  className: "euiColorPicker__alphaRange",
376
362
  "data-test-subj": "euiColorPickerAlpha",
377
363
  compressed: true,
@@ -382,7 +368,7 @@ export var EuiColorPicker = function EuiColorPicker(_ref) {
382
368
  append: "%",
383
369
  onChange: handleAlphaSelection,
384
370
  "aria-label": alphaLabel
385
- })));
371
+ }));
386
372
  var buttonOrInput;
387
373
  if (button) {
388
374
  buttonOrInput = /*#__PURE__*/cloneElement(button, {
@@ -397,7 +383,8 @@ export var EuiColorPicker = function EuiColorPicker(_ref) {
397
383
  icon: chromaColor ? {
398
384
  type: 'swatchInput',
399
385
  side: 'left',
400
- color: colorStyle
386
+ color: colorStyle,
387
+ css: styles.euiColorPicker__swatchInputIcon
401
388
  } : {
402
389
  type: 'stopSlash',
403
390
  side: 'left',
@@ -416,15 +403,13 @@ export var EuiColorPicker = function EuiColorPicker(_ref) {
416
403
  isDisabled: disabled,
417
404
  isDropdown: true
418
405
  }, ___EmotionJSX(EuiFieldText, {
419
- className: inputClasses,
406
+ className: "euiColorPicker__input",
420
407
  onClick: handleInputActivity,
421
408
  onKeyDown: handleInputActivity,
422
409
  onBlur: handleOnBlur,
423
410
  value: color ? color.toUpperCase() : HEX_FALLBACK,
424
411
  placeholder: !color ? placeholder || transparent : undefined,
425
412
  id: id,
426
- icon: "empty" // Required to make space (left padding) for the color swatch icon
427
- ,
428
413
  onChange: handleColorInput,
429
414
  inputRef: setInputRef,
430
415
  isInvalid: isInvalid,
@@ -439,6 +424,7 @@ export var EuiColorPicker = function EuiColorPicker(_ref) {
439
424
  }));
440
425
  }
441
426
  return display === 'inline' ? ___EmotionJSX("div", {
427
+ css: styles.euiColorPicker,
442
428
  className: classes
443
429
  }, composite) : ___EmotionJSX(EuiPopover, {
444
430
  initialFocus: inputRef !== null && inputRef !== void 0 ? inputRef : undefined,
@@ -446,8 +432,8 @@ export var EuiColorPicker = function EuiColorPicker(_ref) {
446
432
  isOpen: isColorSelectorShown,
447
433
  closePopover: handleFinalSelection,
448
434
  zIndex: popoverZIndex,
449
- className: popoverClass,
450
- panelClassName: panelClasses,
435
+ className: "euiColorPicker__popoverAnchor",
436
+ panelClassName: "euiColorPicker__popoverPanel",
451
437
  display: button ? 'inline-block' : 'block',
452
438
  attachToAnchor: button ? false : true,
453
439
  anchorPosition: "downLeft",
@@ -458,6 +444,7 @@ export var EuiColorPicker = function EuiColorPicker(_ref) {
458
444
  shards: [inputRef]
459
445
  } : undefined
460
446
  }, ___EmotionJSX("div", {
447
+ css: styles.euiColorPicker,
461
448
  className: classes,
462
449
  "data-test-subj": "euiColorPickerPopover"
463
450
  }, composite));
@@ -6,12 +6,22 @@
6
6
  * Side Public License, v 1.
7
7
  */
8
8
 
9
- import { mathWithUnits } from '../../global_styling';
10
- export var euiColorPickerVariables = function euiColorPickerVariables(euiThemeContext) {
9
+ import { css } from '@emotion/react';
10
+ import { transparentize } from '../../services';
11
+ import { logicalCSS, mathWithUnits } from '../../global_styling';
12
+ export var euiColorPickerStyles = function euiColorPickerStyles(euiThemeContext) {
11
13
  var euiTheme = euiThemeContext.euiTheme;
14
+
15
+ // 5 columns of swatches + margins + border
16
+ var colorPickerWidth = mathWithUnits([euiTheme.size.l, euiTheme.size.s], function (x, y) {
17
+ return x * 5 + y * 4;
18
+ });
12
19
  return {
13
- width: mathWithUnits([euiTheme.size.l, euiTheme.size.s], function (x, y) {
14
- return x * 5 + y * 4;
15
- })
20
+ euiColorPicker: /*#__PURE__*/css("position:relative;", logicalCSS('width', colorPickerWidth), "display:flex;flex-direction:column;gap:", euiTheme.size.s, ";;label:euiColorPicker;"),
21
+ euiColorPicker__swatches: /*#__PURE__*/css("display:flex;flex-wrap:wrap;gap:", euiTheme.size.s, ";;label:euiColorPicker__swatches;"),
22
+ euiColorPicker__alphaRange: /*#__PURE__*/css(".euiRangeInput{", logicalCSS('min-width', 0), ";};label:euiColorPicker__alphaRange;"),
23
+ // Adds a stroke color for the swatchInput icon. Unlike most EuiIcons it has a stroke in the SVG
24
+ // Targets a custom className applied directly to the <svg> icon
25
+ euiColorPicker__swatchInputIcon: /*#__PURE__*/css(".euiSwatchInput__stroke{fill:none;stroke:", transparentize(euiTheme.colors.fullShade, 0.2), ";};label:euiColorPicker__swatchInputIcon;")
16
26
  };
17
27
  };