@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
@@ -12,6 +12,8 @@ var PREFIX = 'eui/flyoutManager';
12
12
  export var ACTION_ADD = "".concat(PREFIX, "/add");
13
13
  /** Dispatched to remove a flyout from the manager (usually on close/unmount). */
14
14
  export var ACTION_CLOSE = "".concat(PREFIX, "/close");
15
+ /** Dispatched to remove all flyouts from the manager. */
16
+ export var ACTION_CLOSE_ALL = "".concat(PREFIX, "/closeAll");
15
17
  /** Dispatched to set which flyout is currently active within the session. */
16
18
  export var ACTION_SET_ACTIVE = "".concat(PREFIX, "/setActive");
17
19
  /** Dispatched when an active flyout's pixel width changes (for responsive layout). */
@@ -36,6 +38,8 @@ export var ACTION_CLOSE_UNMANAGED_FLYOUT = "".concat(PREFIX, "/closeUnmanagedFly
36
38
 
37
39
  /** Remove a flyout from manager state. Also updates the active session. */
38
40
 
41
+ /** Remove all flyouts from manager state. */
42
+
39
43
  /** Set the active flyout within the current session (or clear with `null`). */
40
44
 
41
45
  /** Update a flyout's measured width in pixels. */
@@ -78,6 +82,13 @@ export var closeFlyout = function closeFlyout(flyoutId) {
78
82
  };
79
83
  };
80
84
 
85
+ /** Unregister all flyouts. */
86
+ export var closeAllFlyouts = function closeAllFlyouts() {
87
+ return {
88
+ type: ACTION_CLOSE_ALL
89
+ };
90
+ };
91
+
81
92
  /** Set or clear the active flyout for the current session. */
