@elastic/eui 104.1.0 → 105.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 (320) 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 +4 -4
  5. package/es/components/basic_table/in_memory_table.js +4 -4
  6. package/es/components/button/button.js +1 -1
  7. package/es/components/button/button_display/_button_display.js +1 -1
  8. package/es/components/button/button_display/_button_display_content.js +1 -1
  9. package/es/components/button/button_empty/button_empty.js +1 -1
  10. package/es/components/button/button_group/button_group.js +1 -1
  11. package/es/components/button/button_group/button_group_button.js +1 -1
  12. package/es/components/button/button_icon/button_icon.js +1 -1
  13. package/es/components/call_out/call_out.js +1 -1
  14. package/es/components/card/card.js +2 -2
  15. package/es/components/card/card_select/card_select.js +1 -1
  16. package/es/components/collapsible_nav/collapsible_nav_group/collapsible_nav_group.js +1 -1
  17. package/es/components/collapsible_nav_beta/_kibana_solution/collapsible_nav_kibana_solution.js +1 -1
  18. package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_button.js +1 -1
  19. package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_item.js +2 -2
  20. package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_popover.js +2 -2
  21. package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_item.js +4 -4
  22. package/es/components/combo_box/combo_box.a11y.js +53 -2
  23. package/es/components/combo_box/combo_box.js +26 -8
  24. package/es/components/combo_box/combo_box_options_list/combo_box_options_list.js +9 -3
  25. package/es/components/comment_list/comment.js +2 -2
  26. package/es/components/comment_list/comment_event.js +1 -1
  27. package/es/components/comment_list/comment_list.js +2 -2
  28. package/es/components/comment_list/comment_timeline.js +1 -1
  29. package/es/components/context_menu/context_menu_item.js +1 -1
  30. package/es/components/datagrid/body/cell/data_grid_cell.js +12 -12
  31. package/es/components/datagrid/body/cell/data_grid_cell.styles.js +9 -4
  32. package/es/components/datagrid/body/data_grid_body.js +7 -7
  33. package/es/components/datagrid/body/data_grid_body_custom.js +7 -7
  34. package/es/components/datagrid/body/data_grid_body_virtualized.js +7 -7
  35. package/es/components/datagrid/body/header/data_grid_header_cell.js +6 -6
  36. package/es/components/datagrid/controls/column_sorting.js +7 -7
  37. package/es/components/datagrid/controls/column_sorting_draggable.js +1 -1
  38. package/es/components/datagrid/controls/data_grid_toolbar_control.js +1 -1
  39. package/es/components/datagrid/data_grid.styles.js +4 -1
  40. package/es/components/datagrid/utils/in_memory.js +6 -6
  41. package/es/components/date_picker/date_picker.js +2 -2
  42. package/es/components/date_picker/date_picker_range.js +1 -1
  43. package/es/components/empty_prompt/empty_prompt.js +1 -1
  44. package/es/components/facet/facet_button.js +1 -1
  45. package/es/components/filter_group/filter_select_item.js +21 -17
  46. package/es/components/flyout/flyout.js +88 -21
  47. package/es/components/flyout/flyout.styles.js +9 -5
  48. package/es/components/flyout/flyout_child.js +209 -0
  49. package/es/components/flyout/flyout_child.styles.js +31 -0
  50. package/es/components/flyout/flyout_child_manager.js +112 -0
  51. package/es/components/flyout/flyout_context.js +16 -0
  52. package/es/components/flyout/index.js +3 -1
  53. package/es/components/flyout/sessions/flyout_provider.js +109 -0
  54. package/es/components/flyout/sessions/flyout_reducer.js +217 -0
  55. package/es/components/flyout/sessions/index.js +10 -0
  56. package/es/components/flyout/sessions/types.js +1 -0
  57. package/es/components/flyout/sessions/use_eui_flyout.js +94 -0
  58. package/es/components/form/field_number/field_number.js +2 -2
  59. package/es/components/form/field_text/field_text.js +2 -2
  60. package/es/components/form/form_control_layout/form_control_layout.js +2 -2
  61. package/es/components/form/form_control_layout/form_control_layout_custom_icon.js +1 -1
  62. package/es/components/form/form_control_layout/form_control_layout_icons.js +2 -2
  63. package/es/components/form/text_area/text_area.js +2 -2
  64. package/es/components/header/header_links/header_link.js +1 -1
  65. package/es/components/header/header_links/header_links.js +1 -1
  66. package/es/components/header/header_logo/header_logo.js +1 -1
  67. package/es/components/header/header_section/header_section_item_button.js +1 -1
  68. package/es/components/icon/icon.js +1 -1
  69. package/es/components/icon/icon_map.js +1 -4
  70. package/es/components/key_pad_menu/key_pad_menu_item.js +1 -1
  71. package/es/components/list_group/list_group.js +2 -2
  72. package/es/components/list_group/list_group_item.js +2 -2
  73. package/es/components/list_group/list_group_item_extra_action.js +1 -1
  74. package/es/components/list_group/pinnable_list_group/pinnable_list_group.js +4 -4
  75. package/es/components/loading/loading_logo.js +1 -1
  76. package/es/components/markdown_editor/markdown_editor.js +1 -1
  77. package/es/components/markdown_editor/markdown_editor_drop_zone.js +1 -1
  78. package/es/components/markdown_editor/markdown_editor_footer.js +1 -1
  79. package/es/components/markdown_editor/markdown_editor_toolbar.js +1 -1
  80. package/es/components/page/page_header/page_header_content.js +1 -1
  81. package/es/components/pagination/pagination_button.js +1 -1
  82. package/es/components/progress/progress.js +51 -11
  83. package/es/components/selectable/selectable_list/selectable_list.js +1 -1
  84. package/es/components/selectable/selectable_list/selectable_list_item.js +1 -1
  85. package/es/components/selectable/selectable_templates/selectable_template_sitewide.js +1 -1
  86. package/es/components/table/table_header_cell.js +1 -1
  87. package/es/components/table/table_row.styles.js +11 -6
  88. package/es/components/timeline/timeline_item_icon.js +1 -1
  89. package/es/components/toast/global_toast_list.js +1 -1
  90. package/es/components/toast/toast.js +1 -1
  91. package/es/components/tool_tip/icon_tip.js +1 -1
  92. package/es/themes/amsterdam/global_styling/variables/_components.js +305 -270
  93. package/eui.d.ts +400 -77
  94. package/lib/components/avatar/avatar.js +1 -1
  95. package/lib/components/badge/badge.js +1 -1
  96. package/lib/components/badge/beta_badge/beta_badge.js +1 -1
  97. package/lib/components/basic_table/basic_table.js +4 -4
  98. package/lib/components/basic_table/in_memory_table.js +4 -4
  99. package/lib/components/button/button.js +1 -1
  100. package/lib/components/button/button_display/_button_display.js +1 -1
  101. package/lib/components/button/button_display/_button_display_content.js +1 -1
  102. package/lib/components/button/button_empty/button_empty.js +1 -1
  103. package/lib/components/button/button_group/button_group.js +1 -1
  104. package/lib/components/button/button_group/button_group_button.js +1 -1
  105. package/lib/components/button/button_icon/button_icon.js +1 -1
  106. package/lib/components/call_out/call_out.js +1 -1
  107. package/lib/components/card/card.js +2 -2
  108. package/lib/components/card/card_select/card_select.js +1 -1
  109. package/lib/components/collapsible_nav/collapsible_nav_group/collapsible_nav_group.js +1 -1
  110. package/lib/components/collapsible_nav_beta/_kibana_solution/collapsible_nav_kibana_solution.js +1 -1
  111. package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_button.js +1 -1
  112. package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_item.js +2 -2
  113. package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_popover.js +2 -2
  114. package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_item.js +4 -4
  115. package/lib/components/combo_box/combo_box.a11y.js +53 -2
  116. package/lib/components/combo_box/combo_box.js +26 -8
  117. package/lib/components/combo_box/combo_box_options_list/combo_box_options_list.js +9 -3
  118. package/lib/components/comment_list/comment.js +2 -2
  119. package/lib/components/comment_list/comment_event.js +1 -1
  120. package/lib/components/comment_list/comment_list.js +2 -2
  121. package/lib/components/comment_list/comment_timeline.js +1 -1
  122. package/lib/components/context_menu/context_menu_item.js +1 -1
  123. package/lib/components/datagrid/body/cell/data_grid_cell.js +12 -12
  124. package/lib/components/datagrid/body/cell/data_grid_cell.styles.js +9 -4
  125. package/lib/components/datagrid/body/data_grid_body.js +7 -7
  126. package/lib/components/datagrid/body/data_grid_body_custom.js +7 -7
  127. package/lib/components/datagrid/body/data_grid_body_virtualized.js +7 -7
  128. package/lib/components/datagrid/body/header/data_grid_header_cell.js +6 -6
  129. package/lib/components/datagrid/controls/column_sorting.js +7 -7
  130. package/lib/components/datagrid/controls/column_sorting_draggable.js +1 -1
  131. package/lib/components/datagrid/controls/data_grid_toolbar_control.js +1 -1
  132. package/lib/components/datagrid/data_grid.styles.js +4 -1
  133. package/lib/components/datagrid/utils/in_memory.js +6 -6
  134. package/lib/components/date_picker/date_picker.js +2 -2
  135. package/lib/components/date_picker/date_picker_range.js +1 -1
  136. package/lib/components/empty_prompt/empty_prompt.js +1 -1
  137. package/lib/components/facet/facet_button.js +1 -1
  138. package/lib/components/filter_group/filter_select_item.js +21 -17
  139. package/lib/components/flyout/flyout.js +88 -21
  140. package/lib/components/flyout/flyout.styles.js +10 -6
  141. package/lib/components/flyout/flyout_child.js +217 -0
  142. package/lib/components/flyout/flyout_child.styles.js +37 -0
  143. package/lib/components/flyout/flyout_child_manager.js +120 -0
  144. package/lib/components/flyout/flyout_context.js +21 -0
  145. package/lib/components/flyout/index.js +21 -1
  146. package/lib/components/flyout/sessions/flyout_provider.js +116 -0
  147. package/lib/components/flyout/sessions/flyout_reducer.js +224 -0
  148. package/lib/components/flyout/sessions/index.js +25 -0
  149. package/lib/components/flyout/sessions/types.js +5 -0
  150. package/lib/components/flyout/sessions/use_eui_flyout.js +99 -0
  151. package/lib/components/form/field_number/field_number.js +2 -2
  152. package/lib/components/form/field_text/field_text.js +2 -2
  153. package/lib/components/form/form_control_layout/form_control_layout.js +2 -2
  154. package/lib/components/form/form_control_layout/form_control_layout_custom_icon.js +1 -1
  155. package/lib/components/form/form_control_layout/form_control_layout_icons.js +2 -2
  156. package/lib/components/form/text_area/text_area.js +2 -2
  157. package/lib/components/header/header_links/header_link.js +1 -1
  158. package/lib/components/header/header_links/header_links.js +1 -1
  159. package/lib/components/header/header_logo/header_logo.js +1 -1
  160. package/lib/components/header/header_section/header_section_item_button.js +1 -1
  161. package/lib/components/icon/icon.js +1 -1
  162. package/lib/components/icon/icon_map.js +1 -4
  163. package/lib/components/key_pad_menu/key_pad_menu_item.js +1 -1
  164. package/lib/components/list_group/list_group.js +2 -2
  165. package/lib/components/list_group/list_group_item.js +2 -2
  166. package/lib/components/list_group/list_group_item_extra_action.js +1 -1
  167. package/lib/components/list_group/pinnable_list_group/pinnable_list_group.js +4 -4
  168. package/lib/components/loading/loading_logo.js +1 -1
  169. package/lib/components/markdown_editor/markdown_editor.js +1 -1
  170. package/lib/components/markdown_editor/markdown_editor_drop_zone.js +1 -1
  171. package/lib/components/markdown_editor/markdown_editor_footer.js +1 -1
  172. package/lib/components/markdown_editor/markdown_editor_toolbar.js +1 -1
  173. package/lib/components/page/page_header/page_header_content.js +1 -1
  174. package/lib/components/pagination/pagination_button.js +1 -1
  175. package/lib/components/progress/progress.js +54 -11
  176. package/lib/components/selectable/selectable_list/selectable_list.js +1 -1
  177. package/lib/components/selectable/selectable_list/selectable_list_item.js +1 -1
  178. package/lib/components/selectable/selectable_templates/selectable_template_sitewide.js +1 -1
  179. package/lib/components/table/table_header_cell.js +1 -1
  180. package/lib/components/table/table_row.styles.js +11 -6
  181. package/lib/components/timeline/timeline_item_icon.js +1 -1
  182. package/lib/components/toast/global_toast_list.js +1 -1
  183. package/lib/components/toast/toast.js +1 -1
  184. package/lib/components/tool_tip/icon_tip.js +1 -1
  185. package/lib/themes/amsterdam/global_styling/variables/_components.js +305 -270
  186. package/optimize/es/components/combo_box/combo_box.a11y.js +53 -2
  187. package/optimize/es/components/combo_box/combo_box.js +26 -8
  188. package/optimize/es/components/combo_box/combo_box_options_list/combo_box_options_list.js +8 -3
  189. package/optimize/es/components/datagrid/body/cell/data_grid_cell.styles.js +9 -4
  190. package/optimize/es/components/datagrid/data_grid.styles.js +4 -1
  191. package/optimize/es/components/filter_group/filter_select_item.js +20 -17
  192. package/optimize/es/components/flyout/flyout.js +88 -21
  193. package/optimize/es/components/flyout/flyout.styles.js +9 -5
  194. package/optimize/es/components/flyout/flyout_child.js +168 -0
  195. package/optimize/es/components/flyout/flyout_child.styles.js +31 -0
  196. package/optimize/es/components/flyout/flyout_child_manager.js +98 -0
  197. package/optimize/es/components/flyout/flyout_context.js +16 -0
  198. package/optimize/es/components/flyout/index.js +3 -1
  199. package/optimize/es/components/flyout/sessions/flyout_provider.js +104 -0
  200. package/optimize/es/components/flyout/sessions/flyout_reducer.js +209 -0
  201. package/optimize/es/components/flyout/sessions/index.js +10 -0
  202. package/optimize/es/components/flyout/sessions/types.js +1 -0
  203. package/optimize/es/components/flyout/sessions/use_eui_flyout.js +94 -0
  204. package/optimize/es/components/icon/icon_map.js +1 -4
  205. package/optimize/es/components/progress/progress.js +38 -9
  206. package/optimize/es/components/table/table_row.styles.js +11 -6
  207. package/optimize/es/themes/amsterdam/global_styling/variables/_components.js +305 -270
  208. package/optimize/lib/components/combo_box/combo_box.a11y.js +53 -2
  209. package/optimize/lib/components/combo_box/combo_box.js +26 -8
  210. package/optimize/lib/components/combo_box/combo_box_options_list/combo_box_options_list.js +8 -3
  211. package/optimize/lib/components/datagrid/body/cell/data_grid_cell.styles.js +9 -4
  212. package/optimize/lib/components/datagrid/data_grid.styles.js +4 -1
  213. package/optimize/lib/components/filter_group/filter_select_item.js +20 -17
  214. package/optimize/lib/components/flyout/flyout.js +88 -21
  215. package/optimize/lib/components/flyout/flyout.styles.js +10 -6
  216. package/optimize/lib/components/flyout/flyout_child.js +176 -0
  217. package/optimize/lib/components/flyout/flyout_child.styles.js +37 -0
  218. package/optimize/lib/components/flyout/flyout_child_manager.js +108 -0
  219. package/optimize/lib/components/flyout/flyout_context.js +21 -0
  220. package/optimize/lib/components/flyout/index.js +21 -1
  221. package/optimize/lib/components/flyout/sessions/flyout_provider.js +114 -0
  222. package/optimize/lib/components/flyout/sessions/flyout_reducer.js +217 -0
  223. package/optimize/lib/components/flyout/sessions/index.js +25 -0
  224. package/optimize/lib/components/flyout/sessions/types.js +5 -0
  225. package/optimize/lib/components/flyout/sessions/use_eui_flyout.js +99 -0
  226. package/optimize/lib/components/icon/icon_map.js +1 -4
  227. package/optimize/lib/components/progress/progress.js +41 -9
  228. package/optimize/lib/components/table/table_row.styles.js +11 -6
  229. package/optimize/lib/themes/amsterdam/global_styling/variables/_components.js +305 -270
  230. package/package.json +4 -4
  231. package/test-env/components/avatar/avatar.js +1 -1
  232. package/test-env/components/badge/badge.js +1 -1
  233. package/test-env/components/badge/beta_badge/beta_badge.js +1 -1
  234. package/test-env/components/basic_table/basic_table.js +4 -4
  235. package/test-env/components/basic_table/in_memory_table.js +4 -4
  236. package/test-env/components/button/button.js +1 -1
  237. package/test-env/components/button/button_display/_button_display.js +1 -1
  238. package/test-env/components/button/button_display/_button_display_content.js +1 -1
  239. package/test-env/components/button/button_empty/button_empty.js +1 -1
  240. package/test-env/components/button/button_group/button_group.js +1 -1
  241. package/test-env/components/button/button_group/button_group_button.js +1 -1
  242. package/test-env/components/button/button_icon/button_icon.js +1 -1
  243. package/test-env/components/call_out/call_out.js +1 -1
  244. package/test-env/components/card/card.js +2 -2
  245. package/test-env/components/card/card_select/card_select.js +1 -1
  246. package/test-env/components/collapsible_nav/collapsible_nav_group/collapsible_nav_group.js +1 -1
  247. package/test-env/components/collapsible_nav_beta/_kibana_solution/collapsible_nav_kibana_solution.js +1 -1
  248. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_button.js +1 -1
  249. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_item.js +2 -2
  250. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_popover.js +2 -2
  251. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_item.js +4 -4
  252. package/test-env/components/combo_box/combo_box.a11y.js +53 -2
  253. package/test-env/components/combo_box/combo_box.js +26 -8
  254. package/test-env/components/combo_box/combo_box_options_list/combo_box_options_list.js +9 -3
  255. package/test-env/components/comment_list/comment.js +2 -2
  256. package/test-env/components/comment_list/comment_event.js +1 -1
  257. package/test-env/components/comment_list/comment_list.js +2 -2
  258. package/test-env/components/comment_list/comment_timeline.js +1 -1
  259. package/test-env/components/context_menu/context_menu_item.js +1 -1
  260. package/test-env/components/datagrid/body/cell/data_grid_cell.js +12 -12
  261. package/test-env/components/datagrid/body/cell/data_grid_cell.styles.js +9 -4
  262. package/test-env/components/datagrid/body/data_grid_body.js +7 -7
  263. package/test-env/components/datagrid/body/data_grid_body_custom.js +7 -7
  264. package/test-env/components/datagrid/body/data_grid_body_virtualized.js +7 -7
  265. package/test-env/components/datagrid/body/header/data_grid_header_cell.js +6 -6
  266. package/test-env/components/datagrid/controls/column_sorting.js +7 -7
  267. package/test-env/components/datagrid/controls/column_sorting_draggable.js +1 -1
  268. package/test-env/components/datagrid/controls/data_grid_toolbar_control.js +1 -1
  269. package/test-env/components/datagrid/data_grid.styles.js +4 -1
  270. package/test-env/components/datagrid/utils/in_memory.js +6 -6
  271. package/test-env/components/date_picker/date_picker.js +2 -2
  272. package/test-env/components/date_picker/date_picker_range.js +1 -1
  273. package/test-env/components/empty_prompt/empty_prompt.js +1 -1
  274. package/test-env/components/facet/facet_button.js +1 -1
  275. package/test-env/components/filter_group/filter_select_item.js +21 -17
  276. package/test-env/components/flyout/flyout.styles.js +10 -6
  277. package/test-env/components/flyout/flyout_child.js +216 -0
  278. package/test-env/components/flyout/flyout_child.styles.js +37 -0
  279. package/test-env/components/flyout/flyout_child_manager.js +117 -0
  280. package/test-env/components/flyout/flyout_context.js +21 -0
  281. package/test-env/components/flyout/index.js +21 -1
  282. package/test-env/components/flyout/sessions/flyout_provider.js +114 -0
  283. package/test-env/components/flyout/sessions/flyout_reducer.js +217 -0
  284. package/test-env/components/flyout/sessions/index.js +25 -0
  285. package/test-env/components/flyout/sessions/types.js +5 -0
  286. package/test-env/components/flyout/sessions/use_eui_flyout.js +99 -0
  287. package/test-env/components/form/field_number/field_number.js +2 -2
  288. package/test-env/components/form/field_text/field_text.js +2 -2
  289. package/test-env/components/form/form_control_layout/form_control_layout.js +2 -2
  290. package/test-env/components/form/form_control_layout/form_control_layout_custom_icon.js +1 -1
  291. package/test-env/components/form/form_control_layout/form_control_layout_icons.js +2 -2
  292. package/test-env/components/form/text_area/text_area.js +2 -2
  293. package/test-env/components/header/header_links/header_link.js +1 -1
  294. package/test-env/components/header/header_links/header_links.js +1 -1
  295. package/test-env/components/header/header_logo/header_logo.js +1 -1
  296. package/test-env/components/header/header_section/header_section_item_button.js +1 -1
  297. package/test-env/components/icon/icon_map.js +1 -4
  298. package/test-env/components/key_pad_menu/key_pad_menu_item.js +1 -1
  299. package/test-env/components/list_group/list_group.js +2 -2
  300. package/test-env/components/list_group/list_group_item.js +2 -2
  301. package/test-env/components/list_group/list_group_item_extra_action.js +1 -1
  302. package/test-env/components/list_group/pinnable_list_group/pinnable_list_group.js +4 -4
  303. package/test-env/components/loading/loading_logo.js +1 -1
  304. package/test-env/components/markdown_editor/markdown_editor.js +1 -1
  305. package/test-env/components/markdown_editor/markdown_editor_drop_zone.js +1 -1
  306. package/test-env/components/markdown_editor/markdown_editor_footer.js +1 -1
  307. package/test-env/components/markdown_editor/markdown_editor_toolbar.js +1 -1
  308. package/test-env/components/page/page_header/page_header_content.js +1 -1
  309. package/test-env/components/pagination/pagination_button.js +1 -1
  310. package/test-env/components/progress/progress.js +49 -11
  311. package/test-env/components/selectable/selectable_list/selectable_list.js +1 -1
  312. package/test-env/components/selectable/selectable_list/selectable_list_item.js +1 -1
  313. package/test-env/components/selectable/selectable_templates/selectable_template_sitewide.js +1 -1
  314. package/test-env/components/table/table_header_cell.js +1 -1
  315. package/test-env/components/table/table_row.styles.js +11 -6
  316. package/test-env/components/timeline/timeline_item_icon.js +1 -1
  317. package/test-env/components/toast/global_toast_list.js +1 -1
  318. package/test-env/components/toast/toast.js +1 -1
  319. package/test-env/components/tool_tip/icon_tip.js +1 -1
  320. package/test-env/themes/amsterdam/global_styling/variables/_components.js +305 -270
