@superdispatch/ui-lab 0.19.0 → 0.20.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.
- package/dist-node/index.js +210 -23
- package/dist-node/index.js.map +1 -1
- package/dist-src/index.js +2 -0
- package/dist-src/navbar/NavbarAccordion.js +2 -2
- package/dist-src/navbar/NavbarItem.js +1 -1
- package/dist-src/sidebar/Sidebar.js +1 -1
- package/dist-src/sidebar/SidebarBackButton.js +38 -0
- package/dist-src/sidebar/SidebarContainer.js +44 -10
- package/dist-src/sidebar/SidebarContent.js +103 -0
- package/dist-src/sidebar/SidebarMenuItem.js +36 -11
- package/dist-src/sidebar/SidebarMenuItemAvatar.js +1 -0
- package/dist-types/index.d.ts +21 -2
- package/dist-web/index.js +214 -30
- package/dist-web/index.js.map +1 -1
- package/package.json +3 -3
package/dist-src/index.js
CHANGED
|
@@ -17,7 +17,9 @@ export * from "./navbar/NavbarItem.js";
|
|
|
17
17
|
export * from "./navbar/NavbarList.js";
|
|
18
18
|
export * from "./navbar/NavbarMenu.js";
|
|
19
19
|
export * from "./sidebar/Sidebar.js";
|
|
20
|
+
export * from "./sidebar/SidebarBackButton.js";
|
|
20
21
|
export * from "./sidebar/SidebarContainer.js";
|
|
22
|
+
export * from "./sidebar/SidebarContent.js";
|
|
21
23
|
export * from "./sidebar/SidebarDivider.js";
|
|
22
24
|
export * from "./sidebar/SidebarMenuItem.js";
|
|
23
25
|
export * from "./sidebar/SidebarMenuItemAction.js";
|
|
@@ -20,12 +20,12 @@ var NavbarAccordionRoot = /*#__PURE__*/styled(Accordion).withConfig({
|
|
|
20
20
|
var {
|
|
21
21
|
gutter
|
|
22
22
|
} = _ref;
|
|
23
|
-
return css(["width:100%;color:#c2c4c9;font-size:14px;font-weight:400;line-height:20px;text-decoration:none;outline:none;cursor:pointer;background-color:#1b2638;margin-top:", "
|
|
23
|
+
return css(["width:100%;color:#c2c4c9;font-size:14px;font-weight:400;line-height:20px;text-decoration:none;outline:none;cursor:pointer;background-color:#1b2638;margin-top:", ";&[aria-current]{background-color:#2f394a;color:", ";}&.MuiAccordion-root:before{background-color:#1b2638;}&.MuiPaper-elevation0{border:0px;}&.MuiAccordion-root.Mui-expanded{margin-top:", ";}"], gutter ? '16px' : '0', Color.White, gutter ? '16px' : '0');
|
|
24
24
|
});
|
|
25
25
|
var NavbarAccordionSummary = /*#__PURE__*/styled(AccordionSummary).withConfig({
|
|
26
26
|
displayName: "NavbarAccordion__NavbarAccordionSummary",
|
|
27
27
|
componentId: "SD__sc-1s7g3kw-2"
|
|
28
|
-
})(["border-left:4px solid transparent;padding-left:20px;&.MuiAccordionSummary-root{max-height:40px;min-height:40px;}&:hover,&[data-active='true']{border-left-color:", ";}&[data-expanded='false']{.MuiAccordionSummary-expandIcon{display:none;}}"], Color.Blue300);
|
|
28
|
+
})(["border-left:4px solid transparent;padding-left:20px;&.MuiAccordionSummary-root{max-height:40px;min-height:40px;}&:hover,&[data-active='true']{background-color:#2f394a;border-left-color:", ";}&[data-expanded='false']{.MuiAccordionSummary-expandIcon{display:none;}}"], Color.Blue300);
|
|
29
29
|
var IconWrapper = /*#__PURE__*/styled.div.withConfig({
|
|
30
30
|
displayName: "NavbarAccordion__IconWrapper",
|
|
31
31
|
componentId: "SD__sc-1s7g3kw-3"
|
|
@@ -13,7 +13,7 @@ export var NavbarLabel = /*#__PURE__*/styled.span.withConfig({
|
|
|
13
13
|
var NavbarItemRoot = /*#__PURE__*/styled.div.withConfig({
|
|
14
14
|
displayName: "NavbarItem__NavbarItemRoot",
|
|
15
15
|
componentId: "SD__sc-1pvzq3w-2"
|
|
16
|
-
})(["width:100%;display:flex;align-items:center;color:#c2c4c9;font-size:14px;font-weight:400;line-height:20px;text-decoration:none;outline:none;cursor:pointer;padding:8px 16px;border-left:4px solid transparent;&:hover,&[aria-current]{background-color:#2f394a;color:", ";border-left-color:", ";}&[data-active='true']{border-left-color:", ";}"], Color.White, Color.Blue300, Color.Blue300);
|
|
16
|
+
})(["width:100%;display:flex;align-items:center;color:#c2c4c9;font-size:14px;font-weight:400;line-height:20px;text-decoration:none;outline:none;cursor:pointer;padding:8px 16px;border-left:4px solid transparent;&:hover,&[aria-current]{background-color:#2f394a;color:", ";border-left-color:", ";}&[data-active='true']{background-color:#2f394a;border-left-color:", ";}"], Color.White, Color.Blue300, Color.Blue300);
|
|
17
17
|
var IconWrapper = /*#__PURE__*/styled.div.withConfig({
|
|
18
18
|
displayName: "NavbarItem__IconWrapper",
|
|
19
19
|
componentId: "SD__sc-1pvzq3w-3"
|
|
@@ -7,7 +7,7 @@ import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
7
7
|
var SidebarRoot = /*#__PURE__*/styled.aside.withConfig({
|
|
8
8
|
displayName: "Sidebar__SidebarRoot",
|
|
9
9
|
componentId: "SD__sc-b77o22-0"
|
|
10
|
-
})(["top:0;position:sticky;overflow-y:auto;overflow-x:hidden;
|
|
10
|
+
})(["top:0;position:sticky;overflow-y:auto;overflow-x:hidden;height:100vh;background-color:", ";border-right:1px solid ", ";"], Color.White, Color.Silver400);
|
|
11
11
|
var SidebarHeader = /*#__PURE__*/styled.div.withConfig({
|
|
12
12
|
displayName: "Sidebar__SidebarHeader",
|
|
13
13
|
componentId: "SD__sc-b77o22-1"
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import _objectSpread from "@babel/runtime/helpers/objectSpread2";
|
|
2
|
+
import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
|
|
3
|
+
var _excluded = ["onClick", "children"];
|
|
4
|
+
import { IconButton } from '@material-ui/core';
|
|
5
|
+
import { ArrowBack } from '@material-ui/icons';
|
|
6
|
+
import { useCollapseBreakpoint } from '@superdispatch/ui';
|
|
7
|
+
import { useSidebarContext } from "./SidebarContainer.js";
|
|
8
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
9
|
+
export function SidebarBackButton(_ref) {
|
|
10
|
+
var {
|
|
11
|
+
onClick: _onClick,
|
|
12
|
+
children = /*#__PURE__*/_jsx(ArrowBack, {
|
|
13
|
+
fontSize: "small"
|
|
14
|
+
})
|
|
15
|
+
} = _ref,
|
|
16
|
+
props = _objectWithoutProperties(_ref, _excluded);
|
|
17
|
+
|
|
18
|
+
var isCollapsed = useCollapseBreakpoint('sm');
|
|
19
|
+
var {
|
|
20
|
+
openSidebar
|
|
21
|
+
} = useSidebarContext();
|
|
22
|
+
|
|
23
|
+
if (!isCollapsed) {
|
|
24
|
+
return null;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
return /*#__PURE__*/_jsx(IconButton, _objectSpread(_objectSpread({}, props), {}, {
|
|
28
|
+
size: "small",
|
|
29
|
+
onClick: event => {
|
|
30
|
+
_onClick === null || _onClick === void 0 ? void 0 : _onClick(event);
|
|
31
|
+
|
|
32
|
+
if (!event.isDefaultPrevented()) {
|
|
33
|
+
openSidebar();
|
|
34
|
+
}
|
|
35
|
+
},
|
|
36
|
+
children: children
|
|
37
|
+
}));
|
|
38
|
+
}
|
|
@@ -1,25 +1,59 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { useCollapseBreakpoint } from '@superdispatch/ui';
|
|
2
|
+
import { createContext, forwardRef, useContext, useMemo, useState } from 'react';
|
|
2
3
|
import styled from 'styled-components';
|
|
3
4
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
4
5
|
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
5
|
-
var
|
|
6
|
-
|
|
6
|
+
var Context = /*#__PURE__*/createContext(null);
|
|
7
|
+
export function useSidebarContext() {
|
|
8
|
+
var context = useContext(Context);
|
|
9
|
+
|
|
10
|
+
if (!context) {
|
|
11
|
+
throw new Error('SidebarContext is used outside Provider');
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
return context;
|
|
15
|
+
}
|
|
16
|
+
var SidebarContainerSidebar = /*#__PURE__*/styled.div.withConfig({
|
|
17
|
+
displayName: "SidebarContainer__SidebarContainerSidebar",
|
|
7
18
|
componentId: "SD__sc-uibj1m-0"
|
|
8
|
-
})(["
|
|
19
|
+
})(["height:inherit;max-height:inherit;min-height:inherit;width:240px;"]);
|
|
9
20
|
var SidebarContainerContent = /*#__PURE__*/styled.div.withConfig({
|
|
10
21
|
displayName: "SidebarContainer__SidebarContainerContent",
|
|
11
22
|
componentId: "SD__sc-uibj1m-1"
|
|
12
|
-
})(["height:inherit;max-height:inherit;min-height:inherit;
|
|
23
|
+
})(["height:inherit;max-height:inherit;min-height:inherit;"]);
|
|
24
|
+
var SidebarContainerRoot = /*#__PURE__*/styled.div.withConfig({
|
|
25
|
+
displayName: "SidebarContainer__SidebarContainerRoot",
|
|
26
|
+
componentId: "SD__sc-uibj1m-2"
|
|
27
|
+
})(["display:flex;height:inherit;max-height:inherit;min-height:inherit;& ", "{width:calc(100% - 240px);min-width:calc(100% - 240px);max-width:calc(100% - 240px);}&[data-visibility='sidebar'] ", "{width:100%;}&[data-visibility='sidebar'] ", "{display:none;}&[data-visibility='content'] ", "{display:none;}&[data-visibility='content'] ", "{width:100%;max-width:unset;}"], SidebarContainerContent, SidebarContainerSidebar, SidebarContainerContent, SidebarContainerSidebar, SidebarContainerContent);
|
|
13
28
|
export var SidebarContainer = /*#__PURE__*/forwardRef((_ref, ref) => {
|
|
14
29
|
var {
|
|
15
30
|
sidebar,
|
|
16
31
|
children
|
|
17
32
|
} = _ref;
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
33
|
+
var isCollapsed = useCollapseBreakpoint('sm');
|
|
34
|
+
var [visibilityState, setVisibilityState] = useState('sidebar');
|
|
35
|
+
var visibility = isCollapsed ? visibilityState : 'both';
|
|
36
|
+
var context = useMemo(() => {
|
|
37
|
+
return {
|
|
38
|
+
openSidebar: () => {
|
|
39
|
+
setVisibilityState('sidebar');
|
|
40
|
+
},
|
|
41
|
+
openSidebarContent: () => {
|
|
42
|
+
setVisibilityState('content');
|
|
43
|
+
}
|
|
44
|
+
};
|
|
45
|
+
}, []);
|
|
46
|
+
return /*#__PURE__*/_jsx(Context.Provider, {
|
|
47
|
+
value: context,
|
|
48
|
+
children: /*#__PURE__*/_jsxs(SidebarContainerRoot, {
|
|
49
|
+
ref: ref,
|
|
50
|
+
"data-visibility": visibility,
|
|
51
|
+
children: [/*#__PURE__*/_jsx(SidebarContainerSidebar, {
|
|
52
|
+
children: sidebar
|
|
53
|
+
}), /*#__PURE__*/_jsx(SidebarContainerContent, {
|
|
54
|
+
children: children
|
|
55
|
+
})]
|
|
56
|
+
})
|
|
23
57
|
});
|
|
24
58
|
});
|
|
25
59
|
if (process.env.NODE_ENV !== "production") SidebarContainer.displayName = "SidebarContainer";
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
import { AppBar, Toolbar } from '@material-ui/core';
|
|
2
|
+
import { Column, Columns, Stack } from '@superdispatch/ui';
|
|
3
|
+
import { useLayoutEffect, useRef } from 'react';
|
|
4
|
+
import styled, { css } from 'styled-components';
|
|
5
|
+
import { Box } from "../box/Box.js";
|
|
6
|
+
import { TextBox } from "../text-box/TextBox.js";
|
|
7
|
+
import { SidebarBackButton } from "./SidebarBackButton.js";
|
|
8
|
+
import { useSidebarContext } from "./SidebarContainer.js";
|
|
9
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
10
|
+
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
11
|
+
var SidebarAppBar = /*#__PURE__*/styled(AppBar).withConfig({
|
|
12
|
+
displayName: "SidebarContent__SidebarAppBar",
|
|
13
|
+
componentId: "SD__sc-zpgf61-0"
|
|
14
|
+
})(_ref => {
|
|
15
|
+
var {
|
|
16
|
+
theme
|
|
17
|
+
} = _ref;
|
|
18
|
+
return css(["", "{&&{border-left:transparent;}}"], theme.breakpoints.up('sm'));
|
|
19
|
+
});
|
|
20
|
+
var ToolbarContent = /*#__PURE__*/styled.div.withConfig({
|
|
21
|
+
displayName: "SidebarContent__ToolbarContent",
|
|
22
|
+
componentId: "SD__sc-zpgf61-1"
|
|
23
|
+
})(["flex:1;padding:16px;"]);
|
|
24
|
+
export function SidebarContent(_ref2) {
|
|
25
|
+
var {
|
|
26
|
+
dense,
|
|
27
|
+
action,
|
|
28
|
+
title,
|
|
29
|
+
children,
|
|
30
|
+
onBack,
|
|
31
|
+
openOnMount,
|
|
32
|
+
closeOnUnmount
|
|
33
|
+
} = _ref2;
|
|
34
|
+
var isOpenedOnMount = useRef(false);
|
|
35
|
+
var isClosedOnMount = useRef(false);
|
|
36
|
+
var {
|
|
37
|
+
openSidebarContent,
|
|
38
|
+
openSidebar
|
|
39
|
+
} = useSidebarContext();
|
|
40
|
+
useLayoutEffect(() => {
|
|
41
|
+
if (openOnMount) {
|
|
42
|
+
if (isOpenedOnMount.current) {
|
|
43
|
+
// eslint-disable-next-line no-console
|
|
44
|
+
console.warn('[SidebarContent]: "openOnMount" should not change during lifecycle of the component.');
|
|
45
|
+
} else {
|
|
46
|
+
isOpenedOnMount.current = true;
|
|
47
|
+
openSidebarContent();
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
}, [openOnMount, openSidebarContent]);
|
|
51
|
+
useLayoutEffect(() => {
|
|
52
|
+
return () => {
|
|
53
|
+
if (closeOnUnmount) {
|
|
54
|
+
if (isClosedOnMount.current) {
|
|
55
|
+
// eslint-disable-next-line no-console
|
|
56
|
+
console.warn('[SidebarContent]: "closeOnUnmount" should not change during lifecycle of the component.');
|
|
57
|
+
} else {
|
|
58
|
+
isClosedOnMount.current = true;
|
|
59
|
+
openSidebar();
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
};
|
|
63
|
+
}, [openSidebar, closeOnUnmount]);
|
|
64
|
+
return /*#__PURE__*/_jsxs(Stack, {
|
|
65
|
+
space: "none",
|
|
66
|
+
children: [/*#__PURE__*/_jsx(SidebarAppBar, {
|
|
67
|
+
children: /*#__PURE__*/_jsx(Toolbar, {
|
|
68
|
+
disableGutters: true,
|
|
69
|
+
children: /*#__PURE__*/_jsx(ToolbarContent, {
|
|
70
|
+
children: /*#__PURE__*/_jsxs(Columns, {
|
|
71
|
+
align: ['top', 'center'],
|
|
72
|
+
space: "small",
|
|
73
|
+
children: [/*#__PURE__*/_jsx(Column, {
|
|
74
|
+
width: "content",
|
|
75
|
+
children: /*#__PURE__*/_jsx(SidebarBackButton, {
|
|
76
|
+
onClick: onBack
|
|
77
|
+
})
|
|
78
|
+
}), /*#__PURE__*/_jsx(Column, {
|
|
79
|
+
children: /*#__PURE__*/_jsxs(Columns, {
|
|
80
|
+
space: "small",
|
|
81
|
+
collapseBelow: "tablet",
|
|
82
|
+
reverse: [true, false],
|
|
83
|
+
align: ['bottom', 'center'],
|
|
84
|
+
children: [/*#__PURE__*/_jsx(Column, {
|
|
85
|
+
children: /*#__PURE__*/_jsx(TextBox, {
|
|
86
|
+
variant: "heading-2",
|
|
87
|
+
children: title
|
|
88
|
+
})
|
|
89
|
+
}), action && /*#__PURE__*/_jsx(Column, {
|
|
90
|
+
width: "content",
|
|
91
|
+
children: action
|
|
92
|
+
})]
|
|
93
|
+
})
|
|
94
|
+
})]
|
|
95
|
+
})
|
|
96
|
+
})
|
|
97
|
+
})
|
|
98
|
+
}), /*#__PURE__*/_jsx(Box, {
|
|
99
|
+
padding: dense ? 'none' : ['small', 'medium'],
|
|
100
|
+
children: children
|
|
101
|
+
})]
|
|
102
|
+
});
|
|
103
|
+
}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { ButtonBase } from '@material-ui/core';
|
|
2
2
|
import { OpenInNew } from '@material-ui/icons';
|
|
3
|
-
import { Color, Column, Columns, Inline } from '@superdispatch/ui';
|
|
3
|
+
import { Color, Column, Columns, Inline, mergeRefs } from '@superdispatch/ui';
|
|
4
4
|
import { forwardRef, useLayoutEffect, useRef, useState } from 'react';
|
|
5
5
|
import styled, { css } from 'styled-components';
|
|
6
6
|
import { TextBox } from "../text-box/TextBox.js";
|
|
7
|
+
import { useSidebarContext } from "./SidebarContainer.js";
|
|
7
8
|
import { SidebarMenuItemContextProvider } from "./SidebarMenuItemContext.js";
|
|
8
9
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
9
10
|
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
@@ -29,36 +30,60 @@ export var SidebarMenuItem = /*#__PURE__*/forwardRef((_ref2, ref) => {
|
|
|
29
30
|
var {
|
|
30
31
|
action,
|
|
31
32
|
avatar,
|
|
32
|
-
onClick,
|
|
33
|
+
onClick: _onClick,
|
|
33
34
|
external,
|
|
34
35
|
children,
|
|
35
36
|
disabled,
|
|
36
37
|
selected,
|
|
37
38
|
secondaryActions,
|
|
38
|
-
badge: badgeProp
|
|
39
|
+
badge: badgeProp,
|
|
40
|
+
openContentOnClick
|
|
39
41
|
} = _ref2;
|
|
40
42
|
var [hovered, setHovered] = useState(false);
|
|
43
|
+
var rootRef = useRef(null);
|
|
41
44
|
var actionsRef = useRef(null);
|
|
42
45
|
var actionsPlaceholderRef = useRef(null);
|
|
46
|
+
var {
|
|
47
|
+
openSidebarContent
|
|
48
|
+
} = useSidebarContext();
|
|
49
|
+
var {
|
|
50
|
+
matches: isHoverSupported
|
|
51
|
+
} = matchMedia('(hover: hover)');
|
|
43
52
|
useLayoutEffect(() => {
|
|
44
53
|
if (actionsRef.current && actionsPlaceholderRef.current) {
|
|
45
54
|
actionsPlaceholderRef.current.style.width = "".concat(Math.max(0, actionsRef.current.offsetWidth - 8), "px");
|
|
46
55
|
}
|
|
47
56
|
});
|
|
57
|
+
useLayoutEffect(() => {
|
|
58
|
+
var rootNode = rootRef.current;
|
|
59
|
+
|
|
60
|
+
if (rootNode) {
|
|
61
|
+
if (isHoverSupported) {
|
|
62
|
+
rootNode.addEventListener('mouseenter', () => {
|
|
63
|
+
setHovered(true);
|
|
64
|
+
});
|
|
65
|
+
rootNode.addEventListener('mouseleave', () => {
|
|
66
|
+
setHovered(false);
|
|
67
|
+
});
|
|
68
|
+
} else {
|
|
69
|
+
setHovered(true);
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
}, [isHoverSupported]);
|
|
48
73
|
var badge = !badgeProp || !Number.isFinite(badgeProp) ? null : badgeProp > 999 ? '999+' : badgeProp;
|
|
49
74
|
return /*#__PURE__*/_jsxs(SidebarMenuItemRoot, {
|
|
50
|
-
ref: ref,
|
|
75
|
+
ref: mergeRefs(ref, rootRef),
|
|
51
76
|
hasAvatar: !!avatar,
|
|
52
|
-
onMouseEnter: () => {
|
|
53
|
-
setHovered(true);
|
|
54
|
-
},
|
|
55
|
-
onMouseLeave: () => {
|
|
56
|
-
setHovered(false);
|
|
57
|
-
},
|
|
58
77
|
children: [/*#__PURE__*/_jsx(ButtonBase, {
|
|
59
|
-
onClick: onClick,
|
|
60
78
|
disabled: disabled,
|
|
61
79
|
"aria-current": selected,
|
|
80
|
+
onClick: event => {
|
|
81
|
+
_onClick === null || _onClick === void 0 ? void 0 : _onClick(event);
|
|
82
|
+
|
|
83
|
+
if (!event.isDefaultPrevented() && openContentOnClick) {
|
|
84
|
+
openSidebarContent();
|
|
85
|
+
}
|
|
86
|
+
},
|
|
62
87
|
children: /*#__PURE__*/_jsxs(Columns, {
|
|
63
88
|
align: "center",
|
|
64
89
|
space: "xsmall",
|
|
@@ -35,6 +35,7 @@ export var SidebarMenuItemAvatar = /*#__PURE__*/forwardRef((_ref, ref) => {
|
|
|
35
35
|
color: "primary",
|
|
36
36
|
checked: value,
|
|
37
37
|
disabled: disabled,
|
|
38
|
+
onClick: stopPropagation,
|
|
38
39
|
onMouseDown: stopPropagation,
|
|
39
40
|
onTouchStart: stopPropagation,
|
|
40
41
|
onChange: (_, checked) => {
|
package/dist-types/index.d.ts
CHANGED
|
@@ -4,7 +4,7 @@ import { CSSTransition } from 'react-transition-group';
|
|
|
4
4
|
import { CSSTransitionProps } from 'react-transition-group/CSSTransition';
|
|
5
5
|
import { SpaceProp, NegativeSpaceProp, ResponsiveProp, ColorProp } from '@superdispatch/ui';
|
|
6
6
|
import { Property } from 'csstype';
|
|
7
|
-
import { ButtonBaseProps, AvatarProps, TooltipProps } from '@material-ui/core';
|
|
7
|
+
import { ButtonBaseProps, AvatarProps, IconButtonProps, TooltipProps } from '@material-ui/core';
|
|
8
8
|
import { FileRejection } from 'react-dropzone';
|
|
9
9
|
import { StyledComponent, DefaultTheme } from 'styled-components';
|
|
10
10
|
|
|
@@ -289,12 +289,30 @@ interface SidebarProps {
|
|
|
289
289
|
}
|
|
290
290
|
declare const Sidebar: ForwardRefExoticComponent<SidebarProps & RefAttributes<HTMLDivElement>>;
|
|
291
291
|
|
|
292
|
+
declare function SidebarBackButton({ onClick, children, ...props }: IconButtonProps): ReactElement | null;
|
|
293
|
+
|
|
294
|
+
interface SidebarContext {
|
|
295
|
+
openSidebar: () => void;
|
|
296
|
+
openSidebarContent: () => void;
|
|
297
|
+
}
|
|
298
|
+
declare function useSidebarContext(): SidebarContext;
|
|
292
299
|
interface SidebarContainerProps {
|
|
293
300
|
sidebar: ReactChild;
|
|
294
301
|
children?: ReactNode;
|
|
295
302
|
}
|
|
296
303
|
declare const SidebarContainer: ForwardRefExoticComponent<SidebarContainerProps & RefAttributes<HTMLDivElement>>;
|
|
297
304
|
|
|
305
|
+
interface SidebarContentProps {
|
|
306
|
+
dense?: boolean;
|
|
307
|
+
title: ReactNode;
|
|
308
|
+
children: ReactNode;
|
|
309
|
+
action?: ReactNode;
|
|
310
|
+
openOnMount?: boolean;
|
|
311
|
+
closeOnUnmount?: boolean;
|
|
312
|
+
onBack?: (event: MouseEvent<HTMLButtonElement>) => void;
|
|
313
|
+
}
|
|
314
|
+
declare function SidebarContent({ dense, action, title, children, onBack, openOnMount, closeOnUnmount, }: SidebarContentProps): ReactElement;
|
|
315
|
+
|
|
298
316
|
|
|
299
317
|
declare const SidebarDivider: ForwardRefExoticComponent<RefAttributes<HTMLDivElement>>;
|
|
300
318
|
|
|
@@ -307,6 +325,7 @@ interface SidebarMenuItemProps {
|
|
|
307
325
|
action?: ReactNode;
|
|
308
326
|
avatar?: ReactNode;
|
|
309
327
|
children?: ReactNode;
|
|
328
|
+
openContentOnClick?: boolean;
|
|
310
329
|
secondaryActions?: ReactNode;
|
|
311
330
|
}
|
|
312
331
|
declare const SidebarMenuItem: ForwardRefExoticComponent<SidebarMenuItemProps & RefAttributes<HTMLDivElement>>;
|
|
@@ -351,4 +370,4 @@ interface TextBoxProps {
|
|
|
351
370
|
}
|
|
352
371
|
declare const TextBox: ForwardRefExoticComponent<TextBoxProps & RefAttributes<HTMLElement>>;
|
|
353
372
|
|
|
354
|
-
export { Alert, AlertProps, AlertSeverityProp, AnchorButton, AnchorButtonProps, Banner, BorderRadiusProp, BorderWidthProp, Box, BoxProps, Button, ButtonArea, ButtonAreaProps, ButtonProps, ButtonSizeProp, ButtonVariantProp, Container, ContainerProps, DescriptionItem, DescriptionItemProps, FileDropZone, FileDropZoneProps, FileListItem, FileListItemProps, LinkComponentProps, LinkedText, LinkedTextProps, MarginProp, MultilineText, MultilineTextProps, Navbar, NavbarAccordionOptions, NavbarAvatar, NavbarBadge, NavbarBottomBar, NavbarBottomBarItem, NavbarItem, NavbarItemOptions, NavbarItemProps, NavbarLabel, NavbarList, NavbarMenu, NavbarMenuItem, NavbarMenuItemOption, Sidebar, SidebarContainer, SidebarContainerProps, SidebarDivider, SidebarMenuItem, SidebarMenuItemAction, SidebarMenuItemActionProps, SidebarMenuItemAvatar, SidebarMenuItemAvatarProps, SidebarMenuItemProps, SidebarProps, SidebarSubheader, SidebarSubheaderProps, TextAlignProp, TextBox, TextBoxProps, TextColorProp, TextDisplayProp, TextVariantProp, formatBytes, toBytes, useNavbarContext };
|
|
373
|
+
export { Alert, AlertProps, AlertSeverityProp, AnchorButton, AnchorButtonProps, Banner, BorderRadiusProp, BorderWidthProp, Box, BoxProps, Button, ButtonArea, ButtonAreaProps, ButtonProps, ButtonSizeProp, ButtonVariantProp, Container, ContainerProps, DescriptionItem, DescriptionItemProps, FileDropZone, FileDropZoneProps, FileListItem, FileListItemProps, LinkComponentProps, LinkedText, LinkedTextProps, MarginProp, MultilineText, MultilineTextProps, Navbar, NavbarAccordionOptions, NavbarAvatar, NavbarBadge, NavbarBottomBar, NavbarBottomBarItem, NavbarItem, NavbarItemOptions, NavbarItemProps, NavbarLabel, NavbarList, NavbarMenu, NavbarMenuItem, NavbarMenuItemOption, Sidebar, SidebarBackButton, SidebarContainer, SidebarContainerProps, SidebarContent, SidebarContentProps, SidebarDivider, SidebarMenuItem, SidebarMenuItemAction, SidebarMenuItemActionProps, SidebarMenuItemAvatar, SidebarMenuItemAvatarProps, SidebarMenuItemProps, SidebarProps, SidebarSubheader, SidebarSubheaderProps, TextAlignProp, TextBox, TextBoxProps, TextColorProp, TextDisplayProp, TextVariantProp, formatBytes, toBytes, useNavbarContext, useSidebarContext };
|