82
93
  export var setActiveFlyout = function setActiveFlyout(flyoutId) {
83
94
  return {
@@ -70,6 +70,7 @@ export var EuiManagedFlyout = /*#__PURE__*/forwardRef(function (_ref, ref) {
70
70
  var _useFlyoutManager2 = useFlyoutManager(),
71
71
  addFlyout = _useFlyoutManager2.addFlyout,
72
72
  closeFlyout = _useFlyoutManager2.closeFlyout,
73
+ closeAllFlyouts = _useFlyoutManager2.closeAllFlyouts,
73
74
  setFlyoutWidth = _useFlyoutManager2.setFlyoutWidth,
74
75
  goBack = _useFlyoutManager2.goBack,
75
76
  _historyItems = _useFlyoutManager2.historyItems;
@@ -143,13 +144,13 @@ export var EuiManagedFlyout = /*#__PURE__*/forwardRef(function (_ref, ref) {
143
144
  // Only call closeFlyout if it wasn't already called via onClose
144
145
  // This prevents duplicate removal when using Escape/X button
145
146
  if (flyoutExistsInManagerRef.current) {
146
- closeFlyout(flyoutId);
147
+ level === LEVEL_MAIN ? closeAllFlyouts() : closeFlyout(flyoutId);
147
148
  }
148
149
 
149
150
  // Reset navigation tracking when explicitly closed via isOpen=false
150
151
  wasRegisteredRef.current = false;
151
152
  };
152
- }, [flyoutId, title, level, size, addFlyout, closeFlyout]);
153
+ }, [flyoutId, title, level, size, addFlyout, closeFlyout, closeAllFlyouts]);
153
154
 
154
155
  // Detect when flyout has been removed from manager state (e.g., via Back button)
155
156
  // and trigger onClose callback to notify the parent component
@@ -192,7 +193,7 @@ export var EuiManagedFlyout = /*#__PURE__*/forwardRef(function (_ref, ref) {
192
193
  // and ensures cascade close logic runs before DOM cleanup begins
193
194
  // Using flushSync to force synchronous state update completion
194
195
  flushSync(function () {
195
- closeFlyout(flyoutId);
196
+ level === LEVEL_MAIN ? closeAllFlyouts() : closeFlyout(flyoutId);
196
197
  });
197
198
 
198
199
  // trigger parent callback, unmounts the component
@@ -9,7 +9,7 @@
9
9
  /**
10
10
  * Convenience re-exports of bound action creators for external usage.
11
11
  */
12
- export { addFlyout as addFlyoutAction, closeFlyout as closeFlyoutAction, setActiveFlyout as setActiveFlyoutAction, setFlyoutWidth as setFlyoutWidthAction, setPushPadding as setPushPaddingAction, setActivityStage as setActivityStageAction } from './actions';
12
+ export { addFlyout as addFlyoutAction, closeFlyout as closeFlyoutAction, closeAllFlyouts as closeAllFlyoutsAction, setActiveFlyout as setActiveFlyoutAction, setFlyoutWidth as setFlyoutWidthAction, setPushPadding as setPushPaddingAction, setActivityStage as setActivityStageAction } from './actions';
13
13
 
14
14
  /** Reducer and default state for the flyout manager. */
15
15
  export { flyoutManagerReducer, initialState } from './reducer';
@@ -10,7 +10,7 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
10
10
  * Side Public License, v 1.
11
11
  */
12
12
 
13
- import { ACTION_ADD, ACTION_CLOSE, ACTION_SET_ACTIVE, ACTION_SET_LAYOUT_MODE, ACTION_SET_WIDTH, ACTION_SET_ACTIVITY_STAGE, ACTION_GO_BACK, ACTION_GO_TO_FLYOUT, ACTION_SET_PUSH_PADDING, ACTION_ADD_UNMANAGED_FLYOUT, ACTION_CLOSE_UNMANAGED_FLYOUT } from './actions';
13
+ import { ACTION_ADD, ACTION_CLOSE, ACTION_CLOSE_ALL, ACTION_SET_ACTIVE, ACTION_SET_LAYOUT_MODE, ACTION_SET_WIDTH, ACTION_SET_ACTIVITY_STAGE, ACTION_GO_BACK, ACTION_GO_TO_FLYOUT, ACTION_SET_PUSH_PADDING, ACTION_ADD_UNMANAGED_FLYOUT, ACTION_CLOSE_UNMANAGED_FLYOUT } from './actions';
14
14
  import { LAYOUT_MODE_SIDE_BY_SIDE, LEVEL_MAIN, STAGE_OPENING } from './const';
15
15
  /**
16
16
  * Default flyout manager state used to initialize the reducer.
@@ -182,6 +182,24 @@ export function flyoutManagerReducer() {
182
182
  });
183
183
  }
184
184
 
185
+ // Unregister all flyouts.
186
+ case ACTION_CLOSE_ALL:
187
+ {
188
+ if (state.sessions.length === 0) {
189
+ return state;
190
+ }
191
+
192
+ // Reset current z-index to 0 only if no unmanaged flyouts remain.
193
+ var _newCurrentZIndex2 = state.currentZIndex;
194
+ if (state.unmanagedFlyouts.length === 0) {
195
+ _newCurrentZIndex2 = 0;
196
+ }
197
+ return _objectSpread(_objectSpread({}, initialState), {}, {
198
+ currentZIndex: _newCurrentZIndex2,
199
+ unmanagedFlyouts: state.unmanagedFlyouts
200
+ });
201
+ }
202
+
185
203
  // Mark the provided flyout ID as the active child for the latest session.
186
204
  case ACTION_SET_ACTIVE:
187
205
  {
@@ -6,7 +6,7 @@
6
6
  * Side Public License, v 1.
7
7
  */
8
8
 
9
- import { addFlyout as addFlyoutAction, closeFlyout as closeFlyoutAction, setActiveFlyout as setActiveFlyoutAction, setFlyoutWidth as setFlyoutWidthAction, setPushPadding as setPushPaddingAction, goBack as goBackAction, goToFlyout as goToFlyoutAction, addUnmanagedFlyout as addUnmanagedFlyoutAction, closeUnmanagedFlyout as closeUnmanagedFlyoutAction } from './actions';
9
+ import { addFlyout as addFlyoutAction, closeFlyout as closeFlyoutAction, closeAllFlyouts as closeAllFlyoutsAction, setActiveFlyout as setActiveFlyoutAction, setFlyoutWidth as setFlyoutWidthAction, setPushPadding as setPushPaddingAction, goBack as goBackAction, goToFlyout as goToFlyoutAction, addUnmanagedFlyout as addUnmanagedFlyoutAction, closeUnmanagedFlyout as closeUnmanagedFlyoutAction } from './actions';
10
10
  import { flyoutManagerReducer, initialState } from './reducer';
11
11
 
12
12
  /**
@@ -96,6 +96,9 @@ function createStore() {
96
96
  closeFlyout: function closeFlyout(flyoutId) {
97
97
  return dispatch(closeFlyoutAction(flyoutId));
98
98
  },
99
+ closeAllFlyouts: function closeAllFlyouts() {
100
+ return dispatch(closeAllFlyoutsAction());
101
+ },
99
102
  setActiveFlyout: function setActiveFlyout(flyoutId) {
100
103
  return dispatch(setActiveFlyoutAction(flyoutId));
101
104
  },
@@ -2,7 +2,7 @@ import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
2
2
  import _extends from "@babel/runtime/helpers/extends";
3
3
  import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
4
4
  import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
5
- var _excluded = ["className", "id", "name", "placeholder", "value", "disabled", "isInvalid", "fullWidth", "isLoading", "compressed", "inputRef", "prepend", "append", "type", "dualToggleProps"];
5
+ var _excluded = ["className", "id", "name", "placeholder", "value", "disabled", "isInvalid", "fullWidth", "isLoading", "compressed", "inputRef", "prepend", "append", "type", "dualToggleProps", "readOnly"];
6
6
  /*
7
7
  * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
8
8
  * or more contributor license agreements. Licensed under the Elastic License
@@ -43,6 +43,7 @@ export var EuiFieldPassword = function EuiFieldPassword(props) {
43
43
  _props$type = props.type,
44
44
  type = _props$type === void 0 ? 'password' : _props$type,
45
45
  dualToggleProps = props.dualToggleProps,
46
+ readOnly = props.readOnly,
46
47
  rest = _objectWithoutProperties(props, _excluded);
47
48
 
48
49
  // Set the initial input type to `password` if they want dual
@@ -109,7 +110,8 @@ export var EuiFieldPassword = function EuiFieldPassword(props) {
109
110
  isDisabled: disabled,
110
111
  compressed: compressed,
111
112
  prepend: prepend,
112
- append: finalAppend
113
+ append: finalAppend,
114
+ readOnly: readOnly
113
115
  }, ___EmotionJSX(EuiValidatableControl, {
114
116
  isInvalid: isInvalid
115
117
  }, ___EmotionJSX("input", _extends({
@@ -121,6 +123,7 @@ export var EuiFieldPassword = function EuiFieldPassword(props) {
121
123
  css: cssStyles,
122
124
  value: value,
123
125
  disabled: disabled,
124
- ref: setInputRef
126
+ ref: setInputRef,
127
+ readOnly: readOnly
125
128
  }, rest))));
126
129
  };
@@ -55,15 +55,19 @@ export var euiFormVariables = function euiFormVariables(euiThemeContext) {
55
55
  backgroundColor: backgroundColor,
56
56
  backgroundDisabledColor: euiTheme.components.forms.backgroundDisabled,
57
57
  backgroundReadOnlyColor: euiTheme.components.forms.backgroundReadOnly,
58
+ backgroundAutoFilled: euiTheme.components.forms.backgroundAutofilled,
58
59
  borderColor: highContrastMode ? euiTheme.border.color : euiTheme.components.forms.border,
59
60
  borderHovered: euiTheme.components.forms.borderHovered,
60
61
  borderFocused: euiTheme.components.forms.borderFocused,
61
62
  borderInvalid: euiTheme.components.forms.borderInvalid,
62
63
  borderInvalidHovered: euiTheme.components.forms.borderInvalidHovered,
64
+ borderAutofilled: euiTheme.components.forms.borderAutofilled,
65
+ borderAutofilledHovered: euiTheme.components.forms.borderAutofilledHovered,
63
66
  controlDisabledColor: euiTheme.components.forms.controlBackgroundDisabled,
64
67
  controlBoxShadow: '0 0 transparent',
65
68
  controlPlaceholderText: highContrastMode ? makeHighContrastColor(euiTheme.components.forms.colorDisabled)(backgroundColor) : euiTheme.components.forms.colorDisabled,
66
- appendPrependBackground: euiTheme.components.forms.prependBackground
69
+ appendPrependBackground: euiTheme.components.forms.prependBackground,
70
+ labelColor: euiTheme.colors.textHeading
67
71
  };
68
72
  var controlLayout = {
69
73
  controlLayoutGroupInputHeight: mathWithUnits(controlHeight, function (x) {
@@ -72,7 +76,11 @@ export var euiFormVariables = function euiFormVariables(euiThemeContext) {
72
76
  controlLayoutGroupInputCompressedHeight: mathWithUnits(controlCompressedHeight, function (x) {
73
77
  return x - 2;
74
78
  }),
75
- controlLayoutGroupInputCompressedBorderRadius: euiTheme.border.radius.small
79
+ controlLayoutGroupInputCompressedBorderRadius: euiTheme.border.radius.small,
80
+ controlLayoutBorderRadius: euiTheme.border.radius.small,
81
+ controlLayoutInnerBorderRadius: mathWithUnits(euiTheme.border.radius.small, function (x) {
82
+ return x / 2;
83
+ })
76
84
  };
77
85
  var iconSizes = {
78
86
  controlIconSize: {
@@ -99,7 +107,7 @@ export var euiFormControlStyles = function euiFormControlStyles(euiThemeContext)
99
107
  inGroup: "\n ".concat(logicalCSS('height', '100%'), "\n ").concat(highContrastModeStyles(euiThemeContext, {
100
108
  none: 'box-shadow: none;',
101
109
  preferred: 'border: none;'
102
- }), "\n border-radius: inherit;\n "),
110
+ }), "\n "),
103
111
  // Widths
104
112
  formWidth: "\n ".concat(logicalCSS('max-width', form.maxWidth), "\n ").concat(logicalCSS('width', '100%'), "\n "),
105
113
  fullWidth: "\n ".concat(logicalCSS('max-width', '100%'), "\n ").concat(logicalCSS('width', '100%'), "\n "),
@@ -149,7 +157,7 @@ export var euiFormControlHoverStyles = function euiFormControlHoverStyles(euiThe
149
157
  var euiTheme = euiThemeContext.euiTheme,
150
158
  highContrastMode = euiThemeContext.highContrastMode;
151
159
  var form = euiFormVariables(euiThemeContext);
152
- return "\n ".concat(hoverSelector, " {\n --borderWidthBase: var(--euiFormControlStateWidth, ").concat(euiTheme.border.width.thin, ");\n --borderWidth: ").concat(highContrastMode ? euiTheme.border.width.thick : 'var(--borderWidthBase)', ";\n --borderColor: var(--euiFormControlStateHoverColor, ").concat(highContrastMode ? euiTheme.border.color : form.borderHovered, ");\n position: relative;\n z-index: 1;\n outline: var(--borderWidth) solid var(--borderColor);\n outline-offset: calc(-1 * var(--borderWidth));\n }\n ");
160
+ return "\n ".concat(hoverSelector, " {\n --borderWidthBase: var(--euiFormControlStateWidth, ").concat(euiTheme.border.width.thin, ");\n --borderWidth: ").concat(highContrastMode ? euiTheme.border.width.thick : 'var(--borderWidthBase)', ";\n --borderColor: var(--euiFormControlStateHoverColor, ").concat(highContrastMode ? euiTheme.border.color : form.borderHovered, ");\n position: relative;\n outline: var(--borderWidth) solid var(--borderColor);\n outline-offset: calc(-1 * var(--borderWidth));\n }\n ");
153
161
  };
154
162
  export var euiFormControlHighlightBorderStyles = "\n position: relative;\n z-index: 1;\n box-shadow: none;\n outline: var(--euiFormControlStateWidth) solid var(--euiFormControlStateColor);\n outline-offset: calc(-1 * var(--euiFormControlStateWidth));\n";
155
163
  export var euiFormControlFocusStyles = function euiFormControlFocusStyles(euiThemeContext) {
@@ -183,24 +191,23 @@ export var euiFormControlAutoFillStyles = function euiFormControlAutoFillStyles(
183
191
  var form = euiFormVariables(euiThemeContext);
184
192
  // Make the text color slightly less prominent than the default colors.text
185
193
  var textColor = euiTheme.colors.darkestShade;
186
- var tintedBackgroundColor = euiTheme.components.forms.backgroundAutofilled;
194
+ var tintedBackgroundColor = form.backgroundAutoFilled;
187
195
  // Hacky workaround to background-color, since Chrome doesn't normally allow overriding its styles
188
196
  // @see https://developer.mozilla.org/en-US/docs/Web/CSS/:autofill#sect1
189
197
  var backgroundShadow = "inset 0 0 0 100vw ".concat(tintedBackgroundColor);
190
198
 
191
199
  // Re-create the border, since the above webkit box shadow overrides the default border box-shadow
192
200
  // + change the border color to match states, since the underline background gradient no longer works
193
- var borderColor = euiTheme.components.forms.borderAutofilled;
194
- var borderHovered = euiTheme.components.forms.borderAutofilledHovered;
201
+ var borderColor = form.borderAutofilled;
202
+ var borderHovered = form.borderAutofilledHovered;
195
203
  var borderInvalid = form.borderInvalid;
196
204
  var borderInvalidHovered = form.borderInvalidHovered;
197
- var borderShadow = function borderShadow(color) {
198
- return "inset 0 0 0 ".concat(euiTheme.border.width.thin, " ").concat(color);
199
- };
205
+ var borderShadow = "inset 0 0 0 var(--euiFormControlStateAutofillWidth) var(--euiFormControlStateAutofillColor), ".concat(backgroundShadow);
200
206
 
201
207
  // These styles only apply/override Chrome/webkit browsers - Firefox does not set autofill styles
202
- return "\n &:-webkit-autofill {\n -webkit-text-fill-color: ".concat(textColor, ";\n -webkit-box-shadow: ").concat(borderShadow(borderColor), ", ").concat(backgroundShadow, ";\n\n &:hover,\n &:focus {\n -webkit-box-shadow: ").concat(borderShadow(borderHovered), ", ").concat(backgroundShadow, ";\n }\n\n &:invalid {\n -webkit-box-shadow: ").concat(borderShadow(borderInvalid), ", ").concat(backgroundShadow, ";\n\n &:hover {\n -webkit-box-shadow: ").concat(borderShadow(borderInvalidHovered), ", ").concat(backgroundShadow, ";\n }\n }\n }\n ");
208
+ return "\n &:where(:-webkit-autofill) {\n --euiFormControlStateAutofillWidth: ".concat(euiTheme.border.width.thin, ";\n --euiFormControlStateAutofillColor: ").concat(borderColor, ";\n \n -webkit-text-fill-color: ").concat(textColor, ";\n -webkit-box-shadow: ").concat(borderShadow, ";\n \n\n &:hover {\n --euiFormControlStateAutofillColor: ").concat(borderHovered, ";\n }\n\n &:focus {\n --euiFormControlStateAutofillWidth: ").concat(euiTheme.border.width.thick, ";\n }\n\n &:invalid {\n --euiFormControlStateAutofillColor: ").concat(borderInvalid, ";\n\n &:hover {\n --euiFormControlStateAutofillColor: ").concat(borderInvalidHovered, ";\n }\n }\n }\n ");
203
209
  };
210
+ export var euiFormControlAutofillUnsetStyles = "\n\n";
204
211
  export var euiFormControlShowBackgroundLine = function euiFormControlShowBackgroundLine(euiThemeContext, color) {
205
212
  var euiTheme = euiThemeContext.euiTheme,
206
213
  highContrastMode = euiThemeContext.highContrastMode;
@@ -2,7 +2,7 @@ import _extends from "@babel/runtime/helpers/extends";
2
2
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
3
3
  import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
4
4
  import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
5
- var _excluded = ["children", "value", "placeholder", "className", "contentProps", "textProps", "compressed", "isInvalid", "fullWidth", "href", "rel"];
5
+ var _excluded = ["children", "value", "placeholder", "className", "contentProps", "textProps", "compressed", "isDisabled", "isInvalid", "fullWidth", "iconSide", "isLoading", "href", "rel"];
6
6
  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; }
7
7
  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; }
8
8
  /*
@@ -13,12 +13,13 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
13
13
  * Side Public License, v 1.
14
14
  */
15
15
 
16
- import React, { isValidElement } from 'react';
16
+ import React, { isValidElement, useContext } from 'react';
17
17
  import classNames from 'classnames';
18
18
  import { useEuiMemoizedStyles } from '../../../services';
19
19
  import { EuiButtonEmpty } from '../../button';
20
20
  import { euiFormControlButtonStyles } from './form_control_button.styles';
21
21
  import { useInnerText } from '../../inner_text';
22
+ import { EuiFormControlLayoutContext } from '../form_control_layout/form_control_layout_context';
22
23
  import { jsx as ___EmotionJSX } from "@emotion/react";
23
24
  export var EuiFormControlButton = function EuiFormControlButton(_ref) {
24
25
  var children = _ref.children,
@@ -27,11 +28,13 @@ export var EuiFormControlButton = function EuiFormControlButton(_ref) {
27
28
  className = _ref.className,
28
29
  _contentProps = _ref.contentProps,
29
30
  _textProps = _ref.textProps,
30
- compressed = _ref.compressed,
31
- _ref$isInvalid = _ref.isInvalid,
32
- isInvalid = _ref$isInvalid === void 0 ? false : _ref$isInvalid,
31
+ _compressed = _ref.compressed,
32
+ _isDisabled = _ref.isDisabled,
33
+ _isInvalid = _ref.isInvalid,
33
34
  _ref$fullWidth = _ref.fullWidth,
34
35
  fullWidth = _ref$fullWidth === void 0 ? true : _ref$fullWidth,
36
+ iconSide = _ref.iconSide,
37
+ _isLoading = _ref.isLoading,
35
38
  href = _ref.href,
36
39
  rel = _ref.rel,
37
40
  rest = _objectWithoutProperties(_ref, _excluded);
@@ -39,9 +42,19 @@ export var EuiFormControlButton = function EuiFormControlButton(_ref) {
39
42
  _useInnerText2 = _slicedToArray(_useInnerText, 2),
40
43
  buttonTextRef = _useInnerText2[0],
41
44
  innerText = _useInnerText2[1];
45
+ var _useContext = useContext(EuiFormControlLayoutContext),
46
+ formLayoutIsDisabled = _useContext.isDisabled,
47
+ formLayoutIsInvalid = _useContext.isInvalid,
48
+ formLayoutIsLoading = _useContext.isLoading,
49
+ formLayoutReadOnly = _useContext.readOnly,
50
+ formLayoutCompressed = _useContext.compressed;
51
+ var isDisabled = _isDisabled !== null && _isDisabled !== void 0 ? _isDisabled : formLayoutIsDisabled;
52
+ var isInvalid = _isInvalid !== null && _isInvalid !== void 0 ? _isInvalid : formLayoutIsInvalid;
53
+ var isLoading = formLayoutIsLoading === true ? false : _isLoading;
54
+ var compressed = _compressed !== null && _compressed !== void 0 ? _compressed : formLayoutCompressed;
42
55
  var styles = useEuiMemoizedStyles(euiFormControlButtonStyles);
43
56
  var classes = classNames('euiFormControlButton', className);
44
- var cssStyles = [styles.euiFormControlButton, isInvalid && styles.isInvalid, compressed && styles.compressed, fullWidth ? styles.fullWidth : styles.formWidth];
57
+ var cssStyles = [styles.euiFormControlButton, isInvalid && styles.isInvalid, isLoading && styles.isLoading, formLayoutReadOnly && styles.readOnly, compressed && styles.compressed, fullWidth ? styles.fullWidth : styles.formWidth];
45
58
  var contentProps = _objectSpread(_objectSpread({}, _contentProps), {}, {
46
59
  css: [styles.euiFormControlButton__content, _contentProps === null || _contentProps === void 0 ? void 0 : _contentProps.css]
47
60
  });
@@ -64,7 +77,10 @@ export var EuiFormControlButton = function EuiFormControlButton(_ref) {
64
77
  className: classes,
65
78
  contentProps: contentProps,
66
79
  textProps: false,
67
- color: "text"
80
+ color: "text",
81
+ isDisabled: isDisabled,
82
+ isLoading: isLoading,
83
+ iconSide: isLoading ? 'right' : iconSide
68
84
  }, restProps), hasText && ___EmotionJSX("span", _extends({}, customTextProps, {
69
85
  ref: buttonTextRef
70
86
  }), value || placeholder), hasText && content && ' ', content);
@@ -8,8 +8,8 @@ function _EMOTION_STRINGIFIED_CSS_ERROR__() { return "You have tried to stringif
8
8
  */
9
9
 
10
10
  import { css } from '@emotion/react';
11
- import { logicalCSS } from '../../../global_styling';
12
- import { euiFormControlStyles, euiFormPlaceholderStyles } from '../form.styles';
11
+ import { euiDisabledSelector, logicalCSS } from '../../../global_styling';
12
+ import { euiFormControlStyles, euiFormPlaceholderStyles, euiFormVariables } from '../form.styles';
13
13
  var _ref = process.env.NODE_ENV === "production" ? {
14
14
  name: "isuld2-textContent",
15
15
  styles: "flex:1;text-align:start;label:textContent;"
@@ -20,11 +20,14 @@ var _ref = process.env.NODE_ENV === "production" ? {
20
20
  };
21
21
  export var euiFormControlButtonStyles = function euiFormControlButtonStyles(euiThemeContext) {
22
22
  var euiTheme = euiThemeContext.euiTheme;
23
+ var form = euiFormVariables(euiThemeContext);
23
24
  var formStyles = euiFormControlStyles(euiThemeContext);
24
25
  return {
25
26
  euiFormControlButton: /*#__PURE__*/css(formStyles.shared, " ", formStyles.uncompressed, " font-weight:", euiTheme.font.weight.regular, ";transition:none;&:hover{&::before{display:none;}}&:focus{", formStyles.focus, ";}&:disabled{", formStyles.disabled, ";};label:euiFormControlButton;"),
26
27
  isInvalid: /*#__PURE__*/css(formStyles.invalid, " &:disabled{", formStyles.invalid, ";};label:isInvalid;"),
28
+ readOnly: /*#__PURE__*/css(formStyles.readOnly, ";;label:readOnly;"),
27
29
  compressed: /*#__PURE__*/css(formStyles.compressed, ";;label:compressed;"),
30
+ isLoading: /*#__PURE__*/css("&:is(", euiDisabledSelector, "){background-color:", form.backgroundColor, ";}.euiLoadingSpinner{color:", euiTheme.colors.borderBasePlain, ";};label:isLoading;"),
28
31
  formWidth: formStyles.formWidth,
29
32
  fullWidth: /*#__PURE__*/css(formStyles.fullWidth, ";label:fullWidth;"),
30
33
  euiFormControlButton__content: /*#__PURE__*/css("justify-content:flex-start;", logicalCSS('width', '100%'), ";;label:euiFormControlButton__content;"),
@@ -0,0 +1,102 @@
1
+ import _extends from "@babel/runtime/helpers/extends";
2
+ import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
3
+ var _excluded = ["className"],
4
+ _excluded2 = ["className"],
5
+ _excluded3 = ["element", "id", "side", "children", "className", "inputId", "compressed", "iconLeft", "iconRight", "label", "isDisabled", "disabled"];
6
+ /*
7
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
8
+ * or more contributor license agreements. Licensed under the Elastic License
9
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
10
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
11
+ * Side Public License, v 1.
12
+ */
13
+
14
+ import React, { useContext } from 'react';
15
+ import classNames from 'classnames';
16
+ import { useEuiMemoizedStyles } from '../../../../services';
17
+ import { EuiIcon } from '../../../icon';
18
+ import { EuiFormLabel } from '../../form_label';
19
+ import { euiFormAppendPrependStyles } from './form_append_prepend.styles';
20
+ import { EuiFormControlLayoutContext } from '../form_control_layout_context';
21
+ import { jsx as ___EmotionJSX } from "@emotion/react";
22
+ export var EuiFormAppend = function EuiFormAppend(_ref) {
23
+ var className = _ref.className,
24
+ rest = _objectWithoutProperties(_ref, _excluded);
25
+ var classes = classNames('euiFormAppend', className);
26
+ return ___EmotionJSX(EuiFormAppendPrepend, _extends({
27
+ className: classes
28
+ }, rest, {
29
+ side: "append"
30
+ }));
31
+ };
32
+ export var EuiFormPrepend = function EuiFormPrepend(_ref2) {
33
+ var className = _ref2.className,
34
+ rest = _objectWithoutProperties(_ref2, _excluded2);
35
+ var classes = classNames('euiFormPrepend', className);
36
+ return ___EmotionJSX(EuiFormAppendPrepend, _extends({
37
+ className: classes
38
+ }, rest, {
39
+ side: "prepend"
40
+ }));
41
+ };
42
+ /* Internal component */
43
+
44
+ export var EuiFormAppendPrepend = function EuiFormAppendPrepend(_ref3) {
45
+ var _ref3$element = _ref3.element,
46
+ element = _ref3$element === void 0 ? 'div' : _ref3$element,
47
+ id = _ref3.id,
48
+ side = _ref3.side,
49
+ children = _ref3.children,
50
+ className = _ref3.className,
51
+ _inputId = _ref3.inputId,
52
+ _compressed = _ref3.compressed,
53
+ _iconLeft = _ref3.iconLeft,
54
+ _iconRight = _ref3.iconRight,
55
+ _label = _ref3.label,
56
+ _isDisabled = _ref3.isDisabled,
57
+ disabled = _ref3.disabled,
58
+ rest = _objectWithoutProperties(_ref3, _excluded3);
59
+ var styles = useEuiMemoizedStyles(euiFormAppendPrependStyles);
60
+ var _useContext = useContext(EuiFormControlLayoutContext),
61
+ formLayoutCompressed = _useContext.compressed,
62
+ formLayoutInputId = _useContext.inputId,
63
+ formLayoutIsDisabled = _useContext.isDisabled;
64
+ var compressed = _compressed !== null && _compressed !== void 0 ? _compressed : formLayoutCompressed;
65
+ var inputId = _inputId !== null && _inputId !== void 0 ? _inputId : formLayoutInputId;
66
+
67
+ // Adding automatic check on onClick for DevX convenience, this doesn't replace defining `element`
68
+ var isButton = element === 'button' || typeof rest.onClick === 'function';
69
+ var isDisabled = _isDisabled || disabled || !isButton && formLayoutIsDisabled;
70
+ var iconLeft = _iconLeft && ___EmotionJSX(EuiIcon, {
71
+ type: _iconLeft
72
+ });
73
+ var iconRight = _iconRight && ___EmotionJSX(EuiIcon, {
74
+ type: _iconRight
75
+ });
76
+ var cssStyles = [styles.side, compressed ? styles.compressed : styles.uncompressed, isButton && !isDisabled && styles.isInteractive, isDisabled && styles.disabled];
77
+ var labelProps = isButton ? {
78
+ type: 'span',
79
+ id: id,
80
+ className: 'eui-textTruncate'
81
+ } : {
82
+ type: 'label',
83
+ id: id,
84
+ htmlFor: inputId || undefined
85
+ };
86
+ var label = _label && ___EmotionJSX(EuiFormLabel, labelProps, _label);
87
+ var content = ___EmotionJSX(React.Fragment, null, iconLeft, label, iconRight, children);
88
+ var component = ___EmotionJSX("div", _extends({
89
+ className: className,
90
+ css: cssStyles
91
+ }, rest), content);
92
+ if (isButton) {
93
+ component = ___EmotionJSX("button", _extends({
94
+ className: className,
95
+ css: cssStyles,
96
+ disabled: isDisabled
97
+ }, rest), content);
98
+ }
99
+ return ___EmotionJSX("div", {
100
+ css: styles.wrapper
101
+ }, component);
102
+ };
@@ -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,5 +1,5 @@
1
- import _extends from "@babel/runtime/helpers/extends";
2
1
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
+ import _extends from "@babel/runtime/helpers/extends";
3
3
  import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
4
4
  import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
5
5
  var _excluded = ["inputId", "className", "children", "icon", "iconsPosition", "clear", "isDropdown", "isLoading", "isInvalid", "isDisabled", "readOnly", "compressed", "prepend", "append", "isDelimited", "wrapperProps", "fullWidth"];
@@ -21,6 +21,8 @@ import { useFormContext } from '../eui_form_context';
21
21
  import { getIconAffordanceStyles, isRightSideIcon } from './_num_icons';
22
22
  import { EuiFormControlLayoutIcons } from './form_control_layout_icons';
23
23
  import { euiFormControlLayoutStyles, euiFormControlLayoutSideNodeStyles } from './form_control_layout.styles';
24
+ import { EuiFormAppend, EuiFormPrepend } from './append_prepend';
25
+ import { EuiFormControlLayoutContextProvider } from './form_control_layout_context';
24
26
  import { jsx as ___EmotionJSX } from "@emotion/react";
25
27
  export var EuiFormControlLayout = function EuiFormControlLayout(props) {
26
28
  var _useFormContext = useFormContext(),
@@ -53,7 +55,7 @@ export var EuiFormControlLayout = function EuiFormControlLayout(props) {
53
55
  }, className);
54
56
  var styles = useEuiMemoizedStyles(euiFormControlLayoutStyles);
55
57
  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] : []));
56
- 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];
58
+ var childrenWrapperStyles = [styles.children.euiFormControlLayout__childrenWrapper, isGroup && styles.children.inGroup, wrapperProps === null || wrapperProps === void 0 ? void 0 : wrapperProps.css];
57
59
  var hasDropdownIcon = !readOnly && !isDisabled && isDropdown;
58
60
  var hasRightIcon = isRightSideIcon(icon);
59
61
  var hasLeftIcon = icon && !hasRightIcon;
@@ -69,15 +71,28 @@ export var EuiFormControlLayout = function EuiFormControlLayout(props) {
69
71
  isDropdown: hasDropdownIcon
70
72
  });
71
73
  }, [iconsPosition, icon, clear, isInvalid, isLoading, hasDropdownIcon]);
74
+ var sideNodeCommonProps = {
75
+ inputId: inputId,
76
+ compressed: compressed,
77
+ isDisabled: isDisabled,
78
+ readOnly: readOnly
79
+ };
72
80
  return ___EmotionJSX("div", _extends({
73
81
  css: cssStyles,
74
82
  className: classes
75
- }, rest), ___EmotionJSX(EuiFormControlLayoutSideNodes, {
83
+ }, rest), ___EmotionJSX(EuiFormControlLayoutContextProvider, {
84
+ value: {
85
+ compressed: !!compressed,
86
+ inputId: inputId,
87
+ isDisabled: isDisabled,
88
+ isInvalid: isInvalid,
89
+ readOnly: readOnly,
90
+ isLoading: isLoading
91
+ }
92
+ }, ___EmotionJSX(EuiFormControlLayoutSideNodes, _extends({
76
93
  side: "prepend",
77
- nodes: prepend,
78
- inputId: inputId,
79
- compressed: compressed
80
- }), ___EmotionJSX("div", _extends({}, wrapperProps, {
94
+ nodes: prepend
95
+ }, sideNodeCommonProps)), ___EmotionJSX("div", _extends({}, wrapperProps, {
81
96
  css: childrenWrapperStyles,
82
97
  className: classNames('euiFormControlLayout__childrenWrapper', wrapperProps === null || wrapperProps === void 0 ? void 0 : wrapperProps.className),
83
98
  style: _objectSpread(_objectSpread({}, iconAffordanceStyles), wrapperProps === null || wrapperProps === void 0 ? void 0 : wrapperProps.style)
@@ -97,32 +112,46 @@ export var EuiFormControlLayout = function EuiFormControlLayout(props) {
97
112
  isInvalid: isInvalid,
98
113
  isDropdown: hasDropdownIcon,
99
114
  isDisabled: isDisabled
100
- })), ___EmotionJSX(EuiFormControlLayoutSideNodes, {
115
+ })), ___EmotionJSX(EuiFormControlLayoutSideNodes, _extends({
101
116
  side: "append",
102
- nodes: append,
103
- inputId: inputId,
104
- compressed: compressed
105
- }));
117
+ nodes: append
118
+ }, sideNodeCommonProps))));
106
119
  };
