@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,399 @@
1
+ "use strict";
2
+
3
+ function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports._EuiPageTemplate = exports.TemplateContext = exports.EuiPageTemplate = void 0;
9
+
10
+ var _react = _interopRequireWildcard(require("react"));
11
+
12
+ var _propTypes = _interopRequireDefault(require("prop-types"));
13
+
14
+ var _classnames = _interopRequireDefault(require("classnames"));
15
+
16
+ var _outer = require("./outer");
17
+
18
+ var _inner = require("./inner");
19
+
20
+ var _page_bottom_bar = require("./bottom_bar/page_bottom_bar");
21
+
22
+ var _page_empty_prompt = require("./empty_prompt/page_empty_prompt");
23
+
24
+ var _page = require("../page");
25
+
26
+ var _services = require("../../services");
27
+
28
+ var _global_styling = require("../../global_styling");
29
+
30
+ var _react2 = require("@emotion/react");
31
+
32
+ var _excluded = ["children", "restrictWidth", "paddingSize", "grow", "bottomBorder", "offset", "panelled", "contentBorder", "mainProps", "className", "minHeight", "responsive"];
33
+
34
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
35
+
36
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
37
+
38
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
39
+
40
+ 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); }
41
+
42
+ 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; }
43
+
44
+ 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; }
45
+
46
+ 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; }
47
+
48
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
49
+
50
+ 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."); }
51
+
52
+ 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); }
53
+
54
+ 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; }
55
+
56
+ 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; }
57
+
58
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
59
+
60
+ 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; }
61
+
62
+ 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; }
63
+
64
+ var TemplateContext = /*#__PURE__*/(0, _react.createContext)({
65
+ section: {},
66
+ header: {},
67
+ emptyPrompt: {},
68
+ bottomBar: {}
69
+ });
70
+ exports.TemplateContext = TemplateContext;
71
+
72
+ /**
73
+ * Consumed via `EuiPageTemplate`,
74
+ * it controls and propogates most of the shared props per direct child
75
+ */
76
+ var _EuiPageTemplate = function _EuiPageTemplate(_ref) {
77
+ var children = _ref.children,
78
+ _ref$restrictWidth = _ref.restrictWidth,
79
+ restrictWidth = _ref$restrictWidth === void 0 ? true : _ref$restrictWidth,
80
+ _ref$paddingSize = _ref.paddingSize,
81
+ paddingSize = _ref$paddingSize === void 0 ? 'l' : _ref$paddingSize,
82
+ _ref$grow = _ref.grow,
83
+ grow = _ref$grow === void 0 ? true : _ref$grow,
84
+ bottomBorder = _ref.bottomBorder,
85
+ _offset = _ref.offset,
86
+ panelled = _ref.panelled,
87
+ contentBorder = _ref.contentBorder,
88
+ mainProps = _ref.mainProps,
89
+ className = _ref.className,
90
+ _ref$minHeight = _ref.minHeight,
91
+ minHeight = _ref$minHeight === void 0 ? '460px' : _ref$minHeight,
92
+ _ref$responsive = _ref.responsive,
93
+ responsive = _ref$responsive === void 0 ? ['xs', 's'] : _ref$responsive,
94
+ rest = _objectWithoutProperties(_ref, _excluded);
95
+
96
+ var _useEuiTheme = (0, _services.useEuiTheme)(),
97
+ euiTheme = _useEuiTheme.euiTheme;
98
+
99
+ var _useState = (0, _react.useState)(_offset),
100
+ _useState2 = _slicedToArray(_useState, 2),
101
+ offset = _useState2[0],
102
+ setOffset = _useState2[1];
103
+
104
+ var templateContext = (0, _react.useContext)(TemplateContext); // Used as a target to insert the bottom bar component
105
+
106
+ var pageInnerId = (0, _services.useGeneratedHtmlId)({
107
+ prefix: 'EuiPageTemplateInner',
108
+ conditionalId: mainProps === null || mainProps === void 0 ? void 0 : mainProps.id
109
+ });
110
+ (0, _react.useEffect)(function () {
111
+ if (_offset === undefined) {
112
+ var euiHeaderFixedCounter = Number(document.body.dataset.fixedHeaders);
113
+ setOffset(euiTheme.base * 3 * euiHeaderFixedCounter);
114
+ }
115
+ }, [_offset, euiTheme.base]); // Sections include page header
116
+
117
+ var sections = [];
118
+ var sidebar = [];
119
+
120
+ var getBottomBorder = function getBottomBorder() {
121
+ if (bottomBorder !== undefined) {
122
+ return bottomBorder;
123
+ } else {
124
+ return sidebar.length ? true : 'extended';
125
+ }
126
+ };
127
+
128
+ var getHeaderProps = function getHeaderProps() {
129
+ return {
130
+ restrictWidth: restrictWidth,
131
+ paddingSize: paddingSize,
132
+ bottomBorder: getBottomBorder()
133
+ };
134
+ };
135
+
136
+ var getSectionProps = function getSectionProps() {
137
+ return {
138
+ restrictWidth: restrictWidth,
139
+ paddingSize: paddingSize,
140
+ color: panelled === false ? 'transparent' : 'plain'
141
+ };
142
+ };
143
+
144
+ var getSideBarProps = function getSideBarProps() {
145
+ return {
146
+ paddingSize: paddingSize,
147
+ responsive: responsive
148
+ };
149
+ };
150
+
151
+ var getBottomBarProps = function getBottomBarProps() {
152
+ return {
153
+ restrictWidth: restrictWidth,
154
+ paddingSize: paddingSize,
155
+ parent: "#".concat(pageInnerId)
156
+ };
157
+ };
158
+
159
+ var innerPanelled = function innerPanelled() {
160
+ return panelled === false ? false : Boolean(sidebar.length > 0);
161
+ };
162
+
163
+ var innerBordered = function innerBordered() {
164
+ return contentBorder !== undefined ? contentBorder : Boolean(sidebar.length > 0);
165
+ };
166
+
167
+ _react.default.Children.toArray(children).forEach(function (child, index) {
168
+ if (! /*#__PURE__*/_react.default.isValidElement(child)) return; // Skip non-components
169
+
170
+ switch (child.type) {
171
+ case _page.EuiPageSidebar:
172
+ sidebar.push( /*#__PURE__*/_react.default.cloneElement(child, _objectSpread(_objectSpread({
173
+ key: "sidebar".concat(index)
174
+ }, getSideBarProps()), child.props)));
175
+ break;
176
+
177
+ default:
178
+ sections.push(child);
179
+ }
180
+ });
181
+
182
+ var _minHeight = grow ? "max(".concat(minHeight, ", 100vh)") : minHeight;
183
+
184
+ var classes = (0, _classnames.default)('euiPageTemplate', className);
185
+
186
+ var pageStyle = _objectSpread(_objectSpread(_objectSpread({}, (0, _global_styling.logicalStyle)('min-height', _minHeight)), (0, _global_styling.logicalStyle)('padding-top', offset)), rest.style);
187
+
188
+ templateContext.header = getHeaderProps();
189
+ templateContext.section = getSectionProps();
190
+ templateContext.emptyPrompt = {
191
+ panelled: innerPanelled() ? true : panelled,
192
+ grow: true
193
+ };
194
+ templateContext.bottomBar = getBottomBarProps();
195
+ return (0, _react2.jsx)(TemplateContext.Provider, {
196
+ value: templateContext
197
+ }, (0, _react2.jsx)(_outer._EuiPageOuter, _extends({}, rest, {
198
+ responsive: responsive,
199
+ style: pageStyle,
200
+ className: classes
201
+ }), sidebar, (0, _react2.jsx)(_inner._EuiPageInner, _extends({}, mainProps, {
202
+ id: pageInnerId,
203
+ border: innerBordered(),
204
+ panelled: innerPanelled(),
205
+ responsive: responsive
206
+ }), sections)));
207
+ };
208
+
209
+ exports._EuiPageTemplate = _EuiPageTemplate;
210
+ _EuiPageTemplate.propTypes = {
211
+ /**
212
+ * Adds `flex-grow: 1` to the whole page for stretching to fit vertically.
213
+ * Must be wrapped inside a flexbox, preferrably with `min-height: 100vh`
214
+ */
215
+ grow: _propTypes.default.bool,
216
+
217
+ /**
218
+ * Changes the `flex-direction` property.
219
+ * Flip to `column` when not including a sidebar.
220
+ */
221
+ direction: _propTypes.default.oneOf(["row", "column"]),
222
+
223
+ /**
224
+ * When direction is `row`, it will flip to `column` when within these breakpoints
225
+ */
226
+ responsive: _propTypes.default.arrayOf(_propTypes.default.any.isRequired),
227
+ className: _propTypes.default.string,
228
+ "aria-label": _propTypes.default.string,
229
+ "data-test-subj": _propTypes.default.string,
230
+
231
+ /**
232
+ * Sets the max-width of the page,
233
+ * set to `true` to use the default size of `1200px`,
234
+ * set to `false` to not restrict the width,
235
+ * set to a number for a custom width in px,
236
+ * set to a string for a custom width in custom measurement.
237
+ */
238
+ restrictWidth: _propTypes.default.oneOfType([_propTypes.default.bool.isRequired, _propTypes.default.number.isRequired, _propTypes.default.string.isRequired]),
239
+
240
+ /**
241
+ * Adds a bottom border to separate it from the content after;
242
+ * Passing `extended` will ensure the border touches the sides of the parent container.
243
+ */
244
+ bottomBorder: _propTypes.default.oneOfType([_propTypes.default.bool.isRequired, _propTypes.default.oneOf(["extended"])]),
245
+
246
+ /**
247
+ * Applies a top or left border to the inner contents
248
+ * to add separation between content and sidebar when a sidebar exists.
249
+ */
250
+ contentBorder: _propTypes.default.bool,
251
+
252
+ /**
253
+ * Minimum height in which to enforce scrolling
254
+ */
255
+ minHeight: _propTypes.default.any,
256
+
257
+ /**
258
+ * To account for any fixed elements like headers,
259
+ * pass in the value of the total height of those fixed elements.
260
+ * Otherwise they will be calculated based on the data attributes on the body element.
261
+ */
262
+ offset: _propTypes.default.number,
263
+
264
+ /**
265
+ * Passes through some common HTML attributes to the `main` content wrapper
266
+ */
267
+ mainProps: _propTypes.default.shape({
268
+ className: _propTypes.default.string,
269
+ "aria-label": _propTypes.default.string,
270
+ "data-test-subj": _propTypes.default.string
271
+ })
272
+ };
273
+
274
+ var _EuiPageSection = function _EuiPageSection(props) {
275
+ var templateContext = (0, _react.useContext)(TemplateContext);
276
+ return (0, _react2.jsx)(_page.EuiPageSection, _extends({}, templateContext.section, {
277
+ grow: true
278
+ }, props));
279
+ };
280
+
281
+ _EuiPageSection.propTypes = {
282
+ className: _propTypes.default.string,
283
+ "aria-label": _propTypes.default.string,
284
+ "data-test-subj": _propTypes.default.string,
285
+
286
+ /**
287
+ * Sets the max-width of the page,
288
+ * set to `true` to use the default size of `1200px`,
289
+ * set to `false` to not restrict the width,
290
+ * set to a number for a custom width in px,
291
+ * set to a string for a custom width in custom measurement.
292
+ */
293
+ restrictWidth: _propTypes.default.oneOfType([_propTypes.default.bool.isRequired, _propTypes.default.number.isRequired, _propTypes.default.string.isRequired]),
294
+
295
+ /**
296
+ * Background color of the section;
297
+ * Usually a lightened form of the brand colors
298
+ */
299
+ color: _propTypes.default.any,
300
+
301
+ /**
302
+ * Padding for all four sides
303
+ */
304
+ paddingSize: _propTypes.default.any,
305
+
306
+ /**
307
+ * Horizontal and/or vertical alignment of the section contents
308
+ */
309
+ alignment: _propTypes.default.any,
310
+
311
+ /**
312
+ * When true the panel will grow in height to fill container if parent is a flex group
313
+ */
314
+ grow: _propTypes.default.bool,
315
+
316
+ /**
317
+ * Passed down to the div wrapper of the section contents
318
+ */
319
+ contentProps: _propTypes.default.any
320
+ };
321
+
322
+ var _EuiPageHeader = function _EuiPageHeader(props) {
323
+ var templateContext = (0, _react.useContext)(TemplateContext);
324
+ return (0, _react2.jsx)(_page.EuiPageHeader, _extends({}, templateContext.header, props));
325
+ };
326
+
327
+ _EuiPageHeader.propTypes = {
328
+ /**
329
+ * Adjust the overall padding.
330
+ */
331
+ paddingSize: _propTypes.default.any,
332
+ className: _propTypes.default.string,
333
+ "aria-label": _propTypes.default.string,
334
+ "data-test-subj": _propTypes.default.string,
335
+
336
+ /**
337
+ * Sets the max-width of the page,
338
+ * set to `true` to use the default size of `1200px`,
339
+ * set to `false` to not restrict the width,
340
+ * set to a number for a custom width in px,
341
+ * set to a string for a custom width in custom measurement.
342
+ */
343
+ restrictWidth: _propTypes.default.oneOfType([_propTypes.default.bool.isRequired, _propTypes.default.number.isRequired, _propTypes.default.string.isRequired]),
344
+
345
+ /**
346
+ * Adds a bottom border to separate it from the content after;
347
+ * Passing `extended` will ensure the border touches the sides of the parent container.
348
+ */
349
+ bottomBorder: _propTypes.default.oneOfType([_propTypes.default.bool.isRequired, _propTypes.default.oneOf(["extended"])])
350
+ };
351
+
352
+ var _EuiPageEmptyPrompt = function _EuiPageEmptyPrompt(props) {
353
+ var templateContext = (0, _react.useContext)(TemplateContext);
354
+ return (0, _react2.jsx)(_page_empty_prompt._EuiPageEmptyPrompt, _extends({}, templateContext.emptyPrompt, props));
355
+ };
356
+
357
+ _EuiPageEmptyPrompt.propTypes = {
358
+ className: _propTypes.default.string,
359
+ "aria-label": _propTypes.default.string,
360
+ "data-test-subj": _propTypes.default.string,
361
+ restrictWidth: _propTypes.default.oneOfType([_propTypes.default.bool.isRequired, _propTypes.default.number.isRequired, _propTypes.default.string.isRequired]),
362
+ color: _propTypes.default.any,
363
+ paddingSize: _propTypes.default.any,
364
+ alignment: _propTypes.default.any,
365
+ grow: _propTypes.default.bool,
366
+ contentProps: _propTypes.default.any,
367
+ panelled: _propTypes.default.bool
368
+ };
369
+
370
+ var _EuiPageBottomBar = function _EuiPageBottomBar(props) {
371
+ var _useContext = (0, _react.useContext)(TemplateContext),
372
+ bottomBar = _useContext.bottomBar;
373
+
374
+ return (0, _react2.jsx)(_page_bottom_bar._EuiPageBottomBar, _extends({}, bottomBar, props));
375
+ };
376
+
377
+ _EuiPageBottomBar.propTypes = {
378
+ /**
379
+ * The reference id of the element to insert into
380
+ */
381
+ parent: _propTypes.default.string,
382
+
383
+ /**
384
+ * Sets the max-width of the page,
385
+ * set to `true` to use the default size of `1200px`,
386
+ * set to `false` to not restrict the width,
387
+ * set to a number for a custom width in px,
388
+ * set to a string for a custom width in custom measurement.
389
+ */
390
+ restrictWidth: _propTypes.default.oneOfType([_propTypes.default.bool.isRequired, _propTypes.default.number.isRequired, _propTypes.default.string.isRequired])
391
+ };
392
+ var EuiPageTemplate = Object.assign(_EuiPageTemplate, {
393
+ Sidebar: _page.EuiPageSidebar,
394
+ Header: _EuiPageHeader,
395
+ Section: _EuiPageSection,
396
+ BottomBar: _EuiPageBottomBar,
397
+ EmptyPrompt: _EuiPageEmptyPrompt
398
+ });
399
+ exports.EuiPageTemplate = EuiPageTemplate;
@@ -128,7 +128,7 @@ var logicalStyle = function logicalStyle(property, value) {
128
128
  var camelCasedProperty = logicals[property].replace(/-\w/g, function (str) {
129
129
  return str.charAt(1).toUpperCase();
130
130
  });
131
- return _defineProperty({}, camelCasedProperty, "".concat(value));
131
+ return _defineProperty({}, camelCasedProperty, value);
132
132
  };
