@elastic/eui 95.7.0 → 95.8.0-backport.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 (319) hide show
  1. package/dist/eui_theme_dark.css +0 -1163
  2. package/dist/eui_theme_dark.min.css +1 -1
  3. package/dist/eui_theme_light.css +0 -1163
  4. package/dist/eui_theme_light.min.css +1 -1
  5. package/es/components/combo_box/combo_box_input/combo_box_input.js +2 -1
  6. package/es/components/combo_box/combo_box_input/combo_box_input.styles.js +1 -5
  7. package/es/components/datagrid/controls/column_selector.js +1 -2
  8. package/es/components/datagrid/data_grid.a11y.js +2 -2
  9. package/es/components/date_picker/date_picker.js +11 -11
  10. package/es/components/date_picker/date_picker.styles.js +14 -2
  11. package/es/components/date_picker/date_picker_range.js +2 -1
  12. package/es/components/date_picker/date_picker_range.styles.js +17 -2
  13. package/es/components/date_picker/super_date_picker/super_date_picker.js +14 -2
  14. package/es/components/date_picker/super_date_picker/super_date_picker.styles.js +4 -4
  15. package/es/components/form/checkbox/checkbox.js +28 -25
  16. package/es/components/form/checkbox/checkbox.styles.js +62 -0
  17. package/es/components/form/described_form_group/described_form_group.js +17 -9
  18. package/es/components/form/described_form_group/described_form_group.styles.js +26 -0
  19. package/es/components/form/field_number/field_number.js +1 -0
  20. package/es/components/form/field_number/field_number.styles.js +2 -1
  21. package/es/components/form/field_password/field_password.js +6 -3
  22. package/es/components/form/field_search/field_search.js +39 -29
  23. package/es/components/form/field_text/field_text.js +1 -0
  24. package/es/components/form/form.js +7 -4
  25. package/es/components/form/form.styles.js +87 -39
  26. package/es/components/form/form_control_layout/_num_icons.js +7 -33
  27. package/es/components/form/form_control_layout/form_control_layout.js +67 -32
  28. package/es/components/form/form_control_layout/form_control_layout.styles.js +72 -0
  29. package/es/components/form/form_control_layout/form_control_layout_clear_button.js +20 -23
  30. package/es/components/form/form_control_layout/form_control_layout_clear_button.styles.js +22 -0
  31. package/es/components/form/form_control_layout/form_control_layout_custom_icon.js +30 -5
  32. package/es/components/form/form_control_layout/form_control_layout_delimited.js +37 -7
  33. package/es/components/form/form_control_layout/form_control_layout_delimited.styles.js +52 -0
  34. package/es/components/form/form_control_layout/form_control_layout_icons.js +33 -13
  35. package/es/components/form/form_control_layout/form_control_layout_icons.styles.js +54 -0
  36. package/es/components/form/form_error_text/form_error_text.js +4 -0
  37. package/es/components/form/form_error_text/form_error_text.styles.js +16 -0
  38. package/es/components/form/form_fieldset/form_legend.js +6 -2
  39. package/es/components/form/form_fieldset/form_legend.styles.js +20 -0
  40. package/es/components/form/form_help_text/form_help_text.js +4 -0
  41. package/es/components/form/form_help_text/form_help_text.styles.js +16 -0
  42. package/es/components/form/form_label/form_label.js +6 -0
  43. package/es/components/form/form_label/form_label.styles.js +38 -0
  44. package/es/components/form/form_row/form_row.js +156 -223
  45. package/es/components/form/form_row/form_row.styles.js +49 -0
  46. package/es/components/form/radio/radio.js +21 -14
  47. package/es/components/form/radio/radio.styles.js +34 -0
  48. package/es/components/form/range/range.styles.js +1 -1
  49. package/es/components/form/range/range_input.styles.js +1 -1
  50. package/es/components/form/range/range_slider.styles.js +1 -4
  51. package/es/components/form/range/range_thumb.styles.js +1 -4
  52. package/es/components/form/switch/switch.js +43 -24
  53. package/es/components/form/switch/switch.styles.js +226 -0
  54. package/es/components/form/text_area/text_area.js +1 -0
  55. package/es/components/form/text_area/text_area.styles.js +1 -1
  56. package/es/components/header/header_links/header_link.js +9 -13
  57. package/es/components/header/header_links/header_links.js +1 -1
  58. package/es/components/header/header_links/header_links.styles.js +1 -1
  59. package/es/services/emotion/clone_element.js +5 -3
  60. package/eui.d.ts +403 -112
  61. package/i18ntokens.json +48 -30
  62. package/lib/components/combo_box/combo_box_input/combo_box_input.js +2 -1
  63. package/lib/components/combo_box/combo_box_input/combo_box_input.styles.js +1 -5
  64. package/lib/components/datagrid/controls/column_selector.js +1 -2
  65. package/lib/components/datagrid/data_grid.a11y.js +2 -2
  66. package/lib/components/date_picker/date_picker.js +11 -11
  67. package/lib/components/date_picker/date_picker.styles.js +14 -2
  68. package/lib/components/date_picker/date_picker_range.js +2 -1
  69. package/lib/components/date_picker/date_picker_range.styles.js +17 -4
  70. package/lib/components/date_picker/super_date_picker/super_date_picker.js +14 -2
  71. package/lib/components/date_picker/super_date_picker/super_date_picker.styles.js +4 -4
  72. package/lib/components/form/checkbox/checkbox.js +27 -23
  73. package/lib/components/form/checkbox/checkbox.styles.js +66 -0
  74. package/lib/components/form/described_form_group/described_form_group.js +17 -9
  75. package/lib/components/form/described_form_group/described_form_group.styles.js +32 -0
  76. package/lib/components/form/field_number/field_number.js +1 -0
  77. package/lib/components/form/field_number/field_number.styles.js +2 -1
  78. package/lib/components/form/field_password/field_password.js +6 -3
  79. package/lib/components/form/field_search/field_search.js +39 -29
  80. package/lib/components/form/field_text/field_text.js +1 -0
  81. package/lib/components/form/form.js +6 -3
  82. package/lib/components/form/form.styles.js +88 -40
  83. package/lib/components/form/form_control_layout/_num_icons.js +8 -33
  84. package/lib/components/form/form_control_layout/form_control_layout.js +65 -31
  85. package/lib/components/form/form_control_layout/form_control_layout.styles.js +76 -0
  86. package/lib/components/form/form_control_layout/form_control_layout_clear_button.js +20 -23
  87. package/lib/components/form/form_control_layout/form_control_layout_clear_button.styles.js +28 -0
  88. package/lib/components/form/form_control_layout/form_control_layout_custom_icon.js +34 -11
  89. package/lib/components/form/form_control_layout/form_control_layout_delimited.js +36 -9
  90. package/lib/components/form/form_control_layout/form_control_layout_delimited.styles.js +56 -0
  91. package/lib/components/form/form_control_layout/form_control_layout_icons.js +33 -13
  92. package/lib/components/form/form_control_layout/form_control_layout_icons.styles.js +58 -0
  93. package/lib/components/form/form_error_text/form_error_text.js +4 -0
  94. package/lib/components/form/form_error_text/form_error_text.styles.js +22 -0
  95. package/lib/components/form/form_fieldset/form_legend.js +6 -2
  96. package/lib/components/form/form_fieldset/form_legend.styles.js +26 -0
  97. package/lib/components/form/form_help_text/form_help_text.js +4 -0
  98. package/lib/components/form/form_help_text/form_help_text.styles.js +22 -0
  99. package/lib/components/form/form_label/form_label.js +6 -0
  100. package/lib/components/form/form_label/form_label.styles.js +43 -0
  101. package/lib/components/form/form_row/form_row.js +161 -226
  102. package/lib/components/form/form_row/form_row.styles.js +55 -0
  103. package/lib/components/form/radio/radio.js +21 -14
  104. package/lib/components/form/radio/radio.styles.js +40 -0
  105. package/lib/components/form/range/range.styles.js +1 -1
  106. package/lib/components/form/range/range_input.styles.js +1 -1
  107. package/lib/components/form/range/range_slider.styles.js +1 -4
  108. package/lib/components/form/range/range_thumb.styles.js +1 -4
  109. package/lib/components/form/switch/switch.js +46 -26
  110. package/lib/components/form/switch/switch.styles.js +230 -0
  111. package/lib/components/form/text_area/text_area.js +1 -0
  112. package/lib/components/form/text_area/text_area.styles.js +1 -1
  113. package/lib/components/header/header_links/header_link.js +9 -13
  114. package/lib/components/header/header_links/header_links.js +1 -1
  115. package/lib/components/header/header_links/header_links.styles.js +1 -1
  116. package/lib/services/emotion/clone_element.js +5 -3
  117. package/optimize/es/components/combo_box/combo_box_input/combo_box_input.js +2 -1
  118. package/optimize/es/components/combo_box/combo_box_input/combo_box_input.styles.js +1 -5
  119. package/optimize/es/components/datagrid/controls/column_selector.js +1 -2
  120. package/optimize/es/components/datagrid/data_grid.a11y.js +2 -2
  121. package/optimize/es/components/date_picker/date_picker.js +6 -9
  122. package/optimize/es/components/date_picker/date_picker.styles.js +14 -2
  123. package/optimize/es/components/date_picker/date_picker_range.js +2 -1
  124. package/optimize/es/components/date_picker/date_picker_range.styles.js +17 -2
  125. package/optimize/es/components/date_picker/super_date_picker/super_date_picker.js +13 -2
  126. package/optimize/es/components/date_picker/super_date_picker/super_date_picker.styles.js +4 -4
  127. package/optimize/es/components/form/checkbox/checkbox.js +28 -25
  128. package/optimize/es/components/form/checkbox/checkbox.styles.js +62 -0
  129. package/optimize/es/components/form/described_form_group/described_form_group.js +17 -9
  130. package/optimize/es/components/form/described_form_group/described_form_group.styles.js +26 -0
  131. package/optimize/es/components/form/field_number/field_number.js +1 -0
  132. package/optimize/es/components/form/field_number/field_number.styles.js +2 -1
  133. package/optimize/es/components/form/field_password/field_password.js +6 -3
  134. package/optimize/es/components/form/field_search/field_search.js +39 -29
  135. package/optimize/es/components/form/field_text/field_text.js +1 -0
  136. package/optimize/es/components/form/form.js +7 -4
  137. package/optimize/es/components/form/form.styles.js +87 -39
  138. package/optimize/es/components/form/form_control_layout/_num_icons.js +7 -33
  139. package/optimize/es/components/form/form_control_layout/form_control_layout.js +44 -29
  140. package/optimize/es/components/form/form_control_layout/form_control_layout.styles.js +72 -0
  141. package/optimize/es/components/form/form_control_layout/form_control_layout_clear_button.js +19 -22
  142. package/optimize/es/components/form/form_control_layout/form_control_layout_clear_button.styles.js +22 -0
  143. package/optimize/es/components/form/form_control_layout/form_control_layout_custom_icon.js +29 -4
  144. package/optimize/es/components/form/form_control_layout/form_control_layout_delimited.js +34 -7
  145. package/optimize/es/components/form/form_control_layout/form_control_layout_delimited.styles.js +52 -0
  146. package/optimize/es/components/form/form_control_layout/form_control_layout_icons.js +25 -11
  147. package/optimize/es/components/form/form_control_layout/form_control_layout_icons.styles.js +54 -0
  148. package/optimize/es/components/form/form_error_text/form_error_text.js +4 -0
  149. package/optimize/es/components/form/form_error_text/form_error_text.styles.js +16 -0
  150. package/optimize/es/components/form/form_fieldset/form_legend.js +6 -2
  151. package/optimize/es/components/form/form_fieldset/form_legend.styles.js +20 -0
  152. package/optimize/es/components/form/form_help_text/form_help_text.js +4 -0
  153. package/optimize/es/components/form/form_help_text/form_help_text.styles.js +16 -0
  154. package/optimize/es/components/form/form_label/form_label.js +6 -0
  155. package/optimize/es/components/form/form_label/form_label.styles.js +37 -0
  156. package/optimize/es/components/form/form_row/form_row.js +135 -201
  157. package/optimize/es/components/form/form_row/form_row.styles.js +49 -0
  158. package/optimize/es/components/form/radio/radio.js +21 -14
  159. package/optimize/es/components/form/radio/radio.styles.js +34 -0
  160. package/optimize/es/components/form/range/range.styles.js +1 -1
  161. package/optimize/es/components/form/range/range_input.styles.js +1 -1
  162. package/optimize/es/components/form/range/range_slider.styles.js +1 -4
  163. package/optimize/es/components/form/range/range_thumb.styles.js +1 -4
  164. package/optimize/es/components/form/switch/switch.js +29 -23
  165. package/optimize/es/components/form/switch/switch.styles.js +226 -0
  166. package/optimize/es/components/form/text_area/text_area.js +1 -0
  167. package/optimize/es/components/form/text_area/text_area.styles.js +1 -1
  168. package/optimize/es/components/header/header_links/header_link.js +9 -10
  169. package/optimize/es/components/header/header_links/header_links.js +1 -1
  170. package/optimize/es/components/header/header_links/header_links.styles.js +1 -1
  171. package/optimize/es/services/emotion/clone_element.js +5 -3
  172. package/optimize/lib/components/combo_box/combo_box_input/combo_box_input.js +2 -1
  173. package/optimize/lib/components/combo_box/combo_box_input/combo_box_input.styles.js +1 -5
  174. package/optimize/lib/components/datagrid/controls/column_selector.js +1 -2
  175. package/optimize/lib/components/datagrid/data_grid.a11y.js +2 -2
  176. package/optimize/lib/components/date_picker/date_picker.js +6 -9
  177. package/optimize/lib/components/date_picker/date_picker.styles.js +14 -2
  178. package/optimize/lib/components/date_picker/date_picker_range.js +2 -1
  179. package/optimize/lib/components/date_picker/date_picker_range.styles.js +17 -4
  180. package/optimize/lib/components/date_picker/super_date_picker/super_date_picker.js +13 -2
  181. package/optimize/lib/components/date_picker/super_date_picker/super_date_picker.styles.js +4 -4
  182. package/optimize/lib/components/form/checkbox/checkbox.js +27 -23
  183. package/optimize/lib/components/form/checkbox/checkbox.styles.js +66 -0
  184. package/optimize/lib/components/form/described_form_group/described_form_group.js +17 -9
  185. package/optimize/lib/components/form/described_form_group/described_form_group.styles.js +32 -0
  186. package/optimize/lib/components/form/field_number/field_number.js +1 -0
  187. package/optimize/lib/components/form/field_number/field_number.styles.js +2 -1
  188. package/optimize/lib/components/form/field_password/field_password.js +6 -3
  189. package/optimize/lib/components/form/field_search/field_search.js +39 -29
  190. package/optimize/lib/components/form/field_text/field_text.js +1 -0
  191. package/optimize/lib/components/form/form.js +6 -3
  192. package/optimize/lib/components/form/form.styles.js +88 -40
  193. package/optimize/lib/components/form/form_control_layout/_num_icons.js +8 -33
  194. package/optimize/lib/components/form/form_control_layout/form_control_layout.js +43 -28
  195. package/optimize/lib/components/form/form_control_layout/form_control_layout.styles.js +76 -0
  196. package/optimize/lib/components/form/form_control_layout/form_control_layout_clear_button.js +19 -22
  197. package/optimize/lib/components/form/form_control_layout/form_control_layout_clear_button.styles.js +28 -0
  198. package/optimize/lib/components/form/form_control_layout/form_control_layout_custom_icon.js +29 -6
  199. package/optimize/lib/components/form/form_control_layout/form_control_layout_delimited.js +34 -10
  200. package/optimize/lib/components/form/form_control_layout/form_control_layout_delimited.styles.js +56 -0
  201. package/optimize/lib/components/form/form_control_layout/form_control_layout_icons.js +25 -11
  202. package/optimize/lib/components/form/form_control_layout/form_control_layout_icons.styles.js +58 -0
  203. package/optimize/lib/components/form/form_error_text/form_error_text.js +4 -0
  204. package/optimize/lib/components/form/form_error_text/form_error_text.styles.js +22 -0
  205. package/optimize/lib/components/form/form_fieldset/form_legend.js +6 -2
  206. package/optimize/lib/components/form/form_fieldset/form_legend.styles.js +26 -0
  207. package/optimize/lib/components/form/form_help_text/form_help_text.js +4 -0
  208. package/optimize/lib/components/form/form_help_text/form_help_text.styles.js +22 -0
  209. package/optimize/lib/components/form/form_label/form_label.js +6 -0
  210. package/optimize/lib/components/form/form_label/form_label.styles.js +43 -0
  211. package/optimize/lib/components/form/form_row/form_row.js +136 -201
  212. package/optimize/lib/components/form/form_row/form_row.styles.js +55 -0
  213. package/optimize/lib/components/form/radio/radio.js +21 -14
  214. package/optimize/lib/components/form/radio/radio.styles.js +40 -0
  215. package/optimize/lib/components/form/range/range.styles.js +1 -1
  216. package/optimize/lib/components/form/range/range_input.styles.js +1 -1
  217. package/optimize/lib/components/form/range/range_slider.styles.js +1 -4
  218. package/optimize/lib/components/form/range/range_thumb.styles.js +1 -4
  219. package/optimize/lib/components/form/switch/switch.js +32 -25
  220. package/optimize/lib/components/form/switch/switch.styles.js +230 -0
  221. package/optimize/lib/components/form/text_area/text_area.js +1 -0
  222. package/optimize/lib/components/form/text_area/text_area.styles.js +1 -1
  223. package/optimize/lib/components/header/header_links/header_link.js +9 -10
  224. package/optimize/lib/components/header/header_links/header_links.js +1 -1
  225. package/optimize/lib/components/header/header_links/header_links.styles.js +1 -1
  226. package/optimize/lib/services/emotion/clone_element.js +5 -3
  227. package/package.json +3 -2
  228. package/src/components/datagrid/controls/_data_grid_toolbar.scss +1 -1
  229. package/src/components/index.scss +0 -1
  230. package/src/global_styling/mixins/_form.scss +0 -99
  231. package/src/global_styling/mixins/_index.scss +0 -1
  232. package/src/global_styling/variables/_form.scss +0 -21
  233. package/src/themes/amsterdam/global_styling/mixins/_index.scss +0 -1
  234. package/src/themes/amsterdam/overrides/_index.scss +0 -3
  235. package/test-env/components/combo_box/combo_box_input/combo_box_input.js +2 -1
  236. package/test-env/components/combo_box/combo_box_input/combo_box_input.styles.js +1 -5
  237. package/test-env/components/datagrid/controls/column_selector.js +1 -2
  238. package/test-env/components/datagrid/data_grid.a11y.js +2 -2
  239. package/test-env/components/date_picker/date_picker.js +6 -9
  240. package/test-env/components/date_picker/date_picker.styles.js +14 -2
  241. package/test-env/components/date_picker/date_picker_range.js +2 -1
  242. package/test-env/components/date_picker/date_picker_range.styles.js +17 -4
  243. package/test-env/components/date_picker/super_date_picker/super_date_picker.js +13 -2
  244. package/test-env/components/date_picker/super_date_picker/super_date_picker.styles.js +4 -4
  245. package/test-env/components/form/checkbox/checkbox.js +27 -23
  246. package/test-env/components/form/checkbox/checkbox.styles.js +66 -0
  247. package/test-env/components/form/described_form_group/described_form_group.js +17 -9
  248. package/test-env/components/form/described_form_group/described_form_group.styles.js +32 -0
  249. package/test-env/components/form/field_number/field_number.js +1 -0
  250. package/test-env/components/form/field_number/field_number.styles.js +2 -1
  251. package/test-env/components/form/field_password/field_password.js +6 -3
  252. package/test-env/components/form/field_search/field_search.js +39 -29
  253. package/test-env/components/form/field_text/field_text.js +1 -0
  254. package/test-env/components/form/form.js +6 -3
  255. package/test-env/components/form/form.styles.js +88 -40
  256. package/test-env/components/form/form_control_layout/_num_icons.js +8 -33
  257. package/test-env/components/form/form_control_layout/form_control_layout.js +58 -31
  258. package/test-env/components/form/form_control_layout/form_control_layout.styles.js +76 -0
  259. package/test-env/components/form/form_control_layout/form_control_layout_clear_button.js +20 -23
  260. package/test-env/components/form/form_control_layout/form_control_layout_clear_button.styles.js +28 -0
  261. package/test-env/components/form/form_control_layout/form_control_layout_custom_icon.js +30 -7
  262. package/test-env/components/form/form_control_layout/form_control_layout_delimited.js +34 -10
  263. package/test-env/components/form/form_control_layout/form_control_layout_delimited.styles.js +56 -0
  264. package/test-env/components/form/form_control_layout/form_control_layout_icons.js +28 -13
  265. package/test-env/components/form/form_control_layout/form_control_layout_icons.styles.js +58 -0
  266. package/test-env/components/form/form_error_text/form_error_text.js +4 -0
  267. package/test-env/components/form/form_error_text/form_error_text.styles.js +22 -0
  268. package/test-env/components/form/form_fieldset/form_legend.js +6 -2
  269. package/test-env/components/form/form_fieldset/form_legend.styles.js +26 -0
  270. package/test-env/components/form/form_help_text/form_help_text.js +4 -0
  271. package/test-env/components/form/form_help_text/form_help_text.styles.js +22 -0
  272. package/test-env/components/form/form_label/form_label.js +6 -0
  273. package/test-env/components/form/form_label/form_label.styles.js +43 -0
  274. package/test-env/components/form/form_row/form_row.js +153 -216
  275. package/test-env/components/form/form_row/form_row.styles.js +55 -0
  276. package/test-env/components/form/radio/radio.js +21 -14
  277. package/test-env/components/form/radio/radio.styles.js +40 -0
  278. package/test-env/components/form/range/range.styles.js +1 -1
  279. package/test-env/components/form/range/range_input.styles.js +1 -1
  280. package/test-env/components/form/range/range_slider.styles.js +1 -4
  281. package/test-env/components/form/range/range_thumb.styles.js +1 -4
  282. package/test-env/components/form/switch/switch.js +41 -26
  283. package/test-env/components/form/switch/switch.styles.js +230 -0
  284. package/test-env/components/form/text_area/text_area.js +1 -0
  285. package/test-env/components/form/text_area/text_area.styles.js +1 -1
  286. package/test-env/components/header/header_links/header_link.js +9 -10
  287. package/test-env/components/header/header_links/header_links.js +1 -1
  288. package/test-env/components/header/header_links/header_links.styles.js +1 -1
  289. package/test-env/services/emotion/clone_element.js +5 -3
  290. package/src/components/form/_form.scss +0 -8
  291. package/src/components/form/_index.scss +0 -11
  292. package/src/components/form/checkbox/_checkbox.scss +0 -115
  293. package/src/components/form/checkbox/_index.scss +0 -1
  294. package/src/components/form/described_form_group/_described_form_group.scss +0 -34
  295. package/src/components/form/described_form_group/_index.scss +0 -1
  296. package/src/components/form/form_control_layout/_form_control_layout.scss +0 -203
  297. package/src/components/form/form_control_layout/_form_control_layout_clear_button.scss +0 -7
  298. package/src/components/form/form_control_layout/_form_control_layout_custom_icon.scss +0 -24
  299. package/src/components/form/form_control_layout/_form_control_layout_delimited.scss +0 -67
  300. package/src/components/form/form_control_layout/_form_control_layout_icons.scss +0 -54
  301. package/src/components/form/form_control_layout/_index.scss +0 -5
  302. package/src/components/form/form_error_text/_form_error_text.scss +0 -5
  303. package/src/components/form/form_error_text/_index.scss +0 -1
  304. package/src/components/form/form_fieldset/_form_legend.scss +0 -11
  305. package/src/components/form/form_fieldset/_index.scss +0 -1
  306. package/src/components/form/form_help_text/_form_help_text.scss +0 -5
  307. package/src/components/form/form_help_text/_index.scss +0 -1
  308. package/src/components/form/form_label/_form_label.scss +0 -25
  309. package/src/components/form/form_label/_index.scss +0 -1
  310. package/src/components/form/form_row/_form_row.scss +0 -102
  311. package/src/components/form/form_row/_index.scss +0 -1
  312. package/src/components/form/radio/_index.scss +0 -1
  313. package/src/components/form/radio/_radio.scss +0 -87
  314. package/src/components/form/switch/_index.scss +0 -1
  315. package/src/components/form/switch/_switch.scss +0 -212
  316. package/src/global_styling/mixins/_icons.scss +0 -17
  317. package/src/themes/amsterdam/overrides/_form_control_layout.scss +0 -112
  318. package/src/themes/amsterdam/overrides/_form_control_layout_delimited.scss +0 -42
  319. package/src/themes/amsterdam/overrides/_form_controls.scss +0 -19
