@elastic/eui 115.0.0 → 116.0.0-snapshot.1778594703965
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/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/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 +39 -23
- 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/utils/in_memory.js +23 -17
- package/es/components/filter_group/filter_group.a11y.js +8 -2
- 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/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 -86
- 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/search_bar/filters/field_value_selection_filter.js +2 -1
- 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/global_styling/mixins/_helpers.js +32 -11
- package/eui.d.ts +10397 -8051
- package/i18ntokens.json +2607 -2589
- 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/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 +39 -23
- 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/utils/in_memory.js +23 -17
- package/lib/components/filter_group/filter_group.a11y.js +8 -2
- 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/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 -86
- 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/search_bar/filters/field_value_selection_filter.js +2 -1
- 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/global_styling/mixins/_helpers.js +33 -12
- 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 +38 -19
- 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/filter_group/filter_group.a11y.js +8 -2
- 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/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 -79
- 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/search_bar/filters/field_value_selection_filter.js +2 -1
- 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/global_styling/mixins/_helpers.js +32 -11
- 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 +38 -19
- 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/filter_group/filter_group.a11y.js +8 -2
- 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/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 -79
- 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/search_bar/filters/field_value_selection_filter.js +2 -1
- 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/global_styling/mixins/_helpers.js +33 -12
- package/package.json +6 -5
- 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/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 +39 -23
- 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/utils/in_memory.js +23 -17
- package/test-env/components/filter_group/filter_group.a11y.js +8 -2
- 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/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 -86
- 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/search_bar/filters/field_value_selection_filter.js +2 -1
- 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/global_styling/mixins/_helpers.js +33 -12
- 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
package/es/components/collapsible_nav_beta/_kibana_solution/collapsible_nav_kibana_solution.js
CHANGED
|
@@ -66,7 +66,6 @@ export var KibanaCollapsibleNavSolution = function KibanaCollapsibleNavSolution(
|
|
|
66
66
|
var solutionSolutionSwitcherAriaLabel = useEuiI18n('euiCollapsibleNavKibanaSolution.switcherAriaLabel', ' - click to switch to another solution');
|
|
67
67
|
var solutionSolutionGroupLabel = useEuiI18n('euiCollapsibleNavKibanaSolution.groupLabel', 'Navigate to solution');
|
|
68
68
|
var closeSolutionPopover = useCallback(function (event) {
|
|
69
|
-
var _childItem$firstEleme;
|
|
70
69
|
// Allow child items to stop the popover from being closed
|
|
71
70
|
if (event.isPropagationStopped()) return;
|
|
72
71
|
// Only listen for clicks on child items - currentTarget is the parent <ul>
|
|
@@ -75,7 +74,7 @@ export var KibanaCollapsibleNavSolution = function KibanaCollapsibleNavSolution(
|
|
|
75
74
|
// Only close the popover if the item is a clickable link or button
|
|
76
75
|
var target = event.target;
|
|
77
76
|
var childItem = target.closest('.euiListGroupItem');
|
|
78
|
-
if (['A', 'BUTTON'].includes((childItem === null || childItem === void 0
|
|
77
|
+
if (['A', 'BUTTON'].includes((childItem === null || childItem === void 0 ? void 0 : childItem.tagName) || '')) {
|
|
79
78
|
setIsSolutionSwitcherOpen(false);
|
|
80
79
|
}
|
|
81
80
|
}, []);
|
|
@@ -88,12 +87,10 @@ export var KibanaCollapsibleNavSolution = function KibanaCollapsibleNavSolution(
|
|
|
88
87
|
"data-test-subj": "kibanaSolutionSwitcherList",
|
|
89
88
|
"aria-label": solutionSolutionGroupLabel,
|
|
90
89
|
listItems: primaryItems,
|
|
91
|
-
size: "s",
|
|
92
90
|
bordered: true,
|
|
93
91
|
onClick: closeSolutionPopover
|
|
94
92
|
}), secondaryItems.length > 0 && ___EmotionJSX(React.Fragment, null, ___EmotionJSX(EuiListGroup, {
|
|
95
93
|
listItems: secondaryItems,
|
|
96
|
-
size: "s",
|
|
97
94
|
css: styles.euiCollapsibleNavKibanaSolution__secondaryItems,
|
|
98
95
|
onClick: closeSolutionPopover
|
|
99
96
|
})));
|
|
@@ -174,22 +171,28 @@ KibanaCollapsibleNavSolution.propTypes = {
|
|
|
174
171
|
"data-test-subj": PropTypes.string,
|
|
175
172
|
css: PropTypes.any,
|
|
176
173
|
/**
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
174
|
+
* Controls the disabled behavior via the native `disabled` attribute.
|
|
175
|
+
*/
|
|
176
|
+
isDisabled: PropTypes.bool,
|
|
177
|
+
/**
|
|
178
|
+
* NOTE: Beta feature, may be changed or removed in the future
|
|
179
|
+
*
|
|
180
|
+
* Changes the native `disabled` attribute to `aria-disabled` to preserve focusability.
|
|
181
|
+
* This results in a semantically disabled button without the default browser handling of the disabled state.
|
|
182
|
+
*
|
|
183
|
+
* Use e.g. when a disabled button should have a tooltip.
|
|
184
|
+
*/
|
|
185
|
+
hasAriaDisabled: PropTypes.bool,
|
|
180
186
|
/**
|
|
181
187
|
* By default the item will get the color `text`.
|
|
182
188
|
* You can customize the color of the item by passing a color name.
|
|
189
|
+
* @default 'text'
|
|
183
190
|
*/
|
|
184
191
|
color: PropTypes.any,
|
|
185
192
|
/**
|
|
186
193
|
* Apply styles indicating an item is active
|
|
187
194
|
*/
|
|
188
195
|
isActive: PropTypes.bool,
|
|
189
|
-
/**
|
|
190
|
-
* Apply styles indicating an item is disabled
|
|
191
|
-
*/
|
|
192
|
-
isDisabled: PropTypes.bool,
|
|
193
196
|
/**
|
|
194
197
|
* Make the list item label a link.
|
|
195
198
|
* While permitted, `href` and `onClick` should not be used together in most cases and may create problems.
|
|
@@ -87,7 +87,7 @@ describe('EuiComboBox', function () {
|
|
|
87
87
|
rowHeight: rowHeight
|
|
88
88
|
}));
|
|
89
89
|
cy.get('input[data-test-subj="comboBoxSearchInput"]').realClick();
|
|
90
|
-
cy.get('
|
|
90
|
+
cy.get('[data-test-subj="titanOption"]').should('exist');
|
|
91
91
|
cy.checkAxe();
|
|
92
92
|
});
|
|
93
93
|
it('has zero violations after keyboard interaction', function () {
|
|
@@ -96,7 +96,7 @@ describe('EuiComboBox', function () {
|
|
|
96
96
|
}));
|
|
97
97
|
cy.realPress('Tab');
|
|
98
98
|
cy.get('input[data-test-subj="comboBoxSearchInput"]').should('have.focus');
|
|
99
|
-
cy.get('
|
|
99
|
+
cy.get('[data-test-subj="titanOption"]').should('exist');
|
|
100
100
|
cy.repeatRealPress('ArrowDown');
|
|
101
101
|
cy.realPress('Enter');
|
|
102
102
|
cy.repeatRealPress('ArrowDown');
|
|
@@ -122,14 +122,14 @@ describe('EuiComboBox', function () {
|
|
|
122
122
|
}));
|
|
123
123
|
cy.realPress('Tab');
|
|
124
124
|
cy.get('input[data-test-subj="comboBoxSearchInput"]').should('have.focus');
|
|
125
|
-
cy.get('
|
|
125
|
+
cy.get('[data-test-subj="titanOption"]').should('exist');
|
|
126
126
|
cy.realPress('ArrowDown');
|
|
127
127
|
cy.realPress('ArrowDown');
|
|
128
128
|
cy.realPress('ArrowDown');
|
|
129
129
|
cy.get('input[data-test-subj="comboBoxSearchInput"]').invoke('attr', 'aria-activedescendant').should('include', 'option-2');
|
|
130
130
|
cy.realPress('Enter');
|
|
131
131
|
cy.realPress('ArrowDown');
|
|
132
|
-
cy.get('input[data-test-subj="comboBoxSearchInput"]').invoke('attr', 'aria-activedescendant').should('include', 'option-
|
|
132
|
+
cy.get('input[data-test-subj="comboBoxSearchInput"]').invoke('attr', 'aria-activedescendant').should('include', 'option-4');
|
|
133
133
|
});
|
|
134
134
|
it('sets the correct aria-activedescendant id with custom option ids', function () {
|
|
135
135
|
cy.realMount(___EmotionJSX(ComboBox, {
|
|
@@ -159,7 +159,7 @@ describe('EuiComboBox', function () {
|
|
|
159
159
|
cy.get('input[data-test-subj="comboBoxSearchInput"]').should('exist');
|
|
160
160
|
cy.realPress('Tab');
|
|
161
161
|
cy.get('input[data-test-subj="comboBoxSearchInput"]').should('have.focus');
|
|
162
|
-
cy.get('
|
|
162
|
+
cy.get('[data-test-subj="titanOption"]').should('exist');
|
|
163
163
|
cy.realPress('ArrowDown');
|
|
164
164
|
cy.realPress('ArrowDown');
|
|
165
165
|
cy.realPress('ArrowDown');
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
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"];
|
|
1
|
+
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"];
|
|
2
2
|
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
3
3
|
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
|
|
4
4
|
function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], t.indexOf(o) >= 0 || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
|
|
@@ -101,6 +101,9 @@ export var EuiComboBox = /*#__PURE__*/function (_Component) {
|
|
|
101
101
|
_this.listRefInstance = ref;
|
|
102
102
|
});
|
|
103
103
|
_defineProperty(_this, "setListOptionRefs", function (node, index) {
|
|
104
|
+
var current = _this.state.listOptionRefs[index];
|
|
105
|
+
// Skip updating if the ref is null (on cleanup) or didn't change
|
|
106
|
+
if (node === null || node === current) return;
|
|
104
107
|
_this.setState(function (_ref) {
|
|
105
108
|
var listOptionRefs = _ref.listOptionRefs;
|
|
106
109
|
var _listOptionRefs = listOptionRefs;
|
|
@@ -121,41 +124,32 @@ export var EuiComboBox = /*#__PURE__*/function (_Component) {
|
|
|
121
124
|
isListOpen: false
|
|
122
125
|
});
|
|
123
126
|
});
|
|
124
|
-
_defineProperty(_this, "
|
|
125
|
-
|
|
126
|
-
if (!
|
|
127
|
-
|
|
127
|
+
_defineProperty(_this, "findNextSelectableOptionIndex", function (options, startIndex) {
|
|
128
|
+
var direction = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;
|
|
129
|
+
if (!options.length) return -1;
|
|
130
|
+
var index = startIndex;
|
|
131
|
+
for (var count = 0; count < options.length; count++) {
|
|
132
|
+
var option = options[index];
|
|
133
|
+
if (!option.isGroupLabelOption && !option.disabled) {
|
|
134
|
+
return index;
|
|
135
|
+
}
|
|
136
|
+
index = (index + direction + options.length) % options.length;
|
|
128
137
|
}
|
|
138
|
+
return -1; // the remaining options can't be selected (group labels or disabled)
|
|
139
|
+
});
|
|
140
|
+
_defineProperty(_this, "incrementActiveOptionIndex", function (amount) {
|
|
141
|
+
if (!_this.state.matchingOptions.length) return;
|
|
129
142
|
_this.setState(function (_ref2) {
|
|
130
143
|
var activeOptionIndex = _ref2.activeOptionIndex,
|
|
131
144
|
matchingOptions = _ref2.matchingOptions;
|
|
132
|
-
var nextActiveOptionIndex;
|
|
133
|
-
if (activeOptionIndex < 0) {
|
|
134
|
-
// If this is the beginning of the user's keyboard navigation of the menu, then we'll focus
|
|
135
|
-
// either the first or last item.
|
|
136
|
-
nextActiveOptionIndex = amount < 0 ? matchingOptions.length - 1 : 0;
|
|
137
|
-
} else {
|
|
138
|
-
nextActiveOptionIndex = activeOptionIndex + amount;
|
|
139
|
-
if (nextActiveOptionIndex < 0) {
|
|
140
|
-
nextActiveOptionIndex = matchingOptions.length - 1;
|
|
141
|
-
} else if (nextActiveOptionIndex === matchingOptions.length) {
|
|
142
|
-
nextActiveOptionIndex = 0;
|
|
143
|
-
}
|
|
144
|
-
}
|
|
145
|
-
|
|
146
|
-
// Group titles are included in option list but are not selectable
|
|
147
|
-
// Skip group title options
|
|
148
145
|
var direction = amount > 0 ? 1 : -1;
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
nextActiveOptionIndex = 0;
|
|
155
|
-
}
|
|
156
|
-
}
|
|
146
|
+
var startIndex = activeOptionIndex < 0 ?
|
|
147
|
+
// Inintial interaction: jump to first or last item
|
|
148
|
+
amount < 0 ? matchingOptions.length - 1 : 0 :
|
|
149
|
+
// Advance by amount, wrapping around
|
|
150
|
+
(activeOptionIndex + amount + matchingOptions.length) % matchingOptions.length;
|
|
157
151
|
return {
|
|
158
|
-
activeOptionIndex:
|
|
152
|
+
activeOptionIndex: _this.findNextSelectableOptionIndex(matchingOptions, startIndex, direction)
|
|
159
153
|
};
|
|
160
154
|
});
|
|
161
155
|
});
|
|
@@ -373,27 +367,36 @@ export var EuiComboBox = /*#__PURE__*/function (_Component) {
|
|
|
373
367
|
onChange = _this$props7.onChange,
|
|
374
368
|
selectedOptions = _this$props7.selectedOptions,
|
|
375
369
|
singleSelectionProp = _this$props7.singleSelection;
|
|
370
|
+
var _this$state2 = _this.state,
|
|
371
|
+
matchingOptions = _this$state2.matchingOptions,
|
|
372
|
+
listOptionRefs = _this$state2.listOptionRefs;
|
|
376
373
|
var singleSelection = Boolean(singleSelectionProp);
|
|
377
374
|
var changeOptions = singleSelection ? [addedOption] : selectedOptions.concat(addedOption);
|
|
378
375
|
onChange === null || onChange === void 0 || onChange(changeOptions);
|
|
379
376
|
_this.clearSearchValue();
|
|
380
|
-
_this.clearActiveOption();
|
|
381
|
-
if (!isContainerBlur) {
|
|
382
|
-
var _this$searchInputRefI2;
|
|
383
|
-
(_this$searchInputRefI2 = _this.searchInputRefInstance) === null || _this$searchInputRefI2 === void 0 || _this$searchInputRefI2.focus();
|
|
384
|
-
}
|
|
385
377
|
if (singleSelection) {
|
|
378
|
+
// List closes after single selection; return focus to the input
|
|
379
|
+
_this.clearActiveOption();
|
|
380
|
+
if (!isContainerBlur) {
|
|
381
|
+
var _this$searchInputRefI2;
|
|
382
|
+
(_this$searchInputRefI2 = _this.searchInputRefInstance) === null || _this$searchInputRefI2 === void 0 || _this$searchInputRefI2.focus();
|
|
383
|
+
}
|
|
386
384
|
requestAnimationFrame(function () {
|
|
387
385
|
return _this.closeList();
|
|
388
386
|
});
|
|
387
|
+
} else if (isContainerBlur) {
|
|
388
|
+
// User tabbed away. `onContainerBlur` will close the list. We're only cleaning up state
|
|
389
|
+
_this.clearActiveOption();
|
|
389
390
|
} else {
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
391
|
+
var currentIndex = matchingOptions.indexOf(addedOption);
|
|
392
|
+
var nextOptions = matchingOptions.filter(function (option) {
|
|
393
|
+
return option !== addedOption;
|
|
394
|
+
});
|
|
395
|
+
_this.setState({
|
|
396
|
+
listOptionRefs: listOptionRefs.slice(0, matchingOptions.length - 1),
|
|
397
|
+
activeOptionIndex: _this.findNextSelectableOptionIndex(nextOptions, Math.min(currentIndex, nextOptions.length - 1)
|
|
398
|
+
// direction defaults to 1 (forward)
|
|
399
|
+
)
|
|
397
400
|
});
|
|
398
401
|
}
|
|
399
402
|
});
|
|
@@ -501,6 +504,7 @@ export var EuiComboBox = /*#__PURE__*/function (_Component) {
|
|
|
501
504
|
delimiter = _this$props11.delimiter,
|
|
502
505
|
append = _this$props11.append,
|
|
503
506
|
autoFocus = _this$props11.autoFocus,
|
|
507
|
+
onFocusBadge = _this$props11.onFocusBadge,
|
|
504
508
|
truncationProps = _this$props11.truncationProps,
|
|
505
509
|
inputPopoverProps = _this$props11.inputPopoverProps,
|
|
506
510
|
optionMatcher = _this$props11.optionMatcher,
|
|
@@ -508,12 +512,12 @@ export var EuiComboBox = /*#__PURE__*/function (_Component) {
|
|
|
508
512
|
ariaLabelledby = _this$props11['aria-labelledby'],
|
|
509
513
|
ariaDescribedby = _this$props11['aria-describedby'],
|
|
510
514
|
rest = _objectWithoutProperties(_this$props11, _excluded);
|
|
511
|
-
var _this$
|
|
512
|
-
activeOptionIndex = _this$
|
|
513
|
-
hasFocus = _this$
|
|
514
|
-
isListOpen = _this$
|
|
515
|
-
searchValue = _this$
|
|
516
|
-
matchingOptions = _this$
|
|
515
|
+
var _this$state3 = this.state,
|
|
516
|
+
activeOptionIndex = _this$state3.activeOptionIndex,
|
|
517
|
+
hasFocus = _this$state3.hasFocus,
|
|
518
|
+
isListOpen = _this$state3.isListOpen,
|
|
519
|
+
searchValue = _this$state3.searchValue,
|
|
520
|
+
matchingOptions = _this$state3.matchingOptions;
|
|
517
521
|
|
|
518
522
|
// Make sure we have a valid ID if users don't pass one as a prop
|
|
519
523
|
var inputId = id !== null && id !== void 0 ? id : this.rootId('_eui-combobox-id');
|
|
@@ -564,7 +568,8 @@ export var EuiComboBox = /*#__PURE__*/function (_Component) {
|
|
|
564
568
|
delimiter: delimiter,
|
|
565
569
|
getSelectedOptionForSearchValue: getSelectedOptionForSearchValue,
|
|
566
570
|
listboxAriaLabel: listboxAriaLabel,
|
|
567
|
-
truncationProps: truncationProps
|
|
571
|
+
truncationProps: truncationProps,
|
|
572
|
+
onFocusBadge: onFocusBadge
|
|
568
573
|
});
|
|
569
574
|
});
|
|
570
575
|
}
|
|
@@ -589,11 +594,11 @@ export var EuiComboBox = /*#__PURE__*/function (_Component) {
|
|
|
589
594
|
ref: _this2.comboBoxRefCallback
|
|
590
595
|
}), ___EmotionJSX(EuiInputPopover, _extends({
|
|
591
596
|
fullWidth: fullWidth,
|
|
592
|
-
panelPaddingSize: "
|
|
597
|
+
panelPaddingSize: "s",
|
|
593
598
|
disableFocusTrap: true,
|
|
594
599
|
closeOnScroll: true
|
|
595
600
|
}, inputPopoverProps, {
|
|
596
|
-
isOpen: isListOpen,
|
|
601
|
+
isOpen: isListOpen && !noSuggestions,
|
|
597
602
|
closePopover: _this2.closeList
|
|
598
603
|
/* we don't want content changes to be announced via aria-live
|
|
599
604
|
because ComboBox uses a virtualized list that updates itself
|
|
@@ -601,7 +606,10 @@ export var EuiComboBox = /*#__PURE__*/function (_Component) {
|
|
|
601
606
|
"aria-live": "off",
|
|
602
607
|
input: ___EmotionJSX(EuiComboBoxInput, {
|
|
603
608
|
compressed: compressed,
|
|
604
|
-
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 :
|
|
609
|
+
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 :
|
|
610
|
+
// uses the original `options` array to ensure a stable `id`, otherwise `aria-activedescendant`
|
|
611
|
+
// loses focus on selecting an option (due to actively removing it from the list)
|
|
612
|
+
_this2.rootId("_option-".concat(_this2.props.options.indexOf(matchingOptions[activeOptionIndex]))) : undefined,
|
|
605
613
|
fullWidth: fullWidth,
|
|
606
614
|
hasSelectedOptions: selectedOptions.length > 0,
|
|
607
615
|
id: inputId,
|
|
@@ -791,7 +799,7 @@ EuiComboBox.propTypes = {
|
|
|
791
799
|
"aria-labelledby": PropTypes.string,
|
|
792
800
|
/**
|
|
793
801
|
* By default, EuiComboBox will truncate option labels at the end of
|
|
794
|
-
* the string. You can
|
|
802
|
+
* the string. You can pass in a custom truncation configuration that
|
|
795
803
|
* accepts any [EuiTextTruncate](/#/utilities/text-truncation) prop,
|
|
796
804
|
* except for `text` and `children`.
|
|
797
805
|
*
|