@bifold/core 2.3.0 → 2.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 (596) hide show
  1. package/lib/commonjs/App.js +1 -1
  2. package/lib/commonjs/App.js.map +1 -1
  3. package/lib/commonjs/components/animated/ButtonLoading.js +2 -2
  4. package/lib/commonjs/components/animated/ButtonLoading.js.map +1 -1
  5. package/lib/commonjs/components/animated/ConnectionLoading.js +3 -3
  6. package/lib/commonjs/components/animated/ConnectionLoading.js.map +1 -1
  7. package/lib/commonjs/components/animated/LoadingIndicator.js +2 -2
  8. package/lib/commonjs/components/animated/LoadingIndicator.js.map +1 -1
  9. package/lib/commonjs/components/animated/PresentationLoading.js +3 -3
  10. package/lib/commonjs/components/animated/PresentationLoading.js.map +1 -1
  11. package/lib/commonjs/components/animated/RecordLoading.js +5 -5
  12. package/lib/commonjs/components/animated/RecordLoading.js.map +1 -1
  13. package/lib/commonjs/components/animated/SendingProof.js +3 -3
  14. package/lib/commonjs/components/animated/SendingProof.js.map +1 -1
  15. package/lib/commonjs/components/animated/SentProof.js +3 -3
  16. package/lib/commonjs/components/animated/SentProof.js.map +1 -1
  17. package/lib/commonjs/components/buttons/Button.js +1 -1
  18. package/lib/commonjs/components/buttons/Button.js.map +1 -1
  19. package/lib/commonjs/components/buttons/IconButton.js +3 -3
  20. package/lib/commonjs/components/buttons/IconButton.js.map +1 -1
  21. package/lib/commonjs/components/buttons/ToggleButton.js +3 -3
  22. package/lib/commonjs/components/buttons/ToggleButton.js.map +1 -1
  23. package/lib/commonjs/components/chat/ActionSlider.js +3 -3
  24. package/lib/commonjs/components/chat/ActionSlider.js.map +1 -1
  25. package/lib/commonjs/components/forms/WalletNameForm.js +2 -2
  26. package/lib/commonjs/components/forms/WalletNameForm.js.map +1 -1
  27. package/lib/commonjs/components/inputs/BiometryControl.js +2 -2
  28. package/lib/commonjs/components/inputs/BiometryControl.js.map +1 -1
  29. package/lib/commonjs/components/inputs/BulletPoint.js +2 -2
  30. package/lib/commonjs/components/inputs/BulletPoint.js.map +1 -1
  31. package/lib/commonjs/components/listItems/ContactCredentialListItem.js +3 -3
  32. package/lib/commonjs/components/listItems/ContactCredentialListItem.js.map +1 -1
  33. package/lib/commonjs/components/listItems/ContactListItem.js +2 -2
  34. package/lib/commonjs/components/listItems/ContactListItem.js.map +1 -1
  35. package/lib/commonjs/components/listItems/NotificationListItem.js +22 -22
  36. package/lib/commonjs/components/listItems/NotificationListItem.js.map +1 -1
  37. package/lib/commonjs/components/misc/ConnectionAlert.js +5 -5
  38. package/lib/commonjs/components/misc/ConnectionAlert.js.map +1 -1
  39. package/lib/commonjs/components/misc/ConnectionImage.js +3 -3
  40. package/lib/commonjs/components/misc/ConnectionImage.js.map +1 -1
  41. package/lib/commonjs/components/misc/CredentialCard.js +2 -2
  42. package/lib/commonjs/components/misc/CredentialCard.js.map +1 -1
  43. package/lib/commonjs/components/misc/CredentialCard10.js +6 -6
  44. package/lib/commonjs/components/misc/CredentialCard10.js.map +1 -1
  45. package/lib/commonjs/components/misc/CredentialCard11.js +12 -12
  46. package/lib/commonjs/components/misc/CredentialCard11.js.map +1 -1
  47. package/lib/commonjs/components/misc/CredentialCard11ActionFooter.js +3 -3
  48. package/lib/commonjs/components/misc/CredentialCard11ActionFooter.js.map +1 -1
  49. package/lib/commonjs/components/misc/EmptyList.js +2 -2
  50. package/lib/commonjs/components/misc/EmptyList.js.map +1 -1
  51. package/lib/commonjs/components/misc/EmptyListContacts.js +2 -2
  52. package/lib/commonjs/components/misc/EmptyListContacts.js.map +1 -1
  53. package/lib/commonjs/components/misc/FauxHeader.js +2 -2
  54. package/lib/commonjs/components/misc/FauxHeader.js.map +1 -1
  55. package/lib/commonjs/components/misc/InfoBox.js +29 -29
  56. package/lib/commonjs/components/misc/InfoBox.js.map +1 -1
  57. package/lib/commonjs/components/misc/NoNewUpdates.js +2 -2
  58. package/lib/commonjs/components/misc/NoNewUpdates.js.map +1 -1
  59. package/lib/commonjs/components/misc/PINValidationHelper.js +3 -3
  60. package/lib/commonjs/components/misc/PINValidationHelper.js.map +1 -1
  61. package/lib/commonjs/components/misc/QRRenderer.js +2 -2
  62. package/lib/commonjs/components/misc/QRRenderer.js.map +1 -1
  63. package/lib/commonjs/components/misc/QRScanner.js +3 -3
  64. package/lib/commonjs/components/misc/QRScanner.js.map +1 -1
  65. package/lib/commonjs/components/misc/QRScannerTorch.js +4 -4
  66. package/lib/commonjs/components/misc/QRScannerTorch.js.map +1 -1
  67. package/lib/commonjs/components/misc/SharedProofData.js +2 -2
  68. package/lib/commonjs/components/misc/SharedProofData.js.map +1 -1
  69. package/lib/commonjs/components/misc/UnorderedList.js +3 -3
  70. package/lib/commonjs/components/misc/UnorderedList.js.map +1 -1
  71. package/lib/commonjs/components/misc/VerifierCredentialCard.js +7 -7
  72. package/lib/commonjs/components/misc/VerifierCredentialCard.js.map +1 -1
  73. package/lib/commonjs/components/modals/AppGuideModal.js +7 -7
  74. package/lib/commonjs/components/modals/AppGuideModal.js.map +1 -1
  75. package/lib/commonjs/components/modals/CameraDisclosureModal.js +4 -4
  76. package/lib/commonjs/components/modals/CameraDisclosureModal.js.map +1 -1
  77. package/lib/commonjs/components/modals/CommonRemoveModal.js +7 -7
  78. package/lib/commonjs/components/modals/CommonRemoveModal.js.map +1 -1
  79. package/lib/commonjs/components/modals/DismissiblePopupModal.js +7 -7
  80. package/lib/commonjs/components/modals/DismissiblePopupModal.js.map +1 -1
  81. package/lib/commonjs/components/modals/ErrorModal.js +4 -4
  82. package/lib/commonjs/components/modals/ErrorModal.js.map +1 -1
  83. package/lib/commonjs/components/modals/ImageModal.js +4 -4
  84. package/lib/commonjs/components/modals/ImageModal.js.map +1 -1
  85. package/lib/commonjs/components/modals/PopupModal.js +2 -2
  86. package/lib/commonjs/components/modals/PopupModal.js.map +1 -1
  87. package/lib/commonjs/components/modals/ProofCancelModal.js +2 -2
  88. package/lib/commonjs/components/modals/ProofCancelModal.js.map +1 -1
  89. package/lib/commonjs/components/record/RecordFooter.js +2 -2
  90. package/lib/commonjs/components/record/RecordFooter.js.map +1 -1
  91. package/lib/commonjs/components/record/RecordHeader.js +2 -2
  92. package/lib/commonjs/components/record/RecordHeader.js.map +1 -1
  93. package/lib/commonjs/components/record/RecordRemove.js +5 -5
  94. package/lib/commonjs/components/record/RecordRemove.js.map +1 -1
  95. package/lib/commonjs/components/texts/HighlightTextBox.js +3 -3
  96. package/lib/commonjs/components/texts/HighlightTextBox.js.map +1 -1
  97. package/lib/commonjs/components/texts/InfoTextBox.js +17 -17
  98. package/lib/commonjs/components/texts/InfoTextBox.js.map +1 -1
  99. package/lib/commonjs/components/texts/Link.js +2 -2
  100. package/lib/commonjs/components/texts/Link.js.map +1 -1
  101. package/lib/commonjs/components/toast/BaseToast.js +17 -17
  102. package/lib/commonjs/components/toast/BaseToast.js.map +1 -1
  103. package/lib/commonjs/components/tour/CredentialOfferTourSteps.js +2 -2
  104. package/lib/commonjs/components/tour/CredentialOfferTourSteps.js.map +1 -1
  105. package/lib/commonjs/components/tour/CredentialsTourSteps.js +2 -2
  106. package/lib/commonjs/components/tour/CredentialsTourSteps.js.map +1 -1
  107. package/lib/commonjs/components/tour/HomeTourSteps.js +6 -6
  108. package/lib/commonjs/components/tour/HomeTourSteps.js.map +1 -1
  109. package/lib/commonjs/components/tour/ProofRequestTourSteps.js +2 -2
  110. package/lib/commonjs/components/tour/ProofRequestTourSteps.js.map +1 -1
  111. package/lib/commonjs/components/tour/TourBox.js +6 -6
  112. package/lib/commonjs/components/tour/TourBox.js.map +1 -1
  113. package/lib/commonjs/components/views/Banner.js +19 -9
  114. package/lib/commonjs/components/views/Banner.js.map +1 -1
  115. package/lib/commonjs/components/views/CredentialDetailPrimaryHeader.js +3 -3
  116. package/lib/commonjs/components/views/CredentialDetailPrimaryHeader.js.map +1 -1
  117. package/lib/commonjs/components/views/KeyboardView.js +2 -2
  118. package/lib/commonjs/components/views/KeyboardView.js.map +1 -1
  119. package/lib/commonjs/components/views/ProgressBar.js +3 -3
  120. package/lib/commonjs/components/views/ProgressBar.js.map +1 -1
  121. package/lib/commonjs/contexts/reducers/store.js +2 -1
  122. package/lib/commonjs/contexts/reducers/store.js.map +1 -1
  123. package/lib/commonjs/hooks/chat-messages.js +3 -3
  124. package/lib/commonjs/hooks/chat-messages.js.map +1 -1
  125. package/lib/commonjs/hooks/credential-card-styles.js +4 -4
  126. package/lib/commonjs/hooks/credential-card-styles.js.map +1 -1
  127. package/lib/commonjs/index.js +11 -3
  128. package/lib/commonjs/index.js.map +1 -1
  129. package/lib/commonjs/modules/history/ui/HistoryPage.js +2 -2
  130. package/lib/commonjs/modules/history/ui/HistoryPage.js.map +1 -1
  131. package/lib/commonjs/modules/history/ui/HistorySettings.js +2 -2
  132. package/lib/commonjs/modules/history/ui/HistorySettings.js.map +1 -1
  133. package/lib/commonjs/modules/history/ui/components/HistoryListItem.js +2 -2
  134. package/lib/commonjs/modules/history/ui/components/HistoryListItem.js.map +1 -1
  135. package/lib/commonjs/modules/openid/components/OpenIDCredentialCard.js +5 -5
  136. package/lib/commonjs/modules/openid/components/OpenIDCredentialCard.js.map +1 -1
  137. package/lib/commonjs/modules/openid/screens/OpenIDCredentialDetails.js +2 -2
  138. package/lib/commonjs/modules/openid/screens/OpenIDCredentialDetails.js.map +1 -1
  139. package/lib/commonjs/modules/openid/screens/OpenIDCredentialOffer.js +2 -2
  140. package/lib/commonjs/modules/openid/screens/OpenIDCredentialOffer.js.map +1 -1
  141. package/lib/commonjs/modules/openid/screens/OpenIDProofChangeCredential.js +2 -2
  142. package/lib/commonjs/modules/openid/screens/OpenIDProofChangeCredential.js.map +1 -1
  143. package/lib/commonjs/modules/openid/screens/OpenIDProofPresentation.js +4 -4
  144. package/lib/commonjs/modules/openid/screens/OpenIDProofPresentation.js.map +1 -1
  145. package/lib/commonjs/navigators/TabStack.js +2 -2
  146. package/lib/commonjs/navigators/TabStack.js.map +1 -1
  147. package/lib/commonjs/navigators/defaultStackOptions.js +3 -3
  148. package/lib/commonjs/navigators/defaultStackOptions.js.map +1 -1
  149. package/lib/commonjs/screens/AttemptLockout.js +2 -2
  150. package/lib/commonjs/screens/AttemptLockout.js.map +1 -1
  151. package/lib/commonjs/screens/AutoLock.js +7 -7
  152. package/lib/commonjs/screens/AutoLock.js.map +1 -1
  153. package/lib/commonjs/screens/ConfigureMediator.js +7 -7
  154. package/lib/commonjs/screens/ConfigureMediator.js.map +1 -1
  155. package/lib/commonjs/screens/ContactDetails.js +9 -9
  156. package/lib/commonjs/screens/ContactDetails.js.map +1 -1
  157. package/lib/commonjs/screens/CredentialDetails.js +16 -16
  158. package/lib/commonjs/screens/CredentialDetails.js.map +1 -1
  159. package/lib/commonjs/screens/CredentialOffer.js +2 -2
  160. package/lib/commonjs/screens/CredentialOffer.js.map +1 -1
  161. package/lib/commonjs/screens/DataRetention.js +11 -11
  162. package/lib/commonjs/screens/DataRetention.js.map +1 -1
  163. package/lib/commonjs/screens/Developer.js +29 -29
  164. package/lib/commonjs/screens/Developer.js.map +1 -1
  165. package/lib/commonjs/screens/Home.js +2 -2
  166. package/lib/commonjs/screens/Home.js.map +1 -1
  167. package/lib/commonjs/screens/JSONDetails.js +3 -3
  168. package/lib/commonjs/screens/JSONDetails.js.map +1 -1
  169. package/lib/commonjs/screens/Language.js +7 -7
  170. package/lib/commonjs/screens/Language.js.map +1 -1
  171. package/lib/commonjs/screens/ListContacts.js +3 -3
  172. package/lib/commonjs/screens/ListContacts.js.map +1 -1
  173. package/lib/commonjs/screens/ListCredentials.js +2 -2
  174. package/lib/commonjs/screens/ListCredentials.js.map +1 -1
  175. package/lib/commonjs/screens/ListProofRequests.js +2 -2
  176. package/lib/commonjs/screens/ListProofRequests.js.map +1 -1
  177. package/lib/commonjs/screens/MobileVerifierLoading.js +3 -3
  178. package/lib/commonjs/screens/MobileVerifierLoading.js.map +1 -1
  179. package/lib/commonjs/screens/PINChange.js +2 -2
  180. package/lib/commonjs/screens/PINChange.js.map +1 -1
  181. package/lib/commonjs/screens/PINCreate.js +2 -2
  182. package/lib/commonjs/screens/PINCreate.js.map +1 -1
  183. package/lib/commonjs/screens/PINEnter.js +3 -3
  184. package/lib/commonjs/screens/PINEnter.js.map +1 -1
  185. package/lib/commonjs/screens/PINExplainer.js +3 -3
  186. package/lib/commonjs/screens/PINExplainer.js.map +1 -1
  187. package/lib/commonjs/screens/PINVerify.js +2 -2
  188. package/lib/commonjs/screens/PINVerify.js.map +1 -1
  189. package/lib/commonjs/screens/PasteUrl.js +4 -4
  190. package/lib/commonjs/screens/PasteUrl.js.map +1 -1
  191. package/lib/commonjs/screens/ProofChangeCredential.js +2 -2
  192. package/lib/commonjs/screens/ProofChangeCredential.js.map +1 -1
  193. package/lib/commonjs/screens/ProofDetails.js +3 -3
  194. package/lib/commonjs/screens/ProofDetails.js.map +1 -1
  195. package/lib/commonjs/screens/ProofRequest.js +7 -7
  196. package/lib/commonjs/screens/ProofRequest.js.map +1 -1
  197. package/lib/commonjs/screens/ProofRequestAccept.js +3 -3
  198. package/lib/commonjs/screens/ProofRequestAccept.js.map +1 -1
  199. package/lib/commonjs/screens/ProofRequestDetails.js +4 -4
  200. package/lib/commonjs/screens/ProofRequestDetails.js.map +1 -1
  201. package/lib/commonjs/screens/ProofRequestUsageHistory.js +2 -2
  202. package/lib/commonjs/screens/ProofRequestUsageHistory.js.map +1 -1
  203. package/lib/commonjs/screens/ProofRequesting.js +5 -5
  204. package/lib/commonjs/screens/ProofRequesting.js.map +1 -1
  205. package/lib/commonjs/screens/RenameContact.js +2 -2
  206. package/lib/commonjs/screens/RenameContact.js.map +1 -1
  207. package/lib/commonjs/screens/Settings.js +5 -5
  208. package/lib/commonjs/screens/Settings.js.map +1 -1
  209. package/lib/commonjs/screens/Splash.js +2 -2
  210. package/lib/commonjs/screens/Splash.js.map +1 -1
  211. package/lib/commonjs/screens/ToggleBiometry.js +2 -2
  212. package/lib/commonjs/screens/ToggleBiometry.js.map +1 -1
  213. package/lib/commonjs/screens/TogglePushNotifications.js +5 -5
  214. package/lib/commonjs/screens/TogglePushNotifications.js.map +1 -1
  215. package/lib/commonjs/screens/Tours.js +5 -5
  216. package/lib/commonjs/screens/Tours.js.map +1 -1
  217. package/lib/commonjs/screens/UpdateAvailable.js +2 -2
  218. package/lib/commonjs/screens/UpdateAvailable.js.map +1 -1
  219. package/lib/commonjs/screens/WhatAreContacts.js +2 -2
  220. package/lib/commonjs/screens/WhatAreContacts.js.map +1 -1
  221. package/lib/commonjs/theme-builder.js +116 -0
  222. package/lib/commonjs/theme-builder.js.map +1 -0
  223. package/lib/commonjs/theme.interface.js +6 -0
  224. package/lib/commonjs/theme.interface.js.map +1 -0
  225. package/lib/commonjs/theme.js +904 -670
  226. package/lib/commonjs/theme.js.map +1 -1
  227. package/lib/commonjs/utils/credential.js +3 -3
  228. package/lib/commonjs/utils/credential.js.map +1 -1
  229. package/lib/commonjs/utils/mediatorhelpers.js +16 -12
  230. package/lib/commonjs/utils/mediatorhelpers.js.map +1 -1
  231. package/lib/module/App.js +1 -1
  232. package/lib/module/App.js.map +1 -1
  233. package/lib/module/components/animated/ButtonLoading.js +2 -2
  234. package/lib/module/components/animated/ButtonLoading.js.map +1 -1
  235. package/lib/module/components/animated/ConnectionLoading.js +3 -3
  236. package/lib/module/components/animated/ConnectionLoading.js.map +1 -1
  237. package/lib/module/components/animated/LoadingIndicator.js +2 -2
  238. package/lib/module/components/animated/LoadingIndicator.js.map +1 -1
  239. package/lib/module/components/animated/PresentationLoading.js +3 -3
  240. package/lib/module/components/animated/PresentationLoading.js.map +1 -1
  241. package/lib/module/components/animated/RecordLoading.js +5 -5
  242. package/lib/module/components/animated/RecordLoading.js.map +1 -1
  243. package/lib/module/components/animated/SendingProof.js +3 -3
  244. package/lib/module/components/animated/SendingProof.js.map +1 -1
  245. package/lib/module/components/animated/SentProof.js +3 -3
  246. package/lib/module/components/animated/SentProof.js.map +1 -1
  247. package/lib/module/components/buttons/Button.js +1 -1
  248. package/lib/module/components/buttons/Button.js.map +1 -1
  249. package/lib/module/components/buttons/IconButton.js +3 -3
  250. package/lib/module/components/buttons/IconButton.js.map +1 -1
  251. package/lib/module/components/buttons/ToggleButton.js +3 -3
  252. package/lib/module/components/buttons/ToggleButton.js.map +1 -1
  253. package/lib/module/components/chat/ActionSlider.js +3 -3
  254. package/lib/module/components/chat/ActionSlider.js.map +1 -1
  255. package/lib/module/components/forms/WalletNameForm.js +2 -2
  256. package/lib/module/components/forms/WalletNameForm.js.map +1 -1
  257. package/lib/module/components/inputs/BiometryControl.js +2 -2
  258. package/lib/module/components/inputs/BiometryControl.js.map +1 -1
  259. package/lib/module/components/inputs/BulletPoint.js +2 -2
  260. package/lib/module/components/inputs/BulletPoint.js.map +1 -1
  261. package/lib/module/components/listItems/ContactCredentialListItem.js +3 -3
  262. package/lib/module/components/listItems/ContactCredentialListItem.js.map +1 -1
  263. package/lib/module/components/listItems/ContactListItem.js +2 -2
  264. package/lib/module/components/listItems/ContactListItem.js.map +1 -1
  265. package/lib/module/components/listItems/NotificationListItem.js +22 -22
  266. package/lib/module/components/listItems/NotificationListItem.js.map +1 -1
  267. package/lib/module/components/misc/ConnectionAlert.js +5 -5
  268. package/lib/module/components/misc/ConnectionAlert.js.map +1 -1
  269. package/lib/module/components/misc/ConnectionImage.js +3 -3
  270. package/lib/module/components/misc/ConnectionImage.js.map +1 -1
  271. package/lib/module/components/misc/CredentialCard.js +2 -2
  272. package/lib/module/components/misc/CredentialCard.js.map +1 -1
  273. package/lib/module/components/misc/CredentialCard10.js +6 -6
  274. package/lib/module/components/misc/CredentialCard10.js.map +1 -1
  275. package/lib/module/components/misc/CredentialCard11.js +12 -12
  276. package/lib/module/components/misc/CredentialCard11.js.map +1 -1
  277. package/lib/module/components/misc/CredentialCard11ActionFooter.js +3 -3
  278. package/lib/module/components/misc/CredentialCard11ActionFooter.js.map +1 -1
  279. package/lib/module/components/misc/EmptyList.js +2 -2
  280. package/lib/module/components/misc/EmptyList.js.map +1 -1
  281. package/lib/module/components/misc/EmptyListContacts.js +2 -2
  282. package/lib/module/components/misc/EmptyListContacts.js.map +1 -1
  283. package/lib/module/components/misc/FauxHeader.js +2 -2
  284. package/lib/module/components/misc/FauxHeader.js.map +1 -1
  285. package/lib/module/components/misc/InfoBox.js +29 -29
  286. package/lib/module/components/misc/InfoBox.js.map +1 -1
  287. package/lib/module/components/misc/NoNewUpdates.js +2 -2
  288. package/lib/module/components/misc/NoNewUpdates.js.map +1 -1
  289. package/lib/module/components/misc/PINValidationHelper.js +3 -3
  290. package/lib/module/components/misc/PINValidationHelper.js.map +1 -1
  291. package/lib/module/components/misc/QRRenderer.js +2 -2
  292. package/lib/module/components/misc/QRRenderer.js.map +1 -1
  293. package/lib/module/components/misc/QRScanner.js +3 -3
  294. package/lib/module/components/misc/QRScanner.js.map +1 -1
  295. package/lib/module/components/misc/QRScannerTorch.js +4 -4
  296. package/lib/module/components/misc/QRScannerTorch.js.map +1 -1
  297. package/lib/module/components/misc/SharedProofData.js +2 -2
  298. package/lib/module/components/misc/SharedProofData.js.map +1 -1
  299. package/lib/module/components/misc/UnorderedList.js +3 -3
  300. package/lib/module/components/misc/UnorderedList.js.map +1 -1
  301. package/lib/module/components/misc/VerifierCredentialCard.js +7 -7
  302. package/lib/module/components/misc/VerifierCredentialCard.js.map +1 -1
  303. package/lib/module/components/modals/AppGuideModal.js +7 -7
  304. package/lib/module/components/modals/AppGuideModal.js.map +1 -1
  305. package/lib/module/components/modals/CameraDisclosureModal.js +4 -4
  306. package/lib/module/components/modals/CameraDisclosureModal.js.map +1 -1
  307. package/lib/module/components/modals/CommonRemoveModal.js +7 -7
  308. package/lib/module/components/modals/CommonRemoveModal.js.map +1 -1
  309. package/lib/module/components/modals/DismissiblePopupModal.js +7 -7
  310. package/lib/module/components/modals/DismissiblePopupModal.js.map +1 -1
  311. package/lib/module/components/modals/ErrorModal.js +4 -4
  312. package/lib/module/components/modals/ErrorModal.js.map +1 -1
  313. package/lib/module/components/modals/ImageModal.js +4 -4
  314. package/lib/module/components/modals/ImageModal.js.map +1 -1
  315. package/lib/module/components/modals/PopupModal.js +2 -2
  316. package/lib/module/components/modals/PopupModal.js.map +1 -1
  317. package/lib/module/components/modals/ProofCancelModal.js +2 -2
  318. package/lib/module/components/modals/ProofCancelModal.js.map +1 -1
  319. package/lib/module/components/record/RecordFooter.js +2 -2
  320. package/lib/module/components/record/RecordFooter.js.map +1 -1
  321. package/lib/module/components/record/RecordHeader.js +2 -2
  322. package/lib/module/components/record/RecordHeader.js.map +1 -1
  323. package/lib/module/components/record/RecordRemove.js +5 -5
  324. package/lib/module/components/record/RecordRemove.js.map +1 -1
  325. package/lib/module/components/texts/HighlightTextBox.js +3 -3
  326. package/lib/module/components/texts/HighlightTextBox.js.map +1 -1
  327. package/lib/module/components/texts/InfoTextBox.js +17 -17
  328. package/lib/module/components/texts/InfoTextBox.js.map +1 -1
  329. package/lib/module/components/texts/Link.js +2 -2
  330. package/lib/module/components/texts/Link.js.map +1 -1
  331. package/lib/module/components/toast/BaseToast.js +17 -17
  332. package/lib/module/components/toast/BaseToast.js.map +1 -1
  333. package/lib/module/components/tour/CredentialOfferTourSteps.js +2 -2
  334. package/lib/module/components/tour/CredentialOfferTourSteps.js.map +1 -1
  335. package/lib/module/components/tour/CredentialsTourSteps.js +2 -2
  336. package/lib/module/components/tour/CredentialsTourSteps.js.map +1 -1
  337. package/lib/module/components/tour/HomeTourSteps.js +6 -6
  338. package/lib/module/components/tour/HomeTourSteps.js.map +1 -1
  339. package/lib/module/components/tour/ProofRequestTourSteps.js +2 -2
  340. package/lib/module/components/tour/ProofRequestTourSteps.js.map +1 -1
  341. package/lib/module/components/tour/TourBox.js +6 -6
  342. package/lib/module/components/tour/TourBox.js.map +1 -1
  343. package/lib/module/components/views/Banner.js +19 -9
  344. package/lib/module/components/views/Banner.js.map +1 -1
  345. package/lib/module/components/views/CredentialDetailPrimaryHeader.js +3 -3
  346. package/lib/module/components/views/CredentialDetailPrimaryHeader.js.map +1 -1
  347. package/lib/module/components/views/KeyboardView.js +2 -2
  348. package/lib/module/components/views/KeyboardView.js.map +1 -1
  349. package/lib/module/components/views/ProgressBar.js +3 -3
  350. package/lib/module/components/views/ProgressBar.js.map +1 -1
  351. package/lib/module/contexts/reducers/store.js +2 -1
  352. package/lib/module/contexts/reducers/store.js.map +1 -1
  353. package/lib/module/hooks/chat-messages.js +3 -3
  354. package/lib/module/hooks/chat-messages.js.map +1 -1
  355. package/lib/module/hooks/credential-card-styles.js +4 -4
  356. package/lib/module/hooks/credential-card-styles.js.map +1 -1
  357. package/lib/module/index.js +3 -2
  358. package/lib/module/index.js.map +1 -1
  359. package/lib/module/modules/history/ui/HistoryPage.js +2 -2
  360. package/lib/module/modules/history/ui/HistoryPage.js.map +1 -1
  361. package/lib/module/modules/history/ui/HistorySettings.js +2 -2
  362. package/lib/module/modules/history/ui/HistorySettings.js.map +1 -1
  363. package/lib/module/modules/history/ui/components/HistoryListItem.js +2 -2
  364. package/lib/module/modules/history/ui/components/HistoryListItem.js.map +1 -1
  365. package/lib/module/modules/openid/components/OpenIDCredentialCard.js +5 -5
  366. package/lib/module/modules/openid/components/OpenIDCredentialCard.js.map +1 -1
  367. package/lib/module/modules/openid/screens/OpenIDCredentialDetails.js +2 -2
  368. package/lib/module/modules/openid/screens/OpenIDCredentialDetails.js.map +1 -1
  369. package/lib/module/modules/openid/screens/OpenIDCredentialOffer.js +2 -2
  370. package/lib/module/modules/openid/screens/OpenIDCredentialOffer.js.map +1 -1
  371. package/lib/module/modules/openid/screens/OpenIDProofChangeCredential.js +2 -2
  372. package/lib/module/modules/openid/screens/OpenIDProofChangeCredential.js.map +1 -1
  373. package/lib/module/modules/openid/screens/OpenIDProofPresentation.js +4 -4
  374. package/lib/module/modules/openid/screens/OpenIDProofPresentation.js.map +1 -1
  375. package/lib/module/navigators/TabStack.js +2 -2
  376. package/lib/module/navigators/TabStack.js.map +1 -1
  377. package/lib/module/navigators/defaultStackOptions.js +3 -3
  378. package/lib/module/navigators/defaultStackOptions.js.map +1 -1
  379. package/lib/module/screens/AttemptLockout.js +2 -2
  380. package/lib/module/screens/AttemptLockout.js.map +1 -1
  381. package/lib/module/screens/AutoLock.js +7 -7
  382. package/lib/module/screens/AutoLock.js.map +1 -1
  383. package/lib/module/screens/ConfigureMediator.js +7 -7
  384. package/lib/module/screens/ConfigureMediator.js.map +1 -1
  385. package/lib/module/screens/ContactDetails.js +9 -9
  386. package/lib/module/screens/ContactDetails.js.map +1 -1
  387. package/lib/module/screens/CredentialDetails.js +16 -16
  388. package/lib/module/screens/CredentialDetails.js.map +1 -1
  389. package/lib/module/screens/CredentialOffer.js +2 -2
  390. package/lib/module/screens/CredentialOffer.js.map +1 -1
  391. package/lib/module/screens/DataRetention.js +11 -11
  392. package/lib/module/screens/DataRetention.js.map +1 -1
  393. package/lib/module/screens/Developer.js +29 -29
  394. package/lib/module/screens/Developer.js.map +1 -1
  395. package/lib/module/screens/Home.js +2 -2
  396. package/lib/module/screens/Home.js.map +1 -1
  397. package/lib/module/screens/JSONDetails.js +3 -3
  398. package/lib/module/screens/JSONDetails.js.map +1 -1
  399. package/lib/module/screens/Language.js +7 -7
  400. package/lib/module/screens/Language.js.map +1 -1
  401. package/lib/module/screens/ListContacts.js +3 -3
  402. package/lib/module/screens/ListContacts.js.map +1 -1
  403. package/lib/module/screens/ListCredentials.js +2 -2
  404. package/lib/module/screens/ListCredentials.js.map +1 -1
  405. package/lib/module/screens/ListProofRequests.js +2 -2
  406. package/lib/module/screens/ListProofRequests.js.map +1 -1
  407. package/lib/module/screens/MobileVerifierLoading.js +3 -3
  408. package/lib/module/screens/MobileVerifierLoading.js.map +1 -1
  409. package/lib/module/screens/PINChange.js +2 -2
  410. package/lib/module/screens/PINChange.js.map +1 -1
  411. package/lib/module/screens/PINCreate.js +2 -2
  412. package/lib/module/screens/PINCreate.js.map +1 -1
  413. package/lib/module/screens/PINEnter.js +3 -3
  414. package/lib/module/screens/PINEnter.js.map +1 -1
  415. package/lib/module/screens/PINExplainer.js +3 -3
  416. package/lib/module/screens/PINExplainer.js.map +1 -1
  417. package/lib/module/screens/PINVerify.js +2 -2
  418. package/lib/module/screens/PINVerify.js.map +1 -1
  419. package/lib/module/screens/PasteUrl.js +4 -4
  420. package/lib/module/screens/PasteUrl.js.map +1 -1
  421. package/lib/module/screens/ProofChangeCredential.js +2 -2
  422. package/lib/module/screens/ProofChangeCredential.js.map +1 -1
  423. package/lib/module/screens/ProofDetails.js +3 -3
  424. package/lib/module/screens/ProofDetails.js.map +1 -1
  425. package/lib/module/screens/ProofRequest.js +7 -7
  426. package/lib/module/screens/ProofRequest.js.map +1 -1
  427. package/lib/module/screens/ProofRequestAccept.js +3 -3
  428. package/lib/module/screens/ProofRequestAccept.js.map +1 -1
  429. package/lib/module/screens/ProofRequestDetails.js +4 -4
  430. package/lib/module/screens/ProofRequestDetails.js.map +1 -1
  431. package/lib/module/screens/ProofRequestUsageHistory.js +2 -2
  432. package/lib/module/screens/ProofRequestUsageHistory.js.map +1 -1
  433. package/lib/module/screens/ProofRequesting.js +5 -5
  434. package/lib/module/screens/ProofRequesting.js.map +1 -1
  435. package/lib/module/screens/RenameContact.js +2 -2
  436. package/lib/module/screens/RenameContact.js.map +1 -1
  437. package/lib/module/screens/Settings.js +5 -5
  438. package/lib/module/screens/Settings.js.map +1 -1
  439. package/lib/module/screens/Splash.js +2 -2
  440. package/lib/module/screens/Splash.js.map +1 -1
  441. package/lib/module/screens/ToggleBiometry.js +2 -2
  442. package/lib/module/screens/ToggleBiometry.js.map +1 -1
  443. package/lib/module/screens/TogglePushNotifications.js +5 -5
  444. package/lib/module/screens/TogglePushNotifications.js.map +1 -1
  445. package/lib/module/screens/Tours.js +5 -5
  446. package/lib/module/screens/Tours.js.map +1 -1
  447. package/lib/module/screens/UpdateAvailable.js +2 -2
  448. package/lib/module/screens/UpdateAvailable.js.map +1 -1
  449. package/lib/module/screens/WhatAreContacts.js +2 -2
  450. package/lib/module/screens/WhatAreContacts.js.map +1 -1
  451. package/lib/module/theme-builder.js +109 -0
  452. package/lib/module/theme-builder.js.map +1 -0
  453. package/lib/module/theme.interface.js +2 -0
  454. package/lib/module/theme.interface.js.map +1 -0
  455. package/lib/module/theme.js +888 -669
  456. package/lib/module/theme.js.map +1 -1
  457. package/lib/module/utils/credential.js +3 -3
  458. package/lib/module/utils/credential.js.map +1 -1
  459. package/lib/module/utils/mediatorhelpers.js +16 -12
  460. package/lib/module/utils/mediatorhelpers.js.map +1 -1
  461. package/lib/typescript/src/components/buttons/IconButton.d.ts.map +1 -1
  462. package/lib/typescript/src/components/misc/CredentialCard11.d.ts.map +1 -1
  463. package/lib/typescript/src/components/views/Banner.d.ts.map +1 -1
  464. package/lib/typescript/src/contexts/reducers/store.d.ts.map +1 -1
  465. package/lib/typescript/src/hooks/credential-card-styles.d.ts +375 -13
  466. package/lib/typescript/src/hooks/credential-card-styles.d.ts.map +1 -1
  467. package/lib/typescript/src/index.d.ts +4 -3
  468. package/lib/typescript/src/index.d.ts.map +1 -1
  469. package/lib/typescript/src/navigators/defaultStackOptions.d.ts +1 -1
  470. package/lib/typescript/src/navigators/defaultStackOptions.d.ts.map +1 -1
  471. package/lib/typescript/src/screens/Developer.d.ts.map +1 -1
  472. package/lib/typescript/src/theme-builder.d.ts +62 -0
  473. package/lib/typescript/src/theme-builder.d.ts.map +1 -0
  474. package/lib/typescript/src/theme.d.ts +204 -702
  475. package/lib/typescript/src/theme.d.ts.map +1 -1
  476. package/lib/typescript/src/theme.interface.d.ts +557 -0
  477. package/lib/typescript/src/theme.interface.d.ts.map +1 -0
  478. package/lib/typescript/src/utils/credential.d.ts +1 -1
  479. package/lib/typescript/src/utils/credential.d.ts.map +1 -1
  480. package/lib/typescript/src/utils/mediatorhelpers.d.ts.map +1 -1
  481. package/package.json +3 -3
  482. package/src/App.tsx +1 -1
  483. package/src/components/animated/ButtonLoading.tsx +2 -2
  484. package/src/components/animated/ConnectionLoading.tsx +3 -3
  485. package/src/components/animated/LoadingIndicator.tsx +2 -2
  486. package/src/components/animated/PresentationLoading.tsx +3 -3
  487. package/src/components/animated/RecordLoading.tsx +5 -5
  488. package/src/components/animated/SendingProof.tsx +3 -3
  489. package/src/components/animated/SentProof.tsx +3 -3
  490. package/src/components/buttons/Button.tsx +1 -1
  491. package/src/components/buttons/IconButton.tsx +5 -3
  492. package/src/components/buttons/ToggleButton.tsx +3 -3
  493. package/src/components/chat/ActionSlider.tsx +3 -3
  494. package/src/components/forms/WalletNameForm.tsx +2 -2
  495. package/src/components/inputs/BiometryControl.tsx +2 -2
  496. package/src/components/inputs/BulletPoint.tsx +2 -2
  497. package/src/components/listItems/ContactCredentialListItem.tsx +3 -3
  498. package/src/components/listItems/ContactListItem.tsx +2 -2
  499. package/src/components/listItems/NotificationListItem.tsx +22 -22
  500. package/src/components/misc/ConnectionAlert.tsx +5 -5
  501. package/src/components/misc/ConnectionImage.tsx +3 -3
  502. package/src/components/misc/CredentialCard.tsx +2 -2
  503. package/src/components/misc/CredentialCard10.tsx +6 -6
  504. package/src/components/misc/CredentialCard11.tsx +16 -12
  505. package/src/components/misc/CredentialCard11ActionFooter.tsx +3 -3
  506. package/src/components/misc/EmptyList.tsx +2 -2
  507. package/src/components/misc/EmptyListContacts.tsx +2 -2
  508. package/src/components/misc/FauxHeader.tsx +2 -2
  509. package/src/components/misc/InfoBox.tsx +29 -29
  510. package/src/components/misc/NoNewUpdates.tsx +2 -2
  511. package/src/components/misc/PINValidationHelper.tsx +3 -3
  512. package/src/components/misc/QRRenderer.tsx +2 -2
  513. package/src/components/misc/QRScanner.tsx +3 -3
  514. package/src/components/misc/QRScannerTorch.tsx +4 -4
  515. package/src/components/misc/SharedProofData.tsx +2 -2
  516. package/src/components/misc/UnorderedList.tsx +3 -3
  517. package/src/components/misc/VerifierCredentialCard.tsx +7 -7
  518. package/src/components/modals/AppGuideModal.tsx +7 -7
  519. package/src/components/modals/CameraDisclosureModal.tsx +4 -4
  520. package/src/components/modals/CommonRemoveModal.tsx +7 -7
  521. package/src/components/modals/DismissiblePopupModal.tsx +7 -7
  522. package/src/components/modals/ErrorModal.tsx +4 -4
  523. package/src/components/modals/ImageModal.tsx +4 -4
  524. package/src/components/modals/PopupModal.tsx +2 -2
  525. package/src/components/modals/ProofCancelModal.tsx +2 -2
  526. package/src/components/record/RecordFooter.tsx +2 -2
  527. package/src/components/record/RecordHeader.tsx +2 -2
  528. package/src/components/record/RecordRemove.tsx +5 -5
  529. package/src/components/texts/HighlightTextBox.tsx +3 -3
  530. package/src/components/texts/InfoTextBox.tsx +17 -17
  531. package/src/components/texts/Link.tsx +2 -2
  532. package/src/components/toast/BaseToast.tsx +17 -17
  533. package/src/components/tour/CredentialOfferTourSteps.tsx +2 -2
  534. package/src/components/tour/CredentialsTourSteps.tsx +2 -2
  535. package/src/components/tour/HomeTourSteps.tsx +6 -6
  536. package/src/components/tour/ProofRequestTourSteps.tsx +2 -2
  537. package/src/components/tour/TourBox.tsx +6 -6
  538. package/src/components/views/Banner.tsx +21 -14
  539. package/src/components/views/CredentialDetailPrimaryHeader.tsx +4 -4
  540. package/src/components/views/KeyboardView.tsx +2 -2
  541. package/src/components/views/ProgressBar.tsx +3 -3
  542. package/src/contexts/reducers/store.ts +4 -1
  543. package/src/hooks/chat-messages.tsx +3 -3
  544. package/src/hooks/credential-card-styles.ts +4 -4
  545. package/src/index.ts +4 -2
  546. package/src/modules/history/ui/HistoryPage.tsx +2 -2
  547. package/src/modules/history/ui/HistorySettings.tsx +2 -2
  548. package/src/modules/history/ui/components/HistoryListItem.tsx +2 -2
  549. package/src/modules/openid/components/OpenIDCredentialCard.tsx +5 -5
  550. package/src/modules/openid/screens/OpenIDCredentialDetails.tsx +2 -2
  551. package/src/modules/openid/screens/OpenIDCredentialOffer.tsx +2 -2
  552. package/src/modules/openid/screens/OpenIDProofChangeCredential.tsx +2 -2
  553. package/src/modules/openid/screens/OpenIDProofPresentation.tsx +4 -4
  554. package/src/navigators/TabStack.tsx +2 -2
  555. package/src/navigators/defaultStackOptions.tsx +3 -3
  556. package/src/screens/AttemptLockout.tsx +2 -2
  557. package/src/screens/AutoLock.tsx +7 -7
  558. package/src/screens/ConfigureMediator.tsx +7 -7
  559. package/src/screens/ContactDetails.tsx +9 -9
  560. package/src/screens/CredentialDetails.tsx +16 -16
  561. package/src/screens/CredentialOffer.tsx +2 -2
  562. package/src/screens/DataRetention.tsx +11 -11
  563. package/src/screens/Developer.tsx +24 -22
  564. package/src/screens/Home.tsx +2 -2
  565. package/src/screens/JSONDetails.tsx +3 -3
  566. package/src/screens/Language.tsx +7 -7
  567. package/src/screens/ListContacts.tsx +3 -3
  568. package/src/screens/ListCredentials.tsx +2 -2
  569. package/src/screens/ListProofRequests.tsx +2 -2
  570. package/src/screens/MobileVerifierLoading.tsx +3 -3
  571. package/src/screens/PINChange.tsx +2 -2
  572. package/src/screens/PINCreate.tsx +2 -2
  573. package/src/screens/PINEnter.tsx +3 -3
  574. package/src/screens/PINExplainer.tsx +3 -3
  575. package/src/screens/PINVerify.tsx +2 -2
  576. package/src/screens/PasteUrl.tsx +4 -4
  577. package/src/screens/ProofChangeCredential.tsx +2 -2
  578. package/src/screens/ProofDetails.tsx +3 -3
  579. package/src/screens/ProofRequest.tsx +7 -7
  580. package/src/screens/ProofRequestAccept.tsx +3 -3
  581. package/src/screens/ProofRequestDetails.tsx +4 -4
  582. package/src/screens/ProofRequestUsageHistory.tsx +2 -2
  583. package/src/screens/ProofRequesting.tsx +5 -5
  584. package/src/screens/RenameContact.tsx +2 -2
  585. package/src/screens/Settings.tsx +5 -5
  586. package/src/screens/Splash.tsx +2 -2
  587. package/src/screens/ToggleBiometry.tsx +2 -2
  588. package/src/screens/TogglePushNotifications.tsx +4 -4
  589. package/src/screens/Tours.tsx +5 -5
  590. package/src/screens/UpdateAvailable.tsx +2 -2
  591. package/src/screens/WhatAreContacts.tsx +2 -2
  592. package/src/theme-builder.ts +140 -0
  593. package/src/theme.interface.ts +580 -0
  594. package/src/theme.ts +881 -774
  595. package/src/utils/credential.ts +3 -3
  596. package/src/utils/mediatorhelpers.ts +23 -12
