@elastic/eui 60.3.0 → 62.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/eui_charts_theme.js +330 -330
- package/dist/eui_charts_theme.js.map +1 -1
- package/dist/eui_theme_dark.css +20 -660
- package/dist/eui_theme_dark.json +1 -2
- package/dist/eui_theme_dark.json.d.ts +1 -2
- package/dist/eui_theme_dark.min.css +1 -1
- package/dist/eui_theme_light.css +20 -660
- package/dist/eui_theme_light.json +1 -2
- package/dist/eui_theme_light.json.d.ts +1 -2
- package/dist/eui_theme_light.min.css +1 -1
- package/es/components/accessibility/skip_link/skip_link.js +1 -1
- package/es/components/avatar/avatar.js +1 -2
- package/es/components/badge/badge.js +1 -1
- package/es/components/badge/beta_badge/beta_badge.js +1 -1
- package/es/components/basic_table/basic_table.js +1 -1
- package/es/components/basic_table/collapsed_item_actions.js +1 -1
- package/es/components/basic_table/in_memory_table.js +1 -1
- package/es/components/button/_button_content_deprecated.js +1 -1
- package/es/components/button/button.js +2 -2
- package/es/components/button/button_display/_button_display.js +1 -1
- package/es/components/button/button_display/_button_display_content.js +1 -1
- package/es/components/button/button_empty/button_empty.js +1 -1
- package/es/components/button/button_group/button_group.js +1 -1
- package/es/components/button/button_group/button_group_button.js +1 -1
- package/es/components/button/button_icon/button_icon.js +1 -1
- package/es/components/call_out/call_out.js +1 -1
- package/es/components/card/card.js +1 -1
- package/es/components/card/card_select.js +1 -1
- package/es/components/collapsible_nav/collapsible_nav_group/collapsible_nav_group.js +1 -1
- package/es/components/color_picker/color_picker.js +1 -1
- package/es/components/combo_box/combo_box_options_list/combo_box_options_list.js +7 -4
- package/es/components/comment_list/comment.js +54 -24
- package/es/components/comment_list/comment_event.js +103 -32
- package/es/components/comment_list/comment_event.styles.js +78 -0
- package/es/components/comment_list/comment_list.js +45 -12
- package/es/components/comment_list/comment_timeline.js +29 -35
- package/es/components/context_menu/context_menu_panel.js +1 -1
- package/es/components/datagrid/body/data_grid_body.js +14 -14
- package/es/components/datagrid/body/data_grid_cell.js +24 -24
- package/es/components/datagrid/body/header/data_grid_header_cell.js +164 -68
- package/es/components/datagrid/body/header/data_grid_header_row.js +13 -13
- package/es/components/datagrid/controls/column_sorting_draggable.js +1 -1
- package/es/components/datagrid/data_grid.js +13 -13
- package/es/components/datagrid/utils/in_memory.js +12 -12
- package/es/components/datagrid/utils/row_heights.js +27 -33
- package/es/components/date_picker/date_picker.js +2 -2
- package/es/components/date_picker/date_picker_range.js +1 -1
- package/es/components/empty_prompt/empty_prompt.js +1 -1
- package/es/components/error_boundary/error_boundary.js +18 -11
- package/es/components/error_boundary/error_boundary.styles.js +18 -0
- package/es/components/filter_group/filter_button.js +3 -1
- package/es/components/focus_trap/focus_trap.js +1 -0
- package/es/components/form/field_number/field_number.js +1 -1
- package/es/components/form/field_text/field_text.js +2 -2
- package/es/components/form/form.styles.js +11 -0
- package/es/components/form/form_control_layout/form_control_layout.js +2 -2
- package/es/components/form/form_control_layout/form_control_layout_custom_icon.js +1 -1
- package/es/components/form/form_control_layout/form_control_layout_icons.js +2 -2
- package/es/components/header/header_links/header_link.js +1 -1
- package/es/components/header/header_links/header_links.js +10 -8
- package/es/components/header/header_logo.js +1 -1
- package/es/components/icon/assets/keyboard.js +38 -0
- package/es/components/icon/assets/tokenMetricCounter.js +38 -0
- package/es/components/icon/assets/{keyboard_shortcut.js → tokenMetricGauge.js} +3 -3
- package/es/components/icon/icon.js +1 -1
- package/es/components/icon/icon_map.js +39 -37
- package/es/components/image/image.js +71 -166
- package/es/components/image/image.styles.js +28 -0
- package/es/components/image/image_button.js +68 -0
- package/es/components/image/image_button.styles.js +41 -0
- package/es/components/image/image_caption.js +28 -0
- package/es/components/image/image_caption.styles.js +18 -0
- package/es/components/image/image_fullscreen_wrapper.js +100 -0
- package/es/components/image/image_fullscreen_wrapper.styles.js +26 -0
- package/es/components/image/image_types.js +10 -0
- package/es/components/image/image_wrapper.js +78 -0
- package/es/components/image/image_wrapper.styles.js +41 -0
- package/es/components/key_pad_menu/key_pad_menu_item.js +1 -1
- package/es/components/list_group/list_group.js +2 -2
- package/es/components/list_group/list_group_item.js +2 -2
- package/es/components/list_group/pinnable_list_group/pinnable_list_group.js +4 -4
- package/es/components/loading/loading_logo.js +1 -1
- package/es/components/markdown_editor/markdown_editor.js +1 -1
- package/es/components/markdown_editor/markdown_editor_drop_zone.js +1 -1
- package/es/components/markdown_editor/markdown_editor_footer.js +1 -1
- package/es/components/markdown_editor/markdown_editor_toolbar.js +1 -1
- package/es/components/notification/notification_event.js +2 -2
- package/es/components/notification/notification_event_meta.js +1 -1
- package/es/components/page/page_header/page_header.js +1 -1
- package/es/components/page/page_header/page_header_content.js +1 -1
- package/es/components/page/page_template.js +1 -1
- package/es/components/pagination/pagination_button.js +1 -1
- package/es/components/popover/input_popover.js +8 -4
- package/es/components/popover/popover.js +58 -148
- package/es/components/popover/popover.styles.js +15 -0
- package/es/components/popover/popover_arrow/_popover_arrow.js +40 -0
- package/es/components/popover/popover_arrow/_popover_arrow.styles.js +25 -0
- package/es/components/popover/popover_arrow/index.js +8 -0
- package/es/components/popover/popover_footer.js +15 -12
- package/es/components/popover/popover_footer.styles.js +19 -0
- package/es/components/popover/popover_panel/_popover_panel.js +114 -0
- package/es/components/popover/popover_panel/_popover_panel.styles.js +42 -0
- package/es/components/popover/popover_panel/index.js +8 -0
- package/es/components/popover/popover_title.js +15 -12
- package/es/components/popover/popover_title.styles.js +20 -0
- package/es/components/popover/wrapping_popover.js +45 -88
- package/es/components/portal/portal.js +38 -79
- package/es/components/selectable/selectable.js +8 -9
- package/es/components/selectable/selectable_list/selectable_list.js +1 -1
- package/es/components/selectable/selectable_list/selectable_list_item.js +1 -1
- package/es/components/selectable/selectable_search/selectable_search.js +1 -6
- package/es/components/selectable/selectable_templates/selectable_template_sitewide.js +2 -2
- package/es/components/suggest/suggest.js +1 -5
- package/es/components/suggest/suggest_item.js +1 -1
- package/es/components/table/table_header_button.js +1 -1
- package/es/components/text/text.styles.js +5 -4
- package/es/components/text_diff/text_diff.js +5 -0
- package/es/components/text_diff/text_diff.styles.js +15 -0
- package/es/components/timeline/timeline_item.js +1 -2
- package/es/components/timeline/timeline_item_icon.js +1 -1
- package/es/components/toast/global_toast_list.js +1 -1
- package/es/components/toast/toast.js +1 -1
- package/es/components/token/token.js +1 -1
- package/es/components/token/token_map.js +115 -107
- package/es/components/tool_tip/icon_tip.js +1 -1
- package/es/components/tour/tour.js +6 -6
- package/es/components/tour/tour_step.js +6 -6
- package/es/global_styling/functions/logicals.js +22 -0
- package/es/global_styling/mixins/_responsive.js +46 -0
- package/es/global_styling/mixins/index.js +2 -1
- package/es/services/hooks/index.js +1 -0
- package/es/services/hooks/useLatest.js +18 -0
- package/es/test/emotion-prefix.js +1 -1
- package/es/themes/amsterdam/global_styling/functions/shadows.js +1 -1
- package/es/themes/amsterdam/global_styling/mixins/shadow.js +13 -2
- package/eui.d.ts +605 -266
- package/i18ntokens.json +134 -38
- package/lib/components/accessibility/skip_link/skip_link.js +1 -1
- package/lib/components/avatar/avatar.js +1 -2
- package/lib/components/badge/badge.js +1 -1
- package/lib/components/badge/beta_badge/beta_badge.js +1 -1
- package/lib/components/basic_table/basic_table.js +1 -1
- package/lib/components/basic_table/collapsed_item_actions.js +1 -1
- package/lib/components/basic_table/in_memory_table.js +1 -1
- package/lib/components/button/_button_content_deprecated.js +1 -1
- package/lib/components/button/button.js +2 -2
- package/lib/components/button/button_display/_button_display.js +1 -1
- package/lib/components/button/button_display/_button_display_content.js +1 -1
- package/lib/components/button/button_empty/button_empty.js +1 -1
- package/lib/components/button/button_group/button_group.js +1 -1
- package/lib/components/button/button_group/button_group_button.js +1 -1
- package/lib/components/button/button_icon/button_icon.js +1 -1
- package/lib/components/call_out/call_out.js +1 -1
- package/lib/components/card/card.js +1 -1
- package/lib/components/card/card_select.js +1 -1
- package/lib/components/collapsible_nav/collapsible_nav_group/collapsible_nav_group.js +1 -1
- package/lib/components/color_picker/color_picker.js +1 -1
- package/lib/components/combo_box/combo_box_options_list/combo_box_options_list.js +8 -5
- package/lib/components/comment_list/comment.js +53 -25
- package/lib/components/comment_list/comment_event.js +104 -41
- package/lib/components/comment_list/comment_event.styles.js +86 -0
- package/lib/components/comment_list/comment_list.js +46 -12
- package/lib/components/comment_list/comment_timeline.js +30 -40
- package/lib/components/context_menu/context_menu_panel.js +1 -1
- package/lib/components/datagrid/body/data_grid_body.js +14 -14
- package/lib/components/datagrid/body/data_grid_cell.js +24 -24
- package/lib/components/datagrid/body/header/data_grid_header_cell.js +166 -67
- package/lib/components/datagrid/body/header/data_grid_header_row.js +13 -13
- package/lib/components/datagrid/controls/column_sorting_draggable.js +1 -1
- package/lib/components/datagrid/data_grid.js +13 -13
- package/lib/components/datagrid/utils/in_memory.js +12 -12
- package/lib/components/datagrid/utils/row_heights.js +26 -32
- package/lib/components/date_picker/date_picker.js +2 -2
- package/lib/components/date_picker/date_picker_range.js +1 -1
- package/lib/components/empty_prompt/empty_prompt.js +1 -1
- package/lib/components/error_boundary/error_boundary.js +23 -13
- package/lib/components/error_boundary/error_boundary.styles.js +30 -0
- package/lib/components/filter_group/filter_button.js +3 -1
- package/lib/components/focus_trap/focus_trap.js +1 -0
- package/lib/components/form/field_number/field_number.js +1 -1
- package/lib/components/form/field_text/field_text.js +2 -2
- package/lib/components/form/form.styles.js +20 -0
- package/lib/components/form/form_control_layout/form_control_layout.js +2 -2
- package/lib/components/form/form_control_layout/form_control_layout_custom_icon.js +1 -1
- package/lib/components/form/form_control_layout/form_control_layout_icons.js +2 -2
- package/lib/components/header/header_links/header_link.js +1 -1
- package/lib/components/header/header_links/header_links.js +10 -8
- package/lib/components/header/header_logo.js +1 -1
- package/lib/components/icon/assets/keyboard.js +45 -0
- package/lib/components/icon/assets/tokenMetricCounter.js +45 -0
- package/lib/components/icon/assets/{keyboard_shortcut.js → tokenMetricGauge.js} +3 -3
- package/lib/components/icon/icon.js +1 -1
- package/lib/components/icon/icon_map.js +39 -37
- package/lib/components/icon/svgs/keyboard.svg +3 -0
- package/lib/components/icon/svgs/tokens/tokenMetricCounter.svg +3 -0
- package/lib/components/icon/svgs/tokens/tokenMetricGauge.svg +3 -0
- package/lib/components/image/image.js +73 -168
- package/lib/components/image/image.styles.js +40 -0
- package/lib/components/image/image_button.js +81 -0
- package/lib/components/image/image_button.styles.js +48 -0
- package/lib/components/image/image_caption.js +49 -0
- package/lib/components/image/image_caption.styles.js +30 -0
- package/lib/components/image/image_fullscreen_wrapper.js +117 -0
- package/lib/components/image/image_fullscreen_wrapper.styles.js +30 -0
- package/lib/components/image/image_types.js +18 -0
- package/lib/components/image/image_wrapper.js +91 -0
- package/lib/components/image/image_wrapper.styles.js +44 -0
- package/lib/components/key_pad_menu/key_pad_menu_item.js +1 -1
- package/lib/components/list_group/list_group.js +2 -2
- package/lib/components/list_group/list_group_item.js +2 -2
- package/lib/components/list_group/pinnable_list_group/pinnable_list_group.js +4 -4
- package/lib/components/loading/loading_logo.js +1 -1
- package/lib/components/markdown_editor/markdown_editor.js +1 -1
- package/lib/components/markdown_editor/markdown_editor_drop_zone.js +1 -1
- package/lib/components/markdown_editor/markdown_editor_footer.js +1 -1
- package/lib/components/markdown_editor/markdown_editor_toolbar.js +1 -1
- package/lib/components/notification/notification_event.js +2 -2
- package/lib/components/notification/notification_event_meta.js +1 -1
- package/lib/components/page/page_header/page_header.js +1 -1
- package/lib/components/page/page_header/page_header_content.js +1 -1
- package/lib/components/page/page_template.js +1 -1
- package/lib/components/popover/input_popover.js +8 -3
- package/lib/components/popover/popover.js +74 -165
- package/lib/components/popover/popover.styles.js +26 -0
- package/lib/components/popover/popover_arrow/_popover_arrow.js +51 -0
- package/lib/components/popover/popover_arrow/_popover_arrow.styles.js +38 -0
- package/lib/components/popover/popover_arrow/index.js +13 -0
- package/lib/components/popover/popover_footer.js +25 -15
- package/lib/components/popover/popover_footer.styles.js +30 -0
- package/lib/components/popover/popover_panel/_popover_panel.js +132 -0
- package/lib/components/popover/popover_panel/_popover_panel.styles.js +54 -0
- package/lib/components/popover/popover_panel/index.js +13 -0
- package/lib/components/popover/popover_title.js +25 -15
- package/lib/components/popover/popover_title.styles.js +32 -0
- package/lib/components/popover/wrapping_popover.js +44 -85
- package/lib/components/portal/portal.js +39 -82
- package/lib/components/selectable/selectable.js +8 -9
- package/lib/components/selectable/selectable_list/selectable_list.js +1 -1
- package/lib/components/selectable/selectable_list/selectable_list_item.js +1 -1
- package/lib/components/selectable/selectable_search/selectable_search.js +0 -5
- package/lib/components/selectable/selectable_templates/selectable_template_sitewide.js +2 -2
- package/lib/components/suggest/suggest.js +1 -5
- package/lib/components/suggest/suggest_item.js +1 -1
- package/lib/components/table/table_header_button.js +1 -1
- package/lib/components/text/text.styles.js +4 -3
- package/lib/components/text_diff/text_diff.js +7 -0
- package/lib/components/text_diff/text_diff.styles.js +25 -0
- package/lib/components/timeline/timeline_item.js +1 -2
- package/lib/components/timeline/timeline_item_icon.js +1 -1
- package/lib/components/toast/global_toast_list.js +1 -1
- package/lib/components/toast/toast.js +1 -1
- package/lib/components/token/token.js +1 -1
- package/lib/components/token/token_map.js +115 -107
- package/lib/components/tool_tip/icon_tip.js +1 -1
- package/lib/global_styling/functions/logicals.js +30 -2
- package/lib/global_styling/mixins/_responsive.js +60 -0
- package/lib/global_styling/mixins/index.js +13 -0
- package/lib/services/hooks/index.js +13 -0
- package/lib/services/hooks/useLatest.js +26 -0
- package/lib/test/emotion-prefix.js +1 -1
- package/lib/themes/amsterdam/global_styling/functions/shadows.js +1 -1
- package/lib/themes/amsterdam/global_styling/mixins/shadow.js +13 -2
- package/optimize/es/components/avatar/avatar.js +0 -1
- package/optimize/es/components/color_picker/color_picker.js +1 -1
- package/optimize/es/components/combo_box/combo_box_options_list/combo_box_options_list.js +7 -4
- package/optimize/es/components/comment_list/comment.js +24 -18
- package/optimize/es/components/comment_list/comment_event.js +83 -28
- package/optimize/es/components/comment_list/comment_event.styles.js +78 -0
- package/optimize/es/components/comment_list/comment_list.js +7 -3
- package/optimize/es/components/comment_list/comment_timeline.js +19 -32
- package/optimize/es/components/context_menu/context_menu_panel.js +1 -1
- package/optimize/es/components/datagrid/body/data_grid_body.js +1 -1
- package/optimize/es/components/datagrid/body/header/data_grid_header_cell.js +150 -54
- package/optimize/es/components/datagrid/utils/row_heights.js +27 -33
- package/optimize/es/components/error_boundary/error_boundary.js +17 -10
- package/optimize/es/components/error_boundary/error_boundary.styles.js +18 -0
- package/optimize/es/components/filter_group/filter_button.js +3 -1
- package/optimize/es/components/focus_trap/focus_trap.js +1 -0
- package/optimize/es/components/form/form.styles.js +11 -0
- package/optimize/es/components/icon/assets/keyboard.js +34 -0
- package/optimize/es/components/icon/assets/tokenMetricCounter.js +34 -0
- package/optimize/es/components/icon/assets/{keyboard_shortcut.js → tokenMetricGauge.js} +3 -3
- package/optimize/es/components/icon/icon_map.js +39 -37
- package/optimize/es/components/image/image.js +50 -154
- package/optimize/es/components/image/image.styles.js +28 -0
- package/optimize/es/components/image/image_button.js +56 -0
- package/optimize/es/components/image/image_button.styles.js +41 -0
- package/optimize/es/components/image/image_caption.js +24 -0
- package/optimize/es/components/image/image_caption.styles.js +18 -0
- package/optimize/es/components/image/image_fullscreen_wrapper.js +84 -0
- package/optimize/es/components/image/image_fullscreen_wrapper.styles.js +26 -0
- package/optimize/es/components/image/image_types.js +10 -0
- package/optimize/es/components/image/image_wrapper.js +62 -0
- package/optimize/es/components/image/image_wrapper.styles.js +41 -0
- package/optimize/es/components/popover/input_popover.js +8 -4
- package/optimize/es/components/popover/popover.js +41 -131
- package/optimize/es/components/popover/popover.styles.js +15 -0
- package/optimize/es/components/popover/popover_arrow/_popover_arrow.js +29 -0
- package/optimize/es/components/popover/popover_arrow/_popover_arrow.styles.js +25 -0
- package/optimize/es/components/popover/popover_arrow/index.js +8 -0
- package/optimize/es/components/popover/popover_footer.js +15 -12
- package/optimize/es/components/popover/popover_footer.styles.js +19 -0
- package/optimize/es/components/popover/popover_panel/_popover_panel.js +55 -0
- package/optimize/es/components/popover/popover_panel/_popover_panel.styles.js +42 -0
- package/optimize/es/components/popover/popover_panel/index.js +8 -0
- package/optimize/es/components/popover/popover_title.js +15 -12
- package/optimize/es/components/popover/popover_title.styles.js +20 -0
- package/optimize/es/components/popover/wrapping_popover.js +38 -79
- package/optimize/es/components/portal/portal.js +34 -61
- package/optimize/es/components/selectable/selectable.js +8 -9
- package/optimize/es/components/selectable/selectable_search/selectable_search.js +1 -6
- package/optimize/es/components/selectable/selectable_templates/selectable_template_sitewide.js +1 -1
- package/optimize/es/components/suggest/suggest.js +0 -4
- package/optimize/es/components/text/text.styles.js +5 -4
- package/optimize/es/components/text_diff/text_diff.js +5 -0
- package/optimize/es/components/text_diff/text_diff.styles.js +15 -0
- package/optimize/es/components/timeline/timeline_item.js +1 -2
- package/optimize/es/components/token/token_map.js +115 -107
- package/optimize/es/global_styling/functions/logicals.js +22 -0
- package/optimize/es/global_styling/mixins/_responsive.js +46 -0
- package/optimize/es/global_styling/mixins/index.js +2 -1
- package/optimize/es/services/hooks/index.js +1 -0
- package/optimize/es/services/hooks/useLatest.js +18 -0
- package/optimize/es/test/emotion-prefix.js +1 -1
- package/optimize/es/themes/amsterdam/global_styling/functions/shadows.js +1 -1
- package/optimize/es/themes/amsterdam/global_styling/mixins/shadow.js +13 -2
- package/optimize/lib/components/avatar/avatar.js +0 -1
- package/optimize/lib/components/color_picker/color_picker.js +1 -1
- package/optimize/lib/components/combo_box/combo_box_options_list/combo_box_options_list.js +8 -5
- package/optimize/lib/components/comment_list/comment.js +23 -18
- package/optimize/lib/components/comment_list/comment_event.js +85 -31
- package/optimize/lib/components/comment_list/comment_event.styles.js +86 -0
- package/optimize/lib/components/comment_list/comment_list.js +8 -3
- package/optimize/lib/components/comment_list/comment_timeline.js +21 -38
- package/optimize/lib/components/context_menu/context_menu_panel.js +1 -1
- package/optimize/lib/components/datagrid/body/data_grid_body.js +1 -1
- package/optimize/lib/components/datagrid/body/header/data_grid_header_cell.js +153 -54
- package/optimize/lib/components/datagrid/utils/row_heights.js +25 -30
- package/optimize/lib/components/error_boundary/error_boundary.js +20 -10
- package/optimize/lib/components/error_boundary/error_boundary.styles.js +30 -0
- package/optimize/lib/components/filter_group/filter_button.js +3 -1
- package/optimize/lib/components/focus_trap/focus_trap.js +1 -0
- package/optimize/lib/components/form/form.styles.js +20 -0
- package/optimize/lib/components/icon/assets/keyboard.js +44 -0
- package/optimize/lib/components/icon/assets/tokenMetricCounter.js +44 -0
- package/{test-env/components/icon/assets/keyboard_shortcut.js → optimize/lib/components/icon/assets/tokenMetricGauge.js} +3 -3
- package/optimize/lib/components/icon/icon_map.js +39 -37
- package/optimize/lib/components/icon/svgs/keyboard.svg +3 -0
- package/optimize/lib/components/icon/svgs/tokens/tokenMetricCounter.svg +3 -0
- package/optimize/lib/components/icon/svgs/tokens/tokenMetricGauge.svg +3 -0
- package/optimize/lib/components/image/image.js +52 -156
- package/optimize/lib/components/image/image.styles.js +40 -0
- package/optimize/lib/components/image/image_button.js +68 -0
- package/optimize/lib/components/image/image_button.styles.js +48 -0
- package/optimize/lib/components/image/image_caption.js +42 -0
- package/optimize/lib/components/image/image_caption.styles.js +30 -0
- package/optimize/lib/components/image/image_fullscreen_wrapper.js +108 -0
- package/optimize/lib/components/image/image_fullscreen_wrapper.styles.js +32 -0
- package/optimize/lib/components/image/image_types.js +18 -0
- package/optimize/lib/components/image/image_wrapper.js +82 -0
- package/optimize/lib/components/image/image_wrapper.styles.js +44 -0
- package/optimize/lib/components/popover/input_popover.js +7 -3
- package/optimize/lib/components/popover/popover.js +60 -150
- package/optimize/lib/components/popover/popover.styles.js +26 -0
- package/optimize/lib/components/popover/popover_arrow/_popover_arrow.js +39 -0
- package/optimize/lib/components/popover/popover_arrow/_popover_arrow.styles.js +38 -0
- package/optimize/lib/components/popover/popover_arrow/index.js +13 -0
- package/optimize/lib/components/popover/popover_footer.js +26 -14
- package/optimize/lib/components/popover/popover_footer.styles.js +30 -0
- package/optimize/lib/components/popover/popover_panel/_popover_panel.js +74 -0
- package/optimize/lib/components/popover/popover_panel/_popover_panel.styles.js +54 -0
- package/optimize/lib/components/popover/popover_panel/index.js +13 -0
- package/optimize/lib/components/popover/popover_title.js +26 -14
- package/optimize/lib/components/popover/popover_title.styles.js +32 -0
- package/optimize/lib/components/popover/wrapping_popover.js +38 -78
- package/optimize/lib/components/portal/portal.js +45 -61
- package/optimize/lib/components/selectable/selectable.js +8 -8
- package/optimize/lib/components/selectable/selectable_search/selectable_search.js +0 -5
- package/optimize/lib/components/selectable/selectable_templates/selectable_template_sitewide.js +1 -1
- package/optimize/lib/components/suggest/suggest.js +0 -4
- package/optimize/lib/components/text/text.styles.js +4 -3
- package/optimize/lib/components/text_diff/text_diff.js +7 -0
- package/optimize/lib/components/text_diff/text_diff.styles.js +25 -0
- package/optimize/lib/components/timeline/timeline_item.js +1 -2
- package/optimize/lib/components/token/token_map.js +115 -107
- package/optimize/lib/global_styling/functions/logicals.js +30 -2
- package/optimize/lib/global_styling/mixins/_responsive.js +60 -0
- package/optimize/lib/global_styling/mixins/index.js +13 -0
- package/optimize/lib/services/hooks/index.js +13 -0
- package/optimize/lib/services/hooks/useLatest.js +26 -0
- package/optimize/lib/test/emotion-prefix.js +1 -1
- package/optimize/lib/themes/amsterdam/global_styling/functions/shadows.js +1 -1
- package/optimize/lib/themes/amsterdam/global_styling/mixins/shadow.js +13 -2
- package/package.json +2 -2
- package/src/components/combo_box/combo_box_options_list/_combo_box_options_list.scss +0 -4
- package/src/components/context_menu/_context_menu_panel.scss +2 -2
- package/src/components/index.scss +0 -5
- package/src/components/markdown_editor/_markdown_editor.scss +3 -2
- package/src/components/tour/_tour.scss +13 -9
- package/src/global_styling/mixins/_index.scss +0 -1
- package/src/themes/amsterdam/global_styling/mixins/_index.scss +0 -2
- package/src/themes/amsterdam/overrides/_index.scss +0 -3
- package/test-env/components/accessibility/skip_link/skip_link.js +1 -1
- package/test-env/components/avatar/avatar.js +1 -2
- package/test-env/components/badge/badge.js +1 -1
- package/test-env/components/badge/beta_badge/beta_badge.js +1 -1
- package/test-env/components/basic_table/basic_table.js +1 -1
- package/test-env/components/basic_table/collapsed_item_actions.js +1 -1
- package/test-env/components/basic_table/in_memory_table.js +1 -1
- package/test-env/components/button/_button_content_deprecated.js +1 -1
- package/test-env/components/button/button.js +2 -2
- package/test-env/components/button/button_display/_button_display.js +1 -1
- package/test-env/components/button/button_display/_button_display_content.js +1 -1
- package/test-env/components/button/button_empty/button_empty.js +1 -1
- package/test-env/components/button/button_group/button_group.js +1 -1
- package/test-env/components/button/button_group/button_group_button.js +1 -1
- package/test-env/components/button/button_icon/button_icon.js +1 -1
- package/test-env/components/call_out/call_out.js +1 -1
- package/test-env/components/card/card.js +1 -1
- package/test-env/components/card/card_select.js +1 -1
- package/test-env/components/collapsible_nav/collapsible_nav_group/collapsible_nav_group.js +1 -1
- package/test-env/components/color_picker/color_picker.js +1 -1
- package/test-env/components/combo_box/combo_box_options_list/combo_box_options_list.js +8 -5
- package/test-env/components/comment_list/comment.js +53 -24
- package/test-env/components/comment_list/comment_event.js +105 -35
- package/test-env/components/comment_list/comment_event.styles.js +86 -0
- package/test-env/components/comment_list/comment_list.js +46 -12
- package/test-env/components/comment_list/comment_timeline.js +30 -40
- package/test-env/components/context_menu/context_menu_panel.js +1 -1
- package/test-env/components/datagrid/body/data_grid_body.js +14 -14
- package/test-env/components/datagrid/body/data_grid_cell.js +24 -24
- package/test-env/components/datagrid/body/header/data_grid_header_cell.js +166 -67
- package/test-env/components/datagrid/body/header/data_grid_header_row.js +13 -13
- package/test-env/components/datagrid/controls/column_sorting_draggable.js +1 -1
- package/test-env/components/datagrid/data_grid.js +13 -13
- package/test-env/components/datagrid/utils/in_memory.js +12 -12
- package/test-env/components/datagrid/utils/row_heights.js +25 -30
- package/test-env/components/date_picker/date_picker.js +2 -2
- package/test-env/components/date_picker/date_picker_range.js +1 -1
- package/test-env/components/empty_prompt/empty_prompt.js +1 -1
- package/test-env/components/error_boundary/error_boundary.js +23 -13
- package/test-env/components/error_boundary/error_boundary.styles.js +30 -0
- package/test-env/components/filter_group/filter_button.js +3 -1
- package/test-env/components/form/field_number/field_number.js +1 -1
- package/test-env/components/form/field_text/field_text.js +2 -2
- package/test-env/components/form/form.styles.js +20 -0
- package/test-env/components/form/form_control_layout/form_control_layout.js +2 -2
- package/test-env/components/form/form_control_layout/form_control_layout_custom_icon.js +1 -1
- package/test-env/components/form/form_control_layout/form_control_layout_icons.js +2 -2
- package/test-env/components/header/header_links/header_link.js +1 -1
- package/test-env/components/header/header_links/header_links.js +10 -8
- package/test-env/components/header/header_logo.js +1 -1
- package/test-env/components/icon/assets/keyboard.js +44 -0
- package/test-env/components/icon/assets/tokenMetricCounter.js +44 -0
- package/{optimize/lib/components/icon/assets/keyboard_shortcut.js → test-env/components/icon/assets/tokenMetricGauge.js} +3 -3
- package/test-env/components/icon/icon_map.js +39 -37
- package/test-env/components/image/image.js +73 -168
- package/test-env/components/image/image.styles.js +40 -0
- package/test-env/components/image/image_button.js +77 -0
- package/test-env/components/image/image_button.styles.js +48 -0
- package/test-env/components/image/image_caption.js +49 -0
- package/test-env/components/image/image_caption.styles.js +30 -0
- package/test-env/components/image/image_fullscreen_wrapper.js +114 -0
- package/test-env/components/image/image_fullscreen_wrapper.styles.js +32 -0
- package/test-env/components/image/image_types.js +18 -0
- package/test-env/components/image/image_wrapper.js +88 -0
- package/test-env/components/image/image_wrapper.styles.js +44 -0
- package/test-env/components/key_pad_menu/key_pad_menu_item.js +1 -1
- package/test-env/components/list_group/list_group.js +2 -2
- package/test-env/components/list_group/list_group_item.js +2 -2
- package/test-env/components/list_group/pinnable_list_group/pinnable_list_group.js +4 -4
- package/test-env/components/loading/loading_logo.js +1 -1
- package/test-env/components/markdown_editor/markdown_editor.js +1 -1
- package/test-env/components/markdown_editor/markdown_editor_drop_zone.js +1 -1
- package/test-env/components/markdown_editor/markdown_editor_footer.js +1 -1
- package/test-env/components/markdown_editor/markdown_editor_toolbar.js +1 -1
- package/test-env/components/notification/notification_event.js +2 -2
- package/test-env/components/notification/notification_event_meta.js +1 -1
- package/test-env/components/page/page_header/page_header.js +1 -1
- package/test-env/components/page/page_header/page_header_content.js +1 -1
- package/test-env/components/page/page_template.js +1 -1
- package/test-env/components/popover/input_popover.js +7 -3
- package/test-env/components/popover/popover.js +75 -166
- package/test-env/components/popover/popover.styles.js +26 -0
- package/test-env/components/popover/popover_arrow/_popover_arrow.js +47 -0
- package/test-env/components/popover/popover_arrow/_popover_arrow.styles.js +38 -0
- package/test-env/components/popover/popover_arrow/index.js +13 -0
- package/test-env/components/popover/popover_footer.js +26 -14
- package/test-env/components/popover/popover_footer.styles.js +30 -0
- package/test-env/components/popover/popover_panel/_popover_panel.js +119 -0
- package/test-env/components/popover/popover_panel/_popover_panel.styles.js +54 -0
- package/test-env/components/popover/popover_panel/index.js +13 -0
- package/test-env/components/popover/popover_title.js +26 -14
- package/test-env/components/popover/popover_title.styles.js +32 -0
- package/test-env/components/popover/wrapping_popover.js +38 -78
- package/test-env/components/portal/portal.js +46 -75
- package/test-env/components/selectable/selectable.js +8 -8
- package/test-env/components/selectable/selectable_list/selectable_list.js +1 -1
- package/test-env/components/selectable/selectable_list/selectable_list_item.js +1 -1
- package/test-env/components/selectable/selectable_search/selectable_search.js +0 -5
- package/test-env/components/selectable/selectable_templates/selectable_template_sitewide.js +2 -2
- package/test-env/components/suggest/suggest.js +1 -5
- package/test-env/components/suggest/suggest_item.js +1 -1
- package/test-env/components/table/table_header_button.js +1 -1
- package/test-env/components/text/text.styles.js +4 -3
- package/test-env/components/text_diff/text_diff.js +7 -0
- package/test-env/components/text_diff/text_diff.styles.js +25 -0
- package/test-env/components/timeline/timeline_item.js +1 -2
- package/test-env/components/timeline/timeline_item_icon.js +1 -1
- package/test-env/components/toast/global_toast_list.js +1 -1
- package/test-env/components/toast/toast.js +1 -1
- package/test-env/components/token/token.js +1 -1
- package/test-env/components/token/token_map.js +115 -107
- package/test-env/components/tool_tip/icon_tip.js +1 -1
- package/test-env/global_styling/functions/logicals.js +30 -2
- package/test-env/global_styling/mixins/_responsive.js +60 -0
- package/test-env/global_styling/mixins/index.js +13 -0
- package/test-env/services/hooks/index.js +13 -0
- package/test-env/services/hooks/useLatest.js +26 -0
- package/test-env/test/emotion-prefix.js +1 -1
- package/test-env/themes/amsterdam/global_styling/functions/shadows.js +1 -1
- package/test-env/themes/amsterdam/global_styling/mixins/shadow.js +13 -2
- package/lib/components/icon/svgs/keyboard_shortcut.svg +0 -3
- package/optimize/lib/components/icon/svgs/keyboard_shortcut.svg +0 -3
- package/src/components/comment_list/_comment.scss +0 -38
- package/src/components/comment_list/_comment_event.scss +0 -77
- package/src/components/comment_list/_comment_timeline.scss +0 -27
- package/src/components/comment_list/_index.scss +0 -3
- package/src/components/error_boundary/_error_boundary.scss +0 -13
- package/src/components/error_boundary/_index.scss +0 -1
- package/src/components/image/_image.scss +0 -212
- package/src/components/image/_index.scss +0 -1
- package/src/components/popover/_index.scss +0 -5
- package/src/components/popover/_input_popover.scss +0 -7
- package/src/components/popover/_popover.scss +0 -182
- package/src/components/popover/_popover_footer.scss +0 -27
- package/src/components/popover/_popover_title.scss +0 -27
- package/src/components/popover/_variables.scss +0 -2
- package/src/components/text_diff/_index.scss +0 -1
- package/src/components/text_diff/_text_diff.scss +0 -9
- package/src/global_styling/mixins/_popover.scss +0 -19
- package/src/themes/amsterdam/global_styling/mixins/_popover.scss +0 -5
- package/src/themes/amsterdam/overrides/_comment.scss +0 -3
- package/src/themes/amsterdam/overrides/_image.scss +0 -10
- package/src/themes/amsterdam/overrides/_popover.scss +0 -104
|
@@ -2,7 +2,7 @@ import _extends from "@babel/runtime/helpers/extends";
|
|
|
2
2
|
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
3
3
|
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
4
4
|
import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
|
|
5
|
-
var _excluded = ["className", "url", "src", "size", "
|
|
5
|
+
var _excluded = ["className", "alt", "url", "src", "size", "hasShadow", "style", "wrapperProps", "fullScreenIconColor", "allowFullScreen", "caption", "float", "margin"];
|
|
6
6
|
|
|
7
7
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
|
|
8
8
|
|
|
@@ -17,176 +17,72 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
|
|
|
17
17
|
*/
|
|
18
18
|
import React, { useState } from 'react';
|
|
19
19
|
import classNames from 'classnames';
|
|
20
|
-
import {
|
|
21
|
-
import {
|
|
22
|
-
import {
|
|
23
|
-
import {
|
|
24
|
-
import {
|
|
25
|
-
import { useInnerText } from '../inner_text';
|
|
20
|
+
import { useEuiTheme } from '../../services';
|
|
21
|
+
import { EuiImageWrapper } from './image_wrapper';
|
|
22
|
+
import { euiImageStyles } from './image.styles';
|
|
23
|
+
import { EuiImageFullScreenWrapper } from './image_fullscreen_wrapper';
|
|
24
|
+
import { SIZES } from './image_types';
|
|
26
25
|
import { jsx as ___EmotionJSX } from "@emotion/react";
|
|
27
|
-
var sizeToClassNameMap = {
|
|
28
|
-
s: 'euiImage--small',
|
|
29
|
-
m: 'euiImage--medium',
|
|
30
|
-
l: 'euiImage--large',
|
|
31
|
-
xl: 'euiImage--xlarge',
|
|
32
|
-
fullWidth: 'euiImage--fullWidth',
|
|
33
|
-
original: 'euiImage--original'
|
|
34
|
-
};
|
|
35
|
-
var marginToClassNameMap = {
|
|
36
|
-
s: 'euiImage--marginSmall',
|
|
37
|
-
m: 'euiImage--marginMedium',
|
|
38
|
-
l: 'euiImage--marginLarge',
|
|
39
|
-
xl: 'euiImage--marginXlarge'
|
|
40
|
-
};
|
|
41
|
-
var floatToClassNameMap = {
|
|
42
|
-
left: 'euiImage--floatLeft',
|
|
43
|
-
right: 'euiImage--floatRight'
|
|
44
|
-
};
|
|
45
|
-
export var SIZES = Object.keys(sizeToClassNameMap);
|
|
46
|
-
var fullScreenIconColorMap = {
|
|
47
|
-
light: 'ghost',
|
|
48
|
-
dark: 'default'
|
|
49
|
-
};
|
|
50
26
|
export var EuiImage = function EuiImage(_ref) {
|
|
51
27
|
var className = _ref.className,
|
|
28
|
+
alt = _ref.alt,
|
|
52
29
|
url = _ref.url,
|
|
53
30
|
src = _ref.src,
|
|
54
31
|
_ref$size = _ref.size,
|
|
55
32
|
size = _ref$size === void 0 ? 'original' : _ref$size,
|
|
56
|
-
caption = _ref.caption,
|
|
57
33
|
hasShadow = _ref.hasShadow,
|
|
58
|
-
allowFullScreen = _ref.allowFullScreen,
|
|
59
|
-
_ref$fullScreenIconCo = _ref.fullScreenIconColor,
|
|
60
|
-
fullScreenIconColor = _ref$fullScreenIconCo === void 0 ? 'light' : _ref$fullScreenIconCo,
|
|
61
|
-
alt = _ref.alt,
|
|
62
34
|
style = _ref.style,
|
|
35
|
+
wrapperProps = _ref.wrapperProps,
|
|
36
|
+
fullScreenIconColor = _ref.fullScreenIconColor,
|
|
37
|
+
allowFullScreen = _ref.allowFullScreen,
|
|
38
|
+
caption = _ref.caption,
|
|
63
39
|
float = _ref.float,
|
|
64
40
|
margin = _ref.margin,
|
|
65
41
|
rest = _objectWithoutProperties(_ref, _excluded);
|
|
66
42
|
|
|
67
43
|
var _useState = useState(false),
|
|
68
44
|
_useState2 = _slicedToArray(_useState, 2),
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
var
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
var
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
var
|
|
85
|
-
|
|
45
|
+
isFullScreen = _useState2[0],
|
|
46
|
+
setIsFullScreen = _useState2[1];
|
|
47
|
+
|
|
48
|
+
var isNamedSize = typeof size === 'string' && SIZES.includes(size);
|
|
49
|
+
var classes = classNames('euiImage', className);
|
|
50
|
+
var euiTheme = useEuiTheme();
|
|
51
|
+
var styles = euiImageStyles(euiTheme);
|
|
52
|
+
var cssStyles = [styles.euiImage, isNamedSize && styles[size], !isNamedSize && styles.customSize, hasShadow && styles.hasShadow];
|
|
53
|
+
var cssIsFullScreenStyles = [styles.euiImage, styles.isFullScreen];
|
|
54
|
+
var isCustomSize = !isNamedSize && size !== 'original';
|
|
55
|
+
var customSize = typeof size === 'string' ? size : "".concat(size, "px");
|
|
56
|
+
var imageStyleWithCustomSize = isCustomSize ? _objectSpread(_objectSpread({}, style), {}, {
|
|
57
|
+
maxWidth: customSize,
|
|
58
|
+
maxHeight: customSize
|
|
59
|
+
}) : style;
|
|
60
|
+
var isFullWidth = size === 'fullWidth';
|
|
61
|
+
var commonWrapperProps = {
|
|
62
|
+
hasShadow: hasShadow,
|
|
63
|
+
wrapperProps: wrapperProps,
|
|
64
|
+
setIsFullScreen: setIsFullScreen,
|
|
65
|
+
fullScreenIconColor: fullScreenIconColor,
|
|
66
|
+
isFullWidth: isFullWidth,
|
|
67
|
+
allowFullScreen: allowFullScreen,
|
|
68
|
+
alt: alt,
|
|
69
|
+
caption: caption,
|
|
70
|
+
float: float,
|
|
71
|
+
margin: margin
|
|
86
72
|
};
|
|
87
73
|
|
|
88
|
-
var
|
|
74
|
+
var commonImgProps = _objectSpread({
|
|
75
|
+
className: classes,
|
|
76
|
+
src: src || url
|
|
77
|
+
}, rest);
|
|
89
78
|
|
|
90
|
-
|
|
91
|
-
'euiImage--hasShadow': hasShadow,
|
|
92
|
-
'euiImage--allowFullScreen': allowFullScreen
|
|
93
|
-
}, margin ? marginToClassNameMap[margin] : null, float ? floatToClassNameMap[float] : null, className);
|
|
94
|
-
|
|
95
|
-
if (typeof size === 'string' && SIZES.includes(size)) {
|
|
96
|
-
classes = "".concat(classes, " ").concat(sizeToClassNameMap[size]);
|
|
97
|
-
} else {
|
|
98
|
-
classes = "".concat(classes);
|
|
99
|
-
customStyle.maxWidth = size;
|
|
100
|
-
customStyle.maxHeight = size; // Set width back to auto to ensure aspect ratio is kept
|
|
101
|
-
|
|
102
|
-
customStyle.width = 'auto';
|
|
103
|
-
}
|
|
104
|
-
|
|
105
|
-
var allowFullScreenButtonClasses = 'euiImage__button'; // when the button is not custom we need it to go full width
|
|
106
|
-
// to match the parent '.euiImage' width except when the size is original
|
|
107
|
-
|
|
108
|
-
if (typeof size === 'string' && size !== 'original' && SIZES.includes(size)) {
|
|
109
|
-
allowFullScreenButtonClasses = "".concat(allowFullScreenButtonClasses, " euiImage__button--fullWidth");
|
|
110
|
-
} else {
|
|
111
|
-
allowFullScreenButtonClasses = "".concat(allowFullScreenButtonClasses);
|
|
112
|
-
}
|
|
113
|
-
|
|
114
|
-
var _useInnerText = useInnerText(),
|
|
115
|
-
_useInnerText2 = _slicedToArray(_useInnerText, 2),
|
|
116
|
-
optionalCaptionRef = _useInnerText2[0],
|
|
117
|
-
optionalCaptionText = _useInnerText2[1];
|
|
118
|
-
|
|
119
|
-
var optionalCaption;
|
|
120
|
-
|
|
121
|
-
if (caption) {
|
|
122
|
-
optionalCaption = ___EmotionJSX("figcaption", {
|
|
123
|
-
ref: optionalCaptionRef,
|
|
124
|
-
className: "euiImage__caption"
|
|
125
|
-
}, caption);
|
|
126
|
-
}
|
|
127
|
-
|
|
128
|
-
var allowFullScreenIcon = ___EmotionJSX(EuiIcon, {
|
|
129
|
-
type: "fullScreen",
|
|
130
|
-
color: fullScreenIconColorMap[fullScreenIconColor],
|
|
131
|
-
className: "euiImage__icon"
|
|
132
|
-
});
|
|
133
|
-
|
|
134
|
-
var fullScreenDisplay = ___EmotionJSX(EuiOverlayMask, {
|
|
135
|
-
"data-test-subj": "fullScreenOverlayMask",
|
|
136
|
-
onClick: closeFullScreen
|
|
137
|
-
}, ___EmotionJSX(EuiFocusTrap, {
|
|
138
|
-
clickOutsideDisables: true
|
|
139
|
-
}, ___EmotionJSX(React.Fragment, null, ___EmotionJSX("figure", {
|
|
140
|
-
className: "euiImage euiImage-isFullScreen",
|
|
141
|
-
"aria-label": optionalCaptionText
|
|
142
|
-
}, ___EmotionJSX("button", {
|
|
143
|
-
type: "button",
|
|
144
|
-
"aria-label": useEuiI18n('euiImage.closeImage', 'Close fullscreen {alt} image', {
|
|
145
|
-
alt: alt
|
|
146
|
-
}),
|
|
147
|
-
className: "euiImage__button",
|
|
148
|
-
"data-test-subj": "deactivateFullScreenButton",
|
|
149
|
-
onClick: closeFullScreen,
|
|
150
|
-
onKeyDown: onKeyDown
|
|
151
|
-
}, ___EmotionJSX("img", _extends({
|
|
152
|
-
src: src || url,
|
|
79
|
+
return ___EmotionJSX(React.Fragment, null, ___EmotionJSX(EuiImageWrapper, commonWrapperProps, ___EmotionJSX("img", _extends({
|
|
153
80
|
alt: alt,
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
var fullscreenLabel = useEuiI18n('euiImage.openImage', 'Open fullscreen {alt} image', {
|
|
162
|
-
alt: alt
|
|
163
|
-
});
|
|
164
|
-
|
|
165
|
-
if (allowFullScreen) {
|
|
166
|
-
return ___EmotionJSX("figure", {
|
|
167
|
-
className: classes,
|
|
168
|
-
"aria-label": optionalCaptionText
|
|
169
|
-
}, ___EmotionJSX("button", {
|
|
170
|
-
type: "button",
|
|
171
|
-
"aria-label": fullscreenLabel,
|
|
172
|
-
className: allowFullScreenButtonClasses,
|
|
173
|
-
"data-test-subj": "activateFullScreenButton",
|
|
174
|
-
onClick: openFullScreen
|
|
175
|
-
}, ___EmotionJSX("img", _extends({
|
|
176
|
-
style: customStyle,
|
|
177
|
-
src: src || url,
|
|
178
|
-
alt: alt,
|
|
179
|
-
className: "euiImage__img"
|
|
180
|
-
}, rest)), allowFullScreenIcon), isFullScreenActive && fullScreenDisplay, optionalCaption);
|
|
181
|
-
} else {
|
|
182
|
-
return ___EmotionJSX("figure", {
|
|
183
|
-
className: classes,
|
|
184
|
-
"aria-label": optionalCaptionText
|
|
185
|
-
}, ___EmotionJSX("img", _extends({
|
|
186
|
-
style: customStyle,
|
|
187
|
-
src: src || url,
|
|
188
|
-
className: "euiImage__img",
|
|
189
|
-
alt: alt
|
|
190
|
-
}, rest)), optionalCaption);
|
|
191
|
-
}
|
|
81
|
+
css: cssStyles,
|
|
82
|
+
style: imageStyleWithCustomSize
|
|
83
|
+
}, commonImgProps))), allowFullScreen && isFullScreen && ___EmotionJSX(EuiImageFullScreenWrapper, commonWrapperProps, ___EmotionJSX("img", _extends({
|
|
84
|
+
alt: alt,
|
|
85
|
+
css: cssIsFullScreenStyles,
|
|
86
|
+
style: style
|
|
87
|
+
}, commonImgProps))));
|
|
192
88
|
};
|
|
@@ -0,0 +1,28 @@
|
|
|
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
|
+
import { css } from '@emotion/react';
|
|
9
|
+
import { logicalCSS } from '../../global_styling';
|
|
10
|
+
import { euiShadow } from '../../themes/amsterdam/global_styling/mixins';
|
|
11
|
+
export var euiImageStyles = function euiImageStyles(euiThemeContext) {
|
|
12
|
+
return {
|
|
13
|
+
euiImage: /*#__PURE__*/css("vertical-align:middle;", logicalCSS('max-width', '100%'), ";&,[class*='euiText'] &{", logicalCSS('margin-bottom', 0), ";};label:euiImage;"),
|
|
14
|
+
// Variations
|
|
15
|
+
isFullScreen: /*#__PURE__*/css("position:relative;", logicalCSS('max-height', '80vh'), ";", logicalCSS('max-width', '80vw'), ";;label:isFullScreen;"),
|
|
16
|
+
hasShadow: /*#__PURE__*/css(euiShadow(euiThemeContext, 's'), ";;label:hasShadow;"),
|
|
17
|
+
// Sizes
|
|
18
|
+
// These sizes are mostly suggestions. Don't look too hard for meaning in their values.
|
|
19
|
+
// Size is applied to the image, rather than the wrapper figure to work better with floats
|
|
20
|
+
s: /*#__PURE__*/css(logicalCSS('width', '100px'), ";;label:s;"),
|
|
21
|
+
m: /*#__PURE__*/css(logicalCSS('width', '200px'), ";;label:m;"),
|
|
22
|
+
l: /*#__PURE__*/css(logicalCSS('width', '360px'), ";;label:l;"),
|
|
23
|
+
xl: /*#__PURE__*/css(logicalCSS('width', '600px'), ";;label:xl;"),
|
|
24
|
+
original: /*#__PURE__*/css(logicalCSS('width', 'auto'), ";;label:original;"),
|
|
25
|
+
fullWidth: /*#__PURE__*/css(logicalCSS('width', '100%'), ";;label:fullWidth;"),
|
|
26
|
+
customSize: /*#__PURE__*/css(logicalCSS('width', 'auto'), ";;label:customSize;")
|
|
27
|
+
};
|
|
28
|
+
};
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import _extends from "@babel/runtime/helpers/extends";
|
|
2
|
+
import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
|
|
3
|
+
var _excluded = ["hasAlt", "hasShadow", "children", "onClick", "onKeyDown", "isFullScreen", "isFullWidth", "fullScreenIconColor"];
|
|
4
|
+
|
|
5
|
+
/*
|
|
6
|
+
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
|
|
7
|
+
* or more contributor license agreements. Licensed under the Elastic License
|
|
8
|
+
* 2.0 and the Server Side Public License, v 1; you may not use this file except
|
|
9
|
+
* in compliance with, at your election, the Elastic License 2.0 or the Server
|
|
10
|
+
* Side Public License, v 1.
|
|
11
|
+
*/
|
|
12
|
+
import React from 'react';
|
|
13
|
+
import { useEuiTheme } from '../../services';
|
|
14
|
+
import { useEuiI18n } from '../i18n';
|
|
15
|
+
import { EuiIcon } from '../icon';
|
|
16
|
+
import { EuiScreenReaderOnly } from '../accessibility';
|
|
17
|
+
import { euiImageButtonStyles, euiImageButtonIconStyles } from './image_button.styles';
|
|
18
|
+
import { jsx as ___EmotionJSX } from "@emotion/react";
|
|
19
|
+
var fullScreenIconColorMap = {
|
|
20
|
+
light: 'ghost',
|
|
21
|
+
dark: 'default'
|
|
22
|
+
};
|
|
23
|
+
export var EuiImageButton = function EuiImageButton(_ref) {
|
|
24
|
+
var hasAlt = _ref.hasAlt,
|
|
25
|
+
hasShadow = _ref.hasShadow,
|
|
26
|
+
children = _ref.children,
|
|
27
|
+
onClick = _ref.onClick,
|
|
28
|
+
onKeyDown = _ref.onKeyDown,
|
|
29
|
+
isFullScreen = _ref.isFullScreen,
|
|
30
|
+
isFullWidth = _ref.isFullWidth,
|
|
31
|
+
_ref$fullScreenIconCo = _ref.fullScreenIconColor,
|
|
32
|
+
fullScreenIconColor = _ref$fullScreenIconCo === void 0 ? 'light' : _ref$fullScreenIconCo,
|
|
33
|
+
rest = _objectWithoutProperties(_ref, _excluded);
|
|
34
|
+
|
|
35
|
+
var euiTheme = useEuiTheme();
|
|
36
|
+
var buttonStyles = euiImageButtonStyles(euiTheme);
|
|
37
|
+
var cssButtonStyles = [buttonStyles.euiImageButton, hasShadow ? buttonStyles.hasShadowHover : buttonStyles.shadowHover, !isFullScreen && isFullWidth && buttonStyles.fullWidth];
|
|
38
|
+
var iconStyles = euiImageButtonIconStyles(euiTheme);
|
|
39
|
+
var cssIconStyles = [iconStyles.euiImageButton__icon, iconStyles.openFullScreen];
|
|
40
|
+
var openFullScreenInstructions = useEuiI18n('euiImageButton.openFullScreen', 'Click to open this image in fullscreen mode');
|
|
41
|
+
var closeFullScreenInstructions = useEuiI18n('euiImageButton.closeFullScreen', 'Press Escape or click to close image fullscreen mode');
|
|
42
|
+
var iconColor = fullScreenIconColorMap[fullScreenIconColor];
|
|
43
|
+
return ___EmotionJSX(React.Fragment, null, ___EmotionJSX("button", _extends({
|
|
44
|
+
type: "button",
|
|
45
|
+
css: cssButtonStyles,
|
|
46
|
+
onClick: onClick,
|
|
47
|
+
onKeyDown: onKeyDown
|
|
48
|
+
}, rest), isFullScreen && // In fullscreen mode, instructions should come first to allow screen reader
|
|
49
|
+
// users to quickly exit vs. potentially reading out long/unskippable alt text
|
|
50
|
+
___EmotionJSX(EuiScreenReaderOnly, null, ___EmotionJSX("p", null, closeFullScreenInstructions, hasAlt && ' — ')), children, !isFullScreen && ___EmotionJSX("div", {
|
|
51
|
+
css: cssIconStyles
|
|
52
|
+
}, ___EmotionJSX(EuiScreenReaderOnly, null, ___EmotionJSX("p", null, hasAlt && ' — ', openFullScreenInstructions)), ___EmotionJSX(EuiIcon, {
|
|
53
|
+
type: "fullScreen",
|
|
54
|
+
color: iconColor
|
|
55
|
+
}))));
|
|
56
|
+
};
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
function _EMOTION_STRINGIFIED_CSS_ERROR__() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; }
|
|
2
|
+
|
|
3
|
+
/*
|
|
4
|
+
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
|
|
5
|
+
* or more contributor license agreements. Licensed under the Elastic License
|
|
6
|
+
* 2.0 and the Server Side Public License, v 1; you may not use this file except
|
|
7
|
+
* in compliance with, at your election, the Elastic License 2.0 or the Server
|
|
8
|
+
* Side Public License, v 1.
|
|
9
|
+
*/
|
|
10
|
+
import { css } from '@emotion/react';
|
|
11
|
+
import { euiFocusRing, logicalCSS, euiCanAnimate } from '../../global_styling';
|
|
12
|
+
import { euiShadow } from '../../themes/amsterdam/global_styling/mixins';
|
|
13
|
+
export var euiImageButtonStyles = function euiImageButtonStyles(euiThemeContext) {
|
|
14
|
+
var euiTheme = euiThemeContext.euiTheme;
|
|
15
|
+
return {
|
|
16
|
+
// Base
|
|
17
|
+
euiImageButton: /*#__PURE__*/css("position:relative;cursor:pointer;text-align:match-parent;line-height:0;&::before{opacity:0;content:'';pointer-events:none;position:absolute;top:0;bottom:0;left:0;right:0;", euiCanAnimate, "{transition:opacity ", euiTheme.animation.fast, " ", euiTheme.animation.resistance, ";}}&:hover,&:focus{&::before{opacity:1;}[class*='euiImageButton__icon']{opacity:1;}}&:focus{", euiFocusRing(euiTheme, 'outset'), ";};label:euiImageButton;"),
|
|
18
|
+
fullWidth: /*#__PURE__*/css(logicalCSS('width', '100%'), ";;label:fullWidth;"),
|
|
19
|
+
shadowHover: /*#__PURE__*/css("&::before{", euiShadow(euiThemeContext, 's'), ";};label:shadowHover;"),
|
|
20
|
+
hasShadowHover: /*#__PURE__*/css("&::before{", euiShadow(euiThemeContext, 'm'), ";};label:hasShadowHover;")
|
|
21
|
+
};
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
var _ref = process.env.NODE_ENV === "production" ? {
|
|
25
|
+
name: "xj4dsa-closeFullScreen",
|
|
26
|
+
styles: "pointer-events:none;label:closeFullScreen;"
|
|
27
|
+
} : {
|
|
28
|
+
name: "xj4dsa-closeFullScreen",
|
|
29
|
+
styles: "pointer-events:none;label:closeFullScreen;",
|
|
30
|
+
toString: _EMOTION_STRINGIFIED_CSS_ERROR__
|
|
31
|
+
};
|
|
32
|
+
|
|
33
|
+
export var euiImageButtonIconStyles = function euiImageButtonIconStyles(_ref2) {
|
|
34
|
+
var euiTheme = _ref2.euiTheme;
|
|
35
|
+
return {
|
|
36
|
+
// Base
|
|
37
|
+
euiImageButton__icon: /*#__PURE__*/css("position:absolute;", logicalCSS('top', euiTheme.size.base), ";", logicalCSS('right', euiTheme.size.base), ";;label:euiImageButton__icon;"),
|
|
38
|
+
openFullScreen: /*#__PURE__*/css("opacity:0;cursor:pointer;", euiCanAnimate, "{transition:opacity ", euiTheme.animation.slow, " ", euiTheme.animation.resistance, ";};label:openFullScreen;"),
|
|
39
|
+
closeFullScreen: _ref
|
|
40
|
+
};
|
|
41
|
+
};
|
|
@@ -0,0 +1,24 @@
|
|
|
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
|
+
import React, { forwardRef } from 'react';
|
|
9
|
+
import { useEuiTheme } from '../../services';
|
|
10
|
+
import { euiImageCaptionStyles } from './image_caption.styles';
|
|
11
|
+
import { jsx as ___EmotionJSX } from "@emotion/react";
|
|
12
|
+
export var EuiImageCaption = /*#__PURE__*/forwardRef(function (_ref, ref) {
|
|
13
|
+
var caption = _ref.caption,
|
|
14
|
+
_ref$isOnOverlayMask = _ref.isOnOverlayMask,
|
|
15
|
+
isOnOverlayMask = _ref$isOnOverlayMask === void 0 ? false : _ref$isOnOverlayMask;
|
|
16
|
+
var euiTheme = useEuiTheme();
|
|
17
|
+
var styles = euiImageCaptionStyles(euiTheme);
|
|
18
|
+
var cssStyles = [styles.euiImageCaption, isOnOverlayMask && styles.isOnOverlayMask];
|
|
19
|
+
return caption ? ___EmotionJSX("figcaption", {
|
|
20
|
+
ref: ref,
|
|
21
|
+
css: cssStyles
|
|
22
|
+
}, caption) : null;
|
|
23
|
+
});
|
|
24
|
+
EuiImageCaption.displayName = 'EuiImageCaption';
|
|
@@ -0,0 +1,18 @@
|
|
|
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
|
+
import { css } from '@emotion/react';
|
|
9
|
+
import { euiFontSize, logicalCSS } from '../../global_styling';
|
|
10
|
+
import { transparentize } from '../../services';
|
|
11
|
+
export var euiImageCaptionStyles = function euiImageCaptionStyles(euiThemeContext) {
|
|
12
|
+
var euiTheme = euiThemeContext.euiTheme;
|
|
13
|
+
return {
|
|
14
|
+
// Base
|
|
15
|
+
euiImageCaption: /*#__PURE__*/css(euiFontSize(euiThemeContext, 's'), ";", logicalCSS('margin-top', euiTheme.size.xs), ";;label:euiImageCaption;"),
|
|
16
|
+
isOnOverlayMask: /*#__PURE__*/css("color:", euiTheme.colors.ghost, ";text-shadow:0 1px 2px ", transparentize(euiTheme.colors.ink, 0.6), ";[class*='euiLink']{color:", euiTheme.colors.ghost, ";};label:isOnOverlayMask;")
|
|
17
|
+
};
|
|
18
|
+
};
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import _extends from "@babel/runtime/helpers/extends";
|
|
2
|
+
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
3
|
+
|
|
4
|
+
/*
|
|
5
|
+
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
|
|
6
|
+
* or more contributor license agreements. Licensed under the Elastic License
|
|
7
|
+
* 2.0 and the Server Side Public License, v 1; you may not use this file except
|
|
8
|
+
* in compliance with, at your election, the Elastic License 2.0 or the Server
|
|
9
|
+
* Side Public License, v 1.
|
|
10
|
+
*/
|
|
11
|
+
import React from 'react';
|
|
12
|
+
import classNames from 'classnames';
|
|
13
|
+
import { EuiFocusTrap } from '../focus_trap';
|
|
14
|
+
import { EuiOverlayMask } from '../overlay_mask';
|
|
15
|
+
import { EuiIcon } from '../icon';
|
|
16
|
+
import { useEuiTheme, keys } from '../../services';
|
|
17
|
+
import { useInnerText } from '../inner_text';
|
|
18
|
+
import { euiImageFullscreenWrapperStyles } from './image_fullscreen_wrapper.styles';
|
|
19
|
+
import { EuiImageButton } from './image_button';
|
|
20
|
+
import { euiImageButtonIconStyles } from './image_button.styles';
|
|
21
|
+
import { EuiImageCaption } from './image_caption';
|
|
22
|
+
import { jsx as ___EmotionJSX } from "@emotion/react";
|
|
23
|
+
export var EuiImageFullScreenWrapper = function EuiImageFullScreenWrapper(_ref) {
|
|
24
|
+
var alt = _ref.alt,
|
|
25
|
+
hasShadow = _ref.hasShadow,
|
|
26
|
+
caption = _ref.caption,
|
|
27
|
+
children = _ref.children,
|
|
28
|
+
setIsFullScreen = _ref.setIsFullScreen,
|
|
29
|
+
wrapperProps = _ref.wrapperProps,
|
|
30
|
+
isFullWidth = _ref.isFullWidth,
|
|
31
|
+
fullScreenIconColor = _ref.fullScreenIconColor;
|
|
32
|
+
var euiTheme = useEuiTheme();
|
|
33
|
+
var styles = euiImageFullscreenWrapperStyles(euiTheme);
|
|
34
|
+
var cssStyles = [styles.euiImageFullscreenWrapper];
|
|
35
|
+
var classes = classNames('euiImageFullScreenWrapper', wrapperProps && wrapperProps.className);
|
|
36
|
+
|
|
37
|
+
var onKeyDown = function onKeyDown(event) {
|
|
38
|
+
if (event.key === keys.ESCAPE) {
|
|
39
|
+
event.preventDefault();
|
|
40
|
+
event.stopPropagation();
|
|
41
|
+
closeFullScreen();
|
|
42
|
+
}
|
|
43
|
+
};
|
|
44
|
+
|
|
45
|
+
var closeFullScreen = function closeFullScreen() {
|
|
46
|
+
setIsFullScreen(false);
|
|
47
|
+
};
|
|
48
|
+
|
|
49
|
+
var _useInnerText = useInnerText(),
|
|
50
|
+
_useInnerText2 = _slicedToArray(_useInnerText, 2),
|
|
51
|
+
optionalCaptionRef = _useInnerText2[0],
|
|
52
|
+
optionalCaptionText = _useInnerText2[1];
|
|
53
|
+
|
|
54
|
+
var iconStyles = euiImageButtonIconStyles(euiTheme);
|
|
55
|
+
var cssIconStyles = [iconStyles.euiImageButton__icon, iconStyles.closeFullScreen];
|
|
56
|
+
return ___EmotionJSX(EuiOverlayMask, {
|
|
57
|
+
"data-test-subj": "fullScreenOverlayMask",
|
|
58
|
+
onClick: closeFullScreen
|
|
59
|
+
}, ___EmotionJSX(EuiFocusTrap, {
|
|
60
|
+
clickOutsideDisables: true
|
|
61
|
+
}, ___EmotionJSX(React.Fragment, null, ___EmotionJSX("figure", _extends({
|
|
62
|
+
"aria-label": optionalCaptionText
|
|
63
|
+
}, wrapperProps, {
|
|
64
|
+
className: classes,
|
|
65
|
+
css: cssStyles
|
|
66
|
+
}), ___EmotionJSX(EuiImageButton, {
|
|
67
|
+
hasAlt: !!alt,
|
|
68
|
+
hasShadow: hasShadow,
|
|
69
|
+
onClick: closeFullScreen,
|
|
70
|
+
onKeyDown: onKeyDown,
|
|
71
|
+
"data-test-subj": "deactivateFullScreenButton",
|
|
72
|
+
isFullScreen: true,
|
|
73
|
+
isFullWidth: isFullWidth,
|
|
74
|
+
fullScreenIconColor: fullScreenIconColor
|
|
75
|
+
}, children), ___EmotionJSX(EuiImageCaption, {
|
|
76
|
+
caption: caption,
|
|
77
|
+
ref: optionalCaptionRef,
|
|
78
|
+
isOnOverlayMask: true
|
|
79
|
+
})), ___EmotionJSX(EuiIcon, {
|
|
80
|
+
type: "fullScreenExit",
|
|
81
|
+
color: "ghost",
|
|
82
|
+
css: cssIconStyles
|
|
83
|
+
}))));
|
|
84
|
+
};
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import _taggedTemplateLiteral from "@babel/runtime/helpers/taggedTemplateLiteral";
|
|
2
|
+
|
|
3
|
+
var _templateObject;
|
|
4
|
+
|
|
5
|
+
/*
|
|
6
|
+
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
|
|
7
|
+
* or more contributor license agreements. Licensed under the Elastic License
|
|
8
|
+
* 2.0 and the Server Side Public License, v 1; you may not use this file except
|
|
9
|
+
* in compliance with, at your election, the Elastic License 2.0 or the Server
|
|
10
|
+
* Side Public License, v 1.
|
|
11
|
+
*/
|
|
12
|
+
import { css, keyframes } from '@emotion/react';
|
|
13
|
+
import { logicalCSS, logicalTextAlignCSS, euiCanAnimate } from '../../global_styling';
|
|
14
|
+
export var euiImageFullscreenWrapperStyles = function euiImageFullscreenWrapperStyles(euiThemeContext) {
|
|
15
|
+
var euiTheme = euiThemeContext.euiTheme;
|
|
16
|
+
return {
|
|
17
|
+
// Base
|
|
18
|
+
euiImageFullscreenWrapper: /*#__PURE__*/css(logicalCSS('max-height', '80vh'), ";", logicalCSS('max-width', '80vw'), ";", logicalTextAlignCSS('center'), ";line-height:0;", euiCanAnimate, "{animation:", euiImageFullScreen(euiTheme.size.xxxxl), " ", euiTheme.animation.extraSlow, " ", euiTheme.animation.bounce, ";}&:hover [class*='euiImageCaption']{text-decoration:underline;};label:euiImageFullscreenWrapper;"),
|
|
19
|
+
// Sizes
|
|
20
|
+
fullWidth: /*#__PURE__*/css(logicalCSS('width', '100%'), ";;label:fullWidth;")
|
|
21
|
+
};
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
var euiImageFullScreen = function euiImageFullScreen(size) {
|
|
25
|
+
return keyframes(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n 0% {\n opacity: 0;\n transform: translateY(", ");\n }\n\n 100% {\n opacity: 1;\n transform: translateY(0);\n }\n"])), size);
|
|
26
|
+
};
|
|
@@ -0,0 +1,10 @@
|
|
|
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
|
+
export var SIZES = ['s', 'm', 'l', 'xl', 'fullWidth', 'original'];
|
|
9
|
+
var FLOATS = ['left', 'right'];
|
|
10
|
+
var MARGINS = ['s', 'm', 'l', 'xl'];
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import _extends from "@babel/runtime/helpers/extends";
|
|
2
|
+
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
3
|
+
|
|
4
|
+
/*
|
|
5
|
+
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
|
|
6
|
+
* or more contributor license agreements. Licensed under the Elastic License
|
|
7
|
+
* 2.0 and the Server Side Public License, v 1; you may not use this file except
|
|
8
|
+
* in compliance with, at your election, the Elastic License 2.0 or the Server
|
|
9
|
+
* Side Public License, v 1.
|
|
10
|
+
*/
|
|
11
|
+
import React from 'react';
|
|
12
|
+
import classNames from 'classnames';
|
|
13
|
+
import { useEuiTheme } from '../../services';
|
|
14
|
+
import { useInnerText } from '../inner_text';
|
|
15
|
+
import { euiImageWrapperStyles } from './image_wrapper.styles';
|
|
16
|
+
import { EuiImageButton } from './image_button';
|
|
17
|
+
import { EuiImageCaption } from './image_caption';
|
|
18
|
+
import { jsx as ___EmotionJSX } from "@emotion/react";
|
|
19
|
+
export var EuiImageWrapper = function EuiImageWrapper(_ref) {
|
|
20
|
+
var alt = _ref.alt,
|
|
21
|
+
caption = _ref.caption,
|
|
22
|
+
hasShadow = _ref.hasShadow,
|
|
23
|
+
allowFullScreen = _ref.allowFullScreen,
|
|
24
|
+
float = _ref.float,
|
|
25
|
+
margin = _ref.margin,
|
|
26
|
+
children = _ref.children,
|
|
27
|
+
setIsFullScreen = _ref.setIsFullScreen,
|
|
28
|
+
wrapperProps = _ref.wrapperProps,
|
|
29
|
+
fullScreenIconColor = _ref.fullScreenIconColor,
|
|
30
|
+
isFullWidth = _ref.isFullWidth;
|
|
31
|
+
|
|
32
|
+
var openFullScreen = function openFullScreen() {
|
|
33
|
+
setIsFullScreen(true);
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
var classes = classNames('euiImageWrapper', wrapperProps && wrapperProps.className);
|
|
37
|
+
var euiTheme = useEuiTheme();
|
|
38
|
+
var styles = euiImageWrapperStyles(euiTheme);
|
|
39
|
+
var cssFigureStyles = [styles.euiImageWrapper, float && styles[float], margin && styles[margin], allowFullScreen && styles.allowFullScreen, isFullWidth && styles.fullWidth];
|
|
40
|
+
|
|
41
|
+
var _useInnerText = useInnerText(),
|
|
42
|
+
_useInnerText2 = _slicedToArray(_useInnerText, 2),
|
|
43
|
+
optionalCaptionRef = _useInnerText2[0],
|
|
44
|
+
optionalCaptionText = _useInnerText2[1];
|
|
45
|
+
|
|
46
|
+
return ___EmotionJSX("figure", _extends({
|
|
47
|
+
"aria-label": optionalCaptionText
|
|
48
|
+
}, wrapperProps, {
|
|
49
|
+
className: classes,
|
|
50
|
+
css: cssFigureStyles
|
|
51
|
+
}), allowFullScreen ? ___EmotionJSX(React.Fragment, null, ___EmotionJSX(EuiImageButton, {
|
|
52
|
+
hasAlt: !!alt,
|
|
53
|
+
hasShadow: hasShadow,
|
|
54
|
+
onClick: openFullScreen,
|
|
55
|
+
"data-test-subj": "activateFullScreenButton",
|
|
56
|
+
isFullWidth: isFullWidth,
|
|
57
|
+
fullScreenIconColor: fullScreenIconColor
|
|
58
|
+
}, children)) : children, ___EmotionJSX(EuiImageCaption, {
|
|
59
|
+
ref: optionalCaptionRef,
|
|
60
|
+
caption: caption
|
|
61
|
+
}));
|
|
62
|
+
};
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
function _EMOTION_STRINGIFIED_CSS_ERROR__() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; }
|
|
2
|
+
|
|
3
|
+
/*
|
|
4
|
+
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
|
|
5
|
+
* or more contributor license agreements. Licensed under the Elastic License
|
|
6
|
+
* 2.0 and the Server Side Public License, v 1; you may not use this file except
|
|
7
|
+
* in compliance with, at your election, the Elastic License 2.0 or the Server
|
|
8
|
+
* Side Public License, v 1.
|
|
9
|
+
*/
|
|
10
|
+
import { css } from '@emotion/react';
|
|
11
|
+
import { logicalCSS, logicalTextAlignCSS, logicalSide } from '../../global_styling';
|
|
12
|
+
|
|
13
|
+
var _ref = process.env.NODE_ENV === "production" ? {
|
|
14
|
+
name: "gacnmc-allowFullScreen",
|
|
15
|
+
styles: "&:hover [class*='euiImageCaption']{text-decoration:underline;};label:allowFullScreen;"
|
|
16
|
+
} : {
|
|
17
|
+
name: "gacnmc-allowFullScreen",
|
|
18
|
+
styles: "&:hover [class*='euiImageCaption']{text-decoration:underline;};label:allowFullScreen;",
|
|
19
|
+
toString: _EMOTION_STRINGIFIED_CSS_ERROR__
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
export var euiImageWrapperStyles = function euiImageWrapperStyles(euiThemeContext) {
|
|
23
|
+
var euiTheme = euiThemeContext.euiTheme;
|
|
24
|
+
return {
|
|
25
|
+
// Base
|
|
26
|
+
euiImageWrapper: /*#__PURE__*/css("display:inline-block;", logicalCSS('max-width', '100%'), " ", logicalTextAlignCSS('center'), ";line-height:0;flex-shrink:0;;label:euiImageWrapper;"),
|
|
27
|
+
allowFullScreen: _ref,
|
|
28
|
+
// Margins
|
|
29
|
+
s: /*#__PURE__*/css("margin:", euiTheme.size.s, ";;label:s;"),
|
|
30
|
+
m: /*#__PURE__*/css("margin:", euiTheme.size.base, ";;label:m;"),
|
|
31
|
+
l: /*#__PURE__*/css("margin:", euiTheme.size.l, ";;label:l;"),
|
|
32
|
+
xl: /*#__PURE__*/css("margin:", euiTheme.size.xl, ";;label:xl;"),
|
|
33
|
+
// Floats
|
|
34
|
+
// 1: Logical properties/values in `float` is currently not yet supported by all browsers w/o flags
|
|
35
|
+
// @see https://caniuse.com/mdn-css_properties_float_flow_relative_values for when we can remove left/right fallbacks
|
|
36
|
+
left: /*#__PURE__*/css("@media only screen and (min-width: ", euiTheme.breakpoint.m, "px){float:left;float:", logicalSide.left, ";", logicalCSS('margin-left', '0'), ";", logicalCSS('margin-top', '0'), ";};label:left;"),
|
|
37
|
+
right: /*#__PURE__*/css("@media only screen and (min-width: ", euiTheme.breakpoint.m, "px){float:right;float:", logicalSide.right, ";", logicalCSS('margin-right', '0'), ";", logicalCSS('margin-top', '0'), ";};label:right;"),
|
|
38
|
+
// Sizes
|
|
39
|
+
fullWidth: /*#__PURE__*/css(logicalCSS('width', '100%'), ";;label:fullWidth;")
|
|
40
|
+
};
|
|
41
|
+
};
|