@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
@@ -110,111 +110,117 @@ var EuiFilePickerClass = exports.EuiFilePickerClass = /*#__PURE__*/function (_Co
110
110
  var _this2 = this;
111
111
  var _ref = this.context,
112
112
  defaultFullWidth = _ref.defaultFullWidth;
113
- return (0, _react2.jsx)(_i18n.EuiI18n, {
114
- token: "euiFilePicker.removeSelectedAriaLabel",
115
- default: "Remove selected files"
116
- }, function (removeSelectedAriaLabel) {
117
- var _this2$props = _this2.props,
118
- stylesMemoizer = _this2$props.stylesMemoizer,
119
- id = _this2$props.id,
120
- name = _this2$props.name,
121
- initialPromptText = _this2$props.initialPromptText,
122
- className = _this2$props.className,
123
- disabled = _this2$props.disabled,
124
- compressed = _this2$props.compressed,
125
- onChange = _this2$props.onChange,
126
- isInvalid = _this2$props.isInvalid,
127
- _this2$props$fullWidt = _this2$props.fullWidth,
128
- fullWidth = _this2$props$fullWidt === void 0 ? defaultFullWidth : _this2$props$fullWidt,
129
- isLoading = _this2$props.isLoading,
130
- display = _this2$props.display,
131
- rest = (0, _objectWithoutProperties2.default)(_this2$props, _excluded);
132
- var promptId = "".concat(id || _this2.generatedId, "-filePicker__prompt");
133
- var isOverridingInitialPrompt = _this2.state.promptText != null;
134
- var normalFormControl = display === 'default';
135
- var classes = (0, _classnames.default)('euiFilePicker', {
136
- 'euiFilePicker-isDroppingFile': _this2.state.isHoveringDrop,
137
- 'euiFilePicker-isInvalid': isInvalid,
138
- 'euiFilePicker-isLoading': isLoading,
139
- 'euiFilePicker-hasFiles': isOverridingInitialPrompt
140
- }, className);
141
- var styles = stylesMemoizer(_file_picker.euiFilePickerStyles);
142
- 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];
143
- var inputStyles = [styles.input.euiFilePicker__input, !normalFormControl && !disabled && styles.input.largeInteractive];
144
- var promptStyles = [styles.euiFilePicker__prompt, disabled && styles.disabled].concat((0, _toConsumableArray2.default)(normalFormControl ? [compressed ? styles.compressed : styles.uncompressed] : [styles.large.large, compressed ? styles.large.compressed : styles.large.uncompressed]));
145
- var iconStyles = [styles.icon.euiFilePicker__icon].concat((0, _toConsumableArray2.default)(normalFormControl ? [styles.icon.normal, compressed ? styles.icon.compresssed : styles.icon.uncompressed] : [styles.icon.large]));
146
- var rightIconStyles = normalFormControl ? [styles.rightIcon.euiFilePicker__rightIcon, compressed ? styles.rightIcon.compressed : styles.rightIcon.uncompressed] : undefined;
147
- var clearButton;
148
- if (isLoading && normalFormControl) {
149
- // Override clear button with loading spinner if it is in loading state
150
- clearButton = (0, _react2.jsx)(_loading.EuiLoadingSpinner, {
151
- css: rightIconStyles,
152
- className: "euiFilePicker__loadingSpinner",
153
- size: compressed ? 's' : 'm'
154
- });
155
- } else if (isOverridingInitialPrompt && !disabled) {
156
- if (normalFormControl) {
157
- clearButton = (0, _react2.jsx)(_form_control_layout_clear_button.EuiFormControlLayoutClearButton, {
158
- "aria-label": removeSelectedAriaLabel,
159
- css: [styles.euiFilePicker__clearButton, rightIconStyles, ";label:clearButton;"],
160
- className: "euiFilePicker__clearButton",
161
- onClick: _this2.removeFiles,
113
+ return (0, _react2.jsx)(_services.RenderWithEuiTheme, null, function (euiThemeContext) {
114
+ return (0, _react2.jsx)(_i18n.EuiI18n, {
115
+ token: "euiFilePicker.removeSelectedAriaLabel",
116
+ default: "Remove selected files"
117
+ }, function (removeSelectedAriaLabel) {
118
+ var _this2$props = _this2.props,
119
+ stylesMemoizer = _this2$props.stylesMemoizer,
120
+ id = _this2$props.id,
121
+ name = _this2$props.name,
122
+ initialPromptText = _this2$props.initialPromptText,
123
+ className = _this2$props.className,
124
+ disabled = _this2$props.disabled,
125
+ compressed = _this2$props.compressed,
126
+ onChange = _this2$props.onChange,
127
+ isInvalid = _this2$props.isInvalid,
128
+ _this2$props$fullWidt = _this2$props.fullWidth,
129
+ fullWidth = _this2$props$fullWidt === void 0 ? defaultFullWidth : _this2$props$fullWidt,
130
+ isLoading = _this2$props.isLoading,
131
+ display = _this2$props.display,
132
+ rest = (0, _objectWithoutProperties2.default)(_this2$props, _excluded);
133
+ var isRefreshVariant = (0, _services.isEuiThemeRefreshVariant)(euiThemeContext, 'formVariant');
134
+ var promptId = "".concat(id || _this2.generatedId, "-filePicker__prompt");
135
+ var isOverridingInitialPrompt = _this2.state.promptText != null;
136
+ var normalFormControl = display === 'default';
137
+ var classes = (0, _classnames.default)('euiFilePicker', {
138
+ 'euiFilePicker-isDroppingFile': _this2.state.isHoveringDrop,
139
+ 'euiFilePicker-isInvalid': isInvalid,
140
+ 'euiFilePicker-isLoading': isLoading,
141
+ 'euiFilePicker-hasFiles': isOverridingInitialPrompt
142
+ }, className);
143
+ var styles = stylesMemoizer(_file_picker.euiFilePickerStyles);
144
+ 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];
145
+ var inputStyles = [styles.input.euiFilePicker__input, !normalFormControl && !disabled && styles.input.largeInteractive];
146
+ var promptStyles = [styles.euiFilePicker__prompt, disabled && styles.disabled].concat((0, _toConsumableArray2.default)(normalFormControl ? [compressed ? styles.compressed : styles.uncompressed] : [styles.large.large, compressed ? styles.large.compressed : styles.large.uncompressed]));
147
+ var iconStyles = [styles.icon.euiFilePicker__icon].concat((0, _toConsumableArray2.default)(normalFormControl ? [styles.icon.normal, compressed ? styles.icon.compresssed : styles.icon.uncompressed] : [styles.icon.large]));
148
+ var rightIconStyles = normalFormControl ? [styles.rightIcon.euiFilePicker__rightIcon, compressed ? styles.rightIcon.compressed : styles.rightIcon.uncompressed] : undefined;
149
+ var clearButton;
150
+ if (isLoading && normalFormControl) {
151
+ // Override clear button with loading spinner if it is in loading state
152
+ clearButton = (0, _react2.jsx)(_loading.EuiLoadingSpinner, {
153
+ css: rightIconStyles,
154
+ className: "euiFilePicker__loadingSpinner",
162
155
  size: compressed ? 's' : 'm'
163
156
  });
157
+ } else if (isOverridingInitialPrompt && !disabled) {
158
+ if (normalFormControl) {
159
+ clearButton = (0, _react2.jsx)(_form_control_layout_clear_button.EuiFormControlLayoutClearButton, {
160
+ "aria-label": removeSelectedAriaLabel,
161
+ css: [styles.euiFilePicker__clearButton, rightIconStyles, ";label:clearButton;"],
162
+ className: "euiFilePicker__clearButton",
163
+ onClick: _this2.removeFiles,
164
+ size: compressed ? 's' : 'm'
165
+ });
166
+ } else {
167
+ clearButton = (0, _react2.jsx)(_button.EuiButtonEmpty, {
168
+ "aria-label": removeSelectedAriaLabel,
169
+ css: styles.euiFilePicker__clearButton,
170
+ className: "euiFilePicker__clearButton",
171
+ size: "xs",
172
+ onClick: _this2.removeFiles
173
+ }, (0, _react2.jsx)(_i18n.EuiI18n, {
174
+ token: "euiFilePicker.removeSelected",
175
+ default: "Remove"
176
+ }));
177
+ }
164
178
  } else {
165
- clearButton = (0, _react2.jsx)(_button.EuiButtonEmpty, {
166
- "aria-label": removeSelectedAriaLabel,
167
- css: styles.euiFilePicker__clearButton,
168
- className: "euiFilePicker__clearButton",
169
- size: "xs",
170
- onClick: _this2.removeFiles
171
- }, (0, _react2.jsx)(_i18n.EuiI18n, {
172
- token: "euiFilePicker.removeSelected",
173
- default: "Remove"
174
- }));
179
+ clearButton = null;
175
180
  }
176
- } else {
177
- clearButton = null;
178
- }
179
- var loader = !normalFormControl && isLoading && (0, _react2.jsx)(_progress.EuiProgress, {
180
- size: "xs",
181
- color: "accent",
182
- position: "absolute"
181
+ var loader = !normalFormControl && isLoading && (0, _react2.jsx)(_progress.EuiProgress, {
182
+ size: "xs",
183
+ color: "accent",
184
+ position: "absolute"
185
+ });
186
+
187
+ // Currently this tenary is a little complex, it'll be simplified once we remove Amsterdam
188
+ var iconColor = isInvalid ? 'danger' : disabled ? isRefreshVariant ? 'disabled' : 'subdued' : isRefreshVariant ? 'text' : 'primary';
189
+ return (0, _react2.jsx)("div", {
190
+ css: cssStyles,
191
+ className: classes
192
+ }, (0, _react2.jsx)(_validatable_control.EuiValidatableControl, {
193
+ isInvalid: isInvalid
194
+ }, (0, _react2.jsx)("input", (0, _extends2.default)({
195
+ type: "file",
196
+ id: id,
197
+ name: name,
198
+ css: inputStyles,
199
+ className: "euiFilePicker__input",
200
+ onChange: _this2.handleChange,
201
+ ref: function ref(input) {
202
+ _this2.fileInput = input;
203
+ },
204
+ onDragOver: _this2.showDrop,
205
+ onDragLeave: _this2.hideDrop,
206
+ onDrop: _this2.hideDrop,
207
+ disabled: disabled,
208
+ "aria-describedby": promptId
209
+ }, rest))), (0, _react2.jsx)("div", {
210
+ css: promptStyles,
211
+ className: "euiFilePicker__prompt",
212
+ id: promptId
213
+ }, (0, _react2.jsx)(_icon.EuiIcon, {
214
+ css: iconStyles,
215
+ className: "euiFilePicker__icon",
216
+ color: iconColor,
217
+ type: isInvalid ? 'alert' : isRefreshVariant && disabled ? 'minusInCircle' : 'importAction',
218
+ size: normalFormControl ? 'm' : 'l',
219
+ "aria-hidden": "true"
220
+ }), (0, _react2.jsx)("span", {
221
+ className: "euiFilePicker__promptText"
222
+ }, _this2.state.promptText || initialPromptText), clearButton, loader));
183
223
  });
184
- return (0, _react2.jsx)("div", {
185
- css: cssStyles,
186
- className: classes
187
- }, (0, _react2.jsx)(_validatable_control.EuiValidatableControl, {
188
- isInvalid: isInvalid
189
- }, (0, _react2.jsx)("input", (0, _extends2.default)({
190
- type: "file",
191
- id: id,
192
- name: name,
193
- css: inputStyles,
194
- className: "euiFilePicker__input",
195
- onChange: _this2.handleChange,
196
- ref: function ref(input) {
197
- _this2.fileInput = input;
198
- },
199
- onDragOver: _this2.showDrop,
200
- onDragLeave: _this2.hideDrop,
201
- onDrop: _this2.hideDrop,
202
- disabled: disabled,
203
- "aria-describedby": promptId
204
- }, rest))), (0, _react2.jsx)("div", {
205
- css: promptStyles,
206
- className: "euiFilePicker__prompt",
207
- id: promptId
208
- }, (0, _react2.jsx)(_icon.EuiIcon, {
209
- css: iconStyles,
210
- className: "euiFilePicker__icon",
211
- color: isInvalid ? 'danger' : disabled ? 'subdued' : 'primary',
212
- type: isInvalid ? 'alert' : 'importAction',
213
- size: normalFormControl ? 'm' : 'l',
214
- "aria-hidden": "true"
215
- }), (0, _react2.jsx)("span", {
216
- className: "euiFilePicker__promptText"
217
- }, _this2.state.promptText || initialPromptText), clearButton, loader));
218
224
  });
219
225
  }
220
226
  }]);
@@ -5,6 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.euiFilePickerStyles = void 0;
7
7
  var _react = require("@emotion/react");
8
+ var _services = require("../../../services");
8
9
  var _global_styling = require("../../../global_styling");
9
10
  var _form = require("../form.styles");
10
11
  function _EMOTION_STRINGIFIED_CSS_ERROR__() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; } /*
@@ -31,14 +32,6 @@ var _ref2 = process.env.NODE_ENV === "production" ? {
31
32
  toString: _EMOTION_STRINGIFIED_CSS_ERROR__
32
33
  };
33
34
  var _ref3 = process.env.NODE_ENV === "production" ? {
34
- name: "19x04ih-largeInteractive",
35
- styles: "&:hover,&:focus,.euiFilePicker-isDroppingFile &{&+.euiFilePicker__prompt{.euiFilePicker__promptText{text-decoration:underline;}.euiFilePicker__icon{transform:scale(1.1);}}};label:largeInteractive;"
36
- } : {
37
- name: "19x04ih-largeInteractive",
38
- styles: "&:hover,&:focus,.euiFilePicker-isDroppingFile &{&+.euiFilePicker__prompt{.euiFilePicker__promptText{text-decoration:underline;}.euiFilePicker__icon{transform:scale(1.1);}}};label:largeInteractive;",
39
- toString: _EMOTION_STRINGIFIED_CSS_ERROR__
40
- };
41
- var _ref4 = process.env.NODE_ENV === "production" ? {
42
35
  name: "1j9s7hu-euiFilePicker__input",
43
36
  styles: "position:absolute;inset:0;opacity:0;&:hover{cursor:pointer;}&:hover:disabled{cursor:not-allowed;}&:disabled{opacity:0;};label:euiFilePicker__input;"
44
37
  } : {
@@ -47,16 +40,22 @@ var _ref4 = process.env.NODE_ENV === "production" ? {
47
40
  toString: _EMOTION_STRINGIFIED_CSS_ERROR__
48
41
  };
49
42
  var euiFilePickerStyles = exports.euiFilePickerStyles = function euiFilePickerStyles(euiThemeContext) {
50
- var euiTheme = euiThemeContext.euiTheme;
43
+ var euiTheme = euiThemeContext.euiTheme,
44
+ highContrastMode = euiThemeContext.highContrastMode;
45
+ var isRefreshVariant = (0, _services.isEuiThemeRefreshVariant)(euiThemeContext, 'formVariant');
51
46
  var formStyles = (0, _form.euiFormControlStyles)(euiThemeContext);
52
47
  var formVariables = (0, _form.euiFormVariables)(euiThemeContext);
53
48
  var _euiFontSize = (0, _global_styling.euiFontSize)(euiThemeContext, 's'),
54
49
  fontSize = _euiFontSize.fontSize,
55
50
  lineHeight = _euiFontSize.lineHeight;
56
51
  return {
57
- euiFilePicker: /*#__PURE__*/(0, _react.css)("--euiFormControlLeftIconsCount:1;position:relative;&:has(input:focus){--euiFormControlStateColor:", euiTheme.colors.primary, ";};label:euiFilePicker;"),
58
- isDroppingFile: /*#__PURE__*/(0, _react.css)("--euiFormControlStateColor:", euiTheme.colors.primary, ";;label:isDroppingFile;"),
59
- invalid: /*#__PURE__*/(0, _react.css)("--euiFormControlStateColor:", euiTheme.colors.danger, ";;label:invalid;"),
52
+ euiFilePicker: /*#__PURE__*/(0, _react.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{", (0, _global_styling.highContrastModeStyles)(euiThemeContext, {
53
+ forced: "\n ".concat((0, _form.euiFormControlShowBackgroundLine)(euiThemeContext, formVariables.borderFocused), "\n ")
54
+ }), ";};label:euiFilePicker;"),
55
+ isDroppingFile: /*#__PURE__*/(0, _react.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;"),
56
+ invalid: /*#__PURE__*/(0, _react.css)("--euiFormControlStateColor:", formVariables.borderInvalid, ";&:hover{--euiFormControlStateColor:", formVariables.borderInvalidHovered, ";}", (0, _global_styling.highContrastModeStyles)(euiThemeContext, {
57
+ forced: "\n ".concat((0, _form.euiFormControlShowBackgroundLine)(euiThemeContext, formVariables.borderInvalid), "\n ")
58
+ }), ";;label:invalid;"),
60
59
  hasFiles: /*#__PURE__*/(0, _react.css)("--euiFormControlRightIconsCount:1;font-weight:", euiTheme.font.weight.bold, ";;label:hasFiles;"),
61
60
  loading: /*#__PURE__*/(0, _react.css)("--euiFormControlRightIconsCount:1;border-radius:", formVariables.controlCompressedBorderRadius, ";overflow:hidden;;label:loading;"),
62
61
  // Skip the css() on the default width to avoid generating a className
@@ -64,10 +63,12 @@ var euiFilePickerStyles = exports.euiFilePickerStyles = function euiFilePickerSt
64
63
  fullWidth: /*#__PURE__*/(0, _react.css)(formStyles.fullWidth, ";label:fullWidth;"),
65
64
  // The input is an invisible dropzone / button
66
65
  input: {
67
- euiFilePicker__input: _ref4,
68
- largeInteractive: _ref3
66
+ euiFilePicker__input: _ref3,
67
+ largeInteractive: /*#__PURE__*/(0, _react.css)("&:hover,&:focus,.euiFilePicker-isDroppingFile &{&+.euiFilePicker__prompt{.euiFilePicker__promptText{text-decoration:", isRefreshVariant ? '' : 'underline', ";", (0, _global_styling.highContrastModeStyles)(euiThemeContext, {
68
+ forced: "\n text-decoration: underline;\n "
69
+ }), ";}.euiFilePicker__icon{transform:scale(", isRefreshVariant ? 1.05 : 1.1, ");}}};label:largeInteractive;")
69
70
  },
70
- euiFilePicker__prompt: /*#__PURE__*/(0, _react.css)("pointer-events:none;font-size:", fontSize, ";line-height:1;", (0, _global_styling.euiTextTruncate)(), " color:", euiTheme.colors.textParagraph, ";border:", euiTheme.border.width.thick, " dashed var(--euiFormControlStateColor, ", euiTheme.border.color, ");", _global_styling.euiCanAnimate, "{transition:border-color ", euiTheme.animation.fast, " ease-in,background-color ", euiTheme.animation.fast, " ease-in;};label:euiFilePicker__prompt;"),
71
+ euiFilePicker__prompt: /*#__PURE__*/(0, _react.css)("pointer-events:none;font-size:", fontSize, ";line-height:1;", (0, _global_styling.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 );", _global_styling.euiCanAnimate, "{transition:border-color ", euiTheme.animation.fast, " ease-in,background-color ", euiTheme.animation.fast, " ease-in;};label:euiFilePicker__prompt;"),
71
72
  disabled: /*#__PURE__*/(0, _react.css)(formStyles.disabled, ";label:disabled;"),
72
73
  // Skip the css() on the default height to avoid generating a className
73
74
  uncompressed: formStyles.uncompressed,
@@ -4,7 +4,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- exports.euiFormVariables = exports.euiFormMaxWidth = exports.euiFormCustomControlVariables = exports.euiFormCustomControlStyles = exports.euiFormControlText = exports.euiFormControlStyles = exports.euiFormControlShowBackgroundUnderline = exports.euiFormControlReadOnlyStyles = exports.euiFormControlInvalidStyles = exports.euiFormControlFocusStyles = exports.euiFormControlDisabledStyles = exports.euiFormControlDefaultShadow = exports.euiFormControlAutoFillStyles = void 0;
7
+ exports.euiFormVariables = exports.euiFormMaxWidth = exports.euiFormCustomControlVariables = exports.euiFormCustomControlStyles = exports.euiFormControlText = exports.euiFormControlStyles = exports.euiFormControlShowBackgroundLine = exports.euiFormControlReadOnlyStyles = exports.euiFormControlInvalidStyles = exports.euiFormControlHoverStyles = exports.euiFormControlHighlightBorderStyles = exports.euiFormControlFocusStyles = exports.euiFormControlDisabledStyles = exports.euiFormControlDefaultShadow = exports.euiFormControlAutoFillStyles = exports.disableFormControlHoverStyles = void 0;
8
8
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
9
9
  var _services = require("../../services");
10
10
  var _global_styling = require("../../global_styling");
@@ -27,6 +27,7 @@ var euiFormMaxWidth = exports.euiFormMaxWidth = function euiFormMaxWidth(_ref) {
27
27
  var euiFormVariables = exports.euiFormVariables = function euiFormVariables(euiThemeContext) {
28
28
  var euiTheme = euiThemeContext.euiTheme,
29
29
  highContrastMode = euiThemeContext.highContrastMode;
30
+ var isRefreshVariant = (0, _services.isEuiThemeRefreshVariant)(euiThemeContext, 'formVariant');
30
31
  var backgroundColor = highContrastMode ? euiTheme.colors.emptyShade : euiTheme.components.forms.background;
31
32
  var controlHeight = euiTheme.size.xxl;
32
33
  var controlCompressedHeight = euiTheme.size.xl;
@@ -36,12 +37,12 @@ var euiFormVariables = exports.euiFormVariables = function euiFormVariables(euiT
36
37
  controlCompressedHeight: controlCompressedHeight,
37
38
  controlPadding: euiTheme.size.m,
38
39
  controlCompressedPadding: euiTheme.size.s,
39
- controlBorderRadius: euiTheme.border.radius.medium,
40
+ controlBorderRadius: isRefreshVariant ? euiTheme.border.radius.small : euiTheme.border.radius.medium,
40
41
  controlCompressedBorderRadius: euiTheme.border.radius.small,
41
42
  iconAffordance: (0, _global_styling.mathWithUnits)(euiTheme.size.base, function (x) {
42
43
  return x * 1.5;
43
44
  }),
44
- iconCompressedAffordance: (0, _global_styling.mathWithUnits)(euiTheme.size.m, function (x) {
45
+ iconCompressedAffordance: (0, _global_styling.mathWithUnits)(isRefreshVariant ? euiTheme.size.base : euiTheme.size.m, function (x) {
45
46
  return x * 1.5;
46
47
  }),
47
48
  stateUnderlineHeight: highContrastMode ? (0, _global_styling.mathWithUnits)(euiTheme.border.width.thick, function (x) {
@@ -55,9 +56,13 @@ var euiFormVariables = exports.euiFormVariables = function euiFormVariables(euiT
55
56
  backgroundDisabledColor: euiTheme.components.forms.backgroundDisabled,
56
57
  backgroundReadOnlyColor: euiTheme.components.forms.backgroundReadOnly,
57
58
  borderColor: highContrastMode ? euiTheme.border.color : euiTheme.components.forms.border,
59
+ borderHovered: euiTheme.components.forms.borderHovered,
60
+ borderFocused: euiTheme.components.forms.borderFocused,
61
+ borderInvalid: euiTheme.components.forms.borderInvalid,
62
+ borderInvalidHovered: euiTheme.components.forms.borderInvalidHovered,
58
63
  controlDisabledColor: euiTheme.components.forms.controlBackgroundDisabled,
59
64
  controlBoxShadow: '0 0 transparent',
60
- controlPlaceholderText: (0, _services.makeHighContrastColor)(euiTheme.colors.textSubdued)(backgroundColor),
65
+ controlPlaceholderText: isRefreshVariant ? highContrastMode ? (0, _services.makeHighContrastColor)(euiTheme.components.forms.colorDisabled)(backgroundColor) : euiTheme.components.forms.colorDisabled : (0, _services.makeHighContrastColor)(euiTheme.colors.textSubdued)(backgroundColor),
61
66
  appendPrependBackground: euiTheme.components.forms.prependBackground
62
67
  };
63
68
  var controlLayout = {
@@ -82,7 +87,9 @@ var euiFormVariables = exports.euiFormVariables = function euiFormVariables(euiT
82
87
  animationTiming: "".concat(euiTheme.animation.fast, " ease-in")
83
88
  });
84
89
  };
90
+ var formControlLayoutWrapperSelector = '.euiFormControlLayout__childrenWrapper';
85
91
  var euiFormControlStyles = exports.euiFormControlStyles = function euiFormControlStyles(euiThemeContext) {
92
+ var isRefreshVariant = (0, _services.isEuiThemeRefreshVariant)(euiThemeContext, 'formVariant');
86
93
  var form = euiFormVariables(euiThemeContext);
87
94
  return {
88
95
  shared: "\n ".concat(euiFormControlText(euiThemeContext), "\n ").concat(euiFormControlDefaultShadow(euiThemeContext), "\n "),
@@ -93,7 +100,7 @@ var euiFormControlStyles = exports.euiFormControlStyles = function euiFormContro
93
100
  inGroup: "\n ".concat((0, _global_styling.logicalCSS)('height', '100%'), "\n ").concat((0, _high_contrast.highContrastModeStyles)(euiThemeContext, {
94
101
  none: 'box-shadow: none;',
95
102
  preferred: 'border: none;'
96
- }), "\n border-radius: 0;\n "),
103
+ }), "\n border-radius: ").concat(isRefreshVariant ? 'inherit' : '0', ";\n "),
97
104
  // Widths
98
105
  formWidth: "\n ".concat((0, _global_styling.logicalCSS)('max-width', form.maxWidth), "\n ").concat((0, _global_styling.logicalCSS)('width', '100%'), "\n "),
99
106
  fullWidth: "\n ".concat((0, _global_styling.logicalCSS)('max-width', '100%'), "\n ").concat((0, _global_styling.logicalCSS)('width', '100%'), "\n "),
@@ -123,44 +130,75 @@ var euiFormControlDefaultShadow = exports.euiFormControlDefaultShadow = function
123
130
  _ref2$withBackgroundA = _ref2.withBackgroundAnimation,
124
131
  withBackgroundAnimation = _ref2$withBackgroundA === void 0 ? withBackground : _ref2$withBackgroundA;
125
132
  var euiTheme = euiThemeContext.euiTheme;
133
+ var isRefreshVariant = (0, _services.isEuiThemeRefreshVariant)(euiThemeContext, 'formVariant');
126
134
  var form = euiFormVariables(euiThemeContext);
127
135
  var border = (0, _high_contrast.highContrastModeStyles)(euiThemeContext, {
128
136
  // We use inset box-shadow instead of border to skip extra height calculations
129
- none: "\n border: none;\n box-shadow: inset 0 0 0 ".concat(euiTheme.border.width.thin, " ").concat(form.borderColor, ";\n "),
137
+ 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 "),
130
138
  // In high contrast mode, this doesn't matter - we need to prioritize visibility
131
- preferred: "\n border: ".concat(euiTheme.border.width.thin, " solid ").concat(euiTheme.border.color, ";\n ")
139
+ preferred: "\n border: ".concat(euiTheme.border.width.thin, " solid ").concat(euiTheme.border.color, ";\n\n ").concat(euiFormControlHoverStyles(euiThemeContext), "\n ")
132
140
  });
133
141
  var backgroundColor = "\n background-color: ".concat(form.backgroundColor, ";\n ").trim();
134
142
  var backgroundGradient = (0, _high_contrast.highContrastModeStyles)(euiThemeContext, {
135
- 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 "),
143
+ 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 ? (0, _global_styling.mathWithUnits)([euiTheme.border.width.thick, euiTheme.border.width.thin], function (x, y) {
144
+ return x + y;
145
+ } // account for pseudo element border
146
+ ) : form.stateUnderlineHeight, ",\n transparent ").concat(form.stateUnderlineHeight, ",\n transparent 100%\n );\n ") : '',
136
147
  // Windows high contrast mode overrides/hides background gradients - we'll need another approach
137
148
  forced: "\n background-repeat: no-repeat;\n background-size: 0% ".concat(form.stateUnderlineHeight, ";\n background-position: bottom left;\n background-origin: border-box;\n ")
138
149
  });
139
- var backgroundAnimation = "\n ".concat(_global_styling.euiCanAnimate, " {\n transition:\n background-image ").concat(form.animationTiming, ",\n background-size ").concat(form.animationTiming, ",\n background-color ").concat(form.animationTiming, ";\n }\n ").trim();
150
+ var backgroundAnimation = !isRefreshVariant ? "\n ".concat(_global_styling.euiCanAnimate, " {\n transition:\n background-image ").concat(form.animationTiming, ",\n background-size ").concat(form.animationTiming, ",\n background-color ").concat(form.animationTiming, ";\n }\n ").trim() : '';
140
151
  return "\n ".concat(withBorder ? border : '', "\n ").concat(withBackgroundColor ? backgroundColor : '', "\n ").concat(withBackground ? backgroundGradient : '', "\n ").concat(withBackgroundAnimation ? backgroundAnimation : '', "\n ");
141
152
  };
153
+ var hoverSelector = '&:hover:not(:disabled, :focus, input[readonly], [class*="readOnly"])';
154
+ var disableFormControlHoverStyles = exports.disableFormControlHoverStyles = function disableFormControlHoverStyles() {
155
+ return "\n ".concat(hoverSelector, " {\n outline: none;\n }\n");
156
+ };
157
+ var euiFormControlHoverStyles = exports.euiFormControlHoverStyles = function euiFormControlHoverStyles(euiThemeContext) {
158
+ var euiTheme = euiThemeContext.euiTheme,
159
+ highContrastMode = euiThemeContext.highContrastMode;
160
+ var form = euiFormVariables(euiThemeContext);
161
+ 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 ");
162
+ };
163
+ var euiFormControlHighlightBorderStyles = exports.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";
142
164
  var euiFormControlFocusStyles = exports.euiFormControlFocusStyles = function euiFormControlFocusStyles(euiThemeContext) {
143
165
  var euiTheme = euiThemeContext.euiTheme;
166
+ var isRefreshVariant = (0, _services.isEuiThemeRefreshVariant)(euiThemeContext, 'formVariant');
167
+ var form = euiFormVariables(euiThemeContext);
144
168
  var focusColor = euiTheme.colors.primary;
145
- 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 ");
169
+ return isRefreshVariant ? "\n --euiFormControlStateColor: ".concat(form.borderFocused, ";\n --euiFormControlStateHoverColor: ").concat(form.borderFocused, ";\n --euiFormControlStateWidth: ").concat(euiTheme.border.width.thick, ";\n ").concat(euiFormControlHighlightBorderStyles, "\n ").concat((0, _high_contrast.highContrastModeStyles)(euiThemeContext, {
170
+ forced: "\n ".concat(euiFormControlShowBackgroundLine(euiThemeContext, focusColor), "\n ")
171
+ }), "\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 ");
146
172
  };
147
173
  var euiFormControlInvalidStyles = exports.euiFormControlInvalidStyles = function euiFormControlInvalidStyles(euiThemeContext) {
148
- var euiTheme = euiThemeContext.euiTheme;
174
+ var euiTheme = euiThemeContext.euiTheme,
175
+ highContrastMode = euiThemeContext.highContrastMode;
176
+ var isRefreshVariant = (0, _services.isEuiThemeRefreshVariant)(euiThemeContext, 'formVariant');
177
+ var form = euiFormVariables(euiThemeContext);
149
178
  var invalidColor = euiTheme.colors.danger;
150
- return "\n --euiFormControlStateColor: ".concat(invalidColor, ";\n ").concat(euiFormControlShowBackgroundUnderline(euiThemeContext, invalidColor), "\n ");
179
+ 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 ");
151
180
  };
152
181
  var euiFormControlDisabledStyles = exports.euiFormControlDisabledStyles = function euiFormControlDisabledStyles(euiThemeContext) {
182
+ var isRefreshVariant = (0, _services.isEuiThemeRefreshVariant)(euiThemeContext, 'formVariant');
153
183
  var form = euiFormVariables(euiThemeContext);
154
- 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 ");
184
+ var refreshVariantStyles = "\n --euiFormControlStateHoverColor: transparent;\n --euiFormControlStateColor: ".concat(form.borderColor, ";\n ");
185
+ 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 ");
155
186
  };
156
187
  var euiFormControlReadOnlyStyles = exports.euiFormControlReadOnlyStyles = function euiFormControlReadOnlyStyles(euiThemeContext) {
188
+ var euiTheme = euiThemeContext.euiTheme;
189
+ var isRefreshVariant = (0, _services.isEuiThemeRefreshVariant)(euiThemeContext, 'formVariant');
157
190
  var form = euiFormVariables(euiThemeContext);
158
- 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((0, _high_contrast.highContrastModeStyles)(euiThemeContext, {
191
+ 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((0, _high_contrast.highContrastModeStyles)(euiThemeContext, {
192
+ preferred: 'box-shadow: none;'
193
+ }), "\n ") : "\n --euiFormControlStateColor: transparent;\n ".concat((0, _high_contrast.highContrastModeStyles)(euiThemeContext, {
159
194
  forced: 'background-image: none;'
160
- }), "\n ");
195
+ }), "\n ");
196
+ 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 ");
161
197
  };
162
198
  var euiFormControlAutoFillStyles = exports.euiFormControlAutoFillStyles = function euiFormControlAutoFillStyles(euiThemeContext) {
163
199
  var euiTheme = euiThemeContext.euiTheme;
200
+ var isRefreshVariant = (0, _services.isEuiThemeRefreshVariant)(euiThemeContext, 'formVariant');
201
+ var form = euiFormVariables(euiThemeContext);
164
202
 
165
203
  // Make the text color slightly less prominent than the default colors.text
166
204
  var textColor = euiTheme.colors.darkestShade;
@@ -172,27 +210,39 @@ var euiFormControlAutoFillStyles = exports.euiFormControlAutoFillStyles = functi
172
210
  // Re-create the border, since the above webkit box shadow overrides the default border box-shadow
173
211
  // + change the border color to match states, since the underline background gradient no longer works
174
212
  var borderColor = euiTheme.components.forms.borderAutofilled;
175
- var invalidBorder = euiTheme.colors.danger;
213
+ var borderHovered = euiTheme.components.forms.borderAutofilledHovered;
214
+ var borderInvalid = form.borderInvalid;
215
+ var borderInvalidHovered = form.borderInvalidHovered;
176
216
  var borderShadow = function borderShadow(color) {
177
217
  return "inset 0 0 0 ".concat(euiTheme.border.width.thin, " ").concat(color);
178
218
  };
219
+ 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 ");
179
220
 
180
221
  // These styles only apply/override Chrome/webkit browsers - Firefox does not set autofill styles
181
- 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 ");
222
+ 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 ");
182
223
  };
183
- var euiFormControlShowBackgroundUnderline = exports.euiFormControlShowBackgroundUnderline = function euiFormControlShowBackgroundUnderline(euiThemeContext, color) {
184
- if (euiThemeContext.highContrastMode !== 'forced') {
224
+ var euiFormControlShowBackgroundLine = exports.euiFormControlShowBackgroundLine = function euiFormControlShowBackgroundLine(euiThemeContext, color) {
225
+ var euiTheme = euiThemeContext.euiTheme,
226
+ highContrastMode = euiThemeContext.highContrastMode;
227
+ var isRefreshVariant = (0, _services.isEuiThemeRefreshVariant)(euiThemeContext, 'formVariant');
228
+ if (highContrastMode !== 'forced') {
185
229
  return 'background-size: 100% 100%;';
186
230
  }
231
+ var _euiFormVariables = euiFormVariables(euiThemeContext),
232
+ stateUnderlineHeight = _euiFormVariables.stateUnderlineHeight;
187
233
 
188
234
  // Windows high contrast themes ignore all background-images that aren't url-based,
189
235
  // so to restore the linear-gradient that provides important visual information, we're
190
236
  // using a static inline SVG workaround
191
237
  var fill = encodeURIComponent(color);
238
+ var strokeWidth = stateUnderlineHeight !== null && stateUnderlineHeight !== void 0 ? stateUnderlineHeight : '4px';
192
239
  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");
193
- var _euiFormVariables = euiFormVariables(euiThemeContext),
194
- stateUnderlineHeight = _euiFormVariables.stateUnderlineHeight;
195
- return "\n background-size: 100% ".concat(stateUnderlineHeight, ";\n background-image: url(\"").concat(inlineSVG, "\");\n ");
240
+ 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");
241
+ return isRefreshVariant ? "\n background-size: calc(100% - ".concat((0, _global_styling.mathWithUnits)(strokeWidth, function (x) {
242
+ return x / 2;
243
+ }), ") calc(100% - ").concat((0, _global_styling.mathWithUnits)(strokeWidth, function (x) {
244
+ return x / 2;
245
+ }), ");\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 ");
196
246
  };
197
247
  var euiPlaceholderPerBrowser = function euiPlaceholderPerBrowser(content) {
198
248
  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");