@elastic/eui 112.3.0 → 113.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 (294) hide show
  1. package/es/components/badge/beta_badge/beta_badge.styles.js +1 -1
  2. package/es/components/badge/color_utils.js +1 -1
  3. package/es/components/badge/notification_badge/badge_notification.styles.js +1 -1
  4. package/es/components/button/button_display/_button_display.js +1 -0
  5. package/es/components/button/button_display/_button_display.styles.js +3 -3
  6. package/es/components/button/button_display/_button_display_content.js +6 -1
  7. package/es/components/button/button_display/_button_display_content.styles.js +6 -1
  8. package/es/components/button/button_empty/button_empty.js +1 -0
  9. package/es/components/button/button_empty/button_empty.styles.js +3 -3
  10. package/es/components/button/button_group/button_group.js +4 -27
  11. package/es/components/button/button_group/button_group_button.js +4 -27
  12. package/es/components/code/code_block_annotations.js +1 -1
  13. package/es/components/collapsible_nav/collapsible_nav_group/collapsible_nav_group.styles.js +1 -1
  14. package/es/components/color_picker/color_picker.js +2 -1
  15. package/es/components/color_picker/color_picker.styles.js +1 -1
  16. package/es/components/color_picker/hue.styles.js +2 -2
  17. package/es/components/color_picker/saturation.styles.js +2 -2
  18. package/es/components/date_picker/auto_refresh/auto_refresh.js +8 -8
  19. package/es/components/date_picker/date_picker_range.js +12 -2
  20. package/es/components/date_picker/date_picker_range.styles.js +1 -1
  21. package/es/components/date_picker/super_date_picker/date_popover/date_popover_button.styles.js +6 -1
  22. package/es/components/date_picker/super_date_picker/quick_select_popover/quick_select_popover.js +9 -24
  23. package/es/components/date_picker/super_date_picker/super_date_picker.js +3 -1
  24. package/es/components/date_picker/super_date_picker/super_date_picker.styles.js +7 -13
  25. package/es/components/filter_group/filter_button.styles.js +1 -1
  26. package/es/components/flyout/flyout_body.js +10 -3
  27. package/es/components/flyout/manager/actions.js +11 -0
  28. package/es/components/flyout/manager/flyout_managed.js +4 -3
  29. package/es/components/flyout/manager/index.js +1 -1
  30. package/es/components/flyout/manager/reducer.js +19 -1
  31. package/es/components/flyout/manager/store.js +4 -1
  32. package/es/components/form/field_password/field_password.js +6 -3
  33. package/es/components/form/form.styles.js +18 -11
  34. package/es/components/form/form_control_button/form_control_button.js +30 -7
  35. package/es/components/form/form_control_button/form_control_button.styles.js +5 -2
  36. package/es/components/form/form_control_layout/append_prepend/form_append_prepend.js +149 -0
  37. package/es/components/form/form_control_layout/append_prepend/form_append_prepend.styles.js +28 -0
  38. package/es/components/form/form_control_layout/append_prepend/index.js +9 -0
  39. package/es/components/form/form_control_layout/form_control_layout.js +55 -24
  40. package/es/components/form/form_control_layout/form_control_layout.styles.js +46 -27
  41. package/es/components/form/form_control_layout/form_control_layout_context.js +21 -0
  42. package/es/components/form/form_control_layout/form_control_layout_delimited.styles.js +5 -12
  43. package/es/components/form/form_control_layout/index.js +2 -1
  44. package/es/components/form/form_label/form_label.js +17 -3
  45. package/es/components/form/range/range_levels.styles.js +1 -1
  46. package/es/components/form/range/range_tooltip.styles.js +1 -1
  47. package/es/components/header/header.styles.js +1 -1
  48. package/es/components/header/header_links/header_link.js +7 -0
  49. package/es/components/header/header_section/header_section_item_button.js +7 -0
  50. package/es/components/icon/icon.styles.js +1 -1
  51. package/es/components/image/image_caption.styles.js +1 -1
  52. package/es/components/link/link.styles.js +1 -1
  53. package/es/components/list_group/list_group_item.styles.js +1 -1
  54. package/es/components/markdown_editor/markdown_format.styles.js +1 -1
  55. package/es/components/pagination/pagination_button.js +7 -0
  56. package/es/components/pagination/pagination_button.styles.js +1 -1
  57. package/es/components/text/text_color.styles.js +1 -1
  58. package/es/components/token/token.styles.js +1 -1
  59. package/es/components/tool_tip/tool_tip.styles.js +1 -1
  60. package/es/global_styling/mixins/_button.js +7 -2
  61. package/eui.d.ts +180 -48
  62. package/lib/components/badge/beta_badge/beta_badge.styles.js +1 -1
  63. package/lib/components/badge/color_utils.js +1 -1
  64. package/lib/components/badge/notification_badge/badge_notification.styles.js +1 -1
  65. package/lib/components/button/button_display/_button_display.js +1 -0
  66. package/lib/components/button/button_display/_button_display.styles.js +2 -2
  67. package/lib/components/button/button_display/_button_display_content.js +6 -1
  68. package/lib/components/button/button_display/_button_display_content.styles.js +6 -1
  69. package/lib/components/button/button_empty/button_empty.js +2 -1
  70. package/lib/components/button/button_empty/button_empty.styles.js +2 -2
  71. package/lib/components/button/button_group/button_group.js +5 -28
  72. package/lib/components/button/button_group/button_group_button.js +4 -27
  73. package/lib/components/code/code_block_annotations.js +1 -1
  74. package/lib/components/collapsible_nav/collapsible_nav_group/collapsible_nav_group.styles.js +1 -1
  75. package/lib/components/color_picker/color_picker.js +2 -1
  76. package/lib/components/color_picker/color_picker.styles.js +1 -1
  77. package/lib/components/color_picker/hue.styles.js +2 -2
  78. package/lib/components/color_picker/saturation.styles.js +2 -2
  79. package/lib/components/date_picker/auto_refresh/auto_refresh.js +8 -8
  80. package/lib/components/date_picker/date_picker_range.js +12 -2
  81. package/lib/components/date_picker/date_picker_range.styles.js +1 -1
  82. package/lib/components/date_picker/super_date_picker/date_popover/date_popover_button.styles.js +8 -3
  83. package/lib/components/date_picker/super_date_picker/quick_select_popover/quick_select_popover.js +9 -23
  84. package/lib/components/date_picker/super_date_picker/super_date_picker.js +3 -1
  85. package/lib/components/date_picker/super_date_picker/super_date_picker.styles.js +7 -13
  86. package/lib/components/filter_group/filter_button.styles.js +1 -1
  87. package/lib/components/flyout/flyout_body.js +10 -3
  88. package/lib/components/flyout/manager/actions.js +12 -1
  89. package/lib/components/flyout/manager/flyout_managed.js +4 -3
  90. package/lib/components/flyout/manager/index.js +6 -0
  91. package/lib/components/flyout/manager/reducer.js +18 -0
  92. package/lib/components/flyout/manager/store.js +3 -0
  93. package/lib/components/form/field_password/field_password.js +6 -3
  94. package/lib/components/form/form.styles.js +19 -12
  95. package/lib/components/form/form_control_button/form_control_button.js +29 -6
  96. package/lib/components/form/form_control_button/form_control_button.styles.js +3 -0
  97. package/lib/components/form/form_control_layout/append_prepend/form_append_prepend.js +158 -0
  98. package/lib/components/form/form_control_layout/append_prepend/form_append_prepend.styles.js +34 -0
  99. package/lib/components/form/form_control_layout/append_prepend/index.js +18 -0
  100. package/lib/components/form/form_control_layout/form_control_layout.js +55 -24
  101. package/lib/components/form/form_control_layout/form_control_layout.styles.js +45 -26
  102. package/lib/components/form/form_control_layout/form_control_layout_context.js +27 -0
  103. package/lib/components/form/form_control_layout/form_control_layout_delimited.styles.js +4 -11
  104. package/lib/components/form/form_control_layout/index.js +18 -1
  105. package/lib/components/form/form_label/form_label.js +17 -3
  106. package/lib/components/form/range/range_levels.styles.js +1 -1
  107. package/lib/components/form/range/range_tooltip.styles.js +1 -1
  108. package/lib/components/header/header.styles.js +1 -1
  109. package/lib/components/header/header_links/header_link.js +7 -0
  110. package/lib/components/header/header_section/header_section_item_button.js +7 -0
  111. package/lib/components/icon/icon.styles.js +1 -1
  112. package/lib/components/image/image_caption.styles.js +1 -1
  113. package/lib/components/inline_edit/inline_edit_form.js +1 -1
  114. package/lib/components/link/link.styles.js +1 -1
  115. package/lib/components/list_group/list_group_item.styles.js +1 -1
  116. package/lib/components/markdown_editor/markdown_format.styles.js +1 -1
  117. package/lib/components/pagination/pagination_button.js +7 -0
  118. package/lib/components/pagination/pagination_button.styles.js +1 -1
  119. package/lib/components/text/text_color.styles.js +1 -1
  120. package/lib/components/token/token.styles.js +1 -1
  121. package/lib/components/tool_tip/tool_tip.styles.js +1 -1
  122. package/lib/global_styling/mixins/_button.js +8 -3
  123. package/optimize/es/components/badge/beta_badge/beta_badge.styles.js +1 -1
  124. package/optimize/es/components/badge/color_utils.js +1 -1
  125. package/optimize/es/components/badge/notification_badge/badge_notification.styles.js +1 -1
  126. package/optimize/es/components/button/button_display/_button_display.js +1 -0
  127. package/optimize/es/components/button/button_display/_button_display.styles.js +3 -3
  128. package/optimize/es/components/button/button_display/_button_display_content.js +5 -1
  129. package/optimize/es/components/button/button_display/_button_display_content.styles.js +6 -1
  130. package/optimize/es/components/button/button_empty/button_empty.js +1 -0
  131. package/optimize/es/components/button/button_empty/button_empty.styles.js +3 -3
  132. package/optimize/es/components/code/code_block_annotations.js +1 -1
  133. package/optimize/es/components/collapsible_nav/collapsible_nav_group/collapsible_nav_group.styles.js +1 -1
  134. package/optimize/es/components/color_picker/color_picker.js +2 -1
  135. package/optimize/es/components/color_picker/color_picker.styles.js +1 -1
  136. package/optimize/es/components/color_picker/hue.styles.js +2 -2
  137. package/optimize/es/components/color_picker/saturation.styles.js +2 -2
  138. package/optimize/es/components/date_picker/auto_refresh/auto_refresh.js +8 -8
  139. package/optimize/es/components/date_picker/date_picker_range.js +8 -2
  140. package/optimize/es/components/date_picker/date_picker_range.styles.js +1 -1
  141. package/optimize/es/components/date_picker/super_date_picker/date_popover/date_popover_button.styles.js +6 -1
  142. package/optimize/es/components/date_picker/super_date_picker/quick_select_popover/quick_select_popover.js +9 -21
  143. package/optimize/es/components/date_picker/super_date_picker/super_date_picker.js +3 -1
  144. package/optimize/es/components/date_picker/super_date_picker/super_date_picker.styles.js +7 -13
  145. package/optimize/es/components/filter_group/filter_button.styles.js +1 -1
  146. package/optimize/es/components/flyout/flyout_body.js +5 -2
  147. package/optimize/es/components/flyout/manager/actions.js +11 -0
  148. package/optimize/es/components/flyout/manager/flyout_managed.js +4 -3
  149. package/optimize/es/components/flyout/manager/index.js +1 -1
  150. package/optimize/es/components/flyout/manager/reducer.js +19 -1
  151. package/optimize/es/components/flyout/manager/store.js +4 -1
  152. package/optimize/es/components/form/field_password/field_password.js +6 -3
  153. package/optimize/es/components/form/form.styles.js +18 -11
  154. package/optimize/es/components/form/form_control_button/form_control_button.js +23 -7
  155. package/optimize/es/components/form/form_control_button/form_control_button.styles.js +5 -2
  156. package/optimize/es/components/form/form_control_layout/append_prepend/form_append_prepend.js +102 -0
  157. package/optimize/es/components/form/form_control_layout/append_prepend/form_append_prepend.styles.js +28 -0
  158. package/optimize/es/components/form/form_control_layout/append_prepend/index.js +9 -0
  159. package/optimize/es/components/form/form_control_layout/form_control_layout.js +52 -23
  160. package/optimize/es/components/form/form_control_layout/form_control_layout.styles.js +46 -27
  161. package/optimize/es/components/form/form_control_layout/form_control_layout_context.js +21 -0
  162. package/optimize/es/components/form/form_control_layout/form_control_layout_delimited.styles.js +5 -12
  163. package/optimize/es/components/form/form_control_layout/index.js +2 -1
  164. package/optimize/es/components/form/form_label/form_label.js +9 -2
  165. package/optimize/es/components/form/range/range_levels.styles.js +1 -1
  166. package/optimize/es/components/form/range/range_tooltip.styles.js +1 -1
  167. package/optimize/es/components/header/header.styles.js +1 -1
  168. package/optimize/es/components/icon/icon.styles.js +1 -1
  169. package/optimize/es/components/image/image_caption.styles.js +1 -1
  170. package/optimize/es/components/link/link.styles.js +1 -1
  171. package/optimize/es/components/list_group/list_group_item.styles.js +1 -1
  172. package/optimize/es/components/markdown_editor/markdown_format.styles.js +1 -1
  173. package/optimize/es/components/pagination/pagination_button.styles.js +1 -1
  174. package/optimize/es/components/text/text_color.styles.js +1 -1
  175. package/optimize/es/components/token/token.styles.js +1 -1
  176. package/optimize/es/components/tool_tip/tool_tip.styles.js +1 -1
  177. package/optimize/es/global_styling/mixins/_button.js +7 -2
  178. package/optimize/lib/components/badge/beta_badge/beta_badge.styles.js +1 -1
  179. package/optimize/lib/components/badge/color_utils.js +1 -1
  180. package/optimize/lib/components/badge/notification_badge/badge_notification.styles.js +1 -1
  181. package/optimize/lib/components/button/button_display/_button_display.js +1 -0
  182. package/optimize/lib/components/button/button_display/_button_display.styles.js +2 -2
  183. package/optimize/lib/components/button/button_display/_button_display_content.js +5 -1
  184. package/optimize/lib/components/button/button_display/_button_display_content.styles.js +6 -1
  185. package/optimize/lib/components/button/button_empty/button_empty.js +1 -0
  186. package/optimize/lib/components/button/button_empty/button_empty.styles.js +2 -2
  187. package/optimize/lib/components/code/code_block_annotations.js +1 -1
  188. package/optimize/lib/components/collapsible_nav/collapsible_nav_group/collapsible_nav_group.styles.js +1 -1
  189. package/optimize/lib/components/color_picker/color_picker.js +2 -1
  190. package/optimize/lib/components/color_picker/color_picker.styles.js +1 -1
  191. package/optimize/lib/components/color_picker/hue.styles.js +2 -2
  192. package/optimize/lib/components/color_picker/saturation.styles.js +2 -2
  193. package/optimize/lib/components/date_picker/auto_refresh/auto_refresh.js +7 -7
  194. package/optimize/lib/components/date_picker/date_picker_range.js +8 -2
  195. package/optimize/lib/components/date_picker/date_picker_range.styles.js +1 -1
  196. package/optimize/lib/components/date_picker/super_date_picker/date_popover/date_popover_button.styles.js +8 -3
  197. package/optimize/lib/components/date_picker/super_date_picker/quick_select_popover/quick_select_popover.js +9 -21
  198. package/optimize/lib/components/date_picker/super_date_picker/super_date_picker.js +3 -1
  199. package/optimize/lib/components/date_picker/super_date_picker/super_date_picker.styles.js +7 -13
  200. package/optimize/lib/components/filter_group/filter_button.styles.js +1 -1
  201. package/optimize/lib/components/flyout/flyout_body.js +5 -2
  202. package/optimize/lib/components/flyout/manager/actions.js +12 -1
  203. package/optimize/lib/components/flyout/manager/flyout_managed.js +4 -3
  204. package/optimize/lib/components/flyout/manager/index.js +6 -0
  205. package/optimize/lib/components/flyout/manager/reducer.js +18 -0
  206. package/optimize/lib/components/flyout/manager/store.js +3 -0
  207. package/optimize/lib/components/form/field_password/field_password.js +6 -3
  208. package/optimize/lib/components/form/form.styles.js +19 -12
  209. package/optimize/lib/components/form/form_control_button/form_control_button.js +22 -6
  210. package/optimize/lib/components/form/form_control_button/form_control_button.styles.js +3 -0
  211. package/optimize/lib/components/form/form_control_layout/append_prepend/form_append_prepend.js +111 -0
  212. package/optimize/lib/components/form/form_control_layout/append_prepend/form_append_prepend.styles.js +34 -0
  213. package/optimize/lib/components/form/form_control_layout/append_prepend/index.js +18 -0
  214. package/optimize/lib/components/form/form_control_layout/form_control_layout.js +52 -23
  215. package/optimize/lib/components/form/form_control_layout/form_control_layout.styles.js +45 -26
  216. package/optimize/lib/components/form/form_control_layout/form_control_layout_context.js +27 -0
  217. package/optimize/lib/components/form/form_control_layout/form_control_layout_delimited.styles.js +4 -11
  218. package/optimize/lib/components/form/form_control_layout/index.js +18 -1
  219. package/optimize/lib/components/form/form_label/form_label.js +9 -2
  220. package/optimize/lib/components/form/range/range_levels.styles.js +1 -1
  221. package/optimize/lib/components/form/range/range_tooltip.styles.js +1 -1
  222. package/optimize/lib/components/header/header.styles.js +1 -1
  223. package/optimize/lib/components/icon/icon.styles.js +1 -1
  224. package/optimize/lib/components/image/image_caption.styles.js +1 -1
  225. package/optimize/lib/components/link/link.styles.js +1 -1
  226. package/optimize/lib/components/list_group/list_group_item.styles.js +1 -1
  227. package/optimize/lib/components/markdown_editor/markdown_format.styles.js +1 -1
  228. package/optimize/lib/components/pagination/pagination_button.styles.js +1 -1
  229. package/optimize/lib/components/text/text_color.styles.js +1 -1
  230. package/optimize/lib/components/token/token.styles.js +1 -1
  231. package/optimize/lib/components/tool_tip/tool_tip.styles.js +1 -1
  232. package/optimize/lib/global_styling/mixins/_button.js +8 -3
  233. package/package.json +4 -4
  234. package/test-env/components/badge/beta_badge/beta_badge.styles.js +1 -1
  235. package/test-env/components/badge/color_utils.js +1 -1
  236. package/test-env/components/badge/notification_badge/badge_notification.styles.js +1 -1
  237. package/test-env/components/button/button_display/_button_display.js +1 -0
  238. package/test-env/components/button/button_display/_button_display.styles.js +2 -2
  239. package/test-env/components/button/button_display/_button_display_content.js +6 -1
  240. package/test-env/components/button/button_display/_button_display_content.styles.js +6 -1
  241. package/test-env/components/button/button_empty/button_empty.js +2 -1
  242. package/test-env/components/button/button_empty/button_empty.styles.js +2 -2
  243. package/test-env/components/button/button_group/button_group.js +5 -28
  244. package/test-env/components/button/button_group/button_group_button.js +4 -27
  245. package/test-env/components/code/code_block_annotations.js +1 -1
  246. package/test-env/components/collapsible_nav/collapsible_nav_group/collapsible_nav_group.styles.js +1 -1
  247. package/test-env/components/color_picker/color_picker.js +2 -1
  248. package/test-env/components/color_picker/color_picker.styles.js +1 -1
  249. package/test-env/components/color_picker/hue.styles.js +2 -2
  250. package/test-env/components/color_picker/saturation.styles.js +2 -2
  251. package/test-env/components/date_picker/auto_refresh/auto_refresh.js +8 -8
  252. package/test-env/components/date_picker/date_picker_range.js +12 -2
  253. package/test-env/components/date_picker/date_picker_range.styles.js +1 -1
  254. package/test-env/components/date_picker/super_date_picker/date_popover/date_popover_button.styles.js +8 -3
  255. package/test-env/components/date_picker/super_date_picker/quick_select_popover/quick_select_popover.js +9 -21
  256. package/test-env/components/date_picker/super_date_picker/super_date_picker.js +3 -1
  257. package/test-env/components/date_picker/super_date_picker/super_date_picker.styles.js +7 -13
  258. package/test-env/components/filter_group/filter_button.styles.js +1 -1
  259. package/test-env/components/flyout/flyout_body.js +10 -3
  260. package/test-env/components/flyout/manager/actions.js +12 -1
  261. package/test-env/components/flyout/manager/flyout_managed.js +4 -3
  262. package/test-env/components/flyout/manager/index.js +6 -0
  263. package/test-env/components/flyout/manager/reducer.js +18 -0
  264. package/test-env/components/flyout/manager/store.js +3 -0
  265. package/test-env/components/form/field_password/field_password.js +6 -3
  266. package/test-env/components/form/form.styles.js +19 -12
  267. package/test-env/components/form/form_control_button/form_control_button.js +29 -6
  268. package/test-env/components/form/form_control_button/form_control_button.styles.js +3 -0
  269. package/test-env/components/form/form_control_layout/append_prepend/form_append_prepend.js +157 -0
  270. package/test-env/components/form/form_control_layout/append_prepend/form_append_prepend.styles.js +34 -0
  271. package/test-env/components/form/form_control_layout/append_prepend/index.js +18 -0
  272. package/test-env/components/form/form_control_layout/form_control_layout.js +55 -24
  273. package/test-env/components/form/form_control_layout/form_control_layout.styles.js +45 -26
  274. package/test-env/components/form/form_control_layout/form_control_layout_context.js +27 -0
  275. package/test-env/components/form/form_control_layout/form_control_layout_delimited.styles.js +4 -11
  276. package/test-env/components/form/form_control_layout/index.js +18 -1
  277. package/test-env/components/form/form_label/form_label.js +17 -3
  278. package/test-env/components/form/range/range_levels.styles.js +1 -1
  279. package/test-env/components/form/range/range_tooltip.styles.js +1 -1
  280. package/test-env/components/header/header.styles.js +1 -1
  281. package/test-env/components/header/header_links/header_link.js +7 -0
  282. package/test-env/components/header/header_section/header_section_item_button.js +7 -0
  283. package/test-env/components/icon/icon.styles.js +1 -1
  284. package/test-env/components/image/image_caption.styles.js +1 -1
  285. package/test-env/components/inline_edit/inline_edit_form.js +1 -1
  286. package/test-env/components/link/link.styles.js +1 -1
  287. package/test-env/components/list_group/list_group_item.styles.js +1 -1
  288. package/test-env/components/markdown_editor/markdown_format.styles.js +1 -1
  289. package/test-env/components/pagination/pagination_button.js +7 -0
  290. package/test-env/components/pagination/pagination_button.styles.js +1 -1
  291. package/test-env/components/text/text_color.styles.js +1 -1
  292. package/test-env/components/token/token.styles.js +1 -1
  293. package/test-env/components/tool_tip/tool_tip.styles.js +1 -1
  294. package/test-env/global_styling/mixins/_button.js +8 -3
