@redocly/theme 0.1.24 → 0.1.27

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.
@@ -0,0 +1,8 @@
1
+ /// <reference types="react" />
2
+ import { ResolvedNavItem } from '@theme/types/portal';
3
+ export interface CardProps {
4
+ title?: string;
5
+ icon?: string;
6
+ links: ResolvedNavItem;
7
+ }
8
+ export declare function Card(props: CardProps): JSX.Element;
package/Cards/Card.js ADDED
@@ -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.Card = 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
+ var Typography_1 = require("../Typography");
15
+ function Card(props) {
16
+ return (react_1.default.createElement(CardWrapper, { "data-component-name": "Cards/Card" },
17
+ props.icon && react_1.default.createElement("img", { src: props === null || props === void 0 ? void 0 : props.icon, alt: props === null || props === void 0 ? void 0 : props.title }),
18
+ props.title && react_1.default.createElement(Typography_1.H3, null, props.title),
19
+ props.links.items && (react_1.default.createElement(CardLinksList, null, props.links.items.map(function (item) { return (react_1.default.createElement("li", { key: item.label },
20
+ react_1.default.createElement(Link_1.Link, { to: item.link }, item.label))); })))));
21
+ }
22
+ exports.Card = Card;
23
+ var CardWrapper = styled_components_1.default.div(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n border-radius: 10px;\n box-shadow: 0px 10px 30px 0px rgba(35, 35, 35, 0.1);\n padding: 20px;\n margin: 0 20px 20px 0;\n min-width: 25%;\n font-family: var(--font-family-base);\n"], ["\n border-radius: 10px;\n box-shadow: 0px 10px 30px 0px rgba(35, 35, 35, 0.1);\n padding: 20px;\n margin: 0 20px 20px 0;\n min-width: 25%;\n font-family: var(--font-family-base);\n"])));
24
+ var CardLinksList = styled_components_1.default.ul(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n list-style-type: none;\n margin: 0;\n padding: 0;\n\n li {\n margin-bottom: 10px;\n }\n"], ["\n list-style-type: none;\n margin: 0;\n padding: 0;\n\n li {\n margin-bottom: 10px;\n }\n"])));
25
+ var templateObject_1, templateObject_2;
@@ -0,0 +1,3 @@
1
+ export declare const CardsBlock: import("styled-components").StyledComponent<"div", any, {
2
+ 'data-component-name': string;
3
+ }, "data-component-name">;
@@ -0,0 +1,15 @@
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.CardsBlock = void 0;
11
+ var styled_components_1 = __importDefault(require("styled-components"));
12
+ exports.CardsBlock = styled_components_1.default.div.attrs(function () { return ({
13
+ 'data-component-name': 'Cards/CardsBlock',
14
+ }); })(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n display: flex;\n padding: 20px 0;\n justify-content: space-between;\n"], ["\n display: flex;\n padding: 20px 0;\n justify-content: space-between;\n"])));
15
+ var templateObject_1;
package/Footer/Footer.js CHANGED
@@ -16,7 +16,7 @@ var hooks_1 = require("../mocks/hooks");
16
16
  var constants_1 = require("../mocks/constants");
17
17
  function Footer(_a) {
18
18
  var _b = _a.data, columns = _b.columns, copyrightText = _b.copyrightText;
19
- var footer = (0, hooks_1.useThemeSettings)(constants_1.USER_THEME_ALIAS).footer;
19
+ var footer = (0, hooks_1.useThemeSettings)(constants_1.DEFAULT_THEME_NAME).footer;
20
20
  if (!((columns === null || columns === void 0 ? void 0 : columns.length) || copyrightText) || (footer === null || footer === void 0 ? void 0 : footer.hide)) {
21
21
  return null;
22
22
  }
@@ -25,12 +25,21 @@ var __importStar = (this && this.__importStar) || function (mod) {
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
26
  exports.Heading = void 0;
27
27
  var react_1 = __importStar(require("react"));
28
+ var utils_1 = require("../utils");
29
+ /**
30
+ * Class name for all MD tags
31
+ */
32
+ var mdClassName = 'md';
28
33
  var SvgIcon = (react_1.default.createElement("svg", { "aria-hidden": "true", focusable: "false", height: "16", version: "1.1", viewBox: "0 0 16 16", width: "16" },
29
34
  react_1.default.createElement("path", { fillRule: "evenodd", d: "M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z" })));
30
35
  function Heading(_a) {
31
36
  var level = _a.level, id = _a.id, children = _a.children;
32
- var linkEl = (react_1.default.createElement("a", { href: "#".concat(id), className: "anchor before" }, SvgIcon));
33
- return (0, react_1.createElement)("h".concat(level), { id: id, className: 'heading-anchor', 'data-component-name': 'Markdown/Heading/Heading' }, react_1.default.createElement(react_1.default.Fragment, null,
37
+ var linkEl = (react_1.default.createElement("a", { href: "#".concat(id), className: (0, utils_1.concatClassNames)('anchor', 'before') }, SvgIcon));
38
+ return (0, react_1.createElement)("h".concat(level), {
39
+ id: id,
40
+ className: (0, utils_1.concatClassNames)('heading-anchor', mdClassName),
41
+ 'data-component-name': 'Markdown/Heading/Heading',
42
+ }, react_1.default.createElement(react_1.default.Fragment, null,
34
43
  linkEl,
35
44
  children));
36
45
  }
@@ -30,7 +30,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
30
30
  exports.MarkdownWrapper = exports.headingAnchor = exports.baseTable = void 0;
31
31
  var styled_components_1 = __importStar(require("styled-components"));
32
32
  var utils_1 = require("../utils");
33
- exports.baseTable = (0, styled_components_1.css)(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n table {\n display: block;\n width: 100%;\n overflow: auto;\n word-break: keep-all;\n border-collapse: separate;\n border-spacing: 0;\n margin-top: 20px;\n margin-bottom: 20px;\n font-size: 14px;\n }\n\n table th,\n table td {\n padding: 12px;\n border-bottom: 1px solid var(--global-border-color);\n }\n\n table th {\n text-align: left;\n font-weight: bold;\n background-color: var(--color-secondary-300);\n }\n\n table tr th:first-child,\n table tr td:first-child {\n border-left: 1px solid var(--global-border-color);\n }\n\n table tr td:last-child,\n table tr th:last-child {\n border-right: 1px solid var(--global-border-color);\n }\n\n table thead td,\n table thead th {\n border-top: 1px solid var(--global-border-color);\n }\n\n /* top-left border */\n\n table thead tr:first-child th:first-child {\n border-top-left-radius: var(--panels-border-radius);\n }\n\n /* top-right border */\n\n table thead tr:first-child th:last-child {\n border-top-right-radius: var(--panels-border-radius);\n border-top: 1px solid var(--global-border-color);\n }\n\n /* bottom-left border */\n\n table tbody tr:last-child td:first-child {\n border-bottom-left-radius: var(--panels-border-radius);\n }\n\n /* bottom-right border */\n\n table tbody tr:last-child td:last-child {\n border-bottom-right-radius: var(--panels-border-radius);\n }\n"], ["\n table {\n display: block;\n width: 100%;\n overflow: auto;\n word-break: keep-all;\n border-collapse: separate;\n border-spacing: 0;\n margin-top: 20px;\n margin-bottom: 20px;\n font-size: 14px;\n }\n\n table th,\n table td {\n padding: 12px;\n border-bottom: 1px solid var(--global-border-color);\n }\n\n table th {\n text-align: left;\n font-weight: bold;\n background-color: var(--color-secondary-300);\n }\n\n table tr th:first-child,\n table tr td:first-child {\n border-left: 1px solid var(--global-border-color);\n }\n\n table tr td:last-child,\n table tr th:last-child {\n border-right: 1px solid var(--global-border-color);\n }\n\n table thead td,\n table thead th {\n border-top: 1px solid var(--global-border-color);\n }\n\n /* top-left border */\n\n table thead tr:first-child th:first-child {\n border-top-left-radius: var(--panels-border-radius);\n }\n\n /* top-right border */\n\n table thead tr:first-child th:last-child {\n border-top-right-radius: var(--panels-border-radius);\n border-top: 1px solid var(--global-border-color);\n }\n\n /* bottom-left border */\n\n table tbody tr:last-child td:first-child {\n border-bottom-left-radius: var(--panels-border-radius);\n }\n\n /* bottom-right border */\n\n table tbody tr:last-child td:last-child {\n border-bottom-right-radius: var(--panels-border-radius);\n }\n"])));
33
+ exports.baseTable = (0, styled_components_1.css)(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n table.md {\n display: block;\n width: 100%;\n overflow: auto;\n word-break: keep-all;\n border-collapse: separate;\n border-spacing: 0;\n margin-top: 20px;\n margin-bottom: 20px;\n font-size: 14px;\n\n th,\n td {\n padding: 12px;\n border-bottom: 1px solid var(--global-border-color);\n }\n\n th {\n text-align: left;\n font-weight: bold;\n background-color: var(--color-secondary-300);\n }\n\n tr th:first-child,\n tr td:first-child {\n border-left: 1px solid var(--global-border-color);\n }\n\n tr td:last-child,\n tr th:last-child {\n border-right: 1px solid var(--global-border-color);\n }\n\n thead td,\n thead th {\n border-top: 1px solid var(--global-border-color);\n }\n\n /* top-left border */\n\n thead tr:first-child th:first-child {\n border-top-left-radius: var(--panels-border-radius);\n }\n\n /* top-right border */\n\n thead tr:first-child th:last-child {\n border-top-right-radius: var(--panels-border-radius);\n border-top: 1px solid var(--global-border-color);\n }\n\n /* bottom-left border */\n\n tbody tr:last-child td:first-child {\n border-bottom-left-radius: var(--panels-border-radius);\n }\n\n /* bottom-right border */\n\n tbody tr:last-child td:last-child {\n border-bottom-right-radius: var(--panels-border-radius);\n }\n }\n"], ["\n table.md {\n display: block;\n width: 100%;\n overflow: auto;\n word-break: keep-all;\n border-collapse: separate;\n border-spacing: 0;\n margin-top: 20px;\n margin-bottom: 20px;\n font-size: 14px;\n\n th,\n td {\n padding: 12px;\n border-bottom: 1px solid var(--global-border-color);\n }\n\n th {\n text-align: left;\n font-weight: bold;\n background-color: var(--color-secondary-300);\n }\n\n tr th:first-child,\n tr td:first-child {\n border-left: 1px solid var(--global-border-color);\n }\n\n tr td:last-child,\n tr th:last-child {\n border-right: 1px solid var(--global-border-color);\n }\n\n thead td,\n thead th {\n border-top: 1px solid var(--global-border-color);\n }\n\n /* top-left border */\n\n thead tr:first-child th:first-child {\n border-top-left-radius: var(--panels-border-radius);\n }\n\n /* top-right border */\n\n thead tr:first-child th:last-child {\n border-top-right-radius: var(--panels-border-radius);\n border-top: 1px solid var(--global-border-color);\n }\n\n /* bottom-left border */\n\n tbody tr:last-child td:first-child {\n border-bottom-left-radius: var(--panels-border-radius);\n }\n\n /* bottom-right border */\n\n tbody tr:last-child td:last-child {\n border-bottom-right-radius: var(--panels-border-radius);\n }\n }\n"])));
34
34
  // TODO: Can users specify another className or we should hardcode it?
35
35
  function headingAnchor(className) {
36
36
  if (className === void 0) { className = 'anchor'; }
@@ -39,5 +39,5 @@ function headingAnchor(className) {
39
39
  exports.headingAnchor = headingAnchor;
40
40
  exports.MarkdownWrapper = styled_components_1.default.main.attrs(function () { return ({
41
41
  'data-component-name': 'Markdown/MarkdownWrapper',
42
- }); })(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n font-weight: var(--font-weight-regular);\n padding: 0;\n\n color: var(--color-content);\n font-size: var(--font-size-base);\n font-family: var(--font-family-base);\n line-height: var(--line-height-base);\n\n a:not([role='button']) {\n text-decoration: var(--link-decoration);\n color: var(--link-color);\n\n &:visited {\n color: var(--link-color);\n }\n\n &:hover {\n color: var(--link-color-hover);\n }\n }\n\n img {\n max-width: 100%;\n }\n\n h1,\n h2,\n h3,\n h4,\n h5,\n h6 {\n font-weight: var(--h-font-weight);\n font-family: var(--h-font-family);\n position: relative;\n\n scroll-margin-top: 60px;\n }\n\n strong {\n font-weight: var(--font-weight-bold);\n }\n\n hr {\n border-top: 1px solid var(--global-border-color);\n }\n\n details {\n margin: 1.125em 0;\n\n summary {\n color: var(--color-content);\n font-weight: var(--font-weight-regular);\n outline: 0;\n padding: 0;\n cursor: pointer;\n }\n\n > :not(summary):first-of-type {\n margin-top: 1.25em;\n }\n\n > *:last-child {\n margin-bottom: 1.25em;\n }\n }\n\n ", ";\n\n .code-snippets-tabs {\n .snippets-tabs-headers {\n font-size: 0.9em;\n\n font-family: var(--h-font-family);\n\n .tab-header {\n text-align: center;\n padding: 0.2em 0.5em;\n display: inline-block;\n cursor: pointer;\n color: var(--color-content-secondary);\n\n &.active {\n color: var(--h-color);\n font-weight: var(--font-weight-bold);\n }\n }\n }\n\n .tab-content {\n margin-top: 4px;\n display: none;\n\n pre {\n margin-top: 0;\n }\n\n &.active {\n display: block;\n }\n }\n }\n\n p {\n &:last-child {\n margin-bottom: 0;\n }\n }\n\n h1 {\n ", ";\n margin: var(--h1-margin-top) var(--h1-margin-bottom);\n ", ";\n\n &:first-child {\n margin-top: 0;\n }\n }\n\n h2 {\n ", ";\n margin: var(--h2-margin-top) var(--h2-margin-bottom);\n ", ";\n }\n\n h3 {\n ", ";\n margin: var(--h3-margin-top) var(--h3-margin-bottom);\n ", ";\n }\n\n h4 {\n ", ";\n margin: var(--h4-margin-top) var(--h4-margin-bottom);\n ", ";\n }\n\n h5 {\n ", ";\n margin: var(--h5-margin-top) var(--h5-margin-bottom);\n ", ";\n }\n\n h6 {\n ", ";\n margin: var(--h6-margin-top) var(--h6-margin-bottom);\n ", ";\n }\n\n code {\n color: var(--inline-code-color);\n background-color: var(--inline-code-background-color);\n\n border-radius: 2px;\n border: 1px solid var(--global-border-color);\n padding: 0.1em 0.25em 0.2em;\n font-weight: var(--code-font-weight);\n word-break: break-word;\n font-size: var(--code-font-size);\n font-family: var(--code-font-family);\n }\n\n blockquote {\n margin: var(--bloquote-margin-vertical) var(--bloquote-margin-horizontal);\n padding: var(--bloquote-padding-vertical) var(--bloquote-padding-horizontal);\n border-left: 4px solid var(--global-border-color);\n background-color: var(--bloquote-background-color);\n color: var(--color-content);\n\n & > p:first-child {\n margin-top: 0;\n }\n }\n\n img {\n max-width: 100%;\n box-sizing: content-box;\n margin: 0 auto;\n\n &:only-child {\n display: block;\n }\n }\n\n > ul,\n > p ul {\n > ol,\n > p ol {\n padding-left: 2em;\n margin: 0 0 1em;\n\n ul,\n ol {\n margin-bottom: 0;\n margin-top: 0;\n }\n }\n }\n"], ["\n font-weight: var(--font-weight-regular);\n padding: 0;\n\n color: var(--color-content);\n font-size: var(--font-size-base);\n font-family: var(--font-family-base);\n line-height: var(--line-height-base);\n\n a:not([role='button']) {\n text-decoration: var(--link-decoration);\n color: var(--link-color);\n\n &:visited {\n color: var(--link-color);\n }\n\n &:hover {\n color: var(--link-color-hover);\n }\n }\n\n img {\n max-width: 100%;\n }\n\n h1,\n h2,\n h3,\n h4,\n h5,\n h6 {\n font-weight: var(--h-font-weight);\n font-family: var(--h-font-family);\n position: relative;\n\n scroll-margin-top: 60px;\n }\n\n strong {\n font-weight: var(--font-weight-bold);\n }\n\n hr {\n border-top: 1px solid var(--global-border-color);\n }\n\n details {\n margin: 1.125em 0;\n\n summary {\n color: var(--color-content);\n font-weight: var(--font-weight-regular);\n outline: 0;\n padding: 0;\n cursor: pointer;\n }\n\n > :not(summary):first-of-type {\n margin-top: 1.25em;\n }\n\n > *:last-child {\n margin-bottom: 1.25em;\n }\n }\n\n ", ";\n\n .code-snippets-tabs {\n .snippets-tabs-headers {\n font-size: 0.9em;\n\n font-family: var(--h-font-family);\n\n .tab-header {\n text-align: center;\n padding: 0.2em 0.5em;\n display: inline-block;\n cursor: pointer;\n color: var(--color-content-secondary);\n\n &.active {\n color: var(--h-color);\n font-weight: var(--font-weight-bold);\n }\n }\n }\n\n .tab-content {\n margin-top: 4px;\n display: none;\n\n pre {\n margin-top: 0;\n }\n\n &.active {\n display: block;\n }\n }\n }\n\n p {\n &:last-child {\n margin-bottom: 0;\n }\n }\n\n h1 {\n ", ";\n margin: var(--h1-margin-top) var(--h1-margin-bottom);\n ", ";\n\n &:first-child {\n margin-top: 0;\n }\n }\n\n h2 {\n ", ";\n margin: var(--h2-margin-top) var(--h2-margin-bottom);\n ", ";\n }\n\n h3 {\n ", ";\n margin: var(--h3-margin-top) var(--h3-margin-bottom);\n ", ";\n }\n\n h4 {\n ", ";\n margin: var(--h4-margin-top) var(--h4-margin-bottom);\n ", ";\n }\n\n h5 {\n ", ";\n margin: var(--h5-margin-top) var(--h5-margin-bottom);\n ", ";\n }\n\n h6 {\n ", ";\n margin: var(--h6-margin-top) var(--h6-margin-bottom);\n ", ";\n }\n\n code {\n color: var(--inline-code-color);\n background-color: var(--inline-code-background-color);\n\n border-radius: 2px;\n border: 1px solid var(--global-border-color);\n padding: 0.1em 0.25em 0.2em;\n font-weight: var(--code-font-weight);\n word-break: break-word;\n font-size: var(--code-font-size);\n font-family: var(--code-font-family);\n }\n\n blockquote {\n margin: var(--bloquote-margin-vertical) var(--bloquote-margin-horizontal);\n padding: var(--bloquote-padding-vertical) var(--bloquote-padding-horizontal);\n border-left: 4px solid var(--global-border-color);\n background-color: var(--bloquote-background-color);\n color: var(--color-content);\n\n & > p:first-child {\n margin-top: 0;\n }\n }\n\n img {\n max-width: 100%;\n box-sizing: content-box;\n margin: 0 auto;\n\n &:only-child {\n display: block;\n }\n }\n\n > ul,\n > p ul {\n > ol,\n > p ol {\n padding-left: 2em;\n margin: 0 0 1em;\n\n ul,\n ol {\n margin-bottom: 0;\n margin-top: 0;\n }\n }\n }\n"])), exports.baseTable, (0, utils_1.typography)('h1', 'h'), headingAnchor(), (0, utils_1.typography)('h2', 'h'), headingAnchor(), (0, utils_1.typography)('h3', 'h'), headingAnchor(), (0, utils_1.typography)('h4', 'h'), headingAnchor(), (0, utils_1.typography)('h5', 'h'), headingAnchor(), (0, utils_1.typography)('h6', 'h'), headingAnchor());
42
+ }); })(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n font-weight: var(--font-weight-regular);\n padding: 0;\n\n color: var(--color-content);\n font-size: var(--font-size-base);\n font-family: var(--font-family-base);\n line-height: var(--line-height-base);\n\n a:not([role='button']) {\n text-decoration: var(--link-decoration);\n color: var(--link-color);\n\n &:visited {\n color: var(--link-color);\n }\n\n &:hover {\n color: var(--link-color-hover);\n }\n }\n\n img {\n max-width: 100%;\n }\n\n h1.md,\n h2.md,\n h3.md,\n h4.md,\n h5.md,\n h6.md {\n font-weight: var(--h-font-weight);\n font-family: var(--h-font-family);\n position: relative;\n\n scroll-margin-top: 60px;\n }\n\n strong {\n font-weight: var(--font-weight-bold);\n }\n\n hr {\n border-top: 1px solid var(--global-border-color);\n }\n\n details {\n margin: 1.125em 0;\n\n summary {\n color: var(--color-content);\n font-weight: var(--font-weight-regular);\n outline: 0;\n padding: 0;\n cursor: pointer;\n }\n\n > :not(summary):first-of-type {\n margin-top: 1.25em;\n }\n\n > *:last-child {\n margin-bottom: 1.25em;\n }\n }\n\n ", ";\n\n .code-snippets-tabs {\n .snippets-tabs-headers {\n font-size: 0.9em;\n\n font-family: var(--h-font-family);\n\n .tab-header {\n text-align: center;\n padding: 0.2em 0.5em;\n display: inline-block;\n cursor: pointer;\n color: var(--color-content-secondary);\n\n &.active {\n color: var(--h-color);\n font-weight: var(--font-weight-bold);\n }\n }\n }\n\n .tab-content {\n margin-top: 4px;\n display: none;\n\n pre {\n margin-top: 0;\n }\n\n &.active {\n display: block;\n }\n }\n }\n\n p {\n &:last-child {\n margin-bottom: 0;\n }\n }\n\n h1.md {\n ", ";\n margin: var(--h1-margin-top) 0 var(--h1-margin-bottom) 0;\n ", ";\n\n &:first-child {\n margin-top: 0;\n }\n }\n\n h2.md {\n ", ";\n margin: var(--h2-margin-top) 0 var(--h2-margin-bottom) 0;\n ", ";\n }\n\n h3.md {\n ", ";\n margin: var(--h3-margin-top) 0 var(--h3-margin-bottom) 0;\n ", ";\n }\n\n h4.md {\n ", ";\n margin: var(--h4-margin-top) 0 var(--h4-margin-bottom) 0;\n ", ";\n }\n\n h5.md {\n ", ";\n margin: var(--h5-margin-top) 0 var(--h5-margin-bottom) 0;\n ", ";\n }\n\n h6.md {\n ", ";\n margin: var(--h6-margin-top) 0 var(--h6-margin-bottom) 0;\n ", ";\n }\n\n code {\n color: var(--inline-code-color);\n background-color: var(--inline-code-background-color);\n\n border-radius: 2px;\n border: 1px solid var(--global-border-color);\n padding: 0.1em 0.25em 0.2em;\n font-weight: var(--code-font-weight);\n word-break: break-word;\n font-size: var(--code-font-size);\n font-family: var(--code-font-family);\n }\n\n blockquote {\n margin: var(--bloquote-margin-vertical) var(--bloquote-margin-horizontal);\n padding: var(--bloquote-padding-vertical) var(--bloquote-padding-horizontal);\n border-left: 4px solid var(--global-border-color);\n background-color: var(--bloquote-background-color);\n color: var(--color-content);\n\n & > p:first-child {\n margin-top: 0;\n }\n }\n\n img {\n max-width: 100%;\n box-sizing: content-box;\n margin: 0 auto;\n\n &:only-child {\n display: block;\n }\n }\n\n > ul,\n > p ul {\n > ol,\n > p ol {\n padding-left: 2em;\n margin: 0 0 1em;\n\n ul,\n ol {\n margin-bottom: 0;\n margin-top: 0;\n }\n }\n }\n"], ["\n font-weight: var(--font-weight-regular);\n padding: 0;\n\n color: var(--color-content);\n font-size: var(--font-size-base);\n font-family: var(--font-family-base);\n line-height: var(--line-height-base);\n\n a:not([role='button']) {\n text-decoration: var(--link-decoration);\n color: var(--link-color);\n\n &:visited {\n color: var(--link-color);\n }\n\n &:hover {\n color: var(--link-color-hover);\n }\n }\n\n img {\n max-width: 100%;\n }\n\n h1.md,\n h2.md,\n h3.md,\n h4.md,\n h5.md,\n h6.md {\n font-weight: var(--h-font-weight);\n font-family: var(--h-font-family);\n position: relative;\n\n scroll-margin-top: 60px;\n }\n\n strong {\n font-weight: var(--font-weight-bold);\n }\n\n hr {\n border-top: 1px solid var(--global-border-color);\n }\n\n details {\n margin: 1.125em 0;\n\n summary {\n color: var(--color-content);\n font-weight: var(--font-weight-regular);\n outline: 0;\n padding: 0;\n cursor: pointer;\n }\n\n > :not(summary):first-of-type {\n margin-top: 1.25em;\n }\n\n > *:last-child {\n margin-bottom: 1.25em;\n }\n }\n\n ", ";\n\n .code-snippets-tabs {\n .snippets-tabs-headers {\n font-size: 0.9em;\n\n font-family: var(--h-font-family);\n\n .tab-header {\n text-align: center;\n padding: 0.2em 0.5em;\n display: inline-block;\n cursor: pointer;\n color: var(--color-content-secondary);\n\n &.active {\n color: var(--h-color);\n font-weight: var(--font-weight-bold);\n }\n }\n }\n\n .tab-content {\n margin-top: 4px;\n display: none;\n\n pre {\n margin-top: 0;\n }\n\n &.active {\n display: block;\n }\n }\n }\n\n p {\n &:last-child {\n margin-bottom: 0;\n }\n }\n\n h1.md {\n ", ";\n margin: var(--h1-margin-top) 0 var(--h1-margin-bottom) 0;\n ", ";\n\n &:first-child {\n margin-top: 0;\n }\n }\n\n h2.md {\n ", ";\n margin: var(--h2-margin-top) 0 var(--h2-margin-bottom) 0;\n ", ";\n }\n\n h3.md {\n ", ";\n margin: var(--h3-margin-top) 0 var(--h3-margin-bottom) 0;\n ", ";\n }\n\n h4.md {\n ", ";\n margin: var(--h4-margin-top) 0 var(--h4-margin-bottom) 0;\n ", ";\n }\n\n h5.md {\n ", ";\n margin: var(--h5-margin-top) 0 var(--h5-margin-bottom) 0;\n ", ";\n }\n\n h6.md {\n ", ";\n margin: var(--h6-margin-top) 0 var(--h6-margin-bottom) 0;\n ", ";\n }\n\n code {\n color: var(--inline-code-color);\n background-color: var(--inline-code-background-color);\n\n border-radius: 2px;\n border: 1px solid var(--global-border-color);\n padding: 0.1em 0.25em 0.2em;\n font-weight: var(--code-font-weight);\n word-break: break-word;\n font-size: var(--code-font-size);\n font-family: var(--code-font-family);\n }\n\n blockquote {\n margin: var(--bloquote-margin-vertical) var(--bloquote-margin-horizontal);\n padding: var(--bloquote-padding-vertical) var(--bloquote-padding-horizontal);\n border-left: 4px solid var(--global-border-color);\n background-color: var(--bloquote-background-color);\n color: var(--color-content);\n\n & > p:first-child {\n margin-top: 0;\n }\n }\n\n img {\n max-width: 100%;\n box-sizing: content-box;\n margin: 0 auto;\n\n &:only-child {\n display: block;\n }\n }\n\n > ul,\n > p ul {\n > ol,\n > p ol {\n padding-left: 2em;\n margin: 0 0 1em;\n\n ul,\n ol {\n margin-bottom: 0;\n margin-top: 0;\n }\n }\n }\n"])), exports.baseTable, (0, utils_1.typography)('h1', 'h'), headingAnchor(), (0, utils_1.typography)('h2', 'h'), headingAnchor(), (0, utils_1.typography)('h3', 'h'), headingAnchor(), (0, utils_1.typography)('h4', 'h'), headingAnchor(), (0, utils_1.typography)('h5', 'h'), headingAnchor(), (0, utils_1.typography)('h6', 'h'), headingAnchor());
43
43
  var templateObject_1, templateObject_2, templateObject_3;
package/Navbar/Navbar.js CHANGED
@@ -16,7 +16,7 @@ var Navbar_1 = require("../Navbar");
16
16
  function Navbar(_a) {
17
17
  var _b;
18
18
  var menu = _a.menu, logo = _a.logo, search = _a.search;
19
- var settings = (0, hooks_1.useThemeSettings)(constants_1.USER_THEME_ALIAS);
19
+ var settings = (0, hooks_1.useThemeSettings)(constants_1.DEFAULT_THEME_NAME);
20
20
  var searchSettings = settings.search;
21
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
22
  if ((_b = settings === null || settings === void 0 ? void 0 : settings.navbar) === null || _b === void 0 ? void 0 : _b.hide) {
@@ -1,10 +1,15 @@
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 __importDefault = (this && this.__importDefault) || function (mod) {
3
7
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
8
  };
5
9
  Object.defineProperty(exports, "__esModule", { value: true });
6
10
  exports.NextPageLink = void 0;
7
11
  var react_1 = __importDefault(require("react"));
12
+ var styled_components_1 = __importDefault(require("styled-components"));
8
13
  var hooks_1 = require("../mocks/hooks");
9
14
  var constants_1 = require("../mocks/constants");
10
15
  var Button_1 = require("../Button/Button");
@@ -16,6 +21,8 @@ function NextPageLink() {
16
21
  return react_1.default.createElement("div", null, "\u00A0");
17
22
  }
18
23
  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);
19
- return (react_1.default.createElement(Button_1.Button, { variant: "outlined", size: "large", to: nextPage.link, "data-component-name": "PageNavigation/NextPageLink" }, label));
24
+ return (react_1.default.createElement(StyledButton, { variant: "outlined", size: "large", to: nextPage.link, "data-component-name": "PageNavigation/NextPageLink" }, label));
20
25
  }
21
26
  exports.NextPageLink = NextPageLink;
27
+ var StyledButton = (0, styled_components_1.default)(Button_1.Button)(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n font-family: var(--font-family-base);\n"], ["\n font-family: var(--font-family-base);\n"])));
28
+ var templateObject_1;
@@ -1,10 +1,15 @@
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 __importDefault = (this && this.__importDefault) || function (mod) {
3
7
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
8
  };
5
9
  Object.defineProperty(exports, "__esModule", { value: true });
6
10
  exports.PreviousPageLink = void 0;
7
11
  var react_1 = __importDefault(require("react"));
12
+ var styled_components_1 = __importDefault(require("styled-components"));
8
13
  var hooks_1 = require("../mocks/hooks");
9
14
  var constants_1 = require("../mocks/constants");
10
15
  var Button_1 = require("../Button/Button");
@@ -16,6 +21,8 @@ function PreviousPageLink() {
16
21
  return react_1.default.createElement("div", null, "\u00A0");
17
22
  }
18
23
  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) || "Back to ".concat(prevPage.label);
19
- return (react_1.default.createElement(Button_1.Button, { variant: "outlined", size: "large", to: prevPage.link, "data-component-name": "PageNavigation/PreviousPageLink" }, label));
24
+ return (react_1.default.createElement(StyledButton, { variant: "outlined", size: "large", to: prevPage.link, "data-component-name": "PageNavigation/PreviousPageLink" }, label));
20
25
  }
21
26
  exports.PreviousPageLink = PreviousPageLink;
27
+ var StyledButton = (0, styled_components_1.default)(Button_1.Button)(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n font-family: var(--font-family-base);\n"], ["\n font-family: var(--font-family-base);\n"])));
28
+ var templateObject_1;
@@ -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;
@@ -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"])));
@@ -1,3 +1,3 @@
1
- import { Location } from 'history';
1
+ import type { Location } from 'history';
2
2
  export declare type UseActiveSectionIdReturnType = string;
3
3
  export declare function useActiveSectionId(location: Location, hasOverviewPage?: boolean): UseActiveSectionIdReturnType;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@redocly/theme",
3
- "version": "0.1.24",
3
+ "version": "0.1.27",
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
+ `;
@@ -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;
@@ -1,5 +1,12 @@
1
1
  import React, { createElement, PropsWithChildren } from 'react';
2
2
 
3
+ import { concatClassNames } from '@theme/utils';
4
+
5
+ /**
6
+ * Class name for all MD tags
7
+ */
8
+ const mdClassName = 'md';
9
+
3
10
  const SvgIcon = (
4
11
  <svg
5
12
  aria-hidden="true"
@@ -22,14 +29,18 @@ export function Heading({
22
29
  children,
23
30
  }: PropsWithChildren<{ level: number; id: string }>): JSX.Element {
24
31
  const linkEl = (
25
- <a href={`#${id}`} className="anchor before">
32
+ <a href={`#${id}`} className={concatClassNames('anchor', 'before')}>
26
33
  {SvgIcon}
27
34
  </a>
28
35
  );
29
36
 
30
37
  return createElement(
31
38
  `h${level}`,
32
- { id, className: 'heading-anchor', 'data-component-name': 'Markdown/Heading/Heading' },
39
+ {
40
+ id,
41
+ className: concatClassNames('heading-anchor', mdClassName),
42
+ 'data-component-name': 'Markdown/Heading/Heading',
43
+ },
33
44
  <>
34
45
  {linkEl}
35
46
  {children}
@@ -3,7 +3,7 @@ import styled, { css, FlattenSimpleInterpolation } from 'styled-components';
3
3
  import { typography } from '@theme/utils';
4
4
 
5
5
  export const baseTable = css`
6
- table {
6
+ table.md {
7
7
  display: block;
8
8
  width: 100%;
9
9
  overflow: auto;
@@ -13,58 +13,58 @@ export const baseTable = css`
13
13
  margin-top: 20px;
14
14
  margin-bottom: 20px;
15
15
  font-size: 14px;
16
- }
17
16
 
18
- table th,
19
- table td {
20
- padding: 12px;
21
- border-bottom: 1px solid var(--global-border-color);
22
- }
17
+ th,
18
+ td {
19
+ padding: 12px;
20
+ border-bottom: 1px solid var(--global-border-color);
21
+ }
23
22
 
24
- table th {
25
- text-align: left;
26
- font-weight: bold;
27
- background-color: var(--color-secondary-300);
28
- }
23
+ th {
24
+ text-align: left;
25
+ font-weight: bold;
26
+ background-color: var(--color-secondary-300);
27
+ }
29
28
 
30
- table tr th:first-child,
31
- table tr td:first-child {
32
- border-left: 1px solid var(--global-border-color);
33
- }
29
+ tr th:first-child,
30
+ tr td:first-child {
31
+ border-left: 1px solid var(--global-border-color);
32
+ }
34
33
 
35
- table tr td:last-child,
36
- table tr th:last-child {
37
- border-right: 1px solid var(--global-border-color);
38
- }
34
+ tr td:last-child,
35
+ tr th:last-child {
36
+ border-right: 1px solid var(--global-border-color);
37
+ }
39
38
 
40
- table thead td,
41
- table thead th {
42
- border-top: 1px solid var(--global-border-color);
43
- }
39
+ thead td,
40
+ thead th {
41
+ border-top: 1px solid var(--global-border-color);
42
+ }
44
43
 
45
- /* top-left border */
44
+ /* top-left border */
46
45
 
47
- table thead tr:first-child th:first-child {
48
- border-top-left-radius: var(--panels-border-radius);
49
- }
46
+ thead tr:first-child th:first-child {
47
+ border-top-left-radius: var(--panels-border-radius);
48
+ }
50
49
 
51
- /* top-right border */
50
+ /* top-right border */
52
51
 
53
- table thead tr:first-child th:last-child {
54
- border-top-right-radius: var(--panels-border-radius);
55
- border-top: 1px solid var(--global-border-color);
56
- }
52
+ thead tr:first-child th:last-child {
53
+ border-top-right-radius: var(--panels-border-radius);
54
+ border-top: 1px solid var(--global-border-color);
55
+ }
57
56
 
58
- /* bottom-left border */
57
+ /* bottom-left border */
59
58
 
60
- table tbody tr:last-child td:first-child {
61
- border-bottom-left-radius: var(--panels-border-radius);
62
- }
59
+ tbody tr:last-child td:first-child {
60
+ border-bottom-left-radius: var(--panels-border-radius);
61
+ }
63
62
 
64
- /* bottom-right border */
63
+ /* bottom-right border */
65
64
 
66
- table tbody tr:last-child td:last-child {
67
- border-bottom-right-radius: var(--panels-border-radius);
65
+ tbody tr:last-child td:last-child {
66
+ border-bottom-right-radius: var(--panels-border-radius);
67
+ }
68
68
  }
69
69
  `;
70
70
 
@@ -123,12 +123,12 @@ export const MarkdownWrapper = styled.main.attrs(() => ({
123
123
  max-width: 100%;
124
124
  }
125
125
 
126
- h1,
127
- h2,
128
- h3,
129
- h4,
130
- h5,
131
- h6 {
126
+ h1.md,
127
+ h2.md,
128
+ h3.md,
129
+ h4.md,
130
+ h5.md,
131
+ h6.md {
132
132
  font-weight: var(--h-font-weight);
133
133
  font-family: var(--h-font-family);
134
134
  position: relative;
@@ -206,9 +206,9 @@ export const MarkdownWrapper = styled.main.attrs(() => ({
206
206
  }
207
207
  }
208
208
 
209
- h1 {
209
+ h1.md {
210
210
  ${typography('h1', 'h')};
211
- margin: var(--h1-margin-top) var(--h1-margin-bottom);
211
+ margin: var(--h1-margin-top) 0 var(--h1-margin-bottom) 0;
212
212
  ${headingAnchor()};
213
213
 
214
214
  &:first-child {
@@ -216,33 +216,33 @@ export const MarkdownWrapper = styled.main.attrs(() => ({
216
216
  }
217
217
  }
218
218
 
219
- h2 {
219
+ h2.md {
220
220
  ${typography('h2', 'h')};
221
- margin: var(--h2-margin-top) var(--h2-margin-bottom);
221
+ margin: var(--h2-margin-top) 0 var(--h2-margin-bottom) 0;
222
222
  ${headingAnchor()};
223
223
  }
224
224
 
225
- h3 {
225
+ h3.md {
226
226
  ${typography('h3', 'h')};
227
- margin: var(--h3-margin-top) var(--h3-margin-bottom);
227
+ margin: var(--h3-margin-top) 0 var(--h3-margin-bottom) 0;
228
228
  ${headingAnchor()};
229
229
  }
230
230
 
231
- h4 {
231
+ h4.md {
232
232
  ${typography('h4', 'h')};
233
- margin: var(--h4-margin-top) var(--h4-margin-bottom);
233
+ margin: var(--h4-margin-top) 0 var(--h4-margin-bottom) 0;
234
234
  ${headingAnchor()};
235
235
  }
236
236
 
237
- h5 {
237
+ h5.md {
238
238
  ${typography('h5', 'h')};
239
- margin: var(--h5-margin-top) var(--h5-margin-bottom);
239
+ margin: var(--h5-margin-top) 0 var(--h5-margin-bottom) 0;
240
240
  ${headingAnchor()};
241
241
  }
242
242
 
243
- h6 {
243
+ h6.md {
244
244
  ${typography('h6', 'h')};
245
- margin: var(--h6-margin-top) var(--h6-margin-bottom);
245
+ margin: var(--h6-margin-top) 0 var(--h6-margin-bottom) 0;
246
246
  ${headingAnchor()};
247
247
  }
248
248
 
@@ -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');
@@ -1,4 +1,5 @@
1
1
  import React from 'react';
2
+ import styled from 'styled-components';
2
3
 
3
4
  import type { ResolvedNavItemWithLink } from '@theme/types/portal';
4
5
  import { useThemeSettings, useSidebarSiblingsData } from '@portal/hooks';
@@ -20,13 +21,17 @@ export function NextPageLink(): JSX.Element {
20
21
  const label = themeSettings?.navigation?.nextPageLink?.label || `Next to ${nextPage.label}`;
21
22
 
22
23
  return (
23
- <Button
24
+ <StyledButton
24
25
  variant="outlined"
25
26
  size="large"
26
27
  to={nextPage.link}
27
28
  data-component-name="PageNavigation/NextPageLink"
28
29
  >
29
30
  {label}
30
- </Button>
31
+ </StyledButton>
31
32
  );
32
33
  }
34
+
35
+ const StyledButton = styled(Button)`
36
+ font-family: var(--font-family-base);
37
+ `;
@@ -1,4 +1,5 @@
1
1
  import React from 'react';
2
+ import styled from 'styled-components';
2
3
 
3
4
  import type { ResolvedNavItemWithLink } from '@theme/types/portal';
4
5
  import { useThemeSettings, useSidebarSiblingsData } from '@portal/hooks';
@@ -20,13 +21,17 @@ export function PreviousPageLink(): JSX.Element {
20
21
  const label = themeSettings?.navigation?.nextPageLink?.label || `Back to ${prevPage.label}`;
21
22
 
22
23
  return (
23
- <Button
24
+ <StyledButton
24
25
  variant="outlined"
25
26
  size="large"
26
27
  to={prevPage.link}
27
28
  data-component-name="PageNavigation/PreviousPageLink"
28
29
  >
29
30
  {label}
30
- </Button>
31
+ </StyledButton>
31
32
  );
32
33
  }
34
+
35
+ const StyledButton = styled(Button)`
36
+ font-family: var(--font-family-base);
37
+ `;
@@ -1,21 +1,29 @@
1
1
  import styled from 'styled-components';
2
- import { color, typography as typographySystem, TypographyProps } from 'styled-system';
3
2
 
4
- export const Typography = styled.p.attrs(() => ({
3
+ export interface TypographyProps {
4
+ color?: string;
5
+ fontFamily?: string;
6
+ fontSize?: string;
7
+ fontStyle?: string;
8
+ fontWeight?: string;
9
+ lineHeight?: string;
10
+ letterSpacing?: string;
11
+ marginBottom?: string;
12
+ marginTop?: string;
13
+ textAlign?: string;
14
+ }
15
+
16
+ export const Typography = styled.div.attrs(() => ({
5
17
  'data-component-name': 'Typography/Typography',
6
- }))<
7
- TypographyProps & {
8
- color?: string;
9
- mt?: string;
10
- mb?: string;
11
- }
12
- >`
13
- font-size: var(--font-size-base);
14
- font-family: var(--font-family-base);
15
- line-height: var(--line-height-base);
16
- color: var(--color-content);
17
- ${color};
18
- margin-top: ${({ mt }) => mt || '1em'};
19
- margin-bottom: ${({ mb }) => mb || '1em'};
20
- ${typographySystem}
18
+ }))<TypographyProps>`
19
+ color: ${({ color }) => color || 'var(--color-content)'};
20
+ font-family: ${({ fontFamily }) => fontFamily || 'var(--font-family-base)'};
21
+ font-size: ${({ fontSize }) => fontSize || 'var(--font-size-base)'};
22
+ font-style: ${({ fontStyle }) => fontStyle};
23
+ font-weight: ${({ fontWeight }) => fontWeight || 'var(--font-weight-regular)'};
24
+ line-height: ${({ lineHeight }) => lineHeight || 'var(--line-height-base)'};
25
+ letter-spacing: ${({ letterSpacing }) => letterSpacing};
26
+ margin-bottom: ${({ marginBottom }) => marginBottom};
27
+ margin-top: ${({ marginTop }) => marginTop};
28
+ text-align: ${({ textAlign }) => textAlign};
21
29
  `;
@@ -182,6 +182,10 @@ const typography = css`
182
182
  const headingsTypography = css`
183
183
  // --h-{css-property-name} is fallback for h1...h6
184
184
 
185
+ * {
186
+ box-sizing: border-box;
187
+ }
188
+
185
189
  /**
186
190
  * @tokens Typography headings font
187
191
  */
@@ -1,4 +1,4 @@
1
- import { Location } from 'history';
1
+ import type { Location } from 'history';
2
2
  import { useEffect, useState, useMemo } from 'react';
3
3
  import throttle from 'lodash.throttle';
4
4
 
@@ -0,0 +1,8 @@
1
+ const SPACE_DELIMITER = ' ';
2
+
3
+ export function concatClassNames(...args: Array<string | undefined>): string {
4
+ return args
5
+ .map((className) => (className ? className.trim() : className))
6
+ .filter(Boolean)
7
+ .join(SPACE_DELIMITER);
8
+ }
@@ -4,3 +4,4 @@ export * from './highlight';
4
4
  export * from './jsonToHtml';
5
5
  export * from './media-css';
6
6
  export * from './theme-helpers';
7
+ export * from './class-names';
@@ -0,0 +1 @@
1
+ export declare function concatClassNames(...args: Array<string | undefined>): string;
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.concatClassNames = void 0;
4
+ var SPACE_DELIMITER = ' ';
5
+ function concatClassNames() {
6
+ var args = [];
7
+ for (var _i = 0; _i < arguments.length; _i++) {
8
+ args[_i] = arguments[_i];
9
+ }
10
+ return args
11
+ .map(function (className) { return (className ? className.trim() : className); })
12
+ .filter(Boolean)
13
+ .join(SPACE_DELIMITER);
14
+ }
15
+ exports.concatClassNames = concatClassNames;
package/utils/index.d.ts CHANGED
@@ -4,3 +4,4 @@ export * from './highlight';
4
4
  export * from './jsonToHtml';
5
5
  export * from './media-css';
6
6
  export * from './theme-helpers';
7
+ export * from './class-names';
package/utils/index.js CHANGED
@@ -20,3 +20,4 @@ __exportStar(require("./highlight"), exports);
20
20
  __exportStar(require("./jsonToHtml"), exports);
21
21
  __exportStar(require("./media-css"), exports);
22
22
  __exportStar(require("./theme-helpers"), exports);
23
+ __exportStar(require("./class-names"), exports);