@elastic/eui 93.2.0 → 93.4.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/dist/eui_charts_theme.d.ts +9 -0
- package/dist/eui_charts_theme.js +56 -14
- package/dist/eui_charts_theme.js.map +1 -1
- package/dist/eui_theme_dark.css +3 -0
- package/dist/eui_theme_dark.min.css +1 -1
- package/dist/eui_theme_light.css +3 -0
- package/dist/eui_theme_light.min.css +1 -1
- package/es/components/breadcrumbs/_breadcrumb_content.js +362 -0
- package/es/components/breadcrumbs/_breadcrumb_content.styles.js +48 -0
- package/es/components/breadcrumbs/breadcrumb.js +10 -324
- package/es/components/breadcrumbs/breadcrumb.styles.js +5 -27
- package/es/components/breadcrumbs/breadcrumbs.js +8 -6
- package/es/components/breadcrumbs/types.js +1 -0
- package/es/components/button/button_display/_button_display.js +2 -3
- package/es/components/button/button_empty/button_empty.js +2 -3
- package/es/components/button/button_group/button_group.js +19 -7
- package/es/components/button/button_group/button_group.styles.js +11 -14
- package/es/components/button/button_group/button_group_button.js +59 -5
- package/es/components/button/button_group/button_group_button.styles.js +39 -3
- package/es/components/button/button_icon/button_icon.js +4 -5
- package/es/components/button/button_icon/button_icon.styles.js +11 -3
- package/es/components/datagrid/body/cell/data_grid_cell.js +102 -59
- package/es/components/datagrid/body/cell/data_grid_cell_actions.js +24 -18
- package/es/components/datagrid/body/cell/data_grid_cell_popover.js +64 -56
- package/es/components/datagrid/body/cell/data_grid_cell_wrapper.js +34 -31
- package/es/components/datagrid/body/cell/index.js +1 -1
- package/es/components/datagrid/body/data_grid_body.js +14 -0
- package/es/components/datagrid/body/data_grid_body_custom.js +54 -35
- package/es/components/datagrid/body/data_grid_body_virtualized.js +87 -56
- package/es/components/datagrid/body/data_grid_row_manager.js +7 -5
- package/es/components/datagrid/body/footer/use_data_grid_footer.js +1 -2
- package/es/components/datagrid/body/header/data_grid_control_header_cell.js +5 -4
- package/es/components/datagrid/body/header/data_grid_header_cell.js +73 -53
- package/es/components/datagrid/body/header/data_grid_header_row.js +15 -551
- package/es/components/datagrid/body/header/use_data_grid_header.js +7 -6
- package/es/components/datagrid/controls/column_selector.js +126 -123
- package/es/components/datagrid/controls/column_sorting.js +605 -103
- package/es/components/datagrid/controls/column_sorting_draggable.js +24 -22
- package/es/components/datagrid/controls/display_selector.js +109 -107
- package/es/components/datagrid/data_grid.a11y.js +13 -12
- package/es/components/datagrid/data_grid.js +47 -22
- package/es/components/datagrid/utils/col_widths.js +12 -8
- package/es/components/datagrid/utils/focus.js +10 -8
- package/es/components/datagrid/utils/grid_height_width.js +31 -30
- package/es/components/datagrid/utils/ref.js +1 -1
- package/es/components/datagrid/utils/row_heights.js +2 -2
- package/es/components/datagrid/utils/sorting.js +29 -27
- package/es/components/date_picker/super_date_picker/super_date_picker.js +9 -0
- package/es/components/date_picker/super_date_picker/super_update_button.js +57 -29
- package/es/components/facet/facet_button.styles.js +1 -2
- package/es/components/flex/flex_grid.js +22 -8
- package/es/components/flex/flex_grid.styles.js +13 -6
- package/es/components/flex/flex_group.js +10 -11
- package/es/components/flex/flex_item.js +9 -11
- package/es/components/flex/flex_item.styles.js +107 -122
- package/es/components/flyout/flyout.js +16 -18
- package/es/components/header/header_breadcrumbs/header_breadcrumbs.js +7 -7
- package/es/components/icon/icon.js +13 -16
- package/es/components/icon/icon.styles.js +6 -9
- package/es/components/link/external_link_icon.js +11 -8
- package/es/components/link/link.js +2 -3
- package/es/components/link/link.styles.js +4 -10
- package/es/components/modal/confirm_modal.js +2 -1
- package/es/components/modal/modal.js +12 -3
- package/es/components/observer/resize_observer/resize_observer.js +15 -24
- package/es/components/page/page_header/page_header_content.js +4 -2
- package/es/components/progress/progress.styles.js +2 -2
- package/es/components/skeleton/skeleton_circle.js +2 -3
- package/es/components/skeleton/skeleton_rectangle.js +2 -3
- package/es/components/skeleton/skeleton_text.js +16 -12
- package/es/components/skeleton/skeleton_title.js +2 -3
- package/es/components/spacer/spacer.js +2 -3
- package/es/components/text/text.js +2 -3
- package/es/components/text/text_align.js +1 -2
- package/es/components/text/text_align.styles.js +5 -7
- package/es/components/text/text_color.js +2 -3
- package/es/components/title/title.js +2 -3
- package/es/components/title/title.styles.js +0 -7
- package/es/components/toast/global_toast_list.js +70 -73
- package/es/components/toast/toast.js +27 -42
- package/es/components/toast/toast.styles.js +2 -17
- package/es/global_styling/mixins/_typography.js +17 -6
- package/es/services/color/eui_palettes.js +21 -13
- package/es/services/color/index.js +1 -1
- package/es/services/hooks/index.js +1 -0
- package/es/services/hooks/useDeepEqual.js +23 -0
- package/es/services/index.js +1 -1
- package/es/services/theme/index.js +1 -1
- package/es/services/theme/style_memoization.js +47 -14
- package/es/themes/amsterdam/global_styling/mixins/button.js +47 -24
- package/eui.d.ts +2862 -2748
- package/i18ntokens.json +267 -267
- package/lib/components/breadcrumbs/_breadcrumb_content.js +372 -0
- package/lib/components/breadcrumbs/_breadcrumb_content.styles.js +55 -0
- package/lib/components/breadcrumbs/breadcrumb.js +11 -328
- package/lib/components/breadcrumbs/breadcrumb.styles.js +5 -29
- package/lib/components/breadcrumbs/breadcrumbs.js +7 -5
- package/lib/components/breadcrumbs/types.js +5 -0
- package/lib/components/button/button_display/_button_display.js +1 -2
- package/lib/components/button/button_empty/button_empty.js +1 -2
- package/lib/components/button/button_group/button_group.js +18 -6
- package/lib/components/button/button_group/button_group.styles.js +11 -14
- package/lib/components/button/button_group/button_group_button.js +59 -5
- package/lib/components/button/button_group/button_group_button.styles.js +45 -11
- package/lib/components/button/button_icon/button_icon.js +3 -4
- package/lib/components/button/button_icon/button_icon.styles.js +10 -2
- package/lib/components/datagrid/body/cell/data_grid_cell.js +100 -58
- package/lib/components/datagrid/body/cell/data_grid_cell_actions.js +24 -18
- package/lib/components/datagrid/body/cell/data_grid_cell_popover.js +63 -55
- package/lib/components/datagrid/body/cell/data_grid_cell_wrapper.js +34 -31
- package/lib/components/datagrid/body/cell/index.js +2 -2
- package/lib/components/datagrid/body/data_grid_body.js +14 -0
- package/lib/components/datagrid/body/data_grid_body_custom.js +53 -34
- package/lib/components/datagrid/body/data_grid_body_virtualized.js +86 -55
- package/lib/components/datagrid/body/data_grid_row_manager.js +6 -4
- package/lib/components/datagrid/body/footer/use_data_grid_footer.js +1 -2
- package/lib/components/datagrid/body/header/data_grid_control_header_cell.js +8 -4
- package/lib/components/datagrid/body/header/data_grid_header_cell.js +72 -52
- package/lib/components/datagrid/body/header/data_grid_header_row.js +14 -550
- package/lib/components/datagrid/body/header/use_data_grid_header.js +7 -6
- package/lib/components/datagrid/controls/column_selector.js +126 -123
- package/lib/components/datagrid/controls/column_sorting.js +615 -110
- package/lib/components/datagrid/controls/column_sorting_draggable.js +27 -22
- package/lib/components/datagrid/controls/display_selector.js +109 -107
- package/lib/components/datagrid/data_grid.a11y.js +13 -12
- package/lib/components/datagrid/data_grid.js +45 -20
- package/lib/components/datagrid/utils/col_widths.js +12 -8
- package/lib/components/datagrid/utils/focus.js +10 -8
- package/lib/components/datagrid/utils/grid_height_width.js +29 -28
- package/lib/components/datagrid/utils/ref.js +1 -1
- package/lib/components/datagrid/utils/row_heights.js +1 -1
- package/lib/components/datagrid/utils/sorting.js +31 -29
- package/lib/components/date_picker/super_date_picker/super_date_picker.js +9 -0
- package/lib/components/date_picker/super_date_picker/super_update_button.js +57 -29
- package/lib/components/facet/facet_button.styles.js +1 -2
- package/lib/components/flex/flex_grid.js +23 -7
- package/lib/components/flex/flex_grid.styles.js +13 -6
- package/lib/components/flex/flex_group.js +10 -10
- package/lib/components/flex/flex_item.js +13 -13
- package/lib/components/flex/flex_item.styles.js +107 -122
- package/lib/components/flyout/flyout.js +16 -18
- package/lib/components/header/header_breadcrumbs/header_breadcrumbs.js +7 -7
- package/lib/components/icon/icon.js +12 -15
- package/lib/components/icon/icon.styles.js +5 -8
- package/lib/components/link/external_link_icon.js +10 -7
- package/lib/components/link/link.js +1 -2
- package/lib/components/link/link.styles.js +6 -14
- package/lib/components/modal/confirm_modal.js +2 -1
- package/lib/components/modal/modal.js +12 -3
- package/lib/components/observer/resize_observer/resize_observer.js +15 -24
- package/lib/components/page/page_header/page_header_content.js +4 -2
- package/lib/components/progress/progress.styles.js +1 -1
- package/lib/components/skeleton/skeleton_circle.js +1 -2
- package/lib/components/skeleton/skeleton_rectangle.js +1 -2
- package/lib/components/skeleton/skeleton_text.js +18 -11
- package/lib/components/skeleton/skeleton_title.js +1 -2
- package/lib/components/spacer/spacer.js +1 -2
- package/lib/components/text/text.js +1 -2
- package/lib/components/text/text_align.js +1 -2
- package/lib/components/text/text_align.styles.js +5 -7
- package/lib/components/text/text_color.js +1 -2
- package/lib/components/title/title.js +1 -2
- package/lib/components/title/title.styles.js +2 -10
- package/lib/components/toast/global_toast_list.js +68 -71
- package/lib/components/toast/toast.js +25 -40
- package/lib/components/toast/toast.styles.js +11 -25
- package/lib/global_styling/mixins/_typography.js +27 -19
- package/lib/services/color/eui_palettes.js +24 -14
- package/lib/services/color/index.js +14 -0
- package/lib/services/hooks/index.js +11 -0
- package/lib/services/hooks/useDeepEqual.js +30 -0
- package/lib/services/index.js +15 -1
- package/lib/services/theme/index.js +6 -0
- package/lib/services/theme/style_memoization.js +49 -16
- package/lib/themes/amsterdam/global_styling/mixins/button.js +49 -25
- package/optimize/es/components/breadcrumbs/_breadcrumb_content.js +153 -0
- package/optimize/es/components/breadcrumbs/_breadcrumb_content.styles.js +48 -0
- package/optimize/es/components/breadcrumbs/breadcrumb.js +10 -109
- package/optimize/es/components/breadcrumbs/breadcrumb.styles.js +5 -27
- package/optimize/es/components/breadcrumbs/breadcrumbs.js +4 -4
- package/optimize/es/components/breadcrumbs/types.js +1 -0
- package/optimize/es/components/button/button_display/_button_display.js +2 -3
- package/optimize/es/components/button/button_empty/button_empty.js +2 -3
- package/optimize/es/components/button/button_group/button_group.js +5 -7
- package/optimize/es/components/button/button_group/button_group.styles.js +11 -14
- package/optimize/es/components/button/button_group/button_group_button.js +36 -4
- package/optimize/es/components/button/button_group/button_group_button.styles.js +39 -3
- package/optimize/es/components/button/button_icon/button_icon.js +4 -5
- package/optimize/es/components/button/button_icon/button_icon.styles.js +8 -3
- package/optimize/es/components/datagrid/body/cell/data_grid_cell.js +83 -56
- package/optimize/es/components/datagrid/body/cell/data_grid_cell_actions.js +24 -18
- package/optimize/es/components/datagrid/body/cell/data_grid_cell_popover.js +64 -56
- package/optimize/es/components/datagrid/body/cell/data_grid_cell_wrapper.js +34 -31
- package/optimize/es/components/datagrid/body/cell/index.js +1 -1
- package/optimize/es/components/datagrid/body/data_grid_body_custom.js +40 -35
- package/optimize/es/components/datagrid/body/data_grid_body_virtualized.js +71 -49
- package/optimize/es/components/datagrid/body/data_grid_row_manager.js +7 -5
- package/optimize/es/components/datagrid/body/footer/use_data_grid_footer.js +1 -2
- package/optimize/es/components/datagrid/body/header/data_grid_control_header_cell.js +4 -3
- package/optimize/es/components/datagrid/body/header/data_grid_header_cell.js +65 -49
- package/optimize/es/components/datagrid/body/header/data_grid_header_row.js +15 -13
- package/optimize/es/components/datagrid/body/header/use_data_grid_header.js +7 -6
- package/optimize/es/components/datagrid/controls/column_selector.js +126 -123
- package/optimize/es/components/datagrid/controls/column_sorting.js +121 -103
- package/optimize/es/components/datagrid/controls/column_sorting_draggable.js +24 -22
- package/optimize/es/components/datagrid/controls/display_selector.js +109 -107
- package/optimize/es/components/datagrid/data_grid.a11y.js +13 -12
- package/optimize/es/components/datagrid/data_grid.js +47 -22
- package/optimize/es/components/datagrid/utils/col_widths.js +9 -5
- package/optimize/es/components/datagrid/utils/focus.js +10 -8
- package/optimize/es/components/datagrid/utils/grid_height_width.js +31 -30
- package/optimize/es/components/datagrid/utils/ref.js +1 -1
- package/optimize/es/components/datagrid/utils/row_heights.js +2 -2
- package/optimize/es/components/datagrid/utils/sorting.js +29 -27
- package/optimize/es/components/date_picker/super_date_picker/super_update_button.js +49 -29
- package/optimize/es/components/facet/facet_button.styles.js +1 -2
- package/optimize/es/components/flex/flex_grid.js +19 -8
- package/optimize/es/components/flex/flex_grid.styles.js +13 -6
- package/optimize/es/components/flex/flex_group.js +9 -10
- package/optimize/es/components/flex/flex_item.js +9 -11
- package/optimize/es/components/flex/flex_item.styles.js +107 -122
- package/optimize/es/components/flyout/flyout.js +16 -18
- package/optimize/es/components/header/header_breadcrumbs/header_breadcrumbs.js +3 -5
- package/optimize/es/components/icon/icon.js +13 -16
- package/optimize/es/components/icon/icon.styles.js +6 -9
- package/optimize/es/components/link/external_link_icon.js +11 -8
- package/optimize/es/components/link/link.js +2 -3
- package/optimize/es/components/link/link.styles.js +4 -10
- package/optimize/es/components/modal/confirm_modal.js +2 -1
- package/optimize/es/components/modal/modal.js +6 -2
- package/optimize/es/components/observer/resize_observer/resize_observer.js +15 -24
- package/optimize/es/components/progress/progress.styles.js +2 -2
- package/optimize/es/components/skeleton/skeleton_circle.js +2 -3
- package/optimize/es/components/skeleton/skeleton_rectangle.js +2 -3
- package/optimize/es/components/skeleton/skeleton_text.js +16 -12
- package/optimize/es/components/skeleton/skeleton_title.js +2 -3
- package/optimize/es/components/spacer/spacer.js +2 -3
- package/optimize/es/components/text/text.js +2 -3
- package/optimize/es/components/text/text_align.js +1 -2
- package/optimize/es/components/text/text_align.styles.js +5 -7
- package/optimize/es/components/text/text_color.js +2 -3
- package/optimize/es/components/title/title.js +2 -3
- package/optimize/es/components/title/title.styles.js +0 -7
- package/optimize/es/components/toast/global_toast_list.js +70 -73
- package/optimize/es/components/toast/toast.js +27 -42
- package/optimize/es/components/toast/toast.styles.js +2 -17
- package/optimize/es/global_styling/mixins/_typography.js +14 -6
- package/optimize/es/services/color/eui_palettes.js +21 -13
- package/optimize/es/services/color/index.js +1 -1
- package/optimize/es/services/hooks/index.js +1 -0
- package/optimize/es/services/hooks/useDeepEqual.js +23 -0
- package/optimize/es/services/index.js +1 -1
- package/optimize/es/services/theme/index.js +1 -1
- package/optimize/es/services/theme/style_memoization.js +47 -14
- package/optimize/es/themes/amsterdam/global_styling/mixins/button.js +47 -24
- package/optimize/lib/components/breadcrumbs/_breadcrumb_content.js +163 -0
- package/optimize/lib/components/breadcrumbs/_breadcrumb_content.styles.js +55 -0
- package/optimize/lib/components/breadcrumbs/breadcrumb.js +10 -112
- package/optimize/lib/components/breadcrumbs/breadcrumb.styles.js +5 -29
- package/optimize/lib/components/breadcrumbs/breadcrumbs.js +3 -3
- package/optimize/lib/components/breadcrumbs/types.js +5 -0
- package/optimize/lib/components/button/button_display/_button_display.js +1 -2
- package/optimize/lib/components/button/button_empty/button_empty.js +1 -2
- package/optimize/lib/components/button/button_group/button_group.js +4 -6
- package/optimize/lib/components/button/button_group/button_group.styles.js +11 -14
- package/optimize/lib/components/button/button_group/button_group_button.js +37 -5
- package/optimize/lib/components/button/button_group/button_group_button.styles.js +45 -11
- package/optimize/lib/components/button/button_icon/button_icon.js +3 -4
- package/optimize/lib/components/button/button_icon/button_icon.styles.js +8 -2
- package/optimize/lib/components/datagrid/body/cell/data_grid_cell.js +81 -55
- package/optimize/lib/components/datagrid/body/cell/data_grid_cell_actions.js +24 -18
- package/optimize/lib/components/datagrid/body/cell/data_grid_cell_popover.js +63 -55
- package/optimize/lib/components/datagrid/body/cell/data_grid_cell_wrapper.js +34 -31
- package/optimize/lib/components/datagrid/body/cell/index.js +2 -2
- package/optimize/lib/components/datagrid/body/data_grid_body_custom.js +39 -34
- package/optimize/lib/components/datagrid/body/data_grid_body_virtualized.js +72 -50
- package/optimize/lib/components/datagrid/body/data_grid_row_manager.js +6 -4
- package/optimize/lib/components/datagrid/body/footer/use_data_grid_footer.js +1 -2
- package/optimize/lib/components/datagrid/body/header/data_grid_control_header_cell.js +8 -4
- package/optimize/lib/components/datagrid/body/header/data_grid_header_cell.js +65 -49
- package/optimize/lib/components/datagrid/body/header/data_grid_header_row.js +14 -12
- package/optimize/lib/components/datagrid/body/header/use_data_grid_header.js +7 -6
- package/optimize/lib/components/datagrid/controls/column_selector.js +126 -123
- package/optimize/lib/components/datagrid/controls/column_sorting.js +125 -107
- package/optimize/lib/components/datagrid/controls/column_sorting_draggable.js +27 -22
- package/optimize/lib/components/datagrid/controls/display_selector.js +109 -107
- package/optimize/lib/components/datagrid/data_grid.a11y.js +13 -12
- package/optimize/lib/components/datagrid/data_grid.js +45 -20
- package/optimize/lib/components/datagrid/utils/col_widths.js +9 -5
- package/optimize/lib/components/datagrid/utils/focus.js +10 -8
- package/optimize/lib/components/datagrid/utils/grid_height_width.js +29 -28
- package/optimize/lib/components/datagrid/utils/ref.js +1 -1
- package/optimize/lib/components/datagrid/utils/row_heights.js +1 -1
- package/optimize/lib/components/datagrid/utils/sorting.js +31 -29
- package/optimize/lib/components/date_picker/super_date_picker/super_update_button.js +49 -29
- package/optimize/lib/components/facet/facet_button.styles.js +1 -2
- package/optimize/lib/components/flex/flex_grid.js +21 -7
- package/optimize/lib/components/flex/flex_grid.styles.js +13 -6
- package/optimize/lib/components/flex/flex_group.js +9 -9
- package/optimize/lib/components/flex/flex_item.js +13 -13
- package/optimize/lib/components/flex/flex_item.styles.js +107 -122
- package/optimize/lib/components/flyout/flyout.js +16 -18
- package/optimize/lib/components/header/header_breadcrumbs/header_breadcrumbs.js +3 -5
- package/optimize/lib/components/icon/icon.js +12 -15
- package/optimize/lib/components/icon/icon.styles.js +5 -8
- package/optimize/lib/components/link/external_link_icon.js +10 -7
- package/optimize/lib/components/link/link.js +1 -2
- package/optimize/lib/components/link/link.styles.js +6 -14
- package/optimize/lib/components/modal/confirm_modal.js +2 -1
- package/optimize/lib/components/modal/modal.js +6 -2
- package/optimize/lib/components/observer/resize_observer/resize_observer.js +15 -24
- package/optimize/lib/components/progress/progress.styles.js +1 -1
- package/optimize/lib/components/skeleton/skeleton_circle.js +1 -2
- package/optimize/lib/components/skeleton/skeleton_rectangle.js +1 -2
- package/optimize/lib/components/skeleton/skeleton_text.js +18 -11
- package/optimize/lib/components/skeleton/skeleton_title.js +1 -2
- package/optimize/lib/components/spacer/spacer.js +1 -2
- package/optimize/lib/components/text/text.js +1 -2
- package/optimize/lib/components/text/text_align.js +1 -2
- package/optimize/lib/components/text/text_align.styles.js +5 -7
- package/optimize/lib/components/text/text_color.js +1 -2
- package/optimize/lib/components/title/title.js +1 -2
- package/optimize/lib/components/title/title.styles.js +2 -10
- package/optimize/lib/components/toast/global_toast_list.js +68 -71
- package/optimize/lib/components/toast/toast.js +25 -40
- package/optimize/lib/components/toast/toast.styles.js +11 -25
- package/optimize/lib/global_styling/mixins/_typography.js +25 -19
- package/optimize/lib/services/color/eui_palettes.js +24 -14
- package/optimize/lib/services/color/index.js +14 -0
- package/optimize/lib/services/hooks/index.js +11 -0
- package/optimize/lib/services/hooks/useDeepEqual.js +30 -0
- package/optimize/lib/services/index.js +15 -1
- package/optimize/lib/services/theme/index.js +6 -0
- package/optimize/lib/services/theme/style_memoization.js +49 -16
- package/optimize/lib/themes/amsterdam/global_styling/mixins/button.js +49 -26
- package/package.json +3 -3
- package/src/components/datagrid/_data_grid_data_row.scss +4 -0
- package/test-env/components/breadcrumbs/_breadcrumb_content.js +363 -0
- package/test-env/components/breadcrumbs/_breadcrumb_content.styles.js +55 -0
- package/test-env/components/breadcrumbs/breadcrumb.js +11 -323
- package/test-env/components/breadcrumbs/breadcrumb.styles.js +5 -29
- package/test-env/components/breadcrumbs/breadcrumbs.js +7 -5
- package/test-env/components/breadcrumbs/types.js +5 -0
- package/test-env/components/button/button_display/_button_display.js +1 -2
- package/test-env/components/button/button_empty/button_empty.js +1 -2
- package/test-env/components/button/button_group/button_group.js +18 -6
- package/test-env/components/button/button_group/button_group.styles.js +11 -14
- package/test-env/components/button/button_group/button_group_button.js +56 -5
- package/test-env/components/button/button_group/button_group_button.styles.js +45 -11
- package/test-env/components/button/button_icon/button_icon.js +3 -4
- package/test-env/components/button/button_icon/button_icon.styles.js +8 -2
- package/test-env/components/datagrid/body/cell/data_grid_cell.js +100 -58
- package/test-env/components/datagrid/body/cell/data_grid_cell_actions.js +24 -18
- package/test-env/components/datagrid/body/cell/data_grid_cell_popover.js +63 -55
- package/test-env/components/datagrid/body/cell/data_grid_cell_wrapper.js +34 -31
- package/test-env/components/datagrid/body/cell/index.js +2 -2
- package/test-env/components/datagrid/body/data_grid_body.js +14 -0
- package/test-env/components/datagrid/body/data_grid_body_custom.js +53 -34
- package/test-env/components/datagrid/body/data_grid_body_virtualized.js +86 -55
- package/test-env/components/datagrid/body/data_grid_row_manager.js +6 -4
- package/test-env/components/datagrid/body/footer/use_data_grid_footer.js +1 -2
- package/test-env/components/datagrid/body/header/data_grid_control_header_cell.js +8 -4
- package/test-env/components/datagrid/body/header/data_grid_header_cell.js +72 -52
- package/test-env/components/datagrid/body/header/data_grid_header_row.js +14 -550
- package/test-env/components/datagrid/body/header/use_data_grid_header.js +7 -6
- package/test-env/components/datagrid/controls/column_selector.js +126 -123
- package/test-env/components/datagrid/controls/column_sorting.js +607 -106
- package/test-env/components/datagrid/controls/column_sorting_draggable.js +27 -22
- package/test-env/components/datagrid/controls/display_selector.js +109 -107
- package/test-env/components/datagrid/data_grid.a11y.js +13 -12
- package/test-env/components/datagrid/data_grid.js +45 -20
- package/test-env/components/datagrid/utils/col_widths.js +9 -5
- package/test-env/components/datagrid/utils/focus.js +10 -8
- package/test-env/components/datagrid/utils/grid_height_width.js +29 -28
- package/test-env/components/datagrid/utils/ref.js +1 -1
- package/test-env/components/datagrid/utils/row_heights.js +1 -1
- package/test-env/components/datagrid/utils/sorting.js +31 -29
- package/test-env/components/date_picker/super_date_picker/super_date_picker.js +9 -0
- package/test-env/components/date_picker/super_date_picker/super_update_button.js +57 -29
- package/test-env/components/facet/facet_button.styles.js +1 -2
- package/test-env/components/flex/flex_grid.js +21 -7
- package/test-env/components/flex/flex_grid.styles.js +13 -6
- package/test-env/components/flex/flex_group.js +10 -10
- package/test-env/components/flex/flex_item.js +13 -13
- package/test-env/components/flex/flex_item.styles.js +107 -122
- package/test-env/components/header/header_breadcrumbs/header_breadcrumbs.js +7 -7
- package/test-env/components/icon/icon.styles.js +5 -8
- package/test-env/components/link/external_link_icon.js +10 -7
- package/test-env/components/link/link.js +1 -2
- package/test-env/components/link/link.styles.js +6 -14
- package/test-env/components/modal/confirm_modal.js +2 -1
- package/test-env/components/modal/modal.js +12 -3
- package/test-env/components/page/page_header/page_header_content.js +4 -2
- package/test-env/components/progress/progress.styles.js +1 -1
- package/test-env/components/skeleton/skeleton_circle.js +1 -2
- package/test-env/components/skeleton/skeleton_rectangle.js +1 -2
- package/test-env/components/skeleton/skeleton_text.js +18 -11
- package/test-env/components/skeleton/skeleton_title.js +1 -2
- package/test-env/components/spacer/spacer.js +1 -2
- package/test-env/components/text/text.js +1 -2
- package/test-env/components/text/text_align.js +1 -2
- package/test-env/components/text/text_align.styles.js +5 -7
- package/test-env/components/text/text_color.js +1 -2
- package/test-env/components/title/title.js +1 -2
- package/test-env/components/title/title.styles.js +2 -10
- package/test-env/components/toast/global_toast_list.js +68 -71
- package/test-env/components/toast/toast.js +25 -40
- package/test-env/components/toast/toast.styles.js +11 -25
- package/test-env/global_styling/mixins/_typography.js +25 -19
- package/test-env/services/color/eui_palettes.js +24 -14
- package/test-env/services/color/index.js +14 -0
- package/test-env/services/hooks/index.js +11 -0
- package/test-env/services/hooks/useDeepEqual.js +30 -0
- package/test-env/services/index.js +15 -1
- package/test-env/services/theme/index.js +6 -0
- package/test-env/services/theme/style_memoization.js +49 -16
- package/test-env/themes/amsterdam/global_styling/mixins/button.js +49 -26
- package/src/themes/charts/theme.scss +0 -5
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
var _excluded = ["children", "style"];
|
|
2
2
|
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
|
3
3
|
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
|
|
4
|
+
import PropTypes from "prop-types";
|
|
4
5
|
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
|
|
5
6
|
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
6
|
-
import PropTypes from "prop-types";
|
|
7
7
|
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; }
|
|
8
8
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
9
9
|
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
@@ -18,12 +18,13 @@ function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input ==
|
|
|
18
18
|
*/
|
|
19
19
|
|
|
20
20
|
import classNames from 'classnames';
|
|
21
|
-
import React, { forwardRef, createContext, useContext, useEffect, useRef } from 'react';
|
|
21
|
+
import React, { forwardRef, createContext, useCallback, useContext, useEffect, useRef, useMemo, memo } from 'react';
|
|
22
22
|
import { VariableSizeGrid as Grid } from 'react-window';
|
|
23
|
+
import { useDeepEqual } from '../../../services';
|
|
23
24
|
import { useResizeObserver } from '../../observer/resize_observer';
|
|
24
25
|
import { useDataGridHeader } from './header';
|
|
25
26
|
import { useDataGridFooter } from './footer';
|
|
26
|
-
import {
|
|
27
|
+
import { CellWrapper } from './cell';
|
|
27
28
|
import { useRowManager } from './data_grid_row_manager';
|
|
28
29
|
import { useFinalGridDimensions, useUnconstrainedHeight, useVirtualizeContainerWidth } from '../utils/grid_height_width';
|
|
29
30
|
import { useDefaultColumnWidth, useColumnWidths } from '../utils/col_widths';
|
|
@@ -31,21 +32,25 @@ import { useRowHeightUtils, useDefaultRowHeight } from '../utils/row_heights';
|
|
|
31
32
|
import { useScrollBars, useScroll } from '../utils/scrolling';
|
|
32
33
|
import { IS_JEST_ENVIRONMENT } from '../../../utils';
|
|
33
34
|
import { jsx as ___EmotionJSX } from "@emotion/react";
|
|
34
|
-
export var
|
|
35
|
+
export var Cell = /*#__PURE__*/memo(function (_ref) {
|
|
35
36
|
var columnIndex = _ref.columnIndex,
|
|
36
37
|
rowIndex = _ref.rowIndex,
|
|
37
38
|
style = _ref.style,
|
|
38
39
|
data = _ref.data;
|
|
39
|
-
var
|
|
40
|
-
|
|
41
|
-
|
|
40
|
+
var memoizedStyles = useDeepEqual(style);
|
|
41
|
+
var cellStyles = useMemo(function () {
|
|
42
|
+
var headerRowHeight = data.headerRowHeight;
|
|
43
|
+
return _objectSpread(_objectSpread({}, memoizedStyles), {}, {
|
|
44
|
+
top: "".concat(parseFloat(memoizedStyles.top) + headerRowHeight, "px")
|
|
45
|
+
});
|
|
46
|
+
}, [memoizedStyles, data]);
|
|
47
|
+
return ___EmotionJSX(CellWrapper, _extends({
|
|
42
48
|
colIndex: columnIndex,
|
|
43
49
|
visibleRowIndex: rowIndex,
|
|
44
|
-
style:
|
|
45
|
-
top: "".concat(parseFloat(style.top) + headerRowHeight, "px")
|
|
46
|
-
})
|
|
50
|
+
style: cellStyles
|
|
47
51
|
}, data));
|
|
48
|
-
};
|
|
52
|
+
});
|
|
53
|
+
Cell.displayName = 'Cell';
|
|
49
54
|
|
|
50
55
|
// Context is required to pass props to react-window's innerElementType
|
|
51
56
|
// @see https://github.com/bvaughn/react-window/issues/404
|
|
@@ -54,28 +59,27 @@ export var DataGridWrapperRowsContext = /*#__PURE__*/createContext({
|
|
|
54
59
|
headerRowHeight: 0,
|
|
55
60
|
footerRow: null
|
|
56
61
|
});
|
|
57
|
-
var InnerElement = /*#__PURE__*/forwardRef(function (_ref2, ref) {
|
|
62
|
+
var InnerElement = /*#__PURE__*/memo( /*#__PURE__*/forwardRef(function (_ref2, ref) {
|
|
58
63
|
var children = _ref2.children,
|
|
59
64
|
style = _ref2.style,
|
|
60
65
|
rest = _objectWithoutProperties(_ref2, _excluded);
|
|
61
|
-
var
|
|
62
|
-
headerRowHeight =
|
|
63
|
-
headerRow =
|
|
64
|
-
footerRow =
|
|
66
|
+
var _useContext = useContext(DataGridWrapperRowsContext),
|
|
67
|
+
headerRowHeight = _useContext.headerRowHeight,
|
|
68
|
+
headerRow = _useContext.headerRow,
|
|
69
|
+
footerRow = _useContext.footerRow;
|
|
70
|
+
var memoizedStyles = useDeepEqual(style);
|
|
71
|
+
var innerElementStyles = useMemo(function () {
|
|
72
|
+
return _objectSpread(_objectSpread({}, memoizedStyles), {}, {
|
|
73
|
+
height: memoizedStyles.height + headerRowHeight
|
|
74
|
+
});
|
|
75
|
+
}, [memoizedStyles, headerRowHeight]);
|
|
65
76
|
return ___EmotionJSX(React.Fragment, null, ___EmotionJSX("div", _extends({
|
|
66
77
|
ref: ref,
|
|
67
|
-
style:
|
|
68
|
-
height: style.height + headerRowHeight
|
|
69
|
-
})
|
|
78
|
+
style: innerElementStyles
|
|
70
79
|
}, rest), headerRow, children), footerRow);
|
|
71
|
-
});
|
|
72
|
-
InnerElement.propTypes = {
|
|
73
|
-
style: PropTypes.shape({
|
|
74
|
-
height: PropTypes.number.isRequired
|
|
75
|
-
}).isRequired
|
|
76
|
-
};
|
|
80
|
+
}));
|
|
77
81
|
InnerElement.displayName = 'EuiDataGridInnerElement';
|
|
78
|
-
export var EuiDataGridBodyVirtualized = function
|
|
82
|
+
export var EuiDataGridBodyVirtualized = /*#__PURE__*/memo(function (_ref3) {
|
|
79
83
|
var leadingControlColumns = _ref3.leadingControlColumns,
|
|
80
84
|
trailingControlColumns = _ref3.trailingControlColumns,
|
|
81
85
|
columns = _ref3.columns,
|
|
@@ -88,10 +92,12 @@ export var EuiDataGridBodyVirtualized = function EuiDataGridBodyVirtualized(_ref
|
|
|
88
92
|
endRow = _ref3$visibleRows.endRow,
|
|
89
93
|
visibleRowCount = _ref3$visibleRows.visibleRowCount,
|
|
90
94
|
renderCellValue = _ref3.renderCellValue,
|
|
95
|
+
cellContext = _ref3.cellContext,
|
|
91
96
|
renderCellPopover = _ref3.renderCellPopover,
|
|
92
97
|
renderFooterCellValue = _ref3.renderFooterCellValue,
|
|
93
98
|
interactiveCellId = _ref3.interactiveCellId,
|
|
94
99
|
pagination = _ref3.pagination,
|
|
100
|
+
sorting = _ref3.sorting,
|
|
95
101
|
setVisibleColumns = _ref3.setVisibleColumns,
|
|
96
102
|
switchColumnPos = _ref3.switchColumnPos,
|
|
97
103
|
onColumnResize = _ref3.onColumnResize,
|
|
@@ -141,14 +147,15 @@ export var EuiDataGridBodyVirtualized = function EuiDataGridBodyVirtualized(_ref
|
|
|
141
147
|
* Header & footer
|
|
142
148
|
*/
|
|
143
149
|
var _useDataGridHeader = useDataGridHeader({
|
|
144
|
-
switchColumnPos: switchColumnPos,
|
|
145
|
-
setVisibleColumns: setVisibleColumns,
|
|
146
150
|
leadingControlColumns: leadingControlColumns,
|
|
147
151
|
trailingControlColumns: trailingControlColumns,
|
|
148
152
|
columns: columns,
|
|
149
153
|
columnWidths: columnWidths,
|
|
150
154
|
defaultColumnWidth: defaultColumnWidth,
|
|
151
155
|
setColumnWidth: setColumnWidth,
|
|
156
|
+
setVisibleColumns: setVisibleColumns,
|
|
157
|
+
switchColumnPos: switchColumnPos,
|
|
158
|
+
sorting: sorting,
|
|
152
159
|
schema: schema,
|
|
153
160
|
schemaDetectors: schemaDetectors
|
|
154
161
|
}),
|
|
@@ -256,29 +263,13 @@ export var EuiDataGridBodyVirtualized = function EuiDataGridBodyVirtualized(_ref
|
|
|
256
263
|
gridRef.current.resetAfterRowIndex(0);
|
|
257
264
|
}
|
|
258
265
|
}, [gridRef, getRowHeight]);
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
ref: gridRef,
|
|
267
|
-
className: classNames('euiDataGrid__virtualized', virtualizationOptions === null || virtualizationOptions === void 0 ? void 0 : virtualizationOptions.className),
|
|
268
|
-
onItemsRendered: function onItemsRendered(itemsRendered) {
|
|
269
|
-
var _virtualizationOption;
|
|
270
|
-
gridItemsRendered.current = itemsRendered;
|
|
271
|
-
virtualizationOptions === null || virtualizationOptions === void 0 ? void 0 : (_virtualizationOption = virtualizationOptions.onItemsRendered) === null || _virtualizationOption === void 0 ? void 0 : _virtualizationOption.call(virtualizationOptions, itemsRendered);
|
|
272
|
-
},
|
|
273
|
-
innerElementType: InnerElement,
|
|
274
|
-
outerRef: outerGridRef,
|
|
275
|
-
innerRef: innerGridRef,
|
|
276
|
-
columnCount: visibleColCount,
|
|
277
|
-
width: finalWidth,
|
|
278
|
-
columnWidth: getColumnWidth,
|
|
279
|
-
height: finalHeight,
|
|
280
|
-
rowHeight: getRowHeight,
|
|
281
|
-
itemData: {
|
|
266
|
+
var onItemsRendered = useCallback(function (itemsRendered) {
|
|
267
|
+
var _virtualizationOption;
|
|
268
|
+
gridItemsRendered.current = itemsRendered;
|
|
269
|
+
virtualizationOptions === null || virtualizationOptions === void 0 ? void 0 : (_virtualizationOption = virtualizationOptions.onItemsRendered) === null || _virtualizationOption === void 0 ? void 0 : _virtualizationOption.call(virtualizationOptions, itemsRendered);
|
|
270
|
+
}, [gridItemsRendered, virtualizationOptions]);
|
|
271
|
+
var itemData = useMemo(function () {
|
|
272
|
+
return {
|
|
282
273
|
schemaDetectors: schemaDetectors,
|
|
283
274
|
setRowHeight: setRowHeight,
|
|
284
275
|
leadingControlColumns: leadingControlColumns,
|
|
@@ -289,16 +280,41 @@ export var EuiDataGridBodyVirtualized = function EuiDataGridBodyVirtualized(_ref
|
|
|
289
280
|
columnWidths: columnWidths,
|
|
290
281
|
defaultColumnWidth: defaultColumnWidth,
|
|
291
282
|
renderCellValue: renderCellValue,
|
|
283
|
+
cellContext: cellContext,
|
|
292
284
|
renderCellPopover: renderCellPopover,
|
|
293
285
|
interactiveCellId: interactiveCellId,
|
|
294
286
|
rowHeightsOptions: rowHeightsOptions,
|
|
295
287
|
rowHeightUtils: rowHeightUtils,
|
|
296
288
|
rowManager: rowManager,
|
|
297
|
-
pagination: pagination
|
|
298
|
-
|
|
289
|
+
pagination: pagination,
|
|
290
|
+
headerRowHeight: headerRowHeight
|
|
291
|
+
};
|
|
292
|
+
}, [schemaDetectors, setRowHeight, leadingControlColumns, trailingControlColumns, columns, visibleColCount, schema, columnWidths, defaultColumnWidth, renderCellValue, cellContext, renderCellPopover, interactiveCellId, rowHeightsOptions, rowHeightUtils, rowManager, pagination, headerRowHeight]);
|
|
293
|
+
var rowWrapperContextValue = useMemo(function () {
|
|
294
|
+
return {
|
|
295
|
+
headerRowHeight: headerRowHeight,
|
|
296
|
+
headerRow: headerRow,
|
|
297
|
+
footerRow: footerRow
|
|
298
|
+
};
|
|
299
|
+
}, [headerRowHeight, headerRow, footerRow]);
|
|
300
|
+
return IS_JEST_ENVIRONMENT || finalWidth > 0 ? ___EmotionJSX(DataGridWrapperRowsContext.Provider, {
|
|
301
|
+
value: rowWrapperContextValue
|
|
302
|
+
}, ___EmotionJSX(Grid, _extends({}, virtualizationOptions, {
|
|
303
|
+
ref: gridRef,
|
|
304
|
+
className: classNames('euiDataGrid__virtualized', virtualizationOptions === null || virtualizationOptions === void 0 ? void 0 : virtualizationOptions.className),
|
|
305
|
+
onItemsRendered: onItemsRendered,
|
|
306
|
+
innerElementType: InnerElement,
|
|
307
|
+
outerRef: outerGridRef,
|
|
308
|
+
innerRef: innerGridRef,
|
|
309
|
+
columnCount: visibleColCount,
|
|
310
|
+
width: finalWidth,
|
|
311
|
+
columnWidth: getColumnWidth,
|
|
312
|
+
height: finalHeight,
|
|
313
|
+
rowHeight: getRowHeight,
|
|
314
|
+
itemData: itemData,
|
|
299
315
|
rowCount: IS_JEST_ENVIRONMENT || headerRowHeight > 0 ? visibleRowCount : 0
|
|
300
|
-
}),
|
|
301
|
-
};
|
|
316
|
+
}), Cell), scrollBorderOverlay) : null;
|
|
317
|
+
});
|
|
302
318
|
EuiDataGridBodyVirtualized.propTypes = {
|
|
303
319
|
leadingControlColumns: PropTypes.arrayOf(PropTypes.shape({
|
|
304
320
|
/**
|
|
@@ -834,10 +850,24 @@ EuiDataGridBodyVirtualized.propTypes = {
|
|
|
834
850
|
visibleRowCount: PropTypes.number.isRequired
|
|
835
851
|
}).isRequired,
|
|
836
852
|
renderCellValue: PropTypes.oneOfType([PropTypes.func.isRequired, PropTypes.element.isRequired]).isRequired,
|
|
853
|
+
cellContext: PropTypes.any,
|
|
837
854
|
renderCellPopover: PropTypes.oneOfType([PropTypes.func.isRequired, PropTypes.func.isRequired]),
|
|
838
855
|
renderFooterCellValue: PropTypes.oneOfType([PropTypes.func.isRequired, PropTypes.element.isRequired]),
|
|
839
856
|
renderCustomGridBody: PropTypes.func,
|
|
840
857
|
interactiveCellId: PropTypes.string.isRequired,
|
|
858
|
+
sorting: PropTypes.shape({
|
|
859
|
+
/**
|
|
860
|
+
* A function that receives updated column sort details in response to user interactions in the toolbar controls
|
|
861
|
+
*/
|
|
862
|
+
onSort: PropTypes.func.isRequired,
|
|
863
|
+
/**
|
|
864
|
+
* An array of the column ids currently being sorted and their sort direction. The array order determines the sort order. `{ id: 'A'; direction: 'asc' }`
|
|
865
|
+
*/
|
|
866
|
+
columns: PropTypes.arrayOf(PropTypes.shape({
|
|
867
|
+
id: PropTypes.string.isRequired,
|
|
868
|
+
direction: PropTypes.oneOf(["asc", "desc"]).isRequired
|
|
869
|
+
}).isRequired).isRequired
|
|
870
|
+
}),
|
|
841
871
|
pagination: PropTypes.any,
|
|
842
872
|
setVisibleColumns: PropTypes.func.isRequired,
|
|
843
873
|
switchColumnPos: PropTypes.func.isRequired,
|
|
@@ -923,4 +953,5 @@ EuiDataGridBodyVirtualized.propTypes = {
|
|
|
923
953
|
gridRef: PropTypes.any.isRequired,
|
|
924
954
|
gridItemsRendered: PropTypes.any.isRequired,
|
|
925
955
|
wrapperRef: PropTypes.any.isRequired
|
|
926
|
-
};
|
|
956
|
+
};
|
|
957
|
+
EuiDataGridBodyVirtualized.displayName = 'EuiDataGridBodyVirtualized';
|
|
@@ -12,7 +12,7 @@ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len
|
|
|
12
12
|
* Side Public License, v 1.
|
|
13
13
|
*/
|
|
14
14
|
|
|
15
|
-
import { useRef, useCallback } from 'react';
|
|
15
|
+
import { useRef, useCallback, useMemo } from 'react';
|
|
16
16
|
import { useUpdateEffect } from '../../../services';
|
|
17
17
|
export var useRowManager = function useRowManager(_ref) {
|
|
18
18
|
var innerGridRef = _ref.innerGridRef,
|
|
@@ -83,7 +83,7 @@ export var useRowManager = function useRowManager(_ref) {
|
|
|
83
83
|
if (rowClasses) {
|
|
84
84
|
rowIdToElements.current.forEach(function (rowElement, rowIndex) {
|
|
85
85
|
var euiClasses = Array.from(rowElement.classList).filter(function (className) {
|
|
86
|
-
return
|
|
86
|
+
return ['euiDataGridRow', 'euiDataGridRow--striped'].includes(className);
|
|
87
87
|
}).join(' ');
|
|
88
88
|
if (rowClasses[rowIndex]) {
|
|
89
89
|
rowElement.classList.value = "".concat(euiClasses, " ").concat(rowClasses[rowIndex]);
|
|
@@ -93,7 +93,9 @@ export var useRowManager = function useRowManager(_ref) {
|
|
|
93
93
|
});
|
|
94
94
|
}
|
|
95
95
|
}, [rowClasses]);
|
|
96
|
-
return {
|
|
97
|
-
|
|
98
|
-
|
|
96
|
+
return useMemo(function () {
|
|
97
|
+
return {
|
|
98
|
+
getRow: getRow
|
|
99
|
+
};
|
|
100
|
+
}, [getRow]);
|
|
99
101
|
};
|
|
@@ -38,8 +38,7 @@ export var useDataGridFooter = function useDataGridFooter(props) {
|
|
|
38
38
|
ref: setFooterRowRef,
|
|
39
39
|
renderCellValue: renderFooterCellValue
|
|
40
40
|
}, footerProps));
|
|
41
|
-
},
|
|
42
|
-
|
|
41
|
+
}, [props]);
|
|
43
42
|
return {
|
|
44
43
|
footerRow: footerRow,
|
|
45
44
|
footerRowHeight: footerRowHeight
|
|
@@ -7,12 +7,12 @@ function _extends() { _extends = Object.assign ? Object.assign.bind() : function
|
|
|
7
7
|
* Side Public License, v 1.
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
|
-
import React from 'react';
|
|
10
|
+
import React, { memo } from 'react';
|
|
11
11
|
import PropTypes from "prop-types";
|
|
12
12
|
import classNames from 'classnames';
|
|
13
13
|
import { EuiDataGridHeaderCellWrapper } from './data_grid_header_cell_wrapper';
|
|
14
14
|
import { jsx as ___EmotionJSX } from "@emotion/react";
|
|
15
|
-
export var EuiDataGridControlHeaderCell = function
|
|
15
|
+
export var EuiDataGridControlHeaderCell = /*#__PURE__*/memo(function (_ref) {
|
|
16
16
|
var controlColumn = _ref.controlColumn,
|
|
17
17
|
index = _ref.index;
|
|
18
18
|
var HeaderCellRender = controlColumn.headerCellRender,
|
|
@@ -27,7 +27,7 @@ export var EuiDataGridControlHeaderCell = function EuiDataGridControlHeaderCell(
|
|
|
27
27
|
}), ___EmotionJSX("div", {
|
|
28
28
|
className: "euiDataGridHeaderCell__content"
|
|
29
29
|
}, ___EmotionJSX(HeaderCellRender, null)));
|
|
30
|
-
};
|
|
30
|
+
});
|
|
31
31
|
EuiDataGridControlHeaderCell.propTypes = {
|
|
32
32
|
index: PropTypes.number.isRequired,
|
|
33
33
|
controlColumn: PropTypes.shape({
|
|
@@ -60,4 +60,5 @@ EuiDataGridControlHeaderCell.propTypes = {
|
|
|
60
60
|
*/
|
|
61
61
|
footerCellProps: PropTypes.any
|
|
62
62
|
}).isRequired
|
|
63
|
-
};
|
|
63
|
+
};
|
|
64
|
+
EuiDataGridControlHeaderCell.displayName = 'EuiDataGridControlHeaderCell';
|
|
@@ -20,7 +20,7 @@ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
|
20
20
|
|
|
21
21
|
import classnames from 'classnames';
|
|
22
22
|
import PropTypes from "prop-types";
|
|
23
|
-
import React, { useContext, useState, useRef, useCallback, useMemo } from 'react';
|
|
23
|
+
import React, { useContext, useState, useRef, useCallback, useMemo, memo } from 'react';
|
|
24
24
|
import { tabbable } from 'tabbable';
|
|
25
25
|
import { keys } from '../../../../services';
|
|
26
26
|
import { useGeneratedHtmlId } from '../../../../services/accessibility';
|
|
@@ -29,13 +29,25 @@ import { EuiI18n } from '../../../i18n';
|
|
|
29
29
|
import { EuiIcon } from '../../../icon';
|
|
30
30
|
import { EuiListGroup } from '../../../list_group';
|
|
31
31
|
import { EuiPopover } from '../../../popover';
|
|
32
|
-
import { DataGridSortingContext } from '../../utils/sorting';
|
|
33
32
|
import { DataGridFocusContext } from '../../utils/focus';
|
|
34
33
|
import { getColumnActions } from './column_actions';
|
|
35
34
|
import { EuiDataGridColumnResizer } from './data_grid_column_resizer';
|
|
36
35
|
import { EuiDataGridHeaderCellWrapper } from './data_grid_header_cell_wrapper';
|
|
37
36
|
import { jsx as ___EmotionJSX } from "@emotion/react";
|
|
38
|
-
var
|
|
37
|
+
var CellContent = function CellContent(_ref) {
|
|
38
|
+
var children = _ref.children,
|
|
39
|
+
title = _ref.title,
|
|
40
|
+
arrow = _ref.arrow;
|
|
41
|
+
return ___EmotionJSX(React.Fragment, null, ___EmotionJSX("div", {
|
|
42
|
+
title: title,
|
|
43
|
+
className: "euiDataGridHeaderCell__content"
|
|
44
|
+
}, children), arrow);
|
|
45
|
+
};
|
|
46
|
+
CellContent.propTypes = {
|
|
47
|
+
title: PropTypes.string.isRequired,
|
|
48
|
+
arrow: PropTypes.node
|
|
49
|
+
};
|
|
50
|
+
var _ref3 = process.env.NODE_ENV === "production" ? {
|
|
39
51
|
name: "mc0thx-EuiDataGridHeaderCell",
|
|
40
52
|
styles: "margin-inline-start:auto;label:EuiDataGridHeaderCell;"
|
|
41
53
|
} : {
|
|
@@ -43,18 +55,19 @@ var _ref2 = process.env.NODE_ENV === "production" ? {
|
|
|
43
55
|
styles: "margin-inline-start:auto;label:EuiDataGridHeaderCell;",
|
|
44
56
|
toString: _EMOTION_STRINGIFIED_CSS_ERROR__
|
|
45
57
|
};
|
|
46
|
-
export var EuiDataGridHeaderCell = function
|
|
58
|
+
export var EuiDataGridHeaderCell = /*#__PURE__*/memo(function (_ref2) {
|
|
47
59
|
var _classnames;
|
|
48
|
-
var
|
|
49
|
-
|
|
50
|
-
columns =
|
|
51
|
-
columnWidths =
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
60
|
+
var index = _ref2.index,
|
|
61
|
+
column = _ref2.column,
|
|
62
|
+
columns = _ref2.columns,
|
|
63
|
+
columnWidths = _ref2.columnWidths,
|
|
64
|
+
defaultColumnWidth = _ref2.defaultColumnWidth,
|
|
65
|
+
setColumnWidth = _ref2.setColumnWidth,
|
|
66
|
+
setVisibleColumns = _ref2.setVisibleColumns,
|
|
67
|
+
switchColumnPos = _ref2.switchColumnPos,
|
|
68
|
+
sorting = _ref2.sorting,
|
|
69
|
+
schema = _ref2.schema,
|
|
70
|
+
schemaDetectors = _ref2.schemaDetectors;
|
|
58
71
|
var id = column.id,
|
|
59
72
|
display = column.display,
|
|
60
73
|
displayAsText = column.displayAsText,
|
|
@@ -64,25 +77,25 @@ export var EuiDataGridHeaderCell = function EuiDataGridHeaderCell(_ref) {
|
|
|
64
77
|
var _useContext = useContext(DataGridFocusContext),
|
|
65
78
|
setFocusedCell = _useContext.setFocusedCell,
|
|
66
79
|
focusFirstVisibleInteractiveCell = _useContext.focusFirstVisibleInteractiveCell;
|
|
67
|
-
var _useContext2 = useContext(DataGridSortingContext),
|
|
68
|
-
sorting = _useContext2.sorting;
|
|
69
80
|
var _useState = useState(false),
|
|
70
81
|
_useState2 = _slicedToArray(_useState, 2),
|
|
71
82
|
isPopoverOpen = _useState2[0],
|
|
72
83
|
setIsPopoverOpen = _useState2[1];
|
|
73
84
|
var popoverArrowNavigationProps = usePopoverArrowNavigation();
|
|
74
|
-
var columnActions =
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
85
|
+
var columnActions = useMemo(function () {
|
|
86
|
+
return getColumnActions({
|
|
87
|
+
column: column,
|
|
88
|
+
columns: columns,
|
|
89
|
+
schema: schema,
|
|
90
|
+
schemaDetectors: schemaDetectors,
|
|
91
|
+
setVisibleColumns: setVisibleColumns,
|
|
92
|
+
focusFirstVisibleInteractiveCell: focusFirstVisibleInteractiveCell,
|
|
93
|
+
setIsPopoverOpen: setIsPopoverOpen,
|
|
94
|
+
sorting: sorting,
|
|
95
|
+
switchColumnPos: switchColumnPos,
|
|
96
|
+
setFocusedCell: setFocusedCell
|
|
97
|
+
});
|
|
98
|
+
}, [column, columns, schema, schemaDetectors, setVisibleColumns, focusFirstVisibleInteractiveCell, setIsPopoverOpen, sorting, switchColumnPos, setFocusedCell]);
|
|
86
99
|
var showColumnActions = columnActions && columnActions.length > 0;
|
|
87
100
|
var actionsButtonRef = useRef(null);
|
|
88
101
|
var focusActionsButton = useCallback(function () {
|
|
@@ -109,11 +122,9 @@ export var EuiDataGridHeaderCell = function EuiDataGridHeaderCell(_ref) {
|
|
|
109
122
|
prefix: 'euiDataGridCellHeader',
|
|
110
123
|
suffix: 'actions'
|
|
111
124
|
});
|
|
112
|
-
var cellContent = ___EmotionJSX(React.Fragment, null, ___EmotionJSX("div", {
|
|
113
|
-
title: displayAsText || id,
|
|
114
|
-
className: "euiDataGridHeaderCell__content"
|
|
115
|
-
}, display || displayAsText || id), sortingArrow);
|
|
116
125
|
var classes = classnames((_classnames = {}, _defineProperty(_classnames, "euiDataGridHeaderCell--".concat(columnType), columnType), _defineProperty(_classnames, 'euiDataGridHeaderCell--hasColumnActions', showColumnActions), _defineProperty(_classnames, 'euiDataGridHeaderCell--isActionsPopoverOpen', isPopoverOpen), _classnames), displayHeaderCellProps === null || displayHeaderCellProps === void 0 ? void 0 : displayHeaderCellProps.className);
|
|
126
|
+
var title = displayAsText || id;
|
|
127
|
+
var children = display || displayAsText || id;
|
|
117
128
|
return ___EmotionJSX(EuiDataGridHeaderCellWrapper, _extends({}, displayHeaderCellProps, {
|
|
118
129
|
className: classes,
|
|
119
130
|
id: id,
|
|
@@ -127,7 +138,10 @@ export var EuiDataGridHeaderCell = function EuiDataGridHeaderCell(_ref) {
|
|
|
127
138
|
columnId: id,
|
|
128
139
|
columnWidth: width,
|
|
129
140
|
setColumnWidth: setColumnWidth
|
|
130
|
-
}) : null, !showColumnActions ? ___EmotionJSX(React.Fragment, null,
|
|
141
|
+
}) : null, !showColumnActions ? ___EmotionJSX(React.Fragment, null, ___EmotionJSX(CellContent, {
|
|
142
|
+
title: title,
|
|
143
|
+
arrow: sortingArrow
|
|
144
|
+
}, children), sortingScreenReaderText && ___EmotionJSX(EuiScreenReaderOnly, null, ___EmotionJSX("p", null, sortingScreenReaderText))) : ___EmotionJSX(React.Fragment, null, ___EmotionJSX("button", {
|
|
131
145
|
className: "euiDataGridHeaderCell__button",
|
|
132
146
|
onClick: function onClick() {
|
|
133
147
|
return setIsPopoverOpen(function (isPopoverOpen) {
|
|
@@ -143,12 +157,15 @@ export var EuiDataGridHeaderCell = function EuiDataGridHeaderCell(_ref) {
|
|
|
143
157
|
"aria-describedby": "".concat(sortingAriaId, " ").concat(actionsAriaId),
|
|
144
158
|
ref: actionsButtonRef,
|
|
145
159
|
"data-test-subj": "dataGridHeaderCellActionButton-".concat(id)
|
|
146
|
-
},
|
|
160
|
+
}, ___EmotionJSX(CellContent, {
|
|
161
|
+
title: title,
|
|
162
|
+
arrow: sortingArrow
|
|
163
|
+
}, children), ___EmotionJSX(EuiPopover, _extends({
|
|
147
164
|
display: "block",
|
|
148
165
|
panelPaddingSize: "none",
|
|
149
166
|
offset: 7,
|
|
150
167
|
anchorPosition: "downRight",
|
|
151
|
-
css:
|
|
168
|
+
css: _ref3 // Align to right
|
|
152
169
|
,
|
|
153
170
|
focusTrapProps: {
|
|
154
171
|
// We need to override the default EuiPopover `onClickOutside` since the anchor is separate from the actual button
|
|
@@ -184,11 +201,7 @@ export var EuiDataGridHeaderCell = function EuiDataGridHeaderCell(_ref) {
|
|
|
184
201
|
token: "euiDataGridHeaderCell.headerActions",
|
|
185
202
|
default: "Click to view column header actions"
|
|
186
203
|
}))));
|
|
187
|
-
};
|
|
188
|
-
|
|
189
|
-
/**
|
|
190
|
-
* Column sorting utility helpers
|
|
191
|
-
*/
|
|
204
|
+
});
|
|
192
205
|
EuiDataGridHeaderCell.propTypes = {
|
|
193
206
|
column: PropTypes.shape({
|
|
194
207
|
/**
|
|
@@ -615,11 +628,16 @@ EuiDataGridHeaderCell.propTypes = {
|
|
|
615
628
|
}).isRequired,
|
|
616
629
|
index: PropTypes.number.isRequired
|
|
617
630
|
};
|
|
618
|
-
|
|
631
|
+
EuiDataGridHeaderCell.displayName = 'EuiDataGridHeaderCell';
|
|
632
|
+
|
|
633
|
+
/**
|
|
634
|
+
* Column sorting utility helpers
|
|
635
|
+
*/
|
|
636
|
+
export var useSortingUtils = function useSortingUtils(_ref4) {
|
|
619
637
|
var _sorting$columns;
|
|
620
|
-
var sorting =
|
|
621
|
-
id =
|
|
622
|
-
showColumnActions =
|
|
638
|
+
var sorting = _ref4.sorting,
|
|
639
|
+
id = _ref4.id,
|
|
640
|
+
showColumnActions = _ref4.showColumnActions;
|
|
623
641
|
var sortedColumn = useMemo(function () {
|
|
624
642
|
return sorting === null || sorting === void 0 ? void 0 : sorting.columns.find(function (col) {
|
|
625
643
|
return col.id === id;
|
|
@@ -631,12 +649,14 @@ export var useSortingUtils = function useSortingUtils(_ref3) {
|
|
|
631
649
|
/**
|
|
632
650
|
* Arrow icon
|
|
633
651
|
*/
|
|
634
|
-
var sortingArrow =
|
|
635
|
-
|
|
636
|
-
|
|
637
|
-
|
|
638
|
-
|
|
639
|
-
|
|
652
|
+
var sortingArrow = useMemo(function () {
|
|
653
|
+
return isColumnSorted ? ___EmotionJSX(EuiIcon, {
|
|
654
|
+
type: sortedColumn.direction === 'asc' ? 'sortUp' : 'sortDown',
|
|
655
|
+
color: "text",
|
|
656
|
+
className: "euiDataGridHeaderCell__sortingArrow",
|
|
657
|
+
"data-test-subj": "dataGridHeaderCellSortingIcon-".concat(id)
|
|
658
|
+
}) : null;
|
|
659
|
+
}, [id, isColumnSorted, sortedColumn]);
|
|
640
660
|
|
|
641
661
|
/**
|
|
642
662
|
* aria-sort attribute - should only be used when a single column is being sorted
|
|
@@ -653,9 +673,9 @@ export var useSortingUtils = function useSortingUtils(_ref3) {
|
|
|
653
673
|
var _sorting$columns2;
|
|
654
674
|
if (!isColumnSorted) return null;
|
|
655
675
|
if (!showColumnActions && hasOnlyOneSort) return null; // in this scenario, the `aria-sort` attribute will be used by screen readers
|
|
656
|
-
return ___EmotionJSX(React.Fragment, null, sorting === null || sorting === void 0 ? void 0 : (_sorting$columns2 = sorting.columns) === null || _sorting$columns2 === void 0 ? void 0 : _sorting$columns2.map(function (
|
|
657
|
-
var columnId =
|
|
658
|
-
direction =
|
|
676
|
+
return ___EmotionJSX(React.Fragment, null, sorting === null || sorting === void 0 ? void 0 : (_sorting$columns2 = sorting.columns) === null || _sorting$columns2 === void 0 ? void 0 : _sorting$columns2.map(function (_ref5, index) {
|
|
677
|
+
var columnId = _ref5.id,
|
|
678
|
+
direction = _ref5.direction;
|
|
659
679
|
if (hasOnlyOneSort) {
|
|
660
680
|
if (direction === 'asc') {
|
|
661
681
|
return ___EmotionJSX(EuiI18n, {
|