@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
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.useEuiContainerQuery = useEuiContainerQuery;
|
|
8
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
9
|
+
var _react = require("react");
|
|
10
|
+
var _match_container = require("./match_container");
|
|
11
|
+
/*
|
|
12
|
+
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
|
|
13
|
+
* or more contributor license agreements. Licensed under the Elastic License
|
|
14
|
+
* 2.0 and the Server Side Public License, v 1; you may not use this file except
|
|
15
|
+
* in compliance with, at your election, the Elastic License 2.0 or the Server
|
|
16
|
+
* Side Public License, v 1.
|
|
17
|
+
*/
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* React hook that subscribes to CSS container query changes.
|
|
21
|
+
*
|
|
22
|
+
* For this to work:
|
|
23
|
+
* - a proper container (an element with e.g. `container-type: inline-size`) is needed, and
|
|
24
|
+
* - the container MUST to be a parent of the element being observed
|
|
25
|
+
*
|
|
26
|
+
* @param containerCondition - A CSS `<container-condition>` string, e.g. `(width > 400px)` or `(min-width: 600px)`
|
|
27
|
+
* @param name - Optional container name, e.g. `sidebar`
|
|
28
|
+
* @returns An object containing:
|
|
29
|
+
* - `ref`: A ref to attach to the container element
|
|
30
|
+
* - `matches`: `true` if the container matches the condition, `false` otherwise
|
|
31
|
+
*
|
|
32
|
+
* @example
|
|
33
|
+
* ```tsx
|
|
34
|
+
* const { ref, matches } = useEuiContainerQuery('(width > 400px)');
|
|
35
|
+
* return <div ref={ref}>{matches ? 'Wide' : 'Narrow'}</div>;
|
|
36
|
+
* ```
|
|
37
|
+
*
|
|
38
|
+
* @see {@link https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/At-rules/@container | MDN: @container}
|
|
39
|
+
* @beta
|
|
40
|
+
*/
|
|
41
|
+
function useEuiContainerQuery(containerCondition, name) {
|
|
42
|
+
var containerQueryString = name ? "".concat(name, " ").concat(containerCondition) : containerCondition;
|
|
43
|
+
var ref = (0, _react.useRef)(null);
|
|
44
|
+
var _useState = (0, _react.useState)(false),
|
|
45
|
+
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
46
|
+
matches = _useState2[0],
|
|
47
|
+
setMatches = _useState2[1];
|
|
48
|
+
(0, _react.useEffect)(function () {
|
|
49
|
+
if (!ref.current) return;
|
|
50
|
+
var queryList = (0, _match_container.matchContainer)(ref.current, containerQueryString);
|
|
51
|
+
var handleChange = function handleChange() {
|
|
52
|
+
setMatches(queryList.matches);
|
|
53
|
+
};
|
|
54
|
+
setMatches(queryList.matches);
|
|
55
|
+
queryList.addEventListener('change', handleChange);
|
|
56
|
+
return function () {
|
|
57
|
+
queryList.removeEventListener('change', handleChange);
|
|
58
|
+
queryList.dispose();
|
|
59
|
+
};
|
|
60
|
+
}, [ref, containerQueryString]);
|
|
61
|
+
return {
|
|
62
|
+
ref: ref,
|
|
63
|
+
matches: matches
|
|
64
|
+
};
|
|
65
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
var _container_query_hook = require("./container_query_hook");
|
|
7
|
+
Object.keys(_container_query_hook).forEach(function (key) {
|
|
8
|
+
if (key === "default" || key === "__esModule") return;
|
|
9
|
+
if (key in exports && exports[key] === _container_query_hook[key]) return;
|
|
10
|
+
Object.defineProperty(exports, key, {
|
|
11
|
+
enumerable: true,
|
|
12
|
+
get: function get() {
|
|
13
|
+
return _container_query_hook[key];
|
|
14
|
+
}
|
|
15
|
+
});
|
|
16
|
+
});
|
|
@@ -0,0 +1,231 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.ContainerQueryListChangeEvent = exports.ContainerQueryList = void 0;
|
|
8
|
+
exports.matchContainer = matchContainer;
|
|
9
|
+
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
10
|
+
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
11
|
+
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
12
|
+
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
13
|
+
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
14
|
+
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
15
|
+
var _wrapNativeSuper2 = _interopRequireDefault(require("@babel/runtime/helpers/wrapNativeSuper"));
|
|
16
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
17
|
+
var _uuid = require("uuid");
|
|
18
|
+
function _classPrivateFieldInitSpec(e, t, a) { _checkPrivateRedeclaration(e, t), t.set(e, a); }
|
|
19
|
+
function _checkPrivateRedeclaration(e, t) { if (t.has(e)) throw new TypeError("Cannot initialize the same private elements twice on an object"); }
|
|
20
|
+
function _classPrivateFieldSet(s, a, r) { return s.set(_assertClassBrand(s, a), r), r; }
|
|
21
|
+
function _classPrivateFieldGet(s, a) { return s.get(_assertClassBrand(s, a)); }
|
|
22
|
+
function _assertClassBrand(e, t, n) { if ("function" == typeof e ? e === t : e.has(t)) return arguments.length < 3 ? t : n; throw new TypeError("Private element is not present on this object"); }
|
|
23
|
+
function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2.default)(o), (0, _possibleConstructorReturn2.default)(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2.default)(t).constructor) : o.apply(t, e)); }
|
|
24
|
+
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); } /*
|
|
25
|
+
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
|
|
26
|
+
* or more contributor license agreements. Licensed under the Elastic License
|
|
27
|
+
* 2.0 and the Server Side Public License, v 1; you may not use this file except
|
|
28
|
+
* in compliance with, at your election, the Elastic License 2.0 or the Server
|
|
29
|
+
* Side Public License, v 1.
|
|
30
|
+
*/ /**
|
|
31
|
+
* @license MIT License
|
|
32
|
+
*
|
|
33
|
+
* Copyright (c) 2025 Martin Winkler
|
|
34
|
+
*
|
|
35
|
+
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
36
|
+
* of this software and associated documentation files (the "Software"), to deal
|
|
37
|
+
* in the Software without restriction, including without limitation the rights
|
|
38
|
+
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
39
|
+
* copies of the Software, and to permit persons to whom the Software is
|
|
40
|
+
* furnished to do so, subject to the following conditions:
|
|
41
|
+
*
|
|
42
|
+
* The above copyright notice and this permission notice shall be included in all
|
|
43
|
+
* copies or substantial portions of the Software.
|
|
44
|
+
*
|
|
45
|
+
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
46
|
+
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
47
|
+
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
48
|
+
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
49
|
+
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
50
|
+
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
51
|
+
* SOFTWARE.
|
|
52
|
+
*
|
|
53
|
+
* @see {@link https://github.com/teetotum/match-container/blob/main/matchContainer.js}
|
|
54
|
+
*/
|
|
55
|
+
/**
|
|
56
|
+
* Listen for changes on a container query.
|
|
57
|
+
* Just like `window.matchMedia`.
|
|
58
|
+
*
|
|
59
|
+
* @example
|
|
60
|
+
* ```js
|
|
61
|
+
* const cql = matchContainer(element, '(width > 42rem)');
|
|
62
|
+
* cql.addEventListener('change', ({ matches }) {
|
|
63
|
+
* // ..
|
|
64
|
+
* })
|
|
65
|
+
* ```
|
|
66
|
+
*
|
|
67
|
+
* @param element
|
|
68
|
+
* @param containerQueryString e.g. (width > 42rem)
|
|
69
|
+
* @returns ContainerQueryList
|
|
70
|
+
*/
|
|
71
|
+
function matchContainer(element, containerQueryString) {
|
|
72
|
+
return new ContainerQueryList(element, containerQueryString);
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
/**
|
|
76
|
+
* `change` event dispatched by instances of {@link ContainerQueryList}
|
|
77
|
+
* whenever the value of `matches` changes
|
|
78
|
+
*/
|
|
79
|
+
var ContainerQueryListChangeEvent = exports.ContainerQueryListChangeEvent = /*#__PURE__*/function (_Event) {
|
|
80
|
+
function ContainerQueryListChangeEvent(matches, container) {
|
|
81
|
+
var _this;
|
|
82
|
+
(0, _classCallCheck2.default)(this, ContainerQueryListChangeEvent);
|
|
83
|
+
_this = _callSuper(this, ContainerQueryListChangeEvent, ['change']);
|
|
84
|
+
/** Whether the container query matches */
|
|
85
|
+
(0, _defineProperty2.default)(_this, "matches", void 0);
|
|
86
|
+
/** A string representation of the container query list e.g. "(width > 1000px)" */
|
|
87
|
+
(0, _defineProperty2.default)(_this, "container", void 0);
|
|
88
|
+
_this.matches = matches;
|
|
89
|
+
_this.container = container;
|
|
90
|
+
return _this;
|
|
91
|
+
}
|
|
92
|
+
(0, _inherits2.default)(ContainerQueryListChangeEvent, _Event);
|
|
93
|
+
return (0, _createClass2.default)(ContainerQueryListChangeEvent);
|
|
94
|
+
}( /*#__PURE__*/(0, _wrapNativeSuper2.default)(Event));
|
|
95
|
+
/**
|
|
96
|
+
* A hacky implementation of a possible native `ContainerQueryList`
|
|
97
|
+
* based on the teetotum/match-container polyfill:
|
|
98
|
+
* - based on a API proposal in W3C CSS WG {@link https://github.com/w3c/csswg-drafts/issues/6205})
|
|
99
|
+
* - mimicking MediaQueryList {@link https://developer.mozilla.org/en-US/docs/Web/API/MediaQueryList}
|
|
100
|
+
*
|
|
101
|
+
* Not meant to be used directly, but rather call `matchContainer`.
|
|
102
|
+
*
|
|
103
|
+
* It works by listening on a `transitionrun` event on the element,
|
|
104
|
+
* that gets triggered by a container query changing a custom property.
|
|
105
|
+
* Setting `transition-behavior: allow-discrete` is what makes it possible
|
|
106
|
+
* to have a CSS `transition` for a custom property.
|
|
107
|
+
* @see {@link https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Properties/transition-behavior}
|
|
108
|
+
*/
|
|
109
|
+
var _matches = /*#__PURE__*/new WeakMap();
|
|
110
|
+
var ContainerQueryList = exports.ContainerQueryList = /*#__PURE__*/function (_EventTarget) {
|
|
111
|
+
function ContainerQueryList(element, containerQueryString) {
|
|
112
|
+
var _this2;
|
|
113
|
+
(0, _classCallCheck2.default)(this, ContainerQueryList);
|
|
114
|
+
_this2 = _callSuper(this, ContainerQueryList);
|
|
115
|
+
(0, _defineProperty2.default)(_this2, "element", null);
|
|
116
|
+
(0, _defineProperty2.default)(_this2, "styleSheet", null);
|
|
117
|
+
(0, _defineProperty2.default)(_this2, "markerAttributeName", '');
|
|
118
|
+
(0, _defineProperty2.default)(_this2, "sentinelPropertyName", '');
|
|
119
|
+
(0, _defineProperty2.default)(_this2, "computedStyle", null);
|
|
120
|
+
(0, _defineProperty2.default)(_this2, "transitionRunListener", null);
|
|
121
|
+
_classPrivateFieldInitSpec(_this2, _matches, false);
|
|
122
|
+
/**
|
|
123
|
+
* A string representation of the container query list e.g. "(width > 1000px)"
|
|
124
|
+
* (the name is weird but it is so for consistency with mediaQueryList.media)
|
|
125
|
+
* @see {@link https://developer.mozilla.org/en-US/docs/Web/API/MediaQueryList/media}
|
|
126
|
+
* */
|
|
127
|
+
(0, _defineProperty2.default)(_this2, "container", void 0);
|
|
128
|
+
_this2.container = containerQueryString;
|
|
129
|
+
_this2.element = element;
|
|
130
|
+
// we call this only once to try to avoid any impact on performance
|
|
131
|
+
_this2.computedStyle = getComputedStyle(_this2.element);
|
|
132
|
+
var uniqueName = "container-query-observer-".concat((0, _uuid.v1)());
|
|
133
|
+
_this2.markerAttributeName = "data-".concat(uniqueName);
|
|
134
|
+
_this2.sentinelPropertyName = "--".concat(uniqueName);
|
|
135
|
+
|
|
136
|
+
// order is important (as in life)
|
|
137
|
+
_this2.applyMarkerAttribute();
|
|
138
|
+
_this2.createStyleSheet();
|
|
139
|
+
_classPrivateFieldSet(_matches, _this2, _this2.computedStyle.getPropertyValue(_this2.sentinelPropertyName) === '--true');
|
|
140
|
+
_this2.setupTransitionListener();
|
|
141
|
+
return _this2;
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
/**
|
|
145
|
+
* The marker attribute is `data-container-query-observer-{UUID}`,
|
|
146
|
+
* it will be used as a selector in the container query,
|
|
147
|
+
* in the global CSS that's being added below.
|
|
148
|
+
*/
|
|
149
|
+
(0, _inherits2.default)(ContainerQueryList, _EventTarget);
|
|
150
|
+
return (0, _createClass2.default)(ContainerQueryList, [{
|
|
151
|
+
key: "matches",
|
|
152
|
+
get: /** Whether the container query matches */
|
|
153
|
+
function get() {
|
|
154
|
+
return _classPrivateFieldGet(_matches, this);
|
|
155
|
+
}
|
|
156
|
+
}, {
|
|
157
|
+
key: "applyMarkerAttribute",
|
|
158
|
+
value: function applyMarkerAttribute() {
|
|
159
|
+
this.element.setAttribute(this.markerAttributeName, '');
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
/**
|
|
163
|
+
* Create a CSS custom property with values either `--true` or `--false`,
|
|
164
|
+
* and add container query targetting the element.
|
|
165
|
+
* Whenever the container query matches, the custom property will be `--true`.
|
|
166
|
+
* This styles are added globaly via `document.adoptedStyleSheets`.
|
|
167
|
+
*/
|
|
168
|
+
}, {
|
|
169
|
+
key: "createStyleSheet",
|
|
170
|
+
value: function createStyleSheet() {
|
|
171
|
+
var css = "\n @property ".concat(this.sentinelPropertyName, " {\n syntax: '<custom-ident>';\n inherits: false;\n initial-value: --false;\n }\n @container ").concat(this.container, " {\n [").concat(this.markerAttributeName, "] {\n ").concat(this.sentinelPropertyName, ": --true;\n }\n }\n ");
|
|
172
|
+
var styleSheet = new CSSStyleSheet();
|
|
173
|
+
styleSheet.replaceSync(css);
|
|
174
|
+
document.adoptedStyleSheets = [].concat((0, _toConsumableArray2.default)(document.adoptedStyleSheets), [styleSheet]);
|
|
175
|
+
this.styleSheet = styleSheet;
|
|
176
|
+
}
|
|
177
|
+
|
|
178
|
+
/**
|
|
179
|
+
* This is the key to the hack:
|
|
180
|
+
* - a `transition` style is added for the custom property
|
|
181
|
+
* - the `transitionrun` event will fire whenever the custom property value changes
|
|
182
|
+
* because of the container query
|
|
183
|
+
* - we get the value from computed styles
|
|
184
|
+
* - the `matches` value is updated and
|
|
185
|
+
* - a ContainerQueryListChangeEvent event is dispatched
|
|
186
|
+
*/
|
|
187
|
+
}, {
|
|
188
|
+
key: "setupTransitionListener",
|
|
189
|
+
value: function setupTransitionListener() {
|
|
190
|
+
var _this3 = this;
|
|
191
|
+
var element = this.element,
|
|
192
|
+
computedStyle = this.computedStyle,
|
|
193
|
+
sentinelPropertyName = this.sentinelPropertyName;
|
|
194
|
+
if (!element) return;
|
|
195
|
+
var currentValue = computedStyle.getPropertyValue(sentinelPropertyName);
|
|
196
|
+
element.style.setProperty('transition', "".concat(sentinelPropertyName, " 0.001ms step-start"));
|
|
197
|
+
element.style.setProperty('transition-behavior', 'allow-discrete');
|
|
198
|
+
this.transitionRunListener = function (event) {
|
|
199
|
+
if (event.target !== element) return;
|
|
200
|
+
var nextValue = computedStyle.getPropertyValue(sentinelPropertyName);
|
|
201
|
+
if (nextValue === currentValue) return;
|
|
202
|
+
currentValue = nextValue;
|
|
203
|
+
_classPrivateFieldSet(_matches, _this3, nextValue === '--true');
|
|
204
|
+
_this3.dispatchEvent(new ContainerQueryListChangeEvent(_classPrivateFieldGet(_matches, _this3), _this3.container));
|
|
205
|
+
};
|
|
206
|
+
element.addEventListener('transitionrun', this.transitionRunListener);
|
|
207
|
+
}
|
|
208
|
+
}, {
|
|
209
|
+
key: "dispose",
|
|
210
|
+
value: function dispose() {
|
|
211
|
+
var _this4 = this;
|
|
212
|
+
// remove the stylesheet from adoptedStyleSheets
|
|
213
|
+
if (this.styleSheet) {
|
|
214
|
+
document.adoptedStyleSheets = document.adoptedStyleSheets.filter(function (sheet) {
|
|
215
|
+
return sheet !== _this4.styleSheet;
|
|
216
|
+
});
|
|
217
|
+
}
|
|
218
|
+
if (!this.element) return;
|
|
219
|
+
if (this.transitionRunListener) {
|
|
220
|
+
this.element.removeEventListener('transitionrun', this.transitionRunListener);
|
|
221
|
+
}
|
|
222
|
+
this.element.removeAttribute(this.markerAttributeName);
|
|
223
|
+
this.element.style.removeProperty('transition');
|
|
224
|
+
this.element.style.removeProperty('transition-behavior');
|
|
225
|
+
this.element = null;
|
|
226
|
+
this.styleSheet = null;
|
|
227
|
+
this.computedStyle = null;
|
|
228
|
+
this.transitionRunListener = null;
|
|
229
|
+
}
|
|
230
|
+
}]);
|
|
231
|
+
}( /*#__PURE__*/(0, _wrapNativeSuper2.default)(EventTarget));
|
|
@@ -1,223 +0,0 @@
|
|
|
1
|
-
var _excluded = ["children", "backgroundStyle", "className", "banner", "hideCloseButton", "onClose", "scrollableTabIndex", "size"];
|
|
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); }
|
|
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; }
|
|
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; }
|
|
5
|
-
/*
|
|
6
|
-
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
|
|
7
|
-
* or more contributor license agreements. Licensed under the Elastic License
|
|
8
|
-
* 2.0 and the Server Side Public License, v 1; you may not use this file except
|
|
9
|
-
* in compliance with, at your election, the Elastic License 2.0 or the Server
|
|
10
|
-
* Side Public License, v 1.
|
|
11
|
-
*/
|
|
12
|
-
|
|
13
|
-
import React, { useContext, Children, useEffect, useMemo, useRef, useCallback } from 'react';
|
|
14
|
-
import PropTypes from "prop-types";
|
|
15
|
-
import classNames from 'classnames';
|
|
16
|
-
import { keys, useEuiMemoizedStyles, useGeneratedHtmlId } from '../../services';
|
|
17
|
-
import { euiFlyoutChildStyles } from './flyout_child.styles';
|
|
18
|
-
import { EuiFlyoutCloseButton } from './_flyout_close_button';
|
|
19
|
-
import { EuiFlyoutContext } from './flyout_context';
|
|
20
|
-
import { EuiFlyoutBody } from './flyout_body';
|
|
21
|
-
import { EuiFocusTrap } from '../focus_trap';
|
|
22
|
-
|
|
23
|
-
/**
|
|
24
|
-
* Props used to render and configure the child flyout panel
|
|
25
|
-
*/
|
|
26
|
-
import { jsx as ___EmotionJSX } from "@emotion/react";
|
|
27
|
-
/**
|
|
28
|
-
* The child flyout is a panel that appears to the left of the parent flyout.
|
|
29
|
-
* It is only visible when the parent flyout is open.
|
|
30
|
-
*/
|
|
31
|
-
export var EuiFlyoutChild = function EuiFlyoutChild(_ref) {
|
|
32
|
-
var children = _ref.children,
|
|
33
|
-
_ref$backgroundStyle = _ref.backgroundStyle,
|
|
34
|
-
backgroundStyle = _ref$backgroundStyle === void 0 ? 'default' : _ref$backgroundStyle,
|
|
35
|
-
className = _ref.className,
|
|
36
|
-
banner = _ref.banner,
|
|
37
|
-
_ref$hideCloseButton = _ref.hideCloseButton,
|
|
38
|
-
hideCloseButton = _ref$hideCloseButton === void 0 ? false : _ref$hideCloseButton,
|
|
39
|
-
onClose = _ref.onClose,
|
|
40
|
-
_ref$scrollableTabInd = _ref.scrollableTabIndex,
|
|
41
|
-
scrollableTabIndex = _ref$scrollableTabInd === void 0 ? 0 : _ref$scrollableTabInd,
|
|
42
|
-
_ref$size = _ref.size,
|
|
43
|
-
size = _ref$size === void 0 ? 's' : _ref$size,
|
|
44
|
-
rest = _objectWithoutProperties(_ref, _excluded);
|
|
45
|
-
var flyoutContext = useContext(EuiFlyoutContext);
|
|
46
|
-
if (!flyoutContext) {
|
|
47
|
-
throw new Error('EuiFlyoutChild must be used as a child of EuiFlyout.');
|
|
48
|
-
}
|
|
49
|
-
var isChildFlyoutOpen = flyoutContext.isChildFlyoutOpen,
|
|
50
|
-
setIsChildFlyoutOpen = flyoutContext.setIsChildFlyoutOpen,
|
|
51
|
-
parentSize = flyoutContext.parentSize;
|
|
52
|
-
useEffect(function () {
|
|
53
|
-
setIsChildFlyoutOpen === null || setIsChildFlyoutOpen === void 0 || setIsChildFlyoutOpen(true);
|
|
54
|
-
return function () {
|
|
55
|
-
setIsChildFlyoutOpen === null || setIsChildFlyoutOpen === void 0 || setIsChildFlyoutOpen(false);
|
|
56
|
-
};
|
|
57
|
-
}, [setIsChildFlyoutOpen]);
|
|
58
|
-
if (React.Children.count(children) === 0) {
|
|
59
|
-
console.warn('EuiFlyoutChild was rendered with no children!');
|
|
60
|
-
}
|
|
61
|
-
if (parentSize === 'm' && size === 'm') {
|
|
62
|
-
throw new Error('When the parent EuiFlyout size is "m", the EuiFlyoutChild size cannot be "m". Please use size "s" for the EuiFlyoutChild.');
|
|
63
|
-
}
|
|
64
|
-
var handleClose = function handleClose(event) {
|
|
65
|
-
setIsChildFlyoutOpen === null || setIsChildFlyoutOpen === void 0 || setIsChildFlyoutOpen(false);
|
|
66
|
-
onClose(event);
|
|
67
|
-
};
|
|
68
|
-
var flyoutTitleText;
|
|
69
|
-
var hasDescribedByBody = false;
|
|
70
|
-
Children.forEach(children, function (child) {
|
|
71
|
-
if ( /*#__PURE__*/React.isValidElement(child)) {
|
|
72
|
-
var _child$type;
|
|
73
|
-
if (((_child$type = child.type) === null || _child$type === void 0 ? void 0 : _child$type.displayName) === 'EuiFlyoutHeader') {
|
|
74
|
-
// Attempt to extract string content from header for ARIA
|
|
75
|
-
var headerChildren = child.props.children;
|
|
76
|
-
if (typeof headerChildren === 'string') {
|
|
77
|
-
flyoutTitleText = headerChildren;
|
|
78
|
-
} else if ( /*#__PURE__*/React.isValidElement(headerChildren) &&
|
|
79
|
-
// Check if props exist and children is a string
|
|
80
|
-
typeof headerChildren.props.children === 'string') {
|
|
81
|
-
flyoutTitleText = headerChildren.props.children;
|
|
82
|
-
} else if (Array.isArray(headerChildren)) {
|
|
83
|
-
// Find the first string child if headerChildren is an array
|
|
84
|
-
flyoutTitleText = headerChildren.find(function (cNode) {
|
|
85
|
-
return typeof cNode === 'string';
|
|
86
|
-
});
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
if (child.type === EuiFlyoutBody) {
|
|
90
|
-
hasDescribedByBody = true;
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
});
|
|
94
|
-
var titleIdGenerated = useGeneratedHtmlId({
|
|
95
|
-
prefix: 'euiFlyoutChildTitle'
|
|
96
|
-
});
|
|
97
|
-
var bodyIdGenerated = useGeneratedHtmlId({
|
|
98
|
-
prefix: 'euiFlyoutChildBody'
|
|
99
|
-
});
|
|
100
|
-
var ariaLabelledBy = flyoutTitleText ? titleIdGenerated : undefined;
|
|
101
|
-
var ariaDescribedBy = hasDescribedByBody ? bodyIdGenerated : undefined;
|
|
102
|
-
// Use existing aria-label if provided, otherwise fallback if no labelledby can be derived
|
|
103
|
-
var ariaLabel = rest['aria-label'] || (!ariaLabelledBy && !flyoutTitleText ? 'Flyout panel' : undefined);
|
|
104
|
-
var processedChildren = useMemo(function () {
|
|
105
|
-
return Children.map(children, function (child) {
|
|
106
|
-
if ( /*#__PURE__*/React.isValidElement(child)) {
|
|
107
|
-
var _child$type2, _child$type3;
|
|
108
|
-
if ((child.type === EuiFlyoutBody || ((_child$type2 = child.type) === null || _child$type2 === void 0 ? void 0 : _child$type2.displayName) === 'EuiFlyoutBody') && hasDescribedByBody) {
|
|
109
|
-
return /*#__PURE__*/React.cloneElement(child, {
|
|
110
|
-
id: bodyIdGenerated
|
|
111
|
-
});
|
|
112
|
-
}
|
|
113
|
-
// If EuiFlyoutHeader is found and we derived flyoutTitleText, set its ID
|
|
114
|
-
if (((_child$type3 = child.type) === null || _child$type3 === void 0 ? void 0 : _child$type3.displayName) === 'EuiFlyoutHeader' && flyoutTitleText && ariaLabelledBy) {
|
|
115
|
-
return /*#__PURE__*/React.cloneElement(child, {
|
|
116
|
-
id: titleIdGenerated
|
|
117
|
-
});
|
|
118
|
-
}
|
|
119
|
-
}
|
|
120
|
-
return child;
|
|
121
|
-
});
|
|
122
|
-
}, [children, bodyIdGenerated, titleIdGenerated, hasDescribedByBody, flyoutTitleText, ariaLabelledBy]);
|
|
123
|
-
var flyoutWrapperRef = useRef(null);
|
|
124
|
-
var classes = classNames('euiFlyoutChild', className);
|
|
125
|
-
var styles = useEuiMemoizedStyles(euiFlyoutChildStyles);
|
|
126
|
-
var childLayoutMode = flyoutContext.childLayoutMode,
|
|
127
|
-
parentFlyoutRef = flyoutContext.parentFlyoutRef;
|
|
128
|
-
var flyoutChildCss = [styles.euiFlyoutChild, backgroundStyle === 'shaded' ? styles.backgroundShaded : styles.backgroundDefault, size === 's' ? styles.s : styles.m, childLayoutMode === 'side-by-side' ? styles.sidePosition : styles.stackedPosition];
|
|
129
|
-
var onKeyDown = useCallback(function (event) {
|
|
130
|
-
if (isChildFlyoutOpen && event.key === keys.ESCAPE) {
|
|
131
|
-
event.preventDefault();
|
|
132
|
-
setIsChildFlyoutOpen === null || setIsChildFlyoutOpen === void 0 || setIsChildFlyoutOpen(false);
|
|
133
|
-
onClose(event.nativeEvent);
|
|
134
|
-
}
|
|
135
|
-
}, [isChildFlyoutOpen, onClose, setIsChildFlyoutOpen]);
|
|
136
|
-
return ___EmotionJSX(EuiFocusTrap, {
|
|
137
|
-
returnFocus: function returnFocus() {
|
|
138
|
-
if (parentFlyoutRef !== null && parentFlyoutRef !== void 0 && parentFlyoutRef.current) {
|
|
139
|
-
parentFlyoutRef.current.focus();
|
|
140
|
-
return false; // We've handled focus
|
|
141
|
-
}
|
|
142
|
-
return true;
|
|
143
|
-
},
|
|
144
|
-
shards: [],
|
|
145
|
-
disabled: false
|
|
146
|
-
}, ___EmotionJSX("div", _extends({
|
|
147
|
-
ref: flyoutWrapperRef,
|
|
148
|
-
className: classes,
|
|
149
|
-
css: flyoutChildCss,
|
|
150
|
-
"data-test-subj": "euiFlyoutChild",
|
|
151
|
-
role: "dialog",
|
|
152
|
-
"aria-modal": "true",
|
|
153
|
-
"aria-label": ariaLabel,
|
|
154
|
-
"aria-labelledby": ariaLabelledBy,
|
|
155
|
-
"aria-describedby": ariaDescribedBy,
|
|
156
|
-
tabIndex: -1,
|
|
157
|
-
onKeyDown: onKeyDown // used as generic container event handler
|
|
158
|
-
}, rest), flyoutTitleText && !ariaLabelledBy && ___EmotionJSX("h2", {
|
|
159
|
-
id: titleIdGenerated,
|
|
160
|
-
className: "euiScreenReaderOnly"
|
|
161
|
-
}, flyoutTitleText), !hideCloseButton && ___EmotionJSX(EuiFlyoutCloseButton, {
|
|
162
|
-
className: "euiFlyoutChild__closeButton",
|
|
163
|
-
onClose: handleClose,
|
|
164
|
-
side: "right",
|
|
165
|
-
closeButtonPosition: "inside",
|
|
166
|
-
"data-test-subj": "euiFlyoutChildCloseButton"
|
|
167
|
-
}), ___EmotionJSX("div", {
|
|
168
|
-
tabIndex: scrollableTabIndex,
|
|
169
|
-
className: "euiFlyoutChild__overflow",
|
|
170
|
-
css: styles.overflow.overflow
|
|
171
|
-
}, banner && ___EmotionJSX("div", {
|
|
172
|
-
className: "euiFlyoutChild__banner",
|
|
173
|
-
css: styles.banner,
|
|
174
|
-
"data-test-subj": "euiFlyoutChildBanner"
|
|
175
|
-
}, banner), ___EmotionJSX("div", {
|
|
176
|
-
className: "euiFlyoutChild__overflowContent",
|
|
177
|
-
css: styles.overflow.wrapper
|
|
178
|
-
}, processedChildren))));
|
|
179
|
-
};
|
|
180
|
-
EuiFlyoutChild.propTypes = {
|
|
181
|
-
/**
|
|
182
|
-
* Called when the child panel's close button is clicked
|
|
183
|
-
*/
|
|
184
|
-
onClose: PropTypes.func.isRequired,
|
|
185
|
-
/**
|
|
186
|
-
* Use to display a banner at the top of the child. It is suggested to use `EuiCallOut` for it.
|
|
187
|
-
*/
|
|
188
|
-
banner: PropTypes.node,
|
|
189
|
-
/**
|
|
190
|
-
* Hides the default close button. You must provide another close button somewhere within the child flyout.
|
|
191
|
-
* @default false
|
|
192
|
-
*/
|
|
193
|
-
hideCloseButton: PropTypes.bool,
|
|
194
|
-
/**
|
|
195
|
-
* [Scrollable regions (or their children) should be focusable](https://dequeuniversity.com/rules/axe/4.0/scrollable-region-focusable)
|
|
196
|
-
* to allow keyboard users to scroll the region via arrow keys.
|
|
197
|
-
*
|
|
198
|
-
* By default, EuiFlyoutChild's scroll overflow wrapper sets a `tabIndex` of `0`.
|
|
199
|
-
* If you know your flyout child content already contains focusable children
|
|
200
|
-
* that satisfy keyboard accessibility requirements, you can use this prop
|
|
201
|
-
* to override this default.
|
|
202
|
-
*/
|
|
203
|
-
scrollableTabIndex: PropTypes.number,
|
|
204
|
-
/**
|
|
205
|
-
* Size of the child flyout panel.
|
|
206
|
-
* When the parent flyout is 'm', child is limited to 's'.
|
|
207
|
-
* @default 's'
|
|
208
|
-
*/
|
|
209
|
-
size: PropTypes.oneOf(["s", "m"]),
|
|
210
|
-
/*
|
|
211
|
-
* The background of the child flyout can be optionally shaded. Use `shaded` to add the shading.
|
|
212
|
-
*/
|
|
213
|
-
backgroundStyle: PropTypes.oneOf(["shaded", "default"]),
|
|
214
|
-
/**
|
|
215
|
-
* Children are implicitly part of FunctionComponent, but good to have if props type is standalone.
|
|
216
|
-
*/
|
|
217
|
-
children: PropTypes.node,
|
|
218
|
-
className: PropTypes.string,
|
|
219
|
-
"aria-label": PropTypes.string,
|
|
220
|
-
"data-test-subj": PropTypes.string,
|
|
221
|
-
css: PropTypes.any
|
|
222
|
-
};
|
|
223
|
-
EuiFlyoutChild.displayName = 'EuiFlyoutChild';
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
|
|
3
|
-
* or more contributor license agreements. Licensed under the Elastic License
|
|
4
|
-
* 2.0 and the Server Side Public License, v 1; you may not use this file except
|
|
5
|
-
* in compliance with, at your election, the Elastic License 2.0 or the Server
|
|
6
|
-
* Side Public License, v 1.
|
|
7
|
-
*/
|
|
8
|
-
|
|
9
|
-
import { css } from '@emotion/react';
|
|
10
|
-
import { logicalCSS, logicalCSSWithFallback, highContrastModeStyles, euiYScroll } from '../../global_styling';
|
|
11
|
-
import { composeFlyoutSizing, maxedFlyoutWidth } from './flyout.styles';
|
|
12
|
-
export var euiFlyoutChildStyles = function euiFlyoutChildStyles(euiThemeContext) {
|
|
13
|
-
var euiTheme = euiThemeContext.euiTheme;
|
|
14
|
-
return {
|
|
15
|
-
// Base styles for the child flyout
|
|
16
|
-
euiFlyoutChild: /*#__PURE__*/css("position:absolute;inset-block-start:0;inset-inline-start:0;block-size:100%;display:flex;flex-direction:column;", logicalCSSWithFallback('overflow-y', 'hidden'), " ", logicalCSS('height', '100%'), " z-index:", Number(euiTheme.levels.flyout) + 1, ";border-inline-start:", euiTheme.border.thin, ";", maxedFlyoutWidth(euiThemeContext), ";;label:euiFlyoutChild;"),
|
|
17
|
-
backgroundDefault: /*#__PURE__*/css("background:", euiTheme.colors.backgroundBasePlain, ";;label:backgroundDefault;"),
|
|
18
|
-
backgroundShaded: /*#__PURE__*/css("background:", euiTheme.colors.backgroundBaseSubdued, ";;label:backgroundShaded;"),
|
|
19
|
-
// Position variants based on screen size
|
|
20
|
-
sidePosition: /*#__PURE__*/css("transform:translateX(-100%);border-inline-end:", euiTheme.border.thin, ";;label:sidePosition;"),
|
|
21
|
-
stackedPosition: /*#__PURE__*/css("inset-inline-end:0;inline-size:100%;border-block-end:", euiTheme.border.thin, ";;label:stackedPosition;"),
|
|
22
|
-
s: /*#__PURE__*/css(composeFlyoutSizing(euiThemeContext, 's'), ";;label:s;"),
|
|
23
|
-
m: /*#__PURE__*/css(composeFlyoutSizing(euiThemeContext, 'm'), ";;label:m;"),
|
|
24
|
-
overflow: {
|
|
25
|
-
overflow: /*#__PURE__*/css("flex-grow:1;display:flex;flex-direction:column;", euiYScroll(euiThemeContext), ";;label:overflow;"),
|
|
26
|
-
wrapper: /*#__PURE__*/css("display:flex;flex-direction:column;flex-grow:1;", logicalCSS('overflow-x', 'auto'), ";;label:wrapper;")
|
|
27
|
-
},
|
|
28
|
-
banner: /*#__PURE__*/css(logicalCSSWithFallback('overflow-x', 'hidden'), " ", highContrastModeStyles(euiThemeContext, {
|
|
29
|
-
preferred: logicalCSS('border-bottom', euiTheme.border.thin)
|
|
30
|
-
}), ";;label:banner;")
|
|
31
|
-
};
|
|
32
|
-
};
|