@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.
- package/es/components/avatar/avatar.js +1 -1
- package/es/components/badge/badge.js +1 -1
- package/es/components/badge/beta_badge/beta_badge.js +1 -1
- package/es/components/basic_table/basic_table.js +36 -55
- package/es/components/basic_table/in_memory_table.js +6 -6
- package/es/components/beacon/beacon.styles.js +1 -1
- package/es/components/button/button_display/_button_display_content.js +1 -1
- package/es/components/button/button_empty/button_empty.js +1 -1
- package/es/components/button/button_group/button_group.js +1 -1
- package/es/components/button/button_group/button_group_button.js +1 -1
- package/es/components/button/button_icon/button_icon.js +1 -1
- package/es/components/button/index.js +2 -1
- package/es/components/button/split_button/index.js +10 -0
- package/es/components/button/split_button/split_button.js +120 -0
- package/es/components/button/split_button/split_button.styles.js +51 -0
- package/es/components/button/split_button/split_button_actions.js +115 -0
- package/{optimize/es/components/flyout/flyout_context.js → es/components/button/split_button/split_button_context.js} +5 -7
- package/es/components/call_out/call_out.js +1 -1
- package/es/components/card/card.js +1 -1
- package/es/components/collapsible_nav/collapsible_nav.js +20 -101
- package/es/components/collapsible_nav/collapsible_nav_group/collapsible_nav_group.js +1 -1
- package/es/components/collapsible_nav_beta/_kibana_solution/collapsible_nav_kibana_solution.js +1 -1
- package/es/components/collapsible_nav_beta/collapsible_nav_beta.js +1 -0
- package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_button.js +1 -1
- package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_item.js +2 -2
- package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_popover.js +2 -2
- package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_item.js +4 -4
- package/es/components/comment_list/comment.js +2 -2
- package/es/components/comment_list/comment_event.js +1 -1
- package/es/components/comment_list/comment_list.js +2 -2
- package/es/components/comment_list/comment_timeline.js +1 -1
- package/es/components/context_menu/context_menu_item.js +1 -1
- package/es/components/datagrid/body/cell/data_grid_cell.js +12 -12
- package/es/components/datagrid/body/data_grid_body.js +7 -7
- package/es/components/datagrid/body/data_grid_body_custom.js +7 -7
- package/es/components/datagrid/body/data_grid_body_virtualized.js +7 -7
- package/es/components/datagrid/body/header/data_grid_header_cell.js +6 -6
- package/es/components/datagrid/controls/column_sorting.js +7 -7
- package/es/components/datagrid/controls/column_sorting_draggable.js +1 -1
- package/es/components/datagrid/controls/data_grid_toolbar_control.js +1 -1
- package/es/components/datagrid/controls/fullscreen_selector.styles.js +1 -1
- package/es/components/datagrid/utils/in_memory.js +6 -6
- package/es/components/date_picker/date_picker.js +2 -2
- package/es/components/date_picker/date_picker_range.js +1 -1
- package/es/components/empty_prompt/empty_prompt.js +2 -2
- package/es/components/flex/flex_group.js +1 -1
- package/es/components/flyout/_flyout_overlay.js +52 -0
- package/es/components/flyout/_flyout_resize_button.js +32 -0
- package/es/components/flyout/{flyout_resizable.styles.js → _flyout_resize_button.styles.js} +11 -11
- package/es/components/flyout/const.js +42 -0
- package/es/components/flyout/flyout.component.js +481 -0
- package/es/components/flyout/flyout.js +77 -379
- package/es/components/flyout/flyout.styles.js +106 -7
- package/es/components/flyout/flyout_menu.js +241 -0
- package/es/components/flyout/flyout_menu.styles.js +19 -0
- package/es/components/flyout/{flyout_context.js → flyout_menu_context.js} +1 -7
- package/es/components/flyout/flyout_parent_context.js +36 -0
- package/es/components/flyout/flyout_resizable.js +33 -144
- package/es/components/flyout/hooks.js +25 -0
- package/es/components/flyout/index.js +5 -2
- package/es/components/flyout/manager/actions.js +153 -0
- package/es/components/flyout/manager/activity_stage.js +95 -0
- package/es/components/flyout/manager/const.js +56 -0
- package/es/components/flyout/manager/context.js +33 -0
- package/es/components/flyout/manager/flyout_child.js +75 -0
- package/es/components/flyout/manager/flyout_main.js +65 -0
- package/es/components/flyout/manager/flyout_main.styles.js +25 -0
- package/es/components/flyout/manager/flyout_managed.js +227 -0
- package/es/components/flyout/manager/flyout_managed.styles.js +69 -0
- package/es/components/flyout/manager/hooks.js +55 -0
- package/es/components/flyout/manager/index.js +31 -0
- package/es/components/flyout/manager/layout_mode.js +167 -0
- package/es/components/flyout/manager/provider.js +57 -0
- package/es/components/flyout/manager/reducer.js +320 -0
- package/es/components/flyout/manager/selectors.js +116 -0
- package/es/components/flyout/manager/store.js +113 -0
- package/es/components/flyout/manager/validation.js +85 -0
- package/es/components/flyout/use_flyout_resizable.js +149 -0
- package/es/components/flyout/use_flyout_z_index.js +46 -0
- package/es/components/form/field_number/field_number.js +2 -2
- package/es/components/form/field_text/field_text.js +2 -2
- package/es/components/form/form_control_button/form_control_button.js +1 -1
- package/es/components/form/form_control_layout/form_control_layout.js +2 -2
- package/es/components/form/form_control_layout/form_control_layout_custom_icon.js +1 -1
- package/es/components/form/form_control_layout/form_control_layout_icons.js +2 -2
- package/es/components/form/text_area/text_area.js +2 -2
- package/es/components/header/header_links/header_link.js +1 -1
- package/es/components/header/header_links/header_links.js +1 -1
- package/es/components/header/header_logo/header_logo.js +1 -1
- package/es/components/header/header_section/header_section_item_button.js +1 -1
- package/es/components/horizontal_rule/horizontal_rule.js +1 -1
- package/es/components/icon/assets/agentBuilderRobot.js +37 -0
- package/es/components/icon/assets/cross_project_search.js +35 -0
- package/es/components/icon/assets/dashed_circle.js +35 -0
- package/es/components/icon/assets/product_robot.js +37 -0
- package/es/components/icon/icon.js +1 -1
- package/es/components/icon/icon_map.js +3 -0
- package/es/components/key_pad_menu/key_pad_menu_item.js +1 -1
- package/es/components/link/external_link_icon.js +6 -3
- package/es/components/list_group/list_group.js +2 -2
- package/es/components/list_group/list_group_item.js +2 -2
- package/es/components/list_group/list_group_item_extra_action.js +1 -1
- package/es/components/list_group/pinnable_list_group/pinnable_list_group.js +4 -4
- package/es/components/loading/loading_logo.js +1 -1
- package/es/components/markdown_editor/markdown_editor.js +1 -1
- package/es/components/markdown_editor/markdown_editor_drop_zone.js +1 -1
- package/es/components/markdown_editor/markdown_editor_footer.js +1 -1
- package/es/components/markdown_editor/markdown_editor_toolbar.js +1 -1
- package/es/components/overlay_mask/overlay_mask.js +13 -3
- package/es/components/overlay_mask/overlay_mask.styles.js +11 -2
- package/es/components/page/page_header/page_header_content.js +2 -2
- package/es/components/pagination/pagination_button.js +1 -1
- package/es/components/provider/provider.js +2 -1
- package/es/components/search_bar/search_bar.js +1 -1
- package/es/components/selectable/selectable_list/selectable_list.js +1 -1
- package/es/components/selectable/selectable_list/selectable_list_item.js +1 -1
- package/es/components/selectable/selectable_templates/selectable_template_sitewide.js +1 -1
- package/es/components/spacer/spacer.js +1 -1
- package/es/components/table/table_header_cell.js +1 -1
- package/es/components/timeline/timeline_item_icon.js +1 -1
- package/es/components/toast/global_toast_list.js +1 -1
- package/es/components/toast/toast.js +1 -1
- package/es/components/tool_tip/icon_tip.js +1 -1
- package/es/components/tour/tour_step_indicator.js +8 -3
- package/es/global_styling/mixins/_button.js +28 -9
- package/es/global_styling/mixins/_container_query.js +106 -0
- package/es/global_styling/mixins/index.js +1 -0
- package/es/services/container_query/container_query_hook.js +64 -0
- package/es/{components/flyout/sessions → services/container_query}/index.js +1 -2
- package/es/services/container_query/match_container.js +242 -0
- package/eui.d.ts +7558 -6642
- package/i18ntokens.json +1438 -1384
- package/lib/components/avatar/avatar.js +1 -1
- package/lib/components/badge/badge.js +1 -1
- package/lib/components/badge/beta_badge/beta_badge.js +1 -1
- package/lib/components/basic_table/basic_table.js +36 -55
- package/lib/components/basic_table/in_memory_table.js +6 -6
- package/lib/components/beacon/beacon.styles.js +1 -1
- package/lib/components/button/button_display/_button_display_content.js +1 -1
- package/lib/components/button/button_empty/button_empty.js +1 -1
- package/lib/components/button/button_group/button_group.js +1 -1
- package/lib/components/button/button_group/button_group_button.js +1 -1
- package/lib/components/button/button_icon/button_icon.js +1 -1
- package/lib/components/button/index.js +8 -1
- package/lib/components/button/split_button/index.js +25 -0
- package/lib/components/button/split_button/split_button.js +129 -0
- package/lib/components/button/split_button/split_button.styles.js +55 -0
- package/lib/components/button/split_button/split_button_actions.js +123 -0
- package/{optimize/lib/components/flyout/flyout_context.js → lib/components/button/split_button/split_button_context.js} +6 -7
- package/lib/components/call_out/call_out.js +1 -1
- package/lib/components/card/card.js +1 -1
- package/lib/components/collapsible_nav/collapsible_nav.js +20 -101
- package/lib/components/collapsible_nav/collapsible_nav_group/collapsible_nav_group.js +1 -1
- package/lib/components/collapsible_nav_beta/_kibana_solution/collapsible_nav_kibana_solution.js +1 -1
- package/lib/components/collapsible_nav_beta/collapsible_nav_beta.js +1 -0
- package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_button.js +1 -1
- package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_item.js +2 -2
- package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_popover.js +2 -2
- package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_item.js +4 -4
- package/lib/components/comment_list/comment.js +2 -2
- package/lib/components/comment_list/comment_event.js +1 -1
- package/lib/components/comment_list/comment_list.js +2 -2
- package/lib/components/comment_list/comment_timeline.js +1 -1
- package/lib/components/context_menu/context_menu_item.js +1 -1
- package/lib/components/datagrid/body/cell/data_grid_cell.js +12 -12
- package/lib/components/datagrid/body/data_grid_body.js +7 -7
- package/lib/components/datagrid/body/data_grid_body_custom.js +7 -7
- package/lib/components/datagrid/body/data_grid_body_virtualized.js +7 -7
- package/lib/components/datagrid/body/header/data_grid_header_cell.js +6 -6
- package/lib/components/datagrid/controls/column_sorting.js +7 -7
- package/lib/components/datagrid/controls/column_sorting_draggable.js +1 -1
- package/lib/components/datagrid/controls/data_grid_toolbar_control.js +1 -1
- package/lib/components/datagrid/controls/fullscreen_selector.styles.js +1 -1
- package/lib/components/datagrid/utils/in_memory.js +6 -6
- package/lib/components/date_picker/date_picker.js +2 -2
- package/lib/components/date_picker/date_picker_range.js +1 -1
- package/lib/components/empty_prompt/empty_prompt.js +2 -2
- package/lib/components/flex/flex_group.js +1 -1
- package/lib/components/flyout/_flyout_overlay.js +59 -0
- package/lib/components/flyout/_flyout_resize_button.js +38 -0
- package/{test-env/components/flyout/flyout_resizable.styles.js → lib/components/flyout/_flyout_resize_button.styles.js} +12 -12
- package/lib/components/flyout/const.js +49 -0
- package/lib/components/flyout/flyout.component.js +488 -0
- package/lib/components/flyout/flyout.js +102 -379
- package/lib/components/flyout/flyout.styles.js +106 -7
- package/lib/components/flyout/flyout_menu.js +243 -0
- package/lib/components/flyout/flyout_menu.styles.js +25 -0
- package/lib/components/flyout/{flyout_context.js → flyout_menu_context.js} +2 -7
- package/lib/components/flyout/flyout_parent_context.js +43 -0
- package/lib/components/flyout/flyout_resizable.js +36 -147
- package/lib/components/flyout/hooks.js +30 -0
- package/lib/components/flyout/index.js +21 -14
- package/lib/components/flyout/manager/actions.js +159 -0
- package/lib/components/flyout/manager/activity_stage.js +101 -0
- package/lib/components/flyout/manager/const.js +62 -0
- package/lib/components/flyout/manager/context.js +41 -0
- package/lib/components/flyout/manager/flyout_child.js +80 -0
- package/lib/components/flyout/manager/flyout_main.js +70 -0
- package/lib/components/flyout/manager/flyout_main.styles.js +31 -0
- package/lib/components/flyout/manager/flyout_managed.js +233 -0
- package/lib/components/flyout/manager/flyout_managed.styles.js +73 -0
- package/lib/components/flyout/manager/hooks.js +131 -0
- package/lib/components/flyout/manager/index.js +168 -0
- package/lib/components/flyout/manager/layout_mode.js +171 -0
- package/lib/components/flyout/manager/provider.js +63 -0
- package/lib/components/flyout/manager/reducer.js +325 -0
- package/lib/components/flyout/manager/selectors.js +122 -0
- package/lib/components/flyout/manager/store.js +120 -0
- package/lib/components/flyout/manager/validation.js +94 -0
- package/lib/components/flyout/use_flyout_resizable.js +153 -0
- package/lib/components/flyout/use_flyout_z_index.js +51 -0
- package/lib/components/form/field_number/field_number.js +2 -2
- package/lib/components/form/field_text/field_text.js +2 -2
- package/lib/components/form/form_control_button/form_control_button.js +1 -1
- package/lib/components/form/form_control_layout/form_control_layout.js +2 -2
- package/lib/components/form/form_control_layout/form_control_layout_custom_icon.js +1 -1
- package/lib/components/form/form_control_layout/form_control_layout_icons.js +2 -2
- package/lib/components/form/text_area/text_area.js +2 -2
- package/lib/components/header/header_links/header_link.js +1 -1
- package/lib/components/header/header_links/header_links.js +1 -1
- package/lib/components/header/header_logo/header_logo.js +1 -1
- package/lib/components/header/header_section/header_section_item_button.js +1 -1
- package/lib/components/horizontal_rule/horizontal_rule.js +1 -1
- package/lib/components/icon/assets/agentBuilderRobot.js +44 -0
- package/lib/components/icon/assets/cross_project_search.js +42 -0
- package/lib/components/icon/assets/dashed_circle.js +42 -0
- package/lib/components/icon/assets/product_robot.js +44 -0
- package/lib/components/icon/icon.js +1 -1
- package/lib/components/icon/icon_map.js +3 -0
- package/lib/components/icon/svgs/cross_project_search.svg +3 -0
- package/lib/components/icon/svgs/dashed_circle.svg +5 -0
- package/lib/components/icon/svgs/product_robot.svg +4 -0
- package/lib/components/key_pad_menu/key_pad_menu_item.js +1 -1
- package/lib/components/link/external_link_icon.js +6 -3
- package/lib/components/list_group/list_group.js +2 -2
- package/lib/components/list_group/list_group_item.js +2 -2
- package/lib/components/list_group/list_group_item_extra_action.js +1 -1
- package/lib/components/list_group/pinnable_list_group/pinnable_list_group.js +4 -4
- package/lib/components/loading/loading_logo.js +1 -1
- package/lib/components/markdown_editor/markdown_editor.js +1 -1
- package/lib/components/markdown_editor/markdown_editor_drop_zone.js +1 -1
- package/lib/components/markdown_editor/markdown_editor_footer.js +1 -1
- package/lib/components/markdown_editor/markdown_editor_toolbar.js +1 -1
- package/lib/components/overlay_mask/overlay_mask.js +12 -2
- package/lib/components/overlay_mask/overlay_mask.styles.js +11 -4
- package/lib/components/page/page_header/page_header_content.js +2 -2
- package/lib/components/pagination/pagination_button.js +1 -1
- package/lib/components/provider/provider.js +2 -1
- package/lib/components/search_bar/search_bar.js +1 -1
- package/lib/components/selectable/selectable_list/selectable_list.js +1 -1
- package/lib/components/selectable/selectable_list/selectable_list_item.js +1 -1
- package/lib/components/selectable/selectable_templates/selectable_template_sitewide.js +1 -1
- package/lib/components/spacer/spacer.js +1 -1
- package/lib/components/table/table_header_cell.js +1 -1
- package/lib/components/timeline/timeline_item_icon.js +1 -1
- package/lib/components/toast/global_toast_list.js +1 -1
- package/lib/components/toast/toast.js +1 -1
- package/lib/components/tool_tip/icon_tip.js +1 -1
- package/lib/components/tour/tour_step_indicator.js +8 -3
- package/lib/global_styling/mixins/_button.js +29 -10
- package/lib/global_styling/mixins/_container_query.js +112 -0
- package/lib/global_styling/mixins/index.js +11 -0
- package/lib/services/container_query/container_query_hook.js +67 -0
- package/lib/services/container_query/index.js +16 -0
- package/lib/services/container_query/match_container.js +243 -0
- package/optimize/es/components/basic_table/basic_table.js +30 -49
- package/optimize/es/components/beacon/beacon.styles.js +1 -1
- package/optimize/es/components/button/index.js +2 -1
- package/optimize/es/components/button/split_button/index.js +10 -0
- package/optimize/es/components/button/split_button/split_button.js +98 -0
- package/optimize/es/components/button/split_button/split_button.styles.js +51 -0
- package/optimize/es/components/button/split_button/split_button_actions.js +89 -0
- package/optimize/es/components/button/split_button/split_button_context.js +14 -0
- package/optimize/es/components/collapsible_nav/collapsible_nav.js +1 -0
- package/optimize/es/components/collapsible_nav_beta/collapsible_nav_beta.js +1 -0
- package/optimize/es/components/datagrid/controls/fullscreen_selector.styles.js +1 -1
- package/optimize/es/components/empty_prompt/empty_prompt.js +1 -1
- package/optimize/es/components/flex/flex_group.js +1 -1
- package/optimize/es/components/flyout/_flyout_overlay.js +52 -0
- package/optimize/es/components/flyout/_flyout_resize_button.js +31 -0
- package/optimize/es/components/flyout/{flyout_resizable.styles.js → _flyout_resize_button.styles.js} +11 -11
- package/optimize/es/components/flyout/const.js +42 -0
- package/optimize/es/components/flyout/flyout.component.js +469 -0
- package/optimize/es/components/flyout/flyout.js +53 -349
- package/optimize/es/components/flyout/flyout.styles.js +103 -7
- package/optimize/es/components/flyout/flyout_menu.js +162 -0
- package/optimize/es/components/flyout/flyout_menu.styles.js +19 -0
- package/optimize/es/components/flyout/flyout_menu_context.js +10 -0
- package/optimize/es/components/flyout/flyout_parent_context.js +36 -0
- package/optimize/es/components/flyout/flyout_resizable.js +7 -138
- package/optimize/es/components/flyout/hooks.js +25 -0
- package/optimize/es/components/flyout/index.js +5 -2
- package/optimize/es/components/flyout/manager/actions.js +153 -0
- package/optimize/es/components/flyout/manager/activity_stage.js +95 -0
- package/optimize/es/components/flyout/manager/const.js +56 -0
- package/optimize/es/components/flyout/manager/context.js +33 -0
- package/optimize/es/components/flyout/manager/flyout_child.js +71 -0
- package/optimize/es/components/flyout/manager/flyout_main.js +61 -0
- package/optimize/es/components/flyout/manager/flyout_main.styles.js +25 -0
- package/optimize/es/components/flyout/manager/flyout_managed.js +223 -0
- package/optimize/es/components/flyout/manager/flyout_managed.styles.js +69 -0
- package/optimize/es/components/flyout/manager/hooks.js +55 -0
- package/optimize/es/components/flyout/manager/index.js +31 -0
- package/optimize/es/components/flyout/manager/layout_mode.js +162 -0
- package/optimize/es/components/flyout/manager/provider.js +53 -0
- package/optimize/es/components/flyout/manager/reducer.js +312 -0
- package/optimize/es/components/flyout/manager/selectors.js +116 -0
- package/optimize/es/components/flyout/manager/store.js +113 -0
- package/optimize/es/components/flyout/manager/types.js +1 -0
- package/optimize/es/components/flyout/manager/validation.js +85 -0
- package/optimize/es/components/flyout/types.js +1 -0
- package/optimize/es/components/flyout/use_flyout_resizable.js +144 -0
- package/optimize/es/components/flyout/use_flyout_z_index.js +46 -0
- package/optimize/es/components/horizontal_rule/horizontal_rule.js +1 -1
- package/optimize/es/components/icon/assets/agentBuilderRobot.js +36 -0
- package/optimize/es/components/icon/assets/cross_project_search.js +34 -0
- package/optimize/es/components/icon/assets/dashed_circle.js +34 -0
- package/optimize/es/components/icon/assets/product_robot.js +36 -0
- package/optimize/es/components/icon/icon_map.js +3 -0
- package/optimize/es/components/link/external_link_icon.js +6 -3
- package/optimize/es/components/overlay_mask/overlay_mask.js +13 -3
- package/optimize/es/components/overlay_mask/overlay_mask.styles.js +11 -2
- package/optimize/es/components/page/page_header/page_header_content.js +1 -1
- package/optimize/es/components/provider/provider.js +2 -1
- package/optimize/es/components/search_bar/search_bar.js +1 -1
- package/optimize/es/components/spacer/spacer.js +1 -1
- package/optimize/es/components/tour/tour_step_indicator.js +8 -3
- package/optimize/es/global_styling/mixins/_button.js +28 -9
- package/optimize/es/global_styling/mixins/_container_query.js +106 -0
- package/optimize/es/global_styling/mixins/index.js +1 -0
- package/optimize/es/services/container_query/container_query_hook.js +59 -0
- package/optimize/es/{components/flyout/sessions → services/container_query}/index.js +1 -2
- package/optimize/es/services/container_query/match_container.js +229 -0
- package/optimize/lib/components/basic_table/basic_table.js +30 -49
- package/optimize/lib/components/beacon/beacon.styles.js +1 -1
- package/optimize/lib/components/button/index.js +8 -1
- package/optimize/lib/components/button/split_button/index.js +25 -0
- package/optimize/lib/components/button/split_button/split_button.js +107 -0
- package/optimize/lib/components/button/split_button/split_button.styles.js +55 -0
- package/optimize/lib/components/button/split_button/split_button_actions.js +98 -0
- package/{test-env/components/flyout/flyout_context.js → optimize/lib/components/button/split_button/split_button_context.js} +6 -7
- package/optimize/lib/components/collapsible_nav/collapsible_nav.js +1 -0
- package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_beta.js +1 -0
- package/optimize/lib/components/datagrid/controls/fullscreen_selector.styles.js +1 -1
- package/optimize/lib/components/empty_prompt/empty_prompt.js +1 -1
- package/optimize/lib/components/flex/flex_group.js +1 -1
- package/optimize/lib/components/flyout/_flyout_overlay.js +62 -0
- package/optimize/lib/components/flyout/_flyout_resize_button.js +37 -0
- package/{lib/components/flyout/flyout_resizable.styles.js → optimize/lib/components/flyout/_flyout_resize_button.styles.js} +12 -12
- package/optimize/lib/components/flyout/const.js +49 -0
- package/optimize/lib/components/flyout/flyout.component.js +477 -0
- package/optimize/lib/components/flyout/flyout.js +77 -349
- package/optimize/lib/components/flyout/flyout.styles.js +103 -7
- package/optimize/lib/components/flyout/flyout_menu.js +168 -0
- package/optimize/lib/components/flyout/flyout_menu.styles.js +25 -0
- package/optimize/lib/components/flyout/flyout_menu_context.js +16 -0
- package/optimize/lib/components/flyout/flyout_parent_context.js +43 -0
- package/optimize/lib/components/flyout/flyout_resizable.js +9 -139
- package/optimize/lib/components/flyout/hooks.js +30 -0
- package/optimize/lib/components/flyout/index.js +21 -14
- package/optimize/lib/components/flyout/manager/actions.js +159 -0
- package/optimize/lib/components/flyout/manager/activity_stage.js +101 -0
- package/optimize/lib/components/flyout/manager/const.js +62 -0
- package/optimize/lib/components/flyout/manager/context.js +41 -0
- package/optimize/lib/components/flyout/manager/flyout_child.js +76 -0
- package/optimize/lib/components/flyout/manager/flyout_main.js +66 -0
- package/optimize/lib/components/flyout/manager/flyout_main.styles.js +31 -0
- package/optimize/lib/components/flyout/manager/flyout_managed.js +231 -0
- package/optimize/lib/components/flyout/manager/flyout_managed.styles.js +74 -0
- package/optimize/lib/components/flyout/manager/hooks.js +131 -0
- package/optimize/lib/components/flyout/manager/index.js +168 -0
- package/optimize/lib/components/flyout/manager/layout_mode.js +169 -0
- package/optimize/lib/components/flyout/manager/provider.js +61 -0
- package/optimize/lib/components/flyout/manager/reducer.js +318 -0
- package/optimize/lib/components/flyout/manager/selectors.js +122 -0
- package/optimize/lib/components/flyout/manager/store.js +120 -0
- package/optimize/lib/components/flyout/manager/validation.js +94 -0
- package/optimize/lib/components/flyout/types.js +5 -0
- package/optimize/lib/components/flyout/use_flyout_resizable.js +151 -0
- package/optimize/lib/components/flyout/use_flyout_z_index.js +51 -0
- package/optimize/lib/components/horizontal_rule/horizontal_rule.js +1 -1
- package/optimize/lib/components/icon/assets/agentBuilderRobot.js +44 -0
- package/optimize/lib/components/icon/assets/cross_project_search.js +42 -0
- package/optimize/lib/components/icon/assets/dashed_circle.js +42 -0
- package/optimize/lib/components/icon/assets/product_robot.js +44 -0
- package/optimize/lib/components/icon/icon_map.js +3 -0
- package/optimize/lib/components/icon/svgs/cross_project_search.svg +3 -0
- package/optimize/lib/components/icon/svgs/dashed_circle.svg +5 -0
- package/optimize/lib/components/icon/svgs/product_robot.svg +4 -0
- package/optimize/lib/components/link/external_link_icon.js +6 -3
- package/optimize/lib/components/overlay_mask/overlay_mask.js +12 -2
- package/optimize/lib/components/overlay_mask/overlay_mask.styles.js +11 -4
- package/optimize/lib/components/page/page_header/page_header_content.js +1 -1
- package/optimize/lib/components/provider/provider.js +2 -1
- package/optimize/lib/components/search_bar/search_bar.js +1 -1
- package/optimize/lib/components/spacer/spacer.js +1 -1
- package/optimize/lib/components/tour/tour_step_indicator.js +8 -3
- package/optimize/lib/global_styling/mixins/_button.js +29 -10
- package/optimize/lib/global_styling/mixins/_container_query.js +112 -0
- package/optimize/lib/global_styling/mixins/index.js +11 -0
- package/optimize/lib/services/container_query/container_query_hook.js +65 -0
- package/optimize/lib/services/container_query/index.js +16 -0
- package/optimize/lib/services/container_query/match_container.js +231 -0
- package/package.json +5 -4
- package/test-env/components/avatar/avatar.js +1 -1
- package/test-env/components/badge/badge.js +1 -1
- package/test-env/components/badge/beta_badge/beta_badge.js +1 -1
- package/test-env/components/basic_table/basic_table.js +36 -55
- package/test-env/components/basic_table/in_memory_table.js +6 -6
- package/test-env/components/beacon/beacon.styles.js +1 -1
- package/test-env/components/button/button_display/_button_display_content.js +1 -1
- package/test-env/components/button/button_empty/button_empty.js +1 -1
- package/test-env/components/button/button_group/button_group.js +1 -1
- package/test-env/components/button/button_group/button_group_button.js +1 -1
- package/test-env/components/button/button_icon/button_icon.js +1 -1
- package/test-env/components/button/index.js +8 -1
- package/test-env/components/button/split_button/index.js +25 -0
- package/test-env/components/button/split_button/split_button.js +123 -0
- package/test-env/components/button/split_button/split_button.styles.js +55 -0
- package/test-env/components/button/split_button/split_button_actions.js +120 -0
- package/test-env/components/button/split_button/split_button_context.js +20 -0
- package/test-env/components/call_out/call_out.js +1 -1
- package/test-env/components/card/card.js +1 -1
- package/test-env/components/collapsible_nav/collapsible_nav.js +20 -101
- package/test-env/components/collapsible_nav/collapsible_nav_group/collapsible_nav_group.js +1 -1
- package/test-env/components/collapsible_nav_beta/_kibana_solution/collapsible_nav_kibana_solution.js +1 -1
- package/test-env/components/collapsible_nav_beta/collapsible_nav_beta.js +1 -0
- package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_button.js +1 -1
- package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_item.js +2 -2
- package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_popover.js +2 -2
- package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_item.js +4 -4
- package/test-env/components/comment_list/comment.js +2 -2
- package/test-env/components/comment_list/comment_event.js +1 -1
- package/test-env/components/comment_list/comment_list.js +2 -2
- package/test-env/components/comment_list/comment_timeline.js +1 -1
- package/test-env/components/context_menu/context_menu_item.js +1 -1
- package/test-env/components/datagrid/body/cell/data_grid_cell.js +12 -12
- package/test-env/components/datagrid/body/data_grid_body.js +7 -7
- package/test-env/components/datagrid/body/data_grid_body_custom.js +7 -7
- package/test-env/components/datagrid/body/data_grid_body_virtualized.js +7 -7
- package/test-env/components/datagrid/body/header/data_grid_header_cell.js +6 -6
- package/test-env/components/datagrid/controls/column_sorting.js +7 -7
- package/test-env/components/datagrid/controls/column_sorting_draggable.js +1 -1
- package/test-env/components/datagrid/controls/data_grid_toolbar_control.js +1 -1
- package/test-env/components/datagrid/controls/fullscreen_selector.styles.js +1 -1
- package/test-env/components/datagrid/utils/in_memory.js +6 -6
- package/test-env/components/date_picker/date_picker.js +2 -2
- package/test-env/components/date_picker/date_picker_range.js +1 -1
- package/test-env/components/empty_prompt/empty_prompt.js +2 -2
- package/test-env/components/flex/flex_group.js +1 -1
- package/test-env/components/flyout/_flyout_overlay.js +62 -0
- package/test-env/components/flyout/_flyout_resize_button.js +37 -0
- package/{optimize/lib/components/flyout/flyout_resizable.styles.js → test-env/components/flyout/_flyout_resize_button.styles.js} +12 -12
- package/test-env/components/flyout/const.js +49 -0
- package/test-env/components/flyout/flyout.component.js +477 -0
- package/test-env/components/flyout/flyout.styles.js +103 -7
- package/test-env/components/flyout/flyout_menu.js +241 -0
- package/test-env/components/flyout/flyout_menu.styles.js +25 -0
- package/test-env/components/flyout/flyout_menu_context.js +16 -0
- package/test-env/components/flyout/flyout_parent_context.js +43 -0
- package/test-env/components/flyout/flyout_resizable.js +35 -139
- package/test-env/components/flyout/hooks.js +30 -0
- package/test-env/components/flyout/index.js +21 -14
- package/test-env/components/flyout/manager/actions.js +159 -0
- package/test-env/components/flyout/manager/activity_stage.js +101 -0
- package/test-env/components/flyout/manager/const.js +62 -0
- package/test-env/components/flyout/manager/context.js +41 -0
- package/test-env/components/flyout/manager/flyout_child.js +76 -0
- package/test-env/components/flyout/manager/flyout_main.js +66 -0
- package/test-env/components/flyout/manager/flyout_main.styles.js +31 -0
- package/test-env/components/flyout/manager/flyout_managed.js +231 -0
- package/test-env/components/flyout/manager/flyout_managed.styles.js +74 -0
- package/test-env/components/flyout/manager/hooks.js +131 -0
- package/test-env/components/flyout/manager/index.js +168 -0
- package/test-env/components/flyout/manager/layout_mode.js +169 -0
- package/test-env/components/flyout/manager/provider.js +61 -0
- package/test-env/components/flyout/manager/reducer.js +318 -0
- package/test-env/components/flyout/manager/selectors.js +122 -0
- package/test-env/components/flyout/manager/store.js +120 -0
- package/test-env/components/flyout/manager/types.js +5 -0
- package/test-env/components/flyout/manager/validation.js +94 -0
- package/test-env/components/flyout/types.js +5 -0
- package/test-env/components/flyout/use_flyout_resizable.js +151 -0
- package/test-env/components/flyout/use_flyout_z_index.js +51 -0
- package/test-env/components/form/field_number/field_number.js +2 -2
- package/test-env/components/form/field_text/field_text.js +2 -2
- package/test-env/components/form/form_control_button/form_control_button.js +1 -1
- package/test-env/components/form/form_control_layout/form_control_layout.js +2 -2
- package/test-env/components/form/form_control_layout/form_control_layout_custom_icon.js +1 -1
- package/test-env/components/form/form_control_layout/form_control_layout_icons.js +2 -2
- package/test-env/components/form/text_area/text_area.js +2 -2
- package/test-env/components/header/header_links/header_link.js +1 -1
- package/test-env/components/header/header_links/header_links.js +1 -1
- package/test-env/components/header/header_logo/header_logo.js +1 -1
- package/test-env/components/header/header_section/header_section_item_button.js +1 -1
- package/test-env/components/horizontal_rule/horizontal_rule.js +1 -1
- package/test-env/components/icon/assets/agentBuilderRobot.js +44 -0
- package/test-env/components/icon/assets/cross_project_search.js +42 -0
- package/test-env/components/icon/assets/dashed_circle.js +42 -0
- package/test-env/components/icon/assets/product_robot.js +44 -0
- package/test-env/components/icon/icon_map.js +3 -0
- package/test-env/components/key_pad_menu/key_pad_menu_item.js +1 -1
- package/test-env/components/link/external_link_icon.js +6 -3
- package/test-env/components/list_group/list_group.js +2 -2
- package/test-env/components/list_group/list_group_item.js +2 -2
- package/test-env/components/list_group/list_group_item_extra_action.js +1 -1
- package/test-env/components/list_group/pinnable_list_group/pinnable_list_group.js +4 -4
- package/test-env/components/loading/loading_logo.js +1 -1
- package/test-env/components/markdown_editor/markdown_editor.js +1 -1
- package/test-env/components/markdown_editor/markdown_editor_drop_zone.js +1 -1
- package/test-env/components/markdown_editor/markdown_editor_footer.js +1 -1
- package/test-env/components/markdown_editor/markdown_editor_toolbar.js +1 -1
- package/test-env/components/overlay_mask/overlay_mask.js +12 -2
- package/test-env/components/overlay_mask/overlay_mask.styles.js +11 -4
- package/test-env/components/page/page_header/page_header_content.js +2 -2
- package/test-env/components/pagination/pagination_button.js +1 -1
- package/test-env/components/provider/provider.js +2 -1
- package/test-env/components/search_bar/search_bar.js +1 -1
- package/test-env/components/selectable/selectable_list/selectable_list.js +1 -1
- package/test-env/components/selectable/selectable_list/selectable_list_item.js +1 -1
- package/test-env/components/selectable/selectable_templates/selectable_template_sitewide.js +1 -1
- package/test-env/components/spacer/spacer.js +1 -1
- package/test-env/components/table/table_header_cell.js +1 -1
- package/test-env/components/timeline/timeline_item_icon.js +1 -1
- package/test-env/components/toast/global_toast_list.js +1 -1
- package/test-env/components/toast/toast.js +1 -1
- package/test-env/components/tool_tip/icon_tip.js +1 -1
- package/test-env/components/tour/tour_step_indicator.js +8 -3
- package/test-env/global_styling/mixins/_button.js +29 -10
- package/test-env/global_styling/mixins/_container_query.js +112 -0
- package/test-env/global_styling/mixins/index.js +11 -0
- package/test-env/services/container_query/container_query_hook.js +65 -0
- package/test-env/services/container_query/index.js +16 -0
- package/test-env/services/container_query/match_container.js +231 -0
- package/es/components/flyout/flyout_child.js +0 -223
- package/es/components/flyout/flyout_child.styles.js +0 -32
- package/es/components/flyout/flyout_child_manager.js +0 -114
- package/es/components/flyout/sessions/flyout_provider.js +0 -95
- package/es/components/flyout/sessions/flyout_reducer.js +0 -195
- package/es/components/flyout/sessions/use_eui_flyout.js +0 -82
- package/lib/components/flyout/flyout_child.js +0 -231
- package/lib/components/flyout/flyout_child.styles.js +0 -38
- package/lib/components/flyout/flyout_child_manager.js +0 -122
- package/lib/components/flyout/sessions/flyout_provider.js +0 -102
- package/lib/components/flyout/sessions/flyout_reducer.js +0 -202
- package/lib/components/flyout/sessions/index.js +0 -25
- package/lib/components/flyout/sessions/use_eui_flyout.js +0 -88
- package/optimize/es/components/flyout/flyout_child.js +0 -178
- package/optimize/es/components/flyout/flyout_child.styles.js +0 -32
- package/optimize/es/components/flyout/flyout_child_manager.js +0 -100
- package/optimize/es/components/flyout/sessions/flyout_provider.js +0 -90
- package/optimize/es/components/flyout/sessions/flyout_reducer.js +0 -187
- package/optimize/es/components/flyout/sessions/use_eui_flyout.js +0 -82
- package/optimize/lib/components/flyout/flyout_child.js +0 -186
- package/optimize/lib/components/flyout/flyout_child.styles.js +0 -38
- package/optimize/lib/components/flyout/flyout_child_manager.js +0 -110
- package/optimize/lib/components/flyout/sessions/flyout_provider.js +0 -100
- package/optimize/lib/components/flyout/sessions/flyout_reducer.js +0 -195
- package/optimize/lib/components/flyout/sessions/index.js +0 -25
- package/optimize/lib/components/flyout/sessions/use_eui_flyout.js +0 -88
- package/test-env/components/flyout/flyout_child.js +0 -230
- package/test-env/components/flyout/flyout_child.styles.js +0 -38
- package/test-env/components/flyout/flyout_child_manager.js +0 -119
- package/test-env/components/flyout/sessions/flyout_provider.js +0 -100
- package/test-env/components/flyout/sessions/flyout_reducer.js +0 -195
- package/test-env/components/flyout/sessions/index.js +0 -25
- package/test-env/components/flyout/sessions/use_eui_flyout.js +0 -88
- /package/es/components/flyout/{sessions → manager}/types.js +0 -0
- /package/{optimize/es/components/flyout/sessions → es/components/flyout}/types.js +0 -0
- /package/lib/components/flyout/{sessions → manager}/types.js +0 -0
- /package/{optimize/lib/components/flyout/sessions → lib/components/flyout}/types.js +0 -0
- /package/{test-env/components/flyout/sessions → optimize/lib/components/flyout/manager}/types.js +0 -0
|
@@ -1,22 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
var _excluded = ["className", "children", "as", "hideCloseButton", "closeButtonProps", "closeButtonPosition", "onClose", "ownFocus", "side", "size", "paddingSize", "maxWidth", "style", "maskProps", "type", "outsideClickCloses", "pushMinBreakpoint", "pushAnimation", "focusTrapProps", "includeFixedHeadersInFocusTrap", "includeSelectorInFocusTrap", "aria-describedby"];
|
|
1
|
+
var _excluded = ["as", "onClose", "onActive", "session"];
|
|
3
2
|
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
|
|
4
|
-
import PropTypes from "prop-types";
|
|
5
|
-
function _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); }
|
|
6
|
-
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."); }
|
|
7
|
-
function _iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); }
|
|
8
|
-
function _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); }
|
|
9
|
-
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; }
|
|
10
|
-
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; }
|
|
11
|
-
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; }
|
|
12
|
-
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
|
|
13
|
-
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); }
|
|
14
|
-
function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
|
|
15
|
-
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
16
|
-
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; } }
|
|
17
|
-
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; }
|
|
18
|
-
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
|
|
19
|
-
function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
|
|
20
3
|
function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], t.indexOf(o) >= 0 || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
|
|
21
4
|
function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.indexOf(n) >= 0) continue; t[n] = r[n]; } return t; }
|
|
22
5
|
/*
|
|
@@ -27,381 +10,96 @@ function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t =
|
|
|
27
10
|
* Side Public License, v 1.
|
|
28
11
|
*/
|
|
29
12
|
|
|
30
|
-
import React, {
|
|
31
|
-
import
|
|
32
|
-
import { keys, EuiWindowEvent, useCombinedRefs, useIsWithinMinBreakpoint, useEuiMemoizedStyles, useGeneratedHtmlId, useEuiThemeCSSVariables, focusTrapPubSub } from '../../services';
|
|
33
|
-
import { logicalStyle } from '../../global_styling';
|
|
34
|
-
import { EuiFocusTrap } from '../focus_trap';
|
|
35
|
-
import { EuiOverlayMask } from '../overlay_mask';
|
|
36
|
-
import { EuiI18n } from '../i18n';
|
|
37
|
-
import { useResizeObserver } from '../observer/resize_observer';
|
|
38
|
-
import { EuiPortal } from '../portal';
|
|
39
|
-
import { EuiScreenReaderOnly } from '../accessibility';
|
|
40
|
-
import { EuiFlyoutCloseButton } from './_flyout_close_button';
|
|
41
|
-
import { euiFlyoutStyles } from './flyout.styles';
|
|
42
|
-
import { EuiFlyoutChild } from './flyout_child';
|
|
43
|
-
import { EuiFlyoutChildProvider } from './flyout_child_manager';
|
|
13
|
+
import React, { useRef, forwardRef } from 'react';
|
|
14
|
+
import PropTypes from "prop-types";
|
|
44
15
|
import { usePropsWithComponentDefaults } from '../provider/component_defaults';
|
|
16
|
+
import { EuiFlyoutComponent } from './flyout.component';
|
|
17
|
+
import { EuiFlyoutChild, EuiFlyoutMain, useHasActiveSession } from './manager';
|
|
18
|
+
import { EuiFlyoutMenuContext } from './flyout_menu_context';
|
|
19
|
+
import { useIsInsideParentFlyout } from './flyout_parent_context';
|
|
20
|
+
import { SESSION_INHERIT, SESSION_NEVER, SESSION_START } from './manager/const';
|
|
45
21
|
import { jsx as ___EmotionJSX } from "@emotion/react";
|
|
46
|
-
export
|
|
47
|
-
export var SIDES = ['left', 'right'];
|
|
48
|
-
export var SIZES = ['s', 'm', 'l'];
|
|
49
|
-
/**
|
|
50
|
-
* Custom type checker for named flyout sizes since the prop
|
|
51
|
-
* `size` can also be CSSProperties['width'] (string | number)
|
|
52
|
-
*/
|
|
53
|
-
function isEuiFlyoutSizeNamed(value) {
|
|
54
|
-
return SIZES.includes(value);
|
|
55
|
-
}
|
|
56
|
-
export var PADDING_SIZES = ['none', 's', 'm', 'l'];
|
|
57
|
-
var defaultElement = 'div';
|
|
22
|
+
export { FLYOUT_SIDES, FLYOUT_PADDING_SIZES, FLYOUT_SIZES, FLYOUT_TYPES } from './const';
|
|
58
23
|
export var EuiFlyout = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
59
24
|
var _usePropsWithComponen = usePropsWithComponentDefaults('EuiFlyout', props),
|
|
60
|
-
className = _usePropsWithComponen.className,
|
|
61
|
-
children = _usePropsWithComponen.children,
|
|
62
25
|
as = _usePropsWithComponen.as,
|
|
63
|
-
_usePropsWithComponen2 = _usePropsWithComponen.hideCloseButton,
|
|
64
|
-
hideCloseButton = _usePropsWithComponen2 === void 0 ? false : _usePropsWithComponen2,
|
|
65
|
-
closeButtonProps = _usePropsWithComponen.closeButtonProps,
|
|
66
|
-
_usePropsWithComponen3 = _usePropsWithComponen.closeButtonPosition,
|
|
67
|
-
_closeButtonPosition = _usePropsWithComponen3 === void 0 ? 'inside' : _usePropsWithComponen3,
|
|
68
26
|
onClose = _usePropsWithComponen.onClose,
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
_usePropsWithComponen5 = _usePropsWithComponen.side,
|
|
72
|
-
side = _usePropsWithComponen5 === void 0 ? 'right' : _usePropsWithComponen5,
|
|
73
|
-
_usePropsWithComponen6 = _usePropsWithComponen.size,
|
|
74
|
-
size = _usePropsWithComponen6 === void 0 ? 'm' : _usePropsWithComponen6,
|
|
75
|
-
_usePropsWithComponen7 = _usePropsWithComponen.paddingSize,
|
|
76
|
-
paddingSize = _usePropsWithComponen7 === void 0 ? 'l' : _usePropsWithComponen7,
|
|
77
|
-
_usePropsWithComponen8 = _usePropsWithComponen.maxWidth,
|
|
78
|
-
maxWidth = _usePropsWithComponen8 === void 0 ? false : _usePropsWithComponen8,
|
|
79
|
-
style = _usePropsWithComponen.style,
|
|
80
|
-
maskProps = _usePropsWithComponen.maskProps,
|
|
81
|
-
_usePropsWithComponen9 = _usePropsWithComponen.type,
|
|
82
|
-
type = _usePropsWithComponen9 === void 0 ? 'overlay' : _usePropsWithComponen9,
|
|
83
|
-
outsideClickCloses = _usePropsWithComponen.outsideClickCloses,
|
|
84
|
-
_usePropsWithComponen10 = _usePropsWithComponen.pushMinBreakpoint,
|
|
85
|
-
pushMinBreakpoint = _usePropsWithComponen10 === void 0 ? 'l' : _usePropsWithComponen10,
|
|
86
|
-
_usePropsWithComponen11 = _usePropsWithComponen.pushAnimation,
|
|
87
|
-
pushAnimation = _usePropsWithComponen11 === void 0 ? false : _usePropsWithComponen11,
|
|
88
|
-
_focusTrapProps = _usePropsWithComponen.focusTrapProps,
|
|
89
|
-
_usePropsWithComponen12 = _usePropsWithComponen.includeFixedHeadersInFocusTrap,
|
|
90
|
-
includeFixedHeadersInFocusTrap = _usePropsWithComponen12 === void 0 ? true : _usePropsWithComponen12,
|
|
91
|
-
includeSelectorInFocusTrap = _usePropsWithComponen.includeSelectorInFocusTrap,
|
|
92
|
-
_ariaDescribedBy = _usePropsWithComponen['aria-describedby'],
|
|
27
|
+
onActive = _usePropsWithComponen.onActive,
|
|
28
|
+
session = _usePropsWithComponen.session,
|
|
93
29
|
rest = _objectWithoutProperties(_usePropsWithComponen, _excluded);
|
|
94
|
-
var
|
|
95
|
-
|
|
96
|
-
var
|
|
97
|
-
var maskRef = useRef(null);
|
|
98
|
-
|
|
99
|
-
// Ref for the main flyout element to pass to context
|
|
100
|
-
var internalParentFlyoutRef = useRef(null);
|
|
101
|
-
var _useState = useState(false),
|
|
102
|
-
_useState2 = _slicedToArray(_useState, 2),
|
|
103
|
-
isChildFlyoutOpen = _useState2[0],
|
|
104
|
-
setIsChildFlyoutOpen = _useState2[1];
|
|
105
|
-
var _useState3 = useState('side-by-side'),
|
|
106
|
-
_useState4 = _slicedToArray(_useState3, 2),
|
|
107
|
-
childLayoutMode = _useState4[0],
|
|
108
|
-
setChildLayoutMode = _useState4[1];
|
|
109
|
-
|
|
110
|
-
// Check for child flyout
|
|
111
|
-
var childFlyoutElement = React.Children.toArray(children).find(function (child) {
|
|
112
|
-
return /*#__PURE__*/React.isValidElement(child) && (child.type === EuiFlyoutChild || child.type.displayName === 'EuiFlyoutChild');
|
|
113
|
-
});
|
|
114
|
-
var hasChildFlyout = !!childFlyoutElement;
|
|
115
|
-
|
|
116
|
-
// Validate props, determine close button position and set child flyout classes
|
|
117
|
-
var closeButtonPosition;
|
|
118
|
-
var childFlyoutClasses = [];
|
|
119
|
-
if (hasChildFlyout) {
|
|
120
|
-
if (side !== 'right') {
|
|
121
|
-
throw new Error('EuiFlyout: When an EuiFlyoutChild is present, the `side` prop of EuiFlyout must be "right".');
|
|
122
|
-
}
|
|
123
|
-
if (!isEuiFlyoutSizeNamed(size) || !['s', 'm'].includes(size)) {
|
|
124
|
-
throw new Error("EuiFlyout: When an EuiFlyoutChild is present, the `size` prop of EuiFlyout must be \"s\" or \"m\". Received \"".concat(size, "\"."));
|
|
125
|
-
}
|
|
126
|
-
if (_closeButtonPosition !== 'inside') {
|
|
127
|
-
throw new Error('EuiFlyout: When an EuiFlyoutChild is present, the `closeButtonPosition` prop of EuiFlyout must be "inside".');
|
|
128
|
-
}
|
|
129
|
-
closeButtonPosition = 'inside';
|
|
130
|
-
childFlyoutClasses = ['euiFlyout--hasChild', "euiFlyout--hasChild--".concat(childLayoutMode), "euiFlyout--hasChild--".concat(childFlyoutElement.props.size || 's')];
|
|
131
|
-
} else {
|
|
132
|
-
closeButtonPosition = _closeButtonPosition;
|
|
133
|
-
}
|
|
134
|
-
var windowIsLargeEnoughToPush = useIsWithinMinBreakpoint(pushMinBreakpoint);
|
|
135
|
-
var isPushed = type === 'push' && windowIsLargeEnoughToPush;
|
|
136
|
-
|
|
137
|
-
/**
|
|
138
|
-
* Setting up the refs on the actual flyout element in order to
|
|
139
|
-
* accommodate for the `isPushed` state by adding padding to the body equal to the width of the element
|
|
140
|
-
*/
|
|
141
|
-
var _useState5 = useState(null),
|
|
142
|
-
_useState6 = _slicedToArray(_useState5, 2),
|
|
143
|
-
resizeRef = _useState6[0],
|
|
144
|
-
setResizeRef = _useState6[1];
|
|
145
|
-
var setRef = useCombinedRefs([setResizeRef, ref, internalParentFlyoutRef]);
|
|
146
|
-
var _useResizeObserver = useResizeObserver(isPushed ? resizeRef : null, 'width'),
|
|
147
|
-
width = _useResizeObserver.width;
|
|
148
|
-
useEffect(function () {
|
|
149
|
-
/**
|
|
150
|
-
* Accomodate for the `isPushed` state by adding padding to the body equal to the width of the element
|
|
151
|
-
*/
|
|
152
|
-
if (isPushed) {
|
|
153
|
-
var paddingSide = side === 'left' ? 'paddingInlineStart' : 'paddingInlineEnd';
|
|
154
|
-
var cssVarName = "--euiPushFlyoutOffset".concat(side === 'left' ? 'InlineStart' : 'InlineEnd');
|
|
155
|
-
document.body.style[paddingSide] = "".concat(width, "px");
|
|
156
|
-
|
|
157
|
-
// EUI doesn't use this css variable, but it is useful for consumers
|
|
158
|
-
setGlobalCSSVariables(_defineProperty({}, cssVarName, "".concat(width, "px")));
|
|
159
|
-
return function () {
|
|
160
|
-
document.body.style[paddingSide] = '';
|
|
161
|
-
setGlobalCSSVariables(_defineProperty({}, cssVarName, null));
|
|
162
|
-
};
|
|
163
|
-
}
|
|
164
|
-
}, [isPushed, setGlobalCSSVariables, side, width]);
|
|
165
|
-
|
|
166
|
-
/**
|
|
167
|
-
* This class doesn't actually do anything by EUI, but is nice to add for consumers (JIC)
|
|
168
|
-
*/
|
|
169
|
-
useEffect(function () {
|
|
170
|
-
document.body.classList.add('euiBody--hasFlyout');
|
|
171
|
-
return function () {
|
|
172
|
-
// Remove the hasFlyout class when the flyout is unmounted
|
|
173
|
-
document.body.classList.remove('euiBody--hasFlyout');
|
|
174
|
-
};
|
|
175
|
-
}, []);
|
|
176
|
-
|
|
177
|
-
/**
|
|
178
|
-
* ESC key closes flyout (always?)
|
|
179
|
-
*/
|
|
180
|
-
var onKeyDown = useCallback(function (event) {
|
|
181
|
-
if (!isPushed && event.key === keys.ESCAPE && !isChildFlyoutOpen) {
|
|
182
|
-
event.preventDefault();
|
|
183
|
-
onClose(event);
|
|
184
|
-
}
|
|
185
|
-
}, [onClose, isPushed, isChildFlyoutOpen]);
|
|
186
|
-
|
|
187
|
-
/**
|
|
188
|
-
* Set inline styles
|
|
189
|
-
*/
|
|
190
|
-
var inlineStyles = useMemo(function () {
|
|
191
|
-
var widthStyle = !isEuiFlyoutSizeNamed(size) && logicalStyle('width', size);
|
|
192
|
-
var maxWidthStyle = typeof maxWidth !== 'boolean' && logicalStyle('max-width', maxWidth);
|
|
193
|
-
return _objectSpread(_objectSpread(_objectSpread({}, style), widthStyle), maxWidthStyle);
|
|
194
|
-
}, [style, maxWidth, size]);
|
|
195
|
-
var styles = useEuiMemoizedStyles(euiFlyoutStyles);
|
|
196
|
-
var cssStyles = [styles.euiFlyout, styles.paddingSizes[paddingSize], isEuiFlyoutSizeNamed(size) && styles[size], maxWidth === false && styles.noMaxWidth, isPushed ? styles.push.push : styles.overlay.overlay, isPushed ? styles.push[side] : styles.overlay[side], isPushed && !pushAnimation && styles.push.noAnimation, styles[side]];
|
|
197
|
-
var classes = classnames.apply(void 0, ['euiFlyout'].concat(_toConsumableArray(childFlyoutClasses), [className]));
|
|
30
|
+
var hasActiveSession = useHasActiveSession();
|
|
31
|
+
var isInsideParentFlyout = useIsInsideParentFlyout();
|
|
32
|
+
var isUnmanagedFlyout = useRef(false);
|
|
198
33
|
|
|
199
34
|
/*
|
|
200
|
-
*
|
|
201
|
-
*
|
|
202
|
-
*
|
|
203
|
-
*
|
|
204
|
-
*
|
|
205
|
-
*
|
|
206
|
-
*
|
|
207
|
-
* Set `onClickOutside={onClose}` when `ownFocus` and `type` are the defaults,
|
|
208
|
-
* or if `outsideClickCloses={true}` to close on clicks that target
|
|
209
|
-
* (both mousedown and mouseup) the overlay mask.
|
|
35
|
+
* Flyout routing logic:
|
|
36
|
+
* - session="start" → Main flyout (creates new session)
|
|
37
|
+
* - session="inherit" + active session → Child flyout (auto-joins, works across React roots!)
|
|
38
|
+
* - session="inherit" + no session → Standard flyout
|
|
39
|
+
* - session="never" → Standard flyout (explicit opt-out)
|
|
40
|
+
* - session=undefined + inside parent + active session → Child flyout (auto-inherit)
|
|
41
|
+
* - session=undefined + not inside parent → Standard flyout (default behavior)
|
|
210
42
|
*/
|
|
211
|
-
var flyoutToggle = useRef(document.activeElement);
|
|
212
|
-
var _useState7 = useState([]),
|
|
213
|
-
_useState8 = _slicedToArray(_useState7, 2),
|
|
214
|
-
focusTrapShards = _useState8[0],
|
|
215
|
-
setFocusTrapShards = _useState8[1];
|
|
216
|
-
var focusTrapSelectors = useMemo(function () {
|
|
217
|
-
var selectors = [];
|
|
218
|
-
if (includeSelectorInFocusTrap) {
|
|
219
|
-
selectors = Array.isArray(includeSelectorInFocusTrap) ? includeSelectorInFocusTrap : [includeSelectorInFocusTrap];
|
|
220
|
-
}
|
|
221
|
-
if (includeFixedHeadersInFocusTrap) {
|
|
222
|
-
selectors.push('.euiHeader[data-fixed-header]');
|
|
223
|
-
}
|
|
224
|
-
return selectors;
|
|
225
|
-
}, [includeSelectorInFocusTrap, includeFixedHeadersInFocusTrap]);
|
|
226
43
|
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
if (focusTrapSelectors.length > 0) {
|
|
237
|
-
var shardsEls = focusTrapSelectors.flatMap(function (selector) {
|
|
238
|
-
return Array.from(document.querySelectorAll(selector));
|
|
239
|
-
});
|
|
240
|
-
setFocusTrapShards(Array.from(shardsEls));
|
|
241
|
-
if (shouldAutoFocus) {
|
|
242
|
-
shardsEls.forEach(function (shard) {
|
|
243
|
-
if (shard.contains(flyoutToggle.current)) {
|
|
244
|
-
resizeRef === null || resizeRef === void 0 || resizeRef.focus();
|
|
245
|
-
}
|
|
246
|
-
});
|
|
44
|
+
// Determine effective session behavior when session is undefined
|
|
45
|
+
var effectiveSession = session === undefined && isInsideParentFlyout && hasActiveSession ? SESSION_INHERIT : session !== null && session !== void 0 ? session : SESSION_NEVER;
|
|
46
|
+
if (effectiveSession !== SESSION_NEVER) {
|
|
47
|
+
if (effectiveSession === SESSION_START) {
|
|
48
|
+
// session=start: create new session
|
|
49
|
+
if (isUnmanagedFlyout.current) {
|
|
50
|
+
// TODO: @tkajtoch - We need to find a better way to handle the missing event.
|
|
51
|
+
onClose === null || onClose === void 0 || onClose({});
|
|
52
|
+
return null;
|
|
247
53
|
}
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
});
|
|
54
|
+
return ___EmotionJSX(EuiFlyoutMain, _extends({}, rest, {
|
|
55
|
+
onClose: onClose,
|
|
56
|
+
onActive: onActive,
|
|
57
|
+
as: "div"
|
|
58
|
+
}));
|
|
253
59
|
}
|
|
254
|
-
}, [focusTrapSelectors, resizeRef]);
|
|
255
|
-
useEffect(function () {
|
|
256
|
-
// Auto-focus should only happen on initial flyout mount (or when the dependencies change)
|
|
257
|
-
// because it snaps focus to the flyout wrapper, which steals it from subsequently focused elements.
|
|
258
|
-
findShards(true);
|
|
259
|
-
var unsubscribe = focusTrapPubSub.subscribe(function () {
|
|
260
|
-
return findShards();
|
|
261
|
-
});
|
|
262
|
-
return unsubscribe;
|
|
263
|
-
}, [findShards]);
|
|
264
|
-
var focusTrapProps = useMemo(function () {
|
|
265
|
-
return _objectSpread(_objectSpread({}, _focusTrapProps), {}, {
|
|
266
|
-
shards: [].concat(_toConsumableArray(focusTrapShards), _toConsumableArray((_focusTrapProps === null || _focusTrapProps === void 0 ? void 0 : _focusTrapProps.shards) || []))
|
|
267
|
-
});
|
|
268
|
-
}, [_focusTrapProps, focusTrapShards]);
|
|
269
60
|
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
return ___EmotionJSX(EuiScreenReaderOnly, null, ___EmotionJSX("p", {
|
|
278
|
-
id: descriptionId
|
|
279
|
-
}, hasOverlayMask ? ___EmotionJSX(EuiI18n, {
|
|
280
|
-
token: "euiFlyout.screenReaderModalDialog",
|
|
281
|
-
default: "You are in a modal dialog. Press Escape or tap/click outside the dialog on the shadowed overlay to close."
|
|
282
|
-
}) : ___EmotionJSX(EuiI18n, {
|
|
283
|
-
token: "euiFlyout.screenReaderNonModalDialog",
|
|
284
|
-
default: "You are in a non-modal dialog. To close the dialog, press Escape."
|
|
285
|
-
}), ' ', focusTrapShards.length > 0 && ___EmotionJSX(EuiI18n, {
|
|
286
|
-
token: "euiFlyout.screenReaderFocusTrapShards",
|
|
287
|
-
default: "You can still continue tabbing through other global page landmarks."
|
|
288
|
-
})));
|
|
289
|
-
}, [hasOverlayMask, descriptionId, focusTrapShards.length]);
|
|
290
|
-
|
|
291
|
-
/*
|
|
292
|
-
* Trap focus even when `ownFocus={false}`, otherwise closing
|
|
293
|
-
* the flyout won't return focus to the originating button.
|
|
294
|
-
*
|
|
295
|
-
* Set `clickOutsideDisables={true}` when `ownFocus={false}`
|
|
296
|
-
* to allow non-keyboard users the ability to interact with
|
|
297
|
-
* elements outside the flyout.
|
|
298
|
-
*
|
|
299
|
-
* Set `onClickOutside={onClose}` when `ownFocus` and `type` are the defaults,
|
|
300
|
-
* or if `outsideClickCloses={true}` to close on clicks that target
|
|
301
|
-
* (both mousedown and mouseup) the overlay mask.
|
|
302
|
-
*/
|
|
303
|
-
var onClickOutside = useCallback(function (event) {
|
|
304
|
-
// Do not close the flyout for any external click
|
|
305
|
-
if (outsideClickCloses === false) return undefined;
|
|
306
|
-
if (hasOverlayMask) {
|
|
307
|
-
// The overlay mask is present, so only clicks on the mask should close the flyout, regardless of outsideClickCloses
|
|
308
|
-
if (event.target === maskRef.current) return onClose(event);
|
|
309
|
-
} else {
|
|
310
|
-
// No overlay mask is present, so any outside clicks should close the flyout
|
|
311
|
-
if (outsideClickCloses === true) return onClose(event);
|
|
61
|
+
// session=inherit: auto-join existing session as child
|
|
62
|
+
if (hasActiveSession && effectiveSession === SESSION_INHERIT) {
|
|
63
|
+
return ___EmotionJSX(EuiFlyoutChild, _extends({}, rest, {
|
|
64
|
+
onClose: onClose,
|
|
65
|
+
onActive: onActive,
|
|
66
|
+
as: "div"
|
|
67
|
+
}));
|
|
312
68
|
}
|
|
313
|
-
// Otherwise if ownFocus is false and outsideClickCloses is undefined, outside clicks should not close the flyout
|
|
314
|
-
return undefined;
|
|
315
|
-
}, [onClose, hasOverlayMask, outsideClickCloses]);
|
|
316
|
-
var closeButton = !hideCloseButton && ___EmotionJSX(EuiFlyoutCloseButton, _extends({}, closeButtonProps, {
|
|
317
|
-
onClose: onClose,
|
|
318
|
-
closeButtonPosition: closeButtonPosition,
|
|
319
|
-
side: side
|
|
320
|
-
}));
|
|
321
|
-
|
|
322
|
-
// render content within EuiFlyoutChildProvider if childFlyoutElement is present
|
|
323
|
-
var contentToRender = children;
|
|
324
|
-
if (hasChildFlyout && childFlyoutElement) {
|
|
325
|
-
contentToRender = ___EmotionJSX(EuiFlyoutChildProvider, {
|
|
326
|
-
parentSize: size,
|
|
327
|
-
parentFlyoutRef: internalParentFlyoutRef,
|
|
328
|
-
childElement: childFlyoutElement,
|
|
329
|
-
childrenToRender: children,
|
|
330
|
-
reportIsChildOpen: setIsChildFlyoutOpen,
|
|
331
|
-
reportChildLayoutMode: setChildLayoutMode
|
|
332
|
-
});
|
|
333
|
-
}
|
|
334
|
-
return ___EmotionJSX(EuiFlyoutWrapper, {
|
|
335
|
-
hasOverlayMask: hasOverlayMask,
|
|
336
|
-
maskProps: _objectSpread(_objectSpread({}, maskProps), {}, {
|
|
337
|
-
maskRef: useCombinedRefs([maskProps === null || maskProps === void 0 ? void 0 : maskProps.maskRef, maskRef])
|
|
338
|
-
}),
|
|
339
|
-
isPortalled: !isPushed
|
|
340
|
-
}, ___EmotionJSX(EuiWindowEvent, {
|
|
341
|
-
event: "keydown",
|
|
342
|
-
handler: onKeyDown
|
|
343
|
-
}), ___EmotionJSX(EuiFocusTrap, _extends({
|
|
344
|
-
disabled: isPushed || ownFocus && isChildFlyoutOpen,
|
|
345
|
-
scrollLock: hasOverlayMask,
|
|
346
|
-
clickOutsideDisables: !ownFocus,
|
|
347
|
-
onClickOutside: onClickOutside
|
|
348
|
-
}, focusTrapProps), ___EmotionJSX(Element, _extends({
|
|
349
|
-
className: classes,
|
|
350
|
-
css: cssStyles,
|
|
351
|
-
style: inlineStyles,
|
|
352
|
-
ref: setRef
|
|
353
|
-
}, rest, {
|
|
354
|
-
role: !isPushed ? 'dialog' : rest.role,
|
|
355
|
-
"aria-modal": !isPushed || undefined,
|
|
356
|
-
tabIndex: !isPushed ? 0 : rest.tabIndex,
|
|
357
|
-
"aria-describedby": !isPushed ? ariaDescribedBy : _ariaDescribedBy,
|
|
358
|
-
"data-autofocus": !isPushed || undefined
|
|
359
|
-
}), !isPushed && screenReaderDescription, closeButton, contentToRender)));
|
|
360
|
-
}
|
|
361
|
-
// React.forwardRef interferes with the inferred element type
|
|
362
|
-
// Casting to ensure correct element prop type checking for `as`
|
|
363
|
-
// e.g., `href` is not on a `div`
|
|
364
|
-
);
|
|
365
|
-
// Recast to allow `displayName`
|
|
366
|
-
EuiFlyout.displayName = 'EuiFlyout';
|
|
367
|
-
|
|
368
|
-
/**
|
|
369
|
-
* Light wrapper for conditionally rendering portals or overlay masks:
|
|
370
|
-
* - If ownFocus is set, wrap with an overlay and allow the user to click it to close it.
|
|
371
|
-
* - Otherwise still wrap within an EuiPortal so it appends to the bottom of the window.
|
|
372
|
-
* Push flyouts have no overlay OR portal behavior.
|
|
373
|
-
*/
|
|
374
|
-
var EuiFlyoutWrapper = function EuiFlyoutWrapper(_ref) {
|
|
375
|
-
var children = _ref.children,
|
|
376
|
-
hasOverlayMask = _ref.hasOverlayMask,
|
|
377
|
-
maskProps = _ref.maskProps,
|
|
378
|
-
isPortalled = _ref.isPortalled;
|
|
379
|
-
if (hasOverlayMask) {
|
|
380
|
-
return ___EmotionJSX(EuiOverlayMask, _extends({
|
|
381
|
-
headerZindexLocation: "below"
|
|
382
|
-
}, maskProps), children);
|
|
383
|
-
} else if (isPortalled) {
|
|
384
|
-
return ___EmotionJSX(EuiPortal, null, children);
|
|
385
|
-
} else {
|
|
386
|
-
return ___EmotionJSX(React.Fragment, null, children);
|
|
387
69
|
}
|
|
70
|
+
isUnmanagedFlyout.current = true;
|
|
71
|
+
return ___EmotionJSX(EuiFlyoutMenuContext.Provider, {
|
|
72
|
+
value: {
|
|
73
|
+
onClose: onClose
|
|
74
|
+
}
|
|
75
|
+
}, ___EmotionJSX(EuiFlyoutComponent, _extends({}, rest, {
|
|
76
|
+
onClose: onClose,
|
|
77
|
+
as: as,
|
|
78
|
+
ref: ref
|
|
79
|
+
})));
|
|
80
|
+
});
|
|
81
|
+
EuiFlyout.propTypes = {
|
|
82
|
+
/**
|
|
83
|
+
* Controls the way the session is managed for this flyout.
|
|
84
|
+
* - `start`: Creates a new flyout session. Use this for the main flyout.
|
|
85
|
+
* - `inherit`: Inherits an existing session if one is active, otherwise functions as a standard flyout.
|
|
86
|
+
* - `never`: Disregards session management and always functions as a standard flyout.
|
|
87
|
+
*
|
|
88
|
+
* When the `session` prop is undefined (not set), the flyout will automatically inherit from
|
|
89
|
+
* a parent flyout if it's nested inside one. Otherwise, it defaults to `never`.
|
|
90
|
+
*
|
|
91
|
+
* Check out [EuiFlyout session management](https://eui.elastic.co/docs/components/containers/flyout/session-management)
|
|
92
|
+
* documentation to learn more.
|
|
93
|
+
* @default undefined (auto-inherit when nested, otherwise 'never')
|
|
94
|
+
*/
|
|
95
|
+
session: PropTypes.oneOfType([PropTypes.any.isRequired, PropTypes.any.isRequired, PropTypes.any.isRequired]),
|
|
96
|
+
/**
|
|
97
|
+
* Callback fired when the flyout becomes active/visible, which may happen programmatically from history navigation.
|
|
98
|
+
*/
|
|
99
|
+
onActive: PropTypes.func,
|
|
100
|
+
/**
|
|
101
|
+
* The HTML element to render as the flyout container.
|
|
102
|
+
*/
|
|
103
|
+
as: PropTypes.any
|
|
388
104
|
};
|
|
389
|
-
|
|
390
|
-
children: PropTypes.node.isRequired,
|
|
391
|
-
hasOverlayMask: PropTypes.bool.isRequired,
|
|
392
|
-
maskProps: PropTypes.shape({
|
|
393
|
-
/**
|
|
394
|
-
* ReactNode to render as this component's content
|
|
395
|
-
*/
|
|
396
|
-
children: PropTypes.node,
|
|
397
|
-
/**
|
|
398
|
-
* Should the mask visually sit above or below the EuiHeader (controlled by z-index)
|
|
399
|
-
*/
|
|
400
|
-
headerZindexLocation: PropTypes.oneOf(["above", "below"]),
|
|
401
|
-
/**
|
|
402
|
-
* React ref to be passed to the wrapping container
|
|
403
|
-
*/
|
|
404
|
-
maskRef: PropTypes.oneOfType([PropTypes.any.isRequired, PropTypes.any.isRequired])
|
|
405
|
-
}).isRequired,
|
|
406
|
-
isPortalled: PropTypes.bool.isRequired
|
|
407
|
-
};
|
|
105
|
+
EuiFlyout.displayName = 'EuiFlyout';
|
|
@@ -1,4 +1,10 @@
|
|
|
1
|
-
|
|
1
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
2
|
+
var _templateObject, _templateObject2, _templateObject3, _templateObject4;
|
|
3
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
4
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
5
|
+
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
6
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
|
|
7
|
+
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
2
8
|
function _taggedTemplateLiteral(e, t) { return t || (t = e.slice(0)), Object.freeze(Object.defineProperties(e, { raw: { value: Object.freeze(t) } })); }
|
|
3
9
|
function _EMOTION_STRINGIFIED_CSS_ERROR__() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; }
|
|
4
10
|
/*
|
|
@@ -11,11 +17,15 @@ function _EMOTION_STRINGIFIED_CSS_ERROR__() { return "You have tried to stringif
|
|
|
11
17
|
|
|
12
18
|
import { css, keyframes } from '@emotion/react';
|
|
13
19
|
import { euiShadowXLarge } from '@elastic/eui-theme-common';
|
|
14
|
-
import {
|
|
20
|
+
import { isEuiFlyoutSizeNamed } from './const';
|
|
21
|
+
import { euiCanAnimate, euiMaxBreakpoint, euiMinBreakpoint, logicalCSS, logicalStyles, mathWithUnits } from '../../global_styling';
|
|
15
22
|
import { euiFormMaxWidth } from '../form/form.styles';
|
|
23
|
+
export var EUI_FLYOUT_CONTAINER_NAME = 'euiFlyout';
|
|
16
24
|
export var FLYOUT_BREAKPOINT = 'm';
|
|
17
|
-
export var euiFlyoutSlideInRight = keyframes(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n
|
|
18
|
-
export var
|
|
25
|
+
export var euiFlyoutSlideInRight = keyframes(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n from {\n opacity: 0;\n transform: translateX(100%);\n }\n to {\n opacity: 1;\n transform: translateX(0%);\n }\n"])));
|
|
26
|
+
export var euiFlyoutSlideOutRight = keyframes(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n from {\n opacity: 1;\n transform: translateX(0%);\n }\n to {\n opacity: 0;\n transform: translateX(100%);\n }\n"])));
|
|
27
|
+
export var euiFlyoutSlideInLeft = keyframes(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n from {\n opacity: 0;\n transform: translateX(-100%);\n }\n to {\n opacity: 1;\n transform: translateX(0%);\n }\n"])));
|
|
28
|
+
export var euiFlyoutSlideOutLeft = keyframes(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\n from {\n opacity: 1;\n transform: translateX(0);\n }\n to {\n opacity: 0;\n transform: translateX(-100%);\n }\n"])));
|
|
19
29
|
var _ref = process.env.NODE_ENV === "production" ? {
|
|
20
30
|
name: "yokctr-noAnimation",
|
|
21
31
|
styles: "animation-duration:0s!important;label:noAnimation;"
|
|
@@ -35,17 +45,18 @@ var _ref2 = process.env.NODE_ENV === "production" ? {
|
|
|
35
45
|
export var euiFlyoutStyles = function euiFlyoutStyles(euiThemeContext) {
|
|
36
46
|
var euiTheme = euiThemeContext.euiTheme;
|
|
37
47
|
return {
|
|
38
|
-
euiFlyout: /*#__PURE__*/css("position:fixed;", logicalCSS('bottom', 0), " ", logicalCSS('top', 'var(--euiFixedHeadersOffset, 0)'), " ", logicalCSS('height', 'inherit'), "
|
|
48
|
+
euiFlyout: /*#__PURE__*/css("position:fixed;", logicalCSS('bottom', 0), " ", logicalCSS('top', 'var(--euiFixedHeadersOffset, 0)'), " ", logicalCSS('height', 'inherit'), " background:", euiTheme.colors.backgroundBasePlain, ";display:flex;flex-direction:column;align-items:stretch;&:focus{outline:none;}&.euiFlyout--hasChildBackground{background:", euiTheme.colors.backgroundBaseSubdued, ";}", maxedFlyoutWidth(euiThemeContext), ";;label:euiFlyout;"),
|
|
39
49
|
// Flyout sizes
|
|
40
50
|
// When a child flyout is stacked on top of the parent, the parent flyout size will match the child flyout size
|
|
41
51
|
s: /*#__PURE__*/css(composeFlyoutSizing(euiThemeContext, 's'), " &.euiFlyout--hasChild--stacked.euiFlyout--hasChild--m{", composeFlyoutSizing(euiThemeContext, 'm'), ";};label:s;"),
|
|
42
52
|
m: /*#__PURE__*/css(composeFlyoutSizing(euiThemeContext, 'm'), " &.euiFlyout--hasChild--stacked.euiFlyout--hasChild--s{", composeFlyoutSizing(euiThemeContext, 's'), ";};label:m;"),
|
|
43
53
|
l: /*#__PURE__*/css(composeFlyoutSizing(euiThemeContext, 'l'), ";;label:l;"),
|
|
54
|
+
fill: /*#__PURE__*/css(composeFlyoutSizing(euiThemeContext, 'fill'), ";;label:fill;"),
|
|
44
55
|
noMaxWidth: /*#__PURE__*/css(logicalCSS('max-width', 'none'), ";;label:noMaxWidth;"),
|
|
45
56
|
// Side
|
|
46
|
-
right: /*#__PURE__*/css("clip-path:polygon(-50% 0, 100% 0, 100% 100%, -50% 100%);", logicalCSS('right', 0), "
|
|
57
|
+
right: /*#__PURE__*/css("clip-path:polygon(-50% 0, 100% 0, 100% 100%, -50% 100%);", logicalCSS('right', 0), "animation:", euiFlyoutSlideInRight, " 0s ", euiTheme.animation.resistance, " forwards;", euiCanAnimate, "{animation-duration:", euiTheme.animation.normal, ";}&.euiFlyout--hasChild{clip-path:none;};label:right;"),
|
|
47
58
|
// Left-side flyouts should only be used for navigation
|
|
48
|
-
left: /*#__PURE__*/css(logicalCSS('left', 0), " clip-path:polygon(0 0, 150% 0, 150% 100%, 0 100%);
|
|
59
|
+
left: /*#__PURE__*/css(logicalCSS('left', 0), " clip-path:polygon(0 0, 150% 0, 150% 100%, 0 100%);animation:", euiFlyoutSlideInLeft, " 0s ", euiTheme.animation.resistance, " forwards;", euiCanAnimate, "{animation-duration:", euiTheme.animation.normal, ";};label:left;"),
|
|
49
60
|
// Type
|
|
50
61
|
overlay: {
|
|
51
62
|
overlay: _ref2,
|
|
@@ -101,6 +112,13 @@ export var composeFlyoutSizing = function composeFlyoutSizing(euiThemeContext, s
|
|
|
101
112
|
// 1.
|
|
102
113
|
width: '75vw',
|
|
103
114
|
max: "".concat(euiTheme.breakpoint.l, "px")
|
|
115
|
+
},
|
|
116
|
+
// NOTE: These styles are for the flyout system in `stacked` layout mode.
|
|
117
|
+
// In `side-by-side` mode, @flyout.component.tsx uses inline styles.
|
|
118
|
+
fill: {
|
|
119
|
+
min: '90vw',
|
|
120
|
+
width: '90vw',
|
|
121
|
+
max: '90vw'
|
|
104
122
|
}
|
|
105
123
|
};
|
|
106
124
|
return "\n ".concat(logicalCSS('max-width', flyoutSizes[size].max), "\n\n ").concat(euiMaxBreakpoint(euiThemeContext, FLYOUT_BREAKPOINT), " {\n ").concat(logicalCSS('min-width', 0), "\n ").concat(logicalCSS('width', flyoutSizes[size].min), "\n }\n ").concat(euiMinBreakpoint(euiThemeContext, FLYOUT_BREAKPOINT), " {\n ").concat(logicalCSS('min-width', flyoutSizes[size].min), "\n ").concat(logicalCSS('width', flyoutSizes[size].width), "\n }\n ");
|
|
@@ -126,4 +144,85 @@ var composeFlyoutPadding = function composeFlyoutPadding(euiThemeContext, paddin
|
|
|
126
144
|
}), " ").concat(euiTheme.size.l, ";")
|
|
127
145
|
};
|
|
128
146
|
return "\n .euiFlyoutHeader {\n ".concat(logicalCSS('padding-horizontal', paddingModifierMap[paddingSize]), "\n ").concat(logicalCSS('padding-top', paddingModifierMap[paddingSize]), "\n }\n\n [class*='euiFlyoutHeader-hasBorder'] {\n ").concat(logicalCSS('padding-bottom', paddingModifierMap[paddingSize]), "\n }\n\n .euiFlyoutBody__overflowContent {\n padding: ").concat(paddingModifierMap[paddingSize], ";\n }\n\n .euiFlyoutBody__banner .euiCallOut {\n ").concat(logicalCSS('padding-horizontal', paddingModifierMap[paddingSize]), "\n }\n\n .euiFlyoutFooter {\n padding: ").concat(footerPaddingSizes[paddingSize], ";\n }\n ");
|
|
147
|
+
};
|
|
148
|
+
|
|
149
|
+
/**
|
|
150
|
+
* Helper for `composeFlyoutInlineStyles`
|
|
151
|
+
* Handles maxWidth prop overrides to ensure they take precedence over base CSS
|
|
152
|
+
*/
|
|
153
|
+
var composeMaxWidthOverrides = function composeMaxWidthOverrides(maxWidth, isFill) {
|
|
154
|
+
if (typeof maxWidth === 'boolean') {
|
|
155
|
+
return {};
|
|
156
|
+
}
|
|
157
|
+
var overrides = {
|
|
158
|
+
maxWidth: maxWidth
|
|
159
|
+
};
|
|
160
|
+
|
|
161
|
+
// For fill size flyouts, we need to override min-width to allow dynamic sizing
|
|
162
|
+
if (isFill) {
|
|
163
|
+
overrides.minWidth = '0';
|
|
164
|
+
|
|
165
|
+
// When maxWidth is provided for fill flyouts, we need to override the CSS rule
|
|
166
|
+
// that sets min-inline-size: 90vw. We calculate min(maxWidth, 90vw) to ensure
|
|
167
|
+
// the flyout respects both constraints and doesn't get stuck at 90vw minimum.
|
|
168
|
+
if (maxWidth) {
|
|
169
|
+
var maxWidthWithUnits = typeof maxWidth === 'number' ? "".concat(maxWidth, "px") : maxWidth;
|
|
170
|
+
overrides.minWidth = "min(".concat(maxWidthWithUnits, ", 90vw)");
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
return logicalStyles(overrides);
|
|
174
|
+
};
|
|
175
|
+
|
|
176
|
+
/**
|
|
177
|
+
* Composes all inline styles for a flyout based on its configuration
|
|
178
|
+
*/
|
|
179
|
+
export var composeFlyoutInlineStyles = function composeFlyoutInlineStyles(size, layoutMode, siblingFlyoutId, siblingFlyoutWidth, maxWidth, zIndex) {
|
|
180
|
+
// Handle custom width values (non-named sizes)
|
|
181
|
+
var customWidthStyles = !isEuiFlyoutSizeNamed(size) ? logicalStyles({
|
|
182
|
+
width: size
|
|
183
|
+
}) : {};
|
|
184
|
+
var isFill = size === 'fill';
|
|
185
|
+
|
|
186
|
+
// Handle dynamic width calculation for fill size in side-by-side mode
|
|
187
|
+
var dynamicStyles = isFill && layoutMode === 'side-by-side' && siblingFlyoutId && siblingFlyoutWidth ? logicalStyles({
|
|
188
|
+
width: "calc(90vw - ".concat(siblingFlyoutWidth, "px)"),
|
|
189
|
+
minWidth: '0'
|
|
190
|
+
}) : {};
|
|
191
|
+
|
|
192
|
+
// For fill flyouts with maxWidth, we need to ensure the minWidth override is applied
|
|
193
|
+
// to override the CSS rule that sets min-inline-size: 90vw
|
|
194
|
+
var minWidthOverride = {};
|
|
195
|
+
if (isFill && maxWidth) {
|
|
196
|
+
if (layoutMode === 'side-by-side' && siblingFlyoutId && siblingFlyoutWidth && dynamicStyles.inlineSize) {
|
|
197
|
+
// For fill flyouts with maxWidth and a sibling: min(maxWidth, calc(90vw - siblingWidth))
|
|
198
|
+
var dynamicWidth = dynamicStyles.inlineSize;
|
|
199
|
+
var maxWidthWithUnits = typeof maxWidth === 'number' ? "".concat(maxWidth, "px") : maxWidth;
|
|
200
|
+
minWidthOverride = {
|
|
201
|
+
minWidth: "min(".concat(maxWidthWithUnits, ", ").concat(dynamicWidth, ")")
|
|
202
|
+
};
|
|
203
|
+
} else {
|
|
204
|
+
// For fill flyouts with maxWidth but no sibling: min(maxWidth, 90vw)
|
|
205
|
+
var maxWidthOverrides = composeMaxWidthOverrides(maxWidth, isFill);
|
|
206
|
+
minWidthOverride = {
|
|
207
|
+
minWidth: maxWidthOverrides.minInlineSize
|
|
208
|
+
};
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
|
|
212
|
+
// Calculate the final maxWidth based on conditions
|
|
213
|
+
var finalMaxWidth;
|
|
214
|
+
if (maxWidth && isFill && layoutMode === 'side-by-side' && siblingFlyoutId && siblingFlyoutWidth && dynamicStyles.inlineSize) {
|
|
215
|
+
// For fill flyouts with maxWidth and a sibling: min(maxWidth, calc(90vw - siblingWidth))
|
|
216
|
+
var _dynamicWidth = dynamicStyles.inlineSize;
|
|
217
|
+
var _maxWidthWithUnits = typeof maxWidth === 'number' ? "".concat(maxWidth, "px") : maxWidth;
|
|
218
|
+
finalMaxWidth = "min(".concat(_maxWidthWithUnits, ", ").concat(_dynamicWidth, ")");
|
|
219
|
+
} else if (maxWidth) {
|
|
220
|
+
// For all other cases with maxWidth: use the original maxWidth value
|
|
221
|
+
finalMaxWidth = typeof maxWidth === 'number' ? "".concat(maxWidth, "px") : maxWidth;
|
|
222
|
+
}
|
|
223
|
+
return logicalStyles(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread({}, customWidthStyles), dynamicStyles), minWidthOverride), finalMaxWidth ? {
|
|
224
|
+
maxWidth: finalMaxWidth
|
|
225
|
+
} : {}), {}, {
|
|
226
|
+
zIndex: zIndex
|
|
227
|
+
}));
|
|
129
228
|
};
|