@redocly/theme 0.1.21 → 0.1.22
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Button/Button.d.ts +1 -1
- package/Footer/Footer.js +4 -1
- package/Navbar/Navbar.d.ts +1 -1
- package/Navbar/Navbar.js +6 -3
- package/Sidebar/SidebarLayout.d.ts +1 -1
- package/Sidebar/SidebarLayout.js +5 -2
- package/package.json +1 -1
- package/settings.yaml +6 -0
- package/src/Button/Button.tsx +1 -1
- package/src/Footer/Footer.tsx +5 -1
- package/src/Navbar/Navbar.tsx +8 -4
- package/src/PageNavigation/NextPageLink.tsx +2 -2
- package/src/Sidebar/SidebarLayout.tsx +9 -5
package/Button/Button.d.ts
CHANGED
|
@@ -12,7 +12,7 @@ export interface ButtonProps {
|
|
|
12
12
|
size?: ButtonSize;
|
|
13
13
|
extraClass?: string;
|
|
14
14
|
to?: string;
|
|
15
|
-
onClick?: () => void;
|
|
15
|
+
onClick?: (e?: any) => void;
|
|
16
16
|
}
|
|
17
17
|
export declare const baseButtonStyles: FlattenSimpleInterpolation;
|
|
18
18
|
export declare const Button: React.FC<ButtonProps>;
|
package/Footer/Footer.js
CHANGED
|
@@ -12,9 +12,12 @@ var react_1 = __importDefault(require("react"));
|
|
|
12
12
|
var styled_components_1 = __importDefault(require("styled-components"));
|
|
13
13
|
var FooterColumns_1 = require("../Footer/FooterColumns");
|
|
14
14
|
var FooterCopyright_1 = require("../Footer/FooterCopyright");
|
|
15
|
+
var hooks_1 = require("../mocks/hooks");
|
|
16
|
+
var constants_1 = require("../mocks/constants");
|
|
15
17
|
function Footer(_a) {
|
|
16
18
|
var _b = _a.data, columns = _b.columns, copyrightText = _b.copyrightText;
|
|
17
|
-
|
|
19
|
+
var footer = (0, hooks_1.useThemeSettings)(constants_1.USER_THEME_ALIAS).footer;
|
|
20
|
+
if (!((columns === null || columns === void 0 ? void 0 : columns.length) || copyrightText) || (footer === null || footer === void 0 ? void 0 : footer.hide)) {
|
|
18
21
|
return null;
|
|
19
22
|
}
|
|
20
23
|
return (react_1.default.createElement(FooterContainer, { "data-component-name": "Footer/Footer" },
|
package/Navbar/Navbar.d.ts
CHANGED
|
@@ -5,6 +5,6 @@ interface NavbarProps {
|
|
|
5
5
|
logo: React.ReactNode;
|
|
6
6
|
search: React.ReactNode;
|
|
7
7
|
}
|
|
8
|
-
export declare function Navbar({ menu, logo, search }: NavbarProps): JSX.Element;
|
|
8
|
+
export declare function Navbar({ menu, logo, search }: NavbarProps): JSX.Element | null;
|
|
9
9
|
export declare const NavbarContainer: import("styled-components").StyledComponent<"nav", any, {}, never>;
|
|
10
10
|
export {};
|
package/Navbar/Navbar.js
CHANGED
|
@@ -16,9 +16,12 @@ var Navbar_1 = require("../Navbar");
|
|
|
16
16
|
function Navbar(_a) {
|
|
17
17
|
var _b;
|
|
18
18
|
var menu = _a.menu, logo = _a.logo, search = _a.search;
|
|
19
|
-
var
|
|
20
|
-
var
|
|
21
|
-
|
|
19
|
+
var settings = (0, hooks_1.useThemeSettings)(constants_1.USER_THEME_ALIAS);
|
|
20
|
+
var searchSettings = settings.search;
|
|
21
|
+
var hideSearch = (searchSettings === null || searchSettings === void 0 ? void 0 : searchSettings.hide) || ((searchSettings === null || searchSettings === void 0 ? void 0 : searchSettings.placement) && (searchSettings === null || searchSettings === void 0 ? void 0 : searchSettings.placement) !== 'navbar');
|
|
22
|
+
if ((_b = settings === null || settings === void 0 ? void 0 : settings.navbar) === null || _b === void 0 ? void 0 : _b.hide) {
|
|
23
|
+
return null;
|
|
24
|
+
}
|
|
22
25
|
return (react_1.default.createElement(exports.NavbarContainer, { "data-component-name": "Navbar/Navbar" },
|
|
23
26
|
logo,
|
|
24
27
|
react_1.default.createElement(Navbar_1.NavbarMenu, { menuItems: menu }),
|
|
@@ -3,5 +3,5 @@ interface SidebarLayoutProps {
|
|
|
3
3
|
versions: React.ReactNode;
|
|
4
4
|
menu: React.ReactNode;
|
|
5
5
|
}
|
|
6
|
-
export declare function SidebarLayout({ versions, menu }: SidebarLayoutProps): JSX.Element;
|
|
6
|
+
export declare function SidebarLayout({ versions, menu }: SidebarLayoutProps): JSX.Element | null;
|
|
7
7
|
export {};
|
package/Sidebar/SidebarLayout.js
CHANGED
|
@@ -21,10 +21,13 @@ function SidebarLayout(_a) {
|
|
|
21
21
|
var versions = _a.versions, menu = _a.menu;
|
|
22
22
|
var _b = (0, useMobileMenu_1.useMobileMenu)(), isOpen = _b[0], setIsOpen = _b[1];
|
|
23
23
|
var toggleMenu = function () { return setIsOpen(!isOpen); };
|
|
24
|
-
var _c = (0, hooks_1.useThemeSettings)(constants_1.DEFAULT_THEME_NAME)
|
|
24
|
+
var _c = (0, hooks_1.useThemeSettings)(constants_1.DEFAULT_THEME_NAME), search = _c.search, sidebar = _c.sidebar;
|
|
25
|
+
if (sidebar === null || sidebar === void 0 ? void 0 : sidebar.hide) {
|
|
26
|
+
return null;
|
|
27
|
+
}
|
|
25
28
|
return (react_1.default.createElement(Wrapper, { "data-component-name": "Sidebar/SidebarLayout" },
|
|
26
29
|
react_1.default.createElement(MobileSidebarButton_1.MobileSidebarButton, { opened: isOpen, onClick: toggleMenu }),
|
|
27
|
-
!hide && placement === 'sidebar' ? react_1.default.createElement(SidebarSearch_1.SidebarSearch, null) : null,
|
|
30
|
+
!(search === null || search === void 0 ? void 0 : search.hide) && (search === null || search === void 0 ? void 0 : search.placement) === 'sidebar' ? react_1.default.createElement(SidebarSearch_1.SidebarSearch, null) : null,
|
|
28
31
|
react_1.default.createElement(Sidebar_1.Sidebar, { animate: true, opened: isOpen },
|
|
29
32
|
versions,
|
|
30
33
|
react_1.default.createElement(MenuContainer_1.MenuContainer, null, menu))));
|
package/package.json
CHANGED
package/settings.yaml
CHANGED
package/src/Button/Button.tsx
CHANGED
package/src/Footer/Footer.tsx
CHANGED
|
@@ -4,13 +4,17 @@ import styled from 'styled-components';
|
|
|
4
4
|
import { FooterColumns } from '@theme/Footer/FooterColumns';
|
|
5
5
|
import { FooterCopyright } from '@theme/Footer/FooterCopyright';
|
|
6
6
|
import type { NavGroupRecord } from '@theme/types/portal';
|
|
7
|
+
import { useThemeSettings } from '@portal/hooks';
|
|
8
|
+
import { USER_THEME_ALIAS } from '@portal/constants';
|
|
7
9
|
|
|
8
10
|
interface FooterProps {
|
|
9
11
|
data: NavGroupRecord;
|
|
10
12
|
}
|
|
11
13
|
|
|
12
14
|
export function Footer({ data: { columns, copyrightText } }: FooterProps): JSX.Element | null {
|
|
13
|
-
|
|
15
|
+
const { footer } = useThemeSettings(USER_THEME_ALIAS);
|
|
16
|
+
|
|
17
|
+
if (!(columns?.length || copyrightText) || footer?.hide) {
|
|
14
18
|
return null;
|
|
15
19
|
}
|
|
16
20
|
|
package/src/Navbar/Navbar.tsx
CHANGED
|
@@ -12,11 +12,15 @@ interface NavbarProps {
|
|
|
12
12
|
search: React.ReactNode;
|
|
13
13
|
}
|
|
14
14
|
|
|
15
|
-
export function Navbar({ menu, logo, search }: NavbarProps): JSX.Element {
|
|
16
|
-
const
|
|
15
|
+
export function Navbar({ menu, logo, search }: NavbarProps): JSX.Element | null {
|
|
16
|
+
const settings = useThemeSettings(USER_THEME_ALIAS);
|
|
17
|
+
const searchSettings = settings.search;
|
|
17
18
|
const hideSearch =
|
|
18
|
-
|
|
19
|
-
|
|
19
|
+
searchSettings?.hide || (searchSettings?.placement && searchSettings?.placement !== 'navbar');
|
|
20
|
+
|
|
21
|
+
if (settings?.navbar?.hide) {
|
|
22
|
+
return null;
|
|
23
|
+
}
|
|
20
24
|
|
|
21
25
|
return (
|
|
22
26
|
<NavbarContainer data-component-name="Navbar/Navbar">
|
|
@@ -2,8 +2,8 @@ import React from 'react';
|
|
|
2
2
|
|
|
3
3
|
import type { ResolvedNavLinkItem } from '@theme/types/portal';
|
|
4
4
|
import { usePageData } from '@portal/hooks/usePageData';
|
|
5
|
-
import { useThemeSettings } from '@portal/hooks
|
|
6
|
-
import { DEFAULT_THEME_NAME } from '@portal/constants
|
|
5
|
+
import { useThemeSettings } from '@portal/hooks';
|
|
6
|
+
import { DEFAULT_THEME_NAME } from '@portal/constants';
|
|
7
7
|
import { Button } from '@theme/Button/Button';
|
|
8
8
|
|
|
9
9
|
interface NextPageType {
|
|
@@ -5,8 +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
|
|
8
|
+
import { useThemeSettings } from '@portal/hooks';
|
|
9
|
+
import { DEFAULT_THEME_NAME } from '@portal/constants';
|
|
10
10
|
import { SidebarSearch } from '@theme/Search/SidebarSearch';
|
|
11
11
|
|
|
12
12
|
interface SidebarLayoutProps {
|
|
@@ -14,16 +14,20 @@ interface SidebarLayoutProps {
|
|
|
14
14
|
menu: React.ReactNode;
|
|
15
15
|
}
|
|
16
16
|
|
|
17
|
-
export function SidebarLayout({ versions, menu }: SidebarLayoutProps): JSX.Element {
|
|
17
|
+
export function SidebarLayout({ versions, menu }: SidebarLayoutProps): JSX.Element | null {
|
|
18
18
|
const [isOpen, setIsOpen] = useMobileMenu();
|
|
19
19
|
const toggleMenu = () => setIsOpen(!isOpen);
|
|
20
|
-
const {
|
|
20
|
+
const { search, sidebar } = useThemeSettings(DEFAULT_THEME_NAME);
|
|
21
|
+
|
|
22
|
+
if (sidebar?.hide) {
|
|
23
|
+
return null;
|
|
24
|
+
}
|
|
21
25
|
|
|
22
26
|
return (
|
|
23
27
|
<Wrapper data-component-name="Sidebar/SidebarLayout">
|
|
24
28
|
<MobileSidebarButton opened={isOpen} onClick={toggleMenu} />
|
|
25
29
|
|
|
26
|
-
{!hide && placement === 'sidebar' ? <SidebarSearch /> : null}
|
|
30
|
+
{!search?.hide && search?.placement === 'sidebar' ? <SidebarSearch /> : null}
|
|
27
31
|
<Sidebar animate={true} opened={isOpen}>
|
|
28
32
|
{versions}
|
|
29
33
|
<MenuContainer>{menu}</MenuContainer>
|