@redocly/theme 0.9.0-beta.1 → 0.9.0-beta.2
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.
|
@@ -1,3 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
}
|
|
1
|
+
interface MenuContainerProps {
|
|
2
|
+
growContent?: boolean;
|
|
3
|
+
}
|
|
4
|
+
export declare const MenuContainer: import("styled-components").StyledComponent<"div", any, MenuContainerProps, never>;
|
|
5
|
+
export {};
|
|
@@ -5,12 +5,13 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.MenuContainer = void 0;
|
|
7
7
|
const styled_components_1 = __importDefault(require("styled-components"));
|
|
8
|
-
exports.MenuContainer = styled_components_1.default.div.attrs(() => ({
|
|
8
|
+
exports.MenuContainer = styled_components_1.default.div.attrs(({ growContent }) => ({
|
|
9
9
|
'data-component-name': 'Sidebar/MenuContainer',
|
|
10
|
+
growContent: growContent === undefined ? true : growContent,
|
|
10
11
|
})) `
|
|
11
12
|
position: relative;
|
|
12
13
|
overflow-y: auto;
|
|
13
|
-
flex-grow: 1;
|
|
14
|
+
flex-grow: ${({ growContent }) => (growContent ? 1 : 0)};
|
|
14
15
|
padding-top: var(--sidebar-offset-top);
|
|
15
16
|
`;
|
|
16
17
|
//# sourceMappingURL=MenuContainer.js.map
|
|
@@ -7,7 +7,9 @@ interface SidebarLayoutProps {
|
|
|
7
7
|
slug: string;
|
|
8
8
|
};
|
|
9
9
|
footer?: React.ReactNode;
|
|
10
|
+
header?: React.ReactNode;
|
|
11
|
+
growContent?: boolean;
|
|
10
12
|
hasNavbar: boolean;
|
|
11
13
|
}
|
|
12
|
-
export declare function SidebarLayout({ versions, menu, backLink, footer, hasNavbar, }: SidebarLayoutProps): JSX.Element | null;
|
|
14
|
+
export declare function SidebarLayout({ versions, menu, backLink, footer, header, growContent, hasNavbar, }: SidebarLayoutProps): JSX.Element | null;
|
|
13
15
|
export {};
|
|
@@ -15,7 +15,7 @@ const useThemeConfig_1 = require("../hooks/useThemeConfig");
|
|
|
15
15
|
const ArrowBack_1 = require("../Sidebar/ArrowBack");
|
|
16
16
|
const Link_1 = require("../mocks/Link");
|
|
17
17
|
const Button_1 = require("../Button/Button");
|
|
18
|
-
function SidebarLayout({ versions, menu, backLink, footer, hasNavbar, }) {
|
|
18
|
+
function SidebarLayout({ versions, menu, backLink, footer, header, growContent, hasNavbar, }) {
|
|
19
19
|
const [isOpen, setIsOpen] = (0, useMobileMenu_1.useMobileMenu)();
|
|
20
20
|
const toggleMenu = () => setIsOpen(!isOpen);
|
|
21
21
|
const { search, sidebar } = (0, useThemeConfig_1.useThemeConfig)();
|
|
@@ -26,6 +26,7 @@ function SidebarLayout({ versions, menu, backLink, footer, hasNavbar, }) {
|
|
|
26
26
|
react_1.default.createElement(MobileSidebarButton_1.MobileSidebarButton, { opened: isOpen, onClick: toggleMenu }),
|
|
27
27
|
!(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
28
|
react_1.default.createElement(Sidebar_1.Sidebar, { animate: true, opened: isOpen, hasNavbar: hasNavbar },
|
|
29
|
+
header ? react_1.default.createElement(HeaderWrapper, null, header) : null,
|
|
29
30
|
(backLink && (react_1.default.createElement(BackLinkWrapper, null,
|
|
30
31
|
react_1.default.createElement(Link_1.Link, { to: backLink.slug },
|
|
31
32
|
react_1.default.createElement(ArrowBack_1.ArrowBack, null),
|
|
@@ -33,7 +34,7 @@ function SidebarLayout({ versions, menu, backLink, footer, hasNavbar, }) {
|
|
|
33
34
|
backLink.label)))) ||
|
|
34
35
|
null,
|
|
35
36
|
versions,
|
|
36
|
-
react_1.default.createElement(MenuContainer_1.MenuContainer,
|
|
37
|
+
react_1.default.createElement(MenuContainer_1.MenuContainer, { growContent: growContent }, menu),
|
|
37
38
|
footer ? react_1.default.createElement(FooterWrapper, null, footer) : null)));
|
|
38
39
|
}
|
|
39
40
|
exports.SidebarLayout = SidebarLayout;
|
|
@@ -46,6 +47,10 @@ const FooterWrapper = styled_components_1.default.div `
|
|
|
46
47
|
margin: 0;
|
|
47
48
|
}
|
|
48
49
|
`;
|
|
50
|
+
const HeaderWrapper = styled_components_1.default.div `
|
|
51
|
+
padding: var(--sidebar-offset-top) var(--sidebar-item-padding-horizontal)
|
|
52
|
+
var(--sidebar-item-padding-horizontal) var(--sidebar-offset-left);
|
|
53
|
+
`;
|
|
49
54
|
const BackLinkWrapper = styled_components_1.default.div `
|
|
50
55
|
padding: var(--sidebar-offset-top) var(--sidebar-item-padding-horizontal)
|
|
51
56
|
var(--sidebar-item-padding-horizontal)
|
package/package.json
CHANGED
|
@@ -1,10 +1,15 @@
|
|
|
1
1
|
import styled from 'styled-components';
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
interface MenuContainerProps {
|
|
4
|
+
growContent?: boolean;
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
export const MenuContainer = styled.div.attrs<MenuContainerProps>(({ growContent }) => ({
|
|
4
8
|
'data-component-name': 'Sidebar/MenuContainer',
|
|
5
|
-
|
|
9
|
+
growContent: growContent === undefined ? true : growContent,
|
|
10
|
+
}))<MenuContainerProps>`
|
|
6
11
|
position: relative;
|
|
7
12
|
overflow-y: auto;
|
|
8
|
-
flex-grow: 1;
|
|
13
|
+
flex-grow: ${({ growContent }) => (growContent ? 1 : 0)};
|
|
9
14
|
padding-top: var(--sidebar-offset-top);
|
|
10
15
|
`;
|
|
@@ -19,6 +19,8 @@ interface SidebarLayoutProps {
|
|
|
19
19
|
slug: string;
|
|
20
20
|
};
|
|
21
21
|
footer?: React.ReactNode;
|
|
22
|
+
header?: React.ReactNode;
|
|
23
|
+
growContent?: boolean;
|
|
22
24
|
|
|
23
25
|
hasNavbar: boolean;
|
|
24
26
|
}
|
|
@@ -28,6 +30,8 @@ export function SidebarLayout({
|
|
|
28
30
|
menu,
|
|
29
31
|
backLink,
|
|
30
32
|
footer,
|
|
33
|
+
header,
|
|
34
|
+
growContent,
|
|
31
35
|
hasNavbar,
|
|
32
36
|
}: SidebarLayoutProps): JSX.Element | null {
|
|
33
37
|
const [isOpen, setIsOpen] = useMobileMenu();
|
|
@@ -44,6 +48,7 @@ export function SidebarLayout({
|
|
|
44
48
|
|
|
45
49
|
{!search?.hide && search?.placement === 'sidebar' ? <SidebarSearch /> : null}
|
|
46
50
|
<Sidebar animate={true} opened={isOpen} hasNavbar={hasNavbar}>
|
|
51
|
+
{header ? <HeaderWrapper>{header}</HeaderWrapper> : null}
|
|
47
52
|
{(backLink && (
|
|
48
53
|
<BackLinkWrapper>
|
|
49
54
|
<Link to={backLink.slug}>
|
|
@@ -54,7 +59,7 @@ export function SidebarLayout({
|
|
|
54
59
|
)) ||
|
|
55
60
|
null}
|
|
56
61
|
{versions}
|
|
57
|
-
<MenuContainer>{menu}</MenuContainer>
|
|
62
|
+
<MenuContainer growContent={growContent}>{menu}</MenuContainer>
|
|
58
63
|
{footer ? <FooterWrapper>{footer}</FooterWrapper> : null}
|
|
59
64
|
</Sidebar>
|
|
60
65
|
</Wrapper>
|
|
@@ -71,6 +76,11 @@ const FooterWrapper = styled.div`
|
|
|
71
76
|
}
|
|
72
77
|
`;
|
|
73
78
|
|
|
79
|
+
const HeaderWrapper = styled.div`
|
|
80
|
+
padding: var(--sidebar-offset-top) var(--sidebar-item-padding-horizontal)
|
|
81
|
+
var(--sidebar-item-padding-horizontal) var(--sidebar-offset-left);
|
|
82
|
+
`;
|
|
83
|
+
|
|
74
84
|
const BackLinkWrapper = styled.div`
|
|
75
85
|
padding: var(--sidebar-offset-top) var(--sidebar-item-padding-horizontal)
|
|
76
86
|
var(--sidebar-item-padding-horizontal)
|