@veracity/vui 1.1.3 → 1.2.0-beta.1

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 (275) hide show
  1. package/dist/cjs/button/button.js +1 -1
  2. package/dist/cjs/button/theme.d.ts +0 -12
  3. package/dist/cjs/button/theme.d.ts.map +1 -1
  4. package/dist/cjs/button/theme.js +0 -22
  5. package/dist/cjs/core/types.d.ts +2 -2
  6. package/dist/cjs/core/types.d.ts.map +1 -1
  7. package/dist/cjs/dialog/consts.d.ts +3 -0
  8. package/dist/cjs/dialog/consts.d.ts.map +1 -1
  9. package/dist/cjs/dialog/consts.js +4 -1
  10. package/dist/cjs/dialog/index.d.ts +2 -0
  11. package/dist/cjs/dialog/index.d.ts.map +1 -1
  12. package/dist/cjs/dialog/index.js +2 -0
  13. package/dist/cjs/dialog/showConfirm.d.ts +2 -0
  14. package/dist/cjs/dialog/showConfirm.d.ts.map +1 -0
  15. package/dist/cjs/dialog/showConfirm.js +37 -0
  16. package/dist/cjs/dialog/showPrompt.d.ts +2 -0
  17. package/dist/cjs/dialog/showPrompt.d.ts.map +1 -0
  18. package/dist/cjs/dialog/showPrompt.js +42 -0
  19. package/dist/cjs/header/header.types.d.ts +3 -9
  20. package/dist/cjs/header/header.types.d.ts.map +1 -1
  21. package/dist/cjs/header/headerLogo.d.ts +3 -3
  22. package/dist/cjs/header/headerLogo.d.ts.map +1 -1
  23. package/dist/cjs/header/headerLogo.js +4 -9
  24. package/dist/cjs/icons/baseIcons/cub/cubBellship.d.ts +4 -0
  25. package/dist/cjs/icons/baseIcons/cub/cubBellship.d.ts.map +1 -0
  26. package/dist/cjs/icons/baseIcons/cub/cubBellship.js +7 -0
  27. package/dist/cjs/icons/baseIcons/cub/cubDNV.d.ts +4 -0
  28. package/dist/cjs/icons/baseIcons/cub/cubDNV.d.ts.map +1 -0
  29. package/dist/cjs/icons/baseIcons/cub/cubDNV.js +7 -0
  30. package/dist/cjs/icons/baseIcons/cul/culFileDownloadAlt.d.ts +4 -0
  31. package/dist/cjs/icons/baseIcons/cul/culFileDownloadAlt.d.ts.map +1 -0
  32. package/dist/cjs/icons/baseIcons/cul/culFileDownloadAlt.js +7 -0
  33. package/dist/cjs/icons/baseIcons/cul/culFilterAlt.d.ts +4 -0
  34. package/dist/cjs/icons/baseIcons/cul/culFilterAlt.d.ts.map +1 -0
  35. package/dist/cjs/icons/baseIcons/cul/culFilterAlt.js +7 -0
  36. package/dist/cjs/icons/baseIcons/fal/falDollarSign.d.ts +4 -0
  37. package/dist/cjs/icons/baseIcons/fal/falDollarSign.d.ts.map +1 -0
  38. package/dist/cjs/icons/baseIcons/fal/falDollarSign.js +7 -0
  39. package/dist/cjs/icons/baseIcons/fal/falEuroSign.d.ts +4 -0
  40. package/dist/cjs/icons/baseIcons/fal/falEuroSign.d.ts.map +1 -0
  41. package/dist/cjs/icons/baseIcons/fal/falEuroSign.js +7 -0
  42. package/dist/cjs/icons/baseIcons/fal/falPoundSign.d.ts +4 -0
  43. package/dist/cjs/icons/baseIcons/fal/falPoundSign.d.ts.map +1 -0
  44. package/dist/cjs/icons/baseIcons/fal/falPoundSign.js +7 -0
  45. package/dist/cjs/icons/baseIcons/fal/falShoppingCart.d.ts +4 -0
  46. package/dist/cjs/icons/baseIcons/fal/falShoppingCart.d.ts.map +1 -0
  47. package/dist/cjs/icons/baseIcons/fal/falShoppingCart.js +7 -0
  48. package/dist/cjs/icons/baseIcons/fal/falUserHeadset.d.ts +4 -0
  49. package/dist/cjs/icons/baseIcons/fal/falUserHeadset.d.ts.map +1 -0
  50. package/dist/cjs/icons/baseIcons/fal/falUserHeadset.js +7 -0
  51. package/dist/cjs/icons/baseIcons/fas/fasChartNetwork.d.ts +4 -0
  52. package/dist/cjs/icons/baseIcons/fas/fasChartNetwork.d.ts.map +1 -0
  53. package/dist/cjs/icons/baseIcons/fas/fasChartNetwork.js +7 -0
  54. package/dist/cjs/icons/baseIcons/fas/fasPuzzlePiece.d.ts +4 -0
  55. package/dist/cjs/icons/baseIcons/fas/fasPuzzlePiece.d.ts.map +1 -0
  56. package/dist/cjs/icons/baseIcons/fas/fasPuzzlePiece.js +7 -0
  57. package/dist/cjs/icons/baseIcons/icons.d.ts +11 -0
  58. package/dist/cjs/icons/baseIcons/icons.d.ts.map +1 -1
  59. package/dist/cjs/icons/baseIcons/icons.js +29 -6
  60. package/dist/cjs/icons/baseIcons/types.d.ts +1 -1
  61. package/dist/cjs/icons/baseIcons/types.d.ts.map +1 -1
  62. package/dist/cjs/index.d.ts +1 -0
  63. package/dist/cjs/index.d.ts.map +1 -1
  64. package/dist/cjs/index.js +1 -0
  65. package/dist/cjs/input/input.js +2 -2
  66. package/dist/cjs/link/link.types.d.ts +2 -0
  67. package/dist/cjs/link/link.types.d.ts.map +1 -1
  68. package/dist/cjs/logo/Logo.d.ts +5 -0
  69. package/dist/cjs/logo/Logo.d.ts.map +1 -0
  70. package/dist/cjs/logo/Logo.js +34 -0
  71. package/dist/cjs/logo/index.d.ts +2 -0
  72. package/dist/cjs/logo/index.d.ts.map +1 -0
  73. package/dist/cjs/logo/index.js +17 -0
  74. package/dist/cjs/logo/logo.types.d.ts +11 -0
  75. package/dist/cjs/logo/logo.types.d.ts.map +1 -0
  76. package/dist/cjs/logo/logo.types.js +2 -0
  77. package/dist/cjs/modal/focusLock.d.ts +1 -1
  78. package/dist/cjs/modal/focusLock.d.ts.map +1 -1
  79. package/dist/cjs/modal/modal.types.d.ts +2 -2
  80. package/dist/cjs/modal/modal.types.d.ts.map +1 -1
  81. package/dist/cjs/modal/modalManager.d.ts.map +1 -1
  82. package/dist/cjs/modal/modalManager.js +3 -2
  83. package/dist/cjs/modal/modalStyle.js +1 -1
  84. package/dist/cjs/popover/popoverContent.d.ts.map +1 -1
  85. package/dist/cjs/popover/popoverContent.js +2 -2
  86. package/dist/cjs/portal/portal.d.ts +1 -1
  87. package/dist/cjs/portal/portal.d.ts.map +1 -1
  88. package/dist/cjs/table/tbody.d.ts.map +1 -1
  89. package/dist/cjs/table/tbody.js +1 -1
  90. package/dist/cjs/tabs/tabs.d.ts +2 -3
  91. package/dist/cjs/tabs/tabs.d.ts.map +1 -1
  92. package/dist/cjs/tabs/tabs.js +5 -5
  93. package/dist/cjs/tabs/tabs.types.d.ts +8 -4
  94. package/dist/cjs/tabs/tabs.types.d.ts.map +1 -1
  95. package/dist/cjs/tabs/tabsNavBar.d.ts.map +1 -1
  96. package/dist/cjs/tabs/tabsNavBar.js +13 -3
  97. package/dist/cjs/theme/components.d.ts +0 -11
  98. package/dist/cjs/theme/components.d.ts.map +1 -1
  99. package/dist/cjs/theme/defaultTheme.d.ts +0 -11
  100. package/dist/cjs/theme/defaultTheme.d.ts.map +1 -1
  101. package/dist/cjs/toast/Toast.d.ts.map +1 -1
  102. package/dist/cjs/toast/Toast.js +5 -5
  103. package/dist/cjs/tooltip/tooltip.d.ts.map +1 -1
  104. package/dist/cjs/tooltip/tooltip.js +10 -4
  105. package/dist/cjs/tooltip/tooltip.setup.d.ts +1 -7
  106. package/dist/cjs/tooltip/tooltip.setup.d.ts.map +1 -1
  107. package/dist/cjs/tooltip/tooltip.setup.js +4 -10
  108. package/dist/cjs/tooltip/tooltip.types.d.ts +10 -6
  109. package/dist/cjs/tooltip/tooltip.types.d.ts.map +1 -1
  110. package/dist/cjs/utils/dom.d.ts +4 -1
  111. package/dist/cjs/utils/dom.d.ts.map +1 -1
  112. package/dist/cjs/utils/dom.js +19 -10
  113. package/dist/cjs/utils/react.d.ts +3 -1
  114. package/dist/cjs/utils/react.d.ts.map +1 -1
  115. package/dist/cjs/utils/react.js +18 -1
  116. package/dist/esm/button/button.js +1 -1
  117. package/dist/esm/button/theme.d.ts +0 -12
  118. package/dist/esm/button/theme.d.ts.map +1 -1
  119. package/dist/esm/button/theme.js +0 -22
  120. package/dist/esm/core/types.d.ts +2 -2
  121. package/dist/esm/core/types.d.ts.map +1 -1
  122. package/dist/esm/dialog/consts.d.ts +3 -0
  123. package/dist/esm/dialog/consts.d.ts.map +1 -1
  124. package/dist/esm/dialog/consts.js +3 -0
  125. package/dist/esm/dialog/index.d.ts +2 -0
  126. package/dist/esm/dialog/index.d.ts.map +1 -1
  127. package/dist/esm/dialog/index.js +2 -0
  128. package/dist/esm/dialog/showConfirm.d.ts +2 -0
  129. package/dist/esm/dialog/showConfirm.d.ts.map +1 -0
  130. package/dist/esm/dialog/showConfirm.js +30 -0
  131. package/dist/esm/dialog/showPrompt.d.ts +2 -0
  132. package/dist/esm/dialog/showPrompt.d.ts.map +1 -0
  133. package/dist/esm/dialog/showPrompt.js +35 -0
  134. package/dist/esm/header/header.types.d.ts +3 -9
  135. package/dist/esm/header/header.types.d.ts.map +1 -1
  136. package/dist/esm/header/headerLogo.d.ts +3 -3
  137. package/dist/esm/header/headerLogo.d.ts.map +1 -1
  138. package/dist/esm/header/headerLogo.js +5 -10
  139. package/dist/esm/icons/baseIcons/cub/cubBellship.d.ts +4 -0
  140. package/dist/esm/icons/baseIcons/cub/cubBellship.d.ts.map +1 -0
  141. package/dist/esm/icons/baseIcons/cub/cubBellship.js +5 -0
  142. package/dist/esm/icons/baseIcons/cub/cubDNV.d.ts +4 -0
  143. package/dist/esm/icons/baseIcons/cub/cubDNV.d.ts.map +1 -0
  144. package/dist/esm/icons/baseIcons/cub/cubDNV.js +5 -0
  145. package/dist/esm/icons/baseIcons/cul/culFileDownloadAlt.d.ts +4 -0
  146. package/dist/esm/icons/baseIcons/cul/culFileDownloadAlt.d.ts.map +1 -0
  147. package/dist/esm/icons/baseIcons/cul/culFileDownloadAlt.js +5 -0
  148. package/dist/esm/icons/baseIcons/cul/culFilterAlt.d.ts +4 -0
  149. package/dist/esm/icons/baseIcons/cul/culFilterAlt.d.ts.map +1 -0
  150. package/dist/esm/icons/baseIcons/cul/culFilterAlt.js +5 -0
  151. package/dist/esm/icons/baseIcons/fal/falDollarSign.d.ts +4 -0
  152. package/dist/esm/icons/baseIcons/fal/falDollarSign.d.ts.map +1 -0
  153. package/dist/esm/icons/baseIcons/fal/falDollarSign.js +5 -0
  154. package/dist/esm/icons/baseIcons/fal/falEuroSign.d.ts +4 -0
  155. package/dist/esm/icons/baseIcons/fal/falEuroSign.d.ts.map +1 -0
  156. package/dist/esm/icons/baseIcons/fal/falEuroSign.js +5 -0
  157. package/dist/esm/icons/baseIcons/fal/falPoundSign.d.ts +4 -0
  158. package/dist/esm/icons/baseIcons/fal/falPoundSign.d.ts.map +1 -0
  159. package/dist/esm/icons/baseIcons/fal/falPoundSign.js +5 -0
  160. package/dist/esm/icons/baseIcons/fal/falShoppingCart.d.ts +4 -0
  161. package/dist/esm/icons/baseIcons/fal/falShoppingCart.d.ts.map +1 -0
  162. package/dist/esm/icons/baseIcons/fal/falShoppingCart.js +5 -0
  163. package/dist/esm/icons/baseIcons/fal/falUserHeadset.d.ts +4 -0
  164. package/dist/esm/icons/baseIcons/fal/falUserHeadset.d.ts.map +1 -0
  165. package/dist/esm/icons/baseIcons/fal/falUserHeadset.js +5 -0
  166. package/dist/esm/icons/baseIcons/fas/fasChartNetwork.d.ts +4 -0
  167. package/dist/esm/icons/baseIcons/fas/fasChartNetwork.d.ts.map +1 -0
  168. package/dist/esm/icons/baseIcons/fas/fasChartNetwork.js +5 -0
  169. package/dist/esm/icons/baseIcons/fas/fasPuzzlePiece.d.ts +4 -0
  170. package/dist/esm/icons/baseIcons/fas/fasPuzzlePiece.d.ts.map +1 -0
  171. package/dist/esm/icons/baseIcons/fas/fasPuzzlePiece.js +5 -0
  172. package/dist/esm/icons/baseIcons/icons.d.ts +11 -0
  173. package/dist/esm/icons/baseIcons/icons.d.ts.map +1 -1
  174. package/dist/esm/icons/baseIcons/icons.js +11 -0
  175. package/dist/esm/icons/baseIcons/types.d.ts +1 -1
  176. package/dist/esm/icons/baseIcons/types.d.ts.map +1 -1
  177. package/dist/esm/index.d.ts +1 -0
  178. package/dist/esm/index.d.ts.map +1 -1
  179. package/dist/esm/index.js +1 -0
  180. package/dist/esm/input/input.js +1 -1
  181. package/dist/esm/link/link.types.d.ts +2 -0
  182. package/dist/esm/link/link.types.d.ts.map +1 -1
  183. package/dist/esm/logo/Logo.d.ts +5 -0
  184. package/dist/esm/logo/Logo.d.ts.map +1 -0
  185. package/dist/esm/logo/Logo.js +17 -0
  186. package/dist/esm/logo/index.d.ts +2 -0
  187. package/dist/esm/logo/index.d.ts.map +1 -0
  188. package/dist/esm/logo/index.js +1 -0
  189. package/dist/esm/logo/logo.types.d.ts +11 -0
  190. package/dist/esm/logo/logo.types.d.ts.map +1 -0
  191. package/dist/esm/logo/logo.types.js +1 -0
  192. package/dist/esm/modal/focusLock.d.ts +1 -1
  193. package/dist/esm/modal/focusLock.d.ts.map +1 -1
  194. package/dist/esm/modal/modal.types.d.ts +2 -2
  195. package/dist/esm/modal/modal.types.d.ts.map +1 -1
  196. package/dist/esm/modal/modalManager.d.ts.map +1 -1
  197. package/dist/esm/modal/modalManager.js +3 -2
  198. package/dist/esm/modal/modalStyle.js +1 -1
  199. package/dist/esm/popover/popoverContent.d.ts.map +1 -1
  200. package/dist/esm/popover/popoverContent.js +3 -3
  201. package/dist/esm/portal/portal.d.ts +1 -1
  202. package/dist/esm/portal/portal.d.ts.map +1 -1
  203. package/dist/esm/table/tbody.d.ts.map +1 -1
  204. package/dist/esm/table/tbody.js +1 -1
  205. package/dist/esm/tabs/tabs.d.ts +2 -3
  206. package/dist/esm/tabs/tabs.d.ts.map +1 -1
  207. package/dist/esm/tabs/tabs.js +6 -6
  208. package/dist/esm/tabs/tabs.types.d.ts +8 -4
  209. package/dist/esm/tabs/tabs.types.d.ts.map +1 -1
  210. package/dist/esm/tabs/tabsNavBar.d.ts.map +1 -1
  211. package/dist/esm/tabs/tabsNavBar.js +13 -3
  212. package/dist/esm/theme/components.d.ts +0 -11
  213. package/dist/esm/theme/components.d.ts.map +1 -1
  214. package/dist/esm/theme/defaultTheme.d.ts +0 -11
  215. package/dist/esm/theme/defaultTheme.d.ts.map +1 -1
  216. package/dist/esm/toast/Toast.d.ts.map +1 -1
  217. package/dist/esm/toast/Toast.js +6 -6
  218. package/dist/esm/tooltip/tooltip.d.ts.map +1 -1
  219. package/dist/esm/tooltip/tooltip.js +11 -5
  220. package/dist/esm/tooltip/tooltip.setup.d.ts +1 -7
  221. package/dist/esm/tooltip/tooltip.setup.d.ts.map +1 -1
  222. package/dist/esm/tooltip/tooltip.setup.js +3 -9
  223. package/dist/esm/tooltip/tooltip.types.d.ts +10 -6
  224. package/dist/esm/tooltip/tooltip.types.d.ts.map +1 -1
  225. package/dist/esm/utils/dom.d.ts +4 -1
  226. package/dist/esm/utils/dom.d.ts.map +1 -1
  227. package/dist/esm/utils/dom.js +11 -9
  228. package/dist/esm/utils/react.d.ts +3 -1
  229. package/dist/esm/utils/react.d.ts.map +1 -1
  230. package/dist/esm/utils/react.js +13 -0
  231. package/package.json +1 -1
  232. package/src/button/button.tsx +1 -1
  233. package/src/button/theme.ts +0 -26
  234. package/src/core/types.ts +2 -2
  235. package/src/dialog/consts.ts +6 -0
  236. package/src/dialog/index.ts +2 -0
  237. package/src/dialog/showConfirm.tsx +45 -0
  238. package/src/dialog/showPrompt.tsx +55 -0
  239. package/src/header/header.types.ts +3 -11
  240. package/src/header/headerLogo.tsx +9 -25
  241. package/src/icons/baseIcons/cub/cubBellship.ts +8 -0
  242. package/src/icons/baseIcons/cub/cubDNV.ts +8 -0
  243. package/src/icons/baseIcons/cul/culFileDownloadAlt.ts +8 -0
  244. package/src/icons/baseIcons/cul/culFilterAlt.ts +8 -0
  245. package/src/icons/baseIcons/fal/falDollarSign.ts +8 -0
  246. package/src/icons/baseIcons/fal/falEuroSign.ts +8 -0
  247. package/src/icons/baseIcons/fal/falPoundSign.ts +8 -0
  248. package/src/icons/baseIcons/fal/falShoppingCart.ts +8 -0
  249. package/src/icons/baseIcons/fal/falUserHeadset.ts +8 -0
  250. package/src/icons/baseIcons/fas/fasChartNetwork.ts +8 -0
  251. package/src/icons/baseIcons/fas/fasPuzzlePiece.ts +8 -0
  252. package/src/icons/baseIcons/icons.ts +11 -0
  253. package/src/icons/baseIcons/types.ts +11 -0
  254. package/src/index.ts +1 -0
  255. package/src/input/input.tsx +1 -1
  256. package/src/link/link.types.ts +2 -0
  257. package/src/logo/Logo.tsx +29 -0
  258. package/src/logo/index.ts +1 -0
  259. package/src/logo/logo.types.ts +12 -0
  260. package/src/modal/focusLock.tsx +1 -1
  261. package/src/modal/modal.types.ts +3 -1
  262. package/src/modal/modalManager.ts +4 -2
  263. package/src/modal/modalStyle.ts +1 -1
  264. package/src/popover/popoverContent.tsx +4 -3
  265. package/src/portal/portal.tsx +1 -1
  266. package/src/table/tbody.tsx +1 -3
  267. package/src/tabs/tabs.tsx +6 -5
  268. package/src/tabs/tabs.types.ts +15 -9
  269. package/src/tabs/tabsNavBar.tsx +18 -6
  270. package/src/toast/Toast.tsx +7 -7
  271. package/src/tooltip/tooltip.setup.ts +3 -10
  272. package/src/tooltip/tooltip.tsx +23 -14
  273. package/src/tooltip/tooltip.types.ts +9 -5
  274. package/src/utils/dom.ts +13 -6
  275. package/src/utils/react.ts +13 -0
