@veracity/vui 2.10.0-beta.1 → 2.10.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.
- package/dist/cjs/sidemenu/sidemenu.d.ts.map +1 -1
- package/dist/cjs/sidemenu/sidemenu.js +2 -3
- package/dist/cjs/sidemenu/sidemenuItem.d.ts.map +1 -1
- package/dist/cjs/sidemenu/sidemenuItem.js +3 -2
- package/dist/esm/sidemenu/sidemenu.d.ts.map +1 -1
- package/dist/esm/sidemenu/sidemenu.js +2 -3
- package/dist/esm/sidemenu/sidemenuItem.d.ts.map +1 -1
- package/dist/esm/sidemenu/sidemenuItem.js +3 -2
- package/package.json +1 -1
- package/src/sidemenu/sidemenu.tsx +4 -11
- package/src/sidemenu/sidemenuItem.tsx +4 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sidemenu.d.ts","sourceRoot":"","sources":["../../../src/sidemenu/sidemenu.tsx"],"names":[],"mappings":"AAIA,OAAO,EAA+B,YAAY,EAAE,MAAM,SAAS,CAAA;AAKnE,OAAO,EAAqB,aAAa,EAAE,MAAM,kBAAkB,CAAA;AACnE,OAAO,YAAY,MAAM,gBAAgB,CAAA;AACzC,OAAO,WAAW,MAAM,eAAe,CAAA;AAEvC,eAAO,MAAM,YAAY,+HAMxB,CAAA;AAED,8CAA8C;AAC9C,eAAO,MAAM,QAAQ;
|
|
1
|
+
{"version":3,"file":"sidemenu.d.ts","sourceRoot":"","sources":["../../../src/sidemenu/sidemenu.tsx"],"names":[],"mappings":"AAIA,OAAO,EAA+B,YAAY,EAAE,MAAM,SAAS,CAAA;AAKnE,OAAO,EAAqB,aAAa,EAAE,MAAM,kBAAkB,CAAA;AACnE,OAAO,YAAY,MAAM,gBAAgB,CAAA;AACzC,OAAO,WAAW,MAAM,eAAe,CAAA;AAEvC,eAAO,MAAM,YAAY,+HAMxB,CAAA;AAED,8CAA8C;AAC9C,eAAO,MAAM,QAAQ;SA+Cd,kBAAkB;UACjB,mBAAmB;CAC1B,CAAA;AAKD,eAAe,QAAQ,CAAA"}
|
|
@@ -59,11 +59,10 @@ exports.SidemenuBase = core_1.styled.divBox `
|
|
|
59
59
|
exports.Sidemenu = (0, core_1.vui)((props, ref) => {
|
|
60
60
|
var _a;
|
|
61
61
|
const { children, className, items, isExpanded = false, size, variant, width = 280 } = props, rest = __rest(props, ["children", "className", "items", "isExpanded", "size", "variant", "width"]);
|
|
62
|
-
const styles = (0, core_1.useStyleConfig)('Sidemenu', props);
|
|
63
62
|
const [isExpandedInternal, setIsExpandedInternal] = (0, react_1.useState)(isExpanded);
|
|
64
63
|
const context = (0, react_1.useMemo)(() => (0, utils_1.filterUndefined)({ size, variant, isExpandedInternal }), [size, variant, isExpandedInternal]);
|
|
64
|
+
const styles = (0, core_1.useStyleConfig)('Sidemenu', props);
|
|
65
65
|
const isDark = variant === 'dark';
|
|
66
|
-
const aliasedProps = (0, utils_1.filterUndefined)({});
|
|
67
66
|
(0, react_1.useEffect)(() => {
|
|
68
67
|
setIsExpandedInternal(isExpanded);
|
|
69
68
|
}, [isExpanded]);
|
|
@@ -72,7 +71,7 @@ exports.Sidemenu = (0, core_1.vui)((props, ref) => {
|
|
|
72
71
|
const icon = `falArrow${isExpandedInternal ? 'Left' : 'Right'}`;
|
|
73
72
|
const justifyContent = isExpandedInternal ? 'flex-end' : 'center';
|
|
74
73
|
return (react_1.default.createElement(context_1.SidemenuProvider, { value: context },
|
|
75
|
-
react_1.default.createElement(exports.SidemenuBase, Object.assign({ className: (0, utils_1.cs)('vui-sidemenu', className), ref: ref, w: w }, styles.container,
|
|
74
|
+
react_1.default.createElement(exports.SidemenuBase, Object.assign({ className: (0, utils_1.cs)('vui-sidemenu', className), ref: ref, w: w }, styles.container, rest),
|
|
76
75
|
react_1.default.createElement(box_1.default, { flexDirection: "column", flexGrow: 1, overflowX: "hidden", overflowY: "auto", w: "100%" }, items
|
|
77
76
|
? (_a = items === null || items === void 0 ? void 0 : items.map) === null || _a === void 0 ? void 0 : _a.call(items, (item, key) => react_1.default.createElement(sidemenuItem_1.default, Object.assign({ key: key }, item)))
|
|
78
77
|
: children),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sidemenuItem.d.ts","sourceRoot":"","sources":["../../../src/sidemenu/sidemenuItem.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAyC,YAAY,EAAE,MAAM,SAAS,CAAA;AAK7E,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AAEpD,mBAAmB;AACnB,eAAO,MAAM,YAAY,
|
|
1
|
+
{"version":3,"file":"sidemenuItem.d.ts","sourceRoot":"","sources":["../../../src/sidemenu/sidemenuItem.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAyC,YAAY,EAAE,MAAM,SAAS,CAAA;AAK7E,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AAEpD,mBAAmB;AACnB,eAAO,MAAM,YAAY,wCAmEmB,CAAA;AAE5C,eAAe,YAAY,CAAA"}
|
|
@@ -53,6 +53,7 @@ exports.SidemenuItem = (0, core_1.vui)((props, ref) => {
|
|
|
53
53
|
const { variant, size, isExpandedInternal } = (0, context_1.useSidemenuContext)();
|
|
54
54
|
const styles = (0, core_1.useStyleConfig)('Sidemenu', context_1.useSidemenuContext);
|
|
55
55
|
const isDark = variant === 'dark';
|
|
56
|
+
const hasChildrenExpanded = !!children && isExpandedInternal;
|
|
56
57
|
const innerContent = isExpandedInternal ? (react_1.default.createElement(box_1.default, { centerV: true, px: 2, py: 1, w: "100%", whiteSpace: "pre" },
|
|
57
58
|
react_1.default.createElement(icon_1.default, { ml: iconSize === 'sm' ? '4px' : 0, name: icon, size: iconSize }),
|
|
58
59
|
react_1.default.createElement(t_1.default, { isTruncated: true, ml: 2 }, title))) : (react_1.default.createElement(box_1.default, { centerV: true, px: 2, py: 1, w: "100%" },
|
|
@@ -63,9 +64,9 @@ exports.SidemenuItem = (0, core_1.vui)((props, ref) => {
|
|
|
63
64
|
setDisplayChildren(!displayChildren);
|
|
64
65
|
};
|
|
65
66
|
return (react_1.default.createElement(box_1.default, { flexDirection: "column", ref: ref, w: "100%" },
|
|
66
|
-
react_1.default.createElement(button_1.default, Object.assign({ alignItems: "center", border: "none", borderLeft: "3px solid transparent", borderLeftColor: isActive ? (isDark ? 'digiGreen.main' : 'seaBlue.main') : undefined, borderRadius: 0, className: (0, utils_1.cs)('vui-sidemenu-item', className), h: "auto", justifyContent: "space-between", onClick: () => onClick === null || onClick === void 0 ? void 0 : onClick(), p: 0, variant: isDark ? 'tertiaryLight' : 'tertiaryDark', w: "100%" }, styles.item, { minH: size === 'lg' ? '56px' : '40px' }, rest),
|
|
67
|
+
react_1.default.createElement(button_1.default, Object.assign({ alignItems: "center", border: "none", borderLeft: "3px solid transparent", borderLeftColor: isActive ? (isDark ? 'digiGreen.main' : 'seaBlue.main') : undefined, borderRadius: 0, className: (0, utils_1.cs)('vui-sidemenu-item', className), color: hasChildrenExpanded ? 'seaBlue.main' : isDark ? 'digiGreen.main' : 'sandstone.10', h: "auto", justifyContent: "space-between", onClick: () => onClick === null || onClick === void 0 ? void 0 : onClick(), p: 0, variant: isDark ? 'tertiaryLight' : 'tertiaryDark', w: "100%" }, styles.item, { minH: size === 'lg' ? '56px' : '40px' }, rest),
|
|
67
68
|
innerContent,
|
|
68
|
-
|
|
69
|
+
hasChildrenExpanded && (react_1.default.createElement(button_1.default, { className: "vui-sidemenu-item-expand", icon: displayChildren ? 'falChevronUp' : 'falChevronDown', mr: 1, onClick: toggle, size: "sm", variant: isDark ? 'tertiaryLight' : 'tertiaryDark' }))),
|
|
69
70
|
!!children && displayChildren && (react_1.default.createElement(box_1.default, { flexDirection: "column", justifyContent: "start", w: "100%" }, children))));
|
|
70
71
|
});
|
|
71
72
|
exports.default = exports.SidemenuItem;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sidemenu.d.ts","sourceRoot":"","sources":["../../../src/sidemenu/sidemenu.tsx"],"names":[],"mappings":"AAIA,OAAO,EAA+B,YAAY,EAAE,MAAM,SAAS,CAAA;AAKnE,OAAO,EAAqB,aAAa,EAAE,MAAM,kBAAkB,CAAA;AACnE,OAAO,YAAY,MAAM,gBAAgB,CAAA;AACzC,OAAO,WAAW,MAAM,eAAe,CAAA;AAEvC,eAAO,MAAM,YAAY,+HAMxB,CAAA;AAED,8CAA8C;AAC9C,eAAO,MAAM,QAAQ;
|
|
1
|
+
{"version":3,"file":"sidemenu.d.ts","sourceRoot":"","sources":["../../../src/sidemenu/sidemenu.tsx"],"names":[],"mappings":"AAIA,OAAO,EAA+B,YAAY,EAAE,MAAM,SAAS,CAAA;AAKnE,OAAO,EAAqB,aAAa,EAAE,MAAM,kBAAkB,CAAA;AACnE,OAAO,YAAY,MAAM,gBAAgB,CAAA;AACzC,OAAO,WAAW,MAAM,eAAe,CAAA;AAEvC,eAAO,MAAM,YAAY,+HAMxB,CAAA;AAED,8CAA8C;AAC9C,eAAO,MAAM,QAAQ;SA+Cd,kBAAkB;UACjB,mBAAmB;CAC1B,CAAA;AAKD,eAAe,QAAQ,CAAA"}
|
|
@@ -18,11 +18,10 @@ export const SidemenuBase = styled.divBox `
|
|
|
18
18
|
/** A collapsible side menu for navigation. */
|
|
19
19
|
export const Sidemenu = vui((props, ref) => {
|
|
20
20
|
const { children, className, items, isExpanded = false, size, variant, width = 280, ...rest } = props;
|
|
21
|
-
const styles = useStyleConfig('Sidemenu', props);
|
|
22
21
|
const [isExpandedInternal, setIsExpandedInternal] = useState(isExpanded);
|
|
23
22
|
const context = useMemo(() => filterUndefined({ size, variant, isExpandedInternal }), [size, variant, isExpandedInternal]);
|
|
23
|
+
const styles = useStyleConfig('Sidemenu', props);
|
|
24
24
|
const isDark = variant === 'dark';
|
|
25
|
-
const aliasedProps = filterUndefined({});
|
|
26
25
|
useEffect(() => {
|
|
27
26
|
setIsExpandedInternal(isExpanded);
|
|
28
27
|
}, [isExpanded]);
|
|
@@ -31,7 +30,7 @@ export const Sidemenu = vui((props, ref) => {
|
|
|
31
30
|
const icon = `falArrow${isExpandedInternal ? 'Left' : 'Right'}`;
|
|
32
31
|
const justifyContent = isExpandedInternal ? 'flex-end' : 'center';
|
|
33
32
|
return (React.createElement(SidemenuProvider, { value: context },
|
|
34
|
-
React.createElement(SidemenuBase, { className: cs('vui-sidemenu', className), ref: ref, w: w, ...styles.container, ...
|
|
33
|
+
React.createElement(SidemenuBase, { className: cs('vui-sidemenu', className), ref: ref, w: w, ...styles.container, ...rest },
|
|
35
34
|
React.createElement(Box, { flexDirection: "column", flexGrow: 1, overflowX: "hidden", overflowY: "auto", w: "100%" }, items
|
|
36
35
|
? items?.map?.((item, key) => React.createElement(SidemenuItem, { key: key, ...item }))
|
|
37
36
|
: children),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sidemenuItem.d.ts","sourceRoot":"","sources":["../../../src/sidemenu/sidemenuItem.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAyC,YAAY,EAAE,MAAM,SAAS,CAAA;AAK7E,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AAEpD,mBAAmB;AACnB,eAAO,MAAM,YAAY,
|
|
1
|
+
{"version":3,"file":"sidemenuItem.d.ts","sourceRoot":"","sources":["../../../src/sidemenu/sidemenuItem.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAyC,YAAY,EAAE,MAAM,SAAS,CAAA;AAK7E,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AAEpD,mBAAmB;AACnB,eAAO,MAAM,YAAY,wCAmEmB,CAAA;AAE5C,eAAe,YAAY,CAAA"}
|
|
@@ -13,6 +13,7 @@ export const SidemenuItem = vui((props, ref) => {
|
|
|
13
13
|
const { variant, size, isExpandedInternal } = useSidemenuContext();
|
|
14
14
|
const styles = useStyleConfig('Sidemenu', useSidemenuContext);
|
|
15
15
|
const isDark = variant === 'dark';
|
|
16
|
+
const hasChildrenExpanded = !!children && isExpandedInternal;
|
|
16
17
|
const innerContent = isExpandedInternal ? (React.createElement(Box, { centerV: true, px: 2, py: 1, w: "100%", whiteSpace: "pre" },
|
|
17
18
|
React.createElement(Icon, { ml: iconSize === 'sm' ? '4px' : 0, name: icon, size: iconSize }),
|
|
18
19
|
React.createElement(T, { isTruncated: true, ml: 2 }, title))) : (React.createElement(Box, { centerV: true, px: 2, py: 1, w: "100%" },
|
|
@@ -23,9 +24,9 @@ export const SidemenuItem = vui((props, ref) => {
|
|
|
23
24
|
setDisplayChildren(!displayChildren);
|
|
24
25
|
};
|
|
25
26
|
return (React.createElement(Box, { flexDirection: "column", ref: ref, w: "100%" },
|
|
26
|
-
React.createElement(Button, { alignItems: "center", border: "none", borderLeft: "3px solid transparent", borderLeftColor: isActive ? (isDark ? 'digiGreen.main' : 'seaBlue.main') : undefined, borderRadius: 0, className: cs('vui-sidemenu-item', className), h: "auto", justifyContent: "space-between", onClick: () => onClick?.(), p: 0, variant: isDark ? 'tertiaryLight' : 'tertiaryDark', w: "100%", ...styles.item, minH: size === 'lg' ? '56px' : '40px', ...rest },
|
|
27
|
+
React.createElement(Button, { alignItems: "center", border: "none", borderLeft: "3px solid transparent", borderLeftColor: isActive ? (isDark ? 'digiGreen.main' : 'seaBlue.main') : undefined, borderRadius: 0, className: cs('vui-sidemenu-item', className), color: hasChildrenExpanded ? 'seaBlue.main' : isDark ? 'digiGreen.main' : 'sandstone.10', h: "auto", justifyContent: "space-between", onClick: () => onClick?.(), p: 0, variant: isDark ? 'tertiaryLight' : 'tertiaryDark', w: "100%", ...styles.item, minH: size === 'lg' ? '56px' : '40px', ...rest },
|
|
27
28
|
innerContent,
|
|
28
|
-
|
|
29
|
+
hasChildrenExpanded && (React.createElement(Button, { className: "vui-sidemenu-item-expand", icon: displayChildren ? 'falChevronUp' : 'falChevronDown', mr: 1, onClick: toggle, size: "sm", variant: isDark ? 'tertiaryLight' : 'tertiaryDark' }))),
|
|
29
30
|
!!children && displayChildren && (React.createElement(Box, { flexDirection: "column", justifyContent: "start", w: "100%" }, children))));
|
|
30
31
|
});
|
|
31
32
|
export default SidemenuItem;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@veracity/vui",
|
|
3
|
-
"version": "2.10.0-beta.
|
|
3
|
+
"version": "2.10.0-beta.2",
|
|
4
4
|
"description": "Veracity UI is a React component library crafted for use within Veracity applications and pages. Based on Styled Components and @xstyled.",
|
|
5
5
|
"module": "./dist/esm/index.js",
|
|
6
6
|
"main": "./dist/cjs/index.js",
|
|
@@ -22,16 +22,16 @@ export const SidemenuBase = styled.divBox`
|
|
|
22
22
|
/** A collapsible side menu for navigation. */
|
|
23
23
|
export const Sidemenu = vui<'div', SidemenuProps>((props, ref) => {
|
|
24
24
|
const { children, className, items, isExpanded = false, size, variant, width = 280, ...rest } = props
|
|
25
|
-
|
|
25
|
+
|
|
26
26
|
const [isExpandedInternal, setIsExpandedInternal] = useState(isExpanded)
|
|
27
27
|
const context = useMemo(
|
|
28
28
|
() => filterUndefined({ size, variant, isExpandedInternal }),
|
|
29
29
|
[size, variant, isExpandedInternal]
|
|
30
30
|
)
|
|
31
31
|
|
|
32
|
-
const
|
|
32
|
+
const styles = useStyleConfig('Sidemenu', props)
|
|
33
33
|
|
|
34
|
-
const
|
|
34
|
+
const isDark = variant === 'dark'
|
|
35
35
|
|
|
36
36
|
useEffect(() => {
|
|
37
37
|
setIsExpandedInternal(isExpanded)
|
|
@@ -45,14 +45,7 @@ export const Sidemenu = vui<'div', SidemenuProps>((props, ref) => {
|
|
|
45
45
|
|
|
46
46
|
return (
|
|
47
47
|
<SidemenuProvider value={context}>
|
|
48
|
-
<SidemenuBase
|
|
49
|
-
className={cs('vui-sidemenu', className)}
|
|
50
|
-
ref={ref}
|
|
51
|
-
w={w}
|
|
52
|
-
{...styles.container}
|
|
53
|
-
{...aliasedProps}
|
|
54
|
-
{...rest}
|
|
55
|
-
>
|
|
48
|
+
<SidemenuBase className={cs('vui-sidemenu', className)} ref={ref} w={w} {...styles.container} {...rest}>
|
|
56
49
|
<Box flexDirection="column" flexGrow={1} overflowX="hidden" overflowY="auto" w="100%">
|
|
57
50
|
{items
|
|
58
51
|
? items?.map?.((item: SidemenuItemProps, key: number) => <SidemenuItem key={key} {...item} />)
|
|
@@ -15,7 +15,9 @@ export const SidemenuItem = vui<'button', SidemenuItemProps>((props, ref) => {
|
|
|
15
15
|
const [displayChildren, setDisplayChildren] = useState(true)
|
|
16
16
|
const { variant, size, isExpandedInternal } = useSidemenuContext()
|
|
17
17
|
const styles = useStyleConfig('Sidemenu', useSidemenuContext)
|
|
18
|
+
|
|
18
19
|
const isDark = variant === 'dark'
|
|
20
|
+
const hasChildrenExpanded = !!children && isExpandedInternal
|
|
19
21
|
|
|
20
22
|
const innerContent = isExpandedInternal ? (
|
|
21
23
|
<Box centerV px={2} py={1} w="100%" whiteSpace="pre">
|
|
@@ -45,6 +47,7 @@ export const SidemenuItem = vui<'button', SidemenuItemProps>((props, ref) => {
|
|
|
45
47
|
borderLeftColor={isActive ? (isDark ? 'digiGreen.main' : 'seaBlue.main') : undefined}
|
|
46
48
|
borderRadius={0}
|
|
47
49
|
className={cs('vui-sidemenu-item', className)}
|
|
50
|
+
color={hasChildrenExpanded ? 'seaBlue.main' : isDark ? 'digiGreen.main' : 'sandstone.10'}
|
|
48
51
|
h="auto"
|
|
49
52
|
justifyContent="space-between"
|
|
50
53
|
onClick={() => onClick?.()}
|
|
@@ -56,7 +59,7 @@ export const SidemenuItem = vui<'button', SidemenuItemProps>((props, ref) => {
|
|
|
56
59
|
{...rest}
|
|
57
60
|
>
|
|
58
61
|
{innerContent}
|
|
59
|
-
{
|
|
62
|
+
{hasChildrenExpanded && (
|
|
60
63
|
<Button
|
|
61
64
|
className="vui-sidemenu-item-expand"
|
|
62
65
|
icon={displayChildren ? 'falChevronUp' : 'falChevronDown'}
|