@@ -0,0 +1,149 @@
1
+ var _excluded = ["className"],
2
+ _excluded2 = ["className"],
3
+ _excluded3 = ["element", "id", "side", "children", "className", "inputId", "compressed", "iconLeft", "iconRight", "label", "isDisabled", "disabled"];
4
+ function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
5
+ import PropTypes from "prop-types";
6
+ function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], t.indexOf(o) >= 0 || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
7
+ function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.indexOf(n) >= 0) continue; t[n] = r[n]; } return t; }
8
+ /*
9
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
10
+ * or more contributor license agreements. Licensed under the Elastic License
11
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
12
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
13
+ * Side Public License, v 1.
14
+ */
15
+
16
+ import React, { useContext } from 'react';
17
+ import classNames from 'classnames';
18
+ import { useEuiMemoizedStyles } from '../../../../services';
19
+ import { EuiIcon } from '../../../icon';
20
+ import { EuiFormLabel } from '../../form_label';
21
+ import { euiFormAppendPrependStyles } from './form_append_prepend.styles';
22
+ import { EuiFormControlLayoutContext } from '../form_control_layout_context';
23
+ import { jsx as ___EmotionJSX } from "@emotion/react";
24
+ export var EuiFormAppend = function EuiFormAppend(_ref) {
25
+ var className = _ref.className,
26
+ rest = _objectWithoutProperties(_ref, _excluded);
27
+ var classes = classNames('euiFormAppend', className);
28
+ return ___EmotionJSX(EuiFormAppendPrepend, _extends({
29
+ className: classes
30
+ }, rest, {
31
+ side: "append"
32
+ }));
33
+ };
34
+ export var EuiFormPrepend = function EuiFormPrepend(_ref2) {
35
+ var className = _ref2.className,
36
+ rest = _objectWithoutProperties(_ref2, _excluded2);
37
+ var classes = classNames('euiFormPrepend', className);
38
+ return ___EmotionJSX(EuiFormAppendPrepend, _extends({
39
+ className: classes
40
+ }, rest, {
41
+ side: "prepend"
42
+ }));
43
+ };
44
+ /* Internal component */
45
+
46
+ export var EuiFormAppendPrepend = function EuiFormAppendPrepend(_ref3) {
47
+ var _ref3$element = _ref3.element,
48
+ element = _ref3$element === void 0 ? 'div' : _ref3$element,
49
+ id = _ref3.id,
50
+ side = _ref3.side,
51
+ children = _ref3.children,
52
+ className = _ref3.className,
53
+ _inputId = _ref3.inputId,
54
+ _compressed = _ref3.compressed,
55
+ _iconLeft = _ref3.iconLeft,
56
+ _iconRight = _ref3.iconRight,
57
+ _label = _ref3.label,
58
+ _isDisabled = _ref3.isDisabled,
59
+ disabled = _ref3.disabled,
60
+ rest = _objectWithoutProperties(_ref3, _excluded3);
61
+ var styles = useEuiMemoizedStyles(euiFormAppendPrependStyles);
62
+ var _useContext = useContext(EuiFormControlLayoutContext),
63
+ formLayoutCompressed = _useContext.compressed,
64
+ formLayoutInputId = _useContext.inputId,
65
+ formLayoutIsDisabled = _useContext.isDisabled;
66
+ var compressed = _compressed !== null && _compressed !== void 0 ? _compressed : formLayoutCompressed;
67
+ var inputId = _inputId !== null && _inputId !== void 0 ? _inputId : formLayoutInputId;
68
+
69
+ // Adding automatic check on onClick for DevX convenience, this doesn't replace defining `element`
70
+ var isButton = element === 'button' || typeof rest.onClick === 'function';
71
+ var isDisabled = _isDisabled || disabled || !isButton && formLayoutIsDisabled;
72
+ var iconLeft = _iconLeft && ___EmotionJSX(EuiIcon, {
73
+ type: _iconLeft
74
+ });
75
+ var iconRight = _iconRight && ___EmotionJSX(EuiIcon, {
76
+ type: _iconRight
77
+ });
78
+ var cssStyles = [styles.side, compressed ? styles.compressed : styles.uncompressed, isButton && !isDisabled && styles.isInteractive, isDisabled && styles.disabled];
79
+ var labelProps = isButton ? {
80
+ type: 'span',
81
+ id: id,
82
+ className: 'eui-textTruncate'
83
+ } : {
84
+ type: 'label',
85
+ id: id,
86
+ htmlFor: inputId || undefined
87
+ };
88
+ var label = _label && ___EmotionJSX(EuiFormLabel, labelProps, _label);
89
+ var content = ___EmotionJSX(React.Fragment, null, iconLeft, label, iconRight, children);
90
+ var component = ___EmotionJSX("div", _extends({
91
+ className: className,
92
+ css: cssStyles
93
+ }, rest), content);
94
+ if (isButton) {
95
+ component = ___EmotionJSX("button", _extends({
96
+ className: className,
97
+ css: cssStyles,
98
+ disabled: isDisabled
99
+ }, rest), content);
100
+ }
101
+ return ___EmotionJSX("div", {
102
+ css: styles.wrapper
103
+ }, component);
104
+ };
105
+ EuiFormAppendPrepend.propTypes = {
106
+ side: PropTypes.oneOf(["append", "prepend"]).isRequired,
107
+ className: PropTypes.string,
108
+ "aria-label": PropTypes.string,
109
+ "data-test-subj": PropTypes.string,
110
+ css: PropTypes.any,
111
+ /**
112
+ * Main content label
113
+ */
114
+ /**
115
+ * Main content label
116
+ */
117
+ label: PropTypes.node,
118
+ iconLeft: PropTypes.oneOfType([PropTypes.oneOf(["accessibility", "addDataApp", "advancedSettingsApp", "agentApp", "aggregate", "alignBottom", "alignBottomLeft", "alignBottomRight", "alignCenterHorizontal", "alignCenterVertical", "alignLeft", "alignRight", "alignTop", "alignTopLeft", "alignTopRight", "alert", "analyzeEvent", "annotation", "anomalyChart", "chartAnomaly", "anomalySwimLane", "apmApp", "apmTrace", "chartWaterfall", "appSearchApp", "apps", "arrowDown", "chevronSingleDown", "arrowLeft", "chevronSingleLeft", "arrowRight", "chevronSingleRight", "arrowUp", "chevronSingleUp", "arrowStart", "chevronLimitLeft", "arrowEnd", "chevronLimitRight", "article", "asterisk", "at", "archive", "axisX", "axisYLeft", "axisYRight", "auditbeatApp", "backgroundTask", "beaker", "bell", "bellSlash", "beta", "bolt", "boxesHorizontal", "boxesVertical", "branch", "briefcase", "branchUser", "broom", "brush", "bug", "bulb", "bullseye", "calendar", "canvasApp", "casesApp", "changePointDetection", "chartChangePoint", "chartArea", "chartAreaStack", "chartBarHorizontal", "chartBarHorizontalStack", "chartBarVertical", "chartBarVerticalStack", "chartGauge", "chartHeatmap", "chartLine", "chartPie", "chartTagCloud", "chartThreshold", "check", "checkCircle", "checkInCircleFilled", "checkCircleFill", "cheer", "popper", "classificationJob", "clickLeft", "clickRight", "clock", "clockCounter", "clockControl", "cloud", "cloudDrizzle", "cloudStormy", "cloudSunny", "cluster", "code", "codeApp", "color", "paintBucket", "commandLine", "comment", "compare", "compute", "processor", "console", "consoleApp", "container", "continuityAbove", "continuityAboveBelow", "continuityBelow", "continuityWithin", "contrast", "contrastHigh", "contrastFill", "controls", "controlsHorizontal", "controlsVertical", "copy", "copyClipboard", "crossProjectSearch", "createAdvancedJob", "createGenericJob", "createGeoJob", "createMultiMetricJob", "createPopulationJob", "createSingleMetricJob", "cross", "crossClusterReplicationApp", "crossInCircle", "crossCircle", "crosshair", "crosshairs", "currency", "money", "cut", "scissors", "dashboardApp", "dashedCircle", "dataVisualizer", "database", "desktop", "display", "devToolsApp", "diff", "discoverApp", "distributeHorizontal", "distributeVertical", "download", "drag", "dragHorizontal", "dragVertical", "discuss", "document", "documentEdit", "documentation", "documents", "dot", "dotInCircle", "doubleArrowLeft", "chevronDoubleLeft", "doubleArrowRight", "chevronDoubleRight", "ellipsis", "editorAlignCenter", "textAlignCenter", "editorAlignLeft", "textAlignLeft", "editorAlignRight", "textAlignRight", "editorBold", "textBold", "editorChecklist", "listCheck", "editorCodeBlock", "editorComment", "editorDistributeHorizontal", "editorDistributeVertical", "editorHeading", "textHeading", "editorItalic", "textItalic", "editorItemAlignBottom", "editorItemAlignCenter", "editorItemAlignLeft", "editorItemAlignMiddle", "editorItemAlignRight", "editorItemAlignTop", "editorLink", "editorOrderedList", "listNumber", "editorPositionBottomLeft", "editorPositionBottomRight", "editorPositionTopLeft", "editorPositionTopRight", "editorRedo", "redo", "editorStrike", "textStrike", "editorTable", "table", "editorUnderline", "textUnderline", "editorUndo", "undo", "editorUnorderedList", "listBullet", "email", "mail", "empty", "emsApp", "endpoint", "eql", "query", "eraser", "error", "errorFilled", "errorFill", "esqlVis", "exit", "logOut", "expand", "maximize", "expandMini", "export", "exportAction", "upload", "external", "eye", "eyeClosed", "eyeSlash", "faceHappy", "faceNeutral", "faceSad", "fieldStatistics", "tableInfo", "filebeatApp", "filter", "filterExclude", "filterIgnore", "filterInclude", "filterInCircle", "flask", "flag", "fleetApp", "fold", "folder", "folderClosed", "folderClose", "folderCheck", "folderExclamation", "folderOpen", "folderOpened", "frameNext", "framePrevious", "fullScreen", "fullScreenExit", "function", "gear", "gisApp", "glasses", "globe", "grab", "grabHorizontal", "grabOmnidirectional", "gradient", "graphApp", "grid", "grokApp", "heart", "heartbeatApp", "heatmap", "help", "home", "hourglass", "if", "info", "image", "importAction", "index", "indexClose", "indexEdit", "indexFlush", "indexManagementApp", "indexMapping", "mapping", "indexOpen", "indexPatternApp", "indexRollupApp", "indexRuntime", "indexSettings", "indexTemporary", "tableTime", "infinity", "inputOutput", "inspect", "invert", "ip", "key", "keyboard", "kqlField", "queryField", "kqlFunction", "kqlOperand", "queryOperand", "kqlSelector", "querySelector", "kqlValue", "queryValue", "kubernetesNode", "kubernetesPod", "launch", "rocket", "layers", "lensApp", "lettering", "text", "lineBreak", "lineBreakSlash", "lineDash", "lineDashed", "lineDot", "lineDotted", "lineSolid", "link", "linkSlash", "list", "listAdd", "lock", "lockOpen", "logPatternAnalysis", "pattern", "logRateAnalysis", "logoAWS", "logoAWSMono", "logoAerospike", "logoApache", "logoAppSearch", "logoAzure", "logoAzureMono", "logoBeats", "logoBusinessAnalytics", "logoCeph", "logoCloud", "logoCloudEnterprise", "logoCode", "logoCodesandbox", "logoCouchbase", "logoDocker", "logoDropwizard", "logoElastic", "logoElasticStack", "logoElasticsearch", "logoEnterpriseSearch", "logoEtcd", "logoGCP", "logoGCPMono", "logoGithub", "logoGmail", "logoGolang", "logoGoogleG", "logoHAproxy", "logoIBM", "logoIBMMono", "logoKafka", "logoKibana", "logoKubernetes", "logoLogging", "logoLogstash", "logoMaps", "logoMemcached", "logoMetrics", "logoMongodb", "logoMySQL", "logoNginx", "logoObservability", "logoOsquery", "logoPhp", "logoPostgres", "logoPrometheus", "logoRabbitmq", "logoRedis", "logoSecurity", "logoSiteSearch", "logoSketch", "logoSlack", "logoUptime", "logoVulnerabilityManagement", "logoWebhook", "logoWindows", "logoWorkplaceSearch", "logsApp", "logstashFilter", "logstashIf", "logstashInput", "logstashOutput", "logstashQueue", "queue", "machineLearningApp", "magnet", "magnify", "magnifyExclamation", "magnifyMinus", "magnifyPlus", "magnifyWithExclamation", "magnifyWithMinus", "magnifyWithPlus", "managementApp", "map", "mapMarker", "waypoint", "megaphone", "memory", "menu", "menuDown", "menuLeft", "menuRight", "menuUp", "merge", "metricbeatApp", "metricsApp", "minimize", "minus", "minusCircle", "minusInCircle", "minusInCircleFilled", "minusInSquare", "minusSquare", "mobile", "monitoringApp", "moon", "move", "namespace", "nested", "newChat", "node", "vectorTriangle", "notebookApp", "number", "offline", "wifiSlash", "online", "wifi", "outlierDetectionJob", "package", "packetbeatApp", "pageSelect", "pagesSelect", "palette", "paperClip", "partial", "pause", "payment", "pencil", "percent", "pin", "pinFill", "pinFilled", "pipeBreaks", "pipelineApp", "pipeNoBreaks", "pivot", "play", "playFilled", "plugs", "plus", "plusCircle", "plusInCircle", "plusInCircleFilled", "plusInSquare", "plusSquare", "popout", "presentation", "productRobot", "productAgent", "productCloudInfra", "productDashboard", "productDiscover", "productML", "productStreamsClassic", "productStreamsWired", "push", "send", "question", "quote", "radar", "readOnly", "recentlyViewedApp", "refresh", "regressionJob", "reporter", "reportingApp", "return", "returnKey", "save", "savedObjectsApp", "scale", "search", "searchProfilerApp", "section", "securityAnalyticsApp", "securityApp", "securitySignal", "securitySignalDetected", "securitySignalResolved", "server", "sessionViewer", "shard", "share", "singleMetricViewer", "snowflake", "sortAscending", "sortDescending", "sortDown", "sortLeft", "sortRight", "sortUp", "sortable", "spaces", "spacesApp", "sparkles", "sqlApp", "star", "starEmpty", "starEmptySpace", "starFill", "starFilled", "starFillSpace", "starFilledSpace", "starMinusEmpty", "starMinusFill", "starMinusFilled", "starPlusEmpty", "starPlusFill", "starPlusFilled", "stats", "stop", "stopFill", "stopFilled", "stopSlash", "storage", "streamsClassic", "streamsWired", "string", "submodule", "sun", "swatchInput", "symlink", "tableDensityCompact", "tableDensityHigh", "tableDensityExpanded", "tableDensityLow", "tableDensityNormal", "tableOfContents", "tag", "tear", "temperature", "thermometer", "thumbDown", "thumbUp", "timeline", "timelineWithArrow", "timelionApp", "timeRefresh", "refreshTime", "timeslider", "training", "transitionLeftIn", "transitionLeftOut", "transitionTopIn", "transitionTopOut", "trash", "unfold", "unlink", "upgradeAssistantApp", "uptimeApp", "user", "userAvatar", "users", "usersRolesApp", "unarchive", "vector", "vectorSquare", "videoPlayer", "visArea", "visAreaStacked", "visBarHorizontal", "visBarHorizontalStacked", "visBarVertical", "visBarVerticalStacked", "visGauge", "visGoal", "visLine", "visMapCoordinate", "visMapRegion", "visMetric", "chartMetric", "visPie", "visTable", "visTagCloud", "visText", "visTimelion", "visVega", "visVisualBuilder", "visualizeApp", "vulnerabilityManagementApp", "warning", "warningFilled", "warningFill", "watchesApp", "web", "wordWrap", "wordWrapDisabled", "workflowsApp", "workflow", "workplaceSearchApp", "wrench", "tokenAlias", "tokenAnnotation", "tokenArray", "tokenBinary", "tokenBoolean", "tokenClass", "tokenCompletionSuggester", "tokenConstant", "tokenDate", "tokenDimension", "tokenElement", "tokenEnum", "tokenEnumMember", "tokenEvent", "tokenException", "tokenField", "tokenFile", "tokenFlattened", "tokenFunction", "tokenGeo", "tokenHistogram", "tokenInterface", "tokenIP", "tokenJoin", "tokenKey", "tokenKeyword", "tokenMethod", "tokenMetricCounter", "tokenMetricGauge", "tokenModule", "tokenNamespace", "tokenNested", "tokenNull", "tokenNumber", "tokenObject", "tokenOperator", "tokenPackage", "tokenParameter", "tokenPercolator", "tokenProperty", "tokenRange", "tokenRankFeature", "tokenRankFeatures", "tokenRepo", "tokenSearchType", "tokenSemanticText", "tokenShape", "tokenString", "tokenStruct", "tokenSymbol", "tokenTag", "tokenText", "tokenTokenCount", "tokenVariable", "tokenVectorDense", "tokenDenseVector", "tokenVectorSparse"]).isRequired, PropTypes.string.isRequired, PropTypes.elementType.isRequired]),
119
+ iconRight: PropTypes.oneOfType([PropTypes.oneOf(["accessibility", "addDataApp", "advancedSettingsApp", "agentApp", "aggregate", "alignBottom", "alignBottomLeft", "alignBottomRight", "alignCenterHorizontal", "alignCenterVertical", "alignLeft", "alignRight", "alignTop", "alignTopLeft", "alignTopRight", "alert", "analyzeEvent", "annotation", "anomalyChart", "chartAnomaly", "anomalySwimLane", "apmApp", "apmTrace", "chartWaterfall", "appSearchApp", "apps", "arrowDown", "chevronSingleDown", "arrowLeft", "chevronSingleLeft", "arrowRight", "chevronSingleRight", "arrowUp", "chevronSingleUp", "arrowStart", "chevronLimitLeft", "arrowEnd", "chevronLimitRight", "article", "asterisk", "at", "archive", "axisX", "axisYLeft", "axisYRight", "auditbeatApp", "backgroundTask", "beaker", "bell", "bellSlash", "beta", "bolt", "boxesHorizontal", "boxesVertical", "branch", "briefcase", "branchUser", "broom", "brush", "bug", "bulb", "bullseye", "calendar", "canvasApp", "casesApp", "changePointDetection", "chartChangePoint", "chartArea", "chartAreaStack", "chartBarHorizontal", "chartBarHorizontalStack", "chartBarVertical", "chartBarVerticalStack", "chartGauge", "chartHeatmap", "chartLine", "chartPie", "chartTagCloud", "chartThreshold", "check", "checkCircle", "checkInCircleFilled", "checkCircleFill", "cheer", "popper", "classificationJob", "clickLeft", "clickRight", "clock", "clockCounter", "clockControl", "cloud", "cloudDrizzle", "cloudStormy", "cloudSunny", "cluster", "code", "codeApp", "color", "paintBucket", "commandLine", "comment", "compare", "compute", "processor", "console", "consoleApp", "container", "continuityAbove", "continuityAboveBelow", "continuityBelow", "continuityWithin", "contrast", "contrastHigh", "contrastFill", "controls", "controlsHorizontal", "controlsVertical", "copy", "copyClipboard", "crossProjectSearch", "createAdvancedJob", "createGenericJob", "createGeoJob", "createMultiMetricJob", "createPopulationJob", "createSingleMetricJob", "cross", "crossClusterReplicationApp", "crossInCircle", "crossCircle", "crosshair", "crosshairs", "currency", "money", "cut", "scissors", "dashboardApp", "dashedCircle", "dataVisualizer", "database", "desktop", "display", "devToolsApp", "diff", "discoverApp", "distributeHorizontal", "distributeVertical", "download", "drag", "dragHorizontal", "dragVertical", "discuss", "document", "documentEdit", "documentation", "documents", "dot", "dotInCircle", "doubleArrowLeft", "chevronDoubleLeft", "doubleArrowRight", "chevronDoubleRight", "ellipsis", "editorAlignCenter", "textAlignCenter", "editorAlignLeft", "textAlignLeft", "editorAlignRight", "textAlignRight", "editorBold", "textBold", "editorChecklist", "listCheck", "editorCodeBlock", "editorComment", "editorDistributeHorizontal", "editorDistributeVertical", "editorHeading", "textHeading", "editorItalic", "textItalic", "editorItemAlignBottom", "editorItemAlignCenter", "editorItemAlignLeft", "editorItemAlignMiddle", "editorItemAlignRight", "editorItemAlignTop", "editorLink", "editorOrderedList", "listNumber", "editorPositionBottomLeft", "editorPositionBottomRight", "editorPositionTopLeft", "editorPositionTopRight", "editorRedo", "redo", "editorStrike", "textStrike", "editorTable", "table", "editorUnderline", "textUnderline", "editorUndo", "undo", "editorUnorderedList", "listBullet", "email", "mail", "empty", "emsApp", "endpoint", "eql", "query", "eraser", "error", "errorFilled", "errorFill", "esqlVis", "exit", "logOut", "expand", "maximize", "expandMini", "export", "exportAction", "upload", "external", "eye", "eyeClosed", "eyeSlash", "faceHappy", "faceNeutral", "faceSad", "fieldStatistics", "tableInfo", "filebeatApp", "filter", "filterExclude", "filterIgnore", "filterInclude", "filterInCircle", "flask", "flag", "fleetApp", "fold", "folder", "folderClosed", "folderClose", "folderCheck", "folderExclamation", "folderOpen", "folderOpened", "frameNext", "framePrevious", "fullScreen", "fullScreenExit", "function", "gear", "gisApp", "glasses", "globe", "grab", "grabHorizontal", "grabOmnidirectional", "gradient", "graphApp", "grid", "grokApp", "heart", "heartbeatApp", "heatmap", "help", "home", "hourglass", "if", "info", "image", "importAction", "index", "indexClose", "indexEdit", "indexFlush", "indexManagementApp", "indexMapping", "mapping", "indexOpen", "indexPatternApp", "indexRollupApp", "indexRuntime", "indexSettings", "indexTemporary", "tableTime", "infinity", "inputOutput", "inspect", "invert", "ip", "key", "keyboard", "kqlField", "queryField", "kqlFunction", "kqlOperand", "queryOperand", "kqlSelector", "querySelector", "kqlValue", "queryValue", "kubernetesNode", "kubernetesPod", "launch", "rocket", "layers", "lensApp", "lettering", "text", "lineBreak", "lineBreakSlash", "lineDash", "lineDashed", "lineDot", "lineDotted", "lineSolid", "link", "linkSlash", "list", "listAdd", "lock", "lockOpen", "logPatternAnalysis", "pattern", "logRateAnalysis", "logoAWS", "logoAWSMono", "logoAerospike", "logoApache", "logoAppSearch", "logoAzure", "logoAzureMono", "logoBeats", "logoBusinessAnalytics", "logoCeph", "logoCloud", "logoCloudEnterprise", "logoCode", "logoCodesandbox", "logoCouchbase", "logoDocker", "logoDropwizard", "logoElastic", "logoElasticStack", "logoElasticsearch", "logoEnterpriseSearch", "logoEtcd", "logoGCP", "logoGCPMono", "logoGithub", "logoGmail", "logoGolang", "logoGoogleG", "logoHAproxy", "logoIBM", "logoIBMMono", "logoKafka", "logoKibana", "logoKubernetes", "logoLogging", "logoLogstash", "logoMaps", "logoMemcached", "logoMetrics", "logoMongodb", "logoMySQL", "logoNginx", "logoObservability", "logoOsquery", "logoPhp", "logoPostgres", "logoPrometheus", "logoRabbitmq", "logoRedis", "logoSecurity", "logoSiteSearch", "logoSketch", "logoSlack", "logoUptime", "logoVulnerabilityManagement", "logoWebhook", "logoWindows", "logoWorkplaceSearch", "logsApp", "logstashFilter", "logstashIf", "logstashInput", "logstashOutput", "logstashQueue", "queue", "machineLearningApp", "magnet", "magnify", "magnifyExclamation", "magnifyMinus", "magnifyPlus", "magnifyWithExclamation", "magnifyWithMinus", "magnifyWithPlus", "managementApp", "map", "mapMarker", "waypoint", "megaphone", "memory", "menu", "menuDown", "menuLeft", "menuRight", "menuUp", "merge", "metricbeatApp", "metricsApp", "minimize", "minus", "minusCircle", "minusInCircle", "minusInCircleFilled", "minusInSquare", "minusSquare", "mobile", "monitoringApp", "moon", "move", "namespace", "nested", "newChat", "node", "vectorTriangle", "notebookApp", "number", "offline", "wifiSlash", "online", "wifi", "outlierDetectionJob", "package", "packetbeatApp", "pageSelect", "pagesSelect", "palette", "paperClip", "partial", "pause", "payment", "pencil", "percent", "pin", "pinFill", "pinFilled", "pipeBreaks", "pipelineApp", "pipeNoBreaks", "pivot", "play", "playFilled", "plugs", "plus", "plusCircle", "plusInCircle", "plusInCircleFilled", "plusInSquare", "plusSquare", "popout", "presentation", "productRobot", "productAgent", "productCloudInfra", "productDashboard", "productDiscover", "productML", "productStreamsClassic", "productStreamsWired", "push", "send", "question", "quote", "radar", "readOnly", "recentlyViewedApp", "refresh", "regressionJob", "reporter", "reportingApp", "return", "returnKey", "save", "savedObjectsApp", "scale", "search", "searchProfilerApp", "section", "securityAnalyticsApp", "securityApp", "securitySignal", "securitySignalDetected", "securitySignalResolved", "server", "sessionViewer", "shard", "share", "singleMetricViewer", "snowflake", "sortAscending", "sortDescending", "sortDown", "sortLeft", "sortRight", "sortUp", "sortable", "spaces", "spacesApp", "sparkles", "sqlApp", "star", "starEmpty", "starEmptySpace", "starFill", "starFilled", "starFillSpace", "starFilledSpace", "starMinusEmpty", "starMinusFill", "starMinusFilled", "starPlusEmpty", "starPlusFill", "starPlusFilled", "stats", "stop", "stopFill", "stopFilled", "stopSlash", "storage", "streamsClassic", "streamsWired", "string", "submodule", "sun", "swatchInput", "symlink", "tableDensityCompact", "tableDensityHigh", "tableDensityExpanded", "tableDensityLow", "tableDensityNormal", "tableOfContents", "tag", "tear", "temperature", "thermometer", "thumbDown", "thumbUp", "timeline", "timelineWithArrow", "timelionApp", "timeRefresh", "refreshTime", "timeslider", "training", "transitionLeftIn", "transitionLeftOut", "transitionTopIn", "transitionTopOut", "trash", "unfold", "unlink", "upgradeAssistantApp", "uptimeApp", "user", "userAvatar", "users", "usersRolesApp", "unarchive", "vector", "vectorSquare", "videoPlayer", "visArea", "visAreaStacked", "visBarHorizontal", "visBarHorizontalStacked", "visBarVertical", "visBarVerticalStacked", "visGauge", "visGoal", "visLine", "visMapCoordinate", "visMapRegion", "visMetric", "chartMetric", "visPie", "visTable", "visTagCloud", "visText", "visTimelion", "visVega", "visVisualBuilder", "visualizeApp", "vulnerabilityManagementApp", "warning", "warningFilled", "warningFill", "watchesApp", "web", "wordWrap", "wordWrapDisabled", "workflowsApp", "workflow", "workplaceSearchApp", "wrench", "tokenAlias", "tokenAnnotation", "tokenArray", "tokenBinary", "tokenBoolean", "tokenClass", "tokenCompletionSuggester", "tokenConstant", "tokenDate", "tokenDimension", "tokenElement", "tokenEnum", "tokenEnumMember", "tokenEvent", "tokenException", "tokenField", "tokenFile", "tokenFlattened", "tokenFunction", "tokenGeo", "tokenHistogram", "tokenInterface", "tokenIP", "tokenJoin", "tokenKey", "tokenKeyword", "tokenMethod", "tokenMetricCounter", "tokenMetricGauge", "tokenModule", "tokenNamespace", "tokenNested", "tokenNull", "tokenNumber", "tokenObject", "tokenOperator", "tokenPackage", "tokenParameter", "tokenPercolator", "tokenProperty", "tokenRange", "tokenRankFeature", "tokenRankFeatures", "tokenRepo", "tokenSearchType", "tokenSemanticText", "tokenShape", "tokenString", "tokenStruct", "tokenSymbol", "tokenTag", "tokenText", "tokenTokenCount", "tokenVariable", "tokenVectorDense", "tokenDenseVector", "tokenVectorSparse"]).isRequired, PropTypes.string.isRequired, PropTypes.elementType.isRequired]),
120
+ /**
121
+ * Optional content that will be appended to `label` and icons
122
+ */
123
+ /**
124
+ * Optional content that will be appended to `label` and icons
125
+ */
126
+ children: PropTypes.node,
127
+ /**
128
+ * id of the input element that the form label is linked to via `htmlFor` attribute
129
+ */
130
+ /**
131
+ * id of the input element that the form label is linked to via `htmlFor` attribute
132
+ */
133
+ inputId: PropTypes.string,
134
+ /**
135
+ * Renders the element with smaller height and padding
136
+ */
137
+ /**
138
+ * Renders the element with smaller height and padding
139
+ */
140
+ compressed: PropTypes.bool,
141
+ /**
142
+ * Defines the rendered HTML element
143
+ */
144
+ /**
145
+ * Defines the rendered HTML element
146
+ */
147
+ element: PropTypes.oneOfType([PropTypes.oneOf(["button"]), PropTypes.oneOf(["div"])]),
148
+ isDisabled: PropTypes.bool
149
+ };
@@ -0,0 +1,28 @@
1
+ /*
2
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
3
+ * or more contributor license agreements. Licensed under the Elastic License
4
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
5
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
6
+ * Side Public License, v 1.
7
+ */
8
+
9
+ import { css } from '@emotion/react';
10
+ import { euiButtonDisplaysColors, logicalCSS } from '../../../../global_styling';
11
+ import { appendPrependSelector, buttonSelector, textSelector } from '../form_control_layout.styles';
12
+ import { euiFormControlFocusStyles, euiFormVariables } from '../../form.styles';
13
+ export var euiFormAppendPrependStyles = function euiFormAppendPrependStyles(euiThemeContext) {
14
+ var euiTheme = euiThemeContext.euiTheme;
15
+ var form = euiFormVariables(euiThemeContext);
16
+ var appendPrepend = appendPrependSelector;
17
+ var buttons = buttonSelector;
18
+ var text = textSelector;
19
+ var buttonStyles = euiButtonDisplaysColors(euiThemeContext);
20
+ return {
21
+ side: /*#__PURE__*/css("position:relative;display:flex;align-items:center;gap:", euiTheme.size.s, ";block-size:100%;max-inline-size:100%;border-radius:", form.controlLayoutInnerBorderRadius, ";&:focus-visible{outline:none;};label:side;"),
22
+ uncompressed: /*#__PURE__*/css("&:not(:has(> ", buttons, ":first-child, > *:first-child ", buttons, ")){", logicalCSS('padding-left', euiTheme.size.s), ";}&:not(:has(> ", buttons, ":last-child, > *:last-child ", buttons, ")){", logicalCSS('padding-right', euiTheme.size.s), ";};label:uncompressed;"),
23
+ compressed: /*#__PURE__*/css("&:not(:has(> ", buttons, ":first-child, > *:first-child ", buttons, ")){", logicalCSS('padding-left', euiTheme.size.xs), ";}&:not(:has(> ", buttons, ":last-child, > *:last-child ", buttons, ")){", logicalCSS('padding-right', euiTheme.size.xs), ";};label:compressed;"),
24
+ wrapper: /*#__PURE__*/css("position:relative;max-inline-size:100%;&:has(", appendPrepend, ":focus-visible){&::after{", euiFormControlFocusStyles(euiThemeContext), " content:'';position:absolute;inset:-", euiTheme.size.xs, ";border-radius:", form.controlLayoutBorderRadius, ";pointer-events:none;}};label:wrapper;"),
25
+ isInteractive: /*#__PURE__*/css(buttonStyles.empty.primary, ";background-color:", form.backgroundColor, ";*{cursor:pointer;}", text, "{color:currentColor;cursor:pointer;};label:isInteractive;"),
26
+ disabled: /*#__PURE__*/css("color:", form.textColorDisabled, ";.euiFormLabel,.euiNotificationBadge{color:", form.textColorDisabled, ";};label:disabled;")
27
+ };
28
+ };
@@ -0,0 +1,9 @@
1
+ /*
2
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
3
+ * or more contributor license agreements. Licensed under the Elastic License
4
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
5
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
6
+ * Side Public License, v 1.
7
+ */
8
+
9
+ export { EuiFormAppend, EuiFormPrepend } from './form_append_prepend';
@@ -1,11 +1,11 @@
1
1
  function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
