@veracity/vui 2.31.0 → 2.32.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 (155) hide show
  1. package/dist/cjs/button/button.d.ts.map +1 -1
  2. package/dist/cjs/button/button.js +15 -0
  3. package/dist/cjs/button/button.js.map +1 -1
  4. package/dist/cjs/footer/footer.d.ts.map +1 -1
  5. package/dist/cjs/footer/footer.js +1 -1
  6. package/dist/cjs/footer/footer.js.map +1 -1
  7. package/dist/cjs/header/loggedInHeader.js +1 -1
  8. package/dist/cjs/header/loggedInHeader.js.map +1 -1
  9. package/dist/cjs/header/loggedOutHeader.js +1 -1
  10. package/dist/cjs/header/loggedOutHeader.js.map +1 -1
  11. package/dist/cjs/icons/baseIcons/brand/brandXTwitter.d.ts +4 -0
  12. package/dist/cjs/icons/baseIcons/brand/brandXTwitter.d.ts.map +1 -0
  13. package/dist/cjs/icons/baseIcons/brand/brandXTwitter.js +7 -0
  14. package/dist/cjs/icons/baseIcons/brand/brandXTwitter.js.map +1 -0
  15. package/dist/cjs/icons/baseIcons/brand/brandXTwitterSolid.d.ts +4 -0
  16. package/dist/cjs/icons/baseIcons/brand/brandXTwitterSolid.d.ts.map +1 -0
  17. package/dist/cjs/icons/baseIcons/brand/brandXTwitterSolid.js +7 -0
  18. package/dist/cjs/icons/baseIcons/brand/brandXTwitterSolid.js.map +1 -0
  19. package/dist/cjs/icons/baseIcons/icons.d.ts +3 -2
  20. package/dist/cjs/icons/baseIcons/icons.d.ts.map +1 -1
  21. package/dist/cjs/icons/baseIcons/icons.js +12 -10
  22. package/dist/cjs/icons/baseIcons/icons.js.map +1 -1
  23. package/dist/cjs/icons/baseIcons/types.d.ts +2 -2
  24. package/dist/cjs/icons/baseIcons/types.d.ts.map +1 -1
  25. package/dist/cjs/icons/baseIcons/ui/uiShield.js +1 -1
  26. package/dist/cjs/icons/baseIcons/ui/uiShield.js.map +1 -1
  27. package/dist/cjs/icons/baseIcons/ui/uiShieldSolid.d.ts +4 -0
  28. package/dist/cjs/icons/baseIcons/ui/uiShieldSolid.d.ts.map +1 -0
  29. package/dist/cjs/icons/baseIcons/ui/uiShieldSolid.js +8 -0
  30. package/dist/cjs/icons/baseIcons/ui/uiShieldSolid.js.map +1 -0
  31. package/dist/cjs/input/consts.d.ts +3 -3
  32. package/dist/cjs/input/consts.js +5 -5
  33. package/dist/cjs/input/consts.js.map +1 -1
  34. package/dist/cjs/input/input.d.ts.map +1 -1
  35. package/dist/cjs/input/input.js +6 -0
  36. package/dist/cjs/input/input.js.map +1 -1
  37. package/dist/cjs/input/inputIcon.d.ts.map +1 -1
  38. package/dist/cjs/input/inputIcon.js +1 -3
  39. package/dist/cjs/input/inputIcon.js.map +1 -1
  40. package/dist/cjs/select/useSelect.js +1 -1
  41. package/dist/cjs/select/useSelect.js.map +1 -1
  42. package/dist/cjs/sidemenuV2/SidemenuItemContent.d.ts +14 -0
  43. package/dist/cjs/sidemenuV2/SidemenuItemContent.d.ts.map +1 -0
  44. package/dist/cjs/sidemenuV2/SidemenuItemContent.js +22 -0
  45. package/dist/cjs/sidemenuV2/SidemenuItemContent.js.map +1 -0
  46. package/dist/cjs/sidemenuV2/sidemenuItemV2.d.ts.map +1 -1
  47. package/dist/cjs/sidemenuV2/sidemenuItemV2.js +20 -16
  48. package/dist/cjs/sidemenuV2/sidemenuItemV2.js.map +1 -1
  49. package/dist/cjs/sidemenuV2/sidemenuTopV2.d.ts +8 -0
  50. package/dist/cjs/sidemenuV2/sidemenuTopV2.d.ts.map +1 -0
  51. package/dist/cjs/sidemenuV2/sidemenuTopV2.js +31 -0
  52. package/dist/cjs/sidemenuV2/sidemenuTopV2.js.map +1 -0
  53. package/dist/cjs/sidemenuV2/sidemenuV2.d.ts +2 -0
  54. package/dist/cjs/sidemenuV2/sidemenuV2.d.ts.map +1 -1
  55. package/dist/cjs/sidemenuV2/sidemenuV2.js +5 -3
  56. package/dist/cjs/sidemenuV2/sidemenuV2.js.map +1 -1
  57. package/dist/cjs/sidemenuV2/sidemenuV2.types.d.ts +8 -0
  58. package/dist/cjs/sidemenuV2/sidemenuV2.types.d.ts.map +1 -1
  59. package/dist/cjs/tooltip/tooltip.d.ts.map +1 -1
  60. package/dist/cjs/tooltip/tooltip.js +2 -2
  61. package/dist/cjs/tooltip/tooltip.js.map +1 -1
  62. package/dist/cjs/tooltip/tooltip.types.d.ts +1 -0
  63. package/dist/cjs/tooltip/tooltip.types.d.ts.map +1 -1
  64. package/dist/cjs/tooltip/tooltipContent.js +1 -1
  65. package/dist/cjs/tooltip/tooltipContent.js.map +1 -1
  66. package/dist/esm/button/button.d.ts.map +1 -1
  67. package/dist/esm/button/button.js +15 -0
  68. package/dist/esm/button/button.js.map +1 -1
  69. package/dist/esm/footer/footer.d.ts.map +1 -1
  70. package/dist/esm/footer/footer.js +1 -1
  71. package/dist/esm/footer/footer.js.map +1 -1
  72. package/dist/esm/header/loggedInHeader.js +1 -1
  73. package/dist/esm/header/loggedInHeader.js.map +1 -1
  74. package/dist/esm/header/loggedOutHeader.js +1 -1
  75. package/dist/esm/header/loggedOutHeader.js.map +1 -1
  76. package/dist/esm/icons/baseIcons/brand/brandXTwitter.d.ts +4 -0
  77. package/dist/esm/icons/baseIcons/brand/brandXTwitter.d.ts.map +1 -0
  78. package/dist/esm/icons/baseIcons/brand/brandXTwitter.js +5 -0
  79. package/dist/esm/icons/baseIcons/brand/brandXTwitter.js.map +1 -0
  80. package/dist/esm/icons/baseIcons/brand/brandXTwitterSolid.d.ts +4 -0
  81. package/dist/esm/icons/baseIcons/brand/brandXTwitterSolid.d.ts.map +1 -0
  82. package/dist/esm/icons/baseIcons/brand/brandXTwitterSolid.js +5 -0
  83. package/dist/esm/icons/baseIcons/brand/brandXTwitterSolid.js.map +1 -0
  84. package/dist/esm/icons/baseIcons/icons.d.ts +3 -2
  85. package/dist/esm/icons/baseIcons/icons.d.ts.map +1 -1
  86. package/dist/esm/icons/baseIcons/icons.js +5 -4
  87. package/dist/esm/icons/baseIcons/icons.js.map +1 -1
  88. package/dist/esm/icons/baseIcons/types.d.ts +2 -2
  89. package/dist/esm/icons/baseIcons/types.d.ts.map +1 -1
  90. package/dist/esm/icons/baseIcons/ui/uiShield.js +1 -1
  91. package/dist/esm/icons/baseIcons/ui/uiShield.js.map +1 -1
  92. package/dist/esm/icons/baseIcons/ui/uiShieldSolid.d.ts +4 -0
  93. package/dist/esm/icons/baseIcons/ui/uiShieldSolid.d.ts.map +1 -0
  94. package/dist/esm/icons/baseIcons/ui/uiShieldSolid.js +6 -0
  95. package/dist/esm/icons/baseIcons/ui/uiShieldSolid.js.map +1 -0
  96. package/dist/esm/input/consts.d.ts +3 -3
  97. package/dist/esm/input/consts.js +5 -5
  98. package/dist/esm/input/consts.js.map +1 -1
  99. package/dist/esm/input/input.d.ts.map +1 -1
  100. package/dist/esm/input/input.js +6 -0
  101. package/dist/esm/input/input.js.map +1 -1
  102. package/dist/esm/input/inputIcon.d.ts.map +1 -1
  103. package/dist/esm/input/inputIcon.js +1 -3
  104. package/dist/esm/input/inputIcon.js.map +1 -1
  105. package/dist/esm/select/useSelect.js +1 -1
  106. package/dist/esm/select/useSelect.js.map +1 -1
  107. package/dist/esm/sidemenuV2/SidemenuItemContent.d.ts +14 -0
  108. package/dist/esm/sidemenuV2/SidemenuItemContent.d.ts.map +1 -0
  109. package/dist/esm/sidemenuV2/SidemenuItemContent.js +16 -0
  110. package/dist/esm/sidemenuV2/SidemenuItemContent.js.map +1 -0
  111. package/dist/esm/sidemenuV2/sidemenuItemV2.d.ts.map +1 -1
  112. package/dist/esm/sidemenuV2/sidemenuItemV2.js +22 -17
  113. package/dist/esm/sidemenuV2/sidemenuItemV2.js.map +1 -1
  114. package/dist/esm/sidemenuV2/sidemenuTopV2.d.ts +8 -0
  115. package/dist/esm/sidemenuV2/sidemenuTopV2.d.ts.map +1 -0
  116. package/dist/esm/sidemenuV2/sidemenuTopV2.js +16 -0
  117. package/dist/esm/sidemenuV2/sidemenuTopV2.js.map +1 -0
  118. package/dist/esm/sidemenuV2/sidemenuV2.d.ts +2 -0
  119. package/dist/esm/sidemenuV2/sidemenuV2.d.ts.map +1 -1
  120. package/dist/esm/sidemenuV2/sidemenuV2.js +5 -3
  121. package/dist/esm/sidemenuV2/sidemenuV2.js.map +1 -1
  122. package/dist/esm/sidemenuV2/sidemenuV2.types.d.ts +8 -0
  123. package/dist/esm/sidemenuV2/sidemenuV2.types.d.ts.map +1 -1
  124. package/dist/esm/tooltip/tooltip.d.ts.map +1 -1
  125. package/dist/esm/tooltip/tooltip.js +2 -2
  126. package/dist/esm/tooltip/tooltip.js.map +1 -1
  127. package/dist/esm/tooltip/tooltip.types.d.ts +1 -0
  128. package/dist/esm/tooltip/tooltip.types.d.ts.map +1 -1
  129. package/dist/esm/tooltip/tooltipContent.js +1 -1
  130. package/dist/esm/tooltip/tooltipContent.js.map +1 -1
  131. package/dist/tsconfig.legacy.tsbuildinfo +1 -1
  132. package/dist/tsconfig.tsbuildinfo +1 -1
  133. package/package.json +2 -2
  134. package/src/button/button.tsx +15 -0
  135. package/src/footer/footer.tsx +8 -2
  136. package/src/header/loggedInHeader.tsx +1 -1
  137. package/src/header/loggedOutHeader.tsx +1 -1
  138. package/src/icons/baseIcons/brand/brandXTwitter.ts +6 -0
  139. package/src/icons/baseIcons/brand/brandXTwitterSolid.ts +6 -0
  140. package/src/icons/baseIcons/icons.ts +5 -4
  141. package/src/icons/baseIcons/types.ts +6 -5
  142. package/src/icons/baseIcons/ui/uiShield.ts +1 -1
  143. package/src/icons/baseIcons/ui/uiShieldSolid.ts +7 -0
  144. package/src/input/consts.ts +5 -5
  145. package/src/input/input.tsx +6 -0
  146. package/src/input/inputIcon.tsx +1 -4
  147. package/src/select/useSelect.tsx +1 -1
  148. package/src/sidemenuV2/SidemenuItemContent.tsx +75 -0
  149. package/src/sidemenuV2/sidemenuItemV2.tsx +128 -134
  150. package/src/sidemenuV2/sidemenuTopV2.tsx +28 -0
  151. package/src/sidemenuV2/sidemenuV2.tsx +10 -5
  152. package/src/sidemenuV2/sidemenuV2.types.ts +9 -0
  153. package/src/tooltip/tooltip.tsx +2 -1
  154. package/src/tooltip/tooltip.types.ts +1 -0
  155. package/src/tooltip/tooltipContent.tsx +2 -2
