@redocly/theme 0.1.17 → 0.1.22

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 (161) hide show
  1. package/Button/Button.d.ts +4 -3
  2. package/Button/Button.js +28 -1
  3. package/Footer/CustomFooter.d.ts +7 -0
  4. package/Footer/CustomFooter.js +31 -0
  5. package/Footer/CustomFooterNavItem.d.ts +7 -0
  6. package/Footer/CustomFooterNavItem.js +25 -0
  7. package/Footer/Footer.d.ts +6 -2
  8. package/Footer/Footer.js +5 -2
  9. package/Footer/FooterColumn.d.ts +2 -2
  10. package/Footer/FooterColumn.js +3 -2
  11. package/Footer/FooterColumns.d.ts +6 -4
  12. package/Footer/FooterColumns.js +3 -3
  13. package/Footer/FooterCopyright.d.ts +6 -4
  14. package/JsonViewer/JsonViewer.js +1 -2
  15. package/JsonViewer/index.d.ts +0 -1
  16. package/JsonViewer/index.js +0 -1
  17. package/Markdown/Admonition.js +1 -1
  18. package/Markdown/CodeSample/CodeSample.js +15 -5
  19. package/Markdown/CodeSample/index.d.ts +0 -1
  20. package/Markdown/CodeSample/index.js +0 -1
  21. package/Navbar/Navbar.d.ts +3 -2
  22. package/Navbar/Navbar.js +12 -2
  23. package/Navbar/NavbarDropdown.d.ts +8 -0
  24. package/Navbar/NavbarDropdown.js +21 -0
  25. package/Navbar/NavbarItem.d.ts +3 -36
  26. package/Navbar/NavbarItem.js +22 -13
  27. package/Navbar/NavbarMenu.d.ts +2 -1
  28. package/Navbar/NavbarMenu.js +1 -1
  29. package/PageNavigation/NextPageLink.js +8 -5
  30. package/PageNavigation/PreviousPageLink.js +8 -5
  31. package/Search/SidebarSearch.d.ts +2 -0
  32. package/Search/SidebarSearch.js +15 -0
  33. package/Sidebar/MenuGroup.js +2 -2
  34. package/Sidebar/SidebarLayout.d.ts +1 -1
  35. package/Sidebar/SidebarLayout.js +8 -0
  36. package/TableOfContent/TableOfContent.js +8 -1
  37. package/Typography/CompactTypography.d.ts +11 -0
  38. package/Typography/CompactTypography.js +18 -0
  39. package/Typography/Emphasis.d.ts +3 -0
  40. package/Typography/Emphasis.js +15 -0
  41. package/Typography/H1.d.ts +3 -0
  42. package/Typography/H1.js +16 -0
  43. package/Typography/H2.d.ts +3 -0
  44. package/Typography/H2.js +16 -0
  45. package/Typography/H3.d.ts +3 -0
  46. package/Typography/H3.js +16 -0
  47. package/Typography/SectionHeader.d.ts +1 -0
  48. package/Typography/SectionHeader.js +13 -0
  49. package/Typography/Typography.d.ts +8 -0
  50. package/Typography/Typography.js +22 -0
  51. package/Typography/index.d.ts +7 -0
  52. package/{Headings → Typography}/index.js +7 -1
  53. package/globalStyle.js +1 -1
  54. package/{ui → icons/AlertIcon}/AlertIcon.d.ts +2 -2
  55. package/{ui → icons/AlertIcon}/AlertIcon.js +1 -1
  56. package/icons/AlertIcon/index.d.ts +2 -0
  57. package/icons/AlertIcon/index.js +5 -0
  58. package/icons/ArrowIcon/ArrowIcon.d.ts +7 -0
  59. package/{ui/Arrow.js → icons/ArrowIcon/ArrowIcon.js} +3 -3
  60. package/icons/ArrowIcon/index.d.ts +2 -0
  61. package/icons/ArrowIcon/index.js +5 -0
  62. package/icons/index.d.ts +2 -0
  63. package/icons/index.js +2 -0
  64. package/index.d.ts +1 -1
  65. package/index.js +1 -1
  66. package/mocks/constants/index.d.ts +2 -0
  67. package/mocks/constants/index.js +5 -0
  68. package/mocks/hooks/index.d.ts +6 -0
  69. package/mocks/hooks/index.js +16 -0
  70. package/package.json +1 -1
  71. package/settings.yaml +15 -0
  72. package/src/Button/Button.tsx +19 -1
  73. package/src/Footer/CustomFooter.tsx +45 -0
  74. package/src/Footer/CustomFooterNavItem.tsx +40 -0
  75. package/src/Footer/Footer.tsx +11 -3
  76. package/src/Footer/FooterColumn.tsx +4 -4
  77. package/src/Footer/FooterColumns.tsx +9 -9
  78. package/src/Footer/FooterCopyright.tsx +6 -6
  79. package/src/JsonViewer/JsonViewer.tsx +106 -2
  80. package/src/JsonViewer/index.ts +0 -1
  81. package/src/Markdown/Admonition.tsx +1 -1
  82. package/src/Markdown/CodeSample/CodeSample.tsx +160 -6
  83. package/src/Markdown/CodeSample/index.ts +0 -1
  84. package/src/Navbar/Navbar.tsx +18 -4
  85. package/src/Navbar/NavbarDropdown.tsx +44 -0
  86. package/src/Navbar/NavbarItem.tsx +44 -51
  87. package/src/Navbar/NavbarMenu.tsx +6 -3
  88. package/src/PageNavigation/NextPageLink.tsx +9 -3
  89. package/src/PageNavigation/PreviousPageLink.tsx +9 -3
  90. package/src/Search/SidebarSearch.tsx +13 -0
  91. package/src/Sidebar/MenuGroup.tsx +2 -2
  92. package/src/Sidebar/SidebarLayout.tsx +10 -1
  93. package/src/TableOfContent/TableOfContent.tsx +7 -1
  94. package/src/Typography/CompactTypography.ts +9 -0
  95. package/src/Typography/Emphasis.ts +7 -0
  96. package/src/Typography/H1.ts +12 -0
  97. package/src/Typography/H2.ts +12 -0
  98. package/src/Typography/H3.ts +11 -0
  99. package/src/Typography/SectionHeader.ts +11 -0
  100. package/src/Typography/Typography.ts +21 -0
  101. package/src/Typography/index.ts +7 -0
  102. package/src/globalStyle.ts +1 -0
  103. package/src/{ui → icons/AlertIcon}/AlertIcon.tsx +3 -3
  104. package/src/icons/AlertIcon/index.ts +2 -0
  105. package/src/{ui/Arrow.tsx → icons/ArrowIcon/ArrowIcon.tsx} +5 -5
  106. package/src/icons/ArrowIcon/index.ts +2 -0
  107. package/src/icons/index.ts +2 -0
  108. package/src/index.ts +1 -1
  109. package/src/mocks/constants/index.ts +2 -0
  110. package/src/mocks/hooks/index.ts +17 -0
  111. package/src/types/portal/index.d.ts +0 -1
  112. package/src/types/portal/src/client/app/Sidebar/types.d.ts +1 -1
  113. package/src/types/portal/src/server/{utils → content}/content-provider.d.ts +9 -9
  114. package/src/types/portal/src/server/{version-store.d.ts → content/versions-config.d.ts} +7 -7
  115. package/src/types/portal/src/server/plugins/markdown/types.d.ts +14 -11
  116. package/src/types/portal/src/server/plugins/portal-config/types.d.ts +16 -19
  117. package/src/types/portal/src/server/plugins/types.d.ts +23 -15
  118. package/src/types/portal/src/server/store.d.ts +32 -33
  119. package/src/types/portal/src/server/utils/fs.d.ts +2 -1
  120. package/src/types/portal/src/server/utils/index.d.ts +0 -1
  121. package/src/types/portal/src/server/utils/paths.d.ts +3 -3
  122. package/src/types/portal/src/server/utils/reporter/formatter.d.ts +2 -1
  123. package/src/types/portal/src/server/utils/reporter/reporter.d.ts +2 -1
  124. package/src/types/portal/src/shared/constants.d.ts +2 -0
  125. package/src/types/portal/src/shared/models/active-item.d.ts +3 -0
  126. package/src/types/portal/src/shared/models/config.d.ts +28 -0
  127. package/src/types/portal/src/shared/models/index.d.ts +6 -0
  128. package/src/types/portal/src/shared/models/json-index.d.ts +5 -0
  129. package/src/types/portal/src/shared/models/operation-parameter.d.ts +6 -0
  130. package/src/types/portal/src/shared/models/search-data.d.ts +5 -0
  131. package/src/types/portal/src/shared/models/search-document.d.ts +11 -0
  132. package/src/types/portal/src/shared/types.d.ts +8 -2
  133. package/src/types/portal/src/shared/urls.d.ts +2 -0
  134. package/src/types/portal/src/shared/utils.d.ts +8 -2
  135. package/src/ui/Jumbotron.tsx +1 -1
  136. package/src/ui/index.tsx +0 -4
  137. package/ui/Jumbotron.js +1 -1
  138. package/ui/index.d.ts +0 -4
  139. package/ui/index.js +0 -4
  140. package/Headings/Headings.d.ts +0 -3
  141. package/Headings/Headings.js +0 -16
  142. package/Headings/index.d.ts +0 -1
  143. package/JsonViewer/styled.d.ts +0 -1
  144. package/JsonViewer/styled.js +0 -10
  145. package/Markdown/CodeSample/styled.d.ts +0 -4
  146. package/Markdown/CodeSample/styled.js +0 -85
  147. package/src/Headings/Headings.ts +0 -23
  148. package/src/Headings/index.ts +0 -1
  149. package/src/JsonViewer/styled.ts +0 -110
  150. package/src/Markdown/CodeSample/styled.ts +0 -209
  151. package/src/types/portal/src/client/app/media-css.d.ts +0 -7
  152. package/src/types/portal/src/client/styling/default.d.ts +0 -601
  153. package/src/types/portal/src/client/styling/index.d.ts +0 -10
  154. package/src/types/portal/src/client/styling/resolve.d.ts +0 -1
  155. package/src/ui/Button.tsx +0 -19
  156. package/src/ui/Typography.tsx +0 -90
  157. package/ui/Arrow.d.ts +0 -7
  158. package/ui/Button.d.ts +0 -7
  159. package/ui/Button.js +0 -30
  160. package/ui/Typography.d.ts +0 -41
  161. package/ui/Typography.js +0 -59