2
2
  var _excluded = ["inputId", "className", "children", "icon", "iconsPosition", "clear", "isDropdown", "isLoading", "isInvalid", "isDisabled", "readOnly", "compressed", "prepend", "append", "isDelimited", "wrapperProps", "fullWidth"];
3
- function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
4
3
  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; }
5
4
  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) { _defineProperty(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; }
6
5
  function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
7
6
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
8
7
  function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
8
+ function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
9
9
  function _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); }
10
10
  function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
11
11
  function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
@@ -31,6 +31,8 @@ import { useFormContext } from '../eui_form_context';
31
31
  import { getIconAffordanceStyles, isRightSideIcon } from './_num_icons';
32
32
  import { EuiFormControlLayoutIcons } from './form_control_layout_icons';
33
33
  import { euiFormControlLayoutStyles, euiFormControlLayoutSideNodeStyles } from './form_control_layout.styles';
34
+ import { EuiFormAppend, EuiFormPrepend } from './append_prepend';
35
+ import { EuiFormControlLayoutContextProvider } from './form_control_layout_context';
34
36
  import { jsx as ___EmotionJSX } from "@emotion/react";
35
37
  export var EuiFormControlLayout = function EuiFormControlLayout(props) {
36
38
  var _useFormContext = useFormContext(),
@@ -63,7 +65,7 @@ export var EuiFormControlLayout = function EuiFormControlLayout(props) {
63
65
  }, className);
