@elastic/eui 89.1.0 → 90.0.1
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/dist/eui_theme_dark.css +2 -467
- package/dist/eui_theme_dark.min.css +1 -1
- package/dist/eui_theme_light.css +2 -467
- package/dist/eui_theme_light.min.css +1 -1
- package/es/components/accessibility/skip_link/skip_link.js +1 -2
- package/es/components/accordion/accordion.js +27 -2
- package/es/components/accordion/accordion_children/accordion_children.js +7 -15
- package/es/components/basic_table/basic_table.js +60 -23
- package/es/components/basic_table/collapsed_item_actions.js +1 -1
- package/es/components/basic_table/in_memory_table.js +18 -4
- package/es/components/button/button.js +17 -45
- package/es/components/button/button_empty/button_empty.js +30 -47
- package/es/components/button/button_icon/button_icon.js +26 -43
- package/es/components/card/card.js +1 -6
- package/es/components/card/card_select/card_select.js +1 -6
- package/es/components/collapsible_nav_beta/collapsible_nav_beta.js +12 -8
- package/es/components/collapsible_nav_beta/collapsible_nav_beta.styles.js +2 -2
- package/es/components/collapsible_nav_beta/collapsible_nav_body_footer.js +4 -1
- package/es/components/collapsible_nav_beta/collapsible_nav_body_footer.styles.js +13 -9
- package/es/components/collapsible_nav_beta/collapsible_nav_button/collapsible_nav_button.js +12 -7
- package/es/components/collapsible_nav_beta/collapsible_nav_group/collapsible_nav_group.js +1 -87
- package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_button.js +20 -51
- package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_item.js +90 -31
- package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_popover.js +67 -74
- package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_popover.styles.js +1 -19
- package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_accordion.js +16 -79
- package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_accordion.styles.js +5 -5
- package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_group.js +79 -0
- package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_item.js +176 -117
- package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_link.js +0 -10
- package/es/components/collapsible_nav_beta/context.js +1 -0
- package/es/components/combo_box/combo_box.js +1 -1
- package/es/components/comment_list/comment_event.js +31 -19
- package/es/components/comment_list/comment_event.styles.js +26 -24
- package/es/components/context_menu/context_menu.js +28 -22
- package/es/components/context_menu/context_menu.styles.js +26 -0
- package/es/components/context_menu/context_menu_item.js +95 -125
- package/es/components/context_menu/context_menu_item.styles.js +82 -0
- package/es/components/context_menu/context_menu_panel.a11y.js +4 -2
- package/es/components/context_menu/context_menu_panel.js +32 -61
- package/es/components/context_menu/context_menu_panel.styles.js +40 -0
- package/es/components/control_bar/control_bar.js +28 -23
- package/es/components/datagrid/body/data_grid_body.js +6 -7
- package/es/components/datagrid/body/data_grid_body_custom.js +6 -7
- package/es/components/datagrid/body/data_grid_body_virtualized.js +6 -7
- package/es/components/datagrid/body/data_grid_cell.js +12 -13
- package/es/components/datagrid/body/data_grid_row_manager.js +28 -9
- package/es/components/datagrid/body/header/data_grid_header_cell.js +6 -7
- package/es/components/datagrid/body/header/data_grid_header_row.js +6 -7
- package/es/components/datagrid/data_grid.js +6 -7
- package/es/components/datagrid/utils/in_memory.js +6 -7
- package/es/components/date_picker/auto_refresh/auto_refresh.js +1 -2
- package/es/components/form/field_number/field_number.js +13 -9
- package/es/components/form/field_password/field_password.js +4 -7
- package/es/components/form/range/dual_range.js +110 -85
- package/es/components/form/range/range.js +47 -40
- package/es/components/form/range/range_track.js +6 -20
- package/es/components/form/range/utils.js +1 -2
- package/es/components/header/header_links/header_link.js +1 -6
- package/es/components/header/header_section/header_section_item_button.js +1 -6
- package/es/components/list_group/list_group.js +1 -2
- package/es/components/list_group/list_group_item.js +7 -5
- package/es/components/list_group/list_group_item_extra_action.js +1 -2
- package/es/components/list_group/list_group_item_extra_action.styles.js +1 -1
- package/es/components/list_group/pinnable_list_group/pinnable_list_group.js +2 -3
- package/es/components/modal/confirm_modal.js +1 -1
- package/es/components/notification/notification_event.js +1 -6
- package/es/components/notification/notification_event_read_button.js +1 -2
- package/es/components/page/index.js +1 -4
- package/es/components/pagination/pagination_button.js +1 -6
- package/es/components/popover/input_popover.js +26 -11
- package/es/components/selectable/selectable.js +16 -1
- package/es/components/selectable/selectable_list/selectable_list.js +227 -78
- package/es/components/selectable/selectable_templates/selectable_template_sitewide.js +16 -1
- package/es/components/tabs/tab.js +1 -1
- package/es/components/text_truncate/text_truncate.js +33 -10
- package/eui.d.ts +565 -341
- package/i18ntokens.json +141 -105
- package/lib/components/accessibility/skip_link/skip_link.js +1 -2
- package/lib/components/accordion/accordion.js +27 -2
- package/lib/components/accordion/accordion_children/accordion_children.js +5 -13
- package/lib/components/basic_table/basic_table.js +60 -23
- package/lib/components/basic_table/collapsed_item_actions.js +1 -1
- package/lib/components/basic_table/in_memory_table.js +18 -4
- package/lib/components/button/button.js +24 -51
- package/lib/components/button/button_empty/button_empty.js +29 -46
- package/lib/components/button/button_icon/button_icon.js +25 -42
- package/lib/components/card/card.js +1 -6
- package/lib/components/card/card_select/card_select.js +1 -6
- package/lib/components/collapsible_nav_beta/collapsible_nav_beta.js +12 -8
- package/lib/components/collapsible_nav_beta/collapsible_nav_beta.styles.js +1 -1
- package/lib/components/collapsible_nav_beta/collapsible_nav_body_footer.js +4 -1
- package/lib/components/collapsible_nav_beta/collapsible_nav_body_footer.styles.js +13 -9
- package/lib/components/collapsible_nav_beta/collapsible_nav_button/collapsible_nav_button.js +12 -7
- package/lib/components/collapsible_nav_beta/collapsible_nav_group/collapsible_nav_group.js +1 -87
- package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_button.js +20 -51
- package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_item.js +90 -31
- package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_popover.js +66 -73
- package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_popover.styles.js +11 -28
- package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_accordion.js +16 -81
- package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_accordion.styles.js +5 -5
- package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_group.js +86 -0
- package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_item.js +176 -117
- package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_link.js +0 -10
- package/lib/components/collapsible_nav_beta/context.js +1 -0
- package/lib/components/combo_box/combo_box.js +1 -1
- package/lib/components/comment_list/comment_event.js +33 -18
- package/lib/components/comment_list/comment_event.styles.js +28 -25
- package/lib/components/context_menu/context_menu.js +31 -24
- package/lib/components/context_menu/context_menu.styles.js +34 -0
- package/lib/components/context_menu/context_menu_item.js +102 -133
- package/lib/components/context_menu/context_menu_item.styles.js +87 -0
- package/lib/components/context_menu/context_menu_panel.a11y.js +4 -2
- package/lib/components/context_menu/context_menu_panel.js +35 -63
- package/lib/components/context_menu/context_menu_panel.styles.js +46 -0
- package/lib/components/control_bar/control_bar.js +28 -23
- package/lib/components/datagrid/body/data_grid_body.js +6 -7
- package/lib/components/datagrid/body/data_grid_body_custom.js +6 -7
- package/lib/components/datagrid/body/data_grid_body_virtualized.js +6 -7
- package/lib/components/datagrid/body/data_grid_cell.js +12 -13
- package/lib/components/datagrid/body/data_grid_row_manager.js +33 -16
- package/lib/components/datagrid/body/header/data_grid_header_cell.js +6 -7
- package/lib/components/datagrid/body/header/data_grid_header_row.js +6 -7
- package/lib/components/datagrid/data_grid.js +6 -7
- package/lib/components/datagrid/utils/in_memory.js +6 -7
- package/lib/components/date_picker/auto_refresh/auto_refresh.js +1 -2
- package/lib/components/form/field_number/field_number.js +12 -8
- package/lib/components/form/field_password/field_password.js +4 -7
- package/lib/components/form/range/dual_range.js +110 -85
- package/lib/components/form/range/range.js +47 -40
- package/lib/components/form/range/range_track.js +5 -19
- package/lib/components/form/range/utils.js +1 -2
- package/lib/components/header/header_links/header_link.js +1 -6
- package/lib/components/header/header_section/header_section_item_button.js +1 -6
- package/lib/components/list_group/list_group.js +1 -2
- package/lib/components/list_group/list_group_item.js +7 -5
- package/lib/components/list_group/list_group_item_extra_action.js +1 -2
- package/lib/components/list_group/list_group_item_extra_action.styles.js +1 -1
- package/lib/components/list_group/pinnable_list_group/pinnable_list_group.js +2 -3
- package/lib/components/modal/confirm_modal.js +1 -1
- package/lib/components/notification/notification_event.js +1 -6
- package/lib/components/notification/notification_event_read_button.js +1 -2
- package/lib/components/page/index.js +1 -40
- package/lib/components/popover/input_popover.js +26 -11
- package/lib/components/selectable/selectable.js +16 -1
- package/lib/components/selectable/selectable_list/selectable_list.js +227 -78
- package/lib/components/selectable/selectable_templates/selectable_template_sitewide.js +16 -1
- package/lib/components/tabs/tab.js +1 -1
- package/lib/components/text_truncate/text_truncate.js +32 -9
- package/optimize/es/components/accordion/accordion.js +27 -2
- package/optimize/es/components/accordion/accordion_children/accordion_children.js +5 -14
- package/optimize/es/components/basic_table/basic_table.js +42 -19
- package/optimize/es/components/button/button.js +15 -33
- package/optimize/es/components/button/button_empty/button_empty.js +29 -41
- package/optimize/es/components/button/button_icon/button_icon.js +25 -37
- package/optimize/es/components/collapsible_nav_beta/collapsible_nav_beta.js +12 -8
- package/optimize/es/components/collapsible_nav_beta/collapsible_nav_beta.styles.js +2 -2
- package/optimize/es/components/collapsible_nav_beta/collapsible_nav_body_footer.js +4 -1
- package/optimize/es/components/collapsible_nav_beta/collapsible_nav_body_footer.styles.js +13 -9
- package/optimize/es/components/collapsible_nav_beta/collapsible_nav_button/collapsible_nav_button.js +12 -7
- package/optimize/es/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_button.js +1 -3
- package/optimize/es/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_item.js +10 -5
- package/optimize/es/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_popover.js +8 -36
- package/optimize/es/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_popover.styles.js +1 -19
- package/optimize/es/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_accordion.js +6 -23
- package/optimize/es/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_accordion.styles.js +5 -5
- package/optimize/es/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_group.js +60 -0
- package/optimize/es/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_item.js +28 -13
- package/optimize/es/components/collapsible_nav_beta/context.js +1 -0
- package/optimize/es/components/comment_list/comment_event.js +31 -19
- package/optimize/es/components/comment_list/comment_event.styles.js +26 -24
- package/optimize/es/components/context_menu/context_menu.js +25 -19
- package/optimize/es/components/context_menu/context_menu.styles.js +26 -0
- package/optimize/es/components/context_menu/context_menu_item.js +94 -119
- package/optimize/es/components/context_menu/context_menu_item.styles.js +82 -0
- package/optimize/es/components/context_menu/context_menu_panel.a11y.js +4 -2
- package/optimize/es/components/context_menu/context_menu_panel.js +29 -58
- package/optimize/es/components/context_menu/context_menu_panel.styles.js +40 -0
- package/optimize/es/components/control_bar/control_bar.js +28 -23
- package/optimize/es/components/datagrid/body/data_grid_row_manager.js +23 -9
- package/optimize/es/components/form/field_number/field_number.js +13 -9
- package/optimize/es/components/form/field_password/field_password.js +4 -7
- package/optimize/es/components/form/range/dual_range.js +110 -85
- package/optimize/es/components/form/range/range.js +47 -40
- package/optimize/es/components/form/range/range_track.js +5 -14
- package/optimize/es/components/form/range/utils.js +1 -2
- package/optimize/es/components/list_group/list_group_item.js +6 -3
- package/optimize/es/components/list_group/list_group_item_extra_action.styles.js +1 -1
- package/optimize/es/components/page/index.js +1 -4
- package/optimize/es/components/popover/input_popover.js +26 -11
- package/optimize/es/components/selectable/selectable_list/selectable_list.js +199 -76
- package/optimize/es/components/tabs/tab.js +1 -1
- package/optimize/es/components/text_truncate/text_truncate.js +26 -9
- package/optimize/lib/components/accordion/accordion.js +27 -2
- package/optimize/lib/components/accordion/accordion_children/accordion_children.js +3 -12
- package/optimize/lib/components/basic_table/basic_table.js +42 -19
- package/optimize/lib/components/button/button.js +16 -34
- package/optimize/lib/components/button/button_empty/button_empty.js +28 -40
- package/optimize/lib/components/button/button_icon/button_icon.js +24 -36
- package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_beta.js +12 -8
- package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_beta.styles.js +1 -1
- package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_body_footer.js +4 -1
- package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_body_footer.styles.js +13 -9
- package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_button/collapsible_nav_button.js +12 -7
- package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_button.js +1 -3
- package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_item.js +10 -5
- package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_popover.js +8 -36
- package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_popover.styles.js +11 -28
- package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_accordion.js +6 -26
- package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_accordion.styles.js +5 -5
- package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_group.js +67 -0
- package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_item.js +28 -13
- package/optimize/lib/components/collapsible_nav_beta/context.js +1 -0
- package/optimize/lib/components/comment_list/comment_event.js +33 -18
- package/optimize/lib/components/comment_list/comment_event.styles.js +28 -25
- package/optimize/lib/components/context_menu/context_menu.js +28 -21
- package/optimize/lib/components/context_menu/context_menu.styles.js +34 -0
- package/optimize/lib/components/context_menu/context_menu_item.js +101 -128
- package/optimize/lib/components/context_menu/context_menu_item.styles.js +87 -0
- package/optimize/lib/components/context_menu/context_menu_panel.a11y.js +4 -2
- package/optimize/lib/components/context_menu/context_menu_panel.js +32 -60
- package/optimize/lib/components/context_menu/context_menu_panel.styles.js +47 -0
- package/optimize/lib/components/control_bar/control_bar.js +28 -23
- package/optimize/lib/components/datagrid/body/data_grid_row_manager.js +23 -8
- package/optimize/lib/components/form/field_number/field_number.js +12 -8
- package/optimize/lib/components/form/field_password/field_password.js +5 -8
- package/optimize/lib/components/form/range/dual_range.js +110 -85
- package/optimize/lib/components/form/range/range.js +47 -40
- package/optimize/lib/components/form/range/range_track.js +4 -13
- package/optimize/lib/components/form/range/utils.js +1 -2
- package/optimize/lib/components/list_group/list_group_item.js +6 -3
- package/optimize/lib/components/list_group/list_group_item_extra_action.styles.js +1 -1
- package/optimize/lib/components/page/index.js +1 -40
- package/optimize/lib/components/popover/input_popover.js +27 -12
- package/optimize/lib/components/selectable/selectable_list/selectable_list.js +199 -76
- package/optimize/lib/components/tabs/tab.js +1 -1
- package/optimize/lib/components/text_truncate/text_truncate.js +25 -8
- package/package.json +5 -5
- package/src/components/datagrid/_data_grid_data_row.scss +0 -1
- package/src/components/date_picker/super_date_picker/date_popover/_date_popover_content.scss +2 -1
- package/src/components/index.scss +0 -2
- package/test-env/components/accessibility/skip_link/skip_link.js +1 -2
- package/test-env/components/accordion/accordion.js +27 -2
- package/test-env/components/accordion/accordion_children/accordion_children.js +5 -13
- package/test-env/components/auto_sizer/auto_sizer.js +10 -3
- package/test-env/components/basic_table/basic_table.js +60 -23
- package/test-env/components/basic_table/collapsed_item_actions.js +1 -1
- package/test-env/components/basic_table/in_memory_table.js +18 -4
- package/test-env/components/button/button.js +17 -40
- package/test-env/components/button/button_empty/button_empty.js +29 -46
- package/test-env/components/button/button_icon/button_icon.js +25 -42
- package/test-env/components/card/card.js +1 -6
- package/test-env/components/card/card_select/card_select.js +1 -6
- package/test-env/components/collapsible_nav_beta/collapsible_nav_beta.js +12 -8
- package/test-env/components/collapsible_nav_beta/collapsible_nav_beta.styles.js +1 -1
- package/test-env/components/collapsible_nav_beta/collapsible_nav_body_footer.js +4 -1
- package/test-env/components/collapsible_nav_beta/collapsible_nav_body_footer.styles.js +13 -9
- package/test-env/components/collapsible_nav_beta/collapsible_nav_button/collapsible_nav_button.js +12 -7
- package/test-env/components/collapsible_nav_beta/collapsible_nav_group/collapsible_nav_group.js +1 -87
- package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_button.js +20 -51
- package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_item.js +90 -31
- package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_popover.js +66 -73
- package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_popover.styles.js +11 -28
- package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_accordion.js +16 -82
- package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_accordion.styles.js +5 -5
- package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_group.js +85 -0
- package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_item.js +176 -117
- package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_link.js +0 -10
- package/test-env/components/collapsible_nav_beta/context.js +1 -0
- package/test-env/components/combo_box/combo_box.js +1 -1
- package/test-env/components/comment_list/comment_event.js +33 -18
- package/test-env/components/comment_list/comment_event.styles.js +28 -25
- package/test-env/components/context_menu/context_menu.js +31 -24
- package/test-env/components/context_menu/context_menu.styles.js +34 -0
- package/test-env/components/context_menu/context_menu_item.js +102 -129
- package/test-env/components/context_menu/context_menu_item.styles.js +87 -0
- package/test-env/components/context_menu/context_menu_panel.a11y.js +4 -2
- package/test-env/components/context_menu/context_menu_panel.js +35 -63
- package/test-env/components/context_menu/context_menu_panel.styles.js +47 -0
- package/test-env/components/control_bar/control_bar.js +28 -23
- package/test-env/components/datagrid/body/data_grid_body.js +6 -7
- package/test-env/components/datagrid/body/data_grid_body_custom.js +6 -7
- package/test-env/components/datagrid/body/data_grid_body_virtualized.js +6 -7
- package/test-env/components/datagrid/body/data_grid_cell.js +12 -13
- package/test-env/components/datagrid/body/data_grid_row_manager.js +23 -8
- package/test-env/components/datagrid/body/header/data_grid_header_cell.js +6 -7
- package/test-env/components/datagrid/body/header/data_grid_header_row.js +6 -7
- package/test-env/components/datagrid/data_grid.js +6 -7
- package/test-env/components/datagrid/utils/in_memory.js +6 -7
- package/test-env/components/date_picker/auto_refresh/auto_refresh.js +1 -2
- package/test-env/components/form/field_number/field_number.js +12 -8
- package/test-env/components/form/field_password/field_password.js +4 -7
- package/test-env/components/form/range/dual_range.js +110 -85
- package/test-env/components/form/range/range.js +47 -40
- package/test-env/components/form/range/range_track.js +5 -14
- package/test-env/components/form/range/utils.js +1 -2
- package/test-env/components/header/header_links/header_link.js +1 -6
- package/test-env/components/header/header_section/header_section_item_button.js +1 -6
- package/test-env/components/list_group/list_group.js +1 -2
- package/test-env/components/list_group/list_group_item.js +7 -5
- package/test-env/components/list_group/list_group_item_extra_action.js +1 -2
- package/test-env/components/list_group/list_group_item_extra_action.styles.js +1 -1
- package/test-env/components/list_group/pinnable_list_group/pinnable_list_group.js +2 -3
- package/test-env/components/modal/confirm_modal.js +1 -1
- package/test-env/components/notification/notification_event.js +1 -6
- package/test-env/components/notification/notification_event_read_button.js +1 -2
- package/test-env/components/page/index.js +1 -40
- package/test-env/components/popover/input_popover.js +26 -11
- package/test-env/components/selectable/selectable.js +16 -1
- package/test-env/components/selectable/selectable_list/selectable_list.js +227 -78
- package/test-env/components/selectable/selectable_templates/selectable_template_sitewide.js +16 -1
- package/test-env/components/tabs/tab.js +1 -1
- package/test-env/components/text_truncate/text_truncate.js +32 -9
- package/es/components/page/page_content/index.js +0 -12
- package/es/components/page/page_content/page_content.js +0 -110
- package/es/components/page/page_content/page_content_body.js +0 -69
- package/es/components/page/page_content/page_content_header.js +0 -43
- package/es/components/page/page_content/page_content_header_section.js +0 -34
- package/es/components/page/page_side_bar/index.js +0 -9
- package/es/components/page/page_side_bar/page_side_bar.js +0 -60
- package/es/components/page/page_template.js +0 -591
- package/lib/components/page/page_content/index.js +0 -33
- package/lib/components/page/page_content/page_content.js +0 -117
- package/lib/components/page/page_content/page_content_body.js +0 -77
- package/lib/components/page/page_content/page_content_header.js +0 -50
- package/lib/components/page/page_content/page_content_header_section.js +0 -41
- package/lib/components/page/page_side_bar/index.js +0 -12
- package/lib/components/page/page_side_bar/page_side_bar.js +0 -67
- package/lib/components/page/page_template.js +0 -598
- package/optimize/es/components/page/page_content/index.js +0 -12
- package/optimize/es/components/page/page_content/page_content.js +0 -45
- package/optimize/es/components/page/page_content/page_content_body.js +0 -45
- package/optimize/es/components/page/page_content/page_content_header.js +0 -30
- package/optimize/es/components/page/page_content/page_content_header_section.js +0 -26
- package/optimize/es/components/page/page_side_bar/index.js +0 -9
- package/optimize/es/components/page/page_side_bar/page_side_bar.js +0 -44
- package/optimize/es/components/page/page_template.js +0 -325
- package/optimize/lib/components/page/page_content/index.js +0 -33
- package/optimize/lib/components/page/page_content/page_content.js +0 -52
- package/optimize/lib/components/page/page_content/page_content_body.js +0 -53
- package/optimize/lib/components/page/page_content/page_content_header.js +0 -37
- package/optimize/lib/components/page/page_content/page_content_header_section.js +0 -33
- package/optimize/lib/components/page/page_side_bar/index.js +0 -12
- package/optimize/lib/components/page/page_side_bar/page_side_bar.js +0 -51
- package/optimize/lib/components/page/page_template.js +0 -332
- package/src/components/context_menu/_context_menu.scss +0 -27
- package/src/components/context_menu/_context_menu_item.scss +0 -65
- package/src/components/context_menu/_context_menu_panel.scss +0 -101
- package/src/components/context_menu/_index.scss +0 -3
- package/src/components/page/_index.scss +0 -2
- package/src/components/page/page_content/_index.scss +0 -4
- package/src/components/page/page_content/_page_content.scss +0 -25
- package/src/components/page/page_content/_page_content_body.scss +0 -19
- package/src/components/page/page_content/_page_content_header.scss +0 -20
- package/src/components/page/page_content/_page_content_header_section.scss +0 -17
- package/src/components/page/page_side_bar/_index.scss +0 -1
- package/src/components/page/page_side_bar/_page_side_bar.scss +0 -31
- package/test-env/components/page/page_content/index.js +0 -33
- package/test-env/components/page/page_content/page_content.js +0 -116
- package/test-env/components/page/page_content/page_content_body.js +0 -73
- package/test-env/components/page/page_content/page_content_header.js +0 -49
- package/test-env/components/page/page_content/page_content_header_section.js +0 -40
- package/test-env/components/page/page_side_bar/index.js +0 -12
- package/test-env/components/page/page_side_bar/page_side_bar.js +0 -66
- package/test-env/components/page/page_template.js +0 -594
|
@@ -20,7 +20,7 @@ var _resize_observer = require("../observer/resize_observer");
|
|
|
20
20
|
var _focus_trap = require("../focus_trap");
|
|
21
21
|
var _form = require("../form/form.styles");
|
|
22
22
|
var _popover = require("./popover");
|
|
23
|
-
var _excluded = ["children", "className", "closePopover", "closeOnScroll", "disableFocusTrap", "focusTrapProps", "input", "fullWidth", "panelMinWidth", "onPanelResize", "inputRef", "panelRef"];
|
|
23
|
+
var _excluded = ["children", "className", "closePopover", "anchorPosition", "attachToAnchor", "repositionToCrossAxis", "display", "panelPaddingSize", "closeOnScroll", "ownFocus", "disableFocusTrap", "focusTrapProps", "input", "fullWidth", "panelMinWidth", "onPanelResize", "inputRef", "panelRef"];
|
|
24
24
|
/*
|
|
25
25
|
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
|
|
26
26
|
* or more contributor license agreements. Licensed under the Elastic License
|
|
@@ -40,8 +40,20 @@ var EuiInputPopover = function EuiInputPopover(_ref) {
|
|
|
40
40
|
var children = _ref.children,
|
|
41
41
|
className = _ref.className,
|
|
42
42
|
closePopover = _ref.closePopover,
|
|
43
|
+
_ref$anchorPosition = _ref.anchorPosition,
|
|
44
|
+
anchorPosition = _ref$anchorPosition === void 0 ? 'downLeft' : _ref$anchorPosition,
|
|
45
|
+
_ref$attachToAnchor = _ref.attachToAnchor,
|
|
46
|
+
attachToAnchor = _ref$attachToAnchor === void 0 ? true : _ref$attachToAnchor,
|
|
47
|
+
_ref$repositionToCros = _ref.repositionToCrossAxis,
|
|
48
|
+
repositionToCrossAxis = _ref$repositionToCros === void 0 ? false : _ref$repositionToCros,
|
|
49
|
+
_ref$display = _ref.display,
|
|
50
|
+
display = _ref$display === void 0 ? 'block' : _ref$display,
|
|
51
|
+
_ref$panelPaddingSize = _ref.panelPaddingSize,
|
|
52
|
+
panelPaddingSize = _ref$panelPaddingSize === void 0 ? 's' : _ref$panelPaddingSize,
|
|
43
53
|
_ref$closeOnScroll = _ref.closeOnScroll,
|
|
44
54
|
closeOnScroll = _ref$closeOnScroll === void 0 ? false : _ref$closeOnScroll,
|
|
55
|
+
_ref$ownFocus = _ref.ownFocus,
|
|
56
|
+
ownFocus = _ref$ownFocus === void 0 ? false : _ref$ownFocus,
|
|
45
57
|
_ref$disableFocusTrap = _ref.disableFocusTrap,
|
|
46
58
|
disableFocusTrap = _ref$disableFocusTrap === void 0 ? false : _ref$disableFocusTrap,
|
|
47
59
|
focusTrapProps = _ref.focusTrapProps,
|
|
@@ -84,6 +96,11 @@ var EuiInputPopover = function EuiInputPopover(_ref) {
|
|
|
84
96
|
var panelWidth = (0, _react.useMemo)(function () {
|
|
85
97
|
return inputWidth < panelMinWidth ? panelMinWidth : inputWidth;
|
|
86
98
|
}, [panelMinWidth, inputWidth]);
|
|
99
|
+
|
|
100
|
+
// Resize callback
|
|
101
|
+
(0, _react.useEffect)(function () {
|
|
102
|
+
onPanelResize === null || onPanelResize === void 0 ? void 0 : onPanelResize(panelWidth);
|
|
103
|
+
}, [panelWidth, onPanelResize]);
|
|
87
104
|
(0, _react.useEffect)(function () {
|
|
88
105
|
if (panelEl) {
|
|
89
106
|
// We have to modify the popover panel DOM node directly instead of using
|
|
@@ -157,15 +174,19 @@ var EuiInputPopover = function EuiInputPopover(_ref) {
|
|
|
157
174
|
}
|
|
158
175
|
}, [closeOnScroll, closePopover, panelEl, inputEl]);
|
|
159
176
|
return (0, _react2.jsx)(_popover.EuiPopover, (0, _extends2.default)({
|
|
177
|
+
className: classes,
|
|
160
178
|
css: /*#__PURE__*/(0, _react2.css)(fullWidth ? undefined : (0, _global_styling.logicalCSS)('max-width', form.maxWidth), ";label:EuiInputPopover;"),
|
|
161
|
-
|
|
162
|
-
ownFocus: false,
|
|
179
|
+
display: display,
|
|
163
180
|
button: input,
|
|
164
181
|
buttonRef: inputRef,
|
|
165
182
|
panelRef: panelRef,
|
|
166
|
-
className: classes,
|
|
167
183
|
ref: popoverClassRef,
|
|
168
|
-
closePopover: closePopover
|
|
184
|
+
closePopover: closePopover,
|
|
185
|
+
anchorPosition: anchorPosition,
|
|
186
|
+
attachToAnchor: attachToAnchor,
|
|
187
|
+
repositionToCrossAxis: repositionToCrossAxis,
|
|
188
|
+
panelPaddingSize: panelPaddingSize,
|
|
189
|
+
ownFocus: ownFocus
|
|
169
190
|
}, props, {
|
|
170
191
|
panelProps: _objectSpread(_objectSpread({}, props.panelProps), {}, {
|
|
171
192
|
onKeyDown: onKeyDown
|
|
@@ -177,10 +198,4 @@ var EuiInputPopover = function EuiInputPopover(_ref) {
|
|
|
177
198
|
value: panelWidth
|
|
178
199
|
}, children)));
|
|
179
200
|
};
|
|
180
|
-
exports.EuiInputPopover = EuiInputPopover;
|
|
181
|
-
EuiInputPopover.defaultProps = {
|
|
182
|
-
anchorPosition: 'downLeft',
|
|
183
|
-
attachToAnchor: true,
|
|
184
|
-
display: 'block',
|
|
185
|
-
panelPaddingSize: 's'
|
|
186
|
-
};
|
|
201
|
+
exports.EuiInputPopover = EuiInputPopover;
|
|
@@ -20,11 +20,13 @@ var _classnames = _interopRequireDefault(require("classnames"));
|
|
|
20
20
|
var _reactWindow = require("react-window");
|
|
21
21
|
var _auto_sizer = require("../../auto_sizer");
|
|
22
22
|
var _highlight = require("../../highlight");
|
|
23
|
+
var _mark = require("../../mark");
|
|
24
|
+
var _text_truncate = require("../../text_truncate");
|
|
23
25
|
var _selectable_list_item = require("./selectable_list_item");
|
|
24
26
|
var _react2 = require("@emotion/react");
|
|
25
27
|
var _excluded = ["data"],
|
|
26
|
-
_excluded2 = ["label", "isGroupLabel", "checked", "disabled", "prepend", "append", "ref", "key", "searchableLabel", "data"],
|
|
27
|
-
_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", "isVirtualized", "textWrap"];
|
|
28
|
+
_excluded2 = ["label", "isGroupLabel", "checked", "disabled", "prepend", "append", "ref", "key", "searchableLabel", "data", "truncationProps"],
|
|
29
|
+
_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", "isVirtualized", "textWrap", "truncationProps"];
|
|
28
30
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
29
31
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
30
32
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
@@ -87,20 +89,23 @@ var EuiSelectableList = /*#__PURE__*/function (_Component) {
|
|
|
87
89
|
}
|
|
88
90
|
}
|
|
89
91
|
});
|
|
90
|
-
|
|
91
|
-
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "ariaPosInSetMap", {});
|
|
92
|
+
// This utility is necessary to exclude group labels from the aria set count
|
|
92
93
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "calculateAriaSetAttrs", function (optionArray) {
|
|
93
|
-
|
|
94
|
+
var ariaPosInSetMap = {};
|
|
94
95
|
var latestAriaPosIndex = 0;
|
|
95
96
|
optionArray.forEach(function (option, index) {
|
|
96
97
|
if (!option.isGroupLabel) {
|
|
97
98
|
latestAriaPosIndex++;
|
|
98
|
-
|
|
99
|
+
ariaPosInSetMap[index] = latestAriaPosIndex;
|
|
99
100
|
}
|
|
100
101
|
});
|
|
101
|
-
|
|
102
|
+
return {
|
|
103
|
+
ariaPosInSetMap: ariaPosInSetMap,
|
|
104
|
+
ariaSetSize: latestAriaPosIndex
|
|
105
|
+
};
|
|
102
106
|
});
|
|
103
107
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "ListRow", /*#__PURE__*/(0, _react.memo)(function (_ref) {
|
|
108
|
+
var _option$textWrap;
|
|
104
109
|
var data = _ref.data,
|
|
105
110
|
index = _ref.index,
|
|
106
111
|
style = _ref.style;
|
|
@@ -117,19 +122,20 @@ var EuiSelectableList = /*#__PURE__*/function (_Component) {
|
|
|
117
122
|
key = option.key,
|
|
118
123
|
searchableLabel = option.searchableLabel,
|
|
119
124
|
_data = option.data,
|
|
125
|
+
_truncationProps = option.truncationProps,
|
|
120
126
|
optionRest = (0, _objectWithoutProperties2.default)(option, _excluded2);
|
|
121
127
|
var _this$props2 = _this.props,
|
|
122
128
|
activeOptionIndex = _this$props2.activeOptionIndex,
|
|
123
129
|
allowExclusions = _this$props2.allowExclusions,
|
|
124
130
|
onFocusBadge = _this$props2.onFocusBadge,
|
|
125
131
|
paddingSize = _this$props2.paddingSize,
|
|
126
|
-
searchValue = _this$props2.searchValue,
|
|
127
132
|
showIcons = _this$props2.showIcons,
|
|
128
133
|
makeOptionId = _this$props2.makeOptionId,
|
|
129
134
|
renderOption = _this$props2.renderOption,
|
|
130
135
|
setActiveOptionIndex = _this$props2.setActiveOptionIndex,
|
|
131
136
|
searchable = _this$props2.searchable,
|
|
132
|
-
|
|
137
|
+
searchValue = _this$props2.searchValue,
|
|
138
|
+
isVirtualized = _this$props2.isVirtualized;
|
|
133
139
|
if (isGroupLabel) {
|
|
134
140
|
return (0, _react2.jsx)("li", (0, _extends2.default)({
|
|
135
141
|
role: "presentation",
|
|
@@ -139,6 +145,15 @@ var EuiSelectableList = /*#__PURE__*/function (_Component) {
|
|
|
139
145
|
}, optionRest), prepend, label, append);
|
|
140
146
|
}
|
|
141
147
|
var id = makeOptionId(index);
|
|
148
|
+
var isFocused = activeOptionIndex === index;
|
|
149
|
+
|
|
150
|
+
// Text wrapping
|
|
151
|
+
var canWrap = !isVirtualized;
|
|
152
|
+
var _textWrap = (_option$textWrap = option.textWrap) !== null && _option$textWrap !== void 0 ? _option$textWrap : _this.props.textWrap;
|
|
153
|
+
var textWrap = canWrap ? _textWrap : 'truncate';
|
|
154
|
+
|
|
155
|
+
// Truncation config (if any). If none, CSS truncation is used
|
|
156
|
+
var truncationProps = textWrap === 'truncate' ? _this.getTruncationProps(option, isFocused) : undefined;
|
|
142
157
|
return (0, _react2.jsx)(_selectable_list_item.EuiSelectableListItem, (0, _extends2.default)({
|
|
143
158
|
key: id,
|
|
144
159
|
id: id,
|
|
@@ -151,14 +166,14 @@ var EuiSelectableList = /*#__PURE__*/function (_Component) {
|
|
|
151
166
|
_this.onAddOrRemoveOption(option, event);
|
|
152
167
|
},
|
|
153
168
|
ref: ref ? ref.bind(null, index) : undefined,
|
|
154
|
-
isFocused:
|
|
169
|
+
isFocused: isFocused,
|
|
155
170
|
title: searchableLabel || label,
|
|
156
171
|
checked: checked,
|
|
157
172
|
disabled: disabled,
|
|
158
173
|
prepend: prepend,
|
|
159
174
|
append: append,
|
|
160
|
-
"aria-posinset": _this.ariaPosInSetMap[index],
|
|
161
|
-
"aria-setsize": _this.ariaSetSize,
|
|
175
|
+
"aria-posinset": _this.state.ariaPosInSetMap[index],
|
|
176
|
+
"aria-setsize": _this.state.ariaSetSize,
|
|
162
177
|
onFocusBadge: onFocusBadge,
|
|
163
178
|
allowExclusions: allowExclusions,
|
|
164
179
|
showIcons: showIcons,
|
|
@@ -166,16 +181,18 @@ var EuiSelectableList = /*#__PURE__*/function (_Component) {
|
|
|
166
181
|
searchable: searchable,
|
|
167
182
|
textWrap: textWrap
|
|
168
183
|
}, optionRest), renderOption ? renderOption( // @ts-ignore complex
|
|
169
|
-
_objectSpread(_objectSpread({}, _option), optionData),
|
|
170
|
-
search: searchValue
|
|
171
|
-
}, label));
|
|
184
|
+
_objectSpread(_objectSpread({}, _option), optionData), searchValue) : searchValue ? _this.renderSearchedText(label, truncationProps) : truncationProps ? _this.renderTruncatedText(label, truncationProps) : label);
|
|
172
185
|
}, _reactWindow.areEqual));
|
|
173
|
-
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "renderVirtualizedList", function (
|
|
186
|
+
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "renderVirtualizedList", function () {
|
|
174
187
|
if (!_this.props.isVirtualized) return null;
|
|
188
|
+
var _this$state = _this.state,
|
|
189
|
+
optionArray = _this$state.optionArray,
|
|
190
|
+
itemData = _this$state.itemData;
|
|
175
191
|
var _this$props3 = _this.props,
|
|
176
192
|
windowProps = _this$props3.windowProps,
|
|
177
193
|
forcedHeight = _this$props3.height,
|
|
178
194
|
rowHeight = _this$props3.rowHeight;
|
|
195
|
+
var heightIsFull = forcedHeight === 'full';
|
|
179
196
|
var virtualizationProps = _objectSpread({
|
|
180
197
|
className: 'euiSelectableList__list',
|
|
181
198
|
ref: _this.setListRef,
|
|
@@ -183,7 +200,7 @@ var EuiSelectableList = /*#__PURE__*/function (_Component) {
|
|
|
183
200
|
innerRef: _this.setListBoxRef,
|
|
184
201
|
innerElementType: 'ul',
|
|
185
202
|
itemCount: optionArray.length,
|
|
186
|
-
itemData:
|
|
203
|
+
itemData: itemData,
|
|
187
204
|
itemSize: rowHeight,
|
|
188
205
|
'data-skip-axe': 'scrollable-region-focusable'
|
|
189
206
|
}, windowProps);
|
|
@@ -203,7 +220,9 @@ var EuiSelectableList = /*#__PURE__*/function (_Component) {
|
|
|
203
220
|
calculatedHeight = numVisibleOptions * rowHeight;
|
|
204
221
|
}
|
|
205
222
|
}
|
|
206
|
-
return heightIsFull ? (0, _react2.jsx)(_auto_sizer.EuiAutoSizer,
|
|
223
|
+
return heightIsFull ? (0, _react2.jsx)(_auto_sizer.EuiAutoSizer, {
|
|
224
|
+
onResize: _this.calculateDefaultOptionWidth
|
|
225
|
+
}, function (_ref2) {
|
|
207
226
|
var width = _ref2.width,
|
|
208
227
|
height = _ref2.height;
|
|
209
228
|
return (0, _react2.jsx)(_reactWindow.FixedSizeList, (0, _extends2.default)({
|
|
@@ -211,7 +230,8 @@ var EuiSelectableList = /*#__PURE__*/function (_Component) {
|
|
|
211
230
|
height: height
|
|
212
231
|
}, virtualizationProps), _this.ListRow);
|
|
213
232
|
}) : (0, _react2.jsx)(_auto_sizer.EuiAutoSizer, {
|
|
214
|
-
disableHeight: true
|
|
233
|
+
disableHeight: true,
|
|
234
|
+
onResize: _this.calculateDefaultOptionWidth
|
|
215
235
|
}, function (_ref3) {
|
|
216
236
|
var width = _ref3.width;
|
|
217
237
|
return (0, _react2.jsx)(_reactWindow.FixedSizeList, (0, _extends2.default)({
|
|
@@ -220,17 +240,106 @@ var EuiSelectableList = /*#__PURE__*/function (_Component) {
|
|
|
220
240
|
}, virtualizationProps), _this.ListRow);
|
|
221
241
|
});
|
|
222
242
|
});
|
|
243
|
+
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "forceVirtualizedListRowRerender", function () {
|
|
244
|
+
_this.setState({
|
|
245
|
+
itemData: _objectSpread({}, _this.state.optionArray)
|
|
246
|
+
});
|
|
247
|
+
});
|
|
248
|
+
// EuiTextTruncate is expensive perf-wise - we use several utilities here to
|
|
249
|
+
// offset its performance cost
|
|
250
|
+
// and creates a resize observer for
|
|
251
|
+
// each individual item. This logic tries to offset this performance hit by
|
|
252
|
+
// guesstimating a default width for each option
|
|
253
|
+
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "focusBadgeOffset", 0);
|
|
254
|
+
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "calculateDefaultOptionWidth", function (_ref4) {
|
|
255
|
+
var containerWidth = _ref4.width;
|
|
256
|
+
var _this$props4 = _this.props,
|
|
257
|
+
truncationProps = _this$props4.truncationProps,
|
|
258
|
+
searchable = _this$props4.searchable,
|
|
259
|
+
searchValue = _this$props4.searchValue;
|
|
260
|
+
|
|
261
|
+
// If it's not likely we'll need to use EuiTextTruncate, don't set state/rerender on every panel resize
|
|
262
|
+
var mayTruncate = searchable || truncationProps;
|
|
263
|
+
if (!mayTruncate) return;
|
|
264
|
+
var paddingOffset = _this.props.paddingSize === 'none' ? 0 : 24; // Defaults to 's'
|
|
265
|
+
var checkedIconOffset = _this.props.showIcons === false ? 0 : 28; // Defaults to true
|
|
266
|
+
_this.focusBadgeOffset = _this.props.onFocusBadge === false ? 0 : 46;
|
|
267
|
+
_this.setState({
|
|
268
|
+
defaultOptionWidth: containerWidth - paddingOffset - checkedIconOffset
|
|
269
|
+
});
|
|
270
|
+
|
|
271
|
+
// Potentially force list rows to rerender on dynamic resize as well,
|
|
272
|
+
// but try to do it as lightly as possible
|
|
273
|
+
if (truncationProps || searchable && searchValue) {
|
|
274
|
+
_this.forceVirtualizedListRowRerender();
|
|
275
|
+
}
|
|
276
|
+
});
|
|
277
|
+
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "getTruncationProps", function (option, isFocused) {
|
|
278
|
+
// Individual truncation settings should override component-wide settings
|
|
279
|
+
var truncationProps = _objectSpread(_objectSpread({}, _this.props.truncationProps), option.truncationProps);
|
|
280
|
+
|
|
281
|
+
// If we're not actually using EuiTextTruncate, no need to continue
|
|
282
|
+
var hasComplexTruncation = _this.props.searchValue || Object.keys(truncationProps).length > 0;
|
|
283
|
+
if (!hasComplexTruncation) return undefined;
|
|
284
|
+
|
|
285
|
+
// Determine whether we can use the optimized default option width
|
|
286
|
+
var defaultOptionWidth = _this.state.defaultOptionWidth;
|
|
287
|
+
var useDefaultWidth = !option.append && !option.prepend;
|
|
288
|
+
var defaultWidth = useDefaultWidth && defaultOptionWidth ? isFocused ? defaultOptionWidth - _this.focusBadgeOffset : defaultOptionWidth : undefined;
|
|
289
|
+
return _objectSpread({
|
|
290
|
+
width: defaultWidth
|
|
291
|
+
}, truncationProps);
|
|
292
|
+
});
|
|
293
|
+
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "renderSearchedText", function (text, truncationProps) {
|
|
294
|
+
var searchValue = _this.props.searchValue;
|
|
295
|
+
|
|
296
|
+
// If truncationProps is undefined, we're using non-virtualized text wrapping
|
|
297
|
+
if (!truncationProps) {
|
|
298
|
+
return (0, _react2.jsx)(_highlight.EuiHighlight, {
|
|
299
|
+
search: searchValue
|
|
300
|
+
}, text);
|
|
301
|
+
}
|
|
302
|
+
var searchPositionStart = text.toLowerCase().indexOf(searchValue.toLowerCase());
|
|
303
|
+
var searchPositionCenter = searchPositionStart + Math.floor(searchValue.length / 2);
|
|
304
|
+
return (0, _react2.jsx)(_text_truncate.EuiTextTruncate, (0, _extends2.default)({}, truncationProps, {
|
|
305
|
+
// When searching, don't allow overriding the truncation settings
|
|
306
|
+
truncation: "startEnd",
|
|
307
|
+
truncationPosition: searchPositionCenter,
|
|
308
|
+
text: text
|
|
309
|
+
}), function (text) {
|
|
310
|
+
return (0, _react2.jsx)(_react.default.Fragment, null, text.length >= searchValue.length ? (0, _react2.jsx)(_highlight.EuiHighlight, {
|
|
311
|
+
search: searchValue
|
|
312
|
+
}, text) :
|
|
313
|
+
// If the available truncated text is shorter than the full search string,
|
|
314
|
+
// just highlight the entire truncated text
|
|
315
|
+
(0, _react2.jsx)(_mark.EuiMark, null, text));
|
|
316
|
+
});
|
|
317
|
+
});
|
|
318
|
+
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "renderTruncatedText", function (text, truncationProps) {
|
|
319
|
+
return (
|
|
320
|
+
// For some bizarre reason, truncation in EuiSelectable is off on initial mount
|
|
321
|
+
// (but not on rerender) for Safari and _some_ truncation types in Firefox :|
|
|
322
|
+
// Waiting a tick before calculating truncation seems to smooth over the issue
|
|
323
|
+
(0, _react2.jsx)(_text_truncate.EuiTextTruncate, (0, _extends2.default)({
|
|
324
|
+
calculationDelayMs: 2
|
|
325
|
+
}, truncationProps, {
|
|
326
|
+
text: text
|
|
327
|
+
}), function (text) {
|
|
328
|
+
return text;
|
|
329
|
+
})
|
|
330
|
+
);
|
|
331
|
+
});
|
|
223
332
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "onAddOrRemoveOption", function (option, event) {
|
|
224
333
|
if (option.disabled) {
|
|
225
334
|
return;
|
|
226
335
|
}
|
|
227
|
-
var _this$
|
|
228
|
-
allowExclusions = _this$
|
|
229
|
-
options = _this$
|
|
230
|
-
_this$
|
|
231
|
-
visibleOptions = _this$
|
|
232
|
-
_this.props.setActiveOptionIndex(visibleOptions.findIndex(function (
|
|
233
|
-
var label =
|
|
336
|
+
var _this$props5 = _this.props,
|
|
337
|
+
allowExclusions = _this$props5.allowExclusions,
|
|
338
|
+
options = _this$props5.options,
|
|
339
|
+
_this$props5$visibleO = _this$props5.visibleOptions,
|
|
340
|
+
visibleOptions = _this$props5$visibleO === void 0 ? options : _this$props5$visibleO;
|
|
341
|
+
_this.props.setActiveOptionIndex(visibleOptions.findIndex(function (_ref5) {
|
|
342
|
+
var label = _ref5.label;
|
|
234
343
|
return label === option.label;
|
|
235
344
|
}), function () {
|
|
236
345
|
if (option.checked === 'on' && allowExclusions) {
|
|
@@ -243,10 +352,10 @@ var EuiSelectableList = /*#__PURE__*/function (_Component) {
|
|
|
243
352
|
});
|
|
244
353
|
});
|
|
245
354
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "onAddOption", function (addedOption, event) {
|
|
246
|
-
var _this$
|
|
247
|
-
onOptionClick = _this$
|
|
248
|
-
options = _this$
|
|
249
|
-
singleSelection = _this$
|
|
355
|
+
var _this$props6 = _this.props,
|
|
356
|
+
onOptionClick = _this$props6.onOptionClick,
|
|
357
|
+
options = _this$props6.options,
|
|
358
|
+
singleSelection = _this$props6.singleSelection;
|
|
250
359
|
var changedOption = _objectSpread({}, addedOption);
|
|
251
360
|
var updatedOptions = options.map(function (option) {
|
|
252
361
|
// if singleSelection is enabled, uncheck any selected option(s)
|
|
@@ -265,10 +374,10 @@ var EuiSelectableList = /*#__PURE__*/function (_Component) {
|
|
|
265
374
|
onOptionClick(updatedOptions, event, changedOption);
|
|
266
375
|
});
|
|
267
376
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "onRemoveOption", function (removedOption, event) {
|
|
268
|
-
var _this$
|
|
269
|
-
onOptionClick = _this$
|
|
270
|
-
singleSelection = _this$
|
|
271
|
-
options = _this$
|
|
377
|
+
var _this$props7 = _this.props,
|
|
378
|
+
onOptionClick = _this$props7.onOptionClick,
|
|
379
|
+
singleSelection = _this$props7.singleSelection,
|
|
380
|
+
options = _this$props7.options;
|
|
272
381
|
var changedOption = _objectSpread({}, removedOption);
|
|
273
382
|
var updatedOptions = options.map(function (option) {
|
|
274
383
|
var updatedOption = _objectSpread({}, option);
|
|
@@ -281,9 +390,9 @@ var EuiSelectableList = /*#__PURE__*/function (_Component) {
|
|
|
281
390
|
onOptionClick(updatedOptions, event, changedOption);
|
|
282
391
|
});
|
|
283
392
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "onExcludeOption", function (excludedOption, event) {
|
|
284
|
-
var _this$
|
|
285
|
-
onOptionClick = _this$
|
|
286
|
-
options = _this$
|
|
393
|
+
var _this$props8 = _this.props,
|
|
394
|
+
onOptionClick = _this$props8.onOptionClick,
|
|
395
|
+
options = _this$props8.options;
|
|
287
396
|
var changedOption = _objectSpread({}, excludedOption);
|
|
288
397
|
var updatedOptions = options.map(function (option) {
|
|
289
398
|
var updatedOption = _objectSpread({}, option);
|
|
@@ -295,69 +404,83 @@ var EuiSelectableList = /*#__PURE__*/function (_Component) {
|
|
|
295
404
|
});
|
|
296
405
|
onOptionClick(updatedOptions, event, changedOption);
|
|
297
406
|
});
|
|
407
|
+
var _optionArray = props.visibleOptions || props.options;
|
|
408
|
+
_this.state = _objectSpread({
|
|
409
|
+
defaultOptionWidth: 0,
|
|
410
|
+
optionArray: _optionArray,
|
|
411
|
+
itemData: _objectSpread({}, _optionArray)
|
|
412
|
+
}, _this.calculateAriaSetAttrs(_optionArray));
|
|
298
413
|
return _this;
|
|
299
414
|
}
|
|
300
415
|
(0, _createClass2.default)(EuiSelectableList, [{
|
|
301
416
|
key: "componentDidUpdate",
|
|
302
|
-
value: function componentDidUpdate() {
|
|
303
|
-
var
|
|
417
|
+
value: function componentDidUpdate(prevProps) {
|
|
418
|
+
var _this$props9 = this.props,
|
|
419
|
+
activeOptionIndex = _this$props9.activeOptionIndex,
|
|
420
|
+
visibleOptions = _this$props9.visibleOptions,
|
|
421
|
+
options = _this$props9.options;
|
|
304
422
|
if (this.listBoxRef && this.props.searchable !== true) {
|
|
305
423
|
this.listBoxRef.setAttribute('aria-activedescendant', "".concat(this.props.makeOptionId(activeOptionIndex)));
|
|
306
424
|
}
|
|
307
|
-
if (this.listRef && typeof
|
|
308
|
-
this.listRef.scrollToItem(
|
|
425
|
+
if (this.listRef && typeof activeOptionIndex !== 'undefined') {
|
|
426
|
+
this.listRef.scrollToItem(activeOptionIndex, 'auto');
|
|
427
|
+
}
|
|
428
|
+
if (prevProps.visibleOptions !== visibleOptions || prevProps.options !== options) {
|
|
429
|
+
var optionArray = visibleOptions || options;
|
|
430
|
+
this.setState(_objectSpread({
|
|
431
|
+
optionArray: optionArray,
|
|
432
|
+
itemData: _objectSpread({}, optionArray)
|
|
433
|
+
}, this.calculateAriaSetAttrs(optionArray)));
|
|
309
434
|
}
|
|
310
435
|
}
|
|
311
436
|
}, {
|
|
312
437
|
key: "render",
|
|
313
438
|
value: function render() {
|
|
314
439
|
var _this2 = this;
|
|
315
|
-
var _this$
|
|
316
|
-
className = _this$
|
|
317
|
-
options = _this$
|
|
318
|
-
searchValue = _this$
|
|
319
|
-
onOptionClick = _this$
|
|
320
|
-
renderOption = _this$
|
|
321
|
-
forcedHeight = _this$
|
|
322
|
-
windowProps = _this$
|
|
323
|
-
rowHeight = _this$
|
|
324
|
-
activeOptionIndex = _this$
|
|
325
|
-
makeOptionId = _this$
|
|
326
|
-
showIcons = _this$
|
|
327
|
-
singleSelection = _this$
|
|
328
|
-
visibleOptions = _this$
|
|
329
|
-
allowExclusions = _this$
|
|
330
|
-
bordered = _this$
|
|
331
|
-
paddingSize = _this$
|
|
332
|
-
searchable = _this$
|
|
333
|
-
onFocusBadge = _this$
|
|
334
|
-
listId = _this$
|
|
335
|
-
setActiveOptionIndex = _this$
|
|
336
|
-
ariaLabel = _this$
|
|
337
|
-
ariaLabelledby = _this$
|
|
338
|
-
ariaDescribedby = _this$
|
|
339
|
-
role = _this$
|
|
340
|
-
isVirtualized = _this$
|
|
341
|
-
textWrap = _this$
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
this.calculateAriaSetAttrs(optionArray);
|
|
345
|
-
var heightIsFull = forcedHeight === 'full';
|
|
440
|
+
var _this$props10 = this.props,
|
|
441
|
+
className = _this$props10.className,
|
|
442
|
+
options = _this$props10.options,
|
|
443
|
+
searchValue = _this$props10.searchValue,
|
|
444
|
+
onOptionClick = _this$props10.onOptionClick,
|
|
445
|
+
renderOption = _this$props10.renderOption,
|
|
446
|
+
forcedHeight = _this$props10.height,
|
|
447
|
+
windowProps = _this$props10.windowProps,
|
|
448
|
+
rowHeight = _this$props10.rowHeight,
|
|
449
|
+
activeOptionIndex = _this$props10.activeOptionIndex,
|
|
450
|
+
makeOptionId = _this$props10.makeOptionId,
|
|
451
|
+
showIcons = _this$props10.showIcons,
|
|
452
|
+
singleSelection = _this$props10.singleSelection,
|
|
453
|
+
visibleOptions = _this$props10.visibleOptions,
|
|
454
|
+
allowExclusions = _this$props10.allowExclusions,
|
|
455
|
+
bordered = _this$props10.bordered,
|
|
456
|
+
paddingSize = _this$props10.paddingSize,
|
|
457
|
+
searchable = _this$props10.searchable,
|
|
458
|
+
onFocusBadge = _this$props10.onFocusBadge,
|
|
459
|
+
listId = _this$props10.listId,
|
|
460
|
+
setActiveOptionIndex = _this$props10.setActiveOptionIndex,
|
|
461
|
+
ariaLabel = _this$props10['aria-label'],
|
|
462
|
+
ariaLabelledby = _this$props10['aria-labelledby'],
|
|
463
|
+
ariaDescribedby = _this$props10['aria-describedby'],
|
|
464
|
+
role = _this$props10.role,
|
|
465
|
+
isVirtualized = _this$props10.isVirtualized,
|
|
466
|
+
textWrap = _this$props10.textWrap,
|
|
467
|
+
truncationProps = _this$props10.truncationProps,
|
|
468
|
+
rest = (0, _objectWithoutProperties2.default)(_this$props10, _excluded3);
|
|
346
469
|
var classes = (0, _classnames.default)('euiSelectableList', {
|
|
347
|
-
'euiSelectableList-fullHeight':
|
|
470
|
+
'euiSelectableList-fullHeight': forcedHeight === 'full',
|
|
348
471
|
'euiSelectableList-bordered': bordered
|
|
349
472
|
}, className);
|
|
350
473
|
return (0, _react2.jsx)("div", (0, _extends2.default)({
|
|
351
474
|
className: classes
|
|
352
|
-
}, rest), isVirtualized ? this.renderVirtualizedList(
|
|
475
|
+
}, rest), isVirtualized ? this.renderVirtualizedList() : (0, _react2.jsx)("div", {
|
|
353
476
|
className: "euiSelectableList__list",
|
|
354
477
|
ref: this.removeScrollableTabStop
|
|
355
478
|
}, (0, _react2.jsx)("ul", {
|
|
356
479
|
ref: this.setListBoxRef
|
|
357
|
-
}, optionArray.map(function (_, index) {
|
|
480
|
+
}, this.state.optionArray.map(function (_, index) {
|
|
358
481
|
return /*#__PURE__*/_react.default.createElement(_this2.ListRow, {
|
|
359
482
|
key: index,
|
|
360
|
-
data: optionArray,
|
|
483
|
+
data: _this2.state.optionArray,
|
|
361
484
|
index: index
|
|
362
485
|
}, null);
|
|
363
486
|
}))));
|
|
@@ -87,7 +87,7 @@ var EuiTab = function EuiTab(_ref) {
|
|
|
87
87
|
css: cssTabStyles,
|
|
88
88
|
disabled: disabled
|
|
89
89
|
}, rest), prependNode, (0, _react2.jsx)("span", {
|
|
90
|
-
className: "euiTab__content",
|
|
90
|
+
className: "euiTab__content eui-textTruncate",
|
|
91
91
|
css: cssTabContentStyles
|
|
92
92
|
}, children), appendNode);
|
|
93
93
|
};
|
|
@@ -17,7 +17,7 @@ var _utils = require("./utils");
|
|
|
17
17
|
var _text_truncate = require("./text_truncate.styles");
|
|
18
18
|
var _react2 = require("@emotion/react");
|
|
19
19
|
var _excluded = ["width", "onResize"],
|
|
20
|
-
_excluded2 = ["width", "children", "text", "truncation", "truncationOffset", "truncationPosition", "ellipsis", "containerRef", "className"],
|
|
20
|
+
_excluded2 = ["width", "children", "text", "truncation", "truncationOffset", "truncationPosition", "ellipsis", "calculationDelayMs", "containerRef", "className"],
|
|
21
21
|
_excluded3 = ["onResize"];
|
|
22
22
|
/*
|
|
23
23
|
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
|
|
@@ -51,6 +51,7 @@ var EuiTextTruncateWithWidth = function EuiTextTruncateWithWidth(_ref2) {
|
|
|
51
51
|
truncationPosition = _ref2.truncationPosition,
|
|
52
52
|
_ref2$ellipsis = _ref2.ellipsis,
|
|
53
53
|
ellipsis = _ref2$ellipsis === void 0 ? '…' : _ref2$ellipsis,
|
|
54
|
+
calculationDelayMs = _ref2.calculationDelayMs,
|
|
54
55
|
containerRef = _ref2.containerRef,
|
|
55
56
|
className = _ref2.className,
|
|
56
57
|
rest = (0, _objectWithoutProperties2.default)(_ref2, _excluded2);
|
|
@@ -61,6 +62,19 @@ var EuiTextTruncateWithWidth = function EuiTextTruncateWithWidth(_ref2) {
|
|
|
61
62
|
setContainerEl = _useState2[1];
|
|
62
63
|
var refs = (0, _services.useCombinedRefs)([setContainerEl, containerRef]);
|
|
63
64
|
|
|
65
|
+
// If necessary, wait a tick on mount before truncating
|
|
66
|
+
var _useState3 = (0, _react.useState)(!calculationDelayMs),
|
|
67
|
+
_useState4 = (0, _slicedToArray2.default)(_useState3, 2),
|
|
68
|
+
ready = _useState4[0],
|
|
69
|
+
setReady = _useState4[1];
|
|
70
|
+
(0, _react.useEffect)(function () {
|
|
71
|
+
if (calculationDelayMs) {
|
|
72
|
+
setTimeout(function () {
|
|
73
|
+
return setReady(true);
|
|
74
|
+
}, calculationDelayMs);
|
|
75
|
+
}
|
|
76
|
+
}, [calculationDelayMs]);
|
|
77
|
+
|
|
64
78
|
// Handle exceptions where we need to override the passed props
|
|
65
79
|
var _useMemo = (0, _react.useMemo)(function () {
|
|
66
80
|
var truncation = _truncation;
|
|
@@ -85,7 +99,8 @@ var EuiTextTruncateWithWidth = function EuiTextTruncateWithWidth(_ref2) {
|
|
|
85
99
|
truncationOffset = _useMemo.truncationOffset;
|
|
86
100
|
var truncatedText = (0, _react.useMemo)(function () {
|
|
87
101
|
var truncatedText = '';
|
|
88
|
-
if (!
|
|
102
|
+
if (!ready || !containerEl) return text;
|
|
103
|
+
if (!width) return truncatedText;
|
|
89
104
|
var utils = new _utils.TruncationUtils({
|
|
90
105
|
fullText: text,
|
|
91
106
|
ellipsis: ellipsis,
|
|
@@ -117,7 +132,7 @@ var EuiTextTruncateWithWidth = function EuiTextTruncateWithWidth(_ref2) {
|
|
|
117
132
|
}
|
|
118
133
|
}
|
|
119
134
|
return truncatedText;
|
|
120
|
-
}, [width, text, truncation, truncationOffset, truncationPosition, ellipsis, containerEl]);
|
|
135
|
+
}, [ready, width, text, truncation, truncationOffset, truncationPosition, ellipsis, containerEl]);
|
|
121
136
|
var isTruncating = truncatedText !== text;
|
|
122
137
|
return (0, _react2.jsx)("div", (0, _extends2.default)({
|
|
123
138
|
className: (0, _classnames.default)('euiTextTruncate', className),
|
|
@@ -141,10 +156,10 @@ var EuiTextTruncateWithWidth = function EuiTextTruncateWithWidth(_ref2) {
|
|
|
141
156
|
var EuiTextTruncateWithResizeObserver = function EuiTextTruncateWithResizeObserver(_ref3) {
|
|
142
157
|
var _onResize = _ref3.onResize,
|
|
143
158
|
props = (0, _objectWithoutProperties2.default)(_ref3, _excluded3);
|
|
144
|
-
var
|
|
145
|
-
|
|
146
|
-
width =
|
|
147
|
-
setWidth =
|
|
159
|
+
var _useState5 = (0, _react.useState)(0),
|
|
160
|
+
_useState6 = (0, _slicedToArray2.default)(_useState5, 2),
|
|
161
|
+
width = _useState6[0],
|
|
162
|
+
setWidth = _useState6[1];
|
|
148
163
|
var onResize = (0, _react.useCallback)(function (_ref4) {
|
|
149
164
|
var width = _ref4.width;
|
|
150
165
|
setWidth(width);
|
|
@@ -156,6 +171,8 @@ var EuiTextTruncateWithResizeObserver = function EuiTextTruncateWithResizeObserv
|
|
|
156
171
|
return (0, _react2.jsx)(EuiTextTruncateWithWidth, (0, _extends2.default)({
|
|
157
172
|
width: width,
|
|
158
173
|
containerRef: ref
|
|
159
|
-
}, props
|
|
174
|
+
}, props, {
|
|
175
|
+
"data-resize-observer": "true"
|
|
176
|
+
}));
|
|
160
177
|
});
|
|
161
178
|
};
|
package/package.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@elastic/eui",
|
|
3
3
|
"description": "Elastic UI Component Library",
|
|
4
|
-
"version": "
|
|
4
|
+
"version": "90.0.1",
|
|
5
5
|
"license": "SEE LICENSE IN LICENSE.txt",
|
|
6
6
|
"main": "lib",
|
|
7
7
|
"module": "es",
|
|
8
8
|
"types": "eui.d.ts",
|
|
9
|
-
"docker_image": "18.18.
|
|
9
|
+
"docker_image": "18.18.2",
|
|
10
10
|
"engines": {
|
|
11
11
|
"node": "16.x || 18.x || >=20.0"
|
|
12
12
|
},
|
|
@@ -79,8 +79,8 @@
|
|
|
79
79
|
"react-remove-scroll-bar": "^2.3.4",
|
|
80
80
|
"react-virtualized-auto-sizer": "^1.0.20",
|
|
81
81
|
"react-window": "^1.8.9",
|
|
82
|
-
"refractor": "^3.
|
|
83
|
-
"rehype-raw": "^5.
|
|
82
|
+
"refractor": "^3.6.0",
|
|
83
|
+
"rehype-raw": "^5.1.0",
|
|
84
84
|
"rehype-react": "^6.2.1",
|
|
85
85
|
"rehype-stringify": "^8.0.0",
|
|
86
86
|
"remark-breaks": "^2.0.2",
|
|
@@ -93,7 +93,7 @@
|
|
|
93
93
|
"unist-util-visit": "^2.0.3",
|
|
94
94
|
"url-parse": "^1.5.10",
|
|
95
95
|
"uuid": "^8.3.0",
|
|
96
|
-
"vfile": "^4.2.
|
|
96
|
+
"vfile": "^4.2.1"
|
|
97
97
|
},
|
|
98
98
|
"devDependencies": {
|
|
99
99
|
"@babel/cli": "^7.21.5",
|