@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
|
@@ -8,8 +8,8 @@ import _inherits from "@babel/runtime/helpers/inherits";
|
|
|
8
8
|
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
9
9
|
var _excluded = ["isSeparator", "key"],
|
|
10
10
|
_excluded2 = ["panel", "name", "key", "icon", "onClick"],
|
|
11
|
-
_excluded3 = ["id", "title", "items", "content", "width", "initialFocusedItemIndex"
|
|
12
|
-
_excluded4 = ["stylesMemoizer", "panels", "onPanelChange", "className", "initialPanelId", "
|
|
11
|
+
_excluded3 = ["id", "title", "items", "content", "width", "initialFocusedItemIndex"],
|
|
12
|
+
_excluded4 = ["stylesMemoizer", "panels", "onPanelChange", "className", "initialPanelId", "height"];
|
|
13
13
|
function _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }
|
|
14
14
|
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
|
|
15
15
|
/*
|
|
@@ -28,7 +28,6 @@ import { EuiContextMenuPanel } from './context_menu_panel';
|
|
|
28
28
|
import { EuiContextMenuItem } from './context_menu_item';
|
|
29
29
|
import { euiContextMenuStyles } from './context_menu.styles';
|
|
30
30
|
import { jsx as ___EmotionJSX } from "@emotion/react";
|
|
31
|
-
export var SIZES = ['s', 'm'];
|
|
32
31
|
var isItemSeparator = function isItemSeparator(item) {
|
|
33
32
|
return item.isSeparator === true;
|
|
34
33
|
};
|
|
@@ -141,10 +140,11 @@ export var EuiContextMenuClass = /*#__PURE__*/function (_Component) {
|
|
|
141
140
|
_defineProperty(_this, "mapIdsToRenderedItems", function () {
|
|
142
141
|
var panels = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
|
143
142
|
var idToRenderedItemsMap = {};
|
|
143
|
+
var idToPanelMap = mapIdsToPanels(panels);
|
|
144
144
|
|
|
145
145
|
// Pre-rendering the items lets us check reference equality inside of EuiContextMenuPanel.
|
|
146
146
|
panels.forEach(function (panel) {
|
|
147
|
-
idToRenderedItemsMap[panel.id] = _this.renderItems(panel.items);
|
|
147
|
+
idToRenderedItemsMap[panel.id] = _this.renderItems(panel.items, idToPanelMap);
|
|
148
148
|
});
|
|
149
149
|
return idToRenderedItemsMap;
|
|
150
150
|
});
|
|
@@ -194,6 +194,7 @@ export var EuiContextMenuClass = /*#__PURE__*/function (_Component) {
|
|
|
194
194
|
value: function renderItems() {
|
|
195
195
|
var _this2 = this;
|
|
196
196
|
var items = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
|
197
|
+
var idToPanelMap = arguments.length > 1 ? arguments[1] : undefined;
|
|
197
198
|
return items.map(function (item, index) {
|
|
198
199
|
if (item.renderItem) {
|
|
199
200
|
var _item$key;
|
|
@@ -208,7 +209,8 @@ export var EuiContextMenuClass = /*#__PURE__*/function (_Component) {
|
|
|
208
209
|
_rest = _objectWithoutProperties(item, _excluded);
|
|
209
210
|
return ___EmotionJSX(EuiHorizontalRule, _extends({
|
|
210
211
|
key: _key,
|
|
211
|
-
margin: "
|
|
212
|
+
margin: "xs",
|
|
213
|
+
role: "separator"
|
|
212
214
|
}, _rest));
|
|
213
215
|
}
|
|
214
216
|
var panel = item.panel,
|
|
@@ -217,6 +219,9 @@ export var EuiContextMenuClass = /*#__PURE__*/function (_Component) {
|
|
|
217
219
|
icon = item.icon,
|
|
218
220
|
onClick = item.onClick,
|
|
219
221
|
rest = _objectWithoutProperties(item, _excluded2);
|
|
222
|
+
var targetPanel = panel != null ? idToPanelMap[String(panel)] : undefined;
|
|
223
|
+
var ariaHasPopup = panel == null || targetPanel == null ? undefined : targetPanel && Array.isArray(targetPanel.items) && targetPanel.items.length > 0 ? 'menu' : 'true'; // for custom content (no items) we shouldn't indicate it as "menu"
|
|
224
|
+
|
|
220
225
|
var onClickHandler = panel ? function (event) {
|
|
221
226
|
if (onClick && event) {
|
|
222
227
|
event.persist();
|
|
@@ -234,7 +239,8 @@ export var EuiContextMenuClass = /*#__PURE__*/function (_Component) {
|
|
|
234
239
|
key: key || (typeof name === 'string' ? name : undefined) || index,
|
|
235
240
|
icon: icon,
|
|
236
241
|
onClick: onClickHandler,
|
|
237
|
-
hasPanel: Boolean(panel)
|
|
242
|
+
hasPanel: Boolean(panel),
|
|
243
|
+
"aria-haspopup": ariaHasPopup
|
|
238
244
|
}, rest), name);
|
|
239
245
|
});
|
|
240
246
|
}
|
|
@@ -252,7 +258,6 @@ export var EuiContextMenuClass = /*#__PURE__*/function (_Component) {
|
|
|
252
258
|
content = panel.content,
|
|
253
259
|
_width = panel.width,
|
|
254
260
|
initialFocusedItemIndex = panel.initialFocusedItemIndex,
|
|
255
|
-
_size = panel.size,
|
|
256
261
|
rest = _objectWithoutProperties(panel, _excluded3);
|
|
257
262
|
|
|
258
263
|
// As above, we need to wait for EuiOutsideClickDetector to complete its logic before
|
|
@@ -269,7 +274,7 @@ export var EuiContextMenuClass = /*#__PURE__*/function (_Component) {
|
|
|
269
274
|
};
|
|
270
275
|
return ___EmotionJSX(EuiContextMenuPanel, _extends({
|
|
271
276
|
key: panelId,
|
|
272
|
-
|
|
277
|
+
height: this.props.height,
|
|
273
278
|
css: cssStyles,
|
|
274
279
|
onHeightChange: transitionType === 'in' ? this.onIncomingPanelHeightChange : undefined,
|
|
275
280
|
onTransitionComplete: transitionType === 'out' ? this.onOutGoingPanelTransitionComplete : undefined,
|
|
@@ -293,7 +298,7 @@ export var EuiContextMenuClass = /*#__PURE__*/function (_Component) {
|
|
|
293
298
|
onPanelChange = _this$props2.onPanelChange,
|
|
294
299
|
className = _this$props2.className,
|
|
295
300
|
initialPanelId = _this$props2.initialPanelId,
|
|
296
|
-
|
|
301
|
+
height = _this$props2.height,
|
|
297
302
|
rest = _objectWithoutProperties(_this$props2, _excluded4);
|
|
298
303
|
var incomingPanel = this.renderPanel(this.state.incomingPanelId, 'in');
|
|
299
304
|
var outgoingPanel;
|
|
@@ -303,11 +308,12 @@ export var EuiContextMenuClass = /*#__PURE__*/function (_Component) {
|
|
|
303
308
|
var width = this.state.idToPanelMap[this.state.incomingPanelId] && this.state.idToPanelMap[this.state.incomingPanelId].width ? this.state.idToPanelMap[this.state.incomingPanelId].width : undefined;
|
|
304
309
|
var classes = classNames('euiContextMenu', className);
|
|
305
310
|
var styles = stylesMemoizer(euiContextMenuStyles);
|
|
311
|
+
var cssStyles = [styles.euiContextMenu, height && styles.fixedHeight];
|
|
306
312
|
return ___EmotionJSX("div", _extends({
|
|
307
|
-
css:
|
|
313
|
+
css: cssStyles,
|
|
308
314
|
className: classes,
|
|
309
315
|
style: {
|
|
310
|
-
height: this.state.height,
|
|
316
|
+
height: height !== null && height !== void 0 ? height : this.state.height,
|
|
311
317
|
width: width
|
|
312
318
|
}
|
|
313
319
|
}, rest), outgoingPanel, incomingPanel);
|
|
@@ -331,7 +337,6 @@ export var EuiContextMenuClass = /*#__PURE__*/function (_Component) {
|
|
|
331
337
|
}]);
|
|
332
338
|
}(Component);
|
|
333
339
|
_defineProperty(EuiContextMenuClass, "defaultProps", {
|
|
334
|
-
panels: []
|
|
335
|
-
size: 'm'
|
|
340
|
+
panels: []
|
|
336
341
|
});
|
|
337
342
|
export var EuiContextMenu = withEuiStylesMemoizer(EuiContextMenuClass);
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
*/
|
|
8
8
|
|
|
9
9
|
import { css } from '@emotion/react';
|
|
10
|
-
import { logicalCSS, mathWithUnits, euiCanAnimate } from '../../global_styling';
|
|
10
|
+
import { logicalCSS, mathWithUnits, euiCanAnimate, euiYScrollWithShadows } from '../../global_styling';
|
|
11
11
|
export var euiContextMenuVariables = function euiContextMenuVariables(_ref) {
|
|
12
12
|
var euiTheme = _ref.euiTheme;
|
|
13
13
|
return {
|
|
@@ -21,6 +21,9 @@ export var euiContextMenuStyles = function euiContextMenuStyles(euiThemeContext)
|
|
|
21
21
|
var _euiContextMenuVariab = euiContextMenuVariables(euiThemeContext),
|
|
22
22
|
panelWidth = _euiContextMenuVariab.panelWidth;
|
|
23
23
|
return {
|
|
24
|
-
euiContextMenu: /*#__PURE__*/css(logicalCSS('width', panelWidth), " ", logicalCSS('max-width', '100%'), " position:relative;overflow:hidden;border-radius:", euiTheme.border.radius.medium, ";", euiCanAnimate, "{transition:height ", euiTheme.animation.fast, " ", euiTheme.animation.resistance, ";};label:euiContextMenu;")
|
|
24
|
+
euiContextMenu: /*#__PURE__*/css(logicalCSS('width', panelWidth), " ", logicalCSS('max-width', '100%'), " position:relative;overflow:hidden;border-radius:", euiTheme.border.radius.medium, ";", euiCanAnimate, "{transition:height ", euiTheme.animation.fast, " ", euiTheme.animation.resistance, ";};label:euiContextMenu;"),
|
|
25
|
+
fixedHeight: /*#__PURE__*/css(".euiContextMenuPanel{display:flex;flex-direction:column;", logicalCSS('height', '100%'), ";}.euiContextMenuPanel__list{display:block;flex:1 1 0;", euiYScrollWithShadows(euiThemeContext, {
|
|
26
|
+
hasAnimatedOverflowShadow: true
|
|
27
|
+
}), ";};label:fixedHeight;")
|
|
25
28
|
};
|
|
26
29
|
};
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/extends";
|
|
2
|
+
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
2
3
|
import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
|
|
3
|
-
var _excluded = ["children", "className", "hasPanel", "icon", "buttonRef", "disabled", "layoutAlign", "toolTipContent", "toolTipProps", "href", "target", "rel", "
|
|
4
|
+
var _excluded = ["children", "className", "hasPanel", "icon", "buttonRef", "disabled", "layoutAlign", "toolTipContent", "toolTipProps", "href", "target", "rel", "color", "external"];
|
|
5
|
+
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; }
|
|
6
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
4
7
|
/*
|
|
5
8
|
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
|
|
6
9
|
* or more contributor license agreements. Licensed under the Elastic License
|
|
@@ -15,10 +18,9 @@ import { useEuiMemoizedStyles, getSecureRelForTarget, cloneElementWithCss } from
|
|
|
15
18
|
import { validateHref } from '../../services/security/href_validator';
|
|
16
19
|
import { keysOf } from '../common';
|
|
17
20
|
import { EuiIcon } from '../icon';
|
|
18
|
-
import { EuiToolTip } from '../tool_tip';
|
|
19
21
|
import { euiContextMenuItemStyles } from './context_menu_item.styles';
|
|
22
|
+
import { EuiListItemLayout } from '../list_item_layout';
|
|
20
23
|
import { jsx as ___EmotionJSX } from "@emotion/react";
|
|
21
|
-
export var SIZES = ['s', 'm'];
|
|
22
24
|
var layoutAlignToClassNames = {
|
|
23
25
|
center: null,
|
|
24
26
|
top: 'euiContextMenu__itemLayout--top',
|
|
@@ -39,15 +41,17 @@ export var EuiContextMenuItem = function EuiContextMenuItem(_ref) {
|
|
|
39
41
|
href = _ref.href,
|
|
40
42
|
target = _ref.target,
|
|
41
43
|
rel = _ref.rel,
|
|
42
|
-
_ref$
|
|
43
|
-
|
|
44
|
-
|
|
44
|
+
_ref$color = _ref.color,
|
|
45
|
+
color = _ref$color === void 0 ? 'text' : _ref$color,
|
|
46
|
+
external = _ref.external,
|
|
45
47
|
rest = _objectWithoutProperties(_ref, _excluded);
|
|
46
48
|
var isHrefValid = !href || validateHref(href);
|
|
47
49
|
var disabled = _disabled || !isHrefValid;
|
|
48
50
|
var classes = classNames('euiContextMenuItem', className);
|
|
51
|
+
var anchorClasses = classNames('eui-displayBlock', toolTipProps === null || toolTipProps === void 0 ? void 0 : toolTipProps.anchorClassName);
|
|
49
52
|
var styles = useEuiMemoizedStyles(euiContextMenuItemStyles);
|
|
50
|
-
var cssStyles = [styles.euiContextMenuItem, styles.
|
|
53
|
+
var cssStyles = [styles.euiContextMenuItem, styles.layoutAlign[layoutAlign], !disabled && color !== 'text' && styles.colors[color]];
|
|
54
|
+
var textStyles = [styles.text.euiContextMenuItem__text];
|
|
51
55
|
var iconInstance = icon && (typeof icon === 'string' ? ___EmotionJSX(EuiIcon, {
|
|
52
56
|
type: icon,
|
|
53
57
|
size: "m",
|
|
@@ -65,52 +69,50 @@ export var EuiContextMenuItem = function EuiContextMenuItem(_ref) {
|
|
|
65
69
|
className: "euiContextMenu__arrow",
|
|
66
70
|
css: styles.euiContextMenuItem__arrow
|
|
67
71
|
});
|
|
68
|
-
var
|
|
69
|
-
var
|
|
70
|
-
|
|
71
|
-
css:
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
72
|
+
var isLink = href && !disabled;
|
|
73
|
+
var isButton = !isLink && (href || rest.onClick || toolTipContent);
|
|
74
|
+
var commonProps = {
|
|
75
|
+
css: cssStyles,
|
|
76
|
+
className: classes
|
|
77
|
+
};
|
|
78
|
+
var buttonProps = isButton ? _objectSpread({
|
|
79
|
+
element: 'button',
|
|
80
|
+
type: 'button',
|
|
81
|
+
ref: buttonRef
|
|
82
|
+
}, rest) : {};
|
|
83
|
+
var secureRel = isLink ? getSecureRelForTarget({
|
|
84
|
+
href: href,
|
|
85
|
+
target: target,
|
|
86
|
+
rel: rel
|
|
87
|
+
}) : undefined;
|
|
88
|
+
var linkProps = isLink ? _objectSpread({
|
|
89
|
+
element: 'a',
|
|
90
|
+
href: href,
|
|
91
|
+
target: target,
|
|
92
|
+
rel: secureRel,
|
|
93
|
+
ref: buttonRef,
|
|
94
|
+
external: external
|
|
95
|
+
}, rest) : {};
|
|
96
|
+
var divProps = !isButton && !isLink ? _objectSpread({
|
|
97
|
+
element: 'div',
|
|
98
|
+
ref: buttonRef
|
|
99
|
+
}, rest) : {};
|
|
100
|
+
var props = _objectSpread(_objectSpread(_objectSpread(_objectSpread({}, commonProps), divProps), buttonProps), linkProps);
|
|
101
|
+
return ___EmotionJSX(EuiListItemLayout, _extends({}, props, {
|
|
102
|
+
role: props.role,
|
|
103
|
+
showIndicator: false,
|
|
104
|
+
prepend: iconInstance,
|
|
105
|
+
append: arrow,
|
|
106
|
+
textWrap: "wrap",
|
|
107
|
+
isDisabled: disabled,
|
|
108
|
+
textProps: {
|
|
109
|
+
className: 'euiContextMenuItem__text',
|
|
110
|
+
css: textStyles
|
|
111
|
+
},
|
|
112
|
+
tooltipProps: toolTipContent ? _objectSpread(_objectSpread({}, toolTipProps), {}, {
|
|
113
|
+
position: 'right',
|
|
110
114
|
anchorClassName: anchorClasses,
|
|
111
115
|
content: toolTipContent
|
|
112
|
-
})
|
|
113
|
-
}
|
|
114
|
-
return button;
|
|
115
|
-
}
|
|
116
|
+
}) : undefined
|
|
117
|
+
}), children);
|
|
116
118
|
};
|
|
@@ -8,7 +8,7 @@ function _EMOTION_STRINGIFIED_CSS_ERROR__() { return "You have tried to stringif
|
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
10
|
import { css } from '@emotion/react';
|
|
11
|
-
import { logicalCSS,
|
|
11
|
+
import { logicalCSS, euiButtonEmptyColor, EXTENDED_BUTTON_COLORS } from '../../global_styling';
|
|
12
12
|
var _ref = process.env.NODE_ENV === "production" ? {
|
|
13
13
|
name: "4ak4s8-euiContextMenuItem__arrow",
|
|
14
14
|
styles: "align-self:flex-end;label:euiContextMenuItem__arrow;"
|
|
@@ -34,48 +34,34 @@ var _ref3 = process.env.NODE_ENV === "production" ? {
|
|
|
34
34
|
toString: _EMOTION_STRINGIFIED_CSS_ERROR__
|
|
35
35
|
};
|
|
36
36
|
var _ref4 = process.env.NODE_ENV === "production" ? {
|
|
37
|
-
name: "
|
|
38
|
-
styles: "align-
|
|
37
|
+
name: "flyqrm-center",
|
|
38
|
+
styles: ".euiListItemLayout__prepend{align-self:center;};label:center;"
|
|
39
39
|
} : {
|
|
40
|
-
name: "
|
|
41
|
-
styles: "align-
|
|
40
|
+
name: "flyqrm-center",
|
|
41
|
+
styles: ".euiListItemLayout__prepend{align-self:center;};label:center;",
|
|
42
42
|
toString: _EMOTION_STRINGIFIED_CSS_ERROR__
|
|
43
43
|
};
|
|
44
44
|
var _ref5 = process.env.NODE_ENV === "production" ? {
|
|
45
|
-
name: "
|
|
46
|
-
styles: "
|
|
45
|
+
name: "1qfbla9-euiContextMenuItem",
|
|
46
|
+
styles: "display:flex;label:euiContextMenuItem;"
|
|
47
47
|
} : {
|
|
48
|
-
name: "
|
|
49
|
-
styles: "
|
|
50
|
-
toString: _EMOTION_STRINGIFIED_CSS_ERROR__
|
|
51
|
-
};
|
|
52
|
-
var _ref6 = process.env.NODE_ENV === "production" ? {
|
|
53
|
-
name: "8391db-center",
|
|
54
|
-
styles: "align-items:center;label:center;"
|
|
55
|
-
} : {
|
|
56
|
-
name: "8391db-center",
|
|
57
|
-
styles: "align-items:center;label:center;",
|
|
48
|
+
name: "1qfbla9-euiContextMenuItem",
|
|
49
|
+
styles: "display:flex;label:euiContextMenuItem;",
|
|
58
50
|
toString: _EMOTION_STRINGIFIED_CSS_ERROR__
|
|
59
51
|
};
|
|
60
52
|
export var euiContextMenuItemStyles = function euiContextMenuItemStyles(euiThemeContext) {
|
|
61
53
|
var euiTheme = euiThemeContext.euiTheme;
|
|
62
54
|
return {
|
|
63
|
-
euiContextMenuItem:
|
|
64
|
-
disabled: /*#__PURE__*/css("color:", euiTheme.colors.textDisabled, ";cursor:default;;label:disabled;"),
|
|
55
|
+
euiContextMenuItem: _ref5,
|
|
65
56
|
layoutAlign: {
|
|
66
|
-
center:
|
|
67
|
-
top:
|
|
68
|
-
bottom:
|
|
69
|
-
},
|
|
70
|
-
sizes: {
|
|
71
|
-
m: /*#__PURE__*/css("padding:", euiTheme.size.m, ";;label:m;"),
|
|
72
|
-
s: /*#__PURE__*/css("padding:", euiTheme.size.s, ";;label:s;")
|
|
57
|
+
center: _ref4,
|
|
58
|
+
top: /*#__PURE__*/css(".euiListItemLayout__prepend{align-self:flex-start;", logicalCSS('margin-top', euiTheme.size.s), ";};label:top;"),
|
|
59
|
+
bottom: /*#__PURE__*/css(".euiListItemLayout__prepend{align-self:flex-end;", logicalCSS('margin-bottom', euiTheme.size.s), ";};label:bottom;")
|
|
73
60
|
},
|
|
74
61
|
// Children
|
|
75
62
|
euiContextMenu__icon: _ref3,
|
|
76
63
|
text: {
|
|
77
|
-
euiContextMenuItem__text: _ref2
|
|
78
|
-
s: /*#__PURE__*/css(euiFontSize(euiThemeContext, 's'), ";;label:s;")
|
|
64
|
+
euiContextMenuItem__text: _ref2
|
|
79
65
|
},
|
|
80
66
|
euiContextMenuItem__arrow: _ref,
|
|
81
67
|
// Colors - maps button color names to text color overrides
|
|
@@ -6,7 +6,7 @@ import _possibleConstructorReturn from "@babel/runtime/helpers/possibleConstruct
|
|
|
6
6
|
import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf";
|
|
7
7
|
import _inherits from "@babel/runtime/helpers/inherits";
|
|
8
8
|
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
9
|
-
var _excluded = ["stylesMemoizer", "children", "className", "onClose", "title", "onHeightChange", "transitionType", "transitionDirection", "onTransitionComplete", "onUseKeyboardToNavigate", "items", "initialFocusedItemIndex", "showNextPanel", "showPreviousPanel"
|
|
9
|
+
var _excluded = ["stylesMemoizer", "children", "className", "onClose", "title", "onHeightChange", "transitionType", "transitionDirection", "onTransitionComplete", "onUseKeyboardToNavigate", "items", "initialFocusedItemIndex", "showNextPanel", "showPreviousPanel"];
|
|
10
10
|
function _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }
|
|
11
11
|
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
|
|
12
12
|
/*
|
|
@@ -20,12 +20,12 @@ function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.
|
|
|
20
20
|
import React, { cloneElement, Component } from 'react';
|
|
21
21
|
import classNames from 'classnames';
|
|
22
22
|
import { tabbable } from 'tabbable';
|
|
23
|
-
import { withEuiStylesMemoizer, keys } from '../../services';
|
|
23
|
+
import { withEuiStylesMemoizer, keys, htmlIdGenerator } from '../../services';
|
|
24
24
|
import { EuiResizeObserver } from '../observer/resize_observer';
|
|
25
25
|
import { EuiContextMenuItem } from './context_menu_item';
|
|
26
26
|
import { euiContextMenuPanelStyles } from './context_menu_panel.styles';
|
|
27
|
+
import { EuiContextMenuPanelTitle } from './context_menu_panel_title';
|
|
27
28
|
import { jsx as ___EmotionJSX } from "@emotion/react";
|
|
28
|
-
export var SIZES = ['s', 'm'];
|
|
29
29
|
export var EuiContextMenuPanelClass = /*#__PURE__*/function (_Component) {
|
|
30
30
|
function EuiContextMenuPanelClass(props) {
|
|
31
31
|
var _this;
|
|
@@ -71,6 +71,20 @@ export var EuiContextMenuPanelClass = /*#__PURE__*/function (_Component) {
|
|
|
71
71
|
});
|
|
72
72
|
(_this$state$menuItems = _this.state.menuItems[nextFocusedItemIndex]) === null || _this$state$menuItems === void 0 || _this$state$menuItems.focus();
|
|
73
73
|
});
|
|
74
|
+
/* Ensures that on initial focus of a menuitem the index is updated.
|
|
75
|
+
Otherwise `focusMenuItem()`is not initialized when pressing a key as `onKeyDown`
|
|
76
|
+
only fires on key press after the focus moved into the component */
|
|
77
|
+
_defineProperty(_this, "setInitialFocusedItemIndex", function (event) {
|
|
78
|
+
var _this$props$items2;
|
|
79
|
+
if (!((_this$props$items2 = _this.props.items) !== null && _this$props$items2 !== void 0 && _this$props$items2.length) || !_this.state.menuItems.length || _this.state.focusedItemIndex !== undefined) return;
|
|
80
|
+
var target = event.target;
|
|
81
|
+
var currentIndex = _this.state.menuItems.indexOf(target);
|
|
82
|
+
if (currentIndex >= 0) {
|
|
83
|
+
_this.setState({
|
|
84
|
+
focusedItemIndex: currentIndex
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
});
|
|
74
88
|
_defineProperty(_this, "onKeyDown", function (event) {
|
|
75
89
|
// If this panel contains items you can use the left arrow key to go back at any time.
|
|
76
90
|
// But if it doesn't contain items, then you have to focus on the back button specifically,
|
|
@@ -151,6 +165,7 @@ export var EuiContextMenuPanelClass = /*#__PURE__*/function (_Component) {
|
|
|
151
165
|
_this.getInitialPopoverParent();
|
|
152
166
|
_this.findMenuItems();
|
|
153
167
|
});
|
|
168
|
+
_defineProperty(_this, "rootId", htmlIdGenerator());
|
|
154
169
|
_this.state = {
|
|
155
170
|
prevProps: {
|
|
156
171
|
items: _this.props.items
|
|
@@ -333,26 +348,26 @@ export var EuiContextMenuPanelClass = /*#__PURE__*/function (_Component) {
|
|
|
333
348
|
initialFocusedItemIndex = _this$props2.initialFocusedItemIndex,
|
|
334
349
|
showNextPanel = _this$props2.showNextPanel,
|
|
335
350
|
showPreviousPanel = _this$props2.showPreviousPanel,
|
|
336
|
-
size = _this$props2.size,
|
|
337
351
|
rest = _objectWithoutProperties(_this$props2, _excluded);
|
|
352
|
+
var titleId = this.rootId('euiContextMenuPanelTitle');
|
|
338
353
|
var classes = classNames('euiContextMenuPanel', className);
|
|
339
354
|
var styles = stylesMemoizer(euiContextMenuPanelStyles);
|
|
340
355
|
var cssStyles = [styles.euiContextMenuPanel, transitionDirection && transitionType && styles[transitionDirection][transitionType]];
|
|
341
|
-
var panelTitle = title && ___EmotionJSX(
|
|
342
|
-
|
|
356
|
+
var panelTitle = title && ___EmotionJSX(EuiContextMenuPanelTitle, {
|
|
357
|
+
title: title,
|
|
358
|
+
id: titleId,
|
|
343
359
|
className: "euiContextMenuPanel__title",
|
|
344
|
-
|
|
360
|
+
onClose: onClose,
|
|
345
361
|
buttonRef: function buttonRef(node) {
|
|
346
|
-
|
|
347
|
-
},
|
|
348
|
-
"data-test-subj": onClose ? 'contextMenuPanelTitleButton' : 'contextMenuPanelTitle',
|
|
349
|
-
icon: onClose && 'chevronSingleLeft'
|
|
350
|
-
}, title);
|
|
351
|
-
var content = items && items.length ? items.map(function (MenuItem) {
|
|
352
|
-
var cloneProps = {};
|
|
353
|
-
if (size) {
|
|
354
|
-
cloneProps.size = size;
|
|
362
|
+
_this3.backButton = node;
|
|
355
363
|
}
|
|
364
|
+
});
|
|
365
|
+
var isMenu = !!(items && items.length);
|
|
366
|
+
var content = items && items.length ? items.map(function (MenuItem) {
|
|
367
|
+
var _MenuItem$props$role, _MenuItem$props;
|
|
368
|
+
var cloneProps = {
|
|
369
|
+
role: (_MenuItem$props$role = (_MenuItem$props = MenuItem.props) === null || _MenuItem$props === void 0 ? void 0 : _MenuItem$props.role) !== null && _MenuItem$props$role !== void 0 ? _MenuItem$props$role : 'menuitem'
|
|
370
|
+
};
|
|
356
371
|
return MenuItem.type === EuiContextMenuItem ? /*#__PURE__*/cloneElement(MenuItem, cloneProps) : MenuItem;
|
|
357
372
|
}) : children;
|
|
358
373
|
return ___EmotionJSX("div", _extends({
|
|
@@ -368,7 +383,11 @@ export var EuiContextMenuPanelClass = /*#__PURE__*/function (_Component) {
|
|
|
368
383
|
}
|
|
369
384
|
}, function (resizeRef) {
|
|
370
385
|
return ___EmotionJSX("div", {
|
|
371
|
-
ref: resizeRef
|
|
386
|
+
ref: resizeRef,
|
|
387
|
+
role: isMenu ? 'menu' : undefined,
|
|
388
|
+
className: "euiContextMenuPanel__list",
|
|
389
|
+
"aria-labelledby": title ? titleId : undefined,
|
|
390
|
+
onFocus: _this3.setInitialFocusedItemIndex
|
|
372
391
|
}, content);
|
|
373
392
|
}));
|
|
374
393
|
}
|
|
@@ -11,11 +11,15 @@ var _templateObject, _templateObject2, _templateObject3, _templateObject4;
|
|
|
11
11
|
import { css, keyframes } from '@emotion/react';
|
|
12
12
|
import { logicalCSS, euiCantAnimate } from '../../global_styling';
|
|
13
13
|
import { euiTitle } from '../title/title.styles';
|
|
14
|
+
import { euiListItemVariables } from '../list_item_layout/_list_item_layout.styles';
|
|
14
15
|
import { euiContextMenuVariables } from './context_menu.styles';
|
|
15
16
|
export var euiContextMenuPanelStyles = function euiContextMenuPanelStyles(euiThemeContext) {
|
|
16
17
|
var euiTheme = euiThemeContext.euiTheme;
|
|
17
18
|
var _euiContextMenuVariab = euiContextMenuVariables(euiThemeContext),
|
|
18
19
|
panelWidth = _euiContextMenuVariab.panelWidth;
|
|
20
|
+
var _euiListItemVariables = euiListItemVariables(euiThemeContext),
|
|
21
|
+
spacing = _euiListItemVariables.spacing,
|
|
22
|
+
textPadding = _euiListItemVariables.textPadding;
|
|
19
23
|
var animations = {
|
|
20
24
|
transitioning: /*#__PURE__*/css("pointer-events:none;animation-fill-mode:forwards;animation-duration:", euiTheme.animation.normal, ";animation-timing-function:", euiTheme.animation.resistance, ";", euiCantAnimate, "{animation-duration:0s;};label:transitioning;"),
|
|
21
25
|
inLeft: keyframes(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n 0% { transform: translateX(", "); }\n 100% { transform: translateX(0); }\n "])), panelWidth),
|
|
@@ -24,7 +28,7 @@ export var euiContextMenuPanelStyles = function euiContextMenuPanelStyles(euiThe
|
|
|
24
28
|
outRight: keyframes(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\n 0% { transform: translateX(0); }\n 100% { transform: translateX(", "); }\n "])), panelWidth)
|
|
25
29
|
};
|
|
26
30
|
return {
|
|
27
|
-
euiContextMenuPanel: /*#__PURE__*/css(logicalCSS('width', '100%'), " visibility:visible;outline-offset:-", euiTheme.focus.width, ";&:focus{outline:none;};label:euiContextMenuPanel;"),
|
|
31
|
+
euiContextMenuPanel: /*#__PURE__*/css(logicalCSS('width', '100%'), " padding:", euiTheme.size.s, ";visibility:visible;outline-offset:-", euiTheme.focus.width, ";&:focus{outline:none;};label:euiContextMenuPanel;"),
|
|
28
32
|
// Panel animations
|
|
29
33
|
next: {
|
|
30
34
|
in: /*#__PURE__*/css(animations.transitioning, " animation-name:", animations.inLeft, ";;label:in;"),
|
|
@@ -35,6 +39,7 @@ export var euiContextMenuPanelStyles = function euiContextMenuPanelStyles(euiThe
|
|
|
35
39
|
out: /*#__PURE__*/css(animations.transitioning, " animation-name:", animations.outRight, ";;label:out;")
|
|
36
40
|
},
|
|
37
41
|
// Children
|
|
38
|
-
euiContextMenuPanel__title: /*#__PURE__*/css(euiTitle(euiThemeContext, 'xxs'), " ", logicalCSS('
|
|
42
|
+
euiContextMenuPanel__title: /*#__PURE__*/css("display:flex;align-items:center;gap:", spacing.horizontal, ";", euiTitle(euiThemeContext, 'xxs'), " ", logicalCSS('padding-horizontal', spacing.horizontal), ";;label:euiContextMenuPanel__title;"),
|
|
43
|
+
euiContextMenuPanel__label: /*#__PURE__*/css("flex-grow:1;overflow:hidden;", logicalCSS('padding-horizontal', textPadding.horizontal), " ", logicalCSS('padding-vertical', textPadding.vertical), ";;label:euiContextMenuPanel__label;")
|
|
39
44
|
};
|
|
40
45
|
};
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import _extends from "@babel/runtime/helpers/extends";
|
|
2
|
+
import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
|
|
3
|
+
var _excluded = ["component", "id", "title", "buttonRef", "className", "onClose", "buttonProps"];
|
|
4
|
+
/*
|
|
5
|
+
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
|
|
6
|
+
* or more contributor license agreements. Licensed under the Elastic License
|
|
7
|
+
* 2.0 and the Server Side Public License, v 1; you may not use this file except
|
|
8
|
+
* in compliance with, at your election, the Elastic License 2.0 or the Server
|
|
9
|
+
* Side Public License, v 1.
|
|
10
|
+
*/
|
|
11
|
+
|
|
12
|
+
import React from 'react';
|
|
13
|
+
import classNames from 'classnames';
|
|
14
|
+
import { useEuiMemoizedStyles } from '../../services';
|
|
15
|
+
import { EuiButtonIcon } from '../button';
|
|
16
|
+
import { useEuiI18n } from '../i18n';
|
|
17
|
+
import { euiContextMenuPanelTitleStyles } from './context_menu_panel_title.styles';
|
|
18
|
+
import { jsx as ___EmotionJSX } from "@emotion/react";
|
|
19
|
+
export var EuiContextMenuPanelTitle = function EuiContextMenuPanelTitle(props) {
|
|
20
|
+
var _props$component = props.component,
|
|
21
|
+
Component = _props$component === void 0 ? 'h2' : _props$component,
|
|
22
|
+
id = props.id,
|
|
23
|
+
title = props.title,
|
|
24
|
+
buttonRef = props.buttonRef,
|
|
25
|
+
className = props.className,
|
|
26
|
+
onClose = props.onClose,
|
|
27
|
+
buttonProps = props.buttonProps,
|
|
28
|
+
rest = _objectWithoutProperties(props, _excluded);
|
|
29
|
+
var classes = classNames('euiContextMenuPanelTitle', className);
|
|
30
|
+
var styles = useEuiMemoizedStyles(euiContextMenuPanelTitleStyles);
|
|
31
|
+
var closeButtonId = "".concat(id, "-closeButton");
|
|
32
|
+
var buttonAriaLabel = useEuiI18n('euiContextMenuPanelTitle.ariaLabel', 'Close current panel:');
|
|
33
|
+
return ___EmotionJSX("div", _extends({
|
|
34
|
+
className: classes,
|
|
35
|
+
css: styles.euiContextMenuPanelTitle,
|
|
36
|
+
"data-test-subj": "contextMenuPanelTitle"
|
|
37
|
+
}, rest), onClose && ___EmotionJSX(React.Fragment, null, ___EmotionJSX(EuiButtonIcon, _extends({
|
|
38
|
+
buttonRef: buttonRef,
|
|
39
|
+
color: "text",
|
|
40
|
+
iconType: "chevronSingleLeft",
|
|
41
|
+
onClick: onClose,
|
|
42
|
+
"data-test-subj": "contextMenuPanelTitleButton",
|
|
43
|
+
id: closeButtonId,
|
|
44
|
+
"aria-label": buttonAriaLabel
|
|
45
|
+
// Uses aria-labelledby to combine aria-label with the panel title for screen readers.
|
|
46
|
+
,
|
|
47
|
+
"aria-labelledby": "".concat(closeButtonId, " ").concat(id)
|
|
48
|
+
}, buttonProps))), ___EmotionJSX(Component, {
|
|
49
|
+
className: "euiContextMenuPanelTitle__text",
|
|
50
|
+
css: styles.text,
|
|
51
|
+
id: id
|
|
52
|
+
}, title));
|
|
53
|
+
};
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
|
|
3
|
+
* or more contributor license agreements. Licensed under the Elastic License
|
|
4
|
+
* 2.0 and the Server Side Public License, v 1; you may not use this file except
|
|
5
|
+
* in compliance with, at your election, the Elastic License 2.0 or the Server
|
|
6
|
+
* Side Public License, v 1.
|
|
7
|
+
*/
|
|
8
|
+
|
|
9
|
+
import { css } from '@emotion/react';
|
|
10
|
+
import { logicalCSS } from '../../global_styling';
|
|
11
|
+
import { euiTitle } from '../title/title.styles';
|
|
12
|
+
import { euiListItemVariables } from '../list_item_layout/_list_item_layout.styles';
|
|
13
|
+
export var euiContextMenuPanelTitleStyles = function euiContextMenuPanelTitleStyles(euiThemeContext) {
|
|
14
|
+
var _euiListItemVariables = euiListItemVariables(euiThemeContext),
|
|
15
|
+
textPadding = _euiListItemVariables.textPadding;
|
|
16
|
+
return {
|
|
17
|
+
euiContextMenuPanelTitle: /*#__PURE__*/css("display:flex;align-items:center;", logicalCSS('padding-horizontal', textPadding.horizontal), " ", euiTitle(euiThemeContext, 'xxs'), ";;label:euiContextMenuPanelTitle;"),
|
|
18
|
+
text: /*#__PURE__*/css("flex-grow:1;overflow:hidden;", logicalCSS('padding-vertical', textPadding.vertical), " ", logicalCSS('padding-horizontal', textPadding.horizontal), ";;label:text;")
|
|
19
|
+
};
|
|
20
|
+
};
|
|
@@ -8,4 +8,5 @@
|
|
|
8
8
|
|
|
9
9
|
export { EuiContextMenu } from './context_menu';
|
|
10
10
|
export { EuiContextMenuPanel } from './context_menu_panel';
|
|
11
|
-
export { EuiContextMenuItem } from './context_menu_item';
|
|
11
|
+
export { EuiContextMenuItem } from './context_menu_item';
|
|
12
|
+
export { EuiContextMenuPanelTitle } from './context_menu_panel_title';
|
|
@@ -127,7 +127,7 @@ export var ColumnActions = /*#__PURE__*/memo(function (_ref) {
|
|
|
127
127
|
var styles = useEuiMemoizedStyles(euiDataGridHeaderCellStyles);
|
|
128
128
|
return ___EmotionJSX(EuiPopover, _extends({
|
|
129
129
|
display: "block",
|
|
130
|
-
panelPaddingSize: "
|
|
130
|
+
panelPaddingSize: "s",
|
|
131
131
|
offset: 7,
|
|
132
132
|
anchorPosition: "downRight",
|
|
133
133
|
css: styles.euiDataGridHeaderCell__popover,
|
|
@@ -146,7 +146,6 @@ export var ColumnActions = /*#__PURE__*/memo(function (_ref) {
|
|
|
146
146
|
closePopover: closePopover
|
|
147
147
|
}, popoverArrowNavigationProps), ___EmotionJSX(EuiListGroup, {
|
|
148
148
|
listItems: columnActions,
|
|
149
|
-
gutterSize: "none",
|
|
150
149
|
"data-test-subj": "dataGridHeaderCellActionGroup-".concat(id)
|
|
151
150
|
}));
|
|
152
151
|
});
|
|
@@ -233,10 +233,16 @@ describe('EuiFilterGroup multiselect example', function () {
|
|
|
233
233
|
cy.realPress('Tab');
|
|
234
234
|
cy.repeatRealPress('ArrowDown', 4);
|
|
235
235
|
cy.realPress('Enter');
|
|
236
|
-
cy.get('
|
|
236
|
+
cy.get('input[role="combobox"]').then(function ($input) {
|
|
237
|
+
var activeOptionId = $input.attr('aria-activedescendant');
|
|
238
|
+
cy.get("li[id=\"".concat(activeOptionId, "\"]")).find('span.euiSelectableListItem__text').should('have.text', 'Dmitri Shostakovich. Checked option. To exclude this option, press Enter.');
|
|
239
|
+
});
|
|
237
240
|
cy.realPress('ArrowDown');
|
|
238
241
|
cy.repeatRealPress('Enter');
|
|
239
|
-
cy.get('
|
|
242
|
+
cy.get('input[role="combobox"]').then(function ($input) {
|
|
243
|
+
var activeOptionId = $input.attr('aria-activedescendant');
|
|
244
|
+
cy.get("li[id=\"".concat(activeOptionId, "\"]")).find('span.euiSelectableListItem__text').should('have.text', 'Felix Mendelssohn-Bartholdy. Excluded option. To uncheck this option, press Enter.');
|
|
245
|
+
});
|
|
240
246
|
cy.checkAxe();
|
|
241
247
|
});
|
|
242
248
|
it('has zero violations when filtering by searchbox', function () {
|
|
@@ -69,14 +69,11 @@ var HistoryPopover = function HistoryPopover(_ref) {
|
|
|
69
69
|
},
|
|
70
70
|
panelPaddingSize: "xs",
|
|
71
71
|
anchorPosition: "downLeft"
|
|
72
|
-
}, ___EmotionJSX(EuiListGroup, {
|
|
73
|
-
gutterSize: "none"
|
|
74
|
-
}, items.map(function (item, index) {
|
|
72
|
+
}, ___EmotionJSX(EuiListGroup, null, items.map(function (item, index) {
|
|
75
73
|
return ___EmotionJSX(EuiListGroupItem, {
|
|
76
74
|
key: "history-item-".concat(index),
|
|
77
75
|
label: item.title,
|
|
78
76
|
iconType: item.iconType,
|
|
79
|
-
size: "s",
|
|
80
77
|
onClick: function onClick() {
|
|
81
78
|
item.onClick();
|
|
82
79
|
setIsPopoverOpen(false);
|