@@ -10,6 +10,8 @@ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/h
10
10
  var _react = _interopRequireDefault(require("react"));
11
11
  var _propTypes = _interopRequireDefault(require("prop-types"));
12
12
  var _classnames = _interopRequireDefault(require("classnames"));
13
+ var _services = require("../../../services");
14
+ var _form_error_text = require("./form_error_text.styles");
13
15
  var _react2 = require("@emotion/react");
14
16
  var _excluded = ["children", "className"];
15
17
  /*
@@ -24,7 +26,9 @@ var EuiFormErrorText = exports.EuiFormErrorText = function EuiFormErrorText(_ref
24
26
  className = _ref.className,
25
27
  rest = (0, _objectWithoutProperties2.default)(_ref, _excluded);
26
28
  var classes = (0, _classnames.default)('euiFormErrorText', className);
29
+ var styles = (0, _services.useEuiMemoizedStyles)(_form_error_text.euiFormErrorTextStyles);
27
30
  return (0, _react2.jsx)("div", (0, _extends2.default)({
31
+ css: styles.euiFormErrorText,
28
32
  className: classes,
29
33
  "aria-live": "polite"
30
34
  }, rest), children);
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.euiFormErrorTextStyles = void 0;
7
+ var _react = require("@emotion/react");
8
+ var _global_styling = require("../../../global_styling");
9
+ /*
10
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
11
+ * or more contributor license agreements. Licensed under the Elastic License
12
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
13
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
14
+ * Side Public License, v 1.
15
+ */
16
+
17
+ var euiFormErrorTextStyles = exports.euiFormErrorTextStyles = function euiFormErrorTextStyles(euiThemeContext) {
18
+ var euiTheme = euiThemeContext.euiTheme;
19
+ return {
20
+ euiFormErrorText: /*#__PURE__*/(0, _react.css)((0, _global_styling.logicalCSS)('padding-top', euiTheme.size.xs), " ", (0, _global_styling.euiFontSize)(euiThemeContext, 'xs'), " color:", euiTheme.colors.danger, ";;label:euiFormErrorText;")
21
+ };
22
+ };
@@ -10,7 +10,9 @@ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/h
10
10
  var _react = _interopRequireDefault(require("react"));
