@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
|
@@ -8,9 +8,10 @@ import _regeneratorRuntime from "@babel/runtime/regenerator";
|
|
|
8
8
|
* in compliance with, at your election, the Elastic License 2.0 or the Server
|
|
9
9
|
* Side Public License, v 1.
|
|
10
10
|
*/
|
|
11
|
+
import '@testing-library/jest-dom';
|
|
11
12
|
import { waitFor } from '@testing-library/react';
|
|
12
13
|
/**
|
|
13
|
-
* Ensure the EuiPopover being tested is open/closed before
|
|
14
|
+
* Ensure the EuiPopover being tested is open/closed before continuing
|
|
14
15
|
* Note: Because EuiPopover is portalled, we want to query `document`
|
|
15
16
|
* instead of the `container` returned by RTL's render()
|
|
16
17
|
*/
|
|
@@ -68,4 +69,62 @@ export var waitForEuiPopoverClose = /*#__PURE__*/function () {
|
|
|
68
69
|
return function waitForEuiPopoverClose() {
|
|
69
70
|
return _ref2.apply(this, arguments);
|
|
70
71
|
};
|
|
72
|
+
}();
|
|
73
|
+
/**
|
|
74
|
+
* Ensure the EuiToolTip being tested is open and visible before continuing
|
|
75
|
+
*/
|
|
76
|
+
|
|
77
|
+
export var waitForEuiToolTipVisible = /*#__PURE__*/function () {
|
|
78
|
+
var _ref3 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee3() {
|
|
79
|
+
return _regeneratorRuntime.wrap(function _callee3$(_context3) {
|
|
80
|
+
while (1) {
|
|
81
|
+
switch (_context3.prev = _context3.next) {
|
|
82
|
+
case 0:
|
|
83
|
+
_context3.next = 2;
|
|
84
|
+
return waitFor(function () {
|
|
85
|
+
var tooltip = document.querySelector('.euiToolTipPopover');
|
|
86
|
+
expect(tooltip).toBeVisible();
|
|
87
|
+
});
|
|
88
|
+
|
|
89
|
+
case 2:
|
|
90
|
+
return _context3.abrupt("return", _context3.sent);
|
|
91
|
+
|
|
92
|
+
case 3:
|
|
93
|
+
case "end":
|
|
94
|
+
return _context3.stop();
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
}, _callee3);
|
|
98
|
+
}));
|
|
99
|
+
|
|
100
|
+
return function waitForEuiToolTipVisible() {
|
|
101
|
+
return _ref3.apply(this, arguments);
|
|
102
|
+
};
|
|
103
|
+
}();
|
|
104
|
+
export var waitForEuiToolTipHidden = /*#__PURE__*/function () {
|
|
105
|
+
var _ref4 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee4() {
|
|
106
|
+
return _regeneratorRuntime.wrap(function _callee4$(_context4) {
|
|
107
|
+
while (1) {
|
|
108
|
+
switch (_context4.prev = _context4.next) {
|
|
109
|
+
case 0:
|
|
110
|
+
_context4.next = 2;
|
|
111
|
+
return waitFor(function () {
|
|
112
|
+
var tooltip = document.querySelector('.euiToolTipPopover');
|
|
113
|
+
expect(tooltip).toBeNull();
|
|
114
|
+
});
|
|
115
|
+
|
|
116
|
+
case 2:
|
|
117
|
+
return _context4.abrupt("return", _context4.sent);
|
|
118
|
+
|
|
119
|
+
case 3:
|
|
120
|
+
case "end":
|
|
121
|
+
return _context4.stop();
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
}, _callee4);
|
|
125
|
+
}));
|
|
126
|
+
|
|
127
|
+
return function waitForEuiToolTipHidden() {
|
|
128
|
+
return _ref4.apply(this, arguments);
|
|
129
|
+
};
|
|
71
130
|
}();
|
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
6
|
+
|
|
7
|
+
Object.defineProperty(exports, "__esModule", {
|
|
8
|
+
value: true
|
|
9
|
+
});
|
|
10
|
+
exports.EuiBreadcrumbContent = exports.EuiBreadcrumbCollapsed = exports.EuiBreadcrumb = void 0;
|
|
11
|
+
|
|
12
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
13
|
+
|
|
14
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
15
|
+
|
|
16
|
+
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
17
|
+
|
|
18
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
19
|
+
|
|
20
|
+
var _classnames = _interopRequireDefault(require("classnames"));
|
|
21
|
+
|
|
22
|
+
var _services = require("../../services");
|
|
23
|
+
|
|
24
|
+
var _inner_text = require("../inner_text");
|
|
25
|
+
|
|
26
|
+
var _text = require("../text");
|
|
27
|
+
|
|
28
|
+
var _link = require("../link");
|
|
29
|
+
|
|
30
|
+
var _popover = require("../popover");
|
|
31
|
+
|
|
32
|
+
var _icon = require("../icon");
|
|
33
|
+
|
|
34
|
+
var _i18n = require("../i18n");
|
|
35
|
+
|
|
36
|
+
var _breadcrumb = require("./breadcrumb.styles");
|
|
37
|
+
|
|
38
|
+
var _react2 = require("@emotion/react");
|
|
39
|
+
|
|
40
|
+
var _excluded = ["children", "className", "type", "truncate"],
|
|
41
|
+
_excluded2 = ["text", "truncate", "type", "href", "rel", "onClick", "className", "color", "isFirstBreadcrumb", "isLastBreadcrumb", "isOnlyBreadcrumb", "highlightLastBreadcrumb"];
|
|
42
|
+
|
|
43
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
44
|
+
|
|
45
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
46
|
+
|
|
47
|
+
var EuiBreadcrumb = function EuiBreadcrumb(_ref) {
|
|
48
|
+
var children = _ref.children,
|
|
49
|
+
className = _ref.className,
|
|
50
|
+
type = _ref.type,
|
|
51
|
+
truncate = _ref.truncate,
|
|
52
|
+
rest = (0, _objectWithoutProperties2.default)(_ref, _excluded);
|
|
53
|
+
var classes = (0, _classnames.default)('euiBreadcrumb', className);
|
|
54
|
+
var euiTheme = (0, _services.useEuiTheme)();
|
|
55
|
+
var styles = (0, _breadcrumb.euiBreadcrumbStyles)(euiTheme);
|
|
56
|
+
var cssStyles = [styles.euiBreadcrumb, styles[type], truncate && styles.isTruncated];
|
|
57
|
+
return (0, _react2.jsx)("li", (0, _extends2.default)({
|
|
58
|
+
className: classes,
|
|
59
|
+
css: cssStyles
|
|
60
|
+
}, rest), children);
|
|
61
|
+
};
|
|
62
|
+
|
|
63
|
+
exports.EuiBreadcrumb = EuiBreadcrumb;
|
|
64
|
+
|
|
65
|
+
var EuiBreadcrumbContent = function EuiBreadcrumbContent(_ref2) {
|
|
66
|
+
var text = _ref2.text,
|
|
67
|
+
truncate = _ref2.truncate,
|
|
68
|
+
type = _ref2.type,
|
|
69
|
+
href = _ref2.href,
|
|
70
|
+
rel = _ref2.rel,
|
|
71
|
+
onClick = _ref2.onClick,
|
|
72
|
+
className = _ref2.className,
|
|
73
|
+
color = _ref2.color,
|
|
74
|
+
isFirstBreadcrumb = _ref2.isFirstBreadcrumb,
|
|
75
|
+
isLastBreadcrumb = _ref2.isLastBreadcrumb,
|
|
76
|
+
isOnlyBreadcrumb = _ref2.isOnlyBreadcrumb,
|
|
77
|
+
highlightLastBreadcrumb = _ref2.highlightLastBreadcrumb,
|
|
78
|
+
rest = (0, _objectWithoutProperties2.default)(_ref2, _excluded2);
|
|
79
|
+
var classes = (0, _classnames.default)('euiBreadcrumb__content', className);
|
|
80
|
+
var euiTheme = (0, _services.useEuiTheme)();
|
|
81
|
+
var styles = (0, _breadcrumb.euiBreadcrumbContentStyles)(euiTheme);
|
|
82
|
+
var cssStyles = [styles.euiBreadcrumb__content, styles[type], truncate && (isLastBreadcrumb ? styles.isTruncatedLast : styles.isTruncated)];
|
|
83
|
+
|
|
84
|
+
if (type === 'application') {
|
|
85
|
+
if (isOnlyBreadcrumb) {
|
|
86
|
+
cssStyles.push(styles.applicationStyles.onlyChild);
|
|
87
|
+
} else if (isFirstBreadcrumb) {
|
|
88
|
+
cssStyles.push(styles.applicationStyles.firstChild);
|
|
89
|
+
} else if (isLastBreadcrumb) {
|
|
90
|
+
cssStyles.push(styles.applicationStyles.lastChild);
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
var ariaCurrent = highlightLastBreadcrumb ? 'page' : undefined;
|
|
95
|
+
return (0, _react2.jsx)(_inner_text.EuiInnerText, null, function (ref, innerText) {
|
|
96
|
+
var title = innerText === '' ? undefined : innerText;
|
|
97
|
+
return !href && !onClick ? (0, _react2.jsx)(_text.EuiTextColor, {
|
|
98
|
+
color: highlightLastBreadcrumb ? 'default' : 'subdued',
|
|
99
|
+
cloneElement: true
|
|
100
|
+
}, (0, _react2.jsx)("span", (0, _extends2.default)({
|
|
101
|
+
ref: ref,
|
|
102
|
+
title: title,
|
|
103
|
+
"aria-current": ariaCurrent,
|
|
104
|
+
className: classes,
|
|
105
|
+
css: cssStyles
|
|
106
|
+
}, rest), text)) : (0, _react2.jsx)(_link.EuiLink, (0, _extends2.default)({
|
|
107
|
+
ref: ref,
|
|
108
|
+
title: title,
|
|
109
|
+
"aria-current": ariaCurrent,
|
|
110
|
+
className: classes,
|
|
111
|
+
css: cssStyles,
|
|
112
|
+
color: color || (highlightLastBreadcrumb ? 'text' : 'subdued'),
|
|
113
|
+
onClick: onClick,
|
|
114
|
+
href: href,
|
|
115
|
+
rel: rel
|
|
116
|
+
}, rest), text);
|
|
117
|
+
});
|
|
118
|
+
};
|
|
119
|
+
|
|
120
|
+
exports.EuiBreadcrumbContent = EuiBreadcrumbContent;
|
|
121
|
+
|
|
122
|
+
var EuiBreadcrumbCollapsed = function EuiBreadcrumbCollapsed(_ref3) {
|
|
123
|
+
var children = _ref3.children,
|
|
124
|
+
isFirstBreadcrumb = _ref3.isFirstBreadcrumb,
|
|
125
|
+
type = _ref3.type;
|
|
126
|
+
|
|
127
|
+
var _useState = (0, _react.useState)(false),
|
|
128
|
+
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
129
|
+
isPopoverOpen = _useState2[0],
|
|
130
|
+
setIsPopoverOpen = _useState2[1];
|
|
131
|
+
|
|
132
|
+
var euiTheme = (0, _services.useEuiTheme)();
|
|
133
|
+
var styles = (0, _breadcrumb.euiBreadcrumbStyles)(euiTheme);
|
|
134
|
+
var cssStyles = [styles.isCollapsed];
|
|
135
|
+
var ariaLabel = (0, _i18n.useEuiI18n)('euiBreadcrumb.collapsedBadge.ariaLabel', 'See collapsed breadcrumbs');
|
|
136
|
+
var ellipsisButton = (0, _react2.jsx)(EuiBreadcrumbContent, {
|
|
137
|
+
"aria-label": ariaLabel,
|
|
138
|
+
title: ariaLabel,
|
|
139
|
+
onClick: function onClick() {
|
|
140
|
+
return setIsPopoverOpen(!isPopoverOpen);
|
|
141
|
+
},
|
|
142
|
+
truncate: false,
|
|
143
|
+
text: (0, _react2.jsx)(_react.default.Fragment, null, "\u2026 ", (0, _react2.jsx)(_icon.EuiIcon, {
|
|
144
|
+
type: "arrowDown",
|
|
145
|
+
size: "s"
|
|
146
|
+
})),
|
|
147
|
+
isFirstBreadcrumb: isFirstBreadcrumb,
|
|
148
|
+
type: type
|
|
149
|
+
});
|
|
150
|
+
return (0, _react2.jsx)(EuiBreadcrumb, {
|
|
151
|
+
css: cssStyles,
|
|
152
|
+
type: type
|
|
153
|
+
}, (0, _react2.jsx)(_popover.EuiPopover, {
|
|
154
|
+
button: ellipsisButton,
|
|
155
|
+
isOpen: isPopoverOpen,
|
|
156
|
+
closePopover: function closePopover() {
|
|
157
|
+
return setIsPopoverOpen(false);
|
|
158
|
+
}
|
|
159
|
+
}, children));
|
|
160
|
+
};
|
|
161
|
+
|
|
162
|
+
exports.EuiBreadcrumbCollapsed = EuiBreadcrumbCollapsed;
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.euiBreadcrumbStyles = exports.euiBreadcrumbContentStyles = void 0;
|
|
7
|
+
|
|
8
|
+
var _react = require("@emotion/react");
|
|
9
|
+
|
|
10
|
+
var _color = require("../../services/color");
|
|
11
|
+
|
|
12
|
+
var _global_styling = require("../../global_styling");
|
|
13
|
+
|
|
14
|
+
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)."; }
|
|
15
|
+
|
|
16
|
+
var _ref = process.env.NODE_ENV === "production" ? {
|
|
17
|
+
name: "1k7t4ns-isCollapsed",
|
|
18
|
+
styles: "flex-shrink:0;label:isCollapsed;"
|
|
19
|
+
} : {
|
|
20
|
+
name: "1k7t4ns-isCollapsed",
|
|
21
|
+
styles: "flex-shrink:0;label:isCollapsed;",
|
|
22
|
+
toString: _EMOTION_STRINGIFIED_CSS_ERROR__
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
var _ref2 = process.env.NODE_ENV === "production" ? {
|
|
26
|
+
name: "p0bcva-isTruncated",
|
|
27
|
+
styles: "overflow:hidden;label:isTruncated;"
|
|
28
|
+
} : {
|
|
29
|
+
name: "p0bcva-isTruncated",
|
|
30
|
+
styles: "overflow:hidden;label:isTruncated;",
|
|
31
|
+
toString: _EMOTION_STRINGIFIED_CSS_ERROR__
|
|
32
|
+
};
|
|
33
|
+
|
|
34
|
+
var euiBreadcrumbStyles = function euiBreadcrumbStyles(euiThemeContext) {
|
|
35
|
+
// Styles cast to <li> element
|
|
36
|
+
var euiTheme = euiThemeContext.euiTheme;
|
|
37
|
+
return {
|
|
38
|
+
euiBreadcrumb: /*#__PURE__*/(0, _react.css)("align-items:center;display:flex;", (0, _global_styling.logicalCSS)( // See .euiBreadcrumbs__list's negative margin-bottom
|
|
39
|
+
'margin-bottom', euiTheme.size.xs), ";;label:euiBreadcrumb;"),
|
|
40
|
+
isTruncated: _ref2,
|
|
41
|
+
isCollapsed: _ref,
|
|
42
|
+
// Types
|
|
43
|
+
page: /*#__PURE__*/(0, _react.css)("&:not(:last-of-type){&:after{background:", euiTheme.colors.lightShade, ";content:'';flex-shrink:0;", (0, _global_styling.logicalCSS)('margin-top', euiTheme.size.xs), " ", (0, _global_styling.logicalCSS)('margin-bottom', 0), " ", (0, _global_styling.logicalCSS)('margin-horizontal', euiTheme.size.s), " ", (0, _global_styling.logicalCSS)('height', euiTheme.size.base), " ", (0, _global_styling.logicalCSS)('width', '1px'), " transform:translateY(-1px) rotate(15deg);}};label:page;"),
|
|
44
|
+
application: /*#__PURE__*/(0, _react.css)("&:not(:last-of-type){", (0, _global_styling.logicalCSS)('margin-right', "-".concat(euiTheme.size.xs)), ";};label:application;")
|
|
45
|
+
};
|
|
46
|
+
};
|
|
47
|
+
|
|
48
|
+
exports.euiBreadcrumbStyles = euiBreadcrumbStyles;
|
|
49
|
+
|
|
50
|
+
var euiBreadcrumbContentStyles = function euiBreadcrumbContentStyles(euiThemeContext) {
|
|
51
|
+
// Styles cast to <a>, <span>, or collapsed <button> elements
|
|
52
|
+
var euiTheme = euiThemeContext.euiTheme;
|
|
53
|
+
return {
|
|
54
|
+
euiBreadcrumb__content: /*#__PURE__*/(0, _react.css)("font-weight:", euiTheme.font.weight.medium, ";text-align:center;vertical-align:baseline;;label:euiBreadcrumb__content;"),
|
|
55
|
+
isTruncated: /*#__PURE__*/(0, _react.css)((0, _global_styling.euiTextTruncate)("".concat(parseFloat(euiTheme.size.base) * 10, "px")), ";;label:isTruncated;"),
|
|
56
|
+
isTruncatedLast: /*#__PURE__*/(0, _react.css)((0, _global_styling.euiTextTruncate)('none'), ";;label:isTruncatedLast;"),
|
|
57
|
+
// Types
|
|
58
|
+
page: /*#__PURE__*/(0, _react.css)("&:is(a):focus{", (0, _global_styling.euiFocusRing)(euiTheme, 'inset'), ";}&:is(button):focus{", (0, _global_styling.euiFocusRing)(euiTheme, 'center'), ";};label:page;"),
|
|
59
|
+
application: /*#__PURE__*/(0, _react.css)((0, _global_styling.euiFontSize)(euiThemeContext, 'xs'), ";background-color:", (0, _color.transparentize)(euiTheme.colors.darkestShade, 0.2), ";clip-path:polygon(\n 0 0,\n calc(100% - ", euiTheme.size.s, ") 0,\n 100% 50%,\n calc(100% - ", euiTheme.size.s, ") 100%,\n 0 100%,\n ", euiTheme.size.s, " 50%\n );color:", euiTheme.colors.darkestShade, ";line-height:", euiTheme.size.base, ";", (0, _global_styling.logicalCSS)('padding-vertical', euiTheme.size.xs), " ", (0, _global_styling.logicalCSS)('padding-horizontal', euiTheme.size.base), " &:is(a),&:is(button){background-color:", (0, _color.transparentize)(euiTheme.colors.primary, 0.2), ";color:", euiTheme.colors.link, ";:focus{", (0, _global_styling.euiFocusRing)(euiTheme, 'inset'), ";:focus-visible{border-radius:", euiTheme.border.radius.medium, ";clip-path:none;}}};label:application;"),
|
|
60
|
+
applicationStyles: {
|
|
61
|
+
onlyChild: /*#__PURE__*/(0, _react.css)("border-radius:", euiTheme.border.radius.medium, ";clip-path:none;", (0, _global_styling.logicalCSS)('padding-horizontal', euiTheme.size.m), ",;;label:onlyChild;"),
|
|
62
|
+
firstChild: /*#__PURE__*/(0, _react.css)("border-radius:", euiTheme.border.radius.medium, " 0 0 ", euiTheme.border.radius.medium, ";clip-path:polygon(\n 0 0,\n calc(100% - ", euiTheme.size.s, ") 0,\n 100% 50%,\n calc(100% - ", euiTheme.size.s, ") 100%,\n 0 100%\n );", (0, _global_styling.logicalCSS)('padding-left', euiTheme.size.m), ",;;label:firstChild;"),
|
|
63
|
+
lastChild: /*#__PURE__*/(0, _react.css)("border-radius:0 ", euiTheme.border.radius.medium, " ", euiTheme.border.radius.medium, " 0;clip-path:polygon(\n 0 0,\n 100% 0,\n 100% 100%,\n 0 100%,\n ", euiTheme.size.s, " 50%\n );", (0, _global_styling.logicalCSS)('padding-right', euiTheme.size.m), ",;;label:lastChild;")
|
|
64
|
+
}
|
|
65
|
+
};
|
|
66
|
+
};
|
|
67
|
+
|
|
68
|
+
exports.euiBreadcrumbContentStyles = euiBreadcrumbContentStyles;
|
|
@@ -7,7 +7,7 @@ var _typeof3 = require("@babel/runtime/helpers/typeof");
|
|
|
7
7
|
Object.defineProperty(exports, "__esModule", {
|
|
8
8
|
value: true
|
|
9
9
|
});
|
|
10
|
-
exports.EuiBreadcrumbs = void 0;
|
|
10
|
+
exports.useResponsiveMax = exports.limitBreadcrumbs = exports.EuiBreadcrumbs = void 0;
|
|
11
11
|
|
|
12
12
|
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
|
13
13
|
|
|
@@ -15,116 +15,32 @@ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")
|
|
|
15
15
|
|
|
16
16
|
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
17
17
|
|
|
18
|
-
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
19
|
-
|
|
20
18
|
var _react = _interopRequireWildcard(require("react"));
|
|
21
19
|
|
|
22
20
|
var _classnames = _interopRequireDefault(require("classnames"));
|
|
23
21
|
|
|
24
22
|
var _i18n = require("../i18n");
|
|
25
23
|
|
|
26
|
-
var _inner_text = require("../inner_text");
|
|
27
|
-
|
|
28
|
-
var _link = require("../link");
|
|
29
|
-
|
|
30
|
-
var _popover = require("../popover");
|
|
31
|
-
|
|
32
|
-
var _icon = require("../icon");
|
|
33
|
-
|
|
34
24
|
var _services = require("../../services");
|
|
35
25
|
|
|
36
|
-
var
|
|
26
|
+
var _breadcrumb = require("./breadcrumb");
|
|
27
|
+
|
|
28
|
+
var _breadcrumbs = require("./breadcrumbs.styles");
|
|
37
29
|
|
|
38
30
|
var _react2 = require("@emotion/react");
|
|
39
31
|
|
|
40
|
-
var _excluded = ["breadcrumbs", "className", "responsive", "truncate", "max"]
|
|
41
|
-
_excluded2 = ["text", "href", "onClick", "truncate", "className"];
|
|
32
|
+
var _excluded = ["breadcrumbs", "className", "responsive", "truncate", "max", "type", "lastBreadcrumbIsCurrentPage"];
|
|
42
33
|
|
|
43
34
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
44
35
|
|
|
45
36
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof3(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
46
37
|
|
|
47
|
-
var CONTENT_CLASSNAME = 'euiBreadcrumb__content';
|
|
48
38
|
var responsiveDefault = {
|
|
49
39
|
xs: 1,
|
|
50
40
|
s: 2,
|
|
51
41
|
m: 4
|
|
52
42
|
};
|
|
53
43
|
|
|
54
|
-
var limitBreadcrumbs = function limitBreadcrumbs(breadcrumbs, max, allBreadcrumbs) {
|
|
55
|
-
var breadcrumbsAtStart = [];
|
|
56
|
-
var breadcrumbsAtEnd = [];
|
|
57
|
-
var limit = Math.min(max, breadcrumbs.length);
|
|
58
|
-
var start = Math.floor(limit / 2);
|
|
59
|
-
var overflowBreadcrumbs = allBreadcrumbs.slice(start, start + breadcrumbs.length - limit);
|
|
60
|
-
|
|
61
|
-
if (overflowBreadcrumbs.length) {
|
|
62
|
-
overflowBreadcrumbs[overflowBreadcrumbs.length - 1]['aria-current'] = 'false';
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
for (var i = 0; i < limit; i++) {
|
|
66
|
-
// We'll alternate with displaying breadcrumbs at the end and at the start, but be biased
|
|
67
|
-
// towards breadcrumbs the end so that if max is an odd number, we'll have one more
|
|
68
|
-
// breadcrumb visible at the end than at the beginning.
|
|
69
|
-
var isEven = i % 2 === 0; // We're picking breadcrumbs from the front AND the back, so we treat each iteration as a
|
|
70
|
-
// half-iteration.
|
|
71
|
-
|
|
72
|
-
var normalizedIndex = Math.floor(i * 0.5);
|
|
73
|
-
var indexOfBreadcrumb = isEven ? breadcrumbs.length - 1 - normalizedIndex : normalizedIndex;
|
|
74
|
-
var breadcrumb = breadcrumbs[indexOfBreadcrumb];
|
|
75
|
-
|
|
76
|
-
if (isEven) {
|
|
77
|
-
breadcrumbsAtEnd.unshift(breadcrumb);
|
|
78
|
-
} else {
|
|
79
|
-
breadcrumbsAtStart.push(breadcrumb);
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
var EuiBreadcrumbCollapsed = function EuiBreadcrumbCollapsed() {
|
|
84
|
-
var _useState = (0, _react.useState)(false),
|
|
85
|
-
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
86
|
-
isPopoverOpen = _useState2[0],
|
|
87
|
-
setIsPopoverOpen = _useState2[1];
|
|
88
|
-
|
|
89
|
-
var ariaLabel = (0, _i18n.useEuiI18n)('euiBreadcrumbs.collapsedBadge.ariaLabel', 'See collapsed breadcrumbs');
|
|
90
|
-
var ellipsisButton = (0, _react2.jsx)(_link.EuiLink, {
|
|
91
|
-
className: CONTENT_CLASSNAME,
|
|
92
|
-
color: "subdued",
|
|
93
|
-
"aria-label": ariaLabel,
|
|
94
|
-
title: ariaLabel,
|
|
95
|
-
onClick: function onClick() {
|
|
96
|
-
return setIsPopoverOpen(!isPopoverOpen);
|
|
97
|
-
}
|
|
98
|
-
}, "\u2026 ", (0, _react2.jsx)(_icon.EuiIcon, {
|
|
99
|
-
type: "arrowDown",
|
|
100
|
-
size: "s"
|
|
101
|
-
}));
|
|
102
|
-
return (0, _react2.jsx)("li", {
|
|
103
|
-
className: "euiBreadcrumb euiBreadcrumb--collapsed"
|
|
104
|
-
}, (0, _react2.jsx)(_popover.EuiPopover, {
|
|
105
|
-
button: ellipsisButton,
|
|
106
|
-
isOpen: isPopoverOpen,
|
|
107
|
-
closePopover: function closePopover() {
|
|
108
|
-
return setIsPopoverOpen(false);
|
|
109
|
-
}
|
|
110
|
-
}, (0, _react2.jsx)(EuiBreadcrumbs, {
|
|
111
|
-
className: "euiBreadcrumbs__inPopover",
|
|
112
|
-
breadcrumbs: overflowBreadcrumbs,
|
|
113
|
-
responsive: false,
|
|
114
|
-
truncate: false,
|
|
115
|
-
max: 0
|
|
116
|
-
})));
|
|
117
|
-
};
|
|
118
|
-
|
|
119
|
-
if (max < breadcrumbs.length) {
|
|
120
|
-
breadcrumbsAtStart.push((0, _react2.jsx)(EuiBreadcrumbCollapsed, {
|
|
121
|
-
key: "collapsed"
|
|
122
|
-
}));
|
|
123
|
-
}
|
|
124
|
-
|
|
125
|
-
return [].concat(breadcrumbsAtStart, breadcrumbsAtEnd);
|
|
126
|
-
};
|
|
127
|
-
|
|
128
44
|
var EuiBreadcrumbs = function EuiBreadcrumbs(_ref) {
|
|
129
45
|
var breadcrumbs = _ref.breadcrumbs,
|
|
130
46
|
className = _ref.className,
|
|
@@ -134,94 +50,113 @@ var EuiBreadcrumbs = function EuiBreadcrumbs(_ref) {
|
|
|
134
50
|
truncate = _ref$truncate === void 0 ? true : _ref$truncate,
|
|
135
51
|
_ref$max = _ref.max,
|
|
136
52
|
max = _ref$max === void 0 ? 5 : _ref$max,
|
|
53
|
+
_ref$type = _ref.type,
|
|
54
|
+
type = _ref$type === void 0 ? 'page' : _ref$type,
|
|
55
|
+
_ref$lastBreadcrumbIs = _ref.lastBreadcrumbIsCurrentPage,
|
|
56
|
+
lastBreadcrumbIsCurrentPage = _ref$lastBreadcrumbIs === void 0 ? true : _ref$lastBreadcrumbIs,
|
|
137
57
|
rest = (0, _objectWithoutProperties2.default)(_ref, _excluded);
|
|
138
58
|
var ariaLabel = (0, _i18n.useEuiI18n)('euiBreadcrumbs.nav.ariaLabel', 'Breadcrumbs');
|
|
139
|
-
|
|
140
|
-
var
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
truncate
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
59
|
+
var euiTheme = (0, _services.useEuiTheme)();
|
|
60
|
+
var breadcrumbsListStyles = (0, _breadcrumbs.euiBreadcrumbsListStyles)(euiTheme);
|
|
61
|
+
var cssBreadcrumbsListStyles = [breadcrumbsListStyles.euiBreadcrumbs__list, truncate && breadcrumbsListStyles.isTruncated];
|
|
62
|
+
var responsiveMax = useResponsiveMax(responsive, max);
|
|
63
|
+
var visibleBreadcrumbs = (0, _react.useMemo)(function () {
|
|
64
|
+
var shouldCollapseBreadcrumbs = responsiveMax && breadcrumbs.length > responsiveMax;
|
|
65
|
+
return shouldCollapseBreadcrumbs ? limitBreadcrumbs(breadcrumbs, responsiveMax) : breadcrumbs;
|
|
66
|
+
}, [breadcrumbs, responsiveMax]);
|
|
67
|
+
var breadcrumbChildren = (0, _react.useMemo)(function () {
|
|
68
|
+
return visibleBreadcrumbs.map(function (breadcrumb, index) {
|
|
69
|
+
var isFirstBreadcrumb = index === 0;
|
|
70
|
+
var isLastBreadcrumb = index === visibleBreadcrumbs.length - 1;
|
|
71
|
+
var isOnlyBreadcrumb = visibleBreadcrumbs.length === 1;
|
|
72
|
+
var sharedProps = {
|
|
73
|
+
type: type,
|
|
74
|
+
truncate: truncate
|
|
75
|
+
};
|
|
76
|
+
return breadcrumb.isCollapsedButton ? (0, _react2.jsx)(_breadcrumb.EuiBreadcrumbCollapsed, (0, _extends2.default)({
|
|
77
|
+
key: "collapsed"
|
|
78
|
+
}, sharedProps, {
|
|
79
|
+
isFirstBreadcrumb: isFirstBreadcrumb
|
|
80
|
+
}), (0, _react2.jsx)(EuiBreadcrumbs, {
|
|
81
|
+
breadcrumbs: breadcrumb.overflowBreadcrumbs,
|
|
82
|
+
lastBreadcrumbIsCurrentPage: false,
|
|
83
|
+
responsive: false,
|
|
84
|
+
truncate: false,
|
|
85
|
+
max: 0
|
|
86
|
+
})) : (0, _react2.jsx)(_breadcrumb.EuiBreadcrumb, (0, _extends2.default)({
|
|
87
|
+
key: index
|
|
88
|
+
}, sharedProps), (0, _react2.jsx)(_breadcrumb.EuiBreadcrumbContent, (0, _extends2.default)({
|
|
89
|
+
isFirstBreadcrumb: isFirstBreadcrumb,
|
|
90
|
+
isLastBreadcrumb: isLastBreadcrumb,
|
|
91
|
+
isOnlyBreadcrumb: isOnlyBreadcrumb,
|
|
92
|
+
highlightLastBreadcrumb: isLastBreadcrumb && lastBreadcrumbIsCurrentPage
|
|
93
|
+
}, sharedProps, breadcrumb)));
|
|
171
94
|
});
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
ref: ref,
|
|
182
|
-
title: title
|
|
183
|
-
}, linkProps, breadcrumbRest), text);
|
|
184
|
-
}
|
|
185
|
-
|
|
186
|
-
return (0, _react2.jsx)(_link.EuiLink, (0, _extends2.default)({
|
|
187
|
-
ref: ref,
|
|
188
|
-
color: isLastBreadcrumb ? 'text' : 'subdued',
|
|
189
|
-
onClick: onClick,
|
|
190
|
-
href: href,
|
|
191
|
-
title: title
|
|
192
|
-
}, linkProps, breadcrumbRest), text);
|
|
193
|
-
});
|
|
194
|
-
return (0, _react2.jsx)("li", {
|
|
195
|
-
className: className,
|
|
196
|
-
key: index
|
|
197
|
-
}, link);
|
|
198
|
-
}); // Use the default object if they simply passed `true` for responsive
|
|
95
|
+
}, [visibleBreadcrumbs, truncate, type, lastBreadcrumbIsCurrentPage]);
|
|
96
|
+
return (0, _react2.jsx)("nav", (0, _extends2.default)({
|
|
97
|
+
"aria-label": ariaLabel,
|
|
98
|
+
className: (0, _classnames.default)('euiBreadcrumbs', className)
|
|
99
|
+
}, rest), (0, _react2.jsx)("ol", {
|
|
100
|
+
className: "euiBreadcrumbs__list",
|
|
101
|
+
css: cssBreadcrumbsListStyles
|
|
102
|
+
}, breadcrumbChildren));
|
|
103
|
+
};
|
|
199
104
|
|
|
105
|
+
exports.EuiBreadcrumbs = EuiBreadcrumbs;
|
|
106
|
+
|
|
107
|
+
var useResponsiveMax = function useResponsiveMax(responsive, max) {
|
|
108
|
+
// Use the default object if they simply passed `true` for responsive
|
|
200
109
|
var responsiveObject = (0, _typeof2.default)(responsive) === 'object' ? responsive : responsiveDefault; // The max property collapses any breadcrumbs past the max quantity.
|
|
201
110
|
// This is the same behavior we want for responsiveness.
|
|
202
111
|
// So calculate the max value based on the combination of `max` and `responsive`
|
|
203
112
|
|
|
204
|
-
var
|
|
113
|
+
var responsiveMax = max; // Set the calculated max to the number associated with the currentBreakpoint key if it exists
|
|
114
|
+
|
|
115
|
+
var currentBreakpoint = (0, _services.useCurrentEuiBreakpoint)();
|
|
205
116
|
|
|
206
|
-
if (responsive && responsiveObject[currentBreakpoint]) {
|
|
207
|
-
|
|
117
|
+
if (responsive && currentBreakpoint && responsiveObject[currentBreakpoint]) {
|
|
118
|
+
responsiveMax = responsiveObject[currentBreakpoint];
|
|
208
119
|
} // Final check is to make sure max is used over a larger breakpoint value
|
|
209
120
|
|
|
210
121
|
|
|
211
|
-
if (max &&
|
|
212
|
-
|
|
122
|
+
if (max && responsiveMax) {
|
|
123
|
+
responsiveMax = max < responsiveMax ? max : responsiveMax;
|
|
213
124
|
}
|
|
214
125
|
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
126
|
+
return responsiveMax;
|
|
127
|
+
};
|
|
128
|
+
|
|
129
|
+
exports.useResponsiveMax = useResponsiveMax;
|
|
130
|
+
|
|
131
|
+
var limitBreadcrumbs = function limitBreadcrumbs(breadcrumbs, max) {
|
|
132
|
+
var breadcrumbsAtStart = [];
|
|
133
|
+
var breadcrumbsAtEnd = [];
|
|
134
|
+
var limit = Math.min(max, breadcrumbs.length);
|
|
135
|
+
var start = Math.floor(limit / 2);
|
|
136
|
+
var overflowBreadcrumbs = breadcrumbs.slice(start, start + breadcrumbs.length - limit);
|
|
137
|
+
|
|
138
|
+
for (var i = 0; i < limit; i++) {
|
|
139
|
+
// We'll alternate with displaying breadcrumbs at the end and at the start, but be biased
|
|
140
|
+
// towards breadcrumbs the end so that if max is an odd number, we'll have one more
|
|
141
|
+
// breadcrumb visible at the end than at the beginning.
|
|
142
|
+
var isEven = i % 2 === 0; // We're picking breadcrumbs from the front AND the back, so we treat each iteration as a
|
|
143
|
+
// half-iteration.
|
|
144
|
+
|
|
145
|
+
var normalizedIndex = Math.floor(i * 0.5);
|
|
146
|
+
var indexOfBreadcrumb = isEven ? breadcrumbs.length - 1 - normalizedIndex : normalizedIndex;
|
|
147
|
+
var breadcrumb = breadcrumbs[indexOfBreadcrumb];
|
|
148
|
+
|
|
149
|
+
if (isEven) {
|
|
150
|
+
breadcrumbsAtEnd.unshift(breadcrumb);
|
|
151
|
+
} else {
|
|
152
|
+
breadcrumbsAtStart.push(breadcrumb);
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
return [].concat(breadcrumbsAtStart, [{
|
|
157
|
+
isCollapsedButton: true,
|
|
158
|
+
overflowBreadcrumbs: overflowBreadcrumbs
|
|
159
|
+
}], breadcrumbsAtEnd);
|
|
225
160
|
};
|
|
226
161
|
|
|
227
|
-
exports.
|
|
162
|
+
exports.limitBreadcrumbs = limitBreadcrumbs;
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.euiBreadcrumbsListStyles = void 0;
|
|
7
|
+
|
|
8
|
+
var _react = require("@emotion/react");
|
|
9
|
+
|
|
10
|
+
var _global_styling = require("../../global_styling");
|
|
11
|
+
|
|
12
|
+
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)."; }
|
|
13
|
+
|
|
14
|
+
var _ref = process.env.NODE_ENV === "production" ? {
|
|
15
|
+
name: "1bwn7gf-isTruncated",
|
|
16
|
+
styles: "flex-wrap:nowrap;white-space:nowrap;label:isTruncated;"
|
|
17
|
+
} : {
|
|
18
|
+
name: "1bwn7gf-isTruncated",
|
|
19
|
+
styles: "flex-wrap:nowrap;white-space:nowrap;label:isTruncated;",
|
|
20
|
+
toString: _EMOTION_STRINGIFIED_CSS_ERROR__
|
|
21
|
+
};
|
|
22
|
+
|
|
23
|
+
var euiBreadcrumbsListStyles = function euiBreadcrumbsListStyles(euiThemeContext) {
|
|
24
|
+
// Styles cast to the <ol> element
|
|
25
|
+
var euiTheme = euiThemeContext.euiTheme;
|
|
26
|
+
return {
|
|
27
|
+
euiBreadcrumbs__list: /*#__PURE__*/(0, _react.css)((0, _global_styling.euiFontSize)(euiThemeContext, 's'), ";align-items:center;display:flex;flex-wrap:wrap;line-height:", euiTheme.size.l, ";", (0, _global_styling.logicalCSS)( // Add vertical space between breadcrumbs, but make sure the whole breadcrumb set doesn't add space below itself
|
|
28
|
+
'margin-bottom', "-".concat(euiTheme.size.xs)), " ", (0, _global_styling.logicalCSS)('min-width', 0), ";;label:euiBreadcrumbs__list;"),
|
|
29
|
+
isTruncated: _ref
|
|
30
|
+
};
|
|
31
|
+
};
|
|
32
|
+
|
|
33
|
+
exports.euiBreadcrumbsListStyles = euiBreadcrumbsListStyles;
|