@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
|
@@ -12,7 +12,7 @@ var _excluded = ["className", "id", "checked", "label", "onChange", "type", "dis
|
|
|
12
12
|
import React, { useCallback } from 'react';
|
|
13
13
|
import classNames from 'classnames';
|
|
14
14
|
import { useCombinedRefs, useEuiMemoizedStyles } from '../../../services';
|
|
15
|
-
import {
|
|
15
|
+
import { EuiCheckboxControl } from './checkbox_control';
|
|
16
16
|
import { euiCheckboxStyles } from './checkbox.styles';
|
|
17
17
|
import { jsx as ___EmotionJSX } from "@emotion/react";
|
|
18
18
|
export var EuiCheckbox = function EuiCheckbox(_ref) {
|
|
@@ -34,10 +34,9 @@ export var EuiCheckbox = function EuiCheckbox(_ref) {
|
|
|
34
34
|
rest = _objectWithoutProperties(_ref, _excluded);
|
|
35
35
|
var classes = classNames('euiCheckbox', className);
|
|
36
36
|
var styles = useEuiMemoizedStyles(euiCheckboxStyles);
|
|
37
|
-
var inputStyles = [styles.input.euiCheckbox__square, !!label && styles.input.hasLabel,
|
|
37
|
+
var inputStyles = [styles.input.euiCheckbox__square, !!label && styles.input.hasLabel, readOnly && styles.input.readOnly];
|
|
38
38
|
var labelClasses = classNames('euiCheckbox__label', labelProps === null || labelProps === void 0 ? void 0 : labelProps.className);
|
|
39
39
|
var labelStyles = [styles.label.euiCheckbox__label, disabled ? styles.label.disabled : styles.label.enabled, readOnly && styles.label.readOnly, labelProps === null || labelProps === void 0 ? void 0 : labelProps.css];
|
|
40
|
-
var iconStyles = [styles.input.icon.euiCheckbox__icon, indeterminate ? styles.input.icon.indeterminate : styles.input.icon.check];
|
|
41
40
|
|
|
42
41
|
// @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/checkbox#indeterminate_state_checkboxes
|
|
43
42
|
var setIndeterminateState = useCallback(function (input) {
|
|
@@ -50,9 +49,10 @@ export var EuiCheckbox = function EuiCheckbox(_ref) {
|
|
|
50
49
|
}, ___EmotionJSX("div", {
|
|
51
50
|
css: inputStyles,
|
|
52
51
|
className: "euiCheckbox__square"
|
|
53
|
-
}, ___EmotionJSX(
|
|
54
|
-
|
|
55
|
-
|
|
52
|
+
}, ___EmotionJSX(EuiCheckboxControl, {
|
|
53
|
+
checked: checked,
|
|
54
|
+
indeterminate: indeterminate,
|
|
55
|
+
disabled: disabled
|
|
56
56
|
}), ___EmotionJSX("input", _extends({
|
|
57
57
|
css: styles.input.euiCheckbox__input,
|
|
58
58
|
className: "euiCheckbox__input",
|
|
@@ -17,14 +17,6 @@ var _ref = process.env.NODE_ENV === "production" ? {
|
|
|
17
17
|
styles: "cursor:default;label:readOnly;",
|
|
18
18
|
toString: _EMOTION_STRINGIFIED_CSS_ERROR__
|
|
19
19
|
};
|
|
20
|
-
var _ref2 = process.env.NODE_ENV === "production" ? {
|
|
21
|
-
name: "u54glv-indeterminate",
|
|
22
|
-
styles: "transform:scale(0.5);label:indeterminate;"
|
|
23
|
-
} : {
|
|
24
|
-
name: "u54glv-indeterminate",
|
|
25
|
-
styles: "transform:scale(0.5);label:indeterminate;",
|
|
26
|
-
toString: _EMOTION_STRINGIFIED_CSS_ERROR__
|
|
27
|
-
};
|
|
28
20
|
export var euiCheckboxStyles = function euiCheckboxStyles(euiThemeContext) {
|
|
29
21
|
var euiTheme = euiThemeContext.euiTheme;
|
|
30
22
|
var controlStyles = euiFormCustomControlStyles(euiThemeContext);
|
|
@@ -33,25 +25,12 @@ export var euiCheckboxStyles = function euiCheckboxStyles(euiThemeContext) {
|
|
|
33
25
|
return {
|
|
34
26
|
euiCheckbox: /*#__PURE__*/css(controlStyles.wrapper, ";label:euiCheckbox;"),
|
|
35
27
|
input: {
|
|
36
|
-
euiCheckbox__square: /*#__PURE__*/css(controlStyles.input.
|
|
28
|
+
euiCheckbox__square: /*#__PURE__*/css("position:relative;", controlStyles.input.focusVisible, " border-radius:", euiTheme.border.radius.small, ";;label:euiCheckbox__square;"),
|
|
37
29
|
hasLabel: controlStyles.input.hasLabel,
|
|
38
30
|
// Skip css`` className generation
|
|
39
|
-
enabled: {
|
|
40
|
-
selected: /*#__PURE__*/css(controlStyles.input.enabled.selected, ";label:selected;"),
|
|
41
|
-
unselected: /*#__PURE__*/css(controlStyles.input.enabled.unselected, ";label:unselected;")
|
|
42
|
-
},
|
|
43
|
-
disabled: {
|
|
44
|
-
selected: /*#__PURE__*/css(controlStyles.input.disabled.selected, ";label:selected;"),
|
|
45
|
-
unselected: /*#__PURE__*/css(controlStyles.input.disabled.unselected, ";label:unselected;")
|
|
46
|
-
},
|
|
47
31
|
// Readonly checkboxes are used by EuiMarkdownEditor
|
|
48
32
|
// Maintain the initial color to enforce that clicks are not doing anything
|
|
49
33
|
readOnly: /*#__PURE__*/css("&:has(input:focus-visible){outline:", euiTheme.focus.width, " solid ", unselectedBorder, ";}&:has(input:focus){border-color:", unselectedBorder, ";};label:readOnly;"),
|
|
50
|
-
icon: {
|
|
51
|
-
euiCheckbox__icon: /*#__PURE__*/css(";label:euiCheckbox__icon;"),
|
|
52
|
-
check: /*#__PURE__*/css(controlStyles.input.icon, " stroke:currentColor;;label:check;"),
|
|
53
|
-
indeterminate: _ref2
|
|
54
|
-
},
|
|
55
34
|
euiCheckbox__input: /*#__PURE__*/css(controlStyles.input.hiddenInput, " &[readonly]{cursor:default;};label:euiCheckbox__input;")
|
|
56
35
|
},
|
|
57
36
|
label: {
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import _extends from "@babel/runtime/helpers/extends";
|
|
2
|
+
import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
|
|
3
|
+
var _excluded = ["className", "checked", "indeterminate", "excluded", "disabled"];
|
|
4
|
+
/*
|
|
5
|
+
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
|
|
6
|
+
* or more contributor license agreements. Licensed under the Elastic License
|
|
7
|
+
* 2.0 and the Server Side Public License, v 1; you may not use this file except
|
|
8
|
+
* in compliance with, at your election, the Elastic License 2.0 or the Server
|
|
9
|
+
* Side Public License, v 1.
|
|
10
|
+
*/
|
|
11
|
+
|
|
12
|
+
import React from 'react';
|
|
13
|
+
import classNames from 'classnames';
|
|
14
|
+
import { useEuiMemoizedStyles } from '../../../services';
|
|
15
|
+
import { EuiIcon } from '../../icon';
|
|
16
|
+
import { euiCheckboxControlStyles } from './checkbox_control.styles';
|
|
17
|
+
import { jsx as ___EmotionJSX } from "@emotion/react";
|
|
18
|
+
/**
|
|
19
|
+
* Presentation-only checkbox control element. Renders a checkbox square and state icon only without functionality.
|
|
20
|
+
*/
|
|
21
|
+
export var EuiCheckboxControl = function EuiCheckboxControl(_ref) {
|
|
22
|
+
var className = _ref.className,
|
|
23
|
+
_ref$checked = _ref.checked,
|
|
24
|
+
checked = _ref$checked === void 0 ? false : _ref$checked,
|
|
25
|
+
_ref$indeterminate = _ref.indeterminate,
|
|
26
|
+
indeterminate = _ref$indeterminate === void 0 ? false : _ref$indeterminate,
|
|
27
|
+
_ref$excluded = _ref.excluded,
|
|
28
|
+
excluded = _ref$excluded === void 0 ? false : _ref$excluded,
|
|
29
|
+
_ref$disabled = _ref.disabled,
|
|
30
|
+
disabled = _ref$disabled === void 0 ? false : _ref$disabled,
|
|
31
|
+
rest = _objectWithoutProperties(_ref, _excluded);
|
|
32
|
+
var isSelected = checked || indeterminate || excluded;
|
|
33
|
+
var isExcluded = excluded && !indeterminate;
|
|
34
|
+
var classes = classNames('euiCheckboxControl', className);
|
|
35
|
+
var styles = useEuiMemoizedStyles(euiCheckboxControlStyles);
|
|
36
|
+
var cssStyles = [styles.euiCheckboxControl, disabled ? isSelected ? styles.disabled.selected : styles.disabled.unselected : isExcluded ? styles.enabled.excluded : isSelected ? styles.enabled.selected : styles.enabled.unselected];
|
|
37
|
+
var iconStyles = [styles.icon.euiCheckbox__icon, indeterminate ? styles.icon.indeterminate : styles.icon.check];
|
|
38
|
+
var iconType = indeterminate ? 'stopFill' : excluded ? 'cross' : checked ? 'check' : 'empty';
|
|
39
|
+
return ___EmotionJSX("span", _extends({
|
|
40
|
+
css: cssStyles,
|
|
41
|
+
className: classes
|
|
42
|
+
}, rest), ___EmotionJSX(EuiIcon, {
|
|
43
|
+
role: "presentation",
|
|
44
|
+
css: iconStyles,
|
|
45
|
+
type: iconType,
|
|
46
|
+
size: "m"
|
|
47
|
+
}));
|
|
48
|
+
};
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
function _EMOTION_STRINGIFIED_CSS_ERROR__() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; }
|
|
2
|
+
/*
|
|
3
|
+
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
|
|
4
|
+
* or more contributor license agreements. Licensed under the Elastic License
|
|
5
|
+
* 2.0 and the Server Side Public License, v 1; you may not use this file except
|
|
6
|
+
* in compliance with, at your election, the Elastic License 2.0 or the Server
|
|
7
|
+
* Side Public License, v 1.
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
import { css } from '@emotion/react';
|
|
11
|
+
import { euiFormCustomControlStyles } from '../form.styles';
|
|
12
|
+
var _ref = process.env.NODE_ENV === "production" ? {
|
|
13
|
+
name: "u54glv-indeterminate",
|
|
14
|
+
styles: "transform:scale(0.5);label:indeterminate;"
|
|
15
|
+
} : {
|
|
16
|
+
name: "u54glv-indeterminate",
|
|
17
|
+
styles: "transform:scale(0.5);label:indeterminate;",
|
|
18
|
+
toString: _EMOTION_STRINGIFIED_CSS_ERROR__
|
|
19
|
+
};
|
|
20
|
+
export var euiCheckboxControlStyles = function euiCheckboxControlStyles(euiThemeContext) {
|
|
21
|
+
var euiTheme = euiThemeContext.euiTheme;
|
|
22
|
+
var controlStyles = euiFormCustomControlStyles(euiThemeContext);
|
|
23
|
+
return {
|
|
24
|
+
euiCheckboxControl: /*#__PURE__*/css(controlStyles.input.fauxInput, " border-radius:", euiTheme.border.radius.small, ";;label:euiCheckboxControl;"),
|
|
25
|
+
enabled: {
|
|
26
|
+
selected: /*#__PURE__*/css(controlStyles.input.enabled.selected, ";label:selected;"),
|
|
27
|
+
unselected: /*#__PURE__*/css(controlStyles.input.enabled.unselected, ";label:unselected;"),
|
|
28
|
+
excluded: /*#__PURE__*/css(controlStyles.input.enabled.selected, " background-color:", euiTheme.colors.backgroundFilledDanger, ";border-color:", euiTheme.colors.backgroundFilledDanger, ";;label:excluded;")
|
|
29
|
+
},
|
|
30
|
+
disabled: {
|
|
31
|
+
selected: /*#__PURE__*/css(controlStyles.input.disabled.selected, ";label:selected;"),
|
|
32
|
+
unselected: /*#__PURE__*/css(controlStyles.input.disabled.unselected, ";label:unselected;")
|
|
33
|
+
},
|
|
34
|
+
icon: {
|
|
35
|
+
euiCheckbox__icon: /*#__PURE__*/css(";label:euiCheckbox__icon;"),
|
|
36
|
+
check: /*#__PURE__*/css(controlStyles.input.icon, " stroke:currentColor;;label:check;"),
|
|
37
|
+
indeterminate: _ref
|
|
38
|
+
}
|
|
39
|
+
};
|
|
40
|
+
};
|
|
@@ -276,7 +276,8 @@ export var euiFormCustomControlStyles = function euiFormCustomControlStyles(euiT
|
|
|
276
276
|
return {
|
|
277
277
|
wrapper: "\n display: flex;\n align-items: flex-start;\n ",
|
|
278
278
|
input: {
|
|
279
|
-
fauxInput: "\n position: relative;\n ".concat(logicalCSS('height', controlVars.sizes.control), "\n ").concat(logicalCSS('width', controlVars.sizes.control), "\n display: flex;\n justify-content: center;\n align-items: center;\n /* For Windows high contrast themes, a border must always be rendered, not just a background */\n border: ").concat(euiTheme.border.width.thin, " solid transparent;\n\n
|
|
279
|
+
fauxInput: "\n position: relative;\n ".concat(logicalCSS('height', controlVars.sizes.control), "\n ").concat(logicalCSS('width', controlVars.sizes.control), "\n display: flex;\n justify-content: center;\n align-items: center;\n /* For Windows high contrast themes, a border must always be rendered, not just a background */\n border: ").concat(euiTheme.border.width.thin, " solid transparent;\n\n ").concat(euiCanAnimate, " {\n transition-property: background-color, color;\n transition-duration: ").concat(controlVars.animation.speed, ";\n transition-timing-function: ").concat(controlVars.animation.easing, ";\n }\n "),
|
|
280
|
+
focusVisible: "\n &:has(input:focus-visible) {\n outline: ".concat(euiTheme.focus.width, " solid ").concat(controlVars.colors.selected, ";\n outline-offset: ").concat(euiTheme.focus.width, ";\n }\n "),
|
|
280
281
|
// TODO: Revert https://github.com/elastic/eui/pull/7981
|
|
281
282
|
// once https://github.com/dperini/nwsapi/issues/123
|
|
282
283
|
// has been fixed, and restore `&:has(+ label)` selector
|
|
@@ -13,7 +13,7 @@ export var euiRadioStyles = function euiRadioStyles(euiThemeContext) {
|
|
|
13
13
|
return {
|
|
14
14
|
euiRadio: /*#__PURE__*/css(controlStyles.wrapper, ";label:euiRadio;"),
|
|
15
15
|
input: {
|
|
16
|
-
euiRadio__circle: /*#__PURE__*/css(controlStyles.input.fauxInput, " border-radius:50%;;label:euiRadio__circle;"),
|
|
16
|
+
euiRadio__circle: /*#__PURE__*/css(controlStyles.input.fauxInput, " ", controlStyles.input.focusVisible, " border-radius:50%;;label:euiRadio__circle;"),
|
|
17
17
|
hasLabel: controlStyles.input.hasLabel,
|
|
18
18
|
// Skip css`` className generation
|
|
19
19
|
enabled: {
|
|
@@ -6,8 +6,8 @@ import _possibleConstructorReturn from "@babel/runtime/helpers/possibleConstruct
|
|
|
6
6
|
import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf";
|
|
7
7
|
import _inherits from "@babel/runtime/helpers/inherits";
|
|
8
8
|
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
9
|
-
var _excluded = ["className", "options", "valueOfSelected", "placeholder", "onChange", "isOpen", "isInvalid", "
|
|
10
|
-
_excluded2 = ["value", "dropdownDisplay", "inputDisplay"];
|
|
9
|
+
var _excluded = ["className", "options", "valueOfSelected", "placeholder", "onChange", "isOpen", "isInvalid", "itemClassName", "fullWidth", "popoverProps", "compressed"],
|
|
10
|
+
_excluded2 = ["value", "dropdownDisplay", "inputDisplay", "disabled"];
|
|
11
11
|
function _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }
|
|
12
12
|
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
|
|
13
13
|
/*
|
|
@@ -20,13 +20,13 @@ function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.
|
|
|
20
20
|
|
|
21
21
|
import React, { Component, createRef } from 'react';
|
|
22
22
|
import classNames from 'classnames';
|
|
23
|
-
import { htmlIdGenerator, keys } from '../../../services';
|
|
23
|
+
import { htmlIdGenerator, keys, RenderWithEuiStylesMemoizer } from '../../../services';
|
|
24
24
|
import { EuiI18n } from '../../i18n';
|
|
25
25
|
import { EuiScreenReaderOnly } from '../../accessibility';
|
|
26
26
|
import { EuiInputPopover } from '../../popover';
|
|
27
27
|
import { EuiSuperSelectControl } from './super_select_control';
|
|
28
28
|
import { EuiSuperSelectItem } from './super_select_item';
|
|
29
|
-
import { euiSuperSelectStyles
|
|
29
|
+
import { euiSuperSelectStyles } from './super_select.styles';
|
|
30
30
|
import { jsx as ___EmotionJSX } from "@emotion/react";
|
|
31
31
|
var ShiftDirection = /*#__PURE__*/function (ShiftDirection) {
|
|
32
32
|
ShiftDirection["BACK"] = "back";
|
|
@@ -46,40 +46,50 @@ export var EuiSuperSelect = /*#__PURE__*/function (_Component) {
|
|
|
46
46
|
_defineProperty(_this, "controlButtonRef", /*#__PURE__*/createRef());
|
|
47
47
|
_defineProperty(_this, "describedById", htmlIdGenerator('euiSuperSelect_')('_screenreaderDescribeId'));
|
|
48
48
|
_defineProperty(_this, "state", {
|
|
49
|
-
isPopoverOpen: _this.props.isOpen || false
|
|
49
|
+
isPopoverOpen: _this.props.isOpen || false,
|
|
50
|
+
currentIndex: 0
|
|
50
51
|
});
|
|
51
52
|
_defineProperty(_this, "setItemNode", function (node, index) {
|
|
52
53
|
_this.itemNodes[index] = node;
|
|
53
54
|
});
|
|
54
55
|
_defineProperty(_this, "openPopover", function () {
|
|
56
|
+
var _this$props = _this.props,
|
|
57
|
+
options = _this$props.options,
|
|
58
|
+
valueOfSelected = _this$props.valueOfSelected;
|
|
59
|
+
var indexOfSelected = options.findIndex(function (option) {
|
|
60
|
+
return (option === null || option === void 0 ? void 0 : option.value) === valueOfSelected;
|
|
61
|
+
});
|
|
62
|
+
var candidateIndex = valueOfSelected != null && indexOfSelected >= 0 ? indexOfSelected : 0;
|
|
63
|
+
var initialIndex = candidateIndex;
|
|
64
|
+
|
|
65
|
+
// If the item is disabled, find the first focusable item going forward
|
|
66
|
+
while (initialIndex < options.length && (_options$initialIndex = options[initialIndex]) !== null && _options$initialIndex !== void 0 && _options$initialIndex.disabled) {
|
|
67
|
+
var _options$initialIndex;
|
|
68
|
+
initialIndex++;
|
|
69
|
+
}
|
|
70
|
+
if (initialIndex >= options.length) {
|
|
71
|
+
initialIndex = candidateIndex;
|
|
72
|
+
}
|
|
55
73
|
_this.setState({
|
|
56
|
-
isPopoverOpen:
|
|
74
|
+
isPopoverOpen: options.length > 0,
|
|
75
|
+
currentIndex: initialIndex
|
|
57
76
|
});
|
|
58
|
-
|
|
59
|
-
var indexOfSelected = _this.props.options.reduce(function (indexOfSelected, option, index) {
|
|
60
|
-
if (indexOfSelected != null) return indexOfSelected;
|
|
61
|
-
if (option == null) return null;
|
|
62
|
-
return option.value === _this.props.valueOfSelected ? index : null;
|
|
63
|
-
}, null);
|
|
77
|
+
requestAnimationFrame(function () {
|
|
64
78
|
requestAnimationFrame(function () {
|
|
65
79
|
if (!_this._isMounted) {
|
|
66
80
|
return;
|
|
67
81
|
}
|
|
68
|
-
|
|
69
|
-
_this.focusItemAt(indexOfSelected);
|
|
70
|
-
} else {
|
|
71
|
-
_this.focusItemAt(0);
|
|
72
|
-
}
|
|
82
|
+
_this.focusItemAt(initialIndex);
|
|
73
83
|
if (_this.props.onFocus) {
|
|
74
84
|
_this.props.onFocus();
|
|
75
85
|
}
|
|
76
86
|
});
|
|
77
|
-
};
|
|
78
|
-
requestAnimationFrame(focusSelected);
|
|
87
|
+
});
|
|
79
88
|
});
|
|
80
89
|
_defineProperty(_this, "closePopover", function () {
|
|
81
90
|
_this.setState({
|
|
82
|
-
isPopoverOpen: false
|
|
91
|
+
isPopoverOpen: false,
|
|
92
|
+
currentIndex: -1
|
|
83
93
|
});
|
|
84
94
|
|
|
85
95
|
// Refocus back to the toggling control button on popover close
|
|
@@ -149,54 +159,58 @@ export var EuiSuperSelect = /*#__PURE__*/function (_Component) {
|
|
|
149
159
|
}
|
|
150
160
|
}, {
|
|
151
161
|
key: "focusItemAt",
|
|
152
|
-
value: function focusItemAt(index
|
|
153
|
-
var
|
|
154
|
-
|
|
155
|
-
// If the current index is disabled, find the next non-disabled element
|
|
156
|
-
while (targetElement && targetElement.disabled) {
|
|
157
|
-
direction === ShiftDirection.BACK ? index-- : index++;
|
|
158
|
-
targetElement = this.itemNodes[index];
|
|
159
|
-
}
|
|
160
|
-
(_targetElement = targetElement) === null || _targetElement === void 0 || _targetElement.focus();
|
|
162
|
+
value: function focusItemAt(index) {
|
|
163
|
+
var _this$itemNodes$index;
|
|
164
|
+
(_this$itemNodes$index = this.itemNodes[index]) === null || _this$itemNodes$index === void 0 || _this$itemNodes$index.focus();
|
|
161
165
|
}
|
|
162
166
|
}, {
|
|
163
167
|
key: "shiftFocus",
|
|
164
168
|
value: function shiftFocus(direction) {
|
|
165
|
-
var
|
|
166
|
-
var
|
|
169
|
+
var options = this.props.options;
|
|
170
|
+
var currentIndex = this.state.currentIndex;
|
|
167
171
|
if (currentIndex === -1) {
|
|
168
172
|
// somehow the select options has lost focus
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
173
|
+
this.focusItemAt(0);
|
|
174
|
+
this.setState({
|
|
175
|
+
currentIndex: 0
|
|
176
|
+
});
|
|
177
|
+
return;
|
|
178
|
+
}
|
|
179
|
+
|
|
180
|
+
// Note: this component purposely does not cycle arrow key navigation
|
|
181
|
+
// to match native <select> elements
|
|
182
|
+
var step = direction === ShiftDirection.BACK ? -1 : 1;
|
|
183
|
+
var nextIndex = currentIndex + step;
|
|
184
|
+
while (nextIndex >= 0 && nextIndex < options.length) {
|
|
185
|
+
var _options$nextIndex;
|
|
186
|
+
if (!((_options$nextIndex = options[nextIndex]) !== null && _options$nextIndex !== void 0 && _options$nextIndex.disabled)) {
|
|
187
|
+
this.focusItemAt(nextIndex);
|
|
188
|
+
this.setState({
|
|
189
|
+
currentIndex: nextIndex
|
|
190
|
+
});
|
|
191
|
+
return;
|
|
177
192
|
}
|
|
193
|
+
nextIndex += step;
|
|
178
194
|
}
|
|
179
|
-
this.focusItemAt(targetElementIndex, direction);
|
|
180
195
|
}
|
|
181
196
|
}, {
|
|
182
197
|
key: "render",
|
|
183
198
|
value: function render() {
|
|
184
|
-
var _this2 = this
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
itemClassName = _this$
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
rest = _objectWithoutProperties(_this$props, _excluded);
|
|
199
|
+
var _this2 = this,
|
|
200
|
+
_options$this$state$c;
|
|
201
|
+
var _this$props2 = this.props,
|
|
202
|
+
className = _this$props2.className,
|
|
203
|
+
options = _this$props2.options,
|
|
204
|
+
valueOfSelected = _this$props2.valueOfSelected,
|
|
205
|
+
placeholder = _this$props2.placeholder,
|
|
206
|
+
onChange = _this$props2.onChange,
|
|
207
|
+
isOpen = _this$props2.isOpen,
|
|
208
|
+
isInvalid = _this$props2.isInvalid,
|
|
209
|
+
itemClassName = _this$props2.itemClassName,
|
|
210
|
+
fullWidth = _this$props2.fullWidth,
|
|
211
|
+
popoverProps = _this$props2.popoverProps,
|
|
212
|
+
compressed = _this$props2.compressed,
|
|
213
|
+
rest = _objectWithoutProperties(_this$props2, _excluded);
|
|
200
214
|
var popoverClasses = classNames('euiSuperSelect', popoverProps === null || popoverProps === void 0 ? void 0 : popoverProps.className);
|
|
201
215
|
var button = ___EmotionJSX(EuiSuperSelectControl, _extends({
|
|
202
216
|
options: options,
|
|
@@ -216,58 +230,72 @@ export var EuiSuperSelect = /*#__PURE__*/function (_Component) {
|
|
|
216
230
|
var value = option.value,
|
|
217
231
|
dropdownDisplay = option.dropdownDisplay,
|
|
218
232
|
inputDisplay = option.inputDisplay,
|
|
233
|
+
disabled = option.disabled,
|
|
219
234
|
optionRest = _objectWithoutProperties(option, _excluded2);
|
|
220
235
|
if (value == null) return;
|
|
221
236
|
return ___EmotionJSX(EuiSuperSelectItem, _extends({
|
|
222
|
-
key: index
|
|
237
|
+
key: index
|
|
238
|
+
/* NOTE: This should rather use "li" to align select-like behavior. But the current
|
|
239
|
+
implementation relies on the interactive and focusable item for the navigation.
|
|
240
|
+
This will require additional refactoring to adjust but we might want to decide first
|
|
241
|
+
if the effort is worth it, considering the unification plans for selection components
|
|
242
|
+
as part of OneSelect (https://github.com/elastic/eui/issues/8808).
|
|
243
|
+
*/,
|
|
244
|
+
element: "button",
|
|
223
245
|
id: String(value),
|
|
224
246
|
className: itemClassName,
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
247
|
+
checked: valueOfSelected === value ? 'on' : undefined,
|
|
248
|
+
isSelected: valueOfSelected === value,
|
|
249
|
+
isFocused: _this2.state.currentIndex === index,
|
|
250
|
+
isSingleSelection: true,
|
|
251
|
+
isDisabled: disabled,
|
|
252
|
+
textWrap: "wrap",
|
|
228
253
|
onClick: function onClick() {
|
|
229
254
|
return _this2.itemClicked(value);
|
|
230
255
|
},
|
|
231
256
|
onKeyDown: _this2.onItemKeyDown,
|
|
232
|
-
|
|
257
|
+
ref: function ref(node) {
|
|
233
258
|
return _this2.setItemNode(node, index);
|
|
234
259
|
},
|
|
235
260
|
"aria-selected": valueOfSelected === value
|
|
236
261
|
}, optionRest), dropdownDisplay || inputDisplay);
|
|
237
262
|
});
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
"
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
263
|
+
var ariaActiveDescendant = ((_options$this$state$c = options[this.state.currentIndex]) === null || _options$this$state$c === void 0 ? void 0 : _options$this$state$c.value) != null ? String(options[this.state.currentIndex].value) : undefined;
|
|
264
|
+
return ___EmotionJSX(RenderWithEuiStylesMemoizer, null, function (stylesMemoizer) {
|
|
265
|
+
var styles = stylesMemoizer(euiSuperSelectStyles);
|
|
266
|
+
return ___EmotionJSX(EuiInputPopover, _extends({
|
|
267
|
+
closePopover: _this2.closePopover,
|
|
268
|
+
panelPaddingSize: "none"
|
|
269
|
+
}, popoverProps, {
|
|
270
|
+
className: popoverClasses,
|
|
271
|
+
isOpen: isOpen || _this2.state.isPopoverOpen,
|
|
272
|
+
input: button,
|
|
273
|
+
fullWidth: fullWidth,
|
|
274
|
+
disableFocusTrap: true // This component handles its own focus manually
|
|
275
|
+
}), ___EmotionJSX(EuiScreenReaderOnly, null, ___EmotionJSX("p", {
|
|
276
|
+
id: _this2.describedById
|
|
277
|
+
}, ___EmotionJSX(EuiI18n, {
|
|
278
|
+
token: "euiSuperSelect.screenReaderAnnouncement",
|
|
279
|
+
default: "You are in a form selector and must select a single option. Use the Up and Down arrow keys to navigate or Escape to close."
|
|
280
|
+
}))), ___EmotionJSX(EuiI18n, {
|
|
281
|
+
token: "euiSuperSelect.ariaLabel",
|
|
282
|
+
default: "Select listbox"
|
|
283
|
+
}, function (ariaLabel) {
|
|
284
|
+
return ___EmotionJSX("div", {
|
|
285
|
+
"aria-label": ariaLabel,
|
|
286
|
+
"aria-describedby": _this2.describedById,
|
|
287
|
+
css: styles.euiSuperSelect__listbox,
|
|
288
|
+
className: "euiSuperSelect__listbox eui-scrollBar",
|
|
289
|
+
role: "listbox",
|
|
290
|
+
"aria-activedescendant": ariaActiveDescendant,
|
|
291
|
+
tabIndex: 0
|
|
292
|
+
}, items);
|
|
293
|
+
}));
|
|
294
|
+
});
|
|
266
295
|
}
|
|
267
296
|
}]);
|
|
268
297
|
}(Component);
|
|
269
298
|
_defineProperty(EuiSuperSelect, "defaultProps", {
|
|
270
|
-
hasDividers: false,
|
|
271
299
|
fullWidth: false,
|
|
272
300
|
compressed: false,
|
|
273
301
|
isInvalid: false,
|
|
@@ -7,16 +7,12 @@
|
|
|
7
7
|
*/
|
|
8
8
|
|
|
9
9
|
import { css } from '@emotion/react';
|
|
10
|
-
import {
|
|
10
|
+
import { euiTextTruncate, logicalCSS, logicalCSSWithFallback, logicalTextAlignCSS } from '../../../global_styling';
|
|
11
11
|
import { euiFormControlStyles, euiFormVariables } from '../form.styles';
|
|
12
|
-
export var euiSuperSelectStyles = {
|
|
13
|
-
|
|
14
|
-
};
|
|
15
|
-
export var euiSuperSelectItemStyles = function euiSuperSelectItemStyles(euiThemeContext) {
|
|
16
|
-
var euiTheme = euiThemeContext.euiTheme;
|
|
12
|
+
export var euiSuperSelectStyles = function euiSuperSelectStyles(_ref) {
|
|
13
|
+
var euiTheme = _ref.euiTheme;
|
|
17
14
|
return {
|
|
18
|
-
|
|
19
|
-
hasDividers: /*#__PURE__*/css("&:not(:last-of-type){", logicalCSS('border-bottom', euiTheme.border.thin), ";};label:hasDividers;")
|
|
15
|
+
euiSuperSelect__listbox: /*#__PURE__*/css(logicalCSS('max-height', '300px'), " ", logicalCSSWithFallback('overflow-y', 'auto'), " ", logicalCSSWithFallback('overflow-x', 'hidden'), " padding:", euiTheme.size.s, ";.euiSuperSelect__item:focus{outline:none;};label:euiSuperSelect__listbox;")
|
|
20
16
|
};
|
|
21
17
|
};
|
|
22
18
|
export var euiSuperSelectControlStyles = function euiSuperSelectControlStyles(euiThemeContext) {
|
|
@@ -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 = ["children", "className"
|
|
3
|
+
var _excluded = ["children", "className"];
|
|
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
|
|
@@ -9,11 +9,9 @@ var _excluded = ["children", "className", "hasDividers"];
|
|
|
9
9
|
* Side Public License, v 1.
|
|
10
10
|
*/
|
|
11
11
|
|
|
12
|
-
import React from 'react';
|
|
12
|
+
import React, { forwardRef } from 'react';
|
|
13
13
|
import classNames from 'classnames';
|
|
14
|
-
import {
|
|
15
|
-
import { EuiContextMenuItem } from '../../context_menu';
|
|
16
|
-
import { euiSuperSelectItemStyles } from './super_select.styles';
|
|
14
|
+
import { EuiListItemLayout } from '../../list_item_layout';
|
|
17
15
|
|
|
18
16
|
// Type exposed to consumers via API
|
|
19
17
|
|
|
@@ -21,17 +19,15 @@ import { euiSuperSelectItemStyles } from './super_select.styles';
|
|
|
21
19
|
// from consumer props to internal EUI props
|
|
22
20
|
import { jsx as ___EmotionJSX } from "@emotion/react";
|
|
23
21
|
// Internal subcomponent util, primarily for easier usage of hooks
|
|
24
|
-
export var EuiSuperSelectItem = function
|
|
22
|
+
export var EuiSuperSelectItem = /*#__PURE__*/forwardRef(function (_ref, ref) {
|
|
25
23
|
var children = _ref.children,
|
|
26
24
|
className = _ref.className,
|
|
27
|
-
hasDividers = _ref.hasDividers,
|
|
28
25
|
rest = _objectWithoutProperties(_ref, _excluded);
|
|
29
26
|
var classes = classNames('euiSuperSelect__item', className);
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
className: classes,
|
|
35
|
-
role: "option"
|
|
27
|
+
return ___EmotionJSX(EuiListItemLayout, _extends({
|
|
28
|
+
ref: ref,
|
|
29
|
+
role: "option",
|
|
30
|
+
className: classes
|
|
36
31
|
}, rest), children);
|
|
37
|
-
};
|
|
32
|
+
});
|
|
33
|
+
EuiSuperSelectItem.displayName = 'EuiSuperSelectItem';
|
|
@@ -126,7 +126,6 @@ export var EuiKeyPadMenuItem = function EuiKeyPadMenuItem(_ref) {
|
|
|
126
126
|
}, label)));
|
|
127
127
|
return betaBadgeLabel ? ___EmotionJSX(EuiToolTip, _extends({}, betaBadgeTooltipProps, {
|
|
128
128
|
title: betaBadgeLabel,
|
|
129
|
-
content: betaBadgeTooltipContent
|
|
130
|
-
delay: "long"
|
|
129
|
+
content: betaBadgeTooltipContent
|
|
131
130
|
}), button) : button;
|
|
132
131
|
};
|
|
@@ -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 = ["target", "external"];
|
|
3
|
+
var _excluded = ["target", "external", "size"];
|
|
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
|
|
@@ -28,6 +28,8 @@ var iconStyle = function iconStyle(_ref) {
|
|
|
28
28
|
export var EuiExternalLinkIcon = function EuiExternalLinkIcon(_ref2) {
|
|
29
29
|
var target = _ref2.target,
|
|
30
30
|
external = _ref2.external,
|
|
31
|
+
_ref2$size = _ref2.size,
|
|
32
|
+
size = _ref2$size === void 0 ? 's' : _ref2$size,
|
|
31
33
|
rest = _objectWithoutProperties(_ref2, _excluded);
|
|
32
34
|
var iconCssStyle = useEuiMemoizedStyles(iconStyle);
|
|
33
35
|
var showExternalLinkIcon = target === '_blank' && external !== false || external === true;
|
|
@@ -36,7 +38,7 @@ export var EuiExternalLinkIcon = function EuiExternalLinkIcon(_ref2) {
|
|
|
36
38
|
}
|
|
37
39
|
return ___EmotionJSX(React.Fragment, null, ___EmotionJSX(EuiIcon, _extends({
|
|
38
40
|
css: iconCssStyle,
|
|
39
|
-
size:
|
|
41
|
+
size: size,
|
|
40
42
|
type: "external",
|
|
41
43
|
role: "presentation"
|
|
42
44
|
}, rest)), target === '_blank' ? ___EmotionJSX(EuiScreenReaderOnly, null, ___EmotionJSX("span", null, ___EmotionJSX(EuiI18n, {
|