@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.
Files changed (158) hide show
  1. package/dist/cjs/button/buttonIcon.d.ts.map +1 -1
  2. package/dist/cjs/button/buttonIcon.js +4 -2
  3. package/dist/cjs/core/vuiProvider/consts.d.ts +2 -0
  4. package/dist/cjs/core/vuiProvider/consts.d.ts.map +1 -0
  5. package/dist/cjs/core/vuiProvider/consts.js +4 -0
  6. package/dist/cjs/core/vuiProvider/globalStyle.d.ts.map +1 -1
  7. package/dist/cjs/core/vuiProvider/globalStyle.js +6 -0
  8. package/dist/cjs/core/vuiProvider/index.d.ts +2 -0
  9. package/dist/cjs/core/vuiProvider/index.d.ts.map +1 -1
  10. package/dist/cjs/core/vuiProvider/index.js +2 -0
  11. package/dist/cjs/core/vuiProvider/useBodyScrollLock.d.ts +7 -0
  12. package/dist/cjs/core/vuiProvider/useBodyScrollLock.d.ts.map +1 -0
  13. package/dist/cjs/core/vuiProvider/useBodyScrollLock.js +18 -0
  14. package/dist/cjs/core/vuiProvider/vuiProvider.d.ts.map +1 -1
  15. package/dist/cjs/core/vuiProvider/vuiProvider.js +0 -2
  16. package/dist/cjs/definition/definition.d.ts.map +1 -1
  17. package/dist/cjs/definition/definition.js +0 -1
  18. package/dist/cjs/dialog/consts.d.ts +0 -1
  19. package/dist/cjs/dialog/consts.d.ts.map +1 -1
  20. package/dist/cjs/dialog/consts.js +1 -2
  21. package/dist/cjs/focusLock/focusLock.d.ts +11 -0
  22. package/dist/cjs/focusLock/focusLock.d.ts.map +1 -0
  23. package/dist/cjs/{modal → focusLock}/focusLock.js +3 -3
  24. package/dist/cjs/focusLock/focusLock.types.d.ts.map +1 -0
  25. package/dist/cjs/focusLock/index.d.ts +4 -0
  26. package/dist/cjs/focusLock/index.d.ts.map +1 -0
  27. package/dist/cjs/focusLock/index.js +24 -0
  28. package/dist/cjs/footer/footer.d.ts.map +1 -1
  29. package/dist/cjs/footer/footer.js +5 -1
  30. package/dist/cjs/footer/footer.types.d.ts +2 -1
  31. package/dist/cjs/footer/footer.types.d.ts.map +1 -1
  32. package/dist/cjs/index.d.ts +1 -0
  33. package/dist/cjs/index.d.ts.map +1 -1
  34. package/dist/cjs/index.js +1 -0
  35. package/dist/cjs/input/consts.d.ts +6 -0
  36. package/dist/cjs/input/consts.d.ts.map +1 -1
  37. package/dist/cjs/input/consts.js +7 -1
  38. package/dist/cjs/input/input.d.ts.map +1 -1
  39. package/dist/cjs/input/input.js +3 -3
  40. package/dist/cjs/input/input.types.d.ts +2 -0
  41. package/dist/cjs/input/input.types.d.ts.map +1 -1
  42. package/dist/cjs/modal/index.d.ts +2 -2
  43. package/dist/cjs/modal/index.d.ts.map +1 -1
  44. package/dist/cjs/modal/index.js +2 -2
  45. package/dist/cjs/modal/modal.d.ts.map +1 -1
  46. package/dist/cjs/modal/modal.js +1 -1
  47. package/dist/cjs/modal/modal.types.d.ts +1 -1
  48. package/dist/cjs/modal/modal.types.d.ts.map +1 -1
  49. package/dist/cjs/modal/modalManager.d.ts +2 -2
  50. package/dist/cjs/modal/modalManager.d.ts.map +1 -1
  51. package/dist/cjs/modal/modalManager.js +6 -9
  52. package/dist/cjs/sidemenu/sidemenu.d.ts +0 -1
  53. package/dist/cjs/sidemenu/sidemenu.d.ts.map +1 -1
  54. package/dist/cjs/sidemenu/sidemenu.js +10 -11
  55. package/dist/cjs/sidemenu/sidemenu.types.d.ts +4 -0
  56. package/dist/cjs/sidemenu/sidemenu.types.d.ts.map +1 -1
  57. package/dist/cjs/sidemenu/sidemenuItem.d.ts.map +1 -1
  58. package/dist/cjs/sidemenu/sidemenuItem.js +1 -1
  59. package/dist/esm/button/buttonIcon.d.ts.map +1 -1
  60. package/dist/esm/button/buttonIcon.js +4 -2
  61. package/dist/esm/core/vuiProvider/consts.d.ts +2 -0
  62. package/dist/esm/core/vuiProvider/consts.d.ts.map +1 -0
  63. package/dist/esm/core/vuiProvider/consts.js +1 -0
  64. package/dist/esm/core/vuiProvider/globalStyle.d.ts.map +1 -1
  65. package/dist/esm/core/vuiProvider/globalStyle.js +6 -0
  66. package/dist/esm/core/vuiProvider/index.d.ts +2 -0
  67. package/dist/esm/core/vuiProvider/index.d.ts.map +1 -1
  68. package/dist/esm/core/vuiProvider/index.js +2 -0
  69. package/dist/esm/core/vuiProvider/useBodyScrollLock.d.ts +7 -0
  70. package/dist/esm/core/vuiProvider/useBodyScrollLock.d.ts.map +1 -0
  71. package/dist/esm/core/vuiProvider/useBodyScrollLock.js +14 -0
  72. package/dist/esm/core/vuiProvider/vuiProvider.d.ts.map +1 -1
  73. package/dist/esm/core/vuiProvider/vuiProvider.js +0 -2
  74. package/dist/esm/definition/definition.d.ts.map +1 -1
  75. package/dist/esm/definition/definition.js +0 -1
  76. package/dist/esm/dialog/consts.d.ts +0 -1
  77. package/dist/esm/dialog/consts.d.ts.map +1 -1
  78. package/dist/esm/dialog/consts.js +0 -1
  79. package/dist/esm/focusLock/focusLock.d.ts +11 -0
  80. package/dist/esm/focusLock/focusLock.d.ts.map +1 -0
  81. package/dist/esm/{modal → focusLock}/focusLock.js +3 -3
  82. package/dist/esm/focusLock/focusLock.types.d.ts.map +1 -0
  83. package/dist/esm/focusLock/index.d.ts +4 -0
  84. package/dist/esm/focusLock/index.d.ts.map +1 -0
  85. package/dist/esm/focusLock/index.js +3 -0
  86. package/dist/esm/footer/footer.d.ts.map +1 -1
  87. package/dist/esm/footer/footer.js +5 -1
  88. package/dist/esm/footer/footer.types.d.ts +2 -1
  89. package/dist/esm/footer/footer.types.d.ts.map +1 -1
  90. package/dist/esm/index.d.ts +1 -0
  91. package/dist/esm/index.d.ts.map +1 -1
  92. package/dist/esm/index.js +1 -0
  93. package/dist/esm/input/consts.d.ts +6 -0
  94. package/dist/esm/input/consts.d.ts.map +1 -1
  95. package/dist/esm/input/consts.js +6 -0
  96. package/dist/esm/input/input.d.ts.map +1 -1
  97. package/dist/esm/input/input.js +4 -4
  98. package/dist/esm/input/input.types.d.ts +2 -0
  99. package/dist/esm/input/input.types.d.ts.map +1 -1
  100. package/dist/esm/modal/index.d.ts +2 -2
  101. package/dist/esm/modal/index.d.ts.map +1 -1
  102. package/dist/esm/modal/index.js +2 -2
  103. package/dist/esm/modal/modal.d.ts.map +1 -1
  104. package/dist/esm/modal/modal.js +1 -1
  105. package/dist/esm/modal/modal.types.d.ts +1 -1
  106. package/dist/esm/modal/modal.types.d.ts.map +1 -1
  107. package/dist/esm/modal/modalManager.d.ts +2 -2
  108. package/dist/esm/modal/modalManager.d.ts.map +1 -1
  109. package/dist/esm/modal/modalManager.js +6 -9
  110. package/dist/esm/sidemenu/sidemenu.d.ts +0 -1
  111. package/dist/esm/sidemenu/sidemenu.d.ts.map +1 -1
  112. package/dist/esm/sidemenu/sidemenu.js +9 -11
  113. package/dist/esm/sidemenu/sidemenu.types.d.ts +4 -0
  114. package/dist/esm/sidemenu/sidemenu.types.d.ts.map +1 -1
  115. package/dist/esm/sidemenu/sidemenuItem.d.ts.map +1 -1
  116. package/dist/esm/sidemenu/sidemenuItem.js +2 -0
  117. package/package.json +1 -1
  118. package/src/button/buttonIcon.tsx +6 -3
  119. package/src/core/vuiProvider/consts.ts +1 -0
  120. package/src/core/vuiProvider/globalStyle.tsx +6 -0
  121. package/src/core/vuiProvider/index.ts +2 -0
  122. package/src/core/vuiProvider/useBodyScrollLock.tsx +17 -0
  123. package/src/core/vuiProvider/vuiProvider.tsx +0 -2
  124. package/src/definition/definition.tsx +0 -3
  125. package/src/dialog/consts.ts +0 -2
  126. package/src/{modal → focusLock}/focusLock.tsx +4 -3
  127. package/src/focusLock/index.ts +3 -0
  128. package/src/footer/footer.tsx +29 -1
  129. package/src/footer/footer.types.ts +2 -1
  130. package/src/index.ts +1 -0
  131. package/src/input/consts.ts +7 -0
  132. package/src/input/input.tsx +66 -55
  133. package/src/input/input.types.ts +2 -0
  134. package/src/modal/index.ts +2 -2
  135. package/src/modal/modal.tsx +1 -2
  136. package/src/modal/modal.types.ts +1 -1
  137. package/src/modal/modalManager.ts +6 -9
  138. package/src/sidemenu/sidemenu.tsx +23 -13
  139. package/src/sidemenu/sidemenu.types.ts +4 -0
  140. package/src/sidemenu/sidemenuItem.tsx +2 -0
  141. package/dist/cjs/modal/focusLock.d.ts +0 -11
  142. package/dist/cjs/modal/focusLock.d.ts.map +0 -1
  143. package/dist/cjs/modal/focusLock.types.d.ts.map +0 -1
  144. package/dist/cjs/modal/modalStyle.d.ts +0 -3
  145. package/dist/cjs/modal/modalStyle.d.ts.map +0 -1
  146. package/dist/cjs/modal/modalStyle.js +0 -10
  147. package/dist/esm/modal/focusLock.d.ts +0 -11
  148. package/dist/esm/modal/focusLock.d.ts.map +0 -1
  149. package/dist/esm/modal/focusLock.types.d.ts.map +0 -1
  150. package/dist/esm/modal/modalStyle.d.ts +0 -3
  151. package/dist/esm/modal/modalStyle.d.ts.map +0 -1
  152. package/dist/esm/modal/modalStyle.js +0 -8
  153. package/src/modal/modalStyle.ts +0 -9
  154. /package/dist/cjs/{modal → focusLock}/focusLock.types.d.ts +0 -0
  155. /package/dist/cjs/{modal → focusLock}/focusLock.types.js +0 -0
  156. /package/dist/esm/{modal → focusLock}/focusLock.types.d.ts +0 -0
  157. /package/dist/esm/{modal → focusLock}/focusLock.types.js +0 -0
  158. /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 { styled, useStyleConfig, vui, VuiComponent } from '../core'
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
- <SidemenuBase className={cs('vui-sidemenu', className)} ref={ref} w={w} {...styles.container} {...rest}>
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) => <SidemenuItem key={key} {...item} />)
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
- </SidemenuBase>
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,3 +0,0 @@
1
- declare const _default: import("styled-components").GlobalStyleComponent<{}, import("styled-components").DefaultTheme>;
2
- export default _default;
3
- //# sourceMappingURL=modalStyle.d.ts.map
@@ -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,3 +0,0 @@
1
- declare const _default: import("styled-components").GlobalStyleComponent<{}, import("styled-components").DefaultTheme>;
2
- export default _default;
3
- //# sourceMappingURL=modalStyle.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"modalStyle.d.ts","sourceRoot":"","sources":["../../../src/modal/modalStyle.ts"],"names":[],"mappings":";AAEA,wBAMC"}
@@ -1,8 +0,0 @@
1
- import { createGlobalStyle } from '../core';
2
- export default createGlobalStyle `
3
-
4
- body.vui-no-scroll {
5
- overflow: hidden !important;
6
- overscroll-behavior: contain;
7
- }
8
- `;
@@ -1,9 +0,0 @@
1
- import { createGlobalStyle } from '../core'
2
-
3
- export default createGlobalStyle`
4
-
5
- body.vui-no-scroll {
6
- overflow: hidden !important;
7
- overscroll-behavior: contain;
8
- }
9
- `
File without changes