@elastic/eui 62.2.0 → 63.0.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_theme_dark.css +3 -270
- package/dist/eui_theme_dark.min.css +1 -1
- package/dist/eui_theme_light.css +3 -270
- package/dist/eui_theme_light.min.css +1 -1
- package/es/components/bottom_bar/bottom_bar.js +20 -3
- package/es/components/header/header.js +2 -0
- package/es/components/header/header_links/header_links.js +2 -1
- package/es/components/index.js +1 -0
- package/es/components/page/_bottom_border.js +1 -0
- package/es/components/page/_restrict_width.js +34 -7
- package/es/components/page/index.js +5 -3
- package/es/components/page/page.js +19 -30
- package/es/components/page/page.styles.js +43 -0
- package/es/components/page/page_body/page_body.js +18 -26
- package/es/components/page/page_body/page_body.styles.js +16 -0
- package/es/components/page/page_content/index.js +4 -4
- package/es/components/page/page_content/page_content.js +7 -2
- package/es/components/page/page_content/page_content_body.js +12 -7
- package/es/components/page/page_content/page_content_header.js +7 -2
- package/es/components/page/page_content/page_content_header_section.js +7 -2
- package/es/components/page/page_header/page_header.js +29 -172
- package/es/components/page/page_header/page_header.styles.js +16 -0
- package/es/components/page/page_header/page_header_content.js +84 -16
- package/es/components/page/page_header/page_header_content.styles.js +84 -0
- package/es/components/page/page_section/index.js +8 -0
- package/es/components/page/page_section/page_section.js +102 -0
- package/es/components/page/page_section/page_section.styles.js +43 -0
- package/es/components/page/page_side_bar/index.js +1 -1
- package/es/components/page/page_side_bar/page_side_bar.js +8 -3
- package/es/components/page/page_sidebar/index.js +8 -0
- package/es/components/page/page_sidebar/page_sidebar.js +110 -0
- package/es/components/page/page_sidebar/page_sidebar.styles.js +29 -0
- package/es/components/page/page_template.js +54 -154
- package/es/components/page_template/bottom_bar/page_bottom_bar.js +102 -0
- package/es/components/page_template/empty_prompt/page_empty_prompt.js +107 -0
- package/es/components/page_template/index.js +8 -0
- package/es/components/page_template/inner/index.js +8 -0
- package/es/components/page_template/inner/page_inner.js +51 -0
- package/es/components/page_template/inner/page_inner.styles.js +22 -0
- package/es/components/page_template/outer/index.js +8 -0
- package/es/components/page_template/outer/page_outer.js +59 -0
- package/es/components/page_template/outer/page_outer.styles.js +49 -0
- package/es/components/page_template/page_template.js +376 -0
- package/es/global_styling/functions/logicals.js +1 -1
- package/es/global_styling/mixins/_helpers.js +27 -9
- package/eui.d.ts +423 -49
- package/lib/components/bottom_bar/bottom_bar.js +20 -3
- package/lib/components/header/header.js +2 -0
- package/lib/components/header/header_links/header_links.js +2 -1
- package/lib/components/index.js +13 -0
- package/lib/components/page/_bottom_border.js +5 -0
- package/lib/components/page/_restrict_width.js +38 -7
- package/lib/components/page/index.js +28 -12
- package/lib/components/page/page.js +22 -34
- package/lib/components/page/page.styles.js +46 -0
- package/lib/components/page/page_body/page_body.js +20 -29
- package/lib/components/page/page_body/page_body.styles.js +27 -0
- package/lib/components/page/page_content/index.js +8 -8
- package/lib/components/page/page_content/page_content.js +8 -4
- package/lib/components/page/page_content/page_content_body.js +13 -9
- package/lib/components/page/page_content/page_content_header.js +8 -4
- package/lib/components/page/page_content/page_content_header_section.js +8 -4
- package/lib/components/page/page_header/page_header.js +31 -175
- package/lib/components/page/page_header/page_header.styles.js +27 -0
- package/lib/components/page/page_header/page_header_content.js +108 -16
- package/lib/components/page/page_header/page_header_content.styles.js +87 -0
- package/lib/components/page/page_section/index.js +13 -0
- package/lib/components/page/page_section/page_section.js +113 -0
- package/lib/components/page/page_section/page_section.styles.js +51 -0
- package/lib/components/page/page_side_bar/index.js +2 -2
- package/lib/components/page/page_side_bar/page_side_bar.js +9 -5
- package/lib/components/page/page_sidebar/index.js +13 -0
- package/lib/components/page/page_sidebar/page_sidebar.js +124 -0
- package/lib/components/page/page_sidebar/page_sidebar.styles.js +32 -0
- package/lib/components/page/page_template.js +76 -177
- package/lib/components/page_template/bottom_bar/page_bottom_bar.js +114 -0
- package/lib/components/page_template/empty_prompt/page_empty_prompt.js +116 -0
- package/lib/components/page_template/index.js +13 -0
- package/lib/components/page_template/inner/index.js +13 -0
- package/lib/components/page_template/inner/page_inner.js +60 -0
- package/lib/components/page_template/inner/page_inner.styles.js +35 -0
- package/lib/components/page_template/outer/index.js +13 -0
- package/lib/components/page_template/outer/page_outer.js +68 -0
- package/lib/components/page_template/outer/page_outer.styles.js +51 -0
- package/lib/components/page_template/page_template.js +399 -0
- package/lib/global_styling/functions/logicals.js +1 -1
- package/lib/global_styling/mixins/_helpers.js +27 -9
- package/optimize/es/components/bottom_bar/bottom_bar.js +1 -1
- package/optimize/es/components/header/header.js +2 -0
- package/optimize/es/components/header/header_links/header_links.js +2 -1
- package/optimize/es/components/index.js +1 -0
- package/optimize/es/components/page/_bottom_border.js +1 -0
- package/optimize/es/components/page/_restrict_width.js +34 -7
- package/optimize/es/components/page/index.js +5 -3
- package/optimize/es/components/page/page.js +18 -28
- package/optimize/es/components/page/page.styles.js +43 -0
- package/optimize/es/components/page/page_body/page_body.js +18 -25
- package/optimize/es/components/page/page_body/page_body.styles.js +16 -0
- package/optimize/es/components/page/page_content/index.js +4 -4
- package/optimize/es/components/page/page_content/page_content.js +6 -1
- package/optimize/es/components/page/page_content/page_content_body.js +10 -5
- package/optimize/es/components/page/page_content/page_content_header.js +6 -1
- package/optimize/es/components/page/page_content/page_content_header_section.js +6 -1
- package/optimize/es/components/page/page_header/page_header.js +20 -32
- package/optimize/es/components/page/page_header/page_header.styles.js +16 -0
- package/optimize/es/components/page/page_header/page_header_content.js +62 -14
- package/optimize/es/components/page/page_header/page_header_content.styles.js +84 -0
- package/optimize/es/components/page/page_section/index.js +8 -0
- package/optimize/es/components/page/page_section/page_section.js +51 -0
- package/optimize/es/components/page/page_section/page_section.styles.js +43 -0
- package/optimize/es/components/page/page_side_bar/index.js +1 -1
- package/optimize/es/components/page/page_side_bar/page_side_bar.js +6 -1
- package/optimize/es/components/page/page_sidebar/index.js +8 -0
- package/optimize/es/components/page/page_sidebar/page_sidebar.js +60 -0
- package/optimize/es/components/page/page_sidebar/page_sidebar.styles.js +29 -0
- package/optimize/es/components/page/page_template.js +29 -9
- package/optimize/es/components/page_template/bottom_bar/page_bottom_bar.js +70 -0
- package/optimize/es/components/page_template/empty_prompt/page_empty_prompt.js +61 -0
- package/optimize/es/components/page_template/index.js +8 -0
- package/optimize/es/components/page_template/inner/index.js +8 -0
- package/optimize/es/components/page_template/inner/page_inner.js +47 -0
- package/optimize/es/components/page_template/inner/page_inner.styles.js +22 -0
- package/optimize/es/components/page_template/outer/index.js +8 -0
- package/optimize/es/components/page_template/outer/page_outer.js +33 -0
- package/optimize/es/components/page_template/outer/page_outer.styles.js +49 -0
- package/optimize/es/components/page_template/page_template.js +202 -0
- package/optimize/es/global_styling/functions/logicals.js +1 -1
- package/optimize/es/global_styling/mixins/_helpers.js +27 -9
- package/optimize/lib/components/bottom_bar/bottom_bar.js +1 -1
- package/optimize/lib/components/header/header.js +2 -0
- package/optimize/lib/components/header/header_links/header_links.js +2 -1
- package/optimize/lib/components/index.js +13 -0
- package/optimize/lib/components/page/_bottom_border.js +5 -0
- package/optimize/lib/components/page/_restrict_width.js +38 -7
- package/optimize/lib/components/page/index.js +28 -12
- package/optimize/lib/components/page/page.js +21 -33
- package/optimize/lib/components/page/page.styles.js +46 -0
- package/optimize/lib/components/page/page_body/page_body.js +20 -29
- package/optimize/lib/components/page/page_body/page_body.styles.js +27 -0
- package/optimize/lib/components/page/page_content/index.js +8 -8
- package/optimize/lib/components/page/page_content/page_content.js +7 -3
- package/optimize/lib/components/page/page_content/page_content_body.js +11 -7
- package/optimize/lib/components/page/page_content/page_content_header.js +7 -3
- package/optimize/lib/components/page/page_content/page_content_header_section.js +7 -3
- package/optimize/lib/components/page/page_header/page_header.js +22 -36
- package/optimize/lib/components/page/page_header/page_header.styles.js +27 -0
- package/optimize/lib/components/page/page_header/page_header_content.js +66 -13
- package/optimize/lib/components/page/page_header/page_header_content.styles.js +87 -0
- package/optimize/lib/components/page/page_section/index.js +13 -0
- package/optimize/lib/components/page/page_section/page_section.js +62 -0
- package/optimize/lib/components/page/page_section/page_section.styles.js +51 -0
- package/optimize/lib/components/page/page_side_bar/index.js +2 -2
- package/optimize/lib/components/page/page_side_bar/page_side_bar.js +7 -3
- package/optimize/lib/components/page/page_sidebar/index.js +13 -0
- package/optimize/lib/components/page/page_sidebar/page_sidebar.js +79 -0
- package/optimize/lib/components/page/page_sidebar/page_sidebar.styles.js +32 -0
- package/optimize/lib/components/page/page_template.js +51 -33
- package/optimize/lib/components/page_template/bottom_bar/page_bottom_bar.js +85 -0
- package/optimize/lib/components/page_template/empty_prompt/page_empty_prompt.js +71 -0
- package/optimize/lib/components/page_template/index.js +13 -0
- package/optimize/lib/components/page_template/inner/index.js +13 -0
- package/optimize/lib/components/page_template/inner/page_inner.js +57 -0
- package/optimize/lib/components/page_template/inner/page_inner.styles.js +35 -0
- package/optimize/lib/components/page_template/outer/index.js +13 -0
- package/optimize/lib/components/page_template/outer/page_outer.js +42 -0
- package/optimize/lib/components/page_template/outer/page_outer.styles.js +51 -0
- package/optimize/lib/components/page_template/page_template.js +228 -0
- package/optimize/lib/global_styling/functions/logicals.js +1 -1
- package/optimize/lib/global_styling/mixins/_helpers.js +27 -9
- package/package.json +1 -1
- package/src/components/page/_index.scss +0 -5
- package/src/components/page/page_content/_page_content_body.scss +10 -1
- package/src/components/tabs/_tabs.scss +2 -0
- package/test-env/components/bottom_bar/bottom_bar.js +20 -3
- package/test-env/components/header/header.js +2 -0
- package/test-env/components/header/header_links/header_links.js +2 -1
- package/test-env/components/index.js +13 -0
- package/test-env/components/page/_bottom_border.js +5 -0
- package/test-env/components/page/_restrict_width.js +38 -7
- package/test-env/components/page/index.js +28 -12
- package/test-env/components/page/page.js +22 -34
- package/test-env/components/page/page.styles.js +46 -0
- package/test-env/components/page/page_body/page_body.js +20 -29
- package/test-env/components/page/page_body/page_body.styles.js +27 -0
- package/test-env/components/page/page_content/index.js +8 -8
- package/test-env/components/page/page_content/page_content.js +8 -4
- package/test-env/components/page/page_content/page_content_body.js +13 -9
- package/test-env/components/page/page_content/page_content_header.js +8 -4
- package/test-env/components/page/page_content/page_content_header_section.js +8 -4
- package/test-env/components/page/page_header/page_header.js +31 -175
- package/test-env/components/page/page_header/page_header.styles.js +27 -0
- package/test-env/components/page/page_header/page_header_content.js +109 -16
- package/test-env/components/page/page_header/page_header_content.styles.js +87 -0
- package/test-env/components/page/page_section/index.js +13 -0
- package/test-env/components/page/page_section/page_section.js +110 -0
- package/test-env/components/page/page_section/page_section.styles.js +51 -0
- package/test-env/components/page/page_side_bar/index.js +2 -2
- package/test-env/components/page/page_side_bar/page_side_bar.js +9 -5
- package/test-env/components/page/page_sidebar/index.js +13 -0
- package/test-env/components/page/page_sidebar/page_sidebar.js +113 -0
- package/test-env/components/page/page_sidebar/page_sidebar.styles.js +32 -0
- package/test-env/components/page/page_template.js +76 -178
- package/test-env/components/page_template/bottom_bar/page_bottom_bar.js +102 -0
- package/test-env/components/page_template/empty_prompt/page_empty_prompt.js +114 -0
- package/test-env/components/page_template/index.js +13 -0
- package/test-env/components/page_template/inner/index.js +13 -0
- package/test-env/components/page_template/inner/page_inner.js +57 -0
- package/test-env/components/page_template/inner/page_inner.styles.js +35 -0
- package/test-env/components/page_template/outer/index.js +13 -0
- package/test-env/components/page_template/outer/page_outer.js +65 -0
- package/test-env/components/page_template/outer/page_outer.styles.js +51 -0
- package/test-env/components/page_template/page_template.js +387 -0
- package/test-env/global_styling/functions/logicals.js +1 -1
- package/test-env/global_styling/mixins/_helpers.js +27 -9
- package/src/components/page/_mixins.scss +0 -12
- package/src/components/page/_page.scss +0 -41
- package/src/components/page/page_body/_index.scss +0 -1
- package/src/components/page/page_body/_page_body.scss +0 -45
- package/src/components/page/page_header/_index.scss +0 -3
- package/src/components/page/page_header/_page_header.scss +0 -78
- package/src/components/page/page_header/_page_header_content.scss +0 -15
- package/src/components/page/page_header/_page_header_section.scss +0 -26
|
@@ -1,9 +1,7 @@
|
|
|
1
|
-
var _excluded = ["className", "restrictWidth", "paddingSize", "bottomBorder", "
|
|
1
|
+
var _excluded = ["className", "restrictWidth", "paddingSize", "bottomBorder", "alignItems", "responsive", "children", "pageTitle", "pageTitleProps", "iconType", "iconProps", "tabs", "tabsProps", "breadcrumbs", "breadcrumbProps", "description", "rightSideItems", "rightSideGroupProps"];
|
|
2
2
|
|
|
3
3
|
function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
4
4
|
|
|
5
|
-
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
6
|
-
|
|
7
5
|
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
|
|
8
6
|
|
|
9
7
|
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
|
|
@@ -18,27 +16,18 @@ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) r
|
|
|
18
16
|
import React from 'react';
|
|
19
17
|
import PropTypes from "prop-types";
|
|
20
18
|
import classNames from 'classnames';
|
|
21
|
-
import {
|
|
19
|
+
import { useEuiTheme } from '../../../services';
|
|
20
|
+
import { useEuiPaddingCSS } from '../../../global_styling';
|
|
22
21
|
import { EuiPageHeaderContent } from './page_header_content';
|
|
23
|
-
import {
|
|
22
|
+
import { euiPageHeaderStyles } from './page_header.styles';
|
|
24
23
|
import { jsx as ___EmotionJSX } from "@emotion/react";
|
|
25
|
-
var paddingSizeToClassNameMap = {
|
|
26
|
-
none: null,
|
|
27
|
-
s: 'euiPageHeader--paddingSmall',
|
|
28
|
-
m: 'euiPageHeader--paddingMedium',
|
|
29
|
-
l: 'euiPageHeader--paddingLarge'
|
|
30
|
-
};
|
|
31
|
-
export var PADDING_SIZES = keysOf(paddingSizeToClassNameMap);
|
|
32
24
|
export var EuiPageHeader = function EuiPageHeader(_ref) {
|
|
33
|
-
var _classNames;
|
|
34
|
-
|
|
35
25
|
var className = _ref.className,
|
|
36
26
|
_ref$restrictWidth = _ref.restrictWidth,
|
|
37
27
|
restrictWidth = _ref$restrictWidth === void 0 ? false : _ref$restrictWidth,
|
|
38
28
|
_ref$paddingSize = _ref.paddingSize,
|
|
39
29
|
paddingSize = _ref$paddingSize === void 0 ? 'none' : _ref$paddingSize,
|
|
40
30
|
bottomBorder = _ref.bottomBorder,
|
|
41
|
-
style = _ref.style,
|
|
42
31
|
alignItems = _ref.alignItems,
|
|
43
32
|
_ref$responsive = _ref.responsive,
|
|
44
33
|
responsive = _ref$responsive === void 0 ? true : _ref$responsive,
|
|
@@ -56,23 +45,17 @@ export var EuiPageHeader = function EuiPageHeader(_ref) {
|
|
|
56
45
|
rightSideGroupProps = _ref.rightSideGroupProps,
|
|
57
46
|
rest = _objectWithoutProperties(_ref, _excluded);
|
|
58
47
|
|
|
59
|
-
var
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
var classes = classNames('euiPageHeader',
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
return ___EmotionJSX("header", _extends({
|
|
73
|
-
className: classes,
|
|
74
|
-
style: newStyle || style
|
|
75
|
-
}, rest), ___EmotionJSX(EuiPageHeaderContent, {
|
|
48
|
+
var useTheme = useEuiTheme();
|
|
49
|
+
var styles = euiPageHeaderStyles(useTheme);
|
|
50
|
+
var inlinePadding = useEuiPaddingCSS('horizontal');
|
|
51
|
+
var cssStyles = [styles.euiPageHeader, inlinePadding[paddingSize], bottomBorder === 'extended' && styles.border];
|
|
52
|
+
var classes = classNames('euiPageHeader', className);
|
|
53
|
+
var contentProps = {
|
|
54
|
+
restrictWidth: restrictWidth,
|
|
55
|
+
paddingSize: paddingSize,
|
|
56
|
+
// Set the bottom to false to ensure the forced one doesn't render
|
|
57
|
+
// when we'll be rendering it at this parent
|
|
58
|
+
bottomBorder: bottomBorder === 'extended' ? false : bottomBorder,
|
|
76
59
|
alignItems: alignItems,
|
|
77
60
|
responsive: responsive,
|
|
78
61
|
pageTitle: pageTitle,
|
|
@@ -86,159 +69,33 @@ export var EuiPageHeader = function EuiPageHeader(_ref) {
|
|
|
86
69
|
rightSideGroupProps: rightSideGroupProps,
|
|
87
70
|
breadcrumbs: breadcrumbs,
|
|
88
71
|
breadcrumbProps: breadcrumbProps
|
|
89
|
-
}
|
|
72
|
+
};
|
|
73
|
+
return ___EmotionJSX("header", _extends({
|
|
74
|
+
className: classes,
|
|
75
|
+
css: cssStyles
|
|
76
|
+
}, rest), ___EmotionJSX(EuiPageHeaderContent, contentProps, children));
|
|
90
77
|
};
|
|
91
78
|
EuiPageHeader.propTypes = {
|
|
92
79
|
/**
|
|
93
|
-
* Adjust the padding.
|
|
94
|
-
* When using this setting it's best to be consistent throughout all similar usages
|
|
80
|
+
* Adjust the overall padding.
|
|
95
81
|
*/
|
|
96
82
|
paddingSize: PropTypes.any,
|
|
97
|
-
|
|
98
|
-
/**
|
|
99
|
-
* Adds a bottom border to separate it from the content after
|
|
100
|
-
*/
|
|
101
|
-
bottomBorder: PropTypes.bool,
|
|
102
83
|
className: PropTypes.string,
|
|
103
84
|
"aria-label": PropTypes.string,
|
|
104
85
|
"data-test-subj": PropTypes.string,
|
|
105
86
|
|
|
106
|
-
/**
|
|
107
|
-
* Set to false if you don't want the children to stack at small screen sizes.
|
|
108
|
-
* Set to `reverse` to display the right side content first for the sake of hierarchy (like global time)
|
|
109
|
-
*/
|
|
110
|
-
responsive: PropTypes.oneOfType([PropTypes.bool.isRequired, PropTypes.oneOf(["reverse"])]),
|
|
111
|
-
|
|
112
|
-
/**
|
|
113
|
-
* Vertical alignment of the left and right side content;
|
|
114
|
-
* Default is `middle` for custom content, but `top` for when `pageTitle` or `tabs` are included
|
|
115
|
-
*/
|
|
116
|
-
alignItems: PropTypes.any,
|
|
117
|
-
|
|
118
|
-
/**
|
|
119
|
-
* Pass custom an array of content to this side usually up to 3 buttons.
|
|
120
|
-
* The first button should be primary, usually with `fill` and will be visually displayed as the last item,
|
|
121
|
-
* but first in the tab order
|
|
122
|
-
*/
|
|
123
|
-
rightSideItems: PropTypes.arrayOf(PropTypes.node.isRequired),
|
|
124
|
-
|
|
125
|
-
/**
|
|
126
|
-
* Additional EuiFlexGroup props to pass to the container of the `rightSideItems`
|
|
127
|
-
*/
|
|
128
|
-
rightSideGroupProps: PropTypes.any,
|
|
129
|
-
|
|
130
|
-
/**
|
|
131
|
-
* Custom children will be rendered before the `tabs` unless no `pageTitle` is present, then it will be the last item
|
|
132
|
-
*/
|
|
133
|
-
children: PropTypes.node,
|
|
134
|
-
|
|
135
|
-
/**
|
|
136
|
-
* Position is dependent on existing with a `pageTitle` or `tabs`
|
|
137
|
-
* Automatically get wrapped in a single paragraph tag inside an EuiText block
|
|
138
|
-
*/
|
|
139
|
-
description: PropTypes.oneOfType([PropTypes.string.isRequired, PropTypes.node.isRequired]),
|
|
140
|
-
|
|
141
|
-
/**
|
|
142
|
-
* Wrapped in an `H1` so choose appropriately.
|
|
143
|
-
* A simple string is best
|
|
144
|
-
*/
|
|
145
|
-
pageTitle: PropTypes.node,
|
|
146
|
-
|
|
147
|
-
/**
|
|
148
|
-
* Additional props to pass to the EuiTitle
|
|
149
|
-
*/
|
|
150
|
-
pageTitleProps: PropTypes.shape({
|
|
151
|
-
className: PropTypes.string,
|
|
152
|
-
"aria-label": PropTypes.string,
|
|
153
|
-
"data-test-subj": PropTypes.string,
|
|
154
|
-
textTransform: PropTypes.any,
|
|
155
|
-
id: PropTypes.string
|
|
156
|
-
}),
|
|
157
|
-
|
|
158
|
-
/**
|
|
159
|
-
* Optional icon to place to the left of the title
|
|
160
|
-
*/
|
|
161
|
-
iconType: PropTypes.oneOfType([PropTypes.oneOf(["accessibility", "addDataApp", "advancedSettingsApp", "agentApp", "aggregate", "alert", "analyzeEvent", "annotation", "apmApp", "apmTrace", "appSearchApp", "apps", "arrowDown", "arrowLeft", "arrowRight", "arrowUp", "arrowStart", "arrowEnd", "asterisk", "auditbeatApp", "beaker", "bell", "bellSlash", "bolt", "boxesHorizontal", "boxesVertical", "branch", "branchUser", "broom", "brush", "bug", "bullseye", "calendar", "canvasApp", "casesApp", "check", "checkInCircleFilled", "cheer", "classificationJob", "clock", "cloudDrizzle", "cloudStormy", "cloudSunny", "cluster", "codeApp", "color", "compute", "console", "consoleApp", "container", "continuityAbove", "continuityAboveBelow", "continuityBelow", "continuityWithin", "controlsHorizontal", "controlsVertical", "copy", "copyClipboard", "createAdvancedJob", "createMultiMetricJob", "createPopulationJob", "createSingleMetricJob", "cross", "crossClusterReplicationApp", "crossInACircleFilled", "crosshairs", "currency", "cut", "dashboardApp", "dataVisualizer", "database", "desktop", "devToolsApp", "discoverApp", "document", "documentEdit", "documentation", "documents", "dot", "doubleArrowLeft", "doubleArrowRight", "download", "editorAlignCenter", "editorAlignLeft", "editorAlignRight", "editorBold", "editorChecklist", "editorCodeBlock", "editorComment", "editorDistributeHorizontal", "editorDistributeVertical", "editorHeading", "editorItalic", "editorItemAlignBottom", "editorItemAlignCenter", "editorItemAlignLeft", "editorItemAlignMiddle", "editorItemAlignRight", "editorItemAlignTop", "editorLink", "editorOrderedList", "editorPositionBottomLeft", "editorPositionBottomRight", "editorPositionTopLeft", "editorPositionTopRight", "editorRedo", "editorStrike", "editorTable", "editorUnderline", "editorUndo", "editorUnorderedList", "email", "empty", "emsApp", "eql", "eraser", "exit", "expand", "expandMini", "exportAction", "eye", "eyeClosed", "faceHappy", "faceNeutral", "faceSad", "filebeatApp", "filter", "flag", "fleetApp", "fold", "folderCheck", "folderClosed", "folderExclamation", "folderOpen", "frameNext", "framePrevious", "fullScreen", "fullScreenExit", "function", "gear", "gisApp", "glasses", "globe", "grab", "grabHorizontal", "graphApp", "grid", "grokApp", "heart", "heartbeatApp", "heatmap", "help", "home", "iInCircle", "image", "importAction", "indexClose", "indexEdit", "indexFlush", "indexManagementApp", "indexMapping", "indexOpen", "indexPatternApp", "indexRollupApp", "indexRuntime", "indexSettings", "inputOutput", "inspect", "invert", "ip", "keyboard", "kqlField", "kqlFunction", "kqlOperand", "kqlSelector", "kqlValue", "kubernetesNode", "kubernetesPod", "layers", "lensApp", "lettering", "lineDashed", "lineDotted", "lineSolid", "link", "list", "listAdd", "lock", "lockOpen", "logoAWS", "logoAWSMono", "logoAerospike", "logoApache", "logoAppSearch", "logoAzure", "logoAzureMono", "logoBeats", "logoBusinessAnalytics", "logoCeph", "logoCloud", "logoCloudEnterprise", "logoCode", "logoCodesandbox", "logoCouchbase", "logoDocker", "logoDropwizard", "logoElastic", "logoElasticStack", "logoElasticsearch", "logoEnterpriseSearch", "logoEtcd", "logoGCP", "logoGCPMono", "logoGithub", "logoGmail", "logoGolang", "logoGoogleG", "logoHAproxy", "logoIBM", "logoIBMMono", "logoKafka", "logoKibana", "logoKubernetes", "logoLogging", "logoLogstash", "logoMaps", "logoMemcached", "logoMetrics", "logoMongodb", "logoMySQL", "logoNginx", "logoObservability", "logoOsquery", "logoPhp", "logoPostgres", "logoPrometheus", "logoRabbitmq", "logoRedis", "logoSecurity", "logoSiteSearch", "logoSketch", "logoSlack", "logoUptime", "logoWebhook", "logoWindows", "logoWorkplaceSearch", "logsApp", "logstashFilter", "logstashIf", "logstashInput", "logstashOutput", "logstashQueue", "machineLearningApp", "magnet", "magnifyWithExclamation", "magnifyWithMinus", "magnifyWithPlus", "managementApp", "mapMarker", "memory", "menu", "menuDown", "menuLeft", "menuRight", "menuUp", "merge", "metricbeatApp", "metricsApp", "minimize", "minus", "minusInCircle", "minusInCircleFilled", "mobile", "monitoringApp", "moon", "namespace", "nested", "node", "notebookApp", "number", "offline", "online", "outlierDetectionJob", "package", "packetbeatApp", "pageSelect", "pagesSelect", "paperClip", "partial", "pause", "payment", "pencil", "percent", "pin", "pinFilled", "pipelineApp", "play", "playFilled", "plus", "plusInCircle", "plusInCircleFilled", "popout", "push", "questionInCircle", "quote", "recentlyViewedApp", "refresh", "regressionJob", "reporter", "reportingApp", "returnKey", "save", "savedObjectsApp", "scale", "search", "searchProfilerApp", "securityAnalyticsApp", "securityApp", "securitySignal", "securitySignalDetected", "securitySignalResolved", "sessionViewer", "shard", "share", "snowflake", "sortDown", "sortLeft", "sortRight", "sortUp", "sortable", "spacesApp", "sqlApp", "starEmpty", "starEmptySpace", "starFilled", "starFilledSpace", "starMinusEmpty", "starMinusFilled", "starPlusEmpty", "starPlusFilled", "stats", "stop", "stopFilled", "stopSlash", "storage", "string", "submodule", "sun", "swatchInput", "symlink", "tableDensityCompact", "tableDensityExpanded", "tableDensityNormal", "tableOfContents", "tag", "tear", "temperature", "timeline", "timelionApp", "timeRefresh", "timeslider", "training", "trash", "unfold", "unlink", "upgradeAssistantApp", "uptimeApp", "user", "userAvatar", "users", "usersRolesApp", "vector", "videoPlayer", "visArea", "visAreaStacked", "visBarHorizontal", "visBarHorizontalStacked", "visBarVertical", "visBarVerticalStacked", "visGauge", "visGoal", "visLine", "visMapCoordinate", "visMapRegion", "visMetric", "visPie", "visTable", "visTagCloud", "visText", "visTimelion", "visVega", "visVisualBuilder", "visualizeApp", "watchesApp", "wordWrap", "wordWrapDisabled", "workplaceSearchApp", "wrench", "tokenAlias", "tokenAnnotation", "tokenArray", "tokenBinary", "tokenBoolean", "tokenClass", "tokenCompletionSuggester", "tokenConstant", "tokenDate", "tokenDenseVector", "tokenElement", "tokenEnum", "tokenEnumMember", "tokenEvent", "tokenException", "tokenField", "tokenFile", "tokenFlattened", "tokenFunction", "tokenGeo", "tokenHistogram", "tokenInterface", "tokenIP", "tokenJoin", "tokenKey", "tokenKeyword", "tokenMethod", "tokenMetricCounter", "tokenMetricGauge", "tokenModule", "tokenNamespace", "tokenNested", "tokenNull", "tokenNumber", "tokenObject", "tokenOperator", "tokenPackage", "tokenParameter", "tokenPercolator", "tokenProperty", "tokenRange", "tokenRankFeature", "tokenRankFeatures", "tokenRepo", "tokenSearchType", "tokenShape", "tokenString", "tokenStruct", "tokenSymbol", "tokenTag", "tokenText", "tokenTokenCount", "tokenVariable"]).isRequired, PropTypes.string.isRequired, PropTypes.elementType.isRequired]),
|
|
162
|
-
|
|
163
|
-
/**
|
|
164
|
-
* Additional EuiIcon props to apply to the optional icon
|
|
165
|
-
*/
|
|
166
|
-
iconProps: PropTypes.any,
|
|
167
|
-
|
|
168
|
-
/**
|
|
169
|
-
* Optional array breadcrumbs that render before the `pageTitle`
|
|
170
|
-
*/
|
|
171
|
-
breadcrumbs: PropTypes.arrayOf(PropTypes.shape({
|
|
172
|
-
className: PropTypes.string,
|
|
173
|
-
"aria-label": PropTypes.string,
|
|
174
|
-
"data-test-subj": PropTypes.string,
|
|
175
|
-
href: PropTypes.string,
|
|
176
|
-
rel: PropTypes.string,
|
|
177
|
-
onClick: PropTypes.func,
|
|
178
|
-
|
|
179
|
-
/**
|
|
180
|
-
* Visible label of the breadcrumb
|
|
181
|
-
*/
|
|
182
|
-
text: PropTypes.node.isRequired,
|
|
183
|
-
|
|
184
|
-
/**
|
|
185
|
-
* Force a max-width on the breadcrumb text
|
|
186
|
-
*/
|
|
187
|
-
truncate: PropTypes.bool,
|
|
188
|
-
|
|
189
|
-
/**
|
|
190
|
-
* Accepts any EuiLink `color` when rendered as one (has `href` or `onClick`)
|
|
191
|
-
*/
|
|
192
|
-
color: PropTypes.any,
|
|
193
|
-
|
|
194
|
-
/**
|
|
195
|
-
* Override the existing `aria-current` which defaults to `page` for the last breadcrumb
|
|
196
|
-
*/
|
|
197
|
-
"aria-current": PropTypes.any
|
|
198
|
-
}).isRequired),
|
|
199
|
-
|
|
200
|
-
/**
|
|
201
|
-
* Adjust the props of [EuiBreadcrumbs](#/navigation/breadcrumbs)
|
|
202
|
-
*/
|
|
203
|
-
breadcrumbProps: PropTypes.any,
|
|
204
|
-
|
|
205
|
-
/**
|
|
206
|
-
* In-app navigation presented as large borderless tabs.
|
|
207
|
-
* Accepts an array of `EuiTab` objects;
|
|
208
|
-
*/
|
|
209
|
-
tabs: PropTypes.arrayOf(PropTypes.shape({
|
|
210
|
-
/**
|
|
211
|
-
* Visible text of the tab
|
|
212
|
-
*/
|
|
213
|
-
label: PropTypes.node.isRequired
|
|
214
|
-
}).isRequired),
|
|
215
|
-
|
|
216
|
-
/**
|
|
217
|
-
* Any extras to apply to the outer tabs container.
|
|
218
|
-
* Extends `EuiTabs`
|
|
219
|
-
*/
|
|
220
|
-
tabsProps: PropTypes.shape({
|
|
221
|
-
className: PropTypes.string,
|
|
222
|
-
"aria-label": PropTypes.string,
|
|
223
|
-
"data-test-subj": PropTypes.string,
|
|
224
|
-
|
|
225
|
-
/**
|
|
226
|
-
* ReactNode to render as this component's content
|
|
227
|
-
*/
|
|
228
|
-
children: PropTypes.node,
|
|
229
|
-
|
|
230
|
-
/**
|
|
231
|
-
* Adds a bottom border to separate it from the content after
|
|
232
|
-
*/
|
|
233
|
-
bottomBorder: PropTypes.bool
|
|
234
|
-
}),
|
|
235
|
-
|
|
236
87
|
/**
|
|
237
88
|
* Sets the max-width of the page,
|
|
238
|
-
* set to `true` to use the default size of `
|
|
89
|
+
* set to `true` to use the default size of `1200px`,
|
|
239
90
|
* set to `false` to not restrict the width,
|
|
240
91
|
* set to a number for a custom width in px,
|
|
241
92
|
* set to a string for a custom width in custom measurement.
|
|
242
93
|
*/
|
|
243
|
-
restrictWidth: PropTypes.oneOfType([PropTypes.bool.isRequired, PropTypes.number.isRequired, PropTypes.string.isRequired])
|
|
94
|
+
restrictWidth: PropTypes.oneOfType([PropTypes.bool.isRequired, PropTypes.number.isRequired, PropTypes.string.isRequired]),
|
|
95
|
+
|
|
96
|
+
/**
|
|
97
|
+
* Adds a bottom border to separate it from the content after;
|
|
98
|
+
* Passing `extended` will ensure the border touches the sides of the parent container.
|
|
99
|
+
*/
|
|
100
|
+
bottomBorder: PropTypes.oneOfType([PropTypes.bool.isRequired, PropTypes.oneOf(["extended"])])
|
|
244
101
|
};
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
|
|
3
|
+
* or more contributor license agreements. Licensed under the Elastic License
|
|
4
|
+
* 2.0 and the Server Side Public License, v 1; you may not use this file except
|
|
5
|
+
* in compliance with, at your election, the Elastic License 2.0 or the Server
|
|
6
|
+
* Side Public License, v 1.
|
|
7
|
+
*/
|
|
8
|
+
import { css } from '@emotion/react';
|
|
9
|
+
import { logicalCSS } from '../../../global_styling';
|
|
10
|
+
export var euiPageHeaderStyles = function euiPageHeaderStyles(_ref) {
|
|
11
|
+
var euiTheme = _ref.euiTheme;
|
|
12
|
+
return {
|
|
13
|
+
euiPageHeader: /*#__PURE__*/css(logicalCSS('width', '100%'), ";", logicalCSS('min-width', '0'), ";display:flex;flex-direction:column;flex-shrink:0;;label:euiPageHeader;"),
|
|
14
|
+
border: /*#__PURE__*/css(logicalCSS('border-bottom', euiTheme.border.thin), ";;label:border;")
|
|
15
|
+
};
|
|
16
|
+
};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
var _excluded = ["className", "pageTitle", "pageTitleProps", "iconType", "iconProps", "tabs", "tabsProps", "description", "breadcrumbs", "breadcrumbProps", "alignItems", "responsive", "rightSideItems", "rightSideGroupProps", "children"],
|
|
1
|
+
var _excluded = ["className", "pageTitle", "pageTitleProps", "iconType", "iconProps", "tabs", "tabsProps", "description", "breadcrumbs", "breadcrumbProps", "alignItems", "responsive", "rightSideItems", "rightSideGroupProps", "children", "restrictWidth", "paddingSize", "bottomBorder", "style"],
|
|
2
2
|
_excluded2 = ["label"];
|
|
3
3
|
|
|
4
4
|
function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
@@ -23,9 +23,13 @@ import { EuiFlexGroup, EuiFlexItem } from '../../flex';
|
|
|
23
23
|
import { EuiSpacer } from '../../spacer';
|
|
24
24
|
import { EuiTitle } from '../../title';
|
|
25
25
|
import { EuiText } from '../../text';
|
|
26
|
-
import { useIsWithinBreakpoints } from '../../../services';
|
|
26
|
+
import { useIsWithinBreakpoints, useEuiTheme } from '../../../services';
|
|
27
27
|
import { EuiScreenReaderOnly } from '../../accessibility';
|
|
28
28
|
import { EuiBreadcrumbs } from '../../breadcrumbs';
|
|
29
|
+
import { useEuiPaddingCSS } from '../../../global_styling';
|
|
30
|
+
import { setStyleForRestrictedPageWidth } from '../_restrict_width';
|
|
31
|
+
import { euiPageHeaderStyles } from './page_header.styles';
|
|
32
|
+
import { euiPageHeaderContentStyles } from './page_header_content.styles';
|
|
29
33
|
import { jsx as ___EmotionJSX } from "@emotion/react";
|
|
30
34
|
export var ALIGN_ITEMS = ['top', 'bottom', 'center', 'stretch']; // Gets all the tab props including the button or link props
|
|
31
35
|
|
|
@@ -40,17 +44,58 @@ export var EuiPageHeaderContent = function EuiPageHeaderContent(_ref) {
|
|
|
40
44
|
description = _ref.description,
|
|
41
45
|
breadcrumbs = _ref.breadcrumbs,
|
|
42
46
|
breadcrumbProps = _ref.breadcrumbProps,
|
|
43
|
-
|
|
44
|
-
alignItems = _ref$alignItems === void 0 ? 'top' : _ref$alignItems,
|
|
47
|
+
alignItems = _ref.alignItems,
|
|
45
48
|
_ref$responsive = _ref.responsive,
|
|
46
49
|
responsive = _ref$responsive === void 0 ? true : _ref$responsive,
|
|
47
50
|
rightSideItems = _ref.rightSideItems,
|
|
48
51
|
rightSideGroupProps = _ref.rightSideGroupProps,
|
|
49
52
|
children = _ref.children,
|
|
53
|
+
restrictWidth = _ref.restrictWidth,
|
|
54
|
+
_ref$paddingSize = _ref.paddingSize,
|
|
55
|
+
_paddingSize = _ref$paddingSize === void 0 ? 'none' : _ref$paddingSize,
|
|
56
|
+
_bottom_border = _ref.bottomBorder,
|
|
57
|
+
style = _ref.style,
|
|
50
58
|
rest = _objectWithoutProperties(_ref, _excluded);
|
|
51
59
|
|
|
52
60
|
var isResponsiveBreakpoint = useIsWithinBreakpoints(['xs', 's'], !!responsive);
|
|
61
|
+
var useTheme = useEuiTheme();
|
|
53
62
|
var classes = classNames('euiPageHeaderContent');
|
|
63
|
+
var pageHeaderStyles = euiPageHeaderStyles(useTheme);
|
|
64
|
+
var contentStyles = euiPageHeaderContentStyles(useTheme);
|
|
65
|
+
var styles = setStyleForRestrictedPageWidth(restrictWidth, style);
|
|
66
|
+
var paddingSides = 'vertical';
|
|
67
|
+
var paddingSize = _paddingSize;
|
|
68
|
+
var bottomBorder = _bottom_border;
|
|
69
|
+
var onlyChildren = !tabs && !pageTitle && !rightSideItems && !description && children;
|
|
70
|
+
var onlyTabs = tabs && !pageTitle && !rightSideItems && !description && !children;
|
|
71
|
+
var tabsAsTitle = tabs && !pageTitle;
|
|
72
|
+
var tabsAtTheBottom = pageTitle && tabs;
|
|
73
|
+
var borderWithoutPadding = (!paddingSize || paddingSize === 'none') && bottomBorder;
|
|
74
|
+
|
|
75
|
+
if (onlyTabs) {
|
|
76
|
+
paddingSize = 'none';
|
|
77
|
+
} else if (tabsAsTitle) {
|
|
78
|
+
paddingSides = 'bottom';
|
|
79
|
+
} else if (tabsAtTheBottom) {
|
|
80
|
+
paddingSides = 'top';
|
|
81
|
+
bottomBorder = bottomBorder === false ? false : true;
|
|
82
|
+
} else if (borderWithoutPadding) {
|
|
83
|
+
paddingSides = 'bottom';
|
|
84
|
+
paddingSize = 'l';
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
var blockPadding = useEuiPaddingCSS(paddingSides);
|
|
88
|
+
var cssStyles = [contentStyles.euiPageHeaderContent, bottomBorder && pageHeaderStyles.border, blockPadding[paddingSize]];
|
|
89
|
+
var childrenOnlyStyles = [contentStyles.flex, contentStyles[alignItems || 'center'], responsive === true && isResponsiveBreakpoint && contentStyles.responsive, responsive === 'reverse' && isResponsiveBreakpoint && contentStyles.responsiveReverse]; // Don't go any further if there's no other content than children
|
|
90
|
+
|
|
91
|
+
if (onlyChildren) {
|
|
92
|
+
return ___EmotionJSX("div", _extends({
|
|
93
|
+
css: cssStyles
|
|
94
|
+
}, rest), ___EmotionJSX("div", {
|
|
95
|
+
css: childrenOnlyStyles
|
|
96
|
+
}, children));
|
|
97
|
+
}
|
|
98
|
+
|
|
54
99
|
var descriptionNode;
|
|
55
100
|
|
|
56
101
|
if (description) {
|
|
@@ -68,10 +113,10 @@ export var EuiPageHeaderContent = function EuiPageHeaderContent(_ref) {
|
|
|
68
113
|
|
|
69
114
|
if (pageTitle) {
|
|
70
115
|
var icon = iconType ? ___EmotionJSX(EuiIcon, _extends({
|
|
71
|
-
size: "xl"
|
|
116
|
+
size: "xl",
|
|
117
|
+
css: contentStyles.euiPageHeaderContent__titleIcon
|
|
72
118
|
}, iconProps, {
|
|
73
|
-
type: iconType
|
|
74
|
-
className: classNames('euiPageHeaderContent__titleIcon', iconProps === null || iconProps === void 0 ? void 0 : iconProps.className)
|
|
119
|
+
type: iconType
|
|
75
120
|
})) : undefined;
|
|
76
121
|
pageTitleNode = ___EmotionJSX(EuiTitle, _extends({}, pageTitleProps, {
|
|
77
122
|
size: "l"
|
|
@@ -146,22 +191,25 @@ export var EuiPageHeaderContent = function EuiPageHeaderContent(_ref) {
|
|
|
146
191
|
grow: false
|
|
147
192
|
}, ___EmotionJSX(EuiFlexGroup, _extends({
|
|
148
193
|
wrap: true,
|
|
149
|
-
responsive: false
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
}), wrapWithFlex()));
|
|
194
|
+
responsive: false,
|
|
195
|
+
direction: isResponsiveBreakpoint ? undefined : 'rowReverse'
|
|
196
|
+
}, rightSideGroupProps), wrapWithFlex()));
|
|
153
197
|
}
|
|
154
198
|
|
|
155
199
|
return alignItems === 'top' || isResponsiveBreakpoint ? ___EmotionJSX("div", _extends({
|
|
156
|
-
className: classes
|
|
200
|
+
className: classes,
|
|
201
|
+
css: cssStyles,
|
|
202
|
+
style: styles
|
|
157
203
|
}, rest), optionalBreadcrumbs, ___EmotionJSX(EuiFlexGroup, {
|
|
158
204
|
responsive: !!responsive,
|
|
159
205
|
className: "euiPageHeaderContent__top",
|
|
160
206
|
alignItems: pageTitle ? 'flexStart' : 'baseline',
|
|
161
207
|
gutterSize: "l"
|
|
162
208
|
}, isResponsiveBreakpoint && responsive === 'reverse' ? ___EmotionJSX(React.Fragment, null, rightSideFlexItem, ___EmotionJSX(EuiFlexItem, null, leftSideOrder)) : ___EmotionJSX(React.Fragment, null, ___EmotionJSX(EuiFlexItem, null, leftSideOrder), rightSideFlexItem)), bottomContentNode) : ___EmotionJSX("div", _extends({
|
|
163
|
-
className: classes
|
|
164
|
-
|
|
209
|
+
className: classes,
|
|
210
|
+
css: cssStyles,
|
|
211
|
+
style: styles
|
|
212
|
+
}, rest), optionalBreadcrumbs, ___EmotionJSX(EuiFlexGroup, {
|
|
165
213
|
responsive: !!responsive,
|
|
166
214
|
className: "euiPageHeaderContent__top",
|
|
167
215
|
alignItems: alignItems === 'bottom' ? 'flexEnd' : alignItems,
|
|
@@ -173,6 +221,17 @@ EuiPageHeaderContent.propTypes = {
|
|
|
173
221
|
"aria-label": PropTypes.string,
|
|
174
222
|
"data-test-subj": PropTypes.string,
|
|
175
223
|
|
|
224
|
+
/**
|
|
225
|
+
* The only option is on/off
|
|
226
|
+
*/
|
|
227
|
+
bottomBorder: PropTypes.bool,
|
|
228
|
+
|
|
229
|
+
/**
|
|
230
|
+
* Adjust the padding.
|
|
231
|
+
* When using this setting it's best to be consistent throughout all similar usages
|
|
232
|
+
*/
|
|
233
|
+
paddingSize: PropTypes.any,
|
|
234
|
+
|
|
176
235
|
/**
|
|
177
236
|
* Set to false if you don't want the children to stack at small screen sizes.
|
|
178
237
|
* Set to `reverse` to display the right side content first for the sake of hierarchy (like global time)
|
|
@@ -181,7 +240,7 @@ EuiPageHeaderContent.propTypes = {
|
|
|
181
240
|
|
|
182
241
|
/**
|
|
183
242
|
* Vertical alignment of the left and right side content;
|
|
184
|
-
* Default is `
|
|
243
|
+
* Default is `center` for custom content, but `top` for when `pageTitle` or `tabs` are included
|
|
185
244
|
*/
|
|
186
245
|
alignItems: PropTypes.any,
|
|
187
246
|
|
|
@@ -301,5 +360,14 @@ EuiPageHeaderContent.propTypes = {
|
|
|
301
360
|
* Adds a bottom border to separate it from the content after
|
|
302
361
|
*/
|
|
303
362
|
bottomBorder: PropTypes.bool
|
|
304
|
-
})
|
|
363
|
+
}),
|
|
364
|
+
|
|
365
|
+
/**
|
|
366
|
+
* Sets the max-width of the page,
|
|
367
|
+
* set to `true` to use the default size of `1200px`,
|
|
368
|
+
* set to `false` to not restrict the width,
|
|
369
|
+
* set to a number for a custom width in px,
|
|
370
|
+
* set to a string for a custom width in custom measurement.
|
|
371
|
+
*/
|
|
372
|
+
restrictWidth: PropTypes.oneOfType([PropTypes.bool.isRequired, PropTypes.number.isRequired, PropTypes.string.isRequired])
|
|
305
373
|
};
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
function _EMOTION_STRINGIFIED_CSS_ERROR__() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; }
|
|
2
|
+
|
|
3
|
+
/*
|
|
4
|
+
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
|
|
5
|
+
* or more contributor license agreements. Licensed under the Elastic License
|
|
6
|
+
* 2.0 and the Server Side Public License, v 1; you may not use this file except
|
|
7
|
+
* in compliance with, at your election, the Elastic License 2.0 or the Server
|
|
8
|
+
* Side Public License, v 1.
|
|
9
|
+
*/
|
|
10
|
+
import { css } from '@emotion/react';
|
|
11
|
+
import { logicalCSS } from '../../../global_styling';
|
|
12
|
+
|
|
13
|
+
var _ref = process.env.NODE_ENV === "production" ? {
|
|
14
|
+
name: "1ajq27l-responsiveReverse",
|
|
15
|
+
styles: "flex-direction:column-reverse;align-items:flex-start;label:responsiveReverse;"
|
|
16
|
+
} : {
|
|
17
|
+
name: "1ajq27l-responsiveReverse",
|
|
18
|
+
styles: "flex-direction:column-reverse;align-items:flex-start;label:responsiveReverse;",
|
|
19
|
+
toString: _EMOTION_STRINGIFIED_CSS_ERROR__
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
var _ref2 = process.env.NODE_ENV === "production" ? {
|
|
23
|
+
name: "177mkz8-responsive",
|
|
24
|
+
styles: "flex-direction:column;align-items:flex-start;label:responsive;"
|
|
25
|
+
} : {
|
|
26
|
+
name: "177mkz8-responsive",
|
|
27
|
+
styles: "flex-direction:column;align-items:flex-start;label:responsive;",
|
|
28
|
+
toString: _EMOTION_STRINGIFIED_CSS_ERROR__
|
|
29
|
+
};
|
|
30
|
+
|
|
31
|
+
var _ref3 = process.env.NODE_ENV === "production" ? {
|
|
32
|
+
name: "1uwc4oj-stretch",
|
|
33
|
+
styles: "align-items:stretch;label:stretch;"
|
|
34
|
+
} : {
|
|
35
|
+
name: "1uwc4oj-stretch",
|
|
36
|
+
styles: "align-items:stretch;label:stretch;",
|
|
37
|
+
toString: _EMOTION_STRINGIFIED_CSS_ERROR__
|
|
38
|
+
};
|
|
39
|
+
|
|
40
|
+
var _ref4 = process.env.NODE_ENV === "production" ? {
|
|
41
|
+
name: "8391db-center",
|
|
42
|
+
styles: "align-items:center;label:center;"
|
|
43
|
+
} : {
|
|
44
|
+
name: "8391db-center",
|
|
45
|
+
styles: "align-items:center;label:center;",
|
|
46
|
+
toString: _EMOTION_STRINGIFIED_CSS_ERROR__
|
|
47
|
+
};
|
|
48
|
+
|
|
49
|
+
var _ref5 = process.env.NODE_ENV === "production" ? {
|
|
50
|
+
name: "1msaet2-bottom",
|
|
51
|
+
styles: "align-items:flex-end;label:bottom;"
|
|
52
|
+
} : {
|
|
53
|
+
name: "1msaet2-bottom",
|
|
54
|
+
styles: "align-items:flex-end;label:bottom;",
|
|
55
|
+
toString: _EMOTION_STRINGIFIED_CSS_ERROR__
|
|
56
|
+
};
|
|
57
|
+
|
|
58
|
+
var _ref6 = process.env.NODE_ENV === "production" ? {
|
|
59
|
+
name: "1gnwbvd-top",
|
|
60
|
+
styles: "align-items:flex-start;label:top;"
|
|
61
|
+
} : {
|
|
62
|
+
name: "1gnwbvd-top",
|
|
63
|
+
styles: "align-items:flex-start;label:top;",
|
|
64
|
+
toString: _EMOTION_STRINGIFIED_CSS_ERROR__
|
|
65
|
+
};
|
|
66
|
+
|
|
67
|
+
export var euiPageHeaderContentStyles = function euiPageHeaderContentStyles(_ref7) {
|
|
68
|
+
var euiTheme = _ref7.euiTheme;
|
|
69
|
+
return {
|
|
70
|
+
euiPageHeaderContent: /*#__PURE__*/css(logicalCSS('width', '100%'), ";", logicalCSS('margin-horizontal', 'auto'), ";;label:euiPageHeaderContent;"),
|
|
71
|
+
// alignItems
|
|
72
|
+
top: _ref6,
|
|
73
|
+
bottom: _ref5,
|
|
74
|
+
center: _ref4,
|
|
75
|
+
stretch: _ref3,
|
|
76
|
+
// Children only (legacy) expects EuiPageHeaderSections as children
|
|
77
|
+
flex: /*#__PURE__*/css("flex-direction:row;display:flex;gap:", euiTheme.size.base, ";justify-content:space-between;;label:flex;"),
|
|
78
|
+
// Responsive (what to do at the smaller breakpoint)
|
|
79
|
+
responsive: _ref2,
|
|
80
|
+
responsiveReverse: _ref,
|
|
81
|
+
// Content
|
|
82
|
+
euiPageHeaderContent__titleIcon: /*#__PURE__*/css("position:relative;", logicalCSS('top', "-".concat(euiTheme.size.xs)), ";", logicalCSS('margin-right', euiTheme.size.base), ";;label:euiPageHeaderContent__titleIcon;")
|
|
83
|
+
};
|
|
84
|
+
};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
|
|
3
|
+
* or more contributor license agreements. Licensed under the Elastic License
|
|
4
|
+
* 2.0 and the Server Side Public License, v 1; you may not use this file except
|
|
5
|
+
* in compliance with, at your election, the Elastic License 2.0 or the Server
|
|
6
|
+
* Side Public License, v 1.
|
|
7
|
+
*/
|
|
8
|
+
export { EuiPageSection } from './page_section';
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
var _excluded = ["children", "alignment", "restrictWidth", "bottomBorder", "paddingSize", "color", "grow", "contentProps"];
|
|
2
|
+
|
|
3
|
+
function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
4
|
+
|
|
5
|
+
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
|
|
6
|
+
|
|
7
|
+
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
|
|
8
|
+
|
|
9
|
+
/*
|
|
10
|
+
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
|
|
11
|
+
* or more contributor license agreements. Licensed under the Elastic License
|
|
12
|
+
* 2.0 and the Server Side Public License, v 1; you may not use this file except
|
|
13
|
+
* in compliance with, at your election, the Elastic License 2.0 or the Server
|
|
14
|
+
* Side Public License, v 1.
|
|
15
|
+
*/
|
|
16
|
+
import React from 'react';
|
|
17
|
+
import PropTypes from "prop-types";
|
|
18
|
+
import { setStyleForRestrictedPageWidth } from '../_restrict_width';
|
|
19
|
+
import { useEuiTheme } from '../../../services';
|
|
20
|
+
import { euiPageSectionContentStyles, euiPageSectionStyles } from './page_section.styles';
|
|
21
|
+
import { useEuiPaddingCSS, useEuiBackgroundColorCSS } from '../../../global_styling';
|
|
22
|
+
import { jsx as ___EmotionJSX } from "@emotion/react";
|
|
23
|
+
export var EuiPageSection = function EuiPageSection(_ref) {
|
|
24
|
+
var children = _ref.children,
|
|
25
|
+
_ref$alignment = _ref.alignment,
|
|
26
|
+
alignment = _ref$alignment === void 0 ? 'top' : _ref$alignment,
|
|
27
|
+
_ref$restrictWidth = _ref.restrictWidth,
|
|
28
|
+
restrictWidth = _ref$restrictWidth === void 0 ? false : _ref$restrictWidth,
|
|
29
|
+
bottomBorder = _ref.bottomBorder,
|
|
30
|
+
_ref$paddingSize = _ref.paddingSize,
|
|
31
|
+
paddingSize = _ref$paddingSize === void 0 ? 'l' : _ref$paddingSize,
|
|
32
|
+
_ref$color = _ref.color,
|
|
33
|
+
color = _ref$color === void 0 ? 'transparent' : _ref$color,
|
|
34
|
+
_ref$grow = _ref.grow,
|
|
35
|
+
grow = _ref$grow === void 0 ? false : _ref$grow,
|
|
36
|
+
contentProps = _ref.contentProps,
|
|
37
|
+
rest = _objectWithoutProperties(_ref, _excluded);
|
|
38
|
+
|
|
39
|
+
// Set max-width as a style prop
|
|
40
|
+
var widthStyles = setStyleForRestrictedPageWidth(restrictWidth, contentProps === null || contentProps === void 0 ? void 0 : contentProps.style);
|
|
41
|
+
var useTheme = useEuiTheme();
|
|
42
|
+
var styles = euiPageSectionStyles(useTheme);
|
|
43
|
+
var inlinePadding = useEuiPaddingCSS('horizontal');
|
|
44
|
+
var blockPadding = useEuiPaddingCSS('vertical');
|
|
45
|
+
var colors = useEuiBackgroundColorCSS();
|
|
46
|
+
var cssStyles = [styles.euiPageSection, grow && styles.grow, inlinePadding[paddingSize], bottomBorder === 'extended' && styles.border, alignment && styles[alignment], colors[color]];
|
|
47
|
+
var contentStyles = euiPageSectionContentStyles();
|
|
48
|
+
var cssContentStyles = [contentStyles.euiPageSection__content, blockPadding[paddingSize], bottomBorder === true && styles.border, alignment.toLowerCase().includes('center') && contentStyles.center, restrictWidth && contentStyles.restrictWidth];
|
|
49
|
+
return ___EmotionJSX("div", _extends({
|
|
50
|
+
css: cssStyles
|
|
51
|
+
}, rest), ___EmotionJSX("div", _extends({
|
|
52
|
+
css: cssContentStyles
|
|
53
|
+
}, contentProps, {
|
|
54
|
+
style: widthStyles
|
|
55
|
+
}), children));
|
|
56
|
+
};
|
|
57
|
+
EuiPageSection.propTypes = {
|
|
58
|
+
className: PropTypes.string,
|
|
59
|
+
"aria-label": PropTypes.string,
|
|
60
|
+
"data-test-subj": PropTypes.string,
|
|
61
|
+
|
|
62
|
+
/**
|
|
63
|
+
* Sets the max-width of the page,
|
|
64
|
+
* set to `true` to use the default size of `1200px`,
|
|
65
|
+
* set to `false` to not restrict the width,
|
|
66
|
+
* set to a number for a custom width in px,
|
|
67
|
+
* set to a string for a custom width in custom measurement.
|
|
68
|
+
*/
|
|
69
|
+
restrictWidth: PropTypes.oneOfType([PropTypes.bool.isRequired, PropTypes.number.isRequired, PropTypes.string.isRequired]),
|
|
70
|
+
|
|
71
|
+
/**
|
|
72
|
+
* Adds a bottom border to separate it from the content after;
|
|
73
|
+
* Passing `extended` will ensure the border touches the sides of the parent container.
|
|
74
|
+
*/
|
|
75
|
+
bottomBorder: PropTypes.oneOfType([PropTypes.bool.isRequired, PropTypes.oneOf(["extended"])]),
|
|
76
|
+
|
|
77
|
+
/**
|
|
78
|
+
* Background color of the section;
|
|
79
|
+
* Usually a lightened form of the brand colors
|
|
80
|
+
*/
|
|
81
|
+
color: PropTypes.any,
|
|
82
|
+
|
|
83
|
+
/**
|
|
84
|
+
* Padding for all four sides
|
|
85
|
+
*/
|
|
86
|
+
paddingSize: PropTypes.any,
|
|
87
|
+
|
|
88
|
+
/**
|
|
89
|
+
* Horizontal and/or vertical alignment of the section contents
|
|
90
|
+
*/
|
|
91
|
+
alignment: PropTypes.any,
|
|
92
|
+
|
|
93
|
+
/**
|
|
94
|
+
* When true the panel will grow in height to fill container if parent is a flex group
|
|
95
|
+
*/
|
|
96
|
+
grow: PropTypes.bool,
|
|
97
|
+
|
|
98
|
+
/**
|
|
99
|
+
* Passed down to the div wrapper of the section contents
|
|
100
|
+
*/
|
|
101
|
+
contentProps: PropTypes.any
|
|
102
|
+
};
|