@redocly/theme 0.1.25 → 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.
@@ -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;
@@ -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"])));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@redocly/theme",
3
- "version": "0.1.25",
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
+ `;
@@ -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
  */