11
11
  var _propTypes = _interopRequireDefault(require("prop-types"));
12
12
  var _classnames = _interopRequireDefault(require("classnames"));
13
+ var _services = require("../../../services");
13
14
  var _accessibility = require("../../accessibility");
15
+ var _form_legend = require("./form_legend.styles");
14
16
  var _react2 = require("@emotion/react");
15
17
  var _excluded = ["children", "className", "display", "compressed"];
16
18
  /*
@@ -28,11 +30,13 @@ var EuiFormLegend = exports.EuiFormLegend = function EuiFormLegend(_ref) {
28
30
  compressed = _ref.compressed,
29
31
  rest = (0, _objectWithoutProperties2.default)(_ref, _excluded);
30
32
  var isLegendHidden = display === 'hidden';
33
+ var styles = (0, _services.useEuiMemoizedStyles)(_form_legend.euiFormLegendStyles);
34
+ var cssStyles = [styles.euiFormLegend, !isLegendHidden && (compressed ? styles.compressed : styles.uncompressed)];
31
35
  var classes = (0, _classnames.default)('euiFormLegend', {
32
- 'euiFormLegend-isHidden': isLegendHidden,
33
- 'euiFormLegend--compressed': compressed
36
+ 'euiFormLegend-isHidden': isLegendHidden
34
37
  }, className);
35
38
  return (0, _react2.jsx)("legend", (0, _extends2.default)({
39
+ css: cssStyles,
36
40
  className: classes
37
41
  }, rest), isLegendHidden ? (0, _react2.jsx)(_accessibility.EuiScreenReaderOnly, null, (0, _react2.jsx)("span", null, children)) : children);
38
42
  };
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.euiFormLegendStyles = void 0;
7
+ var _react = require("@emotion/react");
8
+ var _global_styling = require("../../../global_styling");
9
+ var _form_label = require("../form_label/form_label.styles");
10
+ /*
11
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
12
+ * or more contributor license agreements. Licensed under the Elastic License
13
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
14
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
15
+ * Side Public License, v 1.
16
+ */
17
+
18
+ var euiFormLegendStyles = exports.euiFormLegendStyles = function euiFormLegendStyles(euiThemeContext) {
19
+ var euiTheme = euiThemeContext.euiTheme;
20
+ return {
21
+ euiFormLegend: /*#__PURE__*/(0, _react.css)((0, _form_label.euiFormLabel)(euiThemeContext), ";;label:euiFormLegend;"),
22
+ // Skip css`` to avoid generating an extra Emotion className
23
+ uncompressed: (0, _global_styling.logicalCSS)('margin-bottom', euiTheme.size.s),
24
+ compressed: /*#__PURE__*/(0, _react.css)((0, _global_styling.logicalCSS)('margin-bottom', euiTheme.size.xs), ";label:compressed;")
25
+ };
26
+ };
@@ -10,6 +10,8 @@ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/h
10
10
  var _react = _interopRequireDefault(require("react"));