64
66
  var styles = useEuiMemoizedStyles(euiFormControlLayoutStyles);
65
67
  var cssStyles = [styles.euiFormControlLayout, compressed ? styles.compressed : styles.uncompressed, fullWidth ? styles.fullWidth : styles.formWidth].concat(_toConsumableArray(isGroup ? [styles.group.group, compressed ? styles.group.compressed : styles.group.uncompressed] : []));
66
- var childrenWrapperStyles = [styles.children.euiFormControlLayout__childrenWrapper, isGroup && styles.children.inGroup, isGroup && !append && styles.children.prependOnly, isGroup && !prepend && styles.children.appendOnly, wrapperProps === null || wrapperProps === void 0 ? void 0 : wrapperProps.css];
68
+ var childrenWrapperStyles = [styles.children.euiFormControlLayout__childrenWrapper, isGroup && styles.children.inGroup, wrapperProps === null || wrapperProps === void 0 ? void 0 : wrapperProps.css];
67
69
  var hasDropdownIcon = !readOnly && !isDisabled && isDropdown;
68
70
  var hasRightIcon = isRightSideIcon(icon);
69
71
  var hasLeftIcon = icon && !hasRightIcon;
@@ -79,15 +81,28 @@ export var EuiFormControlLayout = function EuiFormControlLayout(props) {
79
81
  isDropdown: hasDropdownIcon
80
82
  });
