@elastic/eui 114.3.0 → 116.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/es/components/basic_table/basic_table.js +3 -6
- package/es/components/basic_table/collapsed_item_actions.js +1 -3
- package/es/components/basic_table/default_item_action.js +0 -1
- package/es/components/basic_table/in_memory_table.js +3 -6
- package/es/components/collapsible_nav_beta/_kibana_solution/collapsible_nav_kibana_solution.js +14 -11
- package/es/components/color_picker/color_palette_picker/color_palette_picker.js +0 -1
- package/es/components/color_picker/color_picker_swatch.js +1 -2
- package/es/components/combo_box/combo_box.a11y.js +5 -5
- package/es/components/combo_box/combo_box.js +61 -53
- package/es/components/combo_box/combo_box_options_list/combo_box_options_list.js +147 -84
- package/es/components/combo_box/combo_box_options_list/combo_box_options_list.styles.js +8 -7
- package/es/components/context_menu/context_menu.js +19 -21
- package/es/components/context_menu/context_menu.styles.js +5 -2
- package/es/components/context_menu/context_menu_item.js +69 -58
- package/es/components/context_menu/context_menu_item.styles.js +14 -28
- package/es/components/context_menu/context_menu_panel.js +37 -21
- package/es/components/context_menu/context_menu_panel.styles.js +7 -2
- package/es/components/context_menu/context_menu_panel_title.js +124 -0
- package/es/components/context_menu/context_menu_panel_title.styles.js +20 -0
- package/es/components/context_menu/index.js +2 -1
- package/es/components/datagrid/body/cell/data_grid_cell.js +35 -29
- package/es/components/datagrid/body/data_grid_body.js +23 -17
- package/es/components/datagrid/body/data_grid_body_custom.js +23 -17
- package/es/components/datagrid/body/data_grid_body_virtualized.js +23 -17
- package/es/components/datagrid/body/header/column_actions.js +1 -2
- package/es/components/datagrid/body/header/data_grid_header_cell.js +23 -17
- package/es/components/datagrid/controls/column_sorting.js +23 -17
- package/es/components/datagrid/controls/display_selector.js +1 -2
- package/es/components/datagrid/controls/fullscreen_selector.js +1 -2
- package/es/components/datagrid/controls/keyboard_shortcuts.js +1 -2
- package/es/components/datagrid/utils/in_memory.js +23 -17
- package/es/components/filter_group/filter_group.a11y.js +8 -2
- package/es/components/filter_group/filter_select_item.js +36 -17
- package/es/components/flyout/flyout_menu.js +1 -4
- package/es/components/form/checkbox/checkbox.js +6 -6
- package/es/components/form/checkbox/checkbox.styles.js +1 -22
- package/es/components/form/checkbox/checkbox_control.js +78 -0
- package/es/components/form/checkbox/checkbox_control.styles.js +40 -0
- package/es/components/form/checkbox/index.js +1 -0
- package/es/components/form/form.styles.js +2 -1
- package/es/components/form/radio/radio.styles.js +1 -1
- package/es/components/form/super_select/super_select.js +118 -99
- package/es/components/form/super_select/super_select.styles.js +4 -8
- package/es/components/form/super_select/super_select_item.js +10 -18
- package/es/components/key_pad_menu/key_pad_menu_item.js +1 -2
- package/es/components/link/external_link_icon.js +4 -2
- package/es/components/list_group/list_group.js +20 -34
- package/es/components/list_group/list_group.styles.js +2 -16
- package/es/components/list_group/list_group_item.js +75 -87
- package/es/components/list_group/list_group_item.styles.js +17 -61
- package/es/components/list_group/list_group_item_extra_action.styles.js +6 -6
- package/es/components/list_group/pinnable_list_group/pinnable_list_group.js +16 -28
- package/es/components/list_item_layout/_list_item_layout.js +692 -0
- package/es/components/list_item_layout/_list_item_layout.styles.js +93 -0
- package/es/components/list_item_layout/index.js +9 -0
- package/es/components/markdown_editor/markdown_editor.js +1 -1
- package/es/components/markdown_editor/markdown_editor_drop_zone.js +6 -3
- package/es/components/markdown_editor/markdown_editor_footer.js +1 -1
- package/es/components/markdown_editor/markdown_editor_toolbar.js +14 -10
- package/es/components/portal/portal.js +72 -117
- package/es/components/search_bar/filters/field_value_selection_filter.js +2 -1
- package/es/components/search_bar/filters/field_value_toggle_group_filter.js +42 -91
- package/es/components/selectable/selectable.js +1 -0
- package/es/components/selectable/selectable_list/selectable_list.js +52 -36
- package/es/components/selectable/selectable_list/selectable_list.styles.js +19 -4
- package/es/components/selectable/selectable_list/selectable_list_item.js +45 -152
- package/es/components/selectable/selectable_list/utils/get_list_item_size.js +17 -0
- package/es/components/selectable/selectable_search/selectable_search.js +4 -1
- package/es/components/selectable/selectable_templates/selectable_template_sitewide.js +1 -1
- package/es/components/selectable/selectable_templates/selectable_template_sitewide.styles.js +2 -12
- package/es/components/selectable/selectable_templates/selectable_template_sitewide_option.js +1 -1
- package/es/components/selectable/selectable_templates/selectable_template_sitewide_popover.js +1 -1
- package/es/components/table/table_header_cell.js +1 -2
- package/es/components/tool_tip/icon_tip.js +4 -8
- package/es/components/tool_tip/tool_tip.js +233 -261
- package/es/components/tool_tip/tool_tip.styles.js +10 -18
- package/es/components/tool_tip/tool_tip_anchor.js +3 -3
- package/es/components/tool_tip/tool_tip_manager.js +1 -0
- package/es/components/tool_tip/tool_tip_popover.js +7 -7
- package/es/global_styling/mixins/_helpers.js +32 -11
- package/es/test/rtl/component_helpers.d.ts +0 -3
- package/es/test/rtl/component_helpers.js +40 -62
- package/eui.d.ts +10463 -8188
- package/i18ntokens.json +2607 -2589
- package/lib/components/basic_table/basic_table.js +3 -6
- package/lib/components/basic_table/collapsed_item_actions.js +1 -3
- package/lib/components/basic_table/default_item_action.js +0 -1
- package/lib/components/basic_table/in_memory_table.js +3 -6
- package/lib/components/collapsible_nav_beta/_kibana_solution/collapsible_nav_kibana_solution.js +14 -11
- package/lib/components/color_picker/color_palette_picker/color_palette_picker.js +0 -1
- package/lib/components/color_picker/color_picker_swatch.js +1 -2
- package/lib/components/combo_box/combo_box.a11y.js +5 -5
- package/lib/components/combo_box/combo_box.js +61 -53
- package/lib/components/combo_box/combo_box_options_list/combo_box_options_list.js +145 -82
- package/lib/components/combo_box/combo_box_options_list/combo_box_options_list.styles.js +7 -6
- package/lib/components/context_menu/context_menu.js +20 -22
- package/lib/components/context_menu/context_menu.styles.js +4 -1
- package/lib/components/context_menu/context_menu_item.js +70 -59
- package/lib/components/context_menu/context_menu_item.styles.js +13 -27
- package/lib/components/context_menu/context_menu_panel.js +37 -21
- package/lib/components/context_menu/context_menu_panel.styles.js +7 -2
- package/lib/components/context_menu/context_menu_panel_title.js +130 -0
- package/lib/components/context_menu/context_menu_panel_title.styles.js +26 -0
- package/lib/components/context_menu/index.js +8 -1
- package/lib/components/datagrid/body/cell/data_grid_cell.js +35 -29
- package/lib/components/datagrid/body/data_grid_body.js +23 -17
- package/lib/components/datagrid/body/data_grid_body_custom.js +23 -17
- package/lib/components/datagrid/body/data_grid_body_virtualized.js +23 -17
- package/lib/components/datagrid/body/header/column_actions.js +1 -2
- package/lib/components/datagrid/body/header/data_grid_header_cell.js +23 -17
- package/lib/components/datagrid/controls/column_sorting.js +23 -17
- package/lib/components/datagrid/controls/display_selector.js +1 -2
- package/lib/components/datagrid/controls/fullscreen_selector.js +1 -2
- package/lib/components/datagrid/controls/keyboard_shortcuts.js +1 -2
- package/lib/components/datagrid/utils/in_memory.js +23 -17
- package/lib/components/filter_group/filter_group.a11y.js +8 -2
- package/lib/components/filter_group/filter_select_item.js +35 -16
- package/lib/components/flyout/flyout_menu.js +1 -4
- package/lib/components/form/checkbox/checkbox.js +6 -6
- package/lib/components/form/checkbox/checkbox.styles.js +1 -22
- package/lib/components/form/checkbox/checkbox_control.js +84 -0
- package/lib/components/form/checkbox/checkbox_control.styles.js +44 -0
- package/lib/components/form/checkbox/index.js +7 -0
- package/lib/components/form/form.styles.js +2 -1
- package/lib/components/form/radio/radio.styles.js +1 -1
- package/lib/components/form/super_select/super_select.js +116 -97
- package/lib/components/form/super_select/super_select.styles.js +4 -8
- package/lib/components/form/super_select/super_select_item.js +13 -18
- package/lib/components/key_pad_menu/key_pad_menu_item.js +1 -2
- package/lib/components/link/external_link_icon.js +4 -2
- package/lib/components/list_group/list_group.js +21 -35
- package/lib/components/list_group/list_group.styles.js +2 -16
- package/lib/components/list_group/list_group_item.js +75 -87
- package/lib/components/list_group/list_group_item.styles.js +17 -61
- package/lib/components/list_group/list_group_item_extra_action.styles.js +5 -5
- package/lib/components/list_group/pinnable_list_group/pinnable_list_group.js +16 -28
- package/lib/components/list_item_layout/_list_item_layout.js +699 -0
- package/lib/components/list_item_layout/_list_item_layout.styles.js +97 -0
- package/lib/components/list_item_layout/index.js +12 -0
- package/lib/components/markdown_editor/markdown_editor.js +1 -1
- package/lib/components/markdown_editor/markdown_editor_drop_zone.js +6 -3
- package/lib/components/markdown_editor/markdown_editor_footer.js +1 -1
- package/lib/components/markdown_editor/markdown_editor_toolbar.js +12 -10
- package/lib/components/portal/portal.js +73 -118
- package/lib/components/search_bar/filters/field_value_selection_filter.js +2 -1
- package/lib/components/search_bar/filters/field_value_toggle_group_filter.js +44 -93
- package/lib/components/selectable/selectable.js +1 -0
- package/lib/components/selectable/selectable_list/selectable_list.js +50 -34
- package/lib/components/selectable/selectable_list/selectable_list.styles.js +20 -5
- package/lib/components/selectable/selectable_list/selectable_list_item.js +44 -152
- package/lib/components/selectable/selectable_list/utils/get_list_item_size.js +23 -0
- package/lib/components/selectable/selectable_search/selectable_search.js +4 -1
- package/lib/components/selectable/selectable_templates/selectable_template_sitewide.js +1 -1
- package/lib/components/selectable/selectable_templates/selectable_template_sitewide.styles.js +2 -12
- package/lib/components/selectable/selectable_templates/selectable_template_sitewide_option.js +1 -1
- package/lib/components/selectable/selectable_templates/selectable_template_sitewide_popover.js +1 -1
- package/lib/components/table/table_header_cell.js +1 -2
- package/lib/components/tool_tip/icon_tip.js +4 -8
- package/lib/components/tool_tip/tool_tip.js +240 -266
- package/lib/components/tool_tip/tool_tip.styles.js +8 -16
- package/lib/components/tool_tip/tool_tip_anchor.js +2 -2
- package/lib/components/tool_tip/tool_tip_manager.js +1 -0
- package/lib/components/tool_tip/tool_tip_popover.js +6 -6
- package/lib/global_styling/mixins/_helpers.js +33 -12
- package/lib/test/rtl/component_helpers.d.ts +0 -3
- package/lib/test/rtl/component_helpers.js +41 -63
- package/optimize/es/components/basic_table/collapsed_item_actions.js +1 -3
- package/optimize/es/components/basic_table/default_item_action.js +0 -1
- package/optimize/es/components/collapsible_nav_beta/_kibana_solution/collapsible_nav_kibana_solution.js +1 -4
- package/optimize/es/components/color_picker/color_palette_picker/color_palette_picker.js +0 -1
- package/optimize/es/components/combo_box/combo_box.a11y.js +5 -5
- package/optimize/es/components/combo_box/combo_box.js +60 -52
- package/optimize/es/components/combo_box/combo_box_options_list/combo_box_options_list.js +145 -83
- package/optimize/es/components/combo_box/combo_box_options_list/combo_box_options_list.styles.js +8 -7
- package/optimize/es/components/context_menu/context_menu.js +18 -13
- package/optimize/es/components/context_menu/context_menu.styles.js +5 -2
- package/optimize/es/components/context_menu/context_menu_item.js +55 -53
- package/optimize/es/components/context_menu/context_menu_item.styles.js +14 -28
- package/optimize/es/components/context_menu/context_menu_panel.js +36 -17
- package/optimize/es/components/context_menu/context_menu_panel.styles.js +7 -2
- package/optimize/es/components/context_menu/context_menu_panel_title.js +53 -0
- package/optimize/es/components/context_menu/context_menu_panel_title.styles.js +20 -0
- package/optimize/es/components/context_menu/index.js +2 -1
- package/optimize/es/components/datagrid/body/header/column_actions.js +1 -2
- package/optimize/es/components/datagrid/controls/display_selector.js +1 -2
- package/optimize/es/components/datagrid/controls/fullscreen_selector.js +1 -2
- package/optimize/es/components/datagrid/controls/keyboard_shortcuts.js +1 -2
- package/optimize/es/components/filter_group/filter_group.a11y.js +8 -2
- package/optimize/es/components/filter_group/filter_select_item.js +36 -17
- package/optimize/es/components/flyout/flyout_menu.js +1 -4
- package/optimize/es/components/form/checkbox/checkbox.js +6 -6
- package/optimize/es/components/form/checkbox/checkbox.styles.js +1 -22
- package/optimize/es/components/form/checkbox/checkbox_control.js +48 -0
- package/optimize/es/components/form/checkbox/checkbox_control.styles.js +40 -0
- package/optimize/es/components/form/checkbox/index.js +1 -0
- package/optimize/es/components/form/form.styles.js +2 -1
- package/optimize/es/components/form/radio/radio.styles.js +1 -1
- package/optimize/es/components/form/super_select/super_select.js +118 -90
- package/optimize/es/components/form/super_select/super_select.styles.js +4 -8
- package/optimize/es/components/form/super_select/super_select_item.js +10 -14
- package/optimize/es/components/key_pad_menu/key_pad_menu_item.js +1 -2
- package/optimize/es/components/link/external_link_icon.js +4 -2
- package/optimize/es/components/list_group/list_group.js +7 -14
- package/optimize/es/components/list_group/list_group.styles.js +2 -16
- package/optimize/es/components/list_group/list_group_item.js +62 -80
- package/optimize/es/components/list_group/list_group_item.styles.js +17 -61
- package/optimize/es/components/list_group/list_group_item_extra_action.styles.js +6 -6
- package/optimize/es/components/list_item_layout/_list_item_layout.js +353 -0
- package/optimize/es/components/list_item_layout/_list_item_layout.styles.js +93 -0
- package/optimize/es/components/list_item_layout/index.js +9 -0
- package/optimize/es/components/markdown_editor/markdown_editor_drop_zone.js +5 -2
- package/optimize/es/components/markdown_editor/markdown_editor_toolbar.js +13 -9
- package/optimize/es/components/portal/portal.js +65 -91
- package/optimize/es/components/search_bar/filters/field_value_selection_filter.js +2 -1
- package/optimize/es/components/search_bar/filters/field_value_toggle_group_filter.js +43 -66
- package/optimize/es/components/selectable/selectable_list/selectable_list.js +48 -33
- package/optimize/es/components/selectable/selectable_list/selectable_list.styles.js +19 -4
- package/optimize/es/components/selectable/selectable_list/selectable_list_item.js +41 -143
- package/optimize/es/components/selectable/selectable_list/utils/get_list_item_size.js +17 -0
- package/optimize/es/components/selectable/selectable_search/selectable_search.js +4 -1
- package/optimize/es/components/selectable/selectable_templates/selectable_template_sitewide.js +1 -1
- package/optimize/es/components/selectable/selectable_templates/selectable_template_sitewide.styles.js +2 -12
- package/optimize/es/components/selectable/selectable_templates/selectable_template_sitewide_option.js +1 -1
- package/optimize/es/components/selectable/selectable_templates/selectable_template_sitewide_popover.js +1 -1
- package/optimize/es/components/tool_tip/icon_tip.js +3 -5
- package/optimize/es/components/tool_tip/tool_tip.js +227 -250
- package/optimize/es/components/tool_tip/tool_tip.styles.js +10 -18
- package/optimize/es/components/tool_tip/tool_tip_anchor.js +3 -3
- package/optimize/es/components/tool_tip/tool_tip_manager.js +1 -0
- package/optimize/es/components/tool_tip/tool_tip_popover.js +7 -7
- package/optimize/es/global_styling/mixins/_helpers.js +32 -11
- package/optimize/es/test/rtl/component_helpers.d.ts +0 -3
- package/optimize/es/test/rtl/component_helpers.js +40 -62
- package/optimize/lib/components/basic_table/collapsed_item_actions.js +1 -3
- package/optimize/lib/components/basic_table/default_item_action.js +0 -1
- package/optimize/lib/components/collapsible_nav_beta/_kibana_solution/collapsible_nav_kibana_solution.js +1 -4
- package/optimize/lib/components/color_picker/color_palette_picker/color_palette_picker.js +0 -1
- package/optimize/lib/components/combo_box/combo_box.a11y.js +5 -5
- package/optimize/lib/components/combo_box/combo_box.js +60 -52
- package/optimize/lib/components/combo_box/combo_box_options_list/combo_box_options_list.js +143 -81
- package/optimize/lib/components/combo_box/combo_box_options_list/combo_box_options_list.styles.js +7 -6
- package/optimize/lib/components/context_menu/context_menu.js +19 -14
- package/optimize/lib/components/context_menu/context_menu.styles.js +4 -1
- package/optimize/lib/components/context_menu/context_menu_item.js +56 -54
- package/optimize/lib/components/context_menu/context_menu_item.styles.js +13 -27
- package/optimize/lib/components/context_menu/context_menu_panel.js +36 -17
- package/optimize/lib/components/context_menu/context_menu_panel.styles.js +7 -2
- package/optimize/lib/components/context_menu/context_menu_panel_title.js +59 -0
- package/optimize/lib/components/context_menu/context_menu_panel_title.styles.js +26 -0
- package/optimize/lib/components/context_menu/index.js +8 -1
- package/optimize/lib/components/datagrid/body/header/column_actions.js +1 -2
- package/optimize/lib/components/datagrid/controls/display_selector.js +1 -2
- package/optimize/lib/components/datagrid/controls/fullscreen_selector.js +1 -2
- package/optimize/lib/components/datagrid/controls/keyboard_shortcuts.js +1 -2
- package/optimize/lib/components/filter_group/filter_group.a11y.js +8 -2
- package/optimize/lib/components/filter_group/filter_select_item.js +35 -16
- package/optimize/lib/components/flyout/flyout_menu.js +1 -4
- package/optimize/lib/components/form/checkbox/checkbox.js +6 -6
- package/optimize/lib/components/form/checkbox/checkbox.styles.js +1 -22
- package/optimize/lib/components/form/checkbox/checkbox_control.js +54 -0
- package/optimize/lib/components/form/checkbox/checkbox_control.styles.js +44 -0
- package/optimize/lib/components/form/checkbox/index.js +7 -0
- package/optimize/lib/components/form/form.styles.js +2 -1
- package/optimize/lib/components/form/radio/radio.styles.js +1 -1
- package/optimize/lib/components/form/super_select/super_select.js +116 -88
- package/optimize/lib/components/form/super_select/super_select.styles.js +4 -8
- package/optimize/lib/components/form/super_select/super_select_item.js +13 -14
- package/optimize/lib/components/key_pad_menu/key_pad_menu_item.js +1 -2
- package/optimize/lib/components/link/external_link_icon.js +4 -2
- package/optimize/lib/components/list_group/list_group.js +8 -15
- package/optimize/lib/components/list_group/list_group.styles.js +2 -16
- package/optimize/lib/components/list_group/list_group_item.js +62 -80
- package/optimize/lib/components/list_group/list_group_item.styles.js +17 -61
- package/optimize/lib/components/list_group/list_group_item_extra_action.styles.js +5 -5
- package/optimize/lib/components/list_item_layout/_list_item_layout.js +361 -0
- package/optimize/lib/components/list_item_layout/_list_item_layout.styles.js +97 -0
- package/optimize/lib/components/list_item_layout/index.js +12 -0
- package/optimize/lib/components/markdown_editor/markdown_editor_drop_zone.js +5 -2
- package/optimize/lib/components/markdown_editor/markdown_editor_toolbar.js +13 -9
- package/optimize/lib/components/portal/portal.js +68 -93
- package/optimize/lib/components/search_bar/filters/field_value_selection_filter.js +2 -1
- package/optimize/lib/components/search_bar/filters/field_value_toggle_group_filter.js +45 -69
- package/optimize/lib/components/selectable/selectable_list/selectable_list.js +46 -31
- package/optimize/lib/components/selectable/selectable_list/selectable_list.styles.js +20 -5
- package/optimize/lib/components/selectable/selectable_list/selectable_list_item.js +41 -143
- package/optimize/lib/components/selectable/selectable_list/utils/get_list_item_size.js +23 -0
- package/optimize/lib/components/selectable/selectable_search/selectable_search.js +4 -1
- package/optimize/lib/components/selectable/selectable_templates/selectable_template_sitewide.js +1 -1
- package/optimize/lib/components/selectable/selectable_templates/selectable_template_sitewide.styles.js +2 -12
- package/optimize/lib/components/selectable/selectable_templates/selectable_template_sitewide_option.js +1 -1
- package/optimize/lib/components/selectable/selectable_templates/selectable_template_sitewide_popover.js +1 -1
- package/optimize/lib/components/tool_tip/icon_tip.js +3 -5
- package/optimize/lib/components/tool_tip/tool_tip.js +229 -251
- package/optimize/lib/components/tool_tip/tool_tip.styles.js +8 -16
- package/optimize/lib/components/tool_tip/tool_tip_anchor.js +2 -2
- package/optimize/lib/components/tool_tip/tool_tip_manager.js +1 -0
- package/optimize/lib/components/tool_tip/tool_tip_popover.js +6 -6
- package/optimize/lib/global_styling/mixins/_helpers.js +33 -12
- package/optimize/lib/test/rtl/component_helpers.d.ts +0 -3
- package/optimize/lib/test/rtl/component_helpers.js +41 -63
- package/package.json +5 -13
- package/test-env/components/basic_table/basic_table.js +3 -6
- package/test-env/components/basic_table/collapsed_item_actions.js +1 -3
- package/test-env/components/basic_table/default_item_action.js +0 -1
- package/test-env/components/basic_table/in_memory_table.js +3 -6
- package/test-env/components/collapsible_nav_beta/_kibana_solution/collapsible_nav_kibana_solution.js +14 -11
- package/test-env/components/color_picker/color_palette_picker/color_palette_picker.js +0 -1
- package/test-env/components/color_picker/color_picker_swatch.js +1 -2
- package/test-env/components/combo_box/combo_box.a11y.js +5 -5
- package/test-env/components/combo_box/combo_box.js +61 -53
- package/test-env/components/combo_box/combo_box_options_list/combo_box_options_list.js +145 -82
- package/test-env/components/combo_box/combo_box_options_list/combo_box_options_list.styles.js +7 -6
- package/test-env/components/context_menu/context_menu.js +20 -22
- package/test-env/components/context_menu/context_menu.styles.js +4 -1
- package/test-env/components/context_menu/context_menu_item.js +67 -59
- package/test-env/components/context_menu/context_menu_item.styles.js +13 -27
- package/test-env/components/context_menu/context_menu_panel.js +37 -21
- package/test-env/components/context_menu/context_menu_panel.styles.js +7 -2
- package/test-env/components/context_menu/context_menu_panel_title.js +129 -0
- package/test-env/components/context_menu/context_menu_panel_title.styles.js +26 -0
- package/test-env/components/context_menu/index.js +8 -1
- package/test-env/components/datagrid/body/cell/data_grid_cell.js +35 -29
- package/test-env/components/datagrid/body/data_grid_body.js +23 -17
- package/test-env/components/datagrid/body/data_grid_body_custom.js +23 -17
- package/test-env/components/datagrid/body/data_grid_body_virtualized.js +23 -17
- package/test-env/components/datagrid/body/header/column_actions.js +1 -2
- package/test-env/components/datagrid/body/header/data_grid_header_cell.js +23 -17
- package/test-env/components/datagrid/controls/column_sorting.js +23 -17
- package/test-env/components/datagrid/controls/display_selector.js +1 -2
- package/test-env/components/datagrid/controls/fullscreen_selector.js +1 -2
- package/test-env/components/datagrid/controls/keyboard_shortcuts.js +1 -2
- package/test-env/components/datagrid/utils/in_memory.js +23 -17
- package/test-env/components/filter_group/filter_group.a11y.js +8 -2
- package/test-env/components/filter_group/filter_select_item.js +35 -16
- package/test-env/components/flyout/flyout_menu.js +1 -4
- package/test-env/components/form/checkbox/checkbox.js +6 -6
- package/test-env/components/form/checkbox/checkbox.styles.js +1 -22
- package/test-env/components/form/checkbox/checkbox_control.js +83 -0
- package/test-env/components/form/checkbox/checkbox_control.styles.js +44 -0
- package/test-env/components/form/checkbox/index.js +7 -0
- package/test-env/components/form/form.styles.js +2 -1
- package/test-env/components/form/radio/radio.styles.js +1 -1
- package/test-env/components/form/super_select/super_select.js +116 -97
- package/test-env/components/form/super_select/super_select.styles.js +4 -8
- package/test-env/components/form/super_select/super_select_item.js +13 -18
- package/test-env/components/key_pad_menu/key_pad_menu_item.js +1 -2
- package/test-env/components/link/external_link_icon.js +4 -2
- package/test-env/components/list_group/list_group.js +21 -35
- package/test-env/components/list_group/list_group.styles.js +2 -16
- package/test-env/components/list_group/list_group_item.js +75 -87
- package/test-env/components/list_group/list_group_item.styles.js +17 -61
- package/test-env/components/list_group/list_group_item_extra_action.styles.js +5 -5
- package/test-env/components/list_group/pinnable_list_group/pinnable_list_group.js +16 -28
- package/test-env/components/list_item_layout/_list_item_layout.js +691 -0
- package/test-env/components/list_item_layout/_list_item_layout.styles.js +97 -0
- package/test-env/components/list_item_layout/index.js +12 -0
- package/test-env/components/markdown_editor/markdown_editor.js +1 -1
- package/test-env/components/markdown_editor/markdown_editor_drop_zone.js +6 -3
- package/test-env/components/markdown_editor/markdown_editor_footer.js +1 -1
- package/test-env/components/markdown_editor/markdown_editor_toolbar.js +14 -10
- package/test-env/components/portal/portal.js +70 -113
- package/test-env/components/search_bar/filters/field_value_selection_filter.js +2 -1
- package/test-env/components/search_bar/filters/field_value_toggle_group_filter.js +44 -88
- package/test-env/components/selectable/selectable.js +1 -0
- package/test-env/components/selectable/selectable_list/selectable_list.js +50 -34
- package/test-env/components/selectable/selectable_list/selectable_list.styles.js +20 -5
- package/test-env/components/selectable/selectable_list/selectable_list_item.js +42 -147
- package/test-env/components/selectable/selectable_list/utils/get_list_item_size.js +23 -0
- package/test-env/components/selectable/selectable_search/selectable_search.js +4 -1
- package/test-env/components/selectable/selectable_templates/selectable_template_sitewide.js +1 -1
- package/test-env/components/selectable/selectable_templates/selectable_template_sitewide.styles.js +2 -12
- package/test-env/components/selectable/selectable_templates/selectable_template_sitewide_option.js +1 -1
- package/test-env/components/selectable/selectable_templates/selectable_template_sitewide_popover.js +1 -1
- package/test-env/components/table/table_header_cell.js +1 -2
- package/test-env/components/tool_tip/icon_tip.js +4 -8
- package/test-env/components/tool_tip/tool_tip.js +230 -256
- package/test-env/components/tool_tip/tool_tip.styles.js +8 -16
- package/test-env/components/tool_tip/tool_tip_anchor.js +2 -2
- package/test-env/components/tool_tip/tool_tip_manager.js +1 -0
- package/test-env/components/tool_tip/tool_tip_popover.js +6 -6
- package/test-env/global_styling/mixins/_helpers.js +33 -12
- package/test-env/test/rtl/component_helpers.js +41 -63
- package/es/components/selectable/selectable_list/selectable_list_item.styles.js +0 -55
- package/lib/components/selectable/selectable_list/selectable_list_item.styles.js +0 -59
- package/optimize/es/components/selectable/selectable_list/selectable_list_item.styles.js +0 -55
- package/optimize/lib/components/selectable/selectable_list/selectable_list_item.styles.js +0 -59
- package/test-env/components/selectable/selectable_list/selectable_list_item.styles.js +0 -59
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
* Side Public License, v 1.
|
|
7
7
|
*/
|
|
8
8
|
|
|
9
|
+
import { euiCanAnimate, euiCantAnimate } from '@elastic/eui-theme-common';
|
|
9
10
|
import { useEuiTheme } from '../../services/theme';
|
|
10
11
|
import { transparentize } from '../../services/color';
|
|
11
12
|
import { logicalCSS, logicalCSSWithFallback } from '../functions';
|
|
@@ -47,11 +48,15 @@ export var useEuiScrollBar = function useEuiScrollBar(options) {
|
|
|
47
48
|
* Overflow shadow masks for use in YScroll and XScroll helpers
|
|
48
49
|
*/
|
|
49
50
|
|
|
50
|
-
var euiOverflowShadowStyles = function euiOverflowShadowStyles(_ref3) {
|
|
51
|
-
var
|
|
51
|
+
export var euiOverflowShadowStyles = function euiOverflowShadowStyles(_ref3) {
|
|
52
|
+
var _ref3$euiTheme = _ref3.euiTheme,
|
|
53
|
+
size = _ref3$euiTheme.size,
|
|
54
|
+
colors = _ref3$euiTheme.colors;
|
|
52
55
|
var _ref4 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
|
|
53
56
|
_direction = _ref4.direction,
|
|
54
|
-
_side = _ref4.side
|
|
57
|
+
_side = _ref4.side,
|
|
58
|
+
_ref4$hasAnimatedOver = _ref4.hasAnimatedOverflowShadow,
|
|
59
|
+
hasAnimatedOverflowShadow = _ref4$hasAnimatedOver === void 0 ? false : _ref4$hasAnimatedOver;
|
|
55
60
|
var direction = _direction || 'y';
|
|
56
61
|
var side = _side || 'both';
|
|
57
62
|
var hideHeight = size.s;
|
|
@@ -75,11 +80,20 @@ var euiOverflowShadowStyles = function euiOverflowShadowStyles(_ref3) {
|
|
|
75
80
|
// - https://github.com/elastic/kibana/issues/180828
|
|
76
81
|
// - https://github.com/elastic/eui/pull/6343#issuecomment-1302732021
|
|
77
82
|
var chromiumMaskWorkaround = 'transform: translateZ(0);';
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
83
|
+
var overflowShadowStatic = direction === 'y' ? "mask-image: linear-gradient(to bottom, ".concat(gradient, "); ").concat(chromiumMaskWorkaround) : "mask-image: linear-gradient(to right, ".concat(gradient, "); ").concat(chromiumMaskWorkaround);
|
|
84
|
+
|
|
85
|
+
// If supported, use the scroll timeline API to animate the gradient to show/hide it on the scroll edges.
|
|
86
|
+
// We only support vertical scrolling as horizontal scrolling has increased complexity on element dimensions.
|
|
87
|
+
if (hasAnimatedOverflowShadow && direction === 'y') {
|
|
88
|
+
var featureFlag = 'animation-timeline: scroll()';
|
|
89
|
+
var gradientStartColor = "var(--euiOverflowShadowColor, ".concat(colors.backgroundBasePlain, ")");
|
|
90
|
+
var gradientEndColor = 'transparent';
|
|
91
|
+
var gradientSize = size.base;
|
|
92
|
+
var gradientScrollRange = size.m;
|
|
93
|
+
var commonPseudoElementStyles = "\n content: '';\n display: block;\n position: sticky;\n z-index: 1;\n block-size: ".concat(gradientSize, ";\n pointer-events: none;\n ");
|
|
94
|
+
return "\n @supports not (".concat(featureFlag, ") {\n ").concat(overflowShadowStatic, "\n }\n\n ").concat(euiCantAnimate, " {\n ").concat(overflowShadowStatic, "\n }\n\n ").concat(euiCanAnimate, " {\n @supports (").concat(featureFlag, ") {\n @keyframes show { \n from { opacity: 0 } \n to { opacity: 1 }\n }\n @keyframes hide { \n from { opacity: 1 }\n to { opacity: 0 }\n }\n\n position: relative;\n\n /* Gradient on start edge */\n &::before {\n ").concat(commonPseudoElementStyles, "\n inset-block-start: 0;\n /* prevent pushing down the content */\n ").concat(logicalCSS('margin-bottom', "-".concat(gradientSize)), " \n /* uses CSS custom property to support customization depending on layout wrapper background color */\n background: linear-gradient(to bottom, ").concat(gradientStartColor, ", ").concat(gradientEndColor, ");\n \n opacity: 0;\n animation: show linear both;\n animation-timeline: scroll(y);\n animation-range: 0px ").concat(gradientScrollRange, ";\n }\n\n /* Gradient on end edge */\n &::after {\n ").concat(commonPseudoElementStyles, "\n inset-block-end: 0;\n /* prevent adding extra space */\n ").concat(logicalCSS('margin-top', "-".concat(gradientSize)), " \n background: linear-gradient(to top, ").concat(gradientStartColor, ", ").concat(gradientEndColor, ");\n\n \n /* NOTE: To ensure the bottom gradient is not visible when the container has no overflow,\n we need to use opacity: 0 as default. Using two animations with 'animation-fill-mode: forwards'\n ensures the show/hide animation works both with and without overflow. */\n /* scroll animation */\n opacity: 0;\n animation-name: show, hide;\n animation-timing-function: step-start, linear;\n animation-fill-mode: forwards;\n animation-timeline: scroll(y);\n animation-range: 0% 100%, calc(100% - ").concat(gradientScrollRange, ") 100%;\n }\n }\n }\n ");
|
|
82
95
|
}
|
|
96
|
+
return overflowShadowStatic;
|
|
83
97
|
};
|
|
84
98
|
|
|
85
99
|
/**
|
|
@@ -105,20 +119,27 @@ export var euiYScrollWithShadows = function euiYScrollWithShadows(euiTheme) {
|
|
|
105
119
|
var _ref7 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
|
|
106
120
|
height = _ref7.height,
|
|
107
121
|
_ref7$side = _ref7.side,
|
|
108
|
-
side = _ref7$side === void 0 ? 'both' : _ref7$side
|
|
122
|
+
side = _ref7$side === void 0 ? 'both' : _ref7$side,
|
|
123
|
+
_ref7$hasAnimatedOver = _ref7.hasAnimatedOverflowShadow,
|
|
124
|
+
hasAnimatedOverflowShadow = _ref7$hasAnimatedOver === void 0 ? false : _ref7$hasAnimatedOver;
|
|
109
125
|
return "\n ".concat(euiYScroll(euiTheme, {
|
|
110
126
|
height: height
|
|
111
127
|
}), "\n ").concat(euiOverflowShadowStyles(euiTheme, {
|
|
112
128
|
direction: 'y',
|
|
113
|
-
side: side
|
|
129
|
+
side: side,
|
|
130
|
+
hasAnimatedOverflowShadow: hasAnimatedOverflowShadow
|
|
114
131
|
}), "\n");
|
|
115
132
|
};
|
|
116
133
|
export var useEuiYScrollWithShadows = function useEuiYScrollWithShadows() {
|
|
117
134
|
var _ref8 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
|
|
118
|
-
height = _ref8.height
|
|
135
|
+
height = _ref8.height,
|
|
136
|
+
side = _ref8.side,
|
|
137
|
+
hasAnimatedOverflowShadow = _ref8.hasAnimatedOverflowShadow;
|
|
119
138
|
var euiTheme = useEuiTheme();
|
|
120
139
|
return euiYScrollWithShadows(euiTheme, {
|
|
121
|
-
height: height
|
|
140
|
+
height: height,
|
|
141
|
+
side: side,
|
|
142
|
+
hasAnimatedOverflowShadow: hasAnimatedOverflowShadow
|
|
122
143
|
});
|
|
123
144
|
};
|
|
124
145
|
export var euiXScroll = function euiXScroll(euiTheme) {
|
|
@@ -6,9 +6,6 @@
|
|
|
6
6
|
export declare const waitForEuiPopoverOpen: () => Promise<void>;
|
|
7
7
|
export declare const waitForEuiPopoverClose: () => Promise<void>;
|
|
8
8
|
|
|
9
|
-
export declare const waitForEuiToolTipVisible: () => Promise<void>;
|
|
10
|
-
export declare const waitForEuiToolTipHidden: () => Promise<void>;
|
|
11
|
-
|
|
12
9
|
export declare const showEuiComboBoxOptions: () => Promise<void>;
|
|
13
10
|
|
|
14
11
|
export declare const waitForEuiContextMenuPanelTransition: () => Promise<void>;
|
|
@@ -63,81 +63,59 @@ export var waitForEuiPopoverClose = /*#__PURE__*/function () {
|
|
|
63
63
|
}();
|
|
64
64
|
|
|
65
65
|
/**
|
|
66
|
-
*
|
|
66
|
+
* jsdom does not track keyboard vs. mouse input modality, so `:focus-visible`
|
|
67
|
+
* always returns false. Call this before `fireEvent.focus()` on an element that
|
|
68
|
+
* should be treated as keyboard-focused.
|
|
69
|
+
*
|
|
70
|
+
* Returns a cleanup function, call it after test assertions to restore the spy.
|
|
67
71
|
*/
|
|
68
|
-
export var
|
|
69
|
-
var
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
var tooltip = document.querySelector('.euiToolTipPopover');
|
|
76
|
-
expect(tooltip).toBeVisible();
|
|
77
|
-
}, {
|
|
78
|
-
timeout: 3000
|
|
79
|
-
} // Account for long delay on tooltips
|
|
80
|
-
);
|
|
81
|
-
case 2:
|
|
82
|
-
return _context3.abrupt("return", _context3.sent);
|
|
83
|
-
case 3:
|
|
84
|
-
case "end":
|
|
85
|
-
return _context3.stop();
|
|
86
|
-
}
|
|
87
|
-
}, _callee3);
|
|
88
|
-
}));
|
|
89
|
-
return function waitForEuiToolTipVisible() {
|
|
90
|
-
return _ref3.apply(this, arguments);
|
|
72
|
+
export var simulateFocusVisible = function simulateFocusVisible(element) {
|
|
73
|
+
var originalMatches = Element.prototype.matches.bind(element);
|
|
74
|
+
var spy = jest.spyOn(element, 'matches').mockImplementation(function (selector) {
|
|
75
|
+
return selector === ':focus-visible' ? true : originalMatches(selector);
|
|
76
|
+
});
|
|
77
|
+
return function () {
|
|
78
|
+
return spy.mockRestore();
|
|
91
79
|
};
|
|
92
|
-
}
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
case 3:
|
|
106
|
-
case "end":
|
|
107
|
-
return _context4.stop();
|
|
108
|
-
}
|
|
109
|
-
}, _callee4);
|
|
110
|
-
}));
|
|
111
|
-
return function waitForEuiToolTipHidden() {
|
|
112
|
-
return _ref4.apply(this, arguments);
|
|
113
|
-
};
|
|
114
|
-
}();
|
|
80
|
+
};
|
|
81
|
+
|
|
82
|
+
/**
|
|
83
|
+
* Prefer this over `fireEvent.focus()` in tooltip tests. Plain `fireEvent.focus`
|
|
84
|
+
* does not set `:focus-visible` in jsdom and will not trigger the tooltip.
|
|
85
|
+
*
|
|
86
|
+
* Returns a cleanup function to restore the mock after assertions.
|
|
87
|
+
*/
|
|
88
|
+
export var focusEuiToolTipTrigger = function focusEuiToolTipTrigger(element) {
|
|
89
|
+
var cleanup = simulateFocusVisible(element);
|
|
90
|
+
fireEvent.focus(element);
|
|
91
|
+
return cleanup;
|
|
92
|
+
};
|
|
115
93
|
|
|
116
94
|
/**
|
|
117
95
|
* EuiComboBox
|
|
118
96
|
*/
|
|
119
97
|
|
|
120
98
|
export var showEuiComboBoxOptions = /*#__PURE__*/function () {
|
|
121
|
-
var
|
|
122
|
-
return _regeneratorRuntime.wrap(function
|
|
123
|
-
while (1) switch (
|
|
99
|
+
var _ref3 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee3() {
|
|
100
|
+
return _regeneratorRuntime.wrap(function _callee3$(_context3) {
|
|
101
|
+
while (1) switch (_context3.prev = _context3.next) {
|
|
124
102
|
case 0:
|
|
125
103
|
fireEvent.click(screen.getByTestSubject('comboBoxToggleListButton'));
|
|
126
|
-
|
|
104
|
+
_context3.next = 3;
|
|
127
105
|
return waitForEuiPopoverOpen();
|
|
128
106
|
case 3:
|
|
129
|
-
|
|
107
|
+
_context3.next = 5;
|
|
130
108
|
return waitFor(function () {
|
|
131
109
|
expect(screen.getByRole('listbox')).toBeInTheDocument();
|
|
132
110
|
});
|
|
133
111
|
case 5:
|
|
134
112
|
case "end":
|
|
135
|
-
return
|
|
113
|
+
return _context3.stop();
|
|
136
114
|
}
|
|
137
|
-
},
|
|
115
|
+
}, _callee3);
|
|
138
116
|
}));
|
|
139
117
|
return function showEuiComboBoxOptions() {
|
|
140
|
-
return
|
|
118
|
+
return _ref3.apply(this, arguments);
|
|
141
119
|
};
|
|
142
120
|
}();
|
|
143
121
|
|
|
@@ -146,16 +124,16 @@ export var showEuiComboBoxOptions = /*#__PURE__*/function () {
|
|
|
146
124
|
*/
|
|
147
125
|
|
|
148
126
|
export var waitForEuiContextMenuPanelTransition = /*#__PURE__*/function () {
|
|
149
|
-
var
|
|
127
|
+
var _ref4 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee4() {
|
|
150
128
|
var getPanels;
|
|
151
|
-
return _regeneratorRuntime.wrap(function
|
|
152
|
-
while (1) switch (
|
|
129
|
+
return _regeneratorRuntime.wrap(function _callee4$(_context4) {
|
|
130
|
+
while (1) switch (_context4.prev = _context4.next) {
|
|
153
131
|
case 0:
|
|
154
132
|
// Used document instead of container or screen due to context menus living in portals
|
|
155
133
|
getPanels = function getPanels() {
|
|
156
134
|
return document.querySelectorAll('.euiContextMenuPanel');
|
|
157
135
|
}; // 2 panels will appear for the transition animation
|
|
158
|
-
|
|
136
|
+
_context4.next = 3;
|
|
159
137
|
return waitFor(function () {
|
|
160
138
|
expect(getPanels().length).toEqual(2);
|
|
161
139
|
});
|
|
@@ -170,11 +148,11 @@ export var waitForEuiContextMenuPanelTransition = /*#__PURE__*/function () {
|
|
|
170
148
|
expect(getPanels().length).toEqual(1);
|
|
171
149
|
case 6:
|
|
172
150
|
case "end":
|
|
173
|
-
return
|
|
151
|
+
return _context4.stop();
|
|
174
152
|
}
|
|
175
|
-
},
|
|
153
|
+
}, _callee4);
|
|
176
154
|
}));
|
|
177
155
|
return function waitForEuiContextMenuPanelTransition() {
|
|
178
|
-
return
|
|
156
|
+
return _ref4.apply(this, arguments);
|
|
179
157
|
};
|
|
180
158
|
}();
|
|
@@ -89,7 +89,6 @@ var CollapsedItemActions = exports.CollapsedItemActions = function CollapsedItem
|
|
|
89
89
|
},
|
|
90
90
|
toolTipContent: toolTipContent,
|
|
91
91
|
toolTipProps: {
|
|
92
|
-
delay: 'long',
|
|
93
92
|
// Avoid screen-readers announcing the same text twice
|
|
94
93
|
disableScreenReaderOutput: typeof buttonContent === 'string' && buttonContent === toolTipContent
|
|
95
94
|
}
|
|
@@ -113,8 +112,7 @@ var CollapsedItemActions = exports.CollapsedItemActions = function CollapsedItem
|
|
|
113
112
|
"data-test-subj": "euiCollapsedItemActionsButton"
|
|
114
113
|
});
|
|
115
114
|
var withTooltip = !actionsDisabled && (0, _react2.jsx)(_tool_tip.EuiToolTip, {
|
|
116
|
-
content: allActionsTooltip
|
|
117
|
-
delay: "long"
|
|
115
|
+
content: allActionsTooltip
|
|
118
116
|
}, popoverButton);
|
|
119
117
|
return (0, _react2.jsx)(_popover.EuiPopover, {
|
|
120
118
|
className: className,
|
|
@@ -41,7 +41,6 @@ var DefaultItemAction = exports.DefaultItemAction = function DefaultItemAction(_
|
|
|
41
41
|
var tooltipContent = (0, _action_types.callWithItemIfFunction)(item)(action.description);
|
|
42
42
|
var tooltipProps = {
|
|
43
43
|
content: tooltipContent,
|
|
44
|
-
delay: 'long',
|
|
45
44
|
// Avoid screen-readers announcing the same text twice
|
|
46
45
|
disableScreenReaderOutput: typeof actionContent === 'string' && actionContent === tooltipContent
|
|
47
46
|
};
|
|
@@ -65,7 +65,6 @@ var KibanaCollapsibleNavSolution = exports.KibanaCollapsibleNavSolution = functi
|
|
|
65
65
|
var solutionSolutionSwitcherAriaLabel = (0, _i18n.useEuiI18n)('euiCollapsibleNavKibanaSolution.switcherAriaLabel', ' - click to switch to another solution');
|
|
66
66
|
var solutionSolutionGroupLabel = (0, _i18n.useEuiI18n)('euiCollapsibleNavKibanaSolution.groupLabel', 'Navigate to solution');
|
|
67
67
|
var closeSolutionPopover = (0, _react.useCallback)(function (event) {
|
|
68
|
-
var _childItem$firstEleme;
|
|
69
68
|
// Allow child items to stop the popover from being closed
|
|
70
69
|
if (event.isPropagationStopped()) return;
|
|
71
70
|
// Only listen for clicks on child items - currentTarget is the parent <ul>
|
|
@@ -74,7 +73,7 @@ var KibanaCollapsibleNavSolution = exports.KibanaCollapsibleNavSolution = functi
|
|
|
74
73
|
// Only close the popover if the item is a clickable link or button
|
|
75
74
|
var target = event.target;
|
|
76
75
|
var childItem = target.closest('.euiListGroupItem');
|
|
77
|
-
if (['A', 'BUTTON'].includes((childItem === null || childItem === void 0
|
|
76
|
+
if (['A', 'BUTTON'].includes((childItem === null || childItem === void 0 ? void 0 : childItem.tagName) || '')) {
|
|
78
77
|
setIsSolutionSwitcherOpen(false);
|
|
79
78
|
}
|
|
80
79
|
}, []);
|
|
@@ -87,12 +86,10 @@ var KibanaCollapsibleNavSolution = exports.KibanaCollapsibleNavSolution = functi
|
|
|
87
86
|
"data-test-subj": "kibanaSolutionSwitcherList",
|
|
88
87
|
"aria-label": solutionSolutionGroupLabel,
|
|
89
88
|
listItems: primaryItems,
|
|
90
|
-
size: "s",
|
|
91
89
|
bordered: true,
|
|
92
90
|
onClick: closeSolutionPopover
|
|
93
91
|
}), secondaryItems.length > 0 && (0, _react2.jsx)(_react.default.Fragment, null, (0, _react2.jsx)(_list_group.EuiListGroup, {
|
|
94
92
|
listItems: secondaryItems,
|
|
95
|
-
size: "s",
|
|
96
93
|
css: styles.euiCollapsibleNavKibanaSolution__secondaryItems,
|
|
97
94
|
onClick: closeSolutionPopover
|
|
98
95
|
})));
|
|
@@ -96,7 +96,6 @@ var EuiColorPalettePicker = exports.EuiColorPalettePicker = function EuiColorPal
|
|
|
96
96
|
options: paletteOptions,
|
|
97
97
|
valueOfSelected: valueOfSelected,
|
|
98
98
|
onChange: onChange,
|
|
99
|
-
hasDividers: true,
|
|
100
99
|
isInvalid: isInvalid,
|
|
101
100
|
compressed: compressed,
|
|
102
101
|
disabled: disabled,
|
|
@@ -88,7 +88,7 @@ describe('EuiComboBox', function () {
|
|
|
88
88
|
rowHeight: rowHeight
|
|
89
89
|
}));
|
|
90
90
|
cy.get('input[data-test-subj="comboBoxSearchInput"]').realClick();
|
|
91
|
-
cy.get('
|
|
91
|
+
cy.get('[data-test-subj="titanOption"]').should('exist');
|
|
92
92
|
cy.checkAxe();
|
|
93
93
|
});
|
|
94
94
|
it('has zero violations after keyboard interaction', function () {
|
|
@@ -97,7 +97,7 @@ describe('EuiComboBox', function () {
|
|
|
97
97
|
}));
|
|
98
98
|
cy.realPress('Tab');
|
|
99
99
|
cy.get('input[data-test-subj="comboBoxSearchInput"]').should('have.focus');
|
|
100
|
-
cy.get('
|
|
100
|
+
cy.get('[data-test-subj="titanOption"]').should('exist');
|
|
101
101
|
cy.repeatRealPress('ArrowDown');
|
|
102
102
|
cy.realPress('Enter');
|
|
103
103
|
cy.repeatRealPress('ArrowDown');
|
|
@@ -123,14 +123,14 @@ describe('EuiComboBox', function () {
|
|
|
123
123
|
}));
|
|
124
124
|
cy.realPress('Tab');
|
|
125
125
|
cy.get('input[data-test-subj="comboBoxSearchInput"]').should('have.focus');
|
|
126
|
-
cy.get('
|
|
126
|
+
cy.get('[data-test-subj="titanOption"]').should('exist');
|
|
127
127
|
cy.realPress('ArrowDown');
|
|
128
128
|
cy.realPress('ArrowDown');
|
|
129
129
|
cy.realPress('ArrowDown');
|
|
130
130
|
cy.get('input[data-test-subj="comboBoxSearchInput"]').invoke('attr', 'aria-activedescendant').should('include', 'option-2');
|
|
131
131
|
cy.realPress('Enter');
|
|
132
132
|
cy.realPress('ArrowDown');
|
|
133
|
-
cy.get('input[data-test-subj="comboBoxSearchInput"]').invoke('attr', 'aria-activedescendant').should('include', 'option-
|
|
133
|
+
cy.get('input[data-test-subj="comboBoxSearchInput"]').invoke('attr', 'aria-activedescendant').should('include', 'option-4');
|
|
134
134
|
});
|
|
135
135
|
it('sets the correct aria-activedescendant id with custom option ids', function () {
|
|
136
136
|
cy.realMount((0, _react2.jsx)(ComboBox, {
|
|
@@ -160,7 +160,7 @@ describe('EuiComboBox', function () {
|
|
|
160
160
|
cy.get('input[data-test-subj="comboBoxSearchInput"]').should('exist');
|
|
161
161
|
cy.realPress('Tab');
|
|
162
162
|
cy.get('input[data-test-subj="comboBoxSearchInput"]').should('have.focus');
|
|
163
|
-
cy.get('
|
|
163
|
+
cy.get('[data-test-subj="titanOption"]').should('exist');
|
|
164
164
|
cy.realPress('ArrowDown');
|
|
165
165
|
cy.realPress('ArrowDown');
|
|
166
166
|
cy.realPress('ArrowDown');
|
|
@@ -27,7 +27,7 @@ var _combo_box_input = require("./combo_box_input/combo_box_input");
|
|
|
27
27
|
var _combo_box_options_list = require("./combo_box_options_list");
|
|
28
28
|
var _combo_box = require("./combo_box.styles");
|
|
29
29
|
var _react2 = require("@emotion/react");
|
|
30
|
-
var _excluded = ["data-test-subj", "async", "className", "compressed", "customOptionText", "fullWidth", "id", "inputRef", "isCaseSensitive", "isClearable", "isDisabled", "isInvalid", "isLoading", "noSuggestions", "onBlur", "onChange", "onCreateOption", "onSearchChange", "options", "placeholder", "renderOption", "rowHeight", "selectedOptions", "singleSelection", "prepend", "sortMatchesBy", "delimiter", "append", "autoFocus", "truncationProps", "inputPopoverProps", "optionMatcher", "aria-label", "aria-labelledby", "aria-describedby"];
|
|
30
|
+
var _excluded = ["data-test-subj", "async", "className", "compressed", "customOptionText", "fullWidth", "id", "inputRef", "isCaseSensitive", "isClearable", "isDisabled", "isInvalid", "isLoading", "noSuggestions", "onBlur", "onChange", "onCreateOption", "onSearchChange", "options", "placeholder", "renderOption", "rowHeight", "selectedOptions", "singleSelection", "prepend", "sortMatchesBy", "delimiter", "append", "autoFocus", "onFocusBadge", "truncationProps", "inputPopoverProps", "optionMatcher", "aria-label", "aria-labelledby", "aria-describedby"];
|
|
31
31
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
32
32
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
33
33
|
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; }
|
|
@@ -93,6 +93,9 @@ var EuiComboBox = exports.EuiComboBox = /*#__PURE__*/function (_Component) {
|
|
|
93
93
|
_this.listRefInstance = ref;
|
|
94
94
|
});
|
|
95
95
|
(0, _defineProperty2.default)(_this, "setListOptionRefs", function (node, index) {
|
|
96
|
+
var current = _this.state.listOptionRefs[index];
|
|
97
|
+
// Skip updating if the ref is null (on cleanup) or didn't change
|
|
98
|
+
if (node === null || node === current) return;
|
|
96
99
|
_this.setState(function (_ref) {
|
|
97
100
|
var listOptionRefs = _ref.listOptionRefs;
|
|
98
101
|
var _listOptionRefs = listOptionRefs;
|
|
@@ -113,41 +116,32 @@ var EuiComboBox = exports.EuiComboBox = /*#__PURE__*/function (_Component) {
|
|
|
113
116
|
isListOpen: false
|
|
114
117
|
});
|
|
115
118
|
});
|
|
116
|
-
(0, _defineProperty2.default)(_this, "
|
|
117
|
-
|
|
118
|
-
if (!
|
|
119
|
-
|
|
119
|
+
(0, _defineProperty2.default)(_this, "findNextSelectableOptionIndex", function (options, startIndex) {
|
|
120
|
+
var direction = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;
|
|
121
|
+
if (!options.length) return -1;
|
|
122
|
+
var index = startIndex;
|
|
123
|
+
for (var count = 0; count < options.length; count++) {
|
|
124
|
+
var option = options[index];
|
|
125
|
+
if (!option.isGroupLabelOption && !option.disabled) {
|
|
126
|
+
return index;
|
|
127
|
+
}
|
|
128
|
+
index = (index + direction + options.length) % options.length;
|
|
120
129
|
}
|
|
130
|
+
return -1; // the remaining options can't be selected (group labels or disabled)
|
|
131
|
+
});
|
|
132
|
+
(0, _defineProperty2.default)(_this, "incrementActiveOptionIndex", function (amount) {
|
|
133
|
+
if (!_this.state.matchingOptions.length) return;
|
|
121
134
|
_this.setState(function (_ref2) {
|
|
122
135
|
var activeOptionIndex = _ref2.activeOptionIndex,
|
|
123
136
|
matchingOptions = _ref2.matchingOptions;
|
|
124
|
-
var nextActiveOptionIndex;
|
|
125
|
-
if (activeOptionIndex < 0) {
|
|
126
|
-
// If this is the beginning of the user's keyboard navigation of the menu, then we'll focus
|
|
127
|
-
// either the first or last item.
|
|
128
|
-
nextActiveOptionIndex = amount < 0 ? matchingOptions.length - 1 : 0;
|
|
129
|
-
} else {
|
|
130
|
-
nextActiveOptionIndex = activeOptionIndex + amount;
|
|
131
|
-
if (nextActiveOptionIndex < 0) {
|
|
132
|
-
nextActiveOptionIndex = matchingOptions.length - 1;
|
|
133
|
-
} else if (nextActiveOptionIndex === matchingOptions.length) {
|
|
134
|
-
nextActiveOptionIndex = 0;
|
|
135
|
-
}
|
|
136
|
-
}
|
|
137
|
-
|
|
138
|
-
// Group titles are included in option list but are not selectable
|
|
139
|
-
// Skip group title options
|
|
140
137
|
var direction = amount > 0 ? 1 : -1;
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
nextActiveOptionIndex = 0;
|
|
147
|
-
}
|
|
148
|
-
}
|
|
138
|
+
var startIndex = activeOptionIndex < 0 ?
|
|
139
|
+
// Inintial interaction: jump to first or last item
|
|
140
|
+
amount < 0 ? matchingOptions.length - 1 : 0 :
|
|
141
|
+
// Advance by amount, wrapping around
|
|
142
|
+
(activeOptionIndex + amount + matchingOptions.length) % matchingOptions.length;
|
|
149
143
|
return {
|
|
150
|
-
activeOptionIndex:
|
|
144
|
+
activeOptionIndex: _this.findNextSelectableOptionIndex(matchingOptions, startIndex, direction)
|
|
151
145
|
};
|
|
152
146
|
});
|
|
153
147
|
});
|
|
@@ -365,27 +359,36 @@ var EuiComboBox = exports.EuiComboBox = /*#__PURE__*/function (_Component) {
|
|
|
365
359
|
onChange = _this$props7.onChange,
|
|
366
360
|
selectedOptions = _this$props7.selectedOptions,
|
|
367
361
|
singleSelectionProp = _this$props7.singleSelection;
|
|
362
|
+
var _this$state2 = _this.state,
|
|
363
|
+
matchingOptions = _this$state2.matchingOptions,
|
|
364
|
+
listOptionRefs = _this$state2.listOptionRefs;
|
|
368
365
|
var singleSelection = Boolean(singleSelectionProp);
|
|
369
366
|
var changeOptions = singleSelection ? [addedOption] : selectedOptions.concat(addedOption);
|
|
370
367
|
onChange === null || onChange === void 0 || onChange(changeOptions);
|
|
371
368
|
_this.clearSearchValue();
|
|
372
|
-
_this.clearActiveOption();
|
|
373
|
-
if (!isContainerBlur) {
|
|
374
|
-
var _this$searchInputRefI2;
|
|
375
|
-
(_this$searchInputRefI2 = _this.searchInputRefInstance) === null || _this$searchInputRefI2 === void 0 || _this$searchInputRefI2.focus();
|
|
376
|
-
}
|
|
377
369
|
if (singleSelection) {
|
|
370
|
+
// List closes after single selection; return focus to the input
|
|
371
|
+
_this.clearActiveOption();
|
|
372
|
+
if (!isContainerBlur) {
|
|
373
|
+
var _this$searchInputRefI2;
|
|
374
|
+
(_this$searchInputRefI2 = _this.searchInputRefInstance) === null || _this$searchInputRefI2 === void 0 || _this$searchInputRefI2.focus();
|
|
375
|
+
}
|
|
378
376
|
requestAnimationFrame(function () {
|
|
379
377
|
return _this.closeList();
|
|
380
378
|
});
|
|
379
|
+
} else if (isContainerBlur) {
|
|
380
|
+
// User tabbed away. `onContainerBlur` will close the list. We're only cleaning up state
|
|
381
|
+
_this.clearActiveOption();
|
|
381
382
|
} else {
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
383
|
+
var currentIndex = matchingOptions.indexOf(addedOption);
|
|
384
|
+
var nextOptions = matchingOptions.filter(function (option) {
|
|
385
|
+
return option !== addedOption;
|
|
386
|
+
});
|
|
387
|
+
_this.setState({
|
|
388
|
+
listOptionRefs: listOptionRefs.slice(0, matchingOptions.length - 1),
|
|
389
|
+
activeOptionIndex: _this.findNextSelectableOptionIndex(nextOptions, Math.min(currentIndex, nextOptions.length - 1)
|
|
390
|
+
// direction defaults to 1 (forward)
|
|
391
|
+
)
|
|
389
392
|
});
|
|
390
393
|
}
|
|
391
394
|
});
|
|
@@ -493,6 +496,7 @@ var EuiComboBox = exports.EuiComboBox = /*#__PURE__*/function (_Component) {
|
|
|
493
496
|
delimiter = _this$props11.delimiter,
|
|
494
497
|
append = _this$props11.append,
|
|
495
498
|
autoFocus = _this$props11.autoFocus,
|
|
499
|
+
onFocusBadge = _this$props11.onFocusBadge,
|
|
496
500
|
truncationProps = _this$props11.truncationProps,
|
|
497
501
|
inputPopoverProps = _this$props11.inputPopoverProps,
|
|
498
502
|
optionMatcher = _this$props11.optionMatcher,
|
|
@@ -500,12 +504,12 @@ var EuiComboBox = exports.EuiComboBox = /*#__PURE__*/function (_Component) {
|
|
|
500
504
|
ariaLabelledby = _this$props11['aria-labelledby'],
|
|
501
505
|
ariaDescribedby = _this$props11['aria-describedby'],
|
|
502
506
|
rest = (0, _objectWithoutProperties2.default)(_this$props11, _excluded);
|
|
503
|
-
var _this$
|
|
504
|
-
activeOptionIndex = _this$
|
|
505
|
-
hasFocus = _this$
|
|
506
|
-
isListOpen = _this$
|
|
507
|
-
searchValue = _this$
|
|
508
|
-
matchingOptions = _this$
|
|
507
|
+
var _this$state3 = this.state,
|
|
508
|
+
activeOptionIndex = _this$state3.activeOptionIndex,
|
|
509
|
+
hasFocus = _this$state3.hasFocus,
|
|
510
|
+
isListOpen = _this$state3.isListOpen,
|
|
511
|
+
searchValue = _this$state3.searchValue,
|
|
512
|
+
matchingOptions = _this$state3.matchingOptions;
|
|
509
513
|
|
|
510
514
|
// Make sure we have a valid ID if users don't pass one as a prop
|
|
511
515
|
var inputId = id !== null && id !== void 0 ? id : this.rootId('_eui-combobox-id');
|
|
@@ -556,7 +560,8 @@ var EuiComboBox = exports.EuiComboBox = /*#__PURE__*/function (_Component) {
|
|
|
556
560
|
delimiter: delimiter,
|
|
557
561
|
getSelectedOptionForSearchValue: _matching_options.getSelectedOptionForSearchValue,
|
|
558
562
|
listboxAriaLabel: listboxAriaLabel,
|
|
559
|
-
truncationProps: truncationProps
|
|
563
|
+
truncationProps: truncationProps,
|
|
564
|
+
onFocusBadge: onFocusBadge
|
|
560
565
|
});
|
|
561
566
|
});
|
|
562
567
|
}
|
|
@@ -581,11 +586,11 @@ var EuiComboBox = exports.EuiComboBox = /*#__PURE__*/function (_Component) {
|
|
|
581
586
|
ref: _this2.comboBoxRefCallback
|
|
582
587
|
}), (0, _react2.jsx)(_popover.EuiInputPopover, (0, _extends2.default)({
|
|
583
588
|
fullWidth: fullWidth,
|
|
584
|
-
panelPaddingSize: "
|
|
589
|
+
panelPaddingSize: "s",
|
|
585
590
|
disableFocusTrap: true,
|
|
586
591
|
closeOnScroll: true
|
|
587
592
|
}, inputPopoverProps, {
|
|
588
|
-
isOpen: isListOpen,
|
|
593
|
+
isOpen: isListOpen && !noSuggestions,
|
|
589
594
|
closePopover: _this2.closeList
|
|
590
595
|
/* we don't want content changes to be announced via aria-live
|
|
591
596
|
because ComboBox uses a virtualized list that updates itself
|
|
@@ -593,7 +598,10 @@ var EuiComboBox = exports.EuiComboBox = /*#__PURE__*/function (_Component) {
|
|
|
593
598
|
"aria-live": "off",
|
|
594
599
|
input: (0, _react2.jsx)(_combo_box_input.EuiComboBoxInput, {
|
|
595
600
|
compressed: compressed,
|
|
596
|
-
focusedOptionId: _this2.hasActiveOption() ? (_this2$state$listOpti = (_this2$state$listOpti2 = _this2.state.listOptionRefs[_this2.state.activeOptionIndex]) === null || _this2$state$listOpti2 === void 0 ? void 0 : _this2$state$listOpti2.id) !== null && _this2$state$listOpti !== void 0 ? _this2$state$listOpti :
|
|
601
|
+
focusedOptionId: _this2.hasActiveOption() ? (_this2$state$listOpti = (_this2$state$listOpti2 = _this2.state.listOptionRefs[_this2.state.activeOptionIndex]) === null || _this2$state$listOpti2 === void 0 ? void 0 : _this2$state$listOpti2.id) !== null && _this2$state$listOpti !== void 0 ? _this2$state$listOpti :
|
|
602
|
+
// uses the original `options` array to ensure a stable `id`, otherwise `aria-activedescendant`
|
|
603
|
+
// loses focus on selecting an option (due to actively removing it from the list)
|
|
604
|
+
_this2.rootId("_option-".concat(_this2.props.options.indexOf(matchingOptions[activeOptionIndex]))) : undefined,
|
|
597
605
|
fullWidth: fullWidth,
|
|
598
606
|
hasSelectedOptions: selectedOptions.length > 0,
|
|
599
607
|
id: inputId,
|