133
133
  /**
134
134
  *
@@ -90,24 +90,37 @@ var euiOverflowShadowStyles = function euiOverflowShadowStyles(_ref3) {
90
90
  * Browser's supporting `:focus-visible` will still show outline on keyboard focus only.
91
91
  * Others like Safari, won't show anything at all.
92
92
  */
93
- // TODO: How do we use Emotion to output the CSS class utilities instead?
94
93
 
95
94
 
95
+ // TODO: How do we use Emotion to output the CSS class utilities instead?
96
96
  var euiYScroll = function euiYScroll(euiTheme) {
97
- return "\n ".concat(euiScrollBarStyles(euiTheme), "\n height: 100%;\n overflow-y: auto;\n overflow-x: hidden;\n &:focus {\n outline: none; /* 1 */\n }\n");
97
+ var _ref5 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
98
+ height = _ref5.height;
99
+
100
+ 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");
98
101
  };
99
102
 
100
103
  exports.euiYScroll = euiYScroll;
101
104
 
102
105
  var useEuiYScroll = function useEuiYScroll() {
106
+ var _ref6 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
107
+ height = _ref6.height;
108
+
103
109
  var euiTheme = (0, _theme.useEuiTheme)();
104
- return euiYScroll(euiTheme);
110
+ return euiYScroll(euiTheme, {
111
+ height: height
112
+ });
105
113
  };