81
83
  }, [iconsPosition, icon, clear, isInvalid, isLoading, hasDropdownIcon]);
84
+ var sideNodeCommonProps = {
85
+ inputId: inputId,
86
+ compressed: compressed,
87
+ isDisabled: isDisabled,
88
+ readOnly: readOnly
89
+ };
82
90
  return ___EmotionJSX("div", _extends({
83
91
  css: cssStyles,
84
92
  className: classes
85
- }, rest), ___EmotionJSX(EuiFormControlLayoutSideNodes, {
93
+ }, rest), ___EmotionJSX(EuiFormControlLayoutContextProvider, {
94
+ value: {
95
+ compressed: !!compressed,
96
+ inputId: inputId,
97
+ isDisabled: isDisabled,
98
+ isInvalid: isInvalid,
99
+ readOnly: readOnly,
100
+ isLoading: isLoading
101
+ }
102
+ }, ___EmotionJSX(EuiFormControlLayoutSideNodes, _extends({
86
103
  side: "prepend",
87
- nodes: prepend,
88
- inputId: inputId,
89
- compressed: compressed
90
- }), ___EmotionJSX("div", _extends({}, wrapperProps, {
104
+ nodes: prepend
105
+ }, sideNodeCommonProps)), ___EmotionJSX("div", _extends({}, wrapperProps, {
91
106
  css: childrenWrapperStyles,
92
107
  className: classNames('euiFormControlLayout__childrenWrapper', wrapperProps === null || wrapperProps === void 0 ? void 0 : wrapperProps.className),
93
108
  style: _objectSpread(_objectSpread({}, iconAffordanceStyles), wrapperProps === null || wrapperProps === void 0 ? void 0 : wrapperProps.style)
@@ -107,12 +122,10 @@ export var EuiFormControlLayout = function EuiFormControlLayout(props) {
107
122
  isInvalid: isInvalid,
108
123
  isDropdown: hasDropdownIcon,
109
124
  isDisabled: isDisabled
110
- })), ___EmotionJSX(EuiFormControlLayoutSideNodes, {
125
+ })), ___EmotionJSX(EuiFormControlLayoutSideNodes, _extends({
111
126
  side: "append",
112
- nodes: append,
113
- inputId: inputId,
114
- compressed: compressed
115
- }));
127
+ nodes: append
128
+ }, sideNodeCommonProps))));
116
129
  };
