@procivis/one-react-native-components 0.3.71 → 0.3.91

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 (262) hide show
  1. package/lib/commonjs/components/entity/entity-attributes.js +3 -1
  2. package/lib/commonjs/components/entity/entity-attributes.js.map +1 -1
  3. package/lib/commonjs/components/entity/entity-details-with-buttons.js +2 -1
  4. package/lib/commonjs/components/entity/entity-details-with-buttons.js.map +1 -1
  5. package/lib/commonjs/components/proof-request/index.js +23 -12
  6. package/lib/commonjs/components/proof-request/index.js.map +1 -1
  7. package/lib/commonjs/components/proof-request/select-share-credential-card-notice.js +37 -0
  8. package/lib/commonjs/components/proof-request/select-share-credential-card-notice.js.map +1 -0
  9. package/lib/commonjs/components/proof-request/share-credential-card-notice.js +36 -0
  10. package/lib/commonjs/components/proof-request/share-credential-card-notice.js.map +1 -0
  11. package/lib/commonjs/components/proof-request/{group.js → v1/group.js} +1 -1
  12. package/lib/commonjs/components/proof-request/v1/group.js.map +1 -0
  13. package/lib/commonjs/components/proof-request/v1/index.js +39 -0
  14. package/lib/commonjs/components/proof-request/v1/index.js.map +1 -0
  15. package/lib/commonjs/components/proof-request/{select-credential.js → v1/select-credential.js} +4 -4
  16. package/lib/commonjs/components/proof-request/v1/select-credential.js.map +1 -0
  17. package/lib/commonjs/components/proof-request/{share-credential.js → v1/share-credential.js} +25 -60
  18. package/lib/commonjs/components/proof-request/v1/share-credential.js.map +1 -0
  19. package/lib/commonjs/components/proof-request/v2/index.js +39 -0
  20. package/lib/commonjs/components/proof-request/v2/index.js.map +1 -0
  21. package/lib/commonjs/components/proof-request/v2/select-credential-v2.js +51 -0
  22. package/lib/commonjs/components/proof-request/v2/select-credential-v2.js.map +1 -0
  23. package/lib/commonjs/components/proof-request/v2/share-credential-v2-group.js +164 -0
  24. package/lib/commonjs/components/proof-request/v2/share-credential-v2-group.js.map +1 -0
  25. package/lib/commonjs/components/proof-request/v2/share-credential-v2.js +131 -0
  26. package/lib/commonjs/components/proof-request/v2/share-credential-v2.js.map +1 -0
  27. package/lib/commonjs/ui-components/buttons/share-button.js +1 -1
  28. package/lib/commonjs/ui-components/buttons/share-button.js.map +1 -1
  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/index.js +11 -0
  44. package/lib/commonjs/ui-components/index.js.map +1 -1
  45. package/lib/commonjs/ui-components/loader/loading-result.js +1 -1
  46. package/lib/commonjs/ui-components/loader/loading-result.js.map +1 -1
  47. package/lib/commonjs/ui-components/pin/pin-lock-animation.js +477 -475
  48. package/lib/commonjs/ui-components/pin/pin-lock-animation.js.map +1 -1
  49. package/lib/commonjs/ui-components/proof-request/index.js +13 -0
  50. package/lib/commonjs/ui-components/proof-request/index.js.map +1 -0
  51. package/lib/commonjs/ui-components/proof-request/proof-request-set.js +47 -0
  52. package/lib/commonjs/ui-components/proof-request/proof-request-set.js.map +1 -0
  53. package/lib/commonjs/ui-components/screens/section-list-screen.js +17 -3
  54. package/lib/commonjs/ui-components/screens/section-list-screen.js.map +1 -1
  55. package/lib/commonjs/utils/array.js.map +1 -1
  56. package/lib/commonjs/utils/hooks/app-state.js +33 -0
  57. package/lib/commonjs/utils/hooks/app-state.js.map +1 -0
  58. package/lib/commonjs/utils/hooks/core/backup.js +1 -1
  59. package/lib/commonjs/utils/hooks/core/backup.js.map +1 -1
  60. package/lib/commonjs/utils/hooks/core/cache.js +4 -1
  61. package/lib/commonjs/utils/hooks/core/cache.js.map +1 -1
  62. package/lib/commonjs/utils/hooks/core/credentials.js +11 -10
  63. package/lib/commonjs/utils/hooks/core/credentials.js.map +1 -1
  64. package/lib/commonjs/utils/hooks/core/identifiers.js +1 -1
  65. package/lib/commonjs/utils/hooks/core/identifiers.js.map +1 -1
  66. package/lib/commonjs/utils/hooks/core/index.js +11 -0
  67. package/lib/commonjs/utils/hooks/core/index.js.map +1 -1
  68. package/lib/commonjs/utils/hooks/core/proofs.js +41 -15
  69. package/lib/commonjs/utils/hooks/core/proofs.js.map +1 -1
  70. package/lib/commonjs/utils/hooks/core/wallet-unit.js +76 -0
  71. package/lib/commonjs/utils/hooks/core/wallet-unit.js.map +1 -0
  72. package/lib/commonjs/utils/hooks/index.js +11 -0
  73. package/lib/commonjs/utils/hooks/index.js.map +1 -1
  74. package/lib/commonjs/utils/hooks/revocation/credential-status.js +1 -1
  75. package/lib/commonjs/utils/hooks/revocation/credential-status.js.map +1 -1
  76. package/lib/commonjs/utils/index.js +12 -12
  77. package/lib/commonjs/utils/index.js.map +1 -1
  78. package/lib/commonjs/utils/parsers/credential-sharing-v2.js +190 -0
  79. package/lib/commonjs/utils/parsers/credential-sharing-v2.js.map +1 -0
  80. package/lib/commonjs/utils/parsers/credential-sharing.js +25 -12
  81. package/lib/commonjs/utils/parsers/credential-sharing.js.map +1 -1
  82. package/lib/commonjs/utils/parsers/credential.js +89 -57
  83. package/lib/commonjs/utils/parsers/credential.js.map +1 -1
  84. package/lib/commonjs/utils/parsers/index.js +11 -0
  85. package/lib/commonjs/utils/parsers/index.js.map +1 -1
  86. package/lib/commonjs/utils/parsers/query.js +4 -4
  87. package/lib/commonjs/utils/parsers/query.js.map +1 -1
  88. package/lib/module/components/entity/entity-attributes.js +3 -1
  89. package/lib/module/components/entity/entity-attributes.js.map +1 -1
  90. package/lib/module/components/entity/entity-details-with-buttons.js +2 -1
  91. package/lib/module/components/entity/entity-details-with-buttons.js.map +1 -1
  92. package/lib/module/components/proof-request/index.js +4 -3
  93. package/lib/module/components/proof-request/index.js.map +1 -1
  94. package/lib/module/components/proof-request/select-share-credential-card-notice.js +29 -0
  95. package/lib/module/components/proof-request/select-share-credential-card-notice.js.map +1 -0
  96. package/lib/module/components/proof-request/share-credential-card-notice.js +28 -0
  97. package/lib/module/components/proof-request/share-credential-card-notice.js.map +1 -0
  98. package/lib/module/components/proof-request/{group.js → v1/group.js} +1 -1
  99. package/lib/module/components/proof-request/v1/group.js.map +1 -0
  100. package/lib/module/components/proof-request/v1/index.js +4 -0
  101. package/lib/module/components/proof-request/v1/index.js.map +1 -0
  102. package/lib/module/components/proof-request/{select-credential.js → v1/select-credential.js} +4 -4
  103. package/lib/module/components/proof-request/v1/select-credential.js.map +1 -0
  104. package/lib/module/components/proof-request/{share-credential.js → v1/share-credential.js} +26 -61
  105. package/lib/module/components/proof-request/v1/share-credential.js.map +1 -0
  106. package/lib/module/components/proof-request/v2/index.js +4 -0
  107. package/lib/module/components/proof-request/v2/index.js.map +1 -0
  108. package/lib/module/components/proof-request/v2/select-credential-v2.js +42 -0
  109. package/lib/module/components/proof-request/v2/select-credential-v2.js.map +1 -0
  110. package/lib/module/components/proof-request/v2/share-credential-v2-group.js +154 -0
  111. package/lib/module/components/proof-request/v2/share-credential-v2-group.js.map +1 -0
  112. package/lib/module/components/proof-request/v2/share-credential-v2.js +122 -0
  113. package/lib/module/components/proof-request/v2/share-credential-v2.js.map +1 -0
  114. package/lib/module/ui-components/buttons/share-button.js +1 -1
  115. package/lib/module/ui-components/buttons/share-button.js.map +1 -1
  116. package/lib/module/ui-components/camera/qr-code-scanner.js +5 -1
  117. package/lib/module/ui-components/camera/qr-code-scanner.js.map +1 -1
  118. package/lib/module/ui-components/credential/card/credential-details-list-item.js +19 -45
  119. package/lib/module/ui-components/credential/card/credential-details-list-item.js.map +1 -1
  120. package/lib/module/ui-components/credential/credential-attribute-item.js +3 -1
  121. package/lib/module/ui-components/credential/credential-attribute-item.js.map +1 -1
  122. package/lib/module/ui-components/credential/group/credential-group-header.js +64 -0
  123. package/lib/module/ui-components/credential/group/credential-group-header.js.map +1 -0
  124. package/lib/module/ui-components/credential/group/index.js +3 -0
  125. package/lib/module/ui-components/credential/group/index.js.map +1 -0
  126. package/lib/module/ui-components/credential/index.js +1 -0
  127. package/lib/module/ui-components/credential/index.js.map +1 -1
  128. package/lib/module/ui-components/header/foldable-header.js +29 -17
  129. package/lib/module/ui-components/header/foldable-header.js.map +1 -1
  130. package/lib/module/ui-components/index.js +1 -0
  131. package/lib/module/ui-components/index.js.map +1 -1
  132. package/lib/module/ui-components/loader/loading-result.js +1 -1
  133. package/lib/module/ui-components/loader/loading-result.js.map +1 -1
  134. package/lib/module/ui-components/pin/pin-lock-animation.js +477 -475
  135. package/lib/module/ui-components/pin/pin-lock-animation.js.map +1 -1
  136. package/lib/module/ui-components/proof-request/index.js +3 -0
  137. package/lib/module/ui-components/proof-request/index.js.map +1 -0
  138. package/lib/module/ui-components/proof-request/proof-request-set.js +39 -0
  139. package/lib/module/ui-components/proof-request/proof-request-set.js.map +1 -0
  140. package/lib/module/ui-components/screens/section-list-screen.js +15 -3
  141. package/lib/module/ui-components/screens/section-list-screen.js.map +1 -1
  142. package/lib/module/utils/array.js.map +1 -1
  143. package/lib/module/utils/hooks/app-state.js +27 -0
  144. package/lib/module/utils/hooks/app-state.js.map +1 -0
  145. package/lib/module/utils/hooks/core/backup.js +1 -1
  146. package/lib/module/utils/hooks/core/backup.js.map +1 -1
  147. package/lib/module/utils/hooks/core/cache.js +4 -1
  148. package/lib/module/utils/hooks/core/cache.js.map +1 -1
  149. package/lib/module/utils/hooks/core/credentials.js +12 -11
  150. package/lib/module/utils/hooks/core/credentials.js.map +1 -1
  151. package/lib/module/utils/hooks/core/identifiers.js +5 -5
  152. package/lib/module/utils/hooks/core/identifiers.js.map +1 -1
  153. package/lib/module/utils/hooks/core/index.js +1 -0
  154. package/lib/module/utils/hooks/core/index.js.map +1 -1
  155. package/lib/module/utils/hooks/core/proofs.js +42 -16
  156. package/lib/module/utils/hooks/core/proofs.js.map +1 -1
  157. package/lib/module/utils/hooks/core/wallet-unit.js +66 -0
  158. package/lib/module/utils/hooks/core/wallet-unit.js.map +1 -0
  159. package/lib/module/utils/hooks/index.js +1 -0
  160. package/lib/module/utils/hooks/index.js.map +1 -1
  161. package/lib/module/utils/hooks/revocation/credential-status.js +1 -1
  162. package/lib/module/utils/hooks/revocation/credential-status.js.map +1 -1
  163. package/lib/module/utils/index.js +1 -1
  164. package/lib/module/utils/index.js.map +1 -1
  165. package/lib/module/utils/parsers/credential-sharing-v2.js +177 -0
  166. package/lib/module/utils/parsers/credential-sharing-v2.js.map +1 -0
  167. package/lib/module/utils/parsers/credential-sharing.js +25 -12
  168. package/lib/module/utils/parsers/credential-sharing.js.map +1 -1
  169. package/lib/module/utils/parsers/credential.js +89 -57
  170. package/lib/module/utils/parsers/credential.js.map +1 -1
  171. package/lib/module/utils/parsers/index.js +1 -0
  172. package/lib/module/utils/parsers/index.js.map +1 -1
  173. package/lib/module/utils/parsers/query.js +4 -4
  174. package/lib/module/utils/parsers/query.js.map +1 -1
  175. package/lib/typescript/components/entity/entity-attributes.d.ts +1 -0
  176. package/lib/typescript/components/proof-request/index.d.ts +4 -3
  177. package/lib/typescript/components/proof-request/select-share-credential-card-notice.d.ts +7 -0
  178. package/lib/typescript/components/proof-request/share-credential-card-notice.d.ts +6 -0
  179. package/lib/typescript/components/proof-request/v1/index.d.ts +3 -0
  180. package/lib/typescript/components/proof-request/{select-credential.d.ts → v1/select-credential.d.ts} +1 -1
  181. package/lib/typescript/components/proof-request/{share-credential.d.ts → v1/share-credential.d.ts} +1 -1
  182. package/lib/typescript/components/proof-request/v2/index.d.ts +3 -0
  183. package/lib/typescript/components/proof-request/v2/select-credential-v2.d.ts +14 -0
  184. package/lib/typescript/components/proof-request/v2/share-credential-v2-group.d.ts +24 -0
  185. package/lib/typescript/components/proof-request/v2/share-credential-v2.d.ts +23 -0
  186. package/lib/typescript/ui-components/credential/group/credential-group-header.d.ts +10 -0
  187. package/lib/typescript/ui-components/credential/group/index.d.ts +3 -0
  188. package/lib/typescript/ui-components/credential/index.d.ts +1 -0
  189. package/lib/typescript/ui-components/header/foldable-header.d.ts +1 -0
  190. package/lib/typescript/ui-components/index.d.ts +1 -0
  191. package/lib/typescript/ui-components/loader/loading-result.d.ts +1 -1
  192. package/lib/typescript/ui-components/pin/pin-lock-animation.d.ts +311 -311
  193. package/lib/typescript/ui-components/proof-request/index.d.ts +3 -0
  194. package/lib/typescript/ui-components/proof-request/proof-request-set.d.ts +7 -0
  195. package/lib/typescript/ui-components/screens/section-list-screen.d.ts +4 -2
  196. package/lib/typescript/utils/array.d.ts +1 -0
  197. package/lib/typescript/utils/hooks/app-state.d.ts +5 -0
  198. package/lib/typescript/utils/hooks/core/backup.d.ts +1 -1
  199. package/lib/typescript/utils/hooks/core/credentials.d.ts +2 -1
  200. package/lib/typescript/utils/hooks/core/identifiers.d.ts +1 -1
  201. package/lib/typescript/utils/hooks/core/index.d.ts +1 -0
  202. package/lib/typescript/utils/hooks/core/proofs.d.ts +6 -10
  203. package/lib/typescript/utils/hooks/core/wallet-unit.d.ts +9 -0
  204. package/lib/typescript/utils/hooks/index.d.ts +1 -0
  205. package/lib/typescript/utils/index.d.ts +1 -1
  206. package/lib/typescript/utils/parsers/credential-sharing-v2.d.ts +10 -0
  207. package/lib/typescript/utils/parsers/credential-sharing.d.ts +7 -2
  208. package/lib/typescript/utils/parsers/credential.d.ts +1 -2
  209. package/lib/typescript/utils/parsers/index.d.ts +1 -0
  210. package/lib/typescript/utils/parsers/query.d.ts +2 -2
  211. package/package.json +13 -7
  212. package/src/components/entity/entity-attributes.tsx +3 -0
  213. package/src/components/entity/entity-details-with-buttons.tsx +1 -0
  214. package/src/components/proof-request/index.ts +4 -3
  215. package/src/components/proof-request/select-share-credential-card-notice.tsx +37 -0
  216. package/src/components/proof-request/share-credential-card-notice.tsx +33 -0
  217. package/src/components/proof-request/{group.tsx → v1/group.tsx} +1 -1
  218. package/src/components/proof-request/v1/index.ts +3 -0
  219. package/src/components/proof-request/{select-credential.tsx → v1/select-credential.tsx} +7 -4
  220. package/src/components/proof-request/{share-credential.tsx → v1/share-credential.tsx} +30 -51
  221. package/src/components/proof-request/v2/index.ts +3 -0
  222. package/src/components/proof-request/v2/select-credential-v2.tsx +52 -0
  223. package/src/components/proof-request/v2/share-credential-v2-group.tsx +258 -0
  224. package/src/components/proof-request/v2/share-credential-v2.tsx +202 -0
  225. package/src/ui-components/buttons/share-button.tsx +1 -1
  226. package/src/ui-components/camera/qr-code-scanner.tsx +11 -2
  227. package/src/ui-components/credential/card/credential-details-list-item.tsx +27 -49
  228. package/src/ui-components/credential/credential-attribute-item.tsx +2 -0
  229. package/src/ui-components/credential/group/credential-group-header.tsx +70 -0
  230. package/src/ui-components/credential/group/index.ts +4 -0
  231. package/src/ui-components/credential/index.ts +1 -0
  232. package/src/ui-components/header/foldable-header.tsx +31 -16
  233. package/src/ui-components/index.ts +1 -0
  234. package/src/ui-components/loader/loading-result.tsx +1 -1
  235. package/src/ui-components/pin/pin-lock-animation.tsx +240 -278
  236. package/src/ui-components/proof-request/index.ts +4 -0
  237. package/src/ui-components/proof-request/proof-request-set.tsx +46 -0
  238. package/src/ui-components/screens/section-list-screen.tsx +18 -4
  239. package/src/utils/array.ts +4 -0
  240. package/src/utils/hooks/app-state.ts +29 -0
  241. package/src/utils/hooks/core/backup.ts +2 -5
  242. package/src/utils/hooks/core/cache.ts +3 -0
  243. package/src/utils/hooks/core/credentials.ts +14 -6
  244. package/src/utils/hooks/core/identifiers.ts +15 -14
  245. package/src/utils/hooks/core/index.ts +2 -1
  246. package/src/utils/hooks/core/proofs.ts +40 -22
  247. package/src/utils/hooks/core/wallet-unit.ts +71 -0
  248. package/src/utils/hooks/index.ts +1 -0
  249. package/src/utils/hooks/revocation/credential-status.ts +1 -1
  250. package/src/utils/index.ts +1 -1
  251. package/src/utils/parsers/credential-sharing-v2.tsx +278 -0
  252. package/src/utils/parsers/credential-sharing.tsx +63 -40
  253. package/src/utils/parsers/credential.ts +100 -57
  254. package/src/utils/parsers/index.ts +1 -0
  255. package/src/utils/parsers/query.ts +6 -5
  256. package/lib/commonjs/components/proof-request/group.js.map +0 -1
  257. package/lib/commonjs/components/proof-request/select-credential.js.map +0 -1
  258. package/lib/commonjs/components/proof-request/share-credential.js.map +0 -1
  259. package/lib/module/components/proof-request/group.js.map +0 -1
  260. package/lib/module/components/proof-request/select-credential.js.map +0 -1
  261. package/lib/module/components/proof-request/share-credential.js.map +0 -1
  262. /package/lib/typescript/components/proof-request/{group.d.ts → v1/group.d.ts} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_uiComponents","_utils","_credentialSharingV","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","SelectCredentialV2","credential","labels","lastItem","multiple","onImagePreview","onSelected","selected","testID","data","config","useCoreConfig","cardWidth","useMemo","Dimensions","width","onHeaderPress","useCallback","id","card","attributes","selectCredentialCardFromV2Credential","createElement","CredentialDetailsCardListItem","expanded","exports"],"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 { ShareCredentialCardLabels, useCoreConfig } 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 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) {\n return null;\n }\n\n const { card, attributes } = selectCredentialCardFromV2Credential(\n credential,\n selected,\n multiple,\n config,\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":"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","ignoreList":[]}
@@ -0,0 +1,164 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.ShareCredentialV2Group = void 0;
7
+ var _react = _interopRequireWildcard(require("react"));
8
+ var _reactNative = require("react-native");
9
+ var _reactNativeReanimated = _interopRequireWildcard(require("react-native-reanimated"));
10
+ var _uiComponents = require("../../../ui-components");
11
+ var _credentialGroupHeader = _interopRequireDefault(require("../../../ui-components/credential/group/credential-group-header"));
12
+ var _utils = require("../../../utils");
13
+ var _shareCredentialV = require("./share-credential-v2");
14
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
15
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
16
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
17
+ const multipleCredentialsSelected = (selectedCredentials, credentialRequestId) => {
18
+ return selectedCredentials && selectedCredentials[credentialRequestId] && Array.isArray(selectedCredentials[credentialRequestId]) && selectedCredentials[credentialRequestId].length > 1;
19
+ };
20
+ const numberOfCardsForRequest = (selectedCredentials, credentialRequestId) => {
21
+ if (!selectedCredentials || !selectedCredentials[credentialRequestId]) {
22
+ return 1;
23
+ }
24
+ const selection = selectedCredentials[credentialRequestId];
25
+ if (Array.isArray(selection)) {
26
+ return selection.length;
27
+ }
28
+ return 1;
29
+ };
30
+ const heightForNumberOfCards = numberOfCards => 60 * (numberOfCards + 1) + 12 * numberOfCards;
31
+ const ShareCredentialV2Group = ({
32
+ labels,
33
+ lastGroup,
34
+ onGroupSelect,
35
+ onImagePreview,
36
+ onSelectCredential,
37
+ onSelectField,
38
+ presentationDefinition,
39
+ requestGroup,
40
+ selected,
41
+ selectedCredentials = {},
42
+ style,
43
+ testID,
44
+ valid
45
+ }) => {
46
+ const {
47
+ expandedCredential,
48
+ onHeaderPress
49
+ } = (0, _utils.useCredentialListExpandedCard)();
50
+ const numberOfCards = requestGroup.reduce((acc, groupId) => acc + numberOfCardsForRequest(selectedCredentials, groupId), 0);
51
+ const singleCredentialGroup = requestGroup.length === 1 && !multipleCredentialsSelected(selectedCredentials, requestGroup[0]);
52
+ const headerPressHandler = (0, _react.useCallback)(() => {
53
+ onGroupSelect === null || onGroupSelect === void 0 || onGroupSelect(!selected);
54
+ }, [selected, onGroupSelect]);
55
+ const onNestedCardHeaderPress = (0, _react.useCallback)(credentialId => () => {
56
+ if (!selected) {
57
+ onGroupSelect === null || onGroupSelect === void 0 || onGroupSelect(true);
58
+ }
59
+ onHeaderPress(credentialId);
60
+ }, [selected, onGroupSelect, onHeaderPress]);
61
+ const credentialCards = (0, _react.useMemo)(() => {
62
+ return requestGroup.flatMap((credentialRequestId, credentialRequestIndex, {
63
+ length: credentialRequestsLength
64
+ }) => {
65
+ const lastQuery = credentialRequestIndex === credentialRequestsLength - 1;
66
+ const credentialQuery = presentationDefinition.credentialQueries[credentialRequestId];
67
+ let defaultSelection;
68
+ if ('applicableCredentials' in credentialQuery) {
69
+ var _credentialQuery$appl;
70
+ defaultSelection = (_credentialQuery$appl = credentialQuery.applicableCredentials) !== null && _credentialQuery$appl !== void 0 && _credentialQuery$appl[0] ? {
71
+ credentialId: credentialQuery.applicableCredentials[0].id,
72
+ userSelections: []
73
+ } : {
74
+ credentialId: '',
75
+ userSelections: []
76
+ };
77
+ } else {
78
+ defaultSelection = {
79
+ credentialId: '',
80
+ userSelections: []
81
+ };
82
+ }
83
+ const request = selectedCredentials[credentialRequestId];
84
+ const credentialSelections = request ? Array.isArray(request) ? request : [request] : [defaultSelection];
85
+ return credentialSelections === null || credentialSelections === void 0 ? void 0 : credentialSelections.flatMap((credentialRequest, credentialIndex, {
86
+ length: credentialsLength
87
+ }) => {
88
+ const selectedFields = credentialRequest.userSelections;
89
+ const cardId = `${credentialRequestId}-${credentialRequest.credentialId}`;
90
+ const lastItem = singleCredentialGroup ? lastGroup : lastQuery && credentialIndex === credentialsLength - 1;
91
+ const cardExpanded = selected && (singleCredentialGroup || expandedCredential === cardId);
92
+ const headerAccessory = singleCredentialGroup && valid ? /*#__PURE__*/_react.default.createElement(_uiComponents.Selector, {
93
+ status: selected ? _uiComponents.SelectorStatus.SelectedRadio : _uiComponents.SelectorStatus.Empty
94
+ }) : cardExpanded ? _uiComponents.UpIcon : _uiComponents.DownIcon;
95
+ return /*#__PURE__*/_react.default.createElement(_shareCredentialV.ShareCredentialV2, {
96
+ credentialQuery: credentialQuery,
97
+ credentialRequestId: credentialRequestId,
98
+ expanded: cardExpanded,
99
+ grouped: !singleCredentialGroup,
100
+ headerAccessory: headerAccessory,
101
+ key: credentialRequestId,
102
+ labels: labels,
103
+ lastItem: lastItem,
104
+ onHeaderPress: singleCredentialGroup ? headerPressHandler : onNestedCardHeaderPress(cardId),
105
+ onImagePreview: onImagePreview,
106
+ onSelectCredential: onSelectCredential === null || onSelectCredential === void 0 ? void 0 : onSelectCredential(credentialRequestId),
107
+ onSelectField: onSelectField(credentialRequestId),
108
+ selectedCredentialId: credentialRequest.credentialId,
109
+ selectedFields: selectedFields,
110
+ style: [!singleCredentialGroup && styles.requestedCredential, lastItem && styles.requestedCredentialLast],
111
+ testID: (0, _utils.concatTestID)(testID, credentialRequestId)
112
+ });
113
+ });
114
+ });
115
+ }, [expandedCredential, labels, lastGroup, headerPressHandler, onImagePreview, onNestedCardHeaderPress, onSelectCredential, onSelectField, presentationDefinition.credentialQueries, requestGroup, selected, selectedCredentials, singleCredentialGroup, testID, valid]);
116
+ if (singleCredentialGroup) {
117
+ return credentialCards[0];
118
+ }
119
+ const groupHeaderAccessory = valid ? /*#__PURE__*/_react.default.createElement(_uiComponents.Selector, {
120
+ status: selected ? _uiComponents.SelectorStatus.SelectedRadio : _uiComponents.SelectorStatus.Empty
121
+ }) : selected ? _uiComponents.UpIcon : _uiComponents.DownIcon;
122
+ return /*#__PURE__*/_react.default.createElement(_reactNativeReanimated.default.View, {
123
+ layout: _reactNativeReanimated.LinearTransition,
124
+ style: [styles.animatedWrapper,
125
+ // eslint-disable-next-line react-native/no-inline-styles
126
+ {
127
+ height: selected || lastGroup ? 'auto' : heightForNumberOfCards(numberOfCards)
128
+ }, style]
129
+ }, /*#__PURE__*/_react.default.createElement(_reactNativeReanimated.default.View, {
130
+ layout: _reactNativeReanimated.LinearTransition,
131
+ style: [singleCredentialGroup ? undefined : styles.groupedCredentialsWrapper, !singleCredentialGroup && styles.requestedCredential, lastGroup && styles.requestedCredentialLast, style]
132
+ }, /*#__PURE__*/_react.default.createElement(_uiComponents.BlurView, {
133
+ blurStyle: "strong",
134
+ darkMode: true,
135
+ style: _reactNative.StyleSheet.absoluteFill
136
+ }), /*#__PURE__*/_react.default.createElement(_uiComponents.TouchableOpacity, {
137
+ onPress: headerPressHandler
138
+ }, /*#__PURE__*/_react.default.createElement(_credentialGroupHeader.default, {
139
+ accessory: groupHeaderAccessory,
140
+ name: labels.groupHeader,
141
+ style: styles.header
142
+ })), credentialCards));
143
+ };
144
+ exports.ShareCredentialV2Group = ShareCredentialV2Group;
145
+ const styles = _reactNative.StyleSheet.create({
146
+ animatedWrapper: {
147
+ ..._uiComponents.CredentialCardShadow
148
+ },
149
+ groupedCredentialsWrapper: {
150
+ borderRadius: 10 + _shareCredentialV.GroupedShareCredentialV2Padding,
151
+ overflow: 'hidden',
152
+ paddingBottom: _shareCredentialV.GroupedShareCredentialV2Padding
153
+ },
154
+ header: {
155
+ marginBottom: _shareCredentialV.GroupedShareCredentialV2Padding
156
+ },
157
+ requestedCredential: {
158
+ marginBottom: 12
159
+ },
160
+ requestedCredentialLast: {
161
+ marginBottom: 0
162
+ }
163
+ });
164
+ //# sourceMappingURL=share-credential-v2-group.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_reactNativeReanimated","_uiComponents","_credentialGroupHeader","_interopRequireDefault","_utils","_shareCredentialV","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","multipleCredentialsSelected","selectedCredentials","credentialRequestId","Array","isArray","length","numberOfCardsForRequest","selection","heightForNumberOfCards","numberOfCards","ShareCredentialV2Group","labels","lastGroup","onGroupSelect","onImagePreview","onSelectCredential","onSelectField","presentationDefinition","requestGroup","selected","style","testID","valid","expandedCredential","onHeaderPress","useCredentialListExpandedCard","reduce","acc","groupId","singleCredentialGroup","headerPressHandler","useCallback","onNestedCardHeaderPress","credentialId","credentialCards","useMemo","flatMap","credentialRequestIndex","credentialRequestsLength","lastQuery","credentialQuery","credentialQueries","defaultSelection","_credentialQuery$appl","applicableCredentials","id","userSelections","request","credentialSelections","credentialRequest","credentialIndex","credentialsLength","selectedFields","cardId","lastItem","cardExpanded","headerAccessory","createElement","Selector","status","SelectorStatus","SelectedRadio","Empty","UpIcon","DownIcon","ShareCredentialV2","expanded","grouped","key","selectedCredentialId","styles","requestedCredential","requestedCredentialLast","concatTestID","groupHeaderAccessory","View","layout","LinearTransition","animatedWrapper","height","undefined","groupedCredentialsWrapper","BlurView","blurStyle","darkMode","StyleSheet","absoluteFill","TouchableOpacity","onPress","accessory","name","groupHeader","header","exports","create","CredentialCardShadow","borderRadius","GroupedShareCredentialV2Padding","overflow","paddingBottom","marginBottom"],"sources":["share-credential-v2-group.tsx"],"sourcesContent":["import {\n CredentialListItem,\n PresentationDefinitionV2,\n PresentationDefinitionV2CredentialClaim,\n PresentationSubmitV2CredentialRequest,\n} from '@procivis/react-native-one-core';\nimport React, { FC, useCallback, useMemo } from 'react';\nimport { ImageSourcePropType, StyleProp, StyleSheet, ViewStyle } from 'react-native';\nimport Animated, { LinearTransition } from 'react-native-reanimated';\n\nimport {\n BlurView,\n CredentialCardShadow,\n DownIcon,\n Selector,\n SelectorStatus,\n TouchableOpacity,\n UpIcon,\n} from '../../../ui-components';\nimport CredentialGroupHeader from '../../../ui-components/credential/group/credential-group-header';\nimport { concatTestID, useCredentialListExpandedCard } from '../../../utils';\nimport { ShareCredentialLabels } from '../v1/share-credential';\nimport { GroupedShareCredentialV2Padding, ShareCredentialV2 } from './share-credential-v2';\n\nexport type CredentialQuerySelection = Record<\n string,\n PresentationSubmitV2CredentialRequest | PresentationSubmitV2CredentialRequest[]\n>;\n\nexport type ShareCredentialGroupLabels = ShareCredentialLabels & {\n groupHeader: string;\n};\n\nexport type ShareCredentialV2GroupProps = {\n labels: ShareCredentialGroupLabels;\n lastGroup: boolean;\n onGroupSelect?: (selected: boolean) => void;\n onImagePreview: (title: string, image: ImageSourcePropType) => void;\n onSelectCredential: (requestCredentialId: string) => () => void;\n onSelectField: (\n requestCredentialId: string,\n ) => (\n credentialId: CredentialListItem['id'],\n fieldPath: PresentationDefinitionV2CredentialClaim['path'],\n selected: boolean,\n ) => void;\n presentationDefinition: PresentationDefinitionV2;\n requestGroup: string[];\n selected?: boolean;\n selectedCredentials?: CredentialQuerySelection;\n style?: StyleProp<ViewStyle>;\n testID: string;\n valid: boolean;\n};\n\nconst multipleCredentialsSelected = (\n selectedCredentials: CredentialQuerySelection | undefined,\n credentialRequestId: string,\n) => {\n return (\n selectedCredentials &&\n selectedCredentials[credentialRequestId] &&\n Array.isArray(selectedCredentials[credentialRequestId]) &&\n (selectedCredentials[credentialRequestId] as PresentationSubmitV2CredentialRequest[]).length > 1\n );\n};\n\nconst numberOfCardsForRequest = (\n selectedCredentials: CredentialQuerySelection | undefined,\n credentialRequestId: string,\n) => {\n if (!selectedCredentials || !selectedCredentials[credentialRequestId]) {\n return 1;\n }\n const selection = selectedCredentials[credentialRequestId];\n if (Array.isArray(selection)) {\n return selection.length;\n }\n return 1;\n};\n\nconst heightForNumberOfCards = (numberOfCards: number) => 60 * (numberOfCards + 1) + 12 * numberOfCards;\n\nexport const ShareCredentialV2Group: FC<ShareCredentialV2GroupProps> = ({\n labels,\n lastGroup,\n onGroupSelect,\n onImagePreview,\n onSelectCredential,\n onSelectField,\n presentationDefinition,\n requestGroup,\n selected,\n selectedCredentials = {},\n style,\n testID,\n valid,\n}) => {\n const { expandedCredential, onHeaderPress } = useCredentialListExpandedCard();\n const numberOfCards = requestGroup.reduce(\n (acc, groupId) => acc + numberOfCardsForRequest(selectedCredentials, groupId),\n 0,\n );\n const singleCredentialGroup =\n requestGroup.length === 1 && !multipleCredentialsSelected(selectedCredentials, requestGroup[0]);\n\n const headerPressHandler = useCallback(() => {\n onGroupSelect?.(!selected);\n }, [selected, onGroupSelect]);\n\n const onNestedCardHeaderPress = useCallback(\n (credentialId: string) => () => {\n if (!selected) {\n onGroupSelect?.(true);\n }\n onHeaderPress(credentialId);\n },\n [selected, onGroupSelect, onHeaderPress],\n );\n\n const credentialCards = useMemo(() => {\n return requestGroup.flatMap((credentialRequestId, credentialRequestIndex, { length: credentialRequestsLength }) => {\n const lastQuery = credentialRequestIndex === credentialRequestsLength - 1;\n\n const credentialQuery = presentationDefinition.credentialQueries[credentialRequestId];\n let defaultSelection: PresentationSubmitV2CredentialRequest;\n if ('applicableCredentials' in credentialQuery) {\n defaultSelection = credentialQuery.applicableCredentials?.[0]\n ? {\n credentialId: credentialQuery.applicableCredentials[0].id,\n userSelections: [],\n }\n : {\n credentialId: '',\n userSelections: [],\n };\n } else {\n defaultSelection = {\n credentialId: '',\n userSelections: [],\n };\n }\n const request = selectedCredentials[credentialRequestId];\n const credentialSelections = request ? (Array.isArray(request) ? request : [request]) : [defaultSelection];\n\n return credentialSelections?.flatMap((credentialRequest, credentialIndex, { length: credentialsLength }) => {\n const selectedFields = credentialRequest.userSelections;\n const cardId = `${credentialRequestId}-${credentialRequest.credentialId}`;\n const lastItem = singleCredentialGroup ? lastGroup : lastQuery && credentialIndex === credentialsLength - 1;\n const cardExpanded = selected && (singleCredentialGroup || expandedCredential === cardId);\n const headerAccessory =\n singleCredentialGroup && valid ? (\n <Selector status={selected ? SelectorStatus.SelectedRadio : SelectorStatus.Empty} />\n ) : cardExpanded ? (\n UpIcon\n ) : (\n DownIcon\n );\n return (\n <ShareCredentialV2\n credentialQuery={credentialQuery}\n credentialRequestId={credentialRequestId}\n expanded={cardExpanded}\n grouped={!singleCredentialGroup}\n headerAccessory={headerAccessory}\n key={credentialRequestId}\n labels={labels}\n lastItem={lastItem}\n onHeaderPress={singleCredentialGroup ? headerPressHandler : onNestedCardHeaderPress(cardId)}\n onImagePreview={onImagePreview}\n onSelectCredential={onSelectCredential?.(credentialRequestId)}\n onSelectField={onSelectField(credentialRequestId)}\n selectedCredentialId={credentialRequest.credentialId}\n selectedFields={selectedFields}\n style={[!singleCredentialGroup && styles.requestedCredential, lastItem && styles.requestedCredentialLast]}\n testID={concatTestID(testID, credentialRequestId)}\n />\n );\n });\n });\n }, [\n expandedCredential,\n labels,\n lastGroup,\n headerPressHandler,\n onImagePreview,\n onNestedCardHeaderPress,\n onSelectCredential,\n onSelectField,\n presentationDefinition.credentialQueries,\n requestGroup,\n selected,\n selectedCredentials,\n singleCredentialGroup,\n testID,\n valid,\n ]);\n\n if (singleCredentialGroup) {\n return credentialCards[0];\n }\n\n const groupHeaderAccessory = valid ? (\n <Selector status={selected ? SelectorStatus.SelectedRadio : SelectorStatus.Empty} />\n ) : selected ? (\n UpIcon\n ) : (\n DownIcon\n );\n\n return (\n <Animated.View\n layout={LinearTransition}\n style={[\n styles.animatedWrapper,\n // eslint-disable-next-line react-native/no-inline-styles\n {\n height: selected || lastGroup ? 'auto' : heightForNumberOfCards(numberOfCards),\n },\n style,\n ]}>\n <Animated.View\n layout={LinearTransition}\n style={[\n singleCredentialGroup ? undefined : styles.groupedCredentialsWrapper,\n !singleCredentialGroup && styles.requestedCredential,\n lastGroup && styles.requestedCredentialLast,\n style,\n ]}>\n <BlurView blurStyle=\"strong\" darkMode={true} style={StyleSheet.absoluteFill} />\n <TouchableOpacity onPress={headerPressHandler}>\n <CredentialGroupHeader accessory={groupHeaderAccessory} name={labels.groupHeader} style={styles.header} />\n </TouchableOpacity>\n {credentialCards}\n </Animated.View>\n </Animated.View>\n );\n};\n\nconst styles = StyleSheet.create({\n animatedWrapper: {\n ...CredentialCardShadow,\n },\n groupedCredentialsWrapper: {\n borderRadius: 10 + GroupedShareCredentialV2Padding,\n overflow: 'hidden',\n paddingBottom: GroupedShareCredentialV2Padding,\n },\n header: {\n marginBottom: GroupedShareCredentialV2Padding,\n },\n requestedCredential: {\n marginBottom: 12,\n },\n requestedCredentialLast: {\n marginBottom: 0,\n },\n});\n"],"mappings":";;;;;;AAMA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,sBAAA,GAAAH,uBAAA,CAAAC,OAAA;AAEA,IAAAG,aAAA,GAAAH,OAAA;AASA,IAAAI,sBAAA,GAAAC,sBAAA,CAAAL,OAAA;AACA,IAAAM,MAAA,GAAAN,OAAA;AAEA,IAAAO,iBAAA,GAAAP,OAAA;AAA2F,SAAAK,uBAAAG,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAAA,SAAAG,yBAAAH,CAAA,6BAAAI,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAD,wBAAA,YAAAA,CAAAH,CAAA,WAAAA,CAAA,GAAAM,CAAA,GAAAD,CAAA,KAAAL,CAAA;AAAA,SAAAT,wBAAAS,CAAA,EAAAK,CAAA,SAAAA,CAAA,IAAAL,CAAA,IAAAA,CAAA,CAAAC,UAAA,SAAAD,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAE,OAAA,EAAAF,CAAA,QAAAM,CAAA,GAAAH,wBAAA,CAAAE,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAC,GAAA,CAAAP,CAAA,UAAAM,CAAA,CAAAE,GAAA,CAAAR,CAAA,OAAAS,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAf,CAAA,oBAAAe,CAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAjB,CAAA,EAAAe,CAAA,SAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAd,CAAA,EAAAe,CAAA,UAAAG,CAAA,KAAAA,CAAA,CAAAV,GAAA,IAAAU,CAAA,CAAAC,GAAA,IAAAP,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAG,CAAA,IAAAT,CAAA,CAAAM,CAAA,IAAAf,CAAA,CAAAe,CAAA,YAAAN,CAAA,CAAAP,OAAA,GAAAF,CAAA,EAAAM,CAAA,IAAAA,CAAA,CAAAa,GAAA,CAAAnB,CAAA,EAAAS,CAAA,GAAAA,CAAA;AAiC3F,MAAMW,2BAA2B,GAAGA,CAClCC,mBAAyD,EACzDC,mBAA2B,KACxB;EACH,OACED,mBAAmB,IACnBA,mBAAmB,CAACC,mBAAmB,CAAC,IACxCC,KAAK,CAACC,OAAO,CAACH,mBAAmB,CAACC,mBAAmB,CAAC,CAAC,IACtDD,mBAAmB,CAACC,mBAAmB,CAAC,CAA6CG,MAAM,GAAG,CAAC;AAEpG,CAAC;AAED,MAAMC,uBAAuB,GAAGA,CAC9BL,mBAAyD,EACzDC,mBAA2B,KACxB;EACH,IAAI,CAACD,mBAAmB,IAAI,CAACA,mBAAmB,CAACC,mBAAmB,CAAC,EAAE;IACrE,OAAO,CAAC;EACV;EACA,MAAMK,SAAS,GAAGN,mBAAmB,CAACC,mBAAmB,CAAC;EAC1D,IAAIC,KAAK,CAACC,OAAO,CAACG,SAAS,CAAC,EAAE;IAC5B,OAAOA,SAAS,CAACF,MAAM;EACzB;EACA,OAAO,CAAC;AACV,CAAC;AAED,MAAMG,sBAAsB,GAAIC,aAAqB,IAAK,EAAE,IAAIA,aAAa,GAAG,CAAC,CAAC,GAAG,EAAE,GAAGA,aAAa;AAEhG,MAAMC,sBAAuD,GAAGA,CAAC;EACtEC,MAAM;EACNC,SAAS;EACTC,aAAa;EACbC,cAAc;EACdC,kBAAkB;EAClBC,aAAa;EACbC,sBAAsB;EACtBC,YAAY;EACZC,QAAQ;EACRlB,mBAAmB,GAAG,CAAC,CAAC;EACxBmB,KAAK;EACLC,MAAM;EACNC;AACF,CAAC,KAAK;EACJ,MAAM;IAAEC,kBAAkB;IAAEC;EAAc,CAAC,GAAG,IAAAC,oCAA6B,EAAC,CAAC;EAC7E,MAAMhB,aAAa,GAAGS,YAAY,CAACQ,MAAM,CACvC,CAACC,GAAG,EAAEC,OAAO,KAAKD,GAAG,GAAGrB,uBAAuB,CAACL,mBAAmB,EAAE2B,OAAO,CAAC,EAC7E,CACF,CAAC;EACD,MAAMC,qBAAqB,GACzBX,YAAY,CAACb,MAAM,KAAK,CAAC,IAAI,CAACL,2BAA2B,CAACC,mBAAmB,EAAEiB,YAAY,CAAC,CAAC,CAAC,CAAC;EAEjG,MAAMY,kBAAkB,GAAG,IAAAC,kBAAW,EAAC,MAAM;IAC3ClB,aAAa,aAAbA,aAAa,eAAbA,aAAa,CAAG,CAACM,QAAQ,CAAC;EAC5B,CAAC,EAAE,CAACA,QAAQ,EAAEN,aAAa,CAAC,CAAC;EAE7B,MAAMmB,uBAAuB,GAAG,IAAAD,kBAAW,EACxCE,YAAoB,IAAK,MAAM;IAC9B,IAAI,CAACd,QAAQ,EAAE;MACbN,aAAa,aAAbA,aAAa,eAAbA,aAAa,CAAG,IAAI,CAAC;IACvB;IACAW,aAAa,CAACS,YAAY,CAAC;EAC7B,CAAC,EACD,CAACd,QAAQ,EAAEN,aAAa,EAAEW,aAAa,CACzC,CAAC;EAED,MAAMU,eAAe,GAAG,IAAAC,cAAO,EAAC,MAAM;IACpC,OAAOjB,YAAY,CAACkB,OAAO,CAAC,CAAClC,mBAAmB,EAAEmC,sBAAsB,EAAE;MAAEhC,MAAM,EAAEiC;IAAyB,CAAC,KAAK;MACjH,MAAMC,SAAS,GAAGF,sBAAsB,KAAKC,wBAAwB,GAAG,CAAC;MAEzE,MAAME,eAAe,GAAGvB,sBAAsB,CAACwB,iBAAiB,CAACvC,mBAAmB,CAAC;MACrF,IAAIwC,gBAAuD;MAC3D,IAAI,uBAAuB,IAAIF,eAAe,EAAE;QAAA,IAAAG,qBAAA;QAC9CD,gBAAgB,GAAG,CAAAC,qBAAA,GAAAH,eAAe,CAACI,qBAAqB,cAAAD,qBAAA,eAArCA,qBAAA,CAAwC,CAAC,CAAC,GACzD;UACEV,YAAY,EAAEO,eAAe,CAACI,qBAAqB,CAAC,CAAC,CAAC,CAACC,EAAE;UACzDC,cAAc,EAAE;QAClB,CAAC,GACD;UACEb,YAAY,EAAE,EAAE;UAChBa,cAAc,EAAE;QAClB,CAAC;MACP,CAAC,MAAM;QACLJ,gBAAgB,GAAG;UACjBT,YAAY,EAAE,EAAE;UAChBa,cAAc,EAAE;QAClB,CAAC;MACH;MACA,MAAMC,OAAO,GAAG9C,mBAAmB,CAACC,mBAAmB,CAAC;MACxD,MAAM8C,oBAAoB,GAAGD,OAAO,GAAI5C,KAAK,CAACC,OAAO,CAAC2C,OAAO,CAAC,GAAGA,OAAO,GAAG,CAACA,OAAO,CAAC,GAAI,CAACL,gBAAgB,CAAC;MAE1G,OAAOM,oBAAoB,aAApBA,oBAAoB,uBAApBA,oBAAoB,CAAEZ,OAAO,CAAC,CAACa,iBAAiB,EAAEC,eAAe,EAAE;QAAE7C,MAAM,EAAE8C;MAAkB,CAAC,KAAK;QAC1G,MAAMC,cAAc,GAAGH,iBAAiB,CAACH,cAAc;QACvD,MAAMO,MAAM,GAAG,GAAGnD,mBAAmB,IAAI+C,iBAAiB,CAAChB,YAAY,EAAE;QACzE,MAAMqB,QAAQ,GAAGzB,qBAAqB,GAAGjB,SAAS,GAAG2B,SAAS,IAAIW,eAAe,KAAKC,iBAAiB,GAAG,CAAC;QAC3G,MAAMI,YAAY,GAAGpC,QAAQ,KAAKU,qBAAqB,IAAIN,kBAAkB,KAAK8B,MAAM,CAAC;QACzF,MAAMG,eAAe,GACnB3B,qBAAqB,IAAIP,KAAK,gBAC5BpD,MAAA,CAAAY,OAAA,CAAA2E,aAAA,CAAClF,aAAA,CAAAmF,QAAQ;UAACC,MAAM,EAAExC,QAAQ,GAAGyC,4BAAc,CAACC,aAAa,GAAGD,4BAAc,CAACE;QAAM,CAAE,CAAC,GAClFP,YAAY,GACdQ,oBAAM,GAENC,sBACD;QACH,oBACE9F,MAAA,CAAAY,OAAA,CAAA2E,aAAA,CAAC9E,iBAAA,CAAAsF,iBAAiB;UAChBzB,eAAe,EAAEA,eAAgB;UACjCtC,mBAAmB,EAAEA,mBAAoB;UACzCgE,QAAQ,EAAEX,YAAa;UACvBY,OAAO,EAAE,CAACtC,qBAAsB;UAChC2B,eAAe,EAAEA,eAAgB;UACjCY,GAAG,EAAElE,mBAAoB;UACzBS,MAAM,EAAEA,MAAO;UACf2C,QAAQ,EAAEA,QAAS;UACnB9B,aAAa,EAAEK,qBAAqB,GAAGC,kBAAkB,GAAGE,uBAAuB,CAACqB,MAAM,CAAE;UAC5FvC,cAAc,EAAEA,cAAe;UAC/BC,kBAAkB,EAAEA,kBAAkB,aAAlBA,kBAAkB,uBAAlBA,kBAAkB,CAAGb,mBAAmB,CAAE;UAC9Dc,aAAa,EAAEA,aAAa,CAACd,mBAAmB,CAAE;UAClDmE,oBAAoB,EAAEpB,iBAAiB,CAAChB,YAAa;UACrDmB,cAAc,EAAEA,cAAe;UAC/BhC,KAAK,EAAE,CAAC,CAACS,qBAAqB,IAAIyC,MAAM,CAACC,mBAAmB,EAAEjB,QAAQ,IAAIgB,MAAM,CAACE,uBAAuB,CAAE;UAC1GnD,MAAM,EAAE,IAAAoD,mBAAY,EAACpD,MAAM,EAAEnB,mBAAmB;QAAE,CACnD,CAAC;MAEN,CAAC,CAAC;IACJ,CAAC,CAAC;EACJ,CAAC,EAAE,CACDqB,kBAAkB,EAClBZ,MAAM,EACNC,SAAS,EACTkB,kBAAkB,EAClBhB,cAAc,EACdkB,uBAAuB,EACvBjB,kBAAkB,EAClBC,aAAa,EACbC,sBAAsB,CAACwB,iBAAiB,EACxCvB,YAAY,EACZC,QAAQ,EACRlB,mBAAmB,EACnB4B,qBAAqB,EACrBR,MAAM,EACNC,KAAK,CACN,CAAC;EAEF,IAAIO,qBAAqB,EAAE;IACzB,OAAOK,eAAe,CAAC,CAAC,CAAC;EAC3B;EAEA,MAAMwC,oBAAoB,GAAGpD,KAAK,gBAChCpD,MAAA,CAAAY,OAAA,CAAA2E,aAAA,CAAClF,aAAA,CAAAmF,QAAQ;IAACC,MAAM,EAAExC,QAAQ,GAAGyC,4BAAc,CAACC,aAAa,GAAGD,4BAAc,CAACE;EAAM,CAAE,CAAC,GAClF3C,QAAQ,GACV4C,oBAAM,GAENC,sBACD;EAED,oBACE9F,MAAA,CAAAY,OAAA,CAAA2E,aAAA,CAACnF,sBAAA,CAAAQ,OAAQ,CAAC6F,IAAI;IACZC,MAAM,EAAEC,uCAAiB;IACzBzD,KAAK,EAAE,CACLkD,MAAM,CAACQ,eAAe;IACtB;IACA;MACEC,MAAM,EAAE5D,QAAQ,IAAIP,SAAS,GAAG,MAAM,GAAGJ,sBAAsB,CAACC,aAAa;IAC/E,CAAC,EACDW,KAAK;EACL,gBACFlD,MAAA,CAAAY,OAAA,CAAA2E,aAAA,CAACnF,sBAAA,CAAAQ,OAAQ,CAAC6F,IAAI;IACZC,MAAM,EAAEC,uCAAiB;IACzBzD,KAAK,EAAE,CACLS,qBAAqB,GAAGmD,SAAS,GAAGV,MAAM,CAACW,yBAAyB,EACpE,CAACpD,qBAAqB,IAAIyC,MAAM,CAACC,mBAAmB,EACpD3D,SAAS,IAAI0D,MAAM,CAACE,uBAAuB,EAC3CpD,KAAK;EACL,gBACFlD,MAAA,CAAAY,OAAA,CAAA2E,aAAA,CAAClF,aAAA,CAAA2G,QAAQ;IAACC,SAAS,EAAC,QAAQ;IAACC,QAAQ,EAAE,IAAK;IAAChE,KAAK,EAAEiE,uBAAU,CAACC;EAAa,CAAE,CAAC,eAC/EpH,MAAA,CAAAY,OAAA,CAAA2E,aAAA,CAAClF,aAAA,CAAAgH,gBAAgB;IAACC,OAAO,EAAE1D;EAAmB,gBAC5C5D,MAAA,CAAAY,OAAA,CAAA2E,aAAA,CAACjF,sBAAA,CAAAM,OAAqB;IAAC2G,SAAS,EAAEf,oBAAqB;IAACgB,IAAI,EAAE/E,MAAM,CAACgF,WAAY;IAACvE,KAAK,EAAEkD,MAAM,CAACsB;EAAO,CAAE,CACzF,CAAC,EAClB1D,eACY,CACF,CAAC;AAEpB,CAAC;AAAC2D,OAAA,CAAAnF,sBAAA,GAAAA,sBAAA;AAEF,MAAM4D,MAAM,GAAGe,uBAAU,CAACS,MAAM,CAAC;EAC/BhB,eAAe,EAAE;IACf,GAAGiB;EACL,CAAC;EACDd,yBAAyB,EAAE;IACzBe,YAAY,EAAE,EAAE,GAAGC,iDAA+B;IAClDC,QAAQ,EAAE,QAAQ;IAClBC,aAAa,EAAEF;EACjB,CAAC;EACDL,MAAM,EAAE;IACNQ,YAAY,EAAEH;EAChB,CAAC;EACD1B,mBAAmB,EAAE;IACnB6B,YAAY,EAAE;EAChB,CAAC;EACD5B,uBAAuB,EAAE;IACvB4B,YAAY,EAAE;EAChB;AACF,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,131 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.ShareCredentialV2 = exports.GroupedShareCredentialV2Padding = void 0;
7
+ var _react = _interopRequireWildcard(require("react"));
8
+ var _reactNative = require("react-native");
9
+ var _uiComponents = require("../../../ui-components");
10
+ var _utils = require("../../../utils");
11
+ var _credentialSharingV = require("../../../utils/parsers/credential-sharing-v2");
12
+ var _selectShareCredentialCardNotice = require("../select-share-credential-card-notice");
13
+ var _shareCredentialCardNotice = require("../share-credential-card-notice");
14
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
15
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
16
+ const GroupedShareCredentialV2Padding = exports.GroupedShareCredentialV2Padding = 4;
17
+ const ShareCredentialV2 = ({
18
+ credentialQuery,
19
+ credentialRequestId,
20
+ expanded,
21
+ grouped,
22
+ headerAccessory,
23
+ labels,
24
+ lastItem,
25
+ onHeaderPress,
26
+ onImagePreview,
27
+ onSelectCredential,
28
+ onSelectField,
29
+ selectedCredentialId,
30
+ selectedFields,
31
+ style,
32
+ testID
33
+ }) => {
34
+ var _applicableCredential, _credential$issuer;
35
+ const colorScheme = (0, _uiComponents.useAppColorScheme)();
36
+ const applicableCredentials = 'applicableCredentials' in credentialQuery ? credentialQuery.applicableCredentials : undefined;
37
+ const failureHint = 'failureHint' in credentialQuery ? credentialQuery.failureHint : undefined;
38
+ const credential = (_applicableCredential = applicableCredentials === null || applicableCredentials === void 0 ? void 0 : applicableCredentials.find(c => c.id === selectedCredentialId)) !== null && _applicableCredential !== void 0 ? _applicableCredential : applicableCredentials === null || applicableCredentials === void 0 ? void 0 : applicableCredentials[0];
39
+ const {
40
+ data: config
41
+ } = (0, _utils.useCoreConfig)();
42
+ const cardWidth = (0, _react.useMemo)(() => _reactNative.Dimensions.get('window').width - 32 - (grouped ? GroupedShareCredentialV2Padding * 2 : 0), [grouped]);
43
+ const multipleCredentialsAvailable = Boolean((applicableCredentials === null || applicableCredentials === void 0 ? void 0 : applicableCredentials.length) && applicableCredentials.length > 1);
44
+ const validityState = (0, _utils.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 footer = (0, _react.useMemo)(() => {
49
+ if (!expanded) {
50
+ return;
51
+ }
52
+ if (validityState === _utils.ValidityState.Revoked) {
53
+ return /*#__PURE__*/_react.default.createElement(_shareCredentialCardNotice.ShareCredentialCardNotice, {
54
+ testID: (0, _utils.concatTestID)(testID, 'notice.revoked'),
55
+ text: labels.revokedCredentialNotice
56
+ });
57
+ }
58
+ if (validityState === _utils.ValidityState.Suspended) {
59
+ return /*#__PURE__*/_react.default.createElement(_shareCredentialCardNotice.ShareCredentialCardNotice, {
60
+ testID: (0, _utils.concatTestID)(testID, 'notice.suspended'),
61
+ text: labels.suspendedCredentialNotice
62
+ });
63
+ }
64
+ if ((failureHint === null || failureHint === void 0 ? void 0 : failureHint.reason) === 'VALIDITY') {
65
+ return /*#__PURE__*/_react.default.createElement(_shareCredentialCardNotice.ShareCredentialCardNotice, {
66
+ testID: (0, _utils.concatTestID)(testID, 'notice.invalid'),
67
+ text: labels.invalidCredentialNotice
68
+ });
69
+ }
70
+ if (multipleCredentialsAvailable) {
71
+ return /*#__PURE__*/_react.default.createElement(_selectShareCredentialCardNotice.SelectShareCredentialCardNotice, {
72
+ buttonTitle: labels.multipleCredentialsSelect,
73
+ onPress: onSelectCredential,
74
+ testID: (0, _utils.concatTestID)(testID, 'notice.multiple'),
75
+ text: labels.multipleCredentialsNotice
76
+ });
77
+ }
78
+ }, [expanded, failureHint === null || failureHint === void 0 ? void 0 : failureHint.reason, labels.invalidCredentialNotice, labels.multipleCredentialsNotice, labels.multipleCredentialsSelect, labels.revokedCredentialNotice, labels.suspendedCredentialNotice, multipleCredentialsAvailable, onSelectCredential, testID, validityState]);
79
+ const onAttributeSelected = (0, _react.useCallback)((fieldPath, selected) => {
80
+ if (!selectedCredentialId) {
81
+ return;
82
+ }
83
+ onSelectField(selectedCredentialId, fieldPath, selected);
84
+ }, [onSelectField, selectedCredentialId]);
85
+ if (!config) {
86
+ return null;
87
+ }
88
+ const {
89
+ card: {
90
+ header,
91
+ ...card
92
+ },
93
+ attributes
94
+ } = (0, _credentialSharingV.shareCredentialCardFromV2PresentationCredential)(credential, failureHint, Boolean(expanded), multipleCredentialsAvailable, selectedFields, config, testID, labels);
95
+ if (headerAccessory) {
96
+ header.accessory = headerAccessory;
97
+ }
98
+ return /*#__PURE__*/_react.default.createElement(_uiComponents.CredentialDetailsCardListItem, {
99
+ attributes: attributes,
100
+ card: {
101
+ ...card,
102
+ credentialId: credentialRequestId,
103
+ header,
104
+ onHeaderPress,
105
+ width: cardWidth
106
+ },
107
+ expanded: expanded,
108
+ footer: footer,
109
+ lastItem: lastItem,
110
+ onAttributeSelected: onAttributeSelected,
111
+ onImagePreview: onImagePreview,
112
+ style: [styles.credential, grouped ? styles.groupedCredential : styles.bordered, {
113
+ borderColor: colorScheme.background
114
+ }, style],
115
+ testID: testID
116
+ });
117
+ };
118
+ exports.ShareCredentialV2 = ShareCredentialV2;
119
+ const styles = _reactNative.StyleSheet.create({
120
+ bordered: {
121
+ borderWidth: 1
122
+ },
123
+ credential: {
124
+ borderRadius: 10,
125
+ marginBottom: 8
126
+ },
127
+ groupedCredential: {
128
+ marginHorizontal: GroupedShareCredentialV2Padding
129
+ }
130
+ });
131
+ //# sourceMappingURL=share-credential-v2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_uiComponents","_utils","_credentialSharingV","_selectShareCredentialCardNotice","_shareCredentialCardNotice","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","GroupedShareCredentialV2Padding","exports","ShareCredentialV2","credentialQuery","credentialRequestId","expanded","grouped","headerAccessory","labels","lastItem","onHeaderPress","onImagePreview","onSelectCredential","onSelectField","selectedCredentialId","selectedFields","style","testID","_applicableCredential","_credential$issuer","colorScheme","useAppColorScheme","applicableCredentials","undefined","failureHint","credential","find","c","id","data","config","useCoreConfig","cardWidth","useMemo","Dimensions","width","multipleCredentialsAvailable","Boolean","length","validityState","getValidityState","issuer","footer","ValidityState","Revoked","createElement","ShareCredentialCardNotice","concatTestID","text","revokedCredentialNotice","Suspended","suspendedCredentialNotice","reason","invalidCredentialNotice","SelectShareCredentialCardNotice","buttonTitle","multipleCredentialsSelect","onPress","multipleCredentialsNotice","onAttributeSelected","useCallback","fieldPath","selected","card","header","attributes","shareCredentialCardFromV2PresentationCredential","accessory","CredentialDetailsCardListItem","credentialId","styles","groupedCredential","bordered","borderColor","background","StyleSheet","create","borderWidth","borderRadius","marginBottom","marginHorizontal"],"sources":["share-credential-v2.tsx"],"sourcesContent":["import {\n CredentialListItem,\n PresentationDefinitionV2CredentialClaim,\n PresentationDefinitionV2CredentialQuery,\n} from '@procivis/react-native-one-core';\nimport React, { FunctionComponent, useCallback, useMemo } from 'react';\nimport { Dimensions, ImageSourcePropType, StyleProp, StyleSheet, ViewStyle } from 'react-native';\n\nimport { CredentialDetailsCardListItem, useAppColorScheme } from '../../../ui-components';\nimport { concatTestID, getValidityState, useCoreConfig, ValidityState } from '../../../utils';\nimport { shareCredentialCardFromV2PresentationCredential } from '../../../utils/parsers/credential-sharing-v2';\nimport { SelectShareCredentialCardNotice } from '../select-share-credential-card-notice';\nimport { ShareCredentialCardNotice } from '../share-credential-card-notice';\nimport { ShareCredentialLabels } from '../v1';\n\nexport type ShareCredentialV2Props = {\n credentialQuery: PresentationDefinitionV2CredentialQuery;\n credentialRequestId: string;\n expanded?: boolean;\n grouped?: boolean;\n headerAccessory?: React.ComponentType<any> | React.ReactElement;\n labels: ShareCredentialLabels;\n lastItem?: boolean;\n onHeaderPress?: (_credentialId?: string) => void;\n onImagePreview: (title: string, image: ImageSourcePropType) => void;\n onSelectCredential?: () => void;\n onSelectField: (\n credentialId: CredentialListItem['id'],\n fieldPath: PresentationDefinitionV2CredentialClaim['path'],\n selected: boolean,\n ) => void;\n selectedCredentialId?: CredentialListItem['id'];\n selectedFields?: Array<PresentationDefinitionV2CredentialClaim['path']>;\n style?: StyleProp<ViewStyle>;\n testID: string;\n};\n\nexport const GroupedShareCredentialV2Padding = 4;\n\nexport const ShareCredentialV2: FunctionComponent<ShareCredentialV2Props> = ({\n credentialQuery,\n credentialRequestId,\n expanded,\n grouped,\n headerAccessory,\n labels,\n lastItem,\n onHeaderPress,\n onImagePreview,\n onSelectCredential,\n onSelectField,\n selectedCredentialId,\n selectedFields,\n style,\n testID,\n}) => {\n const colorScheme = useAppColorScheme();\n const applicableCredentials =\n 'applicableCredentials' in credentialQuery ? credentialQuery.applicableCredentials : undefined;\n const failureHint = 'failureHint' in credentialQuery ? credentialQuery.failureHint : undefined;\n const credential = applicableCredentials?.find((c) => c.id === selectedCredentialId) ?? applicableCredentials?.[0];\n const { data: config } = useCoreConfig();\n const cardWidth = useMemo(\n () => Dimensions.get('window').width - 32 - (grouped ? GroupedShareCredentialV2Padding * 2 : 0),\n [grouped],\n );\n\n const multipleCredentialsAvailable = Boolean(applicableCredentials?.length && applicableCredentials.length > 1);\n\n const validityState = getValidityState(\n credential\n ? {\n ...credential,\n issuer: credential?.issuer?.id,\n }\n : undefined,\n );\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 (failureHint?.reason === 'VALIDITY') {\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 }, [\n expanded,\n failureHint?.reason,\n labels.invalidCredentialNotice,\n labels.multipleCredentialsNotice,\n labels.multipleCredentialsSelect,\n labels.revokedCredentialNotice,\n labels.suspendedCredentialNotice,\n multipleCredentialsAvailable,\n onSelectCredential,\n testID,\n validityState,\n ]);\n\n const onAttributeSelected = useCallback(\n (fieldPath: PresentationDefinitionV2CredentialClaim['path'], selected: boolean) => {\n if (!selectedCredentialId) {\n return;\n }\n onSelectField(selectedCredentialId, fieldPath, selected);\n },\n [onSelectField, selectedCredentialId],\n );\n\n if (!config) {\n return null;\n }\n\n const {\n card: { header, ...card },\n attributes,\n } = shareCredentialCardFromV2PresentationCredential(\n credential,\n failureHint,\n Boolean(expanded),\n multipleCredentialsAvailable,\n selectedFields,\n config,\n testID,\n labels,\n );\n\n if (headerAccessory) {\n header.accessory = headerAccessory;\n }\n\n return (\n <CredentialDetailsCardListItem\n attributes={attributes}\n card={{\n ...card,\n credentialId: credentialRequestId,\n header,\n onHeaderPress,\n width: cardWidth,\n }}\n expanded={expanded}\n footer={footer}\n lastItem={lastItem}\n onAttributeSelected={onAttributeSelected}\n onImagePreview={onImagePreview}\n style={[\n styles.credential,\n grouped ? styles.groupedCredential : styles.bordered,\n { borderColor: colorScheme.background },\n style,\n ]}\n testID={testID}\n />\n );\n};\n\nconst styles = StyleSheet.create({\n bordered: {\n borderWidth: 1,\n },\n credential: {\n borderRadius: 10,\n marginBottom: 8,\n },\n groupedCredential: {\n marginHorizontal: GroupedShareCredentialV2Padding,\n },\n});\n"],"mappings":"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","ignoreList":[]}
@@ -8,9 +8,9 @@ var _react = _interopRequireDefault(require("react"));
8
8
  var _reactNative = require("react-native");
9
9
  var _utils = require("../../utils");
10
10
  var _accessibility = require("../accessibility");
11
+ var _icons = require("../icons");
11
12
  var _text = require("../text");
12
13
  var _theme = require("../theme");
13
- var _icons = require("../icons");
14
14
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
15
15
  const ShareButton = ({
16
16
  onPress,
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_utils","_accessibility","_text","_theme","_icons","e","__esModule","default","ShareButton","onPress","style","title","testID","colorScheme","useAppColorScheme","createElement","TouchableHighlight","styles","button","View","container","backgroundColor","white","LinkIcon","color","text","Typography","concatTestID","preset","StyleSheet","create","borderRadius","overflow","alignItems","flexDirection","gap","height","paddingLeft","paddingRight","paddingVertical","_default","exports"],"sources":["share-button.tsx"],"sourcesContent":["import React, { FC } from 'react';\nimport { StyleProp, StyleSheet, View, ViewStyle } from 'react-native';\n\nimport { concatTestID } from '../../utils';\nimport { TouchableHighlight } from '../accessibility';\nimport { Typography } from '../text';\nimport { useAppColorScheme } from '../theme';\nimport { LinkIcon } from '../icons';\n\nexport type ShareButtonProps = {\n onPress?: () => void;\n style?: StyleProp<ViewStyle>;\n title?: string;\n testID?: string;\n};\n\nconst ShareButton: FC<ShareButtonProps> = ({\n onPress,\n style,\n title,\n testID,\n}) => {\n const colorScheme = useAppColorScheme();\n\n return (\n <TouchableHighlight onPress={onPress} style={[styles.button, style]} testID={testID}>\n <View style={[styles.container, { backgroundColor: colorScheme.white }]}>\n <LinkIcon color={colorScheme.text} />\n {title && (\n <Typography testID={concatTestID(testID, 'title')} color={colorScheme.text} preset=\"s\">\n {title}\n </Typography>\n )}\n </View>\n </TouchableHighlight>\n );\n};\n\nconst styles = StyleSheet.create({\n button: {\n borderRadius: 5,\n overflow: 'hidden',\n },\n container: {\n alignItems: 'center',\n flexDirection: 'row',\n gap: 5,\n height: 32,\n paddingLeft: 4,\n paddingRight: 6,\n paddingVertical: 5,\n },\n});\n\nexport default ShareButton;\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAEA,IAAAE,MAAA,GAAAF,OAAA;AACA,IAAAG,cAAA,GAAAH,OAAA;AACA,IAAAI,KAAA,GAAAJ,OAAA;AACA,IAAAK,MAAA,GAAAL,OAAA;AACA,IAAAM,MAAA,GAAAN,OAAA;AAAoC,SAAAD,uBAAAQ,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AASpC,MAAMG,WAAiC,GAAGA,CAAC;EACzCC,OAAO;EACPC,KAAK;EACLC,KAAK;EACLC;AACF,CAAC,KAAK;EACJ,MAAMC,WAAW,GAAG,IAAAC,wBAAiB,EAAC,CAAC;EAEvC,oBACElB,MAAA,CAAAW,OAAA,CAAAQ,aAAA,CAACd,cAAA,CAAAe,kBAAkB;IAACP,OAAO,EAAEA,OAAQ;IAACC,KAAK,EAAE,CAACO,MAAM,CAACC,MAAM,EAAER,KAAK,CAAE;IAACE,MAAM,EAAEA;EAAO,gBAClFhB,MAAA,CAAAW,OAAA,CAAAQ,aAAA,CAAChB,YAAA,CAAAoB,IAAI;IAACT,KAAK,EAAE,CAACO,MAAM,CAACG,SAAS,EAAE;MAAEC,eAAe,EAAER,WAAW,CAACS;IAAM,CAAC;EAAE,gBACtE1B,MAAA,CAAAW,OAAA,CAAAQ,aAAA,CAACX,MAAA,CAAAmB,QAAQ;IAACC,KAAK,EAAEX,WAAW,CAACY;EAAK,CAAE,CAAC,EACpCd,KAAK,iBACJf,MAAA,CAAAW,OAAA,CAAAQ,aAAA,CAACb,KAAA,CAAAwB,UAAU;IAACd,MAAM,EAAE,IAAAe,mBAAY,EAACf,MAAM,EAAE,OAAO,CAAE;IAACY,KAAK,EAAEX,WAAW,CAACY,IAAK;IAACG,MAAM,EAAC;EAAG,GACnFjB,KACS,CAEV,CACY,CAAC;AAEzB,CAAC;AAED,MAAMM,MAAM,GAAGY,uBAAU,CAACC,MAAM,CAAC;EAC/BZ,MAAM,EAAE;IACNa,YAAY,EAAE,CAAC;IACfC,QAAQ,EAAE;EACZ,CAAC;EACDZ,SAAS,EAAE;IACTa,UAAU,EAAE,QAAQ;IACpBC,aAAa,EAAE,KAAK;IACpBC,GAAG,EAAE,CAAC;IACNC,MAAM,EAAE,EAAE;IACVC,WAAW,EAAE,CAAC;IACdC,YAAY,EAAE,CAAC;IACfC,eAAe,EAAE;EACnB;AACF,CAAC,CAAC;AAAC,IAAAC,QAAA,GAAAC,OAAA,CAAAlC,OAAA,GAEYC,WAAW","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_utils","_accessibility","_icons","_text","_theme","e","__esModule","default","ShareButton","onPress","style","title","testID","colorScheme","useAppColorScheme","createElement","TouchableHighlight","styles","button","View","container","backgroundColor","white","LinkIcon","color","text","Typography","concatTestID","preset","StyleSheet","create","borderRadius","overflow","alignItems","flexDirection","gap","height","paddingLeft","paddingRight","paddingVertical","_default","exports"],"sources":["share-button.tsx"],"sourcesContent":["import React, { FC } from 'react';\nimport { StyleProp, StyleSheet, View, ViewStyle } from 'react-native';\n\nimport { concatTestID } from '../../utils';\nimport { TouchableHighlight } from '../accessibility';\nimport { LinkIcon } from '../icons';\nimport { Typography } from '../text';\nimport { useAppColorScheme } from '../theme';\n\nexport type ShareButtonProps = {\n onPress?: () => void;\n style?: StyleProp<ViewStyle>;\n title?: string;\n testID?: string;\n};\n\nconst ShareButton: FC<ShareButtonProps> = ({\n onPress,\n style,\n title,\n testID,\n}) => {\n const colorScheme = useAppColorScheme();\n\n return (\n <TouchableHighlight onPress={onPress} style={[styles.button, style]} testID={testID}>\n <View style={[styles.container, { backgroundColor: colorScheme.white }]}>\n <LinkIcon color={colorScheme.text} />\n {title && (\n <Typography testID={concatTestID(testID, 'title')} color={colorScheme.text} preset=\"s\">\n {title}\n </Typography>\n )}\n </View>\n </TouchableHighlight>\n );\n};\n\nconst styles = StyleSheet.create({\n button: {\n borderRadius: 5,\n overflow: 'hidden',\n },\n container: {\n alignItems: 'center',\n flexDirection: 'row',\n gap: 5,\n height: 32,\n paddingLeft: 4,\n paddingRight: 6,\n paddingVertical: 5,\n },\n});\n\nexport default ShareButton;\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAEA,IAAAE,MAAA,GAAAF,OAAA;AACA,IAAAG,cAAA,GAAAH,OAAA;AACA,IAAAI,MAAA,GAAAJ,OAAA;AACA,IAAAK,KAAA,GAAAL,OAAA;AACA,IAAAM,MAAA,GAAAN,OAAA;AAA6C,SAAAD,uBAAAQ,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAS7C,MAAMG,WAAiC,GAAGA,CAAC;EACzCC,OAAO;EACPC,KAAK;EACLC,KAAK;EACLC;AACF,CAAC,KAAK;EACJ,MAAMC,WAAW,GAAG,IAAAC,wBAAiB,EAAC,CAAC;EAEvC,oBACElB,MAAA,CAAAW,OAAA,CAAAQ,aAAA,CAACd,cAAA,CAAAe,kBAAkB;IAACP,OAAO,EAAEA,OAAQ;IAACC,KAAK,EAAE,CAACO,MAAM,CAACC,MAAM,EAAER,KAAK,CAAE;IAACE,MAAM,EAAEA;EAAO,gBAClFhB,MAAA,CAAAW,OAAA,CAAAQ,aAAA,CAAChB,YAAA,CAAAoB,IAAI;IAACT,KAAK,EAAE,CAACO,MAAM,CAACG,SAAS,EAAE;MAAEC,eAAe,EAAER,WAAW,CAACS;IAAM,CAAC;EAAE,gBACtE1B,MAAA,CAAAW,OAAA,CAAAQ,aAAA,CAACb,MAAA,CAAAqB,QAAQ;IAACC,KAAK,EAAEX,WAAW,CAACY;EAAK,CAAE,CAAC,EACpCd,KAAK,iBACJf,MAAA,CAAAW,OAAA,CAAAQ,aAAA,CAACZ,KAAA,CAAAuB,UAAU;IAACd,MAAM,EAAE,IAAAe,mBAAY,EAACf,MAAM,EAAE,OAAO,CAAE;IAACY,KAAK,EAAEX,WAAW,CAACY,IAAK;IAACG,MAAM,EAAC;EAAG,GACnFjB,KACS,CAEV,CACY,CAAC;AAEzB,CAAC;AAED,MAAMM,MAAM,GAAGY,uBAAU,CAACC,MAAM,CAAC;EAC/BZ,MAAM,EAAE;IACNa,YAAY,EAAE,CAAC;IACfC,QAAQ,EAAE;EACZ,CAAC;EACDZ,SAAS,EAAE;IACTa,UAAU,EAAE,QAAQ;IACpBC,aAAa,EAAE,KAAK;IACpBC,GAAG,EAAE,CAAC;IACNC,MAAM,EAAE,EAAE;IACVC,WAAW,EAAE,CAAC;IACdC,YAAY,EAAE,CAAC;IACfC,eAAe,EAAE;EACnB;AACF,CAAC,CAAC;AAAC,IAAAC,QAAA,GAAAC,OAAA,CAAAlC,OAAA,GAEYC,WAAW","ignoreList":[]}
@@ -4,9 +4,11 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
+ var _native = require("@react-navigation/native");
7
8
  var _react = _interopRequireWildcard(require("react"));
8
9
  var _reactNative = require("react-native");
9
10
  var _reactNativeVisionCamera = require("react-native-vision-camera");
11
+ var _utils = require("../../utils");
10
12
  var _cameraOverlay = _interopRequireDefault(require("./camera-overlay"));
11
13
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
12
14
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
@@ -18,6 +20,8 @@ const QRCodeScanner = ({
18
20
  noCameraView = null,
19
21
  ...viewProps
20
22
  }) => {
23
+ const isFocused = (0, _native.useIsFocused)();
24
+ const isAppActive = (0, _utils.useIsAppActive)();
21
25
  const qrCodeScanner = (0, _reactNativeVisionCamera.useCodeScanner)({
22
26
  codeTypes,
23
27
  onCodeScanned: onQRCodeRead
@@ -40,7 +44,7 @@ const QRCodeScanner = ({
40
44
  return /*#__PURE__*/_react.default.createElement(_reactNative.View, viewProps, /*#__PURE__*/_react.default.createElement(_reactNativeVisionCamera.Camera, {
41
45
  codeScanner: qrCodeScanner,
42
46
  device: device,
43
- isActive: true,
47
+ isActive: isFocused && isAppActive !== false,
44
48
  style: _reactNative.StyleSheet.absoluteFill
45
49
  }), cameraOverlayView);
46
50
  };
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_reactNativeVisionCamera","_cameraOverlay","_interopRequireDefault","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","QRCodeScanner","cameraOverlay","codeTypes","onQRCodeRead","noCameraView","viewProps","qrCodeScanner","useCodeScanner","onCodeScanned","device","useCameraDevice","cameraOverlayView","useMemo","createElement","React","isValidElement","CameraOverlayComponent","View","Camera","codeScanner","isActive","style","StyleSheet","absoluteFill","_default","exports"],"sources":["qr-code-scanner.tsx"],"sourcesContent":["import React, { FunctionComponent, useMemo } from 'react';\nimport { StyleSheet, View, ViewProps } from 'react-native';\nimport { Camera, Code, CodeType, useCameraDevice, useCodeScanner } from 'react-native-vision-camera';\n\nimport CameraOverlay from './camera-overlay';\n\nexport type QRCodeScannerProps = ViewProps & {\n cameraOverlay?: React.ComponentType<any> | React.ReactElement;\n codeTypes?: CodeType[];\n noCameraView?: JSX.Element;\n onQRCodeRead: (code: Code[]) => void;\n};\n\nconst QRCodeScanner: FunctionComponent<QRCodeScannerProps> = ({\n cameraOverlay,\n codeTypes = ['qr'],\n onQRCodeRead,\n noCameraView = null,\n ...viewProps\n}) => {\n const qrCodeScanner = useCodeScanner({\n codeTypes,\n onCodeScanned: onQRCodeRead,\n });\n\n const device = useCameraDevice('back');\n\n const cameraOverlayView: React.ReactElement | undefined = useMemo(() => {\n if (!cameraOverlay) {\n return <CameraOverlay />;\n }\n if (React.isValidElement(cameraOverlay)) {\n return cameraOverlay;\n } else {\n const CameraOverlayComponent = cameraOverlay as React.ComponentType<any>;\n return <CameraOverlayComponent />;\n }\n }, [cameraOverlay]);\n\n if (!device) {\n return noCameraView;\n }\n\n return (\n <View {...viewProps}>\n <Camera codeScanner={qrCodeScanner} device={device} isActive={true} style={StyleSheet.absoluteFill} />\n {cameraOverlayView}\n </View>\n );\n};\n\nexport default QRCodeScanner;\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,wBAAA,GAAAF,OAAA;AAEA,IAAAG,cAAA,GAAAC,sBAAA,CAAAJ,OAAA;AAA6C,SAAAI,uBAAAC,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAAA,SAAAG,yBAAAH,CAAA,6BAAAI,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAD,wBAAA,YAAAA,CAAAH,CAAA,WAAAA,CAAA,GAAAM,CAAA,GAAAD,CAAA,KAAAL,CAAA;AAAA,SAAAN,wBAAAM,CAAA,EAAAK,CAAA,SAAAA,CAAA,IAAAL,CAAA,IAAAA,CAAA,CAAAC,UAAA,SAAAD,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAE,OAAA,EAAAF,CAAA,QAAAM,CAAA,GAAAH,wBAAA,CAAAE,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAC,GAAA,CAAAP,CAAA,UAAAM,CAAA,CAAAE,GAAA,CAAAR,CAAA,OAAAS,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAf,CAAA,oBAAAe,CAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAjB,CAAA,EAAAe,CAAA,SAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAd,CAAA,EAAAe,CAAA,UAAAG,CAAA,KAAAA,CAAA,CAAAV,GAAA,IAAAU,CAAA,CAAAC,GAAA,IAAAP,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAG,CAAA,IAAAT,CAAA,CAAAM,CAAA,IAAAf,CAAA,CAAAe,CAAA,YAAAN,CAAA,CAAAP,OAAA,GAAAF,CAAA,EAAAM,CAAA,IAAAA,CAAA,CAAAa,GAAA,CAAAnB,CAAA,EAAAS,CAAA,GAAAA,CAAA;AAS7C,MAAMW,aAAoD,GAAGA,CAAC;EAC5DC,aAAa;EACbC,SAAS,GAAG,CAAC,IAAI,CAAC;EAClBC,YAAY;EACZC,YAAY,GAAG,IAAI;EACnB,GAAGC;AACL,CAAC,KAAK;EACJ,MAAMC,aAAa,GAAG,IAAAC,uCAAc,EAAC;IACnCL,SAAS;IACTM,aAAa,EAAEL;EACjB,CAAC,CAAC;EAEF,MAAMM,MAAM,GAAG,IAAAC,wCAAe,EAAC,MAAM,CAAC;EAEtC,MAAMC,iBAAiD,GAAG,IAAAC,cAAO,EAAC,MAAM;IACtE,IAAI,CAACX,aAAa,EAAE;MAClB,oBAAO5B,MAAA,CAAAS,OAAA,CAAA+B,aAAA,CAACnC,cAAA,CAAAI,OAAa,MAAE,CAAC;IAC1B;IACA,iBAAIgC,cAAK,CAACC,cAAc,CAACd,aAAa,CAAC,EAAE;MACvC,OAAOA,aAAa;IACtB,CAAC,MAAM;MACL,MAAMe,sBAAsB,GAAGf,aAAyC;MACxE,oBAAO5B,MAAA,CAAAS,OAAA,CAAA+B,aAAA,CAACG,sBAAsB,MAAE,CAAC;IACnC;EACF,CAAC,EAAE,CAACf,aAAa,CAAC,CAAC;EAEnB,IAAI,CAACQ,MAAM,EAAE;IACX,OAAOL,YAAY;EACrB;EAEA,oBACE/B,MAAA,CAAAS,OAAA,CAAA+B,aAAA,CAACrC,YAAA,CAAAyC,IAAI,EAAKZ,SAAS,eACjBhC,MAAA,CAAAS,OAAA,CAAA+B,aAAA,CAACpC,wBAAA,CAAAyC,MAAM;IAACC,WAAW,EAAEb,aAAc;IAACG,MAAM,EAAEA,MAAO;IAACW,QAAQ,EAAE,IAAK;IAACC,KAAK,EAAEC,uBAAU,CAACC;EAAa,CAAE,CAAC,EACrGZ,iBACG,CAAC;AAEX,CAAC;AAAC,IAAAa,QAAA,GAAAC,OAAA,CAAA3C,OAAA,GAEakB,aAAa","ignoreList":[]}
1
+ {"version":3,"names":["_native","require","_react","_interopRequireWildcard","_reactNative","_reactNativeVisionCamera","_utils","_cameraOverlay","_interopRequireDefault","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","QRCodeScanner","cameraOverlay","codeTypes","onQRCodeRead","noCameraView","viewProps","isFocused","useIsFocused","isAppActive","useIsAppActive","qrCodeScanner","useCodeScanner","onCodeScanned","device","useCameraDevice","cameraOverlayView","useMemo","createElement","React","isValidElement","CameraOverlayComponent","View","Camera","codeScanner","isActive","style","StyleSheet","absoluteFill","_default","exports"],"sources":["qr-code-scanner.tsx"],"sourcesContent":["import { useIsFocused } from '@react-navigation/native';\nimport React, { FunctionComponent, useMemo } from 'react';\nimport { StyleSheet, View, ViewProps } from 'react-native';\nimport { Camera, Code, CodeType, useCameraDevice, useCodeScanner } from 'react-native-vision-camera';\n\nimport { useIsAppActive } from '../../utils';\nimport CameraOverlay from './camera-overlay';\n\nexport type QRCodeScannerProps = ViewProps & {\n cameraOverlay?: React.ComponentType<any> | React.ReactElement;\n codeTypes?: CodeType[];\n noCameraView?: JSX.Element;\n onQRCodeRead: (code: Code[]) => void;\n};\n\nconst QRCodeScanner: FunctionComponent<QRCodeScannerProps> = ({\n cameraOverlay,\n codeTypes = ['qr'],\n onQRCodeRead,\n noCameraView = null,\n ...viewProps\n}) => {\n const isFocused = useIsFocused();\n const isAppActive = useIsAppActive();\n const qrCodeScanner = useCodeScanner({\n codeTypes,\n onCodeScanned: onQRCodeRead,\n });\n\n const device = useCameraDevice('back');\n\n const cameraOverlayView = useMemo(() => {\n if (!cameraOverlay) {\n return <CameraOverlay />;\n }\n if (React.isValidElement(cameraOverlay)) {\n return cameraOverlay;\n } else {\n const CameraOverlayComponent = cameraOverlay as React.ComponentType<any>;\n return <CameraOverlayComponent />;\n }\n }, [cameraOverlay]);\n\n if (!device) {\n return noCameraView;\n }\n\n return (\n <View {...viewProps}>\n <Camera\n codeScanner={qrCodeScanner}\n device={device}\n isActive={isFocused && isAppActive !== false}\n style={StyleSheet.absoluteFill}\n />\n {cameraOverlayView}\n </View>\n );\n};\n\nexport default QRCodeScanner;\n"],"mappings":"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","ignoreList":[]}
@@ -20,43 +20,12 @@ const CredentialDetailsCardListItem = ({
20
20
  style,
21
21
  ...props
22
22
  }) => {
23
- const [cardWidth, setCardWidth] = (0, _react.useState)();
24
- const [minHeight, setMinHeight] = (0, _react.useState)();
25
23
  const [detailsCardHeight, setDetailsCardHeight] = (0, _react.useState)();
26
- const cardListItemHeight = (0, _reactNativeReanimated.useSharedValue)(undefined);
27
- (0, _react.useEffect)(() => {
28
- if (!detailsCardHeight || !minHeight) {
29
- return;
30
- }
31
- const newValue = expanded ? detailsCardHeight : minHeight;
32
- if (cardListItemHeight.value === undefined) {
33
- cardListItemHeight.value = newValue;
34
- return;
35
- }
36
- cardListItemHeight.value = (0, _reactNativeReanimated.withTiming)(newValue, {
37
- duration: 250
38
- });
39
- }, [cardListItemHeight, detailsCardHeight, minHeight, expanded]);
40
- const animatedCardWrapperStyle = (0, _reactNativeReanimated.useAnimatedStyle)(() => {
41
- if (cardListItemHeight.value !== undefined) {
42
- return {
43
- height: cardListItemHeight.value
44
- };
45
- }
46
- if (lastItem || expanded) {
47
- return {};
48
- }
49
- return {
50
- height: 60
51
- };
52
- }, [cardListItemHeight, lastItem, expanded]);
53
- const cardWrapperStyle = {
54
- minHeight: cardWidth ? Math.ceil(cardWidth / _credentialCard.CredentialCardRatio) : undefined
55
- };
24
+ const cardWidth = props.card.width;
25
+ const minHeight = lastItem ? Math.ceil(cardWidth / _credentialCard.CredentialCardRatio) : 60;
56
26
  const onContentLayout = (0, _react.useCallback)(event => {
57
27
  var _StyleSheet$flatten$b, _StyleSheet$flatten;
58
28
  const {
59
- width,
60
29
  height
61
30
  } = event.nativeEvent.layout;
62
31
  const borderWidth = (_StyleSheet$flatten$b = (_StyleSheet$flatten = _reactNative.StyleSheet.flatten(style)) === null || _StyleSheet$flatten === void 0 ? void 0 : _StyleSheet$flatten.borderWidth) !== null && _StyleSheet$flatten$b !== void 0 ? _StyleSheet$flatten$b : 0;
@@ -64,16 +33,22 @@ const CredentialDetailsCardListItem = ({
64
33
  if (cardHeight === detailsCardHeight) {
65
34
  return;
66
35
  }
67
- setCardWidth(width);
68
- if (!minHeight) {
69
- setMinHeight(lastItem ? Math.ceil(width / _credentialCard.CredentialCardRatio) : 60);
70
- }
71
36
  setDetailsCardHeight(cardHeight);
72
- }, [lastItem, minHeight, style, detailsCardHeight]);
37
+ }, [style, detailsCardHeight]);
73
38
  return /*#__PURE__*/_react.default.createElement(_reactNativeReanimated.default.View, {
74
- style: [styles.animatedWrapper, animatedCardWrapperStyle, style]
75
- }, /*#__PURE__*/_react.default.createElement(_reactNative.View, {
76
- style: [styles.cardWrapper, cardWrapperStyle]
39
+ layout: _reactNativeReanimated.LinearTransition,
40
+ style: [styles.animatedWrapper,
41
+ // eslint-disable-next-line react-native/no-inline-styles
42
+ {
43
+ height: expanded ? 'auto' : minHeight
44
+ }, style]
45
+ }, /*#__PURE__*/_react.default.createElement(_reactNativeReanimated.default.View, {
46
+ layout: _reactNativeReanimated.LinearTransition,
47
+ style: [styles.cardWrapper,
48
+ // eslint-disable-next-line react-native/no-inline-styles
49
+ {
50
+ height: expanded ? 'auto' : Math.ceil(cardWidth / _credentialCard.CredentialCardRatio)
51
+ }]
77
52
  }, /*#__PURE__*/_react.default.createElement(_credentialDetailsCard.default, _extends({
78
53
  animate: false,
79
54
  expanded: true,
@@ -87,7 +62,6 @@ const styles = _reactNative.StyleSheet.create({
87
62
  },
88
63
  cardWrapper: {
89
64
  borderRadius: 10,
90
- height: '100%',
91
65
  overflow: 'hidden'
92
66
  }
93
67
  });
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_reactNativeReanimated","_credentialCard","_credentialDetailsCard","_interopRequireDefault","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","_extends","assign","bind","arguments","length","apply","CredentialDetailsCardListItem","detailsCardStyle","expanded","lastItem","style","props","cardWidth","setCardWidth","useState","minHeight","setMinHeight","detailsCardHeight","setDetailsCardHeight","cardListItemHeight","useSharedValue","undefined","useEffect","newValue","value","withTiming","duration","animatedCardWrapperStyle","useAnimatedStyle","height","cardWrapperStyle","Math","ceil","CredentialCardRatio","onContentLayout","useCallback","event","_StyleSheet$flatten$b","_StyleSheet$flatten","width","nativeEvent","layout","borderWidth","StyleSheet","flatten","cardHeight","round","createElement","View","styles","animatedWrapper","cardWrapper","animate","onLayout","create","CredentialCardShadow","borderRadius","overflow","_default","exports"],"sources":["credential-details-list-item.tsx"],"sourcesContent":["import React, { FC, useCallback, useEffect, useState } from 'react';\nimport { LayoutChangeEvent, StyleProp, StyleSheet, View, ViewStyle } from 'react-native';\nimport Animated, { useAnimatedStyle, useSharedValue, withTiming } from 'react-native-reanimated';\n\nimport { CredentialCardRatio, CredentialCardShadow } from './credential-card';\nimport CredentialDetailsCard, { CredentialDetailsCardProps } from './credential-details-card';\n\nexport type CredentialDetailsCardListItemProps = Omit<CredentialDetailsCardProps, 'animate'> & {\n detailsCardStyle?: StyleProp<ViewStyle>;\n lastItem?: boolean;\n};\n\nconst CredentialDetailsCardListItem: FC<CredentialDetailsCardListItemProps> = ({\n detailsCardStyle,\n expanded,\n lastItem,\n style,\n ...props\n}) => {\n const [cardWidth, setCardWidth] = useState<number>();\n const [minHeight, setMinHeight] = useState<number>();\n const [detailsCardHeight, setDetailsCardHeight] = useState<number>();\n\n const cardListItemHeight = useSharedValue<number | undefined>(undefined);\n\n useEffect(() => {\n if (!detailsCardHeight || !minHeight) {\n return;\n }\n const newValue = expanded ? detailsCardHeight : minHeight;\n if (cardListItemHeight.value === undefined) {\n cardListItemHeight.value = newValue;\n return;\n }\n cardListItemHeight.value = withTiming(newValue, {\n duration: 250,\n });\n }, [cardListItemHeight, detailsCardHeight, minHeight, expanded]);\n\n const animatedCardWrapperStyle = useAnimatedStyle(() => {\n if (cardListItemHeight.value !== undefined) {\n return {\n height: cardListItemHeight.value,\n };\n }\n if (lastItem || expanded) {\n return {};\n }\n return {\n height: 60,\n };\n }, [cardListItemHeight, lastItem, expanded]);\n\n const cardWrapperStyle: ViewStyle = {\n minHeight: cardWidth ? Math.ceil(cardWidth / CredentialCardRatio) : undefined,\n }\n\n const onContentLayout = useCallback(\n (event: LayoutChangeEvent) => {\n const { width, height } = event.nativeEvent.layout;\n const borderWidth = StyleSheet.flatten(style)?.borderWidth ?? 0;\n const cardHeight = Math.round(height) + 2 * borderWidth;\n if (cardHeight === detailsCardHeight) {\n return;\n }\n setCardWidth(width);\n if (!minHeight) {\n setMinHeight(lastItem ? Math.ceil(width / CredentialCardRatio) : 60);\n }\n setDetailsCardHeight(cardHeight);\n },\n [lastItem, minHeight, style, detailsCardHeight],\n );\n\n return (\n <Animated.View style={[styles.animatedWrapper, animatedCardWrapperStyle, style]}>\n <View style={[styles.cardWrapper, cardWrapperStyle]}>\n <CredentialDetailsCard\n animate={false}\n expanded={true}\n onLayout={onContentLayout}\n style={detailsCardStyle}\n {...props}\n />\n </View>\n </Animated.View>\n );\n};\n\nconst styles = StyleSheet.create({\n animatedWrapper: {\n ...CredentialCardShadow,\n },\n cardWrapper: {\n borderRadius: 10,\n height: '100%',\n overflow: 'hidden',\n },\n});\n\nexport default CredentialDetailsCardListItem;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_reactNativeReanimated","_credentialCard","_credentialDetailsCard","_interopRequireDefault","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","_extends","assign","bind","arguments","length","apply","CredentialDetailsCardListItem","detailsCardStyle","expanded","lastItem","style","props","detailsCardHeight","setDetailsCardHeight","useState","cardWidth","card","width","minHeight","Math","ceil","CredentialCardRatio","onContentLayout","useCallback","event","_StyleSheet$flatten$b","_StyleSheet$flatten","height","nativeEvent","layout","borderWidth","StyleSheet","flatten","cardHeight","round","createElement","View","LinearTransition","styles","animatedWrapper","cardWrapper","animate","onLayout","create","CredentialCardShadow","borderRadius","overflow","_default","exports"],"sources":["credential-details-list-item.tsx"],"sourcesContent":["import React, { FC, useCallback, useState } from 'react';\nimport { LayoutChangeEvent, StyleProp, StyleSheet, ViewStyle } from 'react-native';\nimport Animated, { LinearTransition } from 'react-native-reanimated';\n\nimport { CredentialCardRatio, CredentialCardShadow } from './credential-card';\nimport CredentialDetailsCard, { CredentialDetailsCardProps } from './credential-details-card';\n\nexport type CredentialDetailsCardListItemProps = Omit<CredentialDetailsCardProps, 'animate'> & {\n detailsCardStyle?: StyleProp<ViewStyle>;\n lastItem?: boolean;\n};\n\nconst CredentialDetailsCardListItem: FC<CredentialDetailsCardListItemProps> = ({\n detailsCardStyle,\n expanded,\n lastItem,\n style,\n ...props\n}) => {\n const [detailsCardHeight, setDetailsCardHeight] = useState<number>();\n const cardWidth = props.card.width;\n const minHeight = lastItem ? Math.ceil(cardWidth / CredentialCardRatio) : 60;\n\n const onContentLayout = useCallback(\n (event: LayoutChangeEvent) => {\n const { height } = event.nativeEvent.layout;\n const borderWidth = StyleSheet.flatten(style)?.borderWidth ?? 0;\n const cardHeight = Math.round(height) + 2 * borderWidth;\n if (cardHeight === detailsCardHeight) {\n return;\n }\n setDetailsCardHeight(cardHeight);\n },\n [style, detailsCardHeight],\n );\n\n return (\n <Animated.View\n layout={LinearTransition}\n style={[\n styles.animatedWrapper,\n // eslint-disable-next-line react-native/no-inline-styles\n {\n height: expanded ? 'auto' : minHeight,\n },\n style,\n ]}>\n <Animated.View\n layout={LinearTransition}\n style={[\n styles.cardWrapper,\n // eslint-disable-next-line react-native/no-inline-styles\n {\n height: expanded ? 'auto' : Math.ceil(cardWidth / CredentialCardRatio),\n },\n ]}>\n <CredentialDetailsCard\n animate={false}\n expanded={true}\n onLayout={onContentLayout}\n style={detailsCardStyle}\n {...props}\n />\n </Animated.View>\n </Animated.View>\n );\n};\n\nconst styles = StyleSheet.create({\n animatedWrapper: {\n ...CredentialCardShadow,\n },\n cardWrapper: {\n borderRadius: 10,\n overflow: 'hidden',\n },\n});\n\nexport default CredentialDetailsCardListItem;\n"],"mappings":"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","ignoreList":[]}
@@ -263,7 +263,9 @@ const styles = _reactNative.StyleSheet.create({
263
263
  paddingLeft: 12
264
264
  },
265
265
  rightAccessory: {
266
- paddingHorizontal: 8
266
+ paddingHorizontal: 8,
267
+ position: 'absolute',
268
+ right: 0
267
269
  },
268
270
  separator: {
269
271
  height: 1,