@@ -1,3 +1,4 @@
1
+ import React from 'react';
1
2
  import { FlattenSimpleInterpolation } from 'styled-components';
2
3
  export declare type ButtonSize = 'small' | 'medium' | 'large' | 'xlarge' | string;
3
4
  export declare type ButtonColor = 'primary' | 'secondary' | 'default' | string;
@@ -10,8 +11,8 @@ export interface ButtonProps {
10
11
  variant?: ButtonVariant;
11
12
  size?: ButtonSize;
12
13
  extraClass?: string;
14
+ to?: string;
15
+ onClick?: (e?: any) => void;
13
16
  }
14
17
  export declare const baseButtonStyles: FlattenSimpleInterpolation;
15
- export declare const Button: import("styled-components").StyledComponent<"button", any, {
16
- className: `button-color-${string}${string}`;
17
- } & ButtonProps, "className">;
18
+ export declare const Button: React.FC<ButtonProps>;
package/Button/Button.js CHANGED
@@ -3,6 +3,17 @@ var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cook
3
3
  if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
4
4
  return cooked;
5
5
  };
6
+ var __assign = (this && this.__assign) || function () {
7
+ __assign = Object.assign || function(t) {
8
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
9
+ s = arguments[i];
10
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
11
+ t[p] = s[p];
12
+ }
13
+ return t;
14
+ };
15
+ return __assign.apply(this, arguments);
16
+ };
6
17
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
7
18
  if (k2 === undefined) k2 = k;
8
19
  var desc = Object.getOwnPropertyDescriptor(m, k);
@@ -26,19 +37,25 @@ var __importStar = (this && this.__importStar) || function (mod) {
26
37
  __setModuleDefault(result, mod);
27
38
  return result;
28
39
  };
40
+ var __importDefault = (this && this.__importDefault) || function (mod) {
41
+ return (mod && mod.__esModule) ? mod : { "default": mod };
42
+ };
29
43
  Object.defineProperty(exports, "__esModule", { value: true });
30
44
  exports.Button = exports.baseButtonStyles = void 0;
45
+ var react_1 = __importDefault(require("react"));
31
46
  var styled_components_1 = __importStar(require("styled-components"));