@@ -0,0 +1,28 @@
1
+ import { Box } from '../box'
2
+ import { omitThemingProps, useStyleConfig } from '../core'
3
+ import { cs } from '../utils'
4
+ import { collapsedWidth } from './consts'
5
+ import type { SidemenuTopPropsV2 } from './sidemenuV2.types'
6
+
7
+ /** Top container. */
8
+ export const SidemenuTopV2 = (props: SidemenuTopPropsV2) => {
9
+ const { className, leftSlot, rightSlot, ...rest } = omitThemingProps(props)
10
+ const styles = useStyleConfig('Sidemenu', props)
11
+
12
+ if (!leftSlot && !rightSlot) return null
13
+
14
+ return (
15
+ <Box className={cs('vui-sidemenu-top', className)} mb={1} w="100%" {...styles.sidemenuTop} {...rest}>
16
+ {!!leftSlot && (
17
+ <Box alignItems="center" className="vui-sidemenu-top-left" minW={collapsedWidth}>
18
+ {leftSlot}
19
+ </Box>
20
+ )}
21
+ {!!rightSlot && <Box className="vui-sidemenu-top-left">{rightSlot}</Box>}
22
+ </Box>
23
+ )
24
+ }
25
+
26
+ SidemenuTopV2.displayName = 'SidemenuTopV2'
27
+
28
+ export default SidemenuTopV2
@@ -9,6 +9,7 @@ import { cs, isActivePath, generateMenuItemId } from '../utils'
9
9
  import { collapsedWidth, expandedWidth } from './consts'
