@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
|
@@ -11,13 +11,13 @@ var _excluded = ["title", "color", "iconType", "onClose", "children", "className
|
|
|
11
11
|
|
|
12
12
|
import React from 'react';
|
|
13
13
|
import classNames from 'classnames';
|
|
14
|
-
import {
|
|
14
|
+
import { useEuiMemoizedStyles } from '../../services';
|
|
15
15
|
import { EuiScreenReaderOnly } from '../accessibility';
|
|
16
16
|
import { EuiButtonIcon } from '../button';
|
|
17
17
|
import { EuiI18n } from '../i18n';
|
|
18
18
|
import { EuiIcon } from '../icon';
|
|
19
19
|
import { EuiText } from '../text';
|
|
20
|
-
import { euiToastStyles,
|
|
20
|
+
import { euiToastStyles, euiToastHeaderStyles } from './toast.styles';
|
|
21
21
|
import { jsx as ___EmotionJSX } from "@emotion/react";
|
|
22
22
|
export var COLORS = ['primary', 'success', 'warning', 'danger'];
|
|
23
23
|
export var EuiToast = function EuiToast(_ref) {
|
|
@@ -28,47 +28,11 @@ export var EuiToast = function EuiToast(_ref) {
|
|
|
28
28
|
children = _ref.children,
|
|
29
29
|
className = _ref.className,
|
|
30
30
|
rest = _objectWithoutProperties(_ref, _excluded);
|
|
31
|
-
var
|
|
32
|
-
var baseStyles = euiToastStyles(euiTheme);
|
|
31
|
+
var baseStyles = useEuiMemoizedStyles(euiToastStyles);
|
|
33
32
|
var baseCss = [baseStyles.euiToast, color && baseStyles[color]];
|
|
34
|
-
var
|
|
35
|
-
var headerStyles = euiToastHeaderStyles(euiTheme);
|
|
33
|
+
var headerStyles = useEuiMemoizedStyles(euiToastHeaderStyles);
|
|
36
34
|
var headerCss = [headerStyles.euiToastHeader, children && headerStyles.withBody];
|
|
37
35
|
var classes = classNames('euiToast', className);
|
|
38
|
-
var headerIcon;
|
|
39
|
-
if (iconType) {
|
|
40
|
-
headerIcon = ___EmotionJSX(EuiIcon, {
|
|
41
|
-
css: headerStyles.euiToastHeader__icon,
|
|
42
|
-
type: iconType,
|
|
43
|
-
size: "m",
|
|
44
|
-
"aria-hidden": "true"
|
|
45
|
-
});
|
|
46
|
-
}
|
|
47
|
-
var closeButton;
|
|
48
|
-
if (onClose) {
|
|
49
|
-
closeButton = ___EmotionJSX(EuiI18n, {
|
|
50
|
-
token: "euiToast.dismissToast",
|
|
51
|
-
default: "Dismiss toast"
|
|
52
|
-
}, function (dismissToast) {
|
|
53
|
-
return ___EmotionJSX(EuiButtonIcon, {
|
|
54
|
-
css: baseStyles.euiToast__closeButton,
|
|
55
|
-
iconType: "cross",
|
|
56
|
-
color: "text",
|
|
57
|
-
size: "xs",
|
|
58
|
-
"aria-label": dismissToast,
|
|
59
|
-
onClick: onClose,
|
|
60
|
-
"data-test-subj": "toastCloseButton"
|
|
61
|
-
});
|
|
62
|
-
});
|
|
63
|
-
}
|
|
64
|
-
var optionalBody;
|
|
65
|
-
if (children) {
|
|
66
|
-
optionalBody = ___EmotionJSX(EuiText, {
|
|
67
|
-
css: bodyStyles.euiToastBody,
|
|
68
|
-
size: "s",
|
|
69
|
-
"data-test-subj": "euiToastBody"
|
|
70
|
-
}, children);
|
|
71
|
-
}
|
|
72
36
|
return ___EmotionJSX("div", _extends({
|
|
73
37
|
css: baseCss,
|
|
74
38
|
className: classes
|
|
@@ -83,9 +47,30 @@ export var EuiToast = function EuiToast(_ref) {
|
|
|
83
47
|
css: headerCss,
|
|
84
48
|
"aria-label": notification,
|
|
85
49
|
"data-test-subj": "euiToastHeader"
|
|
86
|
-
},
|
|
50
|
+
}, iconType && ___EmotionJSX(EuiIcon, {
|
|
51
|
+
css: headerStyles.euiToastHeader__icon,
|
|
52
|
+
type: iconType,
|
|
53
|
+
size: "m",
|
|
54
|
+
"aria-hidden": "true"
|
|
55
|
+
}), ___EmotionJSX("span", {
|
|
87
56
|
css: headerStyles.euiToastHeader__title,
|
|
88
57
|
"data-test-subj": "euiToastHeader__title"
|
|
89
58
|
}, title));
|
|
90
|
-
}),
|
|
59
|
+
}), onClose && ___EmotionJSX(EuiI18n, {
|
|
60
|
+
token: "euiToast.dismissToast",
|
|
61
|
+
default: "Dismiss toast"
|
|
62
|
+
}, function (dismissToast) {
|
|
63
|
+
return ___EmotionJSX(EuiButtonIcon, {
|
|
64
|
+
css: baseStyles.euiToast__closeButton,
|
|
65
|
+
iconType: "cross",
|
|
66
|
+
color: "text",
|
|
67
|
+
size: "xs",
|
|
68
|
+
"aria-label": dismissToast,
|
|
69
|
+
onClick: onClose,
|
|
70
|
+
"data-test-subj": "toastCloseButton"
|
|
71
|
+
});
|
|
72
|
+
}), children && ___EmotionJSX(EuiText, {
|
|
73
|
+
size: "s",
|
|
74
|
+
"data-test-subj": "euiToastBody"
|
|
75
|
+
}, children));
|
|
91
76
|
};
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
function _EMOTION_STRINGIFIED_CSS_ERROR__() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; }
|
|
2
1
|
/*
|
|
3
2
|
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
|
|
4
3
|
* or more contributor license agreements. Licensed under the Elastic License
|
|
@@ -8,14 +7,14 @@ function _EMOTION_STRINGIFIED_CSS_ERROR__() { return "You have tried to stringif
|
|
|
8
7
|
*/
|
|
9
8
|
|
|
10
9
|
import { css } from '@emotion/react';
|
|
11
|
-
import { logicalCSS } from '../../global_styling';
|
|
10
|
+
import { euiTextBreakWord, logicalCSS } from '../../global_styling';
|
|
12
11
|
import { euiShadowLarge } from '../../themes/amsterdam';
|
|
13
12
|
import { euiTitle } from '../title/title.styles';
|
|
14
13
|
export var euiToastStyles = function euiToastStyles(euiThemeContext) {
|
|
15
14
|
var euiTheme = euiThemeContext.euiTheme;
|
|
16
15
|
return {
|
|
17
16
|
// Base
|
|
18
|
-
euiToast: /*#__PURE__*/css("border-radius:", euiTheme.border.radius.medium, ";", euiShadowLarge(euiThemeContext), " position:relative;", logicalCSS('padding-horizontal', euiTheme.size.base), " ", logicalCSS('padding-vertical', euiTheme.size.base), " background-color:", euiTheme.colors.emptyShade, ";", logicalCSS('width', '100%'), " &:hover,&:focus{[class*='euiToast__closeButton']{opacity:1;}};label:euiToast;"),
|
|
17
|
+
euiToast: /*#__PURE__*/css("border-radius:", euiTheme.border.radius.medium, ";", euiShadowLarge(euiThemeContext), " position:relative;", logicalCSS('padding-horizontal', euiTheme.size.base), " ", logicalCSS('padding-vertical', euiTheme.size.base), " background-color:", euiTheme.colors.emptyShade, ";", logicalCSS('width', '100%'), " ", euiTextBreakWord(), "&:hover,&:focus{[class*='euiToast__closeButton']{opacity:1;}};label:euiToast;"),
|
|
19
18
|
// Elements
|
|
20
19
|
euiToast__closeButton: /*#__PURE__*/css("position:absolute;", logicalCSS('top', euiTheme.size.base), " ", logicalCSS('right', euiTheme.size.base), ";;label:euiToast__closeButton;"),
|
|
21
20
|
// Variants
|
|
@@ -36,18 +35,4 @@ export var euiToastHeaderStyles = function euiToastHeaderStyles(euiThemeContext)
|
|
|
36
35
|
// Variants
|
|
37
36
|
withBody: /*#__PURE__*/css(logicalCSS('margin-bottom', euiTheme.size.s), ";;label:withBody;")
|
|
38
37
|
};
|
|
39
|
-
};
|
|
40
|
-
var _ref = process.env.NODE_ENV === "production" ? {
|
|
41
|
-
name: "1xv63y1-euiToastBody",
|
|
42
|
-
styles: "word-wrap:break-word;label:euiToastBody;"
|
|
43
|
-
} : {
|
|
44
|
-
name: "1xv63y1-euiToastBody",
|
|
45
|
-
styles: "word-wrap:break-word;label:euiToastBody;",
|
|
46
|
-
toString: _EMOTION_STRINGIFIED_CSS_ERROR__
|
|
47
|
-
};
|
|
48
|
-
export var euiToastBodyStyles = function euiToastBodyStyles() {
|
|
49
|
-
return {
|
|
50
|
-
// Base
|
|
51
|
-
euiToastBody: _ref
|
|
52
|
-
};
|
|
53
38
|
};
|
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
2
|
+
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; }
|
|
3
|
+
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; }
|
|
1
4
|
/*
|
|
2
5
|
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
|
|
3
6
|
* or more contributor license agreements. Licensed under the Elastic License
|
|
@@ -7,7 +10,8 @@
|
|
|
7
10
|
*/
|
|
8
11
|
|
|
9
12
|
import { euiLineHeightFromBaseline, euiFontSizeFromScale } from '../functions/typography';
|
|
10
|
-
import { useEuiTheme } from '../../services/theme
|
|
13
|
+
import { useEuiMemoizedStyles, useEuiTheme } from '../../services/theme';
|
|
14
|
+
import { EuiThemeFontScales } from '../variables/typography';
|
|
11
15
|
import { logicalCSS } from '../functions';
|
|
12
16
|
/**
|
|
13
17
|
* Returns font-size and line-height
|
|
@@ -21,7 +25,15 @@ export var euiFontSize = function euiFontSize(_ref, scale, options) {
|
|
|
21
25
|
};
|
|
22
26
|
export var useEuiFontSize = function useEuiFontSize(scale, options) {
|
|
23
27
|
var euiTheme = useEuiTheme();
|
|
24
|
-
|
|
28
|
+
var memoizedFontSizes = useEuiMemoizedStyles(euiFontSizes);
|
|
29
|
+
return !options ? memoizedFontSizes[scale] : euiFontSize(euiTheme, scale, options);
|
|
30
|
+
};
|
|
31
|
+
// Memomize a basic set of font sizes. We unfortunately can't
|
|
32
|
+
// memoize all possible options, there's too many permutations
|
|
33
|
+
var euiFontSizes = function euiFontSizes(euiThemeContext) {
|
|
34
|
+
return EuiThemeFontScales.reduce(function (map, scale) {
|
|
35
|
+
return _objectSpread(_objectSpread({}, map), {}, _defineProperty({}, scale, euiFontSize(euiThemeContext, scale)));
|
|
36
|
+
}, {});
|
|
25
37
|
};
|
|
26
38
|
|
|
27
39
|
/**
|
|
@@ -47,8 +59,4 @@ export var euiTextTruncate = function euiTextTruncate() {
|
|
|
47
59
|
export var euiNumberFormat = function euiNumberFormat(_ref2) {
|
|
48
60
|
var euiTheme = _ref2.euiTheme;
|
|
49
61
|
return "\n font-feature-settings: ".concat(euiTheme.font.featureSettings, ", 'tnum' 1;\n");
|
|
50
|
-
};
|
|
51
|
-
export var useEuiNumberFormat = function useEuiNumberFormat() {
|
|
52
|
-
var euiTheme = useEuiTheme();
|
|
53
|
-
return euiNumberFormat(euiTheme);
|
|
54
62
|
};
|
|
@@ -118,19 +118,19 @@ export var euiPaletteForLightBackground = function euiPaletteForLightBackground(
|
|
|
118
118
|
export var euiPaletteForDarkBackground = function euiPaletteForDarkBackground() {
|
|
119
119
|
return ['#1BA9F5', '#7DE2D1', '#F990C0', '#F66', '#FFCE7A'];
|
|
120
120
|
};
|
|
121
|
-
var
|
|
122
|
-
var
|
|
123
|
-
var
|
|
121
|
+
var greenColor = '#209280';
|
|
122
|
+
var redColor = '#CC5642';
|
|
123
|
+
var lightRedColor = euiPaletteColorBlind()[9];
|
|
124
124
|
var coolArray = [euiPaletteColorBlind()[1], '#6092C0'];
|
|
125
125
|
var warmArray = [euiPaletteColorBlind()[7], euiPaletteColorBlind()[9]];
|
|
126
126
|
export var euiPaletteForStatus = function euiPaletteForStatus(steps) {
|
|
127
127
|
if (steps === 1) {
|
|
128
|
-
return [
|
|
128
|
+
return [greenColor];
|
|
129
129
|
}
|
|
130
130
|
if (steps <= 3) {
|
|
131
|
-
return euiPalette([
|
|
131
|
+
return euiPalette([greenColor, euiPaletteColorBlind()[5], redColor], steps, true);
|
|
132
132
|
}
|
|
133
|
-
return euiPalette([
|
|
133
|
+
return euiPalette([greenColor, euiPaletteColorBlind()[0], euiPaletteColorBlind()[5], lightRedColor, redColor], steps, true);
|
|
134
134
|
};
|
|
135
135
|
export var euiPaletteForTemperature = function euiPaletteForTemperature(steps) {
|
|
136
136
|
var cools = colorPalette([].concat(_toConsumableArray(coolArray.slice().reverse()), ['#EBEFF5']), 3);
|
|
@@ -138,7 +138,7 @@ export var euiPaletteForTemperature = function euiPaletteForTemperature(steps) {
|
|
|
138
138
|
if (steps === 1) {
|
|
139
139
|
return [cools[0]];
|
|
140
140
|
} else if (steps <= 3) {
|
|
141
|
-
return euiPalette([cools[0],
|
|
141
|
+
return euiPalette([cools[0], lightRedColor], steps, true);
|
|
142
142
|
}
|
|
143
143
|
return euiPalette([].concat(_toConsumableArray(cools), _toConsumableArray(warms)), steps, true);
|
|
144
144
|
};
|
|
@@ -148,18 +148,26 @@ export var euiPaletteComplementary = function euiPaletteComplementary(steps) {
|
|
|
148
148
|
}
|
|
149
149
|
return euiPalette([euiPaletteColorBlind()[1], euiPaletteColorBlind()[7]], steps, true);
|
|
150
150
|
};
|
|
151
|
-
export var
|
|
151
|
+
export var euiPaletteRed = function euiPaletteRed(steps) {
|
|
152
152
|
if (steps === 1) {
|
|
153
|
-
return [
|
|
153
|
+
return [lightRedColor];
|
|
154
154
|
}
|
|
155
|
-
return euiPalette(['white',
|
|
155
|
+
return euiPalette(['white', redColor], steps);
|
|
156
156
|
};
|
|
157
|
-
|
|
157
|
+
/**
|
|
158
|
+
* @deprecated - use `euiPaletteRed` instead
|
|
159
|
+
*/
|
|
160
|
+
export var euiPaletteNegative = euiPaletteRed;
|
|
161
|
+
export var euiPaletteGreen = function euiPaletteGreen(steps) {
|
|
158
162
|
if (steps === 1) {
|
|
159
163
|
return [euiPaletteColorBlind()[0]];
|
|
160
164
|
}
|
|
161
|
-
return euiPalette(['white',
|
|
165
|
+
return euiPalette(['white', greenColor], steps);
|
|
162
166
|
};
|
|
167
|
+
/**
|
|
168
|
+
* @deprecated - use `euiPaletteGreen` instead
|
|
169
|
+
*/
|
|
170
|
+
export var euiPalettePositive = euiPaletteGreen;
|
|
163
171
|
export var euiPaletteCool = function euiPaletteCool(steps) {
|
|
164
172
|
if (steps === 1) {
|
|
165
173
|
return [coolArray[1]];
|
|
@@ -168,7 +176,7 @@ export var euiPaletteCool = function euiPaletteCool(steps) {
|
|
|
168
176
|
};
|
|
169
177
|
export var euiPaletteWarm = function euiPaletteWarm(steps) {
|
|
170
178
|
if (steps === 1) {
|
|
171
|
-
return [
|
|
179
|
+
return [lightRedColor];
|
|
172
180
|
}
|
|
173
181
|
return euiPalette(['#FBFBDC'].concat(warmArray), steps);
|
|
174
182
|
};
|
|
@@ -17,7 +17,7 @@ export { rgbToHsv } from './rgb_to_hsv';
|
|
|
17
17
|
export { calculateContrast, calculateLuminance } from './luminance_and_contrast';
|
|
18
18
|
export { VISUALIZATION_COLORS, DEFAULT_VISUALIZATION_COLOR } from './visualization_colors';
|
|
19
19
|
export { colorPalette } from './color_palette';
|
|
20
|
-
export { euiPaletteForLightBackground, euiPaletteForDarkBackground, euiPaletteColorBlind, euiPaletteColorBlindBehindText, euiPaletteForStatus, euiPaletteForTemperature, euiPaletteComplementary, euiPaletteNegative, euiPalettePositive, euiPaletteCool, euiPaletteWarm, euiPaletteGray } from './eui_palettes';
|
|
20
|
+
export { euiPaletteForLightBackground, euiPaletteForDarkBackground, euiPaletteColorBlind, euiPaletteColorBlindBehindText, euiPaletteForStatus, euiPaletteForTemperature, euiPaletteComplementary, euiPaletteRed, euiPaletteGreen, euiPaletteNegative, euiPalettePositive, euiPaletteCool, euiPaletteWarm, euiPaletteGray } from './eui_palettes';
|
|
21
21
|
export { getSteppedGradient } from './stepped_gradient';
|
|
22
22
|
export * from './manipulation';
|
|
23
23
|
export * from './contrast';
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
|
|
3
|
+
* or more contributor license agreements. Licensed under the Elastic License
|
|
4
|
+
* 2.0 and the Server Side Public License, v 1; you may not use this file except
|
|
5
|
+
* in compliance with, at your election, the Elastic License 2.0 or the Server
|
|
6
|
+
* Side Public License, v 1.
|
|
7
|
+
*/
|
|
8
|
+
|
|
9
|
+
import { useRef } from 'react';
|
|
10
|
+
import isEqual from 'lodash/isEqual';
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* This hook is mostly a performance concern for third-party objs/arrays that EUI
|
|
14
|
+
* has no control over and may not be correctly memoized (i.e., will create a new
|
|
15
|
+
* reference on every rerender unless passed through this hook).
|
|
16
|
+
*/
|
|
17
|
+
export var useDeepEqual = function useDeepEqual(object) {
|
|
18
|
+
var ref = useRef(object);
|
|
19
|
+
if (!isEqual(object, ref.current)) {
|
|
20
|
+
ref.current = object;
|
|
21
|
+
}
|
|
22
|
+
return ref.current;
|
|
23
|
+
};
|
|
@@ -12,7 +12,7 @@ export { htmlIdGenerator, useGeneratedHtmlId } from './accessibility';
|
|
|
12
12
|
export { CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT } from './alignment';
|
|
13
13
|
export { CurrentEuiBreakpointContext, CurrentEuiBreakpointProvider, useCurrentEuiBreakpoint, useIsWithinBreakpoints, useIsWithinMaxBreakpoint, useIsWithinMinBreakpoint } from './breakpoint';
|
|
14
14
|
export { CanvasTextUtils } from './canvas';
|
|
15
|
-
export { brighten, calculateContrast, calculateLuminance, colorPalette, darken, DEFAULT_VISUALIZATION_COLOR, desaturate, euiPaletteColorBlind, euiPaletteColorBlindBehindText, euiPaletteComplementary, euiPaletteCool, euiPaletteForDarkBackground, euiPaletteForLightBackground, euiPaletteForStatus, euiPaletteForTemperature, euiPaletteGray,
|
|
15
|
+
export { brighten, calculateContrast, calculateLuminance, colorPalette, darken, DEFAULT_VISUALIZATION_COLOR, desaturate, euiPaletteColorBlind, euiPaletteColorBlindBehindText, euiPaletteComplementary, euiPaletteCool, euiPaletteForDarkBackground, euiPaletteForLightBackground, euiPaletteForStatus, euiPaletteForTemperature, euiPaletteGray, euiPaletteRed, euiPaletteGreen, euiPalettePositive, euiPaletteNegative, euiPaletteWarm, getSteppedGradient, hexToHsv, hexToRgb, hsvToHex, hsvToRgb, isColorDark, isValidHex, lightness, makeDisabledContrastColor, makeHighContrastColor, rgbToHex, rgbToHsv, saturate, shade, shadeOrTint, tint, tintOrShade, transparentize, VISUALIZATION_COLORS, wcagContrastMin } from './color';
|
|
16
16
|
export { useColorPickerState, useColorStopsState } from './color_picker';
|
|
17
17
|
export * from './console';
|
|
18
18
|
export { copyToClipboard } from './copy_to_clipboard';
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
export { EuiSystemContext, EuiThemeContext, EuiNestedThemeContext, EuiModificationsContext, EuiColorModeContext } from './context';
|
|
10
10
|
export { useEuiTheme, withEuiTheme, RenderWithEuiTheme, useEuiThemeCSSVariables } from './hooks';
|
|
11
11
|
export { EuiThemeProvider } from './provider';
|
|
12
|
-
export { useEuiMemoizedStyles } from './style_memoization';
|
|
12
|
+
export { useEuiMemoizedStyles, withEuiStylesMemoizer } from './style_memoization';
|
|
13
13
|
export { getEuiDevProviderWarning, setEuiDevProviderWarning } from './warning';
|
|
14
14
|
export { buildTheme, computed, isInverseColorMode, getColorMode, getComputed, getOn, mergeDeep, setOn, Computed } from './utils';
|
|
15
15
|
export { COLOR_MODES_STANDARD } from './types';
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import _extends from "@babel/runtime/helpers/extends";
|
|
1
2
|
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
2
3
|
/*
|
|
3
4
|
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
|
|
@@ -7,7 +8,7 @@ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
|
7
8
|
* Side Public License, v 1.
|
|
8
9
|
*/
|
|
9
10
|
|
|
10
|
-
import React, { createContext, useContext, useState, useMemo } from 'react';
|
|
11
|
+
import React, { createContext, useContext, useState, useMemo, useCallback, forwardRef } from 'react';
|
|
11
12
|
import { useUpdateEffect } from '../hooks';
|
|
12
13
|
import { useEuiTheme } from './hooks';
|
|
13
14
|
|
|
@@ -36,25 +37,57 @@ export var EuiThemeMemoizedStylesProvider = function EuiThemeMemoizedStylesProvi
|
|
|
36
37
|
}, children);
|
|
37
38
|
};
|
|
38
39
|
|
|
40
|
+
/**
|
|
41
|
+
* Internal util primarily responsible for getting the memoized styles (if they exist)
|
|
42
|
+
* and if not, generating and setting the styles. DRYed out to facilitate usage
|
|
43
|
+
* between both hook/function components and HOC/class components
|
|
44
|
+
*/
|
|
45
|
+
var getMemoizedStyles = function getMemoizedStyles(stylesGenerator, stylesMap, euiThemeContext) {
|
|
46
|
+
if (!stylesGenerator.name) {
|
|
47
|
+
throw new Error('Styles are memoized per function. Your style functions must be statically defined in order to not create a new map entry every rerender.');
|
|
48
|
+
}
|
|
49
|
+
var existingStyles = stylesMap.get(stylesGenerator);
|
|
50
|
+
if (existingStyles) {
|
|
51
|
+
return existingStyles;
|
|
52
|
+
} else {
|
|
53
|
+
var generatedStyles = stylesGenerator(euiThemeContext);
|
|
54
|
+
stylesMap.set(stylesGenerator, generatedStyles);
|
|
55
|
+
return generatedStyles;
|
|
56
|
+
}
|
|
57
|
+
};
|
|
58
|
+
|
|
39
59
|
/**
|
|
40
60
|
* Hook that memoizes the returned values of components style fns/generators
|
|
41
61
|
* per-theme
|
|
42
62
|
*/
|
|
43
|
-
export var useEuiMemoizedStyles = function useEuiMemoizedStyles(
|
|
63
|
+
export var useEuiMemoizedStyles = function useEuiMemoizedStyles(stylesGenerator) {
|
|
44
64
|
var memoizedStyles = useContext(EuiThemeMemoizedStylesContext);
|
|
45
65
|
var euiThemeContext = useEuiTheme();
|
|
46
66
|
var memoizedComponentStyles = useMemo(function () {
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
}
|
|
50
|
-
var existingStyles = memoizedStyles.get(styleGenerator);
|
|
51
|
-
if (existingStyles) {
|
|
52
|
-
return existingStyles;
|
|
53
|
-
} else {
|
|
54
|
-
var generatedStyles = styleGenerator(euiThemeContext);
|
|
55
|
-
memoizedStyles.set(styleGenerator, generatedStyles);
|
|
56
|
-
return generatedStyles;
|
|
57
|
-
}
|
|
58
|
-
}, [styleGenerator, memoizedStyles, euiThemeContext]);
|
|
67
|
+
return getMemoizedStyles(stylesGenerator, memoizedStyles, euiThemeContext);
|
|
68
|
+
}, [stylesGenerator, memoizedStyles, euiThemeContext]);
|
|
59
69
|
return memoizedComponentStyles;
|
|
70
|
+
};
|
|
71
|
+
|
|
72
|
+
/**
|
|
73
|
+
* HOC for class components
|
|
74
|
+
* Syntax is mostly copied from withEuiTheme HOC
|
|
75
|
+
*/
|
|
76
|
+
|
|
77
|
+
export var withEuiStylesMemoizer = function withEuiStylesMemoizer(Component) {
|
|
78
|
+
var componentName = Component.displayName || Component.name || 'ComponentWithStylesMemoizer';
|
|
79
|
+
var Render = function Render(props, ref) {
|
|
80
|
+
var memoizedStyles = useContext(EuiThemeMemoizedStylesContext);
|
|
81
|
+
var euiThemeContext = useEuiTheme();
|
|
82
|
+
var stylesMemoizer = useCallback(function (stylesGenerator) {
|
|
83
|
+
return getMemoizedStyles(stylesGenerator, memoizedStyles, euiThemeContext);
|
|
84
|
+
}, [memoizedStyles, euiThemeContext]);
|
|
85
|
+
return ___EmotionJSX(Component, _extends({
|
|
86
|
+
stylesMemoizer: stylesMemoizer,
|
|
87
|
+
ref: ref
|
|
88
|
+
}, props));
|
|
89
|
+
};
|
|
90
|
+
var WithEuiStylesMemoizer = /*#__PURE__*/forwardRef(Render);
|
|
91
|
+
WithEuiStylesMemoizer.displayName = componentName;
|
|
92
|
+
return WithEuiStylesMemoizer;
|
|
60
93
|
};
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
+
import _taggedTemplateLiteral from "@babel/runtime/helpers/taggedTemplateLiteral";
|
|
1
2
|
import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
|
|
3
|
+
var _templateObject;
|
|
2
4
|
/*
|
|
3
5
|
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
|
|
4
6
|
* or more contributor license agreements. Licensed under the Elastic License
|
|
@@ -7,10 +9,11 @@ import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
|
|
|
7
9
|
* Side Public License, v 1.
|
|
8
10
|
*/
|
|
9
11
|
|
|
10
|
-
import { css } from '@emotion/react';
|
|
12
|
+
import { css, keyframes } from '@emotion/react';
|
|
11
13
|
import { euiBackgroundColor, euiCanAnimate } from '../../../../global_styling';
|
|
12
|
-
import { hexToRgb, isColorDark, makeHighContrastColor, shade, tint, transparentize,
|
|
14
|
+
import { hexToRgb, isColorDark, makeHighContrastColor, shade, tint, transparentize, useEuiMemoizedStyles } from '../../../../services';
|
|
13
15
|
export var BUTTON_COLORS = ['text', 'accent', 'primary', 'success', 'warning', 'danger'];
|
|
16
|
+
export var BUTTON_DISPLAYS = ['base', 'fill', 'empty'];
|
|
14
17
|
/**
|
|
15
18
|
* Creates the `base` version of button styles with proper text contrast.
|
|
16
19
|
* @param euiThemeContext
|
|
@@ -128,23 +131,35 @@ export var euiButtonEmptyColor = function euiButtonEmptyColor(euiThemeContext, c
|
|
|
128
131
|
*/
|
|
129
132
|
export var useEuiButtonColorCSS = function useEuiButtonColorCSS() {
|
|
130
133
|
var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
131
|
-
var
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
}
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
134
|
+
var _options$display = options.display,
|
|
135
|
+
display = _options$display === void 0 ? 'base' : _options$display;
|
|
136
|
+
var colorsDisplaysMap = useEuiMemoizedStyles(euiButtonDisplaysColors);
|
|
137
|
+
return colorsDisplaysMap[display];
|
|
138
|
+
};
|
|
139
|
+
var euiButtonDisplaysColors = function euiButtonDisplaysColors(euiThemeContext) {
|
|
140
|
+
var COLORS = [].concat(BUTTON_COLORS, ['disabled']);
|
|
141
|
+
var displaysColorsMap = {};
|
|
142
|
+
BUTTON_DISPLAYS.forEach(function (display) {
|
|
143
|
+
displaysColorsMap[display] = {};
|
|
144
|
+
COLORS.forEach(function (color) {
|
|
145
|
+
switch (display) {
|
|
146
|
+
case 'base':
|
|
147
|
+
displaysColorsMap[display][color] = /*#__PURE__*/css(euiButtonColor(euiThemeContext, color), ";;label:displaysColorsMap-display-color;");
|
|
148
|
+
break;
|
|
149
|
+
case 'fill':
|
|
150
|
+
displaysColorsMap[display][color] = /*#__PURE__*/css(euiButtonFillColor(euiThemeContext, color), "outline-color:", euiThemeContext.colorMode === 'DARK' && color === 'text' ? 'currentColor' : euiThemeContext.euiTheme.colors.fullShade, ";;label:displaysColorsMap-display-color;");
|
|
151
|
+
break;
|
|
152
|
+
case 'empty':
|
|
153
|
+
displaysColorsMap[display][color] = /*#__PURE__*/css("color:", euiButtonEmptyColor(euiThemeContext, color).color, ";&:focus,&:active{background-color:", euiButtonEmptyColor(euiThemeContext, color).backgroundColor, ";};label:displaysColorsMap-display-color;");
|
|
154
|
+
break;
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
// Tweak auto-generated Emotion label/className output
|
|
158
|
+
var emotionOutput = displaysColorsMap[display][color];
|
|
159
|
+
emotionOutput.styles = emotionOutput.styles.replace('label:displaysColorsMap-display-color;', "label:".concat(display, "-").concat(color, ";"));
|
|
160
|
+
});
|
|
161
|
+
});
|
|
162
|
+
return displaysColorsMap;
|
|
148
163
|
};
|
|
149
164
|
|
|
150
165
|
/**
|
|
@@ -152,17 +167,25 @@ export var useEuiButtonColorCSS = function useEuiButtonColorCSS() {
|
|
|
152
167
|
* @returns string
|
|
153
168
|
*/
|
|
154
169
|
export var useEuiButtonFocusCSS = function useEuiButtonFocusCSS() {
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
170
|
+
return useEuiMemoizedStyles(euiButtonFocusCSS);
|
|
171
|
+
};
|
|
172
|
+
var euiButtonFocusAnimation = keyframes(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n 50% {\n transform: translateY(1px);\n }\n"])));
|
|
173
|
+
var euiButtonFocusCSS = function euiButtonFocusCSS(_ref) {
|
|
174
|
+
var euiTheme = _ref.euiTheme;
|
|
175
|
+
var focusCSS = /*#__PURE__*/css(euiCanAnimate, "{transition:transform ", euiTheme.animation.normal, " ease-in-out,background-color ", euiTheme.animation.normal, " ease-in-out;&:hover:not(:disabled){transform:translateY(-1px);}&:focus{animation:", euiButtonFocusAnimation, " ", euiTheme.animation.normal, " ", euiTheme.animation.bounce, ";}&:active:not(:disabled){transform:translateY(1px);}};label:focusCSS;");
|
|
176
|
+
// Remove the auto-generated label.
|
|
177
|
+
// We could typically avoid a label by using a plain string `` instead of css``,
|
|
178
|
+
// but we need css`` for keyframes`` to work for the focus animation
|
|
179
|
+
focusCSS.styles = focusCSS.styles.replace('label:focusCSS;', '');
|
|
180
|
+
return focusCSS;
|
|
158
181
|
};
|
|
159
182
|
|
|
160
183
|
/**
|
|
161
184
|
* Map of `size` props to various sizings/scales
|
|
162
185
|
* that should remain consistent across all buttons
|
|
163
186
|
*/
|
|
164
|
-
export var euiButtonSizeMap = function euiButtonSizeMap(
|
|
165
|
-
var euiTheme =
|
|
187
|
+
export var euiButtonSizeMap = function euiButtonSizeMap(_ref2) {
|
|
188
|
+
var euiTheme = _ref2.euiTheme;
|
|
166
189
|
return {
|
|
167
190
|
xs: {
|
|
168
191
|
height: euiTheme.size.l,
|