@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.
Files changed (135) hide show
  1. package/dist/cjs/accordion/accordion.types.d.ts +1 -0
  2. package/dist/cjs/accordion/accordion.types.d.ts.map +1 -1
  3. package/dist/cjs/button/button.d.ts +1 -0
  4. package/dist/cjs/button/button.d.ts.map +1 -1
  5. package/dist/cjs/button/button.js +3 -3
  6. package/dist/cjs/button/button.types.d.ts +2 -0
  7. package/dist/cjs/button/button.types.d.ts.map +1 -1
  8. package/dist/cjs/dragAndDrop/dragAndDrop.d.ts +5 -0
  9. package/dist/cjs/dragAndDrop/dragAndDrop.d.ts.map +1 -0
  10. package/dist/cjs/dragAndDrop/dragAndDrop.js +84 -0
  11. package/dist/cjs/dragAndDrop/dragAndDrop.types.d.ts +18 -0
  12. package/dist/cjs/dragAndDrop/dragAndDrop.types.d.ts.map +1 -0
  13. package/dist/cjs/dragAndDrop/dragAndDrop.types.js +2 -0
  14. package/dist/cjs/dragAndDrop/index.d.ts +4 -0
  15. package/dist/cjs/dragAndDrop/index.d.ts.map +1 -0
  16. package/dist/cjs/dragAndDrop/index.js +24 -0
  17. package/dist/cjs/dragAndDrop/theme.d.ts +8 -0
  18. package/dist/cjs/dragAndDrop/theme.d.ts.map +1 -0
  19. package/dist/cjs/dragAndDrop/theme.js +12 -0
  20. package/dist/cjs/index.d.ts +2 -0
  21. package/dist/cjs/index.d.ts.map +1 -1
  22. package/dist/cjs/index.js +2 -0
  23. package/dist/cjs/input/input.d.ts.map +1 -1
  24. package/dist/cjs/input/input.js +14 -8
  25. package/dist/cjs/sidemenu/context.d.ts +5 -0
  26. package/dist/cjs/sidemenu/context.d.ts.map +1 -0
  27. package/dist/cjs/sidemenu/context.js +7 -0
  28. package/dist/cjs/sidemenu/index.d.ts +6 -0
  29. package/dist/cjs/sidemenu/index.d.ts.map +1 -0
  30. package/dist/cjs/sidemenu/index.js +26 -0
  31. package/dist/cjs/sidemenu/sidemenu.d.ts +12 -0
  32. package/dist/cjs/sidemenu/sidemenu.d.ts.map +1 -0
  33. package/dist/cjs/sidemenu/sidemenu.js +85 -0
  34. package/dist/cjs/sidemenu/sidemenu.types.d.ts +41 -0
  35. package/dist/cjs/sidemenu/sidemenu.types.d.ts.map +1 -0
  36. package/dist/cjs/sidemenu/sidemenu.types.js +2 -0
  37. package/dist/cjs/sidemenu/sidemenuItem.d.ts +5 -0
  38. package/dist/cjs/sidemenu/sidemenuItem.d.ts.map +1 -0
  39. package/dist/cjs/sidemenu/sidemenuItem.js +67 -0
  40. package/dist/cjs/sidemenu/sidemenuTop.d.ts +5 -0
  41. package/dist/cjs/sidemenu/sidemenuTop.d.ts.map +1 -0
  42. package/dist/cjs/sidemenu/sidemenuTop.js +34 -0
  43. package/dist/cjs/sidemenu/theme.d.ts +8 -0
  44. package/dist/cjs/sidemenu/theme.d.ts.map +1 -0
  45. package/dist/cjs/sidemenu/theme.js +12 -0
  46. package/dist/cjs/textarea/consts.d.ts +4 -0
  47. package/dist/cjs/textarea/consts.d.ts.map +1 -0
  48. package/dist/cjs/textarea/consts.js +6 -0
  49. package/dist/cjs/textarea/textarea.d.ts.map +1 -1
  50. package/dist/cjs/textarea/textarea.js +15 -8
  51. package/dist/cjs/theme/components.d.ts +12 -0
  52. package/dist/cjs/theme/components.d.ts.map +1 -1
  53. package/dist/cjs/theme/components.js +60 -56
  54. package/dist/cjs/theme/defaultTheme.d.ts +12 -0
  55. package/dist/cjs/theme/defaultTheme.d.ts.map +1 -1
  56. package/dist/cjs/toast/toast.d.ts.map +1 -1
  57. package/dist/cjs/toast/toast.js +5 -2
  58. package/dist/esm/accordion/accordion.types.d.ts +1 -0
  59. package/dist/esm/accordion/accordion.types.d.ts.map +1 -1
  60. package/dist/esm/button/button.d.ts +1 -0
  61. package/dist/esm/button/button.d.ts.map +1 -1
  62. package/dist/esm/button/button.js +2 -2
  63. package/dist/esm/button/button.types.d.ts +2 -0
  64. package/dist/esm/button/button.types.d.ts.map +1 -1
  65. package/dist/esm/dragAndDrop/dragAndDrop.d.ts +5 -0
  66. package/dist/esm/dragAndDrop/dragAndDrop.d.ts.map +1 -0
  67. package/dist/esm/dragAndDrop/dragAndDrop.js +42 -0
  68. package/dist/esm/dragAndDrop/dragAndDrop.types.d.ts +18 -0
  69. package/dist/esm/dragAndDrop/dragAndDrop.types.d.ts.map +1 -0
  70. package/dist/esm/dragAndDrop/dragAndDrop.types.js +1 -0
  71. package/dist/esm/dragAndDrop/index.d.ts +4 -0
  72. package/dist/esm/dragAndDrop/index.d.ts.map +1 -0
  73. package/dist/esm/dragAndDrop/index.js +3 -0
  74. package/dist/esm/dragAndDrop/theme.d.ts +8 -0
  75. package/dist/esm/dragAndDrop/theme.d.ts.map +1 -0
  76. package/dist/esm/dragAndDrop/theme.js +10 -0
  77. package/dist/esm/index.d.ts +2 -0
  78. package/dist/esm/index.d.ts.map +1 -1
  79. package/dist/esm/index.js +2 -0
  80. package/dist/esm/input/input.d.ts.map +1 -1
  81. package/dist/esm/input/input.js +15 -10
  82. package/dist/esm/sidemenu/context.d.ts +5 -0
  83. package/dist/esm/sidemenu/context.d.ts.map +1 -0
  84. package/dist/esm/sidemenu/context.js +3 -0
  85. package/dist/esm/sidemenu/index.d.ts +6 -0
  86. package/dist/esm/sidemenu/index.d.ts.map +1 -0
  87. package/dist/esm/sidemenu/index.js +5 -0
  88. package/dist/esm/sidemenu/sidemenu.d.ts +12 -0
  89. package/dist/esm/sidemenu/sidemenu.d.ts.map +1 -0
  90. package/dist/esm/sidemenu/sidemenu.js +44 -0
  91. package/dist/esm/sidemenu/sidemenu.types.d.ts +41 -0
  92. package/dist/esm/sidemenu/sidemenu.types.d.ts.map +1 -0
  93. package/dist/esm/sidemenu/sidemenu.types.js +1 -0
  94. package/dist/esm/sidemenu/sidemenuItem.d.ts +5 -0
  95. package/dist/esm/sidemenu/sidemenuItem.d.ts.map +1 -0
  96. package/dist/esm/sidemenu/sidemenuItem.js +26 -0
  97. package/dist/esm/sidemenu/sidemenuTop.d.ts +5 -0
  98. package/dist/esm/sidemenu/sidemenuTop.d.ts.map +1 -0
  99. package/dist/esm/sidemenu/sidemenuTop.js +16 -0
  100. package/dist/esm/sidemenu/theme.d.ts +8 -0
  101. package/dist/esm/sidemenu/theme.d.ts.map +1 -0
  102. package/dist/esm/sidemenu/theme.js +10 -0
  103. package/dist/esm/textarea/consts.d.ts +4 -0
  104. package/dist/esm/textarea/consts.d.ts.map +1 -0
  105. package/dist/esm/textarea/consts.js +3 -0
  106. package/dist/esm/textarea/textarea.d.ts.map +1 -1
  107. package/dist/esm/textarea/textarea.js +15 -9
  108. package/dist/esm/theme/components.d.ts +12 -0
  109. package/dist/esm/theme/components.d.ts.map +1 -1
  110. package/dist/esm/theme/components.js +4 -0
  111. package/dist/esm/theme/defaultTheme.d.ts +12 -0
  112. package/dist/esm/theme/defaultTheme.d.ts.map +1 -1
  113. package/dist/esm/toast/toast.d.ts.map +1 -1
  114. package/dist/esm/toast/toast.js +5 -2
  115. package/package.json +1 -1
  116. package/src/accordion/accordion.types.ts +1 -0
  117. package/src/button/button.tsx +2 -1
  118. package/src/button/button.types.ts +2 -0
  119. package/src/dragAndDrop/dragAndDrop.tsx +85 -0
  120. package/src/dragAndDrop/dragAndDrop.types.ts +19 -0
  121. package/src/dragAndDrop/index.ts +3 -0
  122. package/src/dragAndDrop/theme.ts +14 -0
  123. package/src/index.ts +2 -0
  124. package/src/input/input.tsx +15 -8
  125. package/src/sidemenu/context.ts +5 -0
  126. package/src/sidemenu/index.ts +5 -0
  127. package/src/sidemenu/sidemenu.tsx +66 -0
  128. package/src/sidemenu/sidemenu.types.ts +46 -0
  129. package/src/sidemenu/sidemenuItem.tsx +81 -0
  130. package/src/sidemenu/sidemenuTop.tsx +25 -0
  131. package/src/sidemenu/theme.ts +14 -0
  132. package/src/textarea/consts.ts +3 -0
  133. package/src/textarea/textarea.tsx +24 -7
  134. package/src/theme/components.ts +4 -0
  135. package/src/toast/toast.tsx +12 -7