107
120
 
108
121
  /**
109
122
  * Internal subcomponent utility for prepend/append nodes
110
123
  */
111
- var EuiFormControlLayoutSideNodes = function EuiFormControlLayoutSideNodes(_ref) {
112
- var side = _ref.side,
113
- nodes = _ref.nodes,
114
- inputId = _ref.inputId,
115
- compressed = _ref.compressed;
124
+ var EuiFormControlLayoutSideNodes = function EuiFormControlLayoutSideNodes(props) {
125
+ var side = props.side,
126
+ nodes = props.nodes,
127
+ inputId = props.inputId,
128
+ compressed = props.compressed,
129
+ isDisabled = props.isDisabled,
130
+ readOnly = props.readOnly;
116
131
  var className = "euiFormControlLayout__".concat(side);
117
132
  var styles = useEuiMemoizedStyles(euiFormControlLayoutSideNodeStyles);
118
- var cssStyles = [styles.euiFormControlLayout__side, styles[side], compressed ? styles.compressed : styles.uncompressed];
133
+ var cssStyles = [styles.euiFormControlLayout__side, compressed ? [styles.compressed.compressed, styles.compressed[side]] : [styles.uncompressed.uncompressed, styles.uncompressed[side]], isDisabled && styles.disabled, readOnly && styles.readOnly];
119
134
  if (!nodes) return null;
135
+ var content;
136
+ var AppendOrPrepend = side === 'append' ? EuiFormAppend : EuiFormPrepend;
137
+ if (Array.isArray(nodes)) {
138
+ if (nodes.length === 0) return null;
139
+ content = React.Children.map(nodes, function (node) {
140
+ return typeof node === 'string' ? ___EmotionJSX(EuiFormLabel, {
141
+ htmlFor: inputId
142
+ }, node) : node;
143
+ });
144
+ } else if (typeof nodes === 'string') {
145
+ content = ___EmotionJSX(AppendOrPrepend, {
146
+ inputId: inputId,
147
+ compressed: compressed,
148
+ label: nodes
149
+ });
150
+ } else {
151
+ content = nodes;
152
+ }
120
153
  return ___EmotionJSX("div", {
121
154
  css: cssStyles,
122
155
  className: className
123
- }, React.Children.map(nodes, function (node) {
124
- return typeof node === 'string' ? ___EmotionJSX(EuiFormLabel, {
125
- htmlFor: inputId
126
- }, node) : node;
127
- }));
156
+ }, content);
128
157
  };