@veracity/vui 1.8.0 → 1.9.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/accordion/accordion.types.d.ts +1 -0
- package/dist/cjs/accordion/accordion.types.d.ts.map +1 -1
- package/dist/cjs/button/button.d.ts +1 -0
- package/dist/cjs/button/button.d.ts.map +1 -1
- package/dist/cjs/button/button.js +3 -3
- package/dist/cjs/button/button.types.d.ts +2 -0
- package/dist/cjs/button/button.types.d.ts.map +1 -1
- package/dist/cjs/dragAndDrop/dragAndDrop.d.ts +5 -0
- package/dist/cjs/dragAndDrop/dragAndDrop.d.ts.map +1 -0
- package/dist/cjs/dragAndDrop/dragAndDrop.js +84 -0
- package/dist/cjs/dragAndDrop/dragAndDrop.types.d.ts +18 -0
- package/dist/cjs/dragAndDrop/dragAndDrop.types.d.ts.map +1 -0
- package/dist/cjs/dragAndDrop/dragAndDrop.types.js +2 -0
- package/dist/cjs/dragAndDrop/index.d.ts +4 -0
- package/dist/cjs/dragAndDrop/index.d.ts.map +1 -0
- package/dist/cjs/dragAndDrop/index.js +24 -0
- package/dist/cjs/dragAndDrop/theme.d.ts +8 -0
- package/dist/cjs/dragAndDrop/theme.d.ts.map +1 -0
- package/dist/cjs/dragAndDrop/theme.js +12 -0
- package/dist/cjs/index.d.ts +2 -0
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +2 -0
- package/dist/cjs/input/input.d.ts.map +1 -1
- package/dist/cjs/input/input.js +14 -8
- package/dist/cjs/sidemenu/context.d.ts +5 -0
- package/dist/cjs/sidemenu/context.d.ts.map +1 -0
- package/dist/cjs/sidemenu/context.js +7 -0
- package/dist/cjs/sidemenu/index.d.ts +6 -0
- package/dist/cjs/sidemenu/index.d.ts.map +1 -0
- package/dist/cjs/sidemenu/index.js +26 -0
- package/dist/cjs/sidemenu/sidemenu.d.ts +12 -0
- package/dist/cjs/sidemenu/sidemenu.d.ts.map +1 -0
- package/dist/cjs/sidemenu/sidemenu.js +85 -0
- package/dist/cjs/sidemenu/sidemenu.types.d.ts +41 -0
- package/dist/cjs/sidemenu/sidemenu.types.d.ts.map +1 -0
- package/dist/cjs/sidemenu/sidemenu.types.js +2 -0
- package/dist/cjs/sidemenu/sidemenuItem.d.ts +5 -0
- package/dist/cjs/sidemenu/sidemenuItem.d.ts.map +1 -0
- package/dist/cjs/sidemenu/sidemenuItem.js +67 -0
- package/dist/cjs/sidemenu/sidemenuTop.d.ts +5 -0
- package/dist/cjs/sidemenu/sidemenuTop.d.ts.map +1 -0
- package/dist/cjs/sidemenu/sidemenuTop.js +34 -0
- package/dist/cjs/sidemenu/theme.d.ts +8 -0
- package/dist/cjs/sidemenu/theme.d.ts.map +1 -0
- package/dist/cjs/sidemenu/theme.js +12 -0
- package/dist/cjs/textarea/consts.d.ts +4 -0
- package/dist/cjs/textarea/consts.d.ts.map +1 -0
- package/dist/cjs/textarea/consts.js +6 -0
- package/dist/cjs/textarea/textarea.d.ts.map +1 -1
- package/dist/cjs/textarea/textarea.js +15 -8
- package/dist/cjs/theme/components.d.ts +12 -0
- package/dist/cjs/theme/components.d.ts.map +1 -1
- package/dist/cjs/theme/components.js +60 -56
- package/dist/cjs/theme/defaultTheme.d.ts +12 -0
- package/dist/cjs/theme/defaultTheme.d.ts.map +1 -1
- package/dist/cjs/toast/toast.d.ts.map +1 -1
- package/dist/cjs/toast/toast.js +5 -2
- package/dist/esm/accordion/accordion.types.d.ts +1 -0
- package/dist/esm/accordion/accordion.types.d.ts.map +1 -1
- package/dist/esm/button/button.d.ts +1 -0
- package/dist/esm/button/button.d.ts.map +1 -1
- package/dist/esm/button/button.js +2 -2
- package/dist/esm/button/button.types.d.ts +2 -0
- package/dist/esm/button/button.types.d.ts.map +1 -1
- package/dist/esm/dragAndDrop/dragAndDrop.d.ts +5 -0
- package/dist/esm/dragAndDrop/dragAndDrop.d.ts.map +1 -0
- package/dist/esm/dragAndDrop/dragAndDrop.js +42 -0
- package/dist/esm/dragAndDrop/dragAndDrop.types.d.ts +18 -0
- package/dist/esm/dragAndDrop/dragAndDrop.types.d.ts.map +1 -0
- package/dist/esm/dragAndDrop/dragAndDrop.types.js +1 -0
- package/dist/esm/dragAndDrop/index.d.ts +4 -0
- package/dist/esm/dragAndDrop/index.d.ts.map +1 -0
- package/dist/esm/dragAndDrop/index.js +3 -0
- package/dist/esm/dragAndDrop/theme.d.ts +8 -0
- package/dist/esm/dragAndDrop/theme.d.ts.map +1 -0
- package/dist/esm/dragAndDrop/theme.js +10 -0
- package/dist/esm/index.d.ts +2 -0
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +2 -0
- package/dist/esm/input/input.d.ts.map +1 -1
- package/dist/esm/input/input.js +15 -10
- package/dist/esm/sidemenu/context.d.ts +5 -0
- package/dist/esm/sidemenu/context.d.ts.map +1 -0
- package/dist/esm/sidemenu/context.js +3 -0
- package/dist/esm/sidemenu/index.d.ts +6 -0
- package/dist/esm/sidemenu/index.d.ts.map +1 -0
- package/dist/esm/sidemenu/index.js +5 -0
- package/dist/esm/sidemenu/sidemenu.d.ts +12 -0
- package/dist/esm/sidemenu/sidemenu.d.ts.map +1 -0
- package/dist/esm/sidemenu/sidemenu.js +44 -0
- package/dist/esm/sidemenu/sidemenu.types.d.ts +41 -0
- package/dist/esm/sidemenu/sidemenu.types.d.ts.map +1 -0
- package/dist/esm/sidemenu/sidemenu.types.js +1 -0
- package/dist/esm/sidemenu/sidemenuItem.d.ts +5 -0
- package/dist/esm/sidemenu/sidemenuItem.d.ts.map +1 -0
- package/dist/esm/sidemenu/sidemenuItem.js +26 -0
- package/dist/esm/sidemenu/sidemenuTop.d.ts +5 -0
- package/dist/esm/sidemenu/sidemenuTop.d.ts.map +1 -0
- package/dist/esm/sidemenu/sidemenuTop.js +16 -0
- package/dist/esm/sidemenu/theme.d.ts +8 -0
- package/dist/esm/sidemenu/theme.d.ts.map +1 -0
- package/dist/esm/sidemenu/theme.js +10 -0
- package/dist/esm/textarea/consts.d.ts +4 -0
- package/dist/esm/textarea/consts.d.ts.map +1 -0
- package/dist/esm/textarea/consts.js +3 -0
- package/dist/esm/textarea/textarea.d.ts.map +1 -1
- package/dist/esm/textarea/textarea.js +15 -9
- package/dist/esm/theme/components.d.ts +12 -0
- package/dist/esm/theme/components.d.ts.map +1 -1
- package/dist/esm/theme/components.js +4 -0
- package/dist/esm/theme/defaultTheme.d.ts +12 -0
- package/dist/esm/theme/defaultTheme.d.ts.map +1 -1
- package/dist/esm/toast/toast.d.ts.map +1 -1
- package/dist/esm/toast/toast.js +5 -2
- package/package.json +1 -1
- package/src/accordion/accordion.types.ts +1 -0
- package/src/button/button.tsx +2 -1
- package/src/button/button.types.ts +2 -0
- package/src/dragAndDrop/dragAndDrop.tsx +85 -0
- package/src/dragAndDrop/dragAndDrop.types.ts +19 -0
- package/src/dragAndDrop/index.ts +3 -0
- package/src/dragAndDrop/theme.ts +14 -0
- package/src/index.ts +2 -0
- package/src/input/input.tsx +15 -8
- package/src/sidemenu/context.ts +5 -0
- package/src/sidemenu/index.ts +5 -0
- package/src/sidemenu/sidemenu.tsx +66 -0
- package/src/sidemenu/sidemenu.types.ts +46 -0
- package/src/sidemenu/sidemenuItem.tsx +81 -0
- package/src/sidemenu/sidemenuTop.tsx +25 -0
- package/src/sidemenu/theme.ts +14 -0
- package/src/textarea/consts.ts +3 -0
- package/src/textarea/textarea.tsx +24 -7
- package/src/theme/components.ts +4 -0
- package/src/toast/toast.tsx +12 -7
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/dragAndDrop/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAA;AAC7B,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AACvC,cAAc,qBAAqB,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../../../src/dragAndDrop/theme.ts"],"names":[],"mappings":";;;;;;AAQA,wBAKC"}
|
package/dist/esm/index.d.ts
CHANGED
|
@@ -11,6 +11,7 @@ export * from './copyToClipboard';
|
|
|
11
11
|
export * from './core';
|
|
12
12
|
export * from './dialog';
|
|
13
13
|
export * from './divider';
|
|
14
|
+
export * from './dragAndDrop';
|
|
14
15
|
export * from './footer';
|
|
15
16
|
export * from './grid';
|
|
16
17
|
export * from './header';
|
|
@@ -34,6 +35,7 @@ export * from './portal';
|
|
|
34
35
|
export * from './progress';
|
|
35
36
|
export * from './radio';
|
|
36
37
|
export * from './select';
|
|
38
|
+
export * from './sidemenu';
|
|
37
39
|
export * from './skeleton';
|
|
38
40
|
export * from './spinner';
|
|
39
41
|
export * from './svg';
|
package/dist/esm/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAC3B,cAAc,UAAU,CAAA;AACxB,cAAc,OAAO,CAAA;AACrB,cAAc,eAAe,CAAA;AAC7B,cAAc,UAAU,CAAA;AACxB,cAAc,eAAe,CAAA;AAC7B,cAAc,qBAAqB,CAAA;AACnC,cAAc,QAAQ,CAAA;AACtB,cAAc,YAAY,CAAA;AAC1B,cAAc,mBAAmB,CAAA;AACjC,cAAc,QAAQ,CAAA;AACtB,cAAc,UAAU,CAAA;AACxB,cAAc,WAAW,CAAA;AACzB,cAAc,UAAU,CAAA;AACxB,cAAc,QAAQ,CAAA;AACtB,cAAc,UAAU,CAAA;AACxB,cAAc,WAAW,CAAA;AACzB,cAAc,QAAQ,CAAA;AACtB,cAAc,SAAS,CAAA;AACvB,cAAc,SAAS,CAAA;AACvB,cAAc,SAAS,CAAA;AACvB,cAAc,QAAQ,CAAA;AACtB,cAAc,QAAQ,CAAA;AACtB,cAAc,QAAQ,CAAA;AACtB,cAAc,QAAQ,CAAA;AACtB,cAAc,WAAW,CAAA;AACzB,cAAc,SAAS,CAAA;AACvB,cAAc,gBAAgB,CAAA;AAC9B,cAAc,KAAK,CAAA;AACnB,cAAc,cAAc,CAAA;AAC5B,cAAc,SAAS,CAAA;AACvB,cAAc,WAAW,CAAA;AACzB,cAAc,UAAU,CAAA;AACxB,cAAc,YAAY,CAAA;AAC1B,cAAc,SAAS,CAAA;AACvB,cAAc,UAAU,CAAA;AACxB,cAAc,YAAY,CAAA;AAC1B,cAAc,WAAW,CAAA;AACzB,cAAc,OAAO,CAAA;AACrB,cAAc,UAAU,CAAA;AACxB,cAAc,UAAU,CAAA;AACxB,cAAc,KAAK,CAAA;AACnB,cAAc,SAAS,CAAA;AACvB,cAAc,WAAW,CAAA;AACzB,cAAc,SAAS,CAAA;AACvB,cAAc,QAAQ,CAAA;AACtB,cAAc,OAAO,CAAA;AACrB,cAAc,YAAY,CAAA;AAC1B,cAAc,SAAS,CAAA;AACvB,cAAc,YAAY,CAAA;AAC1B,cAAc,SAAS,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAC3B,cAAc,UAAU,CAAA;AACxB,cAAc,OAAO,CAAA;AACrB,cAAc,eAAe,CAAA;AAC7B,cAAc,UAAU,CAAA;AACxB,cAAc,eAAe,CAAA;AAC7B,cAAc,qBAAqB,CAAA;AACnC,cAAc,QAAQ,CAAA;AACtB,cAAc,YAAY,CAAA;AAC1B,cAAc,mBAAmB,CAAA;AACjC,cAAc,QAAQ,CAAA;AACtB,cAAc,UAAU,CAAA;AACxB,cAAc,WAAW,CAAA;AACzB,cAAc,eAAe,CAAA;AAC7B,cAAc,UAAU,CAAA;AACxB,cAAc,QAAQ,CAAA;AACtB,cAAc,UAAU,CAAA;AACxB,cAAc,WAAW,CAAA;AACzB,cAAc,QAAQ,CAAA;AACtB,cAAc,SAAS,CAAA;AACvB,cAAc,SAAS,CAAA;AACvB,cAAc,SAAS,CAAA;AACvB,cAAc,QAAQ,CAAA;AACtB,cAAc,QAAQ,CAAA;AACtB,cAAc,QAAQ,CAAA;AACtB,cAAc,QAAQ,CAAA;AACtB,cAAc,WAAW,CAAA;AACzB,cAAc,SAAS,CAAA;AACvB,cAAc,gBAAgB,CAAA;AAC9B,cAAc,KAAK,CAAA;AACnB,cAAc,cAAc,CAAA;AAC5B,cAAc,SAAS,CAAA;AACvB,cAAc,WAAW,CAAA;AACzB,cAAc,UAAU,CAAA;AACxB,cAAc,YAAY,CAAA;AAC1B,cAAc,SAAS,CAAA;AACvB,cAAc,UAAU,CAAA;AACxB,cAAc,YAAY,CAAA;AAC1B,cAAc,YAAY,CAAA;AAC1B,cAAc,WAAW,CAAA;AACzB,cAAc,OAAO,CAAA;AACrB,cAAc,UAAU,CAAA;AACxB,cAAc,UAAU,CAAA;AACxB,cAAc,KAAK,CAAA;AACnB,cAAc,SAAS,CAAA;AACvB,cAAc,WAAW,CAAA;AACzB,cAAc,SAAS,CAAA;AACvB,cAAc,QAAQ,CAAA;AACtB,cAAc,OAAO,CAAA;AACrB,cAAc,YAAY,CAAA;AAC1B,cAAc,SAAS,CAAA;AACvB,cAAc,YAAY,CAAA;AAC1B,cAAc,SAAS,CAAA"}
|
package/dist/esm/index.js
CHANGED
|
@@ -11,6 +11,7 @@ export * from './copyToClipboard';
|
|
|
11
11
|
export * from './core';
|
|
12
12
|
export * from './dialog';
|
|
13
13
|
export * from './divider';
|
|
14
|
+
export * from './dragAndDrop';
|
|
14
15
|
export * from './footer';
|
|
15
16
|
export * from './grid';
|
|
16
17
|
export * from './header';
|
|
@@ -34,6 +35,7 @@ export * from './portal';
|
|
|
34
35
|
export * from './progress';
|
|
35
36
|
export * from './radio';
|
|
36
37
|
export * from './select';
|
|
38
|
+
export * from './sidemenu';
|
|
37
39
|
export * from './skeleton';
|
|
38
40
|
export * from './spinner';
|
|
39
41
|
export * from './svg';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"input.d.ts","sourceRoot":"","sources":["../../../src/input/input.tsx"],"names":[],"mappings":"AAEA,OAAO,EAA+B,YAAY,EAAE,MAAM,SAAS,CAAA;AAMnE,OAAO,QAAQ,MAAM,YAAY,CAAA;AACjC,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAC1C,OAAO,SAAS,MAAM,aAAa,CAAA;AACnC,OAAO,UAAU,MAAM,cAAc,CAAA;AAErC,eAAO,MAAM,SAAS,+HAiBrB,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,KAAK;
|
|
1
|
+
{"version":3,"file":"input.d.ts","sourceRoot":"","sources":["../../../src/input/input.tsx"],"names":[],"mappings":"AAEA,OAAO,EAA+B,YAAY,EAAE,MAAM,SAAS,CAAA;AAMnE,OAAO,QAAQ,MAAM,YAAY,CAAA;AACjC,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAC1C,OAAO,SAAS,MAAM,aAAa,CAAA;AACnC,OAAO,UAAU,MAAM,cAAc,CAAA;AAErC,eAAO,MAAM,SAAS,+HAiBrB,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,KAAK;UA+HV,gBAAgB;WACf,iBAAiB;cACd,eAAe;CAC1B,CAAA;AAMD,eAAe,KAAK,CAAA"}
|
package/dist/esm/input/input.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import React, { useMemo, useState } from 'react';
|
|
1
|
+
import React, { useEffect, useMemo, useState } from 'react';
|
|
2
2
|
import { styled, useStyleConfig, vui } from '../core';
|
|
3
3
|
import { T } from '../t';
|
|
4
4
|
import { cs, filterUndefined, isString } from '../utils';
|
|
5
|
-
import { greyColor, greyLightColor, inputStateMapping } from './consts';
|
|
5
|
+
import { greyColor, greyLightColor, inputStateMapping, redColor } from './consts';
|
|
6
6
|
import { InputProvider } from './context';
|
|
7
7
|
import { getInitialCount } from './helpers';
|
|
8
8
|
import HelpText from './helpText';
|
|
@@ -32,15 +32,17 @@ export const InputBase = styled.divBox `
|
|
|
32
32
|
* Exposes some props to the children via context.
|
|
33
33
|
*/
|
|
34
34
|
export const Input = vui((props, ref) => {
|
|
35
|
-
const [count, setCount] = useState(getInitialCount(props));
|
|
36
35
|
const { autoComplete, autoFocus, children, className, colorScheme, defaultValue, disabled, errorText, iconLeft, iconRight, id, input, inputProps, inputRef, isInvalid, itemLeft, itemRight, helpText, max, maxLength, min, name, onBlur, onChange: onChangeProp, onFocus, pattern, placeholder, readOnly, required, showCount, size, state = '', stateMapping, step, type = 'text', value, variant, ...rest } = props;
|
|
36
|
+
const [count, setCount] = useState(getInitialCount(props));
|
|
37
|
+
const [valueInternal, setValueInternal] = useState(defaultValue);
|
|
37
38
|
const states = { ...inputStateMapping, ...stateMapping };
|
|
38
39
|
const computedColorScheme = filterUndefined({
|
|
39
|
-
colorScheme: colorScheme ?? (isInvalid ?
|
|
40
|
+
colorScheme: colorScheme ?? (isInvalid ? redColor : undefined) ?? states[state]?.colorScheme
|
|
40
41
|
});
|
|
41
42
|
const styles = useStyleConfig('Input', { ...computedColorScheme, ...props });
|
|
42
43
|
const context = useMemo(() => filterUndefined({ colorScheme, disabled, size, variant }), [colorScheme, disabled, size, variant]);
|
|
43
44
|
function onChange(e) {
|
|
45
|
+
setValueInternal(e.target.value);
|
|
44
46
|
setCount(e.target.value.length);
|
|
45
47
|
onChangeProp?.(e);
|
|
46
48
|
}
|
|
@@ -50,6 +52,10 @@ export const Input = vui((props, ref) => {
|
|
|
50
52
|
focusWithinBorderColor: !readOnly ? 'transparent' : undefined,
|
|
51
53
|
focusWithinRingColor: readOnly ? 'transparent' : undefined
|
|
52
54
|
});
|
|
55
|
+
useEffect(() => {
|
|
56
|
+
setValueInternal(value);
|
|
57
|
+
setCount(`${value}`?.length ? `${value}`.length : 0);
|
|
58
|
+
}, [value]);
|
|
53
59
|
return (React.createElement(InputProvider, { value: context },
|
|
54
60
|
React.createElement(InputBase, { className: cs('vui-input', className), ref: ref, ...styles.container, ...aliasedProps, ...rest },
|
|
55
61
|
itemLeft,
|
|
@@ -72,16 +78,15 @@ export const Input = vui((props, ref) => {
|
|
|
72
78
|
readOnly,
|
|
73
79
|
required,
|
|
74
80
|
step,
|
|
75
|
-
type
|
|
76
|
-
|
|
77
|
-
}, ...inputProps })),
|
|
81
|
+
type
|
|
82
|
+
}, value: valueInternal, ...inputProps })),
|
|
78
83
|
isString(iconRight) ? React.createElement(InputIcon, { mr: 1, name: iconRight }) : iconRight,
|
|
79
84
|
itemRight,
|
|
80
85
|
state && React.createElement(InputIcon, { mr: 1, ...states[state]?.iconProps }),
|
|
81
|
-
showCount && (React.createElement(T, { className: "vui-inputCount", color: greyColor, position: "absolute", right: 0, size: "sm", top: "calc(100% + 1px)" },
|
|
86
|
+
showCount && (React.createElement(T, { className: "vui-inputCount", color: maxLength && count > maxLength ? redColor : greyColor, position: "absolute", right: 0, size: "sm", top: "calc(100% + 1px)" },
|
|
82
87
|
count,
|
|
83
|
-
"
|
|
84
|
-
maxLength))),
|
|
88
|
+
" ",
|
|
89
|
+
maxLength ? `/ ${maxLength}` : null))),
|
|
85
90
|
!!helpText && React.createElement(HelpText, null, helpText),
|
|
86
91
|
!!errorText && React.createElement(HelpText, { isError: true }, errorText)));
|
|
87
92
|
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../src/sidemenu/context.ts"],"names":[],"mappings":";AAAA,OAAO,EAAiB,IAAI,EAAE,MAAM,UAAU,CAAA;AAE9C,QAAA,MAAO,gBAAgB,uCAAE,kBAAkB,iBAA6C,CAAA;AAExF,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/sidemenu/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAA;AAC1B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,eAAe,CAAA;AAC7B,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AACpC,cAAc,kBAAkB,CAAA"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { VuiComponent } from '../core';
|
|
2
|
+
import { SidemenuProps } from './sidemenu.types';
|
|
3
|
+
import SidemenuItem from './sidemenuItem';
|
|
4
|
+
import SidemenuTop from './sidemenuTop';
|
|
5
|
+
export declare const SidemenuBase: import("styled-components").StyledComponent<"div", import("styled-components").DefaultTheme, import("..").SystemProps, never>;
|
|
6
|
+
/** [Beta] A collapsible side menu for navigation. */
|
|
7
|
+
export declare const Sidemenu: VuiComponent<"div", SidemenuProps> & {
|
|
8
|
+
Top: typeof SidemenuTop;
|
|
9
|
+
Item: typeof SidemenuItem;
|
|
10
|
+
};
|
|
11
|
+
export default Sidemenu;
|
|
12
|
+
//# sourceMappingURL=sidemenu.d.ts.map
|
|
@@ -0,0 +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;AAInE,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,qDAAqD;AACrD,eAAO,MAAM,QAAQ;SAqCd,kBAAkB;UACjB,mBAAmB;CAC1B,CAAA;AAKD,eAAe,QAAQ,CAAA"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import React, { useEffect, useMemo, useState } from 'react';
|
|
2
|
+
import Box from '../box';
|
|
3
|
+
import Button from '../button';
|
|
4
|
+
import { styled, useStyleConfig, vui } from '../core';
|
|
5
|
+
import Icon from '../icon';
|
|
6
|
+
import { cs, filterUndefined } from '../utils';
|
|
7
|
+
import { SidemenuProvider } from './context';
|
|
8
|
+
import SidemenuItem from './sidemenuItem';
|
|
9
|
+
import SidemenuTop from './sidemenuTop';
|
|
10
|
+
export const SidemenuBase = styled.divBox `
|
|
11
|
+
display: flex;
|
|
12
|
+
flex-direction: column;
|
|
13
|
+
min-width: 0;
|
|
14
|
+
transition-duration: normal;
|
|
15
|
+
overflow: hidden;
|
|
16
|
+
`;
|
|
17
|
+
/** [Beta] A collapsible side menu for navigation. */
|
|
18
|
+
export const Sidemenu = vui((props, ref) => {
|
|
19
|
+
const { children, className, items, isExpanded = false, width = 280, ...rest } = props;
|
|
20
|
+
const styles = useStyleConfig('Sidemenu', props);
|
|
21
|
+
const [isExpandedInternal, setIsExpandedInternal] = useState(isExpanded);
|
|
22
|
+
const context = useMemo(() => filterUndefined({ isExpandedInternal }), [isExpandedInternal]);
|
|
23
|
+
const aliasedProps = filterUndefined({});
|
|
24
|
+
useEffect(() => {
|
|
25
|
+
setIsExpandedInternal(isExpanded);
|
|
26
|
+
}, [isExpanded]);
|
|
27
|
+
const toggle = () => {
|
|
28
|
+
setIsExpandedInternal(!isExpandedInternal);
|
|
29
|
+
};
|
|
30
|
+
const w = isExpandedInternal ? width : 64;
|
|
31
|
+
const icon = isExpandedInternal ? 'falArrowLeft' : 'falArrowRight';
|
|
32
|
+
const iconRight = isExpandedInternal ? 16 : 34;
|
|
33
|
+
return (React.createElement(SidemenuProvider, { value: context },
|
|
34
|
+
React.createElement(SidemenuBase, { className: cs('vui-sidemenu', className), ref: ref, w: w, ...styles, ...aliasedProps, ...rest },
|
|
35
|
+
React.createElement(Box, { flexDirection: "column", flexGrow: 1, w: "100%" }, items
|
|
36
|
+
? items?.map?.((item, key) => React.createElement(SidemenuItem, { key: key, ...item }))
|
|
37
|
+
: children),
|
|
38
|
+
React.createElement(Box, { borderTop: "1px solid lightgray", className: "vui-sidemenu-bottom", mt: 2, w: "100%" },
|
|
39
|
+
React.createElement(Button, { borderRadius: 0, onClick: toggle, variant: "text", w: "100%" },
|
|
40
|
+
React.createElement(Icon, { name: icon, position: "absolute", right: iconRight }))))));
|
|
41
|
+
});
|
|
42
|
+
Sidemenu.Top = SidemenuTop;
|
|
43
|
+
Sidemenu.Item = SidemenuItem;
|
|
44
|
+
export default Sidemenu;
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
import { BoxProps } from '../box';
|
|
3
|
+
import { IconProp } from '../icon';
|
|
4
|
+
import { SystemProps } from '../system';
|
|
5
|
+
import { ThemingProps } from '../theme';
|
|
6
|
+
export declare type SidemenuOrientation = 'vertical' | 'horizontal';
|
|
7
|
+
export declare type SidemenuProps = SystemProps & ThemingProps<'Sidemenu'> & {
|
|
8
|
+
/** Collection of menu items */
|
|
9
|
+
items?: SidemenuItemProps[];
|
|
10
|
+
/** Whether the menu is expanded @default false */
|
|
11
|
+
isExpanded?: boolean;
|
|
12
|
+
/** With of the container when the side menu is expanded @default 280 */
|
|
13
|
+
width?: number;
|
|
14
|
+
};
|
|
15
|
+
export declare type SidemenuItemProps = BoxProps & {
|
|
16
|
+
/** Custom class name */
|
|
17
|
+
className?: string;
|
|
18
|
+
/** Children */
|
|
19
|
+
children?: ReactNode;
|
|
20
|
+
/** Custom class name */
|
|
21
|
+
icon: IconProp;
|
|
22
|
+
/** Icon size @default md */
|
|
23
|
+
iconSize?: 'md' | 'sm';
|
|
24
|
+
/** Whether the item is active */
|
|
25
|
+
isActive?: boolean;
|
|
26
|
+
/** Path */
|
|
27
|
+
path?: string;
|
|
28
|
+
/** On click callback */
|
|
29
|
+
onClick?: () => void;
|
|
30
|
+
/** Title */
|
|
31
|
+
title: string;
|
|
32
|
+
};
|
|
33
|
+
export declare type SidemenuTopProps = BoxProps & {
|
|
34
|
+
/** Custom class name */
|
|
35
|
+
className?: string;
|
|
36
|
+
/** Left slod (always visible) */
|
|
37
|
+
leftSlot?: ReactNode;
|
|
38
|
+
/** Right slod (hiden if the sidemenu is collapsed) */
|
|
39
|
+
rightSlot?: ReactNode;
|
|
40
|
+
};
|
|
41
|
+
//# sourceMappingURL=sidemenu.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sidemenu.types.d.ts","sourceRoot":"","sources":["../../../src/sidemenu/sidemenu.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAEjC,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAA;AACjC,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAClC,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAEvC,oBAAY,mBAAmB,GAAG,UAAU,GAAG,YAAY,CAAA;AAE3D,oBAAY,aAAa,GAAG,WAAW,GACrC,YAAY,CAAC,UAAU,CAAC,GAAG;IACzB,gCAAgC;IAChC,KAAK,CAAC,EAAE,iBAAiB,EAAE,CAAA;IAC3B,mDAAmD;IACnD,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,yEAAyE;IACzE,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CAAA;AAEH,oBAAY,iBAAiB,GAAG,QAAQ,GAAG;IACzC,wBAAwB;IACxB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,eAAe;IACf,QAAQ,CAAC,EAAE,SAAS,CAAA;IACpB,wBAAwB;IACxB,IAAI,EAAE,QAAQ,CAAA;IACd,6BAA6B;IAC7B,QAAQ,CAAC,EAAE,IAAI,GAAG,IAAI,CAAA;IACtB,iCAAiC;IACjC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,WAAW;IACX,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,wBAAwB;IACxB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;IACpB,YAAY;IACZ,KAAK,EAAE,MAAM,CAAA;CACd,CAAA;AAED,oBAAY,gBAAgB,GAAG,QAAQ,GAAG;IACxC,wBAAwB;IACxB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,iCAAiC;IACjC,QAAQ,CAAC,EAAE,SAAS,CAAA;IACpB,sDAAsD;IACtD,SAAS,CAAC,EAAE,SAAS,CAAA;CACtB,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sidemenuItem.d.ts","sourceRoot":"","sources":["../../../src/sidemenu/sidemenuItem.tsx"],"names":[],"mappings":"AAUA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AAEpD,mBAAmB;AACnB,eAAO,MAAM,YAAY,UAAW,iBAAiB,gBAiEpD,CAAA;AAED,eAAe,YAAY,CAAA"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import React, { useState } from 'react';
|
|
2
|
+
import { Link as RouterLink } from 'react-router-dom';
|
|
3
|
+
import Box from '../box';
|
|
4
|
+
import Button from '../button';
|
|
5
|
+
import { omitThemingProps } from '../core';
|
|
6
|
+
import Icon from '../icon';
|
|
7
|
+
import T from '../t';
|
|
8
|
+
import { cs } from '../utils';
|
|
9
|
+
import { useSidemenuContext } from './context';
|
|
10
|
+
/** A menu item. */
|
|
11
|
+
export const SidemenuItem = (props) => {
|
|
12
|
+
const { className, children, icon, iconSize = 'md', isActive, onClick, path, title, ...rest } = omitThemingProps(props);
|
|
13
|
+
const [displayChildren, setDisplayChildren] = useState(true);
|
|
14
|
+
const { isExpandedInternal } = useSidemenuContext();
|
|
15
|
+
const innerContent = isExpandedInternal ? (React.createElement(Box, { px: 2, py: 1, w: "100%", whiteSpace: "pre" },
|
|
16
|
+
React.createElement(Icon, { ml: iconSize === 'sm' ? '4px' : 0, name: icon, size: iconSize }),
|
|
17
|
+
React.createElement(T, { ml: 2 }, title))) : (React.createElement(Box, { px: 2, py: 1, w: "100%" },
|
|
18
|
+
React.createElement(Icon, { ml: iconSize === 'sm' ? '4px' : 0, name: icon, size: iconSize })));
|
|
19
|
+
const pathProps = path ? { as: RouterLink, to: path } : {};
|
|
20
|
+
return (React.createElement(Box, { flexDirection: "column", w: "100%" },
|
|
21
|
+
React.createElement(Button, { border: "none", borderLeft: "3px solid black", borderLeftColor: isActive ? 'blue.80' : 'transparent', borderRadius: 0, className: cs('vui-sidemenu-item', className), h: "auto", justifyContent: "space-between", onClick: () => onClick?.(), p: 0, variant: "text", w: "100%", ...pathProps, ...rest },
|
|
22
|
+
innerContent,
|
|
23
|
+
!!children && isExpandedInternal && (React.createElement(Button, { icon: displayChildren ? 'falChevronUp' : 'falChevronDown', mr: 1, onClick: () => setDisplayChildren(!displayChildren), size: "xs", variant: "text" }))),
|
|
24
|
+
!!children && displayChildren && (React.createElement(Box, { flexDirection: "column", justifyContent: "start", w: "100%" }, children))));
|
|
25
|
+
};
|
|
26
|
+
export default SidemenuItem;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sidemenuTop.d.ts","sourceRoot":"","sources":["../../../src/sidemenu/sidemenuTop.tsx"],"names":[],"mappings":"AAMA,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AAEnD,qBAAqB;AACrB,eAAO,MAAM,WAAW,UAAW,gBAAgB,uBAalD,CAAA;AAED,eAAe,WAAW,CAAA"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { Box } from '../box';
|
|
3
|
+
import { omitThemingProps } from '../core';
|
|
4
|
+
import { cs } from '../utils';
|
|
5
|
+
import { useSidemenuContext } from './context';
|
|
6
|
+
/** Top container. */
|
|
7
|
+
export const SidemenuTop = (props) => {
|
|
8
|
+
const { className, leftSlot, rightSlot, ...rest } = omitThemingProps(props);
|
|
9
|
+
const { isExpandedInternal } = useSidemenuContext();
|
|
10
|
+
if (!leftSlot && !rightSlot)
|
|
11
|
+
return null;
|
|
12
|
+
return (React.createElement(Box, { borderBottom: "1px solid lightgray", className: cs('vui-sidemenu-top', className), mb: 1, w: "100%", ...rest },
|
|
13
|
+
!!leftSlot && leftSlot,
|
|
14
|
+
!!rightSlot && isExpandedInternal && rightSlot));
|
|
15
|
+
};
|
|
16
|
+
export default SidemenuTop;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../../../src/sidemenu/theme.ts"],"names":[],"mappings":";;;;;;AAQA,wBAKC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"consts.d.ts","sourceRoot":"","sources":["../../../src/textarea/consts.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc,YAAY,CAAA;AACvC,eAAO,MAAM,SAAS,YAAY,CAAA;AAClC,eAAO,MAAM,QAAQ,WAAW,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"textarea.d.ts","sourceRoot":"","sources":["../../../src/textarea/textarea.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"textarea.d.ts","sourceRoot":"","sources":["../../../src/textarea/textarea.tsx"],"names":[],"mappings":"AAOA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAwBhD,eAAO,MAAM,YAAY,+HAKxB,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,QAAQ,sDAmGnB,CAAA;AAEF,eAAe,QAAQ,CAAA"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import React, { useState } from 'react';
|
|
1
|
+
import React, { useEffect, useState } from 'react';
|
|
2
2
|
import { omitThemingProps, styled, useStyleConfig, vui } from '../core';
|
|
3
3
|
import T from '../t';
|
|
4
4
|
import { cs, filterUndefined } from '../utils';
|
|
5
|
+
import { greyColor, greyLightColor, redColor } from './consts';
|
|
5
6
|
import { getInitialCount } from './helpers';
|
|
6
7
|
const TextareaTextarea = styled.textareaBox `
|
|
7
8
|
border-radius: md;
|
|
@@ -35,13 +36,15 @@ export const TextareaBase = styled.divBox `
|
|
|
35
36
|
* Forwards many relevant props to the inner textarea. Exposes some props to the children via context.
|
|
36
37
|
*/
|
|
37
38
|
export const Textarea = vui((props, ref) => {
|
|
38
|
-
const [count, setCount] = useState(getInitialCount(props));
|
|
39
39
|
const { autoFocus, className, colorScheme: colorSchemeProp, cols, defaultValue, disabled, id, isInvalid, maxLength, name, onBlur, onChange: onChangeProp, onFocus, placeholder, readOnly, required, resize = 'none', rows, showCount, textareaProps = {}, textareaRef, value, ...rest } = omitThemingProps(props);
|
|
40
|
+
const [count, setCount] = useState(getInitialCount(props));
|
|
41
|
+
const [valueInternal, setValueInternal] = useState(defaultValue);
|
|
40
42
|
const colorProps = filterUndefined({
|
|
41
43
|
colorScheme: colorSchemeProp ?? (isInvalid ? 'red' : undefined)
|
|
42
44
|
});
|
|
43
45
|
const styles = useStyleConfig('Textarea', { ...colorProps, ...props });
|
|
44
46
|
function onChange(e) {
|
|
47
|
+
setValueInternal(e.target.value);
|
|
45
48
|
setCount(e.target.value.length);
|
|
46
49
|
onChangeProp?.(e);
|
|
47
50
|
}
|
|
@@ -50,10 +53,14 @@ export const Textarea = vui((props, ref) => {
|
|
|
50
53
|
});
|
|
51
54
|
const textareaAliasedProps = filterUndefined({
|
|
52
55
|
'aria-disabled': disabled,
|
|
53
|
-
bg: readOnly ?
|
|
56
|
+
bg: readOnly ? greyLightColor : undefined,
|
|
54
57
|
focusBorderColor: !readOnly ? 'transparent' : undefined,
|
|
55
58
|
focusRing: readOnly ? 0 : undefined
|
|
56
59
|
});
|
|
60
|
+
useEffect(() => {
|
|
61
|
+
setValueInternal(value);
|
|
62
|
+
setCount(`${value}`?.length ? `${value}`.length : 0);
|
|
63
|
+
}, [value]);
|
|
57
64
|
return (React.createElement(TextareaBase, { className: cs('vui-textarea', className), ref: ref, ...styles.container, ...aliasedProps, ...rest },
|
|
58
65
|
React.createElement(TextareaTextarea, { className: "vui-textareaTextarea", ref: textareaRef, ...{
|
|
59
66
|
autoFocus,
|
|
@@ -70,12 +77,11 @@ export const Textarea = vui((props, ref) => {
|
|
|
70
77
|
readOnly,
|
|
71
78
|
required,
|
|
72
79
|
resize,
|
|
73
|
-
rows
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
showCount && (React.createElement(T, { className: "vui-textareaCount", color: "grey.80", position: "absolute", right: 0, size: "sm", top: "calc(100% + 1px)" },
|
|
80
|
+
rows
|
|
81
|
+
}, value: valueInternal, ...styles.textarea, ...textareaAliasedProps, ...textareaProps }),
|
|
82
|
+
showCount && (React.createElement(T, { className: "vui-textareaCount", color: maxLength && count > maxLength ? redColor : greyColor, position: "absolute", right: 0, size: "sm", top: "calc(100% + 1px)" },
|
|
77
83
|
count,
|
|
78
|
-
"
|
|
79
|
-
maxLength))));
|
|
84
|
+
" ",
|
|
85
|
+
maxLength ? `/ ${maxLength}` : null))));
|
|
80
86
|
});
|
|
81
87
|
export default Textarea;
|
|
@@ -274,6 +274,12 @@ declare const _default: {
|
|
|
274
274
|
sizes: {};
|
|
275
275
|
variants: {};
|
|
276
276
|
};
|
|
277
|
+
DragAndDrop: {
|
|
278
|
+
baseStyle: {};
|
|
279
|
+
defaultProps: {};
|
|
280
|
+
sizes: {};
|
|
281
|
+
variants: {};
|
|
282
|
+
};
|
|
277
283
|
Footer: {
|
|
278
284
|
baseStyle: {};
|
|
279
285
|
defaultProps: {};
|
|
@@ -906,6 +912,12 @@ declare const _default: {
|
|
|
906
912
|
};
|
|
907
913
|
};
|
|
908
914
|
};
|
|
915
|
+
Sidemenu: {
|
|
916
|
+
baseStyle: {};
|
|
917
|
+
defaultProps: {};
|
|
918
|
+
sizes: {};
|
|
919
|
+
variants: {};
|
|
920
|
+
};
|
|
909
921
|
Skeleton: {
|
|
910
922
|
baseStyle: {};
|
|
911
923
|
defaultProps: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"components.d.ts","sourceRoot":"","sources":["../../../src/theme/components.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"components.d.ts","sourceRoot":"","sources":["../../../src/theme/components.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwCA,wBAwCC"}
|
|
@@ -7,6 +7,7 @@ import Card from '../card/theme';
|
|
|
7
7
|
import Checkbox from '../checkbox/theme';
|
|
8
8
|
import Dialog from '../dialog/theme';
|
|
9
9
|
import Divider from '../divider/theme';
|
|
10
|
+
import DragAndDrop from '../dragAndDrop/theme';
|
|
10
11
|
import Footer from '../footer/theme';
|
|
11
12
|
import Grid from '../grid/theme';
|
|
12
13
|
import Header from '../header/theme';
|
|
@@ -27,6 +28,7 @@ import Popover from '../popover/theme';
|
|
|
27
28
|
import Progress from '../progress/theme';
|
|
28
29
|
import Radio from '../radio/theme';
|
|
29
30
|
import Select from '../select/theme';
|
|
31
|
+
import Sidemenu from '../sidemenu/theme';
|
|
30
32
|
import Skeleton from '../skeleton/theme';
|
|
31
33
|
import Spinner from '../spinner/theme';
|
|
32
34
|
import Switch from '../switch/theme';
|
|
@@ -45,6 +47,7 @@ export default {
|
|
|
45
47
|
Checkbox,
|
|
46
48
|
Dialog,
|
|
47
49
|
Divider,
|
|
50
|
+
DragAndDrop,
|
|
48
51
|
Footer,
|
|
49
52
|
Grid,
|
|
50
53
|
Header,
|
|
@@ -65,6 +68,7 @@ export default {
|
|
|
65
68
|
Popover,
|
|
66
69
|
Radio,
|
|
67
70
|
Select,
|
|
71
|
+
Sidemenu,
|
|
68
72
|
Skeleton,
|
|
69
73
|
Spinner,
|
|
70
74
|
Switch,
|
|
@@ -471,6 +471,12 @@ declare const defaultTheme: {
|
|
|
471
471
|
sizes: {};
|
|
472
472
|
variants: {};
|
|
473
473
|
};
|
|
474
|
+
DragAndDrop: {
|
|
475
|
+
baseStyle: {};
|
|
476
|
+
defaultProps: {};
|
|
477
|
+
sizes: {};
|
|
478
|
+
variants: {};
|
|
479
|
+
};
|
|
474
480
|
Footer: {
|
|
475
481
|
baseStyle: {};
|
|
476
482
|
defaultProps: {};
|
|
@@ -1103,6 +1109,12 @@ declare const defaultTheme: {
|
|
|
1103
1109
|
};
|
|
1104
1110
|
};
|
|
1105
1111
|
};
|
|
1112
|
+
Sidemenu: {
|
|
1113
|
+
baseStyle: {};
|
|
1114
|
+
defaultProps: {};
|
|
1115
|
+
sizes: {};
|
|
1116
|
+
variants: {};
|
|
1117
|
+
};
|
|
1106
1118
|
Skeleton: {
|
|
1107
1119
|
baseStyle: {};
|
|
1108
1120
|
defaultProps: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"defaultTheme.d.ts","sourceRoot":"","sources":["../../../src/theme/defaultTheme.ts"],"names":[],"mappings":"AAGA,QAAA,MAAM,YAAY
|
|
1
|
+
{"version":3,"file":"defaultTheme.d.ts","sourceRoot":"","sources":["../../../src/theme/defaultTheme.ts"],"names":[],"mappings":"AAGA,QAAA,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAGjB,CAAA;AAED,eAAe,YAAY,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toast.d.ts","sourceRoot":"","sources":["../../../src/toast/toast.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAOzB,eAAO,MAAM,YAAY,MAAM,CAAA;;
|
|
1
|
+
{"version":3,"file":"toast.d.ts","sourceRoot":"","sources":["../../../src/toast/toast.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAOzB,eAAO,MAAM,YAAY,MAAM,CAAA;;AA8B/B,wBAAkC"}
|
package/dist/esm/toast/toast.js
CHANGED
|
@@ -1,10 +1,13 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { Box } from '../box';
|
|
3
|
-
import { useVuiContext } from '../core';
|
|
3
|
+
import { useVuiContext, v } from '../core';
|
|
4
4
|
import { zIndices } from '../theme';
|
|
5
5
|
export const toasterWidth = 420;
|
|
6
6
|
const Toaster = () => {
|
|
7
7
|
const { toasts } = useVuiContext();
|
|
8
|
-
|
|
8
|
+
const padding = toasts?.list?.length ? { md: '16px', sm: '4px', xs: '2px' } : 0;
|
|
9
|
+
const right = { md: '1rem', sm: 0, xs: 0 };
|
|
10
|
+
const width = { md: toasterWidth, sm: toasterWidth, xs: '100%' };
|
|
11
|
+
return (React.createElement(Box, { bottom: "1rem", className: "vui-toaster", display: "block", maxW: width, minW: width, p: padding, position: "fixed", right: right, zIndex: zIndices.toast }, toasts?.list?.map?.((toast) => (React.createElement(v.div, { id: `toast_${toast.id}`, key: toast.id }, toast.component)))));
|
|
9
12
|
};
|
|
10
13
|
export default React.memo(Toaster);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@veracity/vui",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.9.0-beta.0",
|
|
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",
|