@@ -0,0 +1,4 @@
1
+ export * from './dragAndDrop';
2
+ export { default } from './dragAndDrop';
3
+ export * from './dragAndDrop.types';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -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,3 @@
1
+ export * from './dragAndDrop';
2
+ export { default } from './dragAndDrop';
3
+ export * from './dragAndDrop.types';
@@ -0,0 +1,8 @@
1
+ declare const _default: {
2
+ baseStyle: {};
3
+ defaultProps: {};
4
+ sizes: {};
5
+ variants: {};
6
+ };
7
+ export default _default;
8
+ //# sourceMappingURL=theme.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../../../src/dragAndDrop/theme.ts"],"names":[],"mappings":";;;;;;AAQA,wBAKC"}
@@ -0,0 +1,10 @@
1
+ const baseStyle = {};
2
+ const defaultProps = {};
3
+ const sizes = {};
4
+ const variants = {};
5
+ export default {
6
+ baseStyle,
7
+ defaultProps,
8
+ sizes,
9
+ variants
10
+ };
@@ -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":"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;UAwHV,gBAAgB;WACf,iBAAiB;cACd,eAAe;CAC1B,CAAA;AAMD,eAAe,KAAK,CAAA"}
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"}
@@ -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 ? 'red' : undefined) ?? states[state]?.colorScheme
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
- value
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,5 @@
1
+ /// <reference types="react" />
2
+ import { Dict } from '../utils';
3
+ declare const SidemenuProvider: import("react").Provider<Dict<any>>, useSidemenuContext: () => Dict<any>;
4
+ export { SidemenuProvider, useSidemenuContext };
5
+ //# sourceMappingURL=context.d.ts.map
@@ -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,3 @@
1
+ import { createContext } from '../utils';
2
+ const [SidemenuProvider, useSidemenuContext] = createContext({ isOptional: true });
3
+ export { SidemenuProvider, useSidemenuContext };
@@ -0,0 +1,6 @@
1
+ export * from './sidemenu';
2
+ export * from './sidemenuItem';
3
+ export * from './sidemenuTop';
4
+ export { default } from './sidemenu';
5
+ export * from './sidemenu.types';
6
+ //# sourceMappingURL=index.d.ts.map
@@ -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,5 @@
1
+ export * from './sidemenu';
2
+ export * from './sidemenuItem';
3
+ export * from './sidemenuTop';
4
+ export { default } from './sidemenu';
5
+ export * from './sidemenu.types';
@@ -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,5 @@
1
+ import { SidemenuItemProps } from './sidemenu.types';
2
+ /** A menu item. */
3
+ export declare const SidemenuItem: (props: SidemenuItemProps) => JSX.Element;
4
+ export default SidemenuItem;
5
+ //# sourceMappingURL=sidemenuItem.d.ts.map
@@ -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,5 @@
1
+ import { SidemenuTopProps } from './sidemenu.types';
2
+ /** Top container. */
3
+ export declare const SidemenuTop: (props: SidemenuTopProps) => JSX.Element | null;
4
+ export default SidemenuTop;
5
+ //# sourceMappingURL=sidemenuTop.d.ts.map
@@ -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,8 @@
1
+ declare const _default: {
2
+ baseStyle: {};
3
+ defaultProps: {};
4
+ sizes: {};
5
+ variants: {};
6
+ };
7
+ export default _default;
8
+ //# sourceMappingURL=theme.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../../../src/sidemenu/theme.ts"],"names":[],"mappings":";;;;;;AAQA,wBAKC"}
@@ -0,0 +1,10 @@
1
+ const baseStyle = {};
2
+ const defaultProps = {};
3
+ const sizes = {};
4
+ const variants = {};
5
+ export default {
6
+ baseStyle,
7
+ defaultProps,
8
+ sizes,
9
+ variants
10
+ };
@@ -0,0 +1,4 @@
1
+ export declare const greyLightColor = "grey.10";
2
+ export declare const greyColor = "grey.80";
3
+ export declare const redColor = "red.80";
4
+ //# sourceMappingURL=consts.d.ts.map
@@ -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"}
@@ -0,0 +1,3 @@
1
+ export const greyLightColor = 'grey.10';
2
+ export const greyColor = 'grey.80';
3
+ export const redColor = 'red.80';
@@ -1 +1 @@
1
- {"version":3,"file":"textarea.d.ts","sourceRoot":"","sources":["../../../src/textarea/textarea.tsx"],"names":[],"mappings":"AAMA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAwBhD,eAAO,MAAM,YAAY,+HAKxB,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,QAAQ,sDAmFnB,CAAA;AAEF,eAAe,QAAQ,CAAA"}
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 ? 'grey.20' : undefined,
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
- value
75
- }, ...styles.textarea, ...textareaAliasedProps, ...textareaProps }),
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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsCA,wBAsCC"}
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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAGjB,CAAA;AAED,eAAe,YAAY,CAAA"}
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;;AAyB/B,wBAAkC"}
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"}
@@ -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
- return (React.createElement(Box, { bottom: "1rem", display: "block", maxW: { md: toasterWidth, sm: toasterWidth, xs: '100%' }, minW: { md: toasterWidth, sm: toasterWidth, xs: '100%' }, p: { md: '16px', sm: '4px', xs: '2px' }, position: "fixed", right: { md: '1rem', sm: 0, xs: 0 }, zIndex: zIndices.toast }, toasts?.list?.map?.((toast) => (React.createElement("div", { id: `toast_${toast.id}`, key: toast.id }, toast.component)))));
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.8.0",
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",
@@ -12,6 +12,7 @@ export type AccordionProps = SystemProps &
12
12
  orientation?: AccordionOrientation
13
13
  /** Hover color for the item title @default "blue.10" */
14
14
  itemTitleHoverBg?: string
15
+ /** Collection of Accordion items */
15
16
  items?: AccordionItemProps[]
16
17
  }
17
18