@@ -0,0 +1,176 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _typeof = require("@babel/runtime/helpers/typeof");
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.EuiFlyoutChild = void 0;
9
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
10
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
11
+ var _react = _interopRequireWildcard(require("react"));
12
+ var _classnames = _interopRequireDefault(require("classnames"));
13
+ var _services = require("../../services");
14
+ var _flyout_child = require("./flyout_child.styles");
15
+ var _flyout_close_button = require("./_flyout_close_button");
16
+ var _flyout_context = require("./flyout_context");
17
+ var _flyout_body = require("./flyout_body");
18
+ var _focus_trap = require("../focus_trap");
19
+ var _react2 = require("@emotion/react");
20
+ var _excluded = ["children", "className", "banner", "hideCloseButton", "onClose", "scrollableTabIndex", "size"];
21
+ /*
22
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
23
+ * or more contributor license agreements. Licensed under the Elastic License
24
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
25
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
26
+ * Side Public License, v 1.
27
+ */
28
+ /**
29
+ * Props used to render and configure the child flyout panel
30
+ */
31
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
32
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
33
+ /**
34
+ * The child flyout is a panel that appears to the left of the parent flyout.
35
+ * It is only visible when the parent flyout is open.
36
+ */
37
+ var EuiFlyoutChild = exports.EuiFlyoutChild = function EuiFlyoutChild(_ref) {
38
+ var children = _ref.children,
39
+ className = _ref.className,
40
+ banner = _ref.banner,
41
+ _ref$hideCloseButton = _ref.hideCloseButton,
42
+ hideCloseButton = _ref$hideCloseButton === void 0 ? false : _ref$hideCloseButton,
43
+ onClose = _ref.onClose,
44
+ _ref$scrollableTabInd = _ref.scrollableTabIndex,
45
+ scrollableTabIndex = _ref$scrollableTabInd === void 0 ? 0 : _ref$scrollableTabInd,
46
+ _ref$size = _ref.size,
47
+ size = _ref$size === void 0 ? 's' : _ref$size,
48
+ rest = (0, _objectWithoutProperties2.default)(_ref, _excluded);
49
+ var flyoutContext = (0, _react.useContext)(_flyout_context.EuiFlyoutContext);
50
+ if (!flyoutContext) {
51
+ throw new Error('EuiFlyoutChild must be used as a child of EuiFlyout.');
52
+ }
53
+ var setIsChildFlyoutOpen = flyoutContext.setIsChildFlyoutOpen,
54
+ parentSize = flyoutContext.parentSize;
55
+ (0, _react.useEffect)(function () {
56
+ setIsChildFlyoutOpen === null || setIsChildFlyoutOpen === void 0 || setIsChildFlyoutOpen(true);
57
+ return function () {
58
+ setIsChildFlyoutOpen === null || setIsChildFlyoutOpen === void 0 || setIsChildFlyoutOpen(false);
59
+ };
60
+ }, [setIsChildFlyoutOpen]);
61
+ if (_react.default.Children.count(children) === 0) {
62
+ console.warn('EuiFlyoutChild was rendered with no children!');
63
+ }
64
+ if (parentSize === 'm' && size === 'm') {
65
+ throw new Error('When the parent EuiFlyout size is "m", the EuiFlyoutChild size cannot be "m". Please use size "s" for the EuiFlyoutChild.');
66
+ }
67
+ var handleClose = function handleClose(event) {
68
+ setIsChildFlyoutOpen === null || setIsChildFlyoutOpen === void 0 || setIsChildFlyoutOpen(false);
69
+ onClose(event);
70
+ };
71
+ var flyoutTitleText;
72
+ var hasDescribedByBody = false;
73
+ _react.Children.forEach(children, function (child) {
74
+ if ( /*#__PURE__*/_react.default.isValidElement(child)) {
75
+ var _child$type;
76
+ if (((_child$type = child.type) === null || _child$type === void 0 ? void 0 : _child$type.displayName) === 'EuiFlyoutHeader') {
77
+ // Attempt to extract string content from header for ARIA
78
+ var headerChildren = child.props.children;
79
+ if (typeof headerChildren === 'string') {
80
+ flyoutTitleText = headerChildren;
81
+ } else if ( /*#__PURE__*/_react.default.isValidElement(headerChildren) &&
82
+ // Check if props exist and children is a string
83
+ typeof headerChildren.props.children === 'string') {
84
+ flyoutTitleText = headerChildren.props.children;
85
+ } else if (Array.isArray(headerChildren)) {
86
+ // Find the first string child if headerChildren is an array
87
+ flyoutTitleText = headerChildren.find(function (cNode) {
88
+ return typeof cNode === 'string';
89
+ });
90
+ }
91
+ }
92
+ if (child.type === _flyout_body.EuiFlyoutBody) {
93
+ hasDescribedByBody = true;
94
+ }
95
+ }
96
+ });
97
+ var titleIdGenerated = (0, _services.useGeneratedHtmlId)({
98
+ prefix: 'euiFlyoutChildTitle'
99
+ });
100
+ var bodyIdGenerated = (0, _services.useGeneratedHtmlId)({
101
+ prefix: 'euiFlyoutChildBody'
102
+ });
103
+ var ariaLabelledBy = flyoutTitleText ? titleIdGenerated : undefined;
104
+ var ariaDescribedBy = hasDescribedByBody ? bodyIdGenerated : undefined;
105
+ // Use existing aria-label if provided, otherwise fallback if no labelledby can be derived
106
+ var ariaLabel = rest['aria-label'] || (!ariaLabelledBy && !flyoutTitleText ? 'Flyout panel' : undefined);
107
+ var processedChildren = (0, _react.useMemo)(function () {
108
+ return _react.Children.map(children, function (child) {
109
+ if ( /*#__PURE__*/_react.default.isValidElement(child)) {
110
+ var _child$type2, _child$type3;
111
+ if ((child.type === _flyout_body.EuiFlyoutBody || ((_child$type2 = child.type) === null || _child$type2 === void 0 ? void 0 : _child$type2.displayName) === 'EuiFlyoutBody') && hasDescribedByBody) {
112
+ return /*#__PURE__*/_react.default.cloneElement(child, {
113
+ id: bodyIdGenerated
114
+ });
115
+ }
116
+ // If EuiFlyoutHeader is found and we derived flyoutTitleText, set its ID
117
+ if (((_child$type3 = child.type) === null || _child$type3 === void 0 ? void 0 : _child$type3.displayName) === 'EuiFlyoutHeader' && flyoutTitleText && ariaLabelledBy) {
118
+ return /*#__PURE__*/_react.default.cloneElement(child, {
119
+ id: titleIdGenerated
120
+ });
121
+ }
122
+ }
123
+ return child;
124
+ });
125
+ }, [children, bodyIdGenerated, titleIdGenerated, hasDescribedByBody, flyoutTitleText, ariaLabelledBy]);
126
+ var flyoutWrapperRef = (0, _react.useRef)(null);
127
+ var classes = (0, _classnames.default)('euiFlyoutChild', className);
128
+ var styles = (0, _services.useEuiMemoizedStyles)(_flyout_child.euiFlyoutChildStyles);
129
+ var childLayoutMode = flyoutContext.childLayoutMode,
130
+ parentFlyoutRef = flyoutContext.parentFlyoutRef;
131
+ var flyoutChildCss = [styles.euiFlyoutChild, size === 's' ? styles.s : styles.m, childLayoutMode === 'side-by-side' ? styles.sidePosition : styles.stackedPosition];
132
+ return (0, _react2.jsx)(_focus_trap.EuiFocusTrap, {
133
+ returnFocus: function returnFocus() {
134
+ if (parentFlyoutRef !== null && parentFlyoutRef !== void 0 && parentFlyoutRef.current) {
135
+ parentFlyoutRef.current.focus();
136
+ return false; // We've handled focus
137
+ }
138
+ return true;
139
+ },
140
+ shards: [],
141
+ disabled: false
142
+ }, (0, _react2.jsx)("div", (0, _extends2.default)({
143
+ ref: flyoutWrapperRef,
144
+ className: classes,
145
+ css: flyoutChildCss,
146
+ "data-test-subj": "euiFlyoutChild",
147
+ role: "dialog",
148
+ "aria-modal": "true",
149
+ "aria-label": ariaLabel,
150
+ "aria-labelledby": ariaLabelledBy,
151
+ "aria-describedby": ariaDescribedBy,
152
+ tabIndex: -1
153
+ }, rest), flyoutTitleText && !ariaLabelledBy && (0, _react2.jsx)("h2", {
154
+ id: titleIdGenerated,
155
+ className: "euiScreenReaderOnly"
156
+ }, flyoutTitleText), !hideCloseButton && (0, _react2.jsx)(_flyout_close_button.EuiFlyoutCloseButton, {
157
+ className: "euiFlyoutChild__closeButton",
158
+ css: styles.closeButton,
159
+ onClose: handleClose,
160
+ side: "right",
161
+ closeButtonPosition: "inside",
162
+ "data-test-subj": "euiFlyoutChildCloseButton"
163
+ }), (0, _react2.jsx)("div", {
164
+ tabIndex: scrollableTabIndex,
165
+ className: "euiFlyoutChild__overflow",
166
+ css: styles.overflow.overflow
167
+ }, banner && (0, _react2.jsx)("div", {
168
+ className: "euiFlyoutChild__banner",
169
+ css: styles.banner,
170
+ "data-test-subj": "euiFlyoutChildBanner"
171
+ }, banner), (0, _react2.jsx)("div", {
172
+ className: "euiFlyoutChild__overflowContent",
173
+ css: styles.overflow.wrapper
174
+ }, processedChildren))));
175
+ };
176
+ EuiFlyoutChild.displayName = 'EuiFlyoutChild';
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.euiFlyoutChildStyles = void 0;
7
+ var _react = require("@emotion/react");
8
+ var _global_styling = require("../../global_styling");
9
+ var _flyout = require("./flyout.styles");
10
+ /*
11
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
12
+ * or more contributor license agreements. Licensed under the Elastic License
13
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
14
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
15
+ * Side Public License, v 1.
16
+ */
17
+
18
+ var euiFlyoutChildStyles = exports.euiFlyoutChildStyles = function euiFlyoutChildStyles(euiThemeContext) {
19
+ var euiTheme = euiThemeContext.euiTheme;
20
+ return {
21
+ // Base styles for the child flyout
22
+ euiFlyoutChild: /*#__PURE__*/(0, _react.css)("position:absolute;inset-block-start:0;inset-inline-start:0;block-size:100%;background:", euiTheme.colors.backgroundBaseSubdued, ";display:flex;flex-direction:column;", (0, _global_styling.logicalCSSWithFallback)('overflow-y', 'hidden'), " ", (0, _global_styling.logicalCSS)('height', '100%'), " z-index:", Number(euiTheme.levels.flyout) + 1, ";border-inline-start:", euiTheme.border.thin, ";", (0, _flyout.maxedFlyoutWidth)(euiThemeContext), ";;label:euiFlyoutChild;"),
23
+ // Position variants based on screen size
24
+ sidePosition: /*#__PURE__*/(0, _react.css)("transform:translateX(-100%);border-inline-end:", euiTheme.border.thin, ";;label:sidePosition;"),
25
+ stackedPosition: /*#__PURE__*/(0, _react.css)("inset-inline-end:0;inline-size:100%;border-block-end:", euiTheme.border.thin, ";;label:stackedPosition;"),
26
+ s: /*#__PURE__*/(0, _react.css)((0, _flyout.composeFlyoutSizing)(euiThemeContext, 's'), ";;label:s;"),
27
+ m: /*#__PURE__*/(0, _react.css)((0, _flyout.composeFlyoutSizing)(euiThemeContext, 'm'), ";;label:m;"),
28
+ closeButton: /*#__PURE__*/(0, _react.css)("position:absolute;inset-block-start:", euiTheme.size.s, ";inset-inline-end:", euiTheme.size.s, ";z-index:1;;label:closeButton;"),
29
+ overflow: {
30
+ overflow: /*#__PURE__*/(0, _react.css)("flex-grow:1;display:flex;flex-direction:column;", (0, _global_styling.euiYScroll)(euiThemeContext), ";;label:overflow;"),
31
+ wrapper: /*#__PURE__*/(0, _react.css)("display:flex;flex-direction:column;flex-grow:1;", (0, _global_styling.logicalCSS)('overflow-x', 'auto'), ";;label:wrapper;")
32
+ },
33
+ banner: /*#__PURE__*/(0, _react.css)((0, _global_styling.logicalCSSWithFallback)('overflow-x', 'hidden'), " ", (0, _global_styling.highContrastModeStyles)(euiThemeContext, {
34
+ preferred: (0, _global_styling.logicalCSS)('border-bottom', euiTheme.border.thin)
35
+ }), ";;label:banner;")
36
+ };
37
+ };
@@ -0,0 +1,108 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _typeof = require("@babel/runtime/helpers/typeof");
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.EuiFlyoutChildProvider = void 0;
9
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
10
+ var _react = _interopRequireWildcard(require("react"));
11
+ var _services = require("../../services");
12
+ var _flyout_context = require("./flyout_context");
13
+ var _react2 = require("@emotion/react");
14
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
15
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
16
+ /*
17
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
18
+ * or more contributor license agreements. Licensed under the Elastic License
19
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
20
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
21
+ * Side Public License, v 1.
22
+ */
23
+
24
+ /**
25
+ * An intermediate component between EuiFlyout and EuiFlyoutChild.
26
+ * It is responsible for managing the state of the child flyout, and passing it to EuiFlyoutContext.
27
+ * It removes the responsibility of managing child flyout state from EuiFlyout, which is especially important there might not be a child flyout.
28
+ */
29
+ var EuiFlyoutChildProvider = exports.EuiFlyoutChildProvider = function EuiFlyoutChildProvider(_ref) {
30
+ var parentSize = _ref.parentSize,
31
+ parentFlyoutRef = _ref.parentFlyoutRef,
32
+ childElement = _ref.childElement,
33
+ childrenToRender = _ref.childrenToRender,
34
+ reportIsChildOpen = _ref.reportIsChildOpen,
35
+ reportChildLayoutMode = _ref.reportChildLayoutMode;
36
+ var _useEuiTheme = (0, _services.useEuiTheme)(),
37
+ euiTheme = _useEuiTheme.euiTheme;
38
+ var _useState = (0, _react.useState)(false),
39
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
40
+ isChildFlyoutOpen = _useState2[0],
41
+ setIsChildFlyoutOpen = _useState2[1];
42
+ var _useState3 = (0, _react.useState)(typeof window !== 'undefined' ? window.innerWidth : Infinity),
43
+ _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
44
+ windowWidth = _useState4[0],
45
+ setWindowWidth = _useState4[1];
46
+ var _useState5 = (0, _react.useState)('side-by-side'),
47
+ _useState6 = (0, _slicedToArray2.default)(_useState5, 2),
48
+ childLayoutMode = _useState6[0],
49
+ setChildLayoutMode = _useState6[1];
50
+
51
+ // update windowWidth on resize
52
+ (0, _react.useEffect)(function () {
53
+ if (typeof window === 'undefined') return;
54
+ var handleResize = function handleResize() {
55
+ setWindowWidth(window.innerWidth);
56
+ };
57
+ window.addEventListener('resize', handleResize);
58
+ handleResize();
59
+ return function () {
60
+ return window.removeEventListener('resize', handleResize);
61
+ };
62
+ }, []);
63
+
64
+ // Calculate stacking breakpoint value for child flyout.
65
+ // Stacking breakpoint value is a sum of parent breakpoint value and child breakpoint value.
66
+ var stackingBreakpointValue = (0, _react.useMemo)(function () {
67
+ var parentSizeName = parentSize;
68
+ var childSizeName = childElement.props.size || 's';
69
+ var parentNumericValue = 0;
70
+ if (parentSizeName === 's') parentNumericValue = euiTheme.breakpoint.s;else if (parentSizeName === 'm') parentNumericValue = euiTheme.breakpoint.m;
71
+ // Parent 'l' size is not allowed when child is present, so no need to check here
72
+
73
+ var childNumericValue = 0;
74
+ if (childSizeName === 's') childNumericValue = euiTheme.breakpoint.s;else if (childSizeName === 'm') childNumericValue = euiTheme.breakpoint.m;
75
+ return parentNumericValue + childNumericValue;
76
+ }, [parentSize, childElement.props.size, euiTheme.breakpoint]);
77
+
78
+ // update childLayoutMode based on windowWidth and the calculated stackingBreakpoint
79
+ (0, _react.useEffect)(function () {
80
+ if (windowWidth >= stackingBreakpointValue) {
81
+ setChildLayoutMode('side-by-side');
82
+ } else {
83
+ setChildLayoutMode('stacked');
84
+ }
85
+ }, [windowWidth, stackingBreakpointValue]);
86
+
87
+ // report isChildFlyoutOpen changes to the parent EuiFlyout
88
+ (0, _react.useEffect)(function () {
89
+ reportIsChildOpen(isChildFlyoutOpen);
90
+ }, [isChildFlyoutOpen, reportIsChildOpen]);
91
+
92
+ // report childLayoutMode changes to the parent EuiFlyout
93
+ (0, _react.useEffect)(function () {
94
+ reportChildLayoutMode(childLayoutMode);
95
+ }, [childLayoutMode, reportChildLayoutMode]);
96
+ var contextValue = (0, _react.useMemo)(function () {
97
+ return {
98
+ parentSize: parentSize,
99
+ parentFlyoutRef: parentFlyoutRef,
100
+ isChildFlyoutOpen: isChildFlyoutOpen,
101
+ setIsChildFlyoutOpen: setIsChildFlyoutOpen,
102
+ childLayoutMode: childLayoutMode
103
+ };
104
+ }, [parentSize, parentFlyoutRef, isChildFlyoutOpen, setIsChildFlyoutOpen, childLayoutMode]);
105
+ return (0, _react2.jsx)(_flyout_context.EuiFlyoutContext.Provider, {
106
+ value: contextValue
107
+ }, childrenToRender);
108
+ };
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.EuiFlyoutContext = void 0;
7
+ var _react = require("react");
8
+ /*
9
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
10
+ * or more contributor license agreements. Licensed under the Elastic License
11
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
12
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
13
+ * Side Public License, v 1.
14
+ */
15
+
16
+ /**
17
+ * Context shared between the main and child flyouts
18
+ * @internal
19
+ */
20
+
21
+ var EuiFlyoutContext = exports.EuiFlyoutContext = /*#__PURE__*/(0, _react.createContext)(null);
@@ -15,6 +15,12 @@ Object.defineProperty(exports, "EuiFlyoutBody", {
15
15
  return _flyout_body.EuiFlyoutBody;
16
16
  }
17
17
  });
