@procivis/one-react-native-components 0.3.62 → 0.3.86

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 (303) hide show
  1. package/lib/commonjs/components/credential/credential.js +8 -2
  2. package/lib/commonjs/components/credential/credential.js.map +1 -1
  3. package/lib/commonjs/components/proof-request/index.js +23 -12
  4. package/lib/commonjs/components/proof-request/index.js.map +1 -1
  5. package/lib/commonjs/components/proof-request/select-share-credential-card-notice.js +37 -0
  6. package/lib/commonjs/components/proof-request/select-share-credential-card-notice.js.map +1 -0
  7. package/lib/commonjs/components/proof-request/share-credential-card-notice.js +36 -0
  8. package/lib/commonjs/components/proof-request/share-credential-card-notice.js.map +1 -0
  9. package/lib/commonjs/components/proof-request/{group.js → v1/group.js} +1 -1
  10. package/lib/commonjs/components/proof-request/v1/group.js.map +1 -0
  11. package/lib/commonjs/components/proof-request/v1/index.js +39 -0
  12. package/lib/commonjs/components/proof-request/v1/index.js.map +1 -0
  13. package/lib/commonjs/components/proof-request/{select-credential.js → v1/select-credential.js} +12 -6
  14. package/lib/commonjs/components/proof-request/v1/select-credential.js.map +1 -0
  15. package/lib/commonjs/components/proof-request/{share-credential.js → v1/share-credential.js} +33 -62
  16. package/lib/commonjs/components/proof-request/v1/share-credential.js.map +1 -0
  17. package/lib/commonjs/components/proof-request/v2/index.js +39 -0
  18. package/lib/commonjs/components/proof-request/v2/index.js.map +1 -0
  19. package/lib/commonjs/components/proof-request/v2/select-credential-v2.js +55 -0
  20. package/lib/commonjs/components/proof-request/v2/select-credential-v2.js.map +1 -0
  21. package/lib/commonjs/components/proof-request/v2/share-credential-v2-group.js +164 -0
  22. package/lib/commonjs/components/proof-request/v2/share-credential-v2-group.js.map +1 -0
  23. package/lib/commonjs/components/proof-request/v2/share-credential-v2.js +135 -0
  24. package/lib/commonjs/components/proof-request/v2/share-credential-v2.js.map +1 -0
  25. package/lib/commonjs/ui-components/buttons/index.js +7 -0
  26. package/lib/commonjs/ui-components/buttons/index.js.map +1 -1
  27. package/lib/commonjs/ui-components/buttons/share-button.js +54 -0
  28. package/lib/commonjs/ui-components/buttons/share-button.js.map +1 -0
  29. package/lib/commonjs/ui-components/camera/qr-code-scanner.js +5 -1
  30. package/lib/commonjs/ui-components/camera/qr-code-scanner.js.map +1 -1
  31. package/lib/commonjs/ui-components/credential/card/credential-details-list-item.js +16 -42
  32. package/lib/commonjs/ui-components/credential/card/credential-details-list-item.js.map +1 -1
  33. package/lib/commonjs/ui-components/credential/credential-attribute-item.js +3 -1
  34. package/lib/commonjs/ui-components/credential/credential-attribute-item.js.map +1 -1
  35. package/lib/commonjs/ui-components/credential/group/credential-group-header.js +72 -0
  36. package/lib/commonjs/ui-components/credential/group/credential-group-header.js.map +1 -0
  37. package/lib/commonjs/ui-components/credential/group/index.js +14 -0
  38. package/lib/commonjs/ui-components/credential/group/index.js.map +1 -0
  39. package/lib/commonjs/ui-components/credential/index.js +12 -0
  40. package/lib/commonjs/ui-components/credential/index.js.map +1 -1
  41. package/lib/commonjs/ui-components/header/foldable-header.js +29 -17
  42. package/lib/commonjs/ui-components/header/foldable-header.js.map +1 -1
  43. package/lib/commonjs/ui-components/icons/icons.js +24 -1
  44. package/lib/commonjs/ui-components/icons/icons.js.map +1 -1
  45. package/lib/commonjs/ui-components/index.js +22 -0
  46. package/lib/commonjs/ui-components/index.js.map +1 -1
  47. package/lib/commonjs/ui-components/loader/loading-result.js +8 -1
  48. package/lib/commonjs/ui-components/loader/loading-result.js.map +1 -1
  49. package/lib/commonjs/ui-components/nfc/index.js +14 -0
  50. package/lib/commonjs/ui-components/nfc/index.js.map +1 -0
  51. package/lib/commonjs/ui-components/nfc/nfc-process.js +77 -0
  52. package/lib/commonjs/ui-components/nfc/nfc-process.js.map +1 -0
  53. package/lib/commonjs/ui-components/pin/pin-lock-animation.js +477 -475
  54. package/lib/commonjs/ui-components/pin/pin-lock-animation.js.map +1 -1
  55. package/lib/commonjs/ui-components/proof-request/index.js +13 -0
  56. package/lib/commonjs/ui-components/proof-request/index.js.map +1 -0
  57. package/lib/commonjs/ui-components/proof-request/proof-request-set.js +47 -0
  58. package/lib/commonjs/ui-components/proof-request/proof-request-set.js.map +1 -0
  59. package/lib/commonjs/ui-components/screens/section-list-screen.js +37 -8
  60. package/lib/commonjs/ui-components/screens/section-list-screen.js.map +1 -1
  61. package/lib/commonjs/utils/array.js.map +1 -1
  62. package/lib/commonjs/utils/hooks/app-state.js +33 -0
  63. package/lib/commonjs/utils/hooks/app-state.js.map +1 -0
  64. package/lib/commonjs/utils/hooks/core/backup.js +4 -5
  65. package/lib/commonjs/utils/hooks/core/backup.js.map +1 -1
  66. package/lib/commonjs/utils/hooks/core/core-init.js +4 -22
  67. package/lib/commonjs/utils/hooks/core/core-init.js.map +1 -1
  68. package/lib/commonjs/utils/hooks/core/credentials.js +10 -3
  69. package/lib/commonjs/utils/hooks/core/credentials.js.map +1 -1
  70. package/lib/commonjs/utils/hooks/core/identifiers.js +1 -1
  71. package/lib/commonjs/utils/hooks/core/identifiers.js.map +1 -1
  72. package/lib/commonjs/utils/hooks/core/index.js +11 -0
  73. package/lib/commonjs/utils/hooks/core/index.js.map +1 -1
  74. package/lib/commonjs/utils/hooks/core/proofs.js +45 -8
  75. package/lib/commonjs/utils/hooks/core/proofs.js.map +1 -1
  76. package/lib/commonjs/utils/hooks/core/wallet-unit.js +85 -0
  77. package/lib/commonjs/utils/hooks/core/wallet-unit.js.map +1 -0
  78. package/lib/commonjs/utils/hooks/index.js +22 -0
  79. package/lib/commonjs/utils/hooks/index.js.map +1 -1
  80. package/lib/commonjs/utils/hooks/nfc/nfc-status.js +40 -0
  81. package/lib/commonjs/utils/hooks/nfc/nfc-status.js.map +1 -0
  82. package/lib/commonjs/utils/hooks/revocation/credential-status.js +1 -1
  83. package/lib/commonjs/utils/hooks/revocation/credential-status.js.map +1 -1
  84. package/lib/commonjs/utils/index.js +24 -0
  85. package/lib/commonjs/utils/index.js.map +1 -1
  86. package/lib/commonjs/utils/parsers/credential-sharing-v2.js +190 -0
  87. package/lib/commonjs/utils/parsers/credential-sharing-v2.js.map +1 -0
  88. package/lib/commonjs/utils/parsers/credential-sharing.js +31 -18
  89. package/lib/commonjs/utils/parsers/credential-sharing.js.map +1 -1
  90. package/lib/commonjs/utils/parsers/credential.js +111 -63
  91. package/lib/commonjs/utils/parsers/credential.js.map +1 -1
  92. package/lib/commonjs/utils/parsers/index.js +11 -0
  93. package/lib/commonjs/utils/parsers/index.js.map +1 -1
  94. package/lib/commonjs/utils/parsers/query.js +4 -4
  95. package/lib/commonjs/utils/parsers/query.js.map +1 -1
  96. package/lib/commonjs/utils/url.js +80 -0
  97. package/lib/commonjs/utils/url.js.map +1 -0
  98. package/lib/commonjs/utils/wallet-unit.js +30 -0
  99. package/lib/commonjs/utils/wallet-unit.js.map +1 -0
  100. package/lib/module/components/credential/credential.js +8 -2
  101. package/lib/module/components/credential/credential.js.map +1 -1
  102. package/lib/module/components/proof-request/index.js +4 -3
  103. package/lib/module/components/proof-request/index.js.map +1 -1
  104. package/lib/module/components/proof-request/select-share-credential-card-notice.js +29 -0
  105. package/lib/module/components/proof-request/select-share-credential-card-notice.js.map +1 -0
  106. package/lib/module/components/proof-request/share-credential-card-notice.js +28 -0
  107. package/lib/module/components/proof-request/share-credential-card-notice.js.map +1 -0
  108. package/lib/module/components/proof-request/{group.js → v1/group.js} +1 -1
  109. package/lib/module/components/proof-request/v1/group.js.map +1 -0
  110. package/lib/module/components/proof-request/v1/index.js +4 -0
  111. package/lib/module/components/proof-request/v1/index.js.map +1 -0
  112. package/lib/module/components/proof-request/{select-credential.js → v1/select-credential.js} +12 -6
  113. package/lib/module/components/proof-request/v1/select-credential.js.map +1 -0
  114. package/lib/module/components/proof-request/v1/share-credential.js +118 -0
  115. package/lib/module/components/proof-request/v1/share-credential.js.map +1 -0
  116. package/lib/module/components/proof-request/v2/index.js +4 -0
  117. package/lib/module/components/proof-request/v2/index.js.map +1 -0
  118. package/lib/module/components/proof-request/v2/select-credential-v2.js +46 -0
  119. package/lib/module/components/proof-request/v2/select-credential-v2.js.map +1 -0
  120. package/lib/module/components/proof-request/v2/share-credential-v2-group.js +154 -0
  121. package/lib/module/components/proof-request/v2/share-credential-v2-group.js.map +1 -0
  122. package/lib/module/components/proof-request/v2/share-credential-v2.js +126 -0
  123. package/lib/module/components/proof-request/v2/share-credential-v2.js.map +1 -0
  124. package/lib/module/ui-components/buttons/index.js +2 -1
  125. package/lib/module/ui-components/buttons/index.js.map +1 -1
  126. package/lib/module/ui-components/buttons/share-button.js +47 -0
  127. package/lib/module/ui-components/buttons/share-button.js.map +1 -0
  128. package/lib/module/ui-components/camera/qr-code-scanner.js +5 -1
  129. package/lib/module/ui-components/camera/qr-code-scanner.js.map +1 -1
  130. package/lib/module/ui-components/credential/card/credential-details-list-item.js +19 -45
  131. package/lib/module/ui-components/credential/card/credential-details-list-item.js.map +1 -1
  132. package/lib/module/ui-components/credential/credential-attribute-item.js +3 -1
  133. package/lib/module/ui-components/credential/credential-attribute-item.js.map +1 -1
  134. package/lib/module/ui-components/credential/group/credential-group-header.js +64 -0
  135. package/lib/module/ui-components/credential/group/credential-group-header.js.map +1 -0
  136. package/lib/module/ui-components/credential/group/index.js +3 -0
  137. package/lib/module/ui-components/credential/group/index.js.map +1 -0
  138. package/lib/module/ui-components/credential/index.js +1 -0
  139. package/lib/module/ui-components/credential/index.js.map +1 -1
  140. package/lib/module/ui-components/header/foldable-header.js +29 -17
  141. package/lib/module/ui-components/header/foldable-header.js.map +1 -1
  142. package/lib/module/ui-components/icons/icons.js +22 -0
  143. package/lib/module/ui-components/icons/icons.js.map +1 -1
  144. package/lib/module/ui-components/index.js +2 -0
  145. package/lib/module/ui-components/index.js.map +1 -1
  146. package/lib/module/ui-components/loader/loading-result.js +8 -1
  147. package/lib/module/ui-components/loader/loading-result.js.map +1 -1
  148. package/lib/module/ui-components/nfc/index.js +3 -0
  149. package/lib/module/ui-components/nfc/index.js.map +1 -0
  150. package/lib/module/ui-components/nfc/nfc-process.js +69 -0
  151. package/lib/module/ui-components/nfc/nfc-process.js.map +1 -0
  152. package/lib/module/ui-components/pin/pin-lock-animation.js +477 -475
  153. package/lib/module/ui-components/pin/pin-lock-animation.js.map +1 -1
  154. package/lib/module/ui-components/proof-request/index.js +3 -0
  155. package/lib/module/ui-components/proof-request/index.js.map +1 -0
  156. package/lib/module/ui-components/proof-request/proof-request-set.js +39 -0
  157. package/lib/module/ui-components/proof-request/proof-request-set.js.map +1 -0
  158. package/lib/module/ui-components/screens/section-list-screen.js +36 -9
  159. package/lib/module/ui-components/screens/section-list-screen.js.map +1 -1
  160. package/lib/module/utils/array.js.map +1 -1
  161. package/lib/module/utils/hooks/app-state.js +27 -0
  162. package/lib/module/utils/hooks/app-state.js.map +1 -0
  163. package/lib/module/utils/hooks/core/backup.js +5 -6
  164. package/lib/module/utils/hooks/core/backup.js.map +1 -1
  165. package/lib/module/utils/hooks/core/core-init.js +3 -20
  166. package/lib/module/utils/hooks/core/core-init.js.map +1 -1
  167. package/lib/module/utils/hooks/core/credentials.js +11 -4
  168. package/lib/module/utils/hooks/core/credentials.js.map +1 -1
  169. package/lib/module/utils/hooks/core/identifiers.js +5 -5
  170. package/lib/module/utils/hooks/core/identifiers.js.map +1 -1
  171. package/lib/module/utils/hooks/core/index.js +1 -0
  172. package/lib/module/utils/hooks/core/index.js.map +1 -1
  173. package/lib/module/utils/hooks/core/proofs.js +45 -8
  174. package/lib/module/utils/hooks/core/proofs.js.map +1 -1
  175. package/lib/module/utils/hooks/core/wallet-unit.js +75 -0
  176. package/lib/module/utils/hooks/core/wallet-unit.js.map +1 -0
  177. package/lib/module/utils/hooks/index.js +2 -0
  178. package/lib/module/utils/hooks/index.js.map +1 -1
  179. package/lib/module/utils/hooks/nfc/nfc-status.js +32 -0
  180. package/lib/module/utils/hooks/nfc/nfc-status.js.map +1 -0
  181. package/lib/module/utils/hooks/revocation/credential-status.js +1 -1
  182. package/lib/module/utils/hooks/revocation/credential-status.js.map +1 -1
  183. package/lib/module/utils/index.js +2 -0
  184. package/lib/module/utils/index.js.map +1 -1
  185. package/lib/module/utils/parsers/credential-sharing-v2.js +177 -0
  186. package/lib/module/utils/parsers/credential-sharing-v2.js.map +1 -0
  187. package/lib/module/utils/parsers/credential-sharing.js +31 -18
  188. package/lib/module/utils/parsers/credential-sharing.js.map +1 -1
  189. package/lib/module/utils/parsers/credential.js +112 -64
  190. package/lib/module/utils/parsers/credential.js.map +1 -1
  191. package/lib/module/utils/parsers/index.js +1 -0
  192. package/lib/module/utils/parsers/index.js.map +1 -1
  193. package/lib/module/utils/parsers/query.js +4 -4
  194. package/lib/module/utils/parsers/query.js.map +1 -1
  195. package/lib/module/utils/url.js +71 -0
  196. package/lib/module/utils/url.js.map +1 -0
  197. package/lib/module/utils/wallet-unit.js +22 -0
  198. package/lib/module/utils/wallet-unit.js.map +1 -0
  199. package/lib/typescript/components/proof-request/index.d.ts +4 -3
  200. package/lib/typescript/components/proof-request/select-share-credential-card-notice.d.ts +7 -0
  201. package/lib/typescript/components/proof-request/share-credential-card-notice.d.ts +6 -0
  202. package/lib/typescript/components/proof-request/v1/index.d.ts +3 -0
  203. package/lib/typescript/components/proof-request/{select-credential.d.ts → v1/select-credential.d.ts} +1 -1
  204. package/lib/typescript/components/proof-request/{share-credential.d.ts → v1/share-credential.d.ts} +1 -1
  205. package/lib/typescript/components/proof-request/v2/index.d.ts +3 -0
  206. package/lib/typescript/components/proof-request/v2/select-credential-v2.d.ts +14 -0
  207. package/lib/typescript/components/proof-request/v2/share-credential-v2-group.d.ts +24 -0
  208. package/lib/typescript/components/proof-request/v2/share-credential-v2.d.ts +23 -0
  209. package/lib/typescript/ui-components/buttons/index.d.ts +3 -1
  210. package/lib/typescript/ui-components/buttons/share-button.d.ts +10 -0
  211. package/lib/typescript/ui-components/credential/group/credential-group-header.d.ts +10 -0
  212. package/lib/typescript/ui-components/credential/group/index.d.ts +3 -0
  213. package/lib/typescript/ui-components/credential/index.d.ts +1 -0
  214. package/lib/typescript/ui-components/header/foldable-header.d.ts +1 -0
  215. package/lib/typescript/ui-components/icons/icons.d.ts +1 -0
  216. package/lib/typescript/ui-components/index.d.ts +2 -0
  217. package/lib/typescript/ui-components/loader/loading-result.d.ts +2 -0
  218. package/lib/typescript/ui-components/nfc/index.d.ts +2 -0
  219. package/lib/typescript/ui-components/nfc/nfc-process.d.ts +17 -0
  220. package/lib/typescript/ui-components/pin/pin-lock-animation.d.ts +311 -311
  221. package/lib/typescript/ui-components/proof-request/index.d.ts +3 -0
  222. package/lib/typescript/ui-components/proof-request/proof-request-set.d.ts +7 -0
  223. package/lib/typescript/ui-components/screens/section-list-screen.d.ts +5 -2
  224. package/lib/typescript/utils/array.d.ts +1 -0
  225. package/lib/typescript/utils/hooks/app-state.d.ts +5 -0
  226. package/lib/typescript/utils/hooks/core/backup.d.ts +1 -1
  227. package/lib/typescript/utils/hooks/core/core-init.d.ts +1 -3
  228. package/lib/typescript/utils/hooks/core/credentials.d.ts +1 -1
  229. package/lib/typescript/utils/hooks/core/identifiers.d.ts +1 -1
  230. package/lib/typescript/utils/hooks/core/index.d.ts +1 -0
  231. package/lib/typescript/utils/hooks/core/proofs.d.ts +10 -3
  232. package/lib/typescript/utils/hooks/core/wallet-unit.d.ts +9 -0
  233. package/lib/typescript/utils/hooks/index.d.ts +2 -0
  234. package/lib/typescript/utils/hooks/nfc/nfc-status.d.ts +6 -0
  235. package/lib/typescript/utils/index.d.ts +2 -0
  236. package/lib/typescript/utils/parsers/credential-sharing-v2.d.ts +11 -0
  237. package/lib/typescript/utils/parsers/credential-sharing.d.ts +11 -5
  238. package/lib/typescript/utils/parsers/credential.d.ts +9 -6
  239. package/lib/typescript/utils/parsers/index.d.ts +1 -0
  240. package/lib/typescript/utils/parsers/query.d.ts +2 -2
  241. package/lib/typescript/utils/url.d.ts +19 -0
  242. package/lib/typescript/utils/wallet-unit.d.ts +8 -0
  243. package/package.json +16 -6
  244. package/src/components/credential/credential.tsx +5 -1
  245. package/src/components/proof-request/index.ts +4 -3
  246. package/src/components/proof-request/select-share-credential-card-notice.tsx +37 -0
  247. package/src/components/proof-request/share-credential-card-notice.tsx +33 -0
  248. package/src/components/proof-request/{group.tsx → v1/group.tsx} +1 -1
  249. package/src/components/proof-request/v1/index.ts +3 -0
  250. package/src/components/proof-request/{select-credential.tsx → v1/select-credential.tsx} +12 -5
  251. package/src/components/proof-request/{share-credential.tsx → v1/share-credential.tsx} +35 -52
  252. package/src/components/proof-request/v2/index.ts +3 -0
  253. package/src/components/proof-request/v2/select-credential-v2.tsx +59 -0
  254. package/src/components/proof-request/v2/share-credential-v2-group.tsx +258 -0
  255. package/src/components/proof-request/v2/share-credential-v2.tsx +211 -0
  256. package/src/ui-components/buttons/index.ts +4 -0
  257. package/src/ui-components/buttons/share-button.stories.tsx +25 -0
  258. package/src/ui-components/buttons/share-button.tsx +55 -0
  259. package/src/ui-components/camera/qr-code-scanner.tsx +11 -2
  260. package/src/ui-components/credential/card/credential-details-list-item.tsx +27 -49
  261. package/src/ui-components/credential/credential-attribute-item.tsx +2 -0
  262. package/src/ui-components/credential/group/credential-group-header.tsx +70 -0
  263. package/src/ui-components/credential/group/index.ts +4 -0
  264. package/src/ui-components/credential/index.ts +1 -0
  265. package/src/ui-components/header/foldable-header.tsx +31 -16
  266. package/src/ui-components/icons/icons.tsx +22 -0
  267. package/src/ui-components/index.ts +2 -0
  268. package/src/ui-components/loader/loading-result.stories.tsx +4 -1
  269. package/src/ui-components/loader/loading-result.tsx +7 -0
  270. package/src/ui-components/nfc/index.ts +3 -0
  271. package/src/ui-components/nfc/nfc-process.tsx +80 -0
  272. package/src/ui-components/pin/pin-lock-animation.tsx +240 -278
  273. package/src/ui-components/proof-request/index.ts +4 -0
  274. package/src/ui-components/proof-request/proof-request-set.tsx +46 -0
  275. package/src/ui-components/screens/section-list-screen.tsx +39 -8
  276. package/src/utils/array.ts +4 -0
  277. package/src/utils/hooks/app-state.ts +29 -0
  278. package/src/utils/hooks/core/backup.ts +3 -9
  279. package/src/utils/hooks/core/core-init.ts +1 -23
  280. package/src/utils/hooks/core/credentials.ts +11 -4
  281. package/src/utils/hooks/core/identifiers.ts +15 -14
  282. package/src/utils/hooks/core/index.ts +2 -1
  283. package/src/utils/hooks/core/proofs.ts +47 -10
  284. package/src/utils/hooks/core/wallet-unit.ts +77 -0
  285. package/src/utils/hooks/index.ts +2 -0
  286. package/src/utils/hooks/nfc/nfc-status.ts +31 -0
  287. package/src/utils/hooks/revocation/credential-status.ts +1 -1
  288. package/src/utils/index.ts +2 -0
  289. package/src/utils/parsers/credential-sharing-v2.tsx +283 -0
  290. package/src/utils/parsers/credential-sharing.tsx +40 -16
  291. package/src/utils/parsers/credential.ts +129 -59
  292. package/src/utils/parsers/index.ts +1 -0
  293. package/src/utils/parsers/query.ts +7 -5
  294. package/src/utils/url.ts +61 -0
  295. package/src/utils/wallet-unit.ts +30 -0
  296. package/lib/commonjs/components/proof-request/group.js.map +0 -1
  297. package/lib/commonjs/components/proof-request/select-credential.js.map +0 -1
  298. package/lib/commonjs/components/proof-request/share-credential.js.map +0 -1
  299. package/lib/module/components/proof-request/group.js.map +0 -1
  300. package/lib/module/components/proof-request/select-credential.js.map +0 -1
  301. package/lib/module/components/proof-request/share-credential.js +0 -147
  302. package/lib/module/components/proof-request/share-credential.js.map +0 -1
  303. /package/lib/typescript/components/proof-request/{group.d.ts → v1/group.d.ts} +0 -0
