@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,7 +8,7 @@ import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf";
|
|
|
8
8
|
import _inherits from "@babel/runtime/helpers/inherits";
|
|
9
9
|
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
10
10
|
var _excluded = ["data"],
|
|
11
|
-
_excluded2 = ["label", "isGroupLabel", "checked", "disabled", "prepend", "append", "ref", "key", "searchableLabel", "data", "truncationProps"],
|
|
11
|
+
_excluded2 = ["label", "isGroupLabel", "checked", "disabled", "prepend", "append", "ref", "key", "searchableLabel", "data", "truncationProps", "css"],
|
|
12
12
|
_excluded3 = ["className", "options", "searchValue", "onOptionClick", "renderOption", "height", "windowProps", "rowHeight", "activeOptionIndex", "makeOptionId", "showIcons", "singleSelection", "visibleOptions", "allowExclusions", "bordered", "paddingSize", "searchable", "onFocusBadge", "listId", "setActiveOptionIndex", "aria-label", "aria-labelledby", "aria-describedby", "role", "isPreFiltered", "isVirtualized", "textWrap", "truncationProps", "autoFocus"];
|
|
13
13
|
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; }
|
|
14
14
|
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; }
|
|
@@ -24,14 +24,15 @@ function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.
|
|
|
24
24
|
|
|
25
25
|
import React, { Component, memo } from 'react';
|
|
26
26
|
import classNames from 'classnames';
|
|
27
|
-
import {
|
|
27
|
+
import { VariableSizeList, areEqual } from 'react-window';
|
|
28
28
|
import { RenderWithEuiStylesMemoizer } from '../../../services';
|
|
29
29
|
import { EuiAutoSizer } from '../../auto_sizer';
|
|
30
30
|
import { EuiHighlight } from '../../highlight';
|
|
31
31
|
import { EuiMark } from '../../mark';
|
|
32
32
|
import { EuiTextTruncate } from '../../text_truncate';
|
|
33
33
|
import { EuiSelectableListItem } from './selectable_list_item';
|
|
34
|
-
import { euiSelectableListStyles } from './selectable_list.styles';
|
|
34
|
+
import { euiSelectableListGroupLabelStyles, euiSelectableListStyles } from './selectable_list.styles';
|
|
35
|
+
import { getListItemSize } from './utils/get_list_item_size';
|
|
35
36
|
|
|
36
37
|
// Consumer Configurable Props via `EuiSelectable.listProps`
|
|
37
38
|
import { jsx as ___EmotionJSX } from "@emotion/react";
|
|
@@ -109,11 +110,17 @@ export var EuiSelectableList = /*#__PURE__*/function (_Component) {
|
|
|
109
110
|
ariaSetSize: latestAriaPosIndex
|
|
110
111
|
};
|
|
111
112
|
});
|
|
112
|
-
_defineProperty(_this, "
|
|
113
|
+
_defineProperty(_this, "getItemSize", function (index) {
|
|
114
|
+
var _ref = _this.props,
|
|
115
|
+
rowHeight = _ref.rowHeight;
|
|
116
|
+
var option = _this.state.optionArray[index];
|
|
117
|
+
return getListItemSize(index, rowHeight, !!(option !== null && option !== void 0 && option.isGroupLabel));
|
|
118
|
+
});
|
|
119
|
+
_defineProperty(_this, "ListRow", /*#__PURE__*/memo(function (_ref2) {
|
|
113
120
|
var _option$textWrap;
|
|
114
|
-
var data =
|
|
115
|
-
index =
|
|
116
|
-
style =
|
|
121
|
+
var data = _ref2.data,
|
|
122
|
+
index = _ref2.index,
|
|
123
|
+
style = _ref2.style;
|
|
117
124
|
var option = data[index];
|
|
118
125
|
var optionData = option.data,
|
|
119
126
|
_option = _objectWithoutProperties(option, _excluded);
|
|
@@ -128,12 +135,12 @@ export var EuiSelectableList = /*#__PURE__*/function (_Component) {
|
|
|
128
135
|
searchableLabel = option.searchableLabel,
|
|
129
136
|
_data = option.data,
|
|
130
137
|
_truncationProps = option.truncationProps,
|
|
138
|
+
css = option.css,
|
|
131
139
|
optionRest = _objectWithoutProperties(option, _excluded2);
|
|
132
140
|
var _this$props2 = _this.props,
|
|
133
141
|
activeOptionIndex = _this$props2.activeOptionIndex,
|
|
134
142
|
allowExclusions = _this$props2.allowExclusions,
|
|
135
143
|
onFocusBadge = _this$props2.onFocusBadge,
|
|
136
|
-
paddingSize = _this$props2.paddingSize,
|
|
137
144
|
showIcons = _this$props2.showIcons,
|
|
138
145
|
makeOptionId = _this$props2.makeOptionId,
|
|
139
146
|
renderOption = _this$props2.renderOption,
|
|
@@ -141,13 +148,14 @@ export var EuiSelectableList = /*#__PURE__*/function (_Component) {
|
|
|
141
148
|
searchable = _this$props2.searchable,
|
|
142
149
|
searchValue = _this$props2.searchValue,
|
|
143
150
|
isPreFiltered = _this$props2.isPreFiltered,
|
|
144
|
-
isVirtualized = _this$props2.isVirtualized
|
|
151
|
+
isVirtualized = _this$props2.isVirtualized,
|
|
152
|
+
singleSelection = _this$props2.singleSelection;
|
|
145
153
|
if (isGroupLabel) {
|
|
146
154
|
return ___EmotionJSX(RenderWithEuiStylesMemoizer, null, function (stylesMemoizer) {
|
|
147
|
-
var styles = stylesMemoizer(
|
|
155
|
+
var styles = stylesMemoizer(euiSelectableListGroupLabelStyles);
|
|
148
156
|
return ___EmotionJSX("li", _extends({
|
|
149
157
|
role: "presentation",
|
|
150
|
-
css: styles.
|
|
158
|
+
css: [styles.groupLabel, css, ";label:EuiSelectableList;"],
|
|
151
159
|
className: "euiSelectableList__groupLabel",
|
|
152
160
|
style: style
|
|
153
161
|
}, optionRest), prepend, label, append);
|
|
@@ -189,9 +197,9 @@ export var EuiSelectableList = /*#__PURE__*/function (_Component) {
|
|
|
189
197
|
onFocusBadge: onFocusBadge,
|
|
190
198
|
allowExclusions: allowExclusions,
|
|
191
199
|
showIcons: showIcons,
|
|
192
|
-
paddingSize: paddingSize,
|
|
193
200
|
searchable: searchable,
|
|
194
|
-
textWrap: textWrap
|
|
201
|
+
textWrap: textWrap,
|
|
202
|
+
singleSelection: singleSelection === false ? false : true
|
|
195
203
|
// @ts-ignore complex
|
|
196
204
|
}, optionRest), renderOption ? renderOption( // @ts-ignore complex
|
|
197
205
|
_objectSpread(_objectSpread({}, _option), optionData), searchValue) : highlightSearch ? _this.renderSearchedText(label, truncationProps) : truncationProps ? _this.renderTruncatedText(label, truncationProps) : label);
|
|
@@ -214,7 +222,9 @@ export var EuiSelectableList = /*#__PURE__*/function (_Component) {
|
|
|
214
222
|
innerElementType: 'ul',
|
|
215
223
|
itemCount: optionArray.length,
|
|
216
224
|
itemData: itemData,
|
|
217
|
-
itemSize:
|
|
225
|
+
itemSize: _this.getItemSize,
|
|
226
|
+
// Prevents scrollbar jump before VariableSizeList populates the cached size
|
|
227
|
+
estimatedItemSize: rowHeight,
|
|
218
228
|
'data-skip-axe': 'scrollable-region-focusable'
|
|
219
229
|
}, windowProps);
|
|
220
230
|
|
|
@@ -235,19 +245,19 @@ export var EuiSelectableList = /*#__PURE__*/function (_Component) {
|
|
|
235
245
|
}
|
|
236
246
|
return heightIsFull ? ___EmotionJSX(EuiAutoSizer, {
|
|
237
247
|
onResize: _this.calculateDefaultOptionWidth
|
|
238
|
-
}, function (
|
|
239
|
-
var width =
|
|
240
|
-
height =
|
|
241
|
-
return ___EmotionJSX(
|
|
248
|
+
}, function (_ref3) {
|
|
249
|
+
var width = _ref3.width,
|
|
250
|
+
height = _ref3.height;
|
|
251
|
+
return ___EmotionJSX(VariableSizeList, _extends({
|
|
242
252
|
width: width,
|
|
243
253
|
height: height
|
|
244
254
|
}, virtualizationProps), _this.ListRow);
|
|
245
255
|
}) : ___EmotionJSX(EuiAutoSizer, {
|
|
246
256
|
disableHeight: true,
|
|
247
257
|
onResize: _this.calculateDefaultOptionWidth
|
|
248
|
-
}, function (
|
|
249
|
-
var width =
|
|
250
|
-
return ___EmotionJSX(
|
|
258
|
+
}, function (_ref4) {
|
|
259
|
+
var width = _ref4.width;
|
|
260
|
+
return ___EmotionJSX(VariableSizeList, _extends({
|
|
251
261
|
width: width,
|
|
252
262
|
height: calculatedHeight
|
|
253
263
|
}, virtualizationProps), _this.ListRow);
|
|
@@ -264,8 +274,8 @@ export var EuiSelectableList = /*#__PURE__*/function (_Component) {
|
|
|
264
274
|
// each individual item. This logic tries to offset this performance hit by
|
|
265
275
|
// guesstimating a default width for each option
|
|
266
276
|
_defineProperty(_this, "focusBadgeOffset", 0);
|
|
267
|
-
_defineProperty(_this, "calculateDefaultOptionWidth", function (
|
|
268
|
-
var containerWidth =
|
|
277
|
+
_defineProperty(_this, "calculateDefaultOptionWidth", function (_ref5) {
|
|
278
|
+
var containerWidth = _ref5.width;
|
|
269
279
|
var _this$props4 = _this.props,
|
|
270
280
|
truncationProps = _this$props4.truncationProps,
|
|
271
281
|
searchable = _this$props4.searchable,
|
|
@@ -274,9 +284,9 @@ export var EuiSelectableList = /*#__PURE__*/function (_Component) {
|
|
|
274
284
|
// If it's not likely we'll need to use EuiTextTruncate, don't set state/rerender on every panel resize
|
|
275
285
|
var mayTruncate = searchable || truncationProps;
|
|
276
286
|
if (!mayTruncate) return;
|
|
277
|
-
var paddingOffset =
|
|
278
|
-
var checkedIconOffset = _this.props.showIcons === false ? 0 :
|
|
279
|
-
_this.focusBadgeOffset = _this.props.onFocusBadge
|
|
287
|
+
var paddingOffset = 24; // 2 * list item padding (8px) + 2 * text padding (4px)
|
|
288
|
+
var checkedIconOffset = _this.props.showIcons === false ? 0 : 24; // icon (16px) + gap (8px)
|
|
289
|
+
_this.focusBadgeOffset = !_this.props.onFocusBadge ? 0 : 28; // badge (20px) + gap (8px)
|
|
280
290
|
|
|
281
291
|
// Wait a tick for the listbox ref to update before proceeding
|
|
282
292
|
_this.animationFrameId = requestAnimationFrame(function () {
|
|
@@ -356,8 +366,8 @@ export var EuiSelectableList = /*#__PURE__*/function (_Component) {
|
|
|
356
366
|
options = _this$props5.options,
|
|
357
367
|
_this$props5$visibleO = _this$props5.visibleOptions,
|
|
358
368
|
visibleOptions = _this$props5$visibleO === void 0 ? options : _this$props5$visibleO;
|
|
359
|
-
_this.props.setActiveOptionIndex(visibleOptions.findIndex(function (
|
|
360
|
-
var label =
|
|
369
|
+
_this.props.setActiveOptionIndex(visibleOptions.findIndex(function (_ref6) {
|
|
370
|
+
var label = _ref6.label;
|
|
361
371
|
return label === option.label;
|
|
362
372
|
}), function () {
|
|
363
373
|
if (option.checked === 'on' && allowExclusions) {
|
|
@@ -450,11 +460,12 @@ export var EuiSelectableList = /*#__PURE__*/function (_Component) {
|
|
|
450
460
|
paddingSize = _this$props9.paddingSize,
|
|
451
461
|
textWrap = _this$props9.textWrap,
|
|
452
462
|
onFocusBadge = _this$props9.onFocusBadge,
|
|
453
|
-
searchable = _this$props9.searchable
|
|
463
|
+
searchable = _this$props9.searchable,
|
|
464
|
+
singleSelection = _this$props9.singleSelection;
|
|
454
465
|
|
|
455
466
|
// using shouldComponentUpdate to determine needed rerender before actual rerender
|
|
456
467
|
// without needing state updates or lagging behind on updates
|
|
457
|
-
if (nextProps.allowExclusions !== allowExclusions || nextProps.showIcons !== showIcons || nextProps.paddingSize !== paddingSize || nextProps.textWrap !== textWrap || nextProps.onFocusBadge !== onFocusBadge || nextProps.searchable !== searchable) {
|
|
468
|
+
if (nextProps.allowExclusions !== allowExclusions || nextProps.showIcons !== showIcons || nextProps.paddingSize !== paddingSize || nextProps.textWrap !== textWrap || nextProps.onFocusBadge !== onFocusBadge || nextProps.searchable !== searchable || nextProps.singleSelection !== singleSelection) {
|
|
458
469
|
this.listRowRerender += 1;
|
|
459
470
|
}
|
|
460
471
|
return true;
|
|
@@ -472,7 +483,8 @@ export var EuiSelectableList = /*#__PURE__*/function (_Component) {
|
|
|
472
483
|
paddingSize = _this$props10.paddingSize,
|
|
473
484
|
textWrap = _this$props10.textWrap,
|
|
474
485
|
onFocusBadge = _this$props10.onFocusBadge,
|
|
475
|
-
searchable = _this$props10.searchable
|
|
486
|
+
searchable = _this$props10.searchable,
|
|
487
|
+
singleSelection = _this$props10.singleSelection;
|
|
476
488
|
if (prevProps.activeOptionIndex !== activeOptionIndex) {
|
|
477
489
|
var makeOptionId = this.props.makeOptionId;
|
|
478
490
|
if (this.listBoxRef && this.props.searchable !== true) {
|
|
@@ -481,6 +493,8 @@ export var EuiSelectableList = /*#__PURE__*/function (_Component) {
|
|
|
481
493
|
if (typeof activeOptionIndex !== 'undefined') {
|
|
482
494
|
if (isVirtualized) {
|
|
483
495
|
var _this$listRef;
|
|
496
|
+
// NOTE: Maybe we might want to consider changing scroll position to
|
|
497
|
+
// 'center' to not have items stick to the edges of the list
|
|
484
498
|
(_this$listRef = this.listRef) === null || _this$listRef === void 0 || _this$listRef.scrollToItem(activeOptionIndex, 'auto');
|
|
485
499
|
} else {
|
|
486
500
|
var _this$listBoxRef;
|
|
@@ -505,7 +519,7 @@ export var EuiSelectableList = /*#__PURE__*/function (_Component) {
|
|
|
505
519
|
}, this.calculateAriaSetAttrs(optionArray)));
|
|
506
520
|
} else if (isVirtualized) {
|
|
507
521
|
// ensure that ListRow updates based on item props
|
|
508
|
-
if (prevProps.allowExclusions !== allowExclusions || prevProps.showIcons !== showIcons || prevProps.paddingSize !== paddingSize || prevProps.textWrap !== textWrap || prevProps.onFocusBadge !== onFocusBadge || prevProps.searchable !== searchable) {
|
|
522
|
+
if (prevProps.allowExclusions !== allowExclusions || prevProps.showIcons !== showIcons || prevProps.paddingSize !== paddingSize || prevProps.textWrap !== textWrap || prevProps.onFocusBadge !== onFocusBadge || prevProps.searchable !== searchable || prevProps.singleSelection !== singleSelection) {
|
|
509
523
|
this.setState({
|
|
510
524
|
itemData: _objectSpread({}, optionArray)
|
|
511
525
|
});
|
|
@@ -551,7 +565,7 @@ export var EuiSelectableList = /*#__PURE__*/function (_Component) {
|
|
|
551
565
|
var classes = classNames('euiSelectableList', className);
|
|
552
566
|
return ___EmotionJSX(RenderWithEuiStylesMemoizer, null, function (stylesMemoizer) {
|
|
553
567
|
var styles = stylesMemoizer(euiSelectableListStyles);
|
|
554
|
-
var cssStyles = [styles.euiSelectableList, heightIsFull && styles.fullHeight, bordered && styles.bordered];
|
|
568
|
+
var cssStyles = [styles.euiSelectableList, heightIsFull && styles.fullHeight, bordered && styles.bordered, paddingSize === 's' && styles.paddingSize.s];
|
|
555
569
|
var listClasses = classNames('euiSelectableList__list', styles.euiSelectableList__list);
|
|
556
570
|
return ___EmotionJSX("div", _extends({
|
|
557
571
|
css: cssStyles,
|
|
@@ -577,6 +591,7 @@ export var EuiSelectableList = /*#__PURE__*/function (_Component) {
|
|
|
577
591
|
}(Component);
|
|
578
592
|
_defineProperty(EuiSelectableList, "defaultProps", {
|
|
579
593
|
rowHeight: 32,
|
|
594
|
+
paddingSize: 'none',
|
|
580
595
|
searchValue: '',
|
|
581
596
|
isVirtualized: true
|
|
582
597
|
});
|
|
@@ -11,9 +11,10 @@ import { css } from '@emotion/react';
|
|
|
11
11
|
// .euiSelectableList__list requires a static vanilla className
|
|
12
12
|
// as it's passed down to react-window's virtualization library
|
|
13
13
|
import { css as classNameCss } from '@emotion/css';
|
|
14
|
+
import { mathWithUnits } from '@elastic/eui-theme-common';
|
|
14
15
|
import { euiFocusRing, euiYScrollWithShadows, logicalCSS } from '../../../global_styling';
|
|
15
16
|
import { euiTitle } from '../../title/title.styles';
|
|
16
|
-
import {
|
|
17
|
+
import { euiListItemVariables } from '../../list_item_layout/_list_item_layout.styles';
|
|
17
18
|
var _ref = process.env.NODE_ENV === "production" ? {
|
|
18
19
|
name: "1giu8j5-fullHeight",
|
|
19
20
|
styles: "flex-grow:1;label:fullHeight;"
|
|
@@ -24,12 +25,26 @@ var _ref = process.env.NODE_ENV === "production" ? {
|
|
|
24
25
|
};
|
|
25
26
|
export var euiSelectableListStyles = function euiSelectableListStyles(euiThemeContext) {
|
|
26
27
|
var euiTheme = euiThemeContext.euiTheme;
|
|
27
|
-
var itemVars = euiSelectableListItemVariables(euiThemeContext);
|
|
28
28
|
return {
|
|
29
29
|
euiSelectableList: /*#__PURE__*/css("&:has(:focus-visible){", euiFocusRing(euiThemeContext, 'outset'), ";};label:euiSelectableList;"),
|
|
30
30
|
fullHeight: _ref,
|
|
31
31
|
bordered: /*#__PURE__*/css("overflow:hidden;border:", euiTheme.border.thin, ";border-radius:", euiTheme.border.radius.medium, ";;label:bordered;"),
|
|
32
|
-
|
|
33
|
-
|
|
32
|
+
paddingSize: {
|
|
33
|
+
s: /*#__PURE__*/css("padding:", euiTheme.size.s, ";;label:s;")
|
|
34
|
+
},
|
|
35
|
+
euiSelectableList__list: /*#__PURE__*/classNameCss(euiYScrollWithShadows(euiThemeContext, {
|
|
36
|
+
hasAnimatedOverflowShadow: true
|
|
37
|
+
}), " &:focus,&>ul:focus{outline:none;};label:euiSelectableList__list;")
|
|
38
|
+
};
|
|
39
|
+
};
|
|
40
|
+
export var euiSelectableListGroupLabelStyles = function euiSelectableListGroupLabelStyles(euiThemeContext) {
|
|
41
|
+
var euiTheme = euiThemeContext.euiTheme;
|
|
42
|
+
var itemVars = euiListItemVariables(euiThemeContext);
|
|
43
|
+
var spacingVertical = euiTheme.size.s;
|
|
44
|
+
var borderColor = euiTheme.components.selectableListItemBorderColor;
|
|
45
|
+
return {
|
|
46
|
+
groupLabel: /*#__PURE__*/css(euiTitle(euiThemeContext, 'xxxs'), " position:relative;display:flex;align-items:center;gap:", itemVars.spacing.horizontal, ";", logicalCSS('padding-horizontal', itemVars.textPadding.horizontal), " ", logicalCSS('padding-vertical', spacingVertical), " &:not(:first-child){", logicalCSS('padding-top', mathWithUnits([spacingVertical], function (a) {
|
|
47
|
+
return a * 3;
|
|
48
|
+
})), " &::before{content:'';position:absolute;inset:0;inset-block-start:", spacingVertical, ";", logicalCSS('border-top', "".concat(euiTheme.border.width.thin, " solid ").concat(borderColor)), ";}};label:groupLabel;")
|
|
34
49
|
};
|
|
35
50
|
};
|
|
@@ -1,8 +1,10 @@
|
|
|
1
|
-
import
|
|
1
|
+
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
2
2
|
import _extends from "@babel/runtime/helpers/extends";
|
|
3
3
|
import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
|
|
4
|
-
var _excluded = ["children", "className", "disabled", "checked", "isFocused", "showIcons", "prepend", "append", "allowExclusions", "
|
|
4
|
+
var _excluded = ["children", "className", "disabled", "checked", "isFocused", "showIcons", "prepend", "append", "allowExclusions", "singleSelection", "onFocusBadge", "role", "searchable", "toolTipContent", "toolTipProps"],
|
|
5
5
|
_excluded2 = ["children", "className"];
|
|
6
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
7
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
6
8
|
/*
|
|
7
9
|
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
|
|
8
10
|
* or more contributor license agreements. Licensed under the Elastic License
|
|
@@ -12,40 +14,12 @@ var _excluded = ["children", "className", "disabled", "checked", "isFocused", "s
|
|
|
12
14
|
*/
|
|
13
15
|
|
|
14
16
|
import classNames from 'classnames';
|
|
15
|
-
import React, {
|
|
16
|
-
import { useEuiMemoizedStyles } from '../../../services';
|
|
17
|
+
import React, { useMemo } from 'react';
|
|
17
18
|
import { EuiI18n } from '../../i18n';
|
|
18
|
-
import { EuiIcon } from '../../icon';
|
|
19
19
|
import { EuiScreenReaderOnly } from '../../accessibility';
|
|
20
20
|
import { EuiBadge } from '../../badge';
|
|
21
|
-
import {
|
|
22
|
-
import { euiSelectableListItemStyles } from './selectable_list_item.styles';
|
|
21
|
+
import { EuiListItemLayout } from '../../list_item_layout/_list_item_layout';
|
|
23
22
|
import { jsx as ___EmotionJSX } from "@emotion/react";
|
|
24
|
-
function resolveIconAndColor(checked) {
|
|
25
|
-
switch (checked) {
|
|
26
|
-
case 'on':
|
|
27
|
-
return {
|
|
28
|
-
icon: 'check',
|
|
29
|
-
color: 'text'
|
|
30
|
-
};
|
|
31
|
-
case 'off':
|
|
32
|
-
return {
|
|
33
|
-
icon: 'cross',
|
|
34
|
-
color: 'text'
|
|
35
|
-
};
|
|
36
|
-
case 'mixed':
|
|
37
|
-
return {
|
|
38
|
-
icon: 'minus',
|
|
39
|
-
color: 'text'
|
|
40
|
-
};
|
|
41
|
-
case undefined:
|
|
42
|
-
default:
|
|
43
|
-
return {
|
|
44
|
-
icon: 'empty'
|
|
45
|
-
};
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
export var PADDING_SIZES = ['none', 's'];
|
|
49
23
|
export var EuiSelectableListItem = function EuiSelectableListItem(_ref) {
|
|
50
24
|
var children = _ref.children,
|
|
51
25
|
className = _ref.className,
|
|
@@ -57,46 +31,19 @@ export var EuiSelectableListItem = function EuiSelectableListItem(_ref) {
|
|
|
57
31
|
prepend = _ref.prepend,
|
|
58
32
|
append = _ref.append,
|
|
59
33
|
allowExclusions = _ref.allowExclusions,
|
|
34
|
+
_ref$singleSelection = _ref.singleSelection,
|
|
35
|
+
singleSelection = _ref$singleSelection === void 0 ? true : _ref$singleSelection,
|
|
60
36
|
_ref$onFocusBadge = _ref.onFocusBadge,
|
|
61
|
-
onFocusBadge = _ref$onFocusBadge === void 0 ?
|
|
62
|
-
_ref$paddingSize = _ref.paddingSize,
|
|
63
|
-
paddingSize = _ref$paddingSize === void 0 ? 's' : _ref$paddingSize,
|
|
37
|
+
onFocusBadge = _ref$onFocusBadge === void 0 ? false : _ref$onFocusBadge,
|
|
64
38
|
_ref$role = _ref.role,
|
|
65
39
|
role = _ref$role === void 0 ? 'option' : _ref$role,
|
|
66
40
|
searchable = _ref.searchable,
|
|
67
|
-
_ref$textWrap = _ref.textWrap,
|
|
68
|
-
textWrap = _ref$textWrap === void 0 ? 'truncate' : _ref$textWrap,
|
|
69
41
|
toolTipContent = _ref.toolTipContent,
|
|
70
42
|
toolTipProps = _ref.toolTipProps,
|
|
71
|
-
_ariaDescribedBy = _ref['aria-describedby'],
|
|
72
43
|
rest = _objectWithoutProperties(_ref, _excluded);
|
|
73
44
|
var classes = classNames('euiSelectableListItem', {
|
|
74
45
|
'euiSelectableListItem-isFocused': isFocused
|
|
75
46
|
}, className);
|
|
76
|
-
var styles = useEuiMemoizedStyles(euiSelectableListItemStyles);
|
|
77
|
-
var cssStyles = [styles.euiSelectableListItem, styles.padding[paddingSize]];
|
|
78
|
-
var textStyles = [styles.euiSelectableListItem__text, styles.textWrap[textWrap]];
|
|
79
|
-
var optionIcon = useMemo(function () {
|
|
80
|
-
if (showIcons) {
|
|
81
|
-
var _resolveIconAndColor = resolveIconAndColor(checked),
|
|
82
|
-
icon = _resolveIconAndColor.icon,
|
|
83
|
-
color = _resolveIconAndColor.color;
|
|
84
|
-
return ___EmotionJSX(EuiIcon, {
|
|
85
|
-
css: styles.euiSelectableListItem__icon,
|
|
86
|
-
className: "euiSelectableListItem__icon",
|
|
87
|
-
color: color,
|
|
88
|
-
type: icon
|
|
89
|
-
});
|
|
90
|
-
}
|
|
91
|
-
}, [showIcons, checked, styles]);
|
|
92
|
-
var prependNode = useMemo(function () {
|
|
93
|
-
if (prepend) {
|
|
94
|
-
return ___EmotionJSX("span", {
|
|
95
|
-
css: styles.euiSelectableListItem__prepend,
|
|
96
|
-
className: "euiSelectableListItem__prepend"
|
|
97
|
-
}, prepend);
|
|
98
|
-
}
|
|
99
|
-
}, [prepend, styles]);
|
|
100
47
|
var onFocusBadgeNode = useMemo(function () {
|
|
101
48
|
var defaultOnFocusBadgeProps = {
|
|
102
49
|
'aria-hidden': true,
|
|
@@ -117,15 +64,6 @@ export var EuiSelectableListItem = function EuiSelectableListItem(_ref) {
|
|
|
117
64
|
}, defaultOnFocusBadgeProps, restBadgeProps), _children);
|
|
118
65
|
}
|
|
119
66
|
}, [onFocusBadge]);
|
|
120
|
-
var showOnFocusBadge = !!(isFocused && !disabled && onFocusBadgeNode);
|
|
121
|
-
var appendNode = useMemo(function () {
|
|
122
|
-
if (append || showOnFocusBadge) {
|
|
123
|
-
return ___EmotionJSX("span", {
|
|
124
|
-
css: styles.euiSelectableListItem__append,
|
|
125
|
-
className: "euiSelectableListItem__append"
|
|
126
|
-
}, append, " ", showOnFocusBadge ? onFocusBadgeNode : null);
|
|
127
|
-
}
|
|
128
|
-
}, [append, showOnFocusBadge, onFocusBadgeNode, styles]);
|
|
129
67
|
var screenReaderText = useMemo(function () {
|
|
130
68
|
var state;
|
|
131
69
|
var instructions;
|
|
@@ -195,78 +133,38 @@ export var EuiSelectableListItem = function EuiSelectableListItem(_ref) {
|
|
|
195
133
|
}
|
|
196
134
|
return state || instructions ? ___EmotionJSX(EuiScreenReaderOnly, null, ___EmotionJSX("div", null, state || instructions ? '. ' : null, state, state && instructions ? ' ' : null, instructions)) : null;
|
|
197
135
|
}, [checked, searchable, allowExclusions]);
|
|
198
|
-
|
|
199
|
-
// aria-checked is intended to be used with role="checkbox" but
|
|
200
|
-
// the MDN documentation lists it as a possibility for role="option".
|
|
201
|
-
// See https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-checked
|
|
202
|
-
// and https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles/option_role
|
|
203
|
-
var ariaChecked = useMemo(function () {
|
|
204
|
-
var rolesThatCanBeMixed = ['option', 'checkbox', 'menuitemcheckbox'];
|
|
205
|
-
var rolesThatCanBeChecked = [].concat(rolesThatCanBeMixed, ['radio', 'menuitemradio', 'switch']);
|
|
206
|
-
if (!rolesThatCanBeChecked.includes(role)) return undefined;
|
|
207
|
-
switch (checked) {
|
|
208
|
-
case 'on':
|
|
209
|
-
case 'off':
|
|
210
|
-
return true;
|
|
211
|
-
case 'mixed':
|
|
212
|
-
if (rolesThatCanBeMixed.includes(role)) {
|
|
213
|
-
return 'mixed';
|
|
214
|
-
} else {
|
|
215
|
-
return false;
|
|
216
|
-
}
|
|
217
|
-
default:
|
|
218
|
-
return false;
|
|
219
|
-
}
|
|
220
|
-
}, [role, checked]);
|
|
221
136
|
var hasToolTip = !!toolTipContent && !disabled;
|
|
222
|
-
var
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
setTooltipRef = _useState2[1]; // Needs to be state and not a ref to trigger useEffect
|
|
226
|
-
var _useState3 = useState(_ariaDescribedBy),
|
|
227
|
-
_useState4 = _slicedToArray(_useState3, 2),
|
|
228
|
-
ariaDescribedBy = _useState4[0],
|
|
229
|
-
setAriaDescribedBy = _useState4[1];
|
|
230
|
-
|
|
231
|
-
// Manually trigger the tooltip on keyboard focus
|
|
232
|
-
useEffect(function () {
|
|
233
|
-
if (!tooltipRef) return;
|
|
234
|
-
if (isFocused) {
|
|
235
|
-
tooltipRef.showToolTip();
|
|
236
|
-
} else {
|
|
237
|
-
tooltipRef.hideToolTip();
|
|
238
|
-
}
|
|
239
|
-
}, [isFocused, tooltipRef]);
|
|
240
|
-
|
|
241
|
-
// Manually set the `aria-describedby` id on the <li> wrapper
|
|
242
|
-
useEffect(function () {
|
|
243
|
-
if (tooltipRef) {
|
|
244
|
-
var tooltipId = tooltipRef.id;
|
|
245
|
-
setAriaDescribedBy(classNames(tooltipId, _ariaDescribedBy));
|
|
246
|
-
}
|
|
247
|
-
}, [tooltipRef, _ariaDescribedBy]);
|
|
248
|
-
var content = ___EmotionJSX("span", {
|
|
249
|
-
css: styles.euiSelectableListItem__content,
|
|
250
|
-
className: "euiSelectableListItem__content"
|
|
251
|
-
}, optionIcon, prependNode, ___EmotionJSX("span", {
|
|
252
|
-
css: textStyles,
|
|
253
|
-
className: "euiSelectableListItem__text"
|
|
254
|
-
}, children, screenReaderText), appendNode);
|
|
255
|
-
return ___EmotionJSX("li", _extends({
|
|
137
|
+
var showOnFocusBadge = isFocused && !disabled && !!onFocusBadgeNode;
|
|
138
|
+
var listItemLayoutProps = _objectSpread({
|
|
139
|
+
element: 'li',
|
|
256
140
|
role: role,
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
,
|
|
260
|
-
|
|
261
|
-
,
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
141
|
+
className: classes,
|
|
142
|
+
checked: checked,
|
|
143
|
+
isDisabled: disabled,
|
|
144
|
+
isFocused: !disabled && isFocused,
|
|
145
|
+
isSelected: checked !== undefined,
|
|
146
|
+
isSingleSelection: singleSelection,
|
|
147
|
+
selectionMode: allowExclusions || checked === 'mixed' ? 'checked' : undefined,
|
|
148
|
+
showIndicator: showIcons,
|
|
149
|
+
prepend: prepend,
|
|
150
|
+
prependProps: {
|
|
151
|
+
className: 'euiSelectableListItem__prepend'
|
|
152
|
+
},
|
|
153
|
+
append: (append || showOnFocusBadge) && ___EmotionJSX(React.Fragment, null, append, showOnFocusBadge ? onFocusBadgeNode : null),
|
|
154
|
+
appendProps: {
|
|
155
|
+
className: 'euiSelectableListItem__append'
|
|
156
|
+
},
|
|
157
|
+
contentProps: {
|
|
158
|
+
className: 'euiSelectableListItem__content'
|
|
159
|
+
},
|
|
160
|
+
textProps: {
|
|
161
|
+
className: 'euiSelectableListItem__text'
|
|
162
|
+
},
|
|
163
|
+
tooltipProps: hasToolTip ? _objectSpread({
|
|
164
|
+
content: toolTipContent,
|
|
165
|
+
anchorClassName: 'eui-fullWidth',
|
|
166
|
+
position: 'left'
|
|
167
|
+
}, toolTipProps) : undefined
|
|
168
|
+
}, rest);
|
|
169
|
+
return ___EmotionJSX(EuiListItemLayout, listItemLayoutProps, children, screenReaderText);
|
|
272
170
|
};
|
|
@@ -0,0 +1,17 @@
|
|
|
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
|
+
/**
|
|
10
|
+
* Util to calculate (virtualized) selection list item size
|
|
11
|
+
*/
|
|
12
|
+
export var getListItemSize = function getListItemSize(index, rowHeight, isGroupLabel) {
|
|
13
|
+
if (isGroupLabel && index > 0) {
|
|
14
|
+
return rowHeight + 16; // 16px = the additional 2 * 8px padding of the divider line
|
|
15
|
+
}
|
|
16
|
+
return rowHeight;
|
|
17
|
+
};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/extends";
|
|
2
2
|
import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
|
|
3
|
-
var _excluded = ["onChange", "options", "value", "placeholder", "isPreFiltered", "listId", "className", "optionMatcher"];
|
|
3
|
+
var _excluded = ["onChange", "options", "value", "placeholder", "isPreFiltered", "listId", "className", "optionMatcher", "compressed"];
|
|
4
4
|
/*
|
|
5
5
|
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
|
|
6
6
|
* or more contributor license agreements. Licensed under the Elastic License
|
|
@@ -23,6 +23,8 @@ export var EuiSelectableSearch = function EuiSelectableSearch(_ref) {
|
|
|
23
23
|
listId = _ref.listId,
|
|
24
24
|
className = _ref.className,
|
|
25
25
|
optionMatcher = _ref.optionMatcher,
|
|
26
|
+
_ref$compressed = _ref.compressed,
|
|
27
|
+
compressed = _ref$compressed === void 0 ? true : _ref$compressed,
|
|
26
28
|
rest = _objectWithoutProperties(_ref, _excluded);
|
|
27
29
|
var onChange = useCallback(function (e) {
|
|
28
30
|
var searchValue = e.target.value;
|
|
@@ -50,6 +52,7 @@ export var EuiSelectableSearch = function EuiSelectableSearch(_ref) {
|
|
|
50
52
|
incremental: true,
|
|
51
53
|
fullWidth: true,
|
|
52
54
|
autoComplete: "off",
|
|
55
|
+
compressed: compressed,
|
|
53
56
|
"aria-haspopup": "listbox"
|
|
54
57
|
}, ariaPropsIfListIsPresent, rest));
|
|
55
58
|
};
|
package/optimize/es/components/selectable/selectable_templates/selectable_template_sitewide.js
CHANGED
|
@@ -197,7 +197,7 @@ export var EuiSelectableTemplateSitewide = function EuiSelectableTemplateSitewid
|
|
|
197
197
|
className: searchClasses
|
|
198
198
|
}),
|
|
199
199
|
listProps: _objectSpread(_objectSpread({
|
|
200
|
-
rowHeight:
|
|
200
|
+
rowHeight: 52,
|
|
201
201
|
showIcons: false,
|
|
202
202
|
onFocusBadge: {
|
|
203
203
|
iconSide: 'right',
|
|
@@ -11,14 +11,6 @@ import { css } from '@emotion/react';
|
|
|
11
11
|
import { euiPaletteColorBlind, makeHighContrastColor } from '../../../services';
|
|
12
12
|
import { euiFontSize, logicalCSS } from '../../../global_styling';
|
|
13
13
|
var _ref = process.env.NODE_ENV === "production" ? {
|
|
14
|
-
name: "q12130-euiSelectableTemplateSitewide__listItem",
|
|
15
|
-
styles: "&:hover,&.euiSelectableListItem-isFocused{&:not([aria-disabled='true']){.euiSelectableListItem__text{text-decoration:none;}.euiSelectableTemplateSitewide__listItemTitle{text-decoration:underline;}}};label:euiSelectableTemplateSitewide__listItem;"
|
|
16
|
-
} : {
|
|
17
|
-
name: "q12130-euiSelectableTemplateSitewide__listItem",
|
|
18
|
-
styles: "&:hover,&.euiSelectableListItem-isFocused{&:not([aria-disabled='true']){.euiSelectableListItem__text{text-decoration:none;}.euiSelectableTemplateSitewide__listItemTitle{text-decoration:underline;}}};label:euiSelectableTemplateSitewide__listItem;",
|
|
19
|
-
toString: _EMOTION_STRINGIFIED_CSS_ERROR__
|
|
20
|
-
};
|
|
21
|
-
var _ref2 = process.env.NODE_ENV === "production" ? {
|
|
22
14
|
name: "rsb9r7-euiSelectableTemplateSitewide",
|
|
23
15
|
styles: "display:block;label:euiSelectableTemplateSitewide;"
|
|
24
16
|
} : {
|
|
@@ -30,10 +22,8 @@ export var euiSelectableTemplateSitewideStyles = function euiSelectableTemplateS
|
|
|
30
22
|
var euiTheme = euiThemeContext.euiTheme;
|
|
31
23
|
var visColors = euiPaletteColorBlind();
|
|
32
24
|
return {
|
|
33
|
-
euiSelectableTemplateSitewide:
|
|
34
|
-
|
|
35
|
-
euiSelectableTemplateSitewide__listItem: _ref,
|
|
36
|
-
euiSelectableTemplateSitewide__optionMetasList: /*#__PURE__*/css("display:block;", logicalCSS('margin-top', euiTheme.size.xs), " ", euiFontSize(euiThemeContext, 'xs'), " color:", euiTheme.colors.textSubdued, ";;label:euiSelectableTemplateSitewide__optionMetasList;"),
|
|
25
|
+
euiSelectableTemplateSitewide: _ref,
|
|
26
|
+
euiSelectableTemplateSitewide__optionMetasList: /*#__PURE__*/css("display:block;", euiFontSize(euiThemeContext, 'xs'), " color:", euiTheme.colors.textSubdued, ";;label:euiSelectableTemplateSitewide__optionMetasList;"),
|
|
37
27
|
euiSelectableTemplateSitewide__optionMeta: /*#__PURE__*/css("&:not(:last-of-type)::after{content:'\u2022';", logicalCSS('margin-horizontal', euiTheme.size.xs), " color:", euiTheme.colors.textSubdued, ";};label:euiSelectableTemplateSitewide__optionMeta;"),
|
|
38
28
|
metaTypes: {
|
|
39
29
|
fontWeight: "\n font-weight: ".concat(euiTheme.font.weight.medium, ";\n "),
|
|
@@ -40,7 +40,7 @@ export var euiSelectableTemplateSitewideFormatOptions = function euiSelectableTe
|
|
|
40
40
|
key: item.label,
|
|
41
41
|
title: title
|
|
42
42
|
}, item), {}, {
|
|
43
|
-
css:
|
|
43
|
+
css: item.css,
|
|
44
44
|
className: classNames('euiSelectableTemplateSitewide__listItem', item.className),
|
|
45
45
|
prepend: item.icon ? ___EmotionJSX(EuiIcon, _extends({
|
|
46
46
|
color: "subdued",
|
|
@@ -28,7 +28,7 @@ export var EuiSelectableTemplateSitewidePopover = function EuiSelectableTemplate
|
|
|
28
28
|
rest = _objectWithoutProperties(_ref, _excluded);
|
|
29
29
|
var styles = useEuiMemoizedStyles(euiSelectableTemplateSitewidePopoverStyles);
|
|
30
30
|
return ___EmotionJSX(EuiPopover, _extends({
|
|
31
|
-
panelPaddingSize: "
|
|
31
|
+
panelPaddingSize: "s",
|
|
32
32
|
anchorPosition: "downCenter",
|
|
33
33
|
isOpen: isOpen,
|
|
34
34
|
ownFocus: !!trigger,
|