@veracity/vui 2.11.0 → 2.12.0-beta.0
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/button/buttonIcon.d.ts.map +1 -1
- package/dist/cjs/button/buttonIcon.js +4 -2
- package/dist/cjs/core/vuiProvider/consts.d.ts +2 -0
- package/dist/cjs/core/vuiProvider/consts.d.ts.map +1 -0
- package/dist/cjs/core/vuiProvider/consts.js +4 -0
- package/dist/cjs/core/vuiProvider/globalStyle.d.ts.map +1 -1
- package/dist/cjs/core/vuiProvider/globalStyle.js +6 -0
- package/dist/cjs/core/vuiProvider/index.d.ts +2 -0
- package/dist/cjs/core/vuiProvider/index.d.ts.map +1 -1
- package/dist/cjs/core/vuiProvider/index.js +2 -0
- package/dist/cjs/core/vuiProvider/useBodyScrollLock.d.ts +7 -0
- package/dist/cjs/core/vuiProvider/useBodyScrollLock.d.ts.map +1 -0
- package/dist/cjs/core/vuiProvider/useBodyScrollLock.js +18 -0
- package/dist/cjs/core/vuiProvider/vuiProvider.d.ts.map +1 -1
- package/dist/cjs/core/vuiProvider/vuiProvider.js +0 -2
- package/dist/cjs/definition/definition.d.ts.map +1 -1
- package/dist/cjs/definition/definition.js +0 -1
- package/dist/cjs/dialog/consts.d.ts +0 -1
- package/dist/cjs/dialog/consts.d.ts.map +1 -1
- package/dist/cjs/dialog/consts.js +1 -2
- package/dist/cjs/focusLock/focusLock.d.ts +11 -0
- package/dist/cjs/focusLock/focusLock.d.ts.map +1 -0
- package/dist/cjs/{modal → focusLock}/focusLock.js +3 -3
- package/dist/cjs/focusLock/focusLock.types.d.ts.map +1 -0
- package/dist/cjs/focusLock/index.d.ts +4 -0
- package/dist/cjs/focusLock/index.d.ts.map +1 -0
- package/dist/cjs/focusLock/index.js +24 -0
- package/dist/cjs/footer/footer.d.ts.map +1 -1
- package/dist/cjs/footer/footer.js +5 -1
- package/dist/cjs/footer/footer.types.d.ts +2 -1
- package/dist/cjs/footer/footer.types.d.ts.map +1 -1
- package/dist/cjs/index.d.ts +1 -0
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +1 -0
- package/dist/cjs/input/consts.d.ts +6 -0
- package/dist/cjs/input/consts.d.ts.map +1 -1
- package/dist/cjs/input/consts.js +7 -1
- package/dist/cjs/input/input.d.ts.map +1 -1
- package/dist/cjs/input/input.js +3 -3
- package/dist/cjs/input/input.types.d.ts +2 -0
- package/dist/cjs/input/input.types.d.ts.map +1 -1
- package/dist/cjs/modal/index.d.ts +2 -2
- package/dist/cjs/modal/index.d.ts.map +1 -1
- package/dist/cjs/modal/index.js +2 -2
- package/dist/cjs/modal/modal.d.ts.map +1 -1
- package/dist/cjs/modal/modal.js +1 -1
- package/dist/cjs/modal/modal.types.d.ts +1 -1
- package/dist/cjs/modal/modal.types.d.ts.map +1 -1
- package/dist/cjs/modal/modalManager.d.ts +2 -2
- package/dist/cjs/modal/modalManager.d.ts.map +1 -1
- package/dist/cjs/modal/modalManager.js +6 -9
- package/dist/cjs/sidemenu/sidemenu.d.ts +0 -1
- package/dist/cjs/sidemenu/sidemenu.d.ts.map +1 -1
- package/dist/cjs/sidemenu/sidemenu.js +10 -11
- package/dist/cjs/sidemenu/sidemenu.types.d.ts +4 -0
- package/dist/cjs/sidemenu/sidemenu.types.d.ts.map +1 -1
- package/dist/cjs/sidemenu/sidemenuItem.d.ts.map +1 -1
- package/dist/cjs/sidemenu/sidemenuItem.js +1 -1
- package/dist/esm/button/buttonIcon.d.ts.map +1 -1
- package/dist/esm/button/buttonIcon.js +4 -2
- package/dist/esm/core/vuiProvider/consts.d.ts +2 -0
- package/dist/esm/core/vuiProvider/consts.d.ts.map +1 -0
- package/dist/esm/core/vuiProvider/consts.js +1 -0
- package/dist/esm/core/vuiProvider/globalStyle.d.ts.map +1 -1
- package/dist/esm/core/vuiProvider/globalStyle.js +6 -0
- package/dist/esm/core/vuiProvider/index.d.ts +2 -0
- package/dist/esm/core/vuiProvider/index.d.ts.map +1 -1
- package/dist/esm/core/vuiProvider/index.js +2 -0
- package/dist/esm/core/vuiProvider/useBodyScrollLock.d.ts +7 -0
- package/dist/esm/core/vuiProvider/useBodyScrollLock.d.ts.map +1 -0
- package/dist/esm/core/vuiProvider/useBodyScrollLock.js +14 -0
- package/dist/esm/core/vuiProvider/vuiProvider.d.ts.map +1 -1
- package/dist/esm/core/vuiProvider/vuiProvider.js +0 -2
- package/dist/esm/definition/definition.d.ts.map +1 -1
- package/dist/esm/definition/definition.js +0 -1
- package/dist/esm/dialog/consts.d.ts +0 -1
- package/dist/esm/dialog/consts.d.ts.map +1 -1
- package/dist/esm/dialog/consts.js +0 -1
- package/dist/esm/focusLock/focusLock.d.ts +11 -0
- package/dist/esm/focusLock/focusLock.d.ts.map +1 -0
- package/dist/esm/{modal → focusLock}/focusLock.js +3 -3
- package/dist/esm/focusLock/focusLock.types.d.ts.map +1 -0
- package/dist/esm/focusLock/index.d.ts +4 -0
- package/dist/esm/focusLock/index.d.ts.map +1 -0
- package/dist/esm/focusLock/index.js +3 -0
- package/dist/esm/footer/footer.d.ts.map +1 -1
- package/dist/esm/footer/footer.js +5 -1
- package/dist/esm/footer/footer.types.d.ts +2 -1
- package/dist/esm/footer/footer.types.d.ts.map +1 -1
- package/dist/esm/index.d.ts +1 -0
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +1 -0
- package/dist/esm/input/consts.d.ts +6 -0
- package/dist/esm/input/consts.d.ts.map +1 -1
- package/dist/esm/input/consts.js +6 -0
- package/dist/esm/input/input.d.ts.map +1 -1
- package/dist/esm/input/input.js +4 -4
- package/dist/esm/input/input.types.d.ts +2 -0
- package/dist/esm/input/input.types.d.ts.map +1 -1
- package/dist/esm/modal/index.d.ts +2 -2
- package/dist/esm/modal/index.d.ts.map +1 -1
- package/dist/esm/modal/index.js +2 -2
- package/dist/esm/modal/modal.d.ts.map +1 -1
- package/dist/esm/modal/modal.js +1 -1
- package/dist/esm/modal/modal.types.d.ts +1 -1
- package/dist/esm/modal/modal.types.d.ts.map +1 -1
- package/dist/esm/modal/modalManager.d.ts +2 -2
- package/dist/esm/modal/modalManager.d.ts.map +1 -1
- package/dist/esm/modal/modalManager.js +6 -9
- package/dist/esm/sidemenu/sidemenu.d.ts +0 -1
- package/dist/esm/sidemenu/sidemenu.d.ts.map +1 -1
- package/dist/esm/sidemenu/sidemenu.js +9 -11
- package/dist/esm/sidemenu/sidemenu.types.d.ts +4 -0
- package/dist/esm/sidemenu/sidemenu.types.d.ts.map +1 -1
- package/dist/esm/sidemenu/sidemenuItem.d.ts.map +1 -1
- package/dist/esm/sidemenu/sidemenuItem.js +2 -0
- package/package.json +1 -1
- package/src/button/buttonIcon.tsx +6 -3
- package/src/core/vuiProvider/consts.ts +1 -0
- package/src/core/vuiProvider/globalStyle.tsx +6 -0
- package/src/core/vuiProvider/index.ts +2 -0
- package/src/core/vuiProvider/useBodyScrollLock.tsx +17 -0
- package/src/core/vuiProvider/vuiProvider.tsx +0 -2
- package/src/definition/definition.tsx +0 -3
- package/src/dialog/consts.ts +0 -2
- package/src/{modal → focusLock}/focusLock.tsx +4 -3
- package/src/focusLock/index.ts +3 -0
- package/src/footer/footer.tsx +29 -1
- package/src/footer/footer.types.ts +2 -1
- package/src/index.ts +1 -0
- package/src/input/consts.ts +7 -0
- package/src/input/input.tsx +66 -55
- package/src/input/input.types.ts +2 -0
- package/src/modal/index.ts +2 -2
- package/src/modal/modal.tsx +1 -2
- package/src/modal/modal.types.ts +1 -1
- package/src/modal/modalManager.ts +6 -9
- package/src/sidemenu/sidemenu.tsx +23 -13
- package/src/sidemenu/sidemenu.types.ts +4 -0
- package/src/sidemenu/sidemenuItem.tsx +2 -0
- package/dist/cjs/modal/focusLock.d.ts +0 -11
- package/dist/cjs/modal/focusLock.d.ts.map +0 -1
- package/dist/cjs/modal/focusLock.types.d.ts.map +0 -1
- package/dist/cjs/modal/modalStyle.d.ts +0 -3
- package/dist/cjs/modal/modalStyle.d.ts.map +0 -1
- package/dist/cjs/modal/modalStyle.js +0 -10
- package/dist/esm/modal/focusLock.d.ts +0 -11
- package/dist/esm/modal/focusLock.d.ts.map +0 -1
- package/dist/esm/modal/focusLock.types.d.ts.map +0 -1
- package/dist/esm/modal/modalStyle.d.ts +0 -3
- package/dist/esm/modal/modalStyle.d.ts.map +0 -1
- package/dist/esm/modal/modalStyle.js +0 -8
- package/src/modal/modalStyle.ts +0 -9
- /package/dist/cjs/{modal → focusLock}/focusLock.types.d.ts +0 -0
- /package/dist/cjs/{modal → focusLock}/focusLock.types.js +0 -0
- /package/dist/esm/{modal → focusLock}/focusLock.types.d.ts +0 -0
- /package/dist/esm/{modal → focusLock}/focusLock.types.js +0 -0
- /package/src/{modal → focusLock}/focusLock.types.ts +0 -0
|
@@ -2,7 +2,7 @@ import React, { useEffect, useMemo, useState } from 'react'
|
|
|
2
2
|
|
|
3
3
|
import Box from '../box'
|
|
4
4
|
import Button from '../button'
|
|
5
|
-
import {
|
|
5
|
+
import { useStyleConfig, vui, VuiComponent } from '../core'
|
|
6
6
|
import Icon from '../icon'
|
|
7
7
|
import { cs, filterUndefined } from '../utils'
|
|
8
8
|
import { expandedWidth } from './consts'
|
|
@@ -11,17 +11,9 @@ import { SidemenuItemProps, SidemenuProps } from './sidemenu.types'
|
|
|
11
11
|
import SidemenuItem from './sidemenuItem'
|
|
12
12
|
import SidemenuTop from './sidemenuTop'
|
|
13
13
|
|
|
14
|
-
export const SidemenuBase = styled.divBox`
|
|
15
|
-
display: flex;
|
|
16
|
-
flex-direction: column;
|
|
17
|
-
min-width: 0;
|
|
18
|
-
transition-duration: normal;
|
|
19
|
-
overflow: hidden;
|
|
20
|
-
`
|
|
21
|
-
|
|
22
14
|
/** A collapsible side menu for navigation. */
|
|
23
15
|
export const Sidemenu = vui<'div', SidemenuProps>((props, ref) => {
|
|
24
|
-
const { children, className, items, isExpanded = false, size, variant, width = 280, ...rest } = props
|
|
16
|
+
const { children, className, items, isExpanded = false, size, variant, width = 280, onNavigate, ...rest } = props
|
|
25
17
|
|
|
26
18
|
const [isExpandedInternal, setIsExpandedInternal] = useState(isExpanded)
|
|
27
19
|
const context = useMemo(
|
|
@@ -43,12 +35,30 @@ export const Sidemenu = vui<'div', SidemenuProps>((props, ref) => {
|
|
|
43
35
|
const icon = `falArrow${isExpandedInternal ? 'Left' : 'Right'}`
|
|
44
36
|
const justifyContent = isExpandedInternal ? 'flex-end' : 'center'
|
|
45
37
|
|
|
38
|
+
function onItemClick(item: SidemenuItemProps) {
|
|
39
|
+
item?.onClick?.()
|
|
40
|
+
if (item?.path) onNavigate?.(item.path)
|
|
41
|
+
}
|
|
42
|
+
|
|
46
43
|
return (
|
|
47
44
|
<SidemenuProvider value={context}>
|
|
48
|
-
<
|
|
45
|
+
<Box
|
|
46
|
+
className={cs('vui-sidemenu', className)}
|
|
47
|
+
elevation="3"
|
|
48
|
+
flexDirection="column"
|
|
49
|
+
minWidth={0}
|
|
50
|
+
overflowX="hidden"
|
|
51
|
+
ref={ref}
|
|
52
|
+
transitionDuration="normal"
|
|
53
|
+
w={w}
|
|
54
|
+
{...styles.container}
|
|
55
|
+
{...rest}
|
|
56
|
+
>
|
|
49
57
|
<Box flexDirection="column" flexGrow={1} overflowX="hidden" overflowY="auto" w="100%">
|
|
50
58
|
{items
|
|
51
|
-
? items?.map?.((item: SidemenuItemProps, key: number) =>
|
|
59
|
+
? items?.map?.((item: SidemenuItemProps, key: number) => (
|
|
60
|
+
<SidemenuItem key={key} {...item} onClick={() => onItemClick(item)} />
|
|
61
|
+
))
|
|
52
62
|
: children}
|
|
53
63
|
</Box>
|
|
54
64
|
<Box className="vui-sidemenu-bottom" w="100%" {...styles.bottom}>
|
|
@@ -63,7 +73,7 @@ export const Sidemenu = vui<'div', SidemenuProps>((props, ref) => {
|
|
|
63
73
|
<Icon name={icon} />
|
|
64
74
|
</Button>
|
|
65
75
|
</Box>
|
|
66
|
-
</
|
|
76
|
+
</Box>
|
|
67
77
|
</SidemenuProvider>
|
|
68
78
|
)
|
|
69
79
|
}) as VuiComponent<'div', SidemenuProps> & {
|
|
@@ -13,6 +13,8 @@ export type SidemenuProps = SystemProps &
|
|
|
13
13
|
items?: SidemenuItemProps[]
|
|
14
14
|
/** Whether the menu is expanded @default false */
|
|
15
15
|
isExpanded?: boolean
|
|
16
|
+
/** External callback for navigation to the item path, could be a custom function or React Router hook: https://reactrouter.com/en/main/hooks/use-navigate */
|
|
17
|
+
onNavigate?: (to: string) => void
|
|
16
18
|
/** With of the container when the side menu is expanded @default 280 */
|
|
17
19
|
width?: number
|
|
18
20
|
}
|
|
@@ -30,6 +32,8 @@ export type SidemenuItemProps = BoxProps & {
|
|
|
30
32
|
isActive?: boolean
|
|
31
33
|
/** On click callback */
|
|
32
34
|
onClick?: () => void
|
|
35
|
+
/** Router path */
|
|
36
|
+
path?: string
|
|
33
37
|
/** Title */
|
|
34
38
|
title: string
|
|
35
39
|
}
|
|
@@ -41,6 +41,7 @@ export const SidemenuItem = vui<'button', SidemenuItemProps>((props, ref) => {
|
|
|
41
41
|
borderRadius: 0,
|
|
42
42
|
borderLeft: '3px solid transparent',
|
|
43
43
|
borderLeftColor: isActive ? (isDark ? 'digiGreen.main' : 'seaBlue.main') : undefined,
|
|
44
|
+
bg: isDark ? 'darkBlue.main' : isActive ? 'skyBlue.95' : 'white',
|
|
44
45
|
color: hasChildrenExpanded ? 'seaBlue.main' : isDark ? 'digiGreen.main' : 'sandstone.10',
|
|
45
46
|
h: 'auto',
|
|
46
47
|
justifyContent: 'space-between',
|
|
@@ -50,6 +51,7 @@ export const SidemenuItem = vui<'button', SidemenuItemProps>((props, ref) => {
|
|
|
50
51
|
w: '100%',
|
|
51
52
|
...styles.item,
|
|
52
53
|
minH: size === 'lg' ? '56px' : '40px',
|
|
54
|
+
hoverBg: isDark ? 'seaBlue.main' : 'skyBlue.90',
|
|
53
55
|
...rest
|
|
54
56
|
}
|
|
55
57
|
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { FC } from 'react';
|
|
2
|
-
import { ChildrenProp } from '../core';
|
|
3
|
-
import { FocusLockProps } from './focusLock.types';
|
|
4
|
-
/**
|
|
5
|
-
* Traps the focus within the provided content. That is, tabbing with keyboard will
|
|
6
|
-
* only cycle through the children and won't leave the boundary of the FocusLock.
|
|
7
|
-
* This behavior enhances accessibility of the Modal component.
|
|
8
|
-
*/
|
|
9
|
-
export declare const FocusLock: FC<FocusLockProps & ChildrenProp>;
|
|
10
|
-
export default FocusLock;
|
|
11
|
-
//# sourceMappingURL=focusLock.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"focusLock.d.ts","sourceRoot":"","sources":["../../../src/modal/focusLock.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,EAAE,EAAe,MAAM,OAAO,CAAA;AAG9C,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AACtC,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAElD;;;;GAIG;AACH,eAAO,MAAM,SAAS,EAAE,EAAE,CAAC,cAAc,GAAG,YAAY,CAmCvD,CAAA;AAED,eAAe,SAAS,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"focusLock.types.d.ts","sourceRoot":"","sources":["../../../src/modal/focusLock.types.ts"],"names":[],"mappings":";AAAA,MAAM,MAAM,gBAAgB,GAAG;IAC7B,KAAK,CAAC,OAAO,CAAC,EAAE,YAAY,GAAG,IAAI,CAAA;CACpC,CAAA;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB;;;;;OAKG;IACH,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,uEAAuE;IACvE,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAA;IACjD,6EAA6E;IAC7E,eAAe,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAA;IACnD,+BAA+B;IAC/B,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,+DAA+D;IAC/D,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,2FAA2F;IAC3F,WAAW,CAAC,EAAE,OAAO,CAAA;CACtB,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"modalStyle.d.ts","sourceRoot":"","sources":["../../../src/modal/modalStyle.ts"],"names":[],"mappings":";AAEA,wBAMC"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const core_1 = require("../core");
|
|
4
|
-
exports.default = (0, core_1.createGlobalStyle) `
|
|
5
|
-
|
|
6
|
-
body.vui-no-scroll {
|
|
7
|
-
overflow: hidden !important;
|
|
8
|
-
overscroll-behavior: contain;
|
|
9
|
-
}
|
|
10
|
-
`;
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { FC } from 'react';
|
|
2
|
-
import { ChildrenProp } from '../core';
|
|
3
|
-
import { FocusLockProps } from './focusLock.types';
|
|
4
|
-
/**
|
|
5
|
-
* Traps the focus within the provided content. That is, tabbing with keyboard will
|
|
6
|
-
* only cycle through the children and won't leave the boundary of the FocusLock.
|
|
7
|
-
* This behavior enhances accessibility of the Modal component.
|
|
8
|
-
*/
|
|
9
|
-
export declare const FocusLock: FC<FocusLockProps & ChildrenProp>;
|
|
10
|
-
export default FocusLock;
|
|
11
|
-
//# sourceMappingURL=focusLock.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"focusLock.d.ts","sourceRoot":"","sources":["../../../src/modal/focusLock.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,EAAE,EAAe,MAAM,OAAO,CAAA;AAG9C,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AACtC,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAElD;;;;GAIG;AACH,eAAO,MAAM,SAAS,EAAE,EAAE,CAAC,cAAc,GAAG,YAAY,CAmCvD,CAAA;AAED,eAAe,SAAS,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"focusLock.types.d.ts","sourceRoot":"","sources":["../../../src/modal/focusLock.types.ts"],"names":[],"mappings":";AAAA,MAAM,MAAM,gBAAgB,GAAG;IAC7B,KAAK,CAAC,OAAO,CAAC,EAAE,YAAY,GAAG,IAAI,CAAA;CACpC,CAAA;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB;;;;;OAKG;IACH,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,uEAAuE;IACvE,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAA;IACjD,6EAA6E;IAC7E,eAAe,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAA;IACnD,+BAA+B;IAC/B,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,+DAA+D;IAC/D,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,2FAA2F;IAC3F,WAAW,CAAC,EAAE,OAAO,CAAA;CACtB,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"modalStyle.d.ts","sourceRoot":"","sources":["../../../src/modal/modalStyle.ts"],"names":[],"mappings":";AAEA,wBAMC"}
|
package/src/modal/modalStyle.ts
DELETED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|