@elastic/eui 115.0.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/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 +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/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 +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/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 +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/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 +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/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 +4 -4
- 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 +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/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/lib/components/collapsible_nav_beta/_kibana_solution/collapsible_nav_kibana_solution.js
CHANGED
|
@@ -74,7 +74,6 @@ var KibanaCollapsibleNavSolution = exports.KibanaCollapsibleNavSolution = functi
|
|
|
74
74
|
var solutionSolutionSwitcherAriaLabel = (0, _i18n.useEuiI18n)('euiCollapsibleNavKibanaSolution.switcherAriaLabel', ' - click to switch to another solution');
|
|
75
75
|
var solutionSolutionGroupLabel = (0, _i18n.useEuiI18n)('euiCollapsibleNavKibanaSolution.groupLabel', 'Navigate to solution');
|
|
76
76
|
var closeSolutionPopover = (0, _react.useCallback)(function (event) {
|
|
77
|
-
var _childItem$firstEleme;
|
|
78
77
|
// Allow child items to stop the popover from being closed
|
|
79
78
|
if (event.isPropagationStopped()) return;
|
|
80
79
|
// Only listen for clicks on child items - currentTarget is the parent <ul>
|
|
@@ -83,7 +82,7 @@ var KibanaCollapsibleNavSolution = exports.KibanaCollapsibleNavSolution = functi
|
|
|
83
82
|
// Only close the popover if the item is a clickable link or button
|
|
84
83
|
var target = event.target;
|
|
85
84
|
var childItem = target.closest('.euiListGroupItem');
|
|
86
|
-
if (['A', 'BUTTON'].includes((childItem === null || childItem === void 0
|
|
85
|
+
if (['A', 'BUTTON'].includes((childItem === null || childItem === void 0 ? void 0 : childItem.tagName) || '')) {
|
|
87
86
|
setIsSolutionSwitcherOpen(false);
|
|
88
87
|
}
|
|
89
88
|
}, []);
|
|
@@ -96,12 +95,10 @@ var KibanaCollapsibleNavSolution = exports.KibanaCollapsibleNavSolution = functi
|
|
|
96
95
|
"data-test-subj": "kibanaSolutionSwitcherList",
|
|
97
96
|
"aria-label": solutionSolutionGroupLabel,
|
|
98
97
|
listItems: primaryItems,
|
|
99
|
-
size: "s",
|
|
100
98
|
bordered: true,
|
|
101
99
|
onClick: closeSolutionPopover
|
|
102
100
|
}), secondaryItems.length > 0 && (0, _react2.jsx)(_react.default.Fragment, null, (0, _react2.jsx)(_list_group.EuiListGroup, {
|
|
103
101
|
listItems: secondaryItems,
|
|
104
|
-
size: "s",
|
|
105
102
|
css: styles.euiCollapsibleNavKibanaSolution__secondaryItems,
|
|
106
103
|
onClick: closeSolutionPopover
|
|
107
104
|
})));
|
|
@@ -182,22 +179,28 @@ KibanaCollapsibleNavSolution.propTypes = {
|
|
|
182
179
|
"data-test-subj": _propTypes.default.string,
|
|
183
180
|
css: _propTypes.default.any,
|
|
184
181
|
/**
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
182
|
+
* Controls the disabled behavior via the native `disabled` attribute.
|
|
183
|
+
*/
|
|
184
|
+
isDisabled: _propTypes.default.bool,
|
|
185
|
+
/**
|
|
186
|
+
* NOTE: Beta feature, may be changed or removed in the future
|
|
187
|
+
*
|
|
188
|
+
* Changes the native `disabled` attribute to `aria-disabled` to preserve focusability.
|
|
189
|
+
* This results in a semantically disabled button without the default browser handling of the disabled state.
|
|
190
|
+
*
|
|
191
|
+
* Use e.g. when a disabled button should have a tooltip.
|
|
192
|
+
*/
|
|
193
|
+
hasAriaDisabled: _propTypes.default.bool,
|
|
188
194
|
/**
|
|
189
195
|
* By default the item will get the color `text`.
|
|
190
196
|
* You can customize the color of the item by passing a color name.
|
|
197
|
+
* @default 'text'
|
|
191
198
|
*/
|
|
192
199
|
color: _propTypes.default.any,
|
|
193
200
|
/**
|
|
194
201
|
* Apply styles indicating an item is active
|
|
195
202
|
*/
|
|
196
203
|
isActive: _propTypes.default.bool,
|
|
197
|
-
/**
|
|
198
|
-
* Apply styles indicating an item is disabled
|
|
199
|
-
*/
|
|
200
|
-
isDisabled: _propTypes.default.bool,
|
|
201
204
|
/**
|
|
202
205
|
* Make the list item label a link.
|
|
203
206
|
* While permitted, `href` and `onClick` should not be used together in most cases and may create problems.
|
|
@@ -100,7 +100,6 @@ var EuiColorPalettePicker = exports.EuiColorPalettePicker = function EuiColorPal
|
|
|
100
100
|
options: paletteOptions,
|
|
101
101
|
valueOfSelected: valueOfSelected,
|
|
102
102
|
onChange: onChange,
|
|
103
|
-
hasDividers: true,
|
|
104
103
|
isInvalid: isInvalid,
|
|
105
104
|
compressed: compressed,
|
|
106
105
|
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');
|
|
@@ -17,7 +17,7 @@ var _combo_box_input = require("./combo_box_input/combo_box_input");
|
|
|
17
17
|
var _combo_box_options_list = require("./combo_box_options_list");
|
|
18
18
|
var _combo_box = require("./combo_box.styles");
|
|
19
19
|
var _react2 = require("@emotion/react");
|
|
20
|
-
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"];
|
|
20
|
+
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"];
|
|
21
21
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
22
22
|
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); }
|
|
23
23
|
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; }
|
|
@@ -105,6 +105,9 @@ var EuiComboBox = exports.EuiComboBox = /*#__PURE__*/function (_Component) {
|
|
|
105
105
|
_this.listRefInstance = ref;
|
|
106
106
|
});
|
|
107
107
|
_defineProperty(_this, "setListOptionRefs", function (node, index) {
|
|
108
|
+
var current = _this.state.listOptionRefs[index];
|
|
109
|
+
// Skip updating if the ref is null (on cleanup) or didn't change
|
|
110
|
+
if (node === null || node === current) return;
|
|
108
111
|
_this.setState(function (_ref) {
|
|
109
112
|
var listOptionRefs = _ref.listOptionRefs;
|
|
110
113
|
var _listOptionRefs = listOptionRefs;
|
|
@@ -125,41 +128,32 @@ var EuiComboBox = exports.EuiComboBox = /*#__PURE__*/function (_Component) {
|
|
|
125
128
|
isListOpen: false
|
|
126
129
|
});
|
|
127
130
|
});
|
|
128
|
-
_defineProperty(_this, "
|
|
129
|
-
|
|
130
|
-
if (!
|
|
131
|
-
|
|
131
|
+
_defineProperty(_this, "findNextSelectableOptionIndex", function (options, startIndex) {
|
|
132
|
+
var direction = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;
|
|
133
|
+
if (!options.length) return -1;
|
|
134
|
+
var index = startIndex;
|
|
135
|
+
for (var count = 0; count < options.length; count++) {
|
|
136
|
+
var option = options[index];
|
|
137
|
+
if (!option.isGroupLabelOption && !option.disabled) {
|
|
138
|
+
return index;
|
|
139
|
+
}
|
|
140
|
+
index = (index + direction + options.length) % options.length;
|
|
132
141
|
}
|
|
142
|
+
return -1; // the remaining options can't be selected (group labels or disabled)
|
|
143
|
+
});
|
|
144
|
+
_defineProperty(_this, "incrementActiveOptionIndex", function (amount) {
|
|
145
|
+
if (!_this.state.matchingOptions.length) return;
|
|
133
146
|
_this.setState(function (_ref2) {
|
|
134
147
|
var activeOptionIndex = _ref2.activeOptionIndex,
|
|
135
148
|
matchingOptions = _ref2.matchingOptions;
|
|
136
|
-
var nextActiveOptionIndex;
|
|
137
|
-
if (activeOptionIndex < 0) {
|
|
138
|
-
// If this is the beginning of the user's keyboard navigation of the menu, then we'll focus
|
|
139
|
-
// either the first or last item.
|
|
140
|
-
nextActiveOptionIndex = amount < 0 ? matchingOptions.length - 1 : 0;
|
|
141
|
-
} else {
|
|
142
|
-
nextActiveOptionIndex = activeOptionIndex + amount;
|
|
143
|
-
if (nextActiveOptionIndex < 0) {
|
|
144
|
-
nextActiveOptionIndex = matchingOptions.length - 1;
|
|
145
|
-
} else if (nextActiveOptionIndex === matchingOptions.length) {
|
|
146
|
-
nextActiveOptionIndex = 0;
|
|
147
|
-
}
|
|
148
|
-
}
|
|
149
|
-
|
|
150
|
-
// Group titles are included in option list but are not selectable
|
|
151
|
-
// Skip group title options
|
|
152
149
|
var direction = amount > 0 ? 1 : -1;
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
nextActiveOptionIndex = 0;
|
|
159
|
-
}
|
|
160
|
-
}
|
|
150
|
+
var startIndex = activeOptionIndex < 0 ?
|
|
151
|
+
// Inintial interaction: jump to first or last item
|
|
152
|
+
amount < 0 ? matchingOptions.length - 1 : 0 :
|
|
153
|
+
// Advance by amount, wrapping around
|
|
154
|
+
(activeOptionIndex + amount + matchingOptions.length) % matchingOptions.length;
|
|
161
155
|
return {
|
|
162
|
-
activeOptionIndex:
|
|
156
|
+
activeOptionIndex: _this.findNextSelectableOptionIndex(matchingOptions, startIndex, direction)
|
|
163
157
|
};
|
|
164
158
|
});
|
|
165
159
|
});
|
|
@@ -377,27 +371,36 @@ var EuiComboBox = exports.EuiComboBox = /*#__PURE__*/function (_Component) {
|
|
|
377
371
|
onChange = _this$props7.onChange,
|
|
378
372
|
selectedOptions = _this$props7.selectedOptions,
|
|
379
373
|
singleSelectionProp = _this$props7.singleSelection;
|
|
374
|
+
var _this$state2 = _this.state,
|
|
375
|
+
matchingOptions = _this$state2.matchingOptions,
|
|
376
|
+
listOptionRefs = _this$state2.listOptionRefs;
|
|
380
377
|
var singleSelection = Boolean(singleSelectionProp);
|
|
381
378
|
var changeOptions = singleSelection ? [addedOption] : selectedOptions.concat(addedOption);
|
|
382
379
|
onChange === null || onChange === void 0 || onChange(changeOptions);
|
|
383
380
|
_this.clearSearchValue();
|
|
384
|
-
_this.clearActiveOption();
|
|
385
|
-
if (!isContainerBlur) {
|
|
386
|
-
var _this$searchInputRefI2;
|
|
387
|
-
(_this$searchInputRefI2 = _this.searchInputRefInstance) === null || _this$searchInputRefI2 === void 0 || _this$searchInputRefI2.focus();
|
|
388
|
-
}
|
|
389
381
|
if (singleSelection) {
|
|
382
|
+
// List closes after single selection; return focus to the input
|
|
383
|
+
_this.clearActiveOption();
|
|
384
|
+
if (!isContainerBlur) {
|
|
385
|
+
var _this$searchInputRefI2;
|
|
386
|
+
(_this$searchInputRefI2 = _this.searchInputRefInstance) === null || _this$searchInputRefI2 === void 0 || _this$searchInputRefI2.focus();
|
|
387
|
+
}
|
|
390
388
|
requestAnimationFrame(function () {
|
|
391
389
|
return _this.closeList();
|
|
392
390
|
});
|
|
391
|
+
} else if (isContainerBlur) {
|
|
392
|
+
// User tabbed away. `onContainerBlur` will close the list. We're only cleaning up state
|
|
393
|
+
_this.clearActiveOption();
|
|
393
394
|
} else {
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
395
|
+
var currentIndex = matchingOptions.indexOf(addedOption);
|
|
396
|
+
var nextOptions = matchingOptions.filter(function (option) {
|
|
397
|
+
return option !== addedOption;
|
|
398
|
+
});
|
|
399
|
+
_this.setState({
|
|
400
|
+
listOptionRefs: listOptionRefs.slice(0, matchingOptions.length - 1),
|
|
401
|
+
activeOptionIndex: _this.findNextSelectableOptionIndex(nextOptions, Math.min(currentIndex, nextOptions.length - 1)
|
|
402
|
+
// direction defaults to 1 (forward)
|
|
403
|
+
)
|
|
401
404
|
});
|
|
402
405
|
}
|
|
403
406
|
});
|
|
@@ -505,6 +508,7 @@ var EuiComboBox = exports.EuiComboBox = /*#__PURE__*/function (_Component) {
|
|
|
505
508
|
delimiter = _this$props11.delimiter,
|
|
506
509
|
append = _this$props11.append,
|
|
507
510
|
autoFocus = _this$props11.autoFocus,
|
|
511
|
+
onFocusBadge = _this$props11.onFocusBadge,
|
|
508
512
|
truncationProps = _this$props11.truncationProps,
|
|
509
513
|
inputPopoverProps = _this$props11.inputPopoverProps,
|
|
510
514
|
optionMatcher = _this$props11.optionMatcher,
|
|
@@ -512,12 +516,12 @@ var EuiComboBox = exports.EuiComboBox = /*#__PURE__*/function (_Component) {
|
|
|
512
516
|
ariaLabelledby = _this$props11['aria-labelledby'],
|
|
513
517
|
ariaDescribedby = _this$props11['aria-describedby'],
|
|
514
518
|
rest = _objectWithoutProperties(_this$props11, _excluded);
|
|
515
|
-
var _this$
|
|
516
|
-
activeOptionIndex = _this$
|
|
517
|
-
hasFocus = _this$
|
|
518
|
-
isListOpen = _this$
|
|
519
|
-
searchValue = _this$
|
|
520
|
-
matchingOptions = _this$
|
|
519
|
+
var _this$state3 = this.state,
|
|
520
|
+
activeOptionIndex = _this$state3.activeOptionIndex,
|
|
521
|
+
hasFocus = _this$state3.hasFocus,
|
|
522
|
+
isListOpen = _this$state3.isListOpen,
|
|
523
|
+
searchValue = _this$state3.searchValue,
|
|
524
|
+
matchingOptions = _this$state3.matchingOptions;
|
|
521
525
|
|
|
522
526
|
// Make sure we have a valid ID if users don't pass one as a prop
|
|
523
527
|
var inputId = id !== null && id !== void 0 ? id : this.rootId('_eui-combobox-id');
|
|
@@ -568,7 +572,8 @@ var EuiComboBox = exports.EuiComboBox = /*#__PURE__*/function (_Component) {
|
|
|
568
572
|
delimiter: delimiter,
|
|
569
573
|
getSelectedOptionForSearchValue: _matching_options.getSelectedOptionForSearchValue,
|
|
570
574
|
listboxAriaLabel: listboxAriaLabel,
|
|
571
|
-
truncationProps: truncationProps
|
|
575
|
+
truncationProps: truncationProps,
|
|
576
|
+
onFocusBadge: onFocusBadge
|
|
572
577
|
});
|
|
573
578
|
});
|
|
574
579
|
}
|
|
@@ -593,11 +598,11 @@ var EuiComboBox = exports.EuiComboBox = /*#__PURE__*/function (_Component) {
|
|
|
593
598
|
ref: _this2.comboBoxRefCallback
|
|
594
599
|
}), (0, _react2.jsx)(_popover.EuiInputPopover, _extends({
|
|
595
600
|
fullWidth: fullWidth,
|
|
596
|
-
panelPaddingSize: "
|
|
601
|
+
panelPaddingSize: "s",
|
|
597
602
|
disableFocusTrap: true,
|
|
598
603
|
closeOnScroll: true
|
|
599
604
|
}, inputPopoverProps, {
|
|
600
|
-
isOpen: isListOpen,
|
|
605
|
+
isOpen: isListOpen && !noSuggestions,
|
|
601
606
|
closePopover: _this2.closeList
|
|
602
607
|
/* we don't want content changes to be announced via aria-live
|
|
603
608
|
because ComboBox uses a virtualized list that updates itself
|
|
@@ -605,7 +610,10 @@ var EuiComboBox = exports.EuiComboBox = /*#__PURE__*/function (_Component) {
|
|
|
605
610
|
"aria-live": "off",
|
|
606
611
|
input: (0, _react2.jsx)(_combo_box_input.EuiComboBoxInput, {
|
|
607
612
|
compressed: compressed,
|
|
608
|
-
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 :
|
|
613
|
+
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 :
|
|
614
|
+
// uses the original `options` array to ensure a stable `id`, otherwise `aria-activedescendant`
|
|
615
|
+
// loses focus on selecting an option (due to actively removing it from the list)
|
|
616
|
+
_this2.rootId("_option-".concat(_this2.props.options.indexOf(matchingOptions[activeOptionIndex]))) : undefined,
|
|
609
617
|
fullWidth: fullWidth,
|
|
610
618
|
hasSelectedOptions: selectedOptions.length > 0,
|
|
611
619
|
id: inputId,
|
|
@@ -795,7 +803,7 @@ EuiComboBox.propTypes = {
|
|
|
795
803
|
"aria-labelledby": _propTypes.default.string,
|
|
796
804
|
/**
|
|
797
805
|
* By default, EuiComboBox will truncate option labels at the end of
|
|
798
|
-
* the string. You can
|
|
806
|
+
* the string. You can pass in a custom truncation configuration that
|
|
799
807
|
* accepts any [EuiTextTruncate](/#/utilities/text-truncation) prop,
|
|
800
808
|
* except for `text` and `children`.
|
|
801
809
|
*
|