@elastic/eui 110.0.0 → 111.1.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 (572) hide show
  1. package/es/components/avatar/avatar.js +1 -1
  2. package/es/components/badge/badge.js +1 -1
  3. package/es/components/badge/beta_badge/beta_badge.js +1 -1
  4. package/es/components/basic_table/basic_table.js +36 -55
  5. package/es/components/basic_table/in_memory_table.js +6 -6
  6. package/es/components/beacon/beacon.styles.js +1 -1
  7. package/es/components/button/button_display/_button_display_content.js +1 -1
  8. package/es/components/button/button_empty/button_empty.js +1 -1
  9. package/es/components/button/button_group/button_group.js +1 -1
  10. package/es/components/button/button_group/button_group_button.js +1 -1
  11. package/es/components/button/button_icon/button_icon.js +1 -1
  12. package/es/components/button/index.js +2 -1
  13. package/es/components/button/split_button/index.js +10 -0
  14. package/es/components/button/split_button/split_button.js +120 -0
  15. package/es/components/button/split_button/split_button.styles.js +51 -0
  16. package/es/components/button/split_button/split_button_actions.js +115 -0
  17. package/{optimize/es/components/flyout/flyout_context.js → es/components/button/split_button/split_button_context.js} +5 -7
  18. package/es/components/call_out/call_out.js +1 -1
  19. package/es/components/card/card.js +1 -1
  20. package/es/components/collapsible_nav/collapsible_nav.js +20 -101
  21. package/es/components/collapsible_nav/collapsible_nav_group/collapsible_nav_group.js +1 -1
  22. package/es/components/collapsible_nav_beta/_kibana_solution/collapsible_nav_kibana_solution.js +1 -1
  23. package/es/components/collapsible_nav_beta/collapsible_nav_beta.js +1 -0
  24. package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_button.js +1 -1
  25. package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_item.js +2 -2
  26. package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_popover.js +2 -2
  27. package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_item.js +4 -4
  28. package/es/components/comment_list/comment.js +2 -2
  29. package/es/components/comment_list/comment_event.js +1 -1
  30. package/es/components/comment_list/comment_list.js +2 -2
  31. package/es/components/comment_list/comment_timeline.js +1 -1
  32. package/es/components/context_menu/context_menu_item.js +1 -1
  33. package/es/components/datagrid/body/cell/data_grid_cell.js +12 -12
  34. package/es/components/datagrid/body/data_grid_body.js +7 -7
  35. package/es/components/datagrid/body/data_grid_body_custom.js +7 -7
  36. package/es/components/datagrid/body/data_grid_body_virtualized.js +7 -7
  37. package/es/components/datagrid/body/header/data_grid_header_cell.js +6 -6
  38. package/es/components/datagrid/controls/column_sorting.js +7 -7
  39. package/es/components/datagrid/controls/column_sorting_draggable.js +1 -1
  40. package/es/components/datagrid/controls/data_grid_toolbar_control.js +1 -1
  41. package/es/components/datagrid/controls/fullscreen_selector.styles.js +1 -1
  42. package/es/components/datagrid/utils/in_memory.js +6 -6
  43. package/es/components/date_picker/date_picker.js +2 -2
  44. package/es/components/date_picker/date_picker_range.js +1 -1
  45. package/es/components/empty_prompt/empty_prompt.js +2 -2
  46. package/es/components/flex/flex_group.js +1 -1
  47. package/es/components/flyout/_flyout_overlay.js +52 -0
  48. package/es/components/flyout/_flyout_resize_button.js +32 -0
  49. package/es/components/flyout/{flyout_resizable.styles.js → _flyout_resize_button.styles.js} +11 -11
  50. package/es/components/flyout/const.js +42 -0
  51. package/es/components/flyout/flyout.component.js +481 -0
  52. package/es/components/flyout/flyout.js +77 -379
  53. package/es/components/flyout/flyout.styles.js +106 -7
  54. package/es/components/flyout/flyout_menu.js +241 -0
  55. package/es/components/flyout/flyout_menu.styles.js +19 -0
  56. package/es/components/flyout/{flyout_context.js → flyout_menu_context.js} +1 -7
  57. package/es/components/flyout/flyout_parent_context.js +36 -0
  58. package/es/components/flyout/flyout_resizable.js +33 -144
  59. package/es/components/flyout/hooks.js +25 -0
  60. package/es/components/flyout/index.js +5 -2
  61. package/es/components/flyout/manager/actions.js +153 -0
  62. package/es/components/flyout/manager/activity_stage.js +95 -0
  63. package/es/components/flyout/manager/const.js +56 -0
  64. package/es/components/flyout/manager/context.js +33 -0
  65. package/es/components/flyout/manager/flyout_child.js +75 -0
  66. package/es/components/flyout/manager/flyout_main.js +65 -0
  67. package/es/components/flyout/manager/flyout_main.styles.js +25 -0
  68. package/es/components/flyout/manager/flyout_managed.js +227 -0
  69. package/es/components/flyout/manager/flyout_managed.styles.js +69 -0
  70. package/es/components/flyout/manager/hooks.js +55 -0
  71. package/es/components/flyout/manager/index.js +31 -0
  72. package/es/components/flyout/manager/layout_mode.js +167 -0
  73. package/es/components/flyout/manager/provider.js +57 -0
  74. package/es/components/flyout/manager/reducer.js +320 -0
  75. package/es/components/flyout/manager/selectors.js +116 -0
  76. package/es/components/flyout/manager/store.js +113 -0
  77. package/es/components/flyout/manager/validation.js +85 -0
  78. package/es/components/flyout/use_flyout_resizable.js +149 -0
  79. package/es/components/flyout/use_flyout_z_index.js +46 -0
  80. package/es/components/form/field_number/field_number.js +2 -2
  81. package/es/components/form/field_text/field_text.js +2 -2
  82. package/es/components/form/form_control_button/form_control_button.js +1 -1
  83. package/es/components/form/form_control_layout/form_control_layout.js +2 -2
  84. package/es/components/form/form_control_layout/form_control_layout_custom_icon.js +1 -1
  85. package/es/components/form/form_control_layout/form_control_layout_icons.js +2 -2
  86. package/es/components/form/text_area/text_area.js +2 -2
  87. package/es/components/header/header_links/header_link.js +1 -1
  88. package/es/components/header/header_links/header_links.js +1 -1
  89. package/es/components/header/header_logo/header_logo.js +1 -1
  90. package/es/components/header/header_section/header_section_item_button.js +1 -1
  91. package/es/components/horizontal_rule/horizontal_rule.js +1 -1
  92. package/es/components/icon/assets/agentBuilderRobot.js +37 -0
  93. package/es/components/icon/assets/cross_project_search.js +35 -0
  94. package/es/components/icon/assets/dashed_circle.js +35 -0
  95. package/es/components/icon/assets/product_robot.js +37 -0
  96. package/es/components/icon/icon.js +1 -1
  97. package/es/components/icon/icon_map.js +3 -0
  98. package/es/components/key_pad_menu/key_pad_menu_item.js +1 -1
  99. package/es/components/link/external_link_icon.js +6 -3
  100. package/es/components/list_group/list_group.js +2 -2
  101. package/es/components/list_group/list_group_item.js +2 -2
  102. package/es/components/list_group/list_group_item_extra_action.js +1 -1
  103. package/es/components/list_group/pinnable_list_group/pinnable_list_group.js +4 -4
  104. package/es/components/loading/loading_logo.js +1 -1
  105. package/es/components/markdown_editor/markdown_editor.js +1 -1
  106. package/es/components/markdown_editor/markdown_editor_drop_zone.js +1 -1
  107. package/es/components/markdown_editor/markdown_editor_footer.js +1 -1
  108. package/es/components/markdown_editor/markdown_editor_toolbar.js +1 -1
  109. package/es/components/overlay_mask/overlay_mask.js +13 -3
  110. package/es/components/overlay_mask/overlay_mask.styles.js +11 -2
  111. package/es/components/page/page_header/page_header_content.js +2 -2
  112. package/es/components/pagination/pagination_button.js +1 -1
  113. package/es/components/provider/provider.js +2 -1
  114. package/es/components/search_bar/search_bar.js +1 -1
  115. package/es/components/selectable/selectable_list/selectable_list.js +1 -1
  116. package/es/components/selectable/selectable_list/selectable_list_item.js +1 -1
  117. package/es/components/selectable/selectable_templates/selectable_template_sitewide.js +1 -1
  118. package/es/components/spacer/spacer.js +1 -1
  119. package/es/components/table/table_header_cell.js +1 -1
  120. package/es/components/timeline/timeline_item_icon.js +1 -1
  121. package/es/components/toast/global_toast_list.js +1 -1
  122. package/es/components/toast/toast.js +1 -1
  123. package/es/components/tool_tip/icon_tip.js +1 -1
  124. package/es/components/tour/tour_step_indicator.js +8 -3
  125. package/es/global_styling/mixins/_button.js +28 -9
  126. package/es/global_styling/mixins/_container_query.js +106 -0
  127. package/es/global_styling/mixins/index.js +1 -0
  128. package/es/services/container_query/container_query_hook.js +64 -0
  129. package/es/{components/flyout/sessions → services/container_query}/index.js +1 -2
  130. package/es/services/container_query/match_container.js +242 -0
  131. package/eui.d.ts +7558 -6642
  132. package/i18ntokens.json +1438 -1384
  133. package/lib/components/avatar/avatar.js +1 -1
  134. package/lib/components/badge/badge.js +1 -1
  135. package/lib/components/badge/beta_badge/beta_badge.js +1 -1
  136. package/lib/components/basic_table/basic_table.js +36 -55
  137. package/lib/components/basic_table/in_memory_table.js +6 -6
  138. package/lib/components/beacon/beacon.styles.js +1 -1
  139. package/lib/components/button/button_display/_button_display_content.js +1 -1
  140. package/lib/components/button/button_empty/button_empty.js +1 -1
  141. package/lib/components/button/button_group/button_group.js +1 -1
  142. package/lib/components/button/button_group/button_group_button.js +1 -1
  143. package/lib/components/button/button_icon/button_icon.js +1 -1
  144. package/lib/components/button/index.js +8 -1
  145. package/lib/components/button/split_button/index.js +25 -0
  146. package/lib/components/button/split_button/split_button.js +129 -0
  147. package/lib/components/button/split_button/split_button.styles.js +55 -0
  148. package/lib/components/button/split_button/split_button_actions.js +123 -0
  149. package/{optimize/lib/components/flyout/flyout_context.js → lib/components/button/split_button/split_button_context.js} +6 -7
  150. package/lib/components/call_out/call_out.js +1 -1
  151. package/lib/components/card/card.js +1 -1
  152. package/lib/components/collapsible_nav/collapsible_nav.js +20 -101
  153. package/lib/components/collapsible_nav/collapsible_nav_group/collapsible_nav_group.js +1 -1
  154. package/lib/components/collapsible_nav_beta/_kibana_solution/collapsible_nav_kibana_solution.js +1 -1
  155. package/lib/components/collapsible_nav_beta/collapsible_nav_beta.js +1 -0
  156. package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_button.js +1 -1
  157. package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_item.js +2 -2
  158. package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_popover.js +2 -2
  159. package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_item.js +4 -4
  160. package/lib/components/comment_list/comment.js +2 -2
  161. package/lib/components/comment_list/comment_event.js +1 -1
  162. package/lib/components/comment_list/comment_list.js +2 -2
  163. package/lib/components/comment_list/comment_timeline.js +1 -1
  164. package/lib/components/context_menu/context_menu_item.js +1 -1
  165. package/lib/components/datagrid/body/cell/data_grid_cell.js +12 -12
  166. package/lib/components/datagrid/body/data_grid_body.js +7 -7
  167. package/lib/components/datagrid/body/data_grid_body_custom.js +7 -7
  168. package/lib/components/datagrid/body/data_grid_body_virtualized.js +7 -7
  169. package/lib/components/datagrid/body/header/data_grid_header_cell.js +6 -6
  170. package/lib/components/datagrid/controls/column_sorting.js +7 -7
  171. package/lib/components/datagrid/controls/column_sorting_draggable.js +1 -1
  172. package/lib/components/datagrid/controls/data_grid_toolbar_control.js +1 -1
  173. package/lib/components/datagrid/controls/fullscreen_selector.styles.js +1 -1
  174. package/lib/components/datagrid/utils/in_memory.js +6 -6
  175. package/lib/components/date_picker/date_picker.js +2 -2
  176. package/lib/components/date_picker/date_picker_range.js +1 -1
  177. package/lib/components/empty_prompt/empty_prompt.js +2 -2
  178. package/lib/components/flex/flex_group.js +1 -1
  179. package/lib/components/flyout/_flyout_overlay.js +59 -0
  180. package/lib/components/flyout/_flyout_resize_button.js +38 -0
  181. package/{test-env/components/flyout/flyout_resizable.styles.js → lib/components/flyout/_flyout_resize_button.styles.js} +12 -12
  182. package/lib/components/flyout/const.js +49 -0
  183. package/lib/components/flyout/flyout.component.js +488 -0
  184. package/lib/components/flyout/flyout.js +102 -379
  185. package/lib/components/flyout/flyout.styles.js +106 -7
  186. package/lib/components/flyout/flyout_menu.js +243 -0
  187. package/lib/components/flyout/flyout_menu.styles.js +25 -0
  188. package/lib/components/flyout/{flyout_context.js → flyout_menu_context.js} +2 -7
  189. package/lib/components/flyout/flyout_parent_context.js +43 -0
  190. package/lib/components/flyout/flyout_resizable.js +36 -147
  191. package/lib/components/flyout/hooks.js +30 -0
  192. package/lib/components/flyout/index.js +21 -14
  193. package/lib/components/flyout/manager/actions.js +159 -0
  194. package/lib/components/flyout/manager/activity_stage.js +101 -0
  195. package/lib/components/flyout/manager/const.js +62 -0
  196. package/lib/components/flyout/manager/context.js +41 -0
  197. package/lib/components/flyout/manager/flyout_child.js +80 -0
  198. package/lib/components/flyout/manager/flyout_main.js +70 -0
  199. package/lib/components/flyout/manager/flyout_main.styles.js +31 -0
  200. package/lib/components/flyout/manager/flyout_managed.js +233 -0
  201. package/lib/components/flyout/manager/flyout_managed.styles.js +73 -0
  202. package/lib/components/flyout/manager/hooks.js +131 -0
  203. package/lib/components/flyout/manager/index.js +168 -0
  204. package/lib/components/flyout/manager/layout_mode.js +171 -0
  205. package/lib/components/flyout/manager/provider.js +63 -0
  206. package/lib/components/flyout/manager/reducer.js +325 -0
  207. package/lib/components/flyout/manager/selectors.js +122 -0
  208. package/lib/components/flyout/manager/store.js +120 -0
  209. package/lib/components/flyout/manager/validation.js +94 -0
  210. package/lib/components/flyout/use_flyout_resizable.js +153 -0
  211. package/lib/components/flyout/use_flyout_z_index.js +51 -0
  212. package/lib/components/form/field_number/field_number.js +2 -2
  213. package/lib/components/form/field_text/field_text.js +2 -2
  214. package/lib/components/form/form_control_button/form_control_button.js +1 -1
  215. package/lib/components/form/form_control_layout/form_control_layout.js +2 -2
  216. package/lib/components/form/form_control_layout/form_control_layout_custom_icon.js +1 -1
  217. package/lib/components/form/form_control_layout/form_control_layout_icons.js +2 -2
  218. package/lib/components/form/text_area/text_area.js +2 -2
  219. package/lib/components/header/header_links/header_link.js +1 -1
  220. package/lib/components/header/header_links/header_links.js +1 -1
  221. package/lib/components/header/header_logo/header_logo.js +1 -1
  222. package/lib/components/header/header_section/header_section_item_button.js +1 -1
  223. package/lib/components/horizontal_rule/horizontal_rule.js +1 -1
  224. package/lib/components/icon/assets/agentBuilderRobot.js +44 -0
  225. package/lib/components/icon/assets/cross_project_search.js +42 -0
  226. package/lib/components/icon/assets/dashed_circle.js +42 -0
  227. package/lib/components/icon/assets/product_robot.js +44 -0
  228. package/lib/components/icon/icon.js +1 -1
  229. package/lib/components/icon/icon_map.js +3 -0
  230. package/lib/components/icon/svgs/cross_project_search.svg +3 -0
  231. package/lib/components/icon/svgs/dashed_circle.svg +5 -0
  232. package/lib/components/icon/svgs/product_robot.svg +4 -0
  233. package/lib/components/key_pad_menu/key_pad_menu_item.js +1 -1
  234. package/lib/components/link/external_link_icon.js +6 -3
  235. package/lib/components/list_group/list_group.js +2 -2
  236. package/lib/components/list_group/list_group_item.js +2 -2
  237. package/lib/components/list_group/list_group_item_extra_action.js +1 -1
  238. package/lib/components/list_group/pinnable_list_group/pinnable_list_group.js +4 -4
  239. package/lib/components/loading/loading_logo.js +1 -1
  240. package/lib/components/markdown_editor/markdown_editor.js +1 -1
  241. package/lib/components/markdown_editor/markdown_editor_drop_zone.js +1 -1
  242. package/lib/components/markdown_editor/markdown_editor_footer.js +1 -1
  243. package/lib/components/markdown_editor/markdown_editor_toolbar.js +1 -1
  244. package/lib/components/overlay_mask/overlay_mask.js +12 -2
  245. package/lib/components/overlay_mask/overlay_mask.styles.js +11 -4
  246. package/lib/components/page/page_header/page_header_content.js +2 -2
  247. package/lib/components/pagination/pagination_button.js +1 -1
  248. package/lib/components/provider/provider.js +2 -1
  249. package/lib/components/search_bar/search_bar.js +1 -1
  250. package/lib/components/selectable/selectable_list/selectable_list.js +1 -1
  251. package/lib/components/selectable/selectable_list/selectable_list_item.js +1 -1
  252. package/lib/components/selectable/selectable_templates/selectable_template_sitewide.js +1 -1
  253. package/lib/components/spacer/spacer.js +1 -1
  254. package/lib/components/table/table_header_cell.js +1 -1
  255. package/lib/components/timeline/timeline_item_icon.js +1 -1
  256. package/lib/components/toast/global_toast_list.js +1 -1
  257. package/lib/components/toast/toast.js +1 -1
  258. package/lib/components/tool_tip/icon_tip.js +1 -1
  259. package/lib/components/tour/tour_step_indicator.js +8 -3
  260. package/lib/global_styling/mixins/_button.js +29 -10
  261. package/lib/global_styling/mixins/_container_query.js +112 -0
  262. package/lib/global_styling/mixins/index.js +11 -0
  263. package/lib/services/container_query/container_query_hook.js +67 -0
  264. package/lib/services/container_query/index.js +16 -0
  265. package/lib/services/container_query/match_container.js +243 -0
  266. package/optimize/es/components/basic_table/basic_table.js +30 -49
  267. package/optimize/es/components/beacon/beacon.styles.js +1 -1
  268. package/optimize/es/components/button/index.js +2 -1
  269. package/optimize/es/components/button/split_button/index.js +10 -0
  270. package/optimize/es/components/button/split_button/split_button.js +98 -0
  271. package/optimize/es/components/button/split_button/split_button.styles.js +51 -0
  272. package/optimize/es/components/button/split_button/split_button_actions.js +89 -0
  273. package/optimize/es/components/button/split_button/split_button_context.js +14 -0
  274. package/optimize/es/components/collapsible_nav/collapsible_nav.js +1 -0
  275. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_beta.js +1 -0
  276. package/optimize/es/components/datagrid/controls/fullscreen_selector.styles.js +1 -1
  277. package/optimize/es/components/empty_prompt/empty_prompt.js +1 -1
  278. package/optimize/es/components/flex/flex_group.js +1 -1
  279. package/optimize/es/components/flyout/_flyout_overlay.js +52 -0
  280. package/optimize/es/components/flyout/_flyout_resize_button.js +31 -0
  281. package/optimize/es/components/flyout/{flyout_resizable.styles.js → _flyout_resize_button.styles.js} +11 -11
  282. package/optimize/es/components/flyout/const.js +42 -0
  283. package/optimize/es/components/flyout/flyout.component.js +469 -0
  284. package/optimize/es/components/flyout/flyout.js +53 -349
  285. package/optimize/es/components/flyout/flyout.styles.js +103 -7
  286. package/optimize/es/components/flyout/flyout_menu.js +162 -0
  287. package/optimize/es/components/flyout/flyout_menu.styles.js +19 -0
  288. package/optimize/es/components/flyout/flyout_menu_context.js +10 -0
  289. package/optimize/es/components/flyout/flyout_parent_context.js +36 -0
  290. package/optimize/es/components/flyout/flyout_resizable.js +7 -138
  291. package/optimize/es/components/flyout/hooks.js +25 -0
  292. package/optimize/es/components/flyout/index.js +5 -2
  293. package/optimize/es/components/flyout/manager/actions.js +153 -0
  294. package/optimize/es/components/flyout/manager/activity_stage.js +95 -0
  295. package/optimize/es/components/flyout/manager/const.js +56 -0
  296. package/optimize/es/components/flyout/manager/context.js +33 -0
  297. package/optimize/es/components/flyout/manager/flyout_child.js +71 -0
  298. package/optimize/es/components/flyout/manager/flyout_main.js +61 -0
  299. package/optimize/es/components/flyout/manager/flyout_main.styles.js +25 -0
  300. package/optimize/es/components/flyout/manager/flyout_managed.js +223 -0
  301. package/optimize/es/components/flyout/manager/flyout_managed.styles.js +69 -0
  302. package/optimize/es/components/flyout/manager/hooks.js +55 -0
  303. package/optimize/es/components/flyout/manager/index.js +31 -0
  304. package/optimize/es/components/flyout/manager/layout_mode.js +162 -0
  305. package/optimize/es/components/flyout/manager/provider.js +53 -0
  306. package/optimize/es/components/flyout/manager/reducer.js +312 -0
  307. package/optimize/es/components/flyout/manager/selectors.js +116 -0
  308. package/optimize/es/components/flyout/manager/store.js +113 -0
  309. package/optimize/es/components/flyout/manager/types.js +1 -0
  310. package/optimize/es/components/flyout/manager/validation.js +85 -0
  311. package/optimize/es/components/flyout/types.js +1 -0
  312. package/optimize/es/components/flyout/use_flyout_resizable.js +144 -0
  313. package/optimize/es/components/flyout/use_flyout_z_index.js +46 -0
  314. package/optimize/es/components/horizontal_rule/horizontal_rule.js +1 -1
  315. package/optimize/es/components/icon/assets/agentBuilderRobot.js +36 -0
  316. package/optimize/es/components/icon/assets/cross_project_search.js +34 -0
  317. package/optimize/es/components/icon/assets/dashed_circle.js +34 -0
  318. package/optimize/es/components/icon/assets/product_robot.js +36 -0
  319. package/optimize/es/components/icon/icon_map.js +3 -0
  320. package/optimize/es/components/link/external_link_icon.js +6 -3
  321. package/optimize/es/components/overlay_mask/overlay_mask.js +13 -3
  322. package/optimize/es/components/overlay_mask/overlay_mask.styles.js +11 -2
  323. package/optimize/es/components/page/page_header/page_header_content.js +1 -1
  324. package/optimize/es/components/provider/provider.js +2 -1
  325. package/optimize/es/components/search_bar/search_bar.js +1 -1
  326. package/optimize/es/components/spacer/spacer.js +1 -1
  327. package/optimize/es/components/tour/tour_step_indicator.js +8 -3
  328. package/optimize/es/global_styling/mixins/_button.js +28 -9
  329. package/optimize/es/global_styling/mixins/_container_query.js +106 -0
  330. package/optimize/es/global_styling/mixins/index.js +1 -0
  331. package/optimize/es/services/container_query/container_query_hook.js +59 -0
  332. package/optimize/es/{components/flyout/sessions → services/container_query}/index.js +1 -2
  333. package/optimize/es/services/container_query/match_container.js +229 -0
  334. package/optimize/lib/components/basic_table/basic_table.js +30 -49
  335. package/optimize/lib/components/beacon/beacon.styles.js +1 -1
  336. package/optimize/lib/components/button/index.js +8 -1
  337. package/optimize/lib/components/button/split_button/index.js +25 -0
  338. package/optimize/lib/components/button/split_button/split_button.js +107 -0
  339. package/optimize/lib/components/button/split_button/split_button.styles.js +55 -0
  340. package/optimize/lib/components/button/split_button/split_button_actions.js +98 -0
  341. package/{test-env/components/flyout/flyout_context.js → optimize/lib/components/button/split_button/split_button_context.js} +6 -7
  342. package/optimize/lib/components/collapsible_nav/collapsible_nav.js +1 -0
  343. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_beta.js +1 -0
  344. package/optimize/lib/components/datagrid/controls/fullscreen_selector.styles.js +1 -1
  345. package/optimize/lib/components/empty_prompt/empty_prompt.js +1 -1
  346. package/optimize/lib/components/flex/flex_group.js +1 -1
  347. package/optimize/lib/components/flyout/_flyout_overlay.js +62 -0
  348. package/optimize/lib/components/flyout/_flyout_resize_button.js +37 -0
  349. package/{lib/components/flyout/flyout_resizable.styles.js → optimize/lib/components/flyout/_flyout_resize_button.styles.js} +12 -12
  350. package/optimize/lib/components/flyout/const.js +49 -0
  351. package/optimize/lib/components/flyout/flyout.component.js +477 -0
  352. package/optimize/lib/components/flyout/flyout.js +77 -349
  353. package/optimize/lib/components/flyout/flyout.styles.js +103 -7
  354. package/optimize/lib/components/flyout/flyout_menu.js +168 -0
  355. package/optimize/lib/components/flyout/flyout_menu.styles.js +25 -0
  356. package/optimize/lib/components/flyout/flyout_menu_context.js +16 -0
  357. package/optimize/lib/components/flyout/flyout_parent_context.js +43 -0
  358. package/optimize/lib/components/flyout/flyout_resizable.js +9 -139
  359. package/optimize/lib/components/flyout/hooks.js +30 -0
  360. package/optimize/lib/components/flyout/index.js +21 -14
  361. package/optimize/lib/components/flyout/manager/actions.js +159 -0
  362. package/optimize/lib/components/flyout/manager/activity_stage.js +101 -0
  363. package/optimize/lib/components/flyout/manager/const.js +62 -0
  364. package/optimize/lib/components/flyout/manager/context.js +41 -0
  365. package/optimize/lib/components/flyout/manager/flyout_child.js +76 -0
  366. package/optimize/lib/components/flyout/manager/flyout_main.js +66 -0
  367. package/optimize/lib/components/flyout/manager/flyout_main.styles.js +31 -0
  368. package/optimize/lib/components/flyout/manager/flyout_managed.js +231 -0
  369. package/optimize/lib/components/flyout/manager/flyout_managed.styles.js +74 -0
  370. package/optimize/lib/components/flyout/manager/hooks.js +131 -0
  371. package/optimize/lib/components/flyout/manager/index.js +168 -0
  372. package/optimize/lib/components/flyout/manager/layout_mode.js +169 -0
  373. package/optimize/lib/components/flyout/manager/provider.js +61 -0
  374. package/optimize/lib/components/flyout/manager/reducer.js +318 -0
  375. package/optimize/lib/components/flyout/manager/selectors.js +122 -0
  376. package/optimize/lib/components/flyout/manager/store.js +120 -0
  377. package/optimize/lib/components/flyout/manager/validation.js +94 -0
  378. package/optimize/lib/components/flyout/types.js +5 -0
  379. package/optimize/lib/components/flyout/use_flyout_resizable.js +151 -0
  380. package/optimize/lib/components/flyout/use_flyout_z_index.js +51 -0
  381. package/optimize/lib/components/horizontal_rule/horizontal_rule.js +1 -1
  382. package/optimize/lib/components/icon/assets/agentBuilderRobot.js +44 -0
  383. package/optimize/lib/components/icon/assets/cross_project_search.js +42 -0
  384. package/optimize/lib/components/icon/assets/dashed_circle.js +42 -0
  385. package/optimize/lib/components/icon/assets/product_robot.js +44 -0
  386. package/optimize/lib/components/icon/icon_map.js +3 -0
  387. package/optimize/lib/components/icon/svgs/cross_project_search.svg +3 -0
  388. package/optimize/lib/components/icon/svgs/dashed_circle.svg +5 -0
  389. package/optimize/lib/components/icon/svgs/product_robot.svg +4 -0
  390. package/optimize/lib/components/link/external_link_icon.js +6 -3
  391. package/optimize/lib/components/overlay_mask/overlay_mask.js +12 -2
  392. package/optimize/lib/components/overlay_mask/overlay_mask.styles.js +11 -4
  393. package/optimize/lib/components/page/page_header/page_header_content.js +1 -1
  394. package/optimize/lib/components/provider/provider.js +2 -1
  395. package/optimize/lib/components/search_bar/search_bar.js +1 -1
  396. package/optimize/lib/components/spacer/spacer.js +1 -1
  397. package/optimize/lib/components/tour/tour_step_indicator.js +8 -3
  398. package/optimize/lib/global_styling/mixins/_button.js +29 -10
  399. package/optimize/lib/global_styling/mixins/_container_query.js +112 -0
  400. package/optimize/lib/global_styling/mixins/index.js +11 -0
  401. package/optimize/lib/services/container_query/container_query_hook.js +65 -0
  402. package/optimize/lib/services/container_query/index.js +16 -0
  403. package/optimize/lib/services/container_query/match_container.js +231 -0
  404. package/package.json +5 -4
  405. package/test-env/components/avatar/avatar.js +1 -1
  406. package/test-env/components/badge/badge.js +1 -1
  407. package/test-env/components/badge/beta_badge/beta_badge.js +1 -1
  408. package/test-env/components/basic_table/basic_table.js +36 -55
  409. package/test-env/components/basic_table/in_memory_table.js +6 -6
  410. package/test-env/components/beacon/beacon.styles.js +1 -1
  411. package/test-env/components/button/button_display/_button_display_content.js +1 -1
  412. package/test-env/components/button/button_empty/button_empty.js +1 -1
  413. package/test-env/components/button/button_group/button_group.js +1 -1
  414. package/test-env/components/button/button_group/button_group_button.js +1 -1
  415. package/test-env/components/button/button_icon/button_icon.js +1 -1
  416. package/test-env/components/button/index.js +8 -1
  417. package/test-env/components/button/split_button/index.js +25 -0
  418. package/test-env/components/button/split_button/split_button.js +123 -0
  419. package/test-env/components/button/split_button/split_button.styles.js +55 -0
  420. package/test-env/components/button/split_button/split_button_actions.js +120 -0
  421. package/test-env/components/button/split_button/split_button_context.js +20 -0
  422. package/test-env/components/call_out/call_out.js +1 -1
  423. package/test-env/components/card/card.js +1 -1
  424. package/test-env/components/collapsible_nav/collapsible_nav.js +20 -101
  425. package/test-env/components/collapsible_nav/collapsible_nav_group/collapsible_nav_group.js +1 -1
  426. package/test-env/components/collapsible_nav_beta/_kibana_solution/collapsible_nav_kibana_solution.js +1 -1
  427. package/test-env/components/collapsible_nav_beta/collapsible_nav_beta.js +1 -0
  428. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_button.js +1 -1
  429. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_item.js +2 -2
  430. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_popover.js +2 -2
  431. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_item.js +4 -4
  432. package/test-env/components/comment_list/comment.js +2 -2
  433. package/test-env/components/comment_list/comment_event.js +1 -1
  434. package/test-env/components/comment_list/comment_list.js +2 -2
  435. package/test-env/components/comment_list/comment_timeline.js +1 -1
  436. package/test-env/components/context_menu/context_menu_item.js +1 -1
  437. package/test-env/components/datagrid/body/cell/data_grid_cell.js +12 -12
  438. package/test-env/components/datagrid/body/data_grid_body.js +7 -7
  439. package/test-env/components/datagrid/body/data_grid_body_custom.js +7 -7
  440. package/test-env/components/datagrid/body/data_grid_body_virtualized.js +7 -7
  441. package/test-env/components/datagrid/body/header/data_grid_header_cell.js +6 -6
  442. package/test-env/components/datagrid/controls/column_sorting.js +7 -7
  443. package/test-env/components/datagrid/controls/column_sorting_draggable.js +1 -1
  444. package/test-env/components/datagrid/controls/data_grid_toolbar_control.js +1 -1
  445. package/test-env/components/datagrid/controls/fullscreen_selector.styles.js +1 -1
  446. package/test-env/components/datagrid/utils/in_memory.js +6 -6
  447. package/test-env/components/date_picker/date_picker.js +2 -2
  448. package/test-env/components/date_picker/date_picker_range.js +1 -1
  449. package/test-env/components/empty_prompt/empty_prompt.js +2 -2
  450. package/test-env/components/flex/flex_group.js +1 -1
  451. package/test-env/components/flyout/_flyout_overlay.js +62 -0
  452. package/test-env/components/flyout/_flyout_resize_button.js +37 -0
  453. package/{optimize/lib/components/flyout/flyout_resizable.styles.js → test-env/components/flyout/_flyout_resize_button.styles.js} +12 -12
  454. package/test-env/components/flyout/const.js +49 -0
  455. package/test-env/components/flyout/flyout.component.js +477 -0
  456. package/test-env/components/flyout/flyout.styles.js +103 -7
  457. package/test-env/components/flyout/flyout_menu.js +241 -0
  458. package/test-env/components/flyout/flyout_menu.styles.js +25 -0
  459. package/test-env/components/flyout/flyout_menu_context.js +16 -0
  460. package/test-env/components/flyout/flyout_parent_context.js +43 -0
  461. package/test-env/components/flyout/flyout_resizable.js +35 -139
  462. package/test-env/components/flyout/hooks.js +30 -0
  463. package/test-env/components/flyout/index.js +21 -14
  464. package/test-env/components/flyout/manager/actions.js +159 -0
  465. package/test-env/components/flyout/manager/activity_stage.js +101 -0
  466. package/test-env/components/flyout/manager/const.js +62 -0
  467. package/test-env/components/flyout/manager/context.js +41 -0
  468. package/test-env/components/flyout/manager/flyout_child.js +76 -0
  469. package/test-env/components/flyout/manager/flyout_main.js +66 -0
  470. package/test-env/components/flyout/manager/flyout_main.styles.js +31 -0
  471. package/test-env/components/flyout/manager/flyout_managed.js +231 -0
  472. package/test-env/components/flyout/manager/flyout_managed.styles.js +74 -0
  473. package/test-env/components/flyout/manager/hooks.js +131 -0
  474. package/test-env/components/flyout/manager/index.js +168 -0
  475. package/test-env/components/flyout/manager/layout_mode.js +169 -0
  476. package/test-env/components/flyout/manager/provider.js +61 -0
  477. package/test-env/components/flyout/manager/reducer.js +318 -0
  478. package/test-env/components/flyout/manager/selectors.js +122 -0
  479. package/test-env/components/flyout/manager/store.js +120 -0
  480. package/test-env/components/flyout/manager/types.js +5 -0
  481. package/test-env/components/flyout/manager/validation.js +94 -0
  482. package/test-env/components/flyout/types.js +5 -0
  483. package/test-env/components/flyout/use_flyout_resizable.js +151 -0
  484. package/test-env/components/flyout/use_flyout_z_index.js +51 -0
  485. package/test-env/components/form/field_number/field_number.js +2 -2
  486. package/test-env/components/form/field_text/field_text.js +2 -2
  487. package/test-env/components/form/form_control_button/form_control_button.js +1 -1
  488. package/test-env/components/form/form_control_layout/form_control_layout.js +2 -2
  489. package/test-env/components/form/form_control_layout/form_control_layout_custom_icon.js +1 -1
  490. package/test-env/components/form/form_control_layout/form_control_layout_icons.js +2 -2
  491. package/test-env/components/form/text_area/text_area.js +2 -2
  492. package/test-env/components/header/header_links/header_link.js +1 -1
  493. package/test-env/components/header/header_links/header_links.js +1 -1
  494. package/test-env/components/header/header_logo/header_logo.js +1 -1
  495. package/test-env/components/header/header_section/header_section_item_button.js +1 -1
  496. package/test-env/components/horizontal_rule/horizontal_rule.js +1 -1
  497. package/test-env/components/icon/assets/agentBuilderRobot.js +44 -0
  498. package/test-env/components/icon/assets/cross_project_search.js +42 -0
  499. package/test-env/components/icon/assets/dashed_circle.js +42 -0
  500. package/test-env/components/icon/assets/product_robot.js +44 -0
  501. package/test-env/components/icon/icon_map.js +3 -0
  502. package/test-env/components/key_pad_menu/key_pad_menu_item.js +1 -1
  503. package/test-env/components/link/external_link_icon.js +6 -3
  504. package/test-env/components/list_group/list_group.js +2 -2
  505. package/test-env/components/list_group/list_group_item.js +2 -2
  506. package/test-env/components/list_group/list_group_item_extra_action.js +1 -1
  507. package/test-env/components/list_group/pinnable_list_group/pinnable_list_group.js +4 -4
  508. package/test-env/components/loading/loading_logo.js +1 -1
  509. package/test-env/components/markdown_editor/markdown_editor.js +1 -1
  510. package/test-env/components/markdown_editor/markdown_editor_drop_zone.js +1 -1
  511. package/test-env/components/markdown_editor/markdown_editor_footer.js +1 -1
  512. package/test-env/components/markdown_editor/markdown_editor_toolbar.js +1 -1
  513. package/test-env/components/overlay_mask/overlay_mask.js +12 -2
  514. package/test-env/components/overlay_mask/overlay_mask.styles.js +11 -4
  515. package/test-env/components/page/page_header/page_header_content.js +2 -2
  516. package/test-env/components/pagination/pagination_button.js +1 -1
  517. package/test-env/components/provider/provider.js +2 -1
  518. package/test-env/components/search_bar/search_bar.js +1 -1
  519. package/test-env/components/selectable/selectable_list/selectable_list.js +1 -1
  520. package/test-env/components/selectable/selectable_list/selectable_list_item.js +1 -1
  521. package/test-env/components/selectable/selectable_templates/selectable_template_sitewide.js +1 -1
  522. package/test-env/components/spacer/spacer.js +1 -1
  523. package/test-env/components/table/table_header_cell.js +1 -1
  524. package/test-env/components/timeline/timeline_item_icon.js +1 -1
  525. package/test-env/components/toast/global_toast_list.js +1 -1
  526. package/test-env/components/toast/toast.js +1 -1
  527. package/test-env/components/tool_tip/icon_tip.js +1 -1
  528. package/test-env/components/tour/tour_step_indicator.js +8 -3
  529. package/test-env/global_styling/mixins/_button.js +29 -10
  530. package/test-env/global_styling/mixins/_container_query.js +112 -0
  531. package/test-env/global_styling/mixins/index.js +11 -0
  532. package/test-env/services/container_query/container_query_hook.js +65 -0
  533. package/test-env/services/container_query/index.js +16 -0
  534. package/test-env/services/container_query/match_container.js +231 -0
  535. package/es/components/flyout/flyout_child.js +0 -223
  536. package/es/components/flyout/flyout_child.styles.js +0 -32
  537. package/es/components/flyout/flyout_child_manager.js +0 -114
  538. package/es/components/flyout/sessions/flyout_provider.js +0 -95
  539. package/es/components/flyout/sessions/flyout_reducer.js +0 -195
  540. package/es/components/flyout/sessions/use_eui_flyout.js +0 -82
  541. package/lib/components/flyout/flyout_child.js +0 -231
  542. package/lib/components/flyout/flyout_child.styles.js +0 -38
  543. package/lib/components/flyout/flyout_child_manager.js +0 -122
  544. package/lib/components/flyout/sessions/flyout_provider.js +0 -102
  545. package/lib/components/flyout/sessions/flyout_reducer.js +0 -202
  546. package/lib/components/flyout/sessions/index.js +0 -25
  547. package/lib/components/flyout/sessions/use_eui_flyout.js +0 -88
  548. package/optimize/es/components/flyout/flyout_child.js +0 -178
  549. package/optimize/es/components/flyout/flyout_child.styles.js +0 -32
  550. package/optimize/es/components/flyout/flyout_child_manager.js +0 -100
  551. package/optimize/es/components/flyout/sessions/flyout_provider.js +0 -90
  552. package/optimize/es/components/flyout/sessions/flyout_reducer.js +0 -187
  553. package/optimize/es/components/flyout/sessions/use_eui_flyout.js +0 -82
  554. package/optimize/lib/components/flyout/flyout_child.js +0 -186
  555. package/optimize/lib/components/flyout/flyout_child.styles.js +0 -38
  556. package/optimize/lib/components/flyout/flyout_child_manager.js +0 -110
  557. package/optimize/lib/components/flyout/sessions/flyout_provider.js +0 -100
  558. package/optimize/lib/components/flyout/sessions/flyout_reducer.js +0 -195
  559. package/optimize/lib/components/flyout/sessions/index.js +0 -25
  560. package/optimize/lib/components/flyout/sessions/use_eui_flyout.js +0 -88
  561. package/test-env/components/flyout/flyout_child.js +0 -230
  562. package/test-env/components/flyout/flyout_child.styles.js +0 -38
  563. package/test-env/components/flyout/flyout_child_manager.js +0 -119
  564. package/test-env/components/flyout/sessions/flyout_provider.js +0 -100
  565. package/test-env/components/flyout/sessions/flyout_reducer.js +0 -195
  566. package/test-env/components/flyout/sessions/index.js +0 -25
  567. package/test-env/components/flyout/sessions/use_eui_flyout.js +0 -88
  568. /package/es/components/flyout/{sessions → manager}/types.js +0 -0
  569. /package/{optimize/es/components/flyout/sessions → es/components/flyout}/types.js +0 -0
  570. /package/lib/components/flyout/{sessions → manager}/types.js +0 -0
  571. /package/{optimize/lib/components/flyout/sessions → lib/components/flyout}/types.js +0 -0
  572. /package/{test-env/components/flyout/sessions → optimize/lib/components/flyout/manager}/types.js +0 -0
