@elastic/eui 105.0.0 → 106.0.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 (233) hide show
  1. package/dist/eui_theme_amsterdam_dark.json +2 -0
  2. package/dist/eui_theme_amsterdam_dark.json.d.ts +2 -0
  3. package/dist/eui_theme_amsterdam_light.json +2 -0
  4. package/dist/eui_theme_amsterdam_light.json.d.ts +2 -0
  5. package/dist/eui_theme_borealis_dark.json +2 -0
  6. package/dist/eui_theme_borealis_dark.json.d.ts +2 -0
  7. package/dist/eui_theme_borealis_light.json +10 -8
  8. package/dist/eui_theme_borealis_light.json.d.ts +2 -0
  9. package/es/components/combo_box/combo_box_input/combo_box_input.js +65 -61
  10. package/es/components/combo_box/combo_box_input/combo_box_input.styles.js +6 -4
  11. package/es/components/date_picker/date_picker.styles.js +4 -1
  12. package/es/components/date_picker/date_picker_range.js +3 -2
  13. package/es/components/date_picker/date_picker_range.styles.js +11 -4
  14. package/es/components/date_picker/super_date_picker/super_date_picker.styles.js +23 -14
  15. package/es/components/flyout/_flyout_close_button.styles.js +10 -1
  16. package/es/components/flyout/flyout_child.js +8 -3
  17. package/es/components/flyout/flyout_child.styles.js +3 -2
  18. package/es/components/flyout/sessions/flyout_provider.js +7 -21
  19. package/es/components/flyout/sessions/flyout_reducer.js +5 -26
  20. package/es/components/flyout/sessions/use_eui_flyout.js +21 -10
  21. package/es/components/form/field_number/field_number.styles.js +4 -1
  22. package/es/components/form/field_text/field_text.styles.js +4 -1
  23. package/es/components/form/file_picker/file_picker.js +107 -101
  24. package/es/components/form/file_picker/file_picker.styles.js +18 -17
  25. package/es/components/form/form.styles.js +72 -22
  26. package/es/components/form/form_control_layout/form_control_layout.styles.js +28 -17
  27. package/es/components/form/form_control_layout/form_control_layout_clear_button.styles.js +7 -7
  28. package/es/components/form/form_control_layout/form_control_layout_delimited.js +10 -7
  29. package/es/components/form/form_control_layout/form_control_layout_delimited.styles.js +34 -29
  30. package/es/components/form/form_control_layout/form_control_layout_icons.js +35 -20
  31. package/es/components/form/form_control_layout/form_control_layout_icons.styles.js +6 -6
  32. package/es/components/form/form_error_text/form_error_text.styles.js +3 -1
  33. package/es/components/form/form_label/form_label.styles.js +4 -2
  34. package/es/components/header/header.styles.js +5 -3
  35. package/es/components/markdown_editor/markdown_editor_drop_zone.styles.js +6 -3
  36. package/es/components/progress/progress.a11y.js +7 -7
  37. package/es/components/progress/progress.js +18 -27
  38. package/es/components/selectable/selectable_templates/selectable_template_sitewide.js +59 -23
  39. package/es/components/selectable/selectable_templates/selectable_template_sitewide.styles.js +8 -2
  40. package/es/components/selectable/selectable_templates/selectable_template_sitewide_popover.js +63 -0
  41. package/es/global_styling/mixins/_button.js +1 -1
  42. package/es/services/color/eui_palettes.js +26 -0
  43. package/es/services/color/vis_color_store.js +1 -1
  44. package/es/services/color/visualization_colors.js +4 -0
  45. package/es/services/theme/provider.js +13 -6
  46. package/es/themes/amsterdam/global_styling/variables/_colors.js +8 -3
  47. package/es/themes/amsterdam/global_styling/variables/_forms.js +96 -53
  48. package/es/themes/amsterdam/theme.js +2 -1
  49. package/es/themes/json/eui_theme_amsterdam_dark.json +2 -0
  50. package/es/themes/json/eui_theme_amsterdam_light.json +2 -0
  51. package/es/themes/json/eui_theme_borealis_dark.json +2 -0
  52. package/es/themes/json/eui_theme_borealis_light.json +10 -8
  53. package/eui.d.ts +461 -376
  54. package/i18ntokens.json +3595 -3523
  55. package/lib/components/combo_box/combo_box_input/combo_box_input.js +64 -60
  56. package/lib/components/combo_box/combo_box_input/combo_box_input.styles.js +6 -4
  57. package/lib/components/date_picker/date_picker.styles.js +4 -1
  58. package/lib/components/date_picker/date_picker_range.js +3 -2
  59. package/lib/components/date_picker/date_picker_range.styles.js +11 -4
  60. package/lib/components/date_picker/super_date_picker/super_date_picker.styles.js +21 -12
  61. package/lib/components/flyout/_flyout_close_button.styles.js +10 -3
  62. package/lib/components/flyout/flyout_child.js +8 -3
  63. package/lib/components/flyout/flyout_child.styles.js +3 -2
  64. package/lib/components/flyout/sessions/flyout_provider.js +7 -21
  65. package/lib/components/flyout/sessions/flyout_reducer.js +5 -26
  66. package/lib/components/flyout/sessions/use_eui_flyout.js +21 -10
  67. package/lib/components/form/field_number/field_number.styles.js +4 -1
  68. package/lib/components/form/field_text/field_text.styles.js +4 -1
  69. package/lib/components/form/file_picker/file_picker.js +106 -100
  70. package/lib/components/form/file_picker/file_picker.styles.js +16 -15
  71. package/lib/components/form/form.styles.js +72 -22
  72. package/lib/components/form/form_control_layout/form_control_layout.styles.js +28 -17
  73. package/lib/components/form/form_control_layout/form_control_layout_clear_button.styles.js +7 -7
  74. package/lib/components/form/form_control_layout/form_control_layout_delimited.js +9 -6
  75. package/lib/components/form/form_control_layout/form_control_layout_delimited.styles.js +34 -27
  76. package/lib/components/form/form_control_layout/form_control_layout_icons.js +34 -19
  77. package/lib/components/form/form_control_layout/form_control_layout_icons.styles.js +6 -6
  78. package/lib/components/form/form_error_text/form_error_text.styles.js +3 -1
  79. package/lib/components/form/form_label/form_label.styles.js +4 -2
  80. package/lib/components/header/header.styles.js +4 -2
  81. package/lib/components/markdown_editor/markdown_editor_drop_zone.styles.js +6 -3
  82. package/lib/components/progress/progress.a11y.js +7 -7
  83. package/lib/components/progress/progress.js +18 -27
  84. package/lib/components/selectable/selectable_templates/selectable_template_sitewide.js +57 -21
  85. package/lib/components/selectable/selectable_templates/selectable_template_sitewide.styles.js +9 -3
  86. package/lib/components/selectable/selectable_templates/selectable_template_sitewide_popover.js +69 -0
  87. package/lib/global_styling/mixins/_button.js +1 -1
  88. package/lib/services/color/eui_palettes.js +26 -0
  89. package/lib/services/color/vis_color_store.js +1 -1
  90. package/lib/services/color/visualization_colors.js +3 -0
  91. package/lib/services/theme/provider.js +13 -6
  92. package/lib/themes/amsterdam/global_styling/variables/_colors.js +8 -3
  93. package/lib/themes/amsterdam/global_styling/variables/_forms.js +96 -53
  94. package/lib/themes/amsterdam/theme.js +2 -1
  95. package/lib/themes/json/eui_theme_amsterdam_dark.json +2 -0
  96. package/lib/themes/json/eui_theme_amsterdam_light.json +2 -0
  97. package/lib/themes/json/eui_theme_borealis_dark.json +2 -0
  98. package/lib/themes/json/eui_theme_borealis_light.json +10 -8
  99. package/optimize/es/components/combo_box/combo_box_input/combo_box_input.js +65 -61
  100. package/optimize/es/components/combo_box/combo_box_input/combo_box_input.styles.js +6 -4
  101. package/optimize/es/components/date_picker/date_picker.styles.js +4 -1
  102. package/optimize/es/components/date_picker/date_picker_range.js +3 -2
  103. package/optimize/es/components/date_picker/date_picker_range.styles.js +11 -4
  104. package/optimize/es/components/date_picker/super_date_picker/super_date_picker.styles.js +23 -14
  105. package/optimize/es/components/flyout/_flyout_close_button.styles.js +10 -1
  106. package/optimize/es/components/flyout/flyout_child.js +4 -3
  107. package/optimize/es/components/flyout/flyout_child.styles.js +3 -2
  108. package/optimize/es/components/flyout/sessions/flyout_provider.js +7 -21
  109. package/optimize/es/components/flyout/sessions/flyout_reducer.js +5 -26
  110. package/optimize/es/components/flyout/sessions/use_eui_flyout.js +21 -10
  111. package/optimize/es/components/form/field_number/field_number.styles.js +4 -1
  112. package/optimize/es/components/form/field_text/field_text.styles.js +4 -1
  113. package/optimize/es/components/form/file_picker/file_picker.js +107 -101
  114. package/optimize/es/components/form/file_picker/file_picker.styles.js +18 -17
  115. package/optimize/es/components/form/form.styles.js +72 -22
  116. package/optimize/es/components/form/form_control_layout/form_control_layout.styles.js +28 -17
  117. package/optimize/es/components/form/form_control_layout/form_control_layout_clear_button.styles.js +7 -7
  118. package/optimize/es/components/form/form_control_layout/form_control_layout_delimited.js +10 -7
  119. package/optimize/es/components/form/form_control_layout/form_control_layout_delimited.styles.js +34 -29
  120. package/optimize/es/components/form/form_control_layout/form_control_layout_icons.js +35 -20
  121. package/optimize/es/components/form/form_control_layout/form_control_layout_icons.styles.js +6 -6
  122. package/optimize/es/components/form/form_error_text/form_error_text.styles.js +3 -1
  123. package/optimize/es/components/form/form_label/form_label.styles.js +4 -2
  124. package/optimize/es/components/header/header.styles.js +5 -3
  125. package/optimize/es/components/markdown_editor/markdown_editor_drop_zone.styles.js +6 -3
  126. package/optimize/es/components/progress/progress.a11y.js +7 -7
  127. package/optimize/es/components/progress/progress.js +18 -27
  128. package/optimize/es/components/selectable/selectable_templates/selectable_template_sitewide.js +47 -22
  129. package/optimize/es/components/selectable/selectable_templates/selectable_template_sitewide.styles.js +8 -2
  130. package/optimize/es/components/selectable/selectable_templates/selectable_template_sitewide_popover.js +52 -0
  131. package/optimize/es/global_styling/mixins/_button.js +1 -1
  132. package/optimize/es/services/color/eui_palettes.js +26 -0
  133. package/optimize/es/services/color/vis_color_store.js +1 -1
  134. package/optimize/es/services/color/visualization_colors.js +4 -0
  135. package/optimize/es/services/theme/provider.js +13 -6
  136. package/optimize/es/themes/amsterdam/global_styling/variables/_colors.js +8 -3
  137. package/optimize/es/themes/amsterdam/global_styling/variables/_forms.js +96 -53
  138. package/optimize/es/themes/amsterdam/theme.js +2 -1
  139. package/optimize/es/themes/json/eui_theme_amsterdam_dark.json +2 -0
  140. package/optimize/es/themes/json/eui_theme_amsterdam_light.json +2 -0
  141. package/optimize/es/themes/json/eui_theme_borealis_dark.json +2 -0
  142. package/optimize/es/themes/json/eui_theme_borealis_light.json +10 -8
  143. package/optimize/lib/components/combo_box/combo_box_input/combo_box_input.js +64 -60
  144. package/optimize/lib/components/combo_box/combo_box_input/combo_box_input.styles.js +6 -4
  145. package/optimize/lib/components/date_picker/date_picker.styles.js +4 -1
  146. package/optimize/lib/components/date_picker/date_picker_range.js +3 -2
  147. package/optimize/lib/components/date_picker/date_picker_range.styles.js +11 -4
  148. package/optimize/lib/components/date_picker/super_date_picker/super_date_picker.styles.js +21 -12
  149. package/optimize/lib/components/flyout/_flyout_close_button.styles.js +10 -3
  150. package/optimize/lib/components/flyout/flyout_child.js +4 -3
  151. package/optimize/lib/components/flyout/flyout_child.styles.js +3 -2
  152. package/optimize/lib/components/flyout/sessions/flyout_provider.js +7 -21
  153. package/optimize/lib/components/flyout/sessions/flyout_reducer.js +5 -26
  154. package/optimize/lib/components/flyout/sessions/use_eui_flyout.js +21 -10
  155. package/optimize/lib/components/form/field_number/field_number.styles.js +4 -1
  156. package/optimize/lib/components/form/field_text/field_text.styles.js +4 -1
  157. package/optimize/lib/components/form/file_picker/file_picker.js +106 -100
  158. package/optimize/lib/components/form/file_picker/file_picker.styles.js +16 -15
  159. package/optimize/lib/components/form/form.styles.js +72 -22
  160. package/optimize/lib/components/form/form_control_layout/form_control_layout.styles.js +28 -17
  161. package/optimize/lib/components/form/form_control_layout/form_control_layout_clear_button.styles.js +7 -7
  162. package/optimize/lib/components/form/form_control_layout/form_control_layout_delimited.js +9 -6
  163. package/optimize/lib/components/form/form_control_layout/form_control_layout_delimited.styles.js +34 -27
  164. package/optimize/lib/components/form/form_control_layout/form_control_layout_icons.js +34 -19
  165. package/optimize/lib/components/form/form_control_layout/form_control_layout_icons.styles.js +6 -6
  166. package/optimize/lib/components/form/form_error_text/form_error_text.styles.js +3 -1
  167. package/optimize/lib/components/form/form_label/form_label.styles.js +4 -2
  168. package/optimize/lib/components/header/header.styles.js +4 -2
  169. package/optimize/lib/components/markdown_editor/markdown_editor_drop_zone.styles.js +6 -3
  170. package/optimize/lib/components/progress/progress.a11y.js +7 -7
  171. package/optimize/lib/components/progress/progress.js +18 -27
  172. package/optimize/lib/components/selectable/selectable_templates/selectable_template_sitewide.js +45 -20
  173. package/optimize/lib/components/selectable/selectable_templates/selectable_template_sitewide.styles.js +9 -3
  174. package/optimize/lib/components/selectable/selectable_templates/selectable_template_sitewide_popover.js +58 -0
  175. package/optimize/lib/global_styling/mixins/_button.js +1 -1
  176. package/optimize/lib/services/color/eui_palettes.js +26 -0
  177. package/optimize/lib/services/color/vis_color_store.js +1 -1
  178. package/optimize/lib/services/color/visualization_colors.js +3 -0
  179. package/optimize/lib/services/theme/provider.js +13 -6
  180. package/optimize/lib/themes/amsterdam/global_styling/variables/_colors.js +8 -3
  181. package/optimize/lib/themes/amsterdam/global_styling/variables/_forms.js +96 -53
  182. package/optimize/lib/themes/amsterdam/theme.js +2 -1
  183. package/optimize/lib/themes/json/eui_theme_amsterdam_dark.json +2 -0
  184. package/optimize/lib/themes/json/eui_theme_amsterdam_light.json +2 -0
  185. package/optimize/lib/themes/json/eui_theme_borealis_dark.json +2 -0
  186. package/optimize/lib/themes/json/eui_theme_borealis_light.json +10 -8
  187. package/package.json +12 -10
  188. package/src/themes/amsterdam/_colors_dark.scss +3 -0
  189. package/src/themes/amsterdam/_colors_light.scss +3 -0
  190. package/test-env/components/combo_box/combo_box_input/combo_box_input.js +64 -60
  191. package/test-env/components/combo_box/combo_box_input/combo_box_input.styles.js +6 -4
  192. package/test-env/components/date_picker/date_picker.styles.js +4 -1
  193. package/test-env/components/date_picker/date_picker_range.js +3 -2
  194. package/test-env/components/date_picker/date_picker_range.styles.js +11 -4
  195. package/test-env/components/date_picker/super_date_picker/super_date_picker.styles.js +21 -12
  196. package/test-env/components/flyout/_flyout_close_button.styles.js +10 -3
  197. package/test-env/components/flyout/flyout_child.js +8 -3
  198. package/test-env/components/flyout/flyout_child.styles.js +3 -2
  199. package/test-env/components/flyout/sessions/flyout_provider.js +7 -21
  200. package/test-env/components/flyout/sessions/flyout_reducer.js +5 -26
  201. package/test-env/components/flyout/sessions/use_eui_flyout.js +21 -10
  202. package/test-env/components/form/field_number/field_number.styles.js +4 -1
  203. package/test-env/components/form/field_text/field_text.styles.js +4 -1
  204. package/test-env/components/form/file_picker/file_picker.js +106 -100
  205. package/test-env/components/form/file_picker/file_picker.styles.js +16 -15
  206. package/test-env/components/form/form.styles.js +72 -22
  207. package/test-env/components/form/form_control_layout/form_control_layout.styles.js +28 -17
  208. package/test-env/components/form/form_control_layout/form_control_layout_clear_button.styles.js +7 -7
  209. package/test-env/components/form/form_control_layout/form_control_layout_delimited.js +9 -6
  210. package/test-env/components/form/form_control_layout/form_control_layout_delimited.styles.js +34 -27
  211. package/test-env/components/form/form_control_layout/form_control_layout_icons.js +34 -19
  212. package/test-env/components/form/form_control_layout/form_control_layout_icons.styles.js +6 -6
  213. package/test-env/components/form/form_error_text/form_error_text.styles.js +3 -1
  214. package/test-env/components/form/form_label/form_label.styles.js +4 -2
  215. package/test-env/components/header/header.styles.js +4 -2
  216. package/test-env/components/markdown_editor/markdown_editor_drop_zone.styles.js +6 -3
  217. package/test-env/components/progress/progress.a11y.js +7 -7
  218. package/test-env/components/progress/progress.js +18 -27
  219. package/test-env/components/selectable/selectable_templates/selectable_template_sitewide.js +57 -21
  220. package/test-env/components/selectable/selectable_templates/selectable_template_sitewide.styles.js +9 -3
  221. package/test-env/components/selectable/selectable_templates/selectable_template_sitewide_popover.js +68 -0
  222. package/test-env/global_styling/mixins/_button.js +1 -1
  223. package/test-env/services/color/eui_palettes.js +26 -0
  224. package/test-env/services/color/vis_color_store.js +1 -1
  225. package/test-env/services/color/visualization_colors.js +3 -0
  226. package/test-env/services/theme/provider.js +13 -6
  227. package/test-env/themes/amsterdam/global_styling/variables/_colors.js +8 -3
  228. package/test-env/themes/amsterdam/global_styling/variables/_forms.js +96 -53
  229. package/test-env/themes/amsterdam/theme.js +2 -1
  230. package/test-env/themes/json/eui_theme_amsterdam_dark.json +2 -0
  231. package/test-env/themes/json/eui_theme_amsterdam_light.json +2 -0
  232. package/test-env/themes/json/eui_theme_borealis_dark.json +2 -0
  233. package/test-env/themes/json/eui_theme_borealis_light.json +10 -8