@@ -1 +1 @@
1
- {"version":3,"names":["getQueryKey","queryParams","params","map","param","getQueryKeyFromCredentialListQueryParams","exports","getQueryKeyFromHistoryListQueryParams","getQueryKeyFromCredentialSchemaListQueryParams","getQueryKeyFromProofSchemaListQueryParams","getQueryKeyFromProofListQueryParams","getQueryKeyFromDidListQueryParams","getQueryKeyFromIdentifierListQueryParams"],"sources":["query.ts"],"sourcesContent":["import {\n CredentialListQuery,\n CredentialSchemaListQuery,\n DidListQuery,\n HistoryListQuery,\n IdentifierListQuery,\n ProofListQuery,\n ProofSchemaListQuery,\n} from '@procivis/react-native-one-core';\n\ntype QueryKey<ListQuery, ParamList> = ParamList extends ReadonlyArray<keyof ListQuery> // all params are inside the ListQuery\n ? keyof ListQuery extends ParamList[number] // all ListQuery fields are in the params\n ? Array<ListQuery[keyof ListQuery]>\n : void\n : void; // otherwise produce a wrong return type which should trigger compilation error\n\n/** Typecheck that all query params are included in the query key */\nfunction getQueryKey<ListQuery extends {}, ParamList extends ReadonlyArray<keyof ListQuery>>(\n queryParams: ListQuery,\n params: ParamList,\n): QueryKey<ListQuery, ParamList> {\n return params.map((param) => queryParams[param]) as QueryKey<ListQuery, ParamList>;\n}\n\nexport const getQueryKeyFromCredentialListQueryParams = (queryParams: Partial<CredentialListQuery> = {}) => {\n return getQueryKey(queryParams, [\n 'page',\n 'pageSize',\n 'organisationId',\n 'name',\n 'searchText',\n 'searchType',\n 'sort',\n 'sortDirection',\n 'exact',\n 'role',\n 'ids',\n 'status',\n 'include',\n 'profile',\n 'createdDateAfter',\n 'createdDateBefore',\n 'lastModifiedAfter',\n 'lastModifiedBefore',\n 'issuanceDateAfter',\n 'issuanceDateBefore',\n 'revocationDateAfter',\n 'revocationDateBefore',\n ]);\n};\n\nexport const getQueryKeyFromHistoryListQueryParams = (queryParams: Partial<HistoryListQuery> = {}) => {\n return getQueryKey(queryParams, [\n 'page',\n 'pageSize',\n 'organisationId',\n 'entityId',\n 'actions',\n 'entityTypes',\n 'createdDateAfter',\n 'createdDateBefore',\n 'identifierId',\n 'credentialId',\n 'credentialSchemaId',\n 'proofSchemaId',\n 'search',\n ]);\n};\n\nexport const getQueryKeyFromCredentialSchemaListQueryParams = (\n queryParams: Partial<CredentialSchemaListQuery> = {},\n) => {\n return getQueryKey(queryParams, [\n 'page',\n 'pageSize',\n 'organisationId',\n 'name',\n 'sort',\n 'sortDirection',\n 'exact',\n 'ids',\n 'include',\n 'schemaId',\n 'formats',\n 'createdDateAfter',\n 'createdDateBefore',\n 'lastModifiedAfter',\n 'lastModifiedBefore',\n ]);\n};\n\nexport const getQueryKeyFromProofSchemaListQueryParams = (queryParams: Partial<ProofSchemaListQuery> = {}) => {\n return getQueryKey(queryParams, [\n 'page',\n 'pageSize',\n 'organisationId',\n 'name',\n 'sort',\n 'sortDirection',\n 'exact',\n 'ids',\n 'formats',\n 'createdDateAfter',\n 'createdDateBefore',\n 'lastModifiedAfter',\n 'lastModifiedBefore',\n ]);\n};\n\nexport const getQueryKeyFromProofListQueryParams = (queryParams: Partial<ProofListQuery> = {}) => {\n return getQueryKey(queryParams, [\n 'page',\n 'pageSize',\n 'organisationId',\n 'sort',\n 'sortDirection',\n 'name',\n 'ids',\n 'proofStates',\n 'proofRoles',\n 'proofSchemaIds',\n 'exact',\n 'profile',\n 'createdDateAfter',\n 'createdDateBefore',\n 'lastModifiedAfter',\n 'lastModifiedBefore',\n 'requestedDateAfter',\n 'requestedDateBefore',\n 'completedDateAfter',\n 'completedDateBefore',\n ]);\n};\n\nexport const getQueryKeyFromDidListQueryParams = (queryParams: Partial<DidListQuery> = {}) => {\n return getQueryKey(queryParams, [\n 'page',\n 'pageSize',\n 'organisationId',\n 'sort',\n 'sortDirection',\n 'name',\n 'did',\n 'type',\n 'deactivated',\n 'exact',\n 'keyAlgorithms',\n 'keyRoles',\n 'keyStorages',\n 'keyIds',\n 'didMethods',\n ]);\n};\n\nexport const getQueryKeyFromIdentifierListQueryParams = (queryParams: Partial<IdentifierListQuery> = {}) => {\n return getQueryKey(queryParams, [\n 'page',\n 'pageSize',\n 'organisationId',\n 'sort',\n 'sortDirection',\n 'name',\n 'types',\n 'state',\n 'exact',\n 'didMethods',\n 'isRemote',\n 'keyAlgorithms',\n 'keyRoles',\n 'keyStorages',\n 'createdDateAfter',\n 'createdDateBefore',\n 'lastModifiedAfter',\n 'lastModifiedBefore',\n ]);\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["getQueryKey","queryParams","params","map","param","getQueryKeyFromCredentialListQueryParams","exports","getQueryKeyFromHistoryListQueryParams","getQueryKeyFromCredentialSchemaListQueryParams","getQueryKeyFromProofSchemaListQueryParams","getQueryKeyFromProofListQueryParams","getQueryKeyFromDidListQueryParams","getQueryKeyFromIdentifierListQueryParams"],"sources":["query.ts"],"sourcesContent":["import {\n CredentialListQuery,\n CredentialSchemaListQuery,\n DidListQuery,\n HistoryListQuery,\n IdentifierListQuery,\n ProofListQuery,\n ProofSchemaListQuery,\n} from '@procivis/react-native-one-core';\n\ntype QueryKey<ListQuery, ParamList> = ParamList extends ReadonlyArray<keyof ListQuery> // all params are inside the ListQuery\n ? keyof ListQuery extends ParamList[number] // all ListQuery fields are in the params\n ? Array<ListQuery[keyof ListQuery]>\n : void\n : void; // otherwise produce a wrong return type which should trigger compilation error\n\n/** Typecheck that all query params are included in the query key */\nfunction getQueryKey<ListQuery extends {}, ParamList extends ReadonlyArray<keyof ListQuery>>(\n queryParams: ListQuery,\n params: ParamList,\n): QueryKey<ListQuery, ParamList> {\n return params.map((param) => queryParams[param]) as QueryKey<ListQuery, ParamList>;\n}\n\nexport const getQueryKeyFromCredentialListQueryParams = (queryParams: Partial<CredentialListQuery> = {}) => {\n return getQueryKey(queryParams, [\n 'page',\n 'pageSize',\n 'organisationId',\n 'name',\n 'searchText',\n 'searchType',\n 'sort',\n 'sortDirection',\n 'exact',\n 'roles',\n 'ids',\n 'states',\n 'include',\n 'profiles',\n 'credentialSchemaIds',\n 'createdDateAfter',\n 'createdDateBefore',\n 'lastModifiedAfter',\n 'lastModifiedBefore',\n 'issuanceDateAfter',\n 'issuanceDateBefore',\n 'revocationDateAfter',\n 'revocationDateBefore',\n ]);\n};\n\nexport const getQueryKeyFromHistoryListQueryParams = (queryParams: Partial<HistoryListQuery> = {}) => {\n return getQueryKey(queryParams, [\n 'page',\n 'pageSize',\n 'organisationId',\n 'entityId',\n 'actions',\n 'entityTypes',\n 'createdDateAfter',\n 'createdDateBefore',\n 'identifierId',\n 'credentialId',\n 'credentialSchemaId',\n 'proofSchemaId',\n 'search',\n 'user',\n ]);\n};\n\nexport const getQueryKeyFromCredentialSchemaListQueryParams = (\n queryParams: Partial<CredentialSchemaListQuery> = {},\n) => {\n return getQueryKey(queryParams, [\n 'page',\n 'pageSize',\n 'organisationId',\n 'name',\n 'sort',\n 'sortDirection',\n 'exact',\n 'ids',\n 'include',\n 'schemaId',\n 'formats',\n 'createdDateAfter',\n 'createdDateBefore',\n 'lastModifiedAfter',\n 'lastModifiedBefore',\n ]);\n};\n\nexport const getQueryKeyFromProofSchemaListQueryParams = (queryParams: Partial<ProofSchemaListQuery> = {}) => {\n return getQueryKey(queryParams, [\n 'page',\n 'pageSize',\n 'organisationId',\n 'name',\n 'sort',\n 'sortDirection',\n 'exact',\n 'ids',\n 'formats',\n 'createdDateAfter',\n 'createdDateBefore',\n 'lastModifiedAfter',\n 'lastModifiedBefore',\n ]);\n};\n\nexport const getQueryKeyFromProofListQueryParams = (queryParams: Partial<ProofListQuery> = {}) => {\n return getQueryKey(queryParams, [\n 'page',\n 'pageSize',\n 'organisationId',\n 'sort',\n 'sortDirection',\n 'name',\n 'ids',\n 'proofStates',\n 'proofRoles',\n 'proofSchemaIds',\n 'exact',\n 'profiles',\n 'createdDateAfter',\n 'createdDateBefore',\n 'lastModifiedAfter',\n 'lastModifiedBefore',\n 'requestedDateAfter',\n 'requestedDateBefore',\n 'completedDateAfter',\n 'completedDateBefore',\n ]);\n};\n\nexport const getQueryKeyFromDidListQueryParams = (queryParams: Partial<DidListQuery> = {}) => {\n return getQueryKey(queryParams, [\n 'page',\n 'pageSize',\n 'organisationId',\n 'sort',\n 'sortDirection',\n 'name',\n 'did',\n 'type',\n 'deactivated',\n 'exact',\n 'keyAlgorithms',\n 'keyRoles',\n 'keyStorages',\n 'keyIds',\n 'didMethods',\n ]);\n};\n\nexport const getQueryKeyFromIdentifierListQueryParams = (queryParams: Partial<IdentifierListQuery> = {}) => {\n return getQueryKey(queryParams, [\n 'page',\n 'pageSize',\n 'organisationId',\n 'sort',\n 'sortDirection',\n 'name',\n 'types',\n 'states',\n 'exact',\n 'didMethods',\n 'isRemote',\n 'keyAlgorithms',\n 'keyRoles',\n 'keyStorages',\n 'createdDateAfter',\n 'createdDateBefore',\n 'lastModifiedAfter',\n 'lastModifiedBefore',\n ]);\n};\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,80 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.shareUrl = exports.isValidHttpUrl = exports.isUrlValid = void 0;
7
+ var _reactNative = require("react-native");
8
+ var _reactNativeShare = _interopRequireDefault(require("react-native-share"));
9
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
10
+ /**
11
+ * Check URL validity
12
+ * @param {string} urlString URL to validate.
13
+ * @returns {boolean}
14
+ */
15
+ const isUrlValid = urlString => {
16
+ try {
17
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
18
+ const url = new URL(urlString);
19
+ return true;
20
+ } catch {
21
+ return false;
22
+ }
23
+ };
24
+
25
+ /**
26
+ * Check URL http(s) validity
27
+ * @param {string} urlString URL to validate.
28
+ * @returns {boolean}
29
+ */
30
+ exports.isUrlValid = isUrlValid;
31
+ const isValidHttpUrl = urlString => {
32
+ try {
33
+ const url = new URL(urlString);
34
+ return (url === null || url === void 0 ? void 0 : url.protocol) === 'http:' || (url === null || url === void 0 ? void 0 : url.protocol) === 'https:';
35
+ } catch {
36
+ return false;
37
+ }
38
+ };
39
+
40
+ /**
41
+ * Share URL via share sheet
42
+ * @param {string} url URL to share.
43
+ * @param {string} title _(optional)_ title for iOS share sheet.
44
+ * @returns {boolean}
45
+ */
46
+ exports.isValidHttpUrl = isValidHttpUrl;
47
+ const shareUrl = async (url, title) => {
48
+ if (_reactNative.Platform.OS === 'ios') {
49
+ await _reactNativeShare.default.open({
50
+ activityItemSources: [{
51
+ placeholderItem: {
52
+ type: 'url',
53
+ content: url
54
+ },
55
+ item: {
56
+ default: {
57
+ type: 'url',
58
+ content: url
59
+ }
60
+ },
61
+ subject: title ? {
62
+ default: title
63
+ } : undefined,
64
+ linkMetadata: {
65
+ originalUrl: url,
66
+ url,
67
+ title
68
+ }
69
+ }],
70
+ failOnCancel: false
71
+ });
72
+ } else {
73
+ await _reactNativeShare.default.open({
74
+ url,
75
+ failOnCancel: false
76
+ });
77
+ }
78
+ };
79
+ exports.shareUrl = shareUrl;
80
+ //# sourceMappingURL=url.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_reactNative","require","_reactNativeShare","_interopRequireDefault","e","__esModule","default","isUrlValid","urlString","url","URL","exports","isValidHttpUrl","protocol","shareUrl","title","Platform","OS","Share","open","activityItemSources","placeholderItem","type","content","item","subject","undefined","linkMetadata","originalUrl","failOnCancel"],"sources":["url.ts"],"sourcesContent":["import { Platform } from 'react-native';\nimport Share from 'react-native-share';\n\n/**\n * Check URL validity\n * @param {string} urlString URL to validate.\n * @returns {boolean}\n */\nexport const isUrlValid = (urlString: string): boolean => {\n try {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const url = new URL(urlString);\n return true;\n } catch {\n return false;\n }\n};\n\n/**\n * Check URL http(s) validity\n * @param {string} urlString URL to validate.\n * @returns {boolean}\n */\nexport const isValidHttpUrl = (urlString: string): boolean => {\n try {\n const url = new URL(urlString);\n return url?.protocol === 'http:' || url?.protocol === 'https:';\n } catch {\n return false;\n }\n};\n\n/**\n * Share URL via share sheet\n * @param {string} url URL to share.\n * @param {string} title _(optional)_ title for iOS share sheet.\n * @returns {boolean}\n */\nexport const shareUrl = async (url: string, title?: string) => {\n if (Platform.OS === 'ios') {\n await Share.open({\n activityItemSources: [\n {\n placeholderItem: { type: 'url', content: url },\n item: {\n default: { type: 'url', content: url },\n },\n subject: title\n ? {\n default: title,\n }\n : undefined,\n linkMetadata: { originalUrl: url, url, title },\n },\n ],\n failOnCancel: false,\n });\n } else {\n await Share.open({ url, failOnCancel: false });\n }\n};"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,iBAAA,GAAAC,sBAAA,CAAAF,OAAA;AAAuC,SAAAE,uBAAAC,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAEvC;AACA;AACA;AACA;AACA;AACO,MAAMG,UAAU,GAAIC,SAAiB,IAAc;EACxD,IAAI;IACF;IACA,MAAMC,GAAG,GAAG,IAAIC,GAAG,CAACF,SAAS,CAAC;IAC9B,OAAO,IAAI;EACb,CAAC,CAAC,MAAM;IACN,OAAO,KAAK;EACd;AACF,CAAC;;AAED;AACA;AACA;AACA;AACA;AAJAG,OAAA,CAAAJ,UAAA,GAAAA,UAAA;AAKO,MAAMK,cAAc,GAAIJ,SAAiB,IAAc;EAC5D,IAAI;IACF,MAAMC,GAAG,GAAG,IAAIC,GAAG,CAACF,SAAS,CAAC;IAC9B,OAAO,CAAAC,GAAG,aAAHA,GAAG,uBAAHA,GAAG,CAAEI,QAAQ,MAAK,OAAO,IAAI,CAAAJ,GAAG,aAAHA,GAAG,uBAAHA,GAAG,CAAEI,QAAQ,MAAK,QAAQ;EAChE,CAAC,CAAC,MAAM;IACN,OAAO,KAAK;EACd;AACF,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AALAF,OAAA,CAAAC,cAAA,GAAAA,cAAA;AAMO,MAAME,QAAQ,GAAG,MAAAA,CAAOL,GAAW,EAAEM,KAAc,KAAK;EAC7D,IAAIC,qBAAQ,CAACC,EAAE,KAAK,KAAK,EAAE;IACzB,MAAMC,yBAAK,CAACC,IAAI,CAAC;MACfC,mBAAmB,EAAE,CACnB;QACEC,eAAe,EAAE;UAAEC,IAAI,EAAE,KAAK;UAAEC,OAAO,EAAEd;QAAI,CAAC;QAC9Ce,IAAI,EAAE;UACJlB,OAAO,EAAE;YAAEgB,IAAI,EAAE,KAAK;YAAEC,OAAO,EAAEd;UAAI;QACvC,CAAC;QACDgB,OAAO,EAAEV,KAAK,GACV;UACET,OAAO,EAAES;QACX,CAAC,GACDW,SAAS;QACbC,YAAY,EAAE;UAAEC,WAAW,EAAEnB,GAAG;UAAEA,GAAG;UAAEM;QAAM;MAC/C,CAAC,CACF;MACDc,YAAY,EAAE;IAChB,CAAC,CAAC;EACJ,CAAC,MAAM;IACL,MAAMX,yBAAK,CAACC,IAAI,CAAC;MAAEV,GAAG;MAAEoB,YAAY,EAAE;IAAM,CAAC,CAAC;EAChD;AACF,CAAC;AAAClB,OAAA,CAAAG,QAAA,GAAAA,QAAA","ignoreList":[]}
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.walletUnitAttestationState = exports.isWalletAttestationExpired = exports.WUAState = void 0;
7
+ var _reactNativeOneCore = require("@procivis/react-native-one-core");
8
+ const isWalletAttestationExpired = walletUnitAttestation => {
9
+ return (walletUnitAttestation === null || walletUnitAttestation === void 0 ? void 0 : walletUnitAttestation.expirationDate) && Date.parse(walletUnitAttestation.expirationDate) < Date.now();
10
+ };
11
+ exports.isWalletAttestationExpired = isWalletAttestationExpired;
12
+ let WUAState = exports.WUAState = /*#__PURE__*/function (WUAState) {
13
+ WUAState["Revoked"] = "revoked";
14
+ WUAState["Expired"] = "expired";
15
+ WUAState["Valid"] = "valid";
16
+ return WUAState;
17
+ }({});
18
+ const walletUnitAttestationState = walletUnitAttestation => {
19
+ if (!walletUnitAttestation) {
20
+ return undefined;
21
+ }
22
+ if (walletUnitAttestation.status === _reactNativeOneCore.WalletUnitStatusEnum.REVOKED) {
23
+ return WUAState.Revoked;
24
+ } else if (isWalletAttestationExpired(walletUnitAttestation)) {
25
+ return WUAState.Expired;
26
+ }
27
+ return WUAState.Valid;
28
+ };
29
+ exports.walletUnitAttestationState = walletUnitAttestationState;
30
+ //# sourceMappingURL=wallet-unit.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_reactNativeOneCore","require","isWalletAttestationExpired","walletUnitAttestation","expirationDate","Date","parse","now","exports","WUAState","walletUnitAttestationState","undefined","status","WalletUnitStatusEnum","REVOKED","Revoked","Expired","Valid"],"sources":["wallet-unit.ts"],"sourcesContent":["import { HolderAttestationWalletUnitResponse, WalletUnitStatusEnum } from '@procivis/react-native-one-core';\n\nexport const isWalletAttestationExpired = (\n walletUnitAttestation: HolderAttestationWalletUnitResponse | undefined,\n) => {\n return (\n walletUnitAttestation?.expirationDate &&\n Date.parse(walletUnitAttestation.expirationDate) < Date.now()\n );\n};\n\nexport enum WUAState {\n Revoked = \"revoked\",\n Expired = \"expired\",\n Valid = \"valid\"\n}\n\nexport const walletUnitAttestationState = (\n walletUnitAttestation: HolderAttestationWalletUnitResponse | undefined,\n): WUAState | undefined => {\n if (!walletUnitAttestation) {\n return undefined;\n }\n if (walletUnitAttestation.status === WalletUnitStatusEnum.REVOKED) {\n return WUAState.Revoked;\n } else if (isWalletAttestationExpired(walletUnitAttestation)) {\n return WUAState.Expired;\n }\n return WUAState.Valid;\n};\n"],"mappings":";;;;;;AAAA,IAAAA,mBAAA,GAAAC,OAAA;AAEO,MAAMC,0BAA0B,GACrCC,qBAAsE,IACnE;EACH,OACE,CAAAA,qBAAqB,aAArBA,qBAAqB,uBAArBA,qBAAqB,CAAEC,cAAc,KACrCC,IAAI,CAACC,KAAK,CAACH,qBAAqB,CAACC,cAAc,CAAC,GAAGC,IAAI,CAACE,GAAG,CAAC,CAAC;AAEjE,CAAC;AAACC,OAAA,CAAAN,0BAAA,GAAAA,0BAAA;AAAA,IAEUO,QAAQ,GAAAD,OAAA,CAAAC,QAAA,0BAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAAA,OAARA,QAAQ;AAAA;AAMb,MAAMC,0BAA0B,GACrCP,qBAAsE,IAC7C;EACzB,IAAI,CAACA,qBAAqB,EAAE;IAC1B,OAAOQ,SAAS;EAClB;EACA,IAAIR,qBAAqB,CAACS,MAAM,KAAKC,wCAAoB,CAACC,OAAO,EAAE;IACjE,OAAOL,QAAQ,CAACM,OAAO;EACzB,CAAC,MAAM,IAAIb,0BAA0B,CAACC,qBAAqB,CAAC,EAAE;IAC5D,OAAOM,QAAQ,CAACO,OAAO;EACzB;EACA,OAAOP,QAAQ,CAACQ,KAAK;AACvB,CAAC;AAACT,OAAA,CAAAE,0BAAA,GAAAA,0BAAA","ignoreList":[]}
@@ -4,7 +4,9 @@ import { CredentialDetailsCardListItem } from '../../ui-components/credential/ca
4
4
  import { concatTestID } from '../../utils';
5
5
  import { useCoreConfig } from '../../utils/hooks/core/core-config';
6
6
  import { useCredentialDetail } from '../../utils/hooks/core/credentials';
7
+ import { useWalletUnitAttestation } from '../../utils/hooks/core/wallet-unit';
7
8
  import { detailsCardFromCredentialWithClaims } from '../../utils/parsers/credential';
9
+ import { walletUnitAttestationState } from '../../utils/wallet-unit';
8
10
  export const CredentialDetails = ({
9
11
  claims,
10
12
  credentialId,
@@ -21,15 +23,19 @@ export const CredentialDetails = ({
21
23
  const {
22
24
  data: config
23
25
  } = useCoreConfig();
26
+ const {
27
+ data: walletUnitAttestation,
28
+ isLoading: isLoadingWUA
29
+ } = useWalletUnitAttestation();
24
30
  const cardWidth = useMemo(() => Dimensions.get('window').width - 32, []);
25
- if (!credential || !config) {
31
+ if (!credential || !config || isLoadingWUA) {
26
32
  return null;
27
33
  }
28
34
  const testID = concatTestID('Credential.credential', credential.id);
29
35
  const {
30
36
  card,
31
37
  attributes
32
- } = detailsCardFromCredentialWithClaims(credential, claims !== null && claims !== void 0 ? claims : credential.claims, config, testID, labels);
38
+ } = detailsCardFromCredentialWithClaims(credential, claims !== null && claims !== void 0 ? claims : credential.claims, config, walletUnitAttestationState(walletUnitAttestation), testID, labels);
33
39
  if (headerAccessory) {
34
40
  card.header.accessory = headerAccessory;
35
41
  }
@@ -1 +1 @@
1
- {"version":3,"names":["React","useMemo","Dimensions","StyleSheet","CredentialDetailsCardListItem","concatTestID","useCoreConfig","useCredentialDetail","detailsCardFromCredentialWithClaims","CredentialDetails","claims","credentialId","expanded","labels","lastItem","onHeaderPress","onImagePreview","headerAccessory","data","credential","config","cardWidth","get","width","testID","id","card","attributes","header","accessory","createElement","style","styles","create","marginBottom"],"sources":["credential.tsx"],"sourcesContent":["import { Claim } from '@procivis/react-native-one-core';\nimport React, { FC, useMemo } from 'react';\nimport { Dimensions, ImageSourcePropType, StyleSheet } from 'react-native';\n\nimport { CredentialDetailsCardListItem, CredentialHeaderProps } from '../../ui-components/credential/card';\nimport { concatTestID } from '../../utils';\nimport { useCoreConfig } from '../../utils/hooks/core/core-config';\nimport { useCredentialDetail } from '../../utils/hooks/core/credentials';\nimport { CardLabels, detailsCardFromCredentialWithClaims } from '../../utils/parsers/credential';\n\nexport interface CredentialDetailsProps {\n claims?: Claim[];\n credentialId: string;\n expanded?: boolean;\n headerAccessory?: CredentialHeaderProps['accessory'];\n labels: CardLabels;\n lastItem?: boolean;\n onHeaderPress?: (credentialId?: string) => void;\n onImagePreview: (title: string, image: ImageSourcePropType) => void;\n}\n\nexport const CredentialDetails: FC<CredentialDetailsProps> = ({\n claims,\n credentialId,\n expanded = false,\n labels,\n lastItem,\n onHeaderPress,\n onImagePreview,\n headerAccessory,\n}) => {\n const { data: credential } = useCredentialDetail(credentialId);\n const { data: config } = useCoreConfig();\n const cardWidth = useMemo(() => Dimensions.get('window').width - 32, []);\n\n if (!credential || !config) {\n return null;\n }\n const testID = concatTestID('Credential.credential', credential.id);\n\n const { card, attributes } = detailsCardFromCredentialWithClaims(\n credential,\n claims ?? credential.claims,\n config,\n testID,\n labels,\n );\n if (headerAccessory) {\n card.header.accessory = headerAccessory;\n }\n\n return (\n <CredentialDetailsCardListItem\n attributes={attributes}\n card={{\n ...card,\n credentialId,\n onHeaderPress,\n width: cardWidth,\n }}\n expanded={expanded}\n lastItem={lastItem}\n onImagePreview={onImagePreview}\n style={styles.credential}\n testID={testID}\n />\n );\n};\n\nconst styles = StyleSheet.create({\n credential: {\n marginBottom: 8,\n },\n});\n"],"mappings":"AACA,OAAOA,KAAK,IAAQC,OAAO,QAAQ,OAAO;AAC1C,SAASC,UAAU,EAAuBC,UAAU,QAAQ,cAAc;AAE1E,SAASC,6BAA6B,QAA+B,qCAAqC;AAC1G,SAASC,YAAY,QAAQ,aAAa;AAC1C,SAASC,aAAa,QAAQ,oCAAoC;AAClE,SAASC,mBAAmB,QAAQ,oCAAoC;AACxE,SAAqBC,mCAAmC,QAAQ,gCAAgC;AAahG,OAAO,MAAMC,iBAA6C,GAAGA,CAAC;EAC5DC,MAAM;EACNC,YAAY;EACZC,QAAQ,GAAG,KAAK;EAChBC,MAAM;EACNC,QAAQ;EACRC,aAAa;EACbC,cAAc;EACdC;AACF,CAAC,KAAK;EACJ,MAAM;IAAEC,IAAI,EAAEC;EAAW,CAAC,GAAGZ,mBAAmB,CAACI,YAAY,CAAC;EAC9D,MAAM;IAAEO,IAAI,EAAEE;EAAO,CAAC,GAAGd,aAAa,CAAC,CAAC;EACxC,MAAMe,SAAS,GAAGpB,OAAO,CAAC,MAAMC,UAAU,CAACoB,GAAG,CAAC,QAAQ,CAAC,CAACC,KAAK,GAAG,EAAE,EAAE,EAAE,CAAC;EAExE,IAAI,CAACJ,UAAU,IAAI,CAACC,MAAM,EAAE;IAC1B,OAAO,IAAI;EACb;EACA,MAAMI,MAAM,GAAGnB,YAAY,CAAC,uBAAuB,EAAEc,UAAU,CAACM,EAAE,CAAC;EAEnE,MAAM;IAAEC,IAAI;IAAEC;EAAW,CAAC,GAAGnB,mCAAmC,CAC9DW,UAAU,EACVT,MAAM,aAANA,MAAM,cAANA,MAAM,GAAIS,UAAU,CAACT,MAAM,EAC3BU,MAAM,EACNI,MAAM,EACNX,MACF,CAAC;EACD,IAAII,eAAe,EAAE;IACnBS,IAAI,CAACE,MAAM,CAACC,SAAS,GAAGZ,eAAe;EACzC;EAEA,oBACEjB,KAAA,CAAA8B,aAAA,CAAC1B,6BAA6B;IAC5BuB,UAAU,EAAEA,UAAW;IACvBD,IAAI,EAAE;MACJ,GAAGA,IAAI;MACPf,YAAY;MACZI,aAAa;MACbQ,KAAK,EAAEF;IACT,CAAE;IACFT,QAAQ,EAAEA,QAAS;IACnBE,QAAQ,EAAEA,QAAS;IACnBE,cAAc,EAAEA,cAAe;IAC/Be,KAAK,EAAEC,MAAM,CAACb,UAAW;IACzBK,MAAM,EAAEA;EAAO,CAChB,CAAC;AAEN,CAAC;AAED,MAAMQ,MAAM,GAAG7B,UAAU,CAAC8B,MAAM,CAAC;EAC/Bd,UAAU,EAAE;IACVe,YAAY,EAAE;EAChB;AACF,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["React","useMemo","Dimensions","StyleSheet","CredentialDetailsCardListItem","concatTestID","useCoreConfig","useCredentialDetail","useWalletUnitAttestation","detailsCardFromCredentialWithClaims","walletUnitAttestationState","CredentialDetails","claims","credentialId","expanded","labels","lastItem","onHeaderPress","onImagePreview","headerAccessory","data","credential","config","walletUnitAttestation","isLoading","isLoadingWUA","cardWidth","get","width","testID","id","card","attributes","header","accessory","createElement","style","styles","create","marginBottom"],"sources":["credential.tsx"],"sourcesContent":["import { Claim } from '@procivis/react-native-one-core';\nimport React, { FC, useMemo } from 'react';\nimport { Dimensions, ImageSourcePropType, StyleSheet } from 'react-native';\n\nimport { CredentialDetailsCardListItem, CredentialHeaderProps } from '../../ui-components/credential/card';\nimport { concatTestID } from '../../utils';\nimport { useCoreConfig } from '../../utils/hooks/core/core-config';\nimport { useCredentialDetail } from '../../utils/hooks/core/credentials';\nimport { useWalletUnitAttestation } from '../../utils/hooks/core/wallet-unit';\nimport { CardLabels, detailsCardFromCredentialWithClaims } from '../../utils/parsers/credential';\nimport { walletUnitAttestationState } from '../../utils/wallet-unit';\n\nexport interface CredentialDetailsProps {\n claims?: Claim[];\n credentialId: string;\n expanded?: boolean;\n headerAccessory?: CredentialHeaderProps['accessory'];\n labels: CardLabels;\n lastItem?: boolean;\n onHeaderPress?: (credentialId?: string) => void;\n onImagePreview: (title: string, image: ImageSourcePropType) => void;\n}\n\nexport const CredentialDetails: FC<CredentialDetailsProps> = ({\n claims,\n credentialId,\n expanded = false,\n labels,\n lastItem,\n onHeaderPress,\n onImagePreview,\n headerAccessory,\n}) => {\n const { data: credential } = useCredentialDetail(credentialId);\n const { data: config } = useCoreConfig();\n const { data: walletUnitAttestation, isLoading: isLoadingWUA } = useWalletUnitAttestation();\n const cardWidth = useMemo(() => Dimensions.get('window').width - 32, []);\n\n if (!credential || !config || isLoadingWUA) {\n return null;\n }\n const testID = concatTestID('Credential.credential', credential.id);\n\n const { card, attributes } = detailsCardFromCredentialWithClaims(\n credential,\n claims ?? credential.claims,\n config,\n walletUnitAttestationState(walletUnitAttestation),\n testID,\n labels,\n );\n if (headerAccessory) {\n card.header.accessory = headerAccessory;\n }\n\n return (\n <CredentialDetailsCardListItem\n attributes={attributes}\n card={{\n ...card,\n credentialId,\n onHeaderPress,\n width: cardWidth,\n }}\n expanded={expanded}\n lastItem={lastItem}\n onImagePreview={onImagePreview}\n style={styles.credential}\n testID={testID}\n />\n );\n};\n\nconst styles = StyleSheet.create({\n credential: {\n marginBottom: 8,\n },\n});\n"],"mappings":"AACA,OAAOA,KAAK,IAAQC,OAAO,QAAQ,OAAO;AAC1C,SAASC,UAAU,EAAuBC,UAAU,QAAQ,cAAc;AAE1E,SAASC,6BAA6B,QAA+B,qCAAqC;AAC1G,SAASC,YAAY,QAAQ,aAAa;AAC1C,SAASC,aAAa,QAAQ,oCAAoC;AAClE,SAASC,mBAAmB,QAAQ,oCAAoC;AACxE,SAASC,wBAAwB,QAAQ,oCAAoC;AAC7E,SAAqBC,mCAAmC,QAAQ,gCAAgC;AAChG,SAASC,0BAA0B,QAAQ,yBAAyB;AAapE,OAAO,MAAMC,iBAA6C,GAAGA,CAAC;EAC5DC,MAAM;EACNC,YAAY;EACZC,QAAQ,GAAG,KAAK;EAChBC,MAAM;EACNC,QAAQ;EACRC,aAAa;EACbC,cAAc;EACdC;AACF,CAAC,KAAK;EACJ,MAAM;IAAEC,IAAI,EAAEC;EAAW,CAAC,GAAGd,mBAAmB,CAACM,YAAY,CAAC;EAC9D,MAAM;IAAEO,IAAI,EAAEE;EAAO,CAAC,GAAGhB,aAAa,CAAC,CAAC;EACxC,MAAM;IAAEc,IAAI,EAAEG,qBAAqB;IAAEC,SAAS,EAAEC;EAAa,CAAC,GAAGjB,wBAAwB,CAAC,CAAC;EAC3F,MAAMkB,SAAS,GAAGzB,OAAO,CAAC,MAAMC,UAAU,CAACyB,GAAG,CAAC,QAAQ,CAAC,CAACC,KAAK,GAAG,EAAE,EAAE,EAAE,CAAC;EAExE,IAAI,CAACP,UAAU,IAAI,CAACC,MAAM,IAAIG,YAAY,EAAE;IAC1C,OAAO,IAAI;EACb;EACA,MAAMI,MAAM,GAAGxB,YAAY,CAAC,uBAAuB,EAAEgB,UAAU,CAACS,EAAE,CAAC;EAEnE,MAAM;IAAEC,IAAI;IAAEC;EAAW,CAAC,GAAGvB,mCAAmC,CAC9DY,UAAU,EACVT,MAAM,aAANA,MAAM,cAANA,MAAM,GAAIS,UAAU,CAACT,MAAM,EAC3BU,MAAM,EACNZ,0BAA0B,CAACa,qBAAqB,CAAC,EACjDM,MAAM,EACNd,MACF,CAAC;EACD,IAAII,eAAe,EAAE;IACnBY,IAAI,CAACE,MAAM,CAACC,SAAS,GAAGf,eAAe;EACzC;EAEA,oBACEnB,KAAA,CAAAmC,aAAA,CAAC/B,6BAA6B;IAC5B4B,UAAU,EAAEA,UAAW;IACvBD,IAAI,EAAE;MACJ,GAAGA,IAAI;MACPlB,YAAY;MACZI,aAAa;MACbW,KAAK,EAAEF;IACT,CAAE;IACFZ,QAAQ,EAAEA,QAAS;IACnBE,QAAQ,EAAEA,QAAS;IACnBE,cAAc,EAAEA,cAAe;IAC/BkB,KAAK,EAAEC,MAAM,CAAChB,UAAW;IACzBQ,MAAM,EAAEA;EAAO,CAChB,CAAC;AAEN,CAAC;AAED,MAAMQ,MAAM,GAAGlC,UAAU,CAACmC,MAAM,CAAC;EAC/BjB,UAAU,EAAE;IACVkB,YAAY,EAAE;EAChB;AACF,CAAC,CAAC","ignoreList":[]}
@@ -1,4 +1,5 @@
1
- export * from './group';
2
- export * from './select-credential';
3
- export * from './share-credential';
1
+ export * from './select-share-credential-card-notice';
2
+ export * from './share-credential-card-notice';
3
+ export * from './v1';
4
+ export * from './v2';
4
5
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["export * from './group';\nexport * from './select-credential';\nexport * from './share-credential';\n"],"mappings":"AAAA,cAAc,SAAS;AACvB,cAAc,qBAAqB;AACnC,cAAc,oBAAoB","ignoreList":[]}
1
+ {"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["export * from './select-share-credential-card-notice';\nexport * from './share-credential-card-notice';\nexport * from './v1';\nexport * from './v2';\n"],"mappings":"AAAA,cAAc,uCAAuC;AACrD,cAAc,gCAAgC;AAC9C,cAAc,MAAM;AACpB,cAAc,MAAM","ignoreList":[]}
@@ -0,0 +1,29 @@
1
+ import React from 'react';
2
+ import { StyleSheet } from 'react-native';
3
+ import { Button, ButtonType } from '../../ui-components';
4
+ import { concatTestID } from '../../utils';
5
+ import { ShareCredentialCardNotice } from './share-credential-card-notice';
6
+ export const SelectShareCredentialCardNotice = ({
7
+ buttonTitle,
8
+ onPress,
9
+ testID,
10
+ text
11
+ }) => {
12
+ return /*#__PURE__*/React.createElement(ShareCredentialCardNotice, {
13
+ testID: testID,
14
+ text: text
15
+ }, /*#__PURE__*/React.createElement(Button, {
16
+ onPress: onPress,
17
+ style: styles.noticeButton,
18
+ testID: concatTestID(testID, 'button'),
19
+ title: buttonTitle,
20
+ type: ButtonType.Secondary
21
+ }));
22
+ };
23
+ const styles = StyleSheet.create({
24
+ noticeButton: {
25
+ marginTop: 24,
26
+ paddingVertical: 11
27
+ }
28
+ });
29
+ //# sourceMappingURL=select-share-credential-card-notice.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","StyleSheet","Button","ButtonType","concatTestID","ShareCredentialCardNotice","SelectShareCredentialCardNotice","buttonTitle","onPress","testID","text","createElement","style","styles","noticeButton","title","type","Secondary","create","marginTop","paddingVertical"],"sources":["select-share-credential-card-notice.tsx"],"sourcesContent":["import React, { FC } from 'react';\nimport { StyleSheet } from 'react-native';\n\nimport { Button, ButtonType } from '../../ui-components';\nimport { concatTestID } from '../../utils';\nimport { ShareCredentialCardNotice, ShareCredentialCardNoticeProps } from './share-credential-card-notice';\n\nexport type SelectShareCredentialCardNoticeProps = ShareCredentialCardNoticeProps & {\n buttonTitle: string;\n onPress?: () => void;\n};\n\nexport const SelectShareCredentialCardNotice: FC<SelectShareCredentialCardNoticeProps> = ({\n buttonTitle,\n onPress,\n testID,\n text,\n}) => {\n return (\n <ShareCredentialCardNotice testID={testID} text={text}>\n <Button\n onPress={onPress}\n style={styles.noticeButton}\n testID={concatTestID(testID, 'button')}\n title={buttonTitle}\n type={ButtonType.Secondary}\n />\n </ShareCredentialCardNotice>\n );\n};\n\nconst styles = StyleSheet.create({\n noticeButton: {\n marginTop: 24,\n paddingVertical: 11,\n },\n});\n"],"mappings":"AAAA,OAAOA,KAAK,MAAc,OAAO;AACjC,SAASC,UAAU,QAAQ,cAAc;AAEzC,SAASC,MAAM,EAAEC,UAAU,QAAQ,qBAAqB;AACxD,SAASC,YAAY,QAAQ,aAAa;AAC1C,SAASC,yBAAyB,QAAwC,gCAAgC;AAO1G,OAAO,MAAMC,+BAAyE,GAAGA,CAAC;EACxFC,WAAW;EACXC,OAAO;EACPC,MAAM;EACNC;AACF,CAAC,KAAK;EACJ,oBACEV,KAAA,CAAAW,aAAA,CAACN,yBAAyB;IAACI,MAAM,EAAEA,MAAO;IAACC,IAAI,EAAEA;EAAK,gBACpDV,KAAA,CAAAW,aAAA,CAACT,MAAM;IACLM,OAAO,EAAEA,OAAQ;IACjBI,KAAK,EAAEC,MAAM,CAACC,YAAa;IAC3BL,MAAM,EAAEL,YAAY,CAACK,MAAM,EAAE,QAAQ,CAAE;IACvCM,KAAK,EAAER,WAAY;IACnBS,IAAI,EAAEb,UAAU,CAACc;EAAU,CAC5B,CACwB,CAAC;AAEhC,CAAC;AAED,MAAMJ,MAAM,GAAGZ,UAAU,CAACiB,MAAM,CAAC;EAC/BJ,YAAY,EAAE;IACZK,SAAS,EAAE,EAAE;IACbC,eAAe,EAAE;EACnB;AACF,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,28 @@
1
+ import React from 'react';
2
+ import { StyleSheet, View } from 'react-native';
3
+ import { Typography, useAppColorScheme } from '../../ui-components';
4
+ export const ShareCredentialCardNotice = ({
5
+ children,
6
+ testID,
7
+ text
8
+ }) => {
9
+ const colorScheme = useAppColorScheme();
10
+ return /*#__PURE__*/React.createElement(View, {
11
+ style: [styles.notice, {
12
+ backgroundColor: colorScheme.background
13
+ }],
14
+ testID: testID
15
+ }, /*#__PURE__*/React.createElement(Typography, {
16
+ align: "center",
17
+ color: colorScheme.text,
18
+ preset: "s/line-height-capped"
19
+ }, text), children);
20
+ };
21
+ const styles = StyleSheet.create({
22
+ notice: {
23
+ marginBottom: 22,
24
+ marginHorizontal: 12,
25
+ padding: 12
26
+ }
27
+ });
28
+ //# sourceMappingURL=share-credential-card-notice.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","StyleSheet","View","Typography","useAppColorScheme","ShareCredentialCardNotice","children","testID","text","colorScheme","createElement","style","styles","notice","backgroundColor","background","align","color","preset","create","marginBottom","marginHorizontal","padding"],"sources":["share-credential-card-notice.tsx"],"sourcesContent":["import React, { FC, PropsWithChildren } from 'react';\nimport { StyleSheet, View } from 'react-native';\n\nimport { Typography,useAppColorScheme } from '../../ui-components';\n\nexport type ShareCredentialCardNoticeProps = {\n testID: string;\n text: string;\n};\n\nexport const ShareCredentialCardNotice: FC<PropsWithChildren<ShareCredentialCardNoticeProps>> = ({\n children,\n testID,\n text,\n}) => {\n const colorScheme = useAppColorScheme();\n return (\n <View style={[styles.notice, { backgroundColor: colorScheme.background }]} testID={testID}>\n <Typography align=\"center\" color={colorScheme.text} preset=\"s/line-height-capped\">\n {text}\n </Typography>\n {children}\n </View>\n );\n};\n\nconst styles = StyleSheet.create({\n notice: {\n marginBottom: 22,\n marginHorizontal: 12,\n padding: 12,\n },\n});\n"],"mappings":"AAAA,OAAOA,KAAK,MAAiC,OAAO;AACpD,SAASC,UAAU,EAAEC,IAAI,QAAQ,cAAc;AAE/C,SAASC,UAAU,EAACC,iBAAiB,QAAQ,qBAAqB;AAOlE,OAAO,MAAMC,yBAAgF,GAAGA,CAAC;EAC/FC,QAAQ;EACRC,MAAM;EACNC;AACF,CAAC,KAAK;EACJ,MAAMC,WAAW,GAAGL,iBAAiB,CAAC,CAAC;EACvC,oBACEJ,KAAA,CAAAU,aAAA,CAACR,IAAI;IAACS,KAAK,EAAE,CAACC,MAAM,CAACC,MAAM,EAAE;MAAEC,eAAe,EAAEL,WAAW,CAACM;IAAW,CAAC,CAAE;IAACR,MAAM,EAAEA;EAAO,gBACxFP,KAAA,CAAAU,aAAA,CAACP,UAAU;IAACa,KAAK,EAAC,QAAQ;IAACC,KAAK,EAAER,WAAW,CAACD,IAAK;IAACU,MAAM,EAAC;EAAsB,GAC9EV,IACS,CAAC,EACZF,QACG,CAAC;AAEX,CAAC;AAED,MAAMM,MAAM,GAAGX,UAAU,CAACkB,MAAM,CAAC;EAC/BN,MAAM,EAAE;IACNO,YAAY,EAAE,EAAE;IAChBC,gBAAgB,EAAE,EAAE;IACpBC,OAAO,EAAE;EACX;AACF,CAAC,CAAC","ignoreList":[]}
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import { StyleSheet, View } from 'react-native';
3
- import { useAppColorScheme } from '../../ui-components/theme';
3
+ import { useAppColorScheme } from '../../../ui-components/theme';
4
4
  export const ProofRequestGroup = ({
5
5
  children
6
6
  }) => {
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","StyleSheet","View","useAppColorScheme","ProofRequestGroup","children","colorScheme","createElement","style","styles","group","separator","backgroundColor","grayDark","create","marginTop","height","marginBottom","marginHorizontal","opacity"],"sources":["group.tsx"],"sourcesContent":["import React, { FunctionComponent, PropsWithChildren } from 'react';\nimport { StyleSheet, View } from 'react-native';\n\nimport { useAppColorScheme } from '../../../ui-components/theme';\n\nexport const ProofRequestGroup: FunctionComponent<PropsWithChildren> = ({ children }) => {\n const colorScheme = useAppColorScheme();\n return (\n <View style={styles.group}>\n <View style={[styles.separator, { backgroundColor: colorScheme.grayDark }]} />\n {children}\n </View>\n );\n};\n\nconst styles = StyleSheet.create({\n group: {\n marginTop: 16,\n },\n separator: {\n height: 1,\n marginBottom: 16,\n marginHorizontal: 4,\n opacity: 0.5,\n },\n});\n"],"mappings":"AAAA,OAAOA,KAAK,MAAgD,OAAO;AACnE,SAASC,UAAU,EAAEC,IAAI,QAAQ,cAAc;AAE/C,SAASC,iBAAiB,QAAQ,8BAA8B;AAEhE,OAAO,MAAMC,iBAAuD,GAAGA,CAAC;EAAEC;AAAS,CAAC,KAAK;EACvF,MAAMC,WAAW,GAAGH,iBAAiB,CAAC,CAAC;EACvC,oBACEH,KAAA,CAAAO,aAAA,CAACL,IAAI;IAACM,KAAK,EAAEC,MAAM,CAACC;EAAM,gBACxBV,KAAA,CAAAO,aAAA,CAACL,IAAI;IAACM,KAAK,EAAE,CAACC,MAAM,CAACE,SAAS,EAAE;MAAEC,eAAe,EAAEN,WAAW,CAACO;IAAS,CAAC;EAAE,CAAE,CAAC,EAC7ER,QACG,CAAC;AAEX,CAAC;AAED,MAAMI,MAAM,GAAGR,UAAU,CAACa,MAAM,CAAC;EAC/BJ,KAAK,EAAE;IACLK,SAAS,EAAE;EACb,CAAC;EACDJ,SAAS,EAAE;IACTK,MAAM,EAAE,CAAC;IACTC,YAAY,EAAE,EAAE;IAChBC,gBAAgB,EAAE,CAAC;IACnBC,OAAO,EAAE;EACX;AACF,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,4 @@
1
+ export * from './group';
2
+ export * from './select-credential';
3
+ export * from './share-credential';
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["export * from './group';\nexport * from './select-credential';\nexport * from './share-credential';\n"],"mappings":"AAAA,cAAc,SAAS;AACvB,cAAc,qBAAqB;AACnC,cAAc,oBAAoB","ignoreList":[]}
@@ -1,9 +1,11 @@
1
1
  import React, { useMemo } from 'react';
2
2
  import { Dimensions } from 'react-native';
3
- import { CredentialDetailsCardListItem } from '../../ui-components';
4
- import { useCoreConfig } from '../../utils/hooks/core/core-config';
5
- import { useCredentialDetail } from '../../utils/hooks/core/credentials';
6
- import { selectCredentialCardFromCredential } from '../../utils/parsers/credential-sharing';
3
+ import { CredentialDetailsCardListItem } from '../../../ui-components';
4
+ import { useCoreConfig } from '../../../utils/hooks/core/core-config';
5
+ import { useCredentialDetail } from '../../../utils/hooks/core/credentials';
6
+ import { useWalletUnitAttestation } from '../../../utils/hooks/core/wallet-unit';
7
+ import { selectCredentialCardFromCredential } from '../../../utils/parsers/credential-sharing';
8
+ import { walletUnitAttestationState } from '../../../utils/wallet-unit';
7
9
  export const SelectCredential = ({
8
10
  credentialId,
9
11
  labels,
@@ -20,14 +22,18 @@ export const SelectCredential = ({
20
22
  const {
21
23
  data: config
22
24
  } = useCoreConfig();
25
+ const {
26
+ data: walletUnitAttestation,
27
+ isLoading: isLoadingWUA
28
+ } = useWalletUnitAttestation();
23
29
  const cardWidth = useMemo(() => Dimensions.get('window').width - 32, []);
24
- if (!credential || !config) {
30
+ if (!credential || !config || isLoadingWUA) {
25
31
  return null;
26
32
  }
27
33
  const {
28
34
  card,
29
35
  attributes
30
- } = selectCredentialCardFromCredential(credential, selected, request, config, testID, labels);
36
+ } = selectCredentialCardFromCredential(credential, selected, request, config, walletUnitAttestationState(walletUnitAttestation), testID, labels);
31
37
  return /*#__PURE__*/React.createElement(CredentialDetailsCardListItem, {
32
38
  attributes: attributes,
33
39
  card: {
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","useMemo","Dimensions","CredentialDetailsCardListItem","useCoreConfig","useCredentialDetail","useWalletUnitAttestation","selectCredentialCardFromCredential","walletUnitAttestationState","SelectCredential","credentialId","labels","lastItem","onImagePreview","onPress","request","selected","testID","data","credential","config","walletUnitAttestation","isLoading","isLoadingWUA","cardWidth","get","width","card","attributes","createElement","onHeaderPress","expanded"],"sources":["select-credential.tsx"],"sourcesContent":["import { PresentationDefinitionRequestedCredential } from '@procivis/react-native-one-core';\nimport React, { FC, useMemo } from 'react';\nimport { Dimensions, ImageSourcePropType } from 'react-native';\n\nimport { CredentialDetailsCardListItem } from '../../../ui-components';\nimport { useCoreConfig } from '../../../utils/hooks/core/core-config';\nimport { useCredentialDetail } from '../../../utils/hooks/core/credentials';\nimport { useWalletUnitAttestation } from '../../../utils/hooks/core/wallet-unit';\nimport {\n selectCredentialCardFromCredential,\n ShareCredentialCardLabels,\n} from '../../../utils/parsers/credential-sharing';\nimport { walletUnitAttestationState } from '../../../utils/wallet-unit';\n\nexport const SelectCredential: FC<{\n credentialId: string;\n labels: ShareCredentialCardLabels;\n lastItem: boolean;\n onImagePreview: (title: string, image: ImageSourcePropType) => void;\n onPress?: () => void;\n request: PresentationDefinitionRequestedCredential;\n selected: boolean;\n testID: string;\n}> = ({ credentialId, labels, lastItem, onImagePreview, onPress, request, selected, testID }) => {\n const { data: credential } = useCredentialDetail(credentialId);\n const { data: config } = useCoreConfig();\n const { data: walletUnitAttestation, isLoading: isLoadingWUA } = useWalletUnitAttestation();\n const cardWidth = useMemo(() => Dimensions.get('window').width - 32, []);\n\n if (!credential || !config || isLoadingWUA) {\n return null;\n }\n\n const { card, attributes } = selectCredentialCardFromCredential(\n credential,\n selected,\n request,\n config,\n walletUnitAttestationState(walletUnitAttestation),\n testID,\n labels,\n );\n\n return (\n <CredentialDetailsCardListItem\n attributes={attributes}\n card={{\n ...card,\n onHeaderPress: onPress,\n width: cardWidth,\n }}\n expanded={selected}\n lastItem={lastItem}\n onImagePreview={onImagePreview}\n />\n );\n};\n"],"mappings":"AACA,OAAOA,KAAK,IAAQC,OAAO,QAAQ,OAAO;AAC1C,SAASC,UAAU,QAA6B,cAAc;AAE9D,SAASC,6BAA6B,QAAQ,wBAAwB;AACtE,SAASC,aAAa,QAAQ,uCAAuC;AACrE,SAASC,mBAAmB,QAAQ,uCAAuC;AAC3E,SAASC,wBAAwB,QAAQ,uCAAuC;AAChF,SACEC,kCAAkC,QAE7B,2CAA2C;AAClD,SAASC,0BAA0B,QAAQ,4BAA4B;AAEvE,OAAO,MAAMC,gBASX,GAAGA,CAAC;EAAEC,YAAY;EAAEC,MAAM;EAAEC,QAAQ;EAAEC,cAAc;EAAEC,OAAO;EAAEC,OAAO;EAAEC,QAAQ;EAAEC;AAAO,CAAC,KAAK;EAC/F,MAAM;IAAEC,IAAI,EAAEC;EAAW,CAAC,GAAGd,mBAAmB,CAACK,YAAY,CAAC;EAC9D,MAAM;IAAEQ,IAAI,EAAEE;EAAO,CAAC,GAAGhB,aAAa,CAAC,CAAC;EACxC,MAAM;IAAEc,IAAI,EAAEG,qBAAqB;IAAEC,SAAS,EAAEC;EAAa,CAAC,GAAGjB,wBAAwB,CAAC,CAAC;EAC3F,MAAMkB,SAAS,GAAGvB,OAAO,CAAC,MAAMC,UAAU,CAACuB,GAAG,CAAC,QAAQ,CAAC,CAACC,KAAK,GAAG,EAAE,EAAE,EAAE,CAAC;EAExE,IAAI,CAACP,UAAU,IAAI,CAACC,MAAM,IAAIG,YAAY,EAAE;IAC1C,OAAO,IAAI;EACb;EAEA,MAAM;IAAEI,IAAI;IAAEC;EAAW,CAAC,GAAGrB,kCAAkC,CAC7DY,UAAU,EACVH,QAAQ,EACRD,OAAO,EACPK,MAAM,EACNZ,0BAA0B,CAACa,qBAAqB,CAAC,EACjDJ,MAAM,EACNN,MACF,CAAC;EAED,oBACEX,KAAA,CAAA6B,aAAA,CAAC1B,6BAA6B;IAC5ByB,UAAU,EAAEA,UAAW;IACvBD,IAAI,EAAE;MACJ,GAAGA,IAAI;MACPG,aAAa,EAAEhB,OAAO;MACtBY,KAAK,EAAEF;IACT,CAAE;IACFO,QAAQ,EAAEf,QAAS;IACnBJ,QAAQ,EAAEA,QAAS;IACnBC,cAAc,EAAEA;EAAe,CAChC,CAAC;AAEN,CAAC","ignoreList":[]}
@@ -0,0 +1,118 @@
1
+ import { CredentialStateEnum } from '@procivis/react-native-one-core';
2
+ import React, { useMemo } from 'react';
3
+ import { Dimensions, StyleSheet } from 'react-native';
4
+ import { CredentialDetailsCardListItem, useAppColorScheme } from '../../../ui-components';
5
+ import { concatTestID } from '../../../utils';
6
+ import { useCoreConfig } from '../../../utils/hooks/core/core-config';
7
+ import { useWalletUnitAttestation } from '../../../utils/hooks/core/wallet-unit';
8
+ import { getValidityState, ValidityState } from '../../../utils/parsers/credential';
9
+ import { shareCredentialCardFromCredential } from '../../../utils/parsers/credential-sharing';
10
+ import { walletUnitAttestationState } from '../../../utils/wallet-unit';
11
+ import { SelectShareCredentialCardNotice } from '../select-share-credential-card-notice';
12
+ import { ShareCredentialCardNotice } from '../share-credential-card-notice';
13
+ export const ShareCredential = ({
14
+ allCredentials,
15
+ expanded,
16
+ labels,
17
+ lastItem,
18
+ onHeaderPress,
19
+ onImagePreview,
20
+ onSelectCredential,
21
+ onSelectField,
22
+ request,
23
+ selectedCredentialId,
24
+ selectedFields,
25
+ style,
26
+ testID
27
+ }) => {
28
+ var _credential$issuer;
29
+ const colorScheme = useAppColorScheme();
30
+ const credential = allCredentials.find(c => c.id === selectedCredentialId);
31
+ const {
32
+ data: config
33
+ } = useCoreConfig();
34
+ const {
35
+ data: walletUnitAttestation,
36
+ isLoading: isLoadingWUA
37
+ } = useWalletUnitAttestation();
38
+ const cardWidth = useMemo(() => Dimensions.get('window').width - 32, []);
39
+ const selectionOptions = useMemo(() => request.applicableCredentials.filter(applicableCredentialId => allCredentials.some(({
40
+ id,
41
+ state
42
+ }) => id === applicableCredentialId && state === CredentialStateEnum.ACCEPTED)), [allCredentials, request]);
43
+ const multipleCredentialsAvailable = selectionOptions.length > 1;
44
+ const validityState = getValidityState(credential ? {
45
+ ...credential,
46
+ issuer: credential === null || credential === void 0 || (_credential$issuer = credential.issuer) === null || _credential$issuer === void 0 ? void 0 : _credential$issuer.id
47
+ } : undefined);
48
+ const invalid = useMemo(() => {
49
+ if (!(credential !== null && credential !== void 0 && credential.lvvcIssuanceDate) || !request.validityCredentialNbf) {
50
+ return false;
51
+ }
52
+ return new Date(credential.lvvcIssuanceDate) < new Date(request.validityCredentialNbf);
53
+ }, [credential, request]);
54
+ const footer = useMemo(() => {
55
+ if (!expanded) {
56
+ return;
57
+ }
58
+ if (validityState === ValidityState.Revoked) {
59
+ return /*#__PURE__*/React.createElement(ShareCredentialCardNotice, {
60
+ testID: concatTestID(testID, 'notice.revoked'),
61
+ text: labels.revokedCredentialNotice
62
+ });
63
+ }
64
+ if (validityState === ValidityState.Suspended) {
65
+ return /*#__PURE__*/React.createElement(ShareCredentialCardNotice, {
66
+ testID: concatTestID(testID, 'notice.suspended'),
67
+ text: labels.suspendedCredentialNotice
68
+ });
69
+ }
70
+ if (invalid) {
71
+ return /*#__PURE__*/React.createElement(ShareCredentialCardNotice, {
72
+ testID: concatTestID(testID, 'notice.invalid'),
73
+ text: labels.invalidCredentialNotice
74
+ });
75
+ }
76
+ if (multipleCredentialsAvailable) {
77
+ return /*#__PURE__*/React.createElement(SelectShareCredentialCardNotice, {
78
+ buttonTitle: labels.multipleCredentialsSelect,
79
+ onPress: onSelectCredential,
80
+ testID: concatTestID(testID, 'notice.multiple'),
81
+ text: labels.multipleCredentialsNotice
82
+ });
83
+ }
84
+ }, [expanded, invalid, labels, multipleCredentialsAvailable, onSelectCredential, testID, validityState]);
85
+ if (!config || isLoadingWUA) {
86
+ return null;
87
+ }
88
+ const {
89
+ card,
90
+ attributes
91
+ } = shareCredentialCardFromCredential(credential, invalid, Boolean(expanded), multipleCredentialsAvailable, request, selectedFields, config, walletUnitAttestationState(walletUnitAttestation), testID, labels);
92
+ return /*#__PURE__*/React.createElement(CredentialDetailsCardListItem, {
93
+ attributes: attributes,
94
+ card: {
95
+ ...card,
96
+ credentialId: request.id,
97
+ onHeaderPress,
98
+ width: cardWidth
99
+ },
100
+ expanded: expanded,
101
+ footer: footer,
102
+ lastItem: lastItem,
103
+ onAttributeSelected: onSelectField,
104
+ onImagePreview: onImagePreview,
105
+ style: [styles.credential, {
106
+ borderColor: colorScheme.background
107
+ }, style],
108
+ testID: testID
109
+ });
110
+ };
111
+ const styles = StyleSheet.create({
112
+ credential: {
113
+ borderRadius: 10,
114
+ borderWidth: 1,
115
+ marginBottom: 8
116
+ }
117
+ });
118
+ //# sourceMappingURL=share-credential.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["CredentialStateEnum","React","useMemo","Dimensions","StyleSheet","CredentialDetailsCardListItem","useAppColorScheme","concatTestID","useCoreConfig","useWalletUnitAttestation","getValidityState","ValidityState","shareCredentialCardFromCredential","walletUnitAttestationState","SelectShareCredentialCardNotice","ShareCredentialCardNotice","ShareCredential","allCredentials","expanded","labels","lastItem","onHeaderPress","onImagePreview","onSelectCredential","onSelectField","request","selectedCredentialId","selectedFields","style","testID","_credential$issuer","colorScheme","credential","find","c","id","data","config","walletUnitAttestation","isLoading","isLoadingWUA","cardWidth","get","width","selectionOptions","applicableCredentials","filter","applicableCredentialId","some","state","ACCEPTED","multipleCredentialsAvailable","length","validityState","issuer","undefined","invalid","lvvcIssuanceDate","validityCredentialNbf","Date","footer","Revoked","createElement","text","revokedCredentialNotice","Suspended","suspendedCredentialNotice","invalidCredentialNotice","buttonTitle","multipleCredentialsSelect","onPress","multipleCredentialsNotice","card","attributes","Boolean","credentialId","onAttributeSelected","styles","borderColor","background","create","borderRadius","borderWidth","marginBottom"],"sources":["share-credential.tsx"],"sourcesContent":["import {\n CredentialDetail,\n CredentialListItem,\n CredentialStateEnum,\n PresentationDefinitionField,\n PresentationDefinitionRequestedCredential,\n} from '@procivis/react-native-one-core';\nimport React, { FunctionComponent, useMemo } from 'react';\nimport { Dimensions, ImageSourcePropType, StyleProp, StyleSheet, ViewStyle } from 'react-native';\n\nimport { CredentialDetailsCardListItem, useAppColorScheme } from '../../../ui-components';\nimport { concatTestID } from '../../../utils';\nimport { useCoreConfig } from '../../../utils/hooks/core/core-config';\nimport { useWalletUnitAttestation } from '../../../utils/hooks/core/wallet-unit';\nimport { getValidityState, ValidityState } from '../../../utils/parsers/credential';\nimport {\n shareCredentialCardFromCredential,\n ShareCredentialCardLabels,\n} from '../../../utils/parsers/credential-sharing';\nimport { walletUnitAttestationState } from '../../../utils/wallet-unit';\nimport { SelectShareCredentialCardNotice } from '../select-share-credential-card-notice';\nimport { ShareCredentialCardNotice } from '../share-credential-card-notice';\n\nexport type ShareCredentialLabels = ShareCredentialCardLabels & {\n invalidCredentialNotice: string;\n multipleCredentialsNotice: string;\n multipleCredentialsSelect: string;\n revokedCredentialNotice: string;\n suspendedCredentialNotice: string;\n};\n\nexport const ShareCredential: FunctionComponent<{\n allCredentials: CredentialDetail[];\n expanded?: boolean;\n labels: ShareCredentialLabels;\n lastItem?: boolean;\n onHeaderPress?: (_credentialId?: string) => void;\n onImagePreview: (title: string, image: ImageSourcePropType) => void;\n onSelectCredential?: () => void;\n onSelectField: (_id: PresentationDefinitionField['id'], _selected: boolean) => void;\n request: PresentationDefinitionRequestedCredential;\n selectedCredentialId?: CredentialListItem['id'];\n selectedFields?: Array<PresentationDefinitionField['id']>;\n style?: StyleProp<ViewStyle>;\n testID: string;\n}> = ({\n allCredentials,\n expanded,\n labels,\n lastItem,\n onHeaderPress,\n onImagePreview,\n onSelectCredential,\n onSelectField,\n request,\n selectedCredentialId,\n selectedFields,\n style,\n testID,\n}) => {\n const colorScheme = useAppColorScheme();\n const credential = allCredentials.find((c) => c.id === selectedCredentialId);\n const { data: config } = useCoreConfig();\n const { data: walletUnitAttestation, isLoading: isLoadingWUA } = useWalletUnitAttestation();\n const cardWidth = useMemo(() => Dimensions.get('window').width - 32, []);\n\n const selectionOptions = useMemo(\n () =>\n request.applicableCredentials.filter((applicableCredentialId) =>\n allCredentials.some(({ id, state }) => id === applicableCredentialId && state === CredentialStateEnum.ACCEPTED),\n ),\n [allCredentials, request],\n );\n const multipleCredentialsAvailable = selectionOptions.length > 1;\n\n const validityState = getValidityState(\n credential\n ? {\n ...credential,\n issuer: credential?.issuer?.id,\n }\n : undefined,\n );\n\n const invalid = useMemo(() => {\n if (!credential?.lvvcIssuanceDate || !request.validityCredentialNbf) {\n return false;\n }\n return new Date(credential.lvvcIssuanceDate) < new Date(request.validityCredentialNbf);\n }, [credential, request]);\n\n const footer = useMemo(() => {\n if (!expanded) {\n return;\n }\n if (validityState === ValidityState.Revoked) {\n return (\n <ShareCredentialCardNotice\n testID={concatTestID(testID, 'notice.revoked')}\n text={labels.revokedCredentialNotice}\n />\n );\n }\n if (validityState === ValidityState.Suspended) {\n return (\n <ShareCredentialCardNotice\n testID={concatTestID(testID, 'notice.suspended')}\n text={labels.suspendedCredentialNotice}\n />\n );\n }\n\n if (invalid) {\n return (\n <ShareCredentialCardNotice\n testID={concatTestID(testID, 'notice.invalid')}\n text={labels.invalidCredentialNotice}\n />\n );\n }\n\n if (multipleCredentialsAvailable) {\n return (\n <SelectShareCredentialCardNotice\n buttonTitle={labels.multipleCredentialsSelect}\n onPress={onSelectCredential}\n testID={concatTestID(testID, 'notice.multiple')}\n text={labels.multipleCredentialsNotice}\n />\n );\n }\n }, [expanded, invalid, labels, multipleCredentialsAvailable, onSelectCredential, testID, validityState]);\n\n if (!config || isLoadingWUA) {\n return null;\n }\n\n const { card, attributes } = shareCredentialCardFromCredential(\n credential,\n invalid,\n Boolean(expanded),\n multipleCredentialsAvailable,\n request,\n selectedFields,\n config,\n walletUnitAttestationState(walletUnitAttestation),\n testID,\n labels,\n );\n\n return (\n <CredentialDetailsCardListItem\n attributes={attributes}\n card={{\n ...card,\n credentialId: request.id,\n onHeaderPress,\n width: cardWidth,\n }}\n expanded={expanded}\n footer={footer}\n lastItem={lastItem}\n onAttributeSelected={onSelectField}\n onImagePreview={onImagePreview}\n style={[styles.credential, { borderColor: colorScheme.background }, style]}\n testID={testID}\n />\n );\n};\n\nconst styles = StyleSheet.create({\n credential: {\n borderRadius: 10,\n borderWidth: 1,\n marginBottom: 8,\n },\n});\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,4 @@
1
+ export * from './select-credential-v2';
2
+ export * from './share-credential-v2';
3
+ export * from './share-credential-v2-group';
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["export * from './select-credential-v2';\nexport * from './share-credential-v2';\nexport * from './share-credential-v2-group';\n"],"mappings":"AAAA,cAAc,wBAAwB;AACtC,cAAc,uBAAuB;AACrC,cAAc,6BAA6B","ignoreList":[]}
@@ -0,0 +1,46 @@
1
+ import React, { useCallback, useMemo } from 'react';
2
+ import { Dimensions } from 'react-native';
3
+ import { CredentialDetailsCardListItem } from '../../../ui-components';
4
+ import { useCoreConfig, useWalletUnitAttestation, walletUnitAttestationState } from '../../../utils';
5
+ import { selectCredentialCardFromV2Credential } from '../../../utils/parsers/credential-sharing-v2';
6
+ export const SelectCredentialV2 = ({
7
+ credential,
8
+ labels,
9
+ lastItem,
10
+ multiple,
11
+ onImagePreview,
12
+ onSelected,
13
+ selected,
14
+ testID
15
+ }) => {
16
+ const {
17
+ data: config
18
+ } = useCoreConfig();
19
+ const {
20
+ data: walletUnitAttestation,
21
+ isLoading: isLoadingWUA
22
+ } = useWalletUnitAttestation();
23
+ const cardWidth = useMemo(() => Dimensions.get('window').width - 32, []);
24
+ const onHeaderPress = useCallback(() => {
25
+ onSelected === null || onSelected === void 0 || onSelected(credential.id, !selected);
26
+ }, [credential.id, onSelected, selected]);
27
+ if (!credential || !config || isLoadingWUA) {
28
+ return null;
29
+ }
30
+ const {
31
+ card,
32
+ attributes
33
+ } = selectCredentialCardFromV2Credential(credential, selected, multiple, config, walletUnitAttestationState(walletUnitAttestation), testID, labels);
34
+ return /*#__PURE__*/React.createElement(CredentialDetailsCardListItem, {
35
+ attributes: attributes,
36
+ card: {
37
+ ...card,
38
+ onHeaderPress,
39
+ width: cardWidth
40
+ },
41
+ expanded: selected,
42
+ lastItem: lastItem,
43
+ onImagePreview: onImagePreview
44
+ });
45
+ };
46
+ //# sourceMappingURL=select-credential-v2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","useCallback","useMemo","Dimensions","CredentialDetailsCardListItem","useCoreConfig","useWalletUnitAttestation","walletUnitAttestationState","selectCredentialCardFromV2Credential","SelectCredentialV2","credential","labels","lastItem","multiple","onImagePreview","onSelected","selected","testID","data","config","walletUnitAttestation","isLoading","isLoadingWUA","cardWidth","get","width","onHeaderPress","id","card","attributes","createElement","expanded"],"sources":["select-credential-v2.tsx"],"sourcesContent":["import { CredentialListItem, PresentationDefinitionV2CredentialDetail } from '@procivis/react-native-one-core';\nimport React, { FC, useCallback, useMemo } from 'react';\nimport { Dimensions, ImageSourcePropType } from 'react-native';\n\nimport { CredentialDetailsCardListItem } from '../../../ui-components';\nimport {\n ShareCredentialCardLabels,\n useCoreConfig,\n useWalletUnitAttestation,\n walletUnitAttestationState,\n} from '../../../utils';\nimport { selectCredentialCardFromV2Credential } from '../../../utils/parsers/credential-sharing-v2';\n\nexport const SelectCredentialV2: FC<{\n credential: PresentationDefinitionV2CredentialDetail;\n labels: ShareCredentialCardLabels;\n lastItem: boolean;\n multiple: boolean;\n onImagePreview: (title: string, image: ImageSourcePropType) => void;\n onSelected?: (credentialId: CredentialListItem['id'], selected: boolean) => void;\n selected: boolean;\n testID: string;\n}> = ({ credential, labels, lastItem, multiple, onImagePreview, onSelected, selected, testID }) => {\n const { data: config } = useCoreConfig();\n const { data: walletUnitAttestation, isLoading: isLoadingWUA } = useWalletUnitAttestation();\n const cardWidth = useMemo(() => Dimensions.get('window').width - 32, []);\n\n const onHeaderPress = useCallback(() => {\n onSelected?.(credential.id, !selected);\n }, [credential.id, onSelected, selected]);\n\n if (!credential || !config || isLoadingWUA) {\n return null;\n }\n\n const { card, attributes } = selectCredentialCardFromV2Credential(\n credential,\n selected,\n multiple,\n config,\n walletUnitAttestationState(walletUnitAttestation),\n testID,\n labels,\n );\n\n return (\n <CredentialDetailsCardListItem\n attributes={attributes}\n card={{\n ...card,\n onHeaderPress,\n width: cardWidth,\n }}\n expanded={selected}\n lastItem={lastItem}\n onImagePreview={onImagePreview}\n />\n );\n};\n"],"mappings":"AACA,OAAOA,KAAK,IAAQC,WAAW,EAAEC,OAAO,QAAQ,OAAO;AACvD,SAASC,UAAU,QAA6B,cAAc;AAE9D,SAASC,6BAA6B,QAAQ,wBAAwB;AACtE,SAEEC,aAAa,EACbC,wBAAwB,EACxBC,0BAA0B,QACrB,gBAAgB;AACvB,SAASC,oCAAoC,QAAQ,8CAA8C;AAEnG,OAAO,MAAMC,kBASX,GAAGA,CAAC;EAAEC,UAAU;EAAEC,MAAM;EAAEC,QAAQ;EAAEC,QAAQ;EAAEC,cAAc;EAAEC,UAAU;EAAEC,QAAQ;EAAEC;AAAO,CAAC,KAAK;EACjG,MAAM;IAAEC,IAAI,EAAEC;EAAO,CAAC,GAAGd,aAAa,CAAC,CAAC;EACxC,MAAM;IAAEa,IAAI,EAAEE,qBAAqB;IAAEC,SAAS,EAAEC;EAAa,CAAC,GAAGhB,wBAAwB,CAAC,CAAC;EAC3F,MAAMiB,SAAS,GAAGrB,OAAO,CAAC,MAAMC,UAAU,CAACqB,GAAG,CAAC,QAAQ,CAAC,CAACC,KAAK,GAAG,EAAE,EAAE,EAAE,CAAC;EAExE,MAAMC,aAAa,GAAGzB,WAAW,CAAC,MAAM;IACtCc,UAAU,aAAVA,UAAU,eAAVA,UAAU,CAAGL,UAAU,CAACiB,EAAE,EAAE,CAACX,QAAQ,CAAC;EACxC,CAAC,EAAE,CAACN,UAAU,CAACiB,EAAE,EAAEZ,UAAU,EAAEC,QAAQ,CAAC,CAAC;EAEzC,IAAI,CAACN,UAAU,IAAI,CAACS,MAAM,IAAIG,YAAY,EAAE;IAC1C,OAAO,IAAI;EACb;EAEA,MAAM;IAAEM,IAAI;IAAEC;EAAW,CAAC,GAAGrB,oCAAoC,CAC/DE,UAAU,EACVM,QAAQ,EACRH,QAAQ,EACRM,MAAM,EACNZ,0BAA0B,CAACa,qBAAqB,CAAC,EACjDH,MAAM,EACNN,MACF,CAAC;EAED,oBACEX,KAAA,CAAA8B,aAAA,CAAC1B,6BAA6B;IAC5ByB,UAAU,EAAEA,UAAW;IACvBD,IAAI,EAAE;MACJ,GAAGA,IAAI;MACPF,aAAa;MACbD,KAAK,EAAEF;IACT,CAAE;IACFQ,QAAQ,EAAEf,QAAS;IACnBJ,QAAQ,EAAEA,QAAS;IACnBE,cAAc,EAAEA;EAAe,CAChC,CAAC;AAEN,CAAC","ignoreList":[]}