10
10
  import { SidemenuStateProvider, useSidemenuContext } from './context'
11
11
  import SidemenuItemV2 from './sidemenuItemV2'
12
+ import SidemenuTopV2 from './sidemenuTopV2'
12
13
  import type { SidemenuItemV2Props, SidemenuV2Props } from './sidemenuV2.types'
13
14
 
14
15
  // Re-export context provider and hook
@@ -20,22 +21,25 @@ export const SidemenuV2 = vui<'div', SidemenuV2Props>((props, ref) => {
20
21
  isExpandedInitial = true, // Uncontrolled: only affects initial state
21
22
  size,
22
23
  variant = 'light',
23
- onExpandedChange,
24
24
  } = props
25
25
 
26
26
  return (
27
27
  <SidemenuStateProvider
28
28
  isExpandedInitial={isExpandedInitial}
29
- onExpandedChange={onExpandedChange}
29
+ onExpandedChange={props.onExpandedChange}
30
30
  variant={variant}
31
31
  size={size}
32
32
  isDark={variant === 'dark'}
33
33
  >
34
- <SidemenuInner {...props} ref={ref} />
34
+ <SidemenuInner
35
+ ref={ref}
36
+ {...props} // Spread all props to inner component
37
+ />
35
38
  </SidemenuStateProvider>
36
39
  )
37
40
  }) as VuiComponent<'div', SidemenuV2Props> & {
38
41
  Item: typeof SidemenuItemV2
42
+ Top: typeof SidemenuTopV2
39
43
  }