47
+ var Link_1 = require("../mocks/Link");
32
48
  var getBlink = function () { return (0, styled_components_1.keyframes)(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n 0% {\n color: var(--button-color);\n background-color: var(--button-active-background-color);\n }\n\n 50% {\n background-color: var(--button-background-color);\n }\n\n 100% {\n color: var(--button-color);\n background-color: var(--button-active-background-color);\n }\n"], ["\n 0% {\n color: var(--button-color);\n background-color: var(--button-active-background-color);\n }\n\n 50% {\n background-color: var(--button-background-color);\n }\n\n 100% {\n color: var(--button-color);\n background-color: var(--button-active-background-color);\n }\n"]))); };
33
49
  var getSize = function (size) {
34
50
  if (size === void 0) { size = 'medium'; }
35
51
  return (0, styled_components_1.css)(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n font-size: var(--button-", "-font-size);\n padding: var(--button-", "-padding);\n min-width: var(--button-", "-min-width);\n"], ["\n font-size: var(--button-", "-font-size);\n padding: var(--button-", "-padding);\n min-width: var(--button-", "-min-width);\n"])), size, size, size);
36
52
  };
37
53
  exports.baseButtonStyles = (0, styled_components_1.css)(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n outline: none;\n border: none;\n border-radius: var(--button-border-radius);\n font-weight: var(--button-font-weight);\n font-size: 14px;\n padding: 2px 20px;\n cursor: pointer;\n transition: background-color 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;\n line-height: 1;\n\n font-family: var(--button-font-family);\n box-shadow: var(--button-box-shadow);\n\n &:hover {\n box-shadow: var(--button-active-box-shadow);\n }\n\n &:active {\n box-shadow: var(--button-active-box-shadow);\n }\n"], ["\n outline: none;\n border: none;\n border-radius: var(--button-border-radius);\n font-weight: var(--button-font-weight);\n font-size: 14px;\n padding: 2px 20px;\n cursor: pointer;\n transition: background-color 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;\n line-height: 1;\n\n font-family: var(--button-font-family);\n box-shadow: var(--button-box-shadow);\n\n &:hover {\n box-shadow: var(--button-active-box-shadow);\n }\n\n &:active {\n box-shadow: var(--button-active-box-shadow);\n }\n"])));
38
- exports.Button = styled_components_1.default.button.attrs(function (_a) {
54
+ var StyledButton = styled_components_1.default.button.attrs(function (_a) {
39
55
  var _b = _a.color, color = _b === void 0 ? 'default' : _b, extraClass = _a.extraClass;
40
56
  return ({
41
57
  className: "button-color-".concat(color).concat(extraClass ? " ".concat(extraClass) : ''),
58
+ 'data-component-name': 'Button/Button',
42
59
  });
43
60
  })(templateObject_8 || (templateObject_8 = __makeTemplateObject(["\n text-decoration: none;\n text-align: center;\n\n width: ", ";\n\n ", "\n\n ", ";\n\n ", "\n\n & + & {\n margin-left: 0.85em;\n }\n\n ", "\n\n ", "\n"], ["\n text-decoration: none;\n text-align: center;\n\n width: ", ";\n\n ", "\n\n ", ";\n\n ", "\n\n & + & {\n margin-left: 0.85em;\n }\n\n ", "\n\n ", "\n"])), function (_a) {
44
61
  var fullWidth = _a.fullWidth;
@@ -57,4 +74,14 @@ exports.Button = styled_components_1.default.button.attrs(function (_a) {
57
74
  var disabled = _a.disabled;
58
75
  return disabled && (0, styled_components_1.css)(templateObject_7 || (templateObject_7 = __makeTemplateObject(["\n &,\n &:hover {\n cursor: default;\n color: #999999;\n pointer-events: none;\n }\n "], ["\n &,\n &:hover {\n cursor: default;\n color: #999999;\n pointer-events: none;\n }\n "])));
59
76
  });
77
+ var Button = function (props) {
78
+ if (props.to) {
79
+ return (react_1.default.createElement(Link_1.Link, { to: props.to },
80
+ react_1.default.createElement(StyledButton, __assign({}, props))));
81
+ }
82
+ else {
83
+ return react_1.default.createElement(StyledButton, __assign({}, props));
84
+ }
85
+ };
86
+ exports.Button = Button;
60
87
  var templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6, templateObject_7, templateObject_8;
@@ -0,0 +1,7 @@
1
+ /// <reference types="react" />
2
+ import { NavGroupRecord } from '@theme/types/portal';
3
+ interface FooterProps {
4
+ data: NavGroupRecord;
5
+ }
6
+ export declare function CustomFooter({ data }: FooterProps): JSX.Element | null;
7
+ export {};
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {
3
+ if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
4
+ return cooked;
5
+ };
6
+ var __importDefault = (this && this.__importDefault) || function (mod) {
7
+ return (mod && mod.__esModule) ? mod : { "default": mod };
8
+ };
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.CustomFooter = void 0;
11
+ var react_1 = __importDefault(require("react"));
12
+ var styled_components_1 = __importDefault(require("styled-components"));
13
+ var CustomFooterNavItem_1 = require("../Footer/CustomFooterNavItem");
14
+ var FooterCopyright_1 = require("../Footer/FooterCopyright");
15
+ function CustomFooter(_a) {
16
+ var data = _a.data;
17
+ if (!data) {
18
+ return null;
19
+ }
20
+ return (react_1.default.createElement(FooterContainer, { "data-component-name": "Footer/CustomFooter" },
21
+ data.links.map(function (navItem, index) {
22
+ return (react_1.default.createElement(CustomFooterNavItem_1.CustomFooterNavItem, { key: "".concat(navItem.label, "_").concat(index), "data-cy": navItem.label, navItem: navItem }));
23
+ }),
24
+ react_1.default.createElement(FooterCopyright_1.FooterCopyright, { copyrightText: data.copyrightText })));
25
+ }
26
+ exports.CustomFooter = CustomFooter;
27
+ var FooterContainer = styled_components_1.default.div(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n list-style: none;\n margin: 0;\n padding: 0;\n display: block;\n background-color: var(--footer-background-color);\n text-align: center;\n font-family: var(--font-family-base);\n\n ", " {\n display: block;\n }\n"], ["\n list-style: none;\n margin: 0;\n padding: 0;\n display: block;\n background-color: var(--footer-background-color);\n text-align: center;\n font-family: var(--font-family-base);\n\n ", " {\n display: block;\n }\n"])), function (_a) {
28
+ var theme = _a.theme;
29
+ return theme.mediaQueries.medium;
30
+ });
31
+ var templateObject_1;
@@ -0,0 +1,7 @@
1
+ /// <reference types="react" />
2
+ import type { ResolvedNavItem } from '@theme/types/portal';
3
+ interface CustomFooterNavItemProps {
4
+ navItem: ResolvedNavItem;
5
+ }
6
+ export declare function CustomFooterNavItem({ navItem }: CustomFooterNavItemProps): JSX.Element;
7
+ export {};
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {
3
+ if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
4
+ return cooked;
5
+ };
6
+ var __importDefault = (this && this.__importDefault) || function (mod) {
7
+ return (mod && mod.__esModule) ? mod : { "default": mod };
8
+ };
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.CustomFooterNavItem = void 0;
11
+ var react_1 = __importDefault(require("react"));
12
+ var styled_components_1 = __importDefault(require("styled-components"));
13
+ var Link_1 = require("../mocks/Link");
14
+ function CustomFooterNavItem(_a) {
15
+ var navItem = _a.navItem;
16
+ var item = navItem;
17
+ return (react_1.default.createElement(FooterItem, { "data-component-name": "Navbar/NavbarItem" },
18
+ react_1.default.createElement(FooterLink, { to: item.link },
19
+ react_1.default.createElement(FooterLabel, null, item.label))));
20
+ }
21
+ exports.CustomFooterNavItem = CustomFooterNavItem;
22
+ var FooterItem = styled_components_1.default.li(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n display: inline-block;\n text-align: center;\n line-height: var(--line-height-base);\n font-size: var(--navbar-item-font-size);\n margin: calc(var(--spacing-unit) * 2) calc(var(--spacing-unit) * 3);\n font-weight: var(--font-weight-regular);\n"], ["\n display: inline-block;\n text-align: center;\n line-height: var(--line-height-base);\n font-size: var(--navbar-item-font-size);\n margin: calc(var(--spacing-unit) * 2) calc(var(--spacing-unit) * 3);\n font-weight: var(--font-weight-regular);\n"])));
23
+ var FooterLink = (0, styled_components_1.default)(Link_1.Link)(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n color: var(--footer-text-color);\n text-decoration: none;\n"], ["\n color: var(--footer-text-color);\n text-decoration: none;\n"])));
24
+ var FooterLabel = styled_components_1.default.span(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n cursor: pointer;\n vertical-align: middle;\n"], ["\n cursor: pointer;\n vertical-align: middle;\n"])));
25
+ var templateObject_1, templateObject_2, templateObject_3;
@@ -1,3 +1,7 @@
1
1
  /// <reference types="react" />
2
- import type { FooterConfig } from '@theme/types/portal';
3
- export declare function Footer({ columns, copyrightText }: FooterConfig): JSX.Element | null;
2
+ import type { NavGroupRecord } from '@theme/types/portal';
3
+ interface FooterProps {
4
+ data: NavGroupRecord;
5
+ }
6
+ export declare function Footer({ data: { columns, copyrightText } }: FooterProps): JSX.Element | null;
7
+ export {};
package/Footer/Footer.js CHANGED
@@ -12,9 +12,12 @@ var react_1 = __importDefault(require("react"));
12
12
  var styled_components_1 = __importDefault(require("styled-components"));
13
13
  var FooterColumns_1 = require("../Footer/FooterColumns");
14
14
  var FooterCopyright_1 = require("../Footer/FooterCopyright");
15
+ var hooks_1 = require("../mocks/hooks");
16
+ var constants_1 = require("../mocks/constants");
15
17
  function Footer(_a) {
16
- var columns = _a.columns, copyrightText = _a.copyrightText;
17
- if (!((columns === null || columns === void 0 ? void 0 : columns.length) || copyrightText)) {
18
+ var _b = _a.data, columns = _b.columns, copyrightText = _b.copyrightText;
19
+ var footer = (0, hooks_1.useThemeSettings)(constants_1.USER_THEME_ALIAS).footer;
20
+ if (!((columns === null || columns === void 0 ? void 0 : columns.length) || copyrightText) || (footer === null || footer === void 0 ? void 0 : footer.hide)) {
18
21
  return null;
19
22
  }
20
23
  return (react_1.default.createElement(FooterContainer, { "data-component-name": "Footer/Footer" },
@@ -1,7 +1,7 @@
1
1
  /// <reference types="react" />
2
- import type { FooterColumn as Column } from '@theme/types/portal';
2
+ import type { ResolvedNavItem } from '@theme/types/portal';
3
3
  interface FooterColumnProps {
4
- column: Column;
4
+ column: ResolvedNavItem;
5
5
  }
6
6
  export declare function FooterColumn({ column }: FooterColumnProps): JSX.Element;
7
7
  export {};
@@ -12,10 +12,11 @@ var react_1 = __importDefault(require("react"));
12
12
  var styled_components_1 = __importDefault(require("styled-components"));
13
13
  var Link_1 = require("../mocks/Link");
14
14
  function FooterColumn(_a) {
15
+ var _b;
15
16
  var column = _a.column;
16
17
  return (react_1.default.createElement(FooterColumnContainer, { "data-component-name": "Footer/FooterColumn" },
17
- react_1.default.createElement(FooterColumnTitle, null, column.group || column.label),
18
- column.items.map(function (columnItem, columnItemIndex) {
18
+ react_1.default.createElement(FooterColumnTitle, null, column.label), (_b = column === null || column === void 0 ? void 0 : column.items) === null || _b === void 0 ? void 0 :
19
+ _b.map(function (columnItem, columnItemIndex) {
19
20
  if (columnItem.type === 'error') {
20
21
  return null;
21
22
  }
@@ -1,7 +1,9 @@
1
1
  /// <reference types="react" />
2
- import type { FooterConfig } from '@theme/types/portal';
3
- export declare function FooterColumns({ columns, }: {
4
- columns?: FooterConfig['columns'];
5
- }): JSX.Element | null;
2
+ import type { NavGroup } from '@theme/types/portal';
3
+ interface FooterColumnsProps {
4
+ columns: NavGroup;
5
+ }
6
+ export declare function FooterColumns({ columns }: FooterColumnsProps): JSX.Element | null;
6
7
  export declare const FooterColumnsContainer: import("styled-components").StyledComponent<"div", any, {}, never>;
7
8
  export declare const FooterRow: import("styled-components").StyledComponent<"div", any, {}, never>;
9
+ export {};
@@ -12,12 +12,12 @@ var react_1 = __importDefault(require("react"));
12
12
  var styled_components_1 = __importDefault(require("styled-components"));
13
13
  var FooterColumn_1 = require("../Footer/FooterColumn");
14
14
  function FooterColumns(_a) {
15
- var _b = _a.columns, columns = _b === void 0 ? [] : _b;
16
- if (!(columns === null || columns === void 0 ? void 0 : columns.length)) {
15
+ var columns = _a.columns;
16
+ if (typeof columns === 'string' || typeof columns === 'undefined' || !(columns === null || columns === void 0 ? void 0 : columns.length)) {
17
17
  return null;
18
18
  }
19
19
  return (react_1.default.createElement(exports.FooterColumnsContainer, { "data-component-name": "Footer/FooterColumns" },
20
- react_1.default.createElement(exports.FooterRow, null, columns.map(function (column, index) { return (react_1.default.createElement(FooterColumn_1.FooterColumn, { key: index, column: column })); }))));
20
+ react_1.default.createElement(exports.FooterRow, null, columns.map(function (column, index) { return (react_1.default.createElement(FooterColumn_1.FooterColumn, { key: "".concat(column.label, "_").concat(index), column: column })); }))));
21
21
  }
22
22
  exports.FooterColumns = FooterColumns;
23
23
  exports.FooterColumnsContainer = styled_components_1.default.div(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n padding: 3em 20px 1em 20px;\n display: flex;\n flex-direction: column;\n justify-content: center;\n max-width: 1200px;\n margin: 0 auto;\n\n ", " {\n padding: 5.625em 20px 3.9375em 20px;\n }\n\n ", " {\n color: black;\n display: none;\n }\n"], ["\n padding: 3em 20px 1em 20px;\n display: flex;\n flex-direction: column;\n justify-content: center;\n max-width: 1200px;\n margin: 0 auto;\n\n ", " {\n padding: 5.625em 20px 3.9375em 20px;\n }\n\n ", " {\n color: black;\n display: none;\n }\n"])), function (_a) {
@@ -1,5 +1,7 @@
1
1
  /// <reference types="react" />
2
- import type { FooterConfig } from '@theme/types/portal';
3
- export declare function FooterCopyright({ copyrightText, }: {
4
- copyrightText?: FooterConfig['copyrightText'];
5
- }): JSX.Element | null;
2
+ import type { NavGroup } from '@theme/types/portal';
3
+ interface FooterCopyrightProps {
4
+ copyrightText: NavGroup;
5
+ }
6
+ export declare function FooterCopyright({ copyrightText }: FooterCopyrightProps): JSX.Element | null;
7
+ export {};
@@ -38,7 +38,6 @@ var SamplesPanelControls_1 = require("../SamplesPanelControls");
38
38
  var utils_1 = require("../utils");
39
39
  var hooks_1 = require("../hooks");
40
40
  var CodeBlock_1 = require("../CodeBlock");
41
- var styled_1 = require("../JsonViewer/styled");
42
41
  function JsonComponent(_a) {
43
42
  var data = _a.data, jsonSampleExpandLevel = _a.jsonSampleExpandLevel, className = _a.className;
44
43
  var node = (0, react_1.useRef)(null);
@@ -109,7 +108,7 @@ function JsonComponent(_a) {
109
108
  return (react_1.default.createElement(CopyButton_1.CopyButtonWrapper, { "data-cy": "copy-button", data: data }, renderInner));
110
109
  }
111
110
  exports.Json = (0, react_1.memo)(JsonComponent);
112
- exports.JsonViewer = (0, styled_components_1.default)(exports.Json)(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n ", ";\n"], ["\n ", ";\n"])), styled_1.jsonStyles);
111
+ exports.JsonViewer = (0, styled_components_1.default)(exports.Json)(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n .redoc-json code {\n background-color: var(--samples-panel-controls-background-color);\n color: var(--color-content-inverse);\n padding: inherit;\n border: none;\n\n & > .collapser {\n display: none;\n pointer-events: none;\n }\n }\n\n contain: content;\n overflow-x: auto;\n padding: 10px;\n border-radius: var(--global-border-radius);\n background-color: var(--samples-panel-controls-background-color);\n color: var(--color-content-inverse);\n font-size: var(--code-font-size);\n font-family: var(--code-font-family);\n white-space: var(--code-wrap, pre);\n\n .callback-function {\n color: gray;\n }\n\n .collapser:after {\n content: '-';\n cursor: pointer;\n }\n\n .collapsed > .collapser:after {\n content: '+';\n cursor: pointer;\n }\n\n .ellipsis:after {\n content: ' \u2026 ';\n }\n\n .collapsible {\n margin-left: 2ch;\n }\n\n .hoverable {\n padding: 1px 2px;\n }\n\n .hovered {\n background-color: rgba(235, 238, 249, 1);\n }\n\n .collapser {\n background-color: transparent;\n border: 0;\n color: #fff;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 15px;\n height: 15px;\n position: absolute;\n top: 4px;\n left: -1.5em;\n cursor: default;\n user-select: none;\n -webkit-user-select: none;\n padding: 2px;\n font-family: var(--code-font-family);\n font-size: var(--code-font-size);\n &:focus {\n outline: #fff dotted 1px;\n }\n }\n\n ul {\n list-style-type: none;\n padding: 0;\n margin: 0 0 0 26px;\n }\n\n li {\n position: relative;\n display: block;\n }\n\n .hoverable {\n display: inline-block;\n }\n\n .selected {\n outline-width: 1px;\n outline-style: dotted;\n }\n\n .collapsed > .collapsible {\n display: none;\n }\n\n .ellipsis {\n display: none;\n }\n\n .collapsed > .ellipsis {\n display: inherit;\n }\n"], ["\n .redoc-json code {\n background-color: var(--samples-panel-controls-background-color);\n color: var(--color-content-inverse);\n padding: inherit;\n border: none;\n\n & > .collapser {\n display: none;\n pointer-events: none;\n }\n }\n\n contain: content;\n overflow-x: auto;\n padding: 10px;\n border-radius: var(--global-border-radius);\n background-color: var(--samples-panel-controls-background-color);\n color: var(--color-content-inverse);\n font-size: var(--code-font-size);\n font-family: var(--code-font-family);\n white-space: var(--code-wrap, pre);\n\n .callback-function {\n color: gray;\n }\n\n .collapser:after {\n content: '-';\n cursor: pointer;\n }\n\n .collapsed > .collapser:after {\n content: '+';\n cursor: pointer;\n }\n\n .ellipsis:after {\n content: ' \u2026 ';\n }\n\n .collapsible {\n margin-left: 2ch;\n }\n\n .hoverable {\n padding: 1px 2px;\n }\n\n .hovered {\n background-color: rgba(235, 238, 249, 1);\n }\n\n .collapser {\n background-color: transparent;\n border: 0;\n color: #fff;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 15px;\n height: 15px;\n position: absolute;\n top: 4px;\n left: -1.5em;\n cursor: default;\n user-select: none;\n -webkit-user-select: none;\n padding: 2px;\n font-family: var(--code-font-family);\n font-size: var(--code-font-size);\n &:focus {\n outline: #fff dotted 1px;\n }\n }\n\n ul {\n list-style-type: none;\n padding: 0;\n margin: 0 0 0 26px;\n }\n\n li {\n position: relative;\n display: block;\n }\n\n .hoverable {\n display: inline-block;\n }\n\n .selected {\n outline-width: 1px;\n outline-style: dotted;\n }\n\n .collapsed > .collapsible {\n display: none;\n }\n\n .ellipsis {\n display: none;\n }\n\n .collapsed > .ellipsis {\n display: inherit;\n }\n"])));
113
112
  exports.JsonViewerWrap = styled_components_1.default.div(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n display: flex;\n flex-direction: column;\n flex: 1;\n\n &:hover > ", " {\n opacity: 1;\n }\n"], ["\n display: flex;\n flex-direction: column;\n flex: 1;\n\n &:hover > ", " {\n opacity: 1;\n }\n"])), SamplesPanelControls_1.SampleControls);
114
113
  exports.StyledCodeBlock = (0, styled_components_1.default)(CodeBlock_1.CodeBlock)(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n flex: 1;\n\n code {\n font-family: var(--code-font-family);\n font-size: 14px;\n line-height: 18px;\n }\n"], ["\n flex: 1;\n\n code {\n font-family: var(--code-font-family);\n font-size: 14px;\n line-height: 18px;\n }\n"])));
115
114
  var templateObject_1, templateObject_2, templateObject_3;
@@ -1,2 +1 @@
1
1
  export * from '../JsonViewer/JsonViewer';
2
- export * from '../JsonViewer/styled';
@@ -15,4 +15,3 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("../JsonViewer/JsonViewer"), exports);
18
- __exportStar(require("../JsonViewer/styled"), exports);
@@ -10,7 +10,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
10
10
  exports.Admonition = void 0;
11
11
  var react_1 = __importDefault(require("react"));
12
12
  var styled_components_1 = __importDefault(require("styled-components"));
13
- var AlertIcon_1 = require("../ui/AlertIcon");
13
+ var AlertIcon_1 = require("../icons/AlertIcon/AlertIcon");
14
14
  function Admonition(_a) {
15
15
  var _b = _a.type, type = _b === void 0 ? 'info' : _b, name = _a.name, children = _a.children;
16
16
  return (react_1.default.createElement(Wrapper, { type: type, "data-component-name": "Markdown/Admonition/Admonition" },
@@ -1,4 +1,8 @@
1
1
  "use strict";
2
+ var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {
3
+ if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
4
+ return cooked;
5
+ };
2
6
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
7
  if (k2 === undefined) k2 = k;
4
8
  var desc = Object.getOwnPropertyDescriptor(m, k);
@@ -25,8 +29,8 @@ var __importStar = (this && this.__importStar) || function (mod) {
25
29
  Object.defineProperty(exports, "__esModule", { value: true });
26
30
  exports.CodeSample = void 0;
27
31
  var react_1 = __importStar(require("react"));
32
+ var styled_components_1 = __importStar(require("styled-components"));
28
33
  var ClipboardService_1 = require("../../utils/ClipboardService");
29
- var styled_1 = require("../../Markdown/CodeSample/styled");
30
34
  function CodeSample(_a) {
31
35
  var rawContent = _a.rawContent, highlighted = _a.highlighted, language = _a.language;
32
36
  var langClassName = language ? "language-".concat(language) : '';
@@ -36,11 +40,17 @@ function CodeSample(_a) {
36
40
  setIsCopied(true);
37
41
  setTimeout(function () { return setIsCopied(false); }, 1500);
38
42
  };
39
- return (react_1.default.createElement(styled_1.Wrapper, { className: "code-sample", "data-component-name": "Markdown/CodeSample/CodeSample" },
40
- react_1.default.createElement(styled_1.CodeSampleButtonContainer, { onClick: function () { return copyCode(rawContent); } },
41
- !isCopied && react_1.default.createElement(styled_1.CopyCodeButton, { title: "Copy the code snippet" }, "Copy"),
42
- isCopied && react_1.default.createElement(styled_1.DoneIndicator, null, "Copied")),
43
+ return (react_1.default.createElement(Wrapper, { className: "code-sample", "data-component-name": "Markdown/CodeSample/CodeSample" },
44
+ react_1.default.createElement(CodeSampleButtonContainer, { onClick: function () { return copyCode(rawContent); } },
45
+ !isCopied && react_1.default.createElement(CopyCodeButton, { title: "Copy the code snippet" }, "Copy"),
46
+ isCopied && react_1.default.createElement(DoneIndicator, null, "Copied")),
43
47
  react_1.default.createElement("pre", { className: langClassName },
44
48
  react_1.default.createElement("code", { className: langClassName, dangerouslySetInnerHTML: { __html: highlighted } }))));
45
49
  }
46
50
  exports.CodeSample = CodeSample;
51
+ var CodeSampleButtonContainer = styled_components_1.default.div(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n position: absolute;\n top: 12px;\n right: 5px;\n"], ["\n position: absolute;\n top: 12px;\n right: 5px;\n"])));
52
+ var CopyCodeButton = styled_components_1.default.div(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n padding: 0 5px;\n border-radius: 4px;\n display: none;\n &:hover {\n cursor: pointer;\n }\n"], ["\n padding: 0 5px;\n border-radius: 4px;\n display: none;\n &:hover {\n cursor: pointer;\n }\n"])));
53
+ var DoneIndicator = styled_components_1.default.div(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n padding: 0 5px;\n border-radius: 4px;\n cursor: default;\n"], ["\n padding: 0 5px;\n border-radius: 4px;\n cursor: default;\n"])));
54
+ var darkStyleTokens = (0, styled_components_1.css)(templateObject_4 || (templateObject_4 = __makeTemplateObject(["\n .token.comment,\n .token.prolog,\n .token.doctype,\n .token.cdata {\n color: hsl(30, 20%, 50%);\n }\n .token.property,\n .token.tag,\n .token.number,\n .token.constant,\n .token.symbol {\n color: #62bff9;\n }\n .token.boolean {\n color: firebrick;\n }\n .token.selector,\n .token.attr-name,\n .token.string,\n .token.char,\n .token.builtin,\n .token.inserted {\n color: #a0fbaa;\n & + a,\n & + a:visited {\n color: #4ed2ba;\n text-decoration: underline;\n }\n }\n .token.operator,\n .token.entity,\n .token.url,\n .token.variable {\n color: hsl(40, 90%, 60%);\n }\n .token.atrule,\n .token.attr-value,\n .token.keyword {\n color: hsl(350, 40%, 70%);\n }\n .token.regex,\n .token.important {\n color: #e90;\n }\n .token.deleted {\n color: red;\n }\n"], ["\n .token.comment,\n .token.prolog,\n .token.doctype,\n .token.cdata {\n color: hsl(30, 20%, 50%);\n }\n .token.property,\n .token.tag,\n .token.number,\n .token.constant,\n .token.symbol {\n color: #62bff9;\n }\n .token.boolean {\n color: firebrick;\n }\n .token.selector,\n .token.attr-name,\n .token.string,\n .token.char,\n .token.builtin,\n .token.inserted {\n color: #a0fbaa;\n & + a,\n & + a:visited {\n color: #4ed2ba;\n text-decoration: underline;\n }\n }\n .token.operator,\n .token.entity,\n .token.url,\n .token.variable {\n color: hsl(40, 90%, 60%);\n }\n .token.atrule,\n .token.attr-value,\n .token.keyword {\n color: hsl(350, 40%, 70%);\n }\n .token.regex,\n .token.important {\n color: #e90;\n }\n .token.deleted {\n color: red;\n }\n"])));
55
+ var Wrapper = styled_components_1.default.div(templateObject_5 || (templateObject_5 = __makeTemplateObject(["\n overflow: auto;\n border-radius: 4px;\n position: relative;\n\n ", ",\n ", " {\n color: rgba(255, 255, 255, 0.15);\n }\n ", ":hover {\n color: #fff;\n background-color: rgba(255, 255, 255, 0.15);\n }\n\n &:hover {\n ", " ", " {\n display: block;\n }\n }\n pre {\n white-space: var(--code-wrap);\n color: white;\n padding: 12px 14px 15px 14px;\n overflow-x: auto;\n line-height: normal;\n border-radius: 4px;\n font-family: var(--code-font-family);\n background-color: var(--code-block-preformatted-background-color);\n code {\n background-color: transparent;\n border: 0;\n padding: 0;\n color: white;\n &:before,\n &:after {\n content: none;\n }\n }\n }\n pre[class*='language-'] {\n padding: 1em;\n margin: 0.5em 0;\n overflow: auto;\n border: 0;\n border-radius: var(--global-border-radius);\n }\n code[class='language-text'] {\n line-height: 1.2em;\n display: inline-flex;\n white-space: pre-wrap;\n overflow-wrap: anywhere;\n }\n code[class*='language-'],\n pre[class*='language-'] {\n text-align: left;\n white-space: pre;\n word-spacing: normal;\n word-break: normal;\n word-wrap: normal;\n line-height: 1.5;\n -moz-tab-size: 4;\n -o-tab-size: 4;\n tab-size: 4;\n -webkit-hyphens: none;\n -moz-hyphens: none;\n -ms-hyphens: none;\n hyphens: none;\n .token.important,\n .token.bold {\n font-weight: bold;\n }\n .token.italic {\n font-style: italic;\n }\n .token.entity {\n cursor: help;\n }\n .token.punctuation {\n opacity: 0.7;\n }\n .namespace {\n opacity: 0.7;\n }\n\n ", ";\n }\n"], ["\n overflow: auto;\n border-radius: 4px;\n position: relative;\n\n ", ",\n ", " {\n color: rgba(255, 255, 255, 0.15);\n }\n ", ":hover {\n color: #fff;\n background-color: rgba(255, 255, 255, 0.15);\n }\n\n &:hover {\n ", " ", " {\n display: block;\n }\n }\n pre {\n white-space: var(--code-wrap);\n color: white;\n padding: 12px 14px 15px 14px;\n overflow-x: auto;\n line-height: normal;\n border-radius: 4px;\n font-family: var(--code-font-family);\n background-color: var(--code-block-preformatted-background-color);\n code {\n background-color: transparent;\n border: 0;\n padding: 0;\n color: white;\n &:before,\n &:after {\n content: none;\n }\n }\n }\n pre[class*='language-'] {\n padding: 1em;\n margin: 0.5em 0;\n overflow: auto;\n border: 0;\n border-radius: var(--global-border-radius);\n }\n code[class='language-text'] {\n line-height: 1.2em;\n display: inline-flex;\n white-space: pre-wrap;\n overflow-wrap: anywhere;\n }\n code[class*='language-'],\n pre[class*='language-'] {\n text-align: left;\n white-space: pre;\n word-spacing: normal;\n word-break: normal;\n word-wrap: normal;\n line-height: 1.5;\n -moz-tab-size: 4;\n -o-tab-size: 4;\n tab-size: 4;\n -webkit-hyphens: none;\n -moz-hyphens: none;\n -ms-hyphens: none;\n hyphens: none;\n .token.important,\n .token.bold {\n font-weight: bold;\n }\n .token.italic {\n font-style: italic;\n }\n .token.entity {\n cursor: help;\n }\n .token.punctuation {\n opacity: 0.7;\n }\n .namespace {\n opacity: 0.7;\n }\n\n ", ";\n }\n"])), CopyCodeButton, DoneIndicator, CopyCodeButton, CodeSampleButtonContainer, CopyCodeButton, darkStyleTokens);
56
+ var templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5;
@@ -1,2 +1 @@
1
1
  export * from '../../Markdown/CodeSample/CodeSample';
2
- export * from '../../Markdown/CodeSample/styled';
@@ -15,4 +15,3 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("../../Markdown/CodeSample/CodeSample"), exports);
18
- __exportStar(require("../../Markdown/CodeSample/styled"), exports);
@@ -1,9 +1,10 @@
1
1
  import React from 'react';
2
+ import { ResolvedConfigLinks } from '@theme/types/portal';
2
3
  interface NavbarProps {
3
- menu: React.ReactNode;
4
+ menu: ResolvedConfigLinks;
4
5
  logo: React.ReactNode;
5
6
  search: React.ReactNode;
6
7
  }
7
- export declare function Navbar({ menu, logo, search }: NavbarProps): JSX.Element;
8
+ export declare function Navbar({ menu, logo, search }: NavbarProps): JSX.Element | null;
8
9
  export declare const NavbarContainer: import("styled-components").StyledComponent<"nav", any, {}, never>;
9
10
  export {};
package/Navbar/Navbar.js CHANGED
@@ -10,12 +10,22 @@ Object.defineProperty(exports, "__esModule", { value: true });
10
10
  exports.NavbarContainer = exports.Navbar = void 0;
11
11
  var react_1 = __importDefault(require("react"));
12
12
  var styled_components_1 = __importDefault(require("styled-components"));
13
+ var hooks_1 = require("../mocks/hooks");
14
+ var constants_1 = require("../mocks/constants");
15
+ var Navbar_1 = require("../Navbar");
13
16
  function Navbar(_a) {
17
+ var _b;
14
18
  var menu = _a.menu, logo = _a.logo, search = _a.search;
19
+ var settings = (0, hooks_1.useThemeSettings)(constants_1.USER_THEME_ALIAS);
20
+ var searchSettings = settings.search;
21
+ var hideSearch = (searchSettings === null || searchSettings === void 0 ? void 0 : searchSettings.hide) || ((searchSettings === null || searchSettings === void 0 ? void 0 : searchSettings.placement) && (searchSettings === null || searchSettings === void 0 ? void 0 : searchSettings.placement) !== 'navbar');
22
+ if ((_b = settings === null || settings === void 0 ? void 0 : settings.navbar) === null || _b === void 0 ? void 0 : _b.hide) {
23
+ return null;
24
+ }
15
25
  return (react_1.default.createElement(exports.NavbarContainer, { "data-component-name": "Navbar/Navbar" },
16
26
  logo,
17
- menu,
18
- search));
27
+ react_1.default.createElement(Navbar_1.NavbarMenu, { menuItems: menu }),
28
+ hideSearch ? null : search));
19
29
  }
20
30
  exports.Navbar = Navbar;
21
31
  exports.NavbarContainer = styled_components_1.default.nav(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n height: var(--navbar-height);\n box-sizing: border-box;\n display: flex;\n color: var(--navbar-text-color);\n align-items: center;\n justify-content: space-between;\n flex-shrink: 0;\n\n font-size: 0.875rem;\n position: sticky;\n top: 0;\n z-index: 200;\n padding: 10px var(--sidebar-margin-left);\n background: var(--navbar-background-color);\n font-family: var(--h-font-family);\n\n ", " {\n padding: 10px var(--sidebar-margin-left);\n font-size: 1rem;\n }\n\n ", " {\n background: transparent;\n display: none;\n > :not(a, img) {\n display: none !important;\n }\n img {\n padding: 0;\n margin: 0;\n }\n }\n"], ["\n height: var(--navbar-height);\n box-sizing: border-box;\n display: flex;\n color: var(--navbar-text-color);\n align-items: center;\n justify-content: space-between;\n flex-shrink: 0;\n\n font-size: 0.875rem;\n position: sticky;\n top: 0;\n z-index: 200;\n padding: 10px var(--sidebar-margin-left);\n background: var(--navbar-background-color);\n font-family: var(--h-font-family);\n\n ", " {\n padding: 10px var(--sidebar-margin-left);\n font-size: 1rem;\n }\n\n ", " {\n background: transparent;\n display: none;\n > :not(a, img) {\n display: none !important;\n }\n img {\n padding: 0;\n margin: 0;\n }\n }\n"])), function (_a) {
@@ -0,0 +1,8 @@
1
+ /// <reference types="react" />
2
+ import type { ResolvedNavLinkItem } from '@theme/types/portal';
3
+ interface NavbarDropdownProps {
4
+ items: ResolvedNavLinkItem[];
5
+ }
6
+ export declare function NavbarDropdown({ items }: NavbarDropdownProps): JSX.Element;
7
+ export declare const DropdownWrapper: import("styled-components").StyledComponent<"div", any, {}, never>;
8
+ export {};
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {
3
+ if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
4
+ return cooked;
5
+ };
6
+ var __importDefault = (this && this.__importDefault) || function (mod) {
7
+ return (mod && mod.__esModule) ? mod : { "default": mod };
8
+ };
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.DropdownWrapper = exports.NavbarDropdown = void 0;
11
+ var react_1 = __importDefault(require("react"));
12
+ var styled_components_1 = __importDefault(require("styled-components"));
13
+ var Link_1 = require("../mocks/Link");
14
+ function NavbarDropdown(_a) {
15
+ var items = _a.items;
16
+ return (react_1.default.createElement(exports.DropdownWrapper, { "data-component-name": "Navbar/NavbarDropdown" }, items.map(function (item, index) { return (react_1.default.createElement("div", { key: "".concat(item.label, "_").concat(index) },
17
+ react_1.default.createElement(Link_1.Link, { to: item.link }, item.label))); })));
18
+ }
19
+ exports.NavbarDropdown = NavbarDropdown;
20
+ exports.DropdownWrapper = styled_components_1.default.div(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n display: none;\n position: absolute;\n background: var(--navbar-item-active-background-color);\n border-radius: var(--navbar-item-border-radius);\n padding: 10px 15px;\n width: max-content;\n line-height: 1rem;\n box-shadow: var(--navbar-dropdown-shadow);\n & > div {\n text-align: left;\n padding: 10px 0px;\n cursor: pointer;\n a {\n color: var(--navbar-text-color);\n text-decoration: none;\n }\n :hover {\n text-decoration: underline;\n }\n }\n"], ["\n display: none;\n position: absolute;\n background: var(--navbar-item-active-background-color);\n border-radius: var(--navbar-item-border-radius);\n padding: 10px 15px;\n width: max-content;\n line-height: 1rem;\n box-shadow: var(--navbar-dropdown-shadow);\n & > div {\n text-align: left;\n padding: 10px 0px;\n cursor: pointer;\n a {\n color: var(--navbar-text-color);\n text-decoration: none;\n }\n :hover {\n text-decoration: underline;\n }\n }\n"])));
21
+ var templateObject_1;
@@ -1,40 +1,7 @@
1
1
  /// <reference types="react" />
2
- export declare enum MenuStyle {
3
- Drilldown = "drilldown"
4
- }
5
- export declare type ResolvedNavLinkItem = {
6
- type: 'link';
7
- link: string;
8
- label: string;
9
- items?: ResolvedNavItem[];
10
- external?: boolean;
11
- version?: string;
12
- default?: string;
13
- httpVerb?: string;
14
- separatorLine?: boolean;
15
- active?: boolean;
16
- };
17
- export declare type ResolvedNavGroupItem = {
18
- type: 'group';
19
- link?: string;
20
- label: string;
21
- items: ResolvedNavItem[];
22
- version?: string;
23
- default?: string;
24
- menuStyle?: MenuStyle;
25
- separatorLine?: boolean;
26
- active?: boolean;
27
- };
28
- export declare type ResolvedNavItem = ResolvedNavLinkItem | ResolvedNavGroupItem | {
29
- type: 'separator';
30
- label?: string;
31
- separatorLine?: boolean;
32
- } | {
33
- type: 'error';
34
- label: string;
35
- };
2
+ import type { ResolvedNavItem } from '@theme/types/portal';
36
3
  interface NavbarItemProps {
37
- navItem: ResolvedNavLinkItem;
4
+ navItem: ResolvedNavItem;
38
5
  }
39
- export declare function NavbarItem({ navItem }: NavbarItemProps): JSX.Element;
6
+ export declare function NavbarItem({ navItem }: NavbarItemProps): JSX.Element | null;
40
7
  export {};
@@ -7,35 +7,44 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
7
7
  return (mod && mod.__esModule) ? mod : { "default": mod };
8
8
  };
9
9
  Object.defineProperty(exports, "__esModule", { value: true });
10
- exports.NavbarItem = exports.MenuStyle = void 0;
10
+ exports.NavbarItem = void 0;
11
11
  var react_1 = __importDefault(require("react"));
12
12
  var styled_components_1 = __importDefault(require("styled-components"));
13
13
  var react_router_dom_1 = require("react-router-dom");
14
14
  var Link_1 = require("../mocks/Link");
15
15
  var utils_1 = require("../mocks/utils");
16
- var MenuStyle;
17
- (function (MenuStyle) {
18
- MenuStyle["Drilldown"] = "drilldown";
19
- })(MenuStyle = exports.MenuStyle || (exports.MenuStyle = {}));
16
+ var NavbarDropdown_1 = require("../Navbar/NavbarDropdown");
20
17
  function NavbarItem(_a) {
21
18
  var navItem = _a.navItem;
22
19
  var pathname = (0, react_router_dom_1.useLocation)().pathname;
23
- var isActive = pathname === (0, utils_1.withPathPrefix)(navItem.link);
24
- return (react_1.default.createElement(NavMenuItem, { active: isActive, "data-component-name": "Navbar/NavbarItem" },
25
- react_1.default.createElement(NavLink, { to: navItem.link, active: isActive },
26
- react_1.default.createElement(NavLabel, null, navItem.label))));
20
+ if (navItem.link) {
21
+ var item = navItem;
22
+ var isActive = pathname === (0, utils_1.withPathPrefix)(item.link);
23
+ return (react_1.default.createElement(NavMenuItem, { active: isActive, "data-component-name": "Navbar/NavbarItem" },
24
+ react_1.default.createElement(NavLink, { to: item.link, active: isActive },
25
+ react_1.default.createElement(NavLabel, null, item.label))));
26
+ }
27
+ if (navItem.items) {
28
+ var item = navItem;
29
+ return (react_1.default.createElement(NavMenuItemWithDropdownWrapper, null,
30
+ react_1.default.createElement(NavMenuItem, { active: false, "data-component-name": "Navbar/NavbarItem" },
31
+ react_1.default.createElement(NavLabel, null, item.label)),
32
+ react_1.default.createElement(NavbarDropdown_1.NavbarDropdown, { items: item.items })));
33
+ }
34
+ return null;
27
35
  }
28
36
  exports.NavbarItem = NavbarItem;
29
- var NavMenuItem = styled_components_1.default.li(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n display: inline-block;\n padding: 20px calc(var(--sidebar-spacing-horizontal) * 2);\n text-align: center;\n line-height: 1;\n font-size: var(--navbar-item-font-size);\n margin-left: var(--navbar-item-margin-horizontal);\n margin-right: var(--navbar-item-margin-horizontal);\n border-radius: var(--navbar-item-border-radius);\n font-weight: var(--navbar-item-font-weight);\n background: ", ";\n"], ["\n display: inline-block;\n padding: 20px calc(var(--sidebar-spacing-horizontal) * 2);\n text-align: center;\n line-height: 1;\n font-size: var(--navbar-item-font-size);\n margin-left: var(--navbar-item-margin-horizontal);\n margin-right: var(--navbar-item-margin-horizontal);\n border-radius: var(--navbar-item-border-radius);\n font-weight: var(--navbar-item-font-weight);\n background: ", ";\n"])), function (_a) {
37
+ var NavMenuItemWithDropdownWrapper = styled_components_1.default.div(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n display: inline-block;\n position: relative;\n border-radius: var(--navbar-item-border-radius);\n &:hover {\n background: var(--navbar-item-active-background-color);\n ", " {\n display: block;\n }\n }\n"], ["\n display: inline-block;\n position: relative;\n border-radius: var(--navbar-item-border-radius);\n &:hover {\n background: var(--navbar-item-active-background-color);\n ", " {\n display: block;\n }\n }\n"])), NavbarDropdown_1.DropdownWrapper);
38
+ var NavMenuItem = styled_components_1.default.li(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n display: inline-block;\n padding: 20px calc(var(--sidebar-spacing-horizontal) * 2);\n text-align: center;\n line-height: 1;\n font-size: var(--navbar-item-font-size);\n margin-left: var(--navbar-item-margin-horizontal);\n margin-right: var(--navbar-item-margin-horizontal);\n border-radius: var(--navbar-item-border-radius);\n font-weight: var(--navbar-item-font-weight);\n background: ", ";\n"], ["\n display: inline-block;\n padding: 20px calc(var(--sidebar-spacing-horizontal) * 2);\n text-align: center;\n line-height: 1;\n font-size: var(--navbar-item-font-size);\n margin-left: var(--navbar-item-margin-horizontal);\n margin-right: var(--navbar-item-margin-horizontal);\n border-radius: var(--navbar-item-border-radius);\n font-weight: var(--navbar-item-font-weight);\n background: ", ";\n"])), function (_a) {
30
39
  var active = _a.active;
31
40
  return (active ? 'var(--navbar-item-active-background-color)' : 'none');
32
41
  });
33
- var NavLink = (0, styled_components_1.default)(Link_1.Link)(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n color: ", ";\n text-decoration: ", ";\n"], ["\n color: ", ";\n text-decoration: ", ";\n"])), function (_a) {
42
+ var NavLink = (0, styled_components_1.default)(Link_1.Link)(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n color: ", ";\n text-decoration: ", ";\n"], ["\n color: ", ";\n text-decoration: ", ";\n"])), function (_a) {
34
43
  var active = _a.active;
35
44
  return active ? 'var(--navbar-item-active-text-color)' : 'var(--navbar-text-color)';
36
45
  }, function (_a) {
37
46
  var active = _a.active;
38
47
  return active ? 'var(--navbar-item-active-text-decoration)' : 'none';
39
48
  });
40
- var NavLabel = styled_components_1.default.span(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n cursor: pointer;\n vertical-align: middle;\n"], ["\n cursor: pointer;\n vertical-align: middle;\n"])));
41
- var templateObject_1, templateObject_2, templateObject_3;
49
+ var NavLabel = styled_components_1.default.span(templateObject_4 || (templateObject_4 = __makeTemplateObject(["\n cursor: pointer;\n vertical-align: middle;\n"], ["\n cursor: pointer;\n vertical-align: middle;\n"])));
50
+ var templateObject_1, templateObject_2, templateObject_3, templateObject_4;
@@ -1,4 +1,5 @@
1
1
  /// <reference types="react" />
2
+ import type { ResolvedConfigLinks } from '@theme/types/portal';
2
3
  export declare function NavbarMenu({ menuItems }: {
3
- menuItems: any[];
4
+ menuItems: ResolvedConfigLinks;
4
5
  }): JSX.Element | null;
@@ -17,7 +17,7 @@ function NavbarMenu(_a) {
17
17
  return null;
18
18
  }
19
19
  return (react_1.default.createElement(NavItemsContainer, { "data-component-name": "Navbar/NavbarMenu" }, menuItems.map(function (navItem, index) {
20
- return react_1.default.createElement(NavbarItem_1.NavbarItem, { key: index, "data-cy": navItem.label, navItem: navItem });
20
+ return (react_1.default.createElement(NavbarItem_1.NavbarItem, { key: "".concat(navItem.label, "_").concat(index), "data-cy": navItem.label, navItem: navItem }));
21
21
  })));
22
22
  }
23
23
  exports.NavbarMenu = NavbarMenu;
@@ -6,14 +6,17 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.NextPageLink = void 0;
7
7
  var react_1 = __importDefault(require("react"));
8
8
  var usePageData_1 = require("../mocks/hooks/usePageData");
9
- var ui_1 = require("../ui");
9
+ var hooks_1 = require("../mocks/hooks");
10
+ var constants_1 = require("../mocks/constants");
11
+ var Button_1 = require("../Button/Button");
10
12
  function NextPageLink() {
13
+ var _a, _b, _c;
11
14
  var nextPage = ((0, usePageData_1.usePageData)() || {}).nextPage;
12
- if (!nextPage) {
15
+ var themeSettings = (0, hooks_1.useThemeSettings)(constants_1.DEFAULT_THEME_NAME).themeSettings;
16
+ if (!nextPage || ((_a = themeSettings === null || themeSettings === void 0 ? void 0 : themeSettings.navigation) === null || _a === void 0 ? void 0 : _a.hide)) {
13
17
  return react_1.default.createElement("div", null, "\u00A0");
14
18
  }
15
- return (react_1.default.createElement(ui_1.Button, { variant: "outlined", size: "large", to: nextPage.link },
16
- "Next to ",
17
- nextPage.label));
19
+ var label = ((_c = (_b = themeSettings === null || themeSettings === void 0 ? void 0 : themeSettings.navigation) === null || _b === void 0 ? void 0 : _b.nextPageLink) === null || _c === void 0 ? void 0 : _c.label) || "Next to ".concat(nextPage.label);
20
+ return (react_1.default.createElement(Button_1.Button, { variant: "outlined", size: "large", to: nextPage.link }, label));
18
21
  }
19
22
  exports.NextPageLink = NextPageLink;