@@ -20,7 +20,7 @@ function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.
20
20
 
21
21
  import React, { Component } from 'react';
22
22
  import classNames from 'classnames';
23
- import { withEuiStylesMemoizer, htmlIdGenerator } from '../../../services';
23
+ import { withEuiStylesMemoizer, htmlIdGenerator, RenderWithEuiTheme, isEuiThemeRefreshVariant } from '../../../services';
24
24
  import { EuiButtonEmpty } from '../../button';
25
25
  import { EuiProgress } from '../../progress';
26
26
  import { EuiIcon } from '../../icon';
@@ -101,111 +101,117 @@ export var EuiFilePickerClass = /*#__PURE__*/function (_Component) {
101
101
  var _this2 = this;
102
102
  var _ref = this.context,
103
103
  defaultFullWidth = _ref.defaultFullWidth;
104
- return ___EmotionJSX(EuiI18n, {
105
- token: "euiFilePicker.removeSelectedAriaLabel",
106
- default: "Remove selected files"
107
- }, function (removeSelectedAriaLabel) {
108
- var _this2$props = _this2.props,
109
- stylesMemoizer = _this2$props.stylesMemoizer,
110
- id = _this2$props.id,
111
- name = _this2$props.name,
112
- initialPromptText = _this2$props.initialPromptText,
113
- className = _this2$props.className,
114
- disabled = _this2$props.disabled,
115
- compressed = _this2$props.compressed,
116
- onChange = _this2$props.onChange,
117
- isInvalid = _this2$props.isInvalid,
118
- _this2$props$fullWidt = _this2$props.fullWidth,
119
- fullWidth = _this2$props$fullWidt === void 0 ? defaultFullWidth : _this2$props$fullWidt,
120
- isLoading = _this2$props.isLoading,
121
- display = _this2$props.display,
122
- rest = _objectWithoutProperties(_this2$props, _excluded);
123
- var promptId = "".concat(id || _this2.generatedId, "-filePicker__prompt");
124
- var isOverridingInitialPrompt = _this2.state.promptText != null;
125
- var normalFormControl = display === 'default';
126
- var classes = classNames('euiFilePicker', {
127
- 'euiFilePicker-isDroppingFile': _this2.state.isHoveringDrop,
128
- 'euiFilePicker-isInvalid': isInvalid,
129
- 'euiFilePicker-isLoading': isLoading,
130
- 'euiFilePicker-hasFiles': isOverridingInitialPrompt
131
- }, className);
132
- var styles = stylesMemoizer(euiFilePickerStyles);
133
- var cssStyles = [styles.euiFilePicker, fullWidth ? styles.fullWidth : styles.formWidth, _this2.state.isHoveringDrop && styles.isDroppingFile, isInvalid && !disabled && styles.invalid, isOverridingInitialPrompt && !disabled && styles.hasFiles, isLoading && styles.loading];
134
- var inputStyles = [styles.input.euiFilePicker__input, !normalFormControl && !disabled && styles.input.largeInteractive];
135
- var promptStyles = [styles.euiFilePicker__prompt, disabled && styles.disabled].concat(_toConsumableArray(normalFormControl ? [compressed ? styles.compressed : styles.uncompressed] : [styles.large.large, compressed ? styles.large.compressed : styles.large.uncompressed]));
136
- var iconStyles = [styles.icon.euiFilePicker__icon].concat(_toConsumableArray(normalFormControl ? [styles.icon.normal, compressed ? styles.icon.compresssed : styles.icon.uncompressed] : [styles.icon.large]));
137
- var rightIconStyles = normalFormControl ? [styles.rightIcon.euiFilePicker__rightIcon, compressed ? styles.rightIcon.compressed : styles.rightIcon.uncompressed] : undefined;
138
- var clearButton;
139
- if (isLoading && normalFormControl) {
140
- // Override clear button with loading spinner if it is in loading state
141
- clearButton = ___EmotionJSX(EuiLoadingSpinner, {
142
- css: rightIconStyles,
143
- className: "euiFilePicker__loadingSpinner",
144
- size: compressed ? 's' : 'm'
145
- });
146
- } else if (isOverridingInitialPrompt && !disabled) {
147
- if (normalFormControl) {
148
- clearButton = ___EmotionJSX(EuiFormControlLayoutClearButton, {
149
- "aria-label": removeSelectedAriaLabel,
150
- css: [styles.euiFilePicker__clearButton, rightIconStyles, ";label:clearButton;"],
151
- className: "euiFilePicker__clearButton",
152
- onClick: _this2.removeFiles,
104
+ return ___EmotionJSX(RenderWithEuiTheme, null, function (euiThemeContext) {
105
+ return ___EmotionJSX(EuiI18n, {
106
+ token: "euiFilePicker.removeSelectedAriaLabel",
107
+ default: "Remove selected files"
108
+ }, function (removeSelectedAriaLabel) {
109
+ var _this2$props = _this2.props,
110
+ stylesMemoizer = _this2$props.stylesMemoizer,
111
+ id = _this2$props.id,
112
+ name = _this2$props.name,
113
+ initialPromptText = _this2$props.initialPromptText,
114
+ className = _this2$props.className,
115
+ disabled = _this2$props.disabled,
116
+ compressed = _this2$props.compressed,
117
+ onChange = _this2$props.onChange,
118
+ isInvalid = _this2$props.isInvalid,
119
+ _this2$props$fullWidt = _this2$props.fullWidth,
120
+ fullWidth = _this2$props$fullWidt === void 0 ? defaultFullWidth : _this2$props$fullWidt,
121
+ isLoading = _this2$props.isLoading,
122
+ display = _this2$props.display,
123
+ rest = _objectWithoutProperties(_this2$props, _excluded);
124
+ var isRefreshVariant = isEuiThemeRefreshVariant(euiThemeContext, 'formVariant');
125
+ var promptId = "".concat(id || _this2.generatedId, "-filePicker__prompt");
126
+ var isOverridingInitialPrompt = _this2.state.promptText != null;
127
+ var normalFormControl = display === 'default';
128
+ var classes = classNames('euiFilePicker', {
129
+ 'euiFilePicker-isDroppingFile': _this2.state.isHoveringDrop,
130
+ 'euiFilePicker-isInvalid': isInvalid,
131
+ 'euiFilePicker-isLoading': isLoading,
132
+ 'euiFilePicker-hasFiles': isOverridingInitialPrompt
133
+ }, className);
134
+ var styles = stylesMemoizer(euiFilePickerStyles);
135
+ var cssStyles = [styles.euiFilePicker, fullWidth ? styles.fullWidth : styles.formWidth, _this2.state.isHoveringDrop && styles.isDroppingFile, isInvalid && !disabled && styles.invalid, isOverridingInitialPrompt && !disabled && styles.hasFiles, isLoading && styles.loading];
136
+ var inputStyles = [styles.input.euiFilePicker__input, !normalFormControl && !disabled && styles.input.largeInteractive];
137
+ var promptStyles = [styles.euiFilePicker__prompt, disabled && styles.disabled].concat(_toConsumableArray(normalFormControl ? [compressed ? styles.compressed : styles.uncompressed] : [styles.large.large, compressed ? styles.large.compressed : styles.large.uncompressed]));
138
+ var iconStyles = [styles.icon.euiFilePicker__icon].concat(_toConsumableArray(normalFormControl ? [styles.icon.normal, compressed ? styles.icon.compresssed : styles.icon.uncompressed] : [styles.icon.large]));
139
+ var rightIconStyles = normalFormControl ? [styles.rightIcon.euiFilePicker__rightIcon, compressed ? styles.rightIcon.compressed : styles.rightIcon.uncompressed] : undefined;
140
+ var clearButton;
141
+ if (isLoading && normalFormControl) {
142
+ // Override clear button with loading spinner if it is in loading state
143
+ clearButton = ___EmotionJSX(EuiLoadingSpinner, {
144
+ css: rightIconStyles,
145
+ className: "euiFilePicker__loadingSpinner",
153
146
  size: compressed ? 's' : 'm'
154
147
  });
148
+ } else if (isOverridingInitialPrompt && !disabled) {
149
+ if (normalFormControl) {
150
+ clearButton = ___EmotionJSX(EuiFormControlLayoutClearButton, {
151
+ "aria-label": removeSelectedAriaLabel,
152
+ css: [styles.euiFilePicker__clearButton, rightIconStyles, ";label:clearButton;"],
153
+ className: "euiFilePicker__clearButton",
154
+ onClick: _this2.removeFiles,
155
+ size: compressed ? 's' : 'm'
156
+ });
157
+ } else {
158
+ clearButton = ___EmotionJSX(EuiButtonEmpty, {
159
+ "aria-label": removeSelectedAriaLabel,
160
+ css: styles.euiFilePicker__clearButton,
161
+ className: "euiFilePicker__clearButton",
162
+ size: "xs",
163
+ onClick: _this2.removeFiles
164
+ }, ___EmotionJSX(EuiI18n, {
165
+ token: "euiFilePicker.removeSelected",
166
+ default: "Remove"
167
+ }));
168
+ }
155
169
  } else {
156
- clearButton = ___EmotionJSX(EuiButtonEmpty, {
157
- "aria-label": removeSelectedAriaLabel,
158
- css: styles.euiFilePicker__clearButton,
159
- className: "euiFilePicker__clearButton",
160
- size: "xs",
161
- onClick: _this2.removeFiles
162
- }, ___EmotionJSX(EuiI18n, {
163
- token: "euiFilePicker.removeSelected",
164
- default: "Remove"
165
- }));
170
+ clearButton = null;
166
171
  }
167
- } else {
168
- clearButton = null;
169
- }
170
- var loader = !normalFormControl && isLoading && ___EmotionJSX(EuiProgress, {
171
- size: "xs",
172
- color: "accent",
173
- position: "absolute"
172
+ var loader = !normalFormControl && isLoading && ___EmotionJSX(EuiProgress, {
173
+ size: "xs",
174
+ color: "accent",
175
+ position: "absolute"
176
+ });
177
+
178
+ // Currently this tenary is a little complex, it'll be simplified once we remove Amsterdam
179
+ var iconColor = isInvalid ? 'danger' : disabled ? isRefreshVariant ? 'disabled' : 'subdued' : isRefreshVariant ? 'text' : 'primary';
180
+ return ___EmotionJSX("div", {
181
+ css: cssStyles,
182
+ className: classes
183
+ }, ___EmotionJSX(EuiValidatableControl, {
184
+ isInvalid: isInvalid
185
+ }, ___EmotionJSX("input", _extends({
186
+ type: "file",
187
+ id: id,
188
+ name: name,
189
+ css: inputStyles,
190
+ className: "euiFilePicker__input",
191
+ onChange: _this2.handleChange,
192
+ ref: function ref(input) {
193
+ _this2.fileInput = input;
194
+ },
195
+ onDragOver: _this2.showDrop,
196
+ onDragLeave: _this2.hideDrop,
197
+ onDrop: _this2.hideDrop,
198
+ disabled: disabled,
199
+ "aria-describedby": promptId
200
+ }, rest))), ___EmotionJSX("div", {
201
+ css: promptStyles,
202
+ className: "euiFilePicker__prompt",
203
+ id: promptId
204
+ }, ___EmotionJSX(EuiIcon, {
205
+ css: iconStyles,
206
+ className: "euiFilePicker__icon",
207
+ color: iconColor,
208
+ type: isInvalid ? 'alert' : isRefreshVariant && disabled ? 'minusInCircle' : 'importAction',
209
+ size: normalFormControl ? 'm' : 'l',
210
+ "aria-hidden": "true"
211
+ }), ___EmotionJSX("span", {
212
+ className: "euiFilePicker__promptText"
213
+ }, _this2.state.promptText || initialPromptText), clearButton, loader));
174
214
  });
175
- return ___EmotionJSX("div", {
176
- css: cssStyles,
177
- className: classes
178
- }, ___EmotionJSX(EuiValidatableControl, {
179
- isInvalid: isInvalid
180
- }, ___EmotionJSX("input", _extends({
181
- type: "file",
182
- id: id,
183
- name: name,
184
- css: inputStyles,
185
- className: "euiFilePicker__input",
186
- onChange: _this2.handleChange,
187
- ref: function ref(input) {
188
- _this2.fileInput = input;
189
- },
190
- onDragOver: _this2.showDrop,
191
- onDragLeave: _this2.hideDrop,
192
- onDrop: _this2.hideDrop,
193
- disabled: disabled,
194
- "aria-describedby": promptId
195
- }, rest))), ___EmotionJSX("div", {
196
- css: promptStyles,
197
- className: "euiFilePicker__prompt",
198
- id: promptId
199
- }, ___EmotionJSX(EuiIcon, {
200
- css: iconStyles,
201
- className: "euiFilePicker__icon",
202
- color: isInvalid ? 'danger' : disabled ? 'subdued' : 'primary',
203
- type: isInvalid ? 'alert' : 'importAction',
204
- size: normalFormControl ? 'm' : 'l',
205
- "aria-hidden": "true"
206
- }), ___EmotionJSX("span", {
207
- className: "euiFilePicker__promptText"
208
- }, _this2.state.promptText || initialPromptText), clearButton, loader));
209
215
  });
210
216
  }
211
217
  }]);
@@ -8,8 +8,9 @@ function _EMOTION_STRINGIFIED_CSS_ERROR__() { return "You have tried to stringif
8
8
  */
9
9
 
10
10
  import { css } from '@emotion/react';
11
- import { euiCanAnimate, euiFontSize, euiTextTruncate, logicalCSS, mathWithUnits } from '../../../global_styling';
12
- import { euiFormControlStyles, euiFormVariables } from '../form.styles';
11
+ import { isEuiThemeRefreshVariant } from '../../../services';
12
+ import { euiCanAnimate, euiFontSize, euiTextTruncate, highContrastModeStyles, logicalCSS, mathWithUnits } from '../../../global_styling';
13
+ import { euiFormControlShowBackgroundLine, euiFormControlStyles, euiFormVariables } from '../form.styles';
13
14
  var _ref = process.env.NODE_ENV === "production" ? {
14
15
  name: "6h1iuq-euiFilePicker__clearButton",
15
16
  styles: "pointer-events:auto;position:relative;label:euiFilePicker__clearButton;"
@@ -27,14 +28,6 @@ var _ref2 = process.env.NODE_ENV === "production" ? {
27
28
  toString: _EMOTION_STRINGIFIED_CSS_ERROR__
28
29
  };
29
30
  var _ref3 = process.env.NODE_ENV === "production" ? {
30
- name: "19x04ih-largeInteractive",
31
- styles: "&:hover,&:focus,.euiFilePicker-isDroppingFile &{&+.euiFilePicker__prompt{.euiFilePicker__promptText{text-decoration:underline;}.euiFilePicker__icon{transform:scale(1.1);}}};label:largeInteractive;"
32
- } : {
33
- name: "19x04ih-largeInteractive",
34
- styles: "&:hover,&:focus,.euiFilePicker-isDroppingFile &{&+.euiFilePicker__prompt{.euiFilePicker__promptText{text-decoration:underline;}.euiFilePicker__icon{transform:scale(1.1);}}};label:largeInteractive;",
35
- toString: _EMOTION_STRINGIFIED_CSS_ERROR__
36
- };
37
- var _ref4 = process.env.NODE_ENV === "production" ? {
38
31
  name: "1j9s7hu-euiFilePicker__input",
39
32
  styles: "position:absolute;inset:0;opacity:0;&:hover{cursor:pointer;}&:hover:disabled{cursor:not-allowed;}&:disabled{opacity:0;};label:euiFilePicker__input;"
40
33
  } : {
@@ -43,16 +36,22 @@ var _ref4 = process.env.NODE_ENV === "production" ? {
43
36
  toString: _EMOTION_STRINGIFIED_CSS_ERROR__
44
37
  };
45
38
  export var euiFilePickerStyles = function euiFilePickerStyles(euiThemeContext) {
46
- var euiTheme = euiThemeContext.euiTheme;
39
+ var euiTheme = euiThemeContext.euiTheme,
40
+ highContrastMode = euiThemeContext.highContrastMode;
41
+ var isRefreshVariant = isEuiThemeRefreshVariant(euiThemeContext, 'formVariant');
47
42
  var formStyles = euiFormControlStyles(euiThemeContext);
48
43
  var formVariables = euiFormVariables(euiThemeContext);
49
44
  var _euiFontSize = euiFontSize(euiThemeContext, 's'),
50
45
  fontSize = _euiFontSize.fontSize,
51
46
  lineHeight = _euiFontSize.lineHeight;
52
47
  return {
53
- euiFilePicker: /*#__PURE__*/css("--euiFormControlLeftIconsCount:1;position:relative;&:has(input:focus){--euiFormControlStateColor:", euiTheme.colors.primary, ";};label:euiFilePicker;"),
54
- isDroppingFile: /*#__PURE__*/css("--euiFormControlStateColor:", euiTheme.colors.primary, ";;label:isDroppingFile;"),
55
- invalid: /*#__PURE__*/css("--euiFormControlStateColor:", euiTheme.colors.danger, ";;label:invalid;"),
48
+ euiFilePicker: /*#__PURE__*/css("--euiFormControlLeftIconsCount:1;position:relative;border-radius:", formVariables.controlBorderRadius, ";&:has(input:focus){--euiFormControlStateColor:", formVariables.borderFocused, ";}&:hover{--euiFormControlStateColor:", highContrastMode ? euiTheme.border.color : formVariables.borderHovered, ";--euiFormControlStateStyle:", highContrastMode && isRefreshVariant ? 'solid' : 'dashed', ";}&:focus-within{", highContrastModeStyles(euiThemeContext, {
49
+ forced: "\n ".concat(euiFormControlShowBackgroundLine(euiThemeContext, formVariables.borderFocused), "\n ")
50
+ }), ";};label:euiFilePicker;"),
51
+ isDroppingFile: /*#__PURE__*/css("--euiFormControlStateColor:", isRefreshVariant ? euiTheme.colors.borderStrongSuccess : euiTheme.colors.primary, ";", isRefreshVariant && " \n --euiFormControlStateStyle: ".concat(highContrastMode === 'forced' ? 'solid' : 'dashed', ";\n background-color: ").concat(euiTheme.components.forms.backgroundDropping, "\n "), ";;label:isDroppingFile;"),
52
+ invalid: /*#__PURE__*/css("--euiFormControlStateColor:", formVariables.borderInvalid, ";&:hover{--euiFormControlStateColor:", formVariables.borderInvalidHovered, ";}", highContrastModeStyles(euiThemeContext, {
53
+ forced: "\n ".concat(euiFormControlShowBackgroundLine(euiThemeContext, formVariables.borderInvalid), "\n ")
54
+ }), ";;label:invalid;"),
56
55
  hasFiles: /*#__PURE__*/css("--euiFormControlRightIconsCount:1;font-weight:", euiTheme.font.weight.bold, ";;label:hasFiles;"),
57
56
  loading: /*#__PURE__*/css("--euiFormControlRightIconsCount:1;border-radius:", formVariables.controlCompressedBorderRadius, ";overflow:hidden;;label:loading;"),
58
57
  // Skip the css() on the default width to avoid generating a className
@@ -60,10 +59,12 @@ export var euiFilePickerStyles = function euiFilePickerStyles(euiThemeContext) {
60
59
  fullWidth: /*#__PURE__*/css(formStyles.fullWidth, ";label:fullWidth;"),
61
60
  // The input is an invisible dropzone / button
62
61
  input: {
63
- euiFilePicker__input: _ref4,
64
- largeInteractive: _ref3
62
+ euiFilePicker__input: _ref3,
63
+ largeInteractive: /*#__PURE__*/css("&:hover,&:focus,.euiFilePicker-isDroppingFile &{&+.euiFilePicker__prompt{.euiFilePicker__promptText{text-decoration:", isRefreshVariant ? '' : 'underline', ";", highContrastModeStyles(euiThemeContext, {
64
+ forced: "\n text-decoration: underline;\n "
65
+ }), ";}.euiFilePicker__icon{transform:scale(", isRefreshVariant ? 1.05 : 1.1, ");}}};label:largeInteractive;")
65
66
  },
66
- euiFilePicker__prompt: /*#__PURE__*/css("pointer-events:none;font-size:", fontSize, ";line-height:1;", euiTextTruncate(), " color:", euiTheme.colors.textParagraph, ";border:", euiTheme.border.width.thick, " dashed var(--euiFormControlStateColor, ", euiTheme.border.color, ");", euiCanAnimate, "{transition:border-color ", euiTheme.animation.fast, " ease-in,background-color ", euiTheme.animation.fast, " ease-in;};label:euiFilePicker__prompt;"),
67
+ euiFilePicker__prompt: /*#__PURE__*/css("pointer-events:none;font-size:", fontSize, ";line-height:1;", euiTextTruncate(), " color:", euiTheme.colors.textParagraph, ";border:", isRefreshVariant ? euiTheme.border.width.thin : euiTheme.border.width.thick, " var(--euiFormControlStateStyle, dashed) var(\n --euiFormControlStateColor,\n ", isRefreshVariant ? formVariables.borderColor : euiTheme.border.color, "\n );", euiCanAnimate, "{transition:border-color ", euiTheme.animation.fast, " ease-in,background-color ", euiTheme.animation.fast, " ease-in;};label:euiFilePicker__prompt;"),
67
68
  disabled: /*#__PURE__*/css(formStyles.disabled, ";label:disabled;"),
68
69
  // Skip the css() on the default height to avoid generating a className
69
70
  uncompressed: formStyles.uncompressed,
@@ -9,7 +9,7 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
9
9
  * Side Public License, v 1.
10
10
  */
11
11
 
12
- import { makeHighContrastColor } from '../../services';
12
+ import { isEuiThemeRefreshVariant, makeHighContrastColor } from '../../services';
13
13
  import { logicalCSS, mathWithUnits, euiCanAnimate, euiFontSize } from '../../global_styling';
14
14
  import { highContrastModeStyles } from '../../global_styling/functions/high_contrast';
15
15
 
@@ -23,6 +23,7 @@ export var euiFormMaxWidth = function euiFormMaxWidth(_ref) {
23
23
  export var euiFormVariables = function euiFormVariables(euiThemeContext) {
24
24
  var euiTheme = euiThemeContext.euiTheme,
25
25
  highContrastMode = euiThemeContext.highContrastMode;
26
+ var isRefreshVariant = isEuiThemeRefreshVariant(euiThemeContext, 'formVariant');
26
27
  var backgroundColor = highContrastMode ? euiTheme.colors.emptyShade : euiTheme.components.forms.background;
27
28
  var controlHeight = euiTheme.size.xxl;
28
29
  var controlCompressedHeight = euiTheme.size.xl;
@@ -32,12 +33,12 @@ export var euiFormVariables = function euiFormVariables(euiThemeContext) {
32
33
  controlCompressedHeight: controlCompressedHeight,
33
34
  controlPadding: euiTheme.size.m,
34
35
  controlCompressedPadding: euiTheme.size.s,
35
- controlBorderRadius: euiTheme.border.radius.medium,
36
+ controlBorderRadius: isRefreshVariant ? euiTheme.border.radius.small : euiTheme.border.radius.medium,
36
37
  controlCompressedBorderRadius: euiTheme.border.radius.small,
37
38
  iconAffordance: mathWithUnits(euiTheme.size.base, function (x) {
38
39
  return x * 1.5;
39
40
  }),
40
- iconCompressedAffordance: mathWithUnits(euiTheme.size.m, function (x) {
41
+ iconCompressedAffordance: mathWithUnits(isRefreshVariant ? euiTheme.size.base : euiTheme.size.m, function (x) {
41
42
  return x * 1.5;
42
43
  }),
43
44
  stateUnderlineHeight: highContrastMode ? mathWithUnits(euiTheme.border.width.thick, function (x) {
@@ -51,9 +52,13 @@ export var euiFormVariables = function euiFormVariables(euiThemeContext) {
51
52
  backgroundDisabledColor: euiTheme.components.forms.backgroundDisabled,
52
53
  backgroundReadOnlyColor: euiTheme.components.forms.backgroundReadOnly,
53
54
  borderColor: highContrastMode ? euiTheme.border.color : euiTheme.components.forms.border,
55
+ borderHovered: euiTheme.components.forms.borderHovered,
56
+ borderFocused: euiTheme.components.forms.borderFocused,
57
+ borderInvalid: euiTheme.components.forms.borderInvalid,
58
+ borderInvalidHovered: euiTheme.components.forms.borderInvalidHovered,
54
59
  controlDisabledColor: euiTheme.components.forms.controlBackgroundDisabled,
55
60
  controlBoxShadow: '0 0 transparent',
56
- controlPlaceholderText: makeHighContrastColor(euiTheme.colors.textSubdued)(backgroundColor),
61
+ controlPlaceholderText: isRefreshVariant ? highContrastMode ? makeHighContrastColor(euiTheme.components.forms.colorDisabled)(backgroundColor) : euiTheme.components.forms.colorDisabled : makeHighContrastColor(euiTheme.colors.textSubdued)(backgroundColor),
57
62
  appendPrependBackground: euiTheme.components.forms.prependBackground
58
63
  };
59
64
  var controlLayout = {
@@ -78,7 +83,9 @@ export var euiFormVariables = function euiFormVariables(euiThemeContext) {
78
83
  animationTiming: "".concat(euiTheme.animation.fast, " ease-in")
79
84
  });
80
85
  };
86
+ var formControlLayoutWrapperSelector = '.euiFormControlLayout__childrenWrapper';
81
87
  export var euiFormControlStyles = function euiFormControlStyles(euiThemeContext) {
88
+ var isRefreshVariant = isEuiThemeRefreshVariant(euiThemeContext, 'formVariant');
82
89
  var form = euiFormVariables(euiThemeContext);
83
90
  return {
84
91
  shared: "\n ".concat(euiFormControlText(euiThemeContext), "\n ").concat(euiFormControlDefaultShadow(euiThemeContext), "\n "),
@@ -89,7 +96,7 @@ export var euiFormControlStyles = function euiFormControlStyles(euiThemeContext)
89
96
  inGroup: "\n ".concat(logicalCSS('height', '100%'), "\n ").concat(highContrastModeStyles(euiThemeContext, {
90
97
  none: 'box-shadow: none;',
91
98
  preferred: 'border: none;'
92
- }), "\n border-radius: 0;\n "),
99
+ }), "\n border-radius: ").concat(isRefreshVariant ? 'inherit' : '0', ";\n "),
93
100
  // Widths
94
101
  formWidth: "\n ".concat(logicalCSS('max-width', form.maxWidth), "\n ").concat(logicalCSS('width', '100%'), "\n "),
95
102
  fullWidth: "\n ".concat(logicalCSS('max-width', '100%'), "\n ").concat(logicalCSS('width', '100%'), "\n "),
@@ -119,44 +126,75 @@ export var euiFormControlDefaultShadow = function euiFormControlDefaultShadow(eu
119
126
  _ref2$withBackgroundA = _ref2.withBackgroundAnimation,
120
127
  withBackgroundAnimation = _ref2$withBackgroundA === void 0 ? withBackground : _ref2$withBackgroundA;
121
128
  var euiTheme = euiThemeContext.euiTheme;
129
+ var isRefreshVariant = isEuiThemeRefreshVariant(euiThemeContext, 'formVariant');
122
130
  var form = euiFormVariables(euiThemeContext);
123
131
  var border = highContrastModeStyles(euiThemeContext, {
124
132
  // We use inset box-shadow instead of border to skip extra height calculations
125
- none: "\n border: none;\n box-shadow: inset 0 0 0 ".concat(euiTheme.border.width.thin, " ").concat(form.borderColor, ";\n "),
133
+ none: isRefreshVariant ? "\n --euiFormControlStateColor: ".concat(form.borderColor, ";\n border: none;\n box-shadow: inset 0 0 0 ").concat(euiTheme.border.width.thin, " var(--euiFormControlStateColor);\n\n ").concat(euiFormControlHoverStyles(euiThemeContext), "\n ") : "\n border: none;\n box-shadow: inset 0 0 0 ".concat(euiTheme.border.width.thin, " ").concat(form.borderColor, ";\n "),
126
134
  // In high contrast mode, this doesn't matter - we need to prioritize visibility
127
- preferred: "\n border: ".concat(euiTheme.border.width.thin, " solid ").concat(euiTheme.border.color, ";\n ")
135
+ preferred: "\n border: ".concat(euiTheme.border.width.thin, " solid ").concat(euiTheme.border.color, ";\n\n ").concat(euiFormControlHoverStyles(euiThemeContext), "\n ")
128
136
  });
129
137
  var backgroundColor = "\n background-color: ".concat(form.backgroundColor, ";\n ").trim();
130
138
  var backgroundGradient = highContrastModeStyles(euiThemeContext, {
131
- none: "\n background-repeat: no-repeat;\n background-size: 0% 100%;\n background-image: linear-gradient(to top,\n var(--euiFormControlStateColor),\n var(--euiFormControlStateColor) ".concat(form.stateUnderlineHeight, ",\n transparent ").concat(form.stateUnderlineHeight, ",\n transparent 100%\n );\n "),
139
+ none: !isRefreshVariant ? "\n background-repeat: no-repeat;\n background-size: 0% 100%;\n background-image: linear-gradient(to top,\n var(--euiFormControlStateColor),\n var(--euiFormControlStateColor) ".concat(isRefreshVariant ? mathWithUnits([euiTheme.border.width.thick, euiTheme.border.width.thin], function (x, y) {
140
+ return x + y;
141
+ } // account for pseudo element border
142
+ ) : form.stateUnderlineHeight, ",\n transparent ").concat(form.stateUnderlineHeight, ",\n transparent 100%\n );\n ") : '',
132
143
  // Windows high contrast mode overrides/hides background gradients - we'll need another approach
133
144
  forced: "\n background-repeat: no-repeat;\n background-size: 0% ".concat(form.stateUnderlineHeight, ";\n background-position: bottom left;\n background-origin: border-box;\n ")
134
145
  });
135
- var backgroundAnimation = "\n ".concat(euiCanAnimate, " {\n transition:\n background-image ").concat(form.animationTiming, ",\n background-size ").concat(form.animationTiming, ",\n background-color ").concat(form.animationTiming, ";\n }\n ").trim();
146
+ var backgroundAnimation = !isRefreshVariant ? "\n ".concat(euiCanAnimate, " {\n transition:\n background-image ").concat(form.animationTiming, ",\n background-size ").concat(form.animationTiming, ",\n background-color ").concat(form.animationTiming, ";\n }\n ").trim() : '';
136
147
  return "\n ".concat(withBorder ? border : '', "\n ").concat(withBackgroundColor ? backgroundColor : '', "\n ").concat(withBackground ? backgroundGradient : '', "\n ").concat(withBackgroundAnimation ? backgroundAnimation : '', "\n ");
137
148
  };
149
+ var hoverSelector = '&:hover:not(:disabled, :focus, input[readonly], [class*="readOnly"])';
150
+ export var disableFormControlHoverStyles = function disableFormControlHoverStyles() {
151
+ return "\n ".concat(hoverSelector, " {\n outline: none;\n }\n");
152
+ };
153
+ export var euiFormControlHoverStyles = function euiFormControlHoverStyles(euiThemeContext) {
154
+ var euiTheme = euiThemeContext.euiTheme,
155
+ highContrastMode = euiThemeContext.highContrastMode;
156
+ var form = euiFormVariables(euiThemeContext);
157
+ return "\n ".concat(hoverSelector, " {\n --borderWidthBase: var(--euiFormControlStateWidth, ").concat(euiTheme.border.width.thin, ");\n --borderWidth: ").concat(highContrastMode ? euiTheme.border.width.thick : 'var(--borderWidthBase)', ";\n --borderColor: var(--euiFormControlStateHoverColor, ").concat(highContrastMode ? euiTheme.border.color : form.borderHovered, ");\n position: relative;\n z-index: 1;\n outline: var(--borderWidth) solid var(--borderColor);\n outline-offset: calc(-1 * var(--borderWidth));\n }\n ");
158
+ };
159
+ export var euiFormControlHighlightBorderStyles = "\n position: relative;\n z-index: 1;\n box-shadow: none;\n outline: var(--euiFormControlStateWidth) solid var(--euiFormControlStateColor);\n outline-offset: calc(-1 * var(--euiFormControlStateWidth));\n";
138
160
  export var euiFormControlFocusStyles = function euiFormControlFocusStyles(euiThemeContext) {
139
161
  var euiTheme = euiThemeContext.euiTheme;
162
+ var isRefreshVariant = isEuiThemeRefreshVariant(euiThemeContext, 'formVariant');
163
+ var form = euiFormVariables(euiThemeContext);
140
164
  var focusColor = euiTheme.colors.primary;
141
- return "\n --euiFormControlStateColor: ".concat(focusColor, ";\n background-color: ").concat(euiTheme.components.forms.backgroundFocused, ";\n ").concat(euiFormControlShowBackgroundUnderline(euiThemeContext, focusColor), "\n outline: none; /* Remove all outlines and rely on our own bottom border gradient */\n ");
165
+ return isRefreshVariant ? "\n --euiFormControlStateColor: ".concat(form.borderFocused, ";\n --euiFormControlStateHoverColor: ").concat(form.borderFocused, ";\n --euiFormControlStateWidth: ").concat(euiTheme.border.width.thick, ";\n ").concat(euiFormControlHighlightBorderStyles, "\n ").concat(highContrastModeStyles(euiThemeContext, {
166
+ forced: "\n ".concat(euiFormControlShowBackgroundLine(euiThemeContext, focusColor), "\n ")
167
+ }), "\n ") : "\n --euiFormControlStateColor: ".concat(focusColor, ";\n background-color: ").concat(euiTheme.components.forms.backgroundFocused, ";\n ").concat(euiFormControlShowBackgroundLine(euiThemeContext, focusColor), "\n outline: none; /* Remove all outlines and rely on our own bottom border gradient */\n ");
142
168
  };
143
169
  export var euiFormControlInvalidStyles = function euiFormControlInvalidStyles(euiThemeContext) {
144
- var euiTheme = euiThemeContext.euiTheme;
170
+ var euiTheme = euiThemeContext.euiTheme,
171
+ highContrastMode = euiThemeContext.highContrastMode;
172
+ var isRefreshVariant = isEuiThemeRefreshVariant(euiThemeContext, 'formVariant');
173
+ var form = euiFormVariables(euiThemeContext);
145
174
  var invalidColor = euiTheme.colors.danger;
146
- return "\n --euiFormControlStateColor: ".concat(invalidColor, ";\n ").concat(euiFormControlShowBackgroundUnderline(euiThemeContext, invalidColor), "\n ");
175
+ return isRefreshVariant ? "\n --euiFormControlStateColor: ".concat(form.borderInvalid, ";\n --euiFormControlStateHoverColor: ").concat(form.borderInvalidHovered, ";\n --euiFormControlStateWidth: ").concat(highContrastMode === 'preferred' ? euiTheme.border.width.thick : euiTheme.border.width.thin, ";\n \n ").concat(euiFormControlHighlightBorderStyles, "\n ").concat(euiFormControlShowBackgroundLine(euiThemeContext, invalidColor), "\n ") : "\n --euiFormControlStateColor: ".concat(invalidColor, ";\n ").concat(euiFormControlShowBackgroundLine(euiThemeContext, invalidColor), "\n ");
147
176
  };
148
177
  export var euiFormControlDisabledStyles = function euiFormControlDisabledStyles(euiThemeContext) {
178
+ var isRefreshVariant = isEuiThemeRefreshVariant(euiThemeContext, 'formVariant');
149
179
  var form = euiFormVariables(euiThemeContext);
150
- return "\n color: ".concat(form.textColorDisabled, ";\n /* Required for Safari */\n -webkit-text-fill-color: ").concat(form.textColorDisabled, ";\n background-color: ").concat(form.backgroundDisabledColor, ";\n cursor: not-allowed;\n --euiFormControlStateColor: transparent;\n\n ").concat(euiPlaceholderPerBrowser("\n color: ".concat(form.textColorDisabled, ";\n opacity: 1;\n ")), "\n ");
180
+ var refreshVariantStyles = "\n --euiFormControlStateHoverColor: transparent;\n --euiFormControlStateColor: ".concat(form.borderColor, ";\n ");
181
+ return "\n color: ".concat(form.textColorDisabled, ";\n /* Required for Safari */\n -webkit-text-fill-color: ").concat(form.textColorDisabled, ";\n background-color: ").concat(form.backgroundDisabledColor, ";\n cursor: not-allowed;\n --euiFormControlStateColor: transparent;\n\n ").concat(isRefreshVariant && refreshVariantStyles, "\n\n ").concat(euiPlaceholderPerBrowser("\n color: ".concat(form.textColorDisabled, ";\n opacity: 1;\n ")), "\n ");
151
182
  };
152
183
  export var euiFormControlReadOnlyStyles = function euiFormControlReadOnlyStyles(euiThemeContext) {
184
+ var euiTheme = euiThemeContext.euiTheme;
185
+ var isRefreshVariant = isEuiThemeRefreshVariant(euiThemeContext, 'formVariant');
153
186
  var form = euiFormVariables(euiThemeContext);
154
- return "\n cursor: default;\n color: ".concat(form.textColor, ";\n -webkit-text-fill-color: ").concat(form.textColor, "; /* Required for Safari */\n\n background-color: ").concat(form.backgroundReadOnlyColor, ";\n --euiFormControlStateColor: transparent;\n ").concat(highContrastModeStyles(euiThemeContext, {
187
+ var styles = isRefreshVariant ? "\n --euiFormControlStateColor: ".concat(form.borderColor, ";\n --euiFormControlStateHoverColor: ").concat(form.borderColor, ";\n --euiFormControlStateWidth: ").concat(euiTheme.border.width.thin, ";\n /* keep the input below wrapper borders */\n position: relative;\n z-index: 0;\n outline: none;\n box-shadow: inset 0 0 0 var(--euiFormControlStateWidth) var(--euiFormControlStateColor);\n\n ").concat(formControlLayoutWrapperSelector, "[class*=inGroup] & {\n box-shadow: none;\n }\n ").concat(highContrastModeStyles(euiThemeContext, {
188
+ preferred: 'box-shadow: none;'
189
+ }), "\n ") : "\n --euiFormControlStateColor: transparent;\n ".concat(highContrastModeStyles(euiThemeContext, {
155
190
  forced: 'background-image: none;'
156
- }), "\n ");
191
+ }), "\n ");
192
+ return "\n background-color: ".concat(form.backgroundReadOnlyColor, ";\n cursor: default;\n color: ").concat(form.textColor, ";\n -webkit-text-fill-color: ").concat(form.textColor, "; /* Required for Safari */\n\n ").concat(styles, "\n ");
157
193
  };
158
194
  export var euiFormControlAutoFillStyles = function euiFormControlAutoFillStyles(euiThemeContext) {
159
195
  var euiTheme = euiThemeContext.euiTheme;
196
+ var isRefreshVariant = isEuiThemeRefreshVariant(euiThemeContext, 'formVariant');
197
+ var form = euiFormVariables(euiThemeContext);
160
198
 
161
199
  // Make the text color slightly less prominent than the default colors.text
162
200
  var textColor = euiTheme.colors.darkestShade;
@@ -168,27 +206,39 @@ export var euiFormControlAutoFillStyles = function euiFormControlAutoFillStyles(
168
206
  // Re-create the border, since the above webkit box shadow overrides the default border box-shadow
169
207
  // + change the border color to match states, since the underline background gradient no longer works
170
208
  var borderColor = euiTheme.components.forms.borderAutofilled;
171
- var invalidBorder = euiTheme.colors.danger;
209
+ var borderHovered = euiTheme.components.forms.borderAutofilledHovered;
210
+ var borderInvalid = form.borderInvalid;
211
+ var borderInvalidHovered = form.borderInvalidHovered;
172
212
  var borderShadow = function borderShadow(color) {
173
213
  return "inset 0 0 0 ".concat(euiTheme.border.width.thin, " ").concat(color);
174
214
  };
215
+ var interactiveStyles = isRefreshVariant ? "\n &:hover,\n &:focus {\n -webkit-box-shadow: ".concat(borderShadow(borderHovered), ", ").concat(backgroundShadow, ";\n }\n\n &:invalid {\n -webkit-box-shadow: ").concat(borderShadow(borderInvalid), ", ").concat(backgroundShadow, ";\n\n &:hover {\n -webkit-box-shadow: ").concat(borderShadow(borderInvalidHovered), ", ").concat(backgroundShadow, ";\n }\n }\n ") : "\n &:invalid {\n -webkit-box-shadow: ".concat(borderShadow(borderInvalid), ", ").concat(backgroundShadow, ";\n }\n ");
175
216
 
176
217
  // These styles only apply/override Chrome/webkit browsers - Firefox does not set autofill styles
177
- return "\n &:-webkit-autofill {\n -webkit-text-fill-color: ".concat(textColor, ";\n -webkit-box-shadow: ").concat(borderShadow(borderColor), ", ").concat(backgroundShadow, ";\n\n &:invalid {\n -webkit-box-shadow: ").concat(borderShadow(invalidBorder), ", ").concat(backgroundShadow, ";\n }\n }\n ");
218
+ return "\n &:-webkit-autofill {\n -webkit-text-fill-color: ".concat(textColor, ";\n -webkit-box-shadow: ").concat(borderShadow(borderColor), ", ").concat(backgroundShadow, ";\n\n ").concat(interactiveStyles, "\n }\n ");
178
219
  };
179
- export var euiFormControlShowBackgroundUnderline = function euiFormControlShowBackgroundUnderline(euiThemeContext, color) {
180
- if (euiThemeContext.highContrastMode !== 'forced') {
220
+ export var euiFormControlShowBackgroundLine = function euiFormControlShowBackgroundLine(euiThemeContext, color) {
221
+ var euiTheme = euiThemeContext.euiTheme,
222
+ highContrastMode = euiThemeContext.highContrastMode;
223
+ var isRefreshVariant = isEuiThemeRefreshVariant(euiThemeContext, 'formVariant');
224
+ if (highContrastMode !== 'forced') {
181
225
  return 'background-size: 100% 100%;';
182
226
  }
227
+ var _euiFormVariables = euiFormVariables(euiThemeContext),
228
+ stateUnderlineHeight = _euiFormVariables.stateUnderlineHeight;
183
229
 
184
230
  // Windows high contrast themes ignore all background-images that aren't url-based,
185
231
  // so to restore the linear-gradient that provides important visual information, we're
186
232
  // using a static inline SVG workaround
187
233
  var fill = encodeURIComponent(color);
234
+ var strokeWidth = stateUnderlineHeight !== null && stateUnderlineHeight !== void 0 ? stateUnderlineHeight : '4px';
188
235
  var inlineSVG = "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg'%3E%3Crect width='100%25' height='100%25' fill='".concat(fill, "' /%3E%3C/svg%3E");
189
- var _euiFormVariables = euiFormVariables(euiThemeContext),
190
- stateUnderlineHeight = _euiFormVariables.stateUnderlineHeight;
191
- return "\n background-size: 100% ".concat(stateUnderlineHeight, ";\n background-image: url(\"").concat(inlineSVG, "\");\n ");
236
+ var refreshInlineSVG = "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg'%3E%3Crect width='100%25' height='100%25' style='fill:transparent;stroke-width:".concat(strokeWidth, ";stroke:").concat(fill, "' /%3E%3C/svg%3E");
237
+ return isRefreshVariant ? "\n background-size: calc(100% - ".concat(mathWithUnits(strokeWidth, function (x) {
238
+ return x / 2;
239
+ }), ") calc(100% - ").concat(mathWithUnits(strokeWidth, function (x) {
240
+ return x / 2;
241
+ }), ");\n background-position: ").concat(euiTheme.border.width.thin, ";\n background-image: url(\"").concat(refreshInlineSVG, "\");\n ") : "\n background-size: 100% ".concat(stateUnderlineHeight, ";\n background-image: url(\"").concat(inlineSVG, "\");\n ");
192
242
  };
193
243
  var euiPlaceholderPerBrowser = function euiPlaceholderPerBrowser(content) {
194
244
  return "\n &::-webkit-input-placeholder { ".concat(content, " }\n &::-moz-placeholder { ").concat(content, " }\n &:-ms-input-placeholder { ").concat(content, " }\n &:-moz-placeholder { ").concat(content, " }\n &::placeholder { ").concat(content, " }\n");