11
11
  var _propTypes = _interopRequireDefault(require("prop-types"));
12
12
  var _classnames = _interopRequireDefault(require("classnames"));
13
+ var _services = require("../../../services");
14
+ var _form_help_text = require("./form_help_text.styles");
13
15
  var _react2 = require("@emotion/react");
14
16
  var _excluded = ["children", "className"];
15
17
  /*
@@ -24,7 +26,9 @@ var EuiFormHelpText = exports.EuiFormHelpText = function EuiFormHelpText(_ref) {
24
26
  className = _ref.className,
25
27
  rest = (0, _objectWithoutProperties2.default)(_ref, _excluded);
26
28
  var classes = (0, _classnames.default)('euiFormHelpText', className);
29
+ var styles = (0, _services.useEuiMemoizedStyles)(_form_help_text.euiFormHelpTextStyles);
27
30
  return (0, _react2.jsx)("div", (0, _extends2.default)({
31
+ css: styles.euiFormHelpText,
28
32
  className: classes
29
33
  }, rest), children);
30
34
  };
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.euiFormHelpTextStyles = void 0;
7
+ var _react = require("@emotion/react");
8
+ var _global_styling = require("../../../global_styling");
9
+ /*
10
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
11
+ * or more contributor license agreements. Licensed under the Elastic License
12
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
13
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
14
+ * Side Public License, v 1.
15
+ */
16
+
17
+ var euiFormHelpTextStyles = exports.euiFormHelpTextStyles = function euiFormHelpTextStyles(euiThemeContext) {
18
+ var euiTheme = euiThemeContext.euiTheme;
19
+ return {
20
+ euiFormHelpText: /*#__PURE__*/(0, _react.css)((0, _global_styling.logicalCSS)('padding-top', euiTheme.size.xs), " ", (0, _global_styling.euiFontSize)(euiThemeContext, 'xs'), " color:", euiTheme.colors.darkShade, ";;label:euiFormHelpText;")
21
+ };
22
+ };
@@ -10,6 +10,8 @@ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/h
10
10
  var _react = _interopRequireDefault(require("react"));