@@ -0,0 +1,320 @@
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
+ function _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); }
3
+ 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."); }
4
+ 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; } }
5
+ function _iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); }
6
+ function _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); }
7
+ function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
8
+ 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; }
9
+ 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; }
10
+ 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; }
11
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
12
+ 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); }
13
+ /*
14
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
15
+ * or more contributor license agreements. Licensed under the Elastic License
16
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
17
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
18
+ * Side Public License, v 1.
19
+ */
20
+
21
+ 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';
22
+ import { LAYOUT_MODE_SIDE_BY_SIDE, LEVEL_MAIN, STAGE_OPENING } from './const';
23
+ /**
24
+ * Default flyout manager state used to initialize the reducer.
25
+ */
26
+ export var initialState = {
27
+ sessions: [],
28
+ flyouts: [],
29
+ layoutMode: LAYOUT_MODE_SIDE_BY_SIDE,
30
+ pushPadding: {
31
+ left: 0,
32
+ right: 0
33
+ },
34
+ currentZIndex: 0,
35
+ unmanagedFlyouts: []
36
+ };
37
+
38
+ /**
39
+ * Reducer handling all flyout manager actions and state transitions.
40
+ */
41
+ export function flyoutManagerReducer() {
42
+ var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : initialState;
43
+ var action = arguments.length > 1 ? arguments[1] : undefined;
44
+ switch (action.type) {
45
+ case ACTION_ADD_UNMANAGED_FLYOUT:
46
+ {
47
+ if (state.unmanagedFlyouts.includes(action.flyoutId)) {
48
+ return state;
49
+ }
50
+ return _objectSpread(_objectSpread({}, state), {}, {
51
+ // Increment by 2 for each new unmanaged flyout.
52
+ // Unmanaged flyouts render on z-index of `n`, and their overlay mask
53
+ // on `n - 1`.
54
+ currentZIndex: state.currentZIndex + 2,
55
+ unmanagedFlyouts: [].concat(_toConsumableArray(state.unmanagedFlyouts), [action.flyoutId])
56
+ });
57
+ }
58
+ case ACTION_CLOSE_UNMANAGED_FLYOUT:
59
+ {
60
+ var newUnmanagedFlyouts = state.unmanagedFlyouts.filter(function (flyoutId) {
61
+ return flyoutId !== action.flyoutId;
62
+ });
63
+ var newCurrentZIndex = state.currentZIndex;
64
+ if (state.sessions.length === 0 && newUnmanagedFlyouts.length === 0) {
65
+ newCurrentZIndex = 0;
66
+ }
67
+ return _objectSpread(_objectSpread({}, state), {}, {
68
+ unmanagedFlyouts: newUnmanagedFlyouts,
69
+ currentZIndex: newCurrentZIndex
70
+ });
71
+ }
72
+
73
+ // Register a flyout.
74
+ // - Ignore duplicates by `flyoutId`.
75
+ // - For a `main` flyout, start a new session { main, child: null }.
76
+ // - For a `child` flyout, attach it to the most recent session; if no
77
+ // session exists, do nothing (invalid child without a parent).
78
+ case ACTION_ADD:
79
+ {
80
+ var flyoutId = action.flyoutId,
81
+ title = action.title,
82
+ level = action.level,
83
+ size = action.size;
84
+
85
+ // Ignore duplicate registrations
86
+ if (state.flyouts.some(function (f) {
87
+ return f.flyoutId === flyoutId;
88
+ })) {
89
+ return state;
90
+ }
91
+ var newFlyoutState = {
92
+ level: level,
93
+ flyoutId: flyoutId,
94
+ size: size,
95
+ activityStage: STAGE_OPENING
96
+ };
97
+ var newFlyouts = [].concat(_toConsumableArray(state.flyouts), [newFlyoutState]);
98
+ if (level === LEVEL_MAIN) {
99
+ var newSession = {
100
+ mainFlyoutId: flyoutId,
101
+ title: title,
102
+ childFlyoutId: null,
103
+ zIndex: state.currentZIndex
104
+ };
105
+ return _objectSpread(_objectSpread({}, state), {}, {
106
+ sessions: [].concat(_toConsumableArray(state.sessions), [newSession]),
107
+ flyouts: newFlyouts,
108
+ // Increment by 3 for each new flyout session.
109
+ // Managed flyouts render main flyouts on z-index of `n`,
110
+ // child flyouts on `n - 1` and the overlay mask on `n - 2`.
111
+ currentZIndex: state.currentZIndex + 3
112
+ });
113
+ }
114
+ if (state.sessions.length === 0) {
115
+ return state;
116
+ }
117
+ var updatedSessions = _toConsumableArray(state.sessions);
118
+ var currentSessionIndex = updatedSessions.length - 1;
119
+ updatedSessions[currentSessionIndex] = _objectSpread(_objectSpread({}, updatedSessions[currentSessionIndex]), {}, {
120
+ childFlyoutId: flyoutId
121
+ });
122
+ return _objectSpread(_objectSpread({}, state), {}, {
123
+ sessions: updatedSessions,
124
+ flyouts: newFlyouts
125
+ });
126
+ }
127
+
128
+ // Unregister a flyout and update sessions accordingly.
129
+ // - When closing a `main` flyout, drop its entire session and all associated flyouts.
130
+ // - When closing a `child` flyout, clear the child pointer on the most
131
+ // recent session if it matches.
132
+ case ACTION_CLOSE:
133
+ {
134
+ var removedFlyout = state.flyouts.find(function (f) {
135
+ return f.flyoutId === action.flyoutId;
136
+ });
137
+ if (!removedFlyout) {
138
+ return state;
139
+ }
140
+ if (removedFlyout.level === LEVEL_MAIN) {
141
+ // Find the session that contains this main flyout
142
+ var sessionToRemove = state.sessions.find(function (session) {
143
+ return session.mainFlyoutId === action.flyoutId;
144
+ });
145
+ if (sessionToRemove) {
146
+ // Remove all flyouts associated with this session (main + child)
147
+ var flyoutsToRemove = new Set([action.flyoutId]);
148
+ if (sessionToRemove.childFlyoutId) {
149
+ flyoutsToRemove.add(sessionToRemove.childFlyoutId);
150
+ }
151
+ var _newFlyouts = state.flyouts.filter(function (f) {
152
+ return !flyoutsToRemove.has(f.flyoutId);
153
+ });
154
+ var newSessions = state.sessions.filter(function (session) {
155
+ return session.mainFlyoutId !== action.flyoutId;
156
+ });
157
+ var _newCurrentZIndex = state.currentZIndex;
158
+ if (newSessions.length === 0 && state.unmanagedFlyouts.length === 0) {
159
+ // Reset to initial value if no flyouts remain open to avoid
160
+ // the value going too high during the lifecycle of the app
161
+ _newCurrentZIndex = 0;
162
+ }
163
+ return _objectSpread(_objectSpread({}, state), {}, {
164
+ sessions: newSessions,
165
+ flyouts: _newFlyouts,
166
+ currentZIndex: _newCurrentZIndex
167
+ });
168
+ }
169
+ }
170
+
171
+ // Handle child flyout closing (existing logic)
172
+ var _newFlyouts2 = state.flyouts.filter(function (f) {
173
+ return f.flyoutId !== action.flyoutId;
174
+ });
175
+ if (state.sessions.length === 0) {
176
+ return _objectSpread(_objectSpread({}, state), {}, {
177
+ flyouts: _newFlyouts2
178
+ });
179
+ }
180
+ var _updatedSessions = _toConsumableArray(state.sessions);
181
+ var _currentSessionIndex = _updatedSessions.length - 1;
182
+ if (_updatedSessions[_currentSessionIndex].childFlyoutId === action.flyoutId) {
183
+ _updatedSessions[_currentSessionIndex] = _objectSpread(_objectSpread({}, _updatedSessions[_currentSessionIndex]), {}, {
184
+ childFlyoutId: null
185
+ });
186
+ }
187
+ return _objectSpread(_objectSpread({}, state), {}, {
188
+ sessions: _updatedSessions,
189
+ flyouts: _newFlyouts2
190
+ });
191
+ }
192
+
193
+ // Mark the provided flyout ID as the active child for the latest session.
194
+ case ACTION_SET_ACTIVE:
195
+ {
196
+ // No-op when no session exists.
197
+ if (state.sessions.length === 0) {
198
+ return state;
199
+ }
200
+ var _updatedSessions2 = _toConsumableArray(state.sessions);
201
+ var _currentSessionIndex2 = _updatedSessions2.length - 1;
202
+ _updatedSessions2[_currentSessionIndex2] = _objectSpread(_objectSpread({}, _updatedSessions2[_currentSessionIndex2]), {}, {
203
+ childFlyoutId: action.flyoutId
204
+ });
205
+ return _objectSpread(_objectSpread({}, state), {}, {
206
+ sessions: _updatedSessions2
207
+ });
208
+ }
209
+
210
+ // Persist a flyout's measured width (px). Used for responsive layout
211
+ // calculations, e.g., deciding stacked vs side-by-side.
212
+ case ACTION_SET_WIDTH:
213
+ {
214
+ var _flyoutId = action.flyoutId,
215
+ width = action.width;
216
+ var updatedFlyouts = state.flyouts.map(function (flyout) {
217
+ return flyout.flyoutId === _flyoutId ? _objectSpread(_objectSpread({}, flyout), {}, {
218
+ width: width
219
+ }) : flyout;
220
+ });
221
+ return _objectSpread(_objectSpread({}, state), {}, {
222
+ flyouts: updatedFlyouts
223
+ });
224
+ }
225
+
226
+ // Switch global layout mode for managed flyouts.
227
+ case ACTION_SET_LAYOUT_MODE:
228
+ {
229
+ return _objectSpread(_objectSpread({}, state), {}, {
230
+ layoutMode: action.layoutMode
231
+ });
232
+ }
233
+
234
+ // Update a flyout's activity stage in state
235
+ case ACTION_SET_ACTIVITY_STAGE:
236
+ {
237
+ var _flyoutId2 = action.flyoutId;
238
+ var _updatedFlyouts = state.flyouts.map(function (flyout) {
239
+ return flyout.flyoutId === _flyoutId2 ? _objectSpread(_objectSpread({}, flyout), {}, {
240
+ activityStage: action.activityStage
241
+ }) : flyout;
242
+ });
243
+ return _objectSpread(_objectSpread({}, state), {}, {
244
+ flyouts: _updatedFlyouts
245
+ });
246
+ }
247
+
248
+ // Go back one session (remove current session from stack)
249
+ case ACTION_GO_BACK:
250
+ {
251
+ if (state.sessions.length === 0) {
252
+ return state;
253
+ }
254
+ var _currentSessionIndex3 = state.sessions.length - 1;
255
+ var currentSession = state.sessions[_currentSessionIndex3];
256
+
257
+ // Close all flyouts in the current session
258
+ var _flyoutsToRemove = new Set([currentSession.mainFlyoutId]);
259
+ if (currentSession.childFlyoutId) {
260
+ _flyoutsToRemove.add(currentSession.childFlyoutId);
261
+ }
262
+ var _newFlyouts3 = state.flyouts.filter(function (f) {
263
+ return !_flyoutsToRemove.has(f.flyoutId);
264
+ });
265
+ var _newSessions = state.sessions.slice(0, _currentSessionIndex3);
266
+ return _objectSpread(_objectSpread({}, state), {}, {
267
+ sessions: _newSessions,
268
+ flyouts: _newFlyouts3
269
+ });
270
+ }
271
+
272
+ // Navigate to a specific flyout (remove all sessions after it)
273
+ case ACTION_GO_TO_FLYOUT:
274
+ {
275
+ var _flyoutId3 = action.flyoutId;
276
+
277
+ // Find the session containing the target flyout
278
+ var targetSessionIndex = state.sessions.findIndex(function (session) {
279
+ return session.mainFlyoutId === _flyoutId3;
280
+ });
281
+ if (targetSessionIndex === -1) {
282
+ return state; // Target flyout not found
283
+ }
284
+
285
+ // Close all sessions after the target session
286
+ var sessionsToClose = state.sessions.slice(targetSessionIndex + 1);
287
+ var _flyoutsToRemove2 = new Set();
288
+ sessionsToClose.forEach(function (session) {
289
+ _flyoutsToRemove2.add(session.mainFlyoutId);
290
+ if (session.childFlyoutId) {
291
+ _flyoutsToRemove2.add(session.childFlyoutId);
292
+ }
293
+ });
294
+ var _newFlyouts4 = state.flyouts.filter(function (f) {
295
+ return !_flyoutsToRemove2.has(f.flyoutId);
296
+ });
297
+ var _newSessions2 = state.sessions.slice(0, targetSessionIndex + 1);
298
+ return _objectSpread(_objectSpread({}, state), {}, {
299
+ sessions: _newSessions2,
300
+ flyouts: _newFlyouts4
301
+ });
302
+ }
303
+
304
+ // Set push padding offset for a specific side
305
+ case ACTION_SET_PUSH_PADDING:
306
+ {
307
+ var _state$pushPadding;
308
+ var side = action.side,
309
+ _width = action.width;
310
+ return _objectSpread(_objectSpread({}, state), {}, {
311
+ pushPadding: _objectSpread(_objectSpread({}, (_state$pushPadding = state.pushPadding) !== null && _state$pushPadding !== void 0 ? _state$pushPadding : {
312
+ left: 0,
313
+ right: 0
314
+ }), {}, _defineProperty({}, side, _width))
315
+ });
316
+ }
317
+ default:
318
+ return state;
319
+ }
320
+ }
@@ -0,0 +1,116 @@
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 { useFlyoutManager } from './provider';
10
+ import { useRef } from 'react';
11
+ export var useSession = function useSession(flyoutId) {
12
+ var context = useFlyoutManager();
13
+ if (!context) {
14
+ return null;
15
+ }
16
+ return context.state.sessions.find(function (s) {
17
+ return s.mainFlyoutId === flyoutId || s.childFlyoutId === flyoutId;
18
+ }) || null;
19
+ };
20
+
21
+ /** True when any managed flyout session is currently active. */
22
+ export var useHasActiveSession = function useHasActiveSession() {
23
+ return !!useCurrentSession();
24
+ };
25
+
26
+ /** True if the given `flyoutId` is the main or child flyout in the latest session. */
27
+ export var useIsFlyoutActive = function useIsFlyoutActive(flyoutId) {
28
+ var currentSession = useCurrentSession();
29
+ return (currentSession === null || currentSession === void 0 ? void 0 : currentSession.mainFlyoutId) === flyoutId || (currentSession === null || currentSession === void 0 ? void 0 : currentSession.childFlyoutId) === flyoutId;
30
+ };
31
+ export var useFlyout = function useFlyout(flyoutId) {
32
+ var context = useFlyoutManager();
33
+ if (!context || !flyoutId) {
34
+ return null;
35
+ }
36
+ return context.state.flyouts.find(function (f) {
37
+ return f.flyoutId === flyoutId;
38
+ }) || null;
39
+ };
40
+ export var useIsFlyoutRegistered = function useIsFlyoutRegistered(flyoutId) {
41
+ var context = useFlyoutManager();
42
+ if (!context || !flyoutId) {
43
+ return false;
44
+ }
45
+ return context.state.flyouts.some(function (f) {
46
+ return f.flyoutId === flyoutId;
47
+ });
48
+ };
49
+
50
+ /** The most recent flyout session or `null` if none. */
51
+ export var useCurrentSession = function useCurrentSession() {
52
+ var context = useFlyoutManager();
53
+ if (!context) return null;
54
+ return context.state.sessions[context.state.sessions.length - 1] || null;
55
+ };
56
+
57
+ /** The registered state of the current session's main flyout, if present. */
58
+ export var useCurrentMainFlyout = function useCurrentMainFlyout() {
59
+ var currentSession = useCurrentSession();
60
+ var mainFlyoutId = currentSession === null || currentSession === void 0 ? void 0 : currentSession.mainFlyoutId;
61
+ return useFlyout(mainFlyoutId);
62
+ };
63
+
64
+ /** The registered state of the current session's child flyout, if present. */
65
+ export var useCurrentChildFlyout = function useCurrentChildFlyout() {
66
+ var currentSession = useCurrentSession();
67
+ var childFlyoutId = currentSession === null || currentSession === void 0 ? void 0 : currentSession.childFlyoutId;
68
+ return useFlyout(childFlyoutId);
69
+ };
70
+
71
+ /** The measured width (px) of the specified flyout, or `null` if unknown. */
72
+ export var useFlyoutWidth = function useFlyoutWidth(flyoutId) {
73
+ var _useFlyout;
74
+ return (_useFlyout = useFlyout(flyoutId)) === null || _useFlyout === void 0 ? void 0 : _useFlyout.width;
75
+ };
76
+
77
+ /** The configured size of the parent (main) flyout for a given child flyout ID. */
78
+ export var useParentFlyoutSize = function useParentFlyoutSize(childFlyoutId) {
79
+ var session = useSession(childFlyoutId);
80
+ var parentFlyout = useFlyout(session === null || session === void 0 ? void 0 : session.mainFlyoutId);
81
+ return parentFlyout === null || parentFlyout === void 0 ? void 0 : parentFlyout.size;
82
+ };
83
+
84
+ /** True if the provided `flyoutId` is the main flyout and it currently has a child. */
85
+ export var useHasChildFlyout = function useHasChildFlyout(flyoutId) {
86
+ var session = useSession(flyoutId);
87
+ return !!(session !== null && session !== void 0 && session.childFlyoutId);
88
+ };
89
+
90
+ /** Get the current push padding offsets from manager state. */
91
+ export var usePushPaddingOffsets = function usePushPaddingOffsets() {
92
+ var _context$state$pushPa;
93
+ var context = useFlyoutManager();
94
+ if (!context) {
95
+ return {
96
+ left: 0,
97
+ right: 0
98
+ };
99
+ }
100
+ return (_context$state$pushPa = context.state.pushPadding) !== null && _context$state$pushPa !== void 0 ? _context$state$pushPa : {
101
+ left: 0,
102
+ right: 0
103
+ };
104
+ };
105
+
106
+ /** True if there's any active push padding (left or right side). */
107
+ export var useHasPushPadding = function useHasPushPadding() {
108
+ var pushPadding = usePushPaddingOffsets();
109
+ return pushPadding.left > 0 || pushPadding.right > 0;
110
+ };
111
+
112
+ /** Get the ref for the current flyout z-index to be used */
113
+ export var useCurrentFlyoutZIndexRef = function useCurrentFlyoutZIndexRef() {
114
+ var context = useFlyoutManager();
115
+ return useRef((context === null || context === void 0 ? void 0 : context.state.currentZIndex) || 0);
116
+ };
@@ -0,0 +1,113 @@
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 { 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';
10
+ import { flyoutManagerReducer, initialState } from './reducer';
11
+ function createStore() {
12
+ var initial = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : initialState;
13
+ var currentState = initial;
14
+ var listeners = new Set();
15
+ var getState = function getState() {
16
+ return currentState;
17
+ };
18
+ var subscribe = function subscribe(listener) {
19
+ listeners.add(listener);
20
+ return function () {
21
+ listeners.delete(listener);
22
+ };
23
+ };
24
+
25
+ // The onClick handlers won't execute until after store is fully assigned.
26
+ // eslint-disable-next-line prefer-const -- Forward declaration requires 'let' not 'const'
27
+ var store;
28
+ var computeHistoryItems = function computeHistoryItems() {
29
+ var currentSessionIndex = currentState.sessions.length - 1;
30
+ var previousSessions = currentState.sessions.slice(0, currentSessionIndex);
31
+ return previousSessions.reverse().map(function (_ref) {
32
+ var title = _ref.title,
33
+ mainFlyoutId = _ref.mainFlyoutId;
34
+ return {
35
+ title: title,
36
+ onClick: function onClick() {
37
+ store.dispatch(goToFlyoutAction(mainFlyoutId));
38
+ }
39
+ };
40
+ });
41
+ };
42
+ var dispatch = function dispatch(action) {
43
+ var nextState = flyoutManagerReducer(currentState, action);
44
+ if (nextState !== currentState) {
45
+ var previousSessions = currentState.sessions;
46
+ currentState = nextState;
47
+
48
+ // Recompute history items eagerly if sessions changed
49
+ // This ensures stable references and avoids stale closures
50
+ if (nextState.sessions !== previousSessions) {
51
+ store.historyItems = computeHistoryItems();
52
+ }
53
+ listeners.forEach(function (l) {
54
+ l();
55
+ });
56
+ }
57
+ };
58
+ store = {
59
+ getState: getState,
60
+ subscribe: subscribe,
61
+ dispatch: dispatch,
62
+ addFlyout: function addFlyout(flyoutId, title, level, size) {
63
+ return dispatch(addFlyoutAction(flyoutId, title, level, size));
64
+ },
65
+ closeFlyout: function closeFlyout(flyoutId) {
66
+ return dispatch(closeFlyoutAction(flyoutId));
67
+ },
68
+ setActiveFlyout: function setActiveFlyout(flyoutId) {
69
+ return dispatch(setActiveFlyoutAction(flyoutId));
70
+ },
71
+ setFlyoutWidth: function setFlyoutWidth(flyoutId, width) {
72
+ return dispatch(setFlyoutWidthAction(flyoutId, width));
73
+ },
74
+ setPushPadding: function setPushPadding(side, width) {
75
+ return dispatch(setPushPaddingAction(side, width));
76
+ },
77
+ goBack: function goBack() {
78
+ return dispatch(goBackAction());
79
+ },
80
+ goToFlyout: function goToFlyout(flyoutId) {
81
+ return dispatch(goToFlyoutAction(flyoutId));
82
+ },
83
+ addUnmanagedFlyout: function addUnmanagedFlyout(flyoutId) {
84
+ return dispatch(addUnmanagedFlyoutAction(flyoutId));
85
+ },
86
+ closeUnmanagedFlyout: function closeUnmanagedFlyout(flyoutId) {
87
+ return dispatch(closeUnmanagedFlyoutAction(flyoutId));
88
+ },
89
+ historyItems: computeHistoryItems() // Initialize with current state
90
+ };
91
+ return store;
92
+ }
93
+
94
+ // Module-level singleton. A necessary trade-off to avoid global namespace pollution or the need for a third-party library.
95
+ var storeInstance = null;
96
+
97
+ /**
98
+ * Returns a singleton store instance shared across all React roots within the same JS context.
99
+ * Uses module-level singleton to ensure deduplication even if modules are loaded twice.
100
+ */
101
+ export function getFlyoutManagerStore() {
102
+ if (!storeInstance) {
103
+ storeInstance = createStore();
104
+ }
105
+ return storeInstance;
106
+ }
107
+
108
+ /**
109
+ * For testing purposes - allows resetting the store
110
+ */
111
+ export function _resetFlyoutManagerStore() {
112
+ storeInstance = null;
113
+ }
@@ -0,0 +1,85 @@
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 { FLYOUT_SIZES } from '../const';
10
+ import { LEVEL_CHILD } from './const';
11
+ /**
12
+ * Checks if a size is a named size (s, m, l)
13
+ */
14
+ export function isNamedSize(size) {
15
+ return FLYOUT_SIZES.includes(size);
16
+ }
17
+
18
+ /**
19
+ * Validates that a managed flyout only uses named sizes
20
+ */
21
+ export function validateManagedFlyoutSize(size, flyoutId, level) {
22
+ if (level === LEVEL_CHILD && !isNamedSize(size)) {
23
+ var namedSizes = FLYOUT_SIZES.join(', ');
24
+ return {
25
+ type: 'INVALID_SIZE_TYPE',
26
+ message: "Child flyout ".concat(flyoutId, " must use a named size (").concat(namedSizes, "). Received: ").concat(size),
27
+ flyoutId: flyoutId,
28
+ level: level,
29
+ size: size
30
+ };
31
+ }
32
+ return null;
33
+ }
34
+
35
+ /**
36
+ * Validates size combinations for parent-child flyouts
37
+ */
38
+ export function validateSizeCombination(parentSize, childSize) {
39
+ var sizes = [parentSize, childSize];
40
+
41
+ // Parent and child can't both be 'm'
42
+ if (sizes.every(function (s) {
43
+ return s === 'm';
44
+ })) {
45
+ return {
46
+ type: 'INVALID_SIZE_COMBINATION',
47
+ message: 'Parent and child flyouts cannot both be size "m"'
48
+ };
49
+ }
50
+
51
+ // Parent and child can't both be 'fill'
52
+ if (sizes.every(function (s) {
53
+ return s === 'fill';
54
+ })) {
55
+ return {
56
+ type: 'INVALID_SIZE_COMBINATION',
57
+ message: 'Parent and child flyouts cannot both be size "fill"'
58
+ };
59
+ }
60
+
61
+ // Flyout can't be 'l' if the other in the pair is not "fill"
62
+ if (sizes.includes('l') && !sizes.includes('fill')) {
63
+ return {
64
+ type: 'INVALID_SIZE_COMBINATION',
65
+ message: 'Flyouts cannot be size "l" unless the other flyout is "fill"'
66
+ };
67
+ }
68
+ return null;
69
+ }
70
+
71
+ /**
72
+ * Creates a user-friendly error message for validation errors
73
+ */
74
+ export function createValidationErrorMessage(error) {
75
+ console.error(error);
76
+ var prefix = "EuiFlyout validation error";
77
+ switch (error.type) {
78
+ case 'INVALID_SIZE_TYPE':
79
+ case 'INVALID_SIZE_COMBINATION':
80
+ case 'INVALID_FLYOUT_MENU_TITLE':
81
+ return "".concat(prefix, ": ").concat(error.message);
82
+ default:
83
+ return "".concat(prefix, ": Unknown validation error");
84
+ }
85
+ }