@elastic/eui 62.0.2 → 62.2.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.js +330 -330
- package/dist/eui_charts_theme.js.map +1 -1
- package/dist/eui_theme_dark.css +1 -783
- package/dist/eui_theme_dark.json +0 -57
- package/dist/eui_theme_dark.json.d.ts +0 -57
- package/dist/eui_theme_dark.min.css +1 -1
- package/dist/eui_theme_light.css +1 -783
- package/dist/eui_theme_light.json +0 -57
- package/dist/eui_theme_light.json.d.ts +0 -57
- package/dist/eui_theme_light.min.css +1 -1
- package/es/components/breadcrumbs/breadcrumb.js +199 -0
- package/es/components/breadcrumbs/breadcrumb.styles.js +61 -0
- package/es/components/breadcrumbs/breadcrumbs.js +115 -187
- package/es/components/breadcrumbs/breadcrumbs.styles.js +30 -0
- package/es/components/code/code_block.js +119 -107
- package/es/components/collapsible_nav/collapsible_nav.js +2 -2
- package/es/components/control_bar/control_bar.js +13 -0
- package/es/components/datagrid/body/data_grid_body.js +12 -2
- package/es/components/datagrid/body/data_grid_cell.js +31 -3
- package/es/components/datagrid/body/header/data_grid_header_row.js +1 -1
- package/es/components/datagrid/controls/column_sorting_draggable.js +1 -1
- package/es/components/datagrid/data_grid.js +10 -2
- package/es/components/datagrid/utils/row_heights.js +33 -4
- package/es/components/date_picker/super_date_picker/super_date_picker.js +2 -2
- package/es/components/date_picker/super_date_picker/super_update_button.js +1 -1
- package/es/components/description_list/description_list.js +22 -26
- package/es/components/description_list/description_list.styles.js +25 -0
- package/es/components/description_list/description_list_context.js +14 -0
- package/es/components/description_list/description_list_description.js +43 -2
- package/es/components/description_list/description_list_description.styles.js +47 -0
- package/es/components/description_list/description_list_title.js +43 -2
- package/es/components/description_list/description_list_title.styles.js +37 -0
- package/es/components/description_list/description_list_types.js +10 -0
- package/es/components/header/header.js +1 -27
- package/es/components/header/header_breadcrumbs/header_breadcrumbs.js +22 -2
- package/es/components/header/header_breadcrumbs/header_breadcrumbs.styles.js +15 -0
- package/es/components/header/header_links/header_links.js +9 -9
- package/es/components/icon/assets/tokenStruct.js +1 -1
- package/es/components/page/page_header/page_header.js +1 -0
- package/es/components/page/page_header/page_header_content.js +2 -1
- package/es/components/page/page_template.js +1 -0
- package/es/components/pagination/pagination.js +1 -1
- package/es/components/panel/split_panel/split_panel.js +2 -2
- package/es/components/popover/wrapping_popover.js +88 -45
- package/es/components/portal/portal.js +84 -38
- package/es/components/provider/provider.js +2 -2
- package/es/components/responsive/hide_for.js +6 -38
- package/es/components/responsive/show_for.js +6 -38
- package/es/components/selectable/selectable_templates/selectable_template_sitewide.js +17 -36
- package/es/components/side_nav/side_nav.js +1 -1
- package/es/components/table/table_row_cell.js +1 -2
- package/es/components/toast/global_toast_list.js +208 -241
- package/es/components/toast/global_toast_list.styles.js +38 -0
- package/es/components/toast/global_toast_list_item.js +12 -7
- package/es/components/toast/toast.js +25 -25
- package/es/components/toast/toast.styles.js +55 -0
- package/es/components/token/index.js +2 -1
- package/es/components/token/token.js +48 -112
- package/es/components/token/token.styles.js +93 -0
- package/es/components/token/token_map.js +6 -9
- package/es/components/token/token_types.js +11 -0
- package/es/global_styling/reset/global_styles.js +1 -1
- package/es/services/{breakpoint.js → breakpoint/breakpoint.js} +4 -9
- package/es/services/{hooks/useIsWithinBreakpoints.js → breakpoint/currentEuiBreakpoint.js} +36 -28
- package/es/services/breakpoint/index.js +10 -0
- package/es/services/breakpoint/useIsWithinBreakpoints.js +24 -0
- package/es/services/hooks/index.js +0 -1
- package/es/services/index.js +1 -1
- package/es/test/rtl/component_helpers.js +60 -1
- package/eui.d.ts +1787 -1550
- package/i18ntokens.json +36 -36
- package/lib/components/breadcrumbs/breadcrumb.js +225 -0
- package/lib/components/breadcrumbs/breadcrumb.styles.js +68 -0
- package/lib/components/breadcrumbs/breadcrumbs.js +125 -188
- package/lib/components/breadcrumbs/breadcrumbs.styles.js +33 -0
- package/lib/components/code/code_block.js +118 -106
- package/lib/components/collapsible_nav/collapsible_nav.js +2 -2
- package/lib/components/control_bar/control_bar.js +13 -0
- package/lib/components/datagrid/body/data_grid_body.js +12 -2
- package/lib/components/datagrid/body/data_grid_cell.js +31 -3
- package/lib/components/datagrid/body/header/data_grid_header_row.js +1 -1
- package/lib/components/datagrid/controls/column_sorting_draggable.js +1 -1
- package/lib/components/datagrid/data_grid.js +10 -2
- package/lib/components/datagrid/utils/row_heights.js +33 -4
- package/lib/components/date_picker/super_date_picker/super_date_picker.js +2 -2
- package/lib/components/date_picker/super_date_picker/super_update_button.js +1 -1
- package/lib/components/description_list/description_list.js +25 -31
- package/lib/components/description_list/description_list.styles.js +36 -0
- package/lib/components/description_list/description_list_context.js +24 -0
- package/lib/components/description_list/description_list_description.js +52 -2
- package/lib/components/description_list/description_list_description.styles.js +51 -0
- package/lib/components/description_list/description_list_title.js +52 -2
- package/lib/components/description_list/description_list_title.styles.js +50 -0
- package/lib/components/description_list/description_list_types.js +20 -0
- package/lib/components/header/header.js +1 -27
- package/lib/components/header/header_breadcrumbs/header_breadcrumbs.js +24 -2
- package/lib/components/header/header_breadcrumbs/header_breadcrumbs.styles.js +26 -0
- package/lib/components/header/header_links/header_links.js +8 -8
- package/lib/components/icon/assets/tokenStruct.js +1 -1
- package/lib/components/icon/svgs/tokens/tokenStruct.svg +1 -1
- package/lib/components/page/page_header/page_header.js +1 -0
- package/lib/components/page/page_header/page_header_content.js +3 -2
- package/lib/components/page/page_template.js +1 -0
- package/lib/components/pagination/pagination.js +1 -1
- package/lib/components/panel/split_panel/split_panel.js +3 -3
- package/lib/components/popover/wrapping_popover.js +85 -44
- package/lib/components/portal/portal.js +87 -39
- package/lib/components/provider/provider.js +1 -1
- package/lib/components/responsive/hide_for.js +12 -44
- package/lib/components/responsive/show_for.js +12 -44
- package/lib/components/selectable/selectable_templates/selectable_template_sitewide.js +15 -35
- package/lib/components/side_nav/side_nav.js +1 -1
- package/lib/components/table/table_row_cell.js +1 -3
- package/lib/components/toast/global_toast_list.js +209 -238
- package/lib/components/toast/global_toast_list.styles.js +45 -0
- package/lib/components/toast/global_toast_list_item.js +14 -7
- package/lib/components/toast/toast.js +27 -25
- package/lib/components/toast/toast.styles.js +66 -0
- package/lib/components/token/index.js +5 -3
- package/lib/components/token/token.js +50 -120
- package/lib/components/token/token.styles.js +101 -0
- package/lib/components/token/token_map.js +6 -9
- package/lib/components/token/token_types.js +22 -0
- package/lib/global_styling/reset/global_styles.js +1 -1
- package/{test-env/services → lib/services/breakpoint}/breakpoint.js +5 -9
- package/lib/services/breakpoint/currentEuiBreakpoint.js +80 -0
- package/lib/services/breakpoint/index.js +44 -0
- package/lib/services/breakpoint/useIsWithinBreakpoints.js +34 -0
- package/lib/services/hooks/index.js +0 -13
- package/lib/services/index.js +28 -0
- package/lib/test/rtl/component_helpers.js +69 -3
- package/optimize/es/components/breadcrumbs/breadcrumb.js +136 -0
- package/optimize/es/components/breadcrumbs/breadcrumb.styles.js +61 -0
- package/optimize/es/components/breadcrumbs/breadcrumbs.js +92 -165
- package/optimize/es/components/breadcrumbs/breadcrumbs.styles.js +30 -0
- package/optimize/es/components/code/code_block.js +106 -107
- package/optimize/es/components/datagrid/body/data_grid_body.js +2 -0
- package/optimize/es/components/datagrid/body/data_grid_cell.js +13 -1
- package/optimize/es/components/datagrid/utils/row_heights.js +33 -4
- package/optimize/es/components/description_list/description_list.js +20 -24
- package/optimize/es/components/description_list/description_list.styles.js +25 -0
- package/optimize/es/components/description_list/description_list_context.js +14 -0
- package/optimize/es/components/description_list/description_list_description.js +32 -2
- package/optimize/es/components/description_list/description_list_description.styles.js +47 -0
- package/optimize/es/components/description_list/description_list_title.js +32 -2
- package/optimize/es/components/description_list/description_list_title.styles.js +37 -0
- package/optimize/es/components/description_list/description_list_types.js +10 -0
- package/optimize/es/components/header/header_breadcrumbs/header_breadcrumbs.js +8 -1
- package/optimize/es/components/header/header_breadcrumbs/header_breadcrumbs.styles.js +15 -0
- package/optimize/es/components/header/header_links/header_links.js +8 -8
- package/optimize/es/components/icon/assets/tokenStruct.js +1 -1
- package/optimize/es/components/page/page_header/page_header_content.js +1 -1
- package/optimize/es/components/panel/split_panel/split_panel.js +1 -1
- package/optimize/es/components/popover/wrapping_popover.js +79 -38
- package/optimize/es/components/portal/portal.js +66 -34
- package/optimize/es/components/provider/provider.js +2 -2
- package/optimize/es/components/responsive/hide_for.js +5 -27
- package/optimize/es/components/responsive/show_for.js +5 -27
- package/optimize/es/components/selectable/selectable_templates/selectable_template_sitewide.js +16 -35
- package/optimize/es/components/table/table_row_cell.js +1 -2
- package/optimize/es/components/toast/global_toast_list.js +199 -230
- package/optimize/es/components/toast/global_toast_list.styles.js +38 -0
- package/optimize/es/components/toast/global_toast_list_item.js +11 -6
- package/optimize/es/components/toast/toast.js +24 -24
- package/optimize/es/components/toast/toast.styles.js +55 -0
- package/optimize/es/components/token/index.js +2 -1
- package/optimize/es/components/token/token.js +46 -69
- package/optimize/es/components/token/token.styles.js +83 -0
- package/optimize/es/components/token/token_map.js +6 -9
- package/optimize/es/components/token/token_types.js +11 -0
- package/optimize/es/global_styling/reset/global_styles.js +1 -1
- package/optimize/es/services/{breakpoint.js → breakpoint/breakpoint.js} +4 -9
- package/optimize/es/services/breakpoint/currentEuiBreakpoint.js +53 -0
- package/optimize/es/services/breakpoint/index.js +10 -0
- package/optimize/es/services/breakpoint/useIsWithinBreakpoints.js +24 -0
- package/optimize/es/services/hooks/index.js +0 -1
- package/optimize/es/services/index.js +1 -1
- package/optimize/es/test/rtl/component_helpers.js +60 -1
- package/optimize/lib/components/breadcrumbs/breadcrumb.js +162 -0
- package/optimize/lib/components/breadcrumbs/breadcrumb.styles.js +68 -0
- package/optimize/lib/components/breadcrumbs/breadcrumbs.js +99 -164
- package/optimize/lib/components/breadcrumbs/breadcrumbs.styles.js +33 -0
- package/optimize/lib/components/code/code_block.js +105 -106
- package/optimize/lib/components/datagrid/body/data_grid_body.js +2 -0
- package/optimize/lib/components/datagrid/body/data_grid_cell.js +13 -1
- package/optimize/lib/components/datagrid/utils/row_heights.js +33 -4
- package/optimize/lib/components/description_list/description_list.js +23 -28
- package/optimize/lib/components/description_list/description_list.styles.js +36 -0
- package/optimize/lib/components/description_list/description_list_context.js +24 -0
- package/optimize/lib/components/description_list/description_list_description.js +43 -2
- package/optimize/lib/components/description_list/description_list_description.styles.js +51 -0
- package/optimize/lib/components/description_list/description_list_title.js +43 -2
- package/optimize/lib/components/description_list/description_list_title.styles.js +50 -0
- package/optimize/lib/components/description_list/description_list_types.js +20 -0
- package/optimize/lib/components/header/header_breadcrumbs/header_breadcrumbs.js +10 -1
- package/optimize/lib/components/header/header_breadcrumbs/header_breadcrumbs.styles.js +26 -0
- package/optimize/lib/components/header/header_links/header_links.js +7 -7
- package/optimize/lib/components/icon/assets/tokenStruct.js +1 -1
- package/optimize/lib/components/icon/svgs/tokens/tokenStruct.svg +1 -1
- package/optimize/lib/components/page/page_header/page_header_content.js +2 -2
- package/optimize/lib/components/panel/split_panel/split_panel.js +2 -2
- package/optimize/lib/components/popover/wrapping_popover.js +78 -38
- package/optimize/lib/components/portal/portal.js +65 -44
- package/optimize/lib/components/provider/provider.js +1 -1
- package/optimize/lib/components/responsive/hide_for.js +4 -33
- package/optimize/lib/components/responsive/show_for.js +4 -33
- package/optimize/lib/components/selectable/selectable_templates/selectable_template_sitewide.js +14 -34
- package/optimize/lib/components/table/table_row_cell.js +1 -3
- package/optimize/lib/components/toast/global_toast_list.js +206 -220
- package/optimize/lib/components/toast/global_toast_list.styles.js +47 -0
- package/optimize/lib/components/toast/global_toast_list_item.js +14 -7
- package/optimize/lib/components/toast/toast.js +26 -24
- package/optimize/lib/components/toast/toast.styles.js +66 -0
- package/optimize/lib/components/token/index.js +5 -3
- package/optimize/lib/components/token/token.js +50 -76
- package/optimize/lib/components/token/token.styles.js +91 -0
- package/optimize/lib/components/token/token_map.js +6 -9
- package/optimize/lib/components/token/token_types.js +22 -0
- package/optimize/lib/global_styling/reset/global_styles.js +1 -1
- package/optimize/lib/services/{breakpoint.js → breakpoint/breakpoint.js} +5 -9
- package/optimize/lib/services/breakpoint/currentEuiBreakpoint.js +81 -0
- package/optimize/lib/services/breakpoint/index.js +44 -0
- package/optimize/lib/services/breakpoint/useIsWithinBreakpoints.js +34 -0
- package/optimize/lib/services/hooks/index.js +0 -13
- package/optimize/lib/services/index.js +28 -0
- package/optimize/lib/test/rtl/component_helpers.js +69 -3
- package/package.json +2 -2
- package/src/components/control_bar/_control_bar.scss +1 -1
- package/src/components/header/_index.scss +0 -1
- package/src/components/index.scss +0 -5
- package/src/themes/amsterdam/overrides/_breadcrumbs.scss +0 -12
- package/src/themes/amsterdam/overrides/_index.scss +0 -4
- package/test-env/components/breadcrumbs/breadcrumb.js +211 -0
- package/test-env/components/breadcrumbs/breadcrumb.styles.js +68 -0
- package/test-env/components/breadcrumbs/breadcrumbs.js +122 -174
- package/test-env/components/breadcrumbs/breadcrumbs.styles.js +33 -0
- package/test-env/components/collapsible_nav/collapsible_nav.js +2 -2
- package/test-env/components/control_bar/control_bar.js +13 -0
- package/test-env/components/datagrid/body/data_grid_body.js +12 -2
- package/test-env/components/datagrid/body/data_grid_cell.js +31 -3
- package/test-env/components/datagrid/body/header/data_grid_header_row.js +1 -1
- package/test-env/components/datagrid/controls/column_sorting_draggable.js +1 -1
- package/test-env/components/datagrid/data_grid.js +10 -2
- package/test-env/components/datagrid/utils/row_heights.js +33 -4
- package/test-env/components/date_picker/super_date_picker/super_date_picker.js +2 -2
- package/test-env/components/date_picker/super_date_picker/super_update_button.js +1 -1
- package/test-env/components/description_list/description_list.js +25 -30
- package/test-env/components/description_list/description_list.styles.js +36 -0
- package/test-env/components/description_list/description_list_context.js +24 -0
- package/test-env/components/description_list/description_list_description.js +43 -2
- package/test-env/components/description_list/description_list_description.styles.js +51 -0
- package/test-env/components/description_list/description_list_title.js +43 -2
- package/test-env/components/description_list/description_list_title.styles.js +50 -0
- package/test-env/components/description_list/description_list_types.js +20 -0
- package/test-env/components/header/header.js +1 -27
- package/test-env/components/header/header_breadcrumbs/header_breadcrumbs.js +24 -2
- package/test-env/components/header/header_breadcrumbs/header_breadcrumbs.styles.js +26 -0
- package/test-env/components/header/header_links/header_links.js +8 -8
- package/test-env/components/icon/assets/tokenStruct.js +1 -1
- package/test-env/components/observer/resize_observer/resize_observer.js +43 -126
- package/test-env/components/page/page_header/page_header.js +1 -0
- package/test-env/components/page/page_header/page_header_content.js +3 -2
- package/test-env/components/page/page_template.js +1 -0
- package/test-env/components/pagination/pagination.js +1 -1
- package/test-env/components/panel/split_panel/split_panel.js +3 -3
- package/test-env/components/popover/wrapping_popover.js +78 -38
- package/test-env/components/portal/portal.js +79 -45
- package/test-env/components/provider/provider.js +1 -1
- package/test-env/components/responsive/hide_for.js +5 -34
- package/test-env/components/responsive/show_for.js +5 -34
- package/test-env/components/selectable/selectable_templates/selectable_template_sitewide.js +15 -35
- package/test-env/components/side_nav/side_nav.js +1 -1
- package/test-env/components/table/table_row_cell.js +1 -3
- package/test-env/components/toast/global_toast_list.js +206 -220
- package/test-env/components/toast/global_toast_list.styles.js +47 -0
- package/test-env/components/toast/global_toast_list_item.js +14 -7
- package/test-env/components/toast/toast.js +27 -25
- package/test-env/components/toast/toast.styles.js +66 -0
- package/test-env/components/token/index.js +5 -3
- package/test-env/components/token/token.js +51 -120
- package/test-env/components/token/token.styles.js +91 -0
- package/test-env/components/token/token_map.js +6 -9
- package/test-env/components/token/token_types.js +22 -0
- package/test-env/global_styling/reset/global_styles.js +1 -1
- package/{lib/services → test-env/services/breakpoint}/breakpoint.js +5 -9
- package/test-env/services/breakpoint/currentEuiBreakpoint.js +37 -0
- package/test-env/services/breakpoint/index.js +44 -0
- package/test-env/services/breakpoint/useIsWithinBreakpoints.js +34 -0
- package/test-env/services/hooks/index.js +0 -13
- package/test-env/services/index.js +28 -0
- package/test-env/test/rtl/component_helpers.js +69 -3
- package/lib/services/hooks/useIsWithinBreakpoints.js +0 -57
- package/optimize/es/services/hooks/useIsWithinBreakpoints.js +0 -46
- package/optimize/lib/services/hooks/useIsWithinBreakpoints.js +0 -57
- package/src/components/breadcrumbs/_breadcrumbs.scss +0 -79
- package/src/components/breadcrumbs/_index.scss +0 -2
- package/src/components/breadcrumbs/_variables.scss +0 -2
- package/src/components/description_list/_description_list.scss +0 -211
- package/src/components/description_list/_index.scss +0 -1
- package/src/components/header/header_breadcrumbs/_header_breadcrumbs.scss +0 -8
- package/src/components/header/header_breadcrumbs/_index.scss +0 -1
- package/src/components/portal/_index.scss +0 -1
- package/src/components/portal/_portal.scss +0 -6
- package/src/components/toast/_global_toast_list.scss +0 -90
- package/src/components/toast/_index.scss +0 -4
- package/src/components/toast/_toast.scss +0 -103
- package/src/components/token/_index.scss +0 -2
- package/src/components/token/_token.scss +0 -85
- package/src/components/token/_variables.scss +0 -13
- package/src/themes/amsterdam/overrides/_header_breadcrumbs.scss +0 -71
- package/src/themes/amsterdam/overrides/_toast.scss +0 -21
- package/src/themes/amsterdam/overrides/_token.scss +0 -4
- package/test-env/services/hooks/useIsWithinBreakpoints.js +0 -57
|
@@ -1,9 +1,7 @@
|
|
|
1
1
|
import _typeof from "@babel/runtime/helpers/typeof";
|
|
2
2
|
import _extends from "@babel/runtime/helpers/extends";
|
|
3
3
|
import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
|
|
4
|
-
|
|
5
|
-
var _excluded = ["breadcrumbs", "className", "responsive", "truncate", "max"],
|
|
6
|
-
_excluded2 = ["text", "href", "onClick", "truncate", "className"];
|
|
4
|
+
var _excluded = ["breadcrumbs", "className", "responsive", "truncate", "max", "type", "lastBreadcrumbIsCurrentPage"];
|
|
7
5
|
|
|
8
6
|
/*
|
|
9
7
|
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
|
|
@@ -12,99 +10,18 @@ var _excluded = ["breadcrumbs", "className", "responsive", "truncate", "max"],
|
|
|
12
10
|
* in compliance with, at your election, the Elastic License 2.0 or the Server
|
|
13
11
|
* Side Public License, v 1.
|
|
14
12
|
*/
|
|
15
|
-
import React, {
|
|
13
|
+
import React, { useMemo } from 'react';
|
|
16
14
|
import classNames from 'classnames';
|
|
17
15
|
import { useEuiI18n } from '../i18n';
|
|
18
|
-
import {
|
|
19
|
-
import {
|
|
20
|
-
import {
|
|
21
|
-
import { EuiIcon } from '../icon';
|
|
22
|
-
import { throttle } from '../../services';
|
|
23
|
-
import { getBreakpoint } from '../../services/breakpoint';
|
|
16
|
+
import { useEuiTheme, useCurrentEuiBreakpoint } from '../../services';
|
|
17
|
+
import { EuiBreadcrumb, EuiBreadcrumbContent, EuiBreadcrumbCollapsed } from './breadcrumb';
|
|
18
|
+
import { euiBreadcrumbsListStyles } from './breadcrumbs.styles';
|
|
24
19
|
import { jsx as ___EmotionJSX } from "@emotion/react";
|
|
25
|
-
var CONTENT_CLASSNAME = 'euiBreadcrumb__content';
|
|
26
20
|
var responsiveDefault = {
|
|
27
21
|
xs: 1,
|
|
28
22
|
s: 2,
|
|
29
23
|
m: 4
|
|
30
24
|
};
|
|
31
|
-
|
|
32
|
-
var limitBreadcrumbs = function limitBreadcrumbs(breadcrumbs, max, allBreadcrumbs) {
|
|
33
|
-
var breadcrumbsAtStart = [];
|
|
34
|
-
var breadcrumbsAtEnd = [];
|
|
35
|
-
var limit = Math.min(max, breadcrumbs.length);
|
|
36
|
-
var start = Math.floor(limit / 2);
|
|
37
|
-
var overflowBreadcrumbs = allBreadcrumbs.slice(start, start + breadcrumbs.length - limit);
|
|
38
|
-
|
|
39
|
-
if (overflowBreadcrumbs.length) {
|
|
40
|
-
overflowBreadcrumbs[overflowBreadcrumbs.length - 1]['aria-current'] = 'false';
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
for (var i = 0; i < limit; i++) {
|
|
44
|
-
// We'll alternate with displaying breadcrumbs at the end and at the start, but be biased
|
|
45
|
-
// towards breadcrumbs the end so that if max is an odd number, we'll have one more
|
|
46
|
-
// breadcrumb visible at the end than at the beginning.
|
|
47
|
-
var isEven = i % 2 === 0; // We're picking breadcrumbs from the front AND the back, so we treat each iteration as a
|
|
48
|
-
// half-iteration.
|
|
49
|
-
|
|
50
|
-
var normalizedIndex = Math.floor(i * 0.5);
|
|
51
|
-
var indexOfBreadcrumb = isEven ? breadcrumbs.length - 1 - normalizedIndex : normalizedIndex;
|
|
52
|
-
var breadcrumb = breadcrumbs[indexOfBreadcrumb];
|
|
53
|
-
|
|
54
|
-
if (isEven) {
|
|
55
|
-
breadcrumbsAtEnd.unshift(breadcrumb);
|
|
56
|
-
} else {
|
|
57
|
-
breadcrumbsAtStart.push(breadcrumb);
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
var EuiBreadcrumbCollapsed = function EuiBreadcrumbCollapsed() {
|
|
62
|
-
var _useState = useState(false),
|
|
63
|
-
_useState2 = _slicedToArray(_useState, 2),
|
|
64
|
-
isPopoverOpen = _useState2[0],
|
|
65
|
-
setIsPopoverOpen = _useState2[1];
|
|
66
|
-
|
|
67
|
-
var ariaLabel = useEuiI18n('euiBreadcrumbs.collapsedBadge.ariaLabel', 'See collapsed breadcrumbs');
|
|
68
|
-
|
|
69
|
-
var ellipsisButton = ___EmotionJSX(EuiLink, {
|
|
70
|
-
className: CONTENT_CLASSNAME,
|
|
71
|
-
color: "subdued",
|
|
72
|
-
"aria-label": ariaLabel,
|
|
73
|
-
title: ariaLabel,
|
|
74
|
-
onClick: function onClick() {
|
|
75
|
-
return setIsPopoverOpen(!isPopoverOpen);
|
|
76
|
-
}
|
|
77
|
-
}, "\u2026 ", ___EmotionJSX(EuiIcon, {
|
|
78
|
-
type: "arrowDown",
|
|
79
|
-
size: "s"
|
|
80
|
-
}));
|
|
81
|
-
|
|
82
|
-
return ___EmotionJSX("li", {
|
|
83
|
-
className: "euiBreadcrumb euiBreadcrumb--collapsed"
|
|
84
|
-
}, ___EmotionJSX(EuiPopover, {
|
|
85
|
-
button: ellipsisButton,
|
|
86
|
-
isOpen: isPopoverOpen,
|
|
87
|
-
closePopover: function closePopover() {
|
|
88
|
-
return setIsPopoverOpen(false);
|
|
89
|
-
}
|
|
90
|
-
}, ___EmotionJSX(EuiBreadcrumbs, {
|
|
91
|
-
className: "euiBreadcrumbs__inPopover",
|
|
92
|
-
breadcrumbs: overflowBreadcrumbs,
|
|
93
|
-
responsive: false,
|
|
94
|
-
truncate: false,
|
|
95
|
-
max: 0
|
|
96
|
-
})));
|
|
97
|
-
};
|
|
98
|
-
|
|
99
|
-
if (max < breadcrumbs.length) {
|
|
100
|
-
breadcrumbsAtStart.push(___EmotionJSX(EuiBreadcrumbCollapsed, {
|
|
101
|
-
key: "collapsed"
|
|
102
|
-
}));
|
|
103
|
-
}
|
|
104
|
-
|
|
105
|
-
return [].concat(breadcrumbsAtStart, breadcrumbsAtEnd);
|
|
106
|
-
};
|
|
107
|
-
|
|
108
25
|
export var EuiBreadcrumbs = function EuiBreadcrumbs(_ref) {
|
|
109
26
|
var breadcrumbs = _ref.breadcrumbs,
|
|
110
27
|
className = _ref.className,
|
|
@@ -114,96 +31,106 @@ export var EuiBreadcrumbs = function EuiBreadcrumbs(_ref) {
|
|
|
114
31
|
truncate = _ref$truncate === void 0 ? true : _ref$truncate,
|
|
115
32
|
_ref$max = _ref.max,
|
|
116
33
|
max = _ref$max === void 0 ? 5 : _ref$max,
|
|
34
|
+
_ref$type = _ref.type,
|
|
35
|
+
type = _ref$type === void 0 ? 'page' : _ref$type,
|
|
36
|
+
_ref$lastBreadcrumbIs = _ref.lastBreadcrumbIsCurrentPage,
|
|
37
|
+
lastBreadcrumbIsCurrentPage = _ref$lastBreadcrumbIs === void 0 ? true : _ref$lastBreadcrumbIs,
|
|
117
38
|
rest = _objectWithoutProperties(_ref, _excluded);
|
|
118
39
|
|
|
119
40
|
var ariaLabel = useEuiI18n('euiBreadcrumbs.nav.ariaLabel', 'Breadcrumbs');
|
|
120
|
-
|
|
121
|
-
var
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
truncate
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
41
|
+
var euiTheme = useEuiTheme();
|
|
42
|
+
var breadcrumbsListStyles = euiBreadcrumbsListStyles(euiTheme);
|
|
43
|
+
var cssBreadcrumbsListStyles = [breadcrumbsListStyles.euiBreadcrumbs__list, truncate && breadcrumbsListStyles.isTruncated];
|
|
44
|
+
var responsiveMax = useResponsiveMax(responsive, max);
|
|
45
|
+
var visibleBreadcrumbs = useMemo(function () {
|
|
46
|
+
var shouldCollapseBreadcrumbs = responsiveMax && breadcrumbs.length > responsiveMax;
|
|
47
|
+
return shouldCollapseBreadcrumbs ? limitBreadcrumbs(breadcrumbs, responsiveMax) : breadcrumbs;
|
|
48
|
+
}, [breadcrumbs, responsiveMax]);
|
|
49
|
+
var breadcrumbChildren = useMemo(function () {
|
|
50
|
+
return visibleBreadcrumbs.map(function (breadcrumb, index) {
|
|
51
|
+
var isFirstBreadcrumb = index === 0;
|
|
52
|
+
var isLastBreadcrumb = index === visibleBreadcrumbs.length - 1;
|
|
53
|
+
var isOnlyBreadcrumb = visibleBreadcrumbs.length === 1;
|
|
54
|
+
var sharedProps = {
|
|
55
|
+
type: type,
|
|
56
|
+
truncate: truncate
|
|
57
|
+
};
|
|
58
|
+
return breadcrumb.isCollapsedButton ? ___EmotionJSX(EuiBreadcrumbCollapsed, _extends({
|
|
59
|
+
key: "collapsed"
|
|
60
|
+
}, sharedProps, {
|
|
61
|
+
isFirstBreadcrumb: isFirstBreadcrumb
|
|
62
|
+
}), ___EmotionJSX(EuiBreadcrumbs, {
|
|
63
|
+
breadcrumbs: breadcrumb.overflowBreadcrumbs,
|
|
64
|
+
lastBreadcrumbIsCurrentPage: false,
|
|
65
|
+
responsive: false,
|
|
66
|
+
truncate: false,
|
|
67
|
+
max: 0
|
|
68
|
+
})) : ___EmotionJSX(EuiBreadcrumb, _extends({
|
|
69
|
+
key: index
|
|
70
|
+
}, sharedProps), ___EmotionJSX(EuiBreadcrumbContent, _extends({
|
|
71
|
+
isFirstBreadcrumb: isFirstBreadcrumb,
|
|
72
|
+
isLastBreadcrumb: isLastBreadcrumb,
|
|
73
|
+
isOnlyBreadcrumb: isOnlyBreadcrumb,
|
|
74
|
+
highlightLastBreadcrumb: isLastBreadcrumb && lastBreadcrumbIsCurrentPage
|
|
75
|
+
}, sharedProps, breadcrumb)));
|
|
153
76
|
});
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
77
|
+
}, [visibleBreadcrumbs, truncate, type, lastBreadcrumbIsCurrentPage]);
|
|
78
|
+
return ___EmotionJSX("nav", _extends({
|
|
79
|
+
"aria-label": ariaLabel,
|
|
80
|
+
className: classNames('euiBreadcrumbs', className)
|
|
81
|
+
}, rest), ___EmotionJSX("ol", {
|
|
82
|
+
className: "euiBreadcrumbs__list",
|
|
83
|
+
css: cssBreadcrumbsListStyles
|
|
84
|
+
}, breadcrumbChildren));
|
|
85
|
+
};
|
|
86
|
+
export var useResponsiveMax = function useResponsiveMax(responsive, max) {
|
|
87
|
+
// Use the default object if they simply passed `true` for responsive
|
|
88
|
+
var responsiveObject = _typeof(responsive) === 'object' ? responsive : responsiveDefault; // The max property collapses any breadcrumbs past the max quantity.
|
|
89
|
+
// This is the same behavior we want for responsiveness.
|
|
90
|
+
// So calculate the max value based on the combination of `max` and `responsive`
|
|
158
91
|
|
|
159
|
-
|
|
160
|
-
var title = innerText === '' ? undefined : innerText;
|
|
92
|
+
var responsiveMax = max; // Set the calculated max to the number associated with the currentBreakpoint key if it exists
|
|
161
93
|
|
|
162
|
-
|
|
163
|
-
return ___EmotionJSX("span", _extends({
|
|
164
|
-
ref: ref,
|
|
165
|
-
title: title
|
|
166
|
-
}, linkProps, breadcrumbRest), text);
|
|
167
|
-
}
|
|
94
|
+
var currentBreakpoint = useCurrentEuiBreakpoint();
|
|
168
95
|
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
onClick: onClick,
|
|
173
|
-
href: href,
|
|
174
|
-
title: title
|
|
175
|
-
}, linkProps, breadcrumbRest), text);
|
|
176
|
-
});
|
|
96
|
+
if (responsive && currentBreakpoint && responsiveObject[currentBreakpoint]) {
|
|
97
|
+
responsiveMax = responsiveObject[currentBreakpoint];
|
|
98
|
+
} // Final check is to make sure max is used over a larger breakpoint value
|
|
177
99
|
|
|
178
|
-
return ___EmotionJSX("li", {
|
|
179
|
-
className: className,
|
|
180
|
-
key: index
|
|
181
|
-
}, link);
|
|
182
|
-
}); // Use the default object if they simply passed `true` for responsive
|
|
183
100
|
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
101
|
+
if (max && responsiveMax) {
|
|
102
|
+
responsiveMax = max < responsiveMax ? max : responsiveMax;
|
|
103
|
+
}
|
|
187
104
|
|
|
188
|
-
|
|
105
|
+
return responsiveMax;
|
|
106
|
+
};
|
|
107
|
+
export var limitBreadcrumbs = function limitBreadcrumbs(breadcrumbs, max) {
|
|
108
|
+
var breadcrumbsAtStart = [];
|
|
109
|
+
var breadcrumbsAtEnd = [];
|
|
110
|
+
var limit = Math.min(max, breadcrumbs.length);
|
|
111
|
+
var start = Math.floor(limit / 2);
|
|
112
|
+
var overflowBreadcrumbs = breadcrumbs.slice(start, start + breadcrumbs.length - limit);
|
|
189
113
|
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
114
|
+
for (var i = 0; i < limit; i++) {
|
|
115
|
+
// We'll alternate with displaying breadcrumbs at the end and at the start, but be biased
|
|
116
|
+
// towards breadcrumbs the end so that if max is an odd number, we'll have one more
|
|
117
|
+
// breadcrumb visible at the end than at the beginning.
|
|
118
|
+
var isEven = i % 2 === 0; // We're picking breadcrumbs from the front AND the back, so we treat each iteration as a
|
|
119
|
+
// half-iteration.
|
|
193
120
|
|
|
121
|
+
var normalizedIndex = Math.floor(i * 0.5);
|
|
122
|
+
var indexOfBreadcrumb = isEven ? breadcrumbs.length - 1 - normalizedIndex : normalizedIndex;
|
|
123
|
+
var breadcrumb = breadcrumbs[indexOfBreadcrumb];
|
|
194
124
|
|
|
195
|
-
|
|
196
|
-
|
|
125
|
+
if (isEven) {
|
|
126
|
+
breadcrumbsAtEnd.unshift(breadcrumb);
|
|
127
|
+
} else {
|
|
128
|
+
breadcrumbsAtStart.push(breadcrumb);
|
|
129
|
+
}
|
|
197
130
|
}
|
|
198
131
|
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
});
|
|
203
|
-
return ___EmotionJSX("nav", _extends({
|
|
204
|
-
"aria-label": ariaLabel,
|
|
205
|
-
className: classes
|
|
206
|
-
}, rest), ___EmotionJSX("ol", {
|
|
207
|
-
className: "euiBreadcrumbs__list"
|
|
208
|
-
}, limitedBreadcrumbs));
|
|
132
|
+
return [].concat(breadcrumbsAtStart, [{
|
|
133
|
+
isCollapsedButton: true,
|
|
134
|
+
overflowBreadcrumbs: overflowBreadcrumbs
|
|
135
|
+
}], breadcrumbsAtEnd);
|
|
209
136
|
};
|
|
@@ -0,0 +1,30 @@
|
|
|
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 { euiFontSize, logicalCSS } from '../../global_styling';
|
|
12
|
+
|
|
13
|
+
var _ref = process.env.NODE_ENV === "production" ? {
|
|
14
|
+
name: "1bwn7gf-isTruncated",
|
|
15
|
+
styles: "flex-wrap:nowrap;white-space:nowrap;label:isTruncated;"
|
|
16
|
+
} : {
|
|
17
|
+
name: "1bwn7gf-isTruncated",
|
|
18
|
+
styles: "flex-wrap:nowrap;white-space:nowrap;label:isTruncated;",
|
|
19
|
+
toString: _EMOTION_STRINGIFIED_CSS_ERROR__
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
export var euiBreadcrumbsListStyles = function euiBreadcrumbsListStyles(euiThemeContext) {
|
|
23
|
+
// Styles cast to the <ol> element
|
|
24
|
+
var euiTheme = euiThemeContext.euiTheme;
|
|
25
|
+
return {
|
|
26
|
+
euiBreadcrumbs__list: /*#__PURE__*/css(euiFontSize(euiThemeContext, 's'), ";align-items:center;display:flex;flex-wrap:wrap;line-height:", euiTheme.size.l, ";", logicalCSS( // Add vertical space between breadcrumbs, but make sure the whole breadcrumb set doesn't add space below itself
|
|
27
|
+
'margin-bottom', "-".concat(euiTheme.size.xs)), " ", logicalCSS('min-width', 0), ";;label:euiBreadcrumbs__list;"),
|
|
28
|
+
isTruncated: _ref
|
|
29
|
+
};
|
|
30
|
+
};
|
|
@@ -25,7 +25,7 @@ import { EuiButtonIcon } from '../button';
|
|
|
25
25
|
import { keysOf } from '../common';
|
|
26
26
|
import { EuiCopy } from '../copy';
|
|
27
27
|
import { EuiFocusTrap } from '../focus_trap';
|
|
28
|
-
import {
|
|
28
|
+
import { useEuiI18n } from '../i18n';
|
|
29
29
|
import { useInnerText } from '../inner_text';
|
|
30
30
|
import { useMutationObserver } from '../observer/mutation_observer';
|
|
31
31
|
import { useResizeObserver } from '../observer/resize_observer';
|
|
@@ -109,7 +109,7 @@ export var EuiCodeBlock = function EuiCodeBlock(_ref) {
|
|
|
109
109
|
}),
|
|
110
110
|
innerTextRef = _useCopy.innerTextRef,
|
|
111
111
|
showCopyButton = _useCopy.showCopyButton,
|
|
112
|
-
|
|
112
|
+
textToCopy = _useCopy.textToCopy;
|
|
113
113
|
|
|
114
114
|
var _useOverflowDetection = useOverflowDetection(),
|
|
115
115
|
setWrapperRef = _useOverflowDetection.setWrapperRef,
|
|
@@ -122,8 +122,8 @@ export var EuiCodeBlock = function EuiCodeBlock(_ref) {
|
|
|
122
122
|
}),
|
|
123
123
|
showFullScreenButton = _useFullScreen.showFullScreenButton,
|
|
124
124
|
onKeyDown = _useFullScreen.onKeyDown,
|
|
125
|
-
|
|
126
|
-
|
|
125
|
+
isFullScreen = _useFullScreen.isFullScreen,
|
|
126
|
+
toggleFullScreen = _useFullScreen.toggleFullScreen; // Classes used in both fullscreen and non-fullscreen mode
|
|
127
127
|
|
|
128
128
|
|
|
129
129
|
var wrapperClasses = classNames(className, 'euiCodeBlock', {
|
|
@@ -153,25 +153,32 @@ export var EuiCodeBlock = function EuiCodeBlock(_ref) {
|
|
|
153
153
|
onKeyDown: onKeyDown
|
|
154
154
|
};
|
|
155
155
|
}, [preClasses, onKeyDown]);
|
|
156
|
-
var
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
}
|
|
162
|
-
|
|
163
|
-
var wrapperProps = {
|
|
164
|
-
className: classes,
|
|
165
|
-
style: optionalStyles
|
|
166
|
-
};
|
|
167
|
-
var codeBlockControls;
|
|
168
|
-
|
|
169
|
-
if (showCopyButton || showFullScreenButton) {
|
|
170
|
-
codeBlockControls = ___EmotionJSX("div", {
|
|
171
|
-
className: "euiCodeBlock__controls"
|
|
172
|
-
}, ___EmotionJSX(FullScreenButton, null), ___EmotionJSX(CopyButton, null));
|
|
173
|
-
}
|
|
156
|
+
var overflowHeightStyles = useMemo(function () {
|
|
157
|
+
if (overflowHeight) {
|
|
158
|
+
var property = typeof overflowHeight === 'string' ? 'height' : 'maxHeight';
|
|
159
|
+
return _defineProperty({}, property, overflowHeight);
|
|
160
|
+
}
|
|
174
161
|
|
|
162
|
+
return {};
|
|
163
|
+
}, [overflowHeight]);
|
|
164
|
+
var wrapperProps = useMemo(function () {
|
|
165
|
+
return {
|
|
166
|
+
className: classes,
|
|
167
|
+
style: overflowHeightStyles
|
|
168
|
+
};
|
|
169
|
+
}, [classes, overflowHeightStyles]);
|
|
170
|
+
var codeBlockControls = useMemo(function () {
|
|
171
|
+
if (showCopyButton || showFullScreenButton) {
|
|
172
|
+
return ___EmotionJSX("div", {
|
|
173
|
+
className: "euiCodeBlock__controls"
|
|
174
|
+
}, showFullScreenButton && ___EmotionJSX(FullScreenButton, {
|
|
175
|
+
isFullScreen: isFullScreen,
|
|
176
|
+
toggleFullScreen: toggleFullScreen
|
|
177
|
+
}), showCopyButton && ___EmotionJSX(CopyButton, {
|
|
178
|
+
textToCopy: textToCopy
|
|
179
|
+
}));
|
|
180
|
+
}
|
|
181
|
+
}, [isFullScreen, toggleFullScreen, showCopyButton, showFullScreenButton, textToCopy]);
|
|
175
182
|
return ___EmotionJSX("div", wrapperProps, isVirtualized ? ___EmotionJSX(VirtualizedCodeBlock, {
|
|
176
183
|
data: data,
|
|
177
184
|
rowHeight: fontSizeToRowHeightMap[fontSize],
|
|
@@ -181,10 +188,10 @@ export var EuiCodeBlock = function EuiCodeBlock(_ref) {
|
|
|
181
188
|
codeProps: codeProps
|
|
182
189
|
}) : ___EmotionJSX("pre", {
|
|
183
190
|
ref: combinedRef,
|
|
184
|
-
style:
|
|
191
|
+
style: overflowHeightStyles,
|
|
185
192
|
className: preClasses,
|
|
186
193
|
tabIndex: tabIndex
|
|
187
|
-
}, ___EmotionJSX("code", codeProps, content)), codeBlockControls, ___EmotionJSX(FullScreenDisplay, {
|
|
194
|
+
}, ___EmotionJSX("code", codeProps, content)), codeBlockControls, isFullScreen && ___EmotionJSX(FullScreenDisplay, {
|
|
188
195
|
className: wrapperClasses
|
|
189
196
|
}, isVirtualized ? ___EmotionJSX(VirtualizedCodeBlock, {
|
|
190
197
|
data: data,
|
|
@@ -241,10 +248,27 @@ var useOverflowDetection = function useOverflowDetection() {
|
|
|
241
248
|
*/
|
|
242
249
|
|
|
243
250
|
|
|
244
|
-
var
|
|
245
|
-
var
|
|
246
|
-
|
|
247
|
-
|
|
251
|
+
var CopyButton = function CopyButton(_ref3) {
|
|
252
|
+
var textToCopy = _ref3.textToCopy;
|
|
253
|
+
var copyButton = useEuiI18n('euiCodeBlock.copyButton', 'Copy');
|
|
254
|
+
return ___EmotionJSX("div", {
|
|
255
|
+
className: "euiCodeBlock__copyButton"
|
|
256
|
+
}, ___EmotionJSX(EuiCopy, {
|
|
257
|
+
textToCopy: textToCopy
|
|
258
|
+
}, function (copy) {
|
|
259
|
+
return ___EmotionJSX(EuiButtonIcon, {
|
|
260
|
+
onClick: copy,
|
|
261
|
+
iconType: "copyClipboard",
|
|
262
|
+
color: "text",
|
|
263
|
+
"aria-label": copyButton
|
|
264
|
+
});
|
|
265
|
+
}));
|
|
266
|
+
};
|
|
267
|
+
|
|
268
|
+
var useCopy = function useCopy(_ref4) {
|
|
269
|
+
var isCopyable = _ref4.isCopyable,
|
|
270
|
+
isVirtualized = _ref4.isVirtualized,
|
|
271
|
+
children = _ref4.children;
|
|
248
272
|
|
|
249
273
|
var _useInnerText = useInnerText(''),
|
|
250
274
|
_useInnerText2 = _slicedToArray(_useInnerText, 2),
|
|
@@ -257,32 +281,10 @@ var useCopy = function useCopy(_ref2) {
|
|
|
257
281
|
var textToCopy = isVirtualized ? "".concat(children) : innerText; // Virtualized code blocks do not have inner text
|
|
258
282
|
|
|
259
283
|
var showCopyButton = isCopyable && textToCopy;
|
|
260
|
-
|
|
261
|
-
var CopyButton = function CopyButton() {
|
|
262
|
-
if (!showCopyButton) return null;
|
|
263
|
-
return ___EmotionJSX("div", {
|
|
264
|
-
className: "euiCodeBlock__copyButton"
|
|
265
|
-
}, ___EmotionJSX(EuiI18n, {
|
|
266
|
-
token: "euiCodeBlock.copyButton",
|
|
267
|
-
default: "Copy"
|
|
268
|
-
}, function (copyButton) {
|
|
269
|
-
return ___EmotionJSX(EuiCopy, {
|
|
270
|
-
textToCopy: textToCopy
|
|
271
|
-
}, function (copy) {
|
|
272
|
-
return ___EmotionJSX(EuiButtonIcon, {
|
|
273
|
-
onClick: copy,
|
|
274
|
-
iconType: "copyClipboard",
|
|
275
|
-
color: "text",
|
|
276
|
-
"aria-label": copyButton
|
|
277
|
-
});
|
|
278
|
-
});
|
|
279
|
-
}));
|
|
280
|
-
};
|
|
281
|
-
|
|
282
284
|
return {
|
|
283
285
|
innerTextRef: innerTextRef,
|
|
284
286
|
showCopyButton: showCopyButton,
|
|
285
|
-
|
|
287
|
+
textToCopy: textToCopy
|
|
286
288
|
};
|
|
287
289
|
};
|
|
288
290
|
/**
|
|
@@ -290,18 +292,50 @@ var useCopy = function useCopy(_ref2) {
|
|
|
290
292
|
*/
|
|
291
293
|
|
|
292
294
|
|
|
293
|
-
var
|
|
294
|
-
var
|
|
295
|
+
var FullScreenButton = function FullScreenButton(_ref5) {
|
|
296
|
+
var isFullScreen = _ref5.isFullScreen,
|
|
297
|
+
toggleFullScreen = _ref5.toggleFullScreen;
|
|
298
|
+
|
|
299
|
+
var _useEuiI18n = useEuiI18n(['euiCodeBlock.fullscreenCollapse', 'euiCodeBlock.fullscreenExpand'], ['Collapse', 'Expand']),
|
|
300
|
+
_useEuiI18n2 = _slicedToArray(_useEuiI18n, 2),
|
|
301
|
+
fullscreenCollapse = _useEuiI18n2[0],
|
|
302
|
+
fullscreenExpand = _useEuiI18n2[1];
|
|
303
|
+
|
|
304
|
+
return ___EmotionJSX(EuiButtonIcon, {
|
|
305
|
+
className: "euiCodeBlock__fullScreenButton",
|
|
306
|
+
onClick: toggleFullScreen,
|
|
307
|
+
iconType: isFullScreen ? 'fullScreenExit' : 'fullScreen',
|
|
308
|
+
color: "text",
|
|
309
|
+
"aria-label": isFullScreen ? fullscreenCollapse : fullscreenExpand
|
|
310
|
+
});
|
|
311
|
+
};
|
|
312
|
+
|
|
313
|
+
var FullScreenDisplay = function FullScreenDisplay(_ref6) {
|
|
314
|
+
var children = _ref6.children,
|
|
315
|
+
className = _ref6.className;
|
|
316
|
+
// Force fullscreen to use large font and padding.
|
|
317
|
+
var fullScreenClasses = classNames(className, 'euiCodeBlock--fontLarge', 'euiCodeBlock--paddingLarge', 'euiCodeBlock-isFullScreen'); // Attaches to the body because of EuiOverlayMask's React portal usage.
|
|
318
|
+
|
|
319
|
+
return ___EmotionJSX(EuiOverlayMask, null, ___EmotionJSX(EuiFocusTrap, {
|
|
320
|
+
clickOutsideDisables: true
|
|
321
|
+
}, ___EmotionJSX("div", {
|
|
322
|
+
className: fullScreenClasses
|
|
323
|
+
}, children)));
|
|
324
|
+
};
|
|
325
|
+
|
|
326
|
+
var useFullScreen = function useFullScreen(_ref7) {
|
|
327
|
+
var overflowHeight = _ref7.overflowHeight;
|
|
295
328
|
|
|
296
329
|
var _useState5 = useState(false),
|
|
297
330
|
_useState6 = _slicedToArray(_useState5, 2),
|
|
298
331
|
isFullScreen = _useState6[0],
|
|
299
332
|
setIsFullScreen = _useState6[1];
|
|
300
333
|
|
|
301
|
-
var toggleFullScreen = function
|
|
302
|
-
setIsFullScreen(
|
|
303
|
-
|
|
304
|
-
|
|
334
|
+
var toggleFullScreen = useCallback(function () {
|
|
335
|
+
setIsFullScreen(function (isFullScreen) {
|
|
336
|
+
return !isFullScreen;
|
|
337
|
+
});
|
|
338
|
+
}, []);
|
|
305
339
|
var onKeyDown = useCallback(function (event) {
|
|
306
340
|
if (event.key === keys.ESCAPE) {
|
|
307
341
|
event.preventDefault();
|
|
@@ -310,45 +344,10 @@ var useFullScreen = function useFullScreen(_ref3) {
|
|
|
310
344
|
}
|
|
311
345
|
}, []);
|
|
312
346
|
var showFullScreenButton = !!overflowHeight;
|
|
313
|
-
|
|
314
|
-
var FullScreenButton = function FullScreenButton() {
|
|
315
|
-
if (!showFullScreenButton) return null;
|
|
316
|
-
return ___EmotionJSX(EuiI18n, {
|
|
317
|
-
tokens: ['euiCodeBlock.fullscreenCollapse', 'euiCodeBlock.fullscreenExpand'],
|
|
318
|
-
defaults: ['Collapse', 'Expand']
|
|
319
|
-
}, function (_ref4) {
|
|
320
|
-
var _ref5 = _slicedToArray(_ref4, 2),
|
|
321
|
-
fullscreenCollapse = _ref5[0],
|
|
322
|
-
fullscreenExpand = _ref5[1];
|
|
323
|
-
|
|
324
|
-
return ___EmotionJSX(EuiButtonIcon, {
|
|
325
|
-
className: "euiCodeBlock__fullScreenButton",
|
|
326
|
-
onClick: toggleFullScreen,
|
|
327
|
-
iconType: isFullScreen ? 'fullScreenExit' : 'fullScreen',
|
|
328
|
-
color: "text",
|
|
329
|
-
"aria-label": isFullScreen ? fullscreenCollapse : fullscreenExpand
|
|
330
|
-
});
|
|
331
|
-
});
|
|
332
|
-
};
|
|
333
|
-
|
|
334
|
-
var FullScreenDisplay = function FullScreenDisplay(_ref6) {
|
|
335
|
-
var children = _ref6.children,
|
|
336
|
-
className = _ref6.className;
|
|
337
|
-
if (!isFullScreen) return null; // Force fullscreen to use large font and padding.
|
|
338
|
-
|
|
339
|
-
var fullScreenClasses = classNames(className, 'euiCodeBlock--fontLarge', 'euiCodeBlock--paddingLarge', 'euiCodeBlock-isFullScreen'); // Attaches to the body because of EuiOverlayMask's React portal usage.
|
|
340
|
-
|
|
341
|
-
return ___EmotionJSX(EuiOverlayMask, null, ___EmotionJSX(EuiFocusTrap, {
|
|
342
|
-
clickOutsideDisables: true
|
|
343
|
-
}, ___EmotionJSX("div", {
|
|
344
|
-
className: fullScreenClasses
|
|
345
|
-
}, children)));
|
|
346
|
-
};
|
|
347
|
-
|
|
348
347
|
return {
|
|
349
348
|
showFullScreenButton: showFullScreenButton,
|
|
350
|
-
|
|
351
|
-
|
|
349
|
+
isFullScreen: isFullScreen,
|
|
350
|
+
toggleFullScreen: toggleFullScreen,
|
|
352
351
|
onKeyDown: onKeyDown
|
|
353
352
|
};
|
|
354
353
|
};
|
|
@@ -357,21 +356,21 @@ var useFullScreen = function useFullScreen(_ref3) {
|
|
|
357
356
|
*/
|
|
358
357
|
|
|
359
358
|
|
|
360
|
-
var ListRow = function ListRow(
|
|
361
|
-
var data =
|
|
362
|
-
index =
|
|
363
|
-
style =
|
|
359
|
+
var ListRow = function ListRow(_ref8) {
|
|
360
|
+
var data = _ref8.data,
|
|
361
|
+
index = _ref8.index,
|
|
362
|
+
style = _ref8.style;
|
|
364
363
|
var row = data[index];
|
|
365
364
|
row.properties.style = style;
|
|
366
365
|
return nodeToHtml(row, index, data, 0);
|
|
367
366
|
};
|
|
368
367
|
|
|
369
|
-
var VirtualizedCodeBlock = function VirtualizedCodeBlock(
|
|
370
|
-
var data =
|
|
371
|
-
rowHeight =
|
|
372
|
-
overflowHeight =
|
|
373
|
-
preProps =
|
|
374
|
-
codeProps =
|
|
368
|
+
var VirtualizedCodeBlock = function VirtualizedCodeBlock(_ref9) {
|
|
369
|
+
var data = _ref9.data,
|
|
370
|
+
rowHeight = _ref9.rowHeight,
|
|
371
|
+
overflowHeight = _ref9.overflowHeight,
|
|
372
|
+
preProps = _ref9.preProps,
|
|
373
|
+
codeProps = _ref9.codeProps;
|
|
375
374
|
var VirtualizedOuterElement = useMemo(function () {
|
|
376
375
|
return /*#__PURE__*/forwardRef(function (props, ref) {
|
|
377
376
|
return ___EmotionJSX("pre", _extends({}, props, {
|
|
@@ -388,9 +387,9 @@ var VirtualizedCodeBlock = function VirtualizedCodeBlock(_ref8) {
|
|
|
388
387
|
}, [codeProps]);
|
|
389
388
|
return ___EmotionJSX(EuiAutoSizer, {
|
|
390
389
|
disableHeight: typeof overflowHeight === 'number'
|
|
391
|
-
}, function (
|
|
392
|
-
var height =
|
|
393
|
-
width =
|
|
390
|
+
}, function (_ref10) {
|
|
391
|
+
var height = _ref10.height,
|
|
392
|
+
width = _ref10.width;
|
|
394
393
|
return ___EmotionJSX(FixedSizeList, {
|
|
395
394
|
height: height !== null && height !== void 0 ? height : overflowHeight,
|
|
396
395
|
width: width,
|
|
@@ -320,6 +320,8 @@ export var EuiDataGridBody = function EuiDataGridBody(props) {
|
|
|
320
320
|
|
|
321
321
|
var rowHeightUtils = useRowHeightUtils({
|
|
322
322
|
gridRef: gridRef,
|
|
323
|
+
outerGridElementRef: outerGridRef,
|
|
324
|
+
gridItemsRenderedRef: gridItemsRendered,
|
|
323
325
|
gridStyles: gridStyles,
|
|
324
326
|
columns: columns,
|
|
325
327
|
rowHeightsOptions: rowHeightsOptions
|