117
130
 
118
131
  /**
@@ -184,28 +197,46 @@ EuiFormControlLayout.propTypes = {
184
197
  // Internal prop used by EuiFormControlLayoutDelimited
185
198
  isDelimited: PropTypes.bool
186
199
  };
187
- var EuiFormControlLayoutSideNodes = function EuiFormControlLayoutSideNodes(_ref) {
188
- var side = _ref.side,
189
- nodes = _ref.nodes,
190
- inputId = _ref.inputId,
191
- compressed = _ref.compressed;
200
+ var EuiFormControlLayoutSideNodes = function EuiFormControlLayoutSideNodes(props) {
201
+ var side = props.side,
202
+ nodes = props.nodes,
203
+ inputId = props.inputId,
204
+ compressed = props.compressed,
205
+ isDisabled = props.isDisabled,
206
+ readOnly = props.readOnly;
192
207
  var className = "euiFormControlLayout__".concat(side);
193
208
  var styles = useEuiMemoizedStyles(euiFormControlLayoutSideNodeStyles);
194
- var cssStyles = [styles.euiFormControlLayout__side, styles[side], compressed ? styles.compressed : styles.uncompressed];
209
+ var cssStyles = [styles.euiFormControlLayout__side, compressed ? [styles.compressed.compressed, styles.compressed[side]] : [styles.uncompressed.uncompressed, styles.uncompressed[side]], isDisabled && styles.disabled, readOnly && styles.readOnly];
195
210
  if (!nodes) return null;
211
+ var content;
212
+ var AppendOrPrepend = side === 'append' ? EuiFormAppend : EuiFormPrepend;
213
+ if (Array.isArray(nodes)) {
214
+ if (nodes.length === 0) return null;
215
+ content = React.Children.map(nodes, function (node) {
216
+ return typeof node === 'string' ? ___EmotionJSX(EuiFormLabel, {
217
+ htmlFor: inputId
218
+ }, node) : node;
219
+ });
220
+ } else if (typeof nodes === 'string') {
221
+ content = ___EmotionJSX(AppendOrPrepend, {
222
+ inputId: inputId,
223
+ compressed: compressed,
224
+ label: nodes
225
+ });
226
+ } else {
227
+ content = nodes;
228
+ }
196
229
  return ___EmotionJSX("div", {
197
230
  css: cssStyles,
198
231
  className: className
199
- }, React.Children.map(nodes, function (node) {
200
- return typeof node === 'string' ? ___EmotionJSX(EuiFormLabel, {
201
- htmlFor: inputId
202
- }, node) : node;
203
- }));
232
+ }, content);
204
233
  };
205
234
  EuiFormControlLayoutSideNodes.propTypes = {
206
235
  side: PropTypes.oneOf(["append", "prepend"]).isRequired,
207
236
  nodes: PropTypes.oneOfType([PropTypes.oneOfType([PropTypes.string.isRequired, PropTypes.element.isRequired]).isRequired, PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.string.isRequired, PropTypes.element.isRequired]).isRequired).isRequired]),
208
237
  // For some bizarre reason if you make this the `children` prop instead, React doesn't properly override cloned keys :|
209
238
  inputId: PropTypes.string,
210
- compressed: PropTypes.bool
239
+ compressed: PropTypes.bool,
240
+ isDisabled: PropTypes.bool,
241
+ readOnly: PropTypes.bool
211
242
  };
@@ -8,15 +8,18 @@ function _EMOTION_STRINGIFIED_CSS_ERROR__() { return "You have tried to stringif
8
8
  */
