@procivis/one-react-native-components 0.3.22 → 0.3.47

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 (234) hide show
  1. package/lib/commonjs/components/entity/entity-attributes.js +15 -2
  2. package/lib/commonjs/components/entity/entity-attributes.js.map +1 -1
  3. package/lib/commonjs/components/entity/entity-details-with-buttons.js +14 -38
  4. package/lib/commonjs/components/entity/entity-details-with-buttons.js.map +1 -1
  5. package/lib/commonjs/components/entity/entity-details.js +63 -34
  6. package/lib/commonjs/components/entity/entity-details.js.map +1 -1
  7. package/lib/commonjs/components/entity/index.js +2 -15
  8. package/lib/commonjs/components/entity/index.js.map +1 -1
  9. package/lib/commonjs/components/history/history-list-item-icon.js +4 -1
  10. package/lib/commonjs/components/history/history-list-item-icon.js.map +1 -1
  11. package/lib/commonjs/components/history/history-list-item.js +15 -3
  12. package/lib/commonjs/components/history/history-list-item.js.map +1 -1
  13. package/lib/commonjs/components/history/history-list-screen.js +2 -0
  14. package/lib/commonjs/components/history/history-list-screen.js.map +1 -1
  15. package/lib/commonjs/components/proof-request/share-credential.js +2 -2
  16. package/lib/commonjs/components/proof-request/share-credential.js.map +1 -1
  17. package/lib/commonjs/ui-components/blur/index.js +2 -9
  18. package/lib/commonjs/ui-components/blur/index.js.map +1 -1
  19. package/lib/commonjs/ui-components/buttons/hold-button.js +3 -2
  20. package/lib/commonjs/ui-components/buttons/hold-button.js.map +1 -1
  21. package/lib/commonjs/ui-components/camera/index.js +2 -9
  22. package/lib/commonjs/ui-components/camera/index.js.map +1 -1
  23. package/lib/commonjs/ui-components/control/index.js +0 -12
  24. package/lib/commonjs/ui-components/control/index.js.map +1 -1
  25. package/lib/commonjs/ui-components/credential/card/credential-details-card.js +1 -1
  26. package/lib/commonjs/ui-components/credential/card/credential-details-card.js.map +1 -1
  27. package/lib/commonjs/ui-components/credential/credential-carousel-images.js +15 -8
  28. package/lib/commonjs/ui-components/credential/credential-carousel-images.js.map +1 -1
  29. package/lib/commonjs/ui-components/entity/entity-cluster.js +51 -3
  30. package/lib/commonjs/ui-components/entity/entity-cluster.js.map +1 -1
  31. package/lib/commonjs/ui-components/entity/index.js +3 -16
  32. package/lib/commonjs/ui-components/entity/index.js.map +1 -1
  33. package/lib/commonjs/ui-components/history/history-details.js +1 -1
  34. package/lib/commonjs/ui-components/history/history-details.js.map +1 -1
  35. package/lib/commonjs/ui-components/history/index.js +4 -27
  36. package/lib/commonjs/ui-components/history/index.js.map +1 -1
  37. package/lib/commonjs/ui-components/icons/entity.js +26 -1
  38. package/lib/commonjs/ui-components/icons/entity.js.map +1 -1
  39. package/lib/commonjs/ui-components/icons/history.js +3 -1
  40. package/lib/commonjs/ui-components/icons/history.js.map +1 -1
  41. package/lib/commonjs/ui-components/input/index.js +3 -32
  42. package/lib/commonjs/ui-components/input/index.js.map +1 -1
  43. package/lib/commonjs/ui-components/list/index.js +4 -19
  44. package/lib/commonjs/ui-components/list/index.js.map +1 -1
  45. package/lib/commonjs/ui-components/loader/index.js +2 -13
  46. package/lib/commonjs/ui-components/loader/index.js.map +1 -1
  47. package/lib/commonjs/ui-components/pin/index.js +2 -21
  48. package/lib/commonjs/ui-components/pin/index.js.map +1 -1
  49. package/lib/commonjs/ui-components/screens/nerd-mode-screen.js +1 -1
  50. package/lib/commonjs/ui-components/screens/nerd-mode-screen.js.map +1 -1
  51. package/lib/commonjs/ui-components/searchbar/index.js +3 -16
  52. package/lib/commonjs/ui-components/searchbar/index.js.map +1 -1
  53. package/lib/commonjs/ui-components/settings/index.js +6 -37
  54. package/lib/commonjs/ui-components/settings/index.js.map +1 -1
  55. package/lib/commonjs/ui-components/state/index.js +2 -15
  56. package/lib/commonjs/ui-components/state/index.js.map +1 -1
  57. package/lib/commonjs/utils/date.js +1 -1
  58. package/lib/commonjs/utils/date.js.map +1 -1
  59. package/lib/commonjs/utils/hooks/connectivity/connectivity.test.js +4 -0
  60. package/lib/commonjs/utils/hooks/connectivity/connectivity.test.js.map +1 -1
  61. package/lib/commonjs/utils/hooks/core/backup.js +22 -66
  62. package/lib/commonjs/utils/hooks/core/backup.js.map +1 -1
  63. package/lib/commonjs/utils/hooks/core/core-init.js +33 -25
  64. package/lib/commonjs/utils/hooks/core/core-init.js.map +1 -1
  65. package/lib/commonjs/utils/hooks/core/credentials.js +2 -1
  66. package/lib/commonjs/utils/hooks/core/credentials.js.map +1 -1
  67. package/lib/commonjs/utils/hooks/core/identifiers.js +42 -0
  68. package/lib/commonjs/utils/hooks/core/identifiers.js.map +1 -0
  69. package/lib/commonjs/utils/hooks/core/index.js +11 -0
  70. package/lib/commonjs/utils/hooks/core/index.js.map +1 -1
  71. package/lib/commonjs/utils/hooks/core/proofs.js +26 -15
  72. package/lib/commonjs/utils/hooks/core/proofs.js.map +1 -1
  73. package/lib/commonjs/utils/hooks/core/trust-entity.js +60 -13
  74. package/lib/commonjs/utils/hooks/core/trust-entity.js.map +1 -1
  75. package/lib/commonjs/utils/parsers/credential-sharing.js +9 -15
  76. package/lib/commonjs/utils/parsers/credential-sharing.js.map +1 -1
  77. package/lib/commonjs/utils/parsers/credential.js +7 -0
  78. package/lib/commonjs/utils/parsers/credential.js.map +1 -1
  79. package/lib/commonjs/utils/parsers/query.js +22 -4
  80. package/lib/commonjs/utils/parsers/query.js.map +1 -1
  81. package/lib/module/components/entity/entity-attributes.js +16 -3
  82. package/lib/module/components/entity/entity-attributes.js.map +1 -1
  83. package/lib/module/components/entity/entity-details-with-buttons.js +16 -40
  84. package/lib/module/components/entity/entity-details-with-buttons.js.map +1 -1
  85. package/lib/module/components/entity/entity-details.js +65 -36
  86. package/lib/module/components/entity/entity-details.js.map +1 -1
  87. package/lib/module/components/entity/index.js +2 -2
  88. package/lib/module/components/entity/index.js.map +1 -1
  89. package/lib/module/components/history/history-list-item-icon.js +5 -2
  90. package/lib/module/components/history/history-list-item-icon.js.map +1 -1
  91. package/lib/module/components/history/history-list-item.js +16 -4
  92. package/lib/module/components/history/history-list-item.js.map +1 -1
  93. package/lib/module/components/history/history-list-screen.js +2 -0
  94. package/lib/module/components/history/history-list-screen.js.map +1 -1
  95. package/lib/module/components/proof-request/share-credential.js +2 -2
  96. package/lib/module/components/proof-request/share-credential.js.map +1 -1
  97. package/lib/module/ui-components/blur/index.js +2 -2
  98. package/lib/module/ui-components/blur/index.js.map +1 -1
  99. package/lib/module/ui-components/buttons/hold-button.js +4 -3
  100. package/lib/module/ui-components/buttons/hold-button.js.map +1 -1
  101. package/lib/module/ui-components/camera/index.js +2 -2
  102. package/lib/module/ui-components/camera/index.js.map +1 -1
  103. package/lib/module/ui-components/control/index.js +3 -3
  104. package/lib/module/ui-components/control/index.js.map +1 -1
  105. package/lib/module/ui-components/credential/card/credential-details-card.js +1 -1
  106. package/lib/module/ui-components/credential/card/credential-details-card.js.map +1 -1
  107. package/lib/module/ui-components/credential/credential-carousel-images.js +15 -8
  108. package/lib/module/ui-components/credential/credential-carousel-images.js.map +1 -1
  109. package/lib/module/ui-components/entity/entity-cluster.js +52 -4
  110. package/lib/module/ui-components/entity/entity-cluster.js.map +1 -1
  111. package/lib/module/ui-components/entity/index.js +4 -4
  112. package/lib/module/ui-components/entity/index.js.map +1 -1
  113. package/lib/module/ui-components/history/history-details.js +1 -1
  114. package/lib/module/ui-components/history/history-details.js.map +1 -1
  115. package/lib/module/ui-components/history/index.js +6 -6
  116. package/lib/module/ui-components/history/index.js.map +1 -1
  117. package/lib/module/ui-components/icons/entity.js +24 -0
  118. package/lib/module/ui-components/icons/entity.js.map +1 -1
  119. package/lib/module/ui-components/icons/history.js +2 -0
  120. package/lib/module/ui-components/icons/history.js.map +1 -1
  121. package/lib/module/ui-components/input/index.js +6 -6
  122. package/lib/module/ui-components/input/index.js.map +1 -1
  123. package/lib/module/ui-components/list/index.js +4 -4
  124. package/lib/module/ui-components/list/index.js.map +1 -1
  125. package/lib/module/ui-components/loader/index.js +4 -4
  126. package/lib/module/ui-components/loader/index.js.map +1 -1
  127. package/lib/module/ui-components/pin/index.js +3 -3
  128. package/lib/module/ui-components/pin/index.js.map +1 -1
  129. package/lib/module/ui-components/screens/nerd-mode-screen.js +1 -1
  130. package/lib/module/ui-components/screens/nerd-mode-screen.js.map +1 -1
  131. package/lib/module/ui-components/searchbar/index.js +4 -4
  132. package/lib/module/ui-components/searchbar/index.js.map +1 -1
  133. package/lib/module/ui-components/settings/index.js +10 -10
  134. package/lib/module/ui-components/settings/index.js.map +1 -1
  135. package/lib/module/ui-components/state/index.js +2 -2
  136. package/lib/module/ui-components/state/index.js.map +1 -1
  137. package/lib/module/utils/date.js +1 -1
  138. package/lib/module/utils/date.js.map +1 -1
  139. package/lib/module/utils/hooks/connectivity/connectivity.test.js +4 -0
  140. package/lib/module/utils/hooks/connectivity/connectivity.test.js.map +1 -1
  141. package/lib/module/utils/hooks/core/backup.js +24 -68
  142. package/lib/module/utils/hooks/core/backup.js.map +1 -1
  143. package/lib/module/utils/hooks/core/core-init.js +30 -24
  144. package/lib/module/utils/hooks/core/core-init.js.map +1 -1
  145. package/lib/module/utils/hooks/core/credentials.js +2 -1
  146. package/lib/module/utils/hooks/core/credentials.js.map +1 -1
  147. package/lib/module/utils/hooks/core/identifiers.js +34 -0
  148. package/lib/module/utils/hooks/core/identifiers.js.map +1 -0
  149. package/lib/module/utils/hooks/core/index.js +1 -0
  150. package/lib/module/utils/hooks/core/index.js.map +1 -1
  151. package/lib/module/utils/hooks/core/proofs.js +26 -15
  152. package/lib/module/utils/hooks/core/proofs.js.map +1 -1
  153. package/lib/module/utils/hooks/core/trust-entity.js +60 -13
  154. package/lib/module/utils/hooks/core/trust-entity.js.map +1 -1
  155. package/lib/module/utils/parsers/credential-sharing.js +9 -15
  156. package/lib/module/utils/parsers/credential-sharing.js.map +1 -1
  157. package/lib/module/utils/parsers/credential.js +7 -0
  158. package/lib/module/utils/parsers/credential.js.map +1 -1
  159. package/lib/module/utils/parsers/query.js +20 -3
  160. package/lib/module/utils/parsers/query.js.map +1 -1
  161. package/lib/typescript/components/entity/entity-attributes.d.ts +1 -0
  162. package/lib/typescript/components/entity/entity-details-with-buttons.d.ts +2 -2
  163. package/lib/typescript/components/entity/entity-details.d.ts +4 -2
  164. package/lib/typescript/components/entity/index.d.ts +2 -1
  165. package/lib/typescript/components/history/history-list-item.d.ts +1 -0
  166. package/lib/typescript/components/history/history-list-screen.d.ts +2 -0
  167. package/lib/typescript/ui-components/blur/index.d.ts +2 -1
  168. package/lib/typescript/ui-components/buttons/hold-button.d.ts +2 -2
  169. package/lib/typescript/ui-components/camera/index.d.ts +2 -1
  170. package/lib/typescript/ui-components/control/index.d.ts +4 -2
  171. package/lib/typescript/ui-components/credential/credential-carousel-images.d.ts +1 -0
  172. package/lib/typescript/ui-components/entity/entity-cluster.d.ts +1 -0
  173. package/lib/typescript/ui-components/entity/index.d.ts +4 -2
  174. package/lib/typescript/ui-components/history/history-details.d.ts +4 -1
  175. package/lib/typescript/ui-components/history/index.d.ts +6 -3
  176. package/lib/typescript/ui-components/icons/entity.d.ts +1 -0
  177. package/lib/typescript/ui-components/icons/history.d.ts +2 -0
  178. package/lib/typescript/ui-components/input/index.d.ts +6 -3
  179. package/lib/typescript/ui-components/list/index.d.ts +4 -2
  180. package/lib/typescript/ui-components/loader/index.d.ts +4 -2
  181. package/lib/typescript/ui-components/pin/index.d.ts +4 -2
  182. package/lib/typescript/ui-components/screens/nerd-mode-screen.d.ts +4 -4
  183. package/lib/typescript/ui-components/searchbar/index.d.ts +4 -2
  184. package/lib/typescript/ui-components/settings/index.d.ts +10 -5
  185. package/lib/typescript/ui-components/state/index.d.ts +2 -1
  186. package/lib/typescript/utils/hooks/core/backup.d.ts +5 -0
  187. package/lib/typescript/utils/hooks/core/core-init.d.ts +4 -1
  188. package/lib/typescript/utils/hooks/core/credentials.d.ts +2 -1
  189. package/lib/typescript/utils/hooks/core/identifiers.d.ts +5 -0
  190. package/lib/typescript/utils/hooks/core/index.d.ts +1 -0
  191. package/lib/typescript/utils/hooks/core/proofs.d.ts +3 -1
  192. package/lib/typescript/utils/hooks/core/trust-entity.d.ts +10 -4
  193. package/lib/typescript/utils/parsers/query.d.ts +3 -2
  194. package/package.json +9 -4
  195. package/src/components/entity/entity-attributes.tsx +17 -3
  196. package/src/components/entity/entity-details-with-buttons.tsx +17 -42
  197. package/src/components/entity/entity-details.tsx +64 -37
  198. package/src/components/entity/index.ts +2 -1
  199. package/src/components/history/history-list-item-icon.tsx +5 -0
  200. package/src/components/history/history-list-item.tsx +19 -4
  201. package/src/components/history/history-list-screen.tsx +4 -1
  202. package/src/components/proof-request/share-credential.tsx +1 -1
  203. package/src/ui-components/blur/index.ts +2 -1
  204. package/src/ui-components/buttons/hold-button.tsx +6 -5
  205. package/src/ui-components/camera/index.tsx +2 -1
  206. package/src/ui-components/control/index.ts +4 -2
  207. package/src/ui-components/credential/card/credential-details-card.tsx +1 -1
  208. package/src/ui-components/credential/credential-carousel-images.tsx +15 -8
  209. package/src/ui-components/entity/entity-cluster.tsx +63 -10
  210. package/src/ui-components/entity/index.ts +4 -2
  211. package/src/ui-components/history/history-details.tsx +5 -2
  212. package/src/ui-components/history/index.ts +6 -3
  213. package/src/ui-components/icons/entity.tsx +23 -0
  214. package/src/ui-components/icons/history.tsx +2 -0
  215. package/src/ui-components/input/index.ts +6 -3
  216. package/src/ui-components/list/index.ts +4 -2
  217. package/src/ui-components/loader/index.ts +4 -2
  218. package/src/ui-components/pin/index.ts +4 -2
  219. package/src/ui-components/screens/nerd-mode-screen.tsx +5 -5
  220. package/src/ui-components/searchbar/index.ts +4 -2
  221. package/src/ui-components/settings/index.ts +10 -5
  222. package/src/ui-components/state/index.ts +2 -1
  223. package/src/utils/date.ts +1 -1
  224. package/src/utils/hooks/connectivity/connectivity.test.ts +7 -2
  225. package/src/utils/hooks/core/backup.ts +30 -72
  226. package/src/utils/hooks/core/core-init.ts +29 -23
  227. package/src/utils/hooks/core/credentials.ts +9 -3
  228. package/src/utils/hooks/core/identifiers.ts +39 -0
  229. package/src/utils/hooks/core/index.ts +2 -1
  230. package/src/utils/hooks/core/proofs.ts +31 -18
  231. package/src/utils/hooks/core/trust-entity.ts +55 -17
  232. package/src/utils/parsers/credential-sharing.tsx +30 -36
  233. package/src/utils/parsers/credential.ts +4 -0
  234. package/src/utils/parsers/query.tsx +14 -4
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_credential","_icons","_testID","_credential2","e","__esModule","default","validityCheckedCardFromCredential","credential","invalidLVVC","expanded","multipleCredentialsAvailable","config","notice","testID","labels","credentialHeaderDetail","credentialDetailErrorColor","credentialDetailPrimary","revoked","credentialDetailTestID","concatTestID","multipleCredentials","statusIcon","CredentialWarningIcon","card","getCredentialCardPropsFromCredential","claims","header","exports","missingCredentialCardFromRequest","request","_request$name","cardImage","undefined","color","missingCredential","credentialName","name","id","getAttributeSelectorStatus","field","validityState","claim","selected","ValidityState","Valid","SelectorStatus","Rejected","required","Required","Disabled","SelectedCheckmark","Empty","spreadClaims","parentClaimPath","reduce","acc","result","Array","isArray","value","claimPath","key","push","getDisplayedAttributes","selectiveDisclosureSupported","selectedFields","map","status","fields","includes","find","keyMap","shareCredentialCardAttributeFromClaim","_field$name$split$pop","_field$name","_field$name2","detailsCardAttributeFromClaim","split","pop","path","missingAttribute","valueErrorColor","setStatusForNestedObjectOrArrayFields","attribute","disabled","accessory","createElement","Selector","isObject","attributes","length","values","rightAccessory","_attribute$attributes","nested","nestedAttribute","shareCredentialCardFromCredential","_credential$issuerDid","_credential$issuerDid2","supportsSelectiveDisclosure","issuerDid","did","text","selectiveDisclosureNotice","noticeIcon","CredentialNoticeWarningIcon","cardTestId","getValidityState","displayedAttributes","index","nestAttributes","selectCredentialCardAttributeFromClaim","RequiredAttributeIcon","selectCredentialCardFromCredential","_credential$issuerDid3","SelectedRadio","cardProps"],"sources":["credential-sharing.tsx"],"sourcesContent":["import {\n Claim,\n Config,\n CredentialDetail,\n PresentationDefinitionField,\n PresentationDefinitionRequestedCredential,\n} from '@procivis/react-native-one-core';\nimport React from 'react';\n\nimport {\n CredentialAttribute,\n CredentialCardProps,\n CredentialDetailsCardProps,\n CredentialHeaderProps,\n Selector,\n SelectorStatus,\n} from '../../ui-components/credential';\nimport { CredentialCardNotice } from '../../ui-components/credential/card/credential-card';\nimport { CredentialNoticeWarningIcon, CredentialWarningIcon, RequiredAttributeIcon } from '../../ui-components/icons';\nimport { concatTestID } from '../testID';\nimport {\n CardLabels,\n detailsCardAttributeFromClaim,\n getCredentialCardPropsFromCredential,\n getValidityState,\n nestAttributes,\n supportsSelectiveDisclosure,\n ValidityState,\n} from './credential';\n\nexport const validityCheckedCardFromCredential = (\n credential: CredentialDetail,\n invalidLVVC: boolean,\n expanded: boolean,\n multipleCredentialsAvailable: boolean,\n config: Config,\n notice: CredentialCardNotice | undefined,\n testID: string,\n labels: ShareCredentialCardLabels,\n): Omit<CredentialCardProps, 'onHeaderPress' | 'style' | 'testID'> => {\n let credentialHeaderDetail:\n | Pick<\n CredentialHeaderProps,\n | 'credentialDetailPrimary'\n | 'credentialDetailSecondary'\n | 'credentialDetailErrorColor'\n | 'credentialDetailTestID'\n | 'statusIcon'\n >\n | undefined;\n if (invalidLVVC) {\n credentialHeaderDetail = {\n credentialDetailErrorColor: true,\n credentialDetailPrimary: labels.revoked,\n credentialDetailTestID: concatTestID(testID, 'header.invalid'),\n };\n } else if (!expanded && multipleCredentialsAvailable) {\n credentialHeaderDetail = {\n credentialDetailPrimary: labels.multipleCredentials,\n credentialDetailTestID: concatTestID(testID, 'header.multiple'),\n statusIcon: CredentialWarningIcon,\n };\n }\n\n const card = getCredentialCardPropsFromCredential(credential, credential.claims, config, notice, testID, labels);\n return {\n ...card,\n header: {\n ...card.header,\n ...credentialHeaderDetail,\n },\n };\n};\n\nexport const missingCredentialCardFromRequest = (\n request: PresentationDefinitionRequestedCredential,\n notice: CredentialCardNotice | undefined,\n testID: string,\n labels: ShareCredentialCardLabels,\n): Omit<CredentialCardProps, 'onHeaderPress' | 'style'> => {\n return {\n cardImage: undefined,\n color: undefined,\n testID,\n header: {\n credentialDetailErrorColor: true,\n credentialDetailPrimary: labels.missingCredential,\n credentialDetailTestID: concatTestID(testID, 'header.missing'),\n credentialName: request.name ?? request.id,\n statusIcon: CredentialWarningIcon,\n },\n ...notice,\n };\n};\n\ninterface DisplayedAttribute {\n claim?: Claim;\n field?: PresentationDefinitionField;\n id: string;\n selected?: boolean;\n status: SelectorStatus;\n}\n\nconst getAttributeSelectorStatus = (\n field: PresentationDefinitionField,\n validityState: ValidityState,\n credential?: CredentialDetail,\n claim?: Claim,\n selected?: boolean,\n): SelectorStatus => {\n if (!credential || validityState !== ValidityState.Valid) {\n return SelectorStatus.Rejected;\n }\n if (field.required) {\n if (claim) {\n return SelectorStatus.Required;\n } else {\n return SelectorStatus.Rejected;\n }\n }\n if (!claim) {\n return SelectorStatus.Disabled;\n }\n return selected ? SelectorStatus.SelectedCheckmark : SelectorStatus.Empty;\n};\n\n// Returns a spread list of all claims with their full JSON path as key, including all intermediate objects\nconst spreadClaims = (claims: Claim[], parentClaimPath = ''): Claim[] => {\n return claims.reduce((acc, claim) => {\n const result = [claim];\n if (Array.isArray(claim.value)) {\n const claimPath = parentClaimPath ? `${parentClaimPath}/${claim.key}` : claim.key;\n result.push(...spreadClaims(claim.value, claimPath));\n }\n return [...acc, ...result];\n }, [] as Claim[]);\n};\n\nconst getDisplayedAttributes = (\n request: PresentationDefinitionRequestedCredential,\n validityState: ValidityState,\n credential?: CredentialDetail,\n selectiveDisclosureSupported?: boolean,\n selectedFields?: string[],\n): DisplayedAttribute[] => {\n if (credential && selectiveDisclosureSupported === false) {\n return credential.claims.map((claim) => ({\n claim,\n id: claim.id,\n status: SelectorStatus.Required,\n }));\n }\n\n return request.fields.map((field) => {\n const selected = !field.required && selectedFields?.includes(field.id);\n const claim =\n credential &&\n spreadClaims(credential.claims).find(({ key }) => {\n return key === field.keyMap[credential.id];\n });\n const status = getAttributeSelectorStatus(field, validityState, credential, claim, selected);\n return { claim, field, id: field.id, selected, status };\n });\n};\n\nexport const shareCredentialCardAttributeFromClaim = (\n id: string,\n config: Config,\n testID: string,\n labels: ShareCredentialCardLabels,\n claim?: Claim,\n field?: PresentationDefinitionField,\n): CredentialAttribute => {\n if (claim) {\n return { ...detailsCardAttributeFromClaim(claim, config, testID), id };\n }\n return {\n id,\n name: field?.name?.split('/').pop() ?? id,\n path: field?.name ?? id,\n value: labels.missingAttribute,\n valueErrorColor: true,\n };\n};\n\n// Will propagate the attribute status (right accessory + selected?) for all nested attributes\n// Note: This function MUTATES the input attribute\nconst setStatusForNestedObjectOrArrayFields = (\n attribute: CredentialAttribute,\n status?: SelectorStatus,\n disabled?: boolean,\n) => {\n const accessory = status && <Selector status={status} />;\n const isObject = attribute.attributes && attribute.attributes.length > 0;\n const isArray = attribute.values && attribute.values.length > 0;\n\n // If the attribute is not an object or array, we update the attribute and return\n if (!isObject && !isArray) {\n attribute.rightAccessory = accessory;\n attribute.disabled = disabled;\n return attribute;\n }\n\n // The object can be optional (tappable radio-checkmark), or required (checkmark)\n if (status === SelectorStatus.SelectedCheckmark || status === SelectorStatus.Empty) {\n // If it's a selectable object, the accessory is rendered next to the object title,\n // The nested attributes have no accessory, and can not be selected\n attribute.rightAccessory = accessory;\n setStatusForNestedObjectOrArrayFields(attribute, undefined, true);\n } else {\n const nested = attribute.attributes ?? attribute.values;\n // If the object is required / rejected, the accessory is rendered next to each nested attribute (except other object titles)\n // all fields are disabled\n for (const nestedAttribute of nested) {\n setStatusForNestedObjectOrArrayFields(nestedAttribute, status, true);\n }\n }\n};\n\nexport type ShareCredentialCardLabels = CardLabels & {\n selectiveDisclosureNotice: string;\n missingAttribute: string;\n missingCredential: string;\n multipleCredentials: string;\n};\n\nexport const shareCredentialCardFromCredential = (\n credential: CredentialDetail | undefined,\n invalidLVVC: boolean,\n expanded: boolean,\n multipleCredentialsAvailable: boolean,\n request: PresentationDefinitionRequestedCredential,\n selectedFields: string[] | undefined,\n config: Config,\n testID: string,\n labels: ShareCredentialCardLabels,\n): Omit<CredentialDetailsCardProps, 'expanded'> => {\n const selectiveDisclosureSupported = supportsSelectiveDisclosure(\n credential ? { ...credential, issuerDid: credential.issuerDid?.did } : undefined,\n config,\n );\n const notice: CredentialCardNotice | undefined =\n selectiveDisclosureSupported === false\n ? {\n text: labels.selectiveDisclosureNotice,\n noticeIcon: CredentialNoticeWarningIcon,\n }\n : undefined;\n const cardTestId = concatTestID(testID, 'card');\n const card = credential\n ? validityCheckedCardFromCredential(\n credential,\n invalidLVVC,\n expanded,\n multipleCredentialsAvailable,\n config,\n notice,\n cardTestId,\n labels,\n )\n : missingCredentialCardFromRequest(request, notice, cardTestId, labels);\n const validityState = getValidityState(\n credential ? { ...credential, issuerDid: credential.issuerDid?.did } : undefined,\n );\n const displayedAttributes = getDisplayedAttributes(\n request,\n validityState,\n credential,\n selectiveDisclosureSupported,\n selectedFields,\n );\n\n const attributes: CredentialAttribute[] = displayedAttributes.map(({ claim, field, id, selected, status }, index) => {\n const disabled = !credential || !field || field.required || !claim;\n const attribute: CredentialAttribute = {\n ...shareCredentialCardAttributeFromClaim(\n id,\n config,\n concatTestID(testID, 'attribute', `${index}`),\n labels,\n claim,\n field,\n ),\n selected,\n };\n\n setStatusForNestedObjectOrArrayFields(attribute, status, disabled);\n return attribute;\n });\n return {\n attributes: nestAttributes(attributes),\n card,\n };\n};\n\nexport const selectCredentialCardAttributeFromClaim = (\n id: string,\n config: Config,\n testID: string,\n labels: ShareCredentialCardLabels,\n claim?: Claim,\n field?: PresentationDefinitionField,\n): CredentialAttribute => {\n const attribute = shareCredentialCardAttributeFromClaim(id, config, testID, labels, claim, field);\n if (!claim) {\n return attribute;\n }\n return {\n ...attribute,\n rightAccessory: RequiredAttributeIcon,\n };\n};\n\nexport const selectCredentialCardFromCredential = (\n credential: CredentialDetail,\n selected: boolean,\n request: PresentationDefinitionRequestedCredential,\n config: Config,\n testID: string,\n labels: ShareCredentialCardLabels,\n): Omit<CredentialDetailsCardProps, 'expanded'> => {\n const selectiveDisclosureSupported = supportsSelectiveDisclosure(\n credential ? { ...credential, issuerDid: credential.issuerDid?.did } : undefined,\n config,\n );\n const rightAccessory = <Selector status={selected ? SelectorStatus.SelectedRadio : SelectorStatus.Empty} />;\n const notice: CredentialCardNotice | undefined =\n selectiveDisclosureSupported === false\n ? {\n text: labels.selectiveDisclosureNotice,\n noticeIcon: CredentialNoticeWarningIcon,\n }\n : undefined;\n const { header, ...cardProps } = getCredentialCardPropsFromCredential(\n credential,\n credential.claims,\n config,\n notice,\n testID,\n labels,\n );\n const card = {\n header: {\n ...header,\n accessory: rightAccessory,\n },\n ...cardProps,\n };\n const attributes: CredentialAttribute[] = request.fields.map((field) => {\n const claim = spreadClaims(credential.claims).find(({ key }) => {\n return key === field.keyMap[credential.id];\n });\n\n const attribute = selectCredentialCardAttributeFromClaim(field.id, config, testID, labels, claim, field);\n return {\n ...attribute,\n rightAccessory: (\n <Selector status={field.required && !claim ? SelectorStatus.Rejected : SelectorStatus.Required} />\n ),\n };\n });\n return {\n attributes: nestAttributes(attributes),\n card,\n };\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_credential","_icons","_testID","_credential2","e","__esModule","default","validityCheckedCardFromCredential","credential","invalidLVVC","expanded","multipleCredentialsAvailable","config","notice","testID","labels","credentialHeaderDetail","credentialDetailErrorColor","credentialDetailPrimary","revoked","credentialDetailTestID","concatTestID","multipleCredentials","statusIcon","CredentialWarningIcon","card","getCredentialCardPropsFromCredential","claims","header","exports","missingCredentialCardFromRequest","request","_request$name","cardImage","undefined","color","missingCredential","credentialName","name","id","getAttributeSelectorStatus","field","validityState","claim","selected","ValidityState","Valid","SelectorStatus","Rejected","required","Required","Disabled","SelectedCheckmark","Empty","spreadClaims","parentClaimPath","reduce","acc","result","Array","isArray","value","claimPath","key","push","getDisplayedAttributes","selectiveDisclosureSupported","selectedFields","fields","map","includes","find","keyMap","status","shareCredentialCardAttributeFromClaim","_field$name$split$pop","_field$name","_field$name2","detailsCardAttributeFromClaim","split","pop","path","missingAttribute","valueErrorColor","setStatusForNestedObjectOrArrayFields","attribute","disabled","accessory","createElement","Selector","isObject","attributes","length","values","rightAccessory","_attribute$attributes","nested","nestedAttribute","shareCredentialCardFromCredential","_credential$issuer","_credential$issuer2","supportsSelectiveDisclosure","issuer","text","selectiveDisclosureNotice","noticeIcon","CredentialNoticeWarningIcon","cardTestId","getValidityState","displayedAttributes","index","nestAttributes","selectCredentialCardAttributeFromClaim","RequiredAttributeIcon","selectCredentialCardFromCredential","_credential$issuer3","SelectedRadio","cardProps"],"sources":["credential-sharing.tsx"],"sourcesContent":["import {\n Claim,\n Config,\n CredentialDetail,\n PresentationDefinitionField,\n PresentationDefinitionRequestedCredential,\n} from '@procivis/react-native-one-core';\nimport React from 'react';\n\nimport {\n CredentialAttribute,\n CredentialCardProps,\n CredentialDetailsCardProps,\n CredentialHeaderProps,\n Selector,\n SelectorStatus,\n} from '../../ui-components/credential';\nimport { CredentialCardNotice } from '../../ui-components/credential/card/credential-card';\nimport { CredentialNoticeWarningIcon, CredentialWarningIcon, RequiredAttributeIcon } from '../../ui-components/icons';\nimport { concatTestID } from '../testID';\nimport {\n CardLabels,\n detailsCardAttributeFromClaim,\n getCredentialCardPropsFromCredential,\n getValidityState,\n nestAttributes,\n supportsSelectiveDisclosure,\n ValidityState,\n} from './credential';\n\nexport const validityCheckedCardFromCredential = (\n credential: CredentialDetail,\n invalidLVVC: boolean,\n expanded: boolean,\n multipleCredentialsAvailable: boolean,\n config: Config,\n notice: CredentialCardNotice | undefined,\n testID: string,\n labels: ShareCredentialCardLabels,\n): Omit<CredentialCardProps, 'onHeaderPress' | 'style' | 'testID'> => {\n let credentialHeaderDetail:\n | Pick<\n CredentialHeaderProps,\n | 'credentialDetailPrimary'\n | 'credentialDetailSecondary'\n | 'credentialDetailErrorColor'\n | 'credentialDetailTestID'\n | 'statusIcon'\n >\n | undefined;\n if (invalidLVVC) {\n credentialHeaderDetail = {\n credentialDetailErrorColor: true,\n credentialDetailPrimary: labels.revoked,\n credentialDetailTestID: concatTestID(testID, 'header.invalid'),\n };\n } else if (!expanded && multipleCredentialsAvailable) {\n credentialHeaderDetail = {\n credentialDetailPrimary: labels.multipleCredentials,\n credentialDetailTestID: concatTestID(testID, 'header.multiple'),\n statusIcon: CredentialWarningIcon,\n };\n }\n\n const card = getCredentialCardPropsFromCredential(credential, credential.claims, config, notice, testID, labels);\n return {\n ...card,\n header: {\n ...card.header,\n ...credentialHeaderDetail,\n },\n };\n};\n\nexport const missingCredentialCardFromRequest = (\n request: PresentationDefinitionRequestedCredential,\n notice: CredentialCardNotice | undefined,\n testID: string,\n labels: ShareCredentialCardLabels,\n): Omit<CredentialCardProps, 'onHeaderPress' | 'style'> => {\n return {\n cardImage: undefined,\n color: undefined,\n testID,\n header: {\n credentialDetailErrorColor: true,\n credentialDetailPrimary: labels.missingCredential,\n credentialDetailTestID: concatTestID(testID, 'header.missing'),\n credentialName: request.name ?? request.id,\n statusIcon: CredentialWarningIcon,\n },\n ...notice,\n };\n};\n\ninterface DisplayedAttribute {\n claim?: Claim;\n field?: PresentationDefinitionField;\n id: string;\n selected?: boolean;\n status: SelectorStatus;\n}\n\nconst getAttributeSelectorStatus = (\n field: PresentationDefinitionField,\n validityState: ValidityState,\n credential?: CredentialDetail,\n claim?: Claim,\n selected?: boolean,\n): SelectorStatus => {\n if (!credential || validityState !== ValidityState.Valid) {\n return SelectorStatus.Rejected;\n }\n if (field.required) {\n if (claim) {\n return SelectorStatus.Required;\n } else {\n return SelectorStatus.Rejected;\n }\n }\n if (!claim) {\n return SelectorStatus.Disabled;\n }\n return selected ? SelectorStatus.SelectedCheckmark : SelectorStatus.Empty;\n};\n\n// Returns a spread list of all claims with their full JSON path as key, including all intermediate objects\nconst spreadClaims = (claims: Claim[], parentClaimPath = ''): Claim[] => {\n return claims.reduce((acc, claim) => {\n const result = [claim];\n if (Array.isArray(claim.value)) {\n const claimPath = parentClaimPath ? `${parentClaimPath}/${claim.key}` : claim.key;\n result.push(...spreadClaims(claim.value, claimPath));\n }\n return [...acc, ...result];\n }, [] as Claim[]);\n};\n\nconst getDisplayedAttributes = (\n request: PresentationDefinitionRequestedCredential,\n validityState: ValidityState,\n credential?: CredentialDetail,\n selectiveDisclosureSupported?: boolean,\n selectedFields?: string[],\n): DisplayedAttribute[] => {\n const claims = credential ? spreadClaims(credential.claims) : undefined;\n\n return request.fields.map((field) => {\n const selected = !field.required && selectedFields?.includes(field.id);\n const claim =\n credential ?\n claims?.find(({ key }) => {\n return key === field.keyMap[credential.id];\n }) : undefined;\n const status = selectiveDisclosureSupported === false ? SelectorStatus.Required : getAttributeSelectorStatus(field, validityState, credential, claim, selected);\n return { claim, field, id: field.id, selected, status };\n });\n};\n\nexport const shareCredentialCardAttributeFromClaim = (\n id: string,\n config: Config,\n testID: string,\n labels: ShareCredentialCardLabels,\n claim?: Claim,\n field?: PresentationDefinitionField,\n): CredentialAttribute => {\n if (claim) {\n return { ...detailsCardAttributeFromClaim(claim, config, testID), id };\n }\n return {\n id,\n name: field?.name?.split('/').pop() ?? id,\n path: field?.name ?? id,\n value: labels.missingAttribute,\n valueErrorColor: true,\n };\n};\n\n// Will propagate the attribute status (right accessory + selected?) for all nested attributes\n// Note: This function MUTATES the input attribute\nconst setStatusForNestedObjectOrArrayFields = (\n attribute: CredentialAttribute,\n status?: SelectorStatus,\n disabled?: boolean,\n) => {\n const accessory = status && <Selector status={status} />;\n const isObject = attribute.attributes && attribute.attributes.length > 0;\n const isArray = attribute.values && attribute.values.length > 0;\n\n // If the attribute is not an object or array, we update the attribute and return\n if (!isObject && !isArray) {\n attribute.rightAccessory = accessory;\n attribute.disabled = disabled;\n return attribute;\n }\n\n // The object can be optional (tappable radio-checkmark), or required (checkmark)\n if (status === SelectorStatus.SelectedCheckmark || status === SelectorStatus.Empty) {\n // If it's a selectable object, the accessory is rendered next to the object title,\n // The nested attributes have no accessory, and can not be selected\n attribute.rightAccessory = accessory;\n setStatusForNestedObjectOrArrayFields(attribute, undefined, true);\n } else {\n const nested = attribute.attributes ?? attribute.values;\n // If the object is required / rejected, the accessory is rendered next to each nested attribute (except other object titles)\n // all fields are disabled\n for (const nestedAttribute of nested) {\n setStatusForNestedObjectOrArrayFields(nestedAttribute, status, true);\n }\n }\n};\n\nexport type ShareCredentialCardLabels = CardLabels & {\n selectiveDisclosureNotice: string;\n missingAttribute: string;\n missingCredential: string;\n multipleCredentials: string;\n};\n\nexport const shareCredentialCardFromCredential = (\n credential: CredentialDetail | undefined,\n invalidLVVC: boolean,\n expanded: boolean,\n multipleCredentialsAvailable: boolean,\n request: PresentationDefinitionRequestedCredential,\n selectedFields: string[] | undefined,\n config: Config,\n testID: string,\n labels: ShareCredentialCardLabels,\n): Omit<CredentialDetailsCardProps, 'expanded'> => {\n const selectiveDisclosureSupported = supportsSelectiveDisclosure(\n credential ? { ...credential, issuer: credential.issuer?.id } : undefined,\n config,\n );\n const notice: CredentialCardNotice | undefined =\n selectiveDisclosureSupported === false\n ? {\n text: labels.selectiveDisclosureNotice,\n noticeIcon: CredentialNoticeWarningIcon,\n }\n : undefined;\n const cardTestId = concatTestID(testID, 'card');\n const card = credential\n ? validityCheckedCardFromCredential(\n credential,\n invalidLVVC,\n expanded,\n multipleCredentialsAvailable,\n config,\n notice,\n cardTestId,\n labels,\n )\n : missingCredentialCardFromRequest(request, notice, cardTestId, labels);\n const validityState = getValidityState(\n credential ? { ...credential, issuer: credential.issuer?.id } : undefined,\n );\n const displayedAttributes = getDisplayedAttributes(\n request,\n validityState,\n credential,\n selectiveDisclosureSupported,\n selectedFields,\n );\n\n const attributes: CredentialAttribute[] = displayedAttributes.map(({ claim, field, id, selected, status }, index) => {\n const disabled = !credential || !field || field.required || !claim;\n const attribute: CredentialAttribute = {\n ...shareCredentialCardAttributeFromClaim(\n id,\n config,\n concatTestID(testID, 'attribute', `${index}`),\n labels,\n claim,\n field,\n ),\n selected,\n };\n\n setStatusForNestedObjectOrArrayFields(attribute, status, disabled);\n return attribute;\n });\n return {\n attributes: nestAttributes(attributes),\n card,\n };\n};\n\nexport const selectCredentialCardAttributeFromClaim = (\n id: string,\n config: Config,\n testID: string,\n labels: ShareCredentialCardLabels,\n claim?: Claim,\n field?: PresentationDefinitionField,\n): CredentialAttribute => {\n const attribute = shareCredentialCardAttributeFromClaim(id, config, testID, labels, claim, field);\n if (!claim) {\n return attribute;\n }\n return {\n ...attribute,\n rightAccessory: RequiredAttributeIcon,\n };\n};\n\nexport const selectCredentialCardFromCredential = (\n credential: CredentialDetail,\n selected: boolean,\n request: PresentationDefinitionRequestedCredential,\n config: Config,\n testID: string,\n labels: ShareCredentialCardLabels,\n): Omit<CredentialDetailsCardProps, 'expanded'> => {\n const selectiveDisclosureSupported = supportsSelectiveDisclosure(\n credential ? { ...credential, issuer: credential.issuer?.id } : undefined,\n config,\n );\n const rightAccessory = <Selector status={selected ? SelectorStatus.SelectedRadio : SelectorStatus.Empty} />;\n const notice: CredentialCardNotice | undefined =\n selectiveDisclosureSupported === false\n ? {\n text: labels.selectiveDisclosureNotice,\n noticeIcon: CredentialNoticeWarningIcon,\n }\n : undefined;\n const { header, ...cardProps } = getCredentialCardPropsFromCredential(\n credential,\n credential.claims,\n config,\n notice,\n testID,\n labels,\n );\n const card = {\n header: {\n ...header,\n accessory: rightAccessory,\n },\n ...cardProps,\n };\n const attributes: CredentialAttribute[] = request.fields.map((field) => {\n const claim = spreadClaims(credential.claims).find(({ key }) => {\n return key === field.keyMap[credential.id];\n });\n\n const attribute = selectCredentialCardAttributeFromClaim(field.id, config, testID, labels, claim, field);\n return {\n ...attribute,\n rightAccessory: (\n <Selector status={field.required && !claim ? SelectorStatus.Rejected : SelectorStatus.Required} />\n ),\n };\n });\n return {\n attributes: nestAttributes(attributes),\n card,\n };\n};\n"],"mappings":"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","ignoreList":[]}
@@ -180,6 +180,13 @@ const detailsCardAttributeValueFromClaim = (claim, config, testID) => {
180
180
  case _reactNativeOneCore.DataTypeEnum.Date:
181
181
  {
182
182
  var _formatDateLocalized;
183
+ if (!claim.value) {
184
+ // Don't try to parse empty values (which will return "Invalid Date")
185
+ return {
186
+ testID: testID,
187
+ value: String(claim.value)
188
+ };
189
+ }
183
190
  const date = claim.value;
184
191
  return {
185
192
  testID: testID,
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNativeOneCore","require","_icons","_date","_testID","_credentialImages","ValidityState","exports","getValidityState","credential","state","CredentialStateEnum","REVOKED","Revoked","SUSPENDED","Suspended","Valid","supportsSelectiveDisclosure","config","_formatConfig$capabil","formatConfig","format","schema","Boolean","capabilities","features","includes","FormatFeatureEnum","SelectiveDisclosure","undefined","findClaimByPathParts","path","claims","length","first","second","rest","claim","find","c","key","dataType","DataTypeEnum","Object","value","findClaimByPath","split","formatCredentialDetail","testID","_attributeValue$value","attributeValue","detailsCardAttributeValueFromClaim","hasMsoValidityIssues","mdocMsoValidity","mdocMsoValidityIssue","nextUpdate","Date","cardHeaderFromCredential","labels","_formatDateTimeLocali","_layoutProperties$log","_layoutProperties$log2","_layoutProperties$log3","credentialDetailPrimary","formatDateTimeLocalized","issuanceDate","credentialDetailSecondary","credentialDetailErrorColor","credentialDetailTestID","statusIcon","layoutProperties","suspendEndDate","suspendedUntil","suspended","concatTestID","CredentialWarningIcon","revoked","CredentialErrorIcon","validityIssues","primary","primaryAttribute","secondary","secondaryAttribute","color","logo","backgroundColor","credentialName","name","icon","image","imageSource","uri","iconLabelColor","fontColor","getCredentialCardPropsFromCredential","notice","_layoutProperties$bac","_layoutProperties$bac2","text","validityIssuesNotice","noticeIcon","CredentialNoticeWarningIcon","result","cardCarouselImages","getCarouselImagesFromClaims","cardImage","background","header","detailsCardAttributeFromClaim","id","pop","typeConfig","datatype","array","values","map","arrayValue","index","toString","type","Array","isArray","attributes","nestedClaim","_formatDateLocalized","date","formatDateLocalized","File","_typeConfig$params","params","showAs","String","detailsCardFromCredential","detailsCardFromCredentialWithClaims","card","nestAttributes","attribute","attributePath","push","parent","a","insertAttributeInObject","join","nestAttributeInDummyObject","pathParts","disabled","object","_object$attributes","nextParent","_object$attributes2","parseBase64Image","getCredentialSchemaWithoutImages","credentialSchema","_credentialSchema$lay","_credentialSchema$lay2","_credentialSchema$lay3","_credentialSchema$lay4"],"sources":["credential.ts"],"sourcesContent":["import {\n Claim,\n Config,\n CredentialDetail,\n CredentialListItem,\n CredentialSchema,\n CredentialStateEnum,\n DataTypeEnum,\n FormatFeatureEnum,\n} from '@procivis/react-native-one-core';\n\nimport {\n CredentialAttribute,\n CredentialAttributeValue,\n CredentialCardProps,\n CredentialDetailsCardProps,\n CredentialHeaderProps,\n} from '../../ui-components/credential';\nimport { CredentialCardNotice } from '../../ui-components/credential/card/credential-card';\nimport { CredentialErrorIcon, CredentialNoticeWarningIcon, CredentialWarningIcon } from '../../ui-components/icons';\nimport { formatDateLocalized, formatDateTimeLocalized } from '../date';\nimport { concatTestID } from '../testID';\nimport { getCarouselImagesFromClaims } from './credential-images';\n\nexport enum ValidityState {\n Revoked = 'revoked',\n Suspended = 'suspended',\n Valid = 'valid',\n}\n\nexport const getValidityState = (credential: CredentialListItem | undefined) => {\n if (credential?.state === CredentialStateEnum.REVOKED) {\n return ValidityState.Revoked;\n }\n if (credential?.state === CredentialStateEnum.SUSPENDED) {\n return ValidityState.Suspended;\n }\n return ValidityState.Valid;\n};\n\nexport const supportsSelectiveDisclosure = (credential: CredentialListItem | undefined, config: Config | undefined) => {\n const formatConfig = credential && config?.format[credential.schema.format];\n return formatConfig\n ? Boolean(formatConfig.capabilities?.features?.includes(FormatFeatureEnum.SelectiveDisclosure))\n : undefined;\n};\n\nconst findClaimByPathParts = (path: string[], claims?: Claim[]): Claim | undefined => {\n if (!claims?.length) {\n return undefined;\n }\n const [first, second, ...rest] = path;\n const claim = claims.find((c) => c.key === first);\n if (claim === undefined || second === undefined || claim.dataType !== DataTypeEnum.Object) {\n return claim;\n }\n\n return findClaimByPathParts([`${first}/${second}`, ...rest], claim.value as Claim[]);\n};\n\nexport const findClaimByPath = (path: string | undefined, claims: Claim[] | undefined) =>\n path ? findClaimByPathParts(path.split('/'), claims) : undefined;\n\nconst formatCredentialDetail = (claim: Claim, config: Config, testID: string): string => {\n const attributeValue = detailsCardAttributeValueFromClaim(claim, config, testID);\n return attributeValue.value ?? '';\n};\n\nexport const hasMsoValidityIssues = (credential: CredentialDetail): boolean => {\n const mdocMsoValidity: { nextUpdate: string } | undefined =\n 'mdocMsoValidity' in credential ? (credential.mdocMsoValidity as { nextUpdate: string }) : undefined;\n\n const mdocMsoValidityIssue = Boolean(\n mdocMsoValidity?.nextUpdate && new Date(mdocMsoValidity.nextUpdate) < new Date(),\n );\n\n return mdocMsoValidityIssue;\n};\n\nexport type CardHeaderLabels = {\n validityIssues: string;\n revoked: string;\n suspended: string;\n suspendedUntil: (date: string) => string;\n};\n\nexport const cardHeaderFromCredential = (\n credential: CredentialDetail,\n claims: Claim[] = [],\n config: Config,\n testID: string,\n labels: CardHeaderLabels,\n): Omit<CredentialHeaderProps, 'style'> => {\n let credentialDetailPrimary = formatDateTimeLocalized(new Date(credential.issuanceDate)) ?? '';\n\n let credentialDetailSecondary: string | undefined;\n let credentialDetailErrorColor: boolean | undefined;\n let credentialDetailTestID: string | undefined;\n let statusIcon;\n\n const { layoutProperties } = credential.schema;\n\n switch (credential.state) {\n case CredentialStateEnum.SUSPENDED:\n credentialDetailPrimary = credential.suspendEndDate\n ? labels.suspendedUntil(formatDateTimeLocalized(new Date(credential.suspendEndDate))!)\n : labels.suspended;\n credentialDetailTestID = concatTestID(testID, 'suspended');\n statusIcon = CredentialWarningIcon;\n break;\n case CredentialStateEnum.REVOKED:\n credentialDetailPrimary = labels.revoked;\n credentialDetailErrorColor = true;\n credentialDetailTestID = concatTestID(testID, 'revoked');\n statusIcon = CredentialErrorIcon;\n break;\n default: {\n if (hasMsoValidityIssues(credential)) {\n credentialDetailPrimary = labels.validityIssues;\n credentialDetailTestID = concatTestID(testID, 'validity-issue');\n statusIcon = CredentialWarningIcon;\n } else {\n const primary = findClaimByPath(layoutProperties?.primaryAttribute, claims);\n\n if (primary) {\n credentialDetailPrimary = formatCredentialDetail(primary, config, concatTestID(testID, 'primary'));\n }\n\n const secondary = findClaimByPath(layoutProperties?.secondaryAttribute, claims);\n\n if (secondary) {\n credentialDetailSecondary = formatCredentialDetail(secondary, config, concatTestID(testID, 'secondary'));\n }\n\n credentialDetailTestID = concatTestID(testID, 'detail');\n }\n break;\n }\n }\n return {\n color: layoutProperties?.logo?.backgroundColor,\n credentialDetailErrorColor,\n credentialDetailPrimary,\n credentialDetailSecondary,\n credentialDetailTestID,\n credentialName: credential.schema.name,\n icon: layoutProperties?.logo?.image\n ? {\n imageSource: {\n uri: layoutProperties.logo.image,\n },\n }\n : undefined,\n iconLabelColor: layoutProperties?.logo?.fontColor,\n statusIcon,\n testID,\n };\n};\n\nexport type CardLabels = CardHeaderLabels & {\n validityIssuesNotice: string;\n};\n\nexport const getCredentialCardPropsFromCredential = (\n credential: CredentialDetail,\n claims: Claim[] = [],\n config: Config,\n notice: CredentialCardNotice | undefined,\n testID: string,\n labels: CardLabels,\n): Omit<CredentialCardProps, 'onHeaderPress' | 'style'> => {\n const { layoutProperties } = credential.schema;\n\n if (hasMsoValidityIssues(credential)) {\n notice = {\n text: labels.validityIssuesNotice,\n noticeIcon: CredentialNoticeWarningIcon,\n };\n }\n\n const result: Omit<CredentialCardProps, 'onHeaderPress' | 'style'> = {\n cardCarouselImages: getCarouselImagesFromClaims(claims, layoutProperties, concatTestID(testID, 'carousel')),\n cardImage: layoutProperties?.background?.image\n ? { imageSource: { uri: layoutProperties.background.image } }\n : undefined,\n color: layoutProperties?.background?.color,\n header: cardHeaderFromCredential(credential, claims, config, concatTestID(testID, 'header'), labels),\n testID,\n notice,\n };\n\n return result;\n};\n\nexport const detailsCardAttributeFromClaim = (claim: Claim, config: Config, testID: string): CredentialAttribute => {\n const value = detailsCardAttributeValueFromClaim(claim, config, testID);\n return {\n id: claim.id,\n name: claim.key.split('/').pop(),\n path: claim.key,\n ...value,\n };\n};\n\nconst detailsCardAttributeValueFromClaim = (claim: Claim, config: Config, testID: string): CredentialAttributeValue => {\n const typeConfig = config?.datatype[claim.dataType];\n\n if (claim.array) {\n return {\n values: (claim.value || []).map((arrayValue, index) => {\n return detailsCardAttributeFromClaim(\n {\n ...arrayValue,\n id: `${arrayValue.id}/${index}`,\n },\n config,\n concatTestID(testID, index.toString()),\n );\n }),\n };\n } else {\n switch (typeConfig?.type) {\n case DataTypeEnum.Object: {\n if (!Array.isArray(claim.value)) {\n return { attributes: [] };\n }\n return {\n attributes: (claim.value as Claim[]).map((nestedClaim, index) =>\n detailsCardAttributeFromClaim(nestedClaim, config, concatTestID(testID, index.toString())),\n ),\n };\n }\n case DataTypeEnum.Date: {\n const date = claim.value as string;\n return {\n testID: testID,\n value: formatDateLocalized(new Date(date)) ?? date,\n };\n }\n case DataTypeEnum.File: {\n if (typeConfig.params?.showAs === 'IMAGE') {\n return { image: { uri: claim.value as string }, testID: testID };\n } else {\n return { testID: testID, value: claim.value as string };\n }\n }\n default:\n return { testID: testID, value: String(claim.value) };\n }\n }\n};\n\nexport const detailsCardFromCredential = (\n credential: CredentialDetail,\n config: Config,\n testID: string,\n labels: CardLabels,\n): Omit<CredentialDetailsCardProps, 'expanded'> => {\n return detailsCardFromCredentialWithClaims(credential, credential.claims, config, testID, labels);\n};\n\nexport const detailsCardFromCredentialWithClaims = (\n credential: CredentialDetail,\n claims: Claim[],\n config: Config,\n testID: string,\n labels: CardLabels,\n): Omit<CredentialDetailsCardProps, 'expanded'> => {\n const attributes: CredentialAttribute[] = claims.map((claim, index) =>\n detailsCardAttributeFromClaim(claim, config, concatTestID(testID, 'attribute', index.toString())),\n );\n\n const card = getCredentialCardPropsFromCredential(\n credential,\n claims,\n config,\n undefined,\n concatTestID(testID, 'card'),\n labels,\n );\n\n return {\n attributes,\n card,\n };\n};\n\n// Converts a flat list of attributes into a nested structure\n// modifies the names to not include slashes\nexport const nestAttributes = (attributes: CredentialAttribute[]): CredentialAttribute[] => {\n const result: CredentialAttribute[] = [];\n\n for (const attribute of attributes) {\n const attributePath = attribute.path.split('/');\n if (attributePath.length === 0) {\n result.push(attribute);\n } else {\n const [first, ...rest] = attributePath;\n const parent = result.find((a) => a.name === first);\n if (parent) {\n insertAttributeInObject({ ...attribute, path: rest.join('/') }, parent);\n } else {\n result.push(nestAttributeInDummyObject(attribute));\n }\n }\n }\n\n return result;\n};\n\n// We nest the leaf node in a (one or more) nested object(s)\n// to make sure the tree structure is correctly rendered in proof request screens.\nconst nestAttributeInDummyObject = (attribute: CredentialAttribute): CredentialAttribute => {\n const pathParts = attribute.path.split('/');\n const [first, ...rest] = pathParts;\n if (!rest.length) {\n return attribute;\n }\n\n // The dummy object is not selectable, and contains a placeholder ID\n // the user can't interact with it.\n return {\n attributes: [nestAttributeInDummyObject({ ...attribute, path: rest.join('/') })],\n disabled: true,\n id: `${attribute.id}/${first}`,\n name: first,\n path: attribute.path,\n };\n};\n\n// Recursively insert an attribute into an object\n// Will create nested objects if necessary\nconst insertAttributeInObject = (attribute: CredentialAttribute, object: CredentialAttribute) => {\n const pathParts = attribute.path.split('/');\n const [first, ...rest] = pathParts;\n\n const nextParent = object.attributes?.find((a) => a.name === first);\n\n if (!nextParent) {\n object.attributes?.push(nestAttributeInDummyObject(attribute));\n } else {\n insertAttributeInObject({ ...attribute, path: rest.join('/') }, nextParent);\n }\n};\n\nfunction parseBase64Image(image: string | undefined) {\n return image ? '__BASE64IMAGE__' : '';\n}\n\nexport function getCredentialSchemaWithoutImages(credentialSchema: CredentialSchema) {\n return {\n ...credentialSchema,\n layoutProperties: {\n ...credentialSchema.layoutProperties,\n background: {\n ...credentialSchema.layoutProperties?.background,\n image: parseBase64Image(credentialSchema.layoutProperties?.background?.image),\n },\n logo: {\n ...credentialSchema.layoutProperties?.logo,\n image: parseBase64Image(credentialSchema.layoutProperties?.logo?.image),\n },\n },\n };\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_reactNativeOneCore","require","_icons","_date","_testID","_credentialImages","ValidityState","exports","getValidityState","credential","state","CredentialStateEnum","REVOKED","Revoked","SUSPENDED","Suspended","Valid","supportsSelectiveDisclosure","config","_formatConfig$capabil","formatConfig","format","schema","Boolean","capabilities","features","includes","FormatFeatureEnum","SelectiveDisclosure","undefined","findClaimByPathParts","path","claims","length","first","second","rest","claim","find","c","key","dataType","DataTypeEnum","Object","value","findClaimByPath","split","formatCredentialDetail","testID","_attributeValue$value","attributeValue","detailsCardAttributeValueFromClaim","hasMsoValidityIssues","mdocMsoValidity","mdocMsoValidityIssue","nextUpdate","Date","cardHeaderFromCredential","labels","_formatDateTimeLocali","_layoutProperties$log","_layoutProperties$log2","_layoutProperties$log3","credentialDetailPrimary","formatDateTimeLocalized","issuanceDate","credentialDetailSecondary","credentialDetailErrorColor","credentialDetailTestID","statusIcon","layoutProperties","suspendEndDate","suspendedUntil","suspended","concatTestID","CredentialWarningIcon","revoked","CredentialErrorIcon","validityIssues","primary","primaryAttribute","secondary","secondaryAttribute","color","logo","backgroundColor","credentialName","name","icon","image","imageSource","uri","iconLabelColor","fontColor","getCredentialCardPropsFromCredential","notice","_layoutProperties$bac","_layoutProperties$bac2","text","validityIssuesNotice","noticeIcon","CredentialNoticeWarningIcon","result","cardCarouselImages","getCarouselImagesFromClaims","cardImage","background","header","detailsCardAttributeFromClaim","id","pop","typeConfig","datatype","array","values","map","arrayValue","index","toString","type","Array","isArray","attributes","nestedClaim","_formatDateLocalized","String","date","formatDateLocalized","File","_typeConfig$params","params","showAs","detailsCardFromCredential","detailsCardFromCredentialWithClaims","card","nestAttributes","attribute","attributePath","push","parent","a","insertAttributeInObject","join","nestAttributeInDummyObject","pathParts","disabled","object","_object$attributes","nextParent","_object$attributes2","parseBase64Image","getCredentialSchemaWithoutImages","credentialSchema","_credentialSchema$lay","_credentialSchema$lay2","_credentialSchema$lay3","_credentialSchema$lay4"],"sources":["credential.ts"],"sourcesContent":["import {\n Claim,\n Config,\n CredentialDetail,\n CredentialListItem,\n CredentialSchema,\n CredentialStateEnum,\n DataTypeEnum,\n FormatFeatureEnum,\n} from '@procivis/react-native-one-core';\n\nimport {\n CredentialAttribute,\n CredentialAttributeValue,\n CredentialCardProps,\n CredentialDetailsCardProps,\n CredentialHeaderProps,\n} from '../../ui-components/credential';\nimport { CredentialCardNotice } from '../../ui-components/credential/card/credential-card';\nimport { CredentialErrorIcon, CredentialNoticeWarningIcon, CredentialWarningIcon } from '../../ui-components/icons';\nimport { formatDateLocalized, formatDateTimeLocalized } from '../date';\nimport { concatTestID } from '../testID';\nimport { getCarouselImagesFromClaims } from './credential-images';\n\nexport enum ValidityState {\n Revoked = 'revoked',\n Suspended = 'suspended',\n Valid = 'valid',\n}\n\nexport const getValidityState = (credential: CredentialListItem | undefined) => {\n if (credential?.state === CredentialStateEnum.REVOKED) {\n return ValidityState.Revoked;\n }\n if (credential?.state === CredentialStateEnum.SUSPENDED) {\n return ValidityState.Suspended;\n }\n return ValidityState.Valid;\n};\n\nexport const supportsSelectiveDisclosure = (credential: CredentialListItem | undefined, config: Config | undefined) => {\n const formatConfig = credential && config?.format[credential.schema.format];\n return formatConfig\n ? Boolean(formatConfig.capabilities?.features?.includes(FormatFeatureEnum.SelectiveDisclosure))\n : undefined;\n};\n\nconst findClaimByPathParts = (path: string[], claims?: Claim[]): Claim | undefined => {\n if (!claims?.length) {\n return undefined;\n }\n const [first, second, ...rest] = path;\n const claim = claims.find((c) => c.key === first);\n if (claim === undefined || second === undefined || claim.dataType !== DataTypeEnum.Object) {\n return claim;\n }\n\n return findClaimByPathParts([`${first}/${second}`, ...rest], claim.value as Claim[]);\n};\n\nexport const findClaimByPath = (path: string | undefined, claims: Claim[] | undefined) =>\n path ? findClaimByPathParts(path.split('/'), claims) : undefined;\n\nconst formatCredentialDetail = (claim: Claim, config: Config, testID: string): string => {\n const attributeValue = detailsCardAttributeValueFromClaim(claim, config, testID);\n return attributeValue.value ?? '';\n};\n\nexport const hasMsoValidityIssues = (credential: CredentialDetail): boolean => {\n const mdocMsoValidity: { nextUpdate: string } | undefined =\n 'mdocMsoValidity' in credential ? (credential.mdocMsoValidity as { nextUpdate: string }) : undefined;\n\n const mdocMsoValidityIssue = Boolean(\n mdocMsoValidity?.nextUpdate && new Date(mdocMsoValidity.nextUpdate) < new Date(),\n );\n\n return mdocMsoValidityIssue;\n};\n\nexport type CardHeaderLabels = {\n validityIssues: string;\n revoked: string;\n suspended: string;\n suspendedUntil: (date: string) => string;\n};\n\nexport const cardHeaderFromCredential = (\n credential: CredentialDetail,\n claims: Claim[] = [],\n config: Config,\n testID: string,\n labels: CardHeaderLabels,\n): Omit<CredentialHeaderProps, 'style'> => {\n let credentialDetailPrimary = formatDateTimeLocalized(new Date(credential.issuanceDate)) ?? '';\n\n let credentialDetailSecondary: string | undefined;\n let credentialDetailErrorColor: boolean | undefined;\n let credentialDetailTestID: string | undefined;\n let statusIcon;\n\n const { layoutProperties } = credential.schema;\n\n switch (credential.state) {\n case CredentialStateEnum.SUSPENDED:\n credentialDetailPrimary = credential.suspendEndDate\n ? labels.suspendedUntil(formatDateTimeLocalized(new Date(credential.suspendEndDate))!)\n : labels.suspended;\n credentialDetailTestID = concatTestID(testID, 'suspended');\n statusIcon = CredentialWarningIcon;\n break;\n case CredentialStateEnum.REVOKED:\n credentialDetailPrimary = labels.revoked;\n credentialDetailErrorColor = true;\n credentialDetailTestID = concatTestID(testID, 'revoked');\n statusIcon = CredentialErrorIcon;\n break;\n default: {\n if (hasMsoValidityIssues(credential)) {\n credentialDetailPrimary = labels.validityIssues;\n credentialDetailTestID = concatTestID(testID, 'validity-issue');\n statusIcon = CredentialWarningIcon;\n } else {\n const primary = findClaimByPath(layoutProperties?.primaryAttribute, claims);\n\n if (primary) {\n credentialDetailPrimary = formatCredentialDetail(primary, config, concatTestID(testID, 'primary'));\n }\n\n const secondary = findClaimByPath(layoutProperties?.secondaryAttribute, claims);\n\n if (secondary) {\n credentialDetailSecondary = formatCredentialDetail(secondary, config, concatTestID(testID, 'secondary'));\n }\n\n credentialDetailTestID = concatTestID(testID, 'detail');\n }\n break;\n }\n }\n return {\n color: layoutProperties?.logo?.backgroundColor,\n credentialDetailErrorColor,\n credentialDetailPrimary,\n credentialDetailSecondary,\n credentialDetailTestID,\n credentialName: credential.schema.name,\n icon: layoutProperties?.logo?.image\n ? {\n imageSource: {\n uri: layoutProperties.logo.image,\n },\n }\n : undefined,\n iconLabelColor: layoutProperties?.logo?.fontColor,\n statusIcon,\n testID,\n };\n};\n\nexport type CardLabels = CardHeaderLabels & {\n validityIssuesNotice: string;\n};\n\nexport const getCredentialCardPropsFromCredential = (\n credential: CredentialDetail,\n claims: Claim[] = [],\n config: Config,\n notice: CredentialCardNotice | undefined,\n testID: string,\n labels: CardLabels,\n): Omit<CredentialCardProps, 'onHeaderPress' | 'style'> => {\n const { layoutProperties } = credential.schema;\n\n if (hasMsoValidityIssues(credential)) {\n notice = {\n text: labels.validityIssuesNotice,\n noticeIcon: CredentialNoticeWarningIcon,\n };\n }\n\n const result: Omit<CredentialCardProps, 'onHeaderPress' | 'style'> = {\n cardCarouselImages: getCarouselImagesFromClaims(claims, layoutProperties, concatTestID(testID, 'carousel')),\n cardImage: layoutProperties?.background?.image\n ? { imageSource: { uri: layoutProperties.background.image } }\n : undefined,\n color: layoutProperties?.background?.color,\n header: cardHeaderFromCredential(credential, claims, config, concatTestID(testID, 'header'), labels),\n testID,\n notice,\n };\n\n return result;\n};\n\nexport const detailsCardAttributeFromClaim = (claim: Claim, config: Config, testID: string): CredentialAttribute => {\n const value = detailsCardAttributeValueFromClaim(claim, config, testID);\n return {\n id: claim.id,\n name: claim.key.split('/').pop(),\n path: claim.key,\n ...value,\n };\n};\n\nconst detailsCardAttributeValueFromClaim = (claim: Claim, config: Config, testID: string): CredentialAttributeValue => {\n const typeConfig = config?.datatype[claim.dataType];\n\n if (claim.array) {\n return {\n values: (claim.value || []).map((arrayValue, index) => {\n return detailsCardAttributeFromClaim(\n {\n ...arrayValue,\n id: `${arrayValue.id}/${index}`,\n },\n config,\n concatTestID(testID, index.toString()),\n );\n }),\n };\n } else {\n switch (typeConfig?.type) {\n case DataTypeEnum.Object: {\n if (!Array.isArray(claim.value)) {\n return { attributes: [] };\n }\n return {\n attributes: (claim.value as Claim[]).map((nestedClaim, index) =>\n detailsCardAttributeFromClaim(nestedClaim, config, concatTestID(testID, index.toString())),\n ),\n };\n }\n case DataTypeEnum.Date: {\n if (!claim.value) {\n // Don't try to parse empty values (which will return \"Invalid Date\")\n return { testID: testID, value: String(claim.value) };\n }\n const date = claim.value as string;\n return {\n testID: testID,\n value: formatDateLocalized(new Date(date)) ?? date,\n };\n }\n case DataTypeEnum.File: {\n if (typeConfig.params?.showAs === 'IMAGE') {\n return { image: { uri: claim.value as string }, testID: testID };\n } else {\n return { testID: testID, value: claim.value as string };\n }\n }\n default:\n return { testID: testID, value: String(claim.value) };\n }\n }\n};\n\nexport const detailsCardFromCredential = (\n credential: CredentialDetail,\n config: Config,\n testID: string,\n labels: CardLabels,\n): Omit<CredentialDetailsCardProps, 'expanded'> => {\n return detailsCardFromCredentialWithClaims(credential, credential.claims, config, testID, labels);\n};\n\nexport const detailsCardFromCredentialWithClaims = (\n credential: CredentialDetail,\n claims: Claim[],\n config: Config,\n testID: string,\n labels: CardLabels,\n): Omit<CredentialDetailsCardProps, 'expanded'> => {\n const attributes: CredentialAttribute[] = claims.map((claim, index) =>\n detailsCardAttributeFromClaim(claim, config, concatTestID(testID, 'attribute', index.toString())),\n );\n\n const card = getCredentialCardPropsFromCredential(\n credential,\n claims,\n config,\n undefined,\n concatTestID(testID, 'card'),\n labels,\n );\n\n return {\n attributes,\n card,\n };\n};\n\n// Converts a flat list of attributes into a nested structure\n// modifies the names to not include slashes\nexport const nestAttributes = (attributes: CredentialAttribute[]): CredentialAttribute[] => {\n const result: CredentialAttribute[] = [];\n\n for (const attribute of attributes) {\n const attributePath = attribute.path.split('/');\n if (attributePath.length === 0) {\n result.push(attribute);\n } else {\n const [first, ...rest] = attributePath;\n const parent = result.find((a) => a.name === first);\n if (parent) {\n insertAttributeInObject({ ...attribute, path: rest.join('/') }, parent);\n } else {\n result.push(nestAttributeInDummyObject(attribute));\n }\n }\n }\n\n return result;\n};\n\n// We nest the leaf node in a (one or more) nested object(s)\n// to make sure the tree structure is correctly rendered in proof request screens.\nconst nestAttributeInDummyObject = (attribute: CredentialAttribute): CredentialAttribute => {\n const pathParts = attribute.path.split('/');\n const [first, ...rest] = pathParts;\n if (!rest.length) {\n return attribute;\n }\n\n // The dummy object is not selectable, and contains a placeholder ID\n // the user can't interact with it.\n return {\n attributes: [nestAttributeInDummyObject({ ...attribute, path: rest.join('/') })],\n disabled: true,\n id: `${attribute.id}/${first}`,\n name: first,\n path: attribute.path,\n };\n};\n\n// Recursively insert an attribute into an object\n// Will create nested objects if necessary\nconst insertAttributeInObject = (attribute: CredentialAttribute, object: CredentialAttribute) => {\n const pathParts = attribute.path.split('/');\n const [first, ...rest] = pathParts;\n\n const nextParent = object.attributes?.find((a) => a.name === first);\n\n if (!nextParent) {\n object.attributes?.push(nestAttributeInDummyObject(attribute));\n } else {\n insertAttributeInObject({ ...attribute, path: rest.join('/') }, nextParent);\n }\n};\n\nfunction parseBase64Image(image: string | undefined) {\n return image ? '__BASE64IMAGE__' : '';\n}\n\nexport function getCredentialSchemaWithoutImages(credentialSchema: CredentialSchema) {\n return {\n ...credentialSchema,\n layoutProperties: {\n ...credentialSchema.layoutProperties,\n background: {\n ...credentialSchema.layoutProperties?.background,\n image: parseBase64Image(credentialSchema.layoutProperties?.background?.image),\n },\n logo: {\n ...credentialSchema.layoutProperties?.logo,\n image: parseBase64Image(credentialSchema.layoutProperties?.logo?.image),\n },\n },\n };\n}\n"],"mappings":"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","ignoreList":[]}
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.getQueryKeyFromProofSchemaListQueryParams = exports.getQueryKeyFromProofListQueryParams = exports.getQueryKeyFromHistoryListQueryParams = exports.getQueryKeyFromDidListQueryParams = exports.getQueryKeyFromCredentialSchemaListQueryParams = exports.getQueryKeyFromCredentialListQueryParams = void 0;
6
+ exports.getQueryKeyFromProofSchemaListQueryParams = exports.getQueryKeyFromProofListQueryParams = exports.getQueryKeyFromIdentifierListQueryParams = exports.getQueryKeyFromHistoryListQueryParams = exports.getQueryKeyFromDidListQueryParams = exports.getQueryKeyFromCredentialSchemaListQueryParams = exports.getQueryKeyFromCredentialListQueryParams = void 0;
7
7
  const getQueryKeyFromCredentialListQueryParams = queryParams => {
8
8
  if (!queryParams) {
9
9
  return [];
@@ -27,18 +27,18 @@ const getQueryKeyFromHistoryListQueryParams = queryParams => {
27
27
  }
28
28
  const {
29
29
  entityId,
30
- action,
30
+ actions,
31
31
  entityTypes,
32
32
  createdDateFrom,
33
33
  createdDateTo,
34
- didId,
34
+ identifierId,
35
35
  credentialId,
36
36
  credentialSchemaId,
37
37
  searchText,
38
38
  searchType,
39
39
  proofSchemaId
40
40
  } = queryParams;
41
- return [entityId, action, entityTypes, createdDateFrom, createdDateTo, didId, credentialId, credentialSchemaId, searchText, searchType, proofSchemaId];
41
+ return [entityId, actions, entityTypes, createdDateFrom, createdDateTo, identifierId, credentialId, credentialSchemaId, searchText, searchType, proofSchemaId];
42
42
  };
43
43
  exports.getQueryKeyFromHistoryListQueryParams = getQueryKeyFromHistoryListQueryParams;
44
44
  const getQueryKeyFromCredentialSchemaListQueryParams = queryParams => {
@@ -101,4 +101,22 @@ const getQueryKeyFromDidListQueryParams = queryParams => {
101
101
  return [name, did, type, deactivated, keyAlgorithms, keyRoles];
102
102
  };
103
103
  exports.getQueryKeyFromDidListQueryParams = getQueryKeyFromDidListQueryParams;
104
+ const getQueryKeyFromIdentifierListQueryParams = queryParams => {
105
+ if (!queryParams) {
106
+ return [];
107
+ }
108
+ const {
109
+ isRemote,
110
+ didMethods,
111
+ state,
112
+ keyStorages,
113
+ keyAlgorithms,
114
+ exact,
115
+ keyRoles,
116
+ types,
117
+ name
118
+ } = queryParams;
119
+ return [name, types, state, isRemote, didMethods, keyStorages, keyAlgorithms, exact, keyRoles];
120
+ };
121
+ exports.getQueryKeyFromIdentifierListQueryParams = getQueryKeyFromIdentifierListQueryParams;
104
122
  //# sourceMappingURL=query.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["getQueryKeyFromCredentialListQueryParams","queryParams","name","sort","sortDirection","exact","role","ids","status","include","exports","getQueryKeyFromHistoryListQueryParams","entityId","action","entityTypes","createdDateFrom","createdDateTo","didId","credentialId","credentialSchemaId","searchText","searchType","proofSchemaId","getQueryKeyFromCredentialSchemaListQueryParams","getQueryKeyFromProofSchemaListQueryParams","getQueryKeyFromProofListQueryParams","proofStates","proofSchemaIds","getQueryKeyFromDidListQueryParams","did","type","deactivated","keyAlgorithms","keyRoles"],"sources":["query.tsx"],"sourcesContent":["import {\n CredentialListQuery,\n CredentialSchemaListQuery,\n DidListQuery,\n HistoryListQuery,\n ProofListQuery,\n ProofSchemaListQuery,\n} from '@procivis/react-native-one-core';\n\nexport const getQueryKeyFromCredentialListQueryParams = (queryParams?: Partial<CredentialListQuery>) => {\n if (!queryParams) {\n return [];\n }\n const { name, sort, sortDirection, exact, role, ids, status, include } = queryParams;\n return [name, sort, sortDirection, exact, role, ids, status, include];\n};\n\nexport const getQueryKeyFromHistoryListQueryParams = (queryParams?: Partial<HistoryListQuery>) => {\n if (!queryParams) {\n return [];\n }\n\n const {\n entityId,\n action,\n entityTypes,\n createdDateFrom,\n createdDateTo,\n didId,\n credentialId,\n credentialSchemaId,\n searchText,\n searchType,\n proofSchemaId,\n } = queryParams;\n return [\n entityId,\n action,\n entityTypes,\n createdDateFrom,\n createdDateTo,\n didId,\n credentialId,\n credentialSchemaId,\n searchText,\n searchType,\n proofSchemaId,\n ];\n};\n\nexport const getQueryKeyFromCredentialSchemaListQueryParams = (queryParams?: Partial<CredentialSchemaListQuery>) => {\n if (!queryParams) {\n return [];\n }\n const { name, sort, sortDirection, exact, ids, include } = queryParams;\n return [name, sort, sortDirection, exact, ids, include];\n};\n\nexport const getQueryKeyFromProofSchemaListQueryParams = (queryParams?: Partial<ProofSchemaListQuery>) => {\n if (!queryParams) {\n return [];\n }\n const { name, sort, sortDirection, exact, ids } = queryParams;\n return [name, sort, sortDirection, exact, ids];\n};\n\nexport const getQueryKeyFromProofListQueryParams = (queryParams?: Partial<ProofListQuery>) => {\n if (!queryParams) {\n return [];\n }\n const { name, sort, sortDirection, exact, ids, proofStates, proofSchemaIds } = queryParams;\n return [name, sort, sortDirection, exact, ids, proofStates, proofSchemaIds];\n};\n\nexport const getQueryKeyFromDidListQueryParams = (queryParams?: Partial<DidListQuery>) => {\n if (!queryParams) {\n return [];\n }\n\n const { name, did, type, deactivated, keyAlgorithms, keyRoles } = queryParams;\n return [name, did, type, deactivated, keyAlgorithms, keyRoles];\n};\n"],"mappings":";;;;;;AASO,MAAMA,wCAAwC,GAAIC,WAA0C,IAAK;EACtG,IAAI,CAACA,WAAW,EAAE;IAChB,OAAO,EAAE;EACX;EACA,MAAM;IAAEC,IAAI;IAAEC,IAAI;IAAEC,aAAa;IAAEC,KAAK;IAAEC,IAAI;IAAEC,GAAG;IAAEC,MAAM;IAAEC;EAAQ,CAAC,GAAGR,WAAW;EACpF,OAAO,CAACC,IAAI,EAAEC,IAAI,EAAEC,aAAa,EAAEC,KAAK,EAAEC,IAAI,EAAEC,GAAG,EAAEC,MAAM,EAAEC,OAAO,CAAC;AACvE,CAAC;AAACC,OAAA,CAAAV,wCAAA,GAAAA,wCAAA;AAEK,MAAMW,qCAAqC,GAAIV,WAAuC,IAAK;EAChG,IAAI,CAACA,WAAW,EAAE;IAChB,OAAO,EAAE;EACX;EAEA,MAAM;IACJW,QAAQ;IACRC,MAAM;IACNC,WAAW;IACXC,eAAe;IACfC,aAAa;IACbC,KAAK;IACLC,YAAY;IACZC,kBAAkB;IAClBC,UAAU;IACVC,UAAU;IACVC;EACF,CAAC,GAAGrB,WAAW;EACf,OAAO,CACLW,QAAQ,EACRC,MAAM,EACNC,WAAW,EACXC,eAAe,EACfC,aAAa,EACbC,KAAK,EACLC,YAAY,EACZC,kBAAkB,EAClBC,UAAU,EACVC,UAAU,EACVC,aAAa,CACd;AACH,CAAC;AAACZ,OAAA,CAAAC,qCAAA,GAAAA,qCAAA;AAEK,MAAMY,8CAA8C,GAAItB,WAAgD,IAAK;EAClH,IAAI,CAACA,WAAW,EAAE;IAChB,OAAO,EAAE;EACX;EACA,MAAM;IAAEC,IAAI;IAAEC,IAAI;IAAEC,aAAa;IAAEC,KAAK;IAAEE,GAAG;IAAEE;EAAQ,CAAC,GAAGR,WAAW;EACtE,OAAO,CAACC,IAAI,EAAEC,IAAI,EAAEC,aAAa,EAAEC,KAAK,EAAEE,GAAG,EAAEE,OAAO,CAAC;AACzD,CAAC;AAACC,OAAA,CAAAa,8CAAA,GAAAA,8CAAA;AAEK,MAAMC,yCAAyC,GAAIvB,WAA2C,IAAK;EACxG,IAAI,CAACA,WAAW,EAAE;IAChB,OAAO,EAAE;EACX;EACA,MAAM;IAAEC,IAAI;IAAEC,IAAI;IAAEC,aAAa;IAAEC,KAAK;IAAEE;EAAI,CAAC,GAAGN,WAAW;EAC7D,OAAO,CAACC,IAAI,EAAEC,IAAI,EAAEC,aAAa,EAAEC,KAAK,EAAEE,GAAG,CAAC;AAChD,CAAC;AAACG,OAAA,CAAAc,yCAAA,GAAAA,yCAAA;AAEK,MAAMC,mCAAmC,GAAIxB,WAAqC,IAAK;EAC5F,IAAI,CAACA,WAAW,EAAE;IAChB,OAAO,EAAE;EACX;EACA,MAAM;IAAEC,IAAI;IAAEC,IAAI;IAAEC,aAAa;IAAEC,KAAK;IAAEE,GAAG;IAAEmB,WAAW;IAAEC;EAAe,CAAC,GAAG1B,WAAW;EAC1F,OAAO,CAACC,IAAI,EAAEC,IAAI,EAAEC,aAAa,EAAEC,KAAK,EAAEE,GAAG,EAAEmB,WAAW,EAAEC,cAAc,CAAC;AAC7E,CAAC;AAACjB,OAAA,CAAAe,mCAAA,GAAAA,mCAAA;AAEK,MAAMG,iCAAiC,GAAI3B,WAAmC,IAAK;EACxF,IAAI,CAACA,WAAW,EAAE;IAChB,OAAO,EAAE;EACX;EAEA,MAAM;IAAEC,IAAI;IAAE2B,GAAG;IAAEC,IAAI;IAAEC,WAAW;IAAEC,aAAa;IAAEC;EAAS,CAAC,GAAGhC,WAAW;EAC7E,OAAO,CAACC,IAAI,EAAE2B,GAAG,EAAEC,IAAI,EAAEC,WAAW,EAAEC,aAAa,EAAEC,QAAQ,CAAC;AAChE,CAAC;AAACvB,OAAA,CAAAkB,iCAAA,GAAAA,iCAAA","ignoreList":[]}
1
+ {"version":3,"names":["getQueryKeyFromCredentialListQueryParams","queryParams","name","sort","sortDirection","exact","role","ids","status","include","exports","getQueryKeyFromHistoryListQueryParams","entityId","actions","entityTypes","createdDateFrom","createdDateTo","identifierId","credentialId","credentialSchemaId","searchText","searchType","proofSchemaId","getQueryKeyFromCredentialSchemaListQueryParams","getQueryKeyFromProofSchemaListQueryParams","getQueryKeyFromProofListQueryParams","proofStates","proofSchemaIds","getQueryKeyFromDidListQueryParams","did","type","deactivated","keyAlgorithms","keyRoles","getQueryKeyFromIdentifierListQueryParams","isRemote","didMethods","state","keyStorages","types"],"sources":["query.tsx"],"sourcesContent":["import {\n CredentialListQuery,\n CredentialSchemaListQuery,\n DidListQuery,\n HistoryListQuery,\n IdentifierListQuery,\n ProofListQuery,\n ProofSchemaListQuery,\n} from '@procivis/react-native-one-core';\n\nexport const getQueryKeyFromCredentialListQueryParams = (queryParams?: Partial<CredentialListQuery>) => {\n if (!queryParams) {\n return [];\n }\n const { name, sort, sortDirection, exact, role, ids, status, include } = queryParams;\n return [name, sort, sortDirection, exact, role, ids, status, include];\n};\n\nexport const getQueryKeyFromHistoryListQueryParams = (queryParams?: Partial<HistoryListQuery>) => {\n if (!queryParams) {\n return [];\n }\n\n const {\n entityId,\n actions,\n entityTypes,\n createdDateFrom,\n createdDateTo,\n identifierId,\n credentialId,\n credentialSchemaId,\n searchText,\n searchType,\n proofSchemaId,\n } = queryParams;\n return [\n entityId,\n actions,\n entityTypes,\n createdDateFrom,\n createdDateTo,\n identifierId,\n credentialId,\n credentialSchemaId,\n searchText,\n searchType,\n proofSchemaId,\n ];\n};\n\nexport const getQueryKeyFromCredentialSchemaListQueryParams = (queryParams?: Partial<CredentialSchemaListQuery>) => {\n if (!queryParams) {\n return [];\n }\n const { name, sort, sortDirection, exact, ids, include } = queryParams;\n return [name, sort, sortDirection, exact, ids, include];\n};\n\nexport const getQueryKeyFromProofSchemaListQueryParams = (queryParams?: Partial<ProofSchemaListQuery>) => {\n if (!queryParams) {\n return [];\n }\n const { name, sort, sortDirection, exact, ids } = queryParams;\n return [name, sort, sortDirection, exact, ids];\n};\n\nexport const getQueryKeyFromProofListQueryParams = (queryParams?: Partial<ProofListQuery>) => {\n if (!queryParams) {\n return [];\n }\n const { name, sort, sortDirection, exact, ids, proofStates, proofSchemaIds } = queryParams;\n return [name, sort, sortDirection, exact, ids, proofStates, proofSchemaIds];\n};\n\nexport const getQueryKeyFromDidListQueryParams = (queryParams?: Partial<DidListQuery>) => {\n if (!queryParams) {\n return [];\n }\n\n const { name, did, type, deactivated, keyAlgorithms, keyRoles } = queryParams;\n return [name, did, type, deactivated, keyAlgorithms, keyRoles];\n};\n\nexport const getQueryKeyFromIdentifierListQueryParams = (queryParams?: Partial<IdentifierListQuery>) => {\n if (!queryParams) {\n return [];\n }\n\n const { isRemote, didMethods, state, keyStorages, keyAlgorithms, exact, keyRoles, types, name } = queryParams;\n return [name, types, state, isRemote, didMethods, keyStorages, keyAlgorithms, exact, keyRoles];\n};\n"],"mappings":"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","ignoreList":[]}
@@ -1,10 +1,11 @@
1
1
  function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
2
2
  import React, { memo } from 'react';
3
- import { View } from 'react-native';
3
+ import { StyleSheet, View } from 'react-native';
4
4
  import { NerdModeItem } from '../../ui-components/nerd-view';
5
5
  import { EntityType } from '../../ui-components/screens/nerd-mode-screen';
6
6
  import { addElementIf } from '../../utils/array';
7
7
  const EntityAttributes = ({
8
+ certificate,
8
9
  did,
9
10
  trustEntity,
10
11
  trusted,
@@ -21,22 +22,34 @@ const EntityAttributes = ({
21
22
  highlightedText: trustEntity === null || trustEntity === void 0 ? void 0 : trustEntity.trustAnchor.name,
22
23
  testID: 'trustRegistry'
23
24
  }), ...addElementIf(Boolean(did), {
24
- attributeKey: entityType === EntityType.CredentialEntity ? labels.issuerDid : labels.entityDid,
25
+ attributeKey: entityType === EntityType.CredentialEntity ? labels.issuerIdentifier : labels.entityIdentifier,
25
26
  attributeText: identifier,
26
27
  canBeCopied: true,
27
28
  highlightedText: didMethod,
28
29
  testID: 'issuerDID'
30
+ }), ...addElementIf(Boolean(certificate), {
31
+ attributeKey: entityType === EntityType.CredentialEntity ? labels.issuerIdentifier : labels.entityIdentifier,
32
+ attributeText: certificate,
33
+ canBeCopied: true,
34
+ testID: 'issuerCertificate'
29
35
  }), ...addElementIf(trusted && Boolean(trustEntity === null || trustEntity === void 0 ? void 0 : trustEntity.role), {
30
36
  attributeKey: labels.role,
31
37
  highlightedText: trustEntity === null || trustEntity === void 0 ? void 0 : trustEntity.role,
32
38
  testID: 'role'
33
39
  })];
34
- return /*#__PURE__*/React.createElement(View, null, attributes.map(attribute => /*#__PURE__*/React.createElement(NerdModeItem, _extends({
40
+ return /*#__PURE__*/React.createElement(View, {
41
+ style: styles.wrapper
42
+ }, attributes.map(attribute => /*#__PURE__*/React.createElement(NerdModeItem, _extends({
35
43
  key: attribute.attributeKey
36
44
  }, attribute, {
37
45
  labels: labels,
38
46
  onCopyToClipboard: onCopyToClipboard
39
47
  }))));
40
48
  };
49
+ const styles = StyleSheet.create({
50
+ wrapper: {
51
+ marginBottom: 20
52
+ }
53
+ });
41
54
  export default /*#__PURE__*/memo(EntityAttributes);
42
55
  //# sourceMappingURL=entity-attributes.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["React","memo","View","NerdModeItem","EntityType","addElementIf","EntityAttributes","did","trustEntity","trusted","labels","entityType","onCopyToClipboard","_did$split","didSections","split","identifier","pop","didMethod","length","join","attributes","attributeKey","trustRegistry","highlightedText","trustAnchor","name","testID","Boolean","CredentialEntity","issuerDid","entityDid","attributeText","canBeCopied","role","createElement","map","attribute","_extends","key"],"sources":["entity-attributes.tsx"],"sourcesContent":["import { TrustEntity } from '@procivis/react-native-one-core';\nimport React, { FC, memo } from 'react';\nimport { View } from 'react-native';\n\nimport { NerdModeItem } from '../../ui-components/nerd-view';\nimport { AttributesLabels, EntityType } from '../../ui-components/screens/nerd-mode-screen';\nimport { addElementIf } from '../../utils/array';\n\ninterface EntityAttributesProps {\n did?: string;\n trustEntity?: TrustEntity;\n trusted: boolean;\n labels: AttributesLabels;\n onCopyToClipboard: (value: string) => void;\n entityType: EntityType;\n}\n\nconst EntityAttributes: FC<EntityAttributesProps> = ({\n did,\n trustEntity,\n trusted,\n labels,\n entityType,\n onCopyToClipboard,\n}) => {\n const didSections = did?.split(':') ?? [];\n const identifier = didSections.pop();\n const didMethod = didSections.length ? didSections.join(':') + ':' : '';\n\n const attributes = [\n ...addElementIf(trusted, {\n attributeKey: labels.trustRegistry,\n highlightedText: trustEntity?.trustAnchor.name,\n testID: 'trustRegistry',\n }),\n ...addElementIf(Boolean(did), {\n attributeKey: entityType === EntityType.CredentialEntity ? labels.issuerDid : labels.entityDid,\n attributeText: identifier,\n canBeCopied: true,\n highlightedText: didMethod,\n testID: 'issuerDID',\n }),\n ...addElementIf(trusted && Boolean(trustEntity?.role), {\n attributeKey: labels.role,\n highlightedText: trustEntity?.role,\n testID: 'role',\n }),\n ];\n return (\n <View>\n {attributes.map((attribute) => (\n <NerdModeItem\n key={attribute.attributeKey}\n {...attribute}\n labels={labels}\n onCopyToClipboard={onCopyToClipboard}\n />\n ))}\n </View>\n );\n};\n\nexport default memo(EntityAttributes);\n"],"mappings":";AACA,OAAOA,KAAK,IAAQC,IAAI,QAAQ,OAAO;AACvC,SAASC,IAAI,QAAQ,cAAc;AAEnC,SAASC,YAAY,QAAQ,+BAA+B;AAC5D,SAA2BC,UAAU,QAAQ,8CAA8C;AAC3F,SAASC,YAAY,QAAQ,mBAAmB;AAWhD,MAAMC,gBAA2C,GAAGA,CAAC;EACnDC,GAAG;EACHC,WAAW;EACXC,OAAO;EACPC,MAAM;EACNC,UAAU;EACVC;AACF,CAAC,KAAK;EAAA,IAAAC,UAAA;EACJ,MAAMC,WAAW,IAAAD,UAAA,GAAGN,GAAG,aAAHA,GAAG,uBAAHA,GAAG,CAAEQ,KAAK,CAAC,GAAG,CAAC,cAAAF,UAAA,cAAAA,UAAA,GAAI,EAAE;EACzC,MAAMG,UAAU,GAAGF,WAAW,CAACG,GAAG,CAAC,CAAC;EACpC,MAAMC,SAAS,GAAGJ,WAAW,CAACK,MAAM,GAAGL,WAAW,CAACM,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,EAAE;EAEvE,MAAMC,UAAU,GAAG,CACjB,GAAGhB,YAAY,CAACI,OAAO,EAAE;IACvBa,YAAY,EAAEZ,MAAM,CAACa,aAAa;IAClCC,eAAe,EAAEhB,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAEiB,WAAW,CAACC,IAAI;IAC9CC,MAAM,EAAE;EACV,CAAC,CAAC,EACF,GAAGtB,YAAY,CAACuB,OAAO,CAACrB,GAAG,CAAC,EAAE;IAC5Be,YAAY,EAAEX,UAAU,KAAKP,UAAU,CAACyB,gBAAgB,GAAGnB,MAAM,CAACoB,SAAS,GAAGpB,MAAM,CAACqB,SAAS;IAC9FC,aAAa,EAAEhB,UAAU;IACzBiB,WAAW,EAAE,IAAI;IACjBT,eAAe,EAAEN,SAAS;IAC1BS,MAAM,EAAE;EACV,CAAC,CAAC,EACF,GAAGtB,YAAY,CAACI,OAAO,IAAImB,OAAO,CAACpB,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAE0B,IAAI,CAAC,EAAE;IACrDZ,YAAY,EAAEZ,MAAM,CAACwB,IAAI;IACzBV,eAAe,EAAEhB,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAE0B,IAAI;IAClCP,MAAM,EAAE;EACV,CAAC,CAAC,CACH;EACD,oBACE3B,KAAA,CAAAmC,aAAA,CAACjC,IAAI,QACFmB,UAAU,CAACe,GAAG,CAAEC,SAAS,iBACxBrC,KAAA,CAAAmC,aAAA,CAAChC,YAAY,EAAAmC,QAAA;IACXC,GAAG,EAAEF,SAAS,CAACf;EAAa,GACxBe,SAAS;IACb3B,MAAM,EAAEA,MAAO;IACfE,iBAAiB,EAAEA;EAAkB,EACtC,CACF,CACG,CAAC;AAEX,CAAC;AAED,4BAAeX,IAAI,CAACK,gBAAgB,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["React","memo","StyleSheet","View","NerdModeItem","EntityType","addElementIf","EntityAttributes","certificate","did","trustEntity","trusted","labels","entityType","onCopyToClipboard","_did$split","didSections","split","identifier","pop","didMethod","length","join","attributes","attributeKey","trustRegistry","highlightedText","trustAnchor","name","testID","Boolean","CredentialEntity","issuerIdentifier","entityIdentifier","attributeText","canBeCopied","role","createElement","style","styles","wrapper","map","attribute","_extends","key","create","marginBottom"],"sources":["entity-attributes.tsx"],"sourcesContent":["import { TrustEntity } from '@procivis/react-native-one-core';\nimport React, { FC, memo } from 'react';\nimport { StyleSheet, View } from 'react-native';\n\nimport { NerdModeItem } from '../../ui-components/nerd-view';\nimport { AttributesLabels, EntityType } from '../../ui-components/screens/nerd-mode-screen';\nimport { addElementIf } from '../../utils/array';\n\ninterface EntityAttributesProps {\n certificate?: string;\n did?: string;\n trustEntity?: TrustEntity;\n trusted: boolean;\n labels: AttributesLabels;\n onCopyToClipboard: (value: string) => void;\n entityType: EntityType;\n}\n\nconst EntityAttributes: FC<EntityAttributesProps> = ({\n certificate,\n did,\n trustEntity,\n trusted,\n labels,\n entityType,\n onCopyToClipboard,\n}) => {\n const didSections = did?.split(':') ?? [];\n const identifier = didSections.pop();\n const didMethod = didSections.length ? didSections.join(':') + ':' : '';\n\n const attributes = [\n ...addElementIf(trusted, {\n attributeKey: labels.trustRegistry,\n highlightedText: trustEntity?.trustAnchor.name,\n testID: 'trustRegistry',\n }),\n ...addElementIf(Boolean(did), {\n attributeKey: entityType === EntityType.CredentialEntity ? labels.issuerIdentifier : labels.entityIdentifier,\n attributeText: identifier,\n canBeCopied: true,\n highlightedText: didMethod,\n testID: 'issuerDID',\n }),\n ...addElementIf(Boolean(certificate), {\n attributeKey: entityType === EntityType.CredentialEntity ? labels.issuerIdentifier : labels.entityIdentifier,\n attributeText: certificate,\n canBeCopied: true,\n testID: 'issuerCertificate',\n }),\n ...addElementIf(trusted && Boolean(trustEntity?.role), {\n attributeKey: labels.role,\n highlightedText: trustEntity?.role,\n testID: 'role',\n }),\n ];\n return (\n <View style={styles.wrapper}>\n {attributes.map((attribute) => (\n <NerdModeItem\n key={attribute.attributeKey}\n {...attribute}\n labels={labels}\n onCopyToClipboard={onCopyToClipboard}\n />\n ))}\n </View>\n );\n};\n\nconst styles = StyleSheet.create({\n wrapper: {\n marginBottom: 20,\n }\n})\n\nexport default memo(EntityAttributes);\n"],"mappings":";AACA,OAAOA,KAAK,IAAQC,IAAI,QAAQ,OAAO;AACvC,SAASC,UAAU,EAAEC,IAAI,QAAQ,cAAc;AAE/C,SAASC,YAAY,QAAQ,+BAA+B;AAC5D,SAA2BC,UAAU,QAAQ,8CAA8C;AAC3F,SAASC,YAAY,QAAQ,mBAAmB;AAYhD,MAAMC,gBAA2C,GAAGA,CAAC;EACnDC,WAAW;EACXC,GAAG;EACHC,WAAW;EACXC,OAAO;EACPC,MAAM;EACNC,UAAU;EACVC;AACF,CAAC,KAAK;EAAA,IAAAC,UAAA;EACJ,MAAMC,WAAW,IAAAD,UAAA,GAAGN,GAAG,aAAHA,GAAG,uBAAHA,GAAG,CAAEQ,KAAK,CAAC,GAAG,CAAC,cAAAF,UAAA,cAAAA,UAAA,GAAI,EAAE;EACzC,MAAMG,UAAU,GAAGF,WAAW,CAACG,GAAG,CAAC,CAAC;EACpC,MAAMC,SAAS,GAAGJ,WAAW,CAACK,MAAM,GAAGL,WAAW,CAACM,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,EAAE;EAEvE,MAAMC,UAAU,GAAG,CACjB,GAAGjB,YAAY,CAACK,OAAO,EAAE;IACvBa,YAAY,EAAEZ,MAAM,CAACa,aAAa;IAClCC,eAAe,EAAEhB,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAEiB,WAAW,CAACC,IAAI;IAC9CC,MAAM,EAAE;EACV,CAAC,CAAC,EACF,GAAGvB,YAAY,CAACwB,OAAO,CAACrB,GAAG,CAAC,EAAE;IAC5Be,YAAY,EAAEX,UAAU,KAAKR,UAAU,CAAC0B,gBAAgB,GAAGnB,MAAM,CAACoB,gBAAgB,GAAGpB,MAAM,CAACqB,gBAAgB;IAC5GC,aAAa,EAAEhB,UAAU;IACzBiB,WAAW,EAAE,IAAI;IACjBT,eAAe,EAAEN,SAAS;IAC1BS,MAAM,EAAE;EACV,CAAC,CAAC,EACF,GAAGvB,YAAY,CAACwB,OAAO,CAACtB,WAAW,CAAC,EAAE;IACpCgB,YAAY,EAAEX,UAAU,KAAKR,UAAU,CAAC0B,gBAAgB,GAAGnB,MAAM,CAACoB,gBAAgB,GAAGpB,MAAM,CAACqB,gBAAgB;IAC5GC,aAAa,EAAE1B,WAAW;IAC1B2B,WAAW,EAAE,IAAI;IACjBN,MAAM,EAAE;EACV,CAAC,CAAC,EACF,GAAGvB,YAAY,CAACK,OAAO,IAAImB,OAAO,CAACpB,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAE0B,IAAI,CAAC,EAAE;IACrDZ,YAAY,EAAEZ,MAAM,CAACwB,IAAI;IACzBV,eAAe,EAAEhB,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAE0B,IAAI;IAClCP,MAAM,EAAE;EACV,CAAC,CAAC,CACH;EACD,oBACE7B,KAAA,CAAAqC,aAAA,CAAClC,IAAI;IAACmC,KAAK,EAAEC,MAAM,CAACC;EAAQ,GACzBjB,UAAU,CAACkB,GAAG,CAAEC,SAAS,iBACxB1C,KAAA,CAAAqC,aAAA,CAACjC,YAAY,EAAAuC,QAAA;IACXC,GAAG,EAAEF,SAAS,CAAClB;EAAa,GACxBkB,SAAS;IACb9B,MAAM,EAAEA,MAAO;IACfE,iBAAiB,EAAEA;EAAkB,EACtC,CACF,CACG,CAAC;AAEX,CAAC;AAED,MAAMyB,MAAM,GAAGrC,UAAU,CAAC2C,MAAM,CAAC;EAC/BL,OAAO,EAAE;IACPM,YAAY,EAAE;EAChB;AACF,CAAC,CAAC;AAEF,4BAAe7C,IAAI,CAACM,gBAAgB,CAAC","ignoreList":[]}
@@ -1,16 +1,15 @@
1
1
  function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
2
2
  import { TrustEntityRoleEnum, TrustEntityStateEnum } from '@procivis/react-native-one-core';
3
- import React, { memo, useMemo } from 'react';
3
+ import React, { memo } from 'react';
4
4
  import { View } from 'react-native';
5
- import EntityCluster from '../../ui-components/entity/entity-cluster';
6
- import { EntityTrustedIcon } from '../../ui-components/icons';
7
5
  import { useAppColorScheme } from '../../ui-components/theme/color-scheme-context';
8
- import { concatTestID } from '../../utils';
6
+ import { concatTestID, useIdentifierDetails } from '../../utils';
9
7
  import { useTrustEntity } from '../../utils/hooks/core/trust-entity';
10
8
  import EntityAttributes from './entity-attributes';
9
+ import EntityDetails from './entity-details';
11
10
  import EntityButtons from './EntityButtons';
12
11
  const EntityDetailsWithButtons = ({
13
- did,
12
+ identifier,
14
13
  entityLabels,
15
14
  attributesLabels,
16
15
  onCopyToClipboard,
@@ -19,57 +18,34 @@ const EntityDetailsWithButtons = ({
19
18
  testID,
20
19
  ...props
21
20
  }) => {
21
+ var _identifierDetail$cer, _identifierDetail$did;
22
22
  let {
23
23
  data
24
- } = useTrustEntity(did === null || did === void 0 ? void 0 : did.id);
24
+ } = useTrustEntity(identifier === null || identifier === void 0 ? void 0 : identifier.id);
25
+ let {
26
+ data: identifierDetail
27
+ } = useIdentifierDetails(identifier === null || identifier === void 0 ? void 0 : identifier.id);
25
28
  const trustEntity = data !== null && data !== void 0 ? data : undefined;
26
29
  const colorScheme = useAppColorScheme();
27
30
  const trusted = Boolean(trustEntity && trustEntity.state === TrustEntityStateEnum.ACTIVE && (trustEntity.role === TrustEntityRoleEnum.BOTH || trustEntity.role === role));
28
- const trustEntityName = useMemo(() => {
29
- if (!trustEntity || !trusted) {
30
- return role === TrustEntityRoleEnum.ISSUER ? entityLabels.unknownIssuer : entityLabels.unknownVerifier;
31
- }
32
- return trustEntity.name;
33
- }, [entityLabels, role, trustEntity, trusted]);
34
- const trustEntitySubline = useMemo(() => {
35
- if (!trusted) {
36
- return undefined;
37
- }
38
- return `${entityLabels.trusted} • ${trustEntity === null || trustEntity === void 0 ? void 0 : trustEntity.trustAnchor.name}`;
39
- }, [trustEntity, trusted, entityLabels.trusted]);
40
- const trustEntityStatusIcon = useMemo(() => {
41
- if (!trusted) {
42
- return undefined;
43
- }
44
- return /*#__PURE__*/React.createElement(EntityTrustedIcon, {
45
- testID: concatTestID(testID, 'statusIcon', 'trusted')
46
- });
47
- }, [testID, trusted]);
48
31
  return /*#__PURE__*/React.createElement(View, {
49
32
  style: {
50
33
  backgroundColor: colorScheme.nerdView.background
51
34
  }
52
- }, /*#__PURE__*/React.createElement(EntityCluster, _extends({
53
- avatar: {
54
- avatar: trusted && trustEntity !== null && trustEntity !== void 0 && trustEntity.logo ? {
55
- imageSource: {
56
- uri: trustEntity.logo
57
- }
58
- } : undefined,
59
- placeholderText: trustEntity === null || trustEntity === void 0 ? void 0 : trustEntity.name.substring(0, 1),
60
- statusIcon: trustEntityStatusIcon,
61
- testID: concatTestID(testID, 'avatar')
35
+ }, /*#__PURE__*/React.createElement(EntityDetails, _extends({
36
+ identifier: identifier,
37
+ labels: {
38
+ unknown: role === TrustEntityRoleEnum.ISSUER ? entityLabels.unknownIssuer : entityLabels.unknownVerifier
62
39
  },
63
- entityName: trustEntityName,
64
- subline: trustEntitySubline,
65
- sublineColor: trusted ? colorScheme.success : colorScheme.white,
40
+ role: role,
66
41
  testID: testID
67
42
  }, props)), trusted && /*#__PURE__*/React.createElement(EntityButtons, {
68
43
  entity: trustEntity,
69
44
  labels: entityLabels,
70
45
  testID: concatTestID(testID, 'links')
71
46
  }), /*#__PURE__*/React.createElement(EntityAttributes, {
72
- did: did === null || did === void 0 ? void 0 : did.did,
47
+ certificate: identifierDetail === null || identifierDetail === void 0 || (_identifierDetail$cer = identifierDetail.certificates) === null || _identifierDetail$cer === void 0 || (_identifierDetail$cer = _identifierDetail$cer[0]) === null || _identifierDetail$cer === void 0 ? void 0 : _identifierDetail$cer.chain,
48
+ did: identifierDetail === null || identifierDetail === void 0 || (_identifierDetail$did = identifierDetail.did) === null || _identifierDetail$did === void 0 ? void 0 : _identifierDetail$did.did,
73
49
  trustEntity: trustEntity,
74
50
  trusted: trusted,
75
51
  labels: attributesLabels,
@@ -1 +1 @@
1
- {"version":3,"names":["TrustEntityRoleEnum","TrustEntityStateEnum","React","memo","useMemo","View","EntityCluster","EntityTrustedIcon","useAppColorScheme","concatTestID","useTrustEntity","EntityAttributes","EntityButtons","EntityDetailsWithButtons","did","entityLabels","attributesLabels","onCopyToClipboard","role","entityType","testID","props","data","id","trustEntity","undefined","colorScheme","trusted","Boolean","state","ACTIVE","BOTH","trustEntityName","ISSUER","unknownIssuer","unknownVerifier","name","trustEntitySubline","trustAnchor","trustEntityStatusIcon","createElement","style","backgroundColor","nerdView","background","_extends","avatar","logo","imageSource","uri","placeholderText","substring","statusIcon","entityName","subline","sublineColor","success","white","entity","labels"],"sources":["entity-details-with-buttons.tsx"],"sourcesContent":["import { DidListItem, TrustEntityRoleEnum, TrustEntityStateEnum } from '@procivis/react-native-one-core';\nimport React, { FC, memo, useMemo } from 'react';\nimport { StyleProp, View, ViewStyle } from 'react-native';\n\nimport EntityCluster from '../../ui-components/entity/entity-cluster';\nimport { EntityTrustedIcon } from '../../ui-components/icons';\nimport { AttributesLabels, EntityLabels, EntityType } from '../../ui-components/screens/nerd-mode-screen';\nimport { useAppColorScheme } from '../../ui-components/theme/color-scheme-context';\nimport { concatTestID } from '../../utils';\nimport { useTrustEntity } from '../../utils/hooks/core/trust-entity';\nimport EntityAttributes from './entity-attributes';\nimport EntityButtons from './EntityButtons';\n\nexport type ContextRole = Exclude<TrustEntityRoleEnum, TrustEntityRoleEnum.BOTH>;\n\ninterface EntityDetailsWithButtonsProps {\n did?: DidListItem;\n entityLabels: EntityLabels;\n attributesLabels: AttributesLabels;\n style?: StyleProp<ViewStyle>;\n textColor?: string;\n testID?: string;\n role: ContextRole;\n onCopyToClipboard: (value: string) => void;\n entityType: EntityType;\n}\n\nconst EntityDetailsWithButtons: FC<EntityDetailsWithButtonsProps> = ({\n did,\n entityLabels,\n attributesLabels,\n onCopyToClipboard,\n role,\n entityType,\n testID,\n ...props\n}) => {\n let { data } = useTrustEntity(did?.id);\n const trustEntity = data ?? undefined;\n\n const colorScheme = useAppColorScheme();\n\n const trusted = Boolean(\n trustEntity &&\n trustEntity.state === TrustEntityStateEnum.ACTIVE &&\n (trustEntity.role === TrustEntityRoleEnum.BOTH || trustEntity.role === role),\n );\n\n const trustEntityName = useMemo(() => {\n if (!trustEntity || !trusted) {\n return role === TrustEntityRoleEnum.ISSUER ? entityLabels.unknownIssuer : entityLabels.unknownVerifier;\n }\n return trustEntity.name;\n }, [entityLabels, role, trustEntity, trusted]);\n\n const trustEntitySubline = useMemo(() => {\n if (!trusted) {\n return undefined;\n }\n\n return `${entityLabels.trusted} • ${trustEntity?.trustAnchor.name}`;\n }, [trustEntity, trusted, entityLabels.trusted]);\n\n const trustEntityStatusIcon = useMemo(() => {\n if (!trusted) {\n return undefined;\n }\n return <EntityTrustedIcon testID={concatTestID(testID, 'statusIcon', 'trusted')} />;\n }, [testID, trusted]);\n\n return (\n <View style={{ backgroundColor: colorScheme.nerdView.background }}>\n <EntityCluster\n avatar={{\n avatar: trusted && trustEntity?.logo ? { imageSource: { uri: trustEntity.logo } } : undefined,\n placeholderText: trustEntity?.name.substring(0, 1),\n statusIcon: trustEntityStatusIcon,\n testID: concatTestID(testID, 'avatar'),\n }}\n entityName={trustEntityName}\n subline={trustEntitySubline}\n sublineColor={trusted ? colorScheme.success : colorScheme.white}\n testID={testID}\n {...props}\n />\n {trusted && <EntityButtons entity={trustEntity} labels={entityLabels} testID={concatTestID(testID, 'links')} />}\n <EntityAttributes\n did={did?.did}\n trustEntity={trustEntity}\n trusted={trusted}\n labels={attributesLabels}\n onCopyToClipboard={onCopyToClipboard}\n entityType={entityType}\n />\n </View>\n );\n};\n\nexport default memo(EntityDetailsWithButtons);\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["TrustEntityRoleEnum","TrustEntityStateEnum","React","memo","View","useAppColorScheme","concatTestID","useIdentifierDetails","useTrustEntity","EntityAttributes","EntityDetails","EntityButtons","EntityDetailsWithButtons","identifier","entityLabels","attributesLabels","onCopyToClipboard","role","entityType","testID","props","_identifierDetail$cer","_identifierDetail$did","data","id","identifierDetail","trustEntity","undefined","colorScheme","trusted","Boolean","state","ACTIVE","BOTH","createElement","style","backgroundColor","nerdView","background","_extends","labels","unknown","ISSUER","unknownIssuer","unknownVerifier","entity","certificate","certificates","chain","did"],"sources":["entity-details-with-buttons.tsx"],"sourcesContent":["import { IdentifierListItem, TrustEntityRoleEnum, TrustEntityStateEnum } from '@procivis/react-native-one-core';\nimport React, { FC, memo } from 'react';\nimport { StyleProp, View, ViewStyle } from 'react-native';\n\nimport { AttributesLabels, EntityLabels, EntityType } from '../../ui-components/screens/nerd-mode-screen';\nimport { useAppColorScheme } from '../../ui-components/theme/color-scheme-context';\nimport { concatTestID, useIdentifierDetails } from '../../utils';\nimport { useTrustEntity } from '../../utils/hooks/core/trust-entity';\nimport EntityAttributes from './entity-attributes';\nimport EntityDetails from './entity-details';\nimport EntityButtons from './EntityButtons';\n\nexport type ContextRole = Exclude<TrustEntityRoleEnum, TrustEntityRoleEnum.BOTH>;\n\ninterface EntityDetailsWithButtonsProps {\n identifier?: IdentifierListItem;\n entityLabels: EntityLabels;\n attributesLabels: AttributesLabels;\n style?: StyleProp<ViewStyle>;\n textColor?: string;\n testID?: string;\n role: ContextRole;\n onCopyToClipboard: (value: string) => void;\n entityType: EntityType;\n}\n\nconst EntityDetailsWithButtons: FC<EntityDetailsWithButtonsProps> = ({\n identifier,\n entityLabels,\n attributesLabels,\n onCopyToClipboard,\n role,\n entityType,\n testID,\n ...props\n}) => {\n let { data } = useTrustEntity(identifier?.id);\n let { data: identifierDetail } = useIdentifierDetails(identifier?.id);\n const trustEntity = data ?? undefined;\n\n const colorScheme = useAppColorScheme();\n\n const trusted = Boolean(\n trustEntity &&\n trustEntity.state === TrustEntityStateEnum.ACTIVE &&\n (trustEntity.role === TrustEntityRoleEnum.BOTH || trustEntity.role === role),\n );\n\n return (\n <View style={{ backgroundColor: colorScheme.nerdView.background }}>\n <EntityDetails\n identifier={identifier}\n labels={{\n unknown: role === TrustEntityRoleEnum.ISSUER ? entityLabels.unknownIssuer : entityLabels.unknownVerifier,\n }}\n role={role}\n testID={testID}\n {...props}\n />\n {trusted && <EntityButtons entity={trustEntity} labels={entityLabels} testID={concatTestID(testID, 'links')} />}\n <EntityAttributes\n certificate={identifierDetail?.certificates?.[0]?.chain}\n did={identifierDetail?.did?.did}\n trustEntity={trustEntity}\n trusted={trusted}\n labels={attributesLabels}\n onCopyToClipboard={onCopyToClipboard}\n entityType={entityType}\n />\n </View>\n );\n};\n\nexport default memo(EntityDetailsWithButtons);\n"],"mappings":";AAAA,SAA6BA,mBAAmB,EAAEC,oBAAoB,QAAQ,iCAAiC;AAC/G,OAAOC,KAAK,IAAQC,IAAI,QAAQ,OAAO;AACvC,SAAoBC,IAAI,QAAmB,cAAc;AAGzD,SAASC,iBAAiB,QAAQ,gDAAgD;AAClF,SAASC,YAAY,EAAEC,oBAAoB,QAAQ,aAAa;AAChE,SAASC,cAAc,QAAQ,qCAAqC;AACpE,OAAOC,gBAAgB,MAAM,qBAAqB;AAClD,OAAOC,aAAa,MAAM,kBAAkB;AAC5C,OAAOC,aAAa,MAAM,iBAAiB;AAgB3C,MAAMC,wBAA2D,GAAGA,CAAC;EACnEC,UAAU;EACVC,YAAY;EACZC,gBAAgB;EAChBC,iBAAiB;EACjBC,IAAI;EACJC,UAAU;EACVC,MAAM;EACN,GAAGC;AACL,CAAC,KAAK;EAAA,IAAAC,qBAAA,EAAAC,qBAAA;EACJ,IAAI;IAAEC;EAAK,CAAC,GAAGf,cAAc,CAACK,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEW,EAAE,CAAC;EAC7C,IAAI;IAAED,IAAI,EAAEE;EAAiB,CAAC,GAAGlB,oBAAoB,CAACM,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEW,EAAE,CAAC;EACrE,MAAME,WAAW,GAAGH,IAAI,aAAJA,IAAI,cAAJA,IAAI,GAAII,SAAS;EAErC,MAAMC,WAAW,GAAGvB,iBAAiB,CAAC,CAAC;EAEvC,MAAMwB,OAAO,GAAGC,OAAO,CACrBJ,WAAW,IACXA,WAAW,CAACK,KAAK,KAAK9B,oBAAoB,CAAC+B,MAAM,KAChDN,WAAW,CAACT,IAAI,KAAKjB,mBAAmB,CAACiC,IAAI,IAAIP,WAAW,CAACT,IAAI,KAAKA,IAAI,CAC7E,CAAC;EAED,oBACEf,KAAA,CAAAgC,aAAA,CAAC9B,IAAI;IAAC+B,KAAK,EAAE;MAAEC,eAAe,EAAER,WAAW,CAACS,QAAQ,CAACC;IAAW;EAAE,gBAChEpC,KAAA,CAAAgC,aAAA,CAACxB,aAAa,EAAA6B,QAAA;IACZ1B,UAAU,EAAEA,UAAW;IACvB2B,MAAM,EAAE;MACNC,OAAO,EAAExB,IAAI,KAAKjB,mBAAmB,CAAC0C,MAAM,GAAG5B,YAAY,CAAC6B,aAAa,GAAG7B,YAAY,CAAC8B;IAC3F,CAAE;IACF3B,IAAI,EAAEA,IAAK;IACXE,MAAM,EAAEA;EAAO,GACXC,KAAK,CACV,CAAC,EACDS,OAAO,iBAAI3B,KAAA,CAAAgC,aAAA,CAACvB,aAAa;IAACkC,MAAM,EAAEnB,WAAY;IAACc,MAAM,EAAE1B,YAAa;IAACK,MAAM,EAAEb,YAAY,CAACa,MAAM,EAAE,OAAO;EAAE,CAAE,CAAC,eAC/GjB,KAAA,CAAAgC,aAAA,CAACzB,gBAAgB;IACfqC,WAAW,EAAErB,gBAAgB,aAAhBA,gBAAgB,gBAAAJ,qBAAA,GAAhBI,gBAAgB,CAAEsB,YAAY,cAAA1B,qBAAA,gBAAAA,qBAAA,GAA9BA,qBAAA,CAAiC,CAAC,CAAC,cAAAA,qBAAA,uBAAnCA,qBAAA,CAAqC2B,KAAM;IACxDC,GAAG,EAAExB,gBAAgB,aAAhBA,gBAAgB,gBAAAH,qBAAA,GAAhBG,gBAAgB,CAAEwB,GAAG,cAAA3B,qBAAA,uBAArBA,qBAAA,CAAuB2B,GAAI;IAChCvB,WAAW,EAAEA,WAAY;IACzBG,OAAO,EAAEA,OAAQ;IACjBW,MAAM,EAAEzB,gBAAiB;IACzBC,iBAAiB,EAAEA,iBAAkB;IACrCE,UAAU,EAAEA;EAAW,CACxB,CACG,CAAC;AAEX,CAAC;AAED,4BAAef,IAAI,CAACS,wBAAwB,CAAC","ignoreList":[]}