@redocly/theme 0.4.9 → 0.4.10
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.
- package/ColorModeSwitcher/ColorModeSwitcher.js +4 -5
- package/Footer/Footer.js +2 -3
- package/LastUpdated/LastUpdated.js +2 -3
- package/Markdown/CodeSample/CodeSample.d.ts +1 -9
- package/Markdown/CodeSample/CodeSample.js +6 -4
- package/Navbar/Navbar.js +2 -3
- package/PageNavigation/NextPageLink.js +2 -2
- package/PageNavigation/PageNavigation.js +2 -3
- package/PageNavigation/PreviousPageLink.js +2 -2
- package/Sidebar/SidebarLayout.js +2 -3
- package/TableOfContent/TableOfContent.js +2 -3
- package/globalStyle.js +10 -9
- package/hooks/useDefaultThemeSettings.d.ts +2 -0
- package/hooks/useDefaultThemeSettings.js +9 -0
- package/mocks/types.d.ts +4 -0
- package/package.json +1 -1
- package/src/ColorModeSwitcher/ColorModeSwitcher.tsx +2 -3
- package/src/Footer/Footer.tsx +2 -3
- package/src/LastUpdated/LastUpdated.tsx +2 -3
- package/src/Markdown/CodeSample/CodeSample.tsx +6 -18
- package/src/Navbar/Navbar.tsx +2 -3
- package/src/PageNavigation/NextPageLink.tsx +3 -3
- package/src/PageNavigation/PageNavigation.tsx +2 -3
- package/src/PageNavigation/PreviousPageLink.tsx +3 -3
- package/src/Sidebar/SidebarLayout.tsx +2 -3
- package/src/TableOfContent/TableOfContent.tsx +2 -3
- package/src/globalStyle.ts +54 -0
- package/src/hooks/useDefaultThemeSettings.ts +8 -0
- package/src/mocks/types.ts +4 -0
|
@@ -49,15 +49,14 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
49
49
|
exports.ColorModeSwitcher = void 0;
|
|
50
50
|
var react_1 = __importStar(require("react"));
|
|
51
51
|
var styled_components_1 = __importDefault(require("styled-components"));
|
|
52
|
-
var hooks_1 = require("../mocks/hooks");
|
|
53
|
-
var constants_1 = require("../mocks/constants");
|
|
54
52
|
var ColorModeIcon_1 = require("../icons/ColorModeIcon");
|
|
55
|
-
var
|
|
53
|
+
var hooks_1 = require("../hooks");
|
|
54
|
+
var useDefaultThemeSettings_1 = require("../hooks/useDefaultThemeSettings");
|
|
56
55
|
function ColorModeSwitcher() {
|
|
57
|
-
var themeSettings = (0,
|
|
56
|
+
var themeSettings = (0, useDefaultThemeSettings_1.useDefaultThemeSettings)();
|
|
58
57
|
var colorMode = themeSettings.colorMode;
|
|
59
58
|
var _a = __read((0, react_1.useState)(''), 2), activeColorMode = _a[0], setActiveColorMode = _a[1];
|
|
60
|
-
(0,
|
|
59
|
+
(0, hooks_1.useMount)(function () {
|
|
61
60
|
setActiveColorMode(document.documentElement.className || (colorMode === null || colorMode === void 0 ? void 0 : colorMode.default));
|
|
62
61
|
});
|
|
63
62
|
if (!(colorMode === null || colorMode === void 0 ? void 0 : colorMode.modes) || (colorMode === null || colorMode === void 0 ? void 0 : colorMode.hide)) {
|
package/Footer/Footer.js
CHANGED
|
@@ -12,12 +12,11 @@ var react_1 = __importDefault(require("react"));
|
|
|
12
12
|
var styled_components_1 = __importDefault(require("styled-components"));
|
|
13
13
|
var FooterColumns_1 = require("../Footer/FooterColumns");
|
|
14
14
|
var FooterCopyright_1 = require("../Footer/FooterCopyright");
|
|
15
|
-
var hooks_1 = require("../mocks/hooks");
|
|
16
|
-
var constants_1 = require("../mocks/constants");
|
|
17
15
|
var utils_1 = require("../utils");
|
|
16
|
+
var useDefaultThemeSettings_1 = require("../hooks/useDefaultThemeSettings");
|
|
18
17
|
function Footer(_a) {
|
|
19
18
|
var _b = _a.data, columns = _b.columns, copyrightText = _b.copyrightText;
|
|
20
|
-
var footer = (0,
|
|
19
|
+
var footer = (0, useDefaultThemeSettings_1.useDefaultThemeSettings)().footer;
|
|
21
20
|
if ((0, utils_1.isEmptyArray)(columns) || !copyrightText || (footer === null || footer === void 0 ? void 0 : footer.hide)) {
|
|
22
21
|
return null;
|
|
23
22
|
}
|
|
@@ -11,11 +11,10 @@ exports.LastUpdated = void 0;
|
|
|
11
11
|
var react_1 = __importDefault(require("react"));
|
|
12
12
|
var styled_components_1 = __importDefault(require("styled-components"));
|
|
13
13
|
var timeago_js_1 = require("timeago.js");
|
|
14
|
-
var
|
|
15
|
-
var constants_1 = require("../mocks/constants");
|
|
14
|
+
var useDefaultThemeSettings_1 = require("../hooks/useDefaultThemeSettings");
|
|
16
15
|
function LastUpdated(_a) {
|
|
17
16
|
var lastModified = _a.lastModified;
|
|
18
|
-
var lastUpdatedBlock = (0,
|
|
17
|
+
var lastUpdatedBlock = (0, useDefaultThemeSettings_1.useDefaultThemeSettings)().lastUpdatedBlock;
|
|
19
18
|
if (lastUpdatedBlock === null || lastUpdatedBlock === void 0 ? void 0 : lastUpdatedBlock.hide) {
|
|
20
19
|
return null;
|
|
21
20
|
}
|
|
@@ -1,15 +1,7 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
|
-
export interface MdCopyCodeProps {
|
|
3
|
-
enabled?: boolean;
|
|
4
|
-
buttonText?: string;
|
|
5
|
-
tooltipText?: string;
|
|
6
|
-
toasterText?: string;
|
|
7
|
-
toasterDuration?: number;
|
|
8
|
-
}
|
|
9
2
|
export declare type CodeSampleProps = {
|
|
10
3
|
language: string;
|
|
11
4
|
highlighted: string;
|
|
12
5
|
rawContent: string;
|
|
13
|
-
copyCodeSnippet: MdCopyCodeProps;
|
|
14
6
|
};
|
|
15
|
-
export declare function CodeSample({ rawContent, highlighted, language
|
|
7
|
+
export declare function CodeSample({ rawContent, highlighted, language }: CodeSampleProps): JSX.Element;
|
|
@@ -58,17 +58,19 @@ exports.CodeSample = void 0;
|
|
|
58
58
|
var react_1 = __importStar(require("react"));
|
|
59
59
|
var styled_components_1 = __importStar(require("styled-components"));
|
|
60
60
|
var ClipboardService_1 = require("../../utils/ClipboardService");
|
|
61
|
+
var useDefaultThemeSettings_1 = require("../../hooks/useDefaultThemeSettings");
|
|
61
62
|
var defaultCopyCodeSnippet = {
|
|
62
|
-
|
|
63
|
+
hide: false,
|
|
63
64
|
buttonText: 'Copy',
|
|
64
65
|
tooltipText: 'Copy the code snippet',
|
|
65
66
|
toasterText: 'Copied',
|
|
66
67
|
toasterDuration: 1500,
|
|
67
68
|
};
|
|
68
69
|
function CodeSample(_a) {
|
|
69
|
-
var rawContent = _a.rawContent, highlighted = _a.highlighted, language = _a.language
|
|
70
|
+
var rawContent = _a.rawContent, highlighted = _a.highlighted, language = _a.language;
|
|
70
71
|
var langClassName = language ? "language-".concat(language) : '';
|
|
71
|
-
var
|
|
72
|
+
var copyCodeSnippet = (0, useDefaultThemeSettings_1.useDefaultThemeSettings)().copyCodeSnippet;
|
|
73
|
+
var copyCodeProps = __assign(__assign({}, copyCodeSnippet), defaultCopyCodeSnippet);
|
|
72
74
|
var _b = __read((0, react_1.useState)(false), 2), isCopied = _b[0], setIsCopied = _b[1];
|
|
73
75
|
var copyCode = function (code) {
|
|
74
76
|
ClipboardService_1.ClipboardService.copyCustom(code);
|
|
@@ -76,7 +78,7 @@ function CodeSample(_a) {
|
|
|
76
78
|
setTimeout(function () { return setIsCopied(false); }, copyCodeProps.toasterDuration);
|
|
77
79
|
};
|
|
78
80
|
return (react_1.default.createElement(Wrapper, { className: "code-sample", "data-component-name": "Markdown/CodeSample/CodeSample" },
|
|
79
|
-
copyCodeProps.
|
|
81
|
+
!copyCodeProps.hide && (react_1.default.createElement(CodeSampleButtonContainer, { onClick: function () { return copyCode(rawContent); } },
|
|
80
82
|
!isCopied && (react_1.default.createElement(CopyCodeButton, { title: copyCodeProps.tooltipText }, copyCodeProps.buttonText)),
|
|
81
83
|
isCopied && react_1.default.createElement(DoneIndicator, null, copyCodeProps.toasterText))),
|
|
82
84
|
react_1.default.createElement("pre", { className: langClassName },
|
package/Navbar/Navbar.js
CHANGED
|
@@ -26,17 +26,16 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
26
26
|
exports.NavbarRow = exports.NavbarContainer = exports.Navbar = void 0;
|
|
27
27
|
var react_1 = __importDefault(require("react"));
|
|
28
28
|
var styled_components_1 = __importDefault(require("styled-components"));
|
|
29
|
-
var hooks_1 = require("../mocks/hooks");
|
|
30
|
-
var constants_1 = require("../mocks/constants");
|
|
31
29
|
var Navbar_1 = require("../Navbar");
|
|
32
30
|
var useMobileMenu_1 = require("../hooks/useMobileMenu");
|
|
33
31
|
var MobileNavbarMenuButton_1 = require("../Navbar/MobileNavbarMenuButton");
|
|
34
32
|
var MobileNavbarMenu_1 = require("../Navbar/MobileNavbarMenu");
|
|
35
33
|
var ColorModeSwitcher_1 = require("../ColorModeSwitcher/ColorModeSwitcher");
|
|
34
|
+
var useDefaultThemeSettings_1 = require("../hooks/useDefaultThemeSettings");
|
|
36
35
|
function Navbar(_a) {
|
|
37
36
|
var menu = _a.menu, logo = _a.logo, search = _a.search, profile = _a.profile;
|
|
38
37
|
var _b = __read((0, useMobileMenu_1.useMobileMenu)(false), 2), isOpen = _b[0], setIsOpen = _b[1];
|
|
39
|
-
var _c = (0,
|
|
38
|
+
var _c = (0, useDefaultThemeSettings_1.useDefaultThemeSettings)(), searchSettings = _c.search, navbar = _c.navbar;
|
|
40
39
|
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');
|
|
41
40
|
if (navbar === null || navbar === void 0 ? void 0 : navbar.hide) {
|
|
42
41
|
return null;
|
|
@@ -11,12 +11,12 @@ exports.NextPageLink = void 0;
|
|
|
11
11
|
var react_1 = __importDefault(require("react"));
|
|
12
12
|
var styled_components_1 = __importDefault(require("styled-components"));
|
|
13
13
|
var hooks_1 = require("../mocks/hooks");
|
|
14
|
-
var constants_1 = require("../mocks/constants");
|
|
15
14
|
var Button_1 = require("../Button/Button");
|
|
15
|
+
var useDefaultThemeSettings_1 = require("../hooks/useDefaultThemeSettings");
|
|
16
16
|
function NextPageLink() {
|
|
17
17
|
var _a, _b;
|
|
18
18
|
var nextPage = ((0, hooks_1.useSidebarSiblingsData)() || {}).nextPage;
|
|
19
|
-
var navigation = (0,
|
|
19
|
+
var navigation = (0, useDefaultThemeSettings_1.useDefaultThemeSettings)().navigation;
|
|
20
20
|
if (!nextPage || (navigation === null || navigation === void 0 ? void 0 : navigation.hide) || ((_a = navigation === null || navigation === void 0 ? void 0 : navigation.nextPageLink) === null || _a === void 0 ? void 0 : _a.hide)) {
|
|
21
21
|
return react_1.default.createElement("div", null, "\u00A0");
|
|
22
22
|
}
|
|
@@ -12,11 +12,10 @@ var react_1 = __importDefault(require("react"));
|
|
|
12
12
|
var styled_components_1 = __importDefault(require("styled-components"));
|
|
13
13
|
var PreviousPageLink_1 = require("../PageNavigation/PreviousPageLink");
|
|
14
14
|
var NextPageLink_1 = require("../PageNavigation/NextPageLink");
|
|
15
|
-
var
|
|
16
|
-
var constants_1 = require("../mocks/constants");
|
|
15
|
+
var useDefaultThemeSettings_1 = require("../hooks/useDefaultThemeSettings");
|
|
17
16
|
function PageNavigation(_a) {
|
|
18
17
|
var _b = _a.showPrevButton, showPrevButton = _b === void 0 ? true : _b, _c = _a.showNextButton, showNextButton = _c === void 0 ? true : _c;
|
|
19
|
-
var navigation = (0,
|
|
18
|
+
var navigation = (0, useDefaultThemeSettings_1.useDefaultThemeSettings)().navigation;
|
|
20
19
|
if (navigation === null || navigation === void 0 ? void 0 : navigation.hide) {
|
|
21
20
|
return null;
|
|
22
21
|
}
|
|
@@ -11,12 +11,12 @@ exports.PreviousPageLink = void 0;
|
|
|
11
11
|
var react_1 = __importDefault(require("react"));
|
|
12
12
|
var styled_components_1 = __importDefault(require("styled-components"));
|
|
13
13
|
var hooks_1 = require("../mocks/hooks");
|
|
14
|
-
var
|
|
14
|
+
var useDefaultThemeSettings_1 = require("../hooks/useDefaultThemeSettings");
|
|
15
15
|
var Button_1 = require("../Button/Button");
|
|
16
16
|
function PreviousPageLink() {
|
|
17
17
|
var _a, _b;
|
|
18
18
|
var prevPage = ((0, hooks_1.useSidebarSiblingsData)() || {}).prevPage;
|
|
19
|
-
var navigation = (0,
|
|
19
|
+
var navigation = (0, useDefaultThemeSettings_1.useDefaultThemeSettings)().navigation;
|
|
20
20
|
if (!prevPage || (navigation === null || navigation === void 0 ? void 0 : navigation.hide) || ((_a = navigation === null || navigation === void 0 ? void 0 : navigation.previousPageLink) === null || _a === void 0 ? void 0 : _a.hide)) {
|
|
21
21
|
return react_1.default.createElement("div", null, "\u00A0");
|
|
22
22
|
}
|
package/Sidebar/SidebarLayout.js
CHANGED
|
@@ -30,14 +30,13 @@ var Sidebar_1 = require("../Sidebar/Sidebar");
|
|
|
30
30
|
var useMobileMenu_1 = require("../hooks/useMobileMenu");
|
|
31
31
|
var MobileSidebarButton_1 = require("../Sidebar/MobileSidebarButton");
|
|
32
32
|
var MenuContainer_1 = require("../Sidebar/MenuContainer");
|
|
33
|
-
var hooks_1 = require("../mocks/hooks");
|
|
34
|
-
var constants_1 = require("../mocks/constants");
|
|
35
33
|
var SidebarSearch_1 = require("../Search/SidebarSearch");
|
|
34
|
+
var useDefaultThemeSettings_1 = require("../hooks/useDefaultThemeSettings");
|
|
36
35
|
function SidebarLayout(_a) {
|
|
37
36
|
var versions = _a.versions, menu = _a.menu;
|
|
38
37
|
var _b = __read((0, useMobileMenu_1.useMobileMenu)(), 2), isOpen = _b[0], setIsOpen = _b[1];
|
|
39
38
|
var toggleMenu = function () { return setIsOpen(!isOpen); };
|
|
40
|
-
var _c = (0,
|
|
39
|
+
var _c = (0, useDefaultThemeSettings_1.useDefaultThemeSettings)(), search = _c.search, sidebar = _c.sidebar;
|
|
41
40
|
if (sidebar === null || sidebar === void 0 ? void 0 : sidebar.hide) {
|
|
42
41
|
return null;
|
|
43
42
|
}
|
|
@@ -35,15 +35,14 @@ var react_1 = __importStar(require("react"));
|
|
|
35
35
|
var styled_components_1 = __importDefault(require("styled-components"));
|
|
36
36
|
var utils_1 = require("./utils");
|
|
37
37
|
var useFullHeight_1 = require("../hooks/useFullHeight");
|
|
38
|
-
var hooks_1 = require("../mocks/hooks");
|
|
39
38
|
var useActiveHeading_1 = require("../hooks/useActiveHeading");
|
|
40
|
-
var
|
|
39
|
+
var useDefaultThemeSettings_1 = require("../hooks/useDefaultThemeSettings");
|
|
41
40
|
function TableOfContent(props) {
|
|
42
41
|
var _a;
|
|
43
42
|
var headings = props.headings, tocMaxDepth = props.tocMaxDepth, contentWrapper = props.contentWrapper;
|
|
44
43
|
var sidebar = (0, react_1.useRef)(null);
|
|
45
44
|
(0, useFullHeight_1.useFullHeight)(sidebar);
|
|
46
|
-
var toc = (0,
|
|
45
|
+
var toc = (0, useDefaultThemeSettings_1.useDefaultThemeSettings)().toc;
|
|
47
46
|
var displayedHeadings = (0, utils_1.getDisplayedHeadings)(headings, tocMaxDepth);
|
|
48
47
|
var leastDepth = (0, utils_1.getLeastDepth)(displayedHeadings);
|
|
49
48
|
var activeHeadingId = (0, useActiveHeading_1.useActiveHeading)(contentWrapper, (0, utils_1.getDisplayedHeadingsIds)(displayedHeadings));
|
package/globalStyle.js
CHANGED
|
@@ -26,12 +26,13 @@ var footer = (0, styled_components_1.css)(templateObject_16 || (templateObject_1
|
|
|
26
26
|
var logo = (0, styled_components_1.css)(templateObject_17 || (templateObject_17 = __makeTemplateObject(["\n /**\n * @tokens Logo\n */\n\n --navbar-logo-height: 2rem; // @presenter Spacing\n --navbar-logo-width: auto;\n --navbar-logo-margin: 16px; // @presenter Spacing\n --navbar-logo-max-width: 285px; // @presenter Spacing\n --navbar-logo-max-height: 285px; // @presenter Spacing\n\n // @tokens End\n"], ["\n /**\n * @tokens Logo\n */\n\n --navbar-logo-height: 2rem; // @presenter Spacing\n --navbar-logo-width: auto;\n --navbar-logo-margin: 16px; // @presenter Spacing\n --navbar-logo-max-width: 285px; // @presenter Spacing\n --navbar-logo-max-height: 285px; // @presenter Spacing\n\n // @tokens End\n"])));
|
|
27
27
|
var navbar = (0, styled_components_1.css)(templateObject_18 || (templateObject_18 = __makeTemplateObject(["\n /**\n * @tokens Navbar\n */\n --navbar-height: 60px; // @presenter Spacing\n --navbar-text-color: #fff; // @presenter Color\n --navbar-background-color: var(--color-primary-500); // @presenter Color\n --navbar-container-max-width: 100%;\n\n /**\n * @tokens Navbar Item\n * */\n --navbar-item-font-family: var(--font-family-base); // @presenter FontFamily\n --navbar-item-font-size: 16px; // @presenter FontSize\n --navbar-item-padding-horizontal: 16px; // @presenter Spacing\n --navbar-item-paddin-vertical: 8px; // @presenter Spacing\n --navbar-item-margin-horizontal: 7px;\n --navbar-item-border-radius: var(--border-radius); // @presenter BorderRadius\n --navbar-item-font-weight: var(--font-weight-bold); // @presenter FontWeight\n --navbar-item-hover-background-color: var(--color-primary-300);\n --navbar-item-active-background-color: var(--color-primary-300); // @presenter Color\n --navbar-item-hover-text-color: var(--navbar-text-color); // @presenter Color\n --navbar-item-hover-text-decoration: none;\n --navbar-item-active-text-color: var(--navbar-text-color); // @presenter Color\n --navbar-item-active-text-decoration: none;\n --navbar-item-separator-line-color: var(--border-color); // @presenter Color\n\n /**\n * @tokens Navbar dropdown\n * */\n\n --navbar-dropdown-shadow: 4px 4px 15px -2px rgba(0, 0, 0, 0.5); //should be variable\n --navbar-dropdown-background: var(--navbar-item-active-background-color);\n --navbar-dropdown-border: none;\n\n // @tokens End\n"], ["\n /**\n * @tokens Navbar\n */\n --navbar-height: 60px; // @presenter Spacing\n --navbar-text-color: #fff; // @presenter Color\n --navbar-background-color: var(--color-primary-500); // @presenter Color\n --navbar-container-max-width: 100%;\n\n /**\n * @tokens Navbar Item\n * */\n --navbar-item-font-family: var(--font-family-base); // @presenter FontFamily\n --navbar-item-font-size: 16px; // @presenter FontSize\n --navbar-item-padding-horizontal: 16px; // @presenter Spacing\n --navbar-item-paddin-vertical: 8px; // @presenter Spacing\n --navbar-item-margin-horizontal: 7px;\n --navbar-item-border-radius: var(--border-radius); // @presenter BorderRadius\n --navbar-item-font-weight: var(--font-weight-bold); // @presenter FontWeight\n --navbar-item-hover-background-color: var(--color-primary-300);\n --navbar-item-active-background-color: var(--color-primary-300); // @presenter Color\n --navbar-item-hover-text-color: var(--navbar-text-color); // @presenter Color\n --navbar-item-hover-text-decoration: none;\n --navbar-item-active-text-color: var(--navbar-text-color); // @presenter Color\n --navbar-item-active-text-decoration: none;\n --navbar-item-separator-line-color: var(--border-color); // @presenter Color\n\n /**\n * @tokens Navbar dropdown\n * */\n\n --navbar-dropdown-shadow: 4px 4px 15px -2px rgba(0, 0, 0, 0.5); //should be variable\n --navbar-dropdown-background: var(--navbar-item-active-background-color);\n --navbar-dropdown-border: none;\n\n // @tokens End\n"])));
|
|
28
28
|
var toc = (0, styled_components_1.css)(templateObject_19 || (templateObject_19 = __makeTemplateObject(["\n /**\n * @tokens TOC\n * */\n\n --toc-width: 240px;\n --toc-background-color: transparent;\n --toc-border-color: var(--border-color);\n\n --toc-spacing-unit: 8px;\n --toc-offset-top: calc(var(--toc-spacing-unit) * 2);\n\n /**\n * @tokens TOC item typography\n */\n --toc-item-font-family: var(--font-family-base); // @presenter FontFamily\n --toc-item-font-size: var(--font-size-base); // @presenter FontSize\n\n /**\n * @tokens TOC item\n */\n\n --toc-item-text-color: var(--text-color); // @presenter Color\n --toc-item-active-text-color: var(--text-color); // @presenter Color\n --toc-item-background-color: transparent; // @presenter Color\n --toc-item-active-background-color: var(--border-color); // @presenter Color\n --toc-item-nested-offset: calc(var(--toc-spacing-unit) * 2); // @presenter Spacing\n --toc-item-padding-vertical: var(--toc-spacing-unit); // @presenter Spacing\n --toc-item-padding-horizontal: calc(var(--toc-spacing-unit) * 2); // @presenter Spacing\n\n /**\n * @tokens TOC header\n */\n\n --toc-heading-font-size: var(--font-size-base); // @presenter FontSize\n --toc-heading-font-family: var(--font-family-base); // @presenter FontFamily\n --toc-heading-font-weight: bold; // @presenter FontWeight\n --toc-heading-text-color: var(--text-color); // @presenter Color\n\n // @tokens End\n"], ["\n /**\n * @tokens TOC\n * */\n\n --toc-width: 240px;\n --toc-background-color: transparent;\n --toc-border-color: var(--border-color);\n\n --toc-spacing-unit: 8px;\n --toc-offset-top: calc(var(--toc-spacing-unit) * 2);\n\n /**\n * @tokens TOC item typography\n */\n --toc-item-font-family: var(--font-family-base); // @presenter FontFamily\n --toc-item-font-size: var(--font-size-base); // @presenter FontSize\n\n /**\n * @tokens TOC item\n */\n\n --toc-item-text-color: var(--text-color); // @presenter Color\n --toc-item-active-text-color: var(--text-color); // @presenter Color\n --toc-item-background-color: transparent; // @presenter Color\n --toc-item-active-background-color: var(--border-color); // @presenter Color\n --toc-item-nested-offset: calc(var(--toc-spacing-unit) * 2); // @presenter Spacing\n --toc-item-padding-vertical: var(--toc-spacing-unit); // @presenter Spacing\n --toc-item-padding-horizontal: calc(var(--toc-spacing-unit) * 2); // @presenter Spacing\n\n /**\n * @tokens TOC header\n */\n\n --toc-heading-font-size: var(--font-size-base); // @presenter FontSize\n --toc-heading-font-family: var(--font-family-base); // @presenter FontFamily\n --toc-heading-font-weight: bold; // @presenter FontWeight\n --toc-heading-text-color: var(--text-color); // @presenter Color\n\n // @tokens End\n"])));
|
|
29
|
-
var
|
|
30
|
-
var
|
|
31
|
-
var
|
|
32
|
-
var
|
|
33
|
-
var
|
|
34
|
-
var
|
|
35
|
-
|
|
36
|
-
exports.
|
|
37
|
-
|
|
29
|
+
var loadProgressBar = (0, styled_components_1.css)(templateObject_20 || (templateObject_20 = __makeTemplateObject(["\n\n /**\n * @tokens Load progress bar\n */\n\n --load-progress-bar-color: var(--color-primary-500); // @presenter Color\n --load-progress-bar-shadow: 0 0 10px var(--load-progress-bar-color), 0 0 5px var(--load-progress-bar-color); // @presenter BoxShadow\n --load-progress-bar-height: 2px; // @presenter Height\n\n // @tokens End\n \n /* Make clicks pass-through */\n #nprogress {\n pointer-events: none;\n }\n\n #nprogress .bar {\n background: var(--load-progress-bar-color);\n\n position: fixed;\n z-index: 1031;\n top: 0;\n left: 0;\n\n width: 100%;\n height: var(--load-progress-bar-height);\n }\n\n #nprogress .peg {\n display: block;\n position: absolute;\n right: 0px;\n width: 100px;\n height: 100%;\n box-shadow: var(--load-progress-bar-shadow);\n opacity: 1.0;\n\n -webkit-transform: rotate(3deg) translate(0px, -4px);\n -ms-transform: rotate(3deg) translate(0px, -4px);\n transform: rotate(3deg) translate(0px, -4px);\n }\n\n .nprogress-custom-parent {\n overflow: hidden;\n position: relative;\n }\n\n .nprogress-custom-parent #nprogress .bar {\n position: absolute;\n }\n"], ["\n\n /**\n * @tokens Load progress bar\n */\n\n --load-progress-bar-color: var(--color-primary-500); // @presenter Color\n --load-progress-bar-shadow: 0 0 10px var(--load-progress-bar-color), 0 0 5px var(--load-progress-bar-color); // @presenter BoxShadow\n --load-progress-bar-height: 2px; // @presenter Height\n\n // @tokens End\n \n /* Make clicks pass-through */\n #nprogress {\n pointer-events: none;\n }\n\n #nprogress .bar {\n background: var(--load-progress-bar-color);\n\n position: fixed;\n z-index: 1031;\n top: 0;\n left: 0;\n\n width: 100%;\n height: var(--load-progress-bar-height);\n }\n\n #nprogress .peg {\n display: block;\n position: absolute;\n right: 0px;\n width: 100px;\n height: 100%;\n box-shadow: var(--load-progress-bar-shadow);\n opacity: 1.0;\n\n -webkit-transform: rotate(3deg) translate(0px, -4px);\n -ms-transform: rotate(3deg) translate(0px, -4px);\n transform: rotate(3deg) translate(0px, -4px);\n }\n\n .nprogress-custom-parent {\n overflow: hidden;\n position: relative;\n }\n\n .nprogress-custom-parent #nprogress .bar {\n position: absolute;\n }\n"])));
|
|
30
|
+
var inputs = (0, styled_components_1.css)(templateObject_21 || (templateObject_21 = __makeTemplateObject(["\n /**\n * @tokens Inputs\n */\n --input-text-color: var(--text-color-inverse); // @presenter Color\n --input-border: none; // @presenter Border\n --input-border-radius: var(--border-radius); // @presenter BorderRadius\n --input-font-size: var(--font-size-base); // @presenter FontSize\n --input-font-family: var(--code-font-family); // @presenter FontFamily\n --input-line-height: 1.15em; // @presenter LineHeight\n --input-padding: 8px;\n\n --input-hover-text-color: var(--text-color-inverse); // @presenter Color\n --input-hover-border: none; // @presenter Border\n --input-focus-border: none; // @presenter Border\n --input-focus-text-color: var(--text-color-inverse); // @presenter Color\n --input-placeholder-text-color: var(--text-color-inverse); // @presenter Color\n\n // @tokens End\n"], ["\n /**\n * @tokens Inputs\n */\n --input-text-color: var(--text-color-inverse); // @presenter Color\n --input-border: none; // @presenter Border\n --input-border-radius: var(--border-radius); // @presenter BorderRadius\n --input-font-size: var(--font-size-base); // @presenter FontSize\n --input-font-family: var(--code-font-family); // @presenter FontFamily\n --input-line-height: 1.15em; // @presenter LineHeight\n --input-padding: 8px;\n\n --input-hover-text-color: var(--text-color-inverse); // @presenter Color\n --input-hover-border: none; // @presenter Border\n --input-focus-border: none; // @presenter Border\n --input-focus-text-color: var(--text-color-inverse); // @presenter Color\n --input-placeholder-text-color: var(--text-color-inverse); // @presenter Color\n\n // @tokens End\n"])));
|
|
31
|
+
var markdown = (0, styled_components_1.css)(templateObject_22 || (templateObject_22 = __makeTemplateObject(["\n /**\n * @tokens Markdown Container\n */\n\n --md-container-max-width: 910px;\n --md-container-padding-vertical: 25px; // @presenter Spacing\n --md-container-padding-horizontal: 0px; // @presenter Spacing\n\n /**\n * @tokens Markdown Blockquote\n */\n\n --md-blockquote-margin-vertical: 1.5em; // @presenter Spacing\n --md-blockquote-margin-horizontal: 0; // @presenter Spacing\n --md-blockquote-padding-vertical: 0; // @presenter Spacing\n --md-blockquote-padding-horizontal: calc(var(--spacing-unit) * 4); // @presenter Spacing\n --md-blockquote-border-color: var(--border-color); // @presenter Color\n --md-blockquote-background-color: transparent; // @presenter Color\n --md-blockquote-border-left: 4px solid var(--md-blockquote-border-color); // @presenter Border\n --md-blockquote-text-color: var(--text-color); // @presenter Color\n --md-blockquote-box-shadow: none; // @presenter Shadow\n\n /** \n * @tokens Markdown Paragraph\n */\n\n --md-paragraph-margin-vertical: 10px; // @presenter Spacing\n --md-paragraph-margin-horizontal: 0px; // @presenter Spacing\n\n /**\n * @tokens Markdown Table\n */\n\n --md-table-font-size: 14px; // @presenter FontSize\n --md-table-margin-vertical: 20px; // @presenter Spacing\n --md-table-background-color: transparent; // @presenter Color\n\n --md-table-border-radius: var(--border-radius-lg); // @presenter BorderRadius\n --md-table-border-width: 1px;\n --md-table-border-color: var(--border-color); // @presenter Color\n\n --md-table-stripe-background-color: var(--md-table-background-color); // @presenter Color\n\n --md-table-cell-text-color: var(--text-color); // @presenter Color\n --md-table-cell-padding: 12px; // @presenter Spacing\n\n --md-table-head-background-color: var(--color-secondary-200); // @presenter Color\n --md-table-head-text-color: var(--text-color); // @presenter Color\n --md-table-head-font-weight: var(--font-weight-bold); // @presenter FontWeight\n\n /**\n * @tokens Markdown Horizontal Rule\n */\n\n --md-hr-background-color: transparent; // @presenter Color\n --md-hr-border-color: var(--border-color); // @presenter Color\n --md-hr-height: unset;\n --md-hr-margin-vertical: 20px; // @presenter Spacing\n\n /** \n * @tokens Markdown List\n */\n\n --md-list-left-padding: 2rem; // @presenter Spacing\n --md-list-margin: 1rem; // @presenter Spacing\n --md-list-item-margin: 0.25rem; // @presenter Spacing\n --md-list-item-style: inherit;\n\n /** \n * @tokens Markdown Numbered List\n */\n\n --md-numbered-list-number-display: none;\n --md-numbered-list-item-style: var(--md-list-item-style);\n --md-numbered-list-number-text-color: var(--color-secondary-100); // @presenter Color\n --md-numbered-list-number-font-size: var(--font-size-base); // @presenter FontSize\n --md-numbered-list-number-font-family: var(--font-size-base); // @presenter FontFamily\n --md-numbered-list-number-font-weight: var(--font-weight-regular); // @presenter FontWeight\n --md-numbered-list-number-background-color: var(--color-secondary-800); // @presenter Color\n --md-numbered-list-number-border-radius: 10px; // @presenter BorderRadius\n --md-numbered-list-number-margin-right: 5px; // @presenter Spacing\n --md-numbered-list-number-padding: 0 5px; // @presenter Spacing\n\n // @tokens End\n"], ["\n /**\n * @tokens Markdown Container\n */\n\n --md-container-max-width: 910px;\n --md-container-padding-vertical: 25px; // @presenter Spacing\n --md-container-padding-horizontal: 0px; // @presenter Spacing\n\n /**\n * @tokens Markdown Blockquote\n */\n\n --md-blockquote-margin-vertical: 1.5em; // @presenter Spacing\n --md-blockquote-margin-horizontal: 0; // @presenter Spacing\n --md-blockquote-padding-vertical: 0; // @presenter Spacing\n --md-blockquote-padding-horizontal: calc(var(--spacing-unit) * 4); // @presenter Spacing\n --md-blockquote-border-color: var(--border-color); // @presenter Color\n --md-blockquote-background-color: transparent; // @presenter Color\n --md-blockquote-border-left: 4px solid var(--md-blockquote-border-color); // @presenter Border\n --md-blockquote-text-color: var(--text-color); // @presenter Color\n --md-blockquote-box-shadow: none; // @presenter Shadow\n\n /** \n * @tokens Markdown Paragraph\n */\n\n --md-paragraph-margin-vertical: 10px; // @presenter Spacing\n --md-paragraph-margin-horizontal: 0px; // @presenter Spacing\n\n /**\n * @tokens Markdown Table\n */\n\n --md-table-font-size: 14px; // @presenter FontSize\n --md-table-margin-vertical: 20px; // @presenter Spacing\n --md-table-background-color: transparent; // @presenter Color\n\n --md-table-border-radius: var(--border-radius-lg); // @presenter BorderRadius\n --md-table-border-width: 1px;\n --md-table-border-color: var(--border-color); // @presenter Color\n\n --md-table-stripe-background-color: var(--md-table-background-color); // @presenter Color\n\n --md-table-cell-text-color: var(--text-color); // @presenter Color\n --md-table-cell-padding: 12px; // @presenter Spacing\n\n --md-table-head-background-color: var(--color-secondary-200); // @presenter Color\n --md-table-head-text-color: var(--text-color); // @presenter Color\n --md-table-head-font-weight: var(--font-weight-bold); // @presenter FontWeight\n\n /**\n * @tokens Markdown Horizontal Rule\n */\n\n --md-hr-background-color: transparent; // @presenter Color\n --md-hr-border-color: var(--border-color); // @presenter Color\n --md-hr-height: unset;\n --md-hr-margin-vertical: 20px; // @presenter Spacing\n\n /** \n * @tokens Markdown List\n */\n\n --md-list-left-padding: 2rem; // @presenter Spacing\n --md-list-margin: 1rem; // @presenter Spacing\n --md-list-item-margin: 0.25rem; // @presenter Spacing\n --md-list-item-style: inherit;\n\n /** \n * @tokens Markdown Numbered List\n */\n\n --md-numbered-list-number-display: none;\n --md-numbered-list-item-style: var(--md-list-item-style);\n --md-numbered-list-number-text-color: var(--color-secondary-100); // @presenter Color\n --md-numbered-list-number-font-size: var(--font-size-base); // @presenter FontSize\n --md-numbered-list-number-font-family: var(--font-size-base); // @presenter FontFamily\n --md-numbered-list-number-font-weight: var(--font-weight-regular); // @presenter FontWeight\n --md-numbered-list-number-background-color: var(--color-secondary-800); // @presenter Color\n --md-numbered-list-number-border-radius: 10px; // @presenter BorderRadius\n --md-numbered-list-number-margin-right: 5px; // @presenter Spacing\n --md-numbered-list-number-padding: 0 5px; // @presenter Spacing\n\n // @tokens End\n"])));
|
|
32
|
+
var search = (0, styled_components_1.css)(templateObject_23 || (templateObject_23 = __makeTemplateObject(["\n /**\n * @tokens Search\n */\n\n --search-highlight-text-color: #ffff03; // @presenter Color\n\n /**\n * @tokens Portal Search\n */\n\n --search-input-background-color: rgba(255, 255, 255, 0.1); // @presenter Color\n --search-input-text-color: #fff; // @presenter Color\n\n --search-input-border: none;\n --search-input-border-radius: var(--border-radius); // @presenter BorderRadius\n --search-input-font-size: var(--navbar-item-font-size); // @presenter FontSize\n --search-input-font-family: var(--font-family-base); // @presenter FontFamily\n --search-input-line-height: 1.15em; // @presenter LineHeight\n\n --search-input-hover-background-color: rgba(255, 255, 255, 0.1); // @presenter Color\n --search-input-hover-border: none; // @presenter Color\n --search-input-placeholder-color: var(--search-input-text-color);\n\n --search-popover-background-color: var(--background-color); // @presenter Color\n --search-popover-border-radius: var(--search-input-border-radius); // @presenter BorderRadius\n --search-popover-shadow: 0 16px 24px 2px rgba(0, 0, 0, 0.14), 0 6px 30px 5px rgba(0, 0, 0, 0.12),\n 0 8px 10px -5px rgba(0, 0, 0, 0.4); // @presenter BoxShadow\n --search-popover-border: none;\n\n --search-item-padding: 8px 24px;\n --search-item-text-color: var(--text-color-secondary); // @presenter Color\n --search-item-title-text-color: var(--text-color); // @presenter Color\n --search-item-background-color: transparent; // @presenter Color\n --search-item-active-text-color: var(--text-color-secondary); // @presenter Color\n --search-item-active-title-text-color: var(--text-color); // @presenter Color\n --search-item-active-background-color: rgba(0, 68, 212, 0.1); // @presenter Color\n\n /**\n * @tokens Sidebar Search\n */\n\n --sidebar-search-button-background-color: transparent; // @presenter Color\n --sidebar-search-button-text-color: var(--text-color); // @presenter Color\n --sidebar-search-button-border: var(--border-color);\n --sidebar-search-button-border-radius: none; // @presenter BorderRadius\n --sidebar-search-button-font-size: var(--font-size-small); // @presenter FontSize\n --sidebar-search-button-font-family: var(--font-family-base); // @presenter FontFamily\n --sidebar-search-button-line-height: 1.15em; // @presenter LineHeight\n --sidebar-search-button-hover-background-color: transparent; // @presenter Color\n --sidebar-search-button-hover-border: var(--border-color); // @presenter Color\n --sidebar-search-button-active-background-color: transparent; // @presenter Color\n --sidebar-search-button-active-border: var(--border-color); // @presenter Color\n\n /**\n * @tokens Search results modal\n * @presenter Color\n */\n\n --search-modal-background: var(--background-color);\n --search-modal-text-color: var(--text-color);\n --search-modal-border: none;\n --search-modal-box-shadow: none;\n\n --search-modal-header-border-radius: 8px;\n --search-modal-header-background-color: var(--color-secondary-100);\n --search-modal-clear-button-background-color: var(--color-secondary-300);\n --search-modal-clear-button-hover-background-color: var(--color-secondary-500);\n\n // @tokens End\n"], ["\n /**\n * @tokens Search\n */\n\n --search-highlight-text-color: #ffff03; // @presenter Color\n\n /**\n * @tokens Portal Search\n */\n\n --search-input-background-color: rgba(255, 255, 255, 0.1); // @presenter Color\n --search-input-text-color: #fff; // @presenter Color\n\n --search-input-border: none;\n --search-input-border-radius: var(--border-radius); // @presenter BorderRadius\n --search-input-font-size: var(--navbar-item-font-size); // @presenter FontSize\n --search-input-font-family: var(--font-family-base); // @presenter FontFamily\n --search-input-line-height: 1.15em; // @presenter LineHeight\n\n --search-input-hover-background-color: rgba(255, 255, 255, 0.1); // @presenter Color\n --search-input-hover-border: none; // @presenter Color\n --search-input-placeholder-color: var(--search-input-text-color);\n\n --search-popover-background-color: var(--background-color); // @presenter Color\n --search-popover-border-radius: var(--search-input-border-radius); // @presenter BorderRadius\n --search-popover-shadow: 0 16px 24px 2px rgba(0, 0, 0, 0.14), 0 6px 30px 5px rgba(0, 0, 0, 0.12),\n 0 8px 10px -5px rgba(0, 0, 0, 0.4); // @presenter BoxShadow\n --search-popover-border: none;\n\n --search-item-padding: 8px 24px;\n --search-item-text-color: var(--text-color-secondary); // @presenter Color\n --search-item-title-text-color: var(--text-color); // @presenter Color\n --search-item-background-color: transparent; // @presenter Color\n --search-item-active-text-color: var(--text-color-secondary); // @presenter Color\n --search-item-active-title-text-color: var(--text-color); // @presenter Color\n --search-item-active-background-color: rgba(0, 68, 212, 0.1); // @presenter Color\n\n /**\n * @tokens Sidebar Search\n */\n\n --sidebar-search-button-background-color: transparent; // @presenter Color\n --sidebar-search-button-text-color: var(--text-color); // @presenter Color\n --sidebar-search-button-border: var(--border-color);\n --sidebar-search-button-border-radius: none; // @presenter BorderRadius\n --sidebar-search-button-font-size: var(--font-size-small); // @presenter FontSize\n --sidebar-search-button-font-family: var(--font-family-base); // @presenter FontFamily\n --sidebar-search-button-line-height: 1.15em; // @presenter LineHeight\n --sidebar-search-button-hover-background-color: transparent; // @presenter Color\n --sidebar-search-button-hover-border: var(--border-color); // @presenter Color\n --sidebar-search-button-active-background-color: transparent; // @presenter Color\n --sidebar-search-button-active-border: var(--border-color); // @presenter Color\n\n /**\n * @tokens Search results modal\n * @presenter Color\n */\n\n --search-modal-background: var(--background-color);\n --search-modal-text-color: var(--text-color);\n --search-modal-border: none;\n --search-modal-box-shadow: none;\n\n --search-modal-header-border-radius: 8px;\n --search-modal-header-background-color: var(--color-secondary-100);\n --search-modal-clear-button-background-color: var(--color-secondary-300);\n --search-modal-clear-button-hover-background-color: var(--color-secondary-500);\n\n // @tokens End\n"])));
|
|
33
|
+
var dropdown = (0, styled_components_1.css)(templateObject_24 || (templateObject_24 = __makeTemplateObject(["\n --dropdown-font-size: 14px;\n --dropdown-text-color: var(--text-color);\n\n --dropdown-padding-vertical: 8px;\n --dropdown-padding-left: 10px;\n --dropdown-padding-right: 26px;\n --dropdown-padding: var(--dropdown-padding-vertical) var(--dropdown-padding-right)\n var(--dropdown-padding-vertical) var(--dropdown-padding-left);\n\n --dropdown-border: none;\n"], ["\n --dropdown-font-size: 14px;\n --dropdown-text-color: var(--text-color);\n\n --dropdown-padding-vertical: 8px;\n --dropdown-padding-left: 10px;\n --dropdown-padding-right: 26px;\n --dropdown-padding: var(--dropdown-padding-vertical) var(--dropdown-padding-right)\n var(--dropdown-padding-vertical) var(--dropdown-padding-left);\n\n --dropdown-border: none;\n"])));
|
|
34
|
+
var lastUpdated = (0, styled_components_1.css)(templateObject_25 || (templateObject_25 = __makeTemplateObject(["\n --last-updated-text-color: var(--text-color);\n --last-updated-font-size: var(--font-size-small);\n --last-updated-font-family: var(--font-family-base);\n --last-updated-line-height: var(--line-height-base);\n"], ["\n --last-updated-text-color: var(--text-color);\n --last-updated-font-size: var(--font-size-small);\n --last-updated-font-family: var(--font-family-base);\n --last-updated-line-height: var(--line-height-base);\n"])));
|
|
35
|
+
var tile = (0, styled_components_1.css)(templateObject_26 || (templateObject_26 = __makeTemplateObject(["\n --wide-tile-background-color: var(--color-secondary-50);\n --thin-tile-background-color: var(--color-secondary-50);\n"], ["\n --wide-tile-background-color: var(--color-secondary-50);\n --thin-tile-background-color: var(--color-secondary-50);\n"])));
|
|
36
|
+
exports.styles = (0, styled_components_1.css)(templateObject_27 || (templateObject_27 = __makeTemplateObject(["\n :root {\n ", "\n ", "\n ", "\n ", "\n ", "\n ", "\n ", "\n ", "\n ", "\n ", "\n ", "\n ", "\n ", "\n ", "\n ", "\n ", "\n ", "\n ", "\n ", "\n ", "\n ", "\n ", "\n ", "\n ", "\n ", "\n ", "\n }\n\n :root.dark {\n ", ";\n }\n"], ["\n :root {\n ", "\n ", "\n ", "\n ", "\n ", "\n ", "\n ", "\n ", "\n ", "\n ", "\n ", "\n ", "\n ", "\n ", "\n ", "\n ", "\n ", "\n ", "\n ", "\n ", "\n ", "\n ", "\n ", "\n ", "\n ", "\n ", "\n }\n\n :root.dark {\n ", ";\n }\n"])), baseColors, httpColors, responsePanelColors, typography, headingsTypography, common, admonition, buttons, sidebar, navbar, footer, logo, badges, toc, inputs, tooltip, code, links, markdown, search, dropdown, apiReferencePanels, apiReferenceDocs, lastUpdated, tile, loadProgressBar, darkColors_1.darkMode);
|
|
37
|
+
exports.GlobalStyle = (0, styled_components_1.createGlobalStyle)(templateObject_28 || (templateObject_28 = __makeTemplateObject(["\n ", ";\n"], ["\n ", ";\n"])), exports.styles);
|
|
38
|
+
var templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6, templateObject_7, templateObject_8, templateObject_9, templateObject_10, templateObject_11, templateObject_12, templateObject_13, templateObject_14, templateObject_15, templateObject_16, templateObject_17, templateObject_18, templateObject_19, templateObject_20, templateObject_21, templateObject_22, templateObject_23, templateObject_24, templateObject_25, templateObject_26, templateObject_27, templateObject_28;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.useDefaultThemeSettings = void 0;
|
|
4
|
+
var hooks_1 = require("../mocks/hooks");
|
|
5
|
+
var constants_1 = require("../mocks/constants");
|
|
6
|
+
function useDefaultThemeSettings() {
|
|
7
|
+
return (0, hooks_1.useThemeSettings)(constants_1.DEFAULT_THEME_NAME);
|
|
8
|
+
}
|
|
9
|
+
exports.useDefaultThemeSettings = useDefaultThemeSettings;
|
package/mocks/types.d.ts
CHANGED
package/package.json
CHANGED
|
@@ -1,13 +1,12 @@
|
|
|
1
1
|
import React, { useState } from 'react';
|
|
2
2
|
import styled from 'styled-components';
|
|
3
3
|
|
|
4
|
-
import { useThemeSettings } from '@portal/hooks';
|
|
5
|
-
import { DEFAULT_THEME_NAME } from '@portal/constants';
|
|
6
4
|
import { ColorModeIcon } from '@theme/icons/ColorModeIcon';
|
|
7
5
|
import { useMount } from '@theme/hooks';
|
|
6
|
+
import { useDefaultThemeSettings } from '@theme/hooks/useDefaultThemeSettings';
|
|
8
7
|
|
|
9
8
|
export function ColorModeSwitcher(): JSX.Element | null {
|
|
10
|
-
const themeSettings =
|
|
9
|
+
const themeSettings = useDefaultThemeSettings();
|
|
11
10
|
const colorMode = themeSettings.colorMode;
|
|
12
11
|
const [activeColorMode, setActiveColorMode] = useState('');
|
|
13
12
|
|
package/src/Footer/Footer.tsx
CHANGED
|
@@ -5,16 +5,15 @@ import type { NavGroupRecord, ResolvedNavItem } from '@theme/types/portal';
|
|
|
5
5
|
|
|
6
6
|
import { FooterColumns } from '@theme/Footer/FooterColumns';
|
|
7
7
|
import { FooterCopyright } from '@theme/Footer/FooterCopyright';
|
|
8
|
-
import { useThemeSettings } from '@portal/hooks';
|
|
9
|
-
import { DEFAULT_THEME_NAME } from '@portal/constants';
|
|
10
8
|
import { isEmptyArray } from '@theme/utils';
|
|
9
|
+
import { useDefaultThemeSettings } from '@theme/hooks/useDefaultThemeSettings';
|
|
11
10
|
|
|
12
11
|
interface FooterProps {
|
|
13
12
|
data: NavGroupRecord;
|
|
14
13
|
}
|
|
15
14
|
|
|
16
15
|
export function Footer({ data: { columns, copyrightText } }: FooterProps): JSX.Element | null {
|
|
17
|
-
const { footer } =
|
|
16
|
+
const { footer } = useDefaultThemeSettings();
|
|
18
17
|
|
|
19
18
|
if (isEmptyArray(columns) || !copyrightText || footer?.hide) {
|
|
20
19
|
return null;
|
|
@@ -2,15 +2,14 @@ import React from 'react';
|
|
|
2
2
|
import styled from 'styled-components';
|
|
3
3
|
import { format } from 'timeago.js';
|
|
4
4
|
|
|
5
|
-
import {
|
|
6
|
-
import { DEFAULT_THEME_NAME } from '@portal/constants';
|
|
5
|
+
import { useDefaultThemeSettings } from '@theme/hooks/useDefaultThemeSettings';
|
|
7
6
|
|
|
8
7
|
export interface LastUpdatedProps {
|
|
9
8
|
lastModified: string | Date;
|
|
10
9
|
}
|
|
11
10
|
|
|
12
11
|
export function LastUpdated({ lastModified }: LastUpdatedProps): JSX.Element | null {
|
|
13
|
-
const { lastUpdatedBlock } =
|
|
12
|
+
const { lastUpdatedBlock } = useDefaultThemeSettings();
|
|
14
13
|
|
|
15
14
|
if (lastUpdatedBlock?.hide) {
|
|
16
15
|
return null;
|
|
@@ -2,38 +2,26 @@ import React, { useState } from 'react';
|
|
|
2
2
|
import styled, { css } from 'styled-components';
|
|
3
3
|
|
|
4
4
|
import { ClipboardService } from '@theme/utils/ClipboardService';
|
|
5
|
-
|
|
6
|
-
export interface MdCopyCodeProps {
|
|
7
|
-
enabled?: boolean;
|
|
8
|
-
buttonText?: string;
|
|
9
|
-
tooltipText?: string;
|
|
10
|
-
toasterText?: string;
|
|
11
|
-
toasterDuration?: number;
|
|
12
|
-
}
|
|
5
|
+
import { useDefaultThemeSettings } from '@theme/hooks/useDefaultThemeSettings';
|
|
13
6
|
|
|
14
7
|
export type CodeSampleProps = {
|
|
15
8
|
language: string;
|
|
16
9
|
highlighted: string;
|
|
17
10
|
rawContent: string;
|
|
18
|
-
copyCodeSnippet: MdCopyCodeProps;
|
|
19
11
|
};
|
|
20
12
|
|
|
21
13
|
const defaultCopyCodeSnippet = {
|
|
22
|
-
|
|
14
|
+
hide: false,
|
|
23
15
|
buttonText: 'Copy',
|
|
24
16
|
tooltipText: 'Copy the code snippet',
|
|
25
17
|
toasterText: 'Copied',
|
|
26
18
|
toasterDuration: 1500,
|
|
27
19
|
};
|
|
28
20
|
|
|
29
|
-
export function CodeSample({
|
|
30
|
-
rawContent,
|
|
31
|
-
highlighted,
|
|
32
|
-
language,
|
|
33
|
-
copyCodeSnippet,
|
|
34
|
-
}: CodeSampleProps): JSX.Element {
|
|
21
|
+
export function CodeSample({ rawContent, highlighted, language }: CodeSampleProps): JSX.Element {
|
|
35
22
|
const langClassName = language ? `language-${language}` : '';
|
|
36
|
-
const
|
|
23
|
+
const { copyCodeSnippet } = useDefaultThemeSettings();
|
|
24
|
+
const copyCodeProps = { ...copyCodeSnippet, ...defaultCopyCodeSnippet };
|
|
37
25
|
|
|
38
26
|
const [isCopied, setIsCopied] = useState(false);
|
|
39
27
|
|
|
@@ -45,7 +33,7 @@ export function CodeSample({
|
|
|
45
33
|
|
|
46
34
|
return (
|
|
47
35
|
<Wrapper className="code-sample" data-component-name="Markdown/CodeSample/CodeSample">
|
|
48
|
-
{copyCodeProps.
|
|
36
|
+
{!copyCodeProps.hide && (
|
|
49
37
|
<CodeSampleButtonContainer onClick={() => copyCode(rawContent)}>
|
|
50
38
|
{!isCopied && (
|
|
51
39
|
<CopyCodeButton title={copyCodeProps.tooltipText}>
|
package/src/Navbar/Navbar.tsx
CHANGED
|
@@ -3,13 +3,12 @@ import styled from 'styled-components';
|
|
|
3
3
|
|
|
4
4
|
import type { ResolvedConfigLinks } from '@theme/types/portal';
|
|
5
5
|
|
|
6
|
-
import { useThemeSettings } from '@portal/hooks';
|
|
7
|
-
import { DEFAULT_THEME_NAME } from '@portal/constants';
|
|
8
6
|
import { NavbarMenu } from '@theme/Navbar';
|
|
9
7
|
import { useMobileMenu } from '@theme/hooks/useMobileMenu';
|
|
10
8
|
import { MobileNavbarMenuButton } from '@theme/Navbar/MobileNavbarMenuButton';
|
|
11
9
|
import { MobileNavbarMenu } from '@theme/Navbar/MobileNavbarMenu';
|
|
12
10
|
import { ColorModeSwitcher } from '@theme/ColorModeSwitcher/ColorModeSwitcher';
|
|
11
|
+
import { useDefaultThemeSettings } from '@theme/hooks/useDefaultThemeSettings';
|
|
13
12
|
|
|
14
13
|
interface NavbarProps {
|
|
15
14
|
menu: ResolvedConfigLinks;
|
|
@@ -20,7 +19,7 @@ interface NavbarProps {
|
|
|
20
19
|
|
|
21
20
|
export function Navbar({ menu, logo, search, profile }: NavbarProps): JSX.Element | null {
|
|
22
21
|
const [isOpen, setIsOpen] = useMobileMenu(false);
|
|
23
|
-
const { search: searchSettings, navbar } =
|
|
22
|
+
const { search: searchSettings, navbar } = useDefaultThemeSettings();
|
|
24
23
|
const hideSearch =
|
|
25
24
|
searchSettings?.hide || (searchSettings?.placement && searchSettings?.placement !== 'navbar');
|
|
26
25
|
|
|
@@ -3,9 +3,9 @@ import styled from 'styled-components';
|
|
|
3
3
|
|
|
4
4
|
import type { ResolvedNavItemWithLink } from '@theme/types/portal';
|
|
5
5
|
|
|
6
|
-
import {
|
|
7
|
-
import { DEFAULT_THEME_NAME } from '@portal/constants';
|
|
6
|
+
import { useSidebarSiblingsData } from '@portal/hooks';
|
|
8
7
|
import { Button } from '@theme/Button/Button';
|
|
8
|
+
import { useDefaultThemeSettings } from '@theme/hooks/useDefaultThemeSettings';
|
|
9
9
|
|
|
10
10
|
interface NextPageType {
|
|
11
11
|
nextPage?: ResolvedNavItemWithLink | null;
|
|
@@ -13,7 +13,7 @@ interface NextPageType {
|
|
|
13
13
|
|
|
14
14
|
export function NextPageLink(): JSX.Element {
|
|
15
15
|
const { nextPage }: NextPageType = useSidebarSiblingsData() || {};
|
|
16
|
-
const { navigation } =
|
|
16
|
+
const { navigation } = useDefaultThemeSettings();
|
|
17
17
|
|
|
18
18
|
if (!nextPage || navigation?.hide || navigation?.nextPageLink?.hide) {
|
|
19
19
|
return <div> </div>;
|
|
@@ -3,8 +3,7 @@ import styled from 'styled-components';
|
|
|
3
3
|
|
|
4
4
|
import { PreviousPageLink } from '@theme/PageNavigation/PreviousPageLink';
|
|
5
5
|
import { NextPageLink } from '@theme/PageNavigation/NextPageLink';
|
|
6
|
-
import {
|
|
7
|
-
import { DEFAULT_THEME_NAME } from '@portal/constants';
|
|
6
|
+
import { useDefaultThemeSettings } from '@theme/hooks/useDefaultThemeSettings';
|
|
8
7
|
|
|
9
8
|
type PageNavigationProps = {
|
|
10
9
|
showPrevButton?: boolean;
|
|
@@ -15,7 +14,7 @@ export function PageNavigation({
|
|
|
15
14
|
showPrevButton = true,
|
|
16
15
|
showNextButton = true,
|
|
17
16
|
}: PageNavigationProps): JSX.Element | null {
|
|
18
|
-
const { navigation } =
|
|
17
|
+
const { navigation } = useDefaultThemeSettings();
|
|
19
18
|
|
|
20
19
|
if (navigation?.hide) {
|
|
21
20
|
return null;
|
|
@@ -3,8 +3,8 @@ import styled from 'styled-components';
|
|
|
3
3
|
|
|
4
4
|
import type { ResolvedNavItemWithLink } from '@theme/types/portal';
|
|
5
5
|
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
6
|
+
import { useSidebarSiblingsData } from '@portal/hooks';
|
|
7
|
+
import { useDefaultThemeSettings } from '@theme/hooks/useDefaultThemeSettings';
|
|
8
8
|
import { Button } from '@theme/Button/Button';
|
|
9
9
|
|
|
10
10
|
interface PreviousPageType {
|
|
@@ -13,7 +13,7 @@ interface PreviousPageType {
|
|
|
13
13
|
|
|
14
14
|
export function PreviousPageLink(): JSX.Element {
|
|
15
15
|
const { prevPage }: PreviousPageType = useSidebarSiblingsData() || {};
|
|
16
|
-
const { navigation } =
|
|
16
|
+
const { navigation } = useDefaultThemeSettings();
|
|
17
17
|
|
|
18
18
|
if (!prevPage || navigation?.hide || navigation?.previousPageLink?.hide) {
|
|
19
19
|
return <div> </div>;
|
|
@@ -5,9 +5,8 @@ import { Sidebar } from '@theme/Sidebar/Sidebar';
|
|
|
5
5
|
import { useMobileMenu } from '@theme/hooks/useMobileMenu';
|
|
6
6
|
import { MobileSidebarButton } from '@theme/Sidebar/MobileSidebarButton';
|
|
7
7
|
import { MenuContainer } from '@theme/Sidebar/MenuContainer';
|
|
8
|
-
import { useThemeSettings } from '@portal/hooks';
|
|
9
|
-
import { DEFAULT_THEME_NAME } from '@portal/constants';
|
|
10
8
|
import { SidebarSearch } from '@theme/Search/SidebarSearch';
|
|
9
|
+
import { useDefaultThemeSettings } from '@theme/hooks/useDefaultThemeSettings';
|
|
11
10
|
|
|
12
11
|
interface SidebarLayoutProps {
|
|
13
12
|
versions: React.ReactNode;
|
|
@@ -17,7 +16,7 @@ interface SidebarLayoutProps {
|
|
|
17
16
|
export function SidebarLayout({ versions, menu }: SidebarLayoutProps): JSX.Element | null {
|
|
18
17
|
const [isOpen, setIsOpen] = useMobileMenu();
|
|
19
18
|
const toggleMenu = () => setIsOpen(!isOpen);
|
|
20
|
-
const { search, sidebar } =
|
|
19
|
+
const { search, sidebar } = useDefaultThemeSettings();
|
|
21
20
|
|
|
22
21
|
if (sidebar?.hide) {
|
|
23
22
|
return null;
|
|
@@ -6,9 +6,8 @@ import type { MdHeading } from '@theme/types/portal';
|
|
|
6
6
|
import { getDisplayedHeadingsIds, getDisplayedHeadings, getLeastDepth } from './utils';
|
|
7
7
|
|
|
8
8
|
import { useFullHeight } from '@theme/hooks/useFullHeight';
|
|
9
|
-
import { useThemeSettings } from '@portal/hooks';
|
|
10
9
|
import { useActiveHeading } from '@theme/hooks/useActiveHeading';
|
|
11
|
-
import {
|
|
10
|
+
import { useDefaultThemeSettings } from '@theme/hooks/useDefaultThemeSettings';
|
|
12
11
|
|
|
13
12
|
interface TableOfContentProps {
|
|
14
13
|
headings?: Array<MdHeading | null> | null | undefined;
|
|
@@ -21,7 +20,7 @@ export function TableOfContent(props: TableOfContentProps): JSX.Element | null {
|
|
|
21
20
|
|
|
22
21
|
const sidebar = useRef<HTMLDivElement | null>(null);
|
|
23
22
|
useFullHeight(sidebar);
|
|
24
|
-
const { toc } =
|
|
23
|
+
const { toc } = useDefaultThemeSettings();
|
|
25
24
|
|
|
26
25
|
const displayedHeadings = getDisplayedHeadings(headings, tocMaxDepth);
|
|
27
26
|
const leastDepth = getLeastDepth(displayedHeadings);
|
package/src/globalStyle.ts
CHANGED
|
@@ -1647,6 +1647,59 @@ const toc = css`
|
|
|
1647
1647
|
// @tokens End
|
|
1648
1648
|
`;
|
|
1649
1649
|
|
|
1650
|
+
const loadProgressBar = css`
|
|
1651
|
+
|
|
1652
|
+
/**
|
|
1653
|
+
* @tokens Load progress bar
|
|
1654
|
+
*/
|
|
1655
|
+
|
|
1656
|
+
--load-progress-bar-color: var(--color-primary-500); // @presenter Color
|
|
1657
|
+
--load-progress-bar-shadow: 0 0 10px var(--load-progress-bar-color), 0 0 5px var(--load-progress-bar-color); // @presenter BoxShadow
|
|
1658
|
+
--load-progress-bar-height: 2px; // @presenter Height
|
|
1659
|
+
|
|
1660
|
+
// @tokens End
|
|
1661
|
+
|
|
1662
|
+
/* Make clicks pass-through */
|
|
1663
|
+
#nprogress {
|
|
1664
|
+
pointer-events: none;
|
|
1665
|
+
}
|
|
1666
|
+
|
|
1667
|
+
#nprogress .bar {
|
|
1668
|
+
background: var(--load-progress-bar-color);
|
|
1669
|
+
|
|
1670
|
+
position: fixed;
|
|
1671
|
+
z-index: 1031;
|
|
1672
|
+
top: 0;
|
|
1673
|
+
left: 0;
|
|
1674
|
+
|
|
1675
|
+
width: 100%;
|
|
1676
|
+
height: var(--load-progress-bar-height);
|
|
1677
|
+
}
|
|
1678
|
+
|
|
1679
|
+
#nprogress .peg {
|
|
1680
|
+
display: block;
|
|
1681
|
+
position: absolute;
|
|
1682
|
+
right: 0px;
|
|
1683
|
+
width: 100px;
|
|
1684
|
+
height: 100%;
|
|
1685
|
+
box-shadow: var(--load-progress-bar-shadow);
|
|
1686
|
+
opacity: 1.0;
|
|
1687
|
+
|
|
1688
|
+
-webkit-transform: rotate(3deg) translate(0px, -4px);
|
|
1689
|
+
-ms-transform: rotate(3deg) translate(0px, -4px);
|
|
1690
|
+
transform: rotate(3deg) translate(0px, -4px);
|
|
1691
|
+
}
|
|
1692
|
+
|
|
1693
|
+
.nprogress-custom-parent {
|
|
1694
|
+
overflow: hidden;
|
|
1695
|
+
position: relative;
|
|
1696
|
+
}
|
|
1697
|
+
|
|
1698
|
+
.nprogress-custom-parent #nprogress .bar {
|
|
1699
|
+
position: absolute;
|
|
1700
|
+
}
|
|
1701
|
+
`
|
|
1702
|
+
|
|
1650
1703
|
const inputs = css`
|
|
1651
1704
|
/**
|
|
1652
1705
|
* @tokens Inputs
|
|
@@ -1879,6 +1932,7 @@ export const styles = css`
|
|
|
1879
1932
|
${apiReferenceDocs}
|
|
1880
1933
|
${lastUpdated}
|
|
1881
1934
|
${tile}
|
|
1935
|
+
${loadProgressBar}
|
|
1882
1936
|
}
|
|
1883
1937
|
|
|
1884
1938
|
:root.dark {
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { RawTheme } from '@portal/types';
|
|
2
|
+
|
|
3
|
+
import { useThemeSettings } from '@portal/hooks';
|
|
4
|
+
import { DEFAULT_THEME_NAME } from '@portal/constants';
|
|
5
|
+
|
|
6
|
+
export function useDefaultThemeSettings(): RawTheme['settings'] {
|
|
7
|
+
return useThemeSettings(DEFAULT_THEME_NAME);
|
|
8
|
+
}
|