9
9
 
10
10
  import { css } from '@emotion/react';
11
- import { euiTextTruncate, logicalCSS } from '../../../global_styling';
12
- import { highContrastModeStyles } from '../../../global_styling/functions/high_contrast';
13
- import { euiFormVariables } from '../form.styles';
11
+ import { euiButtonSizeMap, euiDisabledSelector, euiTextTruncate, highContrastModeStyles, logicalCSS, mathWithUnits } from '../../../global_styling';
12
+ import { euiFormControlFocusStyles, euiFormVariables } from '../form.styles';
13
+ export var buttonSelector = '*:is(.euiButton, .euiButtonEmpty, .euiButtonIcon, .euiFormAppend, .euiFormPrepend)';
14
+ var emptyButtonSelector = '*:is(.euiButtonEmpty, .euiButtonIcon:not([class*="fill"]))';
15
+ export var textSelector = '*:is(.euiFormLabel, .euiText)';
16
+ export var appendPrependSelector = '*:is(.euiFormAppend, .euiFormPrepend)';
14
17
  var _ref = process.env.NODE_ENV === "production" ? {
15
- name: "1lbfa6m-euiFormControlLayout__childrenWrapper",
16
- styles: "position:relative;label:euiFormControlLayout__childrenWrapper;"
18
+ name: "1iumk9q-euiFormControlLayout__childrenWrapper",
19
+ styles: "position:relative;border-radius:inherit;label:euiFormControlLayout__childrenWrapper;"
17
20
  } : {
18
- name: "1lbfa6m-euiFormControlLayout__childrenWrapper",
19
- styles: "position:relative;label:euiFormControlLayout__childrenWrapper;",
21
+ name: "1iumk9q-euiFormControlLayout__childrenWrapper",
22
+ styles: "position:relative;border-radius:inherit;label:euiFormControlLayout__childrenWrapper;",
20
23
  toString: _EMOTION_STRINGIFIED_CSS_ERROR__
21
24
  };