18
+ Object.defineProperty(exports, "EuiFlyoutChild", {
19
+ enumerable: true,
20
+ get: function get() {
21
+ return _flyout_child.EuiFlyoutChild;
22
+ }
23
+ });
18
24
  Object.defineProperty(exports, "EuiFlyoutFooter", {
19
25
  enumerable: true,
20
26
  get: function get() {
@@ -33,6 +39,12 @@ Object.defineProperty(exports, "EuiFlyoutResizable", {
33
39
  return _flyout_resizable.EuiFlyoutResizable;
34
40
  }
35
41
  });
42
+ Object.defineProperty(exports, "EuiFlyoutSessionProvider", {
43
+ enumerable: true,
44
+ get: function get() {
45
+ return _sessions.EuiFlyoutSessionProvider;
46
+ }
47
+ });
36
48
  Object.defineProperty(exports, "euiFlyoutSlideInLeft", {
37
49
  enumerable: true,
38
50
  get: function get() {
@@ -45,9 +57,17 @@ Object.defineProperty(exports, "euiFlyoutSlideInRight", {
45
57
  return _flyout2.euiFlyoutSlideInRight;
46
58
  }
47
59
  });
60
+ Object.defineProperty(exports, "useEuiFlyoutSession", {
61
+ enumerable: true,
62
+ get: function get() {
63
+ return _sessions.useEuiFlyoutSession;
64
+ }
65
+ });
48
66
  var _flyout = require("./flyout");
49
67
  var _flyout_body = require("./flyout_body");
50
68
  var _flyout_footer = require("./flyout_footer");
51
69
  var _flyout_header = require("./flyout_header");
52
70
  var _flyout2 = require("./flyout.styles");
53
- var _flyout_resizable = require("./flyout_resizable");
71
+ var _flyout_resizable = require("./flyout_resizable");
72
+ var _flyout_child = require("./flyout_child");
73
+ var _sessions = require("./sessions");
@@ -0,0 +1,114 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _typeof = require("@babel/runtime/helpers/typeof");
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.useEuiFlyoutSessionContext = exports.EuiFlyoutSessionProvider = void 0;
9
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
10
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
11
+ var _react = _interopRequireWildcard(require("react"));
12
+ var _index = require("../index");
13
+ var _flyout_reducer = require("./flyout_reducer");
14
+ var _react2 = require("@emotion/react");
15
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
16
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
17
+ /*
18
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
19
+ * or more contributor license agreements. Licensed under the Elastic License
20
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
21
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
22
+ * Side Public License, v 1.
23
+ */
24
+
25
+ var EuiFlyoutSessionContext = /*#__PURE__*/(0, _react.createContext)(null);
26
+
27
+ /**
28
+ * Accesses the state data and dispatch function from the context of EuiFlyoutSessionProvider
29
+ * Use this if you need to debug the state or need direct access to the dispatch function, otherwise use useEuiFlyoutSession hook.
30
+ */
31
+ var useEuiFlyoutSessionContext = exports.useEuiFlyoutSessionContext = function useEuiFlyoutSessionContext() {
32
+ var context = (0, _react.useContext)(EuiFlyoutSessionContext);
33
+ if (!context) {
34
+ throw new Error('useEuiFlyoutSessionContext must be used within a EuiFlyoutSessionProvider');
35
+ }
36
+ return context;
37
+ };
38
+
39
+ /**
40
+ * FlyoutProvider is a component that provides a context for Flyout components.
41
+ * It is used to manage the state of the Flyout and its child.
42
+ * It also renders the Flyout and FlyoutChild components.
43
+ *
44
+ * @param children - The children of the FlyoutProvider component.
45
+ * @param renderMainFlyoutContent - A function that renders the content of the main Flyout.
46
+ * @param renderChildFlyoutContent - A function that renders the content of the child Flyout.
47
+ * @returns The FlyoutProvider component.
48
+ */
49
+ var EuiFlyoutSessionProvider = exports.EuiFlyoutSessionProvider = function EuiFlyoutSessionProvider(_ref) {
50
+ var children = _ref.children,
51
+ renderMainFlyoutContent = _ref.renderMainFlyoutContent,
52
+ renderChildFlyoutContent = _ref.renderChildFlyoutContent;
53
+ var _useReducer = (0, _react.useReducer)(_flyout_reducer.flyoutReducer, _flyout_reducer.initialFlyoutState),
54
+ _useReducer2 = (0, _slicedToArray2.default)(_useReducer, 2),
55
+ state = _useReducer2[0],
56
+ dispatch = _useReducer2[1];
57
+ var activeFlyoutGroup = state.activeFlyoutGroup;
58
+ var handleClose = function handleClose() {
59
+ dispatch({
60
+ type: 'CLEAR_HISTORY'
61
+ });
62
+ };
63
+ var handleCloseChild = function handleCloseChild() {
64
+ dispatch({
65
+ type: 'CLOSE_CHILD_FLYOUT'
66
+ });
67
+ };
68
+ var mainFlyoutContentNode = null;
69
+ var childFlyoutContentNode = null;
70
+ if (activeFlyoutGroup) {
71
+ var mainRenderContext = {
72
+ flyoutProps: activeFlyoutGroup.config.mainFlyoutProps || {},
73
+ flyoutSize: activeFlyoutGroup.config.mainSize,
74
+ flyoutType: 'main',
75
+ dispatch: dispatch,
76
+ activeFlyoutGroup: activeFlyoutGroup,
77
+ onCloseFlyout: handleClose,
78
+ onCloseChildFlyout: handleCloseChild,
79
+ meta: activeFlyoutGroup.meta
80
+ };
81
+ mainFlyoutContentNode = renderMainFlyoutContent(mainRenderContext);
82
+ if (activeFlyoutGroup.isChildOpen && renderChildFlyoutContent) {
83
+ var childRenderContext = {
84
+ flyoutProps: activeFlyoutGroup.config.childFlyoutProps || {},
85
+ flyoutSize: activeFlyoutGroup.config.childSize,
86
+ flyoutType: 'child',
87
+ dispatch: dispatch,
88
+ activeFlyoutGroup: activeFlyoutGroup,
89
+ onCloseFlyout: handleClose,
90
+ onCloseChildFlyout: handleCloseChild,
91
+ meta: activeFlyoutGroup.meta
92
+ };
93
+ childFlyoutContentNode = renderChildFlyoutContent(childRenderContext);
94
+ } else if (activeFlyoutGroup.isChildOpen && !renderChildFlyoutContent) {
95
+ console.warn('EuiFlyoutSessionProvider: A child flyout is open, but renderChildFlyoutContent was not provided.');
96
+ }
97
+ }
98
+ var config = activeFlyoutGroup === null || activeFlyoutGroup === void 0 ? void 0 : activeFlyoutGroup.config;
99
+ var flyoutPropsMain = (config === null || config === void 0 ? void 0 : config.mainFlyoutProps) || {};
100
+ var flyoutPropsChild = (config === null || config === void 0 ? void 0 : config.childFlyoutProps) || {};
101
+ return (0, _react2.jsx)(EuiFlyoutSessionContext.Provider, {
102
+ value: {
103
+ state: state,
104
+ dispatch: dispatch
105
+ }
106
+ }, children, (activeFlyoutGroup === null || activeFlyoutGroup === void 0 ? void 0 : activeFlyoutGroup.isMainOpen) && (0, _react2.jsx)(_index.EuiFlyout, (0, _extends2.default)({
107
+ onClose: handleClose,
108
+ size: activeFlyoutGroup.config.mainSize,
109
+ ownFocus: !activeFlyoutGroup.isChildOpen
110
+ }, flyoutPropsMain), mainFlyoutContentNode, activeFlyoutGroup.isChildOpen && childFlyoutContentNode && (0, _react2.jsx)(_index.EuiFlyoutChild, (0, _extends2.default)({
111
+ onClose: handleCloseChild,
112
+ size: activeFlyoutGroup.config.childSize
113
+ }, flyoutPropsChild), childFlyoutContentNode)));
114
+ };