106
114
 
107
115
  exports.useEuiYScroll = useEuiYScroll;
108
116
 
109
117
  var euiYScrollWithShadows = function euiYScrollWithShadows(euiTheme) {
110
- return "\n ".concat(euiYScroll(euiTheme), "\n ").concat(euiOverflowShadowStyles(euiTheme, {
118
+ var _ref7 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
119
+ height = _ref7.height;
120
+
121
+ return "\n ".concat(euiYScroll(euiTheme, {
122
+ height: height
123
+ }), "\n ").concat(euiOverflowShadowStyles(euiTheme, {
111
124
  direction: 'y'
112
125
  }), "\n");
113
126
  };
@@ -115,8 +128,13 @@ var euiYScrollWithShadows = function euiYScrollWithShadows(euiTheme) {
115
128
  exports.euiYScrollWithShadows = euiYScrollWithShadows;
116
129
 
117
130
  var useEuiYScrollWithShadows = function useEuiYScrollWithShadows() {
131
+ var _ref8 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
132
+ height = _ref8.height;
133
+
118
134
  var euiTheme = (0, _theme.useEuiTheme)();
119
- return euiYScrollWithShadows(euiTheme);
135
+ return euiYScrollWithShadows(euiTheme, {
136
+ height: height
137
+ });
120
138
  };
121
139
 
122
140
  exports.useEuiYScrollWithShadows = useEuiYScrollWithShadows;
@@ -150,10 +168,10 @@ var useEuiXScrollWithShadows = function useEuiXScrollWithShadows() {
150
168
  exports.useEuiXScrollWithShadows = useEuiXScrollWithShadows;
151
169
 
152
170
  var euiOverflowScroll = function euiOverflowScroll(euiTheme) {
153
- var _ref5 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
154
- direction = _ref5.direction,
155
- _ref5$mask = _ref5.mask,
156
- mask = _ref5$mask === void 0 ? false : _ref5$mask;
171
+ var _ref9 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
172
+ direction = _ref9.direction,
173
+ _ref9$mask = _ref9.mask,
174
+ mask = _ref9$mask === void 0 ? false : _ref9$mask;
157
175
 
158
176
  switch (direction) {
159
177
  case 'y':
@@ -129,7 +129,7 @@ var _EuiBottomBar = /*#__PURE__*/forwardRef(function (_ref, ref) {
129
129
  default: "There is a new region landmark with page level controls at the end of the document."
130
130
  }))));
131
131
 
132
- return usePortal ? ___EmotionJSX(EuiPortal, null, bar) : bar;
132
+ return usePortal ? ___EmotionJSX(EuiPortal, typeof usePortal !== 'boolean' ? usePortal : undefined, bar) : bar;
133
133
  });
134
134
 
135
135
  export var EuiBottomBar = /*#__PURE__*/forwardRef(function (props, ref) {
@@ -42,11 +42,13 @@ export var EuiHeader = function EuiHeader(_ref) {
42
42
  // Increment fixed header counter for each fixed header
43
43
  euiHeaderFixedCounter++;
44
44
  document.body.classList.add('euiBody--headerIsFixed');
45
+ document.body.setAttribute('data-fixed-headers', String(euiHeaderFixedCounter));
45
46
  return function () {
46
47
  // Both decrement the fixed counter AND then check if there are none
47
48
  if (--euiHeaderFixedCounter === 0) {
48
49
  // If there are none, THEN remove class
49
50
  document.body.classList.remove('euiBody--headerIsFixed');
51
+ document.body.removeAttribute('data-fixed-headers');
50
52
  }
51
53
  };
52
54
  }
@@ -97,7 +97,8 @@ export var EuiHeaderLinks = function EuiHeaderLinks(_ref) {
97
97
  isOpen: mobileMenuIsOpen,
98
98
  anchorPosition: "downRight",
99
99
  closePopover: closeMenu,
100
- panelPaddingSize: "none"
100
+ panelPaddingSize: "none",
101
+ repositionOnScroll: true
101
102
  }, popoverProps), ___EmotionJSX("div", {
102
103
  className: classNames('euiHeaderLinks__mobileList', ["euiHeaderLinks__mobileList".concat(gutterSizeToClassNameMap[gutterSize])])
103
104
  }, children))));