@@ -0,0 +1,8 @@
1
+ /* eslint-disable */
2
+
3
+ import { IconDefinition } from '../../types'
4
+
5
+ export default {
6
+ details: [32, 32, [], '', 'M22 22H21.7062C20.9462 22 20.2062 22.1812 19.4875 22.425V22.425C17.225 23.1925 14.7725 23.1925 12.51 22.425C11.7925 22.1812 11.0544 22.0012 10.2963 22.0012H10H10C5.58221 22.0012 2.00069 25.5822 2 30V30C2 31.1046 2.89543 32 4 32H28V32C29.1046 32 30 31.1046 30 30C30 25.5817 26.4183 22 22 22V22ZM4 30V30C4.00343 26.6877 6.68769 24.0035 9.99998 24H10.2962C10.7287 24 11.2287 24.1012 11.8687 24.3181H11.8687C14.5471 25.2265 17.4503 25.2265 20.1287 24.3181C20.7731 24.1 21.2744 23.9988 21.7062 23.9988H22V23.9988C25.3123 24.0022 27.9965 26.6865 28 29.9988L4 30ZM5 14V14C5.55229 14 6 13.5523 6 13V12C6 6.48625 10.4863 2 16 2C21.5138 2 26 6.48625 26 12V13V12.9998C25.997 15.76 23.7603 17.9968 21.0002 18H19.0002C19.0002 16.8954 18.1047 16 17.0002 16H15.0002V16C13.8956 16 13.0002 16.8954 13.0002 18C13.0002 19.1046 13.8956 20 15.0002 20H21.0002V20C24.8642 19.9952 27.9953 16.864 28.0002 13V12C28 5.3825 22.6175 0 16 0C9.38247 0 3.99997 5.3825 3.99997 12V13V13C3.99997 13.5523 4.44769 14 4.99997 14H5ZM16 6V6C19.2988 5.98528 21.985 8.64758 21.9997 11.9464C22.0064 13.4387 21.4542 14.8794 20.4519 15.985C20.4519 15.9906 20.46 15.9944 20.4631 16H21V16C22.0315 15.9977 22.9892 15.4645 23.5344 14.5887C23.8125 13.7725 24 12.9112 24 12C24 7.58173 20.4183 4 16 4C11.5817 4 8 7.58173 8 12C8 14.5262 9.19375 16.75 11.0219 18.2169C11.0181 18.1438 11 18.0744 11 18V18C11.0045 17.2955 11.1972 16.605 11.5581 16V16C9.33446 13.5628 9.50758 9.78436 11.9448 7.56068C13.0527 6.54986 14.5003 5.99274 16 5.99999V6Z'],
7
+ name: 'falUserHeadset'
8
+ } as IconDefinition
@@ -0,0 +1,8 @@
1
+ /* eslint-disable */
2
+
3
+ import { IconDefinition } from '../../types'
4
+
5
+ export default {
6
+ details: [32, 32, [], '', 'M28.8 12.8C30.565 12.8 32 11.365 32 9.59995C32 7.83495 30.565 6.39995 28.8 6.39995C27.035 6.39995 25.6 7.83495 25.6 9.59995C25.6 11.365 27.035 12.8 28.8 12.8ZM3.2 15.2C1.435 15.2 0 16.635 0 18.4C0 20.165 1.435 21.6 3.2 21.6C4.965 21.6 6.4 20.165 6.4 18.4C6.4 16.635 4.965 15.2 3.2 15.2ZM25.68 13.34L24.72 12.06L22.32 13.86L23.28 15.14L25.68 13.34ZM28.8 22.4C28.08 22.4 27.42 22.65 26.885 23.05L22.085 20.17C22.275 19.61 22.4 19.02 22.4 18.395C22.4 15.3 19.895 12.795 16.8 12.795C16.38 12.795 15.97 12.85 15.58 12.94L13.54 8.56995C14.07 7.99995 14.4 7.23995 14.4 6.39995C14.4 4.63495 12.965 3.19995 11.2 3.19995C9.435 3.19995 8 4.63495 8 6.39995C8 8.16495 9.435 9.59995 11.2 9.59995C11.255 9.59995 11.305 9.58495 11.36 9.58495L13.41 13.975C12.075 14.995 11.2 16.59 11.2 18.4C11.2 21.495 13.705 24 16.8 24C18.405 24 19.84 23.315 20.86 22.235L25.65 25.11C25.625 25.27 25.6 25.4349 25.6 25.6C25.6 27.365 27.035 28.8 28.8 28.8C30.565 28.8 32 27.365 32 25.6C32 23.835 30.565 22.4 28.8 22.4ZM16.8 20.8C15.475 20.8 14.4 19.725 14.4 18.4C14.4 17.075 15.475 16 16.8 16C18.125 16 19.2 17.075 19.2 18.4C19.2 19.725 18.125 20.8 16.8 20.8ZM7.6 19.2H10V17.6H7.6V19.2Z'],
7
+ name: 'fasChartNetwork'
8
+ } as IconDefinition
@@ -0,0 +1,8 @@
1
+ /* eslint-disable */
2
+
3
+ import { IconDefinition } from '../../types'
4
+
5
+ export default {
6
+ details: [33, 32, [], '', 'M29.3579 16.0362C27.0513 16.0362 26.0524 17.7913 24.7991 17.7913C21.4672 17.7913 24.5 8.00001 24.5 8.00001C24.5 8.00001 13.5951 12.4445 13.5951 7.81684C13.5951 5.82645 15.6111 5.24739 15.6111 3.03989C15.6111 1.06756 14.0492 0 12.1966 0C10.2714 0 8.50962 1.0495 8.50962 3.13034C8.50962 5.42834 10.2713 6.4235 10.2713 7.67201C10.2714 11.54 0.5 9.26434 0.5 9.26434V27.7775C0.5 27.7775 10.4242 30.0579 10.4242 26.1852C10.4242 24.9367 8.20195 23.957 8.20195 21.659C8.20195 19.5781 9.82695 18.5287 11.734 18.5287C13.6047 18.5287 15.1667 19.5962 15.1667 21.5685C15.1667 23.776 13.1507 24.3551 13.1507 26.3455C13.1507 29.7234 20.3548 27.7749 23.219 27.7749C23.219 27.7749 21.2899 21.1026 24.6539 21.1026C26.6517 21.1026 27.2329 23.1111 29.4487 23.1111C31.4285 23.1111 32.5 21.555 32.5 19.6913C32.5 17.7913 31.4466 16.0362 29.3579 16.0362Z'],
7
+ name: 'fasPuzzlePiece'
8
+ } as IconDefinition
@@ -1,3 +1,5 @@
1
+ export { default as cubBellship } from './cub/cubBellship'
2
+ export { default as cubDNV } from './cub/cubDNV'
1
3
  export { default as cubPowerBi } from './cub/cubPowerBi'
2
4
  export { default as cubVeracity } from './cub/cubVeracity'
3
5
  export { default as cuiCheckboxIndeterminate } from './cui/cuiCheckboxIndeterminate'
@@ -12,6 +14,8 @@ export { default as culCircleChartAlt } from './cul/culCircleChartAlt'
12
14
  export { default as culCovid } from './cul/culCovid'
13
15
  export { default as culDeepSearch } from './cul/culDeepSearch'
14
16
  export { default as culDotsMenu } from './cul/culDotsMenu'
17
+ export { default as culFileDownloadAlt } from './cul/culFileDownloadAlt'
18
+ export { default as culFilterAlt } from './cul/culFilterAlt'
15
19
  export { default as culGlobePlus } from './cul/culGlobePlus'
16
20
  export { default as culListDense } from './cul/culListDense'
17
21
  export { default as culMapMarkerStar } from './cul/culMapMarkerStar'
@@ -145,12 +149,14 @@ export { default as falCompressAlt } from './fal/falCompressAlt'
145
149
  export { default as falCopy } from './fal/falCopy'
146
150
  export { default as falCreditCard } from './fal/falCreditCard'
147
151
  export { default as falDatabase } from './fal/falDatabase'
152
+ export { default as falDollarSign } from './fal/falDollarSign'
148
153
  export { default as falDotCircle } from './fal/falDotCircle'
149
154
  export { default as falDownload } from './fal/falDownload'
150
155
  export { default as falEdit } from './fal/falEdit'
151
156
  export { default as falEllipsisH } from './fal/falEllipsisH'
152
157
  export { default as falEllipsisV } from './fal/falEllipsisV'
153
158
  export { default as falEnvelope } from './fal/falEnvelope'
159
+ export { default as falEuroSign } from './fal/falEuroSign'
154
160
  export { default as falExchange } from './fal/falExchange'
155
161
  export { default as falExclamationCircle } from './fal/falExclamationCircle'
156
162
  export { default as falExclamationTriangle } from './fal/falExclamationTriangle'
@@ -220,6 +226,7 @@ export { default as falPlug } from './fal/falPlug'
220
226
  export { default as falPlus } from './fal/falPlus'
221
227
  export { default as falPlusCircle } from './fal/falPlusCircle'
222
228
  export { default as falPlusSquare } from './fal/falPlusSquare'
229
+ export { default as falPoundSign } from './fal/falPoundSign'
223
230
  export { default as falPrint } from './fal/falPrint'
224
231
  export { default as falPuzzlePiece } from './fal/falPuzzlePiece'
225
232
  export { default as falQuestionCircle } from './fal/falQuestionCircle'
@@ -237,6 +244,7 @@ export { default as falShieldAlt } from './fal/falShieldAlt'
237
244
  export { default as falShieldCheck } from './fal/falShieldCheck'
238
245
  export { default as falShip } from './fal/falShip'
239
246
  export { default as falShoppingBasket } from './fal/falShoppingBasket'
247
+ export { default as falShoppingCart } from './fal/falShoppingCart'
240
248
  export { default as falSignIn } from './fal/falSignIn'
241
249
  export { default as falSignInAlt } from './fal/falSignInAlt'
242
250
  export { default as falSignOut } from './fal/falSignOut'
@@ -272,6 +280,7 @@ export { default as falUserCircle } from './fal/falUserCircle'
272
280
  export { default as falUserCog } from './fal/falUserCog'
273
281
  export { default as falUserEdit } from './fal/falUserEdit'
274
282
  export { default as falUserFriends } from './fal/falUserFriends'
283
+ export { default as falUserHeadset } from './fal/falUserHeadset'
275
284
  export { default as falUserPlus } from './fal/falUserPlus'
276
285
  export { default as falUsers } from './fal/falUsers'
277
286
  export { default as falUsersClass } from './fal/falUsersClass'
@@ -286,11 +295,13 @@ export { default as fasCaretDown } from './fas/fasCaretDown'
286
295
  export { default as fasCaretLeft } from './fas/fasCaretLeft'
287
296
  export { default as fasCaretRight } from './fas/fasCaretRight'
288
297
  export { default as fasCaretUp } from './fas/fasCaretUp'
298
+ export { default as fasChartNetwork } from './fas/fasChartNetwork'
289
299
  export { default as fasCheckCircle } from './fas/fasCheckCircle'
290
300
  export { default as fasDiamond } from './fas/fasDiamond'
291
301
  export { default as fasFolder } from './fas/fasFolder'
292
302
  export { default as fasMapMarkerAlt } from './fas/fasMapMarkerAlt'
293
303
  export { default as fasMapMarkerExclamation } from './fas/fasMapMarkerExclamation'
304
+ export { default as fasPuzzlePiece } from './fas/fasPuzzlePiece'
294
305
  export { default as fasQuoteLeft } from './fas/fasQuoteLeft'
295
306
  export { default as fasQuoteRight } from './fas/fasQuoteRight'
296
307
  export { default as fasSolarPanel } from './fas/fasSolarPanel'
@@ -1,4 +1,6 @@
1
1
  export type BaseIcon =
2
+ | 'cubBellship'
3
+ | 'cubDNV'
2
4
  | 'cubPowerBi'
3
5
  | 'cubVeracity'
4
6
  | 'cuiCheckboxIndeterminate'
@@ -13,6 +15,8 @@ export type BaseIcon =
13
15
  | 'culCovid'
14
16
  | 'culDeepSearch'
15
17
  | 'culDotsMenu'
18
+ | 'culFileDownloadAlt'
19
+ | 'culFilterAlt'
16
20
  | 'culGlobePlus'
17
21
  | 'culListDense'
18
22
  | 'culMapMarkerStar'
@@ -146,12 +150,14 @@ export type BaseIcon =
146
150
  | 'falCopy'
147
151
  | 'falCreditCard'
148
152
  | 'falDatabase'
153
+ | 'falDollarSign'
149
154
  | 'falDotCircle'
150
155
  | 'falDownload'
151
156
  | 'falEdit'
152
157
  | 'falEllipsisH'
153
158
  | 'falEllipsisV'
154
159
  | 'falEnvelope'
160
+ | 'falEuroSign'
155
161
  | 'falExchange'
156
162
  | 'falExclamationCircle'
157
163
  | 'falExclamationTriangle'
@@ -221,6 +227,7 @@ export type BaseIcon =
221
227
  | 'falPlus'
222
228
  | 'falPlusCircle'
223
229
  | 'falPlusSquare'
230
+ | 'falPoundSign'
224
231
  | 'falPrint'
225
232
  | 'falPuzzlePiece'
226
233
  | 'falQuestionCircle'
@@ -238,6 +245,7 @@ export type BaseIcon =
238
245
  | 'falShieldCheck'
239
246
  | 'falShip'
240
247
  | 'falShoppingBasket'
248
+ | 'falShoppingCart'
241
249
  | 'falSignIn'
242
250
  | 'falSignInAlt'
243
251
  | 'falSignOut'
@@ -273,6 +281,7 @@ export type BaseIcon =
273
281
  | 'falUserCog'
274
282
  | 'falUserEdit'
275
283
  | 'falUserFriends'
284
+ | 'falUserHeadset'
276
285
  | 'falUserPlus'
277
286
  | 'falUsers'
278
287
  | 'falUsersClass'
@@ -287,11 +296,13 @@ export type BaseIcon =
287
296
  | 'fasCaretLeft'
288
297
  | 'fasCaretRight'
289
298
  | 'fasCaretUp'
299
+ | 'fasChartNetwork'
290
300
  | 'fasCheckCircle'
291
301
  | 'fasDiamond'
292
302
  | 'fasFolder'
293
303
  | 'fasMapMarkerAlt'
294
304
  | 'fasMapMarkerExclamation'
305
+ | 'fasPuzzlePiece'
295
306
  | 'fasQuoteLeft'
296
307
  | 'fasQuoteRight'
297
308
  | 'fasSolarPanel'
package/src/index.ts CHANGED
@@ -17,6 +17,7 @@ export * from './image'
17
17
  export * from './input'
18
18
  export * from './link'
19
19
  export * from './list'
20
+ export * from './logo'
20
21
  export * from './menu'
21
22
  export * from './modal'
22
23
  export * from './notification'
@@ -1,7 +1,7 @@
1
1
  import React, { useMemo, useState } from 'react'
2
2
 
3
3
  import { styled, useStyleConfig, vui, VuiComponent } from '../core'
4
- import T from '../t'
4
+ import { T } from '../t'
5
5
  import { ChangeEvent, cs, filterUndefined, isString } from '../utils'
6
6
  import { inputStateMapping } from './consts'
7
7
  import { InputProvider } from './context'
@@ -10,6 +10,8 @@ export type LinkProps = SystemProps &
10
10
  decoration?: TypographyProps['textDecoration']
11
11
  /** Alias for hoverTextDecoration prop. @deprecated */
12
12
  hoverDecoration?: TypographyProps['textDecoration']
13
+ /** Href attribute value for the a tag. */
14
+ href?: string
13
15
  /** Socket displaying an icon on the left. */
14
16
  iconLeft?: IconProp | JSX.Element
15
17
  /** Socket displaying an icon on the right. */
@@ -0,0 +1,29 @@
1
+ import React from 'react'
2
+
3
+ import Box from '../box'
4
+ import { cdnUrl, vui } from '../core'
5
+ import Svg from '../svg'
6
+ import { cs } from '../utils'
7
+ import { LogoProps } from './logo.types'
8
+
9
+ const veracityLogo = `${cdnUrl}/common/icons/logos/veracity-logo.svg`
10
+ const dnvLogo = `${cdnUrl}/common/icons/logos/dnv-logo.svg`
11
+
12
+ /** Brand logo. By default Veracity logo is used. */
13
+ export const Logo = vui<'div', LogoProps>((props, ref) => {
14
+ const { brand, children, className, src, url, ...rest } = props
15
+
16
+ let svgSrc = src
17
+
18
+ if (!svgSrc) svgSrc = brand === 'dnv' ? dnvLogo : veracityLogo
19
+
20
+ const linkProps = url ? { as: 'a', href: url, outline: 'none', focusRing: 2 } : {}
21
+
22
+ return (
23
+ <Box centerV className={cs('vui-logo', className)} flexShrink={0} h={40} mr={2} ref={ref} {...linkProps} {...rest}>
24
+ {children ?? <Svg aria-label="logo" h="100%" src={svgSrc} />}
25
+ </Box>
26
+ )
27
+ })
28
+
29
+ export default Logo
@@ -0,0 +1 @@
1
+ export * from './Logo'
@@ -0,0 +1,12 @@
1
+ import { BoxProps } from '../box/box.types'
2
+
3
+ export type LogoData = {
4
+ /** Brand name. */
5
+ brand?: 'veracity' | 'dnv'
6
+ /** Loads logo svg from the given source. */
7
+ src?: string
8
+ /** Renders logo wrapper as a link with given url as href. */
9
+ url?: string
10
+ }
11
+
12
+ export type LogoProps = BoxProps & LogoData
@@ -1,7 +1,7 @@
1
1
  import React, { FC, useCallback } from 'react'
2
2
  import ReactFocusLock from 'react-focus-lock'
3
3
 
4
- import { ChildrenProp } from '../core/types'
4
+ import { ChildrenProp } from '../core'
5
5
  import { FocusLockProps } from './focusLock.types'
6
6
 
7
7
  /**
@@ -1,3 +1,5 @@
1
+ import { ReactElement } from 'react'
2
+
1
3
  import { SystemProps } from '../system'
2
4
  import { ThemingProps } from '../theme'
3
5
  import { MouseEvent } from '../utils'
@@ -14,7 +16,7 @@ export type ModalProps = SystemProps &
14
16
  /** Handle zoom/pinch gestures on iOS devices when scroll locking is enabled. */
15
17
  allowPinchZoom?: boolean
16
18
  /** A single child content element. */
17
- children: React.ReactElement
19
+ children: ReactElement
18
20
  /** Props passed to internal ModalContent component. */
19
21
  contentProps?: ModalContentProps
20
22
  /** It won't auto-focus the first focuable element within the 'children' once FocusLock mounts. */
@@ -1,5 +1,7 @@
1
1
  import { Ref, useEffect } from 'react'
2
2
 
3
+ import { addBodyClass, removeBodyClass } from '../utils/dom'
4
+
3
5
  /** State management for nested modals. */
4
6
  class ModalManager {
5
7
  modals: any[] = []
@@ -25,12 +27,12 @@ export function useModalManager(ref: Ref<any>, isOpen?: boolean, disableScrollLo
25
27
  useEffect(() => {
26
28
  if (isOpen) {
27
29
  manager.add(ref)
28
- if (!disableScrollLock) document.body.classList.add('no-scroll')
30
+ if (!disableScrollLock) addBodyClass('vui-no-scroll')
29
31
  }
30
32
 
31
33
  return () => {
32
34
  manager.remove(ref)
33
- if (!disableScrollLock) document.body.classList.remove('no-scroll')
35
+ if (!disableScrollLock) removeBodyClass('vui-no-scroll')
34
36
  }
35
37
  }, [isOpen, ref])
36
38
  }
@@ -2,7 +2,7 @@ import { createGlobalStyle } from '../core'
2
2
 
3
3
  export default createGlobalStyle`
4
4
 
5
- body.no-scroll {
5
+ body.vui-no-scroll {
6
6
  overflow: hidden !important;
7
7
  overscroll-behavior: contain;
8
8
  }
@@ -1,7 +1,7 @@
1
1
  import React from 'react'
2
2
 
3
3
  import Box from '../box'
4
- import { useStyleConfig, vui } from '../core'
4
+ import { useStyleConfig, v, vui } from '../core'
5
5
  import { cs, mergeRefs } from '../utils'
6
6
  import { usePopoverContext } from './context'
7
7
  import { PopoverContentProps } from './popover.types'
@@ -17,7 +17,7 @@ export const PopoverContent = vui<'div', PopoverContentProps>((props, ref) => {
17
17
 
18
18
  return (
19
19
  // Wrapping div prevents an error thrown when conditionally unmounting this component
20
- <div data-popover-workaround>
20
+ <v.div ring={0}>
21
21
  <Box
22
22
  bg="white"
23
23
  borderRadius="md"
@@ -25,12 +25,13 @@ export const PopoverContent = vui<'div', PopoverContentProps>((props, ref) => {
25
25
  className={cs('vui-popoverContent', className)}
26
26
  overflowY="auto"
27
27
  ref={mergeRefs(setPopper, ref)}
28
+ ring={0}
28
29
  {...styles.content}
29
30
  {...rest}
30
31
  >
31
32
  {shouldRenderChildren ? children : null}
32
33
  </Box>
33
- </div>
34
+ </v.div>
34
35
  )
35
36
  })
36
37
 
@@ -1,7 +1,7 @@
1
1
  import React, { FC, useEffect, useState } from 'react'
2
2
  import { createPortal } from 'react-dom'
3
3
 
4
- import { ChildrenProp } from '../core/types'
4
+ import { ChildrenProp } from '../core'
5
5
  import { PortalProps } from './portal.types'
6
6
 
7
7
  /** Provided children are portaled to document.body or custom container. */
@@ -35,9 +35,7 @@ export const Tbody = vui<'tbody', TbodyProps>((props, ref) => {
35
35
  rows?.map((row, index) => (
36
36
  <Tr key={index}>
37
37
  {columns?.map(column => (
38
- <Td key={column.field} {...column}>
39
- {row[column.field]}
40
- </Td>
38
+ <Td key={column.field}>{row[column.field]}</Td>
41
39
  ))}
42
40
  </Tr>
43
41
  ))}
package/src/tabs/tabs.tsx CHANGED
@@ -1,4 +1,4 @@
1
- import React, { ReactElement, useEffect } from 'react'
1
+ import React, { Children, ReactElement, useEffect } from 'react'
2
2
 
3
3
  import { styled, useStyleConfig, vui } from '../core'
4
4
  import { P } from '../p'
@@ -16,7 +16,7 @@ export const TabsBase = styled.divBox<TabsProps>`
16
16
  * Implements Tabs navigation to switch between views.
17
17
  */
18
18
  export const Tabs = vui<'div', TabsProps>((props, ref) => {
19
- const { activeTabId, children, className, size, onTabClick, ...rest } = props
19
+ const { activeTabId, showBorder = true, children, className, size, onTabClick, ...rest } = props
20
20
  const styles = useStyleConfig('Tabs', props)
21
21
  const { tabs, setTabs, activeTabIndex, setActiveTabIndex, animationDirection, setAnimationDirection } = useTabsState(
22
22
  'fadeIn',
@@ -26,16 +26,16 @@ export const Tabs = vui<'div', TabsProps>((props, ref) => {
26
26
  useEffect(() => {
27
27
  const t: TabProps[] = []
28
28
  if (children) {
29
- ;(children as ReactElement[]).forEach((child: ReactElement<TabProps>, index: number) => {
30
- if (child?.props?.title) {
29
+ ;(Children.toArray(children) as ReactElement[]).forEach((child: ReactElement<TabProps>, index: number) => {
30
+ if (child?.props?.title)
31
31
  t.push({
32
32
  id: index,
33
33
  title: child.props.title,
34
+ icon: child.props.icon,
34
35
  children: child.props.children,
35
36
  disabled: child.props.disabled,
36
37
  onClick: child.props.onClick
37
38
  })
38
- }
39
39
  })
40
40
  }
41
41
  setTabs(t)
@@ -60,6 +60,7 @@ export const Tabs = vui<'div', TabsProps>((props, ref) => {
60
60
  activeNavItem={activeTabIndex}
61
61
  animationDirection={animationDirection}
62
62
  onNavItemClick={onNavItemClick}
63
+ showBorder={showBorder}
63
64
  size={size}
64
65
  tabs={tabs}
65
66
  />
@@ -1,31 +1,37 @@
1
1
  import { ReactNode } from 'react'
2
2
 
3
+ import { ChildrenProp } from '../core'
4
+ import { IconProp } from '../icon'
3
5
  import { SystemProps } from '../system'
4
6
  import { ThemingProps } from '../theme'
5
7
 
6
8
  export type AnimationDirection = 'fadeLeft' | 'fadeRight' | 'fadeIn'
7
9
 
8
10
  export type TabsSize = 'md' | 'sm' | 'lg' | 'xl'
11
+ export type NavBarIconSize = 'md' | 'xs' | 'sm' | 'lg' | undefined
9
12
 
10
13
  export type TabsProps = SystemProps &
11
- ThemingProps<'Tabs'> & {
14
+ ThemingProps<'Tabs'> &
15
+ ChildrenProp & {
12
16
  activeTabId?: number
13
- children?: ReactNode | ReactNode[]
17
+ showBorder?: boolean
14
18
  onTabClick?: (id: number) => void
15
19
  }
16
20
 
17
- export type TabProps = SystemProps & {
18
- id?: number
19
- title: ReactNode
20
- children?: ReactNode
21
- disabled?: boolean
22
- onClick?: () => void
23
- }
21
+ export type TabProps = SystemProps &
22
+ ChildrenProp & {
23
+ icon?: IconProp
24
+ id?: number
25
+ title: ReactNode
26
+ disabled?: boolean
27
+ onClick?: () => void
28
+ }
24
29
 
25
30
  export type TabNavBarProps = {
26
31
  tabs: TabProps[]
27
32
  onNavItemClick: (id: number) => void
28
33
  activeNavItem?: number
29
34
  animationDirection?: AnimationDirection
35
+ showBorder?: boolean
30
36
  size?: TabsSize
31
37
  }
@@ -2,16 +2,25 @@ import React from 'react'
2
2
 
3
3
  import Box from '../box'
4
4
  import { vui } from '../core'
5
+ import { Icon } from '../icon'
5
6
  import { List, ListItem } from '../list'
6
- import { cs } from '../utils'
7
- import { TabNavBarProps } from './tabs.types'
7
+ import { cs, Dict } from '../utils'
8
+ import { NavBarIconSize, TabNavBarProps } from './tabs.types'
9
+
10
+ const iconSizeMapper: Dict = {
11
+ sm: 'xs',
12
+ md: 'sm',
13
+ lg: 'md',
14
+ xl: 'lg'
15
+ }
8
16
 
9
17
  export const TabsNavBar = vui<'div', TabNavBarProps>((props, ref) => {
10
- const { tabs, onNavItemClick, activeNavItem, animationDirection, size } = props
18
+ const { tabs, onNavItemClick, activeNavItem, animationDirection, showBorder, size = 'md' } = props
19
+ const iconSize: NavBarIconSize = iconSizeMapper?.[size as string] || 'md'
11
20
 
12
21
  return (
13
22
  <List
14
- borderBottom="1px solid grey.40"
23
+ borderBottom={showBorder ? '1px solid grey.40' : 'none'}
15
24
  className={cs('vui-tabsNavBar')}
16
25
  display="flex"
17
26
  isInteractive
@@ -25,10 +34,13 @@ export const TabsNavBar = vui<'div', TabNavBarProps>((props, ref) => {
25
34
  disabled={tab.disabled}
26
35
  display="inline-flex"
27
36
  key={tab.id}
28
- onClick={() => tab?.id !== undefined && onNavItemClick(tab.id)}
37
+ onClick={() => onNavItemClick?.(tab.id || 0)}
29
38
  position="relative"
30
39
  >
31
- {tab.title}
40
+ <Box alignItems="center">
41
+ {!!tab.icon && <Icon mr={1} name={tab.icon} size={iconSize} />}
42
+ {tab.title}
43
+ </Box>
32
44
  {!tab.disabled && tab.id === activeNavItem && (
33
45
  <Box
34
46
  animation={animationDirection}
@@ -1,11 +1,10 @@
1
1
  import React, { ReactNode } from 'react'
2
- import ReactDOM from 'react-dom'
3
2
 
4
3
  import { Box } from '../box'
5
4
  import { VuiProvider } from '../core'
6
5
  import { Notification, NotificationStatus } from '../notification'
7
6
  import { zIndices } from '../theme'
8
- import { addContainer, uid } from '../utils'
7
+ import { addContainer, reactDomRender, uid } from '../utils'
9
8
  import { ToastOptions, ToastSetup } from './toast.types'
10
9
 
11
10
  const wrapperId = 'toastsWrapper'
@@ -18,9 +17,8 @@ const setup: ToastSetup = {
18
17
  componentList: []
19
18
  }
20
19
 
21
- const render = (): void =>
22
- // eslint-disable-next-line react/no-render-return-value
23
- ReactDOM.render(
20
+ const render = (): void => {
21
+ const content = (
24
22
  <VuiProvider>
25
23
  <Box
26
24
  bottom="1rem"
@@ -36,10 +34,12 @@ const render = (): void =>
36
34
  <div key={item.id}>{item.component}</div>
37
35
  ))}
38
36
  </Box>
39
- </VuiProvider>,
40
- document.getElementById(wrapperId)
37
+ </VuiProvider>
41
38
  )
42
39
 
40
+ reactDomRender(wrapperId, content)
41
+ }
42
+
43
43
  const hide = (id: string): void => {
44
44
  setup.componentList = setup.componentList.filter(i => i.id !== id)
45
45
  render()
@@ -1,11 +1,4 @@
1
- export const animation = {
2
- top: 'fadeDown',
3
- right: 'fadeLeft',
4
- bottom: 'fadeUp',
5
- left: 'fadeRight'
6
- }
7
-
8
- export const pointerSize = 8
1
+ export const pointerSize = 12
9
2
 
10
3
  export const color = 'prussian.80'
11
4
 
@@ -28,13 +21,13 @@ export const pointerPlacement = {
28
21
  top: `50%`,
29
22
  bottom: 'auto',
30
23
  left: 'auto',
31
- right: '0',
24
+ right: '-4px',
32
25
  translate: '-50%, -50%'
33
26
  },
34
27
  right: {
35
28
  top: `50%`,
36
29
  bottom: 'auto',
37
- left: `${pointerSize / 2}px`,
30
+ left: '2px',
38
31
  right: 'auto',
39
32
  translate: '0, -50%'
40
33
  }
@@ -1,8 +1,10 @@
1
1
  import React from 'react'
2
2
 
3
3
  import Box from '../box'
4
+ import { useUp } from '../core'
5
+ import { Link } from '../link'
4
6
  import Popover from '../popover'
5
- import { animation, color, pointerPlacement, pointerSize } from './tooltip.setup'
7
+ import { color, pointerPlacement, pointerSize } from './tooltip.setup'
6
8
  import { TooltipProps } from './tooltip.types'
7
9
 
8
10
  /**
@@ -12,24 +14,23 @@ import { TooltipProps } from './tooltip.types'
12
14
  *
13
15
  * */
14
16
  export const Tooltip = (props: TooltipProps) => {
15
- const { children, maxWidth = '400px', text = 'demo', placement = 'top', isAnimated = false } = props
16
-
17
+ const {
18
+ children,
19
+ fontSize = '16px',
20
+ linkText,
21
+ linkProps,
22
+ maxWidth = '400px',
23
+ text = 'demo',
24
+ placement = 'top'
25
+ } = props
26
+ const isDesktop = useUp('md')
17
27
  return (
18
28
  <Popover placement={placement} trigger="mouseenter">
19
29
  <Popover.Trigger as={Box} display="inline-block">
20
30
  <Box display="inline-block">{children}</Box>
21
31
  </Popover.Trigger>
22
- <Popover.Content
23
- animation={isAnimated ? animation[placement] : undefined}
24
- bg={color}
25
- color="white"
26
- m={1}
27
- maxW={maxWidth}
28
- p={1}
29
- pl={2}
30
- pr={2}
31
- >
32
- {!isAnimated && (
32
+ <Popover.Content bg={color} color="white" fontSize={fontSize} m={1} maxW={maxWidth} p={1} pl={2} pr={2}>
33
+ {isDesktop && (
33
34
  <Box
34
35
  bg={color}
35
36
  bottom={pointerPlacement[placement].bottom}
@@ -43,6 +44,14 @@ export const Tooltip = (props: TooltipProps) => {
43
44
  />
44
45
  )}
45
46
  {text}
47
+ {!!linkText && (
48
+ <>
49
+ &nbsp;
50
+ <Link variant="light" {...linkProps}>
51
+ {linkText}
52
+ </Link>
53
+ </>
54
+ )}
46
55
  </Popover.Content>
47
56
  </Popover>
48
57
  )
@@ -1,13 +1,17 @@
1
- import { ReactNode } from 'react'
1
+ import { ChildrenProp } from '../core'
2
+ import { LinkProps } from '../link'
2
3
 
3
- export type TooltipProps = {
4
+ export interface TooltipProps extends ChildrenProp {
5
+ /** Font size. */
6
+ fontSize?: '16px' | '14px'
4
7
  /** Displays given text at the tooltip. */
5
8
  text?: string
6
9
  /** Tooltip position. */
7
10
  placement?: 'top' | 'left' | 'bottom' | 'right'
8
- /** Displays the tooltip with animation, without the arrow pointer. */
9
- isAnimated?: boolean
10
11
  /** Sets maximum width to the tooltip body. */
11
12
  maxWidth?: string
12
- children?: ReactNode
13
+ /** Link text that will be concatenated to the end of the tooltip text. */
14
+ linkText?: string
15
+ /** The <Link /> props. */
16
+ linkProps?: LinkProps
13
17
  }