@veracity/vui 2.6.3 → 2.8.0-rc.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 (260) hide show
  1. package/dist/cjs/avatar/theme.d.ts +12 -0
  2. package/dist/cjs/avatar/theme.d.ts.map +1 -1
  3. package/dist/cjs/avatar/theme.js +12 -0
  4. package/dist/cjs/breadcrumbs/breadcrumbs.d.ts +1 -1
  5. package/dist/cjs/breadcrumbs/breadcrumbs.d.ts.map +1 -1
  6. package/dist/cjs/breadcrumbs/breadcrumbs.js +8 -4
  7. package/dist/cjs/breadcrumbs/breadcrumbs.types.d.ts +0 -3
  8. package/dist/cjs/breadcrumbs/breadcrumbs.types.d.ts.map +1 -1
  9. package/dist/cjs/breadcrumbs/breadcrumbsItem.d.ts.map +1 -1
  10. package/dist/cjs/breadcrumbs/breadcrumbsItem.js +2 -5
  11. package/dist/cjs/breadcrumbs/breadcrumbsSeparator.d.ts.map +1 -1
  12. package/dist/cjs/breadcrumbs/breadcrumbsSeparator.js +4 -1
  13. package/dist/cjs/breadcrumbs/theme.d.ts +66 -4
  14. package/dist/cjs/breadcrumbs/theme.d.ts.map +1 -1
  15. package/dist/cjs/breadcrumbs/theme.js +61 -5
  16. package/dist/cjs/button/theme.d.ts.map +1 -1
  17. package/dist/cjs/button/theme.js +0 -1
  18. package/dist/cjs/card/card.d.ts.map +1 -1
  19. package/dist/cjs/card/card.js +2 -3
  20. package/dist/cjs/card/theme.d.ts +7 -1
  21. package/dist/cjs/card/theme.d.ts.map +1 -1
  22. package/dist/cjs/card/theme.js +7 -1
  23. package/dist/cjs/footer/footer.d.ts.map +1 -1
  24. package/dist/cjs/footer/footer.js +21 -4
  25. package/dist/cjs/footer/footer.types.d.ts +3 -0
  26. package/dist/cjs/footer/footer.types.d.ts.map +1 -1
  27. package/dist/cjs/header/header.d.ts +4 -0
  28. package/dist/cjs/header/header.d.ts.map +1 -1
  29. package/dist/cjs/header/header.js +9 -2
  30. package/dist/cjs/header/header.types.d.ts +31 -1
  31. package/dist/cjs/header/header.types.d.ts.map +1 -1
  32. package/dist/cjs/header/headerAccount.d.ts +1 -0
  33. package/dist/cjs/header/headerAccount.d.ts.map +1 -1
  34. package/dist/cjs/header/headerAccount.js +7 -10
  35. package/dist/cjs/header/headerAccount.types.d.ts +2 -0
  36. package/dist/cjs/header/headerAccount.types.d.ts.map +1 -1
  37. package/dist/cjs/header/headerAccountUserInfo.d.ts.map +1 -1
  38. package/dist/cjs/header/headerAccountUserInfo.js +7 -6
  39. package/dist/cjs/header/headerApplicationName.d.ts +5 -0
  40. package/dist/cjs/header/headerApplicationName.d.ts.map +1 -0
  41. package/dist/cjs/header/headerApplicationName.js +47 -0
  42. package/dist/cjs/header/headerCreateAccount.d.ts.map +1 -1
  43. package/dist/cjs/header/headerCreateAccount.js +5 -4
  44. package/dist/cjs/header/headerDivider.d.ts +1 -1
  45. package/dist/cjs/header/headerDivider.js +1 -1
  46. package/dist/cjs/header/headerLinkItem.d.ts.map +1 -1
  47. package/dist/cjs/header/headerLinkItem.js +19 -2
  48. package/dist/cjs/header/headerLogo.d.ts.map +1 -1
  49. package/dist/cjs/header/headerLogo.js +2 -1
  50. package/dist/cjs/header/headerMainLinks.d.ts.map +1 -1
  51. package/dist/cjs/header/headerMainLinks.js +6 -1
  52. package/dist/cjs/header/headerMobileContent.d.ts +1 -1
  53. package/dist/cjs/header/headerMobileContent.d.ts.map +1 -1
  54. package/dist/cjs/header/headerMobileContent.js +3 -2
  55. package/dist/cjs/header/headerMobileToggle.js +1 -1
  56. package/dist/cjs/header/headerNotifications.d.ts.map +1 -1
  57. package/dist/cjs/header/headerNotifications.js +7 -5
  58. package/dist/cjs/header/headerServices.d.ts.map +1 -1
  59. package/dist/cjs/header/headerServices.js +6 -5
  60. package/dist/cjs/header/headerSignIn.d.ts.map +1 -1
  61. package/dist/cjs/header/headerSignIn.js +3 -2
  62. package/dist/cjs/header/headerSupport.d.ts +5 -0
  63. package/dist/cjs/header/headerSupport.d.ts.map +1 -0
  64. package/dist/cjs/header/headerSupport.js +45 -0
  65. package/dist/cjs/header/index.d.ts +1 -0
  66. package/dist/cjs/header/index.d.ts.map +1 -1
  67. package/dist/cjs/header/index.js +1 -0
  68. package/dist/cjs/header/loggedInHeader.d.ts +1 -1
  69. package/dist/cjs/header/loggedInHeader.d.ts.map +1 -1
  70. package/dist/cjs/header/loggedInHeader.js +52 -9
  71. package/dist/cjs/header/theme.d.ts +73 -28
  72. package/dist/cjs/header/theme.d.ts.map +1 -1
  73. package/dist/cjs/header/theme.js +79 -20
  74. package/dist/cjs/icons/baseIcons/conc/conAPI.d.ts +4 -0
  75. package/dist/cjs/icons/baseIcons/conc/conAPI.d.ts.map +1 -0
  76. package/dist/cjs/icons/baseIcons/conc/conAPI.js +7 -0
  77. package/dist/cjs/icons/baseIcons/conc/conClock.d.ts +4 -0
  78. package/dist/cjs/icons/baseIcons/conc/conClock.d.ts.map +1 -0
  79. package/dist/cjs/icons/baseIcons/conc/conClock.js +7 -0
  80. package/dist/cjs/icons/baseIcons/conc/conSaveTimeAndMoney.d.ts +4 -0
  81. package/dist/cjs/icons/baseIcons/conc/conSaveTimeAndMoney.d.ts.map +1 -0
  82. package/dist/cjs/icons/baseIcons/conc/conSaveTimeAndMoney.js +7 -0
  83. package/dist/cjs/icons/baseIcons/conc/conVesselConnect.d.ts +4 -0
  84. package/dist/cjs/icons/baseIcons/conc/conVesselConnect.d.ts.map +1 -0
  85. package/dist/cjs/icons/baseIcons/conc/conVesselConnect.js +8 -0
  86. package/dist/cjs/icons/baseIcons/icons.d.ts +4 -0
  87. package/dist/cjs/icons/baseIcons/icons.d.ts.map +1 -1
  88. package/dist/cjs/icons/baseIcons/icons.js +16 -8
  89. package/dist/cjs/icons/baseIcons/types.d.ts +1 -1
  90. package/dist/cjs/icons/baseIcons/types.d.ts.map +1 -1
  91. package/dist/cjs/list/listItem.d.ts.map +1 -1
  92. package/dist/cjs/list/listItem.js +2 -0
  93. package/dist/cjs/list/theme.d.ts +9 -1
  94. package/dist/cjs/list/theme.d.ts.map +1 -1
  95. package/dist/cjs/list/theme.js +11 -2
  96. package/dist/cjs/logo/Logo.d.ts.map +1 -1
  97. package/dist/cjs/logo/Logo.js +2 -2
  98. package/dist/cjs/logo/logo.types.d.ts +4 -0
  99. package/dist/cjs/logo/logo.types.d.ts.map +1 -1
  100. package/dist/cjs/p/theme.d.ts +4 -0
  101. package/dist/cjs/p/theme.d.ts.map +1 -1
  102. package/dist/cjs/p/theme.js +4 -0
  103. package/dist/cjs/table/thead.d.ts.map +1 -1
  104. package/dist/cjs/table/thead.js +7 -5
  105. package/dist/cjs/theme/components.d.ts +170 -34
  106. package/dist/cjs/theme/components.d.ts.map +1 -1
  107. package/dist/cjs/theme/defaultTheme.d.ts +170 -34
  108. package/dist/cjs/theme/defaultTheme.d.ts.map +1 -1
  109. package/dist/esm/avatar/theme.d.ts +12 -0
  110. package/dist/esm/avatar/theme.d.ts.map +1 -1
  111. package/dist/esm/avatar/theme.js +12 -0
  112. package/dist/esm/breadcrumbs/breadcrumbs.d.ts +1 -1
  113. package/dist/esm/breadcrumbs/breadcrumbs.d.ts.map +1 -1
  114. package/dist/esm/breadcrumbs/breadcrumbs.js +8 -4
  115. package/dist/esm/breadcrumbs/breadcrumbs.types.d.ts +0 -3
  116. package/dist/esm/breadcrumbs/breadcrumbs.types.d.ts.map +1 -1
  117. package/dist/esm/breadcrumbs/breadcrumbsItem.d.ts.map +1 -1
  118. package/dist/esm/breadcrumbs/breadcrumbsItem.js +2 -5
  119. package/dist/esm/breadcrumbs/breadcrumbsSeparator.d.ts.map +1 -1
  120. package/dist/esm/breadcrumbs/breadcrumbsSeparator.js +6 -1
  121. package/dist/esm/breadcrumbs/theme.d.ts +66 -4
  122. package/dist/esm/breadcrumbs/theme.d.ts.map +1 -1
  123. package/dist/esm/breadcrumbs/theme.js +61 -5
  124. package/dist/esm/button/theme.d.ts.map +1 -1
  125. package/dist/esm/button/theme.js +0 -1
  126. package/dist/esm/card/card.d.ts.map +1 -1
  127. package/dist/esm/card/card.js +2 -3
  128. package/dist/esm/card/theme.d.ts +7 -1
  129. package/dist/esm/card/theme.d.ts.map +1 -1
  130. package/dist/esm/card/theme.js +7 -1
  131. package/dist/esm/footer/footer.d.ts.map +1 -1
  132. package/dist/esm/footer/footer.js +21 -4
  133. package/dist/esm/footer/footer.types.d.ts +3 -0
  134. package/dist/esm/footer/footer.types.d.ts.map +1 -1
  135. package/dist/esm/header/header.d.ts +4 -0
  136. package/dist/esm/header/header.d.ts.map +1 -1
  137. package/dist/esm/header/header.js +9 -2
  138. package/dist/esm/header/header.types.d.ts +31 -1
  139. package/dist/esm/header/header.types.d.ts.map +1 -1
  140. package/dist/esm/header/headerAccount.d.ts +1 -0
  141. package/dist/esm/header/headerAccount.d.ts.map +1 -1
  142. package/dist/esm/header/headerAccount.js +7 -11
  143. package/dist/esm/header/headerAccount.types.d.ts +2 -0
  144. package/dist/esm/header/headerAccount.types.d.ts.map +1 -1
  145. package/dist/esm/header/headerAccountUserInfo.d.ts.map +1 -1
  146. package/dist/esm/header/headerAccountUserInfo.js +7 -6
  147. package/dist/esm/header/headerApplicationName.d.ts +5 -0
  148. package/dist/esm/header/headerApplicationName.d.ts.map +1 -0
  149. package/dist/esm/header/headerApplicationName.js +30 -0
  150. package/dist/esm/header/headerCreateAccount.d.ts.map +1 -1
  151. package/dist/esm/header/headerCreateAccount.js +4 -3
  152. package/dist/esm/header/headerDivider.d.ts +1 -1
  153. package/dist/esm/header/headerDivider.js +1 -1
  154. package/dist/esm/header/headerLinkItem.d.ts.map +1 -1
  155. package/dist/esm/header/headerLinkItem.js +22 -5
  156. package/dist/esm/header/headerLogo.d.ts.map +1 -1
  157. package/dist/esm/header/headerLogo.js +3 -2
  158. package/dist/esm/header/headerMainLinks.d.ts.map +1 -1
  159. package/dist/esm/header/headerMainLinks.js +6 -1
  160. package/dist/esm/header/headerMobileContent.d.ts +1 -1
  161. package/dist/esm/header/headerMobileContent.d.ts.map +1 -1
  162. package/dist/esm/header/headerMobileContent.js +4 -3
  163. package/dist/esm/header/headerMobileToggle.js +1 -1
  164. package/dist/esm/header/headerNotifications.d.ts.map +1 -1
  165. package/dist/esm/header/headerNotifications.js +7 -5
  166. package/dist/esm/header/headerServices.d.ts.map +1 -1
  167. package/dist/esm/header/headerServices.js +6 -5
  168. package/dist/esm/header/headerSignIn.d.ts.map +1 -1
  169. package/dist/esm/header/headerSignIn.js +2 -1
  170. package/dist/esm/header/headerSupport.d.ts +5 -0
  171. package/dist/esm/header/headerSupport.d.ts.map +1 -0
  172. package/dist/esm/header/headerSupport.js +27 -0
  173. package/dist/esm/header/index.d.ts +1 -0
  174. package/dist/esm/header/index.d.ts.map +1 -1
  175. package/dist/esm/header/index.js +1 -0
  176. package/dist/esm/header/loggedInHeader.d.ts +1 -1
  177. package/dist/esm/header/loggedInHeader.d.ts.map +1 -1
  178. package/dist/esm/header/loggedInHeader.js +47 -10
  179. package/dist/esm/header/theme.d.ts +73 -28
  180. package/dist/esm/header/theme.d.ts.map +1 -1
  181. package/dist/esm/header/theme.js +79 -20
  182. package/dist/esm/icons/baseIcons/conc/conAPI.d.ts +4 -0
  183. package/dist/esm/icons/baseIcons/conc/conAPI.d.ts.map +1 -0
  184. package/dist/esm/icons/baseIcons/conc/conAPI.js +5 -0
  185. package/dist/esm/icons/baseIcons/conc/conClock.d.ts +4 -0
  186. package/dist/esm/icons/baseIcons/conc/conClock.d.ts.map +1 -0
  187. package/dist/esm/icons/baseIcons/conc/conClock.js +5 -0
  188. package/dist/esm/icons/baseIcons/conc/conSaveTimeAndMoney.d.ts +4 -0
  189. package/dist/esm/icons/baseIcons/conc/conSaveTimeAndMoney.d.ts.map +1 -0
  190. package/dist/esm/icons/baseIcons/conc/conSaveTimeAndMoney.js +5 -0
  191. package/dist/esm/icons/baseIcons/conc/conVesselConnect.d.ts +4 -0
  192. package/dist/esm/icons/baseIcons/conc/conVesselConnect.d.ts.map +1 -0
  193. package/dist/esm/icons/baseIcons/conc/conVesselConnect.js +6 -0
  194. package/dist/esm/icons/baseIcons/icons.d.ts +4 -0
  195. package/dist/esm/icons/baseIcons/icons.d.ts.map +1 -1
  196. package/dist/esm/icons/baseIcons/icons.js +4 -0
  197. package/dist/esm/icons/baseIcons/types.d.ts +1 -1
  198. package/dist/esm/icons/baseIcons/types.d.ts.map +1 -1
  199. package/dist/esm/list/listItem.d.ts.map +1 -1
  200. package/dist/esm/list/listItem.js +2 -0
  201. package/dist/esm/list/theme.d.ts +9 -1
  202. package/dist/esm/list/theme.d.ts.map +1 -1
  203. package/dist/esm/list/theme.js +11 -2
  204. package/dist/esm/logo/Logo.d.ts.map +1 -1
  205. package/dist/esm/logo/Logo.js +2 -2
  206. package/dist/esm/logo/logo.types.d.ts +4 -0
  207. package/dist/esm/logo/logo.types.d.ts.map +1 -1
  208. package/dist/esm/p/theme.d.ts +4 -0
  209. package/dist/esm/p/theme.d.ts.map +1 -1
  210. package/dist/esm/p/theme.js +4 -0
  211. package/dist/esm/table/thead.d.ts.map +1 -1
  212. package/dist/esm/table/thead.js +7 -5
  213. package/dist/esm/theme/components.d.ts +170 -34
  214. package/dist/esm/theme/components.d.ts.map +1 -1
  215. package/dist/esm/theme/defaultTheme.d.ts +170 -34
  216. package/dist/esm/theme/defaultTheme.d.ts.map +1 -1
  217. package/package.json +1 -1
  218. package/src/avatar/theme.ts +12 -0
  219. package/src/breadcrumbs/breadcrumbs.tsx +15 -6
  220. package/src/breadcrumbs/breadcrumbs.types.ts +0 -3
  221. package/src/breadcrumbs/breadcrumbsItem.tsx +2 -6
  222. package/src/breadcrumbs/breadcrumbsSeparator.tsx +11 -5
  223. package/src/breadcrumbs/theme.ts +61 -5
  224. package/src/button/theme.ts +0 -1
  225. package/src/card/card.tsx +3 -16
  226. package/src/card/theme.ts +7 -1
  227. package/src/footer/footer.tsx +71 -4
  228. package/src/footer/footer.types.ts +3 -0
  229. package/src/header/header.tsx +12 -2
  230. package/src/header/header.types.ts +33 -1
  231. package/src/header/headerAccount.tsx +10 -15
  232. package/src/header/headerAccount.types.ts +2 -0
  233. package/src/header/headerAccountUserInfo.tsx +15 -5
  234. package/src/header/headerApplicationName.tsx +47 -0
  235. package/src/header/headerCreateAccount.tsx +5 -3
  236. package/src/header/headerDivider.tsx +1 -1
  237. package/src/header/headerLinkItem.tsx +23 -5
  238. package/src/header/headerLogo.tsx +4 -2
  239. package/src/header/headerMainLinks.tsx +6 -1
  240. package/src/header/headerMobileContent.tsx +5 -4
  241. package/src/header/headerMobileToggle.tsx +2 -2
  242. package/src/header/headerNotifications.tsx +7 -4
  243. package/src/header/headerServices.tsx +19 -5
  244. package/src/header/headerSignIn.tsx +3 -0
  245. package/src/header/headerSupport.tsx +76 -0
  246. package/src/header/index.tsx +1 -0
  247. package/src/header/loggedInHeader.tsx +131 -14
  248. package/src/header/theme.ts +79 -20
  249. package/src/icons/baseIcons/conc/conAPI.ts +8 -0
  250. package/src/icons/baseIcons/conc/conClock.ts +8 -0
  251. package/src/icons/baseIcons/conc/conSaveTimeAndMoney.ts +8 -0
  252. package/src/icons/baseIcons/conc/conVesselConnect.ts +9 -0
  253. package/src/icons/baseIcons/icons.ts +4 -0
  254. package/src/icons/baseIcons/types.ts +5 -0
  255. package/src/list/listItem.tsx +2 -0
  256. package/src/list/theme.ts +11 -2
  257. package/src/logo/Logo.tsx +14 -4
  258. package/src/logo/logo.types.ts +1 -0
  259. package/src/p/theme.ts +4 -0
  260. package/src/table/thead.tsx +8 -6
@@ -1,7 +1,6 @@
1
1
  import { ReactNode } from 'react'
2
2
 
3
3
  import { BoxProps } from '../box'
4
- import { IconProp } from '../icon'
5
4
  import { SystemProps } from '../system'
6
5
  import { ThemingProps } from '../theme'
7
6
 
@@ -12,8 +11,6 @@ export type BreadcrumbsItemProps = BoxProps & {
12
11
  className?: string
13
12
  /** Content */
14
13
  children?: ReactNode
15
- /** Icon */
16
- icon?: IconProp
17
14
  }
18
15
 
19
16
  export type BreadcrumbsSeparatorProps = BoxProps & {
@@ -2,27 +2,23 @@ import React from 'react'
2
2
 
3
3
  import { Box } from '../box'
4
4
  import { omitThemingProps, useStyleConfig, vui, VuiComponent } from '../core'
5
- import { Icon } from '../icon'
6
5
  import { cs } from '../utils'
7
6
  import { BreadcrumbsItemProps } from './breadcrumbs.types'
8
7
  import { useBreadcrumbsContext } from './context'
9
8
 
10
9
  /** A Breadcrumb item. */
11
10
  export const BreadcrumbsItem = vui<'div', BreadcrumbsItemProps>((props, ref) => {
12
- const { className, children, icon, ...rest } = omitThemingProps(props)
13
-
11
+ const { className, children, ...rest } = omitThemingProps(props)
14
12
  const styles = useStyleConfig('Breadcrumbs', useBreadcrumbsContext())
15
-
16
13
  return (
17
14
  <Box
18
15
  alignItems="center"
19
16
  className={cs('vui-breadcrumbs-item', className)}
20
17
  p={0}
21
18
  ref={ref}
22
- {...rest}
23
19
  {...styles.item}
20
+ {...rest}
24
21
  >
25
- {!!icon && <Icon name={icon} size="sm" />}
26
22
  {children}
27
23
  </Box>
28
24
  )
@@ -1,15 +1,21 @@
1
1
  import React from 'react'
2
2
 
3
3
  import { Box } from '../box'
4
+ import { useStyleConfig } from '../core'
4
5
  import { Icon } from '../icon'
5
6
  import { cs } from '../utils'
6
7
  import { BreadcrumbsSeparatorProps } from './breadcrumbs.types'
8
+ import { useBreadcrumbsContext } from './context'
7
9
 
8
10
  /** Breadcrumbs separator. */
9
- export const BreadcrumbsSeparator = ({ className, children, content, ...rest }: BreadcrumbsSeparatorProps) => (
10
- <Box alignItems="center" className={cs('vui-breadcrumbs-separator', className)} p={0} {...rest}>
11
- {content || children || <Icon name="falAngleRight" />}
12
- </Box>
13
- )
11
+ export const BreadcrumbsSeparator = ({ className, children, content, ...rest }: BreadcrumbsSeparatorProps) => {
12
+ const styles = useStyleConfig('Breadcrumbs', useBreadcrumbsContext())
13
+
14
+ return (
15
+ <Box alignItems="center" className={cs('vui-breadcrumbs-separator', className)} p={0} {...rest}>
16
+ {content || children || <Icon name="falAngleRight" {...styles.separator} />}
17
+ </Box>
18
+ )
19
+ }
14
20
 
15
21
  export default BreadcrumbsSeparator
@@ -1,22 +1,78 @@
1
1
  const baseStyle = {}
2
2
 
3
3
  const defaultProps = {
4
- size: 'md'
4
+ size: 'md',
5
+ variant: 'dark'
5
6
  }
6
7
 
7
8
  const sizes = {
9
+ xs: {
10
+ item: {
11
+ fontSize: 12,
12
+ lineHeight: '18px'
13
+ },
14
+ separator: {
15
+ size: 'xs'
16
+ }
17
+ },
8
18
  sm: {
9
- item: {}
19
+ item: {
20
+ fontSize: 14,
21
+ lineHeight: '22px'
22
+ },
23
+ separator: {
24
+ size: 'sm'
25
+ }
10
26
  },
11
27
  md: {
12
- item: {}
28
+ item: { fontSize: 16, lineHeight: '26px' },
29
+ separator: {
30
+ size: 'md'
31
+ }
13
32
  },
14
33
  lg: {
15
- item: {}
34
+ item: { fontSize: 18, lineHeight: '32px' },
35
+ separator: {
36
+ size: 'lg'
37
+ }
16
38
  }
17
39
  }
18
40
 
19
- const variants = {}
41
+ const variants = {
42
+ dark: {
43
+ item: {
44
+ color: 'seaBlue.main'
45
+ },
46
+ main: {
47
+ bg: 'transparent'
48
+ },
49
+ separator: {
50
+ pathFill: 'sandstone.10'
51
+ }
52
+ },
53
+ white: {
54
+ item: {
55
+ color: 'white'
56
+ },
57
+ main: {
58
+ bg: 'darkBlue.main'
59
+ },
60
+ separator: {
61
+ pathFill: 'white'
62
+ }
63
+ },
64
+ light: {
65
+ item: {
66
+ color: 'digiGreen.main'
67
+ },
68
+ main: {
69
+ bg: 'darkBlue.main'
70
+ },
71
+ separator: {
72
+ pathFill: 'white'
73
+ }
74
+ }
75
+ }
20
76
 
21
77
  export default {
22
78
  baseStyle,
@@ -170,7 +170,6 @@ const variants = {
170
170
  disabledColor: 'darkBlue.75',
171
171
  hoverBg: 'skyBlue.85',
172
172
  hoverBorderColor: 'seaBlue.35',
173
- // focusBg: 'white',
174
173
  activeBg: 'skyBlue.90',
175
174
  activeBorderColor: 'seaBlue.35'
176
175
  }
package/src/card/card.tsx CHANGED
@@ -11,14 +11,14 @@ import { CardProps } from './card.types'
11
11
  */
12
12
  export const Card = vui<'div', CardProps>((props, ref) => {
13
13
  const { className, isInteractive = props.onClick !== undefined, ...rest } = omitThemingProps(props)
14
+
14
15
  const styles = useStyleConfig('Card', props)
15
16
 
16
17
  const interactiveProps: Dict = isInteractive
17
18
  ? {
18
19
  cursor: 'pointer',
19
20
  focusRing: 2,
20
- focusRingColor: 'blue.50',
21
- hoverRingColor: 'prussian.80',
21
+ hoverRingColor: 'seaBlue.main',
22
22
  hoverShadow: '4',
23
23
  outline: 'none',
24
24
  tabIndex: 0,
@@ -26,20 +26,7 @@ export const Card = vui<'div', CardProps>((props, ref) => {
26
26
  }
27
27
  : {}
28
28
 
29
- return (
30
- <Box
31
- bg="white"
32
- borderRadius="md"
33
- className={cs('vui-card', className)}
34
- ref={ref}
35
- ring={1}
36
- ringColor="transparent"
37
- shadow="2"
38
- {...styles}
39
- {...interactiveProps}
40
- {...rest}
41
- />
42
- )
29
+ return <Box className={cs('vui-card', className)} ref={ref} {...styles} {...interactiveProps} {...rest} />
43
30
  })
44
31
 
45
32
  export default Card
package/src/card/theme.ts CHANGED
@@ -1,4 +1,10 @@
1
- const baseStyle = {}
1
+ const baseStyle = {
2
+ bg: 'white',
3
+ borderRadius: '1px',
4
+ ring: 1,
5
+ ringColor: 'transparent',
6
+ shadow: '2'
7
+ }
2
8
 
3
9
  const defaultProps = {}
4
10
 
@@ -1,5 +1,6 @@
1
1
  import React from 'react'
2
2
 
3
+ import { Box } from '../box'
3
4
  import { styled, useDown, useStyleConfig, vui, VuiComponent } from '../core'
4
5
  import { Divider } from '../divider'
5
6
  import { Link } from '../link'
@@ -26,12 +27,30 @@ export const FooterBase = styled.divBox`
26
27
 
27
28
  /** Branded Veracity Footer with trademark and links sections. Controls max-width of the content. */
28
29
  export const Footer = vui<'div', FooterProps>((props, ref) => {
29
- const { children, className, columns, linkedIn, size, variant, isSlim, ...rest } = props
30
+ const {
31
+ applicationLinks,
32
+ applicationStaticItems = [],
33
+ children,
34
+ className,
35
+ columns,
36
+ isApplication = false,
37
+ linkedIn,
38
+ size,
39
+ variant,
40
+ isSlim,
41
+ ...rest
42
+ } = props
30
43
 
31
44
  const context = { size, variant }
32
45
 
33
46
  const styles = useStyleConfig('Footer', props)
34
47
 
48
+ if (isApplication) {
49
+ if (!applicationLinks) {
50
+ console.error('Footer: isApplication is true but applicationLinks is not set.')
51
+ }
52
+ }
53
+
35
54
  const slimLinks: FooterLinkData[] = [
36
55
  {
37
56
  id: 'home',
@@ -58,13 +77,61 @@ export const Footer = vui<'div', FooterProps>((props, ref) => {
58
77
  return (
59
78
  <FooterProvider value={context}>
60
79
  <FooterBase
61
- className={cs('vui-footer', className)}
80
+ className={cs('vui-footer', isApplication ? 'vui-footer-app' : '', className)}
81
+ px={isApplication ? '40px' : 3}
62
82
  py={isSlim ? (downMd ? '16px' : '9px') : 5}
63
83
  {...styles.container}
64
84
  ref={ref}
65
85
  {...rest}
66
86
  >
67
- {isSlim && (
87
+ {isApplication && (
88
+ <FooterContent alignContent="center" alignItems="center" maxW="100%">
89
+ <FooterRow alignContent="space-between" w={1}>
90
+ <Box
91
+ alignItems="self-start"
92
+ columnGap={3}
93
+ flex={{ xs: '0 0 100%', sm: '0 0 100%', md: '0 0 100%', lg: '0 0 50%' }}
94
+ py={{ xs: 1, sm: 1, md: 1.25, lg: 1.5 }}
95
+ wrap
96
+ >
97
+ {applicationLinks?.map((link, index) => (
98
+ <Box flex={{ xs: '0 0 50%', sm: '0 0 auto' }} key={index} minW={70}>
99
+ <FooterLink {...link} />
100
+ </Box>
101
+ ))}
102
+ </Box>
103
+ {downLg && <Divider borderColor="sandstone.main" mb={0.5} mt={1} w={1} />}
104
+ <Box
105
+ centerV
106
+ columnGap={3}
107
+ flex={{ xs: '0 0 100%', sm: '0 0 100%', md: '0 0 100%', lg: '0 0 50%' }}
108
+ justifyContent={{ sm: 'center', lg: 'flex-end' }}
109
+ py={{ xs: 1, sm: 1, md: 1.25, lg: 1.5 }}
110
+ wrap
111
+ >
112
+ {applicationStaticItems?.map((text, index) => (
113
+ <Box key={index}>
114
+ <T size="sm">{text}</T>
115
+ </Box>
116
+ ))}
117
+ <Box>
118
+ <Link
119
+ fontWeight="demi"
120
+ href={linkedIn ?? defaultLinkedInUrl}
121
+ iconLeft={<Link.Icon mr={1} name="cubCircleLinkedIn" radius="50%" size="xs" />}
122
+ isExternal
123
+ size={{ _: 'sm', md: 'md' }}
124
+ {...styles.link}
125
+ >
126
+ <FooterHeading fontSize="16px" mb={0} text="Follow us" />
127
+ </Link>
128
+ </Box>
129
+ </Box>
130
+ </FooterRow>
131
+ </FooterContent>
132
+ )}
133
+
134
+ {!isApplication && isSlim && (
68
135
  <FooterContent alignContent="center" alignItems="center" maxW={{ xs: 343, sm: 305, md: 720, lg: 975 }}>
69
136
  <FooterRow>
70
137
  {slimLinks.map((link, index) => {
@@ -104,7 +171,7 @@ export const Footer = vui<'div', FooterProps>((props, ref) => {
104
171
  </FooterContent>
105
172
  )}
106
173
 
107
- {!isSlim && (
174
+ {!isApplication && !isSlim && (
108
175
  <FooterContent>
109
176
  {children ??
110
177
  (columns && (
@@ -24,8 +24,11 @@ export type FooterLinkData = {
24
24
  export type FooterProps = Omit<BoxProps, 'size' | 'variant'> &
25
25
  ThemingProps<'Footer'> &
26
26
  Pick<FooterTrademarkProps, 'linkedIn'> & {
27
+ applicationLinks?: FooterLinkData[]
28
+ applicationStaticItems?: string[]
27
29
  /** Data defining content of multiple columns. */
28
30
  columns?: FooterColumnData[]
31
+ isApplication?: boolean
29
32
  isSlim?: boolean
30
33
  }
31
34
 
@@ -6,6 +6,7 @@ import { HeaderProvider } from './context'
6
6
  import { HeaderProps } from './header.types'
7
7
  import HeaderAccount from './headerAccount'
8
8
  import HeaderAccountUserInfo from './headerAccountUserInfo'
9
+ import HeaderApplicationName from './headerApplicationName'
9
10
  import HeaderContent from './headerContent'
10
11
  import HeaderCreateAccount from './headerCreateAccount'
11
12
  import HeaderDivider from './headerDivider'
@@ -18,23 +19,28 @@ import HeaderNotifications from './headerNotifications'
18
19
  import HeaderServices from './headerServices'
19
20
  import HeaderServicesMessage from './headerServicesMessage'
20
21
  import HeaderSignIn from './headerSignIn'
22
+ import HeaderSupport from './headerSupport'
21
23
 
24
+ /*@formatter:off*/
22
25
  export const HeaderBase = styled.headerBox`
23
26
  align-items: center;
24
27
  background-color: white;
25
- border-bottom: 1px solid prussian.80;
28
+ border-bottom: 1px solid darkBlue.main;
26
29
  display: flex;
27
30
  position: relative;
28
31
  `
32
+ /*@formatter:on*/
29
33
 
30
34
  /** Branded Veracity Header with logo, links, services, account and other data. Controls max-width of the content. */
31
35
  export const Header = vui<'header', HeaderProps>((props, ref) => {
32
- const { className, headerHeight = 72, size, variant, ...rest } = props
36
+ const { className, size, variant, ...rest } = props
33
37
  const [isMobileOpen, setIsMobileOpen] = useState(false)
34
38
  const mobileContentRef = useRef(null)
35
39
  const mobileToggleRef = useRef(null)
36
40
  const styles = useStyleConfig('Header', props)
37
41
 
42
+ const headerHeight = 72
43
+
38
44
  const [links] = useLinks()
39
45
 
40
46
  useClickOutside([mobileContentRef, mobileToggleRef], () => {
@@ -72,6 +78,8 @@ export const Header = vui<'header', HeaderProps>((props, ref) => {
72
78
  }) as VuiComponent<'header', HeaderProps> & {
73
79
  Account: typeof HeaderAccount
74
80
  AccountUserInfo: typeof HeaderAccountUserInfo
81
+ Support: typeof HeaderSupport
82
+ ApplicationName: typeof HeaderApplicationName
75
83
  Content: typeof HeaderContent
76
84
  CreateAccount: typeof HeaderCreateAccount
77
85
  Divider: typeof HeaderDivider
@@ -88,6 +96,8 @@ export const Header = vui<'header', HeaderProps>((props, ref) => {
88
96
 
89
97
  Header.Account = HeaderAccount
90
98
  Header.AccountUserInfo = HeaderAccountUserInfo
99
+ Header.Support = HeaderSupport
100
+ Header.ApplicationName = HeaderApplicationName
91
101
  Header.Content = HeaderContent
92
102
  Header.CreateAccount = HeaderCreateAccount
93
103
  Header.Divider = HeaderDivider
@@ -61,7 +61,7 @@ export type HeaderNotificationsProps = ButtonProps & HeaderNotificationsData
61
61
 
62
62
  export type HeaderProps = SystemProps &
63
63
  ThemingProps<'Header'> & {
64
- /** Sets the height of the Header and is used by internal parts for positioning and sizing. */
64
+ /** Sets the height of the Header and is used by internal parts for positioning and sizing. @deprecated; header should always be 72 px.*/
65
65
  headerHeight?: number
66
66
  }
67
67
 
@@ -76,10 +76,15 @@ export type HeaderServicesProps = MenuProps &
76
76
  buttonProps?: ButtonProps
77
77
  /** Children are disabled for this component. */
78
78
  children?: never
79
+ isApplication?: boolean
79
80
  /** Props object passed to the MenuList component. */
80
81
  listProps?: ListProps
82
+ /** Props object passed to the MenuItem component; introduced for app MD */
83
+ showTopBorder?: boolean
81
84
  }
82
85
 
86
+ export type HeaderSupportProps = MenuProps & HeaderServicesData & {}
87
+
83
88
  export type HeaderSignInData = {
84
89
  /** Provides href to the button link. */
85
90
  url?: string
@@ -90,6 +95,31 @@ export type HeaderSignInProps = ButtonProps & HeaderSignInData
90
95
  export type LoggedInHeaderProps = HeaderProps & {
91
96
  /** Socket for account popover icon on the right side. */
92
97
  account?: HeaderAccountData | JSX.Element
98
+ supportLinks?: HeaderServicesData
99
+ /** Socket for the app name on the left side. */
100
+ applicationName?: string
101
+ isApplication?: boolean
102
+ /** Socket for logo on the left side. */
103
+ logo?: LogoData | JSX.Element
104
+ /** Socket for main links in the middle-right. */
105
+ mainLinks?: HeaderLinkData[] | JSX.Element
106
+ /** Socket for notifications icon on the right side. */
107
+ notifications?: HeaderNotificationsData | JSX.Element
108
+ /** Socket for services menu icon on the right side. */
109
+ services?: HeaderServicesData | JSX.Element
110
+ /** Socket for showing the alt user Info with role; introduced for APP; by default it is displayed. */
111
+ showAltUserInfo?: boolean
112
+ /** Socket for showing the services trigger up front; introduced for APP; by default it is displayed. */
113
+ showServices?: boolean
114
+ /** Socket for showing the main Links up front in case of APP. by default they are folded into the hamburger menu. */
115
+ showMainLinks?: boolean
116
+ }
117
+
118
+ export type LoggedInAppHeaderProps = HeaderProps & {
119
+ /** Socket for account popover icon on the right side. */
120
+ account?: HeaderAccountData | JSX.Element
121
+ /** Socket for the app name on the left side. */
122
+ applicationName: string
93
123
  /** Socket for logo on the left side. */
94
124
  logo?: LogoData | JSX.Element
95
125
  /** Socket for main links in the middle-right. */
@@ -98,6 +128,8 @@ export type LoggedInHeaderProps = HeaderProps & {
98
128
  notifications?: HeaderNotificationsData | JSX.Element
99
129
  /** Socket for services menu icon on the right side. */
100
130
  services?: HeaderServicesData | JSX.Element
131
+ /** Socket for showing the main Links up front. by default they are folded into the hamburger menu. */
132
+ showMainLinks?: boolean
101
133
  }
102
134
 
103
135
  export type LoggedOutHeaderProps = HeaderProps & {
@@ -4,48 +4,43 @@ import Avatar from '../avatar'
4
4
  import { useStyleConfig } from '../core'
5
5
  import List from '../list'
6
6
  import Popover from '../popover'
7
- import { isJsx, isObject, merge } from '../utils'
7
+ import { isJsx, isObject } from '../utils'
8
8
  import { useHeaderContext } from './context'
9
9
  import { HeaderAccountProps, HeaderAccountUserInfoData } from './headerAccount.types'
10
10
  import HeaderAccountUserInfo from './headerAccountUserInfo'
11
11
 
12
12
  /** Disables popper's dynamic re-positioning */
13
- const mobilePopoverOptions = { popperOptions: { modifiers: [{ name: 'computeStyles', enabled: false }] } }
14
13
 
15
14
  /** Displays user account information and helpful links, like settings or logout. */
16
15
  export function HeaderAccount(props: HeaderAccountProps) {
17
16
  const { contentProps, options = {}, sections, triggerProps, userInfo, ...rest } = props
18
- const { headerHeight, isMobile } = useHeaderContext()
17
+ const { isMobile } = useHeaderContext()
19
18
  const styles = useStyleConfig('Header', useHeaderContext()).account
20
-
21
- // Render content in full view on mobile
22
- const popoverOptions = isMobile ? merge(options, mobilePopoverOptions) : options
23
-
24
- const contentScreenProps = isMobile
25
- ? { h: `calc(100vh - ${headerHeight}px)`, left: 0, position: 'fixed', top: headerHeight, w: '100vw' }
26
- : { maxH: 360, py: 1, minW: 320, w: 'auto' }
27
-
28
19
  const name = isObject<HeaderAccountUserInfoData>(userInfo) ? userInfo.displayName : ''
20
+ const variant = styles?.trigger?.variant ?? 'solidDarkBlue'
21
+ const offsetX = isMobile ? 64 : 39
29
22
 
30
23
  return (
31
- <Popover isLazy={false} offset={[0, 8]} options={popoverOptions} placement="bottom-end" {...rest}>
24
+ <Popover isLazy={false} offset={[offsetX, 16]} placement="bottom-end" {...rest}>
32
25
  <Popover.Trigger
33
26
  as={Avatar}
34
27
  className="vui-headerAccountTrigger"
35
28
  isInteractive
36
- ml={2}
29
+ ml={1}
37
30
  name={name}
31
+ size="lg"
38
32
  title="Account"
39
- variant="solidDarkBlue"
33
+ variant={variant}
40
34
  {...styles.trigger}
41
35
  {...triggerProps}
42
36
  />
43
37
 
44
38
  <Popover.Content
39
+ borderRadius={0}
45
40
  className="vui-headerAccountContent"
46
41
  column
47
42
  {...styles.content}
48
- {...contentScreenProps}
43
+ w={isMobile ? 280 : 320}
49
44
  {...contentProps}
50
45
  >
51
46
  {isJsx(userInfo) ? userInfo : userInfo && <HeaderAccountUserInfo {...userInfo} />}
@@ -34,6 +34,8 @@ export type HeaderAccountUserInfoData = {
34
34
  companyName?: string
35
35
  /** Displays user name in account user info section. */
36
36
  displayName?: string
37
+ isApplication?: boolean
38
+ role?: string
37
39
  }
38
40
 
39
41
  export type HeaderAccountUserInfoProps = BoxProps & HeaderAccountUserInfoData
@@ -10,7 +10,7 @@ import { HeaderAccountUserInfoProps } from './headerAccount.types'
10
10
 
11
11
  /** Displays user information, like username and company name, within HeaderAccount part. */
12
12
  export const HeaderAccountUserInfo = vui<'div', HeaderAccountUserInfoProps>((props, ref) => {
13
- const { children, className, companyName, displayName, ...rest } = props
13
+ const { children, className, companyName, displayName, isApplication, role, ...rest } = props
14
14
  const styles = useStyleConfig('Header', useHeaderContext())
15
15
 
16
16
  return (
@@ -22,17 +22,27 @@ export const HeaderAccountUserInfo = vui<'div', HeaderAccountUserInfoProps>((pro
22
22
  spaceX={2}
23
23
  {...styles.accountUserInfo}
24
24
  {...rest}
25
+ lineHeight={isApplication ? '18px' : 'inherit'}
26
+ pr={isApplication ? 0 : 'inherit'}
27
+ textAlign={isApplication ? 'right' : 'inherit'}
25
28
  >
26
29
  {children ?? (
27
30
  <>
28
- <Avatar className="vui-headerAccountUserInfoAvatar" name={displayName} size="lg" variant="solidDarkBlue" />
29
- <Box column>
31
+ {!isApplication && (
32
+ <Avatar className="vui-headerAccountUserInfoAvatar" name={displayName} size="xl" variant="solidDarkBlue" />
33
+ )}
34
+ <Box column rowGap={role ? 0 : 0.5}>
30
35
  {displayName && (
31
- <T mb={0.5} weight="demi">
36
+ <T fontSize={isApplication ? '12px' : 'inherit'} weight="demi">
32
37
  {displayName}
33
38
  </T>
34
39
  )}
35
- {companyName && <T>{companyName}</T>}
40
+ {companyName && <T fontSize={isApplication ? '12px' : 'inherit'}>{companyName}</T>}
41
+ {role && (
42
+ <T color="sandstone.55" fontSize={isApplication ? '12px' : 'inherit'}>
43
+ {role}
44
+ </T>
45
+ )}
36
46
  </Box>
37
47
  </>
38
48
  )}
@@ -0,0 +1,47 @@
1
+ import React from 'react'
2
+
3
+ import { useUp, vui } from '../core'
4
+ import { Heading } from '../heading'
5
+ import { HeadingProps } from '../heading/heading.types'
6
+ import { cs } from '../utils'
7
+
8
+ /** Logo displayed in the left corner of the Header. */
9
+ export const HeaderApplicationName = vui<'div', HeadingProps>((props, ref) => {
10
+ const { title, ...rest } = props
11
+
12
+ const isTablet = useUp('md')
13
+
14
+ const additionalClassName = isTablet ? 'vui-headerApplicationNameTablet' : 'vui-headerApplicationNameMobile'
15
+
16
+ const mobileProps = isTablet
17
+ ? {
18
+ fontSize: 18,
19
+ mt: 0
20
+ }
21
+ : {
22
+ fontSize: 16,
23
+ mt: '112px',
24
+ position: 'absolute',
25
+ mx: '-16px',
26
+ w: '100%',
27
+ bg: 'skyBlue.97',
28
+ py: '8px',
29
+ px: '16px',
30
+ lineHeight: '24px',
31
+ borderBottom: '1px solid darkBlue.main',
32
+ borderTop: '1px solid darkBlue.main'
33
+ }
34
+
35
+ return (
36
+ <Heading
37
+ className={cs('vui-headerApplicationName', additionalClassName)}
38
+ size="title"
39
+ {...rest}
40
+ {...(mobileProps as any)}
41
+ >
42
+ {title}
43
+ </Heading>
44
+ )
45
+ })
46
+
47
+ export default HeaderApplicationName
@@ -14,7 +14,9 @@ export const HeaderCreateAccount = vui<'div', HeaderCreateAccountProps>((props,
14
14
  const { isMobile, links } = useHeaderContext() ?? {}
15
15
  const styles = useStyleConfig('Header', useHeaderContext()).createAccount
16
16
 
17
- const screenProps = isMobile ? { borderBottom: '1px solid grey.40', p: 2 } : { ml: 3 }
17
+ const screenProps = isMobile ? { borderBottom: '1px solid sandstone.main', p: 2 } : { ml: 3 }
18
+
19
+ const linkVariant = isMobile ? 'dark' : styles?.link?.variant ?? 'dark'
18
20
 
19
21
  return (
20
22
  <Box
@@ -28,11 +30,11 @@ export const HeaderCreateAccount = vui<'div', HeaderCreateAccountProps>((props,
28
30
  >
29
31
  {children ?? (
30
32
  <>
31
- <T size="sm" {...styles.text}>
33
+ <T size="sm" {...styles.text} color={isMobile ? 'darkBlue.main' : styles?.text?.color ?? 'darkBlue.main'}>
32
34
  New to Veracity?
33
35
  </T>
34
36
 
35
- <Link fontWeight="medium" href={url ?? links.signUp} isUnderlined size="sm" {...styles.link}>
37
+ <Link fontWeight="medium" href={url ?? links.signUp} isUnderlined size="sm" variant={linkVariant}>
36
38
  Create account
37
39
  </Link>
38
40
  </>
@@ -5,7 +5,7 @@ import Divider, { DividerProps } from '../divider'
5
5
  import { cs } from '../utils'
6
6
  import { useHeaderContext } from './context'
7
7
 
8
- /** Vertical line dividing some of the Header content. */
8
+ /** Vertical line dividing part of the Header content. */
9
9
  export const HeaderDivider = vui<'hr', DividerProps>((props, ref) => {
10
10
  const { className, ...rest } = props
11
11
  const styles = useStyleConfig('Header', useHeaderContext())