22
25
  var _ref2 = process.env.NODE_ENV === "production" ? {
@@ -28,7 +31,8 @@ var _ref2 = process.env.NODE_ENV === "production" ? {
28
31
  toString: _EMOTION_STRINGIFIED_CSS_ERROR__
29
32
  };
30
33
  export var euiFormControlLayoutStyles = function euiFormControlLayoutStyles(euiThemeContext) {
31
- var euiTheme = euiThemeContext.euiTheme;
34
+ var euiTheme = euiThemeContext.euiTheme,
35
+ highContrastMode = euiThemeContext.highContrastMode;
32
36
  var form = euiFormVariables(euiThemeContext);
33
37
  return {
34
38
  euiFormControlLayout: _ref2,
@@ -39,37 +43,52 @@ export var euiFormControlLayoutStyles = function euiFormControlLayoutStyles(euiT
39
43
  formWidth: "\n ".concat(logicalCSS('max-width', form.maxWidth), "\n ").concat(logicalCSS('width', '100%'), "\n "),
40
44
  fullWidth: /*#__PURE__*/css(logicalCSS('max-width', '100%'), " ", logicalCSS('width', '100%'), ";;label:fullWidth;"),
41
45
  group: {
42
- group: /*#__PURE__*/css("position:relative;display:flex;align-items:stretch;border:none;background-color:", form.backgroundColor, ";overflow:hidden;&::after{content:'';position:absolute;inset:0;z-index:0;border:", euiTheme.border.width.thin, " solid ", form.borderColor, ";border-radius:inherit;pointer-events:none;}.euiFilterGroup{border-radius:0;", logicalCSS('padding-right', euiTheme.border.width.thin), " &::after{display:none;}}.euiFilterButton__wrapper:first-of-type::before,.euiFilterButton__wrapper::after{display:none;}.euiFormControlButton{border-radius:inherit;box-shadow:none;}>*{", logicalCSS('height', '100%'), ";};label:group;"),
46
+ group: /*#__PURE__*/css("position:relative;display:flex;align-items:stretch;border:none;background-color:", form.backgroundColor, ";overflow:hidden;&::after{content:'';position:absolute;inset:0;z-index:0;border:", euiTheme.border.width.thin, " solid ", form.borderColor, ";border-radius:inherit;pointer-events:none;}&:where(:not(:has(*:is(", euiDisabledSelector, "), [readOnly])):hover){&::after{border:", highContrastMode ? euiTheme.border.width.thick : euiTheme.border.width.thin, " solid ", highContrastMode ? form.borderColor : form.borderHovered, ";}}&:has(:autofill){background:", form.backgroundAutoFilled, ";&:not(:hover)::after{border-color:", form.borderAutofilled, ";}*:-webkit-autofill,*:autofill{--euiFormControlStateAutofillColor:", form.backgroundAutoFilled, ";background-clip:content-box;&:hover,&:focus{--euiFormControlStateAutofillColor:", form.backgroundAutoFilled, ";}}}.euiFilterGroup{border-radius:0;", logicalCSS('padding-right', euiTheme.border.width.thin), " &::after{display:none;}}.euiFilterButton__wrapper:first-of-type::before,.euiFilterButton__wrapper::after{display:none;}>*{", logicalCSS('height', '100%'), ";};label:group;"),
43
47
  // Skipping css`` to avoid repeated compressed/uncompressed classNames
44
48
  uncompressed: "\n border-radius: ".concat(form.controlBorderRadius, ";\n "),
45
49
  compressed: "\n border-radius: ".concat(form.controlCompressedBorderRadius, ";\n ")
46
50
  },
47
51
  children: {
48
52
  euiFormControlLayout__childrenWrapper: _ref,
49
- inGroup: /*#__PURE__*/css("flex-grow:1;overflow:hidden;>:first-child{border-radius:inherit;", logicalCSS('border-top-left-radius', '0'), " ", logicalCSS('border-bottom-left-radius', '0'), ";}>:last-child{border-radius:inherit;", logicalCSS('border-top-right-radius', '0'), " ", logicalCSS('border-bottom-right-radius', '0'), ";};label:inGroup;"),
50
- prependOnly: /*#__PURE__*/css(logicalCSS('border-top-right-radius', 'inherit'), " ", logicalCSS('border-bottom-right-radius', 'inherit'), ">:last-child{", logicalCSS('border-top-right-radius', 'inherit'), " ", logicalCSS('border-bottom-right-radius', 'inherit'), ";};label:prependOnly;"),
51
- appendOnly: /*#__PURE__*/css(logicalCSS('border-top-left-radius', 'inherit'), " ", logicalCSS('border-bottom-left-radius', 'inherit'), ">:first-child{", logicalCSS('border-top-left-radius', 'inherit'), " ", logicalCSS('border-bottom-left-radius', 'inherit'), ";};label:appendOnly;")
53
+ inGroup: /*#__PURE__*/css("flex-grow:1;overflow:hidden;--euiFormControlStateColor:transparent;--euiFormControlStateHoverColor:transparent;.euiFormControlButton{box-shadow:none;", highContrastModeStyles(euiThemeContext, {
54
+ none: 'box-shadow: none;',
55
+ preferred: 'border: none;'
56
+ }), ";};label:inGroup;")
52
57
  }
53
58
  };
54
59
  };
55
60
  export var euiFormControlLayoutSideNodeStyles = function euiFormControlLayoutSideNodeStyles(euiThemeContext) {
56
61
  var euiTheme = euiThemeContext.euiTheme;
57
62
  var form = euiFormVariables(euiThemeContext);
58
- var uncompressedHeight = form.controlHeight;
59
- var compressedHeight = form.controlCompressedHeight;
60
- var buttons = '*:is(.euiButton, .euiButtonEmpty, .euiButtonIcon)';
61
- var text = '*:is(.euiFormLabel, .euiText)';
63
+ var buttonSizes = euiButtonSizeMap(euiThemeContext);
64
+ var uncompressedHeight = mathWithUnits([form.controlHeight, euiTheme.size.s], function (x, y) {
65
+ return x - y;
66
+ });
67
+ var compressedHeight = mathWithUnits([form.controlCompressedHeight, euiTheme.size.s], function (x, y) {
68
+ return x - y;
69
+ });
70
+ var buttons = buttonSelector;
71
+ var text = textSelector;
72
+ var appendPrepend = appendPrependSelector;
73
+ var _buttonPadding = function _buttonPadding(size) {
74
+ return logicalCSS('padding-horizontal', buttonSizes[size].padding);
75
+ };
76
+ var dividerStyles = function dividerStyles(side, compressed) {
77
+ return "\n position: relative;\n ".concat("margin-inline-".concat(side), ": -", euiTheme.border.width.thin, ";\n\n &::before {\n content: '';\n position: absolute;\n inset-inline-").concat(side, ": 0;\n z-index: ").concat(side === 'end' ? 1 : 0, ";\n block-size: ").concat(compressed ? euiTheme.size.base : euiTheme.size.l, ";\n inline-size: ").concat(euiTheme.border.width.thin, ";\n pointer-events: none;\n border-inline-").concat(side, ": \n ").concat(euiTheme.border.width.thin, " solid ").concat(form.borderColor, ";\n }\n ");
78
+ };
62
79
  return {
63
- euiFormControlLayout__side: /*#__PURE__*/css(logicalCSS('height', '100%'), " ", euiTextTruncate('50%'), " flex-shrink:0;display:flex;align-items:center;gap:", euiTheme.size.xs, ";background-color:", form.appendPrependBackground, ";", buttons, "{transform:none!important;&:focus-visible{outline-offset:-", euiTheme.focus.width, ";}}", text, "{cursor:default;overflow:hidden;text-overflow:ellipsis;}&:not(:has(> ", buttons, ":first-child, > *:first-child > ", buttons, ")){", logicalCSS('padding-left', euiTheme.size.s), ";}&:not(:has(> ", buttons, ":last-child, > *:last-child > ", buttons, ")){", logicalCSS('padding-right', euiTheme.size.s), ";};label:euiFormControlLayout__side;"),
64
- append: /*#__PURE__*/css(highContrastModeStyles(euiThemeContext, {
65
- none: "\n position: relative;\n ".concat(logicalCSS('margin-left', "-".concat(euiTheme.border.width.thin)), "\n\n &::before {\n content: '';\n position: absolute;\n inset: 0;\n pointer-events: none;\n border-inline-start: \n ").concat(euiTheme.border.width.thin, " solid ").concat(form.borderColor, ";\n }\n "),
66
- preferred: logicalCSS('border-left', euiTheme.border.thin)
67
- }), ";label:append;"),
68
- prepend: /*#__PURE__*/css(highContrastModeStyles(euiThemeContext, {
69
- none: "\n position: relative;\n ".concat(logicalCSS('margin-right', "-".concat(euiTheme.border.width.thin)), "\n\n &::before {\n content: '';\n position: absolute;\n inset: 0;\n z-index: 1;\n pointer-events: none;\n border-inline-end: \n ").concat(euiTheme.border.width.thin, " solid ").concat(form.borderColor, ";\n }\n "),
70
- preferred: logicalCSS('border-right', euiTheme.border.thin)
71
- }), ";label:prepend;"),
72
- uncompressed: "\n ".concat(text, " {\n ").concat(logicalCSS('padding-horizontal', euiTheme.size.xs), "\n line-height: ").concat(uncompressedHeight, ";\n }\n\n ").concat(buttons, " {\n ").concat(logicalCSS('height', uncompressedHeight), "\n }\n\n .euiButtonIcon {\n flex-shrink: 0;\n ").concat(logicalCSS('width', euiTheme.size.xl), "\n }\n "),
73
- compressed: /*#__PURE__*/css(text, "{", logicalCSS('padding-horizontal', euiTheme.size.xxs), " line-height:", compressedHeight, ";}", buttons, "{", logicalCSS('height', compressedHeight), ";}.euiButtonIcon{flex-shrink:0;", logicalCSS('width', euiTheme.size.xl), ";};label:compressed;")
80
+ euiFormControlLayout__side: /*#__PURE__*/css(logicalCSS('height', '100%'), " ", euiTextTruncate('50%'), " flex-shrink:0;display:flex;align-items:center;gap:", euiTheme.size.s, ";padding:", euiTheme.size.xs, ";", buttons, "{block-size:100%;border-radius:", form.controlLayoutInnerBorderRadius, ";transform:none!important;&:focus-visible{z-index:1;outline-offset:", euiTheme.focus.width, ";}}", text, "{cursor:default;overflow:hidden;text-overflow:ellipsis;}&:where(:has(", buttons, ":focus-visible):has(> *:only-child)){*:not(", appendPrepend, "){outline:none;}&::after{", euiFormControlFocusStyles(euiThemeContext), " content:'';position:absolute;inset:0;border-radius:", form.controlLayoutBorderRadius, ";pointer-events:none;}}:where(:not(:has(:disabled))) label{color:", form.labelColor, ";};label:euiFormControlLayout__side;"),
81
+ uncompressed: {
82
+ uncompressed: "\n &:not(:has(> ".concat(buttons, ":first-child, > *:first-child ").concat(buttons, ")) {\n ").concat(logicalCSS('padding-left', euiTheme.size.s), "\n }\n\n &:not(:has(> ").concat(buttons, ":last-child, > *:last-child ").concat(buttons, ")) {\n ").concat(logicalCSS('padding-right', euiTheme.size.s), "\n }\n\n ").concat(text, " {\n line-height: ").concat(uncompressedHeight, ";\n\n &:first-child {\n ").concat(logicalCSS('padding-left', euiTheme.size.xs), "\n }\n\n &:last-child {\n ").concat(logicalCSS('padding-right', euiTheme.size.xs), "\n }\n }\n\n ").concat(buttons, " {\n ").concat(logicalCSS('height', uncompressedHeight), "\n ").concat(_buttonPadding('s'), "\n }\n\n .euiButtonIcon {\n flex-shrink: 0;\n ").concat(logicalCSS('width', uncompressedHeight), "\n }\n "),
83
+ append: "\n ".concat(dividerStyles('start'), "\n "),
84
+ prepend: "\n ".concat(dividerStyles('end'), "\n ")
85
+ },
86
+ compressed: {
87
+ compressed: /*#__PURE__*/css("&:not(:has(", appendPrepend, ")):not(\n :has(> ", buttons, ":first-child, > *:first-child ", buttons, ")\n ){", logicalCSS('padding-left', euiTheme.size.s), ";}&:not(:has(", appendPrepend, ")):not(\n :has(> ", buttons, ":last-child, > *:last-child ", buttons, ")\n ){", logicalCSS('padding-right', euiTheme.size.s), ";}", text, "{line-height:", compressedHeight, ";&:first-child{", logicalCSS('padding-left', euiTheme.size.xxs), ";}&:last-child{", logicalCSS('padding-right', euiTheme.size.xxs), ";}}", buttons, "{", logicalCSS('height', compressedHeight), " &:where(:not(.euiButtonIcon)){", _buttonPadding('xs'), ";}}.euiButtonIcon{flex-shrink:0;", logicalCSS('width', compressedHeight), ";};label:compressed;"),
88
+ append: "\n ".concat(dividerStyles('start', true), "\n "),
89
+ prepend: "\n ".concat(dividerStyles('end', true), "\n ")
90
+ },
91
+ disabled: /*#__PURE__*/css("background-color:", form.backgroundDisabledColor, ";&:where(:not(:has(", appendPrepend, ", ", buttonSelector, ")))>*,&:where(:not(:has(", appendPrepend, "))) .euiFormLabel{color:", form.textColorDisabled, ";}", emptyButtonSelector, ":not(\n ", euiDisabledSelector, "\n ){background-color:", form.backgroundColor, ";};label:disabled;"),
92
+ readOnly: /*#__PURE__*/css("background-color:", form.backgroundDisabledColor, ";", emptyButtonSelector, ":not(\n ", euiDisabledSelector, "\n ){background-color:", form.backgroundColor, ";};label:readOnly;")
74
93
  };
75
94
  };
@@ -0,0 +1,21 @@
1
+ /*
2
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
3
+ * or more contributor license agreements. Licensed under the Elastic License
4
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
5
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
6
+ * Side Public License, v 1.
7
+ */
8
+
9
+ import { createContext } from 'react';
10
+ /**
11
+ * Context to share props between `EuiFormControlLayout` and passed children like e.g. EuiFormAppend/Prepend
12
+ */
13
+ export var EuiFormControlLayoutContext = /*#__PURE__*/createContext({
14
+ compressed: false,
15
+ inputId: '',
16
+ isDisabled: false,
17
+ isInvalid: false,
18
+ isLoading: false,
19
+ readOnly: false
20
+ });
21
+ export var EuiFormControlLayoutContextProvider = EuiFormControlLayoutContext.Provider;
@@ -8,14 +8,10 @@
8
8
 
9
9
  import { css } from '@emotion/react';
10
10
  import { logicalCSS, mathWithUnits } from '../../../global_styling';
11
- import { euiFormControlDisabledStyles, euiFormControlReadOnlyStyles, euiFormControlDefaultShadow, euiFormControlInvalidStyles, euiFormControlHoverStyles, euiFormVariables } from '../form.styles';
11
+ import { euiFormControlDisabledStyles, euiFormControlReadOnlyStyles, euiFormControlDefaultShadow, euiFormControlInvalidStyles, euiFormControlHoverStyles } from '../form.styles';
12
12
  export var euiFormControlLayoutDelimitedStyles = function euiFormControlLayoutDelimitedStyles(euiThemeContext) {
13
- var highContrastMode = euiThemeContext.highContrastMode;
14
- var form = euiFormVariables(euiThemeContext);
15
- var delimitedStyles = "\n /* Transition smoothly between disabled/readOnly background color changes */\n ".concat(euiFormControlDefaultShadow(euiThemeContext, {
16
- withBorder: !highContrastMode ? true : false,
17
- withBackground: false
18
- }), "\n ").trim();
13
+ var euiTheme = euiThemeContext.euiTheme;
14
+ var delimitedStyles = "\n border-radius: ".concat(euiTheme.border.radius.small, ";\n ").trim();
19
15
  return {
20
16
  // Appended onto existing `euiFormControlLayout` styles
21
17
  delimited: /*#__PURE__*/css(delimitedStyles, ";label:delimited;"),
@@ -23,14 +19,11 @@ export var euiFormControlLayoutDelimitedStyles = function euiFormControlLayoutDe
23
19
  readOnly: /*#__PURE__*/css(euiFormControlReadOnlyStyles(euiThemeContext), " & .euiFormControlLayoutDelimited__input{--euiFormControlStateColor:transparent;outline:none;box-shadow:none;};label:readOnly;"),
24
20
  // Appended onto existing `euiFormControlLayout__childrenWrapper` styles
25
21
  childrenWrapper: {
26
- delimited: /*#__PURE__*/css("display:flex;", euiFormControlDefaultShadow(euiThemeContext, {
27
- withBorder: !highContrastMode,
28
- withBackground: false
29
- }), " &:hover{", euiFormControlHoverStyles(euiThemeContext), " box-shadow:none;.euiFormControlLayoutDelimited__input:not(:focus){outline:none;background-color:transparent;}}>:first-child{", logicalCSS('border-top-left-radius', 'inherit'), " ", logicalCSS('border-bottom-left-radius', 'inherit'), ";}>:last-child{", logicalCSS('border-top-right-radius', 'inherit'), " ", logicalCSS('border-bottom-right-radius', 'inherit'), ";};label:delimited;"),
22
+ delimited: /*#__PURE__*/css("display:flex;&:hover{", euiFormControlHoverStyles(euiThemeContext), " box-shadow:none;.euiFormControlLayoutDelimited__input:not(:focus){outline:none;background-color:transparent;}};label:delimited;"),
30
23
  invalid: /*#__PURE__*/css(euiFormControlDefaultShadow(euiThemeContext, {
31
24
  withBorder: false,
32
25
  withBackgroundColor: false
33
- }), "\n :not(.euiFormControlLayoutDelimited__input, .euiFormControlLayoutDelimited__delimiter) {\n ".concat(euiFormControlInvalidStyles(euiThemeContext), "\n }\n\n &:focus-within {\n --euiFormControlStateColor: ").concat(form.borderColor, ";\n --euiFormControlStateHoverColor: ").concat(form.borderHovered, ";\n }\n\n .euiFormControlLayoutDelimited__input {\n background-color: transparent;\n }\n "), ";label:invalid;"),
26
+ }), "\n :not(.euiFormControlLayoutDelimited__input, .euiFormControlLayoutDelimited__delimiter) {\n ".concat(euiFormControlInvalidStyles(euiThemeContext), "\n }\n\n &:focus-within {\n --euiFormControlStateColor: transparent;\n --euiFormControlStateHoverColor: transparent;\n }\n\n .euiFormControlLayoutDelimited__input {\n background-color: transparent;\n }\n "), ";label:invalid;"),
34
27
  readOnly: /*#__PURE__*/css(";label:readOnly;")
35
28
  }
36
29
  };
@@ -8,4 +8,5 @@
8
8
 
9
9
  export { EuiFormControlLayout } from './form_control_layout';
10
10
  export { EuiFormControlLayoutDelimited } from './form_control_layout_delimited';
11
- export { EuiFormControlLayoutIcons } from './form_control_layout_icons';
11
+ export { EuiFormControlLayoutIcons } from './form_control_layout_icons';
12
+ export * from './append_prepend';