@redocly/theme 0.1.23 → 0.1.26

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 (98) hide show
  1. package/Cards/Card.d.ts +8 -0
  2. package/Cards/Card.js +25 -0
  3. package/Cards/CardsBlock.d.ts +3 -0
  4. package/Cards/CardsBlock.js +15 -0
  5. package/CodeBlock/CodeBlock.d.ts +3 -1
  6. package/CodeBlock/CodeBlock.js +3 -1
  7. package/CopyButton/CopyButton.js +1 -1
  8. package/Footer/Footer.js +1 -1
  9. package/JsonViewer/JsonViewer.d.ts +6 -2
  10. package/JsonViewer/JsonViewer.js +3 -1
  11. package/Markdown/{StyledMarkdown.d.ts → MarkdownWrapper.d.ts} +1 -1
  12. package/Markdown/{StyledMarkdown.js → MarkdownWrapper.js} +3 -3
  13. package/Markdown/index.d.ts +1 -1
  14. package/Markdown/index.js +1 -1
  15. package/Navbar/Navbar.js +1 -1
  16. package/OperationBadge/OperationBadge.d.ts +2 -1
  17. package/OperationBadge/OperationBadge.js +1 -0
  18. package/PageNavigation/NextPageLink.js +9 -3
  19. package/PageNavigation/PreviousPageLink.js +9 -3
  20. package/Panel/CodePanel.d.ts +5 -1
  21. package/Panel/CodePanel.js +3 -1
  22. package/Panel/ContentPanel.d.ts +5 -1
  23. package/Panel/ContentPanel.js +3 -1
  24. package/Panel/Panel.d.ts +3 -1
  25. package/Panel/Panel.js +3 -1
  26. package/Panel/PanelBody.d.ts +3 -1
  27. package/Panel/PanelBody.js +3 -1
  28. package/Panel/PanelComponent.js +1 -1
  29. package/Panel/PanelHeader.d.ts +3 -1
  30. package/Panel/PanelHeader.js +3 -1
  31. package/Panel/PanelHeaderTitle.d.ts +3 -1
  32. package/Panel/PanelHeaderTitle.js +3 -1
  33. package/SamplesPanelControls/SamplesPanelControls.d.ts +6 -2
  34. package/SamplesPanelControls/SamplesPanelControls.js +3 -1
  35. package/Search/ClearIcon.d.ts +3 -1
  36. package/Search/ClearIcon.js +3 -1
  37. package/Search/SearchIcon.d.ts +3 -1
  38. package/Search/SearchIcon.js +3 -1
  39. package/Search/SidebarSearch.d.ts +3 -1
  40. package/Search/SidebarSearch.js +3 -1
  41. package/Sidebar/ApiCallItem.d.ts +2 -1
  42. package/Sidebar/MenuContainer.d.ts +3 -1
  43. package/Sidebar/MenuContainer.js +3 -1
  44. package/Sidebar/SeparatorItem.d.ts +2 -0
  45. package/Sidebar/SeparatorItem.js +3 -1
  46. package/SidebarLogo/SidebarLogo.js +1 -1
  47. package/SourceCode/SourceCode.js +2 -2
  48. package/Tooltip/Tooltip.js +1 -1
  49. package/Typography/CompactTypography.d.ts +2 -6
  50. package/Typography/H1.js +1 -1
  51. package/Typography/H2.js +1 -1
  52. package/Typography/H3.js +1 -1
  53. package/Typography/SectionHeader.d.ts +3 -1
  54. package/Typography/SectionHeader.js +3 -1
  55. package/Typography/Typography.d.ts +14 -7
  56. package/Typography/Typography.js +31 -8
  57. package/globalStyle.js +1 -1
  58. package/icons/ShelfIcon/ShelfIcon.d.ts +3 -1
  59. package/icons/ShelfIcon/ShelfIcon.js +3 -1
  60. package/mocks/hooks/index.d.ts +9 -0
  61. package/mocks/hooks/index.js +16 -1
  62. package/package.json +1 -1
  63. package/src/Cards/Card.tsx +49 -0
  64. package/src/Cards/CardsBlock.tsx +9 -0
  65. package/src/CodeBlock/CodeBlock.ts +3 -1
  66. package/src/CopyButton/CopyButton.tsx +6 -1
  67. package/src/Footer/Footer.tsx +2 -2
  68. package/src/JsonViewer/JsonViewer.tsx +3 -1
  69. package/src/Markdown/{StyledMarkdown.tsx → MarkdownWrapper.tsx} +2 -2
  70. package/src/Markdown/index.ts +1 -1
  71. package/src/Navbar/Navbar.tsx +2 -2
  72. package/src/OperationBadge/OperationBadge.ts +1 -0
  73. package/src/PageNavigation/NextPageLink.tsx +16 -7
  74. package/src/PageNavigation/PreviousPageLink.tsx +16 -7
  75. package/src/Panel/CodePanel.ts +3 -1
  76. package/src/Panel/ContentPanel.ts +3 -1
  77. package/src/Panel/Panel.ts +3 -1
  78. package/src/Panel/PanelBody.ts +3 -1
  79. package/src/Panel/PanelComponent.tsx +1 -0
  80. package/src/Panel/PanelHeader.ts +3 -1
  81. package/src/Panel/PanelHeaderTitle.ts +3 -1
  82. package/src/SamplesPanelControls/SamplesPanelControls.ts +3 -1
  83. package/src/Search/ClearIcon.tsx +3 -1
  84. package/src/Search/SearchIcon.tsx +3 -1
  85. package/src/Search/SidebarSearch.tsx +3 -1
  86. package/src/Sidebar/MenuContainer.tsx +3 -1
  87. package/src/Sidebar/SeparatorItem.tsx +3 -1
  88. package/src/SidebarLogo/SidebarLogo.tsx +5 -1
  89. package/src/SourceCode/SourceCode.tsx +9 -2
  90. package/src/Tooltip/Tooltip.tsx +1 -0
  91. package/src/Typography/H1.ts +1 -1
  92. package/src/Typography/H2.ts +1 -1
  93. package/src/Typography/H3.ts +1 -1
  94. package/src/Typography/SectionHeader.ts +3 -1
  95. package/src/Typography/Typography.ts +25 -17
  96. package/src/globalStyle.ts +4 -0
  97. package/src/icons/ShelfIcon/ShelfIcon.tsx +3 -1
  98. package/src/mocks/hooks/index.ts +21 -0
@@ -9,5 +9,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
9
9
  Object.defineProperty(exports, "__esModule", { value: true });
10
10
  exports.MenuContainer = void 0;
11
11
  var styled_components_1 = __importDefault(require("styled-components"));
