@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.
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,376 @@
1
+ var _excluded = ["children", "restrictWidth", "paddingSize", "grow", "bottomBorder", "offset", "panelled", "contentBorder", "mainProps", "className", "minHeight", "responsive"];
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 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; }
6
+
7
+ 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; }
8
+
9
+ 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; }
10
+
11
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
12
+
13
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
14
+
15
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
16
+
17
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
18
+
19
+ function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
20
+
21
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
22
+
23
+ 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; }
24
+
25
+ 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; }
26
+
27
+ /*
28
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
29
+ * or more contributor license agreements. Licensed under the Elastic License
30
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
31
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
32
+ * Side Public License, v 1.
33
+ */
34
+ import React, { createContext, useContext, useEffect, useState } from 'react';
35
+ import PropTypes from "prop-types";
36
+ import classNames from 'classnames';
37
+ import { _EuiPageOuter as EuiPageOuter } from './outer';
38
+ import { _EuiPageInner as EuiPageInner } from './inner';
39
+ import { _EuiPageBottomBar as EuiPageBottomBar } from './bottom_bar/page_bottom_bar';
40
+ import { _EuiPageEmptyPrompt as EuiPageEmptyPrompt } from './empty_prompt/page_empty_prompt';
41
+ import { EuiPageHeader, EuiPageSection, EuiPageSidebar } from '../page';
42
+ import { useEuiTheme, useGeneratedHtmlId } from '../../services';
43
+ import { logicalStyle } from '../../global_styling';
44
+ import { jsx as ___EmotionJSX } from "@emotion/react";
45
+ export var TemplateContext = /*#__PURE__*/createContext({
46
+ section: {},
47
+ header: {},
48
+ emptyPrompt: {},
49
+ bottomBar: {}
50
+ });
51
+
52
+ /**
53
+ * Consumed via `EuiPageTemplate`,
54
+ * it controls and propogates most of the shared props per direct child
55
+ */
56
+ export var _EuiPageTemplate = function _EuiPageTemplate(_ref) {
57
+ var children = _ref.children,
58
+ _ref$restrictWidth = _ref.restrictWidth,
59
+ restrictWidth = _ref$restrictWidth === void 0 ? true : _ref$restrictWidth,
60
+ _ref$paddingSize = _ref.paddingSize,
61
+ paddingSize = _ref$paddingSize === void 0 ? 'l' : _ref$paddingSize,
62
+ _ref$grow = _ref.grow,
63
+ grow = _ref$grow === void 0 ? true : _ref$grow,
64
+ bottomBorder = _ref.bottomBorder,
65
+ _offset = _ref.offset,
66
+ panelled = _ref.panelled,
67
+ contentBorder = _ref.contentBorder,
68
+ mainProps = _ref.mainProps,
69
+ className = _ref.className,
70
+ _ref$minHeight = _ref.minHeight,
71
+ minHeight = _ref$minHeight === void 0 ? '460px' : _ref$minHeight,
72
+ _ref$responsive = _ref.responsive,
73
+ responsive = _ref$responsive === void 0 ? ['xs', 's'] : _ref$responsive,
74
+ rest = _objectWithoutProperties(_ref, _excluded);
75
+
76
+ var _useEuiTheme = useEuiTheme(),
77
+ euiTheme = _useEuiTheme.euiTheme;
78
+
79
+ var _useState = useState(_offset),
80
+ _useState2 = _slicedToArray(_useState, 2),
81
+ offset = _useState2[0],
82
+ setOffset = _useState2[1];
83
+
84
+ var templateContext = useContext(TemplateContext); // Used as a target to insert the bottom bar component
85
+
86
+ var pageInnerId = useGeneratedHtmlId({
87
+ prefix: 'EuiPageTemplateInner',
88
+ conditionalId: mainProps === null || mainProps === void 0 ? void 0 : mainProps.id
89
+ });
90
+ useEffect(function () {
91
+ if (_offset === undefined) {
92
+ var euiHeaderFixedCounter = Number(document.body.dataset.fixedHeaders);
93
+ setOffset(euiTheme.base * 3 * euiHeaderFixedCounter);
94
+ }
95
+ }, [_offset, euiTheme.base]); // Sections include page header
96
+
97
+ var sections = [];
98
+ var sidebar = [];
99
+
100
+ var getBottomBorder = function getBottomBorder() {
101
+ if (bottomBorder !== undefined) {
102
+ return bottomBorder;
103
+ } else {
104
+ return sidebar.length ? true : 'extended';
105
+ }
106
+ };
107
+
108
+ var getHeaderProps = function getHeaderProps() {
109
+ return {
110
+ restrictWidth: restrictWidth,
111
+ paddingSize: paddingSize,
112
+ bottomBorder: getBottomBorder()
113
+ };
114
+ };
115
+
116
+ var getSectionProps = function getSectionProps() {
117
+ return {
118
+ restrictWidth: restrictWidth,
119
+ paddingSize: paddingSize,
120
+ color: panelled === false ? 'transparent' : 'plain'
121
+ };
122
+ };
123
+
124
+ var getSideBarProps = function getSideBarProps() {
125
+ return {
126
+ paddingSize: paddingSize,
127
+ responsive: responsive
128
+ };
129
+ };
130
+
131
+ var getBottomBarProps = function getBottomBarProps() {
132
+ return {
133
+ restrictWidth: restrictWidth,
134
+ paddingSize: paddingSize,
135
+ parent: "#".concat(pageInnerId)
136
+ };
137
+ };
138
+
139
+ var innerPanelled = function innerPanelled() {
140
+ return panelled === false ? false : Boolean(sidebar.length > 0);
141
+ };
142
+
143
+ var innerBordered = function innerBordered() {
144
+ return contentBorder !== undefined ? contentBorder : Boolean(sidebar.length > 0);
145
+ };
146
+
147
+ React.Children.toArray(children).forEach(function (child, index) {
148
+ if (! /*#__PURE__*/React.isValidElement(child)) return; // Skip non-components
149
+
150
+ switch (child.type) {
151
+ case EuiPageSidebar:
152
+ sidebar.push( /*#__PURE__*/React.cloneElement(child, _objectSpread(_objectSpread({
153
+ key: "sidebar".concat(index)
154
+ }, getSideBarProps()), child.props)));
155
+ break;
156
+
157
+ default:
158
+ sections.push(child);
159
+ }
160
+ });
161
+
162
+ var _minHeight = grow ? "max(".concat(minHeight, ", 100vh)") : minHeight;
163
+
164
+ var classes = classNames('euiPageTemplate', className);
165
+
166
+ var pageStyle = _objectSpread(_objectSpread(_objectSpread({}, logicalStyle('min-height', _minHeight)), logicalStyle('padding-top', offset)), rest.style);
167
+
168
+ templateContext.header = getHeaderProps();
169
+ templateContext.section = getSectionProps();
170
+ templateContext.emptyPrompt = {
171
+ panelled: innerPanelled() ? true : panelled,
172
+ grow: true
173
+ };
174
+ templateContext.bottomBar = getBottomBarProps();
175
+ return ___EmotionJSX(TemplateContext.Provider, {
176
+ value: templateContext
177
+ }, ___EmotionJSX(EuiPageOuter, _extends({}, rest, {
178
+ responsive: responsive,
179
+ style: pageStyle,
180
+ className: classes
181
+ }), sidebar, ___EmotionJSX(EuiPageInner, _extends({}, mainProps, {
182
+ id: pageInnerId,
183
+ border: innerBordered(),
184
+ panelled: innerPanelled(),
185
+ responsive: responsive
186
+ }), sections)));
187
+ };
188
+ _EuiPageTemplate.propTypes = {
189
+ /**
190
+ * Adds `flex-grow: 1` to the whole page for stretching to fit vertically.
191
+ * Must be wrapped inside a flexbox, preferrably with `min-height: 100vh`
192
+ */
193
+ grow: PropTypes.bool,
194
+
195
+ /**
196
+ * Changes the `flex-direction` property.
197
+ * Flip to `column` when not including a sidebar.
198
+ */
199
+ direction: PropTypes.oneOf(["row", "column"]),
200
+
201
+ /**
202
+ * When direction is `row`, it will flip to `column` when within these breakpoints
203
+ */
204
+ responsive: PropTypes.arrayOf(PropTypes.any.isRequired),
205
+ className: PropTypes.string,
206
+ "aria-label": PropTypes.string,
207
+ "data-test-subj": PropTypes.string,
208
+
209
+ /**
210
+ * Sets the max-width of the page,
211
+ * set to `true` to use the default size of `1200px`,
212
+ * set to `false` to not restrict the width,
213
+ * set to a number for a custom width in px,
214
+ * set to a string for a custom width in custom measurement.
215
+ */
216
+ restrictWidth: PropTypes.oneOfType([PropTypes.bool.isRequired, PropTypes.number.isRequired, PropTypes.string.isRequired]),
217
+
218
+ /**
219
+ * Adds a bottom border to separate it from the content after;
220
+ * Passing `extended` will ensure the border touches the sides of the parent container.
221
+ */
222
+ bottomBorder: PropTypes.oneOfType([PropTypes.bool.isRequired, PropTypes.oneOf(["extended"])]),
223
+
224
+ /**
225
+ * Applies a top or left border to the inner contents
226
+ * to add separation between content and sidebar when a sidebar exists.
227
+ */
228
+ contentBorder: PropTypes.bool,
229
+
230
+ /**
231
+ * Minimum height in which to enforce scrolling
232
+ */
233
+ minHeight: PropTypes.any,
234
+
235
+ /**
236
+ * To account for any fixed elements like headers,
237
+ * pass in the value of the total height of those fixed elements.
238
+ * Otherwise they will be calculated based on the data attributes on the body element.
239
+ */
240
+ offset: PropTypes.number,
241
+
242
+ /**
243
+ * Passes through some common HTML attributes to the `main` content wrapper
244
+ */
245
+ mainProps: PropTypes.shape({
246
+ className: PropTypes.string,
247
+ "aria-label": PropTypes.string,
248
+ "data-test-subj": PropTypes.string
249
+ })
250
+ };
251
+
252
+ var _EuiPageSection = function _EuiPageSection(props) {
253
+ var templateContext = useContext(TemplateContext);
254
+ return ___EmotionJSX(EuiPageSection, _extends({}, templateContext.section, {
255
+ grow: true
256
+ }, props));
257
+ };
258
+
259
+ _EuiPageSection.propTypes = {
260
+ className: PropTypes.string,
261
+ "aria-label": PropTypes.string,
262
+ "data-test-subj": PropTypes.string,
263
+
264
+ /**
265
+ * Sets the max-width of the page,
266
+ * set to `true` to use the default size of `1200px`,
267
+ * set to `false` to not restrict the width,
268
+ * set to a number for a custom width in px,
269
+ * set to a string for a custom width in custom measurement.
270
+ */
271
+ restrictWidth: PropTypes.oneOfType([PropTypes.bool.isRequired, PropTypes.number.isRequired, PropTypes.string.isRequired]),
272
+
273
+ /**
274
+ * Background color of the section;
275
+ * Usually a lightened form of the brand colors
276
+ */
277
+ color: PropTypes.any,
278
+
279
+ /**
280
+ * Padding for all four sides
281
+ */
282
+ paddingSize: PropTypes.any,
283
+
284
+ /**
285
+ * Horizontal and/or vertical alignment of the section contents
286
+ */
287
+ alignment: PropTypes.any,
288
+
289
+ /**
290
+ * When true the panel will grow in height to fill container if parent is a flex group
291
+ */
292
+ grow: PropTypes.bool,
293
+
294
+ /**
295
+ * Passed down to the div wrapper of the section contents
296
+ */
297
+ contentProps: PropTypes.any
298
+ };
299
+
300
+ var _EuiPageHeader = function _EuiPageHeader(props) {
301
+ var templateContext = useContext(TemplateContext);
302
+ return ___EmotionJSX(EuiPageHeader, _extends({}, templateContext.header, props));
303
+ };
304
+
305
+ _EuiPageHeader.propTypes = {
306
+ /**
307
+ * Adjust the overall padding.
308
+ */
309
+ paddingSize: PropTypes.any,
310
+ className: PropTypes.string,
311
+ "aria-label": PropTypes.string,
312
+ "data-test-subj": PropTypes.string,
313
+
314
+ /**
315
+ * Sets the max-width of the page,
316
+ * set to `true` to use the default size of `1200px`,
317
+ * set to `false` to not restrict the width,
318
+ * set to a number for a custom width in px,
319
+ * set to a string for a custom width in custom measurement.
320
+ */
321
+ restrictWidth: PropTypes.oneOfType([PropTypes.bool.isRequired, PropTypes.number.isRequired, PropTypes.string.isRequired]),
322
+
323
+ /**
324
+ * Adds a bottom border to separate it from the content after;
325
+ * Passing `extended` will ensure the border touches the sides of the parent container.
326
+ */
327
+ bottomBorder: PropTypes.oneOfType([PropTypes.bool.isRequired, PropTypes.oneOf(["extended"])])
328
+ };
329
+
330
+ var _EuiPageEmptyPrompt = function _EuiPageEmptyPrompt(props) {
331
+ var templateContext = useContext(TemplateContext);
332
+ return ___EmotionJSX(EuiPageEmptyPrompt, _extends({}, templateContext.emptyPrompt, props));
333
+ };
334
+
335
+ _EuiPageEmptyPrompt.propTypes = {
336
+ className: PropTypes.string,
337
+ "aria-label": PropTypes.string,
338
+ "data-test-subj": PropTypes.string,
339
+ restrictWidth: PropTypes.oneOfType([PropTypes.bool.isRequired, PropTypes.number.isRequired, PropTypes.string.isRequired]),
340
+ color: PropTypes.any,
341
+ paddingSize: PropTypes.any,
342
+ alignment: PropTypes.any,
343
+ grow: PropTypes.bool,
344
+ contentProps: PropTypes.any,
345
+ panelled: PropTypes.bool
346
+ };
347
+
348
+ var _EuiPageBottomBar = function _EuiPageBottomBar(props) {
349
+ var _useContext = useContext(TemplateContext),
350
+ bottomBar = _useContext.bottomBar;
351
+
352
+ return ___EmotionJSX(EuiPageBottomBar, _extends({}, bottomBar, props));
353
+ };
354
+
355
+ _EuiPageBottomBar.propTypes = {
356
+ /**
357
+ * The reference id of the element to insert into
358
+ */
359
+ parent: PropTypes.string,
360
+
361
+ /**
362
+ * Sets the max-width of the page,
363
+ * set to `true` to use the default size of `1200px`,
364
+ * set to `false` to not restrict the width,
365
+ * set to a number for a custom width in px,
366
+ * set to a string for a custom width in custom measurement.
367
+ */
368
+ restrictWidth: PropTypes.oneOfType([PropTypes.bool.isRequired, PropTypes.number.isRequired, PropTypes.string.isRequired])
369
+ };
370
+ export var EuiPageTemplate = Object.assign(_EuiPageTemplate, {
371
+ Sidebar: EuiPageSidebar,
372
+ Header: _EuiPageHeader,
373
+ Section: _EuiPageSection,
374
+ BottomBar: _EuiPageBottomBar,
375
+ EmptyPrompt: _EuiPageEmptyPrompt
376
+ });
@@ -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':