@elastic/eui 116.2.0 → 116.3.1-snapshot.1782148316870
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 +18 -5
- package/es/components/avatar/avatar.styles.js +16 -16
- package/es/components/banner/banner.js +201 -0
- package/es/components/banner/banner.styles.js +76 -0
- package/es/components/banner/index.js +9 -0
- package/es/components/basic_table/basic_table.js +54 -13
- package/es/components/basic_table/basic_table.styles.js +19 -1
- package/es/components/basic_table/collapsed_item_actions.js +5 -4
- package/es/components/basic_table/default_item_action.js +3 -5
- package/es/components/basic_table/in_memory_table.js +17 -0
- package/es/components/basic_table/index.js +2 -1
- package/es/components/basic_table/pagination_bar.js +19 -4
- package/es/components/basic_table/pagination_bar.styles.js +21 -0
- package/es/components/basic_table/panel.styles.js +14 -0
- package/es/components/basic_table/use_panel_props.js +28 -0
- package/es/components/breadcrumbs/_breadcrumb_content.js +29 -19
- package/es/components/combo_box/combo_box_options_list/combo_box_options_list.js +2 -1
- package/es/components/context_menu/context_menu_panel_title.js +0 -12
- package/es/components/datagrid/body/cell/data_grid_cell_actions.js +11 -7
- package/es/components/datagrid/controls/display_selector.js +2 -1
- package/es/components/datagrid/controls/keyboard_shortcuts.js +2 -1
- package/es/components/date_picker/auto_refresh/auto_refresh.js +7 -4
- package/es/components/date_picker/auto_refresh/refresh_interval.js +176 -229
- package/es/components/date_picker/date_picker.js +1 -1
- package/es/components/date_picker/react-datepicker/src/index.js +1 -5
- package/es/components/date_picker/super_date_picker/date_popover/absolute_tab.js +6 -3
- package/es/components/date_picker/super_date_picker/date_popover/date_popover_button.js +10 -2
- package/es/components/date_picker/super_date_picker/date_popover/date_popover_button.styles.js +2 -1
- package/es/components/date_picker/super_date_picker/quick_select_popover/quick_select_popover.js +8 -5
- package/es/components/flyout/flyout.component.js +10 -6
- package/es/components/flyout/flyout_menu.js +122 -19
- package/es/components/flyout/flyout_menu.styles.js +2 -1
- package/es/components/flyout/manager/actions.js +20 -0
- package/es/components/flyout/manager/flyout_child.js +23 -1
- package/es/components/flyout/manager/flyout_managed.js +65 -19
- package/es/components/flyout/manager/hooks.js +1 -1
- package/es/components/flyout/manager/index.js +2 -2
- package/es/components/flyout/manager/reducer.js +32 -8
- package/es/components/flyout/manager/selectors.js +8 -2
- package/es/components/flyout/manager/store.js +35 -2
- package/es/components/flyout/use_flyout_menu.js +2 -2
- package/es/components/form/field_password/field_password.js +6 -3
- package/es/components/form/field_password/field_password.styles.js +1 -1
- package/es/components/form/field_search/field_search.styles.js +1 -1
- package/es/components/form/form.styles.js +1 -1
- package/es/components/form/form_control_layout/form_control_layout_icons.js +95 -143
- package/es/components/form/select/select.styles.js +1 -1
- package/es/components/form/text_area/text_area.styles.js +1 -1
- package/es/components/form/validatable_control/validatable_control.js +8 -55
- package/es/components/header/header.a11y.js +1 -1
- package/es/components/index.js +1 -0
- package/es/components/markdown_editor/markdown_editor_help_button.js +7 -4
- package/es/components/pagination/pagination_button_arrow.js +6 -2
- package/es/components/panel/panel.styles.js +4 -4
- package/es/components/panel/split_panel/split_panel.styles.js +1 -1
- package/es/components/search_bar/search_bar.js +20 -16
- package/es/components/search_bar/search_box.js +4 -2
- package/es/components/selectable/selectable_list/selectable_list.js +1 -1
- package/es/components/selectable/selectable_list/selectable_list.styles.js +1 -1
- package/es/components/selectable/selectable_templates/selectable_template_sitewide.js +2 -1
- package/es/components/table/mobile/table_sort_mobile.js +64 -103
- package/es/components/table/sticky_header/context.js +32 -0
- package/es/components/table/sticky_header/index.js +10 -0
- package/es/components/table/sticky_header/sticky_header.js +151 -0
- package/es/components/table/sticky_header/sticky_header.styles.js +43 -0
- package/es/components/table/store/provider.js +37 -0
- package/es/components/table/store/store.js +82 -0
- package/es/components/table/store/use_unique_column_id.js +25 -0
- package/es/components/table/table.js +28 -3
- package/es/components/table/table.styles.js +4 -4
- package/es/components/table/table_header_cell.js +115 -48
- package/es/components/table/table_header_cell_checkbox.js +58 -25
- package/es/components/text_truncate/text_truncate.js +8 -3
- package/es/components/tool_tip/tool_tip.js +62 -31
- package/es/components/tool_tip/tool_tip.styles.js +14 -5
- package/es/components/tool_tip/tool_tip_anchor.js +5 -5
- package/es/components/tool_tip/tool_tip_manager.js +27 -2
- package/es/utils/publisher.js +53 -0
- package/eui.d.ts +2314 -1874
- package/i18ntokens.json +2580 -2490
- package/lib/components/avatar/avatar.js +18 -5
- package/lib/components/avatar/avatar.styles.js +16 -16
- package/lib/components/banner/banner.js +210 -0
- package/lib/components/banner/banner.styles.js +80 -0
- package/lib/components/banner/index.js +12 -0
- package/lib/components/basic_table/basic_table.js +53 -12
- package/lib/components/basic_table/basic_table.styles.js +19 -1
- package/lib/components/basic_table/collapsed_item_actions.js +5 -4
- package/lib/components/basic_table/default_item_action.js +3 -5
- package/lib/components/basic_table/in_memory_table.js +17 -0
- package/lib/components/basic_table/index.js +8 -1
- package/lib/components/basic_table/pagination_bar.js +19 -4
- package/lib/components/basic_table/pagination_bar.styles.js +26 -0
- package/lib/components/basic_table/panel.styles.js +20 -0
- package/lib/components/basic_table/use_panel_props.js +33 -0
- package/lib/components/breadcrumbs/_breadcrumb_content.js +29 -19
- package/lib/components/combo_box/combo_box_options_list/combo_box_options_list.js +2 -1
- package/lib/components/context_menu/context_menu_panel_title.js +0 -12
- package/lib/components/datagrid/body/cell/data_grid_cell_actions.js +11 -7
- package/lib/components/datagrid/controls/display_selector.js +2 -1
- package/lib/components/datagrid/controls/keyboard_shortcuts.js +2 -1
- package/lib/components/date_picker/auto_refresh/auto_refresh.js +7 -4
- package/lib/components/date_picker/auto_refresh/refresh_interval.js +175 -229
- package/lib/components/date_picker/date_picker.js +1 -1
- package/lib/components/date_picker/react-datepicker/src/index.js +0 -4
- package/lib/components/date_picker/super_date_picker/date_popover/absolute_tab.js +6 -3
- package/lib/components/date_picker/super_date_picker/date_popover/date_popover_button.js +10 -2
- package/lib/components/date_picker/super_date_picker/date_popover/date_popover_button.styles.js +2 -1
- package/lib/components/date_picker/super_date_picker/quick_select_popover/quick_select_popover.js +8 -5
- package/lib/components/flyout/flyout.component.js +10 -6
- package/lib/components/flyout/flyout_menu.js +120 -19
- package/lib/components/flyout/flyout_menu.styles.js +2 -1
- package/lib/components/flyout/manager/actions.js +21 -1
- package/lib/components/flyout/manager/flyout_child.js +23 -1
- package/lib/components/flyout/manager/flyout_managed.js +41 -17
- package/lib/components/flyout/manager/hooks.js +6 -0
- package/lib/components/flyout/manager/index.js +12 -0
- package/lib/components/flyout/manager/reducer.js +31 -7
- package/lib/components/flyout/manager/selectors.js +9 -3
- package/lib/components/flyout/manager/store.js +34 -1
- package/lib/components/flyout/use_flyout_menu.js +2 -2
- package/lib/components/form/field_password/field_password.js +6 -3
- package/lib/components/form/field_password/field_password.styles.js +1 -1
- package/lib/components/form/field_search/field_search.styles.js +1 -1
- package/lib/components/form/form.styles.js +1 -1
- package/lib/components/form/form_control_layout/form_control_layout_icons.js +95 -145
- package/lib/components/form/select/select.styles.js +1 -1
- package/lib/components/form/text_area/text_area.styles.js +1 -1
- package/lib/components/form/validatable_control/validatable_control.js +7 -52
- package/lib/components/header/header.a11y.js +1 -1
- package/lib/components/index.js +11 -0
- package/lib/components/markdown_editor/markdown_editor_help_button.js +7 -4
- package/lib/components/pagination/pagination_button_arrow.js +6 -2
- package/lib/components/panel/panel.styles.js +4 -4
- package/lib/components/panel/split_panel/split_panel.styles.js +1 -1
- package/lib/components/search_bar/search_bar.js +20 -16
- package/lib/components/search_bar/search_box.js +4 -2
- package/lib/components/selectable/selectable_list/selectable_list.js +1 -1
- package/lib/components/selectable/selectable_list/selectable_list.styles.js +1 -1
- package/lib/components/selectable/selectable_templates/selectable_template_sitewide.js +2 -1
- package/lib/components/table/mobile/table_sort_mobile.js +71 -108
- package/lib/components/table/sticky_header/context.js +41 -0
- package/lib/components/table/sticky_header/index.js +19 -0
- package/lib/components/table/sticky_header/sticky_header.js +156 -0
- package/lib/components/table/sticky_header/sticky_header.styles.js +47 -0
- package/lib/components/table/store/provider.js +46 -0
- package/lib/components/table/store/store.js +87 -0
- package/lib/components/table/store/use_unique_column_id.js +34 -0
- package/lib/components/table/table.js +28 -3
- package/lib/components/table/table.styles.js +4 -4
- package/lib/components/table/table_header_cell.js +117 -48
- package/lib/components/table/table_header_cell_checkbox.js +61 -25
- package/lib/components/text_truncate/text_truncate.js +8 -3
- package/lib/components/tool_tip/tool_tip.js +60 -30
- package/lib/components/tool_tip/tool_tip.styles.js +14 -5
- package/lib/components/tool_tip/tool_tip_anchor.js +5 -5
- package/lib/components/tool_tip/tool_tip_manager.js +27 -2
- package/lib/utils/publisher.js +59 -0
- package/optimize/es/components/avatar/avatar.js +16 -4
- package/optimize/es/components/avatar/avatar.styles.js +16 -16
- package/optimize/es/components/banner/banner.js +111 -0
- package/optimize/es/components/banner/banner.styles.js +76 -0
- package/optimize/es/components/banner/index.js +9 -0
- package/optimize/es/components/basic_table/basic_table.js +37 -13
- package/optimize/es/components/basic_table/basic_table.styles.js +19 -1
- package/optimize/es/components/basic_table/collapsed_item_actions.js +5 -4
- package/optimize/es/components/basic_table/default_item_action.js +3 -5
- package/optimize/es/components/basic_table/index.js +2 -1
- package/optimize/es/components/basic_table/pagination_bar.js +19 -4
- package/optimize/es/components/basic_table/pagination_bar.styles.js +21 -0
- package/optimize/es/components/basic_table/panel.styles.js +14 -0
- package/optimize/es/components/basic_table/use_panel_props.js +28 -0
- package/optimize/es/components/breadcrumbs/_breadcrumb_content.js +27 -18
- package/optimize/es/components/combo_box/combo_box_options_list/combo_box_options_list.js +2 -1
- package/optimize/es/components/datagrid/body/cell/data_grid_cell_actions.js +11 -7
- package/optimize/es/components/datagrid/controls/display_selector.js +2 -1
- package/optimize/es/components/datagrid/controls/keyboard_shortcuts.js +2 -1
- package/optimize/es/components/date_picker/auto_refresh/auto_refresh.js +7 -4
- package/optimize/es/components/date_picker/auto_refresh/refresh_interval.js +172 -196
- package/optimize/es/components/date_picker/date_picker.js +1 -1
- package/optimize/es/components/date_picker/react-datepicker/src/index.js +1 -5
- package/optimize/es/components/date_picker/super_date_picker/date_popover/absolute_tab.js +6 -3
- package/optimize/es/components/date_picker/super_date_picker/date_popover/date_popover_button.js +10 -2
- package/optimize/es/components/date_picker/super_date_picker/date_popover/date_popover_button.styles.js +2 -1
- package/optimize/es/components/date_picker/super_date_picker/quick_select_popover/quick_select_popover.js +8 -5
- package/optimize/es/components/flyout/flyout.component.js +10 -6
- package/optimize/es/components/flyout/flyout_menu.js +99 -18
- package/optimize/es/components/flyout/flyout_menu.styles.js +2 -1
- package/optimize/es/components/flyout/manager/actions.js +20 -0
- package/optimize/es/components/flyout/manager/flyout_managed.js +42 -18
- package/optimize/es/components/flyout/manager/hooks.js +1 -1
- package/optimize/es/components/flyout/manager/index.js +2 -2
- package/optimize/es/components/flyout/manager/reducer.js +32 -8
- package/optimize/es/components/flyout/manager/selectors.js +8 -2
- package/optimize/es/components/flyout/manager/store.js +35 -2
- package/optimize/es/components/flyout/use_flyout_menu.js +2 -2
- package/optimize/es/components/form/field_password/field_password.js +6 -3
- package/optimize/es/components/form/field_password/field_password.styles.js +1 -1
- package/optimize/es/components/form/field_search/field_search.styles.js +1 -1
- package/optimize/es/components/form/form.styles.js +1 -1
- package/optimize/es/components/form/form_control_layout/form_control_layout_icons.js +96 -115
- package/optimize/es/components/form/select/select.styles.js +1 -1
- package/optimize/es/components/form/text_area/text_area.styles.js +1 -1
- package/optimize/es/components/form/validatable_control/validatable_control.js +7 -48
- package/optimize/es/components/header/header.a11y.js +1 -1
- package/optimize/es/components/index.js +1 -0
- package/optimize/es/components/markdown_editor/markdown_editor_help_button.js +7 -4
- package/optimize/es/components/pagination/pagination_button_arrow.js +6 -2
- package/optimize/es/components/panel/panel.styles.js +4 -4
- package/optimize/es/components/panel/split_panel/split_panel.styles.js +1 -1
- package/optimize/es/components/search_bar/search_bar.js +20 -16
- package/optimize/es/components/search_bar/search_box.js +4 -2
- package/optimize/es/components/selectable/selectable_list/selectable_list.js +1 -1
- package/optimize/es/components/selectable/selectable_list/selectable_list.styles.js +1 -1
- package/optimize/es/components/table/mobile/table_sort_mobile.js +59 -82
- package/optimize/es/components/table/sticky_header/context.js +32 -0
- package/optimize/es/components/table/sticky_header/index.js +10 -0
- package/optimize/es/components/table/sticky_header/sticky_header.js +146 -0
- package/optimize/es/components/table/sticky_header/sticky_header.styles.js +43 -0
- package/optimize/es/components/table/store/provider.js +37 -0
- package/optimize/es/components/table/store/store.js +82 -0
- package/optimize/es/components/table/store/use_unique_column_id.js +25 -0
- package/optimize/es/components/table/table.js +15 -3
- package/optimize/es/components/table/table.styles.js +4 -4
- package/optimize/es/components/table/table_header_cell.js +115 -48
- package/optimize/es/components/table/table_header_cell_checkbox.js +58 -25
- package/optimize/es/components/text_truncate/text_truncate.js +8 -3
- package/optimize/es/components/tool_tip/tool_tip.js +59 -31
- package/optimize/es/components/tool_tip/tool_tip.styles.js +14 -5
- package/optimize/es/components/tool_tip/tool_tip_anchor.js +5 -5
- package/optimize/es/components/tool_tip/tool_tip_manager.js +27 -2
- package/optimize/es/utils/publisher.js +53 -0
- package/optimize/lib/components/avatar/avatar.js +16 -4
- package/optimize/lib/components/avatar/avatar.styles.js +16 -16
- package/optimize/lib/components/banner/banner.js +120 -0
- package/optimize/lib/components/banner/banner.styles.js +80 -0
- package/optimize/lib/components/banner/index.js +12 -0
- package/optimize/lib/components/basic_table/basic_table.js +36 -12
- package/optimize/lib/components/basic_table/basic_table.styles.js +19 -1
- package/optimize/lib/components/basic_table/collapsed_item_actions.js +5 -4
- package/optimize/lib/components/basic_table/default_item_action.js +3 -5
- package/optimize/lib/components/basic_table/index.js +8 -1
- package/optimize/lib/components/basic_table/pagination_bar.js +19 -4
- package/optimize/lib/components/basic_table/pagination_bar.styles.js +26 -0
- package/optimize/lib/components/basic_table/panel.styles.js +20 -0
- package/optimize/lib/components/basic_table/use_panel_props.js +33 -0
- package/optimize/lib/components/breadcrumbs/_breadcrumb_content.js +27 -18
- package/optimize/lib/components/combo_box/combo_box_options_list/combo_box_options_list.js +2 -1
- package/optimize/lib/components/datagrid/body/cell/data_grid_cell_actions.js +11 -7
- package/optimize/lib/components/datagrid/controls/display_selector.js +2 -1
- package/optimize/lib/components/datagrid/controls/keyboard_shortcuts.js +2 -1
- package/optimize/lib/components/date_picker/auto_refresh/auto_refresh.js +7 -4
- package/optimize/lib/components/date_picker/auto_refresh/refresh_interval.js +170 -194
- package/optimize/lib/components/date_picker/date_picker.js +1 -1
- package/optimize/lib/components/date_picker/react-datepicker/src/index.js +0 -4
- package/optimize/lib/components/date_picker/super_date_picker/date_popover/absolute_tab.js +6 -3
- package/optimize/lib/components/date_picker/super_date_picker/date_popover/date_popover_button.js +10 -2
- package/optimize/lib/components/date_picker/super_date_picker/date_popover/date_popover_button.styles.js +2 -1
- package/optimize/lib/components/date_picker/super_date_picker/quick_select_popover/quick_select_popover.js +8 -5
- package/optimize/lib/components/flyout/flyout.component.js +10 -6
- package/optimize/lib/components/flyout/flyout_menu.js +98 -18
- package/optimize/lib/components/flyout/flyout_menu.styles.js +2 -1
- package/optimize/lib/components/flyout/manager/actions.js +21 -1
- package/optimize/lib/components/flyout/manager/flyout_managed.js +41 -17
- package/optimize/lib/components/flyout/manager/hooks.js +6 -0
- package/optimize/lib/components/flyout/manager/index.js +12 -0
- package/optimize/lib/components/flyout/manager/reducer.js +31 -7
- package/optimize/lib/components/flyout/manager/selectors.js +9 -3
- package/optimize/lib/components/flyout/manager/store.js +34 -1
- package/optimize/lib/components/flyout/use_flyout_menu.js +2 -2
- package/optimize/lib/components/form/field_password/field_password.js +6 -3
- package/optimize/lib/components/form/field_password/field_password.styles.js +1 -1
- package/optimize/lib/components/form/field_search/field_search.styles.js +1 -1
- package/optimize/lib/components/form/form.styles.js +1 -1
- package/optimize/lib/components/form/form_control_layout/form_control_layout_icons.js +96 -117
- package/optimize/lib/components/form/select/select.styles.js +1 -1
- package/optimize/lib/components/form/text_area/text_area.styles.js +1 -1
- package/optimize/lib/components/form/validatable_control/validatable_control.js +6 -49
- package/optimize/lib/components/header/header.a11y.js +1 -1
- package/optimize/lib/components/index.js +11 -0
- package/optimize/lib/components/markdown_editor/markdown_editor_help_button.js +7 -4
- package/optimize/lib/components/pagination/pagination_button_arrow.js +6 -2
- package/optimize/lib/components/panel/panel.styles.js +4 -4
- package/optimize/lib/components/panel/split_panel/split_panel.styles.js +1 -1
- package/optimize/lib/components/search_bar/search_bar.js +20 -16
- package/optimize/lib/components/search_bar/search_box.js +4 -2
- package/optimize/lib/components/selectable/selectable_list/selectable_list.js +1 -1
- package/optimize/lib/components/selectable/selectable_list/selectable_list.styles.js +1 -1
- package/optimize/lib/components/table/mobile/table_sort_mobile.js +61 -83
- package/optimize/lib/components/table/sticky_header/context.js +41 -0
- package/optimize/lib/components/table/sticky_header/index.js +19 -0
- package/optimize/lib/components/table/sticky_header/sticky_header.js +156 -0
- package/optimize/lib/components/table/sticky_header/sticky_header.styles.js +47 -0
- package/optimize/lib/components/table/store/provider.js +46 -0
- package/optimize/lib/components/table/store/store.js +87 -0
- package/optimize/lib/components/table/store/use_unique_column_id.js +34 -0
- package/optimize/lib/components/table/table.js +15 -3
- package/optimize/lib/components/table/table.styles.js +4 -4
- package/optimize/lib/components/table/table_header_cell.js +118 -48
- package/optimize/lib/components/table/table_header_cell_checkbox.js +61 -25
- package/optimize/lib/components/text_truncate/text_truncate.js +8 -3
- package/optimize/lib/components/tool_tip/tool_tip.js +58 -30
- package/optimize/lib/components/tool_tip/tool_tip.styles.js +14 -5
- package/optimize/lib/components/tool_tip/tool_tip_anchor.js +5 -5
- package/optimize/lib/components/tool_tip/tool_tip_manager.js +27 -2
- package/optimize/lib/utils/publisher.js +59 -0
- package/package.json +9 -6
- package/test-env/components/avatar/avatar.js +18 -5
- package/test-env/components/avatar/avatar.styles.js +16 -16
- package/test-env/components/banner/banner.js +209 -0
- package/test-env/components/banner/banner.styles.js +80 -0
- package/test-env/components/banner/index.js +12 -0
- package/test-env/components/basic_table/basic_table.js +53 -12
- package/test-env/components/basic_table/basic_table.styles.js +19 -1
- package/test-env/components/basic_table/collapsed_item_actions.js +5 -4
- package/test-env/components/basic_table/default_item_action.js +3 -5
- package/test-env/components/basic_table/in_memory_table.js +17 -0
- package/test-env/components/basic_table/index.js +8 -1
- package/test-env/components/basic_table/pagination_bar.js +19 -4
- package/test-env/components/basic_table/pagination_bar.styles.js +26 -0
- package/test-env/components/basic_table/panel.styles.js +20 -0
- package/test-env/components/basic_table/use_panel_props.js +33 -0
- package/test-env/components/breadcrumbs/_breadcrumb_content.js +29 -19
- package/test-env/components/combo_box/combo_box_options_list/combo_box_options_list.js +2 -1
- package/test-env/components/context_menu/context_menu_panel_title.js +0 -12
- package/test-env/components/datagrid/body/cell/data_grid_cell_actions.js +11 -7
- package/test-env/components/datagrid/controls/display_selector.js +2 -1
- package/test-env/components/datagrid/controls/keyboard_shortcuts.js +2 -1
- package/test-env/components/date_picker/auto_refresh/auto_refresh.js +7 -4
- package/test-env/components/date_picker/auto_refresh/refresh_interval.js +170 -220
- package/test-env/components/date_picker/date_picker.js +1 -1
- package/test-env/components/date_picker/react-datepicker/src/index.js +0 -4
- package/test-env/components/date_picker/super_date_picker/date_popover/absolute_tab.js +6 -3
- package/test-env/components/date_picker/super_date_picker/date_popover/date_popover_button.js +10 -2
- package/test-env/components/date_picker/super_date_picker/date_popover/date_popover_button.styles.js +2 -1
- package/test-env/components/date_picker/super_date_picker/quick_select_popover/quick_select_popover.js +8 -5
- package/test-env/components/flyout/flyout.component.js +10 -6
- package/test-env/components/flyout/flyout_menu.js +121 -19
- package/test-env/components/flyout/flyout_menu.styles.js +2 -1
- package/test-env/components/flyout/manager/actions.js +21 -1
- package/test-env/components/flyout/manager/flyout_child.js +23 -1
- package/test-env/components/flyout/manager/flyout_managed.js +41 -17
- package/test-env/components/flyout/manager/hooks.js +6 -0
- package/test-env/components/flyout/manager/index.js +12 -0
- package/test-env/components/flyout/manager/reducer.js +31 -7
- package/test-env/components/flyout/manager/selectors.js +9 -3
- package/test-env/components/flyout/manager/store.js +34 -1
- package/test-env/components/flyout/use_flyout_menu.js +2 -2
- package/test-env/components/form/field_password/field_password.js +6 -3
- package/test-env/components/form/field_password/field_password.styles.js +1 -1
- package/test-env/components/form/field_search/field_search.styles.js +1 -1
- package/test-env/components/form/form.styles.js +1 -1
- package/test-env/components/form/form_control_layout/form_control_layout_icons.js +95 -139
- package/test-env/components/form/select/select.styles.js +1 -1
- package/test-env/components/form/text_area/text_area.styles.js +1 -1
- package/test-env/components/form/validatable_control/validatable_control.js +6 -48
- package/test-env/components/header/header.a11y.js +1 -1
- package/test-env/components/index.js +11 -0
- package/test-env/components/markdown_editor/markdown_editor_help_button.js +7 -4
- package/test-env/components/pagination/pagination_button_arrow.js +6 -2
- package/test-env/components/panel/panel.styles.js +4 -4
- package/test-env/components/panel/split_panel/split_panel.styles.js +1 -1
- package/test-env/components/search_bar/search_bar.js +20 -16
- package/test-env/components/search_bar/search_box.js +4 -2
- package/test-env/components/selectable/selectable_list/selectable_list.js +1 -1
- package/test-env/components/selectable/selectable_list/selectable_list.styles.js +1 -1
- package/test-env/components/selectable/selectable_templates/selectable_template_sitewide.js +2 -1
- package/test-env/components/table/mobile/table_sort_mobile.js +61 -98
- package/test-env/components/table/sticky_header/context.js +41 -0
- package/test-env/components/table/sticky_header/index.js +19 -0
- package/test-env/components/table/sticky_header/sticky_header.js +156 -0
- package/test-env/components/table/sticky_header/sticky_header.styles.js +47 -0
- package/test-env/components/table/store/provider.js +46 -0
- package/test-env/components/table/store/store.js +87 -0
- package/test-env/components/table/store/use_unique_column_id.js +34 -0
- package/test-env/components/table/table.js +28 -3
- package/test-env/components/table/table.styles.js +4 -4
- package/test-env/components/table/table_header_cell.js +118 -48
- package/test-env/components/table/table_header_cell_checkbox.js +61 -25
- package/test-env/components/text_truncate/text_truncate.js +8 -3
- package/test-env/components/tool_tip/tool_tip.js +58 -30
- package/test-env/components/tool_tip/tool_tip.styles.js +14 -5
- package/test-env/components/tool_tip/tool_tip_anchor.js +5 -5
- package/test-env/components/tool_tip/tool_tip_manager.js +27 -2
- package/test-env/utils/publisher.js +59 -0
|
@@ -12,7 +12,7 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
|
|
|
12
12
|
* Side Public License, v 1.
|
|
13
13
|
*/
|
|
14
14
|
|
|
15
|
-
import React from 'react';
|
|
15
|
+
import React, { useEffect, useCallback, useRef } from 'react';
|
|
16
16
|
import classNames from 'classnames';
|
|
17
17
|
import { useEuiMemoizedStyles, LEFT_ALIGNMENT } from '../../services';
|
|
18
18
|
import { EuiI18n } from '../i18n';
|
|
@@ -24,6 +24,9 @@ import { resolveWidthPropsAsStyle } from './utils';
|
|
|
24
24
|
import { useEuiTableIsResponsive } from './mobile/responsive_context';
|
|
25
25
|
import { EuiTableCellContent } from './_table_cell_content';
|
|
26
26
|
import { euiTableHeaderFooterCellStyles, _useEuiTableStickyCellStyles } from './table_cells_shared.styles';
|
|
27
|
+
import { useEuiTableColumnDataStore } from './store/provider';
|
|
28
|
+
import { useEuiTableWithinStickyHeader } from './sticky_header';
|
|
29
|
+
import { useEuiTableStoreUniqueColumnId } from './store/use_unique_column_id';
|
|
27
30
|
import { jsx as ___EmotionJSX } from "@emotion/react";
|
|
28
31
|
var CellContents = function CellContents(_ref) {
|
|
29
32
|
var className = _ref.className,
|
|
@@ -100,58 +103,122 @@ export var EuiTableHeaderCell = function EuiTableHeaderCell(_ref2) {
|
|
|
100
103
|
append = _ref2.append,
|
|
101
104
|
sticky = _ref2.sticky,
|
|
102
105
|
rest = _objectWithoutProperties(_ref2, _excluded);
|
|
106
|
+
var selfRef = useRef(null);
|
|
107
|
+
var storeCellId = useEuiTableStoreUniqueColumnId();
|
|
108
|
+
var store = useEuiTableColumnDataStore();
|
|
109
|
+
var isWithinStickyHeader = useEuiTableWithinStickyHeader();
|
|
103
110
|
var styles = useEuiMemoizedStyles(euiTableHeaderFooterCellStyles);
|
|
104
111
|
var stickyStyles = _useEuiTableStickyCellStyles(sticky);
|
|
105
112
|
var isResponsive = useEuiTableIsResponsive();
|
|
106
113
|
var hideForDesktop = !isResponsive && (mobileOptions === null || mobileOptions === void 0 ? void 0 : mobileOptions.only);
|
|
107
114
|
var hideForMobile = isResponsive && (mobileOptions === null || mobileOptions === void 0 ? void 0 : mobileOptions.show) === false;
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
115
|
+
var renderHeaderCellRef = useRef();
|
|
116
|
+
renderHeaderCellRef.current = function (extraProps) {
|
|
117
|
+
if (hideForDesktop || hideForMobile) return null;
|
|
118
|
+
var classes = classNames('euiTableHeaderCell', className);
|
|
119
|
+
var cssStyles = [styles.euiTableHeaderCell, !isResponsive && stickyStyles];
|
|
120
|
+
var inlineWidthStyles = resolveWidthPropsAsStyle(_style, {
|
|
121
|
+
width: width,
|
|
122
|
+
minWidth: minWidth,
|
|
123
|
+
maxWidth: maxWidth
|
|
124
|
+
});
|
|
125
|
+
var CellComponent = children ? 'th' : 'td';
|
|
126
|
+
var cellScope = CellComponent === 'th' ? scope !== null && scope !== void 0 ? scope : 'col' : undefined; // `scope` is only valid on `th` elements
|
|
118
127
|
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
128
|
+
var canSort = !!(onSort && !readOnly);
|
|
129
|
+
var ariaSortValue;
|
|
130
|
+
if (isSorted) {
|
|
131
|
+
ariaSortValue = isSortAscending ? 'ascending' : 'descending';
|
|
132
|
+
} else if (canSort) {
|
|
133
|
+
ariaSortValue = 'none';
|
|
134
|
+
}
|
|
135
|
+
var cellContentsProps = {
|
|
136
|
+
css: styles.euiTableHeaderCell__content,
|
|
137
|
+
align: align,
|
|
138
|
+
tooltipProps: tooltipProps,
|
|
139
|
+
description: description,
|
|
140
|
+
canSort: canSort,
|
|
141
|
+
isSorted: isSorted,
|
|
142
|
+
isSortAscending: isSortAscending,
|
|
143
|
+
children: children
|
|
144
|
+
};
|
|
145
|
+
return ___EmotionJSX(CellComponent, _extends({
|
|
146
|
+
css: cssStyles,
|
|
147
|
+
className: classes,
|
|
148
|
+
scope: cellScope,
|
|
149
|
+
role: "columnheader",
|
|
150
|
+
"aria-sort": ariaSortValue,
|
|
151
|
+
"data-sticky": !isResponsive && (sticky === null || sticky === void 0 ? void 0 : sticky.side) || undefined,
|
|
152
|
+
style: _objectSpread(_objectSpread({}, _style), inlineWidthStyles)
|
|
153
|
+
}, rest, extraProps), canSort ? ___EmotionJSX(EuiToolTip, _extends({
|
|
154
|
+
content: tooltipProps === null || tooltipProps === void 0 ? void 0 : tooltipProps.content
|
|
155
|
+
}, tooltipProps === null || tooltipProps === void 0 ? void 0 : tooltipProps.tooltipProps, {
|
|
156
|
+
display: "block"
|
|
157
|
+
}), ___EmotionJSX("button", {
|
|
158
|
+
type: "button",
|
|
159
|
+
css: styles.euiTableHeaderCell__button,
|
|
160
|
+
className: classNames('euiTableHeaderButton', {
|
|
161
|
+
'euiTableHeaderButton-isSorted': isSorted
|
|
162
|
+
}),
|
|
163
|
+
onClick: onSort,
|
|
164
|
+
"data-test-subj": "tableHeaderSortButton"
|
|
165
|
+
}, ___EmotionJSX(CellContents, cellContentsProps))) : ___EmotionJSX(CellContents, cellContentsProps), append);
|
|
135
166
|
};
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
})
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
167
|
+
var handleResize = useCallback(function (entries) {
|
|
168
|
+
var entry = entries[0];
|
|
169
|
+
if (!entry) {
|
|
170
|
+
return;
|
|
171
|
+
}
|
|
172
|
+
store.updateColumnWidth(storeCellId, entry.contentRect.width);
|
|
173
|
+
}, [store, storeCellId]);
|
|
174
|
+
useEffect(function () {
|
|
175
|
+
// Don't register the column inside the sticky header as the original
|
|
176
|
+
// column is already registered. This would cause an infinite loop.
|
|
177
|
+
if (isWithinStickyHeader || !selfRef.current || !renderHeaderCellRef.current) {
|
|
178
|
+
return;
|
|
179
|
+
}
|
|
180
|
+
var unregisterColumn = store.registerColumn(storeCellId, {
|
|
181
|
+
renderHeaderCellRef: renderHeaderCellRef,
|
|
182
|
+
// getBoundingClientRect is not the cheapest, but we call it only once
|
|
183
|
+
currentWidth: selfRef.current.getBoundingClientRect().width
|
|
184
|
+
});
|
|
185
|
+
|
|
186
|
+
// ResizeObserver is available in all supported browsers,
|
|
187
|
+
// but jsdom and jest don't provide a polyfill for it.
|
|
188
|
+
var resizeObserver;
|
|
189
|
+
if (typeof window.ResizeObserver !== 'undefined') {
|
|
190
|
+
resizeObserver = new ResizeObserver(handleResize);
|
|
191
|
+
|
|
192
|
+
// Note: This _could_ be optimized by using a single ResizeObserver
|
|
193
|
+
// for the whole EuiTable, but it would need to be changed back to this
|
|
194
|
+
// if/when we implement resizable columns
|
|
195
|
+
resizeObserver.observe(selfRef.current);
|
|
196
|
+
}
|
|
197
|
+
return function () {
|
|
198
|
+
var _resizeObserver;
|
|
199
|
+
unregisterColumn();
|
|
200
|
+
(_resizeObserver = resizeObserver) === null || _resizeObserver === void 0 || _resizeObserver.disconnect();
|
|
201
|
+
};
|
|
202
|
+
}, [store, isWithinStickyHeader, handleResize, storeCellId]);
|
|
203
|
+
|
|
204
|
+
// Notify the store on every render so the sticky header stays in sync.
|
|
205
|
+
// React's reconciliation will efficiently handle any duplicate renders.
|
|
206
|
+
useEffect(function () {
|
|
207
|
+
// Don't update the store if the component is rendered within EuiTableStickyHeader
|
|
208
|
+
if (isWithinStickyHeader) {
|
|
209
|
+
return;
|
|
210
|
+
}
|
|
211
|
+
|
|
212
|
+
// Don't update the store if the element doesn't exist. The render function
|
|
213
|
+
// in `renderHeaderCellRef` sometimes renders null - e.g., in mobile layout
|
|
214
|
+
if (!selfRef.current) {
|
|
215
|
+
return;
|
|
216
|
+
}
|
|
217
|
+
store.updateColumn(storeCellId, {
|
|
218
|
+
renderHeaderCellRef: renderHeaderCellRef
|
|
219
|
+
});
|
|
220
|
+
});
|
|
221
|
+
return renderHeaderCellRef.current({
|
|
222
|
+
ref: selfRef
|
|
223
|
+
});
|
|
157
224
|
};
|
|
@@ -9,36 +9,69 @@ var _excluded = ["children", "className", "scope", "style", "width", "minWidth",
|
|
|
9
9
|
* Side Public License, v 1.
|
|
10
10
|
*/
|
|
11
11
|
|
|
12
|
-
import React from 'react';
|
|
12
|
+
import React, { useEffect, useRef } from 'react';
|
|
13
13
|
import classNames from 'classnames';
|
|
14
14
|
import { useEuiMemoizedStyles } from '../../services';
|
|
15
15
|
import { resolveWidthPropsAsStyle } from './utils';
|
|
16
16
|
import { euiTableCellCheckboxStyles } from './table_cells_shared.styles';
|
|
17
|
+
import { useEuiTableColumnDataStore } from './store/provider';
|
|
18
|
+
import { useEuiTableWithinStickyHeader } from './sticky_header';
|
|
19
|
+
import { useEuiTableStoreUniqueColumnId } from './store/use_unique_column_id';
|
|
17
20
|
import { jsx as ___EmotionJSX } from "@emotion/react";
|
|
18
|
-
export var EuiTableHeaderCellCheckbox = function EuiTableHeaderCellCheckbox(
|
|
19
|
-
var children =
|
|
20
|
-
className =
|
|
21
|
-
|
|
22
|
-
scope =
|
|
23
|
-
_style =
|
|
24
|
-
width =
|
|
25
|
-
minWidth =
|
|
26
|
-
maxWidth =
|
|
27
|
-
append =
|
|
28
|
-
rest = _objectWithoutProperties(
|
|
29
|
-
var
|
|
21
|
+
export var EuiTableHeaderCellCheckbox = function EuiTableHeaderCellCheckbox(props) {
|
|
22
|
+
var children = props.children,
|
|
23
|
+
className = props.className,
|
|
24
|
+
_props$scope = props.scope,
|
|
25
|
+
scope = _props$scope === void 0 ? 'col' : _props$scope,
|
|
26
|
+
_style = props.style,
|
|
27
|
+
width = props.width,
|
|
28
|
+
minWidth = props.minWidth,
|
|
29
|
+
maxWidth = props.maxWidth,
|
|
30
|
+
append = props.append,
|
|
31
|
+
rest = _objectWithoutProperties(props, _excluded);
|
|
32
|
+
var storeCellId = useEuiTableStoreUniqueColumnId();
|
|
33
|
+
var store = useEuiTableColumnDataStore();
|
|
34
|
+
var isWithinStickyHeader = useEuiTableWithinStickyHeader();
|
|
30
35
|
var styles = useEuiMemoizedStyles(euiTableCellCheckboxStyles);
|
|
31
|
-
var
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
36
|
+
var renderHeaderCellRef = useRef();
|
|
37
|
+
renderHeaderCellRef.current = function (extraProps) {
|
|
38
|
+
var classes = classNames('euiTableHeaderCellCheckbox', className);
|
|
39
|
+
var style = resolveWidthPropsAsStyle(_style, {
|
|
40
|
+
width: width,
|
|
41
|
+
minWidth: minWidth,
|
|
42
|
+
maxWidth: maxWidth
|
|
43
|
+
});
|
|
44
|
+
return ___EmotionJSX("th", _extends({
|
|
45
|
+
css: styles.euiTableHeaderCellCheckbox,
|
|
46
|
+
className: classes,
|
|
47
|
+
scope: scope,
|
|
48
|
+
style: style
|
|
49
|
+
}, rest, extraProps), ___EmotionJSX("div", {
|
|
50
|
+
className: "euiTableCellContent"
|
|
51
|
+
}, children), append);
|
|
52
|
+
};
|
|
53
|
+
useEffect(function () {
|
|
54
|
+
// Don't register the column inside the sticky header as the original
|
|
55
|
+
// column is already registered. This would cause an infinite loop.
|
|
56
|
+
if (isWithinStickyHeader) {
|
|
57
|
+
return;
|
|
58
|
+
}
|
|
59
|
+
var unregisterColumn = store.registerColumn(storeCellId, {
|
|
60
|
+
renderHeaderCellRef: renderHeaderCellRef
|
|
61
|
+
});
|
|
62
|
+
return function () {
|
|
63
|
+
unregisterColumn();
|
|
64
|
+
};
|
|
65
|
+
}, [store, isWithinStickyHeader, storeCellId]);
|
|
66
|
+
useEffect(function () {
|
|
67
|
+
// Notify the store on every render so the sticky header stays in sync.
|
|
68
|
+
// React's reconciliation will efficiently handle any duplicate renders.
|
|
69
|
+
if (isWithinStickyHeader) {
|
|
70
|
+
return;
|
|
71
|
+
}
|
|
72
|
+
store.updateColumn(storeCellId, {
|
|
73
|
+
renderHeaderCellRef: renderHeaderCellRef
|
|
74
|
+
});
|
|
35
75
|
});
|
|
36
|
-
return
|
|
37
|
-
css: styles.euiTableHeaderCellCheckbox,
|
|
38
|
-
className: classes,
|
|
39
|
-
scope: scope,
|
|
40
|
-
style: style
|
|
41
|
-
}, rest), ___EmotionJSX("div", {
|
|
42
|
-
className: "euiTableCellContent"
|
|
43
|
-
}, children), append);
|
|
76
|
+
return renderHeaderCellRef.current({});
|
|
44
77
|
};
|
|
@@ -16,6 +16,7 @@ import React, { useState, useMemo, useCallback, useEffect } from 'react';
|
|
|
16
16
|
import classNames from 'classnames';
|
|
17
17
|
import { useCombinedRefs, useEuiMemoizedStyles } from '../../services';
|
|
18
18
|
import { EuiResizeObserver } from '../observer/resize_observer';
|
|
19
|
+
import { EuiToolTip } from '../tool_tip';
|
|
19
20
|
import { TruncationUtils } from './utils';
|
|
20
21
|
import { euiTextTruncateStyles } from './text_truncate.styles';
|
|
21
22
|
import { jsx as ___EmotionJSX } from "@emotion/react";
|
|
@@ -128,11 +129,10 @@ var EuiTextTruncateWithWidth = function EuiTextTruncateWithWidth(_ref2) {
|
|
|
128
129
|
}, [ready, width, text, truncation, truncationOffset, truncationPosition, ellipsis, containerEl]);
|
|
129
130
|
var isTruncating = truncatedText !== text;
|
|
130
131
|
var styles = useEuiMemoizedStyles(euiTextTruncateStyles);
|
|
131
|
-
|
|
132
|
+
var content = ___EmotionJSX("div", _extends({
|
|
132
133
|
className: classNames('euiTextTruncate', className),
|
|
133
134
|
css: styles.euiTextTruncate,
|
|
134
|
-
ref: refs
|
|
135
|
-
title: isTruncating ? text : undefined
|
|
135
|
+
ref: refs
|
|
136
136
|
}, rest), isTruncating ? ___EmotionJSX(React.Fragment, null, ___EmotionJSX("span", {
|
|
137
137
|
className: "euiTextTruncate__truncatedText",
|
|
138
138
|
css: styles.euiTextTruncate__truncatedText,
|
|
@@ -146,6 +146,11 @@ var EuiTextTruncateWithWidth = function EuiTextTruncateWithWidth(_ref2) {
|
|
|
146
146
|
className: "euiTextTruncate__fullText",
|
|
147
147
|
"data-test-subj": "fullText"
|
|
148
148
|
}, children ? children(text) : text));
|
|
149
|
+
return isTruncating ? ___EmotionJSX(EuiToolTip, {
|
|
150
|
+
content: text,
|
|
151
|
+
disableScreenReaderOutput: true,
|
|
152
|
+
display: "block"
|
|
153
|
+
}, content) : content;
|
|
149
154
|
};
|
|
150
155
|
var EuiTextTruncateWithResizeObserver = function EuiTextTruncateWithResizeObserver(_ref3) {
|
|
151
156
|
var _onResize = _ref3.onResize,
|
|
@@ -1,7 +1,10 @@
|
|
|
1
|
+
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
1
2
|
import _extends from "@babel/runtime/helpers/extends";
|
|
2
3
|
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
3
4
|
import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
|
|
4
5
|
var _excluded = ["children", "className", "anchorClassName", "anchorProps", "content", "title", "display", "repositionOnScroll", "disableScreenReaderOutput", "position", "offset", "id", "onMouseOut", "onBlur"];
|
|
6
|
+
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; }
|
|
7
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
5
8
|
/*
|
|
6
9
|
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
|
|
7
10
|
* or more contributor license agreements. Licensed under the Elastic License
|
|
@@ -12,7 +15,7 @@ var _excluded = ["children", "className", "anchorClassName", "anchorProps", "con
|
|
|
12
15
|
|
|
13
16
|
import React, { forwardRef, useCallback, useContext, useEffect, useImperativeHandle, useRef, useState } from 'react';
|
|
14
17
|
import classNames from 'classnames';
|
|
15
|
-
import { findPopoverPosition,
|
|
18
|
+
import { findPopoverPosition, useGeneratedHtmlId, keys } from '../../services';
|
|
16
19
|
import { getRepositionOnScroll } from '../../services/popover/reposition_on_scroll';
|
|
17
20
|
import { EuiResizeObserver } from '../observer/resize_observer';
|
|
18
21
|
import { EuiPortal } from '../portal';
|
|
@@ -23,7 +26,7 @@ import { EuiToolTipArrow } from './tool_tip_arrow';
|
|
|
23
26
|
import { toolTipManager } from './tool_tip_manager';
|
|
24
27
|
import { jsx as ___EmotionJSX } from "@emotion/react";
|
|
25
28
|
export var POSITIONS = ['top', 'right', 'bottom', 'left'];
|
|
26
|
-
var DISPLAYS = ['inlineBlock', 'block'];
|
|
29
|
+
var DISPLAYS = ['inlineBlock', 'block', 'flex'];
|
|
27
30
|
export var DEFAULT_TOOLTIP_OFFSET = 16;
|
|
28
31
|
|
|
29
32
|
/**
|
|
@@ -75,22 +78,26 @@ export var EuiToolTip = /*#__PURE__*/forwardRef(function (_ref, ref) {
|
|
|
75
78
|
setVisible = _useState2[1];
|
|
76
79
|
var _useState3 = useState(false),
|
|
77
80
|
_useState4 = _slicedToArray(_useState3, 2),
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
var _useState5 = useState(
|
|
81
|
+
skipAnimation = _useState4[0],
|
|
82
|
+
setSkipAnimation = _useState4[1];
|
|
83
|
+
var _useState5 = useState(false),
|
|
81
84
|
_useState6 = _slicedToArray(_useState5, 2),
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
var _useState7 = useState(
|
|
85
|
+
hasFocus = _useState6[0],
|
|
86
|
+
setHasFocus = _useState6[1];
|
|
87
|
+
var _useState7 = useState(positionProp),
|
|
85
88
|
_useState8 = _slicedToArray(_useState7, 2),
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
var _useState9 = useState(
|
|
89
|
+
calculatedPosition = _useState8[0],
|
|
90
|
+
setCalculatedPosition = _useState8[1];
|
|
91
|
+
var _useState9 = useState(DEFAULT_TOOLTIP_STYLES),
|
|
89
92
|
_useState10 = _slicedToArray(_useState9, 2),
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
var
|
|
93
|
-
|
|
93
|
+
toolTipStyles = _useState10[0],
|
|
94
|
+
setToolTipStyles = _useState10[1];
|
|
95
|
+
var _useState11 = useState(undefined),
|
|
96
|
+
_useState12 = _slicedToArray(_useState11, 2),
|
|
97
|
+
arrowStyles = _useState12[0],
|
|
98
|
+
setArrowStyles = _useState12[1];
|
|
99
|
+
var generatedId = useGeneratedHtmlId();
|
|
100
|
+
var id = idProp !== null && idProp !== void 0 ? idProp : generatedId;
|
|
94
101
|
var anchorRef = useRef(null);
|
|
95
102
|
var popoverRef = useRef(null);
|
|
96
103
|
var positionToolTip = useCallback(function () {
|
|
@@ -142,10 +149,19 @@ export var EuiToolTip = /*#__PURE__*/forwardRef(function (_ref, ref) {
|
|
|
142
149
|
setArrowStyles(undefined);
|
|
143
150
|
toolTipManager.deregisterToolTip(hideToolTip);
|
|
144
151
|
}, []);
|
|
152
|
+
|
|
153
|
+
/**
|
|
154
|
+
* Show the tooltip.
|
|
155
|
+
*
|
|
156
|
+
* Uses the tooltip manager's `skipAnimation` signal to optionally skip the entry
|
|
157
|
+
* animation when another tooltip is already open or was just closed.
|
|
158
|
+
*/
|
|
145
159
|
var showToolTip = useCallback(function () {
|
|
146
160
|
if (!content && !title) return;
|
|
161
|
+
var result = toolTipManager.registerTooltip(hideToolTip);
|
|
162
|
+
if (!result) return;
|
|
163
|
+
setSkipAnimation(result.skipAnimation);
|
|
147
164
|
setVisible(true);
|
|
148
|
-
toolTipManager.registerTooltip(hideToolTip);
|
|
149
165
|
}, [content, title, hideToolTip]);
|
|
150
166
|
useImperativeHandle(ref, function () {
|
|
151
167
|
return {
|
|
@@ -225,18 +241,24 @@ export var EuiToolTip = /*#__PURE__*/forwardRef(function (_ref, ref) {
|
|
|
225
241
|
hideToolTip();
|
|
226
242
|
}
|
|
227
243
|
}, [disableScreenReaderOutput, visible, hideToolTip]);
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
244
|
+
|
|
245
|
+
/**
|
|
246
|
+
* Show the tooltip on enter.
|
|
247
|
+
*/
|
|
248
|
+
var onMouseEnter = useCallback(function (event) {
|
|
249
|
+
var _anchorProps$onMouseE;
|
|
250
|
+
showToolTip();
|
|
251
|
+
anchorProps === null || anchorProps === void 0 || (_anchorProps$onMouseE = anchorProps.onMouseEnter) === null || _anchorProps$onMouseE === void 0 || _anchorProps$onMouseE.call(anchorProps, event);
|
|
252
|
+
}, [showToolTip, anchorProps === null || anchorProps === void 0 ? void 0 : anchorProps.onMouseEnter]);
|
|
253
|
+
|
|
254
|
+
/**
|
|
255
|
+
* Hide the tooltip if the mouse is not over the trigger.
|
|
256
|
+
*/
|
|
257
|
+
var onMouseLeave = useCallback(function (event) {
|
|
258
|
+
var _anchorProps$onMouseL;
|
|
259
|
+
if (!hasFocus) hideToolTip();
|
|
260
|
+
anchorProps === null || anchorProps === void 0 || (_anchorProps$onMouseL = anchorProps.onMouseLeave) === null || _anchorProps$onMouseL === void 0 || _anchorProps$onMouseL.call(anchorProps, event);
|
|
261
|
+
}, [hasFocus, hideToolTip, anchorProps === null || anchorProps === void 0 ? void 0 : anchorProps.onMouseLeave]);
|
|
240
262
|
var classes = classNames('euiToolTip', className);
|
|
241
263
|
var anchorClasses = classNames(anchorClassName, anchorProps === null || anchorProps === void 0 ? void 0 : anchorProps.className);
|
|
242
264
|
return ___EmotionJSX(React.Fragment, null, ___EmotionJSX(EuiToolTipAnchor, _extends({}, anchorProps, {
|
|
@@ -244,8 +266,9 @@ export var EuiToolTip = /*#__PURE__*/forwardRef(function (_ref, ref) {
|
|
|
244
266
|
onBlur: onBlur,
|
|
245
267
|
onFocus: onFocus,
|
|
246
268
|
onKeyDown: onEscapeKey,
|
|
247
|
-
|
|
248
|
-
|
|
269
|
+
onMouseEnter: onMouseEnter,
|
|
270
|
+
onMouseLeave: onMouseLeave,
|
|
271
|
+
onMouseOut: onMouseOutProp
|
|
249
272
|
// `id` defines if the trigger and tooltip are automatically linked via `aria-describedby`.
|
|
250
273
|
,
|
|
251
274
|
id: !disableScreenReaderOutput ? id : undefined,
|
|
@@ -254,7 +277,12 @@ export var EuiToolTip = /*#__PURE__*/forwardRef(function (_ref, ref) {
|
|
|
254
277
|
isVisible: visible
|
|
255
278
|
}), children), visible && (content || title) && ___EmotionJSX(EuiPortal, null, ___EmotionJSX(EuiToolTipPopover, _extends({
|
|
256
279
|
className: classes,
|
|
257
|
-
style: toolTipStyles,
|
|
280
|
+
style: _objectSpread(_objectSpread({}, toolTipStyles), {}, {
|
|
281
|
+
// Inline `animation: none` overrides the keyframes fade-in
|
|
282
|
+
// shorthand on the base `.euiToolTip` class, so a tooltip
|
|
283
|
+
// shown right after another closes appears instantly.
|
|
284
|
+
animation: skipAnimation ? 'none' : undefined
|
|
285
|
+
}),
|
|
258
286
|
positionToolTip: positionToolTip,
|
|
259
287
|
popoverRef: setPopoverRef,
|
|
260
288
|
title: title,
|
|
@@ -43,6 +43,14 @@ export var euiToolTipStyles = function euiToolTipStyles(euiThemeContext) {
|
|
|
43
43
|
};
|
|
44
44
|
};
|
|
45
45
|
var _ref = process.env.NODE_ENV === "production" ? {
|
|
46
|
+
name: "1cjglks-flex",
|
|
47
|
+
styles: "display:flex;label:flex;"
|
|
48
|
+
} : {
|
|
49
|
+
name: "1cjglks-flex",
|
|
50
|
+
styles: "display:flex;label:flex;",
|
|
51
|
+
toString: _EMOTION_STRINGIFIED_CSS_ERROR__
|
|
52
|
+
};
|
|
53
|
+
var _ref2 = process.env.NODE_ENV === "production" ? {
|
|
46
54
|
name: "fzilnk-inlineBlock",
|
|
47
55
|
styles: "display:inline-block;label:inlineBlock;"
|
|
48
56
|
} : {
|
|
@@ -50,7 +58,7 @@ var _ref = process.env.NODE_ENV === "production" ? {
|
|
|
50
58
|
styles: "display:inline-block;label:inlineBlock;",
|
|
51
59
|
toString: _EMOTION_STRINGIFIED_CSS_ERROR__
|
|
52
60
|
};
|
|
53
|
-
var
|
|
61
|
+
var _ref3 = process.env.NODE_ENV === "production" ? {
|
|
54
62
|
name: "14aceuy-block",
|
|
55
63
|
styles: "display:block;label:block;"
|
|
56
64
|
} : {
|
|
@@ -58,7 +66,7 @@ var _ref2 = process.env.NODE_ENV === "production" ? {
|
|
|
58
66
|
styles: "display:block;label:block;",
|
|
59
67
|
toString: _EMOTION_STRINGIFIED_CSS_ERROR__
|
|
60
68
|
};
|
|
61
|
-
var
|
|
69
|
+
var _ref4 = process.env.NODE_ENV === "production" ? {
|
|
62
70
|
name: "1s3i3p5-euiToolTipAnchor",
|
|
63
71
|
styles: "*[disabled]{pointer-events:none;};label:euiToolTipAnchor;"
|
|
64
72
|
} : {
|
|
@@ -69,9 +77,10 @@ var _ref3 = process.env.NODE_ENV === "production" ? {
|
|
|
69
77
|
export var euiToolTipAnchorStyles = function euiToolTipAnchorStyles() {
|
|
70
78
|
return {
|
|
71
79
|
// Elements
|
|
72
|
-
euiToolTipAnchor:
|
|
80
|
+
euiToolTipAnchor: _ref4,
|
|
73
81
|
// Variants
|
|
74
|
-
block:
|
|
75
|
-
inlineBlock:
|
|
82
|
+
block: _ref3,
|
|
83
|
+
inlineBlock: _ref2,
|
|
84
|
+
flex: _ref
|
|
76
85
|
};
|
|
77
86
|
};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/extends";
|
|
2
2
|
import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
|
|
3
|
-
var _excluded = ["onBlur", "onFocus", "
|
|
3
|
+
var _excluded = ["onBlur", "onFocus", "onMouseEnter", "onMouseLeave", "id", "className", "children", "display", "isVisible"];
|
|
4
4
|
/*
|
|
5
5
|
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
|
|
6
6
|
* or more contributor license agreements. Licensed under the Elastic License
|
|
@@ -17,8 +17,8 @@ import { jsx as ___EmotionJSX } from "@emotion/react";
|
|
|
17
17
|
export var EuiToolTipAnchor = /*#__PURE__*/forwardRef(function (_ref, ref) {
|
|
18
18
|
var _onBlur = _ref.onBlur,
|
|
19
19
|
_onFocus = _ref.onFocus,
|
|
20
|
-
|
|
21
|
-
|
|
20
|
+
onMouseEnter = _ref.onMouseEnter,
|
|
21
|
+
onMouseLeave = _ref.onMouseLeave,
|
|
22
22
|
id = _ref.id,
|
|
23
23
|
className = _ref.className,
|
|
24
24
|
children = _ref.children,
|
|
@@ -42,8 +42,8 @@ export var EuiToolTipAnchor = /*#__PURE__*/forwardRef(function (_ref, ref) {
|
|
|
42
42
|
id: anchorId
|
|
43
43
|
}, rest, {
|
|
44
44
|
className: classes,
|
|
45
|
-
|
|
46
|
-
|
|
45
|
+
onMouseEnter: onMouseEnter,
|
|
46
|
+
onMouseLeave: onMouseLeave
|
|
47
47
|
}), /*#__PURE__*/cloneElement(children, {
|
|
48
48
|
onFocus: function onFocus(e) {
|
|
49
49
|
_onFocus(e);
|
|
@@ -8,29 +8,54 @@ import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
|
8
8
|
* in compliance with, at your election, the Elastic License 2.0 or the Server
|
|
9
9
|
* Side Public License, v 1.
|
|
10
10
|
*/
|
|
11
|
+
|
|
11
12
|
/**
|
|
12
13
|
* Manager utility that ensures only one tooltip is visible at a time
|
|
14
|
+
* and lets the next tooltip to open skip its entry animation if another was
|
|
15
|
+
* just opened or just closed.
|
|
13
16
|
*
|
|
14
17
|
* UX rationale (primarily for mouse-only users):
|
|
15
18
|
* @see https://github.com/elastic/kibana/issues/144482
|
|
16
19
|
* @see https://github.com/elastic/eui/issues/5883
|
|
17
20
|
*/
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* Time window in ms after a tooltip closes during which the next one to open
|
|
24
|
+
* skips its entry animation.
|
|
25
|
+
*/
|
|
26
|
+
var SKIP_ANIMATION_WINDOW = 300;
|
|
18
27
|
var ToolTipManager = /*#__PURE__*/_createClass(function ToolTipManager() {
|
|
19
28
|
var _this = this;
|
|
20
29
|
_classCallCheck(this, ToolTipManager);
|
|
21
30
|
// We use a set instead of a single var just in case
|
|
22
31
|
// multiple tooltips are registered via async shenanigans
|
|
23
32
|
_defineProperty(this, "toolTipsToHide", new Set());
|
|
33
|
+
// Timestamp of the last hide; `null` means no tooltip has closed yet.
|
|
34
|
+
_defineProperty(this, "lastHiddenAt", null);
|
|
24
35
|
_defineProperty(this, "registerTooltip", function (hideCallback) {
|
|
25
|
-
if (_this.toolTipsToHide.has(hideCallback)) return;
|
|
36
|
+
if (_this.toolTipsToHide.has(hideCallback)) return null;
|
|
37
|
+
var hadOpen = _this.toolTipsToHide.size > 0;
|
|
38
|
+
var recentlyClosed = _this.lastHiddenAt !== null && Date.now() - _this.lastHiddenAt < SKIP_ANIMATION_WINDOW;
|
|
26
39
|
_this.toolTipsToHide.forEach(function (hide) {
|
|
27
40
|
return hide();
|
|
28
41
|
});
|
|
29
42
|
_this.toolTipsToHide.clear();
|
|
30
43
|
_this.toolTipsToHide.add(hideCallback);
|
|
44
|
+
return {
|
|
45
|
+
skipAnimation: hadOpen || recentlyClosed
|
|
46
|
+
};
|
|
31
47
|
});
|
|
32
48
|
_defineProperty(this, "deregisterToolTip", function (hideCallback) {
|
|
33
|
-
_this.toolTipsToHide.delete(hideCallback);
|
|
49
|
+
if (_this.toolTipsToHide.delete(hideCallback)) _this.lastHiddenAt = Date.now();
|
|
50
|
+
});
|
|
51
|
+
/**
|
|
52
|
+
* Resets all internal state. Primarily intended for tests, so that a
|
|
53
|
+
* tooltip shown in one test doesn't leak into the next (the manager is a
|
|
54
|
+
* module-level singleton).
|
|
55
|
+
*/
|
|
56
|
+
_defineProperty(this, "reset", function () {
|
|
57
|
+
_this.toolTipsToHide.clear();
|
|
58
|
+
_this.lastHiddenAt = null;
|
|
34
59
|
});
|
|
35
60
|
});
|
|
36
61
|
export var toolTipManager = new ToolTipManager();
|