@@ -61,6 +61,7 @@ export * from './notification';
61
61
  export * from './outside_click_detector';
62
62
  export * from './overlay_mask';
63
63
  export * from './page';
64
+ export * from './page_template';
64
65
  export * from './pagination';
65
66
  export * from './panel';
66
67
  export * from './popover';
@@ -0,0 +1 @@
1
+ export {};
@@ -17,26 +17,53 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
17
17
  * This is file contains the type specific to that prop and a helper
18
18
  * function for creating the corresponding classNames and style tags
19
19
  * based on the consumer's configuration
20
+ */
21
+ // TODO: Decide how to make this a global value but still isolated to the page component
22
+ export var PAGE_MAX_WIDTH = '1200px';
23
+
24
+ /**
25
+ * **DEPRECATED**
26
+ * This function calculates the correct class name and combined styles
27
+ * based on the `restrictWidth` value passed in
20
28
  *
21
- * @param {restrictWidth} boolean | number | string The prop value
22
- * @param {style} CSSProperties An object of style attributes if provided
23
- * @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
29
+ * @param restrictWidth `boolean | number | string` The prop value
30
+ * @param style `CSSProperties` An object of style attributes if provided
31
+ * @returns An object with keys for the `widthClassName` to append to the component's class and the updated `newStyle` props
24
32
  */