12
- exports.MenuContainer = styled_components_1.default.div(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n position: relative;\n overflow-y: auto;\n flex-grow: 1;\n padding-top: var(--sidebar-spacing-offset-top);\n"], ["\n position: relative;\n overflow-y: auto;\n flex-grow: 1;\n padding-top: var(--sidebar-spacing-offset-top);\n"])));
12
+ exports.MenuContainer = styled_components_1.default.div.attrs(function () { return ({
13
+ 'data-component-name': 'Sidebar/MenuContainer',
14
+ }); })(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n position: relative;\n overflow-y: auto;\n flex-grow: 1;\n padding-top: var(--sidebar-spacing-offset-top);\n"], ["\n position: relative;\n overflow-y: auto;\n flex-grow: 1;\n padding-top: var(--sidebar-spacing-offset-top);\n"])));
13
15
  var templateObject_1;
@@ -2,4 +2,6 @@ export declare const SeparatorItem: import("styled-components").StyledComponent<
2
2
  'data-component-name': string;
3
3
  } & {
4
4
  active?: boolean | undefined;
5
+ } & {
6
+ 'data-component-name': string;
5
7
  }, "data-component-name">;
@@ -10,5 +10,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
10
10
  exports.SeparatorItem = void 0;
11
11
  var styled_components_1 = __importDefault(require("styled-components"));
12
12
  var MenuItemLabel_1 = require("../Sidebar/MenuItemLabel");
13
- exports.SeparatorItem = (0, styled_components_1.default)(MenuItemLabel_1.MenuItemLabel)(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n cursor: default;\n font-weight: var(--font-weight-bold);\n color: var(--sidebar-separator-label-color);\n\n :hover {\n color: inherit;\n background-color: inherit;\n }\n"], ["\n cursor: default;\n font-weight: var(--font-weight-bold);\n color: var(--sidebar-separator-label-color);\n\n :hover {\n color: inherit;\n background-color: inherit;\n }\n"])));
13
+ exports.SeparatorItem = (0, styled_components_1.default)(MenuItemLabel_1.MenuItemLabel).attrs(function () { return ({
14
+ 'data-component-name': 'Sidebar/SeparatorItem',
15
+ }); })(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n cursor: default;\n font-weight: var(--font-weight-bold);\n color: var(--sidebar-separator-label-color);\n\n :hover {\n color: inherit;\n background-color: inherit;\n }\n"], ["\n cursor: default;\n font-weight: var(--font-weight-bold);\n color: var(--sidebar-separator-label-color);\n\n :hover {\n color: inherit;\n background-color: inherit;\n }\n"])));
14
16
  var templateObject_1;
@@ -16,7 +16,7 @@ function SidebarLogo(_a) {
16
16
  return null;
17
17
  }
18
18
  var logo = react_1.default.createElement(LogoImgEl, { src: imageUrl, alt: altText || 'logo' });
19
- return (react_1.default.createElement(LogoWrap, { "data-cy": dataTestId, style: { backgroundColor: backgroundColor } }, href ? react_1.default.createElement(Link, { href: href }, logo) : logo));
19
+ return (react_1.default.createElement(LogoWrap, { "data-cy": dataTestId, style: { backgroundColor: backgroundColor }, "data-component-name": "SidebarLogo/SidebarLogo" }, href ? react_1.default.createElement(Link, { href: href }, logo) : logo));
20
20
  }
21
21
  exports.SidebarLogo = SidebarLogo;
22
22
  var LogoImgEl = styled_components_1.default.img(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n max-height: var(--logo-max-height);\n max-width: var(--logo-max-width);\n padding: var(--logo-padding);\n width: 100%;\n display: block;\n"], ["\n max-height: var(--logo-max-height);\n max-width: var(--logo-max-width);\n padding: var(--logo-padding);\n width: 100%;\n display: block;\n"])));
@@ -18,13 +18,13 @@ function SourceCode(_a) {
18
18
  var lang = _a.lang, source = _a.source, externalSource = _a.externalSource, withCopyButton = _a.withCopyButton, _d = _a.dataTestId, dataTestId = _d === void 0 ? 'source-code' : _d;
19
19
  var _source = source || ((_c = (_b = externalSource === null || externalSource === void 0 ? void 0 : externalSource.sample) === null || _b === void 0 ? void 0 : _b.get) === null || _c === void 0 ? void 0 : _c.call(_b, externalSource)) || '';
20
20
  if (withCopyButton) {
21
- return (react_1.default.createElement(CopyButton_1.CopyButtonWrapper, { data: source }, function (_a) {
21
+ return (react_1.default.createElement(CopyButton_1.CopyButtonWrapper, { data: source, "data-component-name": "SourceCode/SourceCode" }, function (_a) {
22
22
  var renderCopyButton = _a.renderCopyButton;
23
23
  return (react_1.default.createElement(SamplesPanelControls_1.SampleControlsWrap, null,
24
24
  react_1.default.createElement(SamplesPanelControls_1.SampleControls, { "data-cy": "copy-button" }, renderCopyButton()),
25
25
  react_1.default.createElement(Code, { lang: lang, source: _source, dataTestId: dataTestId })));
26
26
  }));
27
27
  }
28
- return react_1.default.createElement(Code, { dataTestId: dataTestId, lang: lang, source: _source });
28
+ return (react_1.default.createElement(Code, { dataTestId: dataTestId, lang: lang, source: _source, "data-component-name": "SourceCode/SourceCode" }));
29
29
  }
30
30
  exports.SourceCode = SourceCode;
@@ -51,7 +51,7 @@ function TooltipComponent(_a) {
51
51
  var handleLeave = (0, react_1.useCallback)(function () {
52
52
  handleClose();
53
53
  }, [handleClose]);
54
- return (react_1.default.createElement(TooltipWrapper, { onMouseEnter: isControlled ? undefined : handleEnter, onMouseLeave: isControlled ? undefined : handleLeave, onClick: isControlled ? undefined : handleLeave, className: "tooltip-".concat(className) },
54
+ return (react_1.default.createElement(TooltipWrapper, { onMouseEnter: isControlled ? undefined : handleEnter, onMouseLeave: isControlled ? undefined : handleLeave, onClick: isControlled ? undefined : handleLeave, className: "tooltip-".concat(className), "data-component-name": "Tooltip/Tooltip" },
55
55
  children,
56
56
  isOpened && (react_1.default.createElement(TooltipBody, { "data-cy": dataTestId, placement: placement, width: width }, tip))));
57
57
  }
@@ -1,10 +1,6 @@
1
- export declare const CompactTypography: import("styled-components").StyledComponent<"p", any, {
1
+ export declare const CompactTypography: import("styled-components").StyledComponent<"div", any, {
2
2
  'data-component-name': string;
3
- } & import("styled-system").TypographyProps<Required<import("styled-system").Theme<import("styled-system").TLengthStyledSystem>>> & {
4
- color?: string | undefined;
5
- mt?: string | undefined;
6
- mb?: string | undefined;
7
- } & {
3
+ } & import("../Typography/Typography").TypographyProps & {
8
4
  mt: string;
9
5
  mb: string;
10
6
  'data-component-name': string;
package/Typography/H1.js CHANGED
@@ -11,6 +11,6 @@ exports.H1 = void 0;
11
11
  var styled_components_1 = __importDefault(require("styled-components"));
12
12
  var utils_1 = require("../utils");
13
13
  exports.H1 = styled_components_1.default.h1.attrs(function () { return ({
14
- 'data-component-name': 'Headings/H1',
14
+ 'data-component-name': 'Typography/H1',
15
15
  }); })(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n color: var(--color-content);\n margin: 0 0 25px;\n\n ", ";\n"], ["\n color: var(--color-content);\n margin: 0 0 25px;\n\n ", ";\n"])), (0, utils_1.typography)('h1', 'h'));
16
16
  var templateObject_1;
package/Typography/H2.js CHANGED
@@ -11,6 +11,6 @@ exports.H2 = void 0;
11
11
  var styled_components_1 = __importDefault(require("styled-components"));
12
12
  var utils_1 = require("../utils");
13
13
  exports.H2 = styled_components_1.default.h2.attrs(function () { return ({
14
- 'data-component-name': 'Headings/H2',
14
+ 'data-component-name': 'Typography/H2',
15
15
  }); })(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n color: var(--color-content);\n margin: 0 0 20px;\n\n ", ";\n"], ["\n color: var(--color-content);\n margin: 0 0 20px;\n\n ", ";\n"])), (0, utils_1.typography)('h2', 'h'));
16
16
  var templateObject_1;
package/Typography/H3.js CHANGED
@@ -11,6 +11,6 @@ exports.H3 = void 0;
11
11
  var styled_components_1 = __importDefault(require("styled-components"));
12
12
  var utils_1 = require("../utils");
13
13
  exports.H3 = styled_components_1.default.h3.attrs(function () { return ({
14
- 'data-component-name': 'Headings/H3',
14
+ 'data-component-name': 'Typography/H3',
15
15
  }); })(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n color: var(--color-content);\n\n ", ";\n"], ["\n color: var(--color-content);\n\n ", ";\n"])), (0, utils_1.typography)('h3', 'h'));
16
16
  var templateObject_1;
@@ -1 +1,3 @@
1
- export declare const SectionHeader: import("styled-components").StyledComponent<"h2", any, {}, never>;
1
+ export declare const SectionHeader: import("styled-components").StyledComponent<"h2", any, {
2
+ 'data-component-name': string;
3
+ }, "data-component-name">;
@@ -9,5 +9,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
9
9
  Object.defineProperty(exports, "__esModule", { value: true });
10
10
  exports.SectionHeader = void 0;
11
11
  var styled_components_1 = __importDefault(require("styled-components"));
12
- exports.SectionHeader = styled_components_1.default.h2(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n color: var(--h-color);\n font-size: 1.75em;\n font-weight: var(--font-weight-regular);\n text-align: center;\n margin: 2.65em 0;\n padding: 0 20px;\n font-family: var(--h-font-family);\n"], ["\n color: var(--h-color);\n font-size: 1.75em;\n font-weight: var(--font-weight-regular);\n text-align: center;\n margin: 2.65em 0;\n padding: 0 20px;\n font-family: var(--h-font-family);\n"])));
12
+ exports.SectionHeader = styled_components_1.default.h2.attrs(function () { return ({
13
+ 'data-component-name': 'Typography/SectionHeader',
14
+ }); })(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n color: var(--h-color);\n font-size: 1.75em;\n font-weight: var(--font-weight-regular);\n text-align: center;\n margin: 2.65em 0;\n padding: 0 20px;\n font-family: var(--h-font-family);\n"], ["\n color: var(--h-color);\n font-size: 1.75em;\n font-weight: var(--font-weight-regular);\n text-align: center;\n margin: 2.65em 0;\n padding: 0 20px;\n font-family: var(--h-font-family);\n"])));
13
15
  var templateObject_1;
@@ -1,8 +1,15 @@
1
- import { TypographyProps } from 'styled-system';
2
- export declare const Typography: import("styled-components").StyledComponent<"p", any, {
1
+ export interface TypographyProps {
2
+ color?: string;
3
+ fontFamily?: string;
4
+ fontSize?: string;
5
+ fontStyle?: string;
6
+ fontWeight?: string;
7
+ lineHeight?: string;
8
+ letterSpacing?: string;
9
+ marginBottom?: string;
10
+ marginTop?: string;
11
+ textAlign?: string;
12
+ }
13
+ export declare const Typography: import("styled-components").StyledComponent<"div", any, {
3
14
  'data-component-name': string;
4
- } & TypographyProps<Required<import("styled-system").Theme<import("styled-system").TLengthStyledSystem>>> & {
5
- color?: string | undefined;
6
- mt?: string | undefined;
7
- mb?: string | undefined;
8
- }, "data-component-name">;
15
+ } & TypographyProps, "data-component-name">;
@@ -9,14 +9,37 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
9
9
  Object.defineProperty(exports, "__esModule", { value: true });
10
10
  exports.Typography = void 0;
11
11
  var styled_components_1 = __importDefault(require("styled-components"));
12
- var styled_system_1 = require("styled-system");
13
- exports.Typography = styled_components_1.default.p.attrs(function () { return ({
12
+ exports.Typography = styled_components_1.default.div.attrs(function () { return ({
14
13
  'data-component-name': 'Typography/Typography',
15
- }); })(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n font-size: var(--font-size-base);\n font-family: var(--font-family-base);\n line-height: var(--line-height-base);\n color: var(--color-content);\n ", ";\n margin-top: ", ";\n margin-bottom: ", ";\n ", "\n"], ["\n font-size: var(--font-size-base);\n font-family: var(--font-family-base);\n line-height: var(--line-height-base);\n color: var(--color-content);\n ", ";\n margin-top: ", ";\n margin-bottom: ", ";\n ", "\n"])), styled_system_1.color, function (_a) {
16
- var mt = _a.mt;
17
- return mt || '1em';
14
+ }); })(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n line-height: ", ";\n letter-spacing: ", ";\n margin-bottom: ", ";\n margin-top: ", ";\n text-align: ", ";\n"], ["\n color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n line-height: ", ";\n letter-spacing: ", ";\n margin-bottom: ", ";\n margin-top: ", ";\n text-align: ", ";\n"])), function (_a) {
15
+ var color = _a.color;
16
+ return color || 'var(--color-content)';
18
17
  }, function (_a) {
19
- var mb = _a.mb;
20
- return mb || '1em';
21
- }, styled_system_1.typography);
18
+ var fontFamily = _a.fontFamily;
19
+ return fontFamily || 'var(--font-family-base)';
20
+ }, function (_a) {
21
+ var fontSize = _a.fontSize;
22
+ return fontSize || 'var(--font-size-base)';
23
+ }, function (_a) {
24
+ var fontStyle = _a.fontStyle;
25
+ return fontStyle;
26
+ }, function (_a) {
27
+ var fontWeight = _a.fontWeight;
28
+ return fontWeight || 'var(--font-weight-regular)';
29
+ }, function (_a) {
30
+ var lineHeight = _a.lineHeight;
31
+ return lineHeight || 'var(--line-height-base)';
32
+ }, function (_a) {
33
+ var letterSpacing = _a.letterSpacing;
34
+ return letterSpacing;
35
+ }, function (_a) {
36
+ var marginBottom = _a.marginBottom;
37
+ return marginBottom;
38
+ }, function (_a) {
39
+ var marginTop = _a.marginTop;
40
+ return marginTop;
41
+ }, function (_a) {
42
+ var textAlign = _a.textAlign;
43
+ return textAlign;
44
+ });
22
45
  var templateObject_1;
package/globalStyle.js CHANGED
@@ -10,7 +10,7 @@ var baseColors = (0, styled_components_1.css)(templateObject_1 || (templateObjec
10
10
  var httpColors = (0, styled_components_1.css)(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n /**\n * @tokens HTTP Colors\n * @presenter Color\n */\n --color-http-get: #3a9601;\n --color-http-post: #0065fb;\n --color-http-put: #93527b;\n --color-http-options: #947014;\n --color-http-patch: #bf581d;\n --color-http-delete: #c83637;\n --color-http-basic: #707070;\n --color-http-link: #07818f;\n --color-http-head: #a23dad;\n --color-http-hook: var(--color-http-post);\n // @tokens End\n"], ["\n /**\n * @tokens HTTP Colors\n * @presenter Color\n */\n --color-http-get: #3a9601;\n --color-http-post: #0065fb;\n --color-http-put: #93527b;\n --color-http-options: #947014;\n --color-http-patch: #bf581d;\n --color-http-delete: #c83637;\n --color-http-basic: #707070;\n --color-http-link: #07818f;\n --color-http-head: #a23dad;\n --color-http-hook: var(--color-http-post);\n // @tokens End\n"])));
11
11
  var responseColors = (0, styled_components_1.css)(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n /**\n * @tokens Response colors\n * @presenter Color\n */\n --response-success-border-color: #b1e996;\n --response-success-background-color: #f6fff4;\n --response-success-text-color: var(--response-success-border-color);\n\n --response-error-border-color: #ffc9c9;\n --response-error-background-color: #fff4f4;\n --response-error-text-color: var(--response-error-border-color);\n\n --response-redirect-border-color: var(--color-warning-500);\n --response-redirect-background-color: #ffa5001a;\n --response-redirect-text-color: var(--response-redirect-border-color);\n\n --response-info-border-color: #87ceeb;\n --response-info-background-color: #87ceeb1a;\n --response-info-text-color: var(--response-info-border-color);\n\n // @tokens End\n"], ["\n /**\n * @tokens Response colors\n * @presenter Color\n */\n --response-success-border-color: #b1e996;\n --response-success-background-color: #f6fff4;\n --response-success-text-color: var(--response-success-border-color);\n\n --response-error-border-color: #ffc9c9;\n --response-error-background-color: #fff4f4;\n --response-error-text-color: var(--response-error-border-color);\n\n --response-redirect-border-color: var(--color-warning-500);\n --response-redirect-background-color: #ffa5001a;\n --response-redirect-text-color: var(--response-redirect-border-color);\n\n --response-info-border-color: #87ceeb;\n --response-info-background-color: #87ceeb1a;\n --response-info-text-color: var(--response-info-border-color);\n\n // @tokens End\n"])));
12
12
  var typography = (0, styled_components_1.css)(templateObject_4 || (templateObject_4 = __makeTemplateObject(["\n /* === Typography === */\n\n /**\n * @tokens Typography Colors\n * @presenter Color\n */\n --color-content: #1f2933;\n --color-content-inverse: var(--color-secondary-200);\n --color-content-secondary: #7b8794;\n\n /**\n * @tokens Font Sizes\n * @presenter FontSize\n */\n --font-size-base: 14px;\n --font-size-small: 12px;\n\n /**\n * @tokens Line Heights\n * @presenter LineHeight\n */\n --line-height-base: 1.5em;\n\n /**\n * @tokens Font Weights\n * @presenter FontWeight\n */\n --font-weight-regular: 400;\n --font-weight-bold: 600;\n --font-weight-bolder: 700;\n\n /**\n * @tokens Font Families\n * @presenter FontFamily\n */\n --font-family-base: Source Sans Pro, sans-serif;\n --font-family-monospaced: Source Code Pro, monospace;\n\n /**\n * @tokens Rendering\n */\n --smoothing: antialiased; // text-smoothing\n --text-rendering: optimizeSpeed; // text-rendering\n\n // TODO: Not sure if Spacing should be in typography\n /**\n * @tokens Spacings\n * @presenter Spacing\n */\n --spacing-unit: 5px;\n --spacing-horizontal: calc(var(--spacing-unit) * 8);\n --spacing-vertical: calc(var(--spacing-unit) * 4);\n\n // @tokens End\n"], ["\n /* === Typography === */\n\n /**\n * @tokens Typography Colors\n * @presenter Color\n */\n --color-content: #1f2933;\n --color-content-inverse: var(--color-secondary-200);\n --color-content-secondary: #7b8794;\n\n /**\n * @tokens Font Sizes\n * @presenter FontSize\n */\n --font-size-base: 14px;\n --font-size-small: 12px;\n\n /**\n * @tokens Line Heights\n * @presenter LineHeight\n */\n --line-height-base: 1.5em;\n\n /**\n * @tokens Font Weights\n * @presenter FontWeight\n */\n --font-weight-regular: 400;\n --font-weight-bold: 600;\n --font-weight-bolder: 700;\n\n /**\n * @tokens Font Families\n * @presenter FontFamily\n */\n --font-family-base: Source Sans Pro, sans-serif;\n --font-family-monospaced: Source Code Pro, monospace;\n\n /**\n * @tokens Rendering\n */\n --smoothing: antialiased; // text-smoothing\n --text-rendering: optimizeSpeed; // text-rendering\n\n // TODO: Not sure if Spacing should be in typography\n /**\n * @tokens Spacings\n * @presenter Spacing\n */\n --spacing-unit: 5px;\n --spacing-horizontal: calc(var(--spacing-unit) * 8);\n --spacing-vertical: calc(var(--spacing-unit) * 4);\n\n // @tokens End\n"])));
13
- var headingsTypography = (0, styled_components_1.css)(templateObject_5 || (templateObject_5 = __makeTemplateObject(["\n // --h-{css-property-name} is fallback for h1...h6\n\n /**\n * @tokens Typography headings font\n */\n --h-font-family: Source Sans Pro, sans-serif; // @presenter FontFamily\n --h-font-weight: var(--font-weight-bolder); // @presenter FontWeight\n --h2-font-weight: var(--font-weight-bold); // @presenter FontWeight\n\n /**\n * @tokens Typography headings color\n * @presenter Color\n */\n --h-color: var(--color-content);\n\n /**\n * @tokens Typography headings font size\n * @presenter FontSize\n */\n --h1-font-size: 36px;\n --h2-font-size: 28px;\n --h3-font-size: 18px;\n --h4-font-size: 16px;\n --h5-font-size: 14px;\n --h6-font-size: 12px;\n\n /**\n * @tokens Typography headings line height\n * @presenter LineHeight\n */\n --h1-line-height: 36px;\n --h2-line-height: 28px;\n --h3-line-height: 18px;\n --h4-line-height: 16px;\n --h5-line-height: 14px;\n --h6-line-height: 12px;\n\n /**\n * @tokens Typography headings margin\n * @presenter Spacing\n */\n --h1-margin-top: 1.35em;\n --h1-margin-bottom: 0.9em;\n --h2-margin-top: 1.25em;\n --h2-margin-bottom: 0.8em;\n --h3-margin-top: 1.25em;\n --h3-margin-bottom: 0.8em;\n // @tokens End\n"], ["\n // --h-{css-property-name} is fallback for h1...h6\n\n /**\n * @tokens Typography headings font\n */\n --h-font-family: Source Sans Pro, sans-serif; // @presenter FontFamily\n --h-font-weight: var(--font-weight-bolder); // @presenter FontWeight\n --h2-font-weight: var(--font-weight-bold); // @presenter FontWeight\n\n /**\n * @tokens Typography headings color\n * @presenter Color\n */\n --h-color: var(--color-content);\n\n /**\n * @tokens Typography headings font size\n * @presenter FontSize\n */\n --h1-font-size: 36px;\n --h2-font-size: 28px;\n --h3-font-size: 18px;\n --h4-font-size: 16px;\n --h5-font-size: 14px;\n --h6-font-size: 12px;\n\n /**\n * @tokens Typography headings line height\n * @presenter LineHeight\n */\n --h1-line-height: 36px;\n --h2-line-height: 28px;\n --h3-line-height: 18px;\n --h4-line-height: 16px;\n --h5-line-height: 14px;\n --h6-line-height: 12px;\n\n /**\n * @tokens Typography headings margin\n * @presenter Spacing\n */\n --h1-margin-top: 1.35em;\n --h1-margin-bottom: 0.9em;\n --h2-margin-top: 1.25em;\n --h2-margin-bottom: 0.8em;\n --h3-margin-top: 1.25em;\n --h3-margin-bottom: 0.8em;\n // @tokens End\n"])));
13
+ var headingsTypography = (0, styled_components_1.css)(templateObject_5 || (templateObject_5 = __makeTemplateObject(["\n // --h-{css-property-name} is fallback for h1...h6\n\n * {\n box-sizing: border-box;\n }\n\n /**\n * @tokens Typography headings font\n */\n --h-font-family: Source Sans Pro, sans-serif; // @presenter FontFamily\n --h-font-weight: var(--font-weight-bolder); // @presenter FontWeight\n --h2-font-weight: var(--font-weight-bold); // @presenter FontWeight\n\n /**\n * @tokens Typography headings color\n * @presenter Color\n */\n --h-color: var(--color-content);\n\n /**\n * @tokens Typography headings font size\n * @presenter FontSize\n */\n --h1-font-size: 36px;\n --h2-font-size: 28px;\n --h3-font-size: 18px;\n --h4-font-size: 16px;\n --h5-font-size: 14px;\n --h6-font-size: 12px;\n\n /**\n * @tokens Typography headings line height\n * @presenter LineHeight\n */\n --h1-line-height: 36px;\n --h2-line-height: 28px;\n --h3-line-height: 18px;\n --h4-line-height: 16px;\n --h5-line-height: 14px;\n --h6-line-height: 12px;\n\n /**\n * @tokens Typography headings margin\n * @presenter Spacing\n */\n --h1-margin-top: 1.35em;\n --h1-margin-bottom: 0.9em;\n --h2-margin-top: 1.25em;\n --h2-margin-bottom: 0.8em;\n --h3-margin-top: 1.25em;\n --h3-margin-bottom: 0.8em;\n // @tokens End\n"], ["\n // --h-{css-property-name} is fallback for h1...h6\n\n * {\n box-sizing: border-box;\n }\n\n /**\n * @tokens Typography headings font\n */\n --h-font-family: Source Sans Pro, sans-serif; // @presenter FontFamily\n --h-font-weight: var(--font-weight-bolder); // @presenter FontWeight\n --h2-font-weight: var(--font-weight-bold); // @presenter FontWeight\n\n /**\n * @tokens Typography headings color\n * @presenter Color\n */\n --h-color: var(--color-content);\n\n /**\n * @tokens Typography headings font size\n * @presenter FontSize\n */\n --h1-font-size: 36px;\n --h2-font-size: 28px;\n --h3-font-size: 18px;\n --h4-font-size: 16px;\n --h5-font-size: 14px;\n --h6-font-size: 12px;\n\n /**\n * @tokens Typography headings line height\n * @presenter LineHeight\n */\n --h1-line-height: 36px;\n --h2-line-height: 28px;\n --h3-line-height: 18px;\n --h4-line-height: 16px;\n --h5-line-height: 14px;\n --h6-line-height: 12px;\n\n /**\n * @tokens Typography headings margin\n * @presenter Spacing\n */\n --h1-margin-top: 1.35em;\n --h1-margin-bottom: 0.9em;\n --h2-margin-top: 1.25em;\n --h2-margin-bottom: 0.8em;\n --h3-margin-top: 1.25em;\n --h3-margin-bottom: 0.8em;\n // @tokens End\n"])));
14
14
  var borders = (0, styled_components_1.css)(templateObject_6 || (templateObject_6 = __makeTemplateObject(["\n /**\n * @tokens Borders\n * @presenter Border\n */\n --global-border-width: 1px;\n\n /**\n * @tokens Border Radius\n * @presenter BorderRadius\n */\n --global-border-radius: 4px;\n\n /**\n * @tokens Border Colors\n * @presenter Color\n */\n --global-border-color: var(--color-secondary-400);\n --global-border-color-secondary: #616e7c;\n --global-background-color: transparent;\n\n // @tokens End\n"], ["\n /**\n * @tokens Borders\n * @presenter Border\n */\n --global-border-width: 1px;\n\n /**\n * @tokens Border Radius\n * @presenter BorderRadius\n */\n --global-border-radius: 4px;\n\n /**\n * @tokens Border Colors\n * @presenter Color\n */\n --global-border-color: var(--color-secondary-400);\n --global-border-color-secondary: #616e7c;\n --global-background-color: transparent;\n\n // @tokens End\n"])));
15
15
  var buttons = (0, styled_components_1.css)(templateObject_7 || (templateObject_7 = __makeTemplateObject(["\n /*\n * Static classnames that can be used to override styles for components:\n * download-specification-button, next-section-button, button-base\n */\n\n /**\n * @tokens Button default colors\n */\n --button-color: white; // @presenter Color\n --button-background-color: var(--color-emphasis-500); // @presenter Color\n --button-hover-background-color: var(--color-emphasis-600); // @presenter Color\n --button-active-background-color: var(--color-emphasis-700); // @presenter Color\n --button-outlined-active-border-color: var(--color-emphasis-800); // @presenter Color\n\n /**\n * @tokens Button primary colors\n */\n .button-color-primary {\n --button-color: white; // @presenter Color\n --button-background-color: var(--color-primary-500); // @presenter Color\n --button-hover-background-color: var(--color-primary-600); // @presenter Color\n --button-active-background-color: var(--color-primary-700); // @presenter Color\n --button-outlined-active-border-color: var(--color-primary-800); // @presenter Color\n }\n\n /**\n * @tokens Button secondary colors\n */\n .button-color-secondary {\n --button-color: var(--color-emphasis-800); // @presenter Color\n --button-background-color: var(--color-secondary-400); // @presenter Color\n --button-hover-background-color: var(--color-secondary-500); // @presenter Color\n --button-active-background-color: var(--color-secondary-600); // @presenter Color\n --button-outlined-active-border-color: var(--color-secondary-700); // @presenter Color\n }\n\n /**\n * @tokens Button borders\n */\n --button-border-radius: var(--global-border-radius); // @presenter BorderRadius\n --button-box-shadow: none; // @presenter Shadow\n --button-active-box-shadow: 0px 0px 12px 0px rgba(0, 0, 0, 0.1); // @presenter Shadow\n\n /**\n * @tokens Button typography\n */\n --button-font-family: inherit; // @presenter FontFamily\n --button-font-weight: var(--font-weight-bold); // @presenter FontWeight\n --button-small-font-size: 12px; // @presenter FontSize\n --button-small-padding: 8px 10px;\n --button-small-min-width: 90px; // @presenter Spacing\n --button-medium-font-size: 14px; // @presenter FontSize\n --button-medium-padding: 8px 20px;\n --button-medium-min-width: 120px; // @presenter Spacing\n --button-large-font-size: 14px; // @presenter FontSize\n --button-large-padding: 12px 24px;\n --button-large-min-width: 150px; // @presenter Spacing\n --button-xlarge-font-size: 16px; // @presenter FontSize\n --button-xlarge-padding: 20px 24px;\n --button-xlarge-min-width: 200px; // @presenter Spacing\n\n // @tokens End\n"], ["\n /*\n * Static classnames that can be used to override styles for components:\n * download-specification-button, next-section-button, button-base\n */\n\n /**\n * @tokens Button default colors\n */\n --button-color: white; // @presenter Color\n --button-background-color: var(--color-emphasis-500); // @presenter Color\n --button-hover-background-color: var(--color-emphasis-600); // @presenter Color\n --button-active-background-color: var(--color-emphasis-700); // @presenter Color\n --button-outlined-active-border-color: var(--color-emphasis-800); // @presenter Color\n\n /**\n * @tokens Button primary colors\n */\n .button-color-primary {\n --button-color: white; // @presenter Color\n --button-background-color: var(--color-primary-500); // @presenter Color\n --button-hover-background-color: var(--color-primary-600); // @presenter Color\n --button-active-background-color: var(--color-primary-700); // @presenter Color\n --button-outlined-active-border-color: var(--color-primary-800); // @presenter Color\n }\n\n /**\n * @tokens Button secondary colors\n */\n .button-color-secondary {\n --button-color: var(--color-emphasis-800); // @presenter Color\n --button-background-color: var(--color-secondary-400); // @presenter Color\n --button-hover-background-color: var(--color-secondary-500); // @presenter Color\n --button-active-background-color: var(--color-secondary-600); // @presenter Color\n --button-outlined-active-border-color: var(--color-secondary-700); // @presenter Color\n }\n\n /**\n * @tokens Button borders\n */\n --button-border-radius: var(--global-border-radius); // @presenter BorderRadius\n --button-box-shadow: none; // @presenter Shadow\n --button-active-box-shadow: 0px 0px 12px 0px rgba(0, 0, 0, 0.1); // @presenter Shadow\n\n /**\n * @tokens Button typography\n */\n --button-font-family: inherit; // @presenter FontFamily\n --button-font-weight: var(--font-weight-bold); // @presenter FontWeight\n --button-small-font-size: 12px; // @presenter FontSize\n --button-small-padding: 8px 10px;\n --button-small-min-width: 90px; // @presenter Spacing\n --button-medium-font-size: 14px; // @presenter FontSize\n --button-medium-padding: 8px 20px;\n --button-medium-min-width: 120px; // @presenter Spacing\n --button-large-font-size: 14px; // @presenter FontSize\n --button-large-padding: 12px 24px;\n --button-large-min-width: 150px; // @presenter Spacing\n --button-xlarge-font-size: 16px; // @presenter FontSize\n --button-xlarge-padding: 20px 24px;\n --button-xlarge-min-width: 200px; // @presenter Spacing\n\n // @tokens End\n"])));
16
16
  var sidebar = (0, styled_components_1.css)(templateObject_8 || (templateObject_8 = __makeTemplateObject(["\n /* === Sidebar === */\n\n /**\n * @tokens Sidebar typography\n */\n --sidebar-font-size: var(--font-size-base);\n --sidebar-font-family: var(--font-family-base);\n --sidebar-word-break: 'inherit';\n\n /**\n * @tokens Sidebar colors\n * @presenter Color\n */\n --sidebar-background-color: #fff;\n --sidebar-right-line-color: var(--global-border-color);\n --sidebar-separator-label-color: var(--sidebar-item-color);\n --sidebar-separator-line-color: #dadada;\n --sidebar-chevron-color: var(--sidebar-item-color);\n\n /**\n * @tokens Sidebar spacing\n * @presenter Spacing\n */\n --sidebar-width: 285px; // @presenter NO\n\n --sidebar-spacing-unit: 8px;\n --sidebar-spacing-horizontal: var(--sidebar-spacing-unit);\n --sidebar-spacing-vertical: var(--sidebar-spacing-unit);\n --sidebar-spacing-offset-top: calc(var(--sidebar-spacing-unit) * 2);\n --sidebar-spacing-offset-left: calc(var(--sidebar-spacing-unit) * 2);\n --sidebar-spacing-offset-nesting: calc(var(--sidebar-spacing-unit) * 2);\n\n --sidebar-margin-left: calc(var(--sidebar-spacing-unit) * 2);\n --sidebar-padding-horizontal: var(--sidebar-spacing-unit);\n --sidebar-padding-vertical: var(--sidebar-spacing-unit);\n --sidebar-spacing-padding-vertical: var(--sidebar-spacing-unit); // TODO: seems like duplicated\n --sidebar-spacing-padding-horizontal: var(--sidebar-spacing-unit); // TODO: seems like duplicated\n\n --sidebar-chevron-size: var(--sidebar-spacing-unit);\n\n /**\n * @tokens Sidebar border\n */\n --sidebar-border-radius: 4px; // @presenter BorderRadius\n\n /* === Sidebar Item === */\n\n /**\n * @tokens Sidebar item typography\n */\n --sidebar-item-font-family: var(--font-family-base); // @presenter FontFamily\n --sidebar-item-font-size: var(--font-size-base); // @presenter FontSize\n\n /**\n * @tokens Sidebar item colors\n * @presenter Color\n */\n --sidebar-item-color: var(--color-content);\n --sidebar-item-active-color: var(--color-content);\n --sidebar-item-background-color: #fff;\n --sidebar-item-active-background-color: var(--global-border-color);\n\n /**\n * @tokens Sidebar item spacing\n * @presenter Spacing\n */\n --sidebar-item-spacing-offset-top: calc(var(--sidebar-spacing-unit) * 2);\n --sidebar-item-spacing-offset-left: calc(var(--sidebar-spacing-unit) * 2);\n --sidebar-item-spacing-offset-nesting: calc(var(--sidebar-spacing-unit) * 2);\n\n /**\n * @tokens Sidebar item border\n */\n --sidebar-item-border-radius: 4px; // @presenter BorderRadius\n\n // @tokens End\n"], ["\n /* === Sidebar === */\n\n /**\n * @tokens Sidebar typography\n */\n --sidebar-font-size: var(--font-size-base);\n --sidebar-font-family: var(--font-family-base);\n --sidebar-word-break: 'inherit';\n\n /**\n * @tokens Sidebar colors\n * @presenter Color\n */\n --sidebar-background-color: #fff;\n --sidebar-right-line-color: var(--global-border-color);\n --sidebar-separator-label-color: var(--sidebar-item-color);\n --sidebar-separator-line-color: #dadada;\n --sidebar-chevron-color: var(--sidebar-item-color);\n\n /**\n * @tokens Sidebar spacing\n * @presenter Spacing\n */\n --sidebar-width: 285px; // @presenter NO\n\n --sidebar-spacing-unit: 8px;\n --sidebar-spacing-horizontal: var(--sidebar-spacing-unit);\n --sidebar-spacing-vertical: var(--sidebar-spacing-unit);\n --sidebar-spacing-offset-top: calc(var(--sidebar-spacing-unit) * 2);\n --sidebar-spacing-offset-left: calc(var(--sidebar-spacing-unit) * 2);\n --sidebar-spacing-offset-nesting: calc(var(--sidebar-spacing-unit) * 2);\n\n --sidebar-margin-left: calc(var(--sidebar-spacing-unit) * 2);\n --sidebar-padding-horizontal: var(--sidebar-spacing-unit);\n --sidebar-padding-vertical: var(--sidebar-spacing-unit);\n --sidebar-spacing-padding-vertical: var(--sidebar-spacing-unit); // TODO: seems like duplicated\n --sidebar-spacing-padding-horizontal: var(--sidebar-spacing-unit); // TODO: seems like duplicated\n\n --sidebar-chevron-size: var(--sidebar-spacing-unit);\n\n /**\n * @tokens Sidebar border\n */\n --sidebar-border-radius: 4px; // @presenter BorderRadius\n\n /* === Sidebar Item === */\n\n /**\n * @tokens Sidebar item typography\n */\n --sidebar-item-font-family: var(--font-family-base); // @presenter FontFamily\n --sidebar-item-font-size: var(--font-size-base); // @presenter FontSize\n\n /**\n * @tokens Sidebar item colors\n * @presenter Color\n */\n --sidebar-item-color: var(--color-content);\n --sidebar-item-active-color: var(--color-content);\n --sidebar-item-background-color: #fff;\n --sidebar-item-active-background-color: var(--global-border-color);\n\n /**\n * @tokens Sidebar item spacing\n * @presenter Spacing\n */\n --sidebar-item-spacing-offset-top: calc(var(--sidebar-spacing-unit) * 2);\n --sidebar-item-spacing-offset-left: calc(var(--sidebar-spacing-unit) * 2);\n --sidebar-item-spacing-offset-nesting: calc(var(--sidebar-spacing-unit) * 2);\n\n /**\n * @tokens Sidebar item border\n */\n --sidebar-item-border-radius: 4px; // @presenter BorderRadius\n\n // @tokens End\n"])));
@@ -7,4 +7,6 @@ export interface ShelfIconProps {
7
7
  direction: 'left' | 'right' | 'up' | 'down';
8
8
  style?: React.CSSProperties;
9
9
  }
10
- export declare const ShelfIcon: import("styled-components").StyledComponent<({ className, style }: ShelfIconProps) => JSX.Element, any, {}, never>;
10
+ export declare const ShelfIcon: import("styled-components").StyledComponent<({ className, style }: ShelfIconProps) => JSX.Element, any, {
11
+ 'data-component-name': string;
12
+ }, "data-component-name">;
@@ -43,7 +43,9 @@ var IntShelfIcon = function (_a) {
43
43
  React.createElement("path", { d: "M0.205025 1.19467L3.00503 3.99467C3.27839 4.26804 3.72161 4.26804 3.99497 3.99467C4.26834 3.7213 4.26834 3.27809 3.99497 3.00472L1.19497 0.20472C0.921608 -0.0686469 0.478392 -0.0686469 0.205025 0.20472C-0.0683418 0.478087 -0.0683417 0.921303 0.205025 1.19467Z" }),
44
44
  React.createElement("path", { d: "M3.00503 3.00501L0.205025 5.80501C-0.0683417 6.07838 -0.0683417 6.5216 0.205025 6.79496C0.478392 7.06833 0.921608 7.06833 1.19497 6.79496L3.99497 3.99496C4.26834 3.7216 4.26834 3.27838 3.99497 3.00501C3.72161 2.73165 3.27839 2.73165 3.00503 3.00501Z" })));
45
45
  };
46
- exports.ShelfIcon = (0, styled_components_1.default)(IntShelfIcon)(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n ", "\n vertical-align: middle;\n transition: transform 0.2s ease-out;\n"], ["\n ", "\n vertical-align: middle;\n transition: transform 0.2s ease-out;\n"])), function (_a) {
46
+ exports.ShelfIcon = (0, styled_components_1.default)(IntShelfIcon).attrs(function () { return ({
47
+ 'data-component-name': 'icons/ShelfIcon/ShelfIcon',
48
+ }); })(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n ", "\n vertical-align: middle;\n transition: transform 0.2s ease-out;\n"], ["\n ", "\n vertical-align: middle;\n transition: transform 0.2s ease-out;\n"])), function (_a) {
47
49
  var _b = _a.size, size = _b === void 0 ? '9px' : _b, _c = _a.float, float = _c === void 0 ? '' : _c, direction = _a.direction, color = _a.color;
48
50
  return (0, styled_components_1.css)(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n height: ", ";\n width: ", ";\n float: ", ";\n transform: rotateZ(", ");\n fill: ", ";\n "], ["\n height: ", ";\n width: ", ";\n float: ", ";\n transform: rotateZ(", ");\n fill: ", ";\n "])), size, size, float, directionMap[direction], (0, utils_1.getCssColorVariable)(color));
49
51
  });
@@ -2,5 +2,14 @@ interface RawTheme {
2
2
  name: string;
3
3
  settings?: any;
4
4
  }
5
+ interface PageLink {
6
+ label: string;
7
+ link: string;
8
+ type: 'link';
9
+ }
5
10
  export declare function useThemeSettings(name: string): RawTheme['settings'];
11
+ export declare function useSidebarSiblingsData(): {
12
+ nextPage: PageLink;
13
+ prevPage: PageLink;
14
+ };
6
15
  export {};
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.useThemeSettings = void 0;
3
+ exports.useSidebarSiblingsData = exports.useThemeSettings = void 0;
4
4
  function useThemeSettings(name) {
5
5
  return {
6
6
  name: name,
@@ -14,3 +14,18 @@ function useThemeSettings(name) {
14
14
  };
15
15
  }
16
16
  exports.useThemeSettings = useThemeSettings;
17
+ function useSidebarSiblingsData() {
18
+ return {
19
+ nextPage: {
20
+ type: 'link',
21
+ label: 'Page',
22
+ link: '#next',
23
+ },
24
+ prevPage: {
25
+ type: 'link',
26
+ label: 'Page',
27
+ link: '#prev',
28
+ },
29
+ };
30
+ }
31
+ exports.useSidebarSiblingsData = useSidebarSiblingsData;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@redocly/theme",
3
- "version": "0.1.23",
3
+ "version": "0.1.26",
4
4
  "description": "Shared UI components",
5
5
  "author": "team@redocly.com",
6
6
  "license": "SEE LICENSE IN LICENSE",
@@ -0,0 +1,49 @@
1
+ import React from 'react';
2
+ import styled from 'styled-components';
3
+
4
+ import { Link } from '@portal/Link';
5
+ import { H3 } from '@theme/Typography';
6
+ import { ResolvedNavItem } from '@theme/types/portal';
7
+
8
+ export interface CardProps {
9
+ title?: string;
10
+ icon?: string;
11
+ links: ResolvedNavItem;
12
+ }
13
+
14
+ export function Card(props: CardProps): JSX.Element {
15
+ return (
16
+ <CardWrapper data-component-name="Cards/Card">
17
+ {props.icon && <img src={props?.icon} alt={props?.title} />}
18
+ {props.title && <H3>{props.title}</H3>}
19
+ {props.links.items && (
20
+ <CardLinksList>
21
+ {props.links.items.map((item) => (
22
+ <li key={item.label}>
23
+ <Link to={item.link as string}>{item.label}</Link>
24
+ </li>
25
+ ))}
26
+ </CardLinksList>
27
+ )}
28
+ </CardWrapper>
29
+ );
30
+ }
31
+
32
+ const CardWrapper = styled.div`
33
+ border-radius: 10px;
34
+ box-shadow: 0px 10px 30px 0px rgba(35, 35, 35, 0.1);
35
+ padding: 20px;
36
+ margin: 0 20px 20px 0;
37
+ min-width: 25%;
38
+ font-family: var(--font-family-base);
39
+ `;
40
+
41
+ const CardLinksList = styled.ul`
42
+ list-style-type: none;
43
+ margin: 0;
44
+ padding: 0;
45
+
46
+ li {
47
+ margin-bottom: 10px;
48
+ }
49
+ `;
@@ -0,0 +1,9 @@
1
+ import styled from 'styled-components';
2
+
3
+ export const CardsBlock = styled.div.attrs(() => ({
4
+ 'data-component-name': 'Cards/CardsBlock',
5
+ }))`
6
+ display: flex;
7
+ padding: 20px 0;
8
+ justify-content: space-between;
9
+ `;
@@ -2,7 +2,9 @@ import styled from 'styled-components';
2
2
 
3
3
  import { generateCodeBlockTokens } from '@theme/utils';
4
4
 
5
- export const CodeBlock = styled.div`
5
+ export const CodeBlock = styled.div.attrs(() => ({
6
+ 'data-component-name': 'CodeBlock/CodeBlock',
7
+ }))`
6
8
  max-height: var(--code-block-max-height, 600px);
7
9
  word-break: var(--code-block-word-break, initial);
8
10
  /**
@@ -19,7 +19,12 @@ export const CopyButton = ({ text, dataTestId = 'copy-button' }: CopyButtonProps
19
19
  }
20
20
 
21
21
  return (
22
- <Button color="secondary" onClick={write} data-cy={dataTestId}>
22
+ <Button
23
+ color="secondary"
24
+ onClick={write}
25
+ data-cy={dataTestId}
26
+ data-component-name="CopyButton/CopyButton"
27
+ >
23
28
  {title}
24
29
  </Button>
25
30
  );
@@ -5,14 +5,14 @@ import { FooterColumns } from '@theme/Footer/FooterColumns';
5
5
  import { FooterCopyright } from '@theme/Footer/FooterCopyright';
6
6
  import type { NavGroupRecord } from '@theme/types/portal';
7
7
  import { useThemeSettings } from '@portal/hooks';
8
- import { USER_THEME_ALIAS } from '@portal/constants';
8
+ import { DEFAULT_THEME_NAME } from '@portal/constants';
9
9
 
10
10
  interface FooterProps {
11
11
  data: NavGroupRecord;
12
12
  }
13
13
 
14
14
  export function Footer({ data: { columns, copyrightText } }: FooterProps): JSX.Element | null {
15
- const { footer } = useThemeSettings(USER_THEME_ALIAS);
15
+ const { footer } = useThemeSettings(DEFAULT_THEME_NAME);
16
16
 
17
17
  if (!(columns?.length || copyrightText) || footer?.hide) {
18
18
  return null;
@@ -103,7 +103,9 @@ function JsonComponent({ data, jsonSampleExpandLevel, className }: JsonProps): J
103
103
 
104
104
  export const Json = memo<JsonProps>(JsonComponent);
105
105
 
106
- export const JsonViewer = styled(Json)<JsonProps>`
106
+ export const JsonViewer = styled(Json).attrs(() => ({
107
+ 'data-component-name': 'JsonViewer/JsonViewer',
108
+ }))<JsonProps>`
107
109
  .redoc-json code {
108
110
  background-color: var(--samples-panel-controls-background-color);
109
111
  color: var(--color-content-inverse);
@@ -95,8 +95,8 @@ export function headingAnchor(className = 'anchor'): FlattenSimpleInterpolation
95
95
  `;
96
96
  }
97
97
 
98
- export const StyledMarkdown = styled.main.attrs(() => ({
99
- 'data-component-name': 'Markdown/StyledMarkdown',
98
+ export const MarkdownWrapper = styled.main.attrs(() => ({
99
+ 'data-component-name': 'Markdown/MarkdownWrapper',
100
100
  }))`
101
101
  font-weight: var(--font-weight-regular);
102
102
  padding: 0;
@@ -6,4 +6,4 @@ export * from '@theme/Markdown/Heading';
6
6
  export * from '@theme/Markdown/MarkdownLayout';
7
7
  export * from '@theme/Markdown/Mermaid';
8
8
  export * from '@theme/Markdown/PageWrapper';
9
- export * from '@theme/Markdown/StyledMarkdown';
9
+ export * from '@theme/Markdown/MarkdownWrapper';
@@ -2,7 +2,7 @@ import React from 'react';
2
2
  import styled from 'styled-components';
3
3
 
4
4
  import { useThemeSettings } from '@portal/hooks';
5
- import { USER_THEME_ALIAS } from '@portal/constants';
5
+ import { DEFAULT_THEME_NAME } from '@portal/constants';
6
6
  import { ResolvedConfigLinks } from '@theme/types/portal';
7
7
  import { NavbarMenu } from '@theme/Navbar';
8
8
 
@@ -13,7 +13,7 @@ interface NavbarProps {
13
13
  }
14
14
 
15
15
  export function Navbar({ menu, logo, search }: NavbarProps): JSX.Element | null {
16
- const settings = useThemeSettings(USER_THEME_ALIAS);
16
+ const settings = useThemeSettings(DEFAULT_THEME_NAME);
17
17
  const searchSettings = settings.search;
18
18
  const hideSearch =
19
19
  searchSettings?.hide || (searchSettings?.placement && searchSettings?.placement !== 'navbar');
@@ -2,6 +2,7 @@ import styled from 'styled-components';
2
2
 
3
3
  export const OperationBadge = styled.span.attrs((props: { type: string }) => ({
4
4
  className: `operation-type ${props.type}`,
5
+ 'data-component-name': 'OperationBadge/OperationBadge',
5
6
  }))<{ type: string }>`
6
7
  display: inline-flex;
7
8
  align-items: center;
@@ -1,17 +1,17 @@
1
1
  import React from 'react';
2
+ import styled from 'styled-components';
2
3
 
3
- import type { ResolvedNavLinkItem } from '@theme/types/portal';
4
- import { usePageData } from '@portal/hooks/usePageData';
5
- import { useThemeSettings } from '@portal/hooks';
4
+ import type { ResolvedNavItemWithLink } from '@theme/types/portal';
5
+ import { useThemeSettings, useSidebarSiblingsData } from '@portal/hooks';
6
6
  import { DEFAULT_THEME_NAME } from '@portal/constants';
7
7
  import { Button } from '@theme/Button/Button';
8
8
 
9
9
  interface NextPageType {
10
- nextPage?: ResolvedNavLinkItem | null;
10
+ nextPage?: ResolvedNavItemWithLink | null;
11
11
  }
12
12
 
13
13
  export function NextPageLink(): JSX.Element {
14
- const { nextPage }: NextPageType = usePageData() || {};
14
+ const { nextPage }: NextPageType = useSidebarSiblingsData() || {};
15
15
  const { themeSettings } = useThemeSettings(DEFAULT_THEME_NAME);
16
16
 
17
17
  if (!nextPage || themeSettings?.navigation?.hide) {
@@ -21,8 +21,17 @@ export function NextPageLink(): JSX.Element {
21
21
  const label = themeSettings?.navigation?.nextPageLink?.label || `Next to ${nextPage.label}`;
22
22
 
23
23
  return (
24
- <Button variant="outlined" size="large" to={nextPage.link}>
24
+ <StyledButton
25
+ variant="outlined"
26
+ size="large"
27
+ to={nextPage.link}
28
+ data-component-name="PageNavigation/NextPageLink"
29
+ >
25
30
  {label}
26
- </Button>
31
+ </StyledButton>
27
32
  );
28
33
  }
34
+
35
+ const StyledButton = styled(Button)`
36
+ font-family: var(--font-family-base);
37
+ `;
@@ -1,17 +1,17 @@
1
1
  import React from 'react';
2
+ import styled from 'styled-components';
2
3
 
3
- import type { ResolvedNavLinkItem } from '@theme/types/portal';
4
- import { usePageData } from '@portal/hooks/usePageData';
5
- import { useThemeSettings } from '@portal/hooks';
4
+ import type { ResolvedNavItemWithLink } from '@theme/types/portal';
5
+ import { useThemeSettings, useSidebarSiblingsData } from '@portal/hooks';
6
6
  import { DEFAULT_THEME_NAME } from '@portal/constants';
7
7
  import { Button } from '@theme/Button/Button';
8
8
 
9
9
  interface PreviousPageType {
10
- prevPage?: ResolvedNavLinkItem | null;
10
+ prevPage?: ResolvedNavItemWithLink | null;
11
11
  }
12
12
 
13
13
  export function PreviousPageLink(): JSX.Element {
14
- const { prevPage }: PreviousPageType = usePageData() || {};
14
+ const { prevPage }: PreviousPageType = useSidebarSiblingsData() || {};
15
15
  const { themeSettings } = useThemeSettings(DEFAULT_THEME_NAME);
16
16
 
17
17
  if (!prevPage || themeSettings?.navigation?.hide) {
@@ -21,8 +21,17 @@ export function PreviousPageLink(): JSX.Element {
21
21
  const label = themeSettings?.navigation?.nextPageLink?.label || `Back to ${prevPage.label}`;
22
22
 
23
23
  return (
24
- <Button variant="outlined" size="large" to={prevPage.link}>
24
+ <StyledButton
25
+ variant="outlined"
26
+ size="large"
27
+ to={prevPage.link}
28
+ data-component-name="PageNavigation/PreviousPageLink"
29
+ >
25
30
  {label}
26
- </Button>
31
+ </StyledButton>
27
32
  );
28
33
  }
34
+
35
+ const StyledButton = styled(Button)`
36
+ font-family: var(--font-family-base);
37
+ `;
@@ -7,7 +7,9 @@ import { DarkHeader } from '@theme/Panel/DarkHeader';
7
7
  import { PanelBody } from '@theme/Panel/PanelBody';
8
8
  import { PanelHeaderTitle } from '@theme/Panel/PanelHeaderTitle';
9
9
 
10
- export const CodePanel = styled(Panel)`
10
+ export const CodePanel = styled(Panel).attrs(() => ({
11
+ 'data-component-name': 'Panel/CodePanel',
12
+ }))`
11
13
  > ${PanelHeader} {
12
14
  ${DarkHeader};
13
15
  min-height: 50px;
@@ -6,7 +6,9 @@ import { Panel } from '@theme/Panel/Panel';
6
6
  import { PanelBody } from '@theme/Panel/PanelBody';
7
7
  import { PanelHeader } from '@theme/Panel/PanelHeader';
8
8
 
9
- export const ContentPanel = styled(Panel)`
9
+ export const ContentPanel = styled(Panel).attrs(() => ({
10
+ 'data-component-name': 'Panel/ContentPanel',
11
+ }))`
10
12
  border: 1px solid var(--global-border-color);
11
13
 
12
14
  font-size: var(--font-size-base);