11
11
  var _propTypes = _interopRequireDefault(require("prop-types"));
12
12
  var _classnames = _interopRequireDefault(require("classnames"));
13
+ var _services = require("../../../services");
14
+ var _form_label = require("./form_label.styles");
13
15
  var _react2 = require("@emotion/react");
14
16
  var _excluded = ["type", "isFocused", "isInvalid", "isDisabled", "children", "className"];
15
17
  /*
@@ -28,6 +30,8 @@ var EuiFormLabel = exports.EuiFormLabel = function EuiFormLabel(_ref) {
28
30
  children = _ref.children,
29
31
  className = _ref.className,
30
32
  rest = (0, _objectWithoutProperties2.default)(_ref, _excluded);
33
+ var styles = (0, _services.useEuiMemoizedStyles)(_form_label.euiFormLabelStyles);
34
+ var cssStyles = [styles.euiFormLabel, !isDisabled && styles.notDisabled, isInvalid && styles.invalid, isFocused && styles.focused];
31
35
  var classes = (0, _classnames.default)('euiFormLabel', className, {
32
36
  'euiFormLabel-isFocused': isFocused,
33
37
  'euiFormLabel-isInvalid': isInvalid,
@@ -35,10 +39,12 @@ var EuiFormLabel = exports.EuiFormLabel = function EuiFormLabel(_ref) {
35
39
  });
36
40
  if (type === 'legend') {
37
41
  return (0, _react2.jsx)("legend", (0, _extends2.default)({
42
+ css: cssStyles,
38
43
  className: classes
39
44
  }, rest), children);
40
45
  } else {
41
46
  return (0, _react2.jsx)("label", (0, _extends2.default)({
47
+ css: cssStyles,
42
48
  className: classes
43
49
  }, rest), children);
44
50
  }
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.euiFormLabelStyles = exports.euiFormLabel = void 0;
8
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
9
+ var _react = require("@emotion/react");
10
+ var _serialize = require("@emotion/serialize");
11
+ var _global_styling = require("../../../global_styling");
12
+ var _title = require("../../title/title.styles");
13
+ var _excluded = ["fontWeight"];
14
+ /*
15
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
16
+ * or more contributor license agreements. Licensed under the Elastic License
17
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
18
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
19
+ * Side Public License, v 1.
20
+ */
21
+ var euiFormLabel = exports.euiFormLabel = function euiFormLabel(euiThemeContext) {
22
+ var euiTheme = euiThemeContext.euiTheme;
23
+ // Exclude the fontWeight from the title, since we're setting our own later
24
+ var _euiTitle = (0, _title.euiTitle)(euiThemeContext, 'xxxs'),
25
+ _ = _euiTitle.fontWeight,
26
+ _titleStyles = (0, _objectWithoutProperties2.default)(_euiTitle, _excluded);
27
+ // Since we're not returning a css`` string (to avoid generating an extra Emotion
28
+ // className), we need to manually serialize the style object into a string
29
+ var titleStyles = (0, _serialize.serializeStyles)([_titleStyles]).styles;
30
+ return "\n ".concat(titleStyles, "\n font-weight: ").concat(euiTheme.font.weight.semiBold, ";\n ").concat((0, _global_styling.euiTextBreakWord)(), "\n ");
31
+ };
32
+ var euiFormLabelStyles = exports.euiFormLabelStyles = function euiFormLabelStyles(euiThemeContext) {
33
+ var euiTheme = euiThemeContext.euiTheme;
34
+ return {
35
+ euiFormLabel: /*#__PURE__*/(0, _react.css)(euiFormLabel(euiThemeContext), " display:inline-block;", _global_styling.euiCanAnimate, "{transition:color ", euiTheme.animation.fast, " ", euiTheme.animation.resistance, ";};label:euiFormLabel;"),
36
+ // Skip css`` to avoid generating an extra Emotion className
37
+ // Use :where to reduce specificity & make the CSS easier to override by prepend/append nodes
38
+ notDisabled: "\n &:where([for]) {\n cursor: pointer;\n }\n ",
39
+ invalid: /*#__PURE__*/(0, _react.css)("color:", euiTheme.colors.danger, ";;label:invalid;"),
40
+ // Focused state should override invalid state
41
+ focused: /*#__PURE__*/(0, _react.css)("color:", euiTheme.colors.primary, ";;label:focused;")
42
+ };
43
+ };
@@ -6,228 +6,163 @@ Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
8
  exports.EuiFormRow = exports.DISPLAYS = void 0;
