@elastic/eui 114.3.0 → 116.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/es/components/basic_table/basic_table.js +3 -6
- package/es/components/basic_table/collapsed_item_actions.js +1 -3
- package/es/components/basic_table/default_item_action.js +0 -1
- package/es/components/basic_table/in_memory_table.js +3 -6
- package/es/components/collapsible_nav_beta/_kibana_solution/collapsible_nav_kibana_solution.js +14 -11
- package/es/components/color_picker/color_palette_picker/color_palette_picker.js +0 -1
- package/es/components/color_picker/color_picker_swatch.js +1 -2
- package/es/components/combo_box/combo_box.a11y.js +5 -5
- package/es/components/combo_box/combo_box.js +61 -53
- package/es/components/combo_box/combo_box_options_list/combo_box_options_list.js +147 -84
- package/es/components/combo_box/combo_box_options_list/combo_box_options_list.styles.js +8 -7
- package/es/components/context_menu/context_menu.js +19 -21
- package/es/components/context_menu/context_menu.styles.js +5 -2
- package/es/components/context_menu/context_menu_item.js +69 -58
- package/es/components/context_menu/context_menu_item.styles.js +14 -28
- package/es/components/context_menu/context_menu_panel.js +37 -21
- package/es/components/context_menu/context_menu_panel.styles.js +7 -2
- package/es/components/context_menu/context_menu_panel_title.js +124 -0
- package/es/components/context_menu/context_menu_panel_title.styles.js +20 -0
- package/es/components/context_menu/index.js +2 -1
- package/es/components/datagrid/body/cell/data_grid_cell.js +35 -29
- package/es/components/datagrid/body/data_grid_body.js +23 -17
- package/es/components/datagrid/body/data_grid_body_custom.js +23 -17
- package/es/components/datagrid/body/data_grid_body_virtualized.js +23 -17
- package/es/components/datagrid/body/header/column_actions.js +1 -2
- package/es/components/datagrid/body/header/data_grid_header_cell.js +23 -17
- package/es/components/datagrid/controls/column_sorting.js +23 -17
- package/es/components/datagrid/controls/display_selector.js +1 -2
- package/es/components/datagrid/controls/fullscreen_selector.js +1 -2
- package/es/components/datagrid/controls/keyboard_shortcuts.js +1 -2
- package/es/components/datagrid/utils/in_memory.js +23 -17
- package/es/components/filter_group/filter_group.a11y.js +8 -2
- package/es/components/filter_group/filter_select_item.js +36 -17
- package/es/components/flyout/flyout_menu.js +1 -4
- package/es/components/form/checkbox/checkbox.js +6 -6
- package/es/components/form/checkbox/checkbox.styles.js +1 -22
- package/es/components/form/checkbox/checkbox_control.js +78 -0
- package/es/components/form/checkbox/checkbox_control.styles.js +40 -0
- package/es/components/form/checkbox/index.js +1 -0
- package/es/components/form/form.styles.js +2 -1
- package/es/components/form/radio/radio.styles.js +1 -1
- package/es/components/form/super_select/super_select.js +118 -99
- package/es/components/form/super_select/super_select.styles.js +4 -8
- package/es/components/form/super_select/super_select_item.js +10 -18
- package/es/components/key_pad_menu/key_pad_menu_item.js +1 -2
- package/es/components/link/external_link_icon.js +4 -2
- package/es/components/list_group/list_group.js +20 -34
- package/es/components/list_group/list_group.styles.js +2 -16
- package/es/components/list_group/list_group_item.js +75 -87
- package/es/components/list_group/list_group_item.styles.js +17 -61
- package/es/components/list_group/list_group_item_extra_action.styles.js +6 -6
- package/es/components/list_group/pinnable_list_group/pinnable_list_group.js +16 -28
- package/es/components/list_item_layout/_list_item_layout.js +692 -0
- package/es/components/list_item_layout/_list_item_layout.styles.js +93 -0
- package/es/components/list_item_layout/index.js +9 -0
- package/es/components/markdown_editor/markdown_editor.js +1 -1
- package/es/components/markdown_editor/markdown_editor_drop_zone.js +6 -3
- package/es/components/markdown_editor/markdown_editor_footer.js +1 -1
- package/es/components/markdown_editor/markdown_editor_toolbar.js +14 -10
- package/es/components/portal/portal.js +72 -117
- package/es/components/search_bar/filters/field_value_selection_filter.js +2 -1
- package/es/components/search_bar/filters/field_value_toggle_group_filter.js +42 -91
- package/es/components/selectable/selectable.js +1 -0
- package/es/components/selectable/selectable_list/selectable_list.js +52 -36
- package/es/components/selectable/selectable_list/selectable_list.styles.js +19 -4
- package/es/components/selectable/selectable_list/selectable_list_item.js +45 -152
- package/es/components/selectable/selectable_list/utils/get_list_item_size.js +17 -0
- package/es/components/selectable/selectable_search/selectable_search.js +4 -1
- package/es/components/selectable/selectable_templates/selectable_template_sitewide.js +1 -1
- package/es/components/selectable/selectable_templates/selectable_template_sitewide.styles.js +2 -12
- package/es/components/selectable/selectable_templates/selectable_template_sitewide_option.js +1 -1
- package/es/components/selectable/selectable_templates/selectable_template_sitewide_popover.js +1 -1
- package/es/components/table/table_header_cell.js +1 -2
- package/es/components/tool_tip/icon_tip.js +4 -8
- package/es/components/tool_tip/tool_tip.js +233 -261
- package/es/components/tool_tip/tool_tip.styles.js +10 -18
- package/es/components/tool_tip/tool_tip_anchor.js +3 -3
- package/es/components/tool_tip/tool_tip_manager.js +1 -0
- package/es/components/tool_tip/tool_tip_popover.js +7 -7
- package/es/global_styling/mixins/_helpers.js +32 -11
- package/es/test/rtl/component_helpers.d.ts +0 -3
- package/es/test/rtl/component_helpers.js +40 -62
- package/eui.d.ts +10463 -8188
- package/i18ntokens.json +2607 -2589
- package/lib/components/basic_table/basic_table.js +3 -6
- package/lib/components/basic_table/collapsed_item_actions.js +1 -3
- package/lib/components/basic_table/default_item_action.js +0 -1
- package/lib/components/basic_table/in_memory_table.js +3 -6
- package/lib/components/collapsible_nav_beta/_kibana_solution/collapsible_nav_kibana_solution.js +14 -11
- package/lib/components/color_picker/color_palette_picker/color_palette_picker.js +0 -1
- package/lib/components/color_picker/color_picker_swatch.js +1 -2
- package/lib/components/combo_box/combo_box.a11y.js +5 -5
- package/lib/components/combo_box/combo_box.js +61 -53
- package/lib/components/combo_box/combo_box_options_list/combo_box_options_list.js +145 -82
- package/lib/components/combo_box/combo_box_options_list/combo_box_options_list.styles.js +7 -6
- package/lib/components/context_menu/context_menu.js +20 -22
- package/lib/components/context_menu/context_menu.styles.js +4 -1
- package/lib/components/context_menu/context_menu_item.js +70 -59
- package/lib/components/context_menu/context_menu_item.styles.js +13 -27
- package/lib/components/context_menu/context_menu_panel.js +37 -21
- package/lib/components/context_menu/context_menu_panel.styles.js +7 -2
- package/lib/components/context_menu/context_menu_panel_title.js +130 -0
- package/lib/components/context_menu/context_menu_panel_title.styles.js +26 -0
- package/lib/components/context_menu/index.js +8 -1
- package/lib/components/datagrid/body/cell/data_grid_cell.js +35 -29
- package/lib/components/datagrid/body/data_grid_body.js +23 -17
- package/lib/components/datagrid/body/data_grid_body_custom.js +23 -17
- package/lib/components/datagrid/body/data_grid_body_virtualized.js +23 -17
- package/lib/components/datagrid/body/header/column_actions.js +1 -2
- package/lib/components/datagrid/body/header/data_grid_header_cell.js +23 -17
- package/lib/components/datagrid/controls/column_sorting.js +23 -17
- package/lib/components/datagrid/controls/display_selector.js +1 -2
- package/lib/components/datagrid/controls/fullscreen_selector.js +1 -2
- package/lib/components/datagrid/controls/keyboard_shortcuts.js +1 -2
- package/lib/components/datagrid/utils/in_memory.js +23 -17
- package/lib/components/filter_group/filter_group.a11y.js +8 -2
- package/lib/components/filter_group/filter_select_item.js +35 -16
- package/lib/components/flyout/flyout_menu.js +1 -4
- package/lib/components/form/checkbox/checkbox.js +6 -6
- package/lib/components/form/checkbox/checkbox.styles.js +1 -22
- package/lib/components/form/checkbox/checkbox_control.js +84 -0
- package/lib/components/form/checkbox/checkbox_control.styles.js +44 -0
- package/lib/components/form/checkbox/index.js +7 -0
- package/lib/components/form/form.styles.js +2 -1
- package/lib/components/form/radio/radio.styles.js +1 -1
- package/lib/components/form/super_select/super_select.js +116 -97
- package/lib/components/form/super_select/super_select.styles.js +4 -8
- package/lib/components/form/super_select/super_select_item.js +13 -18
- package/lib/components/key_pad_menu/key_pad_menu_item.js +1 -2
- package/lib/components/link/external_link_icon.js +4 -2
- package/lib/components/list_group/list_group.js +21 -35
- package/lib/components/list_group/list_group.styles.js +2 -16
- package/lib/components/list_group/list_group_item.js +75 -87
- package/lib/components/list_group/list_group_item.styles.js +17 -61
- package/lib/components/list_group/list_group_item_extra_action.styles.js +5 -5
- package/lib/components/list_group/pinnable_list_group/pinnable_list_group.js +16 -28
- package/lib/components/list_item_layout/_list_item_layout.js +699 -0
- package/lib/components/list_item_layout/_list_item_layout.styles.js +97 -0
- package/lib/components/list_item_layout/index.js +12 -0
- package/lib/components/markdown_editor/markdown_editor.js +1 -1
- package/lib/components/markdown_editor/markdown_editor_drop_zone.js +6 -3
- package/lib/components/markdown_editor/markdown_editor_footer.js +1 -1
- package/lib/components/markdown_editor/markdown_editor_toolbar.js +12 -10
- package/lib/components/portal/portal.js +73 -118
- package/lib/components/search_bar/filters/field_value_selection_filter.js +2 -1
- package/lib/components/search_bar/filters/field_value_toggle_group_filter.js +44 -93
- package/lib/components/selectable/selectable.js +1 -0
- package/lib/components/selectable/selectable_list/selectable_list.js +50 -34
- package/lib/components/selectable/selectable_list/selectable_list.styles.js +20 -5
- package/lib/components/selectable/selectable_list/selectable_list_item.js +44 -152
- package/lib/components/selectable/selectable_list/utils/get_list_item_size.js +23 -0
- package/lib/components/selectable/selectable_search/selectable_search.js +4 -1
- package/lib/components/selectable/selectable_templates/selectable_template_sitewide.js +1 -1
- package/lib/components/selectable/selectable_templates/selectable_template_sitewide.styles.js +2 -12
- package/lib/components/selectable/selectable_templates/selectable_template_sitewide_option.js +1 -1
- package/lib/components/selectable/selectable_templates/selectable_template_sitewide_popover.js +1 -1
- package/lib/components/table/table_header_cell.js +1 -2
- package/lib/components/tool_tip/icon_tip.js +4 -8
- package/lib/components/tool_tip/tool_tip.js +240 -266
- package/lib/components/tool_tip/tool_tip.styles.js +8 -16
- package/lib/components/tool_tip/tool_tip_anchor.js +2 -2
- package/lib/components/tool_tip/tool_tip_manager.js +1 -0
- package/lib/components/tool_tip/tool_tip_popover.js +6 -6
- package/lib/global_styling/mixins/_helpers.js +33 -12
- package/lib/test/rtl/component_helpers.d.ts +0 -3
- package/lib/test/rtl/component_helpers.js +41 -63
- package/optimize/es/components/basic_table/collapsed_item_actions.js +1 -3
- package/optimize/es/components/basic_table/default_item_action.js +0 -1
- package/optimize/es/components/collapsible_nav_beta/_kibana_solution/collapsible_nav_kibana_solution.js +1 -4
- package/optimize/es/components/color_picker/color_palette_picker/color_palette_picker.js +0 -1
- package/optimize/es/components/combo_box/combo_box.a11y.js +5 -5
- package/optimize/es/components/combo_box/combo_box.js +60 -52
- package/optimize/es/components/combo_box/combo_box_options_list/combo_box_options_list.js +145 -83
- package/optimize/es/components/combo_box/combo_box_options_list/combo_box_options_list.styles.js +8 -7
- package/optimize/es/components/context_menu/context_menu.js +18 -13
- package/optimize/es/components/context_menu/context_menu.styles.js +5 -2
- package/optimize/es/components/context_menu/context_menu_item.js +55 -53
- package/optimize/es/components/context_menu/context_menu_item.styles.js +14 -28
- package/optimize/es/components/context_menu/context_menu_panel.js +36 -17
- package/optimize/es/components/context_menu/context_menu_panel.styles.js +7 -2
- package/optimize/es/components/context_menu/context_menu_panel_title.js +53 -0
- package/optimize/es/components/context_menu/context_menu_panel_title.styles.js +20 -0
- package/optimize/es/components/context_menu/index.js +2 -1
- package/optimize/es/components/datagrid/body/header/column_actions.js +1 -2
- package/optimize/es/components/datagrid/controls/display_selector.js +1 -2
- package/optimize/es/components/datagrid/controls/fullscreen_selector.js +1 -2
- package/optimize/es/components/datagrid/controls/keyboard_shortcuts.js +1 -2
- package/optimize/es/components/filter_group/filter_group.a11y.js +8 -2
- package/optimize/es/components/filter_group/filter_select_item.js +36 -17
- package/optimize/es/components/flyout/flyout_menu.js +1 -4
- package/optimize/es/components/form/checkbox/checkbox.js +6 -6
- package/optimize/es/components/form/checkbox/checkbox.styles.js +1 -22
- package/optimize/es/components/form/checkbox/checkbox_control.js +48 -0
- package/optimize/es/components/form/checkbox/checkbox_control.styles.js +40 -0
- package/optimize/es/components/form/checkbox/index.js +1 -0
- package/optimize/es/components/form/form.styles.js +2 -1
- package/optimize/es/components/form/radio/radio.styles.js +1 -1
- package/optimize/es/components/form/super_select/super_select.js +118 -90
- package/optimize/es/components/form/super_select/super_select.styles.js +4 -8
- package/optimize/es/components/form/super_select/super_select_item.js +10 -14
- package/optimize/es/components/key_pad_menu/key_pad_menu_item.js +1 -2
- package/optimize/es/components/link/external_link_icon.js +4 -2
- package/optimize/es/components/list_group/list_group.js +7 -14
- package/optimize/es/components/list_group/list_group.styles.js +2 -16
- package/optimize/es/components/list_group/list_group_item.js +62 -80
- package/optimize/es/components/list_group/list_group_item.styles.js +17 -61
- package/optimize/es/components/list_group/list_group_item_extra_action.styles.js +6 -6
- package/optimize/es/components/list_item_layout/_list_item_layout.js +353 -0
- package/optimize/es/components/list_item_layout/_list_item_layout.styles.js +93 -0
- package/optimize/es/components/list_item_layout/index.js +9 -0
- package/optimize/es/components/markdown_editor/markdown_editor_drop_zone.js +5 -2
- package/optimize/es/components/markdown_editor/markdown_editor_toolbar.js +13 -9
- package/optimize/es/components/portal/portal.js +65 -91
- package/optimize/es/components/search_bar/filters/field_value_selection_filter.js +2 -1
- package/optimize/es/components/search_bar/filters/field_value_toggle_group_filter.js +43 -66
- package/optimize/es/components/selectable/selectable_list/selectable_list.js +48 -33
- package/optimize/es/components/selectable/selectable_list/selectable_list.styles.js +19 -4
- package/optimize/es/components/selectable/selectable_list/selectable_list_item.js +41 -143
- package/optimize/es/components/selectable/selectable_list/utils/get_list_item_size.js +17 -0
- package/optimize/es/components/selectable/selectable_search/selectable_search.js +4 -1
- package/optimize/es/components/selectable/selectable_templates/selectable_template_sitewide.js +1 -1
- package/optimize/es/components/selectable/selectable_templates/selectable_template_sitewide.styles.js +2 -12
- package/optimize/es/components/selectable/selectable_templates/selectable_template_sitewide_option.js +1 -1
- package/optimize/es/components/selectable/selectable_templates/selectable_template_sitewide_popover.js +1 -1
- package/optimize/es/components/tool_tip/icon_tip.js +3 -5
- package/optimize/es/components/tool_tip/tool_tip.js +227 -250
- package/optimize/es/components/tool_tip/tool_tip.styles.js +10 -18
- package/optimize/es/components/tool_tip/tool_tip_anchor.js +3 -3
- package/optimize/es/components/tool_tip/tool_tip_manager.js +1 -0
- package/optimize/es/components/tool_tip/tool_tip_popover.js +7 -7
- package/optimize/es/global_styling/mixins/_helpers.js +32 -11
- package/optimize/es/test/rtl/component_helpers.d.ts +0 -3
- package/optimize/es/test/rtl/component_helpers.js +40 -62
- package/optimize/lib/components/basic_table/collapsed_item_actions.js +1 -3
- package/optimize/lib/components/basic_table/default_item_action.js +0 -1
- package/optimize/lib/components/collapsible_nav_beta/_kibana_solution/collapsible_nav_kibana_solution.js +1 -4
- package/optimize/lib/components/color_picker/color_palette_picker/color_palette_picker.js +0 -1
- package/optimize/lib/components/combo_box/combo_box.a11y.js +5 -5
- package/optimize/lib/components/combo_box/combo_box.js +60 -52
- package/optimize/lib/components/combo_box/combo_box_options_list/combo_box_options_list.js +143 -81
- package/optimize/lib/components/combo_box/combo_box_options_list/combo_box_options_list.styles.js +7 -6
- package/optimize/lib/components/context_menu/context_menu.js +19 -14
- package/optimize/lib/components/context_menu/context_menu.styles.js +4 -1
- package/optimize/lib/components/context_menu/context_menu_item.js +56 -54
- package/optimize/lib/components/context_menu/context_menu_item.styles.js +13 -27
- package/optimize/lib/components/context_menu/context_menu_panel.js +36 -17
- package/optimize/lib/components/context_menu/context_menu_panel.styles.js +7 -2
- package/optimize/lib/components/context_menu/context_menu_panel_title.js +59 -0
- package/optimize/lib/components/context_menu/context_menu_panel_title.styles.js +26 -0
- package/optimize/lib/components/context_menu/index.js +8 -1
- package/optimize/lib/components/datagrid/body/header/column_actions.js +1 -2
- package/optimize/lib/components/datagrid/controls/display_selector.js +1 -2
- package/optimize/lib/components/datagrid/controls/fullscreen_selector.js +1 -2
- package/optimize/lib/components/datagrid/controls/keyboard_shortcuts.js +1 -2
- package/optimize/lib/components/filter_group/filter_group.a11y.js +8 -2
- package/optimize/lib/components/filter_group/filter_select_item.js +35 -16
- package/optimize/lib/components/flyout/flyout_menu.js +1 -4
- package/optimize/lib/components/form/checkbox/checkbox.js +6 -6
- package/optimize/lib/components/form/checkbox/checkbox.styles.js +1 -22
- package/optimize/lib/components/form/checkbox/checkbox_control.js +54 -0
- package/optimize/lib/components/form/checkbox/checkbox_control.styles.js +44 -0
- package/optimize/lib/components/form/checkbox/index.js +7 -0
- package/optimize/lib/components/form/form.styles.js +2 -1
- package/optimize/lib/components/form/radio/radio.styles.js +1 -1
- package/optimize/lib/components/form/super_select/super_select.js +116 -88
- package/optimize/lib/components/form/super_select/super_select.styles.js +4 -8
- package/optimize/lib/components/form/super_select/super_select_item.js +13 -14
- package/optimize/lib/components/key_pad_menu/key_pad_menu_item.js +1 -2
- package/optimize/lib/components/link/external_link_icon.js +4 -2
- package/optimize/lib/components/list_group/list_group.js +8 -15
- package/optimize/lib/components/list_group/list_group.styles.js +2 -16
- package/optimize/lib/components/list_group/list_group_item.js +62 -80
- package/optimize/lib/components/list_group/list_group_item.styles.js +17 -61
- package/optimize/lib/components/list_group/list_group_item_extra_action.styles.js +5 -5
- package/optimize/lib/components/list_item_layout/_list_item_layout.js +361 -0
- package/optimize/lib/components/list_item_layout/_list_item_layout.styles.js +97 -0
- package/optimize/lib/components/list_item_layout/index.js +12 -0
- package/optimize/lib/components/markdown_editor/markdown_editor_drop_zone.js +5 -2
- package/optimize/lib/components/markdown_editor/markdown_editor_toolbar.js +13 -9
- package/optimize/lib/components/portal/portal.js +68 -93
- package/optimize/lib/components/search_bar/filters/field_value_selection_filter.js +2 -1
- package/optimize/lib/components/search_bar/filters/field_value_toggle_group_filter.js +45 -69
- package/optimize/lib/components/selectable/selectable_list/selectable_list.js +46 -31
- package/optimize/lib/components/selectable/selectable_list/selectable_list.styles.js +20 -5
- package/optimize/lib/components/selectable/selectable_list/selectable_list_item.js +41 -143
- package/optimize/lib/components/selectable/selectable_list/utils/get_list_item_size.js +23 -0
- package/optimize/lib/components/selectable/selectable_search/selectable_search.js +4 -1
- package/optimize/lib/components/selectable/selectable_templates/selectable_template_sitewide.js +1 -1
- package/optimize/lib/components/selectable/selectable_templates/selectable_template_sitewide.styles.js +2 -12
- package/optimize/lib/components/selectable/selectable_templates/selectable_template_sitewide_option.js +1 -1
- package/optimize/lib/components/selectable/selectable_templates/selectable_template_sitewide_popover.js +1 -1
- package/optimize/lib/components/tool_tip/icon_tip.js +3 -5
- package/optimize/lib/components/tool_tip/tool_tip.js +229 -251
- package/optimize/lib/components/tool_tip/tool_tip.styles.js +8 -16
- package/optimize/lib/components/tool_tip/tool_tip_anchor.js +2 -2
- package/optimize/lib/components/tool_tip/tool_tip_manager.js +1 -0
- package/optimize/lib/components/tool_tip/tool_tip_popover.js +6 -6
- package/optimize/lib/global_styling/mixins/_helpers.js +33 -12
- package/optimize/lib/test/rtl/component_helpers.d.ts +0 -3
- package/optimize/lib/test/rtl/component_helpers.js +41 -63
- package/package.json +5 -13
- package/test-env/components/basic_table/basic_table.js +3 -6
- package/test-env/components/basic_table/collapsed_item_actions.js +1 -3
- package/test-env/components/basic_table/default_item_action.js +0 -1
- package/test-env/components/basic_table/in_memory_table.js +3 -6
- package/test-env/components/collapsible_nav_beta/_kibana_solution/collapsible_nav_kibana_solution.js +14 -11
- package/test-env/components/color_picker/color_palette_picker/color_palette_picker.js +0 -1
- package/test-env/components/color_picker/color_picker_swatch.js +1 -2
- package/test-env/components/combo_box/combo_box.a11y.js +5 -5
- package/test-env/components/combo_box/combo_box.js +61 -53
- package/test-env/components/combo_box/combo_box_options_list/combo_box_options_list.js +145 -82
- package/test-env/components/combo_box/combo_box_options_list/combo_box_options_list.styles.js +7 -6
- package/test-env/components/context_menu/context_menu.js +20 -22
- package/test-env/components/context_menu/context_menu.styles.js +4 -1
- package/test-env/components/context_menu/context_menu_item.js +67 -59
- package/test-env/components/context_menu/context_menu_item.styles.js +13 -27
- package/test-env/components/context_menu/context_menu_panel.js +37 -21
- package/test-env/components/context_menu/context_menu_panel.styles.js +7 -2
- package/test-env/components/context_menu/context_menu_panel_title.js +129 -0
- package/test-env/components/context_menu/context_menu_panel_title.styles.js +26 -0
- package/test-env/components/context_menu/index.js +8 -1
- package/test-env/components/datagrid/body/cell/data_grid_cell.js +35 -29
- package/test-env/components/datagrid/body/data_grid_body.js +23 -17
- package/test-env/components/datagrid/body/data_grid_body_custom.js +23 -17
- package/test-env/components/datagrid/body/data_grid_body_virtualized.js +23 -17
- package/test-env/components/datagrid/body/header/column_actions.js +1 -2
- package/test-env/components/datagrid/body/header/data_grid_header_cell.js +23 -17
- package/test-env/components/datagrid/controls/column_sorting.js +23 -17
- package/test-env/components/datagrid/controls/display_selector.js +1 -2
- package/test-env/components/datagrid/controls/fullscreen_selector.js +1 -2
- package/test-env/components/datagrid/controls/keyboard_shortcuts.js +1 -2
- package/test-env/components/datagrid/utils/in_memory.js +23 -17
- package/test-env/components/filter_group/filter_group.a11y.js +8 -2
- package/test-env/components/filter_group/filter_select_item.js +35 -16
- package/test-env/components/flyout/flyout_menu.js +1 -4
- package/test-env/components/form/checkbox/checkbox.js +6 -6
- package/test-env/components/form/checkbox/checkbox.styles.js +1 -22
- package/test-env/components/form/checkbox/checkbox_control.js +83 -0
- package/test-env/components/form/checkbox/checkbox_control.styles.js +44 -0
- package/test-env/components/form/checkbox/index.js +7 -0
- package/test-env/components/form/form.styles.js +2 -1
- package/test-env/components/form/radio/radio.styles.js +1 -1
- package/test-env/components/form/super_select/super_select.js +116 -97
- package/test-env/components/form/super_select/super_select.styles.js +4 -8
- package/test-env/components/form/super_select/super_select_item.js +13 -18
- package/test-env/components/key_pad_menu/key_pad_menu_item.js +1 -2
- package/test-env/components/link/external_link_icon.js +4 -2
- package/test-env/components/list_group/list_group.js +21 -35
- package/test-env/components/list_group/list_group.styles.js +2 -16
- package/test-env/components/list_group/list_group_item.js +75 -87
- package/test-env/components/list_group/list_group_item.styles.js +17 -61
- package/test-env/components/list_group/list_group_item_extra_action.styles.js +5 -5
- package/test-env/components/list_group/pinnable_list_group/pinnable_list_group.js +16 -28
- package/test-env/components/list_item_layout/_list_item_layout.js +691 -0
- package/test-env/components/list_item_layout/_list_item_layout.styles.js +97 -0
- package/test-env/components/list_item_layout/index.js +12 -0
- package/test-env/components/markdown_editor/markdown_editor.js +1 -1
- package/test-env/components/markdown_editor/markdown_editor_drop_zone.js +6 -3
- package/test-env/components/markdown_editor/markdown_editor_footer.js +1 -1
- package/test-env/components/markdown_editor/markdown_editor_toolbar.js +14 -10
- package/test-env/components/portal/portal.js +70 -113
- package/test-env/components/search_bar/filters/field_value_selection_filter.js +2 -1
- package/test-env/components/search_bar/filters/field_value_toggle_group_filter.js +44 -88
- package/test-env/components/selectable/selectable.js +1 -0
- package/test-env/components/selectable/selectable_list/selectable_list.js +50 -34
- package/test-env/components/selectable/selectable_list/selectable_list.styles.js +20 -5
- package/test-env/components/selectable/selectable_list/selectable_list_item.js +42 -147
- package/test-env/components/selectable/selectable_list/utils/get_list_item_size.js +23 -0
- package/test-env/components/selectable/selectable_search/selectable_search.js +4 -1
- package/test-env/components/selectable/selectable_templates/selectable_template_sitewide.js +1 -1
- package/test-env/components/selectable/selectable_templates/selectable_template_sitewide.styles.js +2 -12
- package/test-env/components/selectable/selectable_templates/selectable_template_sitewide_option.js +1 -1
- package/test-env/components/selectable/selectable_templates/selectable_template_sitewide_popover.js +1 -1
- package/test-env/components/table/table_header_cell.js +1 -2
- package/test-env/components/tool_tip/icon_tip.js +4 -8
- package/test-env/components/tool_tip/tool_tip.js +230 -256
- package/test-env/components/tool_tip/tool_tip.styles.js +8 -16
- package/test-env/components/tool_tip/tool_tip_anchor.js +2 -2
- package/test-env/components/tool_tip/tool_tip_manager.js +1 -0
- package/test-env/components/tool_tip/tool_tip_popover.js +6 -6
- package/test-env/global_styling/mixins/_helpers.js +33 -12
- package/test-env/test/rtl/component_helpers.js +41 -63
- package/es/components/selectable/selectable_list/selectable_list_item.styles.js +0 -55
- package/lib/components/selectable/selectable_list/selectable_list_item.styles.js +0 -59
- package/optimize/es/components/selectable/selectable_list/selectable_list_item.styles.js +0 -55
- package/optimize/lib/components/selectable/selectable_list/selectable_list_item.styles.js +0 -59
- package/test-env/components/selectable/selectable_list/selectable_list_item.styles.js +0 -59
|
@@ -1,11 +1,4 @@
|
|
|
1
|
-
import
|
|
2
|
-
import _createClass from "@babel/runtime/helpers/createClass";
|
|
3
|
-
import _possibleConstructorReturn from "@babel/runtime/helpers/possibleConstructorReturn";
|
|
4
|
-
import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf";
|
|
5
|
-
import _inherits from "@babel/runtime/helpers/inherits";
|
|
6
|
-
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
7
|
-
function _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }
|
|
8
|
-
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
|
|
1
|
+
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
9
2
|
/*
|
|
10
3
|
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
|
|
11
4
|
* or more contributor license agreements. Licensed under the Elastic License
|
|
@@ -14,99 +7,80 @@ function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.
|
|
|
14
7
|
* Side Public License, v 1.
|
|
15
8
|
*/
|
|
16
9
|
|
|
17
|
-
|
|
18
|
-
* NOTE: We can't test this component because Enzyme doesn't support rendering
|
|
19
|
-
* into portals.
|
|
20
|
-
*/
|
|
21
|
-
|
|
22
|
-
import React, { Component } from 'react';
|
|
10
|
+
import { memo, useContext, useEffect, useLayoutEffect, useRef, useState } from 'react';
|
|
23
11
|
import { createPortal } from 'react-dom';
|
|
24
12
|
import { EuiNestedThemeContext } from '../../services';
|
|
25
13
|
import { usePropsWithComponentDefaults } from '../provider/component_defaults';
|
|
26
|
-
|
|
14
|
+
var usePortalEffect = typeof document === 'undefined' ? useEffect : useLayoutEffect;
|
|
27
15
|
var INSERT_POSITIONS = ['after', 'before'];
|
|
28
16
|
var insertPositions = {
|
|
29
17
|
after: 'afterend',
|
|
30
18
|
before: 'beforebegin'
|
|
31
19
|
};
|
|
32
|
-
export var EuiPortal = function
|
|
33
|
-
var
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
}
|
|
46
|
-
_inherits(EuiPortalClass, _Component);
|
|
47
|
-
return _createClass(EuiPortalClass, [{
|
|
48
|
-
key: "componentDidMount",
|
|
49
|
-
value: function componentDidMount() {
|
|
50
|
-
var insert = this.props.insert;
|
|
51
|
-
var portalNode = document.createElement('div');
|
|
52
|
-
portalNode.dataset.euiportal = 'true';
|
|
53
|
-
if (insert == null) {
|
|
54
|
-
// no insertion defined, append to body
|
|
55
|
-
document.body.appendChild(portalNode);
|
|
56
|
-
} else {
|
|
57
|
-
// inserting before or after an element
|
|
58
|
-
var sibling = insert.sibling,
|
|
59
|
-
position = insert.position;
|
|
60
|
-
sibling.insertAdjacentElement(insertPositions[position], portalNode);
|
|
61
|
-
}
|
|
62
|
-
this.setThemeColor(portalNode);
|
|
63
|
-
this.updatePortalRef(portalNode);
|
|
20
|
+
export var EuiPortal = /*#__PURE__*/memo(function (_props) {
|
|
21
|
+
var props = usePropsWithComponentDefaults('EuiPortal', _props);
|
|
22
|
+
var children = props.children,
|
|
23
|
+
insert = props.insert,
|
|
24
|
+
setPortalRef = props.portalRef;
|
|
25
|
+
var portalRef = useRef(setPortalRef);
|
|
26
|
+
var _useContext = useContext(EuiNestedThemeContext),
|
|
27
|
+
hasDifferentColorFromGlobalTheme = _useContext.hasDifferentColorFromGlobalTheme,
|
|
28
|
+
colorClassName = _useContext.colorClassName;
|
|
29
|
+
var _useState = useState(null),
|
|
30
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
31
|
+
portalNode = _useState2[0],
|
|
32
|
+
setPortalNode = _useState2[1];
|
|
64
33
|
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
});
|
|
70
|
-
}
|
|
71
|
-
}, {
|
|
72
|
-
key: "componentWillUnmount",
|
|
73
|
-
value: function componentWillUnmount() {
|
|
74
|
-
var portalNode = this.state.portalNode;
|
|
75
|
-
if (portalNode !== null && portalNode !== void 0 && portalNode.parentNode) {
|
|
76
|
-
portalNode.parentNode.removeChild(portalNode);
|
|
77
|
-
}
|
|
78
|
-
this.updatePortalRef(null);
|
|
34
|
+
// Set the inherited color of the portal based on the wrapping EuiThemeProvider
|
|
35
|
+
var setThemeColor = function setThemeColor(portalNode) {
|
|
36
|
+
if (hasDifferentColorFromGlobalTheme && insert == null) {
|
|
37
|
+
portalNode.classList.add(colorClassName);
|
|
79
38
|
}
|
|
39
|
+
};
|
|
40
|
+
var updatePortalRef = function updatePortalRef(ref) {
|
|
41
|
+
var _portalRef$current;
|
|
42
|
+
(_portalRef$current = portalRef.current) === null || _portalRef$current === void 0 || _portalRef$current.call(portalRef, ref);
|
|
43
|
+
};
|
|
44
|
+
useEffect(function () {
|
|
45
|
+
portalRef.current = setPortalRef;
|
|
46
|
+
}, [setPortalRef]);
|
|
80
47
|
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
}
|
|
48
|
+
/* Uses `useLayoutEffect` on client-side instead of `useEffect` to ensure the portal
|
|
49
|
+
node is created and inserted into the DOM synchronously. This matches the same timing
|
|
50
|
+
as the previous class component `componentDidMount` behavior.
|
|
51
|
+
Using `useEffect` would add an additional render cycle that would break expected
|
|
52
|
+
behavior of e.g. `@hello-pangea/dnd` which handles keyboard focus and doesn't expect
|
|
53
|
+
a rerender. This falls back to `useEffect` for SSR to avoid console errors. `useEffect` will
|
|
54
|
+
be a no-op, same as `componentDidMount` */
|
|
55
|
+
usePortalEffect(function () {
|
|
56
|
+
var node = document.createElement('div');
|
|
57
|
+
node.dataset.euiportal = 'true';
|
|
58
|
+
if (insert == null) {
|
|
59
|
+
// no insertion defined, append to body
|
|
60
|
+
document.body.appendChild(node);
|
|
61
|
+
} else {
|
|
62
|
+
// inserting before or after an element
|
|
63
|
+
var sibling = insert.sibling,
|
|
64
|
+
position = insert.position;
|
|
65
|
+
sibling.insertAdjacentElement(insertPositions[position], node);
|
|
100
66
|
}
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
67
|
+
setThemeColor(node);
|
|
68
|
+
updatePortalRef(node);
|
|
69
|
+
|
|
70
|
+
// Update state with portalNode to intentionally trigger component rerender
|
|
71
|
+
// and call createPortal with the correct root element
|
|
72
|
+
setPortalNode(node);
|
|
73
|
+
return function () {
|
|
74
|
+
if (node !== null && node !== void 0 && node.parentNode) {
|
|
75
|
+
node.parentNode.removeChild(node);
|
|
107
76
|
}
|
|
108
|
-
|
|
109
|
-
}
|
|
110
|
-
|
|
111
|
-
}
|
|
112
|
-
|
|
77
|
+
updatePortalRef(null);
|
|
78
|
+
};
|
|
79
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps -- on mount only
|
|
80
|
+
}, []);
|
|
81
|
+
if (!portalNode) {
|
|
82
|
+
return null;
|
|
83
|
+
}
|
|
84
|
+
return /*#__PURE__*/createPortal(children, portalNode);
|
|
85
|
+
});
|
|
86
|
+
EuiPortal.displayName = 'EuiPortal';
|
|
@@ -350,7 +350,8 @@ export var FieldValueSelectionFilter = /*#__PURE__*/function (_Component) {
|
|
|
350
350
|
noMatchesMessage: config.noOptionsMessage,
|
|
351
351
|
listProps: {
|
|
352
352
|
isVirtualized: isOverSearchThreshold || false,
|
|
353
|
-
autoFocus: true
|
|
353
|
+
autoFocus: true,
|
|
354
|
+
paddingSize: 's'
|
|
354
355
|
},
|
|
355
356
|
onChange: function onChange(options, event, changedOption) {
|
|
356
357
|
if (changedOption.data) {
|
|
@@ -1,10 +1,3 @@
|
|
|
1
|
-
import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
|
|
2
|
-
import _createClass from "@babel/runtime/helpers/createClass";
|
|
3
|
-
import _possibleConstructorReturn from "@babel/runtime/helpers/possibleConstructorReturn";
|
|
4
|
-
import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf";
|
|
5
|
-
import _inherits from "@babel/runtime/helpers/inherits";
|
|
6
|
-
function _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }
|
|
7
|
-
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
|
|
8
1
|
/*
|
|
9
2
|
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
|
|
10
3
|
* or more contributor license agreements. Licensed under the Elastic License
|
|
@@ -13,72 +6,56 @@ function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.
|
|
|
13
6
|
* Side Public License, v 1.
|
|
14
7
|
*/
|
|
15
8
|
|
|
16
|
-
import React
|
|
9
|
+
import React from 'react';
|
|
17
10
|
import { EuiFilterButton } from '../../filter_group';
|
|
18
11
|
import { Query } from '../query';
|
|
19
12
|
import { jsx as ___EmotionJSX } from "@emotion/react";
|
|
20
|
-
export var FieldValueToggleGroupFilter =
|
|
21
|
-
function
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
_inherits(FieldValueToggleGroupFilter, _Component);
|
|
26
|
-
return _createClass(FieldValueToggleGroupFilter, [{
|
|
27
|
-
key: "resolveDisplay",
|
|
28
|
-
value: function resolveDisplay(config, query, item) {
|
|
29
|
-
var clause = query.getSimpleFieldClause(config.field, item.value);
|
|
30
|
-
if (clause) {
|
|
31
|
-
if (Query.isMust(clause)) {
|
|
32
|
-
return {
|
|
33
|
-
active: true,
|
|
34
|
-
name: item.name
|
|
35
|
-
};
|
|
36
|
-
}
|
|
13
|
+
export var FieldValueToggleGroupFilter = function FieldValueToggleGroupFilter(props) {
|
|
14
|
+
var resolveDisplay = function resolveDisplay(config, query, item) {
|
|
15
|
+
var clause = query.getSimpleFieldClause(config.field, item.value);
|
|
16
|
+
if (clause) {
|
|
17
|
+
if (Query.isMust(clause)) {
|
|
37
18
|
return {
|
|
38
19
|
active: true,
|
|
39
|
-
name: item.
|
|
20
|
+
name: item.name
|
|
40
21
|
};
|
|
41
22
|
}
|
|
42
23
|
return {
|
|
43
|
-
active:
|
|
44
|
-
name: item.name
|
|
24
|
+
active: true,
|
|
25
|
+
name: item.negatedName ? item.negatedName : "Not ".concat(item.name)
|
|
45
26
|
};
|
|
46
27
|
}
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
});
|
|
82
|
-
}
|
|
83
|
-
}]);
|
|
84
|
-
}(Component);
|
|
28
|
+
return {
|
|
29
|
+
active: false,
|
|
30
|
+
name: item.name
|
|
31
|
+
};
|
|
32
|
+
};
|
|
33
|
+
var valueChanged = function valueChanged(item, active) {
|
|
34
|
+
var field = props.config.field;
|
|
35
|
+
var value = item.value,
|
|
36
|
+
operator = item.operator;
|
|
37
|
+
var query = active ? props.query.removeSimpleFieldClauses(field) : props.query.removeSimpleFieldClauses(field).addSimpleFieldValue(field, value, true, operator);
|
|
38
|
+
props.onChange(query);
|
|
39
|
+
};
|
|
40
|
+
var config = props.config,
|
|
41
|
+
query = props.query;
|
|
42
|
+
return config.items.map(function (item, index) {
|
|
43
|
+
var _resolveDisplay = resolveDisplay(config, query, item),
|
|
44
|
+
active = _resolveDisplay.active,
|
|
45
|
+
name = _resolveDisplay.name;
|
|
46
|
+
var onClick = function onClick() {
|
|
47
|
+
valueChanged(item, active);
|
|
48
|
+
};
|
|
49
|
+
var key = "field_value_toggle_filter_item_".concat(index);
|
|
50
|
+
var isLastItem = index === config.items.length - 1;
|
|
51
|
+
return ___EmotionJSX(EuiFilterButton, {
|
|
52
|
+
key: key,
|
|
53
|
+
onClick: onClick,
|
|
54
|
+
isSelected: active,
|
|
55
|
+
hasActiveFilters: active,
|
|
56
|
+
"aria-pressed": !!active,
|
|
57
|
+
withNext: !isLastItem,
|
|
58
|
+
isToggle: true
|
|
59
|
+
}, name);
|
|
60
|
+
});
|
|
61
|
+
};
|
|
@@ -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
|
};
|