40
44
 
41
45
  // Inner component that uses context
@@ -264,7 +268,7 @@ const SidemenuInner = vui<'div', SidemenuV2Props>((props, ref) => {
264
268
  )
265
269
 
266
270
  return (
267
- <Box elevation="3" {...containerProps}>
271
+ <Box elevation="1" {...containerProps}>
268
272
  <Box
269
273
  className="vui-sidemenu-content"
270
274
  flexDirection="column"
@@ -292,11 +296,12 @@ const SidemenuInner = vui<'div', SidemenuV2Props>((props, ref) => {
292
296
  </Box>
293
297
  )
294
298
  }) as VuiComponent<'div', SidemenuV2Props> & {
295
- // Top: typeof SidemenuTop
299
+ Top: typeof SidemenuTopV2
296
300
  Item: typeof SidemenuItemV2
297
301
  }
298
302
 
299
303
  SidemenuV2.Item = SidemenuItemV2
304
+ SidemenuV2.Top = SidemenuTopV2
300
305
  SidemenuV2.displayName = 'SidemenuV2'
301
306
 
302
307
  export default SidemenuV2
@@ -313,6 +313,15 @@ export type SidemenuExpandEventV2 = {
313
313
  duration: number
314
314
  }
315
315
 
316
+ export type SidemenuTopPropsV2 = BoxProps & {
317
+ /** Custom class name */
318
+ className?: string
319
+ /** Left slot (always visible) */
320
+ leftSlot?: ReactNode
321
+ /** Right slot (hidden if the sidemenu is collapsed) */
322
+ rightSlot?: ReactNode
323
+ }
324
+
316
325
  // Utility types
317
326
  export type SidemenuItemWithChildrenV2 = SidemenuItemV2Props & {
318
327
  children: SidemenuItemV2Props[]
@@ -26,6 +26,7 @@ export const Tooltip = (props: TooltipProps) => {
26
26
  placement = 'top',
27
27
  disabled = false,
28
28
  visible = false,
29
+ offset = [0, 2],
29
30
  } = props
30
31
 
31
32
  const isDesktop = useUp('md')
@@ -63,7 +64,7 @@ export const Tooltip = (props: TooltipProps) => {
63
64
  )
64
65
  }
65
66
  interactive
66
- offset={[0, 2]}
67
+ offset={offset}
67
68
  placement={placement}
68
69
  popperOptions={{
69
70
  modifiers: [
@@ -32,4 +32,5 @@ export interface TooltipProps extends ChildrenProp {
32
32
  linkProps?: LinkProps
33
33
  /** Keeping the tooltip always visible @default false */
34
34
  visible?: boolean
35
+ offset?: [number, number]
35
36
  }
@@ -21,8 +21,8 @@ export const TooltipContent = ({
21
21
  maxW={maxWidth}
22
22
  overflowY="auto"
23
23
  p={1}
24
- pl={2}
25
- pr={2}
24
+ px={2}
25
+ whiteSpace="pre-wrap"
26
26
  >
27
27
  {children}
28
28
  </Box>