9
- var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
10
9
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
10
+ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
11
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
11
12
  var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
12
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
13
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
14
- var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
15
- var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
16
- var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
17
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
18
13
  var _react = _interopRequireWildcard(require("react"));
19
14
  var _propTypes = _interopRequireDefault(require("prop-types"));
20
15
  var _classnames = _interopRequireDefault(require("classnames"));
21
- var _common = require("../../common");
22
- var _objects = require("../../../services/objects");
16
+ var _services = require("../../../services");
17
+ var _spacer = require("../../spacer");
23
18
  var _form_help_text = require("../form_help_text");
24
19
  var _form_error_text = require("../form_error_text");
25
20
  var _form_label = require("../form_label");
26
21
  var _eui_form_context = require("../eui_form_context");
27
- var _accessibility = require("../../../services/accessibility");
22
+ var _form_row = require("./form_row.styles");
28
23
  var _react2 = require("@emotion/react");
29
- var _excluded = ["children", "helpText", "isInvalid", "error", "label", "labelType", "labelAppend", "hasEmptyLabelSpace", "fullWidth", "className", "describedByIds", "display", "hasChildLabel", "id", "isDisabled"];
30
- function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
31
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
32
- function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
33
- function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
34
- function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2.default)(o), (0, _possibleConstructorReturn2.default)(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2.default)(t).constructor) : o.apply(t, e)); }
35
- function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); } /*
24
+ var _excluded = ["className", "children", "helpText", "isInvalid", "error", "label", "labelType", "labelAppend", "hasEmptyLabelSpace", "fullWidth", "describedByIds", "display", "hasChildLabel", "id", "isDisabled"];
25
+ /*
36
26
  * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
37
27
  * or more contributor license agreements. Licensed under the Elastic License
38
28
  * 2.0 and the Server Side Public License, v 1; you may not use this file except
39
29
  * in compliance with, at your election, the Elastic License 2.0 or the Server
40
30
  * Side Public License, v 1.
41
31
  */