25
33
  export function setPropsForRestrictedPageWidth(restrictWidth, style) {
26
34
  var widthClassName;
27
- var newStyle;
35
+
36
+ var newStyle = _objectSpread({}, style);
28
37
 
29
38
  if (restrictWidth === true) {
30
39
  widthClassName = 'restrictWidth-default';
31
40
  } else if (restrictWidth !== false) {
32
41
  widthClassName = 'restrictWidth-custom';
33
- newStyle = _objectSpread(_objectSpread({}, style), {}, {
34
- maxWidth: restrictWidth
35
- });
42
+ newStyle.maxWidth = restrictWidth;
36
43
  }
37
44
 
38
45
  return {
39
46
  widthClassName: widthClassName,
40
47
  newStyle: newStyle
41
48
  };
49
+ }
50
+ /**
51
+ * This function calculates the correct just the combined styles
52
+ * based on the `restrictWidth` value passed in
53
+ *
54
+ * @param restrictWidth `boolean | number | string` The prop value
55
+ * @param style `CSSProperties` An object of style attributes if provided
56
+ * @returns An object of the updated `style` props
57
+ */
58
+
59
+ export function setStyleForRestrictedPageWidth(restrictWidth, style) {
60
+ var newStyle = _objectSpread({}, style);
61
+
62
+ if (restrictWidth === true) {
63
+ newStyle.maxWidth = PAGE_MAX_WIDTH;
64
+ } else if (restrictWidth !== false) {
65
+ newStyle.maxWidth = restrictWidth;
66
+ }
67
+
68
+ return newStyle;
42
69
  }
@@ -7,7 +7,9 @@
7
7
  */
8
8
  export { EuiPage } from './page';
9
9
  export { EuiPageBody } from './page_body';
10
- export { EuiPageContent, EuiPageContentBody, EuiPageContentHeader, EuiPageContentHeaderSection } from './page_content';
10
+ export { EuiPageContent_Deprecated, EuiPageContentBody_Deprecated, EuiPageContentHeader_Deprecated, EuiPageContentHeaderSection_Deprecated } from './page_content';
11
11
  export { EuiPageHeader, EuiPageHeaderContent, EuiPageHeaderSection } from './page_header';
12
- export { EuiPageSideBar } from './page_side_bar';
13
- export { EuiPageTemplate } from './page_template';
12
+ export { EuiPageSection } from './page_section';
13
+ export { EuiPageSideBar_Deprecated } from './page_side_bar';
14
+ export { EuiPageSidebar } from './page_sidebar';
15
+ export { EuiPageTemplate_Deprecated } from './page_template';