@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
|
@@ -3,8 +3,7 @@ import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
|
|
|
3
3
|
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
4
4
|
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
5
5
|
import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
|
|
6
|
-
var _excluded = ["leadingControlColumns", "trailingControlColumns", "columns", "columnVisibility", "schemaDetectors", "rowCount", "renderCellValue", "renderCellPopover", "renderFooterCellValue", "className", "gridStyle", "toolbarVisibility", "pagination", "sorting", "inMemory", "onColumnResize", "minSizeForControls", "height", "width", "rowHeightsOptions", "virtualizationOptions", "renderCustomGridBody", "renderCustomToolbar"]
|
|
7
|
-
_excluded2 = ["focusProps"];
|
|
6
|
+
var _excluded = ["leadingControlColumns", "trailingControlColumns", "columns", "columnVisibility", "schemaDetectors", "rowCount", "renderCellValue", "cellContext", "renderCellPopover", "renderFooterCellValue", "className", "gridStyle", "toolbarVisibility", "pagination", "sorting", "inMemory", "onColumnResize", "minSizeForControls", "height", "width", "rowHeightsOptions", "virtualizationOptions", "renderCustomGridBody", "renderCustomToolbar"];
|
|
8
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; }
|
|
9
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; }
|
|
10
9
|
/*
|
|
@@ -16,7 +15,7 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
|
|
|
16
15
|
*/
|
|
17
16
|
|
|
18
17
|
import classNames from 'classnames';
|
|
19
|
-
import React, { forwardRef, useMemo, useRef, useState, memo } from 'react';
|
|
18
|
+
import React, { forwardRef, useMemo, useRef, useState, memo, useCallback } from 'react';
|
|
20
19
|
import { useGeneratedHtmlId } from '../../services';
|
|
21
20
|
import { useEuiTablePaginationDefaults } from '../table/table_pagination';
|
|
22
21
|
import { EuiFocusTrap } from '../focus_trap';
|
|
@@ -25,7 +24,7 @@ import { useMutationObserver } from '../observer/mutation_observer';
|
|
|
25
24
|
import { useResizeObserver } from '../observer/resize_observer';
|
|
26
25
|
import { EuiDataGridBody } from './body';
|
|
27
26
|
import { useDataGridColumnSelector, useDataGridColumnSorting, useDataGridDisplaySelector, startingStyles, useDataGridFullScreenSelector, useDataGridKeyboardShortcuts, checkOrDefaultToolBarDisplayOptions, EuiDataGridToolbar } from './controls';
|
|
28
|
-
import {
|
|
27
|
+
import { DataGridSortedContext, useSorting } from './utils/sorting';
|
|
29
28
|
import { DataGridFocusContext, useFocus, createKeyDownHandler, preventTabbing } from './utils/focus';
|
|
30
29
|
import { useInMemoryValues, EuiDataGridInMemoryRenderer } from './utils/in_memory';
|
|
31
30
|
import { DataGridCellPopoverContext, useCellPopover } from './body/cell';
|
|
@@ -65,8 +64,8 @@ var cellPaddingsToClassMap = {
|
|
|
65
64
|
m: '',
|
|
66
65
|
l: 'euiDataGrid--paddingLarge'
|
|
67
66
|
};
|
|
67
|
+
var emptyVirtualizationOptions = {};
|
|
68
68
|
export var EuiDataGrid = /*#__PURE__*/memo( /*#__PURE__*/forwardRef(function (props, ref) {
|
|
69
|
-
var _gridItemsRendered$cu;
|
|
70
69
|
var _props$leadingControl = props.leadingControlColumns,
|
|
71
70
|
leadingControlColumns = _props$leadingControl === void 0 ? emptyControlColumns : _props$leadingControl,
|
|
72
71
|
_props$trailingContro = props.trailingControlColumns,
|
|
@@ -76,6 +75,7 @@ export var EuiDataGrid = /*#__PURE__*/memo( /*#__PURE__*/forwardRef(function (pr
|
|
|
76
75
|
schemaDetectors = props.schemaDetectors,
|
|
77
76
|
rowCount = props.rowCount,
|
|
78
77
|
renderCellValue = props.renderCellValue,
|
|
78
|
+
cellContext = props.cellContext,
|
|
79
79
|
renderCellPopover = props.renderCellPopover,
|
|
80
80
|
renderFooterCellValue = props.renderFooterCellValue,
|
|
81
81
|
className = props.className,
|
|
@@ -185,8 +185,14 @@ export var EuiDataGrid = /*#__PURE__*/memo( /*#__PURE__*/forwardRef(function (pr
|
|
|
185
185
|
/**
|
|
186
186
|
* Sorting
|
|
187
187
|
*/
|
|
188
|
-
var columnSorting = useDataGridColumnSorting(
|
|
189
|
-
|
|
188
|
+
var columnSorting = useDataGridColumnSorting({
|
|
189
|
+
sorting: sorting,
|
|
190
|
+
columns: orderedVisibleColumns,
|
|
191
|
+
displayValues: displayValues,
|
|
192
|
+
schema: mergedSchema,
|
|
193
|
+
schemaDetectors: allSchemaDetectors
|
|
194
|
+
});
|
|
195
|
+
var sortedContext = useSorting({
|
|
190
196
|
sorting: sorting,
|
|
191
197
|
inMemory: inMemory,
|
|
192
198
|
inMemoryValues: inMemoryValues,
|
|
@@ -200,7 +206,20 @@ export var EuiDataGrid = /*#__PURE__*/memo( /*#__PURE__*/forwardRef(function (pr
|
|
|
200
206
|
*/
|
|
201
207
|
var _useFocus = useFocus(),
|
|
202
208
|
wrappingDivFocusProps = _useFocus.focusProps,
|
|
203
|
-
|
|
209
|
+
onFocusUpdate = _useFocus.onFocusUpdate,
|
|
210
|
+
focusedCell = _useFocus.focusedCell,
|
|
211
|
+
setFocusedCell = _useFocus.setFocusedCell,
|
|
212
|
+
setIsFocusedCellInView = _useFocus.setIsFocusedCellInView,
|
|
213
|
+
focusFirstVisibleInteractiveCell = _useFocus.focusFirstVisibleInteractiveCell;
|
|
214
|
+
var focusContext = useMemo(function () {
|
|
215
|
+
return {
|
|
216
|
+
onFocusUpdate: onFocusUpdate,
|
|
217
|
+
focusedCell: focusedCell,
|
|
218
|
+
setFocusedCell: setFocusedCell,
|
|
219
|
+
setIsFocusedCellInView: setIsFocusedCellInView,
|
|
220
|
+
focusFirstVisibleInteractiveCell: focusFirstVisibleInteractiveCell
|
|
221
|
+
};
|
|
222
|
+
}, [onFocusUpdate, focusedCell, setFocusedCell, setIsFocusedCellInView, focusFirstVisibleInteractiveCell]);
|
|
204
223
|
|
|
205
224
|
/**
|
|
206
225
|
* Cell popover
|
|
@@ -230,7 +249,7 @@ export var EuiDataGrid = /*#__PURE__*/memo( /*#__PURE__*/forwardRef(function (pr
|
|
|
230
249
|
setIsFullScreen: setIsFullScreen,
|
|
231
250
|
focusContext: focusContext,
|
|
232
251
|
cellPopoverContext: cellPopoverContext,
|
|
233
|
-
|
|
252
|
+
sortedContext: sortedContext,
|
|
234
253
|
pagination: pagination,
|
|
235
254
|
rowCount: rowCount,
|
|
236
255
|
visibleColCount: visibleColCount
|
|
@@ -277,12 +296,25 @@ export var EuiDataGrid = /*#__PURE__*/memo( /*#__PURE__*/forwardRef(function (pr
|
|
|
277
296
|
gridAriaProps['aria-labelledby'] = "".concat(rest['aria-labelledby'], " ").concat(pagination ? ariaLabelledById : '');
|
|
278
297
|
delete rest['aria-labelledby'];
|
|
279
298
|
}
|
|
299
|
+
var onKeyDown = useCallback(function (event) {
|
|
300
|
+
var _gridItemsRendered$cu;
|
|
301
|
+
createKeyDownHandler({
|
|
302
|
+
gridElement: contentRef.current,
|
|
303
|
+
visibleColCount: visibleColCount,
|
|
304
|
+
visibleRowCount: visibleRowCount,
|
|
305
|
+
visibleRowStartIndex: ((_gridItemsRendered$cu = gridItemsRendered.current) === null || _gridItemsRendered$cu === void 0 ? void 0 : _gridItemsRendered$cu.visibleRowStartIndex) || 0,
|
|
306
|
+
rowCount: rowCount,
|
|
307
|
+
pagination: pagination,
|
|
308
|
+
hasFooter: !!renderFooterCellValue,
|
|
309
|
+
focusContext: focusContext
|
|
310
|
+
})(event);
|
|
311
|
+
}, [focusContext, visibleColCount, visibleRowCount, rowCount, pagination, renderFooterCellValue]);
|
|
280
312
|
return ___EmotionJSX(DataGridFocusContext.Provider, {
|
|
281
313
|
value: focusContext
|
|
282
314
|
}, ___EmotionJSX(DataGridCellPopoverContext.Provider, {
|
|
283
315
|
value: cellPopoverContext
|
|
284
|
-
}, ___EmotionJSX(
|
|
285
|
-
value:
|
|
316
|
+
}, ___EmotionJSX(DataGridSortedContext.Provider, {
|
|
317
|
+
value: sortedContext
|
|
286
318
|
}, ___EmotionJSX(EuiFocusTrap, {
|
|
287
319
|
disabled: !isFullScreen,
|
|
288
320
|
className: "euiDataGrid__focusWrap"
|
|
@@ -318,16 +350,7 @@ export var EuiDataGrid = /*#__PURE__*/memo( /*#__PURE__*/forwardRef(function (pr
|
|
|
318
350
|
}) : null, ___EmotionJSX("div", _extends({
|
|
319
351
|
// eslint-disable-line jsx-a11y/interactive-supports-focus
|
|
320
352
|
ref: contentRef,
|
|
321
|
-
onKeyDown:
|
|
322
|
-
gridElement: contentRef.current,
|
|
323
|
-
visibleColCount: visibleColCount,
|
|
324
|
-
visibleRowCount: visibleRowCount,
|
|
325
|
-
visibleRowStartIndex: ((_gridItemsRendered$cu = gridItemsRendered.current) === null || _gridItemsRendered$cu === void 0 ? void 0 : _gridItemsRendered$cu.visibleRowStartIndex) || 0,
|
|
326
|
-
rowCount: rowCount,
|
|
327
|
-
pagination: pagination,
|
|
328
|
-
hasFooter: !!renderFooterCellValue,
|
|
329
|
-
focusContext: focusContext
|
|
330
|
-
}),
|
|
353
|
+
onKeyDown: onKeyDown,
|
|
331
354
|
"data-test-subj": "euiDataGridBody",
|
|
332
355
|
className: "euiDataGrid__content",
|
|
333
356
|
role: "grid",
|
|
@@ -343,15 +366,17 @@ export var EuiDataGrid = /*#__PURE__*/memo( /*#__PURE__*/forwardRef(function (pr
|
|
|
343
366
|
switchColumnPos: switchColumnPos,
|
|
344
367
|
onColumnResize: onColumnResize,
|
|
345
368
|
schemaDetectors: allSchemaDetectors,
|
|
369
|
+
sorting: sorting,
|
|
346
370
|
pagination: pagination,
|
|
347
371
|
renderCellValue: renderCellValue,
|
|
372
|
+
cellContext: cellContext,
|
|
348
373
|
renderCellPopover: renderCellPopover,
|
|
349
374
|
renderFooterCellValue: renderFooterCellValue,
|
|
350
375
|
rowCount: rowCount,
|
|
351
376
|
visibleRows: visibleRows,
|
|
352
377
|
interactiveCellId: interactiveCellId,
|
|
353
378
|
rowHeightsOptions: rowHeightsOptions,
|
|
354
|
-
virtualizationOptions: virtualizationOptions ||
|
|
379
|
+
virtualizationOptions: virtualizationOptions || emptyVirtualizationOptions,
|
|
355
380
|
isFullScreen: isFullScreen,
|
|
356
381
|
gridStyles: gridStyles,
|
|
357
382
|
gridWidth: gridWidth,
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
2
1
|
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
2
|
+
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
3
3
|
import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
|
|
4
4
|
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; }
|
|
5
5
|
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; }
|
|
@@ -48,10 +48,12 @@ export var useColumnWidths = function useColumnWidths(_ref) {
|
|
|
48
48
|
onColumnResize = _ref.onColumnResize;
|
|
49
49
|
var computeColumnWidths = useCallback(function () {
|
|
50
50
|
return columns.filter(doesColumnHaveAnInitialWidth).reduce(function (initialWidths, column) {
|
|
51
|
-
initialWidths
|
|
52
|
-
return initialWidths;
|
|
51
|
+
return _objectSpread(_objectSpread({}, initialWidths), {}, _defineProperty({}, column.id, column.initialWidth));
|
|
53
52
|
}, {});
|
|
54
53
|
}, [columns]);
|
|
54
|
+
|
|
55
|
+
// Passes initializer function for performance, so computing only runs once on init
|
|
56
|
+
// @see https://react.dev/reference/react/useState#examples-initializer
|
|
55
57
|
var _useState = useState(computeColumnWidths),
|
|
56
58
|
_useState2 = _slicedToArray(_useState, 2),
|
|
57
59
|
columnWidths = _useState2[0],
|
|
@@ -60,14 +62,16 @@ export var useColumnWidths = function useColumnWidths(_ref) {
|
|
|
60
62
|
setColumnWidths(computeColumnWidths());
|
|
61
63
|
}, [computeColumnWidths]);
|
|
62
64
|
var setColumnWidth = useCallback(function (columnId, width) {
|
|
63
|
-
setColumnWidths(
|
|
65
|
+
setColumnWidths(function (prevColumnWidths) {
|
|
66
|
+
return _objectSpread(_objectSpread({}, prevColumnWidths), {}, _defineProperty({}, columnId, width));
|
|
67
|
+
});
|
|
64
68
|
if (onColumnResize) {
|
|
65
69
|
onColumnResize({
|
|
66
70
|
columnId: columnId,
|
|
67
71
|
width: width
|
|
68
72
|
});
|
|
69
73
|
}
|
|
70
|
-
}, [
|
|
74
|
+
}, [onColumnResize]);
|
|
71
75
|
|
|
72
76
|
// Used by react-window to determine actual column widths
|
|
73
77
|
var getColumnWidth = useCallback(function (index) {
|
|
@@ -87,14 +87,16 @@ export var useFocus = function useFocus() {
|
|
|
87
87
|
}
|
|
88
88
|
};
|
|
89
89
|
}, [isFocusedCellInView, focusFirstVisibleInteractiveCell]);
|
|
90
|
-
return {
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
90
|
+
return useMemo(function () {
|
|
91
|
+
return {
|
|
92
|
+
onFocusUpdate: onFocusUpdate,
|
|
93
|
+
focusedCell: focusedCell,
|
|
94
|
+
setFocusedCell: setFocusedCell,
|
|
95
|
+
setIsFocusedCellInView: setIsFocusedCellInView,
|
|
96
|
+
focusFirstVisibleInteractiveCell: focusFirstVisibleInteractiveCell,
|
|
97
|
+
focusProps: focusProps
|
|
98
|
+
};
|
|
99
|
+
}, [onFocusUpdate, focusedCell, setFocusedCell, setIsFocusedCellInView, focusFirstVisibleInteractiveCell, focusProps]);
|
|
98
100
|
};
|
|
99
101
|
export var notifyCellOfFocusState = function notifyCellOfFocusState(cellsUpdateFocus, cell, isFocused) {
|
|
100
102
|
var key = "".concat(cell[0], "-").concat(cell[1]);
|
|
@@ -7,11 +7,11 @@ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
|
7
7
|
* Side Public License, v 1.
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
|
-
import { useEffect, useState, useContext } from 'react';
|
|
10
|
+
import { useEffect, useState, useContext, useMemo } from 'react';
|
|
11
11
|
import { IS_JEST_ENVIRONMENT } from '../../../utils';
|
|
12
12
|
import { useUpdateEffect, useForceRender } from '../../../services';
|
|
13
13
|
import { useResizeObserver } from '../../observer/resize_observer';
|
|
14
|
-
import {
|
|
14
|
+
import { DataGridSortedContext } from './sorting';
|
|
15
15
|
export var useFinalGridDimensions = function useFinalGridDimensions(_ref) {
|
|
16
16
|
var unconstrainedHeight = _ref.unconstrainedHeight,
|
|
17
17
|
unconstrainedWidth = _ref.unconstrainedWidth,
|
|
@@ -83,42 +83,43 @@ export var useUnconstrainedHeight = function useUnconstrainedHeight(_ref2) {
|
|
|
83
83
|
footerRowHeight = _ref2.footerRowHeight,
|
|
84
84
|
scrollBarHeight = _ref2.scrollBarHeight,
|
|
85
85
|
innerGridRef = _ref2.innerGridRef;
|
|
86
|
-
var _useContext = useContext(
|
|
86
|
+
var _useContext = useContext(DataGridSortedContext),
|
|
87
87
|
getCorrectRowIndex = _useContext.getCorrectRowIndex;
|
|
88
|
-
var knownHeight = 0; // tracks the pixel height of rows we know the size of
|
|
89
|
-
var knownRowCount = 0; // how many rows we know the size of
|
|
90
|
-
for (var i = startRow; i < endRow; i++) {
|
|
91
|
-
var correctRowIndex = getCorrectRowIndex(i); // map visible row to logical row
|
|
92
|
-
|
|
93
|
-
// lookup the height configuration of this row
|
|
94
|
-
var rowHeightOption = rowHeightUtils.getRowHeightOption(correctRowIndex, rowHeightsOptions);
|
|
95
|
-
if (rowHeightOption) {
|
|
96
|
-
// this row's height is known
|
|
97
|
-
knownRowCount++;
|
|
98
|
-
knownHeight += rowHeightUtils.getCalculatedHeight(rowHeightOption, defaultRowHeight, correctRowIndex, rowHeightUtils.isRowHeightOverride(correctRowIndex, rowHeightsOptions));
|
|
99
|
-
}
|
|
100
|
-
}
|
|
101
|
-
|
|
102
|
-
// how many rows to provide space for on the screen
|
|
103
|
-
var rowCountToAffordFor = endRow - startRow;
|
|
104
|
-
|
|
105
88
|
// watch the inner element for a change to its width
|
|
106
89
|
// which may cause the horizontal scrollbar to be added or removed
|
|
107
90
|
var _useResizeObserver = useResizeObserver(innerGridRef.current, 'width'),
|
|
108
91
|
innerWidth = _useResizeObserver.width;
|
|
109
92
|
var forceRender = useForceRender();
|
|
110
93
|
useUpdateEffect(forceRender, [innerWidth]);
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
94
|
+
return useMemo(function () {
|
|
95
|
+
var knownHeight = 0; // tracks the pixel height of rows we know the size of
|
|
96
|
+
var knownRowCount = 0; // how many rows we know the size of
|
|
97
|
+
for (var i = startRow; i < endRow; i++) {
|
|
98
|
+
var correctRowIndex = getCorrectRowIndex(i); // map visible row to logical row
|
|
99
|
+
|
|
100
|
+
// lookup the height configuration of this row
|
|
101
|
+
var rowHeightOption = rowHeightUtils.getRowHeightOption(correctRowIndex, rowHeightsOptions);
|
|
102
|
+
if (rowHeightOption) {
|
|
103
|
+
// this row's height is known
|
|
104
|
+
knownRowCount++;
|
|
105
|
+
knownHeight += rowHeightUtils.getCalculatedHeight(rowHeightOption, defaultRowHeight, correctRowIndex, rowHeightUtils.isRowHeightOverride(correctRowIndex, rowHeightsOptions));
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
// how many rows to provide space for on the screen
|
|
110
|
+
var rowCountToAffordFor = endRow - startRow;
|
|
111
|
+
var unconstrainedHeight = defaultRowHeight * (rowCountToAffordFor - knownRowCount) +
|
|
112
|
+
// guess how much space is required for unknown rows
|
|
113
|
+
knownHeight +
|
|
114
|
+
// computed pixel height of the known rows
|
|
115
|
+
headerRowHeight +
|
|
116
|
+
// account for header
|
|
117
|
+
footerRowHeight +
|
|
118
|
+
// account for footer
|
|
119
|
+
scrollBarHeight; // account for horizontal scrollbar
|
|
120
120
|
|
|
121
|
-
|
|
121
|
+
return unconstrainedHeight;
|
|
122
|
+
}, [defaultRowHeight, endRow, footerRowHeight, headerRowHeight, startRow, getCorrectRowIndex, rowHeightUtils, rowHeightsOptions, scrollBarHeight]);
|
|
122
123
|
};
|
|
123
124
|
|
|
124
125
|
/**
|
|
@@ -13,7 +13,7 @@ export var useImperativeGridRef = function useImperativeGridRef(_ref) {
|
|
|
13
13
|
setIsFullScreen = _ref.setIsFullScreen,
|
|
14
14
|
focusContext = _ref.focusContext,
|
|
15
15
|
cellPopoverContext = _ref.cellPopoverContext,
|
|
16
|
-
sortedRowMap = _ref.
|
|
16
|
+
sortedRowMap = _ref.sortedContext.sortedRowMap,
|
|
17
17
|
pagination = _ref.pagination,
|
|
18
18
|
rowCount = _ref.rowCount,
|
|
19
19
|
visibleColCount = _ref.visibleColCount;
|
|
@@ -20,7 +20,7 @@ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Re
|
|
|
20
20
|
import { useCallback, useContext, useEffect, useMemo, useState } from 'react';
|
|
21
21
|
import { useForceRender, useLatest } from '../../../services';
|
|
22
22
|
import { isNumber, isObject } from '../../../services/predicate';
|
|
23
|
-
import {
|
|
23
|
+
import { DataGridSortedContext } from './sorting';
|
|
24
24
|
|
|
25
25
|
// TODO: Once JS variables are available, use them here instead of hard-coded maps
|
|
26
26
|
export var cellPaddingsMap = {
|
|
@@ -325,7 +325,7 @@ export var useRowHeightUtils = function useRowHeightUtils(_ref2) {
|
|
|
325
325
|
export var useDefaultRowHeight = function useDefaultRowHeight(_ref3) {
|
|
326
326
|
var rowHeightsOptions = _ref3.rowHeightsOptions,
|
|
327
327
|
rowHeightUtils = _ref3.rowHeightUtils;
|
|
328
|
-
var _useContext = useContext(
|
|
328
|
+
var _useContext = useContext(DataGridSortedContext),
|
|
329
329
|
getCorrectRowIndex = _useContext.getCorrectRowIndex;
|
|
330
330
|
|
|
331
331
|
// `minRowHeight` is primarily used by undefined & lineCount heights
|
|
@@ -7,9 +7,9 @@
|
|
|
7
7
|
*/
|
|
8
8
|
|
|
9
9
|
import { createContext, useMemo, useCallback } from 'react';
|
|
10
|
+
import { useDeepEqual } from '../../../services';
|
|
10
11
|
import { defaultComparator } from './data_grid_schema';
|
|
11
|
-
export var
|
|
12
|
-
sorting: undefined,
|
|
12
|
+
export var DataGridSortedContext = /*#__PURE__*/createContext({
|
|
13
13
|
sortedRowMap: [],
|
|
14
14
|
getCorrectRowIndex: function getCorrectRowIndex(number) {
|
|
15
15
|
return number;
|
|
@@ -22,22 +22,18 @@ export var useSorting = function useSorting(_ref) {
|
|
|
22
22
|
schema = _ref.schema,
|
|
23
23
|
schemaDetectors = _ref.schemaDetectors,
|
|
24
24
|
startRow = _ref.startRow;
|
|
25
|
-
var sortingColumns = sorting === null || sorting === void 0 ? void 0 : sorting.columns;
|
|
26
|
-
var
|
|
27
|
-
var rowMap = [];
|
|
25
|
+
var sortingColumns = useDeepEqual(sorting === null || sorting === void 0 ? void 0 : sorting.columns);
|
|
26
|
+
var sortedWrappedValues = useMemo(function () {
|
|
28
27
|
if ((inMemory === null || inMemory === void 0 ? void 0 : inMemory.level) === 'sorting' && sortingColumns != null && sortingColumns.length > 0) {
|
|
29
28
|
var inMemoryRowIndices = Object.keys(inMemoryValues);
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
wrappedValues.sort(function (a, b) {
|
|
39
|
-
for (var _i = 0; _i < sortingColumns.length; _i++) {
|
|
40
|
-
var column = sortingColumns[_i];
|
|
29
|
+
return inMemoryRowIndices.map(function (row, index) {
|
|
30
|
+
return {
|
|
31
|
+
index: index,
|
|
32
|
+
values: inMemoryValues[row]
|
|
33
|
+
};
|
|
34
|
+
}).sort(function (a, b) {
|
|
35
|
+
for (var i = 0; i < sortingColumns.length; i++) {
|
|
36
|
+
var column = sortingColumns[i];
|
|
41
37
|
var aValue = a.values[column.id];
|
|
42
38
|
var bValue = b.values[column.id];
|
|
43
39
|
|
|
@@ -45,8 +41,8 @@ export var useSorting = function useSorting(_ref) {
|
|
|
45
41
|
var comparator = defaultComparator;
|
|
46
42
|
if (schema.hasOwnProperty(column.id)) {
|
|
47
43
|
var columnType = schema[column.id].columnType;
|
|
48
|
-
for (var
|
|
49
|
-
var detector = schemaDetectors[
|
|
44
|
+
for (var _i = 0; _i < schemaDetectors.length; _i++) {
|
|
45
|
+
var detector = schemaDetectors[_i];
|
|
50
46
|
if (detector.type === columnType && detector.hasOwnProperty('comparator')) {
|
|
51
47
|
comparator = detector.comparator;
|
|
52
48
|
}
|
|
@@ -61,12 +57,17 @@ export var useSorting = function useSorting(_ref) {
|
|
|
61
57
|
}
|
|
62
58
|
return 0;
|
|
63
59
|
});
|
|
64
|
-
for (var _i3 = 0; _i3 < wrappedValues.length; _i3++) {
|
|
65
|
-
rowMap[_i3] = wrappedValues[_i3].index;
|
|
66
|
-
}
|
|
67
60
|
}
|
|
68
|
-
return rowMap;
|
|
69
61
|
}, [inMemory === null || inMemory === void 0 ? void 0 : inMemory.level, inMemoryValues, sortingColumns, schema, schemaDetectors]);
|
|
62
|
+
var sortedRowMap = useMemo(function () {
|
|
63
|
+
if ((inMemory === null || inMemory === void 0 ? void 0 : inMemory.level) === 'sorting' && sortingColumns != null && sortingColumns.length > 0 && sortedWrappedValues != null) {
|
|
64
|
+
return sortedWrappedValues.map(function (row) {
|
|
65
|
+
return row.index;
|
|
66
|
+
});
|
|
67
|
+
} else {
|
|
68
|
+
return [];
|
|
69
|
+
}
|
|
70
|
+
}, [inMemory === null || inMemory === void 0 ? void 0 : inMemory.level, sortingColumns, sortedWrappedValues]);
|
|
70
71
|
|
|
71
72
|
// Given a visible row index, obtain the unpaginated & unsorted
|
|
72
73
|
// row index from the passed cell data
|
|
@@ -76,9 +77,10 @@ export var useSorting = function useSorting(_ref) {
|
|
|
76
77
|
var unsortedRowIndex = unpaginatedRowIndex in sortedRowMap ? sortedRowMap[unpaginatedRowIndex] : unpaginatedRowIndex;
|
|
77
78
|
return unsortedRowIndex;
|
|
78
79
|
}, [startRow, sortedRowMap]);
|
|
79
|
-
return {
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
80
|
+
return useMemo(function () {
|
|
81
|
+
return {
|
|
82
|
+
sortedRowMap: sortedRowMap,
|
|
83
|
+
getCorrectRowIndex: getCorrectRowIndex
|
|
84
|
+
};
|
|
85
|
+
}, [sortedRowMap, getCorrectRowIndex]);
|
|
84
86
|
};
|
|
@@ -7,7 +7,7 @@ import _inherits from "@babel/runtime/helpers/inherits";
|
|
|
7
7
|
import _possibleConstructorReturn from "@babel/runtime/helpers/possibleConstructorReturn";
|
|
8
8
|
import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf";
|
|
9
9
|
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
10
|
-
var _excluded = ["className", "needsUpdate", "isLoading", "isDisabled", "onClick", "toolTipProps", "showTooltip", "iconOnly", "responsive", "textProps", "fill"];
|
|
10
|
+
var _excluded = ["children", "className", "needsUpdate", "isLoading", "isDisabled", "onClick", "toolTipProps", "showTooltip", "iconOnly", "responsive", "textProps", "fill"];
|
|
11
11
|
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; }
|
|
12
12
|
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; }
|
|
13
13
|
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
|
|
@@ -82,6 +82,7 @@ export var EuiSuperUpdateButton = /*#__PURE__*/function (_Component) {
|
|
|
82
82
|
key: "render",
|
|
83
83
|
value: function render() {
|
|
84
84
|
var _this$props = this.props,
|
|
85
|
+
children = _this$props.children,
|
|
85
86
|
className = _this$props.className,
|
|
86
87
|
needsUpdate = _this$props.needsUpdate,
|
|
87
88
|
isLoading = _this$props.isLoading,
|
|
@@ -97,31 +98,6 @@ export var EuiSuperUpdateButton = /*#__PURE__*/function (_Component) {
|
|
|
97
98
|
// Force responsive for "all" if `iconOnly = true`
|
|
98
99
|
var responsive = iconOnly ? 'all' : _responsive;
|
|
99
100
|
var classes = classNames('euiSuperUpdateButton', className);
|
|
100
|
-
var buttonText = ___EmotionJSX(EuiI18n, {
|
|
101
|
-
token: "euiSuperUpdateButton.refreshButtonLabel",
|
|
102
|
-
default: "Refresh"
|
|
103
|
-
});
|
|
104
|
-
if (needsUpdate || isLoading) {
|
|
105
|
-
buttonText = isLoading ? ___EmotionJSX(EuiI18n, {
|
|
106
|
-
token: "euiSuperUpdateButton.updatingButtonLabel",
|
|
107
|
-
default: "Updating"
|
|
108
|
-
}) : ___EmotionJSX(EuiI18n, {
|
|
109
|
-
token: "euiSuperUpdateButton.updateButtonLabel",
|
|
110
|
-
default: "Update"
|
|
111
|
-
});
|
|
112
|
-
}
|
|
113
|
-
var tooltipContent;
|
|
114
|
-
if (isDisabled) {
|
|
115
|
-
tooltipContent = ___EmotionJSX(EuiI18n, {
|
|
116
|
-
token: "euiSuperUpdateButton.cannotUpdateTooltip",
|
|
117
|
-
default: "Cannot update"
|
|
118
|
-
});
|
|
119
|
-
} else if (needsUpdate && !isLoading) {
|
|
120
|
-
tooltipContent = ___EmotionJSX(EuiI18n, {
|
|
121
|
-
token: "euiSuperUpdateButton.clickToApplyTooltip",
|
|
122
|
-
default: "Click to apply"
|
|
123
|
-
});
|
|
124
|
-
}
|
|
125
101
|
var sharedButtonProps = {
|
|
126
102
|
color: needsUpdate || isLoading ? 'success' : 'primary',
|
|
127
103
|
iconType: needsUpdate || isLoading ? 'kqlFunction' : 'refresh',
|
|
@@ -129,9 +105,10 @@ export var EuiSuperUpdateButton = /*#__PURE__*/function (_Component) {
|
|
|
129
105
|
onClick: onClick,
|
|
130
106
|
isLoading: isLoading
|
|
131
107
|
};
|
|
108
|
+
var buttonContent = this.renderButtonContent();
|
|
132
109
|
return ___EmotionJSX(EuiToolTip, _extends({
|
|
133
110
|
ref: this.setTootipRef,
|
|
134
|
-
content:
|
|
111
|
+
content: this.renderTooltipContent(),
|
|
135
112
|
position: "bottom"
|
|
136
113
|
}, toolTipProps), ___EmotionJSX(React.Fragment, null, ___EmotionJSX(EuiShowFor, {
|
|
137
114
|
sizes: responsive || 'none'
|
|
@@ -143,7 +120,7 @@ export var EuiSuperUpdateButton = /*#__PURE__*/function (_Component) {
|
|
|
143
120
|
textProps: _objectSpread(_objectSpread({}, restTextProps), {}, {
|
|
144
121
|
className: classNames('euiScreenReaderOnly', restTextProps && restTextProps.className)
|
|
145
122
|
})
|
|
146
|
-
}, rest),
|
|
123
|
+
}, rest), buttonContent)), ___EmotionJSX(EuiHideFor, {
|
|
147
124
|
sizes: responsive || 'none'
|
|
148
125
|
}, ___EmotionJSX(EuiButton, _extends({
|
|
149
126
|
className: classes,
|
|
@@ -151,7 +128,50 @@ export var EuiSuperUpdateButton = /*#__PURE__*/function (_Component) {
|
|
|
151
128
|
}, sharedButtonProps, {
|
|
152
129
|
fill: fill,
|
|
153
130
|
textProps: restTextProps
|
|
154
|
-
}, rest),
|
|
131
|
+
}, rest), buttonContent))));
|
|
132
|
+
}
|
|
133
|
+
}, {
|
|
134
|
+
key: "renderButtonContent",
|
|
135
|
+
value: function renderButtonContent() {
|
|
136
|
+
var _this$props2 = this.props,
|
|
137
|
+
children = _this$props2.children,
|
|
138
|
+
isLoading = _this$props2.isLoading,
|
|
139
|
+
needsUpdate = _this$props2.needsUpdate;
|
|
140
|
+
if (children) {
|
|
141
|
+
return children;
|
|
142
|
+
}
|
|
143
|
+
if (isLoading) {
|
|
144
|
+
return ___EmotionJSX(EuiI18n, {
|
|
145
|
+
token: "euiSuperUpdateButton.updatingButtonLabel",
|
|
146
|
+
default: "Updating"
|
|
147
|
+
});
|
|
148
|
+
}
|
|
149
|
+
if (needsUpdate) {
|
|
150
|
+
return ___EmotionJSX(EuiI18n, {
|
|
151
|
+
token: "euiSuperUpdateButton.updateButtonLabel",
|
|
152
|
+
default: "Update"
|
|
153
|
+
});
|
|
154
|
+
}
|
|
155
|
+
return ___EmotionJSX(EuiI18n, {
|
|
156
|
+
token: "euiSuperUpdateButton.refreshButtonLabel",
|
|
157
|
+
default: "Refresh"
|
|
158
|
+
});
|
|
159
|
+
}
|
|
160
|
+
}, {
|
|
161
|
+
key: "renderTooltipContent",
|
|
162
|
+
value: function renderTooltipContent() {
|
|
163
|
+
if (this.props.isDisabled) {
|
|
164
|
+
return ___EmotionJSX(EuiI18n, {
|
|
165
|
+
token: "euiSuperUpdateButton.cannotUpdateTooltip",
|
|
166
|
+
default: "Cannot update"
|
|
167
|
+
});
|
|
168
|
+
}
|
|
169
|
+
if (this.props.needsUpdate && !this.props.isLoading) {
|
|
170
|
+
return ___EmotionJSX(EuiI18n, {
|
|
171
|
+
token: "euiSuperUpdateButton.clickToApplyTooltip",
|
|
172
|
+
default: "Click to apply"
|
|
173
|
+
});
|
|
174
|
+
}
|
|
155
175
|
}
|
|
156
176
|
}]);
|
|
157
177
|
return EuiSuperUpdateButton;
|
|
@@ -9,12 +9,11 @@ function _EMOTION_STRINGIFIED_CSS_ERROR__() { return "You have tried to stringif
|
|
|
9
9
|
|
|
10
10
|
import { css } from '@emotion/react';
|
|
11
11
|
import { euiTextTruncate, euiTextShift, logicalTextAlignCSS } from '../../global_styling';
|
|
12
|
-
import { euiLinkFocusCSS } from '../link/link.styles';
|
|
13
12
|
export var euiFacetButtonStyles = function euiFacetButtonStyles(_ref3) {
|
|
14
13
|
var euiTheme = _ref3.euiTheme;
|
|
15
14
|
return {
|
|
16
15
|
// Base
|
|
17
|
-
euiFacetButton: /*#__PURE__*/css(logicalTextAlignCSS('left'), " &:hover,&:focus{
|
|
16
|
+
euiFacetButton: /*#__PURE__*/css(logicalTextAlignCSS('left'), " &:not(:disabled){&:hover,&:focus{text-decoration:none;.euiFacetButton__text{text-decoration:underline;}}&:focus .euiFacetButton__text{text-decoration-thickness:", euiTheme.border.width.thick, ";}}&:disabled{color:", euiTheme.colors.disabledText, ";pointer-events:none;};label:euiFacetButton;")
|
|
18
17
|
};
|
|
19
18
|
};
|
|
20
19
|
export var euiFacetButtonTextStyles = function euiFacetButtonTextStyles(_ref4) {
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/extends";
|
|
2
|
+
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
2
3
|
import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
|
|
3
|
-
var _excluded = ["children", "className", "gutterSize", "direction", "alignItems", "responsive", "columns", "component"];
|
|
4
|
+
var _excluded = ["children", "className", "style", "gutterSize", "direction", "alignItems", "responsive", "columns", "component"];
|
|
5
|
+
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; }
|
|
6
|
+
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; }
|
|
4
7
|
/*
|
|
5
8
|
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
|
|
6
9
|
* or more contributor license agreements. Licensed under the Elastic License
|
|
@@ -9,9 +12,9 @@ var _excluded = ["children", "className", "gutterSize", "direction", "alignItems
|
|
|
9
12
|
* Side Public License, v 1.
|
|
10
13
|
*/
|
|
11
14
|
|
|
12
|
-
import React from 'react';
|
|
15
|
+
import React, { useMemo } from 'react';
|
|
13
16
|
import classNames from 'classnames';
|
|
14
|
-
import {
|
|
17
|
+
import { useEuiMemoizedStyles } from '../../services';
|
|
15
18
|
import { euiFlexGridStyles } from './flex_grid.styles';
|
|
16
19
|
import { jsx as ___EmotionJSX } from "@emotion/react";
|
|
17
20
|
export var DIRECTIONS = ['row', 'column'];
|
|
@@ -20,6 +23,7 @@ export var GUTTER_SIZES = ['none', 's', 'm', 'l', 'xl'];
|
|
|
20
23
|
export var EuiFlexGrid = function EuiFlexGrid(_ref) {
|
|
21
24
|
var children = _ref.children,
|
|
22
25
|
className = _ref.className,
|
|
26
|
+
style = _ref.style,
|
|
23
27
|
_ref$gutterSize = _ref.gutterSize,
|
|
24
28
|
gutterSize = _ref$gutterSize === void 0 ? 'l' : _ref$gutterSize,
|
|
25
29
|
_ref$direction = _ref.direction,
|
|
@@ -33,13 +37,20 @@ export var EuiFlexGrid = function EuiFlexGrid(_ref) {
|
|
|
33
37
|
_ref$component = _ref.component,
|
|
34
38
|
Component = _ref$component === void 0 ? 'div' : _ref$component,
|
|
35
39
|
rest = _objectWithoutProperties(_ref, _excluded);
|
|
36
|
-
var gridTemplateRows = direction === 'column' ? Math.ceil(React.Children.count(children) / columns) : 0;
|
|
37
|
-
var euiTheme = useEuiTheme();
|
|
38
|
-
var styles = euiFlexGridStyles(euiTheme, gridTemplateRows);
|
|
39
|
-
var cssStyles = [styles.euiFlexGrid, styles.gutterSizes[gutterSize], styles.direction[direction], styles.alignItems[alignItems], styles.columnCount[columns], responsive && styles.responsive];
|
|
40
40
|
var classes = classNames('euiFlexGrid', className);
|
|
41
|
+
var styles = useEuiMemoizedStyles(euiFlexGridStyles);
|
|
42
|
+
var cssStyles = [styles.euiFlexGrid, styles.gutterSizes[gutterSize], styles.direction[direction], styles.alignItems[alignItems], styles.columnCount[columns], responsive && styles.responsive];
|
|
43
|
+
var columnDirectionStyles = useMemo(function () {
|
|
44
|
+
if (direction === 'column') {
|
|
45
|
+
var rowsToRender = Math.ceil(React.Children.count(children) / columns);
|
|
46
|
+
return {
|
|
47
|
+
gridTemplateRows: "repeat(".concat(rowsToRender, ", 1fr)")
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
}, [direction, columns, children]);
|
|
41
51
|
return ___EmotionJSX(Component, _extends({
|
|
42
52
|
css: cssStyles,
|
|
43
|
-
className: classes
|
|
53
|
+
className: classes,
|
|
54
|
+
style: columnDirectionStyles ? _objectSpread(_objectSpread({}, style), columnDirectionStyles) : style
|
|
44
55
|
}, rest), children);
|
|
45
56
|
};
|