42
- var displayToClassNameMap = {
43
- row: null,
44
- rowCompressed: 'euiFormRow--compressed',
45
- columnCompressed: 'euiFormRow--compressed euiFormRow--horizontal',
46
- center: null,
47
- centerCompressed: 'euiFormRow--compressed',
48
- columnCompressedSwitch: 'euiFormRow--compressed euiFormRow--horizontal euiFormRow--hasSwitch'
49
- };
50
- var DISPLAYS = exports.DISPLAYS = (0, _common.keysOf)(displayToClassNameMap);
51
- var EuiFormRow = exports.EuiFormRow = /*#__PURE__*/function (_Component) {
52
- function EuiFormRow() {
53
- var _this;
54
- (0, _classCallCheck2.default)(this, EuiFormRow);
55
- for (var _len = arguments.length, _args = new Array(_len), _key = 0; _key < _len; _key++) {
56
- _args[_key] = arguments[_key];
57
- }
58
- _this = _callSuper(this, EuiFormRow, [].concat(_args));
59
- (0, _defineProperty2.default)(_this, "state", {
60
- isFocused: false,
61
- id: _this.props.id || (0, _accessibility.htmlIdGenerator)()()
32
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
33
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
34
+ var DISPLAYS = exports.DISPLAYS = ['row', 'columnCompressed', 'center', 'centerCompressed',
35
+ /**
36
+ * @deprecated
37
+ */
38
+ 'columnCompressedSwitch',
39
+ /**
40
+ * @deprecated
41
+ */
42
+ 'rowCompressed'];
43
+ var EuiFormRow = exports.EuiFormRow = function EuiFormRow(_ref) {
44
+ var className = _ref.className,
45
+ children = _ref.children,
46
+ helpText = _ref.helpText,
47
+ isInvalid = _ref.isInvalid,
48
+ error = _ref.error,
49
+ label = _ref.label,
50
+ _ref$labelType = _ref.labelType,
51
+ labelType = _ref$labelType === void 0 ? 'label' : _ref$labelType,
52
+ labelAppend = _ref.labelAppend,
53
+ _ref$hasEmptyLabelSpa = _ref.hasEmptyLabelSpace,
54
+ hasEmptyLabelSpace = _ref$hasEmptyLabelSpa === void 0 ? false : _ref$hasEmptyLabelSpa,
55
+ _fullWidth = _ref.fullWidth,
56
+ describedByIds = _ref.describedByIds,
57
+ _ref$display = _ref.display,
58
+ display = _ref$display === void 0 ? 'row' : _ref$display,
59
+ _ref$hasChildLabel = _ref.hasChildLabel,
60
+ hasChildLabel = _ref$hasChildLabel === void 0 ? true : _ref$hasChildLabel,
61
+ propsId = _ref.id,
62
+ isDisabled = _ref.isDisabled,
63
+ rest = (0, _objectWithoutProperties2.default)(_ref, _excluded);
64
+ var _useFormContext = (0, _eui_form_context.useFormContext)(),
65
+ defaultFullWidth = _useFormContext.defaultFullWidth;
66
+ var fullWidth = _fullWidth !== null && _fullWidth !== void 0 ? _fullWidth : defaultFullWidth;
67
+ var id = (0, _services.useGeneratedHtmlId)({
68
+ conditionalId: propsId
69
+ });
70
+ var hasLabel = label || labelAppend;
71
+ var _useState = (0, _react.useState)(false),
72
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
73
+ isFocused = _useState2[0],
74
+ setIsFocused = _useState2[1];
75
+ var onFocusWithin = (0, _react.useCallback)(function () {
76
+ return setIsFocused(true);
77
+ }, []);
78
+ var onBlurWithin = (0, _react.useCallback)(function () {
79
+ return setIsFocused(false);
80
+ }, []);
81
+ var classes = (0, _classnames.default)('euiFormRow', {
82
+ 'euiFormRow--hasEmptyLabelSpace': hasEmptyLabelSpace,
83
+ 'euiFormRow--hasLabel': hasLabel
84
+ }, className);
85
+ var styles = (0, _services.useEuiMemoizedStyles)(_form_row.euiFormRowStyles);
86
+ var cssStyles = [styles.euiFormRow, fullWidth ? styles.fullWidth : styles.formWidth, styles[display]];
87
+ var optionalHelpTexts = (0, _react.useMemo)(function () {
88
+ if (!helpText) return;
89
+ var helpTexts = Array.isArray(helpText) ? helpText : [helpText];
90
+ return helpTexts.map(function (helpText, i) {
91
+ var key = typeof helpText === 'string' ? helpText : i;
92
+ return (0, _react2.jsx)(_form_help_text.EuiFormHelpText, {
93
+ key: key,
94
+ id: "".concat(id, "-help-").concat(i),
95
+ className: "euiFormRow__text"
96
+ }, helpText);
62
97
  });
63
- (0, _defineProperty2.default)(_this, "onFocus", function () {
64
- // Doing this to allow onFocus to be called correctly from the child input element as this component overrides it
65
- var onChildFocus = (0, _objects.get)(_this.props, 'children.props.onFocus');
66
- if (onChildFocus) {
67
- onChildFocus.apply(void 0, arguments);
68
- }
69
- _this.setState(function (_ref) {
70
- var isFocused = _ref.isFocused;
71
- if (!isFocused) {
72
- return {
73
- isFocused: true
74
- };
75
- } else {
76
- return null;
77
- }
78
- });
98
+ }, [helpText, id]);
99
+ var optionalErrors = (0, _react.useMemo)(function () {
100
+ if (!(error && isInvalid)) return;
101
+ var errorTexts = Array.isArray(error) ? error : [error];
102
+ return errorTexts.map(function (error, i) {
103
+ var key = typeof error === 'string' ? error : i;
104
+ return (0, _react2.jsx)(_form_error_text.EuiFormErrorText, {
105
+ key: key,
106
+ id: "".concat(id, "-error-").concat(i),
107
+ className: "euiFormRow__text"
108
+ }, error);
79
109
  });
80
- (0, _defineProperty2.default)(_this, "onBlur", function () {
81
- // Doing this to allow onBlur to be called correctly from the child input element as this component overrides it
82
- var onChildBlur = (0, _objects.get)(_this.props, 'children.props.onBlur');
83
- if (onChildBlur) {
84
- onChildBlur.apply(void 0, arguments);
85
- }
86
- _this.setState({
87
- isFocused: false
110
+ }, [error, isInvalid, id]);
111
+ var ariaDescribedBy = (0, _react.useMemo)(function () {
112
+ var describingIds = (0, _toConsumableArray2.default)(describedByIds || []);
113
+ if (optionalHelpTexts !== null && optionalHelpTexts !== void 0 && optionalHelpTexts.length) {
114
+ optionalHelpTexts.forEach(function (optionalHelpText) {
115
+ return describingIds.push(optionalHelpText.props.id);
88
116
  });
89
- });
90
- return _this;
91
- }
92
- (0, _inherits2.default)(EuiFormRow, _Component);
93
- return (0, _createClass2.default)(EuiFormRow, [{
94
- key: "render",
95
- value: function render() {
96
- var _ref3, _child$props$disabled;
97
- var _ref2 = this.context,
98
- defaultFullWidth = _ref2.defaultFullWidth;
99
- var _this$props = this.props,
100
- children = _this$props.children,
101
- helpText = _this$props.helpText,
102
- isInvalid = _this$props.isInvalid,
103
- error = _this$props.error,
104
- label = _this$props.label,
105
- labelType = _this$props.labelType,
106
- labelAppend = _this$props.labelAppend,
107
- hasEmptyLabelSpace = _this$props.hasEmptyLabelSpace,
108
- _this$props$fullWidth = _this$props.fullWidth,
109
- fullWidth = _this$props$fullWidth === void 0 ? defaultFullWidth : _this$props$fullWidth,
110
- className = _this$props.className,
111
- describedByIds = _this$props.describedByIds,
112
- display = _this$props.display,
113
- hasChildLabel = _this$props.hasChildLabel,
114
- propsId = _this$props.id,
115
- isDisabled = _this$props.isDisabled,
116
- rest = (0, _objectWithoutProperties2.default)(_this$props, _excluded);
117
- var id = this.state.id;
118
- var hasLabel = label || labelAppend;
119
- var classes = (0, _classnames.default)('euiFormRow', {
120
- 'euiFormRow--hasEmptyLabelSpace': hasEmptyLabelSpace,
121
- 'euiFormRow--fullWidth': fullWidth,
122
- 'euiFormRow--hasLabel': hasLabel
123
- }, displayToClassNameMap[display],
124
- // Safe use of ! as default prop is 'row'
125
- className);
126
- var optionalHelpTexts;
127
- if (helpText) {
128
- var helpTexts = Array.isArray(helpText) ? helpText : [helpText];
129
- optionalHelpTexts = helpTexts.map(function (helpText, i) {
130
- var key = typeof helpText === 'string' ? helpText : i;
131
- return (0, _react2.jsx)(_form_help_text.EuiFormHelpText, {
132
- key: key,
133
- id: "".concat(id, "-help-").concat(i),
134
- className: "euiFormRow__text"
135
- }, helpText);
136
- });
137
- }
138
- var optionalErrors;
139
- if (error && isInvalid) {
140
- var errorTexts = Array.isArray(error) ? error : [error];
141
- optionalErrors = errorTexts.map(function (error, i) {
142
- var key = typeof error === 'string' ? error : i;
143
- return (0, _react2.jsx)(_form_error_text.EuiFormErrorText, {
144
- key: key,
145
- id: "".concat(id, "-error-").concat(i),
146
- className: "euiFormRow__text"
147
- }, error);
148
- });
149
- }
150
- var optionalLabel;
151
- var isLegend = label && labelType === 'legend' ? true : false;
152
- var labelId = "".concat(id, "-label");
153
- if (hasLabel) {
154
- var labelProps = {};
155
- if (isLegend) {
156
- labelProps = {
157
- type: labelType
158
- };
159
- } else {
160
- labelProps = _objectSpread(_objectSpread({
161
- htmlFor: hasChildLabel ? id : undefined
162
- }, !isDisabled && {
163
- isFocused: this.state.isFocused
164
- }), {}, {
165
- // If the row is disabled, don't pass the isFocused state.
166
- type: labelType
167
- });
168
- }
169
- optionalLabel = (0, _react2.jsx)("div", {
170
- className: "euiFormRow__labelWrapper"
171
- }, (0, _react2.jsx)(_form_label.EuiFormLabel, (0, _extends2.default)({
172
- className: "euiFormRow__label",
173
- isInvalid: isInvalid,
174
- isDisabled: isDisabled,
175
- "aria-invalid": isInvalid,
176
- id: labelId
177
- }, labelProps), label), labelAppend && ' ', labelAppend);
178
- }
179
- var optionalProps = {};
180
- /**
181
- * Safe use of ! as default prop is []
182
- */
183
- var describingIds = (0, _toConsumableArray2.default)(describedByIds);
184
- if (optionalHelpTexts) {
185
- optionalHelpTexts.forEach(function (optionalHelpText) {
186
- return describingIds.push(optionalHelpText.props.id);
187
- });
188
- }
189
- if (optionalErrors) {
190
- optionalErrors.forEach(function (error) {
191
- return describingIds.push(error.props.id);
192
- });
193
- }
194
- if (describingIds.length > 0) {
195
- optionalProps['aria-describedby'] = describingIds.join(' ');
196
- }
197
- var child = _react.Children.only(children);
198
- var field = /*#__PURE__*/(0, _react.cloneElement)(child, _objectSpread({
199
- id: id,
200
- // Allow the child's disabled or isDisabled prop to supercede the `isDisabled`
201
- disabled: (_ref3 = (_child$props$disabled = child.props.disabled) !== null && _child$props$disabled !== void 0 ? _child$props$disabled : child.props.isDisabled) !== null && _ref3 !== void 0 ? _ref3 : isDisabled,
202
- onFocus: this.onFocus,
203
- onBlur: this.onBlur
204
- }, optionalProps));
205
- var fieldWrapperClasses = (0, _classnames.default)('euiFormRow__fieldWrapper', {
206
- euiFormRow__fieldWrapperDisplayOnly:
207
- /**
208
- * Safe use of ! as default prop is 'row'
209
- */
210
- display.startsWith('center')
117
+ }
118
+ if (optionalErrors !== null && optionalErrors !== void 0 && optionalErrors.length) {
119
+ optionalErrors.forEach(function (error) {
120
+ return describingIds.push(error.props.id);
211
121
  });
212
- var sharedProps = {
213
- className: classes,
214
- id: "".concat(id, "-row")
215
- };
216
- var contents = (0, _react2.jsx)(_react.default.Fragment, null, optionalLabel, (0, _react2.jsx)("div", {
217
- className: fieldWrapperClasses
218
- }, field, optionalErrors, optionalHelpTexts));
219
- return labelType === 'legend' ? (0, _react2.jsx)("fieldset", (0, _extends2.default)({}, sharedProps, rest), contents) : (0, _react2.jsx)("div", (0, _extends2.default)({}, sharedProps, rest), contents);
220
122
  }
221
- }]);
222
- }(_react.Component);
223
- (0, _defineProperty2.default)(EuiFormRow, "contextType", _eui_form_context.FormContext);
224
- (0, _defineProperty2.default)(EuiFormRow, "defaultProps", {
225
- display: 'row',
226
- hasEmptyLabelSpace: false,
227
- describedByIds: [],
228
- labelType: 'label',
229
- hasChildLabel: true
230
- });
123
+ if (describingIds.length) {
124
+ return describingIds.join(' ');
125
+ }
126
+ }, [describedByIds, optionalHelpTexts, optionalErrors]);
127
+ var field = (0, _react.useMemo)(function () {
128
+ var _ref2, _child$props$disabled;
129
+ var child = _react.Children.only(children);
130
+ return /*#__PURE__*/(0, _react.cloneElement)(child, {
131
+ id: id,
132
+ // Allow the child's disabled or isDisabled prop to supercede the `isDisabled`
133
+ disabled: (_ref2 = (_child$props$disabled = child.props.disabled) !== null && _child$props$disabled !== void 0 ? _child$props$disabled : child.props.isDisabled) !== null && _ref2 !== void 0 ? _ref2 : isDisabled,
134
+ 'aria-describedby': ariaDescribedBy
135
+ });
136
+ }, [children, id, isDisabled, ariaDescribedBy]);
137
+ var Element = labelType === 'legend' ? 'fieldset' : 'div';
138
+ return (0, _react2.jsx)(Element, (0, _extends2.default)({
139
+ css: cssStyles,
140
+ className: classes,
141
+ id: "".concat(id, "-row")
142
+ }, rest), hasLabel ? (0, _react2.jsx)("div", {
143
+ className: "euiFormRow__labelWrapper"
144
+ }, (0, _react2.jsx)(_form_label.EuiFormLabel, (0, _extends2.default)({
145
+ className: "euiFormRow__label",
146
+ "aria-invalid": isInvalid,
147
+ isInvalid: isInvalid,
148
+ isDisabled: isDisabled,
149
+ isFocused: isFocused && !isDisabled,
150
+ id: "".concat(id, "-label")
151
+ // ExclusiveUnion shenanigans
152
+ }, labelType === 'legend' ? {
153
+ type: labelType
154
+ } : {
155
+ type: labelType,
156
+ htmlFor: hasChildLabel ? id : undefined
157
+ }), label), labelAppend && ' ', labelAppend) : hasEmptyLabelSpace && (0, _react2.jsx)(_spacer.EuiSpacer, {
158
+ size: "m",
159
+ className: "euiFormRow__labelWrapper"
160
+ }), (0, _react2.jsx)("div", {
161
+ className: "euiFormRow__fieldWrapper",
162
+ onFocus: onFocusWithin,
163
+ onBlur: onBlurWithin
164
+ }, field, optionalErrors, optionalHelpTexts));
165
+ };
231
166
  EuiFormRow.propTypes = {
232
167
  /**
233
168
  * Defaults to rendering a `<label>` but if passed `'legend'` for labelType,
@@ -239,24 +174,26 @@ EuiFormRow.propTypes = {
239
174
  "data-test-subj": _propTypes.default.string,
240
175
  css: _propTypes.default.any,
241
176
  /**
242
- * When `rowCompressed`, just tightens up the spacing;
243
- * Set to `columnCompressed` if compressed
244
- * and horizontal layout is needed.
245
- * Set to `center` or `centerCompressed` to align non-input
246
- * content better with inline rows.
247
- * Set to `columnCompressedSwitch` if the form control being passed
248
- * as the child is a switch.
177
+ * - `columnCompressed` creates a compressed and horizontal layout
178
+ * - `columnCompressedSwitch` - **deprecated**, use `columnCompressed` instead
179
+ * - `center`/`centerCompressed` helps align non-input content better with inline form layouts
180
+ * - `rowCompressed` - **deprecated**, does not currently affect styling
181
+ */
182
+ /**
183
+ * - `columnCompressed` creates a compressed and horizontal layout
184
+ * - `columnCompressedSwitch` - **deprecated**, use `columnCompressed` instead
185
+ * - `center`/`centerCompressed` helps align non-input content better with inline form layouts
186
+ * - `rowCompressed` - **deprecated**, does not currently affect styling
187
+ */
188
+ display: _propTypes.default.any,
189
+ /**
190
+ * Useful for inline form layouts, primarily for content that
191
+ * needs to be aligned with inputs but does not need a label
249
192
  */
250
193
  /**
251
- * When `rowCompressed`, just tightens up the spacing;
252
- * Set to `columnCompressed` if compressed
253
- * and horizontal layout is needed.
254
- * Set to `center` or `centerCompressed` to align non-input
255
- * content better with inline rows.
256
- * Set to `columnCompressedSwitch` if the form control being passed
257
- * as the child is a switch.
194
+ * Useful for inline form layouts, primarily for content that
195
+ * needs to be aligned with inputs but does not need a label
258
196
  */
259
- display: _propTypes.default.oneOf(["row", "rowCompressed", "columnCompressed", "center", "centerCompressed", "columnCompressedSwitch"]),
260
197
  hasEmptyLabelSpace: _propTypes.default.bool,
261
198
  /**
262
199
  * Expand to fill 100% of the parent.