package/src/theme.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { StyleSheet, TextStyle, ViewStyle } from 'react-native'
1
+ import { StyleSheet, ViewStyle } from 'react-native'
2
2
  import { SvgProps } from 'react-native-svg'
3
3
 
4
4
  import Arrow from './assets/icons/large-arrow.svg'
@@ -54,6 +54,21 @@ import TabTwoIcon from './assets/img/qrcode-scan-icon.svg'
54
54
  import TabThreeFocusedIcon from './assets/img/wallet-icon.svg'
55
55
  import TabThreeIcon from './assets/img/wallet-icon-outline.svg'
56
56
  import React from 'react'
57
+ import {
58
+ IChatTheme,
59
+ IHomeTheme,
60
+ IInputs,
61
+ ISettingsTheme,
62
+ ITabTheme,
63
+ ITextTheme,
64
+ IOnboardingTheme,
65
+ IDialogTheme,
66
+ ILoadingTheme,
67
+ IPINInputTheme,
68
+ IInlineInputMessage,
69
+ IButtons,
70
+ IListItems,
71
+ } from './theme.interface'
57
72
 
58
73
  export interface ISVGAssets {
59
74
  activityIndicator: React.FC<SvgProps>
@@ -146,80 +161,6 @@ export interface IInputAttributes {
146
161
  borderColor?: string
147
162
  }
148
163
 
149
- export interface IInlineInputMessage {
150
- inlineErrorText: IFontAttributes
151
- InlineErrorIcon: React.FC<SvgProps>
152
- inlineWarningText: IFontAttributes
153
- InlineWarningIcon: React.FC<SvgProps>
154
- }
155
-
156
- export interface IInputs {
157
- label: IFontAttributes
158
- textInput: IInputAttributes
159
- inputSelected: IInputAttributes
160
- singleSelect: IInputAttributes
161
- singleSelectText: IFontAttributes
162
- singleSelectIcon: IInputAttributes
163
- checkBoxColor: IInputAttributes
164
- checkBoxText: IFontAttributes
165
- }
166
-
167
- export interface ITextTheme {
168
- headingOne: IFontAttributes
169
- headingTwo: IFontAttributes
170
- headingThree: IFontAttributes
171
- headingFour: IFontAttributes
172
- normal: IFontAttributes
173
- bold: IFontAttributes
174
- label: IFontAttributes
175
- labelTitle: IFontAttributes
176
- labelSubtitle: IFontAttributes
177
- labelText: IFontAttributes
178
- caption: IFontAttributes
179
- title: IFontAttributes
180
- headerTitle: IFontAttributes
181
- modalNormal: IFontAttributes
182
- modalTitle: IFontAttributes
183
- popupModalText: IFontAttributes
184
- modalHeadingOne: IFontAttributes
185
- modalHeadingThree: IFontAttributes
186
- settingsText: IFontAttributes
187
- inlineErrorText: IFontAttributes
188
- inlineWarningText: IFontAttributes
189
- }
190
-
191
- export interface IBrandColors {
192
- primary: string
193
- primaryDisabled: string
194
- secondary: string
195
- secondaryDisabled: string
196
- tertiary: string
197
- tertiaryDisabled: string
198
- primaryLight: string
199
- highlight: string
200
- primaryBackground: string
201
- secondaryBackground: string
202
- tertiaryBackground: string
203
- modalPrimary: string
204
- modalSecondary: string
205
- modalTertiary: string
206
- modalPrimaryBackground: string
207
- modalSecondaryBackground: string
208
- modalTertiaryBackground: string
209
- modalIcon: string
210
- link: string
211
- text: string
212
- icon: string
213
- headerText: string
214
- headerIcon: string
215
- buttonText: string
216
- tabBarInactive: string
217
- unorderedList: string
218
- unorderedListModal: string
219
- inlineError: string
220
- inlineWarning: string
221
- }
222
-
223
164
  export interface ISemanticColors {
224
165
  error: string
225
166
  success: string
@@ -260,7 +201,7 @@ export interface IErrorColors {
260
201
  warning: string
261
202
  }
262
203
 
263
- export interface IColorPallet {
204
+ export interface IColorPalette {
264
205
  brand: IBrandColors
265
206
  semantic: ISemanticColors
266
207
  notification: INotificationColors
@@ -306,7 +247,7 @@ const InlineErrorMessageColors: IErrorColors = {
306
247
  warning: '#ff9000',
307
248
  }
308
249
 
309
- const BrandColors: IBrandColors = {
250
+ const BrandColors = {
310
251
  primary: '#42803E',
311
252
  primaryDisabled: `rgba(53, 130, 63, ${lightOpacity})`,
312
253
  secondary: '#FFFFFFFF',
@@ -337,6 +278,7 @@ const BrandColors: IBrandColors = {
337
278
  inlineError: InlineErrorMessageColors.error,
338
279
  inlineWarning: InlineErrorMessageColors.warning,
339
280
  }
281
+ export type IBrandColors = typeof BrandColors
340
282
 
341
283
  const SemanticColors: ISemanticColors = {
342
284
  error: '#D8292F',
@@ -364,717 +306,856 @@ const NotificationColors: INotificationColors = {
364
306
  popupOverlay: `rgba(0, 0, 0, ${mediumOpacity})`,
365
307
  }
366
308
 
367
- export const ColorPallet: IColorPallet = {
309
+ export const ColorPalette: IColorPalette = {
368
310
  brand: BrandColors,
369
311
  semantic: SemanticColors,
370
312
  notification: NotificationColors,
371
313
  grayscale: GrayscaleColors,
372
314
  }
373
315
 
374
- export const TextTheme: ITextTheme = {
375
- headingOne: {
376
- fontSize: 38,
377
- fontWeight: 'bold',
378
- color: ColorPallet.brand.text,
379
- },
380
- headingTwo: {
381
- fontSize: 32,
382
- fontWeight: 'bold',
383
- color: ColorPallet.brand.text,
384
- },
385
- headingThree: {
386
- fontSize: 26,
387
- fontWeight: 'bold',
388
- color: ColorPallet.brand.text,
389
- },
390
- headingFour: {
391
- fontSize: 21,
392
- fontWeight: 'bold',
393
- color: ColorPallet.brand.text,
394
- },
395
- normal: {
396
- fontSize: 18,
397
- fontWeight: 'normal',
398
- color: ColorPallet.brand.text,
399
- },
400
- bold: {
401
- fontSize: 18,
402
- fontWeight: 'bold',
403
- color: ColorPallet.brand.text,
404
- },
405
- label: {
406
- fontSize: 14,
407
- fontWeight: 'bold',
408
- color: ColorPallet.brand.text,
409
- },
410
- labelTitle: {
411
- fontSize: 16,
412
- fontWeight: 'bold',
413
- color: ColorPallet.brand.text,
414
- },
415
- labelSubtitle: {
416
- fontSize: 14,
417
- fontWeight: 'normal',
418
- color: ColorPallet.brand.text,
419
- },
420
- labelText: {
421
- fontSize: 10,
422
- fontWeight: 'normal',
423
- fontStyle: 'italic',
424
- color: ColorPallet.brand.text,
425
- },
426
- caption: {
427
- fontSize: 14,
428
- fontWeight: 'normal',
429
- color: ColorPallet.brand.text,
430
- },
431
- title: {
432
- fontSize: 20,
433
- fontWeight: 'bold',
434
- color: ColorPallet.brand.text,
435
- },
436
- headerTitle: {
437
- fontSize: 28,
438
- fontWeight: 'bold',
439
- color: ColorPallet.brand.headerText,
440
- },
441
- modalNormal: {
442
- fontSize: 18,
443
- fontWeight: 'normal',
444
- color: ColorPallet.grayscale.white,
445
- },
446
- modalTitle: {
447
- fontSize: 24,
448
- fontWeight: 'bold',
449
- color: ColorPallet.grayscale.white,
450
- },
451
- modalHeadingOne: {
452
- fontSize: 38,
453
- fontWeight: 'bold',
454
- color: ColorPallet.grayscale.white,
455
- },
456
- modalHeadingThree: {
457
- fontSize: 26,
458
- fontWeight: 'bold',
459
- color: ColorPallet.grayscale.white,
460
- },
461
- popupModalText: {
462
- fontSize: 18,
463
- fontWeight: 'normal',
464
- color: ColorPallet.grayscale.white,
465
- },
466
- settingsText: {
467
- fontSize: 21,
468
- fontWeight: 'normal',
469
- color: ColorPallet.brand.text,
470
- },
471
- inlineErrorText: {
472
- fontSize: 16,
473
- fontWeight: 'normal',
474
- color: ColorPallet.brand.inlineError,
475
- },
476
- inlineWarningText: {
477
- fontSize: 16,
478
- fontWeight: 'normal',
479
- color: ColorPallet.brand.inlineWarning,
480
- },
316
+ /**
317
+ * Creates a text theme based on the provided color pallet.
318
+ *
319
+ * @param {{ ColorPalette: IColorPalette }} theme - The theme object containing the color pallet
320
+ * @returns {*} {ITextTheme} - The created text theme
321
+ */
322
+ export function createTextTheme(theme: { ColorPalette: IColorPalette }): ITextTheme {
323
+ return StyleSheet.create({
324
+ headingOne: {
325
+ fontSize: 38,
326
+ fontWeight: 'bold',
327
+ color: theme.ColorPalette.brand.text,
328
+ },
329
+ headingTwo: {
330
+ fontSize: 32,
331
+ fontWeight: 'bold',
332
+ color: theme.ColorPalette.brand.text,
333
+ },
334
+ headingThree: {
335
+ fontSize: 26,
336
+ fontWeight: 'bold',
337
+ color: theme.ColorPalette.brand.text,
338
+ },
339
+ headingFour: {
340
+ fontSize: 21,
341
+ fontWeight: 'bold',
342
+ color: theme.ColorPalette.brand.text,
343
+ },
344
+ normal: {
345
+ fontSize: 18,
346
+ fontWeight: 'normal',
347
+ color: theme.ColorPalette.brand.text,
348
+ },
349
+ bold: {
350
+ fontSize: 18,
351
+ fontWeight: 'bold',
352
+ color: theme.ColorPalette.brand.text,
353
+ },
354
+ label: {
355
+ fontSize: 14,
356
+ fontWeight: 'bold',
357
+ color: theme.ColorPalette.brand.text,
358
+ },
359
+ labelTitle: {
360
+ fontSize: 16,
361
+ fontWeight: 'bold',
362
+ color: theme.ColorPalette.brand.text,
363
+ },
364
+ labelSubtitle: {
365
+ fontSize: 14,
366
+ fontWeight: 'normal',
367
+ color: theme.ColorPalette.brand.text,
368
+ },
369
+ labelText: {
370
+ fontSize: 10,
371
+ fontWeight: 'normal',
372
+ fontStyle: 'italic',
373
+ color: theme.ColorPalette.brand.text,
374
+ },
375
+ caption: {
376
+ fontSize: 14,
377
+ fontWeight: 'normal',
378
+ color: theme.ColorPalette.brand.text,
379
+ },
380
+ title: {
381
+ fontSize: 20,
382
+ fontWeight: 'bold',
383
+ color: theme.ColorPalette.brand.text,
384
+ },
385
+ headerTitle: {
386
+ fontSize: 28,
387
+ fontWeight: 'bold',
388
+ color: theme.ColorPalette.brand.headerText,
389
+ },
390
+ modalNormal: {
391
+ fontSize: 18,
392
+ fontWeight: 'normal',
393
+ color: theme.ColorPalette.grayscale.white,
394
+ },
395
+ modalTitle: {
396
+ fontSize: 24,
397
+ fontWeight: 'bold',
398
+ color: theme.ColorPalette.grayscale.white,
399
+ },
400
+ modalHeadingOne: {
401
+ fontSize: 38,
402
+ color: theme.ColorPalette.grayscale.white,
403
+ fontWeight: 'bold',
404
+ },
405
+ modalHeadingThree: {
406
+ fontSize: 26,
407
+ color: theme.ColorPalette.grayscale.white,
408
+ fontWeight: 'bold',
409
+ },
410
+ popupModalText: {
411
+ fontSize: 18,
412
+ fontWeight: 'normal',
413
+ color: theme.ColorPalette.grayscale.white,
414
+ },
415
+ settingsText: {
416
+ fontSize: 21,
417
+ fontWeight: 'normal',
418
+ color: theme.ColorPalette.brand.text,
419
+ },
420
+ inlineErrorText: {
421
+ fontSize: 16,
422
+ fontWeight: 'normal',
423
+ color: theme.ColorPalette.brand.inlineError,
424
+ },
425
+ inlineWarningText: {
426
+ fontSize: 16,
427
+ fontWeight: 'normal',
428
+ color: theme.ColorPalette.brand.inlineWarning,
429
+ },
430
+ })
481
431
  }
432
+ export const TextTheme = createTextTheme({ ColorPalette })
482
433
 
483
- export const Inputs: IInputs = StyleSheet.create({
484
- label: {
485
- ...TextTheme.label,
486
- },
487
- textInput: {
488
- padding: 10,
489
- borderRadius,
490
- fontSize: 16,
491
- backgroundColor: ColorPallet.brand.primaryBackground,
492
- color: ColorPallet.notification.infoText,
493
- borderWidth: 2,
494
- borderColor: ColorPallet.brand.secondary,
495
- },
496
- inputSelected: {
497
- borderColor: ColorPallet.brand.primary,
498
- },
499
- singleSelect: {
500
- padding: 12,
501
- borderRadius: borderRadius * 2,
502
- backgroundColor: ColorPallet.brand.secondaryBackground,
503
- },
504
- singleSelectText: {
505
- ...TextTheme.normal,
506
- },
507
- singleSelectIcon: {
508
- color: ColorPallet.grayscale.white,
509
- },
510
- checkBoxColor: {
511
- color: ColorPallet.brand.primary,
512
- },
513
- checkBoxText: {
514
- ...TextTheme.normal,
515
- },
516
- })
434
+ /**
435
+ * Creates a theme for inputs based on the provided color pallet and text theme.
436
+ *
437
+ * @param {{ ColorPalette: IColorPalette; TextTheme: ITextTheme; borderRadius: number }} theme - The theme object containing the color pallet, text theme, and border radius
438
+ * @returns {*} {IInputs} - The created inputs theme
439
+ */
440
+ export function createInputsTheme(theme: {
441
+ ColorPalette: IColorPalette
442
+ TextTheme: ITextTheme
443
+ borderRadius: number
444
+ }): IInputs {
445
+ return StyleSheet.create({
446
+ label: {
447
+ ...theme.TextTheme.label,
448
+ },
449
+ textInput: {
450
+ padding: 10,
451
+ borderRadius,
452
+ fontSize: 16,
453
+ backgroundColor: theme.ColorPalette.brand.primaryBackground,
454
+ color: theme.ColorPalette.notification.infoText,
455
+ borderWidth: 2,
456
+ borderColor: theme.ColorPalette.brand.secondary,
457
+ },
458
+ singleSelectText: {
459
+ ...theme.TextTheme.normal,
460
+ },
461
+ singleSelectIcon: {
462
+ color: theme.ColorPalette.grayscale.white,
463
+ },
464
+ checkBoxColor: {
465
+ color: theme.ColorPalette.brand.primary,
466
+ },
467
+ checkBoxText: {
468
+ ...theme.TextTheme.normal,
469
+ },
470
+ inputSelected: {
471
+ borderColor: theme.ColorPalette.brand.primary,
472
+ },
473
+ singleSelect: {
474
+ padding: 12,
475
+ borderRadius: theme.borderRadius * 2,
476
+ backgroundColor: theme.ColorPalette.brand.secondaryBackground,
477
+ },
478
+ })
479
+ }
480
+ export const Inputs = createInputsTheme({ ColorPalette, TextTheme, borderRadius })
517
481
 
518
- export const Buttons = StyleSheet.create({
519
- critical: {
520
- padding: 16,
521
- borderRadius: 4,
522
- backgroundColor: ColorPallet.brand.primary,
523
- },
524
- criticalText: {
525
- ...TextTheme.bold,
526
- color: ColorPallet.brand.buttonText,
527
- textAlign: 'center',
528
- },
529
- criticalTextDisabled: {
530
- ...TextTheme.bold,
531
- color: ColorPallet.brand.buttonText,
532
- textAlign: 'center',
533
- },
534
- primary: {
535
- padding: 16,
536
- borderRadius: 4,
537
- backgroundColor: ColorPallet.brand.primary,
538
- },
539
- primaryDisabled: {
540
- padding: 16,
541
- borderRadius: 4,
542
- backgroundColor: ColorPallet.brand.primaryDisabled,
543
- },
544
- primaryText: {
545
- ...TextTheme.bold,
546
- color: ColorPallet.brand.buttonText,
547
- textAlign: 'center',
548
- },
549
- primaryTextDisabled: {
550
- ...TextTheme.bold,
551
- textAlign: 'center',
552
- },
553
- secondary: {
554
- padding: 16,
555
- borderRadius: 4,
556
- borderWidth: 2,
557
- borderColor: ColorPallet.brand.primary,
558
- },
559
- secondaryDisabled: {
560
- padding: 16,
561
- borderRadius: 4,
562
- borderWidth: 2,
563
- borderColor: ColorPallet.brand.secondaryDisabled,
564
- },
565
- secondaryText: {
566
- ...TextTheme.bold,
567
- color: ColorPallet.brand.primary,
568
- textAlign: 'center',
569
- },
570
- secondaryTextDisabled: {
571
- ...TextTheme.bold,
572
- color: ColorPallet.brand.secondaryDisabled,
573
- textAlign: 'center',
574
- },
575
- tertiary: {
576
- padding: 16,
577
- },
578
- tertiaryDisabled: {
579
- padding: 16,
580
- },
581
- tertiaryText: {
582
- ...TextTheme.bold,
583
- color: ColorPallet.brand.primary,
584
- textAlign: 'center',
585
- },
586
- tertiaryTextDisabled: {
587
- ...TextTheme.bold,
588
- color: ColorPallet.brand.tertiaryDisabled,
589
- textAlign: 'center',
590
- },
591
- modalCritical: {
592
- padding: 16,
593
- borderRadius: 4,
594
- backgroundColor: ColorPallet.brand.primary,
595
- },
596
- modalCriticalDisabled: {
597
- padding: 16,
598
- borderRadius: 4,
599
- backgroundColor: ColorPallet.brand.primaryDisabled,
600
- },
601
- modalCriticalText: {
602
- ...TextTheme.bold,
603
- color: ColorPallet.brand.buttonText,
604
- textAlign: 'center',
605
- },
606
- modalCriticalTextDisabled: {
607
- ...TextTheme.bold,
608
- color: ColorPallet.brand.buttonText,
609
- textAlign: 'center',
610
- },
611
- modalPrimary: {
612
- padding: 16,
613
- borderRadius: 4,
614
- backgroundColor: ColorPallet.brand.modalPrimary,
615
- },
616
- modalPrimaryDisabled: {
617
- padding: 16,
618
- borderRadius: 4,
619
- backgroundColor: ColorPallet.brand.primaryDisabled,
620
- },
621
- modalPrimaryText: {
622
- ...TextTheme.bold,
623
- color: ColorPallet.brand.buttonText,
624
- textAlign: 'center',
625
- },
626
- modalPrimaryTextDisabled: {
627
- ...TextTheme.bold,
628
- color: ColorPallet.brand.buttonText,
629
- textAlign: 'center',
630
- },
631
- modalSecondary: {
632
- padding: 16,
633
- borderRadius: 4,
634
- borderWidth: 2,
635
- borderColor: ColorPallet.brand.modalPrimary,
636
- },
637
- modalSecondaryDisabled: {
638
- padding: 16,
639
- borderRadius: 4,
640
- borderWidth: 2,
641
- borderColor: ColorPallet.brand.secondaryDisabled,
642
- },
643
- modalSecondaryText: {
644
- ...TextTheme.bold,
645
- color: ColorPallet.brand.modalPrimary,
646
- textAlign: 'center',
647
- },
648
- modalSecondaryTextDisabled: {
649
- ...TextTheme.bold,
650
- color: ColorPallet.brand.secondaryDisabled,
651
- textAlign: 'center',
652
- },
653
- modalTertiary: {
654
- padding: 16,
655
- },
656
- modalTertiaryDisabled: {
657
- padding: 16,
658
- },
659
- modalTertiaryText: {
660
- ...TextTheme.bold,
661
- color: ColorPallet.brand.modalPrimary,
662
- textAlign: 'center',
663
- },
664
- modalTertiaryTextDisabled: {
665
- ...TextTheme.bold,
666
- color: ColorPallet.brand.tertiaryDisabled,
667
- textAlign: 'center',
668
- },
669
- })
482
+ /**
483
+ * Creates a theme for buttons based on the provided color pallet and text theme.
484
+ *
485
+ * @param {{ ColorPalette: IColorPalette; TextTheme: ITextTheme }} theme - The theme object containing the color pallet and text theme
486
+ * @returns {*} {IButtons} - The created buttons theme
487
+ */
488
+ export function createButtonsTheme(theme: { ColorPalette: IColorPalette; TextTheme: ITextTheme }): IButtons {
489
+ const textStyles = StyleSheet.create({
490
+ criticalText: {
491
+ ...theme.TextTheme.bold,
492
+ color: theme.ColorPalette.brand.buttonText,
493
+ textAlign: 'center',
494
+ },
495
+ criticalTextDisabled: {
496
+ ...theme.TextTheme.bold,
497
+ color: theme.ColorPalette.brand.buttonText,
498
+ textAlign: 'center',
499
+ },
500
+ primaryText: {
501
+ ...theme.TextTheme.bold,
502
+ color: theme.ColorPalette.brand.buttonText,
503
+ textAlign: 'center',
504
+ },
505
+ primaryTextDisabled: {
506
+ ...theme.TextTheme.bold,
507
+ textAlign: 'center',
508
+ },
509
+ secondaryText: {
510
+ ...theme.TextTheme.bold,
511
+ color: theme.ColorPalette.brand.primary,
512
+ textAlign: 'center',
513
+ },
514
+ secondaryTextDisabled: {
515
+ ...theme.TextTheme.bold,
516
+ color: theme.ColorPalette.brand.secondaryDisabled,
517
+ textAlign: 'center',
518
+ },
519
+ tertiaryText: {
520
+ ...theme.TextTheme.bold,
521
+ color: theme.ColorPalette.brand.primary,
522
+ textAlign: 'center',
523
+ },
524
+ tertiaryTextDisabled: {
525
+ ...theme.TextTheme.bold,
526
+ color: theme.ColorPalette.brand.tertiaryDisabled,
527
+ textAlign: 'center',
528
+ },
529
+ modalCriticalText: {
530
+ ...theme.TextTheme.bold,
531
+ color: theme.ColorPalette.brand.buttonText,
532
+ textAlign: 'center',
533
+ },
534
+ modalCriticalTextDisabled: {
535
+ ...theme.TextTheme.bold,
536
+ color: theme.ColorPalette.brand.buttonText,
537
+ textAlign: 'center',
538
+ },
539
+ modalPrimaryText: {
540
+ ...theme.TextTheme.bold,
541
+ color: theme.ColorPalette.brand.buttonText,
542
+ textAlign: 'center',
543
+ },
544
+ modalPrimaryTextDisabled: {
545
+ ...theme.TextTheme.bold,
546
+ color: theme.ColorPalette.brand.buttonText,
547
+ textAlign: 'center',
548
+ },
549
+ modalSecondaryText: {
550
+ ...theme.TextTheme.bold,
551
+ color: theme.ColorPalette.brand.modalPrimary,
552
+ textAlign: 'center',
553
+ },
554
+ modalSecondaryTextDisabled: {
555
+ ...theme.TextTheme.bold,
556
+ color: theme.ColorPalette.brand.secondaryDisabled,
557
+ textAlign: 'center',
558
+ },
559
+ modalTertiaryText: {
560
+ ...theme.TextTheme.bold,
561
+ color: theme.ColorPalette.brand.modalPrimary,
562
+ textAlign: 'center',
563
+ },
564
+ modalTertiaryTextDisabled: {
565
+ ...theme.TextTheme.bold,
566
+ color: theme.ColorPalette.brand.tertiaryDisabled,
567
+ textAlign: 'center',
568
+ },
569
+ })
670
570
 
671
- export const ListItems = StyleSheet.create({
672
- credentialBackground: {
673
- backgroundColor: ColorPallet.brand.secondaryBackground,
674
- },
675
- credentialTitle: {
676
- ...TextTheme.headingFour,
677
- },
678
- credentialDetails: {
679
- ...TextTheme.caption,
680
- },
681
- credentialOfferBackground: {
682
- backgroundColor: ColorPallet.brand.modalPrimaryBackground,
683
- },
684
- credentialOfferTitle: {
685
- ...TextTheme.modalHeadingThree,
686
- fontWeight: 'normal',
687
- },
688
- credentialOfferDetails: {
689
- ...TextTheme.normal,
690
- },
691
- revoked: {
692
- backgroundColor: ColorPallet.notification.error,
693
- borderColor: ColorPallet.notification.errorBorder,
694
- },
695
- contactBackground: {
696
- backgroundColor: ColorPallet.brand.secondaryBackground,
697
- },
698
- credentialIconColor: {
699
- color: ColorPallet.notification.infoText,
700
- },
701
- contactTitle: {
702
- color: ColorPallet.brand.text,
703
- },
704
- contactDate: {
705
- color: ColorPallet.brand.text,
706
- marginTop: 10,
707
- },
708
- contactIconBackground: {
709
- backgroundColor: ColorPallet.brand.primary,
710
- },
711
- contactIcon: {
712
- color: ColorPallet.grayscale.white,
713
- },
714
- recordAttributeLabel: {
715
- ...TextTheme.bold,
716
- },
717
- recordContainer: {
718
- backgroundColor: ColorPallet.brand.secondaryBackground,
719
- },
720
- recordBorder: {
721
- borderBottomColor: ColorPallet.brand.primaryBackground,
722
- },
723
- recordLink: {
724
- color: ColorPallet.brand.link,
725
- },
726
- recordAttributeText: {
727
- ...TextTheme.normal,
728
- },
729
- proofIcon: {
730
- ...TextTheme.headingOne,
731
- },
732
- proofError: {
733
- color: ColorPallet.semantic.error,
734
- },
735
- avatarText: {
736
- ...TextTheme.headingTwo,
737
- fontWeight: 'normal',
738
- },
739
- avatarCircle: {
740
- borderRadius: TextTheme.headingTwo.fontSize,
741
- borderColor: TextTheme.headingTwo.color,
742
- width: TextTheme.headingTwo.fontSize * 2,
743
- height: TextTheme.headingTwo.fontSize * 2,
744
- },
745
- emptyList: {
746
- ...TextTheme.normal,
747
- },
748
- requestTemplateBackground: {
749
- backgroundColor: ColorPallet.grayscale.white,
750
- },
751
- requestTemplateIconColor: {
752
- color: ColorPallet.notification.infoText,
753
- },
754
- requestTemplateTitle: {
755
- color: ColorPallet.grayscale.black,
756
- fontWeight: 'bold',
757
- fontSize: 16,
758
- },
759
- requestTemplateDetails: {
760
- color: ColorPallet.grayscale.black,
761
- fontWeight: 'normal',
762
- fontSize: 16,
763
- },
764
- requestTemplateZkpLabel: {
765
- color: ColorPallet.grayscale.mediumGrey,
766
- fontSize: 12,
767
- },
768
- requestTemplateIcon: {
769
- color: ColorPallet.grayscale.black,
770
- fontSize: 36,
771
- },
772
- requestTemplateDate: {
773
- color: ColorPallet.grayscale.mediumGrey,
774
- fontSize: 10,
775
- },
776
- })
571
+ const viewStyles = StyleSheet.create({
572
+ critical: {
573
+ padding: 16,
574
+ borderRadius: 4,
575
+ backgroundColor: theme.ColorPalette.brand.primary,
576
+ },
577
+ criticalDisabled: {
578
+ padding: 16,
579
+ borderRadius: 4,
580
+ backgroundColor: theme.ColorPalette.brand.primaryDisabled,
581
+ },
582
+ primary: {
583
+ padding: 16,
584
+ borderRadius: 4,
585
+ backgroundColor: theme.ColorPalette.brand.primary,
586
+ },
587
+ primaryDisabled: {
588
+ padding: 16,
589
+ borderRadius: 4,
590
+ backgroundColor: theme.ColorPalette.brand.primaryDisabled,
591
+ },
592
+ secondary: {
593
+ padding: 16,
594
+ borderRadius: 4,
595
+ borderWidth: 2,
596
+ borderColor: theme.ColorPalette.brand.primary,
597
+ },
598
+ secondaryDisabled: {
599
+ padding: 16,
600
+ borderRadius: 4,
601
+ borderWidth: 2,
602
+ borderColor: theme.ColorPalette.brand.secondaryDisabled,
603
+ },
604
+ tertiary: {
605
+ padding: 16,
606
+ },
607
+ tertiaryDisabled: {
608
+ padding: 16,
609
+ },
610
+ modalCritical: {
611
+ padding: 16,
612
+ borderRadius: 4,
613
+ backgroundColor: theme.ColorPalette.brand.primary,
614
+ },
615
+ modalCriticalDisabled: {
616
+ padding: 16,
617
+ borderRadius: 4,
618
+ backgroundColor: theme.ColorPalette.brand.primaryDisabled,
619
+ },
620
+ modalPrimary: {
621
+ padding: 16,
622
+ borderRadius: 4,
623
+ backgroundColor: theme.ColorPalette.brand.modalPrimary,
624
+ },
625
+ modalPrimaryDisabled: {
626
+ padding: 16,
627
+ borderRadius: 4,
628
+ backgroundColor: theme.ColorPalette.brand.primaryDisabled,
629
+ },
630
+ modalSecondary: {
631
+ padding: 16,
632
+ borderRadius: 4,
633
+ borderWidth: 2,
634
+ borderColor: theme.ColorPalette.brand.modalPrimary,
635
+ },
636
+ modalSecondaryDisabled: {
637
+ padding: 16,
638
+ borderRadius: 4,
639
+ borderWidth: 2,
640
+ borderColor: theme.ColorPalette.brand.secondaryDisabled,
641
+ },
642
+ modalTertiary: {
643
+ padding: 16,
644
+ },
645
+ modalTertiaryDisabled: {
646
+ padding: 16,
647
+ },
648
+ })
777
649
 
778
- export interface ITabTheme {
779
- tabBarStyle: ViewStyle & {
780
- height: number
781
- backgroundColor: string
782
- shadowOffset: {
783
- width: number
784
- height: number
785
- }
786
- shadowRadius: number
787
- shadowColor: string
788
- shadowOpacity: number
789
- borderTopWidth: number
790
- paddingBottom: number
791
- }
792
- tabBarContainerStyle: ViewStyle
793
- tabBarActiveTintColor: string
794
- tabBarInactiveTintColor: string
795
- tabBarTextStyle: TextStyle & {
796
- fontSize: number
797
- }
798
- tabBarButtonIconStyle: {
799
- color: string
800
- }
801
- focusTabIconStyle: ViewStyle
802
- focusTabActiveTintColor: {
803
- backgroundColor: string
650
+ return { ...textStyles, ...viewStyles }
651
+ }
652
+ export const Buttons = createButtonsTheme({ ColorPalette, TextTheme })
653
+
654
+ /**
655
+ * Creates a theme for list items based on the provided color pallet and text theme.
656
+ *
657
+ * @param {{ ColorPalette: IColorPalette; TextTheme: ITextTheme }} theme - The theme object containing the color pallet and text theme
658
+ * @returns {*} {IListItems} - The created list items theme
659
+ */
660
+ export function createListItemsTheme(theme: { ColorPalette: IColorPalette; TextTheme: ITextTheme }): IListItems {
661
+ const testStyles = StyleSheet.create({
662
+ credentialTitle: {
663
+ ...theme.TextTheme.headingFour,
664
+ },
665
+ credentialDetails: {
666
+ ...theme.TextTheme.caption,
667
+ },
668
+ credentialOfferTitle: {
669
+ ...theme.TextTheme.modalHeadingThree,
670
+ fontWeight: 'normal',
671
+ },
672
+ credentialOfferDetails: {
673
+ ...theme.TextTheme.normal,
674
+ },
675
+ credentialIconColor: {
676
+ color: theme.ColorPalette.notification.infoText,
677
+ },
678
+ contactTitle: {
679
+ color: theme.ColorPalette.brand.text,
680
+ },
681
+ contactDate: {
682
+ color: theme.ColorPalette.brand.text,
683
+ marginTop: 10,
684
+ },
685
+ contactIcon: {
686
+ color: theme.ColorPalette.grayscale.white,
687
+ },
688
+ recordAttributeLabel: {
689
+ ...theme.TextTheme.bold,
690
+ },
691
+ recordLink: {
692
+ color: theme.ColorPalette.brand.link,
693
+ },
694
+ recordAttributeText: {
695
+ ...theme.TextTheme.normal,
696
+ },
697
+ proofIcon: {
698
+ ...theme.TextTheme.headingOne,
699
+ },
700
+ proofError: {
701
+ color: theme.ColorPalette.semantic.error,
702
+ },
703
+ avatarText: {
704
+ ...theme.TextTheme.headingTwo,
705
+ fontWeight: 'normal',
706
+ },
707
+ avatarCircle: {
708
+ borderRadius: theme.TextTheme.headingTwo.fontSize,
709
+ borderColor: theme.TextTheme.headingTwo.color,
710
+ width: (theme.TextTheme.headingTwo.fontSize ?? 32) * 2,
711
+ height: (theme.TextTheme.headingTwo.fontSize ?? 32) * 2,
712
+ },
713
+ requestTemplateIconColor: {
714
+ color: theme.ColorPalette.notification.infoText,
715
+ },
716
+ requestTemplateTitle: {
717
+ color: theme.ColorPalette.grayscale.black,
718
+ fontWeight: 'bold',
719
+ fontSize: 16,
720
+ },
721
+ requestTemplateDetails: {
722
+ color: theme.ColorPalette.grayscale.black,
723
+ fontWeight: 'normal',
724
+ fontSize: 16,
725
+ },
726
+ requestTemplateZkpLabel: {
727
+ color: theme.ColorPalette.grayscale.mediumGrey,
728
+ fontSize: 12,
729
+ },
730
+ requestTemplateIcon: {
731
+ color: theme.ColorPalette.grayscale.black,
732
+ fontSize: 36,
733
+ },
734
+ requestTemplateDate: {
735
+ color: theme.ColorPalette.grayscale.mediumGrey,
736
+ fontSize: 10,
737
+ },
738
+ })
739
+
740
+ const viewStyles = StyleSheet.create({
741
+ credentialBackground: {
742
+ backgroundColor: theme.ColorPalette.brand.secondaryBackground,
743
+ },
744
+ credentialOfferBackground: {
745
+ backgroundColor: theme.ColorPalette.brand.modalPrimaryBackground,
746
+ },
747
+ revoked: {
748
+ backgroundColor: theme.ColorPalette.notification.error,
749
+ borderColor: theme.ColorPalette.notification.errorBorder,
750
+ },
751
+ contactBackground: {
752
+ backgroundColor: theme.ColorPalette.brand.secondaryBackground,
753
+ },
754
+ contactIconBackground: {
755
+ backgroundColor: theme.ColorPalette.brand.primary,
756
+ },
757
+ recordContainer: {
758
+ backgroundColor: theme.ColorPalette.brand.secondaryBackground,
759
+ },
760
+ recordBorder: {
761
+ borderBottomColor: theme.ColorPalette.brand.primaryBackground,
762
+ },
763
+ emptyList: {
764
+ ...theme.TextTheme.normal,
765
+ },
766
+ requestTemplateBackground: {
767
+ backgroundColor: theme.ColorPalette.grayscale.white,
768
+ },
769
+ })
770
+
771
+ return { ...testStyles, ...viewStyles }
772
+ }
773
+ export const ListItems = createListItemsTheme({ ColorPalette, TextTheme })
774
+
775
+ /**
776
+ * Creates a theme for tabs based on the provided color pallet and text theme.
777
+ *
778
+ * @param {{ ColorPalette: IColorPalette; TextTheme: ITextTheme }} theme - The theme object containing the color pallet and text theme
779
+ * @returns {*} {ITabTheme} - The created tab theme
780
+ */
781
+ export function createTabTheme(theme: { ColorPalette: IColorPalette; TextTheme: ITextTheme }): ITabTheme {
782
+ const textStyles = StyleSheet.create({
783
+ tabBarTextStyle: {
784
+ ...theme.TextTheme.labelSubtitle,
785
+ paddingBottom: 5,
786
+ },
787
+ tabBarButtonIconStyle: {
788
+ color: theme.ColorPalette.brand.headerIcon,
789
+ },
790
+ })
791
+
792
+ const viewStyles = StyleSheet.create({
793
+ tabBarStyle: {
794
+ height: 60,
795
+ backgroundColor: theme.ColorPalette.brand.secondaryBackground,
796
+ shadowOffset: { width: 0, height: -3 },
797
+ shadowRadius: 6,
798
+ shadowColor: theme.ColorPalette.grayscale.black,
799
+ shadowOpacity: 0.1,
800
+ borderTopWidth: 0,
801
+ paddingBottom: 0,
802
+ },
803
+ tabBarContainerStyle: {
804
+ flex: 1,
805
+ justifyContent: 'center',
806
+ alignItems: 'center',
807
+ },
808
+ focusTabIconStyle: {
809
+ height: 60,
810
+ width: 60,
811
+ backgroundColor: theme.ColorPalette.brand.primary,
812
+ borderRadius: 60,
813
+ justifyContent: 'center',
814
+ alignItems: 'center',
815
+ },
816
+ focusTabActiveTintColor: {
817
+ backgroundColor: theme.ColorPalette.brand.secondary,
818
+ },
819
+ })
820
+
821
+ return {
822
+ ...textStyles,
823
+ ...viewStyles,
824
+ tabBarActiveTintColor: theme.ColorPalette.brand.primary,
825
+ tabBarInactiveTintColor: theme.ColorPalette.brand.tabBarInactive,
826
+ tabBarSecondaryBackgroundColor: theme.ColorPalette.brand.secondaryBackground,
804
827
  }
805
- tabBarSecondaryBackgroundColor: string
806
828
  }
829
+ export const TabTheme = createTabTheme({ ColorPalette, TextTheme })
807
830
 
808
- export const TabTheme: ITabTheme = {
809
- tabBarStyle: {
810
- height: 60,
811
- backgroundColor: ColorPallet.brand.secondaryBackground,
812
- shadowOffset: { width: 0, height: -3 },
813
- shadowRadius: 6,
814
- shadowColor: ColorPallet.grayscale.black,
815
- shadowOpacity: 0.1,
816
- borderTopWidth: 0,
817
- paddingBottom: 0,
818
- },
819
- tabBarContainerStyle: {
820
- flex: 1,
821
- justifyContent: 'center',
822
- alignItems: 'center',
823
- },
824
- tabBarActiveTintColor: ColorPallet.brand.primary,
825
- tabBarInactiveTintColor: ColorPallet.brand.tabBarInactive,
826
- tabBarTextStyle: {
827
- ...TextTheme.labelSubtitle,
828
- paddingBottom: 5,
829
- },
830
- tabBarButtonIconStyle: {
831
- color: ColorPallet.brand.headerIcon,
832
- },
833
- focusTabIconStyle: {
834
- height: 60,
835
- width: 60,
836
- backgroundColor: ColorPallet.brand.primary,
837
- borderRadius: 60,
838
- justifyContent: 'center',
839
- alignItems: 'center',
840
- },
841
- focusTabActiveTintColor: {
842
- backgroundColor: ColorPallet.brand.secondary,
843
- },
844
- tabBarSecondaryBackgroundColor: ColorPallet.brand.secondaryBackground,
831
+ /**
832
+ * Creates a navigation theme based on the provided color pallet.
833
+ *
834
+ * @param {{ ColorPalette: IColorPalette }} theme - The theme object containing the color pallet
835
+ * @returns {*} {INavigationTheme} - The created navigation theme
836
+ */
837
+ export function createNavigationTheme(theme: { ColorPalette: IColorPalette }) {
838
+ return {
839
+ dark: true,
840
+ colors: {
841
+ primary: theme.ColorPalette.brand.primary,
842
+ background: theme.ColorPalette.brand.primaryBackground,
843
+ card: theme.ColorPalette.brand.primary,
844
+ text: theme.ColorPalette.grayscale.white,
845
+ border: theme.ColorPalette.grayscale.white,
846
+ notification: theme.ColorPalette.grayscale.white,
847
+ },
848
+ }
845
849
  }
850
+ export type INavigationTheme = ReturnType<typeof createNavigationTheme>
851
+ export const NavigationTheme = createNavigationTheme({ ColorPalette })
846
852
 
847
- export const NavigationTheme = {
848
- dark: true,
849
- colors: {
850
- primary: ColorPallet.brand.primary,
851
- background: ColorPallet.brand.primaryBackground,
852
- card: ColorPallet.brand.primary,
853
- text: ColorPallet.grayscale.white,
854
- border: ColorPallet.grayscale.white,
855
- notification: ColorPallet.grayscale.white,
856
- },
853
+ /**
854
+ * Creates a home theme based on the provided color pallet and text theme.
855
+ *
856
+ * @param {{ ColorPalette: IColorPalette; TextTheme: ITextTheme }} theme - The theme object containing the color pallet and text theme
857
+ * @returns {*} {IHomeTheme} - The created home theme
858
+ */
859
+ export function createHomeTheme(theme: { ColorPalette: IColorPalette; TextTheme: ITextTheme }): IHomeTheme {
860
+ return StyleSheet.create({
861
+ welcomeHeader: {
862
+ ...theme.TextTheme.headingOne,
863
+ },
864
+ credentialMsg: {
865
+ ...theme.TextTheme.normal,
866
+ },
867
+ notificationsHeader: {
868
+ ...theme.TextTheme.headingThree,
869
+ },
870
+ noNewUpdatesText: {
871
+ ...theme.TextTheme.normal,
872
+ color: theme.ColorPalette.notification.infoText,
873
+ },
874
+ link: {
875
+ ...theme.TextTheme.normal,
876
+ color: theme.ColorPalette.brand.link,
877
+ },
878
+ })
857
879
  }
880
+ export const HomeTheme = createHomeTheme({ ColorPalette, TextTheme })
858
881
 
859
- export const HomeTheme = StyleSheet.create({
860
- welcomeHeader: {
861
- ...TextTheme.headingOne,
862
- },
863
- credentialMsg: {
864
- ...TextTheme.normal,
865
- },
866
- notificationsHeader: {
867
- ...TextTheme.headingThree,
868
- },
869
- noNewUpdatesText: {
870
- ...TextTheme.normal,
871
- color: ColorPallet.notification.infoText,
872
- },
873
- link: {
874
- ...TextTheme.normal,
875
- color: ColorPallet.brand.link,
876
- },
877
- })
882
+ /**
883
+ * Creates a settings theme based on the provided color pallet and text theme.
884
+ *
885
+ * @param {{ ColorPalette: IColorPalette; TextTheme: ITextTheme }} theme - The theme object containing the color pallet and text theme
886
+ * @returns {*} {ISettingsTheme} - The created settings theme
887
+ */
888
+ export function createSettingsTheme(theme: { ColorPalette: IColorPalette; TextTheme: ITextTheme }): ISettingsTheme {
889
+ const settingsTheme = StyleSheet.create({
890
+ groupHeader: {
891
+ ...theme.TextTheme.normal,
892
+ marginBottom: 8,
893
+ },
894
+ text: {
895
+ ...theme.TextTheme.caption,
896
+ color: theme.ColorPalette.grayscale.white,
897
+ },
898
+ })
878
899
 
879
- export const SettingsTheme = {
880
- groupHeader: {
881
- ...TextTheme.normal,
882
- marginBottom: 8,
883
- },
884
- groupBackground: ColorPallet.brand.secondaryBackground,
885
- iconColor: TextTheme.normal.color,
886
- text: {
887
- ...TextTheme.caption,
888
- color: ColorPallet.grayscale.white,
889
- },
900
+ return {
901
+ ...settingsTheme,
902
+ groupBackground: theme.ColorPalette.brand.secondaryBackground,
903
+ iconColor: theme.ColorPalette.brand.text,
904
+ }
890
905
  }
906
+ export const SettingsTheme = createSettingsTheme({ ColorPalette, TextTheme })
891
907
 
892
- export const ChatTheme = {
893
- containerStyle: {
894
- marginBottom: 16,
895
- marginLeft: 16,
896
- marginRight: 16,
897
- flexDirection: 'column',
898
- alignItems: 'flex-start',
899
- alignSelf: 'flex-end',
900
- },
901
- leftBubble: {
902
- backgroundColor: ColorPallet.brand.secondaryBackground,
903
- borderRadius: 4,
904
- padding: 16,
905
- marginLeft: 16,
906
- },
907
- rightBubble: {
908
- backgroundColor: ColorPallet.brand.primaryLight,
909
- borderRadius: 4,
910
- padding: 16,
911
- marginRight: 16,
912
- },
913
- timeStyleLeft: {
914
- color: ColorPallet.grayscale.lightGrey,
915
- fontSize: 12,
916
- marginTop: 8,
917
- },
918
- timeStyleRight: {
919
- color: ColorPallet.grayscale.lightGrey,
920
- fontSize: 12,
921
- marginTop: 8,
922
- },
923
- leftText: {
924
- color: ColorPallet.brand.secondary,
925
- fontSize: TextTheme.normal.fontSize,
926
- },
927
- leftTextHighlighted: {
928
- ...TextTheme.bold,
929
- color: ColorPallet.brand.secondary,
930
- },
931
- rightText: {
932
- color: ColorPallet.brand.secondary,
933
- fontSize: TextTheme.normal.fontSize,
934
- },
935
- rightTextHighlighted: {
936
- ...TextTheme.bold,
937
- color: ColorPallet.brand.secondary,
938
- },
939
- inputToolbar: {
940
- backgroundColor: ColorPallet.brand.secondary,
941
- shadowColor: ColorPallet.brand.primaryDisabled,
942
- borderRadius: 10,
943
- },
944
- inputText: {
945
- lineHeight: undefined,
946
- fontWeight: '500',
947
- fontSize: TextTheme.normal.fontSize,
948
- },
949
- placeholderText: ColorPallet.grayscale.lightGrey,
950
- sendContainer: {
951
- marginBottom: 4,
952
- paddingHorizontal: 4,
953
- justifyContent: 'center',
954
- },
955
- sendEnabled: ColorPallet.brand.primary,
956
- sendDisabled: ColorPallet.brand.primaryDisabled,
957
- options: ColorPallet.brand.primary,
958
- optionsText: ColorPallet.grayscale.black,
959
- openButtonStyle: {
960
- borderRadius: 32,
961
- backgroundColor: ColorPallet.brand.primary,
962
- paddingTop: 8,
963
- paddingBottom: 8,
964
- paddingLeft: 16,
965
- paddingRight: 16,
966
- marginTop: 16,
967
- },
968
- openButtonTextStyle: {
969
- fontSize: TextTheme.normal.fontSize,
970
- fontWeight: 'bold',
971
- textAlign: 'center',
972
- },
973
- documentIconContainer: {
974
- backgroundColor: ColorPallet.brand.primary,
975
- alignSelf: 'flex-start',
976
- borderRadius: 4,
977
- marginBottom: 16,
978
- justifyContent: 'center',
979
- alignItems: 'center',
980
- width: 50,
981
- height: 50,
982
- },
983
- documentIcon: {
984
- color: ColorPallet.grayscale.white,
985
- },
908
+ /**
909
+ * Creates a chat theme based on the provided color pallet and text theme.
910
+ *
911
+ * @param {{ ColorPalette: IColorPalette; TextTheme: ITextTheme }} theme - The theme object containing the color pallet and text theme
912
+ * @returns {*} {IChatTheme} - The created chat theme
913
+ */
914
+ export function createChatTheme(theme: { ColorPalette: IColorPalette; TextTheme: ITextTheme }): IChatTheme {
915
+ const textStyles = StyleSheet.create({
916
+ timeStyleLeft: {
917
+ color: theme.ColorPalette.grayscale.lightGrey,
918
+ fontSize: 12,
919
+ marginTop: 8,
920
+ },
921
+ timeStyleRight: {
922
+ color: theme.ColorPalette.grayscale.lightGrey,
923
+ fontSize: 12,
924
+ marginTop: 8,
925
+ },
926
+ leftText: {
927
+ color: theme.ColorPalette.brand.secondary,
928
+ fontSize: theme.TextTheme.normal.fontSize,
929
+ },
930
+ leftTextHighlighted: {
931
+ ...theme.TextTheme.bold,
932
+ color: theme.ColorPalette.brand.secondary,
933
+ },
934
+ rightText: {
935
+ color: theme.ColorPalette.brand.secondary,
936
+ fontSize: theme.TextTheme.normal.fontSize,
937
+ },
938
+ rightTextHighlighted: {
939
+ ...theme.TextTheme.bold,
940
+ color: theme.ColorPalette.brand.secondary,
941
+ },
942
+ inputText: {
943
+ lineHeight: undefined,
944
+ fontWeight: '500',
945
+ fontSize: theme.TextTheme.normal.fontSize,
946
+ },
947
+ openButtonTextStyle: {
948
+ fontSize: theme.TextTheme.normal.fontSize,
949
+ fontWeight: 'bold',
950
+ textAlign: 'center',
951
+ },
952
+ documentIcon: {
953
+ color: theme.ColorPalette.grayscale.white,
954
+ },
955
+ })
956
+
957
+ const viewStyles = StyleSheet.create({
958
+ containerStyle: {
959
+ marginBottom: 16,
960
+ marginLeft: 16,
961
+ marginRight: 16,
962
+ flexDirection: 'column',
963
+ alignItems: 'flex-start',
964
+ alignSelf: 'flex-end',
965
+ },
966
+ leftBubble: {
967
+ backgroundColor: theme.ColorPalette.brand.secondaryBackground,
968
+ borderRadius: 4,
969
+ padding: 16,
970
+ marginLeft: 16,
971
+ },
972
+ rightBubble: {
973
+ backgroundColor: theme.ColorPalette.brand.primaryLight,
974
+ borderRadius: 4,
975
+ padding: 16,
976
+ marginRight: 16,
977
+ },
978
+ sendContainer: {
979
+ marginBottom: 4,
980
+ paddingHorizontal: 4,
981
+ justifyContent: 'center',
982
+ },
983
+ openButtonStyle: {
984
+ borderRadius: 32,
985
+ backgroundColor: theme.ColorPalette.brand.primary,
986
+ paddingTop: 8,
987
+ paddingBottom: 8,
988
+ paddingLeft: 16,
989
+ paddingRight: 16,
990
+ marginTop: 16,
991
+ },
992
+ documentIconContainer: {
993
+ backgroundColor: theme.ColorPalette.brand.primary,
994
+ alignSelf: 'flex-start',
995
+ borderRadius: 4,
996
+ marginBottom: 16,
997
+ justifyContent: 'center',
998
+ alignItems: 'center',
999
+ width: 50,
1000
+ height: 50,
1001
+ },
1002
+ inputToolbar: {
1003
+ backgroundColor: theme.ColorPalette.brand.secondary,
1004
+ shadowColor: theme.ColorPalette.brand.primaryDisabled,
1005
+ borderRadius: 10,
1006
+ },
1007
+ })
1008
+
1009
+ return {
1010
+ ...textStyles,
1011
+ ...viewStyles,
1012
+ placeholderText: theme.ColorPalette.grayscale.lightGrey,
1013
+ sendEnabled: theme.ColorPalette.brand.primary,
1014
+ sendDisabled: theme.ColorPalette.brand.primaryDisabled,
1015
+ options: theme.ColorPalette.brand.primary,
1016
+ optionsText: theme.ColorPalette.grayscale.black,
1017
+ }
986
1018
  }
1019
+ export const ChatTheme = createChatTheme({ ColorPalette, TextTheme })
987
1020
 
988
- export const OnboardingTheme = {
989
- container: {
990
- backgroundColor: ColorPallet.brand.primaryBackground,
991
- },
992
- carouselContainer: {
993
- backgroundColor: ColorPallet.brand.primaryBackground,
994
- },
995
- pagerDot: {
996
- borderColor: ColorPallet.brand.primary,
997
- },
998
- pagerDotActive: {
999
- color: ColorPallet.brand.primary,
1000
- },
1001
- pagerDotInactive: {
1002
- color: ColorPallet.brand.secondary,
1003
- },
1004
- pagerNavigationButton: {
1005
- color: ColorPallet.brand.primary,
1006
- fontWeight: 'bold',
1007
- fontSize: 18,
1008
- },
1009
- headerTintColor: ColorPallet.grayscale.white,
1010
- headerText: {
1011
- ...TextTheme.bold,
1012
- },
1013
- bodyText: {
1014
- ...TextTheme.normal,
1015
- },
1016
- imageDisplayOptions: {
1017
- fill: ColorPallet.notification.infoText,
1018
- },
1021
+ /**
1022
+ * Creates an onboarding theme based on the provided color pallet and text theme.
1023
+ *
1024
+ * @param {{ ColorPalette: IColorPalette; TextTheme: ITextTheme }} theme - The theme object containing the color pallet and text theme
1025
+ * @returns {*} {IOnboardingTheme} - The created onboarding theme
1026
+ */
1027
+ export function createOnboardingTheme(theme: { ColorPalette: IColorPalette; TextTheme: ITextTheme }): IOnboardingTheme {
1028
+ const textStyles = StyleSheet.create({
1029
+ pagerDot: {
1030
+ borderColor: theme.ColorPalette.brand.primary,
1031
+ },
1032
+ pagerDotActive: {
1033
+ color: theme.ColorPalette.brand.primary,
1034
+ },
1035
+ pagerDotInactive: {
1036
+ color: theme.ColorPalette.brand.secondary,
1037
+ },
1038
+ pagerNavigationButton: {
1039
+ color: theme.ColorPalette.brand.primary,
1040
+ fontWeight: 'bold',
1041
+ fontSize: 18,
1042
+ },
1043
+ headerText: {
1044
+ ...theme.TextTheme.bold,
1045
+ },
1046
+ bodyText: {
1047
+ ...theme.TextTheme.normal,
1048
+ },
1049
+ })
1050
+
1051
+ const viewStyles = StyleSheet.create({
1052
+ container: {
1053
+ backgroundColor: theme.ColorPalette.brand.primaryBackground,
1054
+ },
1055
+ carouselContainer: {
1056
+ backgroundColor: theme.ColorPalette.brand.primaryBackground,
1057
+ },
1058
+ })
1059
+
1060
+ return {
1061
+ ...textStyles,
1062
+ ...viewStyles,
1063
+ headerTintColor: ColorPalette.grayscale.white,
1064
+ imageDisplayOptions: {
1065
+ fill: ColorPalette.notification.infoText,
1066
+ },
1067
+ }
1019
1068
  }
1069
+ export const OnboardingTheme = createOnboardingTheme({ ColorPalette, TextTheme })
1020
1070
 
1021
- export const DialogTheme = {
1022
- modalView: {
1023
- backgroundColor: ColorPallet.brand.secondaryBackground,
1024
- },
1025
- titleText: {
1026
- color: ColorPallet.grayscale.white,
1027
- },
1028
- description: {
1029
- color: ColorPallet.grayscale.white,
1030
- },
1031
- closeButtonIcon: {
1032
- color: ColorPallet.grayscale.white,
1033
- },
1034
- carouselButtonText: {
1035
- color: ColorPallet.grayscale.white,
1036
- },
1071
+ /**
1072
+ * Creates a dialog theme based on the provided color pallet.
1073
+ *
1074
+ * @param {{ ColorPalette: IColorPalette }} theme - The theme object containing the color pallet
1075
+ * @returns {*} {IDialogTheme} - The created dialog theme
1076
+ */
1077
+ export function createDialogTheme(theme: { ColorPalette: IColorPalette }): IDialogTheme {
1078
+ return StyleSheet.create({
1079
+ modalView: {
1080
+ backgroundColor: theme.ColorPalette.brand.secondaryBackground,
1081
+ },
1082
+ titleText: {
1083
+ color: theme.ColorPalette.grayscale.white,
1084
+ },
1085
+ description: {
1086
+ color: theme.ColorPalette.grayscale.white,
1087
+ },
1088
+ closeButtonIcon: {
1089
+ color: theme.ColorPalette.grayscale.white,
1090
+ },
1091
+ carouselButtonText: {
1092
+ color: theme.ColorPalette.grayscale.white,
1093
+ },
1094
+ })
1037
1095
  }
1096
+ export const DialogTheme = createDialogTheme({ ColorPalette })
1038
1097
 
1039
- const LoadingTheme = {
1040
- backgroundColor: ColorPallet.brand.modalPrimaryBackground,
1098
+ export function createLoadingTheme(theme: { ColorPalette: IColorPalette }): ILoadingTheme {
1099
+ return {
1100
+ backgroundColor: theme.ColorPalette.brand.modalPrimaryBackground,
1101
+ }
1041
1102
  }
1103
+ export const LoadingTheme = createLoadingTheme({ ColorPalette })
1104
+
1105
+ // NOTE: If ColorPalette or TextTheme is needed in this theme,
1106
+ // we can convert this to a function like the others.
1042
1107
  const PINEnterTheme = {
1043
1108
  image: {
1044
1109
  alignSelf: 'center',
1045
1110
  marginBottom: 20,
1046
1111
  },
1047
1112
  }
1048
- const PINInputTheme = {
1049
- cell: {
1050
- backgroundColor: ColorPallet.brand.secondaryBackground,
1051
- borderColor: ColorPallet.brand.secondary,
1052
- borderWidth: 1,
1053
- },
1054
- focussedCell: {
1055
- borderColor: ColorPallet.brand.headerIcon,
1056
- },
1057
- cellText: {
1058
- color: ColorPallet.brand.text,
1059
- },
1060
- icon: {
1061
- color: ColorPallet.brand.headerIcon,
1062
- },
1063
- codeFieldRoot: {
1064
- justifyContent: 'flex-start',
1065
- alignItems: 'center',
1066
- },
1067
- labelAndFieldContainer: {
1068
- flexDirection: 'row',
1069
- borderRadius: 5,
1070
- paddingHorizontal: 12,
1071
- paddingVertical: 4,
1072
- alignItems: 'center',
1073
- backgroundColor: ColorPallet.brand.secondaryBackground,
1074
- borderColor: ColorPallet.brand.secondary,
1075
- borderWidth: 1,
1076
- },
1113
+ export type IPINEnterTheme = typeof PINEnterTheme
1114
+
1115
+ /**
1116
+ * Creates a theme for PIN input based on the provided color pallet.
1117
+ *
1118
+ * @param {{ ColorPalette: IColorPalette }} theme - The theme object containing the color pallet
1119
+ * @returns {*} {IPINInputTheme} - The created PIN input theme
1120
+ */
1121
+ export function createPINInputTheme(theme: { ColorPalette: IColorPalette }): IPINInputTheme {
1122
+ const textStyles = StyleSheet.create({
1123
+ cellText: {
1124
+ color: theme.ColorPalette.brand.text,
1125
+ },
1126
+ icon: {
1127
+ color: theme.ColorPalette.brand.headerIcon,
1128
+ },
1129
+ })
1130
+
1131
+ const viewStyles = StyleSheet.create({
1132
+ cell: {
1133
+ backgroundColor: theme.ColorPalette.brand.secondaryBackground,
1134
+ borderColor: theme.ColorPalette.brand.secondary,
1135
+ borderWidth: 1,
1136
+ },
1137
+ focussedCell: {
1138
+ borderColor: theme.ColorPalette.brand.headerIcon,
1139
+ },
1140
+ codeFieldRoot: {
1141
+ justifyContent: 'flex-start',
1142
+ alignItems: 'center',
1143
+ },
1144
+ labelAndFieldContainer: {
1145
+ flexDirection: 'row',
1146
+ borderRadius: 5,
1147
+ paddingHorizontal: 12,
1148
+ paddingVertical: 4,
1149
+ alignItems: 'center',
1150
+ backgroundColor: theme.ColorPalette.brand.secondaryBackground,
1151
+ borderColor: theme.ColorPalette.brand.secondary,
1152
+ borderWidth: 1,
1153
+ },
1154
+ })
1155
+
1156
+ return { ...textStyles, ...viewStyles }
1077
1157
  }
1158
+ export const PINInputTheme = createPINInputTheme({ ColorPalette })
1078
1159
 
1079
1160
  const CredentialCardShadowTheme = {
1080
1161
  shadowColor: '#000',
@@ -1088,7 +1169,7 @@ const CredentialCardShadowTheme = {
1088
1169
  const SelectedCredTheme = {
1089
1170
  borderWidth: 5,
1090
1171
  borderRadius: 15,
1091
- borderColor: ColorPallet.semantic.focus,
1172
+ borderColor: ColorPalette.semantic.focus,
1092
1173
  } satisfies ViewStyle
1093
1174
 
1094
1175
  export const Assets = {
@@ -1172,36 +1253,45 @@ export const Assets = {
1172
1253
  },
1173
1254
  }
1174
1255
 
1175
- const InputInlineMessage: IInlineInputMessage = {
1176
- inlineErrorText: { ...TextTheme.inlineErrorText },
1177
- InlineErrorIcon: Assets.svg.iconError,
1178
- inlineWarningText: { ...TextTheme.inlineWarningText },
1179
- InlineWarningIcon: Assets.svg.iconWarning,
1256
+ /**
1257
+ * Creates a theme for inline messages in inputs based on the provided text theme and assets.
1258
+ *
1259
+ * @param {{ TextTheme: ITextTheme; Assets: IAssets }} theme - The theme object containing the text theme and assets
1260
+ * @return {*} {IInlineInputMessage} - The created inline input message theme
1261
+ */
1262
+ export function createInputInlineMessageTheme(theme: { TextTheme: ITextTheme; Assets: IAssets }): IInlineInputMessage {
1263
+ return {
1264
+ inlineErrorText: { ...theme.TextTheme.inlineErrorText },
1265
+ InlineErrorIcon: theme.Assets.svg.iconError,
1266
+ inlineWarningText: { ...theme.TextTheme.inlineWarningText },
1267
+ InlineWarningIcon: theme.Assets.svg.iconWarning,
1268
+ }
1180
1269
  }
1270
+ export const InputInlineMessage = createInputInlineMessageTheme({ TextTheme, Assets })
1181
1271
 
1182
1272
  export interface ITheme {
1183
1273
  themeName: string
1184
1274
  Spacing: ISpacing
1185
- ColorPallet: IColorPallet
1275
+ ColorPalette: IColorPalette
1186
1276
  TextTheme: ITextTheme
1187
1277
  InputInlineMessage: IInlineInputMessage
1188
1278
  Inputs: IInputs
1189
- Buttons: any
1190
- ListItems: any
1279
+ Buttons: IButtons
1280
+ ListItems: IListItems
1191
1281
  TabTheme: ITabTheme
1192
- NavigationTheme: any
1193
- HomeTheme: any
1194
- SettingsTheme: any
1195
- ChatTheme: any
1196
- OnboardingTheme: any
1197
- DialogTheme: any
1198
- LoadingTheme: any
1199
- PINEnterTheme: any
1200
- PINInputTheme: any
1282
+ NavigationTheme: INavigationTheme
1283
+ HomeTheme: IHomeTheme
1284
+ SettingsTheme: ISettingsTheme
1285
+ ChatTheme: IChatTheme
1286
+ OnboardingTheme: IOnboardingTheme
1287
+ DialogTheme: IDialogTheme
1288
+ LoadingTheme: ILoadingTheme
1289
+ PINEnterTheme: IPINEnterTheme
1290
+ PINInputTheme: IPINInputTheme
1201
1291
  CredentialCardShadowTheme: ViewStyle
1202
1292
  SelectedCredTheme: ViewStyle
1203
- heavyOpacity: any
1204
- borderRadius: any
1293
+ heavyOpacity: typeof heavyOpacity
1294
+ borderRadius: typeof borderRadius
1205
1295
  borderWidth: typeof borderWidth
1206
1296
  maxFontSizeMultiplier: number
1207
1297
  Assets: IAssets
@@ -1210,7 +1300,7 @@ export interface ITheme {
1210
1300
  export const bifoldTheme: ITheme = {
1211
1301
  themeName: 'bifold',
1212
1302
  Spacing,
1213
- ColorPallet,
1303
+ ColorPalette,
1214
1304
  TextTheme,
1215
1305
  InputInlineMessage,
1216
1306
  Inputs,
@@ -1236,3 +1326,20 @@ export const bifoldTheme: ITheme = {
1236
1326
  }
1237
1327
 
1238
1328
  export const themes: ITheme[] = [bifoldTheme]
1329
+
1330
+ // Backwards compatible exports
1331
+ export type {
1332
+ ITextTheme,
1333
+ IInlineInputMessage,
1334
+ IInputs,
1335
+ IButtons,
1336
+ IListItems,
1337
+ ITabTheme,
1338
+ IHomeTheme,
1339
+ ISettingsTheme,
1340
+ IChatTheme,
1341
+ IOnboardingTheme,
1342
+ IDialogTheme,
1343
+ ILoadingTheme,
1344
+ IPINInputTheme,
1345
+ } from './theme.interface'