@veracity/vui 0.3.1 → 0.4.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 (438) hide show
  1. package/avatar/avatar.d.ts +2 -2
  2. package/avatar/avatar.js +9 -29
  3. package/avatar/avatar.types.d.ts +9 -2
  4. package/avatar/helpers.d.ts +2 -0
  5. package/avatar/helpers.js +26 -0
  6. package/avatar/index.d.ts +1 -1
  7. package/avatar/index.js +1 -1
  8. package/avatar/theme.d.ts +1 -0
  9. package/avatar/theme.js +7 -0
  10. package/box/box.d.ts +2 -2
  11. package/box/box.js +9 -8
  12. package/box/box.types.d.ts +13 -2
  13. package/box/index.d.ts +1 -1
  14. package/box/index.js +1 -1
  15. package/box/theme.d.ts +1 -0
  16. package/box/theme.js +2 -0
  17. package/button/button.d.ts +7 -3
  18. package/button/button.js +24 -14
  19. package/button/button.types.d.ts +16 -34
  20. package/button/buttonIcon.d.ts +1 -0
  21. package/button/buttonIcon.js +3 -5
  22. package/button/buttonText.d.ts +1 -0
  23. package/button/buttonText.js +3 -5
  24. package/button/buttons.js +1 -1
  25. package/button/consts.js +2 -2
  26. package/button/index.d.ts +2 -2
  27. package/button/index.js +3 -3
  28. package/button/theme.d.ts +1 -0
  29. package/button/theme.js +5 -3
  30. package/buttonGroup/buttonGroup.d.ts +5 -2
  31. package/buttonGroup/buttonGroup.js +12 -8
  32. package/buttonGroup/buttonGroup.types.d.ts +4 -2
  33. package/buttonGroup/helpers.d.ts +1 -1
  34. package/buttonGroup/helpers.js +1 -1
  35. package/buttonGroup/index.d.ts +1 -1
  36. package/buttonGroup/index.js +2 -2
  37. package/card/card.d.ts +4 -0
  38. package/card/card.js +8 -0
  39. package/card/card.types.d.ts +3 -2
  40. package/card/index.d.ts +1 -1
  41. package/card/index.js +1 -1
  42. package/card/theme.d.ts +1 -0
  43. package/card/theme.js +2 -0
  44. package/checkbox/checkbox.d.ts +5 -4
  45. package/checkbox/checkbox.js +20 -10
  46. package/checkbox/checkbox.types.d.ts +21 -4
  47. package/checkbox/checkboxGroup.d.ts +5 -2
  48. package/checkbox/checkboxGroup.js +11 -7
  49. package/checkbox/checkboxGroup.types.d.ts +9 -2
  50. package/checkbox/index.d.ts +1 -1
  51. package/checkbox/index.js +2 -2
  52. package/checkbox/theme.d.ts +1 -0
  53. package/checkbox/theme.js +2 -0
  54. package/core/index.d.ts +4 -5
  55. package/core/index.js +4 -12
  56. package/core/media.d.ts +38 -0
  57. package/core/media.js +79 -0
  58. package/core/styled.d.ts +3 -0
  59. package/core/styled.js +21 -3
  60. package/core/theme.d.ts +41 -0
  61. package/core/theme.js +94 -0
  62. package/core/vui.d.ts +31 -0
  63. package/core/vui.js +20 -0
  64. package/core/vuiProvider/fontFaces.js +4 -0
  65. package/core/{globalStyle.d.ts → vuiProvider/globalStyle.d.ts} +7 -0
  66. package/core/{globalStyle.js → vuiProvider/globalStyle.js} +17 -9
  67. package/core/vuiProvider/index.d.ts +5 -0
  68. package/core/vuiProvider/index.js +26 -0
  69. package/core/{resetCSS.d.ts → vuiProvider/resetCSS.d.ts} +1 -0
  70. package/core/{resetCSS.js → vuiProvider/resetCSS.js} +2 -1
  71. package/core/vuiProvider/vuiProvider.d.ts +13 -0
  72. package/core/{vuiProvider.js → vuiProvider/vuiProvider.js} +3 -2
  73. package/divider/divider.d.ts +2 -2
  74. package/divider/divider.js +5 -4
  75. package/divider/divider.types.d.ts +5 -2
  76. package/divider/index.d.ts +1 -1
  77. package/divider/index.js +1 -1
  78. package/divider/theme.d.ts +1 -0
  79. package/divider/theme.js +2 -0
  80. package/footer/consts.d.ts +108 -8
  81. package/footer/consts.js +21 -9
  82. package/footer/footer.d.ts +3 -1
  83. package/footer/footer.js +21 -10
  84. package/footer/footer.types.d.ts +5 -0
  85. package/footer/footerColumn.d.ts +122 -121
  86. package/footer/footerColumn.js +1 -0
  87. package/footer/footerHeading.d.ts +1 -0
  88. package/footer/footerHeading.js +1 -0
  89. package/footer/footerLink.d.ts +1 -0
  90. package/footer/footerLink.js +1 -0
  91. package/footer/footerRow.d.ts +1 -0
  92. package/footer/footerRow.js +1 -0
  93. package/footer/footerSection.d.ts +1 -0
  94. package/footer/footerSection.js +2 -1
  95. package/footer/footerTrademark.d.ts +1 -0
  96. package/footer/footerTrademark.js +1 -0
  97. package/footer/helpers.d.ts +2 -3
  98. package/footer/helpers.js +16 -16
  99. package/footer/index.d.ts +2 -1
  100. package/footer/index.js +2 -2
  101. package/footer/theme.d.ts +1 -0
  102. package/footer/theme.js +2 -0
  103. package/header/consts.d.ts +58 -0
  104. package/header/consts.js +76 -0
  105. package/header/context.d.ts +4 -0
  106. package/header/context.js +23 -0
  107. package/header/header.d.ts +34 -0
  108. package/header/header.js +133 -0
  109. package/header/header.types.d.ts +103 -0
  110. package/header/headerAccount.d.ts +4 -0
  111. package/header/headerAccount.js +109 -0
  112. package/header/headerAccount.types.d.ts +35 -0
  113. package/header/headerContent.d.ts +4 -0
  114. package/header/headerContent.js +28 -0
  115. package/header/headerCreateAccount.d.ts +4 -0
  116. package/header/headerCreateAccount.js +47 -0
  117. package/header/headerDivider.d.ts +4 -0
  118. package/header/headerDivider.js +28 -0
  119. package/header/headerLinkItem.d.ts +4 -0
  120. package/header/headerLinkItem.js +53 -0
  121. package/header/headerLinksList.d.ts +4 -0
  122. package/header/headerLinksList.js +44 -0
  123. package/header/headerLogo.d.ts +4 -0
  124. package/header/headerLogo.js +44 -0
  125. package/header/headerMobileContent.d.ts +4 -0
  126. package/header/headerMobileContent.js +31 -0
  127. package/header/headerMobileToggle.d.ts +4 -0
  128. package/header/headerMobileToggle.js +33 -0
  129. package/header/headerNotifications.d.ts +4 -0
  130. package/header/headerNotifications.js +51 -0
  131. package/header/headerServices.d.ts +4 -0
  132. package/header/headerServices.js +55 -0
  133. package/header/headerSignIn.d.ts +4 -0
  134. package/header/headerSignIn.js +40 -0
  135. package/header/helpers.d.ts +17 -0
  136. package/header/helpers.js +66 -0
  137. package/header/index.d.ts +21 -0
  138. package/header/index.js +38 -0
  139. package/header/loggedInHeader.d.ts +4 -0
  140. package/header/loggedInHeader.js +57 -0
  141. package/header/loggedOutHeader.d.ts +4 -0
  142. package/header/loggedOutHeader.js +57 -0
  143. package/header/theme.d.ts +85 -0
  144. package/header/theme.js +89 -0
  145. package/heading/heading.d.ts +2 -2
  146. package/heading/heading.js +5 -4
  147. package/heading/heading.types.d.ts +7 -2
  148. package/heading/headings.js +1 -1
  149. package/heading/index.d.ts +1 -1
  150. package/heading/index.js +2 -2
  151. package/heading/theme.d.ts +1 -0
  152. package/heading/theme.js +2 -0
  153. package/icon/helpers.js +2 -2
  154. package/icon/icon.d.ts +1 -0
  155. package/icon/icon.js +2 -2
  156. package/icon/icon.types.d.ts +7 -4
  157. package/icon/index.d.ts +1 -1
  158. package/icon/index.js +1 -1
  159. package/icon/theme.d.ts +1 -0
  160. package/icon/theme.js +2 -0
  161. package/icons/baseIcons/fal/falFileInvoiceDollar.d.ts +3 -0
  162. package/icons/baseIcons/fal/falFileInvoiceDollar.js +7 -0
  163. package/icons/baseIcons/fas/fasCalendarAlt.js +1 -1
  164. package/icons/baseIcons/icons.d.ts +1 -0
  165. package/icons/baseIcons/icons.js +5 -3
  166. package/icons/baseIcons/types.d.ts +1 -1
  167. package/icons/cache.d.ts +15 -0
  168. package/icons/{library.js → cache.js} +10 -6
  169. package/icons/index.d.ts +1 -1
  170. package/icons/index.js +3 -3
  171. package/icons/types.d.ts +10 -3
  172. package/image/image.d.ts +2 -0
  173. package/image/image.js +11 -2
  174. package/image/image.types.d.ts +3 -2
  175. package/image/index.d.ts +1 -1
  176. package/image/index.js +1 -1
  177. package/image/theme.d.ts +1 -0
  178. package/image/theme.js +2 -0
  179. package/index.d.ts +3 -1
  180. package/index.js +3 -1
  181. package/input/consts.js +2 -2
  182. package/input/helpers.d.ts +1 -0
  183. package/input/helpers.js +1 -0
  184. package/input/index.d.ts +1 -1
  185. package/input/index.js +2 -2
  186. package/input/input.d.ts +7 -3
  187. package/input/input.js +17 -7
  188. package/input/input.types.d.ts +36 -7
  189. package/input/inputIcon.d.ts +1 -0
  190. package/input/inputIcon.js +2 -1
  191. package/input/inputInput.d.ts +2 -2
  192. package/input/inputInput.js +10 -5
  193. package/input/theme.d.ts +1 -0
  194. package/input/theme.js +2 -0
  195. package/link/index.d.ts +1 -1
  196. package/link/index.js +2 -2
  197. package/link/link.d.ts +6 -3
  198. package/link/link.js +15 -9
  199. package/link/link.types.d.ts +15 -7
  200. package/link/linkIcon.d.ts +1 -0
  201. package/link/linkIcon.js +3 -5
  202. package/link/linkText.d.ts +1 -0
  203. package/link/linkText.js +3 -5
  204. package/link/theme.d.ts +6 -0
  205. package/link/theme.js +9 -1
  206. package/list/index.d.ts +1 -1
  207. package/list/index.js +2 -2
  208. package/list/list.d.ts +3 -3
  209. package/list/list.js +13 -8
  210. package/list/list.types.d.ts +29 -8
  211. package/list/listDivider.d.ts +1 -0
  212. package/list/listDivider.js +3 -5
  213. package/list/listHeading.d.ts +1 -0
  214. package/list/listHeading.js +4 -6
  215. package/list/listIcon.d.ts +1 -0
  216. package/list/listIcon.js +3 -5
  217. package/list/listItem.d.ts +5 -2
  218. package/list/listItem.js +52 -19
  219. package/list/listText.d.ts +1 -0
  220. package/list/listText.js +3 -5
  221. package/list/theme.d.ts +1 -0
  222. package/list/theme.js +5 -2
  223. package/menu/menu.d.ts +1 -0
  224. package/menu/menu.js +1 -0
  225. package/menu/menu.types.d.ts +3 -0
  226. package/menu/menuButton.d.ts +1 -0
  227. package/menu/menuButton.js +3 -4
  228. package/menu/menuItem.d.ts +1 -0
  229. package/menu/menuItem.js +9 -23
  230. package/menu/menuList.d.ts +1 -0
  231. package/menu/menuList.js +3 -4
  232. package/menu/theme.d.ts +16 -2
  233. package/menu/theme.js +18 -3
  234. package/modal/context.d.ts +4 -0
  235. package/modal/context.js +23 -0
  236. package/modal/focusLock.d.ts +9 -0
  237. package/modal/focusLock.js +47 -0
  238. package/modal/focusLock.types.d.ts +28 -0
  239. package/modal/focusLock.types.js +2 -0
  240. package/modal/index.d.ts +7 -0
  241. package/modal/index.js +24 -0
  242. package/modal/modal.d.ts +10 -0
  243. package/modal/modal.js +109 -0
  244. package/modal/modal.types.d.ts +40 -0
  245. package/modal/modal.types.js +2 -0
  246. package/modal/modalBackdrop.d.ts +4 -0
  247. package/modal/modalBackdrop.js +38 -0
  248. package/modal/modalManager.d.ts +12 -0
  249. package/modal/modalManager.js +33 -0
  250. package/modal/theme.d.ts +7 -0
  251. package/modal/theme.js +12 -0
  252. package/notification/consts.js +2 -2
  253. package/notification/index.d.ts +2 -2
  254. package/notification/index.js +3 -3
  255. package/notification/notification.d.ts +5 -1
  256. package/notification/notification.js +12 -27
  257. package/notification/notification.types.d.ts +11 -4
  258. package/notification/notificationButton.d.ts +1 -0
  259. package/notification/notificationButton.js +4 -5
  260. package/notification/notificationIcon.d.ts +1 -0
  261. package/notification/notificationIcon.js +7 -7
  262. package/notification/notificationText.d.ts +1 -0
  263. package/notification/notificationText.js +3 -5
  264. package/notification/notificationTitle.d.ts +1 -0
  265. package/notification/notificationTitle.js +3 -5
  266. package/notification/theme.d.ts +1 -0
  267. package/notification/theme.js +2 -0
  268. package/p/index.d.ts +1 -1
  269. package/p/index.js +1 -1
  270. package/p/p.d.ts +2 -2
  271. package/p/p.js +5 -4
  272. package/p/p.types.d.ts +7 -2
  273. package/p/theme.d.ts +1 -0
  274. package/p/theme.js +2 -0
  275. package/package.json +3 -1
  276. package/panel/index.d.ts +1 -1
  277. package/panel/index.js +1 -1
  278. package/panel/panel.d.ts +4 -0
  279. package/panel/panel.js +4 -0
  280. package/panel/panel.types.d.ts +1 -2
  281. package/panel/theme.d.ts +1 -0
  282. package/panel/theme.js +2 -0
  283. package/popover/consts.d.ts +6 -0
  284. package/popover/consts.js +42 -0
  285. package/popover/index.d.ts +1 -1
  286. package/popover/index.js +1 -1
  287. package/popover/popover.d.ts +6 -2
  288. package/popover/popover.js +20 -4
  289. package/popover/popover.types.d.ts +4 -1
  290. package/popover/popoverContent.d.ts +2 -1
  291. package/popover/popoverContent.js +6 -1
  292. package/popover/popoverTrigger.d.ts +4 -0
  293. package/popover/popoverTrigger.js +4 -0
  294. package/popover/theme.d.ts +1 -0
  295. package/popover/theme.js +2 -0
  296. package/popover/usePopover.d.ts +5 -0
  297. package/popover/usePopover.js +26 -18
  298. package/popover/usePopover.types.d.ts +17 -6
  299. package/portal/index.d.ts +3 -0
  300. package/{styles → portal}/index.js +5 -5
  301. package/portal/portal.d.ts +5 -0
  302. package/portal/portal.js +56 -0
  303. package/portal/portal.types.d.ts +7 -0
  304. package/portal/portal.types.js +2 -0
  305. package/radio/index.d.ts +1 -1
  306. package/radio/index.js +2 -2
  307. package/radio/radio.d.ts +5 -4
  308. package/radio/radio.js +20 -10
  309. package/radio/radio.types.d.ts +19 -4
  310. package/radio/radioGroup.d.ts +5 -2
  311. package/radio/radioGroup.js +11 -7
  312. package/radio/radioGroup.types.d.ts +10 -2
  313. package/radio/theme.d.ts +1 -0
  314. package/radio/theme.js +2 -0
  315. package/skeleton/index.d.ts +1 -1
  316. package/skeleton/index.js +1 -1
  317. package/skeleton/skeleton.d.ts +2 -2
  318. package/skeleton/skeleton.js +4 -3
  319. package/skeleton/skeleton.types.d.ts +5 -2
  320. package/skeleton/theme.d.ts +1 -0
  321. package/skeleton/theme.js +2 -0
  322. package/spinner/index.d.ts +1 -1
  323. package/spinner/index.js +1 -1
  324. package/spinner/spinner.d.ts +6 -2
  325. package/spinner/spinner.js +12 -5
  326. package/spinner/spinner.types.d.ts +10 -6
  327. package/spinner/theme.d.ts +1 -0
  328. package/spinner/theme.js +2 -0
  329. package/svg/helpers.d.ts +1 -1
  330. package/svg/index.d.ts +1 -1
  331. package/svg/index.js +1 -1
  332. package/svg/svg.d.ts +6 -1
  333. package/svg/svg.js +16 -5
  334. package/svg/svg.types.d.ts +7 -5
  335. package/switch/context.d.ts +2 -2
  336. package/switch/index.d.ts +1 -1
  337. package/switch/index.js +2 -2
  338. package/switch/switch.d.ts +6 -3
  339. package/switch/switch.js +15 -12
  340. package/switch/switch.types.d.ts +37 -4
  341. package/switch/switchButton.d.ts +5 -5
  342. package/switch/switchButton.js +34 -26
  343. package/switch/switchLabel.d.ts +1 -0
  344. package/switch/switchLabel.js +3 -5
  345. package/switch/theme.d.ts +1 -0
  346. package/switch/theme.js +2 -0
  347. package/system/animations.d.ts +3 -4
  348. package/system/backgrounds.d.ts +4 -5
  349. package/system/borders.d.ts +60 -61
  350. package/system/custom.d.ts +4 -4
  351. package/system/effects.d.ts +7 -8
  352. package/system/flexboxGrids.d.ts +5 -6
  353. package/system/flexboxes.d.ts +28 -29
  354. package/system/grids.d.ts +25 -26
  355. package/system/index.d.ts +0 -1
  356. package/system/index.js +0 -6
  357. package/system/interactivity.d.ts +11 -12
  358. package/system/layout.d.ts +31 -32
  359. package/system/sizing.d.ts +13 -14
  360. package/system/space.d.ts +37 -38
  361. package/system/system.d.ts +4 -5
  362. package/system/system.js +3 -1
  363. package/system/tables.d.ts +5 -6
  364. package/system/transforms.d.ts +22 -23
  365. package/system/transitions.d.ts +11 -12
  366. package/system/typography.d.ts +33 -34
  367. package/t/index.d.ts +1 -1
  368. package/t/index.js +1 -1
  369. package/t/t.d.ts +2 -2
  370. package/t/t.js +5 -4
  371. package/t/t.types.d.ts +8 -2
  372. package/t/theme.d.ts +1 -0
  373. package/t/theme.js +2 -0
  374. package/tag/index.d.ts +1 -1
  375. package/tag/index.js +2 -2
  376. package/tag/tag.d.ts +6 -3
  377. package/tag/tag.js +14 -7
  378. package/tag/tag.types.d.ts +19 -6
  379. package/tag/tagButton.d.ts +1 -0
  380. package/tag/tagButton.js +4 -16
  381. package/tag/tagIcon.d.ts +1 -0
  382. package/tag/tagIcon.js +3 -5
  383. package/tag/tagText.d.ts +1 -0
  384. package/tag/tagText.js +3 -5
  385. package/tag/theme.d.ts +1 -0
  386. package/tag/theme.js +8 -0
  387. package/textarea/helpers.d.ts +1 -0
  388. package/textarea/helpers.js +1 -0
  389. package/textarea/index.d.ts +1 -1
  390. package/textarea/index.js +1 -1
  391. package/textarea/textarea.d.ts +5 -3
  392. package/textarea/textarea.js +23 -10
  393. package/textarea/textarea.types.d.ts +22 -2
  394. package/textarea/theme.d.ts +1 -0
  395. package/textarea/theme.js +2 -0
  396. package/theme/components.d.ts +129 -2
  397. package/theme/components.js +38 -36
  398. package/theme/defaultTheme.d.ts +134 -2
  399. package/theme/foundations/colors.d.ts +10 -0
  400. package/theme/foundations/colors.js +8 -2
  401. package/theme/foundations/index.d.ts +5 -0
  402. package/theme/foundations/shadows.js +3 -3
  403. package/theme/foundations/transformers.js +3 -2
  404. package/theme/index.d.ts +1 -3
  405. package/theme/index.js +4 -5
  406. package/theme/types.d.ts +3 -2
  407. package/utils/assertion.d.ts +5 -5
  408. package/utils/assertion.js +8 -4
  409. package/utils/index.d.ts +1 -0
  410. package/utils/index.js +1 -0
  411. package/utils/object.d.ts +2 -2
  412. package/utils/object.js +3 -1
  413. package/utils/react.d.ts +10 -5
  414. package/utils/react.js +64 -9
  415. package/utils/string.d.ts +5 -0
  416. package/utils/string.js +19 -0
  417. package/utils/styles.d.ts +2 -2
  418. package/utils/styles.js +4 -4
  419. package/utils/types.d.ts +11 -4
  420. package/core/types/component.d.ts +0 -25
  421. package/core/types/index.d.ts +0 -2
  422. package/core/types/index.js +0 -14
  423. package/core/types/themeGet.d.ts +0 -24
  424. package/core/utils.d.ts +0 -56
  425. package/core/utils.js +0 -194
  426. package/core/vuiProvider.d.ts +0 -20
  427. package/icons/library.d.ts +0 -11
  428. package/popover/plugins.d.ts +0 -3
  429. package/popover/plugins.js +0 -24
  430. package/styles/fontFaces.js +0 -4
  431. package/styles/helpers.d.ts +0 -4
  432. package/styles/helpers.js +0 -8
  433. package/styles/index.d.ts +0 -3
  434. /package/{styles → core/vuiProvider}/animations.d.ts +0 -0
  435. /package/{styles → core/vuiProvider}/animations.js +0 -0
  436. /package/{styles → core/vuiProvider}/fontFaces.d.ts +0 -0
  437. /package/{core/types/component.js → header/header.types.js} +0 -0
  438. /package/{core/types/themeGet.js → header/headerAccount.types.js} +0 -0
package/footer/theme.js CHANGED
@@ -1,10 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ var baseStyle = {};
3
4
  var defaultProps = {};
4
5
  var parts = ['container', 'column', 'heading', 'link', 'row', 'section'];
5
6
  var sizes = {};
6
7
  var variants = {};
7
8
  exports.default = {
9
+ baseStyle: baseStyle,
8
10
  defaultProps: defaultProps,
9
11
  parts: parts,
10
12
  sizes: sizes,
@@ -0,0 +1,58 @@
1
+ import { Environment } from '../utils';
2
+ import { HeaderLinkKey } from './header.types';
3
+ /**
4
+ * Defines the structure of Header's account popover sections with links.
5
+ * Links' url values here are unique references to actual urls in the headerLinks dictionary.
6
+ */
7
+ export declare const headerAccountSectionsTemplate: {
8
+ readonly section1: {
9
+ readonly links: readonly [{
10
+ readonly icon: "falUser";
11
+ readonly text: "User settings";
12
+ readonly url: "userSettings";
13
+ }];
14
+ };
15
+ readonly section2: {
16
+ readonly links: readonly [{
17
+ readonly icon: "falEnvelope";
18
+ readonly text: "Invite to Veracity";
19
+ readonly url: "invite";
20
+ }];
21
+ };
22
+ };
23
+ /** Header link URLs used in Production environment. */
24
+ export declare const headerLinksProd: {
25
+ readonly createAccount: "https://id.veracity.com/sign-up";
26
+ readonly home: "https://www.veracity.com";
27
+ readonly invite: "https://id.veracity.com/invite";
28
+ readonly marketplace: "https://store.veracity.com";
29
+ readonly myData: "https://data.veracity.com";
30
+ readonly myServices: "https://services.veracity.com";
31
+ readonly notifications: "https://services.veracity.com/Notifications";
32
+ readonly signIn: "https://login.veracity.com";
33
+ readonly support: "https://support.veracity.com";
34
+ readonly userSettings: "https://id.veracity.com/settings";
35
+ };
36
+ /** Header link URLs used in Staging environment. */
37
+ export declare const headerLinksStag: Record<HeaderLinkKey, string>;
38
+ /** Header link URLs used in Test environment. */
39
+ export declare const headerLinksTest: Record<HeaderLinkKey, string>;
40
+ /** Dictionary of Header links for each environment (Prod, Stag, Test). */
41
+ export declare const headerLinks: Record<Environment, Record<HeaderLinkKey, string>>;
42
+ /**
43
+ * Defines the structure of Header's main links.
44
+ * Links' url values here are unique references to actual urls in the headerLinks dictionary.
45
+ */
46
+ export declare const headerMainLinksTemplate: readonly [{
47
+ readonly text: "Marketplace";
48
+ readonly url: "marketplace";
49
+ }, {
50
+ readonly text: "My services";
51
+ readonly url: "myServices";
52
+ }, {
53
+ readonly text: "My data";
54
+ readonly url: "myData";
55
+ }, {
56
+ readonly text: "Support";
57
+ readonly url: "support";
58
+ }];
@@ -0,0 +1,76 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.headerMainLinksTemplate = exports.headerLinks = exports.headerLinksTest = exports.headerLinksStag = exports.headerLinksProd = exports.headerAccountSectionsTemplate = void 0;
4
+ /**
5
+ * Defines the structure of Header's account popover sections with links.
6
+ * Links' url values here are unique references to actual urls in the headerLinks dictionary.
7
+ */
8
+ exports.headerAccountSectionsTemplate = {
9
+ section1: {
10
+ links: [
11
+ { icon: 'falUser', text: 'User settings', url: 'userSettings' }
12
+ // { icon: 'falShoppingBasket', text: 'Subscriptions and payments', url: 'subscriptionsAndPayments' }
13
+ ]
14
+ },
15
+ section2: {
16
+ links: [{ icon: 'falEnvelope', text: 'Invite to Veracity', url: 'invite' }]
17
+ }
18
+ };
19
+ /** Header link URLs used in Production environment. */
20
+ exports.headerLinksProd = {
21
+ createAccount: 'https://id.veracity.com/sign-up',
22
+ home: 'https://www.veracity.com',
23
+ invite: 'https://id.veracity.com/invite',
24
+ marketplace: 'https://store.veracity.com',
25
+ myData: 'https://data.veracity.com',
26
+ myServices: 'https://services.veracity.com',
27
+ notifications: 'https://services.veracity.com/Notifications',
28
+ signIn: 'https://login.veracity.com',
29
+ // subscriptionsAndPayments: 'ADD LINK',
30
+ support: 'https://support.veracity.com',
31
+ userSettings: 'https://id.veracity.com/settings'
32
+ };
33
+ /** Header link URLs used in Staging environment. */
34
+ exports.headerLinksStag = {
35
+ createAccount: 'https://idstag.veracity.com/sign-up',
36
+ home: 'https://wwwstag.veracity.com',
37
+ invite: 'https://idstag.veracity.com/invite',
38
+ marketplace: 'https://storestag.veracity.com',
39
+ myData: 'https://datastag.veracity.com',
40
+ myServices: 'https://servicesstag.veracity.com',
41
+ notifications: 'https://servicesstag.veracity.com/Notifications',
42
+ signIn: 'https://loginstag.veracity.com',
43
+ // subscriptionsAndPayments: 'ADD LINK',
44
+ support: 'https://support.veracity.com',
45
+ userSettings: 'https://idstag.veracity.com/settings'
46
+ };
47
+ /** Header link URLs used in Test environment. */
48
+ exports.headerLinksTest = {
49
+ createAccount: 'https://idtest.veracity.com/sign-up',
50
+ home: 'https://wwwtest.veracity.com',
51
+ invite: 'https://idtest.veracity.com/invite',
52
+ marketplace: 'https://storetest.veracity.com',
53
+ myData: 'https://datatest.veracity.com',
54
+ myServices: 'https://servicestest.veracity.com',
55
+ notifications: 'https://servicestest.veracity.com/Notifications',
56
+ signIn: 'https://logintest.veracity.com',
57
+ // subscriptionsAndPayments: 'ADD LINK',
58
+ support: 'https://support.veracity.com',
59
+ userSettings: 'https://idtest.veracity.com/settings'
60
+ };
61
+ /** Dictionary of Header links for each environment (Prod, Stag, Test). */
62
+ exports.headerLinks = {
63
+ Prod: exports.headerLinksProd,
64
+ Stag: exports.headerLinksStag,
65
+ Test: exports.headerLinksTest
66
+ };
67
+ /**
68
+ * Defines the structure of Header's main links.
69
+ * Links' url values here are unique references to actual urls in the headerLinks dictionary.
70
+ */
71
+ exports.headerMainLinksTemplate = [
72
+ { text: 'Marketplace', url: 'marketplace' },
73
+ { text: 'My services', url: 'myServices' },
74
+ { text: 'My data', url: 'myData' },
75
+ { text: 'Support', url: 'support' }
76
+ ];
@@ -0,0 +1,4 @@
1
+ /// <reference types="react" />
2
+ import { HeaderContext } from './header.types';
3
+ declare const HeaderProvider: import("react").Provider<HeaderContext>, useHeaderContext: () => HeaderContext;
4
+ export { HeaderProvider, useHeaderContext };
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ var __read = (this && this.__read) || function (o, n) {
3
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
4
+ if (!m) return o;
5
+ var i = m.call(o), r, ar = [], e;
6
+ try {
7
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
8
+ }
9
+ catch (error) { e = { error: error }; }
10
+ finally {
11
+ try {
12
+ if (r && !r.done && (m = i["return"])) m.call(i);
13
+ }
14
+ finally { if (e) throw e.error; }
15
+ }
16
+ return ar;
17
+ };
18
+ Object.defineProperty(exports, "__esModule", { value: true });
19
+ exports.useHeaderContext = exports.HeaderProvider = void 0;
20
+ var utils_1 = require("../utils");
21
+ var _a = __read((0, utils_1.createContext)({ isOptional: true }), 2), HeaderProvider = _a[0], useHeaderContext = _a[1];
22
+ exports.HeaderProvider = HeaderProvider;
23
+ exports.useHeaderContext = useHeaderContext;
@@ -0,0 +1,34 @@
1
+ import { VuiComponent } from '../core';
2
+ import { HeaderProps } from './header.types';
3
+ import HeaderAccount from './headerAccount';
4
+ import HeaderContent from './headerContent';
5
+ import HeaderCreateAccount from './headerCreateAccount';
6
+ import HeaderDivider from './headerDivider';
7
+ import HeaderLinkItem from './headerLinkItem';
8
+ import HeaderLinksList from './headerLinksList';
9
+ import HeaderLogo from './headerLogo';
10
+ import HeaderMobileContent from './headerMobileContent';
11
+ import HeaderMobileToggle from './headerMobileToggle';
12
+ import HeaderNotifications from './headerNotifications';
13
+ import HeaderServices from './headerServices';
14
+ import HeaderSignIn from './headerSignIn';
15
+ export declare const HeaderBase: import("styled-components").StyledComponent<"header", import("styled-components").DefaultTheme, import("..").SystemProps, never>;
16
+ /**
17
+ * Branded Veracity Header with logo, links, services, account and other data. Controls max-width of the content.
18
+ * Exposes some props to the children via context.
19
+ */
20
+ export declare const Header: VuiComponent<"header", HeaderProps> & {
21
+ Account: typeof HeaderAccount;
22
+ Content: typeof HeaderContent;
23
+ CreateAccount: typeof HeaderCreateAccount;
24
+ Divider: typeof HeaderDivider;
25
+ LinkItem: typeof HeaderLinkItem;
26
+ LinksList: typeof HeaderLinksList;
27
+ Logo: typeof HeaderLogo;
28
+ MobileContent: typeof HeaderMobileContent;
29
+ MobileToggle: typeof HeaderMobileToggle;
30
+ Notifications: typeof HeaderNotifications;
31
+ Services: typeof HeaderServices;
32
+ SignIn: typeof HeaderSignIn;
33
+ };
34
+ export default Header;
@@ -0,0 +1,133 @@
1
+ "use strict";
2
+ var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {
3
+ if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
4
+ return cooked;
5
+ };
6
+ var __assign = (this && this.__assign) || function () {
7
+ __assign = Object.assign || function(t) {
8
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
9
+ s = arguments[i];
10
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
11
+ t[p] = s[p];
12
+ }
13
+ return t;
14
+ };
15
+ return __assign.apply(this, arguments);
16
+ };
17
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
18
+ if (k2 === undefined) k2 = k;
19
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
20
+ }) : (function(o, m, k, k2) {
21
+ if (k2 === undefined) k2 = k;
22
+ o[k2] = m[k];
23
+ }));
24
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
25
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
26
+ }) : function(o, v) {
27
+ o["default"] = v;
28
+ });
29
+ var __importStar = (this && this.__importStar) || function (mod) {
30
+ if (mod && mod.__esModule) return mod;
31
+ var result = {};
32
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
33
+ __setModuleDefault(result, mod);
34
+ return result;
35
+ };
36
+ var __rest = (this && this.__rest) || function (s, e) {
37
+ var t = {};
38
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
39
+ t[p] = s[p];
40
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
41
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
42
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
43
+ t[p[i]] = s[p[i]];
44
+ }
45
+ return t;
46
+ };
47
+ var __read = (this && this.__read) || function (o, n) {
48
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
49
+ if (!m) return o;
50
+ var i = m.call(o), r, ar = [], e;
51
+ try {
52
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
53
+ }
54
+ catch (error) { e = { error: error }; }
55
+ finally {
56
+ try {
57
+ if (r && !r.done && (m = i["return"])) m.call(i);
58
+ }
59
+ finally { if (e) throw e.error; }
60
+ }
61
+ return ar;
62
+ };
63
+ var __importDefault = (this && this.__importDefault) || function (mod) {
64
+ return (mod && mod.__esModule) ? mod : { "default": mod };
65
+ };
66
+ Object.defineProperty(exports, "__esModule", { value: true });
67
+ exports.Header = exports.HeaderBase = void 0;
68
+ var react_1 = __importStar(require("react"));
69
+ var core_1 = require("../core");
70
+ var utils_1 = require("../utils");
71
+ var context_1 = require("./context");
72
+ var headerAccount_1 = __importDefault(require("./headerAccount"));
73
+ var headerContent_1 = __importDefault(require("./headerContent"));
74
+ var headerCreateAccount_1 = __importDefault(require("./headerCreateAccount"));
75
+ var headerDivider_1 = __importDefault(require("./headerDivider"));
76
+ var headerLinkItem_1 = __importDefault(require("./headerLinkItem"));
77
+ var headerLinksList_1 = __importDefault(require("./headerLinksList"));
78
+ var headerLogo_1 = __importDefault(require("./headerLogo"));
79
+ var headerMobileContent_1 = __importDefault(require("./headerMobileContent"));
80
+ var headerMobileToggle_1 = __importDefault(require("./headerMobileToggle"));
81
+ var headerNotifications_1 = __importDefault(require("./headerNotifications"));
82
+ var headerServices_1 = __importDefault(require("./headerServices"));
83
+ var headerSignIn_1 = __importDefault(require("./headerSignIn"));
84
+ exports.HeaderBase = core_1.styled.headerBox(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n\talign-items: center;\n\tbackground-color: white;\n\tborder-bottom: 1px solid prussian.80;\n\tdisplay: flex;\n\tposition: relative;\n"], ["\n\talign-items: center;\n\tbackground-color: white;\n\tborder-bottom: 1px solid prussian.80;\n\tdisplay: flex;\n\tposition: relative;\n"
85
+ /**
86
+ * Branded Veracity Header with logo, links, services, account and other data. Controls max-width of the content.
87
+ * Exposes some props to the children via context.
88
+ */
89
+ ])));
90
+ /**
91
+ * Branded Veracity Header with logo, links, services, account and other data. Controls max-width of the content.
92
+ * Exposes some props to the children via context.
93
+ */
94
+ exports.Header = (0, core_1.vui)(function (props, ref) {
95
+ var children = props.children, className = props.className, _a = props.headerHeight, headerHeight = _a === void 0 ? 72 : _a, size = props.size, variant = props.variant, rest = __rest(props, ["children", "className", "headerHeight", "size", "variant"]);
96
+ var _b = __read((0, react_1.useState)(false), 2), isMobileOpen = _b[0], setIsMobileOpen = _b[1];
97
+ var mobileContentRef = (0, react_1.useRef)(null);
98
+ var mobileToggleRef = (0, react_1.useRef)(null);
99
+ var styles = (0, core_1.useStyleConfig)('Header', props);
100
+ (0, utils_1.useClickOutside)([mobileContentRef, mobileToggleRef], function () {
101
+ setIsMobileOpen(false);
102
+ });
103
+ var isDesktop = (0, core_1.useUp)('md');
104
+ var isMobile = (0, core_1.useDown)('md');
105
+ var context = {
106
+ headerHeight: headerHeight,
107
+ isDesktop: isDesktop,
108
+ isMobile: isMobile,
109
+ isMobileOpen: isMobileOpen,
110
+ mobileContentRef: mobileContentRef,
111
+ mobileToggleRef: mobileToggleRef,
112
+ setIsMobileOpen: setIsMobileOpen,
113
+ size: size,
114
+ variant: variant
115
+ };
116
+ return (react_1.default.createElement(context_1.HeaderProvider, { value: context },
117
+ react_1.default.createElement(exports.HeaderBase, __assign({ className: (0, utils_1.cs)('vui-header', className), h: headerHeight, px: { xs: 2, lg: 5 }, ref: ref }, styles.container, rest), (0, utils_1.runIfFn)(children, context))));
118
+ });
119
+ exports.Header.displayName = 'Header';
120
+ exports.Header.Account = headerAccount_1.default;
121
+ exports.Header.Content = headerContent_1.default;
122
+ exports.Header.CreateAccount = headerCreateAccount_1.default;
123
+ exports.Header.Divider = headerDivider_1.default;
124
+ exports.Header.LinkItem = headerLinkItem_1.default;
125
+ exports.Header.LinksList = headerLinksList_1.default;
126
+ exports.Header.Logo = headerLogo_1.default;
127
+ exports.Header.MobileContent = headerMobileContent_1.default;
128
+ exports.Header.MobileToggle = headerMobileToggle_1.default;
129
+ exports.Header.Notifications = headerNotifications_1.default;
130
+ exports.Header.Services = headerServices_1.default;
131
+ exports.Header.SignIn = headerSignIn_1.default;
132
+ exports.default = exports.Header;
133
+ var templateObject_1;
@@ -0,0 +1,103 @@
1
+ import { Dispatch, RefObject, SetStateAction } from 'react';
2
+ import { BoxProps } from '../box';
3
+ import { ButtonProps } from '../button';
4
+ import { IconProp } from '../icon';
5
+ import { ListItemProps, ListProps } from '../list';
6
+ import { MenuProps } from '../menu';
7
+ import { SystemProps } from '../system';
8
+ import { ThemingProps } from '../theme';
9
+ import { RenderProps } from '../utils';
10
+ import { headerLinksProd } from './consts';
11
+ import { HeaderAccountData } from './headerAccount.types';
12
+ export declare type HeaderContext = Pick<HeaderProps, 'headerHeight'> & {
13
+ isDesktop: boolean;
14
+ isMobile: boolean;
15
+ isMobileOpen: boolean;
16
+ mobileContentRef: RefObject<HTMLElement | null>;
17
+ mobileToggleRef: RefObject<HTMLElement | null>;
18
+ setIsMobileOpen: Dispatch<SetStateAction<boolean>>;
19
+ };
20
+ export declare type HeaderCreateAccountData = {
21
+ /** Provides URL to create account link. */
22
+ url?: string;
23
+ };
24
+ export declare type HeaderCreateAccountProps = BoxProps & HeaderCreateAccountData;
25
+ export declare type HeaderLinkData = {
26
+ /** Displays and icon on the left side of the link. */
27
+ icon?: IconProp;
28
+ /** Adds styling for currently active link. */
29
+ isActive?: boolean;
30
+ /** Provides text content to the list item. */
31
+ text?: string;
32
+ /** Provides href attribute to the internal link element. */
33
+ url?: string;
34
+ };
35
+ /** Union of link ids based on Header links dictionary for Prod environment. */
36
+ export declare type HeaderLinkKey = keyof typeof headerLinksProd;
37
+ export declare type HeaderLinkItemProps = ListItemProps & HeaderLinkData;
38
+ export declare type HeaderLinksListProps = ListProps & {
39
+ /** Array of objects with data for each link. */
40
+ links?: HeaderLinkData[];
41
+ };
42
+ export declare type HeaderLogoData = {
43
+ /** Loads logo svg from the given source. */
44
+ src?: string;
45
+ /** Renders logo wrapper as a link with given url as href. */
46
+ url?: string;
47
+ };
48
+ export declare type HeaderLogoProps = BoxProps & HeaderLogoData;
49
+ export declare type HeaderNotificationsData = {
50
+ /** Displays a badge with given number of notifications. */
51
+ count?: number;
52
+ /** Provides href to the icon link. */
53
+ url?: string;
54
+ };
55
+ export declare type HeaderNotificationsProps = ThemingProps<'Header'> & Omit<ButtonProps, 'size' | 'variant'> & HeaderNotificationsData;
56
+ export declare type HeaderProps = SystemProps & ThemingProps<'Header'> & {
57
+ /** Exposes render props to the children. */
58
+ children?: HeaderRenderProps;
59
+ /** Sets the height of the Header and is used by internal parts for positioning and sizing. */
60
+ headerHeight?: number;
61
+ };
62
+ export declare type HeaderRenderProps = RenderProps<HeaderContext>;
63
+ export declare type HeaderServicesData = {
64
+ /** Provides text content to the service item. */
65
+ text?: string;
66
+ /** Provides href attribute to the internal link element. */
67
+ url?: string;
68
+ };
69
+ export declare type HeaderServicesProps = MenuProps & {
70
+ /** Props object passed to the MenuButton component. */
71
+ buttonProps?: ButtonProps;
72
+ /** Props object passed to the MenuList component. */
73
+ listProps?: ListProps;
74
+ /** Array of objects with data for each service link. */
75
+ services?: HeaderServicesData[];
76
+ };
77
+ export declare type HeaderSignInData = {
78
+ /** Provides href to the button link. */
79
+ url?: string;
80
+ };
81
+ export declare type HeaderSignInProps = ButtonProps & HeaderSignInData;
82
+ export declare type LoggedInHeaderProps = HeaderProps & {
83
+ /** Socket placing account popover icon on the right side. */
84
+ account?: HeaderAccountData | JSX.Element;
85
+ /** Socket placing links in the middle. */
86
+ links?: HeaderLinkData[] | JSX.Element;
87
+ /** Socket placing logo on the left side. */
88
+ logo?: HeaderLogoData | JSX.Element;
89
+ /** Socket placing notifications icon on the right side. */
90
+ notifications?: HeaderNotificationsData | JSX.Element;
91
+ /** Socket placing services menu icon on the right side. */
92
+ services?: HeaderServicesData[] | JSX.Element;
93
+ };
94
+ export declare type LoggedOutHeaderProps = HeaderProps & {
95
+ /** Socket placing create account prompt on the right side. */
96
+ createAccount?: HeaderCreateAccountData | JSX.Element;
97
+ /** Socket placing links in the middle. */
98
+ links?: HeaderLinkData[] | JSX.Element;
99
+ /** Socket placing logo on the left side. */
100
+ logo?: HeaderLogoData | JSX.Element;
101
+ /** Socket placing sign in button on the right side. */
102
+ signIn?: HeaderSignInData | JSX.Element;
103
+ };
@@ -0,0 +1,4 @@
1
+ /// <reference types="react" />
2
+ import { HeaderAccountProps } from './headerAccount.types';
3
+ /** Displays user account information and helpful links, like settings or logout. */
4
+ export default function HeaderAccount(props: HeaderAccountProps): JSX.Element;
@@ -0,0 +1,109 @@
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
14
+ if (k2 === undefined) k2 = k;
15
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
16
+ }) : (function(o, m, k, k2) {
17
+ if (k2 === undefined) k2 = k;
18
+ o[k2] = m[k];
19
+ }));
20
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
21
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
22
+ }) : function(o, v) {
23
+ o["default"] = v;
24
+ });
25
+ var __importStar = (this && this.__importStar) || function (mod) {
26
+ if (mod && mod.__esModule) return mod;
27
+ var result = {};
28
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
29
+ __setModuleDefault(result, mod);
30
+ return result;
31
+ };
32
+ var __rest = (this && this.__rest) || function (s, e) {
33
+ var t = {};
34
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
35
+ t[p] = s[p];
36
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
37
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
38
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
39
+ t[p[i]] = s[p[i]];
40
+ }
41
+ return t;
42
+ };
43
+ var __read = (this && this.__read) || function (o, n) {
44
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
45
+ if (!m) return o;
46
+ var i = m.call(o), r, ar = [], e;
47
+ try {
48
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
49
+ }
50
+ catch (error) { e = { error: error }; }
51
+ finally {
52
+ try {
53
+ if (r && !r.done && (m = i["return"])) m.call(i);
54
+ }
55
+ finally { if (e) throw e.error; }
56
+ }
57
+ return ar;
58
+ };
59
+ var __importDefault = (this && this.__importDefault) || function (mod) {
60
+ return (mod && mod.__esModule) ? mod : { "default": mod };
61
+ };
62
+ Object.defineProperty(exports, "__esModule", { value: true });
63
+ var react_1 = __importStar(require("react"));
64
+ var avatar_1 = __importDefault(require("../avatar"));
65
+ var box_1 = __importDefault(require("../box"));
66
+ var core_1 = require("../core");
67
+ var list_1 = __importDefault(require("../list"));
68
+ var popover_1 = __importDefault(require("../popover"));
69
+ var t_1 = __importDefault(require("../t"));
70
+ var utils_1 = require("../utils");
71
+ var context_1 = require("./context");
72
+ function UserInfo(_a) {
73
+ var companyName = _a.companyName, userName = _a.userName;
74
+ return (react_1.default.createElement(box_1.default, { p: 2, pb: 1, spaceX: 2 },
75
+ react_1.default.createElement(avatar_1.default, { colorScheme: "prussian", name: userName, size: "lg", variant: "solid" }),
76
+ react_1.default.createElement(box_1.default, { column: true },
77
+ userName && (react_1.default.createElement(t_1.default, { mb: 0.5, weight: "demi" }, userName)),
78
+ companyName && react_1.default.createElement(t_1.default, null, companyName))));
79
+ }
80
+ /** Disables popper's dynamic re-positioning */
81
+ var mobilePopoverOptions = { popperOptions: { modifiers: [{ name: 'computeStyles', enabled: false }] } };
82
+ /** Displays user account information and helpful links, like settings or logout. */
83
+ function HeaderAccount(props) {
84
+ var children = props.children, contentProps = props.contentProps, _a = props.options, options = _a === void 0 ? {} : _a, sections = props.sections, triggerProps = props.triggerProps, userInfo = props.userInfo, rest = __rest(props, ["children", "contentProps", "options", "sections", "triggerProps", "userInfo"]);
85
+ var _b = (0, context_1.useHeaderContext)(), headerHeight = _b.headerHeight, isMobile = _b.isMobile;
86
+ var styles = (0, core_1.useStyleConfig)('Header', (0, context_1.useHeaderContext)()).account;
87
+ // Render content in full view on mobile
88
+ var popoverOptions = isMobile ? (0, utils_1.merge)(options, mobilePopoverOptions) : options;
89
+ var contentScreenProps = isMobile
90
+ ? { h: "calc(100vh - " + headerHeight + "px)", left: 0, position: 'fixed', top: headerHeight, w: '100vw' }
91
+ : { maxH: 360, py: 1, w: 320 };
92
+ var name = (0, utils_1.isObject)(userInfo) ? userInfo.userName : '';
93
+ return (react_1.default.createElement(popover_1.default, __assign({ offset: [0, 8], options: popoverOptions, placement: "bottom-end" }, rest),
94
+ react_1.default.createElement(popover_1.default.Trigger, __assign({ as: avatar_1.default, colorScheme: "prussian", isInteractive: true, ml: 2, name: name, title: "Account", variant: "solid" }, styles.trigger, triggerProps)),
95
+ react_1.default.createElement(popover_1.default.Content, __assign({ column: true }, styles.content, contentScreenProps, contentProps),
96
+ (0, utils_1.isObject)(userInfo) ? react_1.default.createElement(UserInfo, __assign({}, userInfo)) : userInfo,
97
+ (0, utils_1.isObject)(sections)
98
+ ? Object.entries(sections).map(function (_a) {
99
+ var _b = __read(_a, 2), key = _b[0], _c = _b[1], heading = _c.heading, links = _c.links;
100
+ return (react_1.default.createElement(react_1.Fragment, { key: key },
101
+ react_1.default.createElement(list_1.default.Divider, null),
102
+ react_1.default.createElement(list_1.default, { heading: heading }, links === null || links === void 0 ? void 0 : links.map(function (_a, index) {
103
+ var icon = _a.icon, text = _a.text, url = _a.url;
104
+ return (react_1.default.createElement(list_1.default.Item, { iconLeft: icon, key: index, linkProps: { href: url }, text: text }));
105
+ }))));
106
+ })
107
+ : sections)));
108
+ }
109
+ exports.default = HeaderAccount;
@@ -0,0 +1,35 @@
1
+ /// <reference types="react" />
2
+ import { AvatarProps } from '../avatar';
3
+ import { BoxProps } from '../box';
4
+ import { PopoverProps } from '../popover';
5
+ import { HeaderLinkData } from './header.types';
6
+ /** Defines account link sections and user information. */
7
+ export declare type HeaderAccountData = {
8
+ sections?: HeaderAccountSectionsData;
9
+ userInfo?: HeaderAccountUserInfoData;
10
+ };
11
+ export declare type HeaderAccountProps = PopoverProps & {
12
+ /** Props object passed to the PopoverContent component. */
13
+ contentProps?: BoxProps;
14
+ /** Socket displaying a set of link sections below user information. */
15
+ sections?: HeaderAccountData['sections'] | JSX.Element;
16
+ /** Props object passed to the PopoverTrigger component. */
17
+ triggerProps?: AvatarProps;
18
+ /** Socket displaying user information on top of the account popover. */
19
+ userInfo?: HeaderAccountData['userInfo'] | JSX.Element;
20
+ };
21
+ /** Defines heading and an array of links within one section. */
22
+ export declare type HeaderAccountSectionData = {
23
+ heading?: string;
24
+ links?: HeaderLinkData[];
25
+ };
26
+ /** Defines a set of link sections within the account popover. */
27
+ export declare type HeaderAccountSectionsData = {
28
+ [sectionName: string]: HeaderAccountSectionData;
29
+ };
30
+ /** Defines user information within the Account. */
31
+ export declare type HeaderAccountUserInfoData = {
32
+ companyName?: string;
33
+ userName?: string;
34
+ };
35
+ export declare type HeaderAccountUserInfoProps = HeaderAccountUserInfoData;
@@ -0,0 +1,4 @@
1
+ import { BoxProps } from '../box';
2
+ /** Controls max-width of the content and centers itself vertically. */
3
+ export declare const HeaderContent: import("../core").VuiComponent<"div", BoxProps>;
4
+ export default HeaderContent;
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ var __importDefault = (this && this.__importDefault) || function (mod) {
14
+ return (mod && mod.__esModule) ? mod : { "default": mod };
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.HeaderContent = void 0;
18
+ var react_1 = __importDefault(require("react"));
19
+ var box_1 = __importDefault(require("../box"));
20
+ var core_1 = require("../core");
21
+ var context_1 = require("./context");
22
+ /** Controls max-width of the content and centers itself vertically. */
23
+ exports.HeaderContent = (0, core_1.vui)(function (props, ref) {
24
+ var styles = (0, core_1.useStyleConfig)('Header', (0, context_1.useHeaderContext)());
25
+ return (react_1.default.createElement(box_1.default, __assign({ centerV: true, className: "vui-headerContent", h: "100%", maxW: 1440, mx: "auto", ref: ref, w: "100%" }, styles.content, props)));
26
+ });
27
+ exports.HeaderContent.displayName = 'HeaderContent';
28
+ exports.default = exports.HeaderContent;
@@ -0,0 +1,4 @@
1
+ import { HeaderCreateAccountProps } from './header.types';
2
+ /** Text inviting to create an account when logged out. */
3
+ export declare const HeaderCreateAccount: import("../core").VuiComponent<"div", HeaderCreateAccountProps>;
4
+ export default HeaderCreateAccount;