@elastic/eui 106.1.0-amsterdam.0 → 106.2.0-snapshot.1757009122780
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/accessibility/index.js +2 -1
- package/es/components/{flyout/sessions → accessibility/live_announcer}/index.js +1 -2
- package/es/components/accessibility/live_announcer/live_announcer.js +84 -0
- package/es/components/accessibility/screen_reader_live/screen_reader_live.js +7 -0
- 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 +4 -4
- package/es/components/basic_table/in_memory_table.js +4 -4
- package/es/components/button/button.js +1 -1
- package/es/components/button/button_display/_button_display.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/call_out/call_out.js +16 -5
- package/es/components/card/card.js +2 -2
- package/es/components/card/card_select/card_select.js +1 -1
- package/es/components/card/checkable_card/checkable_card.js +30 -5
- package/es/components/code/code_block.js +5 -2
- package/es/components/code/code_block_virtualized.js +5 -3
- package/es/components/collapsible_nav/collapsible_nav.js +4 -106
- 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_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/combo_box/combo_box.a11y.js +97 -81
- package/es/components/combo_box/combo_box.js +3 -2
- package/es/components/combo_box/combo_box_options_list/combo_box_options_list.js +50 -25
- package/es/components/combo_box/combo_box_options_list/combo_box_options_list.styles.js +6 -2
- 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/data_grid.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 +1 -1
- package/es/components/facet/facet_button.js +1 -1
- package/es/components/filter_group/filter_select_item.js +16 -3
- package/es/components/flyout/const.js +42 -0
- package/es/components/flyout/flyout.component.js +378 -0
- package/es/components/flyout/flyout.js +43 -362
- package/es/components/flyout/flyout.styles.js +98 -3
- package/es/components/flyout/flyout_menu.js +86 -0
- package/es/components/flyout/flyout_menu.styles.js +16 -0
- package/{optimize/es/components/flyout/flyout_context.js → es/components/flyout/flyout_menu_context.js} +1 -7
- package/es/components/flyout/flyout_resizable.js +3 -2
- package/es/components/flyout/hooks.js +25 -0
- package/es/components/flyout/index.js +4 -2
- package/es/components/flyout/manager/actions.js +97 -0
- package/es/components/flyout/manager/activity_stage.js +71 -0
- package/es/components/flyout/manager/const.js +50 -0
- package/es/components/flyout/manager/context.js +33 -0
- package/es/components/flyout/manager/flyout_child.js +80 -0
- package/es/components/flyout/manager/flyout_child.styles.js +26 -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 +129 -0
- package/es/components/flyout/manager/flyout_managed.styles.js +66 -0
- package/es/components/flyout/manager/hooks.js +98 -0
- package/es/components/flyout/manager/index.js +31 -0
- package/es/components/flyout/manager/layout_mode.js +164 -0
- package/es/components/flyout/manager/provider.js +37 -0
- package/es/components/flyout/manager/reducer.js +200 -0
- package/es/components/flyout/manager/selectors.js +87 -0
- package/es/components/flyout/manager/validation.js +112 -0
- package/es/components/form/field_number/field_number.js +2 -2
- package/es/components/form/field_password/field_password.styles.js +1 -0
- package/es/components/form/field_text/field_text.js +2 -2
- package/es/components/form/form.styles.js +2 -2
- package/es/components/form/form_control_layout/form_control_layout.js +2 -2
- package/es/components/form/form_control_layout/form_control_layout.styles.js +1 -1
- 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/range/range.styles.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/icon/assets/thumbDown.js +37 -0
- package/es/components/icon/assets/thumbUp.js +37 -0
- package/es/components/icon/icon.js +1 -1
- package/es/components/icon/icon_map.js +2 -0
- package/es/components/key_pad_menu/key_pad_menu_item.js +1 -1
- 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/index.js +1 -0
- package/es/components/markdown_editor/markdown_editor.js +16 -5
- package/es/components/markdown_editor/markdown_editor_drop_zone.js +6 -4
- package/es/components/markdown_editor/markdown_editor_footer.js +13 -121
- package/es/components/markdown_editor/markdown_editor_footer.styles.js +0 -2
- package/es/components/markdown_editor/markdown_editor_help_button.js +144 -0
- package/es/components/markdown_editor/markdown_editor_help_button.styles.js +16 -0
- package/es/components/markdown_editor/markdown_editor_toolbar.js +29 -24
- package/es/components/overlay_mask/overlay_mask.js +8 -3
- package/es/components/overlay_mask/overlay_mask.styles.js +11 -2
- package/es/components/page/page_header/page_header_content.js +1 -1
- package/es/components/pagination/pagination_button.js +1 -1
- package/es/components/popover/popover.js +2 -1
- package/es/components/provider/provider.js +4 -3
- 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/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/global_styling/mixins/_button.js +1 -1
- package/es/services/color/vis_color_store.js +1 -1
- package/es/services/emotion/prefixer.js +116 -22
- package/es/services/theme/context.js +2 -2
- package/eui.d.ts +1126 -772
- package/i18ntokens.json +624 -624
- package/lib/components/accessibility/index.js +8 -1
- package/lib/components/accessibility/live_announcer/index.js +16 -0
- package/lib/components/accessibility/live_announcer/live_announcer.js +93 -0
- package/lib/components/accessibility/screen_reader_live/screen_reader_live.js +7 -0
- 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 +4 -4
- package/lib/components/basic_table/in_memory_table.js +4 -4
- package/lib/components/button/button.js +1 -1
- package/lib/components/button/button_display/_button_display.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/call_out/call_out.js +17 -6
- package/lib/components/card/card.js +2 -2
- package/lib/components/card/card_select/card_select.js +1 -1
- package/lib/components/card/checkable_card/checkable_card.js +29 -4
- package/lib/components/code/code_block.js +5 -2
- package/lib/components/code/code_block_virtualized.js +5 -3
- package/lib/components/collapsible_nav/collapsible_nav.js +4 -106
- 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_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/combo_box/combo_box.a11y.js +97 -81
- package/lib/components/combo_box/combo_box.js +3 -2
- package/lib/components/combo_box/combo_box_options_list/combo_box_options_list.js +50 -25
- package/lib/components/combo_box/combo_box_options_list/combo_box_options_list.styles.js +5 -1
- 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/data_grid.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 +1 -1
- package/lib/components/facet/facet_button.js +1 -1
- package/lib/components/filter_group/filter_select_item.js +16 -3
- package/lib/components/flyout/const.js +49 -0
- package/lib/components/flyout/flyout.component.js +385 -0
- package/lib/components/flyout/flyout.js +68 -362
- package/lib/components/flyout/flyout.styles.js +98 -3
- package/lib/components/flyout/flyout_menu.js +95 -0
- package/lib/components/flyout/flyout_menu.styles.js +22 -0
- package/{optimize/lib/components/flyout/flyout_context.js → lib/components/flyout/flyout_menu_context.js} +2 -7
- package/lib/components/flyout/flyout_resizable.js +3 -2
- package/lib/components/flyout/hooks.js +30 -0
- package/lib/components/flyout/index.js +14 -14
- package/lib/components/flyout/manager/actions.js +103 -0
- package/lib/components/flyout/manager/activity_stage.js +77 -0
- package/lib/components/flyout/manager/const.js +56 -0
- package/lib/components/flyout/manager/context.js +41 -0
- package/lib/components/flyout/manager/flyout_child.js +85 -0
- package/lib/components/flyout/manager/flyout_child.styles.js +32 -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 +136 -0
- package/lib/components/flyout/manager/flyout_managed.styles.js +70 -0
- package/lib/components/flyout/manager/hooks.js +161 -0
- package/lib/components/flyout/manager/index.js +150 -0
- package/lib/components/flyout/manager/layout_mode.js +171 -0
- package/lib/components/flyout/manager/provider.js +46 -0
- package/lib/components/flyout/manager/reducer.js +205 -0
- package/lib/components/flyout/manager/selectors.js +93 -0
- package/lib/components/flyout/manager/validation.js +121 -0
- package/lib/components/form/field_number/field_number.js +2 -2
- package/lib/components/form/field_password/field_password.styles.js +1 -0
- package/lib/components/form/field_text/field_text.js +2 -2
- package/lib/components/form/form.styles.js +2 -2
- package/lib/components/form/form_control_layout/form_control_layout.js +2 -2
- package/lib/components/form/form_control_layout/form_control_layout.styles.js +1 -1
- 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/range/range.styles.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/icon/assets/thumbDown.js +44 -0
- package/lib/components/icon/assets/thumbUp.js +44 -0
- package/lib/components/icon/icon.js +1 -1
- package/lib/components/icon/icon_map.js +2 -0
- package/lib/components/icon/svgs/thumbDown.svg +4 -0
- package/lib/components/icon/svgs/thumbUp.svg +4 -0
- package/lib/components/key_pad_menu/key_pad_menu_item.js +1 -1
- 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/index.js +7 -0
- package/lib/components/markdown_editor/markdown_editor.js +16 -5
- package/lib/components/markdown_editor/markdown_editor_drop_zone.js +6 -4
- package/lib/components/markdown_editor/markdown_editor_footer.js +11 -118
- package/lib/components/markdown_editor/markdown_editor_footer.styles.js +0 -2
- package/lib/components/markdown_editor/markdown_editor_help_button.js +151 -0
- package/lib/components/markdown_editor/markdown_editor_help_button.styles.js +22 -0
- package/lib/components/markdown_editor/markdown_editor_toolbar.js +29 -24
- package/lib/components/overlay_mask/overlay_mask.js +7 -2
- package/lib/components/overlay_mask/overlay_mask.styles.js +11 -4
- package/lib/components/page/page_header/page_header_content.js +1 -1
- package/lib/components/pagination/pagination_button.js +1 -1
- package/lib/components/popover/popover.js +2 -1
- package/lib/components/provider/provider.js +4 -3
- 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/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/global_styling/mixins/_button.js +1 -1
- package/lib/services/color/vis_color_store.js +2 -2
- package/lib/services/emotion/prefixer.js +116 -22
- package/lib/services/theme/context.js +2 -2
- package/optimize/es/components/accessibility/index.js +2 -1
- package/optimize/es/components/{flyout/sessions → accessibility/live_announcer}/index.js +1 -2
- package/optimize/es/components/accessibility/live_announcer/live_announcer.js +68 -0
- package/optimize/es/components/accessibility/screen_reader_live/screen_reader_live.js +1 -0
- package/optimize/es/components/call_out/call_out.js +6 -2
- package/optimize/es/components/card/checkable_card/checkable_card.js +25 -5
- package/optimize/es/components/code/code_block.js +5 -2
- package/optimize/es/components/code/code_block_virtualized.js +5 -3
- package/optimize/es/components/combo_box/combo_box.a11y.js +97 -81
- package/optimize/es/components/combo_box/combo_box_options_list/combo_box_options_list.js +49 -24
- package/optimize/es/components/combo_box/combo_box_options_list/combo_box_options_list.styles.js +6 -2
- package/optimize/es/components/datagrid/data_grid.styles.js +1 -1
- package/optimize/es/components/filter_group/filter_select_item.js +15 -3
- package/optimize/es/components/flyout/const.js +42 -0
- package/optimize/es/components/flyout/flyout.component.js +346 -0
- package/optimize/es/components/flyout/flyout.js +39 -332
- package/optimize/es/components/flyout/flyout.styles.js +95 -3
- package/optimize/es/components/flyout/flyout_menu.js +74 -0
- package/optimize/es/components/flyout/flyout_menu.styles.js +16 -0
- package/{es/components/flyout/flyout_context.js → optimize/es/components/flyout/flyout_menu_context.js} +1 -7
- package/optimize/es/components/flyout/flyout_resizable.js +3 -2
- package/optimize/es/components/flyout/hooks.js +25 -0
- package/optimize/es/components/flyout/index.js +4 -2
- package/optimize/es/components/flyout/manager/actions.js +97 -0
- package/optimize/es/components/flyout/manager/activity_stage.js +71 -0
- package/optimize/es/components/flyout/manager/const.js +50 -0
- package/optimize/es/components/flyout/manager/context.js +33 -0
- package/optimize/es/components/flyout/manager/flyout_child.js +76 -0
- package/optimize/es/components/flyout/manager/flyout_child.styles.js +26 -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 +125 -0
- package/optimize/es/components/flyout/manager/flyout_managed.styles.js +66 -0
- package/optimize/es/components/flyout/manager/hooks.js +93 -0
- package/optimize/es/components/flyout/manager/index.js +31 -0
- package/optimize/es/components/flyout/manager/layout_mode.js +159 -0
- package/optimize/es/components/flyout/manager/provider.js +37 -0
- package/optimize/es/components/flyout/manager/reducer.js +192 -0
- package/optimize/es/components/flyout/manager/selectors.js +87 -0
- package/optimize/es/components/flyout/manager/validation.js +112 -0
- package/optimize/es/components/form/field_password/field_password.styles.js +1 -0
- package/optimize/es/components/form/form.styles.js +2 -2
- package/optimize/es/components/form/form_control_layout/form_control_layout.styles.js +1 -1
- package/optimize/es/components/form/range/range.styles.js +2 -2
- package/optimize/es/components/icon/assets/thumbDown.js +36 -0
- package/optimize/es/components/icon/assets/thumbUp.js +36 -0
- package/optimize/es/components/icon/icon_map.js +2 -0
- package/optimize/es/components/markdown_editor/index.js +1 -0
- package/optimize/es/components/markdown_editor/markdown_editor.js +7 -3
- package/optimize/es/components/markdown_editor/markdown_editor_drop_zone.js +3 -2
- package/optimize/es/components/markdown_editor/markdown_editor_footer.js +12 -120
- package/optimize/es/components/markdown_editor/markdown_editor_footer.styles.js +0 -2
- package/optimize/es/components/markdown_editor/markdown_editor_help_button.js +139 -0
- package/optimize/es/components/markdown_editor/markdown_editor_help_button.styles.js +16 -0
- package/optimize/es/components/markdown_editor/markdown_editor_toolbar.js +20 -16
- package/optimize/es/components/overlay_mask/overlay_mask.js +8 -3
- package/optimize/es/components/overlay_mask/overlay_mask.styles.js +11 -2
- package/optimize/es/components/popover/popover.js +2 -1
- package/optimize/es/components/provider/provider.js +4 -3
- package/optimize/es/global_styling/mixins/_button.js +1 -1
- package/optimize/es/services/color/vis_color_store.js +1 -1
- package/optimize/es/services/emotion/prefixer.js +116 -22
- package/optimize/es/services/theme/context.js +2 -2
- package/optimize/lib/components/accessibility/index.js +8 -1
- package/optimize/lib/components/accessibility/live_announcer/index.js +16 -0
- package/optimize/lib/components/accessibility/live_announcer/live_announcer.js +77 -0
- package/optimize/lib/components/accessibility/screen_reader_live/screen_reader_live.js +1 -0
- package/optimize/lib/components/call_out/call_out.js +7 -3
- package/optimize/lib/components/card/checkable_card/checkable_card.js +24 -4
- package/optimize/lib/components/code/code_block.js +5 -2
- package/optimize/lib/components/code/code_block_virtualized.js +5 -3
- package/optimize/lib/components/combo_box/combo_box.a11y.js +97 -81
- package/optimize/lib/components/combo_box/combo_box_options_list/combo_box_options_list.js +49 -24
- package/optimize/lib/components/combo_box/combo_box_options_list/combo_box_options_list.styles.js +5 -1
- package/optimize/lib/components/datagrid/data_grid.styles.js +1 -1
- package/optimize/lib/components/filter_group/filter_select_item.js +15 -3
- package/optimize/lib/components/flyout/const.js +49 -0
- package/optimize/lib/components/flyout/flyout.component.js +354 -0
- package/optimize/lib/components/flyout/flyout.js +63 -332
- package/optimize/lib/components/flyout/flyout.styles.js +95 -3
- package/optimize/lib/components/flyout/flyout_menu.js +83 -0
- package/optimize/lib/components/flyout/flyout_menu.styles.js +22 -0
- package/{lib/components/flyout/flyout_context.js → optimize/lib/components/flyout/flyout_menu_context.js} +2 -7
- package/optimize/lib/components/flyout/flyout_resizable.js +3 -2
- package/optimize/lib/components/flyout/hooks.js +30 -0
- package/optimize/lib/components/flyout/index.js +14 -14
- package/optimize/lib/components/flyout/manager/actions.js +103 -0
- package/optimize/lib/components/flyout/manager/activity_stage.js +77 -0
- package/optimize/lib/components/flyout/manager/const.js +56 -0
- package/optimize/lib/components/flyout/manager/context.js +41 -0
- package/optimize/lib/components/flyout/manager/flyout_child.js +81 -0
- package/optimize/lib/components/flyout/manager/flyout_child.styles.js +32 -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 +134 -0
- package/optimize/lib/components/flyout/manager/flyout_managed.styles.js +71 -0
- package/optimize/lib/components/flyout/manager/hooks.js +159 -0
- package/optimize/lib/components/flyout/manager/index.js +150 -0
- package/optimize/lib/components/flyout/manager/layout_mode.js +169 -0
- package/optimize/lib/components/flyout/manager/provider.js +46 -0
- package/optimize/lib/components/flyout/manager/reducer.js +198 -0
- package/optimize/lib/components/flyout/manager/selectors.js +93 -0
- package/optimize/lib/components/flyout/manager/validation.js +121 -0
- package/optimize/lib/components/form/field_password/field_password.styles.js +1 -0
- package/optimize/lib/components/form/form.styles.js +2 -2
- package/optimize/lib/components/form/form_control_layout/form_control_layout.styles.js +1 -1
- package/optimize/lib/components/form/range/range.styles.js +2 -2
- package/optimize/lib/components/icon/assets/thumbDown.js +44 -0
- package/optimize/lib/components/icon/assets/thumbUp.js +44 -0
- package/optimize/lib/components/icon/icon_map.js +2 -0
- package/optimize/lib/components/icon/svgs/thumbDown.svg +4 -0
- package/optimize/lib/components/icon/svgs/thumbUp.svg +4 -0
- package/optimize/lib/components/markdown_editor/index.js +7 -0
- package/optimize/lib/components/markdown_editor/markdown_editor.js +7 -3
- package/optimize/lib/components/markdown_editor/markdown_editor_drop_zone.js +3 -2
- package/optimize/lib/components/markdown_editor/markdown_editor_footer.js +9 -118
- package/optimize/lib/components/markdown_editor/markdown_editor_footer.styles.js +0 -2
- package/optimize/lib/components/markdown_editor/markdown_editor_help_button.js +150 -0
- package/optimize/lib/components/markdown_editor/markdown_editor_help_button.styles.js +22 -0
- package/optimize/lib/components/markdown_editor/markdown_editor_toolbar.js +20 -16
- package/optimize/lib/components/overlay_mask/overlay_mask.js +7 -2
- package/optimize/lib/components/overlay_mask/overlay_mask.styles.js +11 -4
- package/optimize/lib/components/popover/popover.js +2 -1
- package/optimize/lib/components/provider/provider.js +4 -3
- package/optimize/lib/global_styling/mixins/_button.js +1 -1
- package/optimize/lib/services/color/vis_color_store.js +2 -2
- package/optimize/lib/services/emotion/prefixer.js +116 -22
- package/optimize/lib/services/theme/context.js +2 -2
- package/package.json +3 -2
- package/src/components/date_picker/react-datepicker/src/stylesheets/datepicker.scss +6 -7
- package/src/global_styling/mixins/_typography.scss +0 -1
- package/src/themes/amsterdam/global_styling/mixins/_typography.scss +0 -1
- package/test-env/components/accessibility/index.js +8 -1
- package/test-env/components/accessibility/live_announcer/index.js +16 -0
- package/test-env/components/accessibility/live_announcer/live_announcer.js +87 -0
- package/test-env/components/accessibility/screen_reader_live/screen_reader_live.js +7 -0
- 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 +4 -4
- package/test-env/components/basic_table/in_memory_table.js +4 -4
- package/test-env/components/button/button.js +1 -1
- package/test-env/components/button/button_display/_button_display.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/call_out/call_out.js +17 -6
- package/test-env/components/card/card.js +2 -2
- package/test-env/components/card/card_select/card_select.js +1 -1
- package/test-env/components/card/checkable_card/checkable_card.js +24 -4
- package/test-env/components/code/code_block_virtualized.js +5 -3
- package/test-env/components/collapsible_nav/collapsible_nav.js +4 -106
- 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_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/combo_box/combo_box.a11y.js +97 -81
- package/test-env/components/combo_box/combo_box.js +3 -2
- package/test-env/components/combo_box/combo_box_options_list/combo_box_options_list.js +50 -25
- package/test-env/components/combo_box/combo_box_options_list/combo_box_options_list.styles.js +5 -1
- 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/data_grid.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 +1 -1
- package/test-env/components/facet/facet_button.js +1 -1
- package/test-env/components/filter_group/filter_select_item.js +16 -3
- package/test-env/components/flyout/const.js +49 -0
- package/test-env/components/flyout/flyout.component.js +374 -0
- package/test-env/components/flyout/flyout.styles.js +95 -3
- package/test-env/components/flyout/flyout_menu.js +94 -0
- package/test-env/components/flyout/flyout_menu.styles.js +22 -0
- package/test-env/components/flyout/{flyout_context.js → flyout_menu_context.js} +2 -7
- package/test-env/components/flyout/flyout_resizable.js +3 -2
- package/test-env/components/flyout/hooks.js +30 -0
- package/test-env/components/flyout/index.js +14 -14
- package/test-env/components/flyout/manager/actions.js +103 -0
- package/test-env/components/flyout/manager/activity_stage.js +77 -0
- package/test-env/components/flyout/manager/const.js +56 -0
- package/test-env/components/flyout/manager/context.js +41 -0
- package/test-env/components/flyout/manager/flyout_child.js +81 -0
- package/test-env/components/flyout/manager/flyout_child.styles.js +32 -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 +134 -0
- package/test-env/components/flyout/manager/flyout_managed.styles.js +71 -0
- package/test-env/components/flyout/manager/hooks.js +159 -0
- package/test-env/components/flyout/manager/index.js +150 -0
- package/test-env/components/flyout/manager/layout_mode.js +169 -0
- package/test-env/components/flyout/manager/provider.js +46 -0
- package/test-env/components/flyout/manager/reducer.js +198 -0
- package/test-env/components/flyout/manager/selectors.js +93 -0
- package/test-env/components/flyout/manager/validation.js +121 -0
- package/test-env/components/form/field_number/field_number.js +2 -2
- package/test-env/components/form/field_password/field_password.styles.js +1 -0
- package/test-env/components/form/field_text/field_text.js +2 -2
- package/test-env/components/form/form.styles.js +2 -2
- 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.styles.js +1 -1
- 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/range/range.styles.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/icon/assets/thumbDown.js +44 -0
- package/test-env/components/icon/assets/thumbUp.js +44 -0
- package/test-env/components/icon/icon_map.js +2 -0
- package/test-env/components/key_pad_menu/key_pad_menu_item.js +1 -1
- 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/index.js +7 -0
- package/test-env/components/markdown_editor/markdown_editor.js +16 -5
- package/test-env/components/markdown_editor/markdown_editor_drop_zone.js +6 -4
- package/test-env/components/markdown_editor/markdown_editor_footer.js +10 -119
- package/test-env/components/markdown_editor/markdown_editor_footer.styles.js +0 -2
- package/test-env/components/markdown_editor/markdown_editor_help_button.js +150 -0
- package/test-env/components/markdown_editor/markdown_editor_help_button.styles.js +22 -0
- package/test-env/components/markdown_editor/markdown_editor_toolbar.js +29 -24
- package/test-env/components/overlay_mask/overlay_mask.js +7 -2
- package/test-env/components/overlay_mask/overlay_mask.styles.js +11 -4
- package/test-env/components/page/page_header/page_header_content.js +1 -1
- package/test-env/components/pagination/pagination_button.js +1 -1
- package/test-env/components/popover/popover.js +2 -1
- package/test-env/components/provider/provider.js +4 -3
- 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/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/global_styling/mixins/_button.js +1 -1
- package/test-env/services/color/vis_color_store.js +2 -2
- package/test-env/services/emotion/prefixer.js +116 -22
- package/test-env/services/theme/context.js +2 -2
- 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/lib/components/flyout/{sessions → manager}/types.js +0 -0
- /package/optimize/es/components/flyout/{sessions → manager}/types.js +0 -0
- /package/optimize/lib/components/flyout/{sessions → manager}/types.js +0 -0
- /package/test-env/components/flyout/{sessions → manager}/types.js +0 -0
|
@@ -0,0 +1,171 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
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); }
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.useFlyoutLayoutMode = exports.useApplyFlyoutLayoutMode = exports.getWidthFromSize = void 0;
|
|
8
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
9
|
+
var _services = require("../../../services");
|
|
10
|
+
var _actions = require("./actions");
|
|
11
|
+
var _selectors = require("./selectors");
|
|
12
|
+
var _hooks = require("./hooks");
|
|
13
|
+
var _const = require("./const");
|
|
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
|
+
function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
|
|
17
|
+
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."); }
|
|
18
|
+
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; } }
|
|
19
|
+
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; }
|
|
20
|
+
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; } }
|
|
21
|
+
function _arrayWithHoles(r) { if (Array.isArray(r)) return r; } /*
|
|
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
|
+
* Hook to handle responsive layout mode for managed flyouts.
|
|
30
|
+
* Decides whether to place flyouts side-by-side or stacked based on
|
|
31
|
+
* viewport width and flyout widths/sizes.
|
|
32
|
+
*/
|
|
33
|
+
var useApplyFlyoutLayoutMode = exports.useApplyFlyoutLayoutMode = function useApplyFlyoutLayoutMode() {
|
|
34
|
+
var _useEuiTheme = (0, _services.useEuiTheme)(),
|
|
35
|
+
euiTheme = _useEuiTheme.euiTheme;
|
|
36
|
+
var context = (0, _hooks.useFlyoutManager)();
|
|
37
|
+
var currentSession = (0, _selectors.useCurrentSession)();
|
|
38
|
+
var parentFlyoutId = currentSession === null || currentSession === void 0 ? void 0 : currentSession.main;
|
|
39
|
+
var childFlyoutId = currentSession === null || currentSession === void 0 ? void 0 : currentSession.child;
|
|
40
|
+
var parentFlyout = (0, _selectors.useCurrentMainFlyout)();
|
|
41
|
+
var childFlyout = (0, _selectors.useCurrentChildFlyout)();
|
|
42
|
+
var parentWidth = (0, _selectors.useFlyoutWidth)(parentFlyoutId);
|
|
43
|
+
var childWidth = (0, _selectors.useFlyoutWidth)(childFlyoutId);
|
|
44
|
+
var _useState = (0, _react.useState)(typeof window !== 'undefined' ? window.innerWidth : Infinity),
|
|
45
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
46
|
+
windowWidth = _useState2[0],
|
|
47
|
+
setWindowWidth = _useState2[1];
|
|
48
|
+
var setMode = _react.default.useCallback(function (layoutMode) {
|
|
49
|
+
if (context !== null && context !== void 0 && context.dispatch && layoutMode !== context.state.layoutMode) {
|
|
50
|
+
context.dispatch((0, _actions.setLayoutMode)(layoutMode));
|
|
51
|
+
}
|
|
52
|
+
}, [context]);
|
|
53
|
+
(0, _react.useEffect)(function () {
|
|
54
|
+
if (typeof window === 'undefined') {
|
|
55
|
+
return;
|
|
56
|
+
}
|
|
57
|
+
var rafId = 0;
|
|
58
|
+
var handleResize = function handleResize() {
|
|
59
|
+
if (rafId) {
|
|
60
|
+
cancelAnimationFrame(rafId);
|
|
61
|
+
}
|
|
62
|
+
rafId = requestAnimationFrame(function () {
|
|
63
|
+
return setWindowWidth(window.innerWidth);
|
|
64
|
+
});
|
|
65
|
+
};
|
|
66
|
+
window.addEventListener('resize', handleResize);
|
|
67
|
+
return function () {
|
|
68
|
+
if (rafId) {
|
|
69
|
+
cancelAnimationFrame(rafId);
|
|
70
|
+
}
|
|
71
|
+
window.removeEventListener('resize', handleResize);
|
|
72
|
+
};
|
|
73
|
+
}, []);
|
|
74
|
+
(0, _react.useEffect)(function () {
|
|
75
|
+
if (!context) {
|
|
76
|
+
return;
|
|
77
|
+
}
|
|
78
|
+
var currentLayoutMode = context.state.layoutMode;
|
|
79
|
+
|
|
80
|
+
// Thresholds to prevent thrashing near the breakpoint.
|
|
81
|
+
var THRESHOLD_TO_SIDE_BY_SIDE = 85;
|
|
82
|
+
var THRESHOLD_TO_STACKED = 95;
|
|
83
|
+
|
|
84
|
+
// If the window is too small, set the mode to stacked.
|
|
85
|
+
//
|
|
86
|
+
// The value is based on the maximum width of a flyout in
|
|
87
|
+
// `composeFlyoutSizing` in `flyout.styles.ts` multiplied
|
|
88
|
+
// by 2 (open flyouts side-by-side).
|
|
89
|
+
if (windowWidth < Math.round(euiTheme.breakpoint.s * 1.4)) {
|
|
90
|
+
if (currentLayoutMode !== _const.LAYOUT_MODE_STACKED) {
|
|
91
|
+
setMode(_const.LAYOUT_MODE_STACKED);
|
|
92
|
+
}
|
|
93
|
+
return;
|
|
94
|
+
}
|
|
95
|
+
if (!childFlyoutId) {
|
|
96
|
+
if (currentLayoutMode !== _const.LAYOUT_MODE_SIDE_BY_SIDE) setMode(_const.LAYOUT_MODE_SIDE_BY_SIDE);
|
|
97
|
+
return;
|
|
98
|
+
}
|
|
99
|
+
var parentWidthValue = parentWidth;
|
|
100
|
+
var childWidthValue = childWidth;
|
|
101
|
+
if (!parentWidthValue && parentFlyout !== null && parentFlyout !== void 0 && parentFlyout.size) {
|
|
102
|
+
parentWidthValue = getWidthFromSize(parentFlyout.size);
|
|
103
|
+
}
|
|
104
|
+
if (!childWidthValue && childFlyout !== null && childFlyout !== void 0 && childFlyout.size) {
|
|
105
|
+
childWidthValue = getWidthFromSize(childFlyout.size);
|
|
106
|
+
}
|
|
107
|
+
if (!parentWidthValue || !childWidthValue) {
|
|
108
|
+
if (currentLayoutMode !== _const.LAYOUT_MODE_SIDE_BY_SIDE) setMode(_const.LAYOUT_MODE_SIDE_BY_SIDE);
|
|
109
|
+
return;
|
|
110
|
+
}
|
|
111
|
+
var combinedWidth = parentWidthValue + childWidthValue;
|
|
112
|
+
var combinedWidthPercentage = combinedWidth / windowWidth * 100;
|
|
113
|
+
var newLayoutMode;
|
|
114
|
+
|
|
115
|
+
// Handle fill size flyouts: keep layout as side-by-side when fill flyout is present
|
|
116
|
+
// This allows fill flyouts to dynamically calculate their width based on sibling
|
|
117
|
+
if ((parentFlyout === null || parentFlyout === void 0 ? void 0 : parentFlyout.size) === 'fill' || (childFlyout === null || childFlyout === void 0 ? void 0 : childFlyout.size) === 'fill') {
|
|
118
|
+
// For fill flyouts, we want to maintain side-by-side layout to enable dynamic width calculation
|
|
119
|
+
// Only stack if the viewport is too small (below the small breakpoint)
|
|
120
|
+
if (windowWidth >= Math.round(euiTheme.breakpoint.s * 1.4)) {
|
|
121
|
+
if (currentLayoutMode !== _const.LAYOUT_MODE_SIDE_BY_SIDE) {
|
|
122
|
+
setMode(_const.LAYOUT_MODE_SIDE_BY_SIDE);
|
|
123
|
+
}
|
|
124
|
+
return;
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
if (currentLayoutMode === _const.LAYOUT_MODE_STACKED) {
|
|
128
|
+
newLayoutMode = combinedWidthPercentage <= THRESHOLD_TO_SIDE_BY_SIDE ? _const.LAYOUT_MODE_SIDE_BY_SIDE : _const.LAYOUT_MODE_STACKED;
|
|
129
|
+
} else {
|
|
130
|
+
newLayoutMode = combinedWidthPercentage >= THRESHOLD_TO_STACKED ? _const.LAYOUT_MODE_STACKED : _const.LAYOUT_MODE_SIDE_BY_SIDE;
|
|
131
|
+
}
|
|
132
|
+
if (currentLayoutMode !== newLayoutMode) {
|
|
133
|
+
setMode(newLayoutMode);
|
|
134
|
+
}
|
|
135
|
+
}, [windowWidth, context, parentWidth, setMode, childWidth, childFlyoutId, parentFlyout === null || parentFlyout === void 0 ? void 0 : parentFlyout.size, childFlyout === null || childFlyout === void 0 ? void 0 : childFlyout.size, euiTheme]);
|
|
136
|
+
};
|
|
137
|
+
|
|
138
|
+
/** Convert a flyout `size` value to a pixel width using theme breakpoints. */
|
|
139
|
+
var getWidthFromSize = exports.getWidthFromSize = function getWidthFromSize(size) {
|
|
140
|
+
if (typeof size === 'number') {
|
|
141
|
+
return size;
|
|
142
|
+
}
|
|
143
|
+
if (typeof size === 'string') {
|
|
144
|
+
var parsed = parseInt(size, 10);
|
|
145
|
+
if (!Number.isNaN(parsed)) {
|
|
146
|
+
return parsed;
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
// Size is a function of a percentage of `vw`, defined in `composeFlyoutSizing` in `flyout.styles.ts`
|
|
150
|
+
switch (size) {
|
|
151
|
+
case 's':
|
|
152
|
+
return Math.round(window.innerWidth * 0.25);
|
|
153
|
+
case 'm':
|
|
154
|
+
return Math.round(window.innerWidth * 0.5);
|
|
155
|
+
case 'l':
|
|
156
|
+
return Math.round(window.innerWidth * 0.75);
|
|
157
|
+
case 'fill':
|
|
158
|
+
return Math.round(window.innerWidth * 0.9);
|
|
159
|
+
default:
|
|
160
|
+
break;
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
return 0;
|
|
164
|
+
};
|
|
165
|
+
|
|
166
|
+
/** Current layout mode for managed flyouts (`side-by-side` or `stacked`). */
|
|
167
|
+
var useFlyoutLayoutMode = exports.useFlyoutLayoutMode = function useFlyoutLayoutMode() {
|
|
168
|
+
var _context$state;
|
|
169
|
+
var context = (0, _hooks.useFlyoutManager)();
|
|
170
|
+
return (context === null || context === void 0 || (_context$state = context.state) === null || _context$state === void 0 ? void 0 : _context$state.layoutMode) || _const.LAYOUT_MODE_SIDE_BY_SIDE;
|
|
171
|
+
};
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
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); }
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.useFlyoutManager = exports.EuiFlyoutManagerContext = exports.EuiFlyoutManager = void 0;
|
|
8
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
9
|
+
var _hooks = require("./hooks");
|
|
10
|
+
var _layout_mode = require("./layout_mode");
|
|
11
|
+
var _react2 = require("@emotion/react");
|
|
12
|
+
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); }
|
|
13
|
+
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; }
|
|
14
|
+
/*
|
|
15
|
+
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
|
|
16
|
+
* or more contributor license agreements. Licensed under the Elastic License
|
|
17
|
+
* 2.0 and the Server Side Public License, v 1; you may not use this file except
|
|
18
|
+
* in compliance with, at your election, the Elastic License 2.0 or the Server
|
|
19
|
+
* Side Public License, v 1.
|
|
20
|
+
*/
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* React context that exposes the Flyout Manager API (state + actions).
|
|
24
|
+
*/
|
|
25
|
+
var EuiFlyoutManagerContext = exports.EuiFlyoutManagerContext = /*#__PURE__*/(0, _react.createContext)(null);
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* Provides the Flyout Manager API via context and runs layout-mode logic.
|
|
29
|
+
*/
|
|
30
|
+
var EuiFlyoutManager = exports.EuiFlyoutManager = function EuiFlyoutManager(_ref) {
|
|
31
|
+
var children = _ref.children;
|
|
32
|
+
var api = (0, _hooks.useFlyoutManagerReducer)();
|
|
33
|
+
return (0, _react2.jsx)(EuiFlyoutManagerContext.Provider, {
|
|
34
|
+
value: api
|
|
35
|
+
}, (0, _react2.jsx)(EuiFlyoutManagerContainer, null, children));
|
|
36
|
+
};
|
|
37
|
+
var EuiFlyoutManagerContainer = function EuiFlyoutManagerContainer(_ref2) {
|
|
38
|
+
var children = _ref2.children;
|
|
39
|
+
(0, _layout_mode.useApplyFlyoutLayoutMode)();
|
|
40
|
+
return (0, _react2.jsx)(_react.default.Fragment, null, children);
|
|
41
|
+
};
|
|
42
|
+
|
|
43
|
+
/** Hook to access the Flyout Manager API from context. */
|
|
44
|
+
var useFlyoutManager = exports.useFlyoutManager = function useFlyoutManager() {
|
|
45
|
+
return (0, _react.useContext)(EuiFlyoutManagerContext);
|
|
46
|
+
};
|
|
@@ -0,0 +1,205 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
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); }
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.flyoutManagerReducer = flyoutManagerReducer;
|
|
8
|
+
exports.initialState = void 0;
|
|
9
|
+
var _actions = require("./actions");
|
|
10
|
+
var _const = require("./const");
|
|
11
|
+
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; }
|
|
12
|
+
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; }
|
|
13
|
+
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; }
|
|
14
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
|
|
15
|
+
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); }
|
|
16
|
+
function _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); }
|
|
17
|
+
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."); }
|
|
18
|
+
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; } }
|
|
19
|
+
function _iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); }
|
|
20
|
+
function _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); }
|
|
21
|
+
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; } /*
|
|
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
|
+
* Default flyout manager state used to initialize the reducer.
|
|
30
|
+
*/
|
|
31
|
+
var initialState = exports.initialState = {
|
|
32
|
+
sessions: [],
|
|
33
|
+
flyouts: [],
|
|
34
|
+
layoutMode: _const.LAYOUT_MODE_SIDE_BY_SIDE
|
|
35
|
+
};
|
|
36
|
+
|
|
37
|
+
/**
|
|
38
|
+
* Reducer handling all flyout manager actions and state transitions.
|
|
39
|
+
*/
|
|
40
|
+
function flyoutManagerReducer() {
|
|
41
|
+
var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : initialState;
|
|
42
|
+
var action = arguments.length > 1 ? arguments[1] : undefined;
|
|
43
|
+
switch (action.type) {
|
|
44
|
+
// Register a flyout.
|
|
45
|
+
// - Ignore duplicates by `flyoutId`.
|
|
46
|
+
// - For a `main` flyout, start a new session { main, child: null }.
|
|
47
|
+
// - For a `child` flyout, attach it to the most recent session; if no
|
|
48
|
+
// session exists, do nothing (invalid child without a parent).
|
|
49
|
+
case _actions.ACTION_ADD:
|
|
50
|
+
{
|
|
51
|
+
var flyoutId = action.flyoutId,
|
|
52
|
+
level = action.level,
|
|
53
|
+
size = action.size;
|
|
54
|
+
if (state.flyouts.some(function (f) {
|
|
55
|
+
return f.flyoutId === flyoutId;
|
|
56
|
+
})) {
|
|
57
|
+
return state;
|
|
58
|
+
}
|
|
59
|
+
var newFlyoutState = {
|
|
60
|
+
level: level,
|
|
61
|
+
flyoutId: flyoutId,
|
|
62
|
+
size: size,
|
|
63
|
+
activityStage: _const.STAGE_OPENING
|
|
64
|
+
};
|
|
65
|
+
var newFlyouts = [].concat(_toConsumableArray(state.flyouts), [newFlyoutState]);
|
|
66
|
+
if (level === _const.LEVEL_MAIN) {
|
|
67
|
+
var newSession = {
|
|
68
|
+
main: flyoutId,
|
|
69
|
+
child: null
|
|
70
|
+
};
|
|
71
|
+
return _objectSpread(_objectSpread({}, state), {}, {
|
|
72
|
+
sessions: [].concat(_toConsumableArray(state.sessions), [newSession]),
|
|
73
|
+
flyouts: newFlyouts
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
if (state.sessions.length === 0) {
|
|
77
|
+
return state;
|
|
78
|
+
}
|
|
79
|
+
var updatedSessions = _toConsumableArray(state.sessions);
|
|
80
|
+
var currentSessionIndex = updatedSessions.length - 1;
|
|
81
|
+
updatedSessions[currentSessionIndex] = _objectSpread(_objectSpread({}, updatedSessions[currentSessionIndex]), {}, {
|
|
82
|
+
child: flyoutId
|
|
83
|
+
});
|
|
84
|
+
return _objectSpread(_objectSpread({}, state), {}, {
|
|
85
|
+
sessions: updatedSessions,
|
|
86
|
+
flyouts: newFlyouts
|
|
87
|
+
});
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
// Unregister a flyout and update sessions accordingly.
|
|
91
|
+
// - When closing a `main` flyout, drop its entire session and all associated flyouts.
|
|
92
|
+
// - When closing a `child` flyout, clear the child pointer on the most
|
|
93
|
+
// recent session if it matches.
|
|
94
|
+
case _actions.ACTION_CLOSE:
|
|
95
|
+
{
|
|
96
|
+
var removedFlyout = state.flyouts.find(function (f) {
|
|
97
|
+
return f.flyoutId === action.flyoutId;
|
|
98
|
+
});
|
|
99
|
+
if (!removedFlyout) {
|
|
100
|
+
return state;
|
|
101
|
+
}
|
|
102
|
+
if (removedFlyout.level === _const.LEVEL_MAIN) {
|
|
103
|
+
// Find the session that contains this main flyout
|
|
104
|
+
var sessionToRemove = state.sessions.find(function (session) {
|
|
105
|
+
return session.main === action.flyoutId;
|
|
106
|
+
});
|
|
107
|
+
if (sessionToRemove) {
|
|
108
|
+
// Remove all flyouts associated with this session (main + child)
|
|
109
|
+
var flyoutsToRemove = new Set([action.flyoutId]);
|
|
110
|
+
if (sessionToRemove.child) {
|
|
111
|
+
flyoutsToRemove.add(sessionToRemove.child);
|
|
112
|
+
}
|
|
113
|
+
var _newFlyouts = state.flyouts.filter(function (f) {
|
|
114
|
+
return !flyoutsToRemove.has(f.flyoutId);
|
|
115
|
+
});
|
|
116
|
+
var newSessions = state.sessions.filter(function (session) {
|
|
117
|
+
return session.main !== action.flyoutId;
|
|
118
|
+
});
|
|
119
|
+
return _objectSpread(_objectSpread({}, state), {}, {
|
|
120
|
+
sessions: newSessions,
|
|
121
|
+
flyouts: _newFlyouts
|
|
122
|
+
});
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
// Handle child flyout closing (existing logic)
|
|
127
|
+
var _newFlyouts2 = state.flyouts.filter(function (f) {
|
|
128
|
+
return f.flyoutId !== action.flyoutId;
|
|
129
|
+
});
|
|
130
|
+
if (state.sessions.length === 0) {
|
|
131
|
+
return _objectSpread(_objectSpread({}, state), {}, {
|
|
132
|
+
flyouts: _newFlyouts2
|
|
133
|
+
});
|
|
134
|
+
}
|
|
135
|
+
var _updatedSessions = _toConsumableArray(state.sessions);
|
|
136
|
+
var _currentSessionIndex = _updatedSessions.length - 1;
|
|
137
|
+
if (_updatedSessions[_currentSessionIndex].child === action.flyoutId) {
|
|
138
|
+
_updatedSessions[_currentSessionIndex] = _objectSpread(_objectSpread({}, _updatedSessions[_currentSessionIndex]), {}, {
|
|
139
|
+
child: null
|
|
140
|
+
});
|
|
141
|
+
}
|
|
142
|
+
return _objectSpread(_objectSpread({}, state), {}, {
|
|
143
|
+
sessions: _updatedSessions,
|
|
144
|
+
flyouts: _newFlyouts2
|
|
145
|
+
});
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
// Mark the provided flyout ID as the active child for the latest session.
|
|
149
|
+
case _actions.ACTION_SET_ACTIVE:
|
|
150
|
+
{
|
|
151
|
+
// No-op when no session exists.
|
|
152
|
+
if (state.sessions.length === 0) {
|
|
153
|
+
return state;
|
|
154
|
+
}
|
|
155
|
+
var _updatedSessions2 = _toConsumableArray(state.sessions);
|
|
156
|
+
var _currentSessionIndex2 = _updatedSessions2.length - 1;
|
|
157
|
+
_updatedSessions2[_currentSessionIndex2] = _objectSpread(_objectSpread({}, _updatedSessions2[_currentSessionIndex2]), {}, {
|
|
158
|
+
child: action.flyoutId
|
|
159
|
+
});
|
|
160
|
+
return _objectSpread(_objectSpread({}, state), {}, {
|
|
161
|
+
sessions: _updatedSessions2
|
|
162
|
+
});
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
// Persist a flyout's measured width (px). Used for responsive layout
|
|
166
|
+
// calculations, e.g., deciding stacked vs side-by-side.
|
|
167
|
+
case _actions.ACTION_SET_WIDTH:
|
|
168
|
+
{
|
|
169
|
+
var _flyoutId = action.flyoutId,
|
|
170
|
+
width = action.width;
|
|
171
|
+
var updatedFlyouts = state.flyouts.map(function (flyout) {
|
|
172
|
+
return flyout.flyoutId === _flyoutId ? _objectSpread(_objectSpread({}, flyout), {}, {
|
|
173
|
+
width: width
|
|
174
|
+
}) : flyout;
|
|
175
|
+
});
|
|
176
|
+
return _objectSpread(_objectSpread({}, state), {}, {
|
|
177
|
+
flyouts: updatedFlyouts
|
|
178
|
+
});
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
// Switch global layout mode for managed flyouts.
|
|
182
|
+
case _actions.ACTION_SET_LAYOUT_MODE:
|
|
183
|
+
{
|
|
184
|
+
return _objectSpread(_objectSpread({}, state), {}, {
|
|
185
|
+
layoutMode: action.layoutMode
|
|
186
|
+
});
|
|
187
|
+
}
|
|
188
|
+
|
|
189
|
+
// Update a flyout's activity stage in state
|
|
190
|
+
case _actions.ACTION_SET_ACTIVITY_STAGE:
|
|
191
|
+
{
|
|
192
|
+
var _flyoutId2 = action.flyoutId;
|
|
193
|
+
var _updatedFlyouts = state.flyouts.map(function (flyout) {
|
|
194
|
+
return flyout.flyoutId === _flyoutId2 ? _objectSpread(_objectSpread({}, flyout), {}, {
|
|
195
|
+
activityStage: action.activityStage
|
|
196
|
+
}) : flyout;
|
|
197
|
+
});
|
|
198
|
+
return _objectSpread(_objectSpread({}, state), {}, {
|
|
199
|
+
flyouts: _updatedFlyouts
|
|
200
|
+
});
|
|
201
|
+
}
|
|
202
|
+
default:
|
|
203
|
+
return state;
|
|
204
|
+
}
|
|
205
|
+
}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.useSession = exports.useParentFlyoutSize = exports.useIsFlyoutRegistered = exports.useIsFlyoutActive = exports.useHasChildFlyout = exports.useHasActiveSession = exports.useFlyoutWidth = exports.useFlyout = exports.useCurrentSession = exports.useCurrentMainFlyout = exports.useCurrentChildFlyout = void 0;
|
|
7
|
+
var _provider = require("./provider");
|
|
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
|
+
var useSession = exports.useSession = function useSession(flyoutId) {
|
|
17
|
+
var context = (0, _provider.useFlyoutManager)();
|
|
18
|
+
if (!context) {
|
|
19
|
+
return null;
|
|
20
|
+
}
|
|
21
|
+
return context.state.sessions.find(function (s) {
|
|
22
|
+
return s.main === flyoutId || s.child === flyoutId;
|
|
23
|
+
}) || null;
|
|
24
|
+
};
|
|
25
|
+
|
|
26
|
+
/** True when any managed flyout session is currently active. */
|
|
27
|
+
var useHasActiveSession = exports.useHasActiveSession = function useHasActiveSession() {
|
|
28
|
+
return !!useCurrentSession();
|
|
29
|
+
};
|
|
30
|
+
|
|
31
|
+
/** True if the given `flyoutId` is the main or child flyout in the latest session. */
|
|
32
|
+
var useIsFlyoutActive = exports.useIsFlyoutActive = function useIsFlyoutActive(flyoutId) {
|
|
33
|
+
var currentSession = useCurrentSession();
|
|
34
|
+
return (currentSession === null || currentSession === void 0 ? void 0 : currentSession.main) === flyoutId || (currentSession === null || currentSession === void 0 ? void 0 : currentSession.child) === flyoutId;
|
|
35
|
+
};
|
|
36
|
+
var useFlyout = exports.useFlyout = function useFlyout(flyoutId) {
|
|
37
|
+
var context = (0, _provider.useFlyoutManager)();
|
|
38
|
+
if (!context || !flyoutId) {
|
|
39
|
+
return null;
|
|
40
|
+
}
|
|
41
|
+
return context.state.flyouts.find(function (f) {
|
|
42
|
+
return f.flyoutId === flyoutId;
|
|
43
|
+
}) || null;
|
|
44
|
+
};
|
|
45
|
+
var useIsFlyoutRegistered = exports.useIsFlyoutRegistered = function useIsFlyoutRegistered(flyoutId) {
|
|
46
|
+
var context = (0, _provider.useFlyoutManager)();
|
|
47
|
+
if (!context || !flyoutId) {
|
|
48
|
+
return false;
|
|
49
|
+
}
|
|
50
|
+
return context.state.flyouts.some(function (f) {
|
|
51
|
+
return f.flyoutId === flyoutId;
|
|
52
|
+
});
|
|
53
|
+
};
|
|
54
|
+
|
|
55
|
+
/** The most recent flyout session or `null` if none. */
|
|
56
|
+
var useCurrentSession = exports.useCurrentSession = function useCurrentSession() {
|
|
57
|
+
var context = (0, _provider.useFlyoutManager)();
|
|
58
|
+
if (!context) return null;
|
|
59
|
+
return context.state.sessions[context.state.sessions.length - 1] || null;
|
|
60
|
+
};
|
|
61
|
+
|
|
62
|
+
/** The registered state of the current session's main flyout, if present. */
|
|
63
|
+
var useCurrentMainFlyout = exports.useCurrentMainFlyout = function useCurrentMainFlyout() {
|
|
64
|
+
var currentSession = useCurrentSession();
|
|
65
|
+
var mainFlyoutId = currentSession === null || currentSession === void 0 ? void 0 : currentSession.main;
|
|
66
|
+
return useFlyout(mainFlyoutId);
|
|
67
|
+
};
|
|
68
|
+
|
|
69
|
+
/** The registered state of the current session's child flyout, if present. */
|
|
70
|
+
var useCurrentChildFlyout = exports.useCurrentChildFlyout = function useCurrentChildFlyout() {
|
|
71
|
+
var currentSession = useCurrentSession();
|
|
72
|
+
var childFlyoutId = currentSession === null || currentSession === void 0 ? void 0 : currentSession.child;
|
|
73
|
+
return useFlyout(childFlyoutId);
|
|
74
|
+
};
|
|
75
|
+
|
|
76
|
+
/** The measured width (px) of the specified flyout, or `null` if unknown. */
|
|
77
|
+
var useFlyoutWidth = exports.useFlyoutWidth = function useFlyoutWidth(flyoutId) {
|
|
78
|
+
var _useFlyout;
|
|
79
|
+
return (_useFlyout = useFlyout(flyoutId)) === null || _useFlyout === void 0 ? void 0 : _useFlyout.width;
|
|
80
|
+
};
|
|
81
|
+
|
|
82
|
+
/** The configured size of the parent (main) flyout for a given child flyout ID. */
|
|
83
|
+
var useParentFlyoutSize = exports.useParentFlyoutSize = function useParentFlyoutSize(childFlyoutId) {
|
|
84
|
+
var session = useSession(childFlyoutId);
|
|
85
|
+
var parentFlyout = useFlyout(session === null || session === void 0 ? void 0 : session.main);
|
|
86
|
+
return parentFlyout === null || parentFlyout === void 0 ? void 0 : parentFlyout.size;
|
|
87
|
+
};
|
|
88
|
+
|
|
89
|
+
/** True if the provided `flyoutId` is the main flyout and it currently has a child. */
|
|
90
|
+
var useHasChildFlyout = exports.useHasChildFlyout = function useHasChildFlyout(flyoutId) {
|
|
91
|
+
var session = useSession(flyoutId);
|
|
92
|
+
return !!(session !== null && session !== void 0 && session.child);
|
|
93
|
+
};
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.createValidationErrorMessage = createValidationErrorMessage;
|
|
7
|
+
exports.isNamedSize = isNamedSize;
|
|
8
|
+
exports.validateFlyoutSize = validateFlyoutSize;
|
|
9
|
+
exports.validateManagedFlyoutSize = validateManagedFlyoutSize;
|
|
10
|
+
exports.validateSizeCombination = validateSizeCombination;
|
|
11
|
+
var _const = require("../const");
|
|
12
|
+
var _const2 = require("./const");
|
|
13
|
+
/*
|
|
14
|
+
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
|
|
15
|
+
* or more contributor license agreements. Licensed under the Elastic License
|
|
16
|
+
* 2.0 and the Server Side Public License, v 1; you may not use this file except
|
|
17
|
+
* in compliance with, at your election, the Elastic License 2.0 or the Server
|
|
18
|
+
* Side Public License, v 1.
|
|
19
|
+
*/
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* Business rules for flyout sizes:
|
|
23
|
+
* - Managed flyouts should only accept "named" sizes (s, m, l, fill)
|
|
24
|
+
* - Parent and child can't both be 'm'
|
|
25
|
+
* - Parent and child can't both be 'fill'
|
|
26
|
+
* - Parent can't be 'l' if there is a child
|
|
27
|
+
*/
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* Checks if a size is a named size (s, m, l)
|
|
31
|
+
*/
|
|
32
|
+
function isNamedSize(size) {
|
|
33
|
+
return _const.FLYOUT_SIZES.includes(size);
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
/**
|
|
37
|
+
* Validates that a managed flyout only uses named sizes
|
|
38
|
+
*/
|
|
39
|
+
function validateManagedFlyoutSize(size, flyoutId, level) {
|
|
40
|
+
if (!isNamedSize(size)) {
|
|
41
|
+
var namedSizes = _const.FLYOUT_SIZES.join(', ');
|
|
42
|
+
return {
|
|
43
|
+
type: 'INVALID_SIZE_TYPE',
|
|
44
|
+
message: "Managed flyouts must use named sizes (".concat(namedSizes, "). Received: ").concat(size),
|
|
45
|
+
flyoutId: flyoutId,
|
|
46
|
+
level: level,
|
|
47
|
+
size: "".concat(size)
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
return null;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
/**
|
|
54
|
+
* Validates size combinations for parent-child flyouts
|
|
55
|
+
*/
|
|
56
|
+
function validateSizeCombination(parentSize, childSize) {
|
|
57
|
+
// Parent and child can't both be 'm'
|
|
58
|
+
if (parentSize === 'm' && childSize === 'm') {
|
|
59
|
+
return {
|
|
60
|
+
type: 'INVALID_SIZE_COMBINATION',
|
|
61
|
+
message: 'Parent and child flyouts cannot both be size "m"',
|
|
62
|
+
size: childSize
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
// Parent and child can't both be 'fill'
|
|
67
|
+
if (parentSize === 'fill' && childSize === 'fill') {
|
|
68
|
+
return {
|
|
69
|
+
type: 'INVALID_SIZE_COMBINATION',
|
|
70
|
+
message: 'Parent and child flyouts cannot both be size "fill"',
|
|
71
|
+
size: childSize
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
// Parent can't be 'l' if there is a child
|
|
76
|
+
if (parentSize === 'l') {
|
|
77
|
+
return {
|
|
78
|
+
type: 'INVALID_SIZE_COMBINATION',
|
|
79
|
+
message: 'Parent flyouts cannot be size "l" when there is a child flyout',
|
|
80
|
+
size: parentSize
|
|
81
|
+
};
|
|
82
|
+
}
|
|
83
|
+
return null;
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
/**
|
|
87
|
+
* Comprehensive validation for flyout size rules
|
|
88
|
+
*/
|
|
89
|
+
function validateFlyoutSize(size, flyoutId, level, parentSize) {
|
|
90
|
+
// First validate that managed flyouts use named sizes
|
|
91
|
+
var sizeTypeError = validateManagedFlyoutSize(size, flyoutId, level);
|
|
92
|
+
if (sizeTypeError) {
|
|
93
|
+
return sizeTypeError;
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
// If this is a child flyout and we have parent size, validate combination
|
|
97
|
+
if (level === _const2.LEVEL_CHILD && parentSize && isNamedSize(size)) {
|
|
98
|
+
var combinationError = validateSizeCombination(parentSize, size);
|
|
99
|
+
if (combinationError) {
|
|
100
|
+
combinationError.flyoutId = flyoutId;
|
|
101
|
+
combinationError.level = level;
|
|
102
|
+
return combinationError;
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
return null;
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
/**
|
|
109
|
+
* Creates a user-friendly error message for validation errors
|
|
110
|
+
*/
|
|
111
|
+
function createValidationErrorMessage(error) {
|
|
112
|
+
var prefix = "EuiFlyout validation error: ";
|
|
113
|
+
switch (error.type) {
|
|
114
|
+
case 'INVALID_SIZE_TYPE':
|
|
115
|
+
return "".concat(prefix).concat(error.message);
|
|
116
|
+
case 'INVALID_SIZE_COMBINATION':
|
|
117
|
+
return "".concat(prefix).concat(error.message);
|
|
118
|
+
default:
|
|
119
|
+
return "".concat(prefix, "Unknown validation error");
|
|
120
|
+
}
|
|
121
|
+
}
|