@elastic/eui 62.2.2 → 63.0.2

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.
Files changed (222) hide show
  1. package/dist/eui_theme_dark.css +3 -270
  2. package/dist/eui_theme_dark.min.css +1 -1
  3. package/dist/eui_theme_light.css +3 -270
  4. package/dist/eui_theme_light.min.css +1 -1
  5. package/es/components/bottom_bar/bottom_bar.js +20 -3
  6. package/es/components/header/header.js +2 -0
  7. package/es/components/header/header_links/header_links.js +2 -1
  8. package/es/components/index.js +1 -0
  9. package/es/components/page/_bottom_border.js +1 -0
  10. package/es/components/page/_restrict_width.js +34 -7
  11. package/es/components/page/index.js +5 -3
  12. package/es/components/page/page.js +19 -30
  13. package/es/components/page/page.styles.js +43 -0
  14. package/es/components/page/page_body/page_body.js +18 -26
  15. package/es/components/page/page_body/page_body.styles.js +16 -0
  16. package/es/components/page/page_content/index.js +4 -4
  17. package/es/components/page/page_content/page_content.js +7 -2
  18. package/es/components/page/page_content/page_content_body.js +12 -7
  19. package/es/components/page/page_content/page_content_header.js +7 -2
  20. package/es/components/page/page_content/page_content_header_section.js +7 -2
  21. package/es/components/page/page_header/page_header.js +29 -172
  22. package/es/components/page/page_header/page_header.styles.js +16 -0
  23. package/es/components/page/page_header/page_header_content.js +84 -16
  24. package/es/components/page/page_header/page_header_content.styles.js +84 -0
  25. package/es/components/page/page_section/index.js +8 -0
  26. package/es/components/page/page_section/page_section.js +102 -0
  27. package/es/components/page/page_section/page_section.styles.js +43 -0
  28. package/es/components/page/page_side_bar/index.js +1 -1
  29. package/es/components/page/page_side_bar/page_side_bar.js +8 -3
  30. package/es/components/page/page_sidebar/index.js +8 -0
  31. package/es/components/page/page_sidebar/page_sidebar.js +110 -0
  32. package/es/components/page/page_sidebar/page_sidebar.styles.js +29 -0
  33. package/es/components/page/page_template.js +54 -154
  34. package/es/components/page_template/bottom_bar/page_bottom_bar.js +102 -0
  35. package/es/components/page_template/empty_prompt/page_empty_prompt.js +107 -0
  36. package/es/components/page_template/index.js +8 -0
  37. package/es/components/page_template/inner/index.js +8 -0
  38. package/es/components/page_template/inner/page_inner.js +51 -0
  39. package/es/components/page_template/inner/page_inner.styles.js +22 -0
  40. package/es/components/page_template/outer/index.js +8 -0
  41. package/es/components/page_template/outer/page_outer.js +59 -0
  42. package/es/components/page_template/outer/page_outer.styles.js +49 -0
  43. package/es/components/page_template/page_template.js +376 -0
  44. package/es/global_styling/functions/logicals.js +1 -1
  45. package/es/global_styling/mixins/_helpers.js +27 -9
  46. package/eui.d.ts +423 -49
  47. package/lib/components/bottom_bar/bottom_bar.js +20 -3
  48. package/lib/components/header/header.js +2 -0
  49. package/lib/components/header/header_links/header_links.js +2 -1
  50. package/lib/components/index.js +13 -0
  51. package/lib/components/page/_bottom_border.js +5 -0
  52. package/lib/components/page/_restrict_width.js +38 -7
  53. package/lib/components/page/index.js +28 -12
  54. package/lib/components/page/page.js +22 -34
  55. package/lib/components/page/page.styles.js +46 -0
  56. package/lib/components/page/page_body/page_body.js +20 -29
  57. package/lib/components/page/page_body/page_body.styles.js +27 -0
  58. package/lib/components/page/page_content/index.js +8 -8
  59. package/lib/components/page/page_content/page_content.js +8 -4
  60. package/lib/components/page/page_content/page_content_body.js +13 -9
  61. package/lib/components/page/page_content/page_content_header.js +8 -4
  62. package/lib/components/page/page_content/page_content_header_section.js +8 -4
  63. package/lib/components/page/page_header/page_header.js +31 -175
  64. package/lib/components/page/page_header/page_header.styles.js +27 -0
  65. package/lib/components/page/page_header/page_header_content.js +108 -16
  66. package/lib/components/page/page_header/page_header_content.styles.js +87 -0
  67. package/lib/components/page/page_section/index.js +13 -0
  68. package/lib/components/page/page_section/page_section.js +113 -0
  69. package/lib/components/page/page_section/page_section.styles.js +51 -0
  70. package/lib/components/page/page_side_bar/index.js +2 -2
  71. package/lib/components/page/page_side_bar/page_side_bar.js +9 -5
  72. package/lib/components/page/page_sidebar/index.js +13 -0
  73. package/lib/components/page/page_sidebar/page_sidebar.js +124 -0
  74. package/lib/components/page/page_sidebar/page_sidebar.styles.js +32 -0
  75. package/lib/components/page/page_template.js +76 -177
  76. package/lib/components/page_template/bottom_bar/page_bottom_bar.js +114 -0
  77. package/lib/components/page_template/empty_prompt/page_empty_prompt.js +116 -0
  78. package/lib/components/page_template/index.js +13 -0
  79. package/lib/components/page_template/inner/index.js +13 -0
  80. package/lib/components/page_template/inner/page_inner.js +60 -0
  81. package/lib/components/page_template/inner/page_inner.styles.js +35 -0
  82. package/lib/components/page_template/outer/index.js +13 -0
  83. package/lib/components/page_template/outer/page_outer.js +68 -0
  84. package/lib/components/page_template/outer/page_outer.styles.js +51 -0
  85. package/lib/components/page_template/page_template.js +399 -0
  86. package/lib/global_styling/functions/logicals.js +1 -1
  87. package/lib/global_styling/mixins/_helpers.js +27 -9
  88. package/optimize/es/components/bottom_bar/bottom_bar.js +1 -1
  89. package/optimize/es/components/header/header.js +2 -0
  90. package/optimize/es/components/header/header_links/header_links.js +2 -1
  91. package/optimize/es/components/index.js +1 -0
  92. package/optimize/es/components/page/_bottom_border.js +1 -0
  93. package/optimize/es/components/page/_restrict_width.js +34 -7
  94. package/optimize/es/components/page/index.js +5 -3
  95. package/optimize/es/components/page/page.js +18 -28
  96. package/optimize/es/components/page/page.styles.js +43 -0
  97. package/optimize/es/components/page/page_body/page_body.js +18 -25
  98. package/optimize/es/components/page/page_body/page_body.styles.js +16 -0
  99. package/optimize/es/components/page/page_content/index.js +4 -4
  100. package/optimize/es/components/page/page_content/page_content.js +6 -1
  101. package/optimize/es/components/page/page_content/page_content_body.js +10 -5
  102. package/optimize/es/components/page/page_content/page_content_header.js +6 -1
  103. package/optimize/es/components/page/page_content/page_content_header_section.js +6 -1
  104. package/optimize/es/components/page/page_header/page_header.js +20 -32
  105. package/optimize/es/components/page/page_header/page_header.styles.js +16 -0
  106. package/optimize/es/components/page/page_header/page_header_content.js +62 -14
  107. package/optimize/es/components/page/page_header/page_header_content.styles.js +84 -0
  108. package/optimize/es/components/page/page_section/index.js +8 -0
  109. package/optimize/es/components/page/page_section/page_section.js +51 -0
  110. package/optimize/es/components/page/page_section/page_section.styles.js +43 -0
  111. package/optimize/es/components/page/page_side_bar/index.js +1 -1
  112. package/optimize/es/components/page/page_side_bar/page_side_bar.js +6 -1
  113. package/optimize/es/components/page/page_sidebar/index.js +8 -0
  114. package/optimize/es/components/page/page_sidebar/page_sidebar.js +60 -0
  115. package/optimize/es/components/page/page_sidebar/page_sidebar.styles.js +29 -0
  116. package/optimize/es/components/page/page_template.js +29 -9
  117. package/optimize/es/components/page_template/bottom_bar/page_bottom_bar.js +70 -0
  118. package/optimize/es/components/page_template/empty_prompt/page_empty_prompt.js +61 -0
  119. package/optimize/es/components/page_template/index.js +8 -0
  120. package/optimize/es/components/page_template/inner/index.js +8 -0
  121. package/optimize/es/components/page_template/inner/page_inner.js +47 -0
  122. package/optimize/es/components/page_template/inner/page_inner.styles.js +22 -0
  123. package/optimize/es/components/page_template/outer/index.js +8 -0
  124. package/optimize/es/components/page_template/outer/page_outer.js +33 -0
  125. package/optimize/es/components/page_template/outer/page_outer.styles.js +49 -0
  126. package/optimize/es/components/page_template/page_template.js +202 -0
  127. package/optimize/es/global_styling/functions/logicals.js +1 -1
  128. package/optimize/es/global_styling/mixins/_helpers.js +27 -9
  129. package/optimize/lib/components/bottom_bar/bottom_bar.js +1 -1
  130. package/optimize/lib/components/header/header.js +2 -0
  131. package/optimize/lib/components/header/header_links/header_links.js +2 -1
  132. package/optimize/lib/components/index.js +13 -0
  133. package/optimize/lib/components/page/_bottom_border.js +5 -0
  134. package/optimize/lib/components/page/_restrict_width.js +38 -7
  135. package/optimize/lib/components/page/index.js +28 -12
  136. package/optimize/lib/components/page/page.js +21 -33
  137. package/optimize/lib/components/page/page.styles.js +46 -0
  138. package/optimize/lib/components/page/page_body/page_body.js +20 -29
  139. package/optimize/lib/components/page/page_body/page_body.styles.js +27 -0
  140. package/optimize/lib/components/page/page_content/index.js +8 -8
  141. package/optimize/lib/components/page/page_content/page_content.js +7 -3
  142. package/optimize/lib/components/page/page_content/page_content_body.js +11 -7
  143. package/optimize/lib/components/page/page_content/page_content_header.js +7 -3
  144. package/optimize/lib/components/page/page_content/page_content_header_section.js +7 -3
  145. package/optimize/lib/components/page/page_header/page_header.js +22 -36
  146. package/optimize/lib/components/page/page_header/page_header.styles.js +27 -0
  147. package/optimize/lib/components/page/page_header/page_header_content.js +66 -13
  148. package/optimize/lib/components/page/page_header/page_header_content.styles.js +87 -0
  149. package/optimize/lib/components/page/page_section/index.js +13 -0
  150. package/optimize/lib/components/page/page_section/page_section.js +62 -0
  151. package/optimize/lib/components/page/page_section/page_section.styles.js +51 -0
  152. package/optimize/lib/components/page/page_side_bar/index.js +2 -2
  153. package/optimize/lib/components/page/page_side_bar/page_side_bar.js +7 -3
  154. package/optimize/lib/components/page/page_sidebar/index.js +13 -0
  155. package/optimize/lib/components/page/page_sidebar/page_sidebar.js +79 -0
  156. package/optimize/lib/components/page/page_sidebar/page_sidebar.styles.js +32 -0
  157. package/optimize/lib/components/page/page_template.js +51 -33
  158. package/optimize/lib/components/page_template/bottom_bar/page_bottom_bar.js +85 -0
  159. package/optimize/lib/components/page_template/empty_prompt/page_empty_prompt.js +71 -0
  160. package/optimize/lib/components/page_template/index.js +13 -0
  161. package/optimize/lib/components/page_template/inner/index.js +13 -0
  162. package/optimize/lib/components/page_template/inner/page_inner.js +57 -0
  163. package/optimize/lib/components/page_template/inner/page_inner.styles.js +35 -0
  164. package/optimize/lib/components/page_template/outer/index.js +13 -0
  165. package/optimize/lib/components/page_template/outer/page_outer.js +42 -0
  166. package/optimize/lib/components/page_template/outer/page_outer.styles.js +51 -0
  167. package/optimize/lib/components/page_template/page_template.js +228 -0
  168. package/optimize/lib/global_styling/functions/logicals.js +1 -1
  169. package/optimize/lib/global_styling/mixins/_helpers.js +27 -9
  170. package/package.json +1 -1
  171. package/src/components/page/_index.scss +0 -5
  172. package/src/components/page/page_content/_page_content_body.scss +10 -1
  173. package/src/components/tabs/_tabs.scss +2 -0
  174. package/test-env/components/bottom_bar/bottom_bar.js +20 -3
  175. package/test-env/components/header/header.js +2 -0
  176. package/test-env/components/header/header_links/header_links.js +2 -1
  177. package/test-env/components/index.js +13 -0
  178. package/test-env/components/page/_bottom_border.js +5 -0
  179. package/test-env/components/page/_restrict_width.js +38 -7
  180. package/test-env/components/page/index.js +28 -12
  181. package/test-env/components/page/page.js +22 -34
  182. package/test-env/components/page/page.styles.js +46 -0
  183. package/test-env/components/page/page_body/page_body.js +20 -29
  184. package/test-env/components/page/page_body/page_body.styles.js +27 -0
  185. package/test-env/components/page/page_content/index.js +8 -8
  186. package/test-env/components/page/page_content/page_content.js +8 -4
  187. package/test-env/components/page/page_content/page_content_body.js +13 -9
  188. package/test-env/components/page/page_content/page_content_header.js +8 -4
  189. package/test-env/components/page/page_content/page_content_header_section.js +8 -4
  190. package/test-env/components/page/page_header/page_header.js +31 -175
  191. package/test-env/components/page/page_header/page_header.styles.js +27 -0
  192. package/test-env/components/page/page_header/page_header_content.js +109 -16
  193. package/test-env/components/page/page_header/page_header_content.styles.js +87 -0
  194. package/test-env/components/page/page_section/index.js +13 -0
  195. package/test-env/components/page/page_section/page_section.js +110 -0
  196. package/test-env/components/page/page_section/page_section.styles.js +51 -0
  197. package/test-env/components/page/page_side_bar/index.js +2 -2
  198. package/test-env/components/page/page_side_bar/page_side_bar.js +9 -5
  199. package/test-env/components/page/page_sidebar/index.js +13 -0
  200. package/test-env/components/page/page_sidebar/page_sidebar.js +113 -0
  201. package/test-env/components/page/page_sidebar/page_sidebar.styles.js +32 -0
  202. package/test-env/components/page/page_template.js +76 -178
  203. package/test-env/components/page_template/bottom_bar/page_bottom_bar.js +102 -0
  204. package/test-env/components/page_template/empty_prompt/page_empty_prompt.js +114 -0
  205. package/test-env/components/page_template/index.js +13 -0
  206. package/test-env/components/page_template/inner/index.js +13 -0
  207. package/test-env/components/page_template/inner/page_inner.js +57 -0
  208. package/test-env/components/page_template/inner/page_inner.styles.js +35 -0
  209. package/test-env/components/page_template/outer/index.js +13 -0
  210. package/test-env/components/page_template/outer/page_outer.js +65 -0
  211. package/test-env/components/page_template/outer/page_outer.styles.js +51 -0
  212. package/test-env/components/page_template/page_template.js +387 -0
  213. package/test-env/global_styling/functions/logicals.js +1 -1
  214. package/test-env/global_styling/mixins/_helpers.js +27 -9
  215. package/src/components/page/_mixins.scss +0 -12
  216. package/src/components/page/_page.scss +0 -41
  217. package/src/components/page/page_body/_index.scss +0 -1
  218. package/src/components/page/page_body/_page_body.scss +0 -45
  219. package/src/components/page/page_header/_index.scss +0 -3
  220. package/src/components/page/page_header/_page_header.scss +0 -78
  221. package/src/components/page/page_header/_page_header_content.scss +0 -15
  222. package/src/components/page/page_header/_page_header_section.scss +0 -26
@@ -0,0 +1,202 @@
1
+ import _extends from "@babel/runtime/helpers/extends";
2
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
3
+ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
4
+ import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
5
+ var _excluded = ["children", "restrictWidth", "paddingSize", "grow", "bottomBorder", "offset", "panelled", "contentBorder", "mainProps", "className", "minHeight", "responsive"];
6
+
7
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
8
+
9
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
10
+
11
+ /*
12
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
13
+ * or more contributor license agreements. Licensed under the Elastic License
14
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
15
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
16
+ * Side Public License, v 1.
17
+ */
18
+ import React, { createContext, useContext, useEffect, useState } from 'react';
19
+ import classNames from 'classnames';
20
+ import { _EuiPageOuter as EuiPageOuter } from './outer';
21
+ import { _EuiPageInner as EuiPageInner } from './inner';
22
+ import { _EuiPageBottomBar as EuiPageBottomBar } from './bottom_bar/page_bottom_bar';
23
+ import { _EuiPageEmptyPrompt as EuiPageEmptyPrompt } from './empty_prompt/page_empty_prompt';
24
+ import { EuiPageHeader, EuiPageSection, EuiPageSidebar } from '../page';
25
+ import { useEuiTheme, useGeneratedHtmlId } from '../../services';
26
+ import { logicalStyle } from '../../global_styling';
27
+ import { jsx as ___EmotionJSX } from "@emotion/react";
28
+ export var TemplateContext = /*#__PURE__*/createContext({
29
+ section: {},
30
+ header: {},
31
+ emptyPrompt: {},
32
+ bottomBar: {}
33
+ });
34
+
35
+ /**
36
+ * Consumed via `EuiPageTemplate`,
37
+ * it controls and propogates most of the shared props per direct child
38
+ */
39
+ export var _EuiPageTemplate = function _EuiPageTemplate(_ref) {
40
+ var children = _ref.children,
41
+ _ref$restrictWidth = _ref.restrictWidth,
42
+ restrictWidth = _ref$restrictWidth === void 0 ? true : _ref$restrictWidth,
43
+ _ref$paddingSize = _ref.paddingSize,
44
+ paddingSize = _ref$paddingSize === void 0 ? 'l' : _ref$paddingSize,
45
+ _ref$grow = _ref.grow,
46
+ grow = _ref$grow === void 0 ? true : _ref$grow,
47
+ bottomBorder = _ref.bottomBorder,
48
+ _offset = _ref.offset,
49
+ panelled = _ref.panelled,
50
+ contentBorder = _ref.contentBorder,
51
+ mainProps = _ref.mainProps,
52
+ className = _ref.className,
53
+ _ref$minHeight = _ref.minHeight,
54
+ minHeight = _ref$minHeight === void 0 ? '460px' : _ref$minHeight,
55
+ _ref$responsive = _ref.responsive,
56
+ responsive = _ref$responsive === void 0 ? ['xs', 's'] : _ref$responsive,
57
+ rest = _objectWithoutProperties(_ref, _excluded);
58
+
59
+ var _useEuiTheme = useEuiTheme(),
60
+ euiTheme = _useEuiTheme.euiTheme;
61
+
62
+ var _useState = useState(_offset),
63
+ _useState2 = _slicedToArray(_useState, 2),
64
+ offset = _useState2[0],
65
+ setOffset = _useState2[1];
66
+
67
+ var templateContext = useContext(TemplateContext); // Used as a target to insert the bottom bar component
68
+
69
+ var pageInnerId = useGeneratedHtmlId({
70
+ prefix: 'EuiPageTemplateInner',
71
+ conditionalId: mainProps === null || mainProps === void 0 ? void 0 : mainProps.id
72
+ });
73
+ useEffect(function () {
74
+ if (_offset === undefined) {
75
+ var euiHeaderFixedCounter = Number(document.body.dataset.fixedHeaders);
76
+ setOffset(euiTheme.base * 3 * euiHeaderFixedCounter);
77
+ }
78
+ }, [_offset, euiTheme.base]); // Sections include page header
79
+
80
+ var sections = [];
81
+ var sidebar = [];
82
+
83
+ var getBottomBorder = function getBottomBorder() {
84
+ if (bottomBorder !== undefined) {
85
+ return bottomBorder;
86
+ } else {
87
+ return sidebar.length ? true : 'extended';
88
+ }
89
+ };
90
+
91
+ var getHeaderProps = function getHeaderProps() {
92
+ return {
93
+ restrictWidth: restrictWidth,
94
+ paddingSize: paddingSize,
95
+ bottomBorder: getBottomBorder()
96
+ };
97
+ };
98
+
99
+ var getSectionProps = function getSectionProps() {
100
+ return {
101
+ restrictWidth: restrictWidth,
102
+ paddingSize: paddingSize,
103
+ color: panelled === false ? 'transparent' : 'plain'
104
+ };
105
+ };
106
+
107
+ var getSideBarProps = function getSideBarProps() {
108
+ return {
109
+ paddingSize: paddingSize,
110
+ responsive: responsive
111
+ };
112
+ };
113
+
114
+ var getBottomBarProps = function getBottomBarProps() {
115
+ return {
116
+ restrictWidth: restrictWidth,
117
+ paddingSize: paddingSize,
118
+ parent: "#".concat(pageInnerId)
119
+ };
120
+ };
121
+
122
+ var innerPanelled = function innerPanelled() {
123
+ return panelled === false ? false : Boolean(sidebar.length > 0);
124
+ };
125
+
126
+ var innerBordered = function innerBordered() {
127
+ return contentBorder !== undefined ? contentBorder : Boolean(sidebar.length > 0);
128
+ };
129
+
130
+ React.Children.toArray(children).forEach(function (child, index) {
131
+ if (! /*#__PURE__*/React.isValidElement(child)) return; // Skip non-components
132
+
133
+ switch (child.type) {
134
+ case EuiPageSidebar:
135
+ sidebar.push( /*#__PURE__*/React.cloneElement(child, _objectSpread(_objectSpread({
136
+ key: "sidebar".concat(index)
137
+ }, getSideBarProps()), child.props)));
138
+ break;
139
+
140
+ default:
141
+ sections.push(child);
142
+ }
143
+ });
144
+
145
+ var _minHeight = grow ? "max(".concat(minHeight, ", 100vh)") : minHeight;
146
+
147
+ var classes = classNames('euiPageTemplate', className);
148
+
149
+ var pageStyle = _objectSpread(_objectSpread(_objectSpread({}, logicalStyle('min-height', _minHeight)), logicalStyle('padding-top', offset)), rest.style);
150
+
151
+ templateContext.header = getHeaderProps();
152
+ templateContext.section = getSectionProps();
153
+ templateContext.emptyPrompt = {
154
+ panelled: innerPanelled() ? true : panelled,
155
+ grow: true
156
+ };
157
+ templateContext.bottomBar = getBottomBarProps();
158
+ return ___EmotionJSX(TemplateContext.Provider, {
159
+ value: templateContext
160
+ }, ___EmotionJSX(EuiPageOuter, _extends({}, rest, {
161
+ responsive: responsive,
162
+ style: pageStyle,
163
+ className: classes
164
+ }), sidebar, ___EmotionJSX(EuiPageInner, _extends({}, mainProps, {
165
+ id: pageInnerId,
166
+ border: innerBordered(),
167
+ panelled: innerPanelled(),
168
+ responsive: responsive
169
+ }), sections)));
170
+ };
171
+
172
+ var _EuiPageSection = function _EuiPageSection(props) {
173
+ var templateContext = useContext(TemplateContext);
174
+ return ___EmotionJSX(EuiPageSection, _extends({}, templateContext.section, {
175
+ grow: true
176
+ }, props));
177
+ };
178
+
179
+ var _EuiPageHeader = function _EuiPageHeader(props) {
180
+ var templateContext = useContext(TemplateContext);
181
+ return ___EmotionJSX(EuiPageHeader, _extends({}, templateContext.header, props));
182
+ };
183
+
184
+ var _EuiPageEmptyPrompt = function _EuiPageEmptyPrompt(props) {
185
+ var templateContext = useContext(TemplateContext);
186
+ return ___EmotionJSX(EuiPageEmptyPrompt, _extends({}, templateContext.emptyPrompt, props));
187
+ };
188
+
189
+ var _EuiPageBottomBar = function _EuiPageBottomBar(props) {
190
+ var _useContext = useContext(TemplateContext),
191
+ bottomBar = _useContext.bottomBar;
192
+
193
+ return ___EmotionJSX(EuiPageBottomBar, _extends({}, bottomBar, props));
194
+ };
195
+
196
+ export var EuiPageTemplate = Object.assign(_EuiPageTemplate, {
197
+ Sidebar: EuiPageSidebar,
198
+ Header: _EuiPageHeader,
199
+ Section: _EuiPageSection,
200
+ BottomBar: _EuiPageBottomBar,
201
+ EmptyPrompt: _EuiPageEmptyPrompt
202
+ });
@@ -119,7 +119,7 @@ export var logicalStyle = function logicalStyle(property, value) {
119
119
  var camelCasedProperty = logicals[property].replace(/-\w/g, function (str) {
120
120
  return str.charAt(1).toUpperCase();
121
121
  });
122
- return _defineProperty({}, camelCasedProperty, "".concat(value));
122
+ return _defineProperty({}, camelCasedProperty, value);
123
123
  };
124
124
  /**
125
125
  *
@@ -80,24 +80,42 @@ var euiOverflowShadowStyles = function euiOverflowShadowStyles(_ref3) {
80
80
  * Browser's supporting `:focus-visible` will still show outline on keyboard focus only.
81
81
  * Others like Safari, won't show anything at all.
82
82
  */
83
- // TODO: How do we use Emotion to output the CSS class utilities instead?
84
83
 
85
84
 
85
+ // TODO: How do we use Emotion to output the CSS class utilities instead?
86
86
  export var euiYScroll = function euiYScroll(euiTheme) {
87
- return "\n ".concat(euiScrollBarStyles(euiTheme), "\n height: 100%;\n overflow-y: auto;\n overflow-x: hidden;\n &:focus {\n outline: none; /* 1 */\n }\n");
87
+ var _ref5 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
88
+ height = _ref5.height;
89
+
90
+ return "\n ".concat(euiScrollBarStyles(euiTheme), "\n height: ").concat(height || '100%', ";\n overflow-y: auto;\n overflow-x: hidden;\n &:focus {\n outline: none; /* 1 */\n }\n");
88
91
  };
89
92
  export var useEuiYScroll = function useEuiYScroll() {
93
+ var _ref6 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
94
+ height = _ref6.height;
95
+
90
96
  var euiTheme = useEuiTheme();
91
- return euiYScroll(euiTheme);
97
+ return euiYScroll(euiTheme, {
98
+ height: height
99
+ });
92
100
  };
93
101
  export var euiYScrollWithShadows = function euiYScrollWithShadows(euiTheme) {
94
- return "\n ".concat(euiYScroll(euiTheme), "\n ").concat(euiOverflowShadowStyles(euiTheme, {
102
+ var _ref7 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
103
+ height = _ref7.height;
104
+
105
+ return "\n ".concat(euiYScroll(euiTheme, {
106
+ height: height
107
+ }), "\n ").concat(euiOverflowShadowStyles(euiTheme, {
95
108
  direction: 'y'
96
109
  }), "\n");
97
110
  };
98
111
  export var useEuiYScrollWithShadows = function useEuiYScrollWithShadows() {
112
+ var _ref8 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
113
+ height = _ref8.height;
114
+
99
115
  var euiTheme = useEuiTheme();
100
- return euiYScrollWithShadows(euiTheme);
116
+ return euiYScrollWithShadows(euiTheme, {
117
+ height: height
118
+ });
101
119
  };
102
120
  export var euiXScroll = function euiXScroll(euiTheme) {
103
121
  return "\n ".concat(euiScrollBarStyles(euiTheme), "\n overflow-x: auto;\n &:focus {\n outline: none; /* 1 */\n }\n");
@@ -116,10 +134,10 @@ export var useEuiXScrollWithShadows = function useEuiXScrollWithShadows() {
116
134
  return euiXScrollWithShadows(euiTheme);
117
135
  };
118
136
  export var euiOverflowScroll = function euiOverflowScroll(euiTheme) {
119
- var _ref5 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
120
- direction = _ref5.direction,
121
- _ref5$mask = _ref5.mask,
122
- mask = _ref5$mask === void 0 ? false : _ref5$mask;
137
+ var _ref9 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
138
+ direction = _ref9.direction,
139
+ _ref9$mask = _ref9.mask,
140
+ mask = _ref9$mask === void 0 ? false : _ref9$mask;
123
141
 
124
142
  switch (direction) {
125
143
  case 'y':
@@ -151,7 +151,7 @@ var _EuiBottomBar = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
151
151
  token: "euiBottomBar.screenReaderAnnouncement",
152
152
  default: "There is a new region landmark with page level controls at the end of the document."
153
153
  }))));
154
- return usePortal ? (0, _react2.jsx)(_portal.EuiPortal, null, bar) : bar;
154
+ return usePortal ? (0, _react2.jsx)(_portal.EuiPortal, typeof usePortal !== 'boolean' ? usePortal : undefined, bar) : bar;
155
155
  });
156
156
 
157
157
  var EuiBottomBar = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
@@ -56,11 +56,13 @@ var EuiHeader = function EuiHeader(_ref) {
56
56
  // Increment fixed header counter for each fixed header
57
57
  euiHeaderFixedCounter++;
58
58
  document.body.classList.add('euiBody--headerIsFixed');
59
+ document.body.setAttribute('data-fixed-headers', String(euiHeaderFixedCounter));
59
60
  return function () {
60
61
  // Both decrement the fixed counter AND then check if there are none
61
62
  if (--euiHeaderFixedCounter === 0) {
62
63
  // If there are none, THEN remove class
63
64
  document.body.classList.remove('euiBody--headerIsFixed');
65
+ document.body.removeAttribute('data-fixed-headers');
64
66
  }
65
67
  };
66
68
  }
@@ -117,7 +117,8 @@ var EuiHeaderLinks = function EuiHeaderLinks(_ref) {
117
117
  isOpen: mobileMenuIsOpen,
118
118
  anchorPosition: "downRight",
119
119
  closePopover: closeMenu,
120
- panelPaddingSize: "none"
120
+ panelPaddingSize: "none",
121
+ repositionOnScroll: true
121
122
  }, popoverProps), (0, _react2.jsx)("div", {
122
123
  className: (0, _classnames.default)('euiHeaderLinks__mobileList', ["euiHeaderLinks__mobileList".concat(gutterSizeToClassNameMap[gutterSize])])
123
124
  }, children))));
@@ -732,6 +732,19 @@ Object.keys(_page).forEach(function (key) {
732
732
  });
733
733
  });
734
734
 
735
+ var _page_template = require("./page_template");
736
+
737
+ Object.keys(_page_template).forEach(function (key) {
738
+ if (key === "default" || key === "__esModule") return;
739
+ if (key in exports && exports[key] === _page_template[key]) return;
740
+ Object.defineProperty(exports, key, {
741
+ enumerable: true,
742
+ get: function get() {
743
+ return _page_template[key];
744
+ }
745
+ });
746
+ });
747
+
735
748
  var _pagination = require("./pagination");
736
749
 
737
750
  Object.keys(_pagination).forEach(function (key) {
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
@@ -5,7 +5,9 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
+ exports.PAGE_MAX_WIDTH = void 0;
8
9
  exports.setPropsForRestrictedPageWidth = setPropsForRestrictedPageWidth;
10
+ exports.setStyleForRestrictedPageWidth = setStyleForRestrictedPageWidth;
9
11
 
10
12
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
13
 
@@ -26,26 +28,55 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
26
28
  * This is file contains the type specific to that prop and a helper
27
29
  * function for creating the corresponding classNames and style tags
28
30
  * based on the consumer's configuration
31
+ */
32
+ // TODO: Decide how to make this a global value but still isolated to the page component
33
+ var PAGE_MAX_WIDTH = '1200px';
34
+ exports.PAGE_MAX_WIDTH = PAGE_MAX_WIDTH;
35
+
36
+ /**
37
+ * **DEPRECATED**
38
+ * This function calculates the correct class name and combined styles
39
+ * based on the `restrictWidth` value passed in
29
40
  *
30
- * @param {restrictWidth} boolean | number | string The prop value
31
- * @param {style} CSSProperties An object of style attributes if provided
32
- * @returns {{widthClassName: string, newStyle: CSSProperties}} Returns an object with keys for the class name to append to the component's class and the updated style props
41
+ * @param restrictWidth `boolean | number | string` The prop value
42
+ * @param style `CSSProperties` An object of style attributes if provided
43
+ * @returns An object with keys for the `widthClassName` to append to the component's class and the updated `newStyle` props
33
44
  */
34
45
  function setPropsForRestrictedPageWidth(restrictWidth, style) {
35
46
  var widthClassName;
36
- var newStyle;
47
+
48
+ var newStyle = _objectSpread({}, style);
37
49
 
38
50
  if (restrictWidth === true) {
39
51
  widthClassName = 'restrictWidth-default';
40
52
  } else if (restrictWidth !== false) {
41
53
  widthClassName = 'restrictWidth-custom';
42
- newStyle = _objectSpread(_objectSpread({}, style), {}, {
43
- maxWidth: restrictWidth
44
- });
54
+ newStyle.maxWidth = restrictWidth;
45
55
  }
46
56
 
47
57
  return {
48
58
  widthClassName: widthClassName,
49
59
  newStyle: newStyle
50
60
  };
61
+ }
62
+ /**
63
+ * This function calculates the correct just the combined styles
64
+ * based on the `restrictWidth` value passed in
65
+ *
66
+ * @param restrictWidth `boolean | number | string` The prop value
67
+ * @param style `CSSProperties` An object of style attributes if provided
68
+ * @returns An object of the updated `style` props
69
+ */
70
+
71
+
72
+ function setStyleForRestrictedPageWidth(restrictWidth, style) {
73
+ var newStyle = _objectSpread({}, style);
74
+
75
+ if (restrictWidth === true) {
76
+ newStyle.maxWidth = PAGE_MAX_WIDTH;
77
+ } else if (restrictWidth !== false) {
78
+ newStyle.maxWidth = restrictWidth;
79
+ }
80
+
81
+ return newStyle;
51
82
  }
@@ -15,28 +15,28 @@ Object.defineProperty(exports, "EuiPageBody", {
15
15
  return _page_body.EuiPageBody;
16
16
  }
17
17
  });
18
- Object.defineProperty(exports, "EuiPageContent", {
18
+ Object.defineProperty(exports, "EuiPageContentBody_Deprecated", {
19
19
  enumerable: true,
20
20
  get: function get() {
21
- return _page_content.EuiPageContent;
21
+ return _page_content.EuiPageContentBody_Deprecated;
22
22
  }
23
23
  });
24
- Object.defineProperty(exports, "EuiPageContentBody", {
24
+ Object.defineProperty(exports, "EuiPageContentHeaderSection_Deprecated", {
25
25
  enumerable: true,
26
26
  get: function get() {
27
- return _page_content.EuiPageContentBody;
27
+ return _page_content.EuiPageContentHeaderSection_Deprecated;
28
28
  }
29
29
  });
30
- Object.defineProperty(exports, "EuiPageContentHeader", {
30
+ Object.defineProperty(exports, "EuiPageContentHeader_Deprecated", {
31
31
  enumerable: true,
32
32
  get: function get() {
33
- return _page_content.EuiPageContentHeader;
33
+ return _page_content.EuiPageContentHeader_Deprecated;
34
34
  }
35
35
  });
36
- Object.defineProperty(exports, "EuiPageContentHeaderSection", {
36
+ Object.defineProperty(exports, "EuiPageContent_Deprecated", {
37
37
  enumerable: true,
38
38
  get: function get() {
39
- return _page_content.EuiPageContentHeaderSection;
39
+ return _page_content.EuiPageContent_Deprecated;
40
40
  }
41
41
  });
42
42
  Object.defineProperty(exports, "EuiPageHeader", {
@@ -57,16 +57,28 @@ Object.defineProperty(exports, "EuiPageHeaderSection", {
57
57
  return _page_header.EuiPageHeaderSection;
58
58
  }
59
59
  });
60
- Object.defineProperty(exports, "EuiPageSideBar", {
60
+ Object.defineProperty(exports, "EuiPageSection", {
61
61
  enumerable: true,
62
62
  get: function get() {
63
- return _page_side_bar.EuiPageSideBar;
63
+ return _page_section.EuiPageSection;
64
64
  }
65
65
  });
66
- Object.defineProperty(exports, "EuiPageTemplate", {
66
+ Object.defineProperty(exports, "EuiPageSideBar_Deprecated", {
67
67
  enumerable: true,
68
68
  get: function get() {
69
- return _page_template.EuiPageTemplate;
69
+ return _page_side_bar.EuiPageSideBar_Deprecated;
70
+ }
71
+ });
72
+ Object.defineProperty(exports, "EuiPageSidebar", {
73
+ enumerable: true,
74
+ get: function get() {
75
+ return _page_sidebar.EuiPageSidebar;
76
+ }
77
+ });
78
+ Object.defineProperty(exports, "EuiPageTemplate_Deprecated", {
79
+ enumerable: true,
80
+ get: function get() {
81
+ return _page_template.EuiPageTemplate_Deprecated;
70
82
  }
71
83
  });
72
84
 
@@ -78,6 +90,10 @@ var _page_content = require("./page_content");
78
90
 
79
91
  var _page_header = require("./page_header");
80
92
 
93
+ var _page_section = require("./page_section");
94
+
81
95
  var _page_side_bar = require("./page_side_bar");
82
96
 
97
+ var _page_sidebar = require("./page_sidebar");
98
+
83
99
  var _page_template = require("./page_template");
@@ -5,65 +5,53 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
- exports.SIZES = exports.EuiPage = exports.DIRECTIONS = void 0;
8
+ exports.EuiPage = void 0;
9
9
 
10
10
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
11
 
12
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
13
-
14
12
  var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
15
13
 
16
14
  var _react = _interopRequireDefault(require("react"));
17
15
 
18
16
  var _classnames = _interopRequireDefault(require("classnames"));
19
17
 
20
- var _common = require("../common");
21
-
22
18
  var _restrict_width = require("./_restrict_width");
23
19
 
20
+ var _global_styling = require("../../global_styling");
21
+
22
+ var _page = require("./page.styles");
23
+
24
+ var _services = require("../../services");
25
+
24
26
  var _react2 = require("@emotion/react");
25
27
 
26
- var _excluded = ["children", "restrictWidth", "style", "className", "paddingSize", "grow", "direction"];
27
- var paddingSizeToClassNameMap = {
28
- none: null,
29
- s: 'euiPage--paddingSmall',
30
- m: 'euiPage--paddingMedium',
31
- l: 'euiPage--paddingLarge'
32
- };
33
- var directionToClassNameMap = {
34
- row: null,
35
- column: 'euiPage--column'
36
- };
37
- var SIZES = (0, _common.keysOf)(paddingSizeToClassNameMap);
38
- exports.SIZES = SIZES;
39
- var DIRECTIONS = (0, _common.keysOf)(directionToClassNameMap);
40
- exports.DIRECTIONS = DIRECTIONS;
28
+ var _excluded = ["children", "restrictWidth", "className", "paddingSize", "grow", "direction"];
41
29
 
42
30
  var EuiPage = function EuiPage(_ref) {
43
31
  var children = _ref.children,
44
32
  _ref$restrictWidth = _ref.restrictWidth,
45
33
  restrictWidth = _ref$restrictWidth === void 0 ? false : _ref$restrictWidth,
46
- style = _ref.style,
47
34
  className = _ref.className,
48
35
  _ref$paddingSize = _ref.paddingSize,
49
- paddingSize = _ref$paddingSize === void 0 ? 'm' : _ref$paddingSize,
36
+ paddingSize = _ref$paddingSize === void 0 ? 'none' : _ref$paddingSize,
50
37
  _ref$grow = _ref.grow,
51
38
  grow = _ref$grow === void 0 ? true : _ref$grow,
52
39
  _ref$direction = _ref.direction,
53
40
  direction = _ref$direction === void 0 ? 'row' : _ref$direction,
54
41
  rest = (0, _objectWithoutProperties2.default)(_ref, _excluded);
55
-
56
- var _setPropsForRestricte = (0, _restrict_width.setPropsForRestrictedPageWidth)(restrictWidth, style),
57
- widthClassName = _setPropsForRestricte.widthClassName,
58
- newStyle = _setPropsForRestricte.newStyle;
59
-
60
- var classes = (0, _classnames.default)('euiPage', paddingSizeToClassNameMap[paddingSize], directionToClassNameMap[direction], (0, _defineProperty2.default)({
61
- 'euiPage--grow': grow
62
- }, "euiPage--".concat(widthClassName), widthClassName), className);
42
+ // Set max-width as a style prop
43
+ var widthStyles = (0, _restrict_width.setStyleForRestrictedPageWidth)(restrictWidth, rest === null || rest === void 0 ? void 0 : rest.style);
44
+ var euiTheme = (0, _services.useEuiTheme)();
45
+ var styles = (0, _page.euiPageStyles)(euiTheme);
46
+ var padding = (0, _global_styling.useEuiPaddingCSS)()[paddingSize];
47
+ var stylesCSS = [styles.euiPage, styles[direction], grow && styles.grow, padding, restrictWidth && styles.restrictWidth];
48
+ var classes = (0, _classnames.default)('euiPage', className);
63
49
  return (0, _react2.jsx)("div", (0, _extends2.default)({
64
- className: classes,
65
- style: newStyle || style
66
- }, rest), children);
50
+ css: stylesCSS,
51
+ className: classes
52
+ }, rest, {
53
+ style: widthStyles
54
+ }), children);
67
55
  };
68
56
 
69
57
  exports.EuiPage = EuiPage;
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.euiPageStyles = 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: "ll8kmq-column",
16
+ styles: "flex-direction:column;label:column;"
17
+ } : {
18
+ name: "ll8kmq-column",
19
+ styles: "flex-direction:column;label:column;",
20
+ toString: _EMOTION_STRINGIFIED_CSS_ERROR__
21
+ };
22
+
23
+ var _ref2 = process.env.NODE_ENV === "production" ? {
24
+ name: "122lw0e-grow",
25
+ styles: "flex-grow:1;label:grow;"
26
+ } : {
27
+ name: "122lw0e-grow",
28
+ styles: "flex-grow:1;label:grow;",
29
+ toString: _EMOTION_STRINGIFIED_CSS_ERROR__
30
+ };
31
+
32
+ var euiPageStyles = function euiPageStyles(euiThemeContext) {
33
+ var euiTheme = euiThemeContext.euiTheme;
34
+ return {
35
+ euiPage: /*#__PURE__*/(0, _react.css)("display:flex;background-color:", euiTheme.colors.body, ";flex-shrink:0;", (0, _global_styling.logicalCSS)('max-width', '100%'), ";;label:euiPage;"),
36
+ // Grow
37
+ grow: _ref2,
38
+ // Direction
39
+ column: _ref,
40
+ row: /*#__PURE__*/(0, _react.css)("flex-direction:column;", (0, _global_styling.euiBreakpoint)(euiThemeContext, ['m', 'xl']), "{flex-direction:row;};label:row;"),
41
+ // Max widths
42
+ restrictWidth: /*#__PURE__*/(0, _react.css)((0, _global_styling.logicalCSS)('margin-horizontal', 'auto'), ";;label:restrictWidth;")
43
+ };
44
+ };
45
+
46
+ exports.euiPageStyles = euiPageStyles;