@procivis/one-react-native-components 0.3.102 → 0.3.106

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 (56) hide show
  1. package/lib/commonjs/components/history/history-list-item-icon.js +6 -2
  2. package/lib/commonjs/components/history/history-list-item-icon.js.map +1 -1
  3. package/lib/commonjs/components/proof-request/v1/share-credential.js +2 -14
  4. package/lib/commonjs/components/proof-request/v1/share-credential.js.map +1 -1
  5. package/lib/commonjs/ui-components/header/foldable-header.js +26 -16
  6. package/lib/commonjs/ui-components/header/foldable-header.js.map +1 -1
  7. package/lib/commonjs/ui-components/index.js +11 -0
  8. package/lib/commonjs/ui-components/index.js.map +1 -1
  9. package/lib/commonjs/ui-components/notice/index.js +14 -0
  10. package/lib/commonjs/ui-components/notice/index.js.map +1 -0
  11. package/lib/commonjs/ui-components/notice/wallet-notice.js +80 -0
  12. package/lib/commonjs/ui-components/notice/wallet-notice.js.map +1 -0
  13. package/lib/commonjs/utils/hooks/core/proofs.js +12 -2
  14. package/lib/commonjs/utils/hooks/core/proofs.js.map +1 -1
  15. package/lib/commonjs/utils/parsers/credential-images.js +1 -1
  16. package/lib/commonjs/utils/parsers/credential-images.js.map +1 -1
  17. package/lib/commonjs/utils/parsers/credential-sharing-v2.js +1 -1
  18. package/lib/commonjs/utils/parsers/credential-sharing-v2.js.map +1 -1
  19. package/lib/commonjs/utils/parsers/credential-sharing.js +4 -10
  20. package/lib/commonjs/utils/parsers/credential-sharing.js.map +1 -1
  21. package/lib/module/components/history/history-list-item-icon.js +6 -2
  22. package/lib/module/components/history/history-list-item-icon.js.map +1 -1
  23. package/lib/module/components/proof-request/v1/share-credential.js +2 -14
  24. package/lib/module/components/proof-request/v1/share-credential.js.map +1 -1
  25. package/lib/module/ui-components/header/foldable-header.js +26 -16
  26. package/lib/module/ui-components/header/foldable-header.js.map +1 -1
  27. package/lib/module/ui-components/index.js +1 -0
  28. package/lib/module/ui-components/index.js.map +1 -1
  29. package/lib/module/ui-components/notice/index.js +3 -0
  30. package/lib/module/ui-components/notice/index.js.map +1 -0
  31. package/lib/module/ui-components/notice/wallet-notice.js +72 -0
  32. package/lib/module/ui-components/notice/wallet-notice.js.map +1 -0
  33. package/lib/module/utils/hooks/core/proofs.js +12 -2
  34. package/lib/module/utils/hooks/core/proofs.js.map +1 -1
  35. package/lib/module/utils/parsers/credential-images.js +1 -1
  36. package/lib/module/utils/parsers/credential-images.js.map +1 -1
  37. package/lib/module/utils/parsers/credential-sharing-v2.js +1 -1
  38. package/lib/module/utils/parsers/credential-sharing-v2.js.map +1 -1
  39. package/lib/module/utils/parsers/credential-sharing.js +4 -10
  40. package/lib/module/utils/parsers/credential-sharing.js.map +1 -1
  41. package/lib/typescript/ui-components/index.d.ts +1 -0
  42. package/lib/typescript/ui-components/notice/index.d.ts +2 -0
  43. package/lib/typescript/ui-components/notice/wallet-notice.d.ts +11 -0
  44. package/lib/typescript/utils/hooks/core/proofs.d.ts +5 -3
  45. package/lib/typescript/utils/parsers/credential-sharing.d.ts +2 -2
  46. package/package.json +3 -3
  47. package/src/components/history/history-list-item-icon.tsx +4 -0
  48. package/src/components/proof-request/v1/share-credential.tsx +1 -18
  49. package/src/ui-components/header/foldable-header.tsx +27 -20
  50. package/src/ui-components/index.ts +1 -0
  51. package/src/ui-components/notice/index.ts +3 -0
  52. package/src/ui-components/notice/wallet-notice.tsx +82 -0
  53. package/src/utils/hooks/core/proofs.ts +10 -2
  54. package/src/utils/parsers/credential-images.tsx +1 -1
  55. package/src/utils/parsers/credential-sharing-v2.tsx +0 -1
  56. package/src/utils/parsers/credential-sharing.tsx +1 -10
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNativeOneCore","require","_react","_reactQuery","_query","_reporting","_coreConfig","_coreContext","_errorCode","_history","_identifiers","_proofSchemas","PAGE_SIZE","PROOF_DETAIL_QUERY_KEY","exports","PROOF_STATE_QUERY_KEY","PROOF_LIST_QUERY_KEY","useProofDetail","proofId","core","useONECore","useQuery","getProof","undefined","enabled","Boolean","keepPreviousData","useProofState","isPolling","organisationId","state","then","proof","metadata","ProofStateBindingEnum","ERROR","getHistoryList","page","pageSize","entityIds","entityTypes","HistoryEntityTypeBindingEnum","PROOF","actions","HistoryActionBindingEnum","ERRORED","result","_result$values$","values","value","refetchInterval","useProofUrl","queryClient","useQueryClient","useMutation","request","shareProof","url","onSuccess","invalidateQueries","useProofAccept","interactionId","credentials","holderSubmitProof","onError","err","reportException","HISTORY_LIST_QUERY_KEY","useProofReject","holderRejectProof","catch","e","OneError","code","OneErrorCode","OperationNotSupported","IssuanceProtocol","VerificationProtocol","VerificationEngagement","useProposeProof","proposeProof","useProofDelete","deleteProof","useProofs","queryParams","queryKey","getQueryKeyFromProofListQueryParams","pageParam","getProofs","useProofCreate","data","createProof","getIdentifierFilterForProofSchema","proofSchema","config","requestedFormats","proofInputSchemas","map","schema","credentialSchema","format","requestedFormatsCapabilities","_config$format$format","capabilities","filter","x","keyAlgorithms","reduce","others","_others$filter","current","verificationKeyAlgorithms","item","includes","keyStorages","_others$filter2","verificationKeyStorages","useProofForSchemaIdWithTransport","proofSchemaId","transport","useProofSchemaDetail","useCoreConfig","identifierFilter","useMemo","identifiers","useIdentifiers","mutateAsync","deleting","setDeleting","useState","setProofIdState","proofIdRef","useRef","proofState","setProofId","useCallback","id","useEffect","CREATED","PENDING","length","protocol","OPENID4VP_PROXIMITY_DRAFT00","verifierIdentifierId","useCleanupUnusedProofs","proofs","proofStates","cleaned","setCleaned","forEach","useShareProof","proofUrlProps","sharedProof","setSharedProof","bleAdapterDisabled","error","_error$cause","cause","useRetainProofCheck","runTask","removeQueries","useDeleteProofData","deleteProofClaims","useDeleteAllProofsData","schemaId","proofSchemaIds","ACCEPTED","Promise","all","reverse"],"sources":["proofs.ts"],"sourcesContent":["import {\n Config,\n CreateProofRequestBindingDto,\n GetProofSchemaBindingDto,\n HistoryActionBindingEnum,\n HistoryEntityTypeBindingEnum,\n HistoryErrorMetadataBindingDto,\n IdentifierListQueryBindingDto,\n OneError,\n PresentationSubmitCredentialRequestBindingDto,\n ProofListQueryBindingDto,\n ProofStateBindingEnum,\n ProposeProofRequestBindingDto,\n ShareProofRequestBindingDto,\n} from '@procivis/react-native-one-core';\nimport { useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport { useMutation, useQuery, useQueryClient } from 'react-query';\n\nimport { getQueryKeyFromProofListQueryParams } from '../../parsers/query';\nimport { reportException } from '../../reporting';\nimport { Transport } from '../connectivity/connectivity';\nimport { useCoreConfig } from './core-config';\nimport { useONECore } from './core-context';\nimport { OneErrorCode } from './error-code';\nimport { HISTORY_LIST_QUERY_KEY } from './history';\nimport { useIdentifiers } from './identifiers';\nimport { useProofSchemaDetail } from './proof-schemas';\n\nconst PAGE_SIZE = 10;\nexport const PROOF_DETAIL_QUERY_KEY = 'proof-detail';\nexport const PROOF_STATE_QUERY_KEY = 'proof-state';\nexport const PROOF_LIST_QUERY_KEY = 'proof-list';\n\nexport const useProofDetail = (proofId: string | undefined) => {\n const { core } = useONECore();\n\n return useQuery([PROOF_DETAIL_QUERY_KEY, proofId], () => (proofId ? core.getProof(proofId) : undefined), {\n enabled: Boolean(proofId),\n keepPreviousData: true,\n });\n};\n\nexport const useProofState = (proofId: string | undefined, isPolling: boolean) => {\n const { core, organisationId } = useONECore();\n\n return useQuery(\n [PROOF_STATE_QUERY_KEY, proofId],\n async () => {\n if (!proofId) {\n return undefined;\n }\n\n const state = await core.getProof(proofId).then((proof) => proof.state);\n let metadata: HistoryErrorMetadataBindingDto | undefined;\n if (state === ProofStateBindingEnum.ERROR) {\n metadata = await core\n .getHistoryList({\n organisationId,\n page: 0,\n pageSize: 1,\n entityIds: [proofId],\n entityTypes: [HistoryEntityTypeBindingEnum.PROOF],\n actions: [HistoryActionBindingEnum.ERRORED],\n })\n .then((result) => result.values[0]?.metadata?.value as HistoryErrorMetadataBindingDto);\n }\n return { state, metadata };\n },\n {\n enabled: Boolean(proofId),\n refetchInterval: isPolling ? 1000 : false,\n },\n );\n};\n\ntype ProofUrlHookParams = { proofId: string; request?: ShareProofRequestBindingDto };\n\nexport const useProofUrl = () => {\n const queryClient = useQueryClient();\n const { core } = useONECore();\n\n return useMutation(\n async ({ proofId, request }: ProofUrlHookParams) =>\n core.shareProof(proofId, request ?? {}).then((proof) => proof.url),\n {\n onSuccess: async () => {\n await queryClient.invalidateQueries(PROOF_LIST_QUERY_KEY);\n await queryClient.invalidateQueries(PROOF_DETAIL_QUERY_KEY);\n await queryClient.invalidateQueries(PROOF_STATE_QUERY_KEY);\n },\n },\n );\n};\n\nexport const useProofAccept = () => {\n const queryClient = useQueryClient();\n const { core } = useONECore();\n\n return useMutation(\n async ({\n interactionId,\n credentials,\n }: {\n credentials: Record<string, PresentationSubmitCredentialRequestBindingDto[]>;\n interactionId: string;\n }) => core.holderSubmitProof(interactionId, credentials),\n {\n onError: async (err) => {\n reportException(err, 'Proof submission failure');\n await queryClient.invalidateQueries(PROOF_LIST_QUERY_KEY);\n await queryClient.invalidateQueries(PROOF_DETAIL_QUERY_KEY);\n await queryClient.invalidateQueries(HISTORY_LIST_QUERY_KEY);\n },\n onSuccess: async () => {\n await queryClient.invalidateQueries(PROOF_LIST_QUERY_KEY);\n await queryClient.invalidateQueries(PROOF_DETAIL_QUERY_KEY);\n await queryClient.invalidateQueries(HISTORY_LIST_QUERY_KEY);\n },\n },\n );\n};\n\nexport const useProofReject = () => {\n const queryClient = useQueryClient();\n const { core } = useONECore();\n\n return useMutation(\n async (interactionId: string) =>\n core.holderRejectProof(interactionId).catch((e) => {\n if (e instanceof OneError && e.code === OneErrorCode.OperationNotSupported) {\n return;\n }\n throw e;\n }),\n {\n onSuccess: async () => {\n await queryClient.invalidateQueries(PROOF_LIST_QUERY_KEY);\n await queryClient.invalidateQueries(PROOF_DETAIL_QUERY_KEY);\n await queryClient.invalidateQueries(HISTORY_LIST_QUERY_KEY);\n },\n },\n );\n};\n\nexport enum IssuanceProtocol {\n OPENID4VCI_DRAFT13 = 'OPENID4VCI_DRAFT13',\n}\n\nexport enum VerificationProtocol {\n ISO_MDL = 'ISO_MDL',\n OPENID4VP_DRAFT20 = 'OPENID4VP_DRAFT20',\n OPENID4VP_DRAFT25 = 'OPENID4VP_DRAFT25',\n OPENID4VP_PROXIMITY_DRAFT00 = 'OPENID4VP_PROXIMITY_DRAFT00',\n SCAN_TO_VERIFY = 'SCAN_TO_VERIFY',\n}\n\nexport enum VerificationEngagement {\n QR_CODE = 'QR_CODE',\n NFC = 'NFC',\n}\n\nexport const useProposeProof = () => {\n const queryClient = useQueryClient();\n const { core, organisationId } = useONECore();\n\n return useMutation(\n async (request: Omit<ProposeProofRequestBindingDto, 'organisationId'>) =>\n core.proposeProof({ organisationId, ...request }),\n {\n onSuccess: async () => {\n await queryClient.invalidateQueries(PROOF_LIST_QUERY_KEY);\n await queryClient.invalidateQueries(HISTORY_LIST_QUERY_KEY);\n },\n },\n );\n};\n\nexport const useProofDelete = () => {\n const queryClient = useQueryClient();\n const { core } = useONECore();\n\n return useMutation(\n async (proofId: string) => {\n return core.deleteProof(proofId).catch((e) => {\n if (e instanceof OneError && e.code === OneErrorCode.OperationNotSupported) {\n return;\n }\n throw e;\n });\n },\n {\n onSuccess: async () => {\n await queryClient.invalidateQueries(PROOF_LIST_QUERY_KEY);\n await queryClient.invalidateQueries(PROOF_STATE_QUERY_KEY);\n await queryClient.invalidateQueries(PROOF_DETAIL_QUERY_KEY);\n await queryClient.invalidateQueries(HISTORY_LIST_QUERY_KEY);\n },\n },\n );\n};\n\nexport const useProofs = (queryParams?: Partial<ProofListQueryBindingDto>) => {\n const { core, organisationId } = useONECore();\n\n const queryKey = [PROOF_LIST_QUERY_KEY, ...getQueryKeyFromProofListQueryParams(queryParams)];\n\n return useQuery(\n queryKey,\n ({ pageParam = 0 }) =>\n core.getProofs({\n organisationId,\n page: pageParam,\n pageSize: PAGE_SIZE,\n ...queryParams,\n }),\n {\n keepPreviousData: false,\n },\n );\n};\n\nexport const useProofCreate = () => {\n const queryClient = useQueryClient();\n\n const { core } = useONECore();\n\n return useMutation(async (data: CreateProofRequestBindingDto) => core.createProof(data), {\n onSuccess: async () => {\n await queryClient.invalidateQueries(PROOF_LIST_QUERY_KEY);\n await queryClient.invalidateQueries(HISTORY_LIST_QUERY_KEY);\n },\n });\n};\n\nconst getIdentifierFilterForProofSchema = (\n proofSchema: GetProofSchemaBindingDto,\n config: Config,\n): Partial<IdentifierListQueryBindingDto> => {\n const requestedFormats = proofSchema.proofInputSchemas.map((schema) => schema.credentialSchema.format);\n const requestedFormatsCapabilities = requestedFormats\n .map((format) => config.format[format]?.capabilities)\n .filter((x) => x);\n\n // key algorithms must be supported by all requested formats\n const keyAlgorithms = requestedFormatsCapabilities.reduce<string[] | undefined>((others, capabilities) => {\n const current = capabilities.verificationKeyAlgorithms;\n return others?.filter((item) => current.includes(item)) ?? current;\n }, undefined);\n\n // key storages must be supported by all requested formats\n const keyStorages = requestedFormatsCapabilities.reduce<string[] | undefined>((others, capabilities) => {\n const current = capabilities.verificationKeyStorages;\n return others?.filter((item) => current.includes(item)) ?? current;\n }, undefined);\n\n return { keyAlgorithms, keyStorages };\n};\n\nexport const useProofForSchemaIdWithTransport = (\n proofSchemaId: string,\n transport: Transport[] | undefined,\n enabled: boolean,\n) => {\n const { data: proofSchema } = useProofSchemaDetail(proofSchemaId, enabled);\n const { data: config } = useCoreConfig();\n\n const identifierFilter = useMemo(\n () => (proofSchema && config ? getIdentifierFilterForProofSchema(proofSchema, config) : undefined),\n [config, proofSchema],\n );\n\n const { data: identifiers } = useIdentifiers(identifierFilter);\n const { mutateAsync: createProof } = useProofCreate();\n const { mutateAsync: deleteProof } = useProofDelete();\n\n const [deleting, setDeleting] = useState(false);\n const [proofId, setProofIdState] = useState<string | undefined>(undefined);\n const proofIdRef = useRef<string>();\n\n const { data: proofState } = useProofState(deleting ? undefined : proofId, enabled);\n\n const setProofId = useCallback((id: string | undefined) => {\n proofIdRef.current = id;\n setProofIdState(id);\n }, []);\n\n useEffect(() => {\n if (!proofIdRef.current) {\n return;\n }\n setDeleting(true);\n deleteProof(proofIdRef.current)\n .then(() => {\n setProofId(undefined);\n setDeleting(false);\n })\n .catch(() => {});\n }, [proofIdRef, deleteProof, proofSchemaId, transport, setProofId]);\n\n useEffect(() => {\n if (enabled) {\n return;\n }\n\n if (proofState?.state !== ProofStateBindingEnum.CREATED && proofState?.state !== ProofStateBindingEnum.PENDING) {\n setProofId(undefined);\n } else {\n setDeleting(true);\n deleteProof(proofIdRef.current || '')\n .then(() => {\n setProofId(undefined);\n setDeleting(false);\n })\n .catch(() => {});\n }\n }, [deleteProof, enabled, proofId, proofState, setProofId]);\n\n useEffect(() => {\n if (\n deleting ||\n !enabled ||\n proofId ||\n !identifiers ||\n !identifierFilter ||\n !identifiers.values.length ||\n !transport ||\n transport.length === 0\n ) {\n return;\n }\n\n createProof({\n protocol: VerificationProtocol.OPENID4VP_PROXIMITY_DRAFT00,\n proofSchemaId,\n transport,\n verifierIdentifierId: identifiers.values[0].id,\n })\n .then((id) => {\n setProofId(id);\n })\n .catch(() => {});\n }, [proofSchemaId, identifiers, identifierFilter, createProof, enabled, transport, proofId, setProofId, deleting]);\n\n return deleting ? undefined : proofId;\n};\n\nexport const useCleanupUnusedProofs = () => {\n const { mutateAsync: deleteProof } = useProofDelete();\n const { data: proofs } = useProofs({\n page: 0,\n pageSize: 100,\n proofStates: [ProofStateBindingEnum.CREATED, ProofStateBindingEnum.PENDING],\n });\n const [cleaned, setCleaned] = useState(false);\n\n useEffect(() => {\n if (cleaned || !proofs) {\n return;\n }\n setCleaned(true);\n proofs.values.forEach((proof) => deleteProof(proof.id));\n }, [cleaned, deleteProof, proofs]);\n};\n\nexport const useShareProof = (proofUrlProps: ProofUrlHookParams | undefined, enabled: boolean) => {\n const { mutateAsync: shareProof } = useProofUrl();\n const { data: proofState } = useProofState(proofUrlProps?.proofId, enabled);\n\n const [sharedProof, setSharedProof] = useState<{\n bleAdapterDisabled: boolean;\n url?: string;\n error?: unknown;\n }>();\n\n // reset when proofId changes or the proof was retracted\n useEffect(() => {\n if (!proofUrlProps?.proofId || proofState?.state === ProofStateBindingEnum.CREATED) {\n setSharedProof(undefined);\n }\n }, [proofUrlProps?.proofId, proofState]);\n\n useEffect(() => {\n if (!proofUrlProps || !enabled || sharedProof) {\n return;\n }\n\n shareProof(proofUrlProps)\n .then((url) => {\n setSharedProof({\n bleAdapterDisabled: false,\n url,\n });\n })\n .catch((error: unknown) => {\n if (error instanceof OneError && error.cause?.includes('BLE adapter not enabled')) {\n setSharedProof({\n bleAdapterDisabled: true,\n });\n } else {\n setSharedProof({ error, bleAdapterDisabled: false });\n }\n });\n }, [enabled, proofUrlProps, shareProof, sharedProof]);\n\n return sharedProof;\n};\n\nexport const useRetainProofCheck = (proofId?: string) => {\n const queryClient = useQueryClient();\n\n const { core } = useONECore();\n\n return useMutation(async () => core.runTask('RETAIN_PROOF_CHECK'), {\n onSuccess: async () => {\n if (proofId) {\n await queryClient.removeQueries([PROOF_DETAIL_QUERY_KEY, proofId]);\n await queryClient.invalidateQueries(HISTORY_LIST_QUERY_KEY);\n }\n },\n });\n};\n\nexport const useDeleteProofData = (proofId: string) => {\n const queryClient = useQueryClient();\n\n const { core } = useONECore();\n\n return useMutation(async () => core.deleteProofClaims(proofId), {\n onSuccess: async () => {\n await queryClient.removeQueries([PROOF_DETAIL_QUERY_KEY, proofId]);\n await queryClient.invalidateQueries(HISTORY_LIST_QUERY_KEY);\n },\n });\n};\n\nexport const useDeleteAllProofsData = (schemaId: string) => {\n const queryClient = useQueryClient();\n\n const { core, organisationId } = useONECore();\n\n return useMutation(\n async () =>\n core\n .getProofs({\n organisationId,\n page: 0,\n pageSize: 1000,\n proofSchemaIds: [schemaId],\n proofStates: [ProofStateBindingEnum.ACCEPTED],\n })\n .then((result) => Promise.all(result.values.reverse().map((proof) => core.deleteProofClaims(proof.id)))),\n {\n onSuccess: async () => {\n await queryClient.invalidateQueries(PROOF_DETAIL_QUERY_KEY);\n await queryClient.invalidateQueries(HISTORY_LIST_QUERY_KEY);\n },\n },\n );\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_reactNativeOneCore","require","_react","_reactQuery","_query","_reporting","_coreConfig","_coreContext","_errorCode","_history","_identifiers","_proofSchemas","PAGE_SIZE","PROOF_DETAIL_QUERY_KEY","exports","PROOF_STATE_QUERY_KEY","PROOF_LIST_QUERY_KEY","useProofDetail","proofId","core","useONECore","useQuery","getProof","undefined","enabled","Boolean","keepPreviousData","useProofState","isPolling","organisationId","state","then","proof","metadata","ProofStateBindingEnum","ERROR","getHistoryList","page","pageSize","entityIds","entityTypes","HistoryEntityTypeBindingEnum","PROOF","actions","HistoryActionBindingEnum","ERRORED","result","_result$values$","values","value","refetchInterval","useProofUrl","queryClient","useQueryClient","useMutation","request","shareProof","url","onSuccess","invalidateQueries","useProofAccept","interactionId","credentials","holderSubmitProof","onError","err","reportException","HISTORY_LIST_QUERY_KEY","useProofReject","holderRejectProof","catch","e","OneError","code","OneErrorCode","OperationNotSupported","IssuanceProtocol","VerificationProtocol","VerificationEngagement","useProposeProof","proposeProof","useProofDelete","deleteProof","useProofs","queryParams","queryKey","getQueryKeyFromProofListQueryParams","pageParam","getProofs","useProofCreate","data","createProof","getIdentifierFilterForProofSchema","proofSchema","config","requestedFormats","proofInputSchemas","map","schema","credentialSchema","format","requestedFormatsCapabilities","_config$format$format","capabilities","filter","x","keyAlgorithms","reduce","others","_others$filter","current","verificationKeyAlgorithms","item","includes","keyStorages","_others$filter2","verificationKeyStorages","useProofForSchemaIdWithTransport","proofSchemaId","transport","useProofSchemaDetail","useCoreConfig","identifierFilter","useMemo","identifiers","useIdentifiers","mutateAsync","deleting","setDeleting","useState","setProofIdState","proofIdRef","useRef","proofState","setProofId","useCallback","id","retract","useEffect","CREATED","PENDING","length","protocol","OPENID4VP_PROXIMITY_DRAFT00","verifierIdentifierId","useCleanupUnusedProofs","proofs","proofStates","cleaned","setCleaned","forEach","useShareProof","proofUrlProps","sharedProof","setSharedProof","bleAdapterDisabled","error","_error$cause","cause","useRetainProofCheck","runTask","removeQueries","useDeleteProofData","deleteProofClaims","useDeleteAllProofsData","schemaId","proofSchemaIds","ACCEPTED","Promise","all","reverse"],"sources":["proofs.ts"],"sourcesContent":["import {\n Config,\n CreateProofRequestBindingDto,\n GetProofSchemaBindingDto,\n HistoryActionBindingEnum,\n HistoryEntityTypeBindingEnum,\n HistoryErrorMetadataBindingDto,\n IdentifierListQueryBindingDto,\n OneError,\n PresentationSubmitCredentialRequestBindingDto,\n ProofListQueryBindingDto,\n ProofStateBindingEnum,\n ProposeProofRequestBindingDto,\n ShareProofRequestBindingDto,\n} from '@procivis/react-native-one-core';\nimport { useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport { useMutation, useQuery, useQueryClient } from 'react-query';\n\nimport { getQueryKeyFromProofListQueryParams } from '../../parsers/query';\nimport { reportException } from '../../reporting';\nimport { Transport } from '../connectivity/connectivity';\nimport { useCoreConfig } from './core-config';\nimport { useONECore } from './core-context';\nimport { OneErrorCode } from './error-code';\nimport { HISTORY_LIST_QUERY_KEY } from './history';\nimport { useIdentifiers } from './identifiers';\nimport { useProofSchemaDetail } from './proof-schemas';\n\nconst PAGE_SIZE = 10;\nexport const PROOF_DETAIL_QUERY_KEY = 'proof-detail';\nexport const PROOF_STATE_QUERY_KEY = 'proof-state';\nexport const PROOF_LIST_QUERY_KEY = 'proof-list';\n\nexport const useProofDetail = (proofId: string | undefined) => {\n const { core } = useONECore();\n\n return useQuery([PROOF_DETAIL_QUERY_KEY, proofId], () => (proofId ? core.getProof(proofId) : undefined), {\n enabled: Boolean(proofId),\n keepPreviousData: true,\n });\n};\n\nexport const useProofState = (proofId: string | undefined, isPolling: boolean) => {\n const { core, organisationId } = useONECore();\n\n return useQuery(\n [PROOF_STATE_QUERY_KEY, proofId],\n async () => {\n if (!proofId) {\n return undefined;\n }\n\n const state = await core.getProof(proofId).then((proof) => proof.state);\n let metadata: HistoryErrorMetadataBindingDto | undefined;\n if (state === ProofStateBindingEnum.ERROR) {\n metadata = await core\n .getHistoryList({\n organisationId,\n page: 0,\n pageSize: 1,\n entityIds: [proofId],\n entityTypes: [HistoryEntityTypeBindingEnum.PROOF],\n actions: [HistoryActionBindingEnum.ERRORED],\n })\n .then((result) => result.values[0]?.metadata?.value as HistoryErrorMetadataBindingDto);\n }\n return { state, metadata };\n },\n {\n enabled: Boolean(proofId),\n refetchInterval: isPolling ? 1000 : false,\n },\n );\n};\n\ntype ProofUrlHookParams = { proofId: string; request?: ShareProofRequestBindingDto };\n\nexport const useProofUrl = () => {\n const queryClient = useQueryClient();\n const { core } = useONECore();\n\n return useMutation(\n async ({ proofId, request }: ProofUrlHookParams) =>\n core.shareProof(proofId, request ?? {}).then((proof) => proof.url),\n {\n onSuccess: async () => {\n await queryClient.invalidateQueries(PROOF_LIST_QUERY_KEY);\n await queryClient.invalidateQueries(PROOF_DETAIL_QUERY_KEY);\n await queryClient.invalidateQueries(PROOF_STATE_QUERY_KEY);\n },\n },\n );\n};\n\nexport const useProofAccept = () => {\n const queryClient = useQueryClient();\n const { core } = useONECore();\n\n return useMutation(\n async ({\n interactionId,\n credentials,\n }: {\n credentials: Record<string, PresentationSubmitCredentialRequestBindingDto[]>;\n interactionId: string;\n }) => core.holderSubmitProof(interactionId, credentials),\n {\n onError: async (err) => {\n reportException(err, 'Proof submission failure');\n await queryClient.invalidateQueries(PROOF_LIST_QUERY_KEY);\n await queryClient.invalidateQueries(PROOF_DETAIL_QUERY_KEY);\n await queryClient.invalidateQueries(HISTORY_LIST_QUERY_KEY);\n },\n onSuccess: async () => {\n await queryClient.invalidateQueries(PROOF_LIST_QUERY_KEY);\n await queryClient.invalidateQueries(PROOF_DETAIL_QUERY_KEY);\n await queryClient.invalidateQueries(HISTORY_LIST_QUERY_KEY);\n },\n },\n );\n};\n\nexport const useProofReject = () => {\n const queryClient = useQueryClient();\n const { core } = useONECore();\n\n return useMutation(\n async (interactionId: string) =>\n core.holderRejectProof(interactionId).catch((e) => {\n if (e instanceof OneError && e.code === OneErrorCode.OperationNotSupported) {\n return;\n }\n throw e;\n }),\n {\n onSuccess: async () => {\n await queryClient.invalidateQueries(PROOF_LIST_QUERY_KEY);\n await queryClient.invalidateQueries(PROOF_DETAIL_QUERY_KEY);\n await queryClient.invalidateQueries(HISTORY_LIST_QUERY_KEY);\n },\n },\n );\n};\n\nexport enum IssuanceProtocol {\n OPENID4VCI_DRAFT13 = 'OPENID4VCI_DRAFT13',\n}\n\nexport enum VerificationProtocol {\n ISO_MDL = 'ISO_MDL',\n OPENID4VP_DRAFT20 = 'OPENID4VP_DRAFT20',\n OPENID4VP_DRAFT25 = 'OPENID4VP_DRAFT25',\n OPENID4VP_PROXIMITY_DRAFT00 = 'OPENID4VP_PROXIMITY_DRAFT00',\n}\n\nexport enum VerificationEngagement {\n QR_CODE = 'QR_CODE',\n NFC = 'NFC',\n}\n\nexport const useProposeProof = () => {\n const queryClient = useQueryClient();\n const { core, organisationId } = useONECore();\n\n return useMutation(\n async (request: Omit<ProposeProofRequestBindingDto, 'organisationId'>) =>\n core.proposeProof({ organisationId, ...request }),\n {\n onSuccess: async () => {\n await queryClient.invalidateQueries(PROOF_LIST_QUERY_KEY);\n await queryClient.invalidateQueries(HISTORY_LIST_QUERY_KEY);\n },\n },\n );\n};\n\nexport const useProofDelete = () => {\n const queryClient = useQueryClient();\n const { core } = useONECore();\n\n return useMutation(\n async (proofId: string) => {\n return core.deleteProof(proofId).catch((e) => {\n if (e instanceof OneError && e.code === OneErrorCode.OperationNotSupported) {\n return;\n }\n throw e;\n });\n },\n {\n onSuccess: async () => {\n await queryClient.invalidateQueries(PROOF_LIST_QUERY_KEY);\n await queryClient.invalidateQueries(PROOF_STATE_QUERY_KEY);\n await queryClient.invalidateQueries(PROOF_DETAIL_QUERY_KEY);\n await queryClient.invalidateQueries(HISTORY_LIST_QUERY_KEY);\n },\n },\n );\n};\n\nexport const useProofs = (queryParams?: Partial<ProofListQueryBindingDto>) => {\n const { core, organisationId } = useONECore();\n\n const queryKey = [PROOF_LIST_QUERY_KEY, ...getQueryKeyFromProofListQueryParams(queryParams)];\n\n return useQuery(\n queryKey,\n ({ pageParam = 0 }) =>\n core.getProofs({\n organisationId,\n page: pageParam,\n pageSize: PAGE_SIZE,\n ...queryParams,\n }),\n {\n keepPreviousData: false,\n },\n );\n};\n\nexport const useProofCreate = () => {\n const queryClient = useQueryClient();\n\n const { core } = useONECore();\n\n return useMutation(async (data: CreateProofRequestBindingDto) => core.createProof(data), {\n onSuccess: async () => {\n await queryClient.invalidateQueries(PROOF_LIST_QUERY_KEY);\n await queryClient.invalidateQueries(HISTORY_LIST_QUERY_KEY);\n },\n });\n};\n\nconst getIdentifierFilterForProofSchema = (\n proofSchema: GetProofSchemaBindingDto,\n config: Config,\n): Partial<IdentifierListQueryBindingDto> => {\n const requestedFormats = proofSchema.proofInputSchemas.map((schema) => schema.credentialSchema.format);\n const requestedFormatsCapabilities = requestedFormats\n .map((format) => config.format[format]?.capabilities)\n .filter((x) => x);\n\n // key algorithms must be supported by all requested formats\n const keyAlgorithms = requestedFormatsCapabilities.reduce<string[] | undefined>((others, capabilities) => {\n const current = capabilities.verificationKeyAlgorithms;\n return others?.filter((item) => current.includes(item)) ?? current;\n }, undefined);\n\n // key storages must be supported by all requested formats\n const keyStorages = requestedFormatsCapabilities.reduce<string[] | undefined>((others, capabilities) => {\n const current = capabilities.verificationKeyStorages;\n return others?.filter((item) => current.includes(item)) ?? current;\n }, undefined);\n\n return { keyAlgorithms, keyStorages };\n};\n\nexport const useProofForSchemaIdWithTransport = (\n proofSchemaId: string,\n transport: Transport[] | undefined,\n enabled: boolean,\n) => {\n const { data: proofSchema } = useProofSchemaDetail(proofSchemaId, enabled);\n const { data: config } = useCoreConfig();\n\n const identifierFilter = useMemo(\n () => (proofSchema && config ? getIdentifierFilterForProofSchema(proofSchema, config) : undefined),\n [config, proofSchema],\n );\n\n const { data: identifiers } = useIdentifiers(identifierFilter);\n const { mutateAsync: createProof } = useProofCreate();\n const { mutateAsync: deleteProof } = useProofDelete();\n\n const [deleting, setDeleting] = useState(false);\n const [proofId, setProofIdState] = useState<string | undefined>(undefined);\n const proofIdRef = useRef<string>();\n\n const { data: proofState } = useProofState(deleting ? undefined : proofId, enabled);\n\n const setProofId = useCallback((id: string | undefined) => {\n proofIdRef.current = id;\n setProofIdState(id);\n }, []);\n\n const retract = useCallback(async () => {\n const id = proofIdRef.current;\n if (!id) {\n return;\n }\n setProofId(undefined);\n await deleteProof(id).catch(() => {});\n }, [deleteProof, setProofId]);\n\n useEffect(() => {\n if (!proofIdRef.current) {\n return;\n }\n setDeleting(true);\n deleteProof(proofIdRef.current)\n .then(() => {\n setProofId(undefined);\n setDeleting(false);\n })\n .catch(() => {});\n }, [proofIdRef, deleteProof, proofSchemaId, transport, setProofId]);\n\n useEffect(() => {\n if (enabled) {\n return;\n }\n\n if (proofState?.state !== ProofStateBindingEnum.CREATED && proofState?.state !== ProofStateBindingEnum.PENDING) {\n setProofId(undefined);\n } else {\n setDeleting(true);\n deleteProof(proofIdRef.current || '')\n .then(() => {\n setProofId(undefined);\n setDeleting(false);\n })\n .catch(() => {});\n }\n }, [deleteProof, enabled, proofId, proofState, setProofId]);\n\n useEffect(() => {\n if (\n deleting ||\n !enabled ||\n proofId ||\n !identifiers ||\n !identifierFilter ||\n !identifiers.values.length ||\n !transport ||\n transport.length === 0\n ) {\n return;\n }\n\n createProof({\n protocol: VerificationProtocol.OPENID4VP_PROXIMITY_DRAFT00,\n proofSchemaId,\n transport,\n verifierIdentifierId: identifiers.values[0].id,\n })\n .then((id) => {\n setProofId(id);\n })\n .catch(() => {});\n }, [proofSchemaId, identifiers, identifierFilter, createProof, enabled, transport, proofId, setProofId, deleting]);\n\n return { proofId: deleting ? undefined : proofId, retract };\n};\n\nexport const useCleanupUnusedProofs = () => {\n const { mutateAsync: deleteProof } = useProofDelete();\n const { data: proofs } = useProofs({\n page: 0,\n pageSize: 100,\n proofStates: [ProofStateBindingEnum.CREATED, ProofStateBindingEnum.PENDING],\n });\n const [cleaned, setCleaned] = useState(false);\n\n useEffect(() => {\n if (cleaned || !proofs) {\n return;\n }\n setCleaned(true);\n proofs.values.forEach((proof) => deleteProof(proof.id));\n }, [cleaned, deleteProof, proofs]);\n};\n\nexport const useShareProof = (proofUrlProps: ProofUrlHookParams | undefined, enabled: boolean) => {\n const { mutateAsync: shareProof } = useProofUrl();\n const { data: proofState } = useProofState(proofUrlProps?.proofId, enabled);\n\n const [sharedProof, setSharedProof] = useState<{\n bleAdapterDisabled: boolean;\n url?: string;\n error?: unknown;\n }>();\n\n // reset when proofId changes or the proof was retracted\n useEffect(() => {\n if (!proofUrlProps?.proofId || proofState?.state === ProofStateBindingEnum.CREATED) {\n setSharedProof(undefined);\n }\n }, [proofUrlProps?.proofId, proofState]);\n\n useEffect(() => {\n if (!proofUrlProps || !enabled || sharedProof) {\n return;\n }\n\n shareProof(proofUrlProps)\n .then((url) => {\n setSharedProof({\n bleAdapterDisabled: false,\n url,\n });\n })\n .catch((error: unknown) => {\n if (error instanceof OneError && error.cause?.includes('BLE adapter not enabled')) {\n setSharedProof({\n bleAdapterDisabled: true,\n });\n } else {\n setSharedProof({ error, bleAdapterDisabled: false });\n }\n });\n }, [enabled, proofUrlProps, shareProof, sharedProof]);\n\n return sharedProof;\n};\n\nexport const useRetainProofCheck = (proofId?: string) => {\n const queryClient = useQueryClient();\n\n const { core } = useONECore();\n\n return useMutation(async () => core.runTask('RETAIN_PROOF_CHECK'), {\n onSuccess: async () => {\n if (proofId) {\n await queryClient.removeQueries([PROOF_DETAIL_QUERY_KEY, proofId]);\n await queryClient.invalidateQueries(HISTORY_LIST_QUERY_KEY);\n }\n },\n });\n};\n\nexport const useDeleteProofData = (proofId: string) => {\n const queryClient = useQueryClient();\n\n const { core } = useONECore();\n\n return useMutation(async () => core.deleteProofClaims(proofId), {\n onSuccess: async () => {\n await queryClient.removeQueries([PROOF_DETAIL_QUERY_KEY, proofId]);\n await queryClient.invalidateQueries(HISTORY_LIST_QUERY_KEY);\n },\n });\n};\n\nexport const useDeleteAllProofsData = (schemaId: string) => {\n const queryClient = useQueryClient();\n\n const { core, organisationId } = useONECore();\n\n return useMutation(\n async () =>\n core\n .getProofs({\n organisationId,\n page: 0,\n pageSize: 1000,\n proofSchemaIds: [schemaId],\n proofStates: [ProofStateBindingEnum.ACCEPTED],\n })\n .then((result) => Promise.all(result.values.reverse().map((proof) => core.deleteProofClaims(proof.id)))),\n {\n onSuccess: async () => {\n await queryClient.invalidateQueries(PROOF_DETAIL_QUERY_KEY);\n await queryClient.invalidateQueries(HISTORY_LIST_QUERY_KEY);\n },\n },\n );\n};\n"],"mappings":"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","ignoreList":[]}
@@ -49,7 +49,7 @@ const getCarouselImagesFromClaims = (claims, layoutProperties, testID) => {
49
49
  if (code) {
50
50
  const claim = (0, _credential2.findClaimByPath)(code.attribute, claims);
51
51
  let claimValue = '';
52
- if (claim && (claim.value.type_ === 'FLOAT' || claim.value.type_ === 'INTEGER')) {
52
+ if (claim && (claim.value.type_ === 'FLOAT' || claim.value.type_ === 'INTEGER' || claim.value.type_ === 'STRING')) {
53
53
  claimValue = String(claim.value.value);
54
54
  }
55
55
  if (!claim || typeof claimValue !== 'string') {
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNativeOneCore","require","_react","_interopRequireDefault","_reactNative","_credential","_image","_string","_testID","_credential2","e","__esModule","default","styles","StyleSheet","create","container","height","justifyContent","width","getCarouselImagesFromClaims","claims","layoutProperties","testID","result","code","pictureAttribute","pictureClaim","findClaimByPath","push","element","createElement","ImageOrComponent","source","imageSource","uri","value","style","concatTestID","CarouselImageType","Photo","type","claim","attribute","claimValue","type_","String","CredentialSchemaCodeTypeBindingDto","QR_CODE","QrCode","content","BARCODE","isASCII","Barcode","MRZ","Mrz","exports"],"sources":["credential-images.tsx"],"sourcesContent":["import {\n ClaimBindingDto,\n CredentialSchemaCodeTypeBindingDto,\n CredentialSchemaLayoutPropertiesBindingDto,\n} from '@procivis/react-native-one-core';\nimport React from 'react';\nimport { StyleSheet } from 'react-native';\n\nimport { Barcode, CarouselImage, CarouselImageType, Mrz, QrCode } from '../../ui-components/credential';\nimport { ImageOrComponent } from '../../ui-components/image';\nimport { isASCII } from '../string';\nimport { concatTestID } from '../testID';\nimport { findClaimByPath } from './credential';\n\nconst styles = StyleSheet.create({\n container: {\n height: '100%',\n justifyContent: 'center',\n width: '100%',\n },\n});\n\nexport const getCarouselImagesFromClaims = (\n claims: ClaimBindingDto[],\n layoutProperties?: CredentialSchemaLayoutPropertiesBindingDto,\n testID?: string,\n): CarouselImage[] => {\n const result: CarouselImage[] = [];\n\n if (!layoutProperties) {\n return result;\n }\n\n const { code, pictureAttribute } = layoutProperties;\n\n if (pictureAttribute) {\n const pictureClaim = findClaimByPath(pictureAttribute, claims);\n if (pictureClaim) {\n result.push({\n element: (\n <ImageOrComponent\n source={{ imageSource: { uri: pictureClaim.value.value as string } }}\n style={styles.container}\n testID={concatTestID(testID, CarouselImageType.Photo)}\n />\n ),\n type: CarouselImageType.Photo,\n });\n }\n }\n\n if (code) {\n const claim = findClaimByPath(code.attribute, claims);\n\n let claimValue = '';\n\n if (claim && (claim.value.type_ === 'FLOAT' || claim.value.type_ === 'INTEGER')) {\n claimValue = String(claim.value.value);\n }\n\n if (!claim || typeof claimValue !== 'string') {\n return result;\n }\n\n if (code.type === CredentialSchemaCodeTypeBindingDto.QR_CODE) {\n result.push({\n element: <QrCode content={claimValue} testID={concatTestID(testID, CarouselImageType.QrCode)} />,\n type: CarouselImageType.QrCode,\n });\n } else if (code.type === CredentialSchemaCodeTypeBindingDto.BARCODE && isASCII(claimValue)) {\n result.push({\n element: <Barcode content={claimValue} testID={concatTestID(testID, CarouselImageType.Barcode)} />,\n type: CarouselImageType.Barcode,\n });\n } else if (code.type === CredentialSchemaCodeTypeBindingDto.MRZ) {\n result.push({\n element: <Mrz content={claimValue} testID={concatTestID(testID, CarouselImageType.MRZ)} />,\n type: CarouselImageType.MRZ,\n });\n }\n }\n\n return result;\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_reactNativeOneCore","require","_react","_interopRequireDefault","_reactNative","_credential","_image","_string","_testID","_credential2","e","__esModule","default","styles","StyleSheet","create","container","height","justifyContent","width","getCarouselImagesFromClaims","claims","layoutProperties","testID","result","code","pictureAttribute","pictureClaim","findClaimByPath","push","element","createElement","ImageOrComponent","source","imageSource","uri","value","style","concatTestID","CarouselImageType","Photo","type","claim","attribute","claimValue","type_","String","CredentialSchemaCodeTypeBindingDto","QR_CODE","QrCode","content","BARCODE","isASCII","Barcode","MRZ","Mrz","exports"],"sources":["credential-images.tsx"],"sourcesContent":["import {\n ClaimBindingDto,\n CredentialSchemaCodeTypeBindingDto,\n CredentialSchemaLayoutPropertiesBindingDto,\n} from '@procivis/react-native-one-core';\nimport React from 'react';\nimport { StyleSheet } from 'react-native';\n\nimport { Barcode, CarouselImage, CarouselImageType, Mrz, QrCode } from '../../ui-components/credential';\nimport { ImageOrComponent } from '../../ui-components/image';\nimport { isASCII } from '../string';\nimport { concatTestID } from '../testID';\nimport { findClaimByPath } from './credential';\n\nconst styles = StyleSheet.create({\n container: {\n height: '100%',\n justifyContent: 'center',\n width: '100%',\n },\n});\n\nexport const getCarouselImagesFromClaims = (\n claims: ClaimBindingDto[],\n layoutProperties?: CredentialSchemaLayoutPropertiesBindingDto,\n testID?: string,\n): CarouselImage[] => {\n const result: CarouselImage[] = [];\n\n if (!layoutProperties) {\n return result;\n }\n\n const { code, pictureAttribute } = layoutProperties;\n\n if (pictureAttribute) {\n const pictureClaim = findClaimByPath(pictureAttribute, claims);\n if (pictureClaim) {\n result.push({\n element: (\n <ImageOrComponent\n source={{ imageSource: { uri: pictureClaim.value.value as string } }}\n style={styles.container}\n testID={concatTestID(testID, CarouselImageType.Photo)}\n />\n ),\n type: CarouselImageType.Photo,\n });\n }\n }\n\n if (code) {\n const claim = findClaimByPath(code.attribute, claims);\n\n let claimValue = '';\n\n if (claim && (claim.value.type_ === 'FLOAT' || claim.value.type_ === 'INTEGER' || claim.value.type_ === 'STRING')) {\n claimValue = String(claim.value.value);\n }\n\n if (!claim || typeof claimValue !== 'string') {\n return result;\n }\n\n if (code.type === CredentialSchemaCodeTypeBindingDto.QR_CODE) {\n result.push({\n element: <QrCode content={claimValue} testID={concatTestID(testID, CarouselImageType.QrCode)} />,\n type: CarouselImageType.QrCode,\n });\n } else if (code.type === CredentialSchemaCodeTypeBindingDto.BARCODE && isASCII(claimValue)) {\n result.push({\n element: <Barcode content={claimValue} testID={concatTestID(testID, CarouselImageType.Barcode)} />,\n type: CarouselImageType.Barcode,\n });\n } else if (code.type === CredentialSchemaCodeTypeBindingDto.MRZ) {\n result.push({\n element: <Mrz content={claimValue} testID={concatTestID(testID, CarouselImageType.MRZ)} />,\n type: CarouselImageType.MRZ,\n });\n }\n }\n\n return result;\n};\n"],"mappings":"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","ignoreList":[]}
@@ -116,7 +116,7 @@ const shareCredentialCardFromV2PresentationCredential = (credential, failureHint
116
116
  const card = credential ? (0, _credentialSharing.validityCheckedCardFromCredential)({
117
117
  ...credential,
118
118
  claims: []
119
- }, false, expanded, multipleCredentialsAvailable, config, notice, cardTestId, labels) : missingCredentialCardFromFailureHint(failureHint, notice, cardTestId, labels);
119
+ }, expanded, multipleCredentialsAvailable, config, notice, cardTestId, labels) : missingCredentialCardFromFailureHint(failureHint, notice, cardTestId, labels);
120
120
  return {
121
121
  attributes: (_credential$claims$ma = credential === null || credential === void 0 ? void 0 : credential.claims.map(v => shareCredentialCardAttributeFromV2Claim(v, selectedFields !== null && selectedFields !== void 0 ? selectedFields : [], true, false, config, testID))) !== null && _credential$claims$ma !== void 0 ? _credential$claims$ma : [],
122
122
  card
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_uiComponents","_testID","_","_credentialSharing","e","__esModule","default","v2ClaimValueToClaimValue","value","type_","map","c","v2PresentationClaimToClaim","claim","schema","path","getAttributeSelectorStatus","selected","force","required","SelectorStatus","Required","userSelection","SelectedCheckmark","Empty","shareCredentialCardAttributeFromV2Claim","selection","parentShared","parentUserSelected","config","testID","nested","listValue","attributeShared","Boolean","some","startsWith","userSelected","includes","status","undefined","attribute","detailsCardAttributeFromClaim","disabledStatus","Disabled","Rejected","disabled","credentialAttribute","id","rightAccessory","createElement","Selector","array","attributes","image","values","v","datatype","valueErrorColor","exports","missingCredentialCardFromFailureHint","failureHint","notice","labels","_failureHint$credenti","_failureHint$credenti2","cardImage","color","header","credentialDetailErrorColor","credentialDetailPrimary","missingCredential","credentialDetailTestID","concatTestID","credentialName","credentialSchema","name","statusIcon","CredentialWarningIcon","shareCredentialCardFromV2PresentationCredential","credential","expanded","multipleCredentialsAvailable","selectedFields","_credential$issuer","_credential$claims$ma","selectiveDisclosureSupported","supportsSelectiveDisclosure","issuer","noticeIcon","CredentialNoticeWarningIcon","text","selectiveDisclosureNotice","cardTestId","card","validityCheckedCardFromCredential","claims","selectCredentialCardFromV2Credential","multiple","_credential$issuer2","_credential$claims$ma2","selectedStatus","SelectedRadio","cardProps","getCredentialCardPropsFromCredential","accessory","getV2CredentialClaimAllSubpaths","flatMap","getV2CredentialAvailablePaths"],"sources":["credential-sharing-v2.tsx"],"sourcesContent":["import {\n ClaimBindingDto,\n ClaimValueBindingDto,\n Config,\n CredentialQueryFailureHintResponseBindingDto,\n PresentationDefinitionV2ClaimBindingDto,\n PresentationDefinitionV2ClaimValueBindingDto,\n PresentationDefinitionV2CredentialDetailBindingDto,\n} from '@procivis/react-native-one-core';\nimport React from 'react';\n\nimport {\n CredentialAttribute,\n CredentialCardNotice,\n CredentialCardProps,\n CredentialNoticeWarningIcon,\n CredentialWarningIcon,\n Selector,\n SelectorStatus,\n} from '../../ui-components';\nimport { concatTestID } from '../testID';\nimport {\n CredentialDetailsCardPropsWithoutWidth,\n detailsCardAttributeFromClaim,\n getCredentialCardPropsFromCredential,\n supportsSelectiveDisclosure,\n} from '.';\nimport { ShareCredentialCardLabels, validityCheckedCardFromCredential } from './credential-sharing';\n\nconst v2ClaimValueToClaimValue = (value: PresentationDefinitionV2ClaimValueBindingDto): ClaimValueBindingDto => {\n if (value.type_ !== 'NESTED') {\n return value;\n }\n return {\n type_: 'NESTED',\n value: value.value.map((c) => v2PresentationClaimToClaim(c)),\n };\n};\n\nconst v2PresentationClaimToClaim = (claim: PresentationDefinitionV2ClaimBindingDto): ClaimBindingDto => {\n return {\n schema: claim.schema,\n path: claim.path,\n value: v2ClaimValueToClaimValue(claim.value),\n };\n};\n\nconst getAttributeSelectorStatus = (\n claim: PresentationDefinitionV2ClaimBindingDto,\n selected: boolean,\n force: boolean,\n): SelectorStatus | undefined => {\n if (claim.required && selected) {\n return SelectorStatus.Required;\n }\n if (force) {\n return SelectorStatus.Required;\n }\n if (claim.userSelection) {\n if (selected) {\n return SelectorStatus.SelectedCheckmark;\n } else {\n return SelectorStatus.Empty;\n }\n }\n};\n\nexport const shareCredentialCardAttributeFromV2Claim = (\n claim: PresentationDefinitionV2ClaimBindingDto,\n selection: string[] | undefined,\n parentShared: boolean,\n parentUserSelected: boolean,\n config: Config,\n testID: string,\n nested?: boolean,\n listValue?: boolean,\n): CredentialAttribute => {\n const attributeShared =\n Boolean(selection?.some((path) => path.startsWith(claim.path))) || (parentShared && claim.required);\n const userSelected = parentUserSelected || Boolean(selection?.includes(claim.path));\n const selected = !claim.required && attributeShared;\n const status = selection\n ? getAttributeSelectorStatus(claim, attributeShared, parentUserSelected || (attributeShared && !userSelected))\n : undefined;\n const attribute = detailsCardAttributeFromClaim(v2PresentationClaimToClaim(claim), config, testID);\n const disabledStatus = [SelectorStatus.Disabled, SelectorStatus.Rejected, SelectorStatus.Required];\n const disabled = attribute.disabled || !status || disabledStatus.includes(status);\n const credentialAttribute: CredentialAttribute = {\n ...attribute,\n disabled,\n id: claim.path,\n listValue,\n nested,\n path: claim.path,\n rightAccessory: status && <Selector status={status} />,\n selected,\n testID,\n };\n if (claim.value.type_ === 'NESTED') {\n if (claim.schema.array) {\n return {\n ...credentialAttribute,\n attributes: undefined,\n image: undefined,\n value: undefined,\n values: claim.value.value.map((v) =>\n shareCredentialCardAttributeFromV2Claim(\n v,\n selection,\n attributeShared,\n userSelected,\n config,\n testID,\n true,\n false,\n ),\n ),\n };\n } else if (claim.schema.datatype === 'OBJECT') {\n return {\n ...credentialAttribute,\n attributes: claim.value.value.map((v) =>\n shareCredentialCardAttributeFromV2Claim(v, selection, attributeShared, userSelected, config, testID, true),\n ),\n image: undefined,\n value: undefined,\n valueErrorColor: undefined,\n values: undefined,\n };\n }\n }\n return credentialAttribute;\n};\n\nexport const missingCredentialCardFromFailureHint = (\n failureHint: CredentialQueryFailureHintResponseBindingDto | undefined,\n notice: CredentialCardNotice | undefined,\n testID: string,\n labels: ShareCredentialCardLabels,\n): Omit<CredentialCardProps, 'onHeaderPress' | 'style' | 'width'> => {\n return {\n cardImage: undefined,\n color: undefined,\n header: {\n credentialDetailErrorColor: true,\n credentialDetailPrimary: labels.missingCredential,\n credentialDetailTestID: concatTestID(testID, 'header.missing'),\n credentialName: failureHint?.credentialSchema?.name ?? '',\n statusIcon: CredentialWarningIcon,\n },\n testID,\n ...notice,\n };\n};\n\nexport const shareCredentialCardFromV2PresentationCredential = (\n credential: PresentationDefinitionV2CredentialDetailBindingDto | undefined,\n failureHint: CredentialQueryFailureHintResponseBindingDto | undefined,\n expanded: boolean,\n multipleCredentialsAvailable: boolean,\n selectedFields: string[] | undefined,\n config: Config,\n testID: string,\n labels: ShareCredentialCardLabels,\n): CredentialDetailsCardPropsWithoutWidth => {\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 noticeIcon: CredentialNoticeWarningIcon,\n text: labels.selectiveDisclosureNotice,\n }\n : undefined;\n const cardTestId = concatTestID(testID, 'card');\n const card = credential\n ? validityCheckedCardFromCredential(\n {\n ...credential,\n claims: [],\n },\n false,\n expanded,\n multipleCredentialsAvailable,\n config,\n notice,\n cardTestId,\n labels,\n )\n : missingCredentialCardFromFailureHint(failureHint, notice, cardTestId, labels);\n\n return {\n attributes:\n credential?.claims.map((v) =>\n shareCredentialCardAttributeFromV2Claim(v, selectedFields ?? [], true, false, config, testID),\n ) ?? [],\n card,\n };\n};\n\nexport const selectCredentialCardFromV2Credential = (\n credential: PresentationDefinitionV2CredentialDetailBindingDto,\n selected: boolean,\n multiple: boolean,\n config: Config,\n testID: string,\n labels: ShareCredentialCardLabels,\n): CredentialDetailsCardPropsWithoutWidth => {\n const selectiveDisclosureSupported = supportsSelectiveDisclosure(\n credential ? { ...credential, issuer: credential.issuer?.id } : undefined,\n config,\n );\n const selectedStatus = multiple ? SelectorStatus.SelectedCheckmark : SelectorStatus.SelectedRadio;\n const rightAccessory = <Selector status={selected ? selectedStatus : SelectorStatus.Empty} />;\n const notice: CredentialCardNotice | undefined =\n selectiveDisclosureSupported === false\n ? {\n noticeIcon: CredentialNoticeWarningIcon,\n text: labels.selectiveDisclosureNotice,\n }\n : undefined;\n const { header, ...cardProps } = getCredentialCardPropsFromCredential(\n {\n ...credential,\n claims: credential.claims.map(v2PresentationClaimToClaim),\n },\n credential.claims.map(v2PresentationClaimToClaim),\n config,\n notice,\n testID,\n labels,\n );\n const card = {\n header: {\n ...header,\n accessory: rightAccessory,\n },\n ...cardProps,\n };\n return {\n attributes:\n credential?.claims.map((v) =>\n shareCredentialCardAttributeFromV2Claim(v, undefined, false, false, config, testID),\n ) ?? [],\n card,\n };\n};\n\nexport const getV2CredentialClaimAllSubpaths = (claim: PresentationDefinitionV2ClaimBindingDto): string[] => {\n if (claim.value.type_ !== 'NESTED') {\n return [claim.path];\n }\n return [claim.path, ...claim.value.value.flatMap(getV2CredentialClaimAllSubpaths)];\n};\n\nexport const getV2CredentialAvailablePaths = (\n credential: PresentationDefinitionV2CredentialDetailBindingDto,\n): string[] => {\n return credential.claims.flatMap(getV2CredentialClaimAllSubpaths);\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_uiComponents","_testID","_","_credentialSharing","e","__esModule","default","v2ClaimValueToClaimValue","value","type_","map","c","v2PresentationClaimToClaim","claim","schema","path","getAttributeSelectorStatus","selected","force","required","SelectorStatus","Required","userSelection","SelectedCheckmark","Empty","shareCredentialCardAttributeFromV2Claim","selection","parentShared","parentUserSelected","config","testID","nested","listValue","attributeShared","Boolean","some","startsWith","userSelected","includes","status","undefined","attribute","detailsCardAttributeFromClaim","disabledStatus","Disabled","Rejected","disabled","credentialAttribute","id","rightAccessory","createElement","Selector","array","attributes","image","values","v","datatype","valueErrorColor","exports","missingCredentialCardFromFailureHint","failureHint","notice","labels","_failureHint$credenti","_failureHint$credenti2","cardImage","color","header","credentialDetailErrorColor","credentialDetailPrimary","missingCredential","credentialDetailTestID","concatTestID","credentialName","credentialSchema","name","statusIcon","CredentialWarningIcon","shareCredentialCardFromV2PresentationCredential","credential","expanded","multipleCredentialsAvailable","selectedFields","_credential$issuer","_credential$claims$ma","selectiveDisclosureSupported","supportsSelectiveDisclosure","issuer","noticeIcon","CredentialNoticeWarningIcon","text","selectiveDisclosureNotice","cardTestId","card","validityCheckedCardFromCredential","claims","selectCredentialCardFromV2Credential","multiple","_credential$issuer2","_credential$claims$ma2","selectedStatus","SelectedRadio","cardProps","getCredentialCardPropsFromCredential","accessory","getV2CredentialClaimAllSubpaths","flatMap","getV2CredentialAvailablePaths"],"sources":["credential-sharing-v2.tsx"],"sourcesContent":["import {\n ClaimBindingDto,\n ClaimValueBindingDto,\n Config,\n CredentialQueryFailureHintResponseBindingDto,\n PresentationDefinitionV2ClaimBindingDto,\n PresentationDefinitionV2ClaimValueBindingDto,\n PresentationDefinitionV2CredentialDetailBindingDto,\n} from '@procivis/react-native-one-core';\nimport React from 'react';\n\nimport {\n CredentialAttribute,\n CredentialCardNotice,\n CredentialCardProps,\n CredentialNoticeWarningIcon,\n CredentialWarningIcon,\n Selector,\n SelectorStatus,\n} from '../../ui-components';\nimport { concatTestID } from '../testID';\nimport {\n CredentialDetailsCardPropsWithoutWidth,\n detailsCardAttributeFromClaim,\n getCredentialCardPropsFromCredential,\n supportsSelectiveDisclosure,\n} from '.';\nimport { ShareCredentialCardLabels, validityCheckedCardFromCredential } from './credential-sharing';\n\nconst v2ClaimValueToClaimValue = (value: PresentationDefinitionV2ClaimValueBindingDto): ClaimValueBindingDto => {\n if (value.type_ !== 'NESTED') {\n return value;\n }\n return {\n type_: 'NESTED',\n value: value.value.map((c) => v2PresentationClaimToClaim(c)),\n };\n};\n\nconst v2PresentationClaimToClaim = (claim: PresentationDefinitionV2ClaimBindingDto): ClaimBindingDto => {\n return {\n schema: claim.schema,\n path: claim.path,\n value: v2ClaimValueToClaimValue(claim.value),\n };\n};\n\nconst getAttributeSelectorStatus = (\n claim: PresentationDefinitionV2ClaimBindingDto,\n selected: boolean,\n force: boolean,\n): SelectorStatus | undefined => {\n if (claim.required && selected) {\n return SelectorStatus.Required;\n }\n if (force) {\n return SelectorStatus.Required;\n }\n if (claim.userSelection) {\n if (selected) {\n return SelectorStatus.SelectedCheckmark;\n } else {\n return SelectorStatus.Empty;\n }\n }\n};\n\nexport const shareCredentialCardAttributeFromV2Claim = (\n claim: PresentationDefinitionV2ClaimBindingDto,\n selection: string[] | undefined,\n parentShared: boolean,\n parentUserSelected: boolean,\n config: Config,\n testID: string,\n nested?: boolean,\n listValue?: boolean,\n): CredentialAttribute => {\n const attributeShared =\n Boolean(selection?.some((path) => path.startsWith(claim.path))) || (parentShared && claim.required);\n const userSelected = parentUserSelected || Boolean(selection?.includes(claim.path));\n const selected = !claim.required && attributeShared;\n const status = selection\n ? getAttributeSelectorStatus(claim, attributeShared, parentUserSelected || (attributeShared && !userSelected))\n : undefined;\n const attribute = detailsCardAttributeFromClaim(v2PresentationClaimToClaim(claim), config, testID);\n const disabledStatus = [SelectorStatus.Disabled, SelectorStatus.Rejected, SelectorStatus.Required];\n const disabled = attribute.disabled || !status || disabledStatus.includes(status);\n const credentialAttribute: CredentialAttribute = {\n ...attribute,\n disabled,\n id: claim.path,\n listValue,\n nested,\n path: claim.path,\n rightAccessory: status && <Selector status={status} />,\n selected,\n testID,\n };\n if (claim.value.type_ === 'NESTED') {\n if (claim.schema.array) {\n return {\n ...credentialAttribute,\n attributes: undefined,\n image: undefined,\n value: undefined,\n values: claim.value.value.map((v) =>\n shareCredentialCardAttributeFromV2Claim(\n v,\n selection,\n attributeShared,\n userSelected,\n config,\n testID,\n true,\n false,\n ),\n ),\n };\n } else if (claim.schema.datatype === 'OBJECT') {\n return {\n ...credentialAttribute,\n attributes: claim.value.value.map((v) =>\n shareCredentialCardAttributeFromV2Claim(v, selection, attributeShared, userSelected, config, testID, true),\n ),\n image: undefined,\n value: undefined,\n valueErrorColor: undefined,\n values: undefined,\n };\n }\n }\n return credentialAttribute;\n};\n\nexport const missingCredentialCardFromFailureHint = (\n failureHint: CredentialQueryFailureHintResponseBindingDto | undefined,\n notice: CredentialCardNotice | undefined,\n testID: string,\n labels: ShareCredentialCardLabels,\n): Omit<CredentialCardProps, 'onHeaderPress' | 'style' | 'width'> => {\n return {\n cardImage: undefined,\n color: undefined,\n header: {\n credentialDetailErrorColor: true,\n credentialDetailPrimary: labels.missingCredential,\n credentialDetailTestID: concatTestID(testID, 'header.missing'),\n credentialName: failureHint?.credentialSchema?.name ?? '',\n statusIcon: CredentialWarningIcon,\n },\n testID,\n ...notice,\n };\n};\n\nexport const shareCredentialCardFromV2PresentationCredential = (\n credential: PresentationDefinitionV2CredentialDetailBindingDto | undefined,\n failureHint: CredentialQueryFailureHintResponseBindingDto | undefined,\n expanded: boolean,\n multipleCredentialsAvailable: boolean,\n selectedFields: string[] | undefined,\n config: Config,\n testID: string,\n labels: ShareCredentialCardLabels,\n): CredentialDetailsCardPropsWithoutWidth => {\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 noticeIcon: CredentialNoticeWarningIcon,\n text: labels.selectiveDisclosureNotice,\n }\n : undefined;\n const cardTestId = concatTestID(testID, 'card');\n const card = credential\n ? validityCheckedCardFromCredential(\n {\n ...credential,\n claims: [],\n },\n expanded,\n multipleCredentialsAvailable,\n config,\n notice,\n cardTestId,\n labels,\n )\n : missingCredentialCardFromFailureHint(failureHint, notice, cardTestId, labels);\n\n return {\n attributes:\n credential?.claims.map((v) =>\n shareCredentialCardAttributeFromV2Claim(v, selectedFields ?? [], true, false, config, testID),\n ) ?? [],\n card,\n };\n};\n\nexport const selectCredentialCardFromV2Credential = (\n credential: PresentationDefinitionV2CredentialDetailBindingDto,\n selected: boolean,\n multiple: boolean,\n config: Config,\n testID: string,\n labels: ShareCredentialCardLabels,\n): CredentialDetailsCardPropsWithoutWidth => {\n const selectiveDisclosureSupported = supportsSelectiveDisclosure(\n credential ? { ...credential, issuer: credential.issuer?.id } : undefined,\n config,\n );\n const selectedStatus = multiple ? SelectorStatus.SelectedCheckmark : SelectorStatus.SelectedRadio;\n const rightAccessory = <Selector status={selected ? selectedStatus : SelectorStatus.Empty} />;\n const notice: CredentialCardNotice | undefined =\n selectiveDisclosureSupported === false\n ? {\n noticeIcon: CredentialNoticeWarningIcon,\n text: labels.selectiveDisclosureNotice,\n }\n : undefined;\n const { header, ...cardProps } = getCredentialCardPropsFromCredential(\n {\n ...credential,\n claims: credential.claims.map(v2PresentationClaimToClaim),\n },\n credential.claims.map(v2PresentationClaimToClaim),\n config,\n notice,\n testID,\n labels,\n );\n const card = {\n header: {\n ...header,\n accessory: rightAccessory,\n },\n ...cardProps,\n };\n return {\n attributes:\n credential?.claims.map((v) =>\n shareCredentialCardAttributeFromV2Claim(v, undefined, false, false, config, testID),\n ) ?? [],\n card,\n };\n};\n\nexport const getV2CredentialClaimAllSubpaths = (claim: PresentationDefinitionV2ClaimBindingDto): string[] => {\n if (claim.value.type_ !== 'NESTED') {\n return [claim.path];\n }\n return [claim.path, ...claim.value.value.flatMap(getV2CredentialClaimAllSubpaths)];\n};\n\nexport const getV2CredentialAvailablePaths = (\n credential: PresentationDefinitionV2CredentialDetailBindingDto,\n): string[] => {\n return credential.claims.flatMap(getV2CredentialClaimAllSubpaths);\n};\n"],"mappings":"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","ignoreList":[]}
@@ -10,15 +10,9 @@ var _icons = require("../../ui-components/icons");
10
10
  var _testID = require("../testID");
11
11
  var _credential2 = require("./credential");
12
12
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
13
- const validityCheckedCardFromCredential = (credential, invalidLVVC, expanded, multipleCredentialsAvailable, config, notice, testID, labels) => {
13
+ const validityCheckedCardFromCredential = (credential, expanded, multipleCredentialsAvailable, config, notice, testID, labels) => {
14
14
  let credentialHeaderDetail;
15
- if (invalidLVVC) {
16
- credentialHeaderDetail = {
17
- credentialDetailErrorColor: true,
18
- credentialDetailPrimary: labels.revoked,
19
- credentialDetailTestID: (0, _testID.concatTestID)(testID, 'header.invalid')
20
- };
21
- } else if (!expanded && multipleCredentialsAvailable) {
15
+ if (!expanded && multipleCredentialsAvailable) {
22
16
  credentialHeaderDetail = {
23
17
  credentialDetailPrimary: labels.multipleCredentials,
24
18
  credentialDetailTestID: (0, _testID.concatTestID)(testID, 'header.multiple'),
@@ -171,7 +165,7 @@ const setStatusForNestedObjectOrArrayFields = (attribute, status, disabled) => {
171
165
  }
172
166
  }
173
167
  };
174
- const shareCredentialCardFromCredential = (credential, invalidLVVC, expanded, multipleCredentialsAvailable, request, selectedFields, config, testID, labels) => {
168
+ const shareCredentialCardFromCredential = (credential, expanded, multipleCredentialsAvailable, request, selectedFields, config, testID, labels) => {
175
169
  var _credential$issuer, _credential$issuer2;
176
170
  const selectiveDisclosureSupported = (0, _credential2.supportsSelectiveDisclosure)(credential ? {
177
171
  ...credential,
@@ -182,7 +176,7 @@ const shareCredentialCardFromCredential = (credential, invalidLVVC, expanded, mu
182
176
  noticeIcon: _icons.CredentialNoticeWarningIcon
183
177
  } : undefined;
184
178
  const cardTestId = (0, _testID.concatTestID)(testID, 'card');
185
- const card = credential ? validityCheckedCardFromCredential(credential, invalidLVVC, expanded, multipleCredentialsAvailable, config, notice, cardTestId, labels) : missingCredentialCardFromRequest(request, notice, cardTestId, labels);
179
+ const card = credential ? validityCheckedCardFromCredential(credential, expanded, multipleCredentialsAvailable, config, notice, cardTestId, labels) : missingCredentialCardFromRequest(request, notice, cardTestId, labels);
186
180
  const validityState = (0, _credential2.getValidityState)(credential ? {
187
181
  ...credential,
188
182
  issuer: (_credential$issuer2 = credential.issuer) === null || _credential$issuer2 === void 0 ? void 0 : _credential$issuer2.id
@@ -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","reduce","acc","result","value","type_","nestedClaimsWithPath","map","c","isArrayElement","schema","array","path","split","pop","key","push","getDisplayedAttributes","selectiveDisclosureSupported","selectedFields","isApplicable","applicableCredentials","includes","fields","fieldsWithNoKeyMapping","filter","keyMap","fullyNestedFields","getFullyNestedFields","find","status","credentialId","allKeys","every","k","startsWith","shareCredentialCardAttributeFromClaim","_field$name$split$pop","_field$name","_field$name2","detailsCardAttributeFromClaim","listValue","missingAttribute","valueErrorColor","setStatusForNestedObjectOrArrayFields","attribute","disabled","accessory","createElement","Selector","isObject","attributes","length","isArray","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 ClaimBindingDto,\n Config,\n CredentialDetailBindingDto,\n PresentationDefinitionFieldBindingDto,\n PresentationDefinitionRequestedCredentialBindingDto,\n} from '@procivis/react-native-one-core';\nimport React from 'react';\n\nimport {\n CredentialAttribute,\n CredentialCardProps,\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 CredentialDetailsCardPropsWithoutWidth,\n detailsCardAttributeFromClaim,\n getCredentialCardPropsFromCredential,\n getValidityState,\n nestAttributes,\n supportsSelectiveDisclosure,\n ValidityState,\n} from './credential';\n\nexport const validityCheckedCardFromCredential = (\n credential: CredentialDetailBindingDto,\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' | 'width'> => {\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: PresentationDefinitionRequestedCredentialBindingDto,\n notice: CredentialCardNotice | undefined,\n testID: string,\n labels: ShareCredentialCardLabels,\n): Omit<CredentialCardProps, 'onHeaderPress' | 'style' | 'width'> => {\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?: FlatClaim;\n field?: PresentationDefinitionFieldBindingDto;\n id: string;\n selected?: boolean;\n status: SelectorStatus;\n}\n\nconst getAttributeSelectorStatus = (\n field: PresentationDefinitionFieldBindingDto,\n validityState: ValidityState,\n credential?: CredentialDetailBindingDto,\n claim?: ClaimBindingDto,\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\ntype FlatClaim = ClaimBindingDto & {\n isArrayElement?: boolean;\n};\n\n// Returns a spread list of all claims with their full JSON path as key, including all intermediate objects\nconst spreadClaims = (claims: ClaimBindingDto[]): FlatClaim[] => {\n return claims.reduce((acc, claim) => {\n const result = [claim];\n if (claim.value.type_ === 'NESTED') {\n const nestedClaimsWithPath: FlatClaim[] = claim.value.value.map((c) => ({\n ...c,\n isArrayElement: claim.schema.array && claim.path.split('/').pop() !== claim.schema.key,\n }));\n result.push(...spreadClaims(nestedClaimsWithPath));\n }\n return [...acc, ...result];\n }, [] as FlatClaim[]);\n};\n\nconst getDisplayedAttributes = (\n request: PresentationDefinitionRequestedCredentialBindingDto,\n validityState: ValidityState,\n credential?: CredentialDetailBindingDto,\n selectiveDisclosureSupported?: boolean,\n selectedFields?: string[],\n): DisplayedAttribute[] => {\n const claims = credential ? spreadClaims(credential.claims) : undefined;\n const isApplicable = credential ? request.applicableCredentials.includes(credential.id) : false;\n\n let fields = request.fields;\n if (credential) {\n const fieldsWithNoKeyMapping = request.fields\n .filter((field) => !(credential.id in field.keyMap))\n .filter((field) => !isApplicable || !field.required);\n const fullyNestedFields = getFullyNestedFields(request.fields, credential.id);\n\n fields = [...fieldsWithNoKeyMapping, ...fullyNestedFields];\n }\n\n return fields.map((field) => {\n const selected = !field.required && selectedFields?.includes(field.id);\n const claim = credential\n ? claims?.find(({ path }) => {\n return path === field.keyMap[credential.id];\n })\n : undefined;\n const status =\n selectiveDisclosureSupported === false\n ? SelectorStatus.Required\n : getAttributeSelectorStatus(field, validityState, credential, claim, selected);\n return { claim, field, id: field.id, selected, status };\n });\n};\n\nconst getFullyNestedFields = (\n fields: PresentationDefinitionRequestedCredentialBindingDto['fields'],\n credentialId: CredentialDetailBindingDto['id'],\n) => {\n const allKeys = fields.filter((field) => credentialId in field.keyMap).map((field) => field.keyMap[credentialId]);\n\n return fields\n .map((field) => ({ field, key: field.keyMap[credentialId] }))\n .filter(({ key }) => key && allKeys.every((k) => !k.startsWith(`${key}/`)))\n .map(({ field }) => field);\n};\n\nexport const shareCredentialCardAttributeFromClaim = (\n id: string,\n config: Config,\n testID: string,\n labels: ShareCredentialCardLabels,\n claim?: FlatClaim,\n field?: PresentationDefinitionFieldBindingDto,\n): CredentialAttribute => {\n if (claim) {\n return {\n ...detailsCardAttributeFromClaim(claim, config, testID),\n id,\n path: claim.path,\n listValue: claim.isArrayElement,\n };\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: CredentialDetailBindingDto | undefined,\n invalidLVVC: boolean,\n expanded: boolean,\n multipleCredentialsAvailable: boolean,\n request: PresentationDefinitionRequestedCredentialBindingDto,\n selectedFields: string[] | undefined,\n config: Config,\n testID: string,\n labels: ShareCredentialCardLabels,\n): CredentialDetailsCardPropsWithoutWidth => {\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(credential ? { ...credential, issuer: credential.issuer?.id } : undefined);\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?: FlatClaim,\n field?: PresentationDefinitionFieldBindingDto,\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: CredentialDetailBindingDto,\n selected: boolean,\n request: PresentationDefinitionRequestedCredentialBindingDto,\n config: Config,\n testID: string,\n labels: ShareCredentialCardLabels,\n): CredentialDetailsCardPropsWithoutWidth => {\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[] = getFullyNestedFields(request.fields, credential.id).map((field) => {\n const claim = spreadClaims(credential.claims).find(({ path }) => {\n return path === 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","expanded","multipleCredentialsAvailable","config","notice","testID","labels","credentialHeaderDetail","credentialDetailPrimary","multipleCredentials","credentialDetailTestID","concatTestID","statusIcon","CredentialWarningIcon","card","getCredentialCardPropsFromCredential","claims","header","exports","missingCredentialCardFromRequest","request","_request$name","cardImage","undefined","color","credentialDetailErrorColor","missingCredential","credentialName","name","id","getAttributeSelectorStatus","field","validityState","claim","selected","ValidityState","Valid","SelectorStatus","Rejected","required","Required","Disabled","SelectedCheckmark","Empty","spreadClaims","reduce","acc","result","value","type_","nestedClaimsWithPath","map","c","isArrayElement","schema","array","path","split","pop","key","push","getDisplayedAttributes","selectiveDisclosureSupported","selectedFields","isApplicable","applicableCredentials","includes","fields","fieldsWithNoKeyMapping","filter","keyMap","fullyNestedFields","getFullyNestedFields","find","status","credentialId","allKeys","every","k","startsWith","shareCredentialCardAttributeFromClaim","_field$name$split$pop","_field$name","_field$name2","detailsCardAttributeFromClaim","listValue","missingAttribute","valueErrorColor","setStatusForNestedObjectOrArrayFields","attribute","disabled","accessory","createElement","Selector","isObject","attributes","length","isArray","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 ClaimBindingDto,\n Config,\n CredentialDetailBindingDto,\n PresentationDefinitionFieldBindingDto,\n PresentationDefinitionRequestedCredentialBindingDto,\n} from '@procivis/react-native-one-core';\nimport React from 'react';\n\nimport {\n CredentialAttribute,\n CredentialCardProps,\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 CredentialDetailsCardPropsWithoutWidth,\n detailsCardAttributeFromClaim,\n getCredentialCardPropsFromCredential,\n getValidityState,\n nestAttributes,\n supportsSelectiveDisclosure,\n ValidityState,\n} from './credential';\n\nexport const validityCheckedCardFromCredential = (\n credential: CredentialDetailBindingDto,\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' | 'width'> => {\n let credentialHeaderDetail:\n | Pick<\n CredentialHeaderProps,\n | 'credentialDetailPrimary'\n | 'credentialDetailSecondary'\n | 'credentialDetailErrorColor'\n | 'credentialDetailTestID'\n | 'statusIcon'\n >\n | undefined;\n 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: PresentationDefinitionRequestedCredentialBindingDto,\n notice: CredentialCardNotice | undefined,\n testID: string,\n labels: ShareCredentialCardLabels,\n): Omit<CredentialCardProps, 'onHeaderPress' | 'style' | 'width'> => {\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?: FlatClaim;\n field?: PresentationDefinitionFieldBindingDto;\n id: string;\n selected?: boolean;\n status: SelectorStatus;\n}\n\nconst getAttributeSelectorStatus = (\n field: PresentationDefinitionFieldBindingDto,\n validityState: ValidityState,\n credential?: CredentialDetailBindingDto,\n claim?: ClaimBindingDto,\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\ntype FlatClaim = ClaimBindingDto & {\n isArrayElement?: boolean;\n};\n\n// Returns a spread list of all claims with their full JSON path as key, including all intermediate objects\nconst spreadClaims = (claims: ClaimBindingDto[]): FlatClaim[] => {\n return claims.reduce((acc, claim) => {\n const result = [claim];\n if (claim.value.type_ === 'NESTED') {\n const nestedClaimsWithPath: FlatClaim[] = claim.value.value.map((c) => ({\n ...c,\n isArrayElement: claim.schema.array && claim.path.split('/').pop() !== claim.schema.key,\n }));\n result.push(...spreadClaims(nestedClaimsWithPath));\n }\n return [...acc, ...result];\n }, [] as FlatClaim[]);\n};\n\nconst getDisplayedAttributes = (\n request: PresentationDefinitionRequestedCredentialBindingDto,\n validityState: ValidityState,\n credential?: CredentialDetailBindingDto,\n selectiveDisclosureSupported?: boolean,\n selectedFields?: string[],\n): DisplayedAttribute[] => {\n const claims = credential ? spreadClaims(credential.claims) : undefined;\n const isApplicable = credential ? request.applicableCredentials.includes(credential.id) : false;\n\n let fields = request.fields;\n if (credential) {\n const fieldsWithNoKeyMapping = request.fields\n .filter((field) => !(credential.id in field.keyMap))\n .filter((field) => !isApplicable || !field.required);\n const fullyNestedFields = getFullyNestedFields(request.fields, credential.id);\n\n fields = [...fieldsWithNoKeyMapping, ...fullyNestedFields];\n }\n\n return fields.map((field) => {\n const selected = !field.required && selectedFields?.includes(field.id);\n const claim = credential\n ? claims?.find(({ path }) => {\n return path === field.keyMap[credential.id];\n })\n : undefined;\n const status =\n selectiveDisclosureSupported === false\n ? SelectorStatus.Required\n : getAttributeSelectorStatus(field, validityState, credential, claim, selected);\n return { claim, field, id: field.id, selected, status };\n });\n};\n\nconst getFullyNestedFields = (\n fields: PresentationDefinitionRequestedCredentialBindingDto['fields'],\n credentialId: CredentialDetailBindingDto['id'],\n) => {\n const allKeys = fields.filter((field) => credentialId in field.keyMap).map((field) => field.keyMap[credentialId]);\n\n return fields\n .map((field) => ({ field, key: field.keyMap[credentialId] }))\n .filter(({ key }) => key && allKeys.every((k) => !k.startsWith(`${key}/`)))\n .map(({ field }) => field);\n};\n\nexport const shareCredentialCardAttributeFromClaim = (\n id: string,\n config: Config,\n testID: string,\n labels: ShareCredentialCardLabels,\n claim?: FlatClaim,\n field?: PresentationDefinitionFieldBindingDto,\n): CredentialAttribute => {\n if (claim) {\n return {\n ...detailsCardAttributeFromClaim(claim, config, testID),\n id,\n path: claim.path,\n listValue: claim.isArrayElement,\n };\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: CredentialDetailBindingDto | undefined,\n expanded: boolean,\n multipleCredentialsAvailable: boolean,\n request: PresentationDefinitionRequestedCredentialBindingDto,\n selectedFields: string[] | undefined,\n config: Config,\n testID: string,\n labels: ShareCredentialCardLabels,\n): CredentialDetailsCardPropsWithoutWidth => {\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 expanded,\n multipleCredentialsAvailable,\n config,\n notice,\n cardTestId,\n labels,\n )\n : missingCredentialCardFromRequest(request, notice, cardTestId, labels);\n const validityState = getValidityState(credential ? { ...credential, issuer: credential.issuer?.id } : undefined);\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?: FlatClaim,\n field?: PresentationDefinitionFieldBindingDto,\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: CredentialDetailBindingDto,\n selected: boolean,\n request: PresentationDefinitionRequestedCredentialBindingDto,\n config: Config,\n testID: string,\n labels: ShareCredentialCardLabels,\n): CredentialDetailsCardPropsWithoutWidth => {\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[] = getFullyNestedFields(request.fields, credential.id).map((field) => {\n const claim = spreadClaims(credential.claims).find(({ path }) => {\n return path === 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":[]}
@@ -29,7 +29,8 @@ const defaultIcons = {
29
29
  EXPIRED: HistoryStatusErrorIcon,
30
30
  INTERACTION_CREATED: HistoryStatusAcceptedIcon,
31
31
  INTERACTION_ERRORED: HistoryStatusErrorIcon,
32
- INTERACTION_EXPIRED: HistoryStatusErrorIcon
32
+ INTERACTION_EXPIRED: HistoryStatusErrorIcon,
33
+ DELIVERED: HistoryStatusAcceptedIcon
33
34
  },
34
35
  entityTypes: {
35
36
  BACKUP: HistoryRevokeIcon,
@@ -52,7 +53,10 @@ const defaultIcons = {
52
53
  STS_ORGANISATION: HistoryOrganisationIcon,
53
54
  STS_IAM_ROLE: HistoryIdentifierIcon,
54
55
  STS_TOKEN: HistoryKeyIcon,
55
- SIGNATURE: HistoryCertificateIcon
56
+ SIGNATURE: HistoryCertificateIcon,
57
+ STS_SESSION: HistoryIdentifierIcon,
58
+ NOTIFICATION: HistoryCredentialIcon,
59
+ SUPERVISORY_AUTHORITY: HistoryCertificateIcon
56
60
  }
57
61
  };
58
62
  export const getHistoryItemActionIcon = action => {
@@ -1 +1 @@
1
- {"version":3,"names":["HistoryActionBindingEnum","HistoryEntityTypeBindingEnum","React","useMemo","HistoryBackupCreatedIcon","HistoryBackupRestoredIcon","HistoryCertificateIcon","HistoryCredentialIcon","HistoryDidIcon","HistoryIdentifierIcon","HistoryIssueIcon","HistoryItemIcon","HistoryKeyIcon","HistoryOrganisationIcon","HistoryProofRequestIcon","HistoryRevokeIcon","HistorySchemaIcon","HistoryStatusAcceptedIcon","HistoryStatusDeleteIcon","HistoryStatusErrorIcon","HistoryStatusSuspendIcon","HistorySuspendIcon","HistoryTrustAnchorIcon","HistoryTrustedEntityIcon","defaultIcons","actions","ACCEPTED","ACTIVATED","CLAIMS_REMOVED","CREATED","DEACTIVATED","DELETED","ERRORED","IMPORTED","ISSUED","OFFERED","PENDING","REJECTED","REMOVED","REQUESTED","RESTORED","RETRACTED","REVOKED","SHARED","SUSPENDED","UPDATED","WITHDRAWN","REACTIVATED","CSR_GENERATED","EXPIRED","INTERACTION_CREATED","INTERACTION_ERRORED","INTERACTION_EXPIRED","entityTypes","BACKUP","CERTIFICATE","CREDENTIAL","CREDENTIAL_SCHEMA","DID","IDENTIFIER","KEY","ORGANISATION","PROOF","PROOF_SCHEMA","TRUST_ANCHOR","TRUST_ENTITY","WALLET_UNIT","WALLET_RELYING_PARTY","USER","PROVIDER","STS_ROLE","STS_ORGANISATION","STS_IAM_ROLE","STS_TOKEN","SIGNATURE","getHistoryItemActionIcon","action","_defaultIcons$actions","HistoryListItemIcon","item","statusIcon","typeIcon","_defaultIcons$entityT","entityType","createElement","StatusIcon","TypeIcon"],"sources":["history-list-item-icon.tsx"],"sourcesContent":["import {\n HistoryActionBindingEnum,\n HistoryEntityTypeBindingEnum,\n HistoryListItemBindingDto,\n} from '@procivis/react-native-one-core';\nimport React, { FC, useMemo } from 'react';\nimport { SvgProps } from 'react-native-svg';\n\nimport {\n HistoryBackupCreatedIcon,\n HistoryBackupRestoredIcon,\n HistoryCertificateIcon,\n HistoryCredentialIcon,\n HistoryDidIcon,\n HistoryIdentifierIcon,\n HistoryIssueIcon,\n HistoryItemIcon,\n HistoryKeyIcon,\n HistoryOrganisationIcon,\n HistoryProofRequestIcon,\n HistoryRevokeIcon,\n HistorySchemaIcon,\n HistoryStatusAcceptedIcon,\n HistoryStatusDeleteIcon,\n HistoryStatusErrorIcon,\n HistoryStatusSuspendIcon,\n HistorySuspendIcon,\n HistoryTrustAnchorIcon,\n HistoryTrustedEntityIcon,\n} from '../../ui-components';\n\nconst defaultIcons: {\n actions: { [key in keyof typeof HistoryActionBindingEnum]: FC<SvgProps> };\n entityTypes: { [key in keyof typeof HistoryEntityTypeBindingEnum]: FC<SvgProps> };\n} = {\n actions: {\n ACCEPTED: HistoryStatusAcceptedIcon,\n ACTIVATED: HistoryStatusAcceptedIcon,\n CLAIMS_REMOVED: HistoryStatusDeleteIcon,\n CREATED: HistoryStatusAcceptedIcon,\n DEACTIVATED: HistoryStatusErrorIcon,\n DELETED: HistoryStatusDeleteIcon,\n ERRORED: HistoryStatusErrorIcon,\n IMPORTED: HistoryStatusAcceptedIcon,\n ISSUED: HistoryStatusAcceptedIcon,\n OFFERED: HistoryStatusAcceptedIcon,\n PENDING: HistoryStatusAcceptedIcon,\n REJECTED: HistoryStatusErrorIcon,\n REMOVED: HistoryStatusDeleteIcon,\n REQUESTED: HistoryStatusAcceptedIcon,\n RESTORED: HistoryStatusAcceptedIcon,\n RETRACTED: HistoryStatusErrorIcon,\n REVOKED: HistoryStatusErrorIcon,\n SHARED: HistoryStatusAcceptedIcon,\n SUSPENDED: HistoryStatusSuspendIcon,\n UPDATED: HistoryStatusAcceptedIcon,\n WITHDRAWN: HistoryStatusErrorIcon,\n REACTIVATED: HistoryStatusAcceptedIcon,\n CSR_GENERATED: HistoryStatusAcceptedIcon,\n EXPIRED: HistoryStatusErrorIcon,\n INTERACTION_CREATED: HistoryStatusAcceptedIcon,\n INTERACTION_ERRORED: HistoryStatusErrorIcon,\n INTERACTION_EXPIRED: HistoryStatusErrorIcon,\n },\n entityTypes: {\n BACKUP: HistoryRevokeIcon,\n CERTIFICATE: HistoryCertificateIcon,\n CREDENTIAL: HistoryCredentialIcon,\n CREDENTIAL_SCHEMA: HistorySchemaIcon,\n DID: HistoryDidIcon,\n IDENTIFIER: HistoryIdentifierIcon,\n KEY: HistoryKeyIcon,\n ORGANISATION: HistoryOrganisationIcon,\n PROOF: HistoryProofRequestIcon,\n PROOF_SCHEMA: HistorySchemaIcon,\n TRUST_ANCHOR: HistoryTrustAnchorIcon,\n TRUST_ENTITY: HistoryTrustedEntityIcon,\n WALLET_UNIT: HistoryTrustedEntityIcon,\n WALLET_RELYING_PARTY: HistoryTrustedEntityIcon,\n USER: HistoryIdentifierIcon,\n PROVIDER: HistoryIdentifierIcon,\n STS_ROLE: HistoryIdentifierIcon,\n STS_ORGANISATION: HistoryOrganisationIcon,\n STS_IAM_ROLE: HistoryIdentifierIcon,\n STS_TOKEN: HistoryKeyIcon,\n SIGNATURE: HistoryCertificateIcon,\n },\n};\n\nexport const getHistoryItemActionIcon = (action: HistoryActionBindingEnum) => {\n return defaultIcons.actions[action] ?? HistoryStatusAcceptedIcon;\n};\n\nexport type HistoryListItemIconProps = {\n item: HistoryListItemBindingDto;\n};\n\nexport const HistoryListItemIcon: FC<HistoryListItemIconProps> = ({ item }) => {\n const statusIcon = getHistoryItemActionIcon(item.action);\n const typeIcon = useMemo(() => {\n switch (item.entityType) {\n case HistoryEntityTypeBindingEnum.BACKUP:\n switch (item.action) {\n case HistoryActionBindingEnum.CREATED:\n return HistoryBackupCreatedIcon;\n case HistoryActionBindingEnum.RESTORED:\n return HistoryBackupRestoredIcon;\n default:\n break;\n }\n break;\n case HistoryEntityTypeBindingEnum.CREDENTIAL:\n switch (item.action) {\n case HistoryActionBindingEnum.REVOKED:\n return HistoryRevokeIcon;\n case HistoryActionBindingEnum.SUSPENDED:\n return HistorySuspendIcon;\n default:\n break;\n }\n break;\n default:\n break;\n }\n\n return defaultIcons.entityTypes[item.entityType] ?? HistoryIssueIcon;\n }, [item.action, item.entityType]);\n return <HistoryItemIcon StatusIcon={statusIcon} TypeIcon={typeIcon} />;\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["HistoryActionBindingEnum","HistoryEntityTypeBindingEnum","React","useMemo","HistoryBackupCreatedIcon","HistoryBackupRestoredIcon","HistoryCertificateIcon","HistoryCredentialIcon","HistoryDidIcon","HistoryIdentifierIcon","HistoryIssueIcon","HistoryItemIcon","HistoryKeyIcon","HistoryOrganisationIcon","HistoryProofRequestIcon","HistoryRevokeIcon","HistorySchemaIcon","HistoryStatusAcceptedIcon","HistoryStatusDeleteIcon","HistoryStatusErrorIcon","HistoryStatusSuspendIcon","HistorySuspendIcon","HistoryTrustAnchorIcon","HistoryTrustedEntityIcon","defaultIcons","actions","ACCEPTED","ACTIVATED","CLAIMS_REMOVED","CREATED","DEACTIVATED","DELETED","ERRORED","IMPORTED","ISSUED","OFFERED","PENDING","REJECTED","REMOVED","REQUESTED","RESTORED","RETRACTED","REVOKED","SHARED","SUSPENDED","UPDATED","WITHDRAWN","REACTIVATED","CSR_GENERATED","EXPIRED","INTERACTION_CREATED","INTERACTION_ERRORED","INTERACTION_EXPIRED","DELIVERED","entityTypes","BACKUP","CERTIFICATE","CREDENTIAL","CREDENTIAL_SCHEMA","DID","IDENTIFIER","KEY","ORGANISATION","PROOF","PROOF_SCHEMA","TRUST_ANCHOR","TRUST_ENTITY","WALLET_UNIT","WALLET_RELYING_PARTY","USER","PROVIDER","STS_ROLE","STS_ORGANISATION","STS_IAM_ROLE","STS_TOKEN","SIGNATURE","STS_SESSION","NOTIFICATION","SUPERVISORY_AUTHORITY","getHistoryItemActionIcon","action","_defaultIcons$actions","HistoryListItemIcon","item","statusIcon","typeIcon","_defaultIcons$entityT","entityType","createElement","StatusIcon","TypeIcon"],"sources":["history-list-item-icon.tsx"],"sourcesContent":["import {\n HistoryActionBindingEnum,\n HistoryEntityTypeBindingEnum,\n HistoryListItemBindingDto,\n} from '@procivis/react-native-one-core';\nimport React, { FC, useMemo } from 'react';\nimport { SvgProps } from 'react-native-svg';\n\nimport {\n HistoryBackupCreatedIcon,\n HistoryBackupRestoredIcon,\n HistoryCertificateIcon,\n HistoryCredentialIcon,\n HistoryDidIcon,\n HistoryIdentifierIcon,\n HistoryIssueIcon,\n HistoryItemIcon,\n HistoryKeyIcon,\n HistoryOrganisationIcon,\n HistoryProofRequestIcon,\n HistoryRevokeIcon,\n HistorySchemaIcon,\n HistoryStatusAcceptedIcon,\n HistoryStatusDeleteIcon,\n HistoryStatusErrorIcon,\n HistoryStatusSuspendIcon,\n HistorySuspendIcon,\n HistoryTrustAnchorIcon,\n HistoryTrustedEntityIcon,\n} from '../../ui-components';\n\nconst defaultIcons: {\n actions: { [key in keyof typeof HistoryActionBindingEnum]: FC<SvgProps> };\n entityTypes: { [key in keyof typeof HistoryEntityTypeBindingEnum]: FC<SvgProps> };\n} = {\n actions: {\n ACCEPTED: HistoryStatusAcceptedIcon,\n ACTIVATED: HistoryStatusAcceptedIcon,\n CLAIMS_REMOVED: HistoryStatusDeleteIcon,\n CREATED: HistoryStatusAcceptedIcon,\n DEACTIVATED: HistoryStatusErrorIcon,\n DELETED: HistoryStatusDeleteIcon,\n ERRORED: HistoryStatusErrorIcon,\n IMPORTED: HistoryStatusAcceptedIcon,\n ISSUED: HistoryStatusAcceptedIcon,\n OFFERED: HistoryStatusAcceptedIcon,\n PENDING: HistoryStatusAcceptedIcon,\n REJECTED: HistoryStatusErrorIcon,\n REMOVED: HistoryStatusDeleteIcon,\n REQUESTED: HistoryStatusAcceptedIcon,\n RESTORED: HistoryStatusAcceptedIcon,\n RETRACTED: HistoryStatusErrorIcon,\n REVOKED: HistoryStatusErrorIcon,\n SHARED: HistoryStatusAcceptedIcon,\n SUSPENDED: HistoryStatusSuspendIcon,\n UPDATED: HistoryStatusAcceptedIcon,\n WITHDRAWN: HistoryStatusErrorIcon,\n REACTIVATED: HistoryStatusAcceptedIcon,\n CSR_GENERATED: HistoryStatusAcceptedIcon,\n EXPIRED: HistoryStatusErrorIcon,\n INTERACTION_CREATED: HistoryStatusAcceptedIcon,\n INTERACTION_ERRORED: HistoryStatusErrorIcon,\n INTERACTION_EXPIRED: HistoryStatusErrorIcon,\n DELIVERED: HistoryStatusAcceptedIcon,\n },\n entityTypes: {\n BACKUP: HistoryRevokeIcon,\n CERTIFICATE: HistoryCertificateIcon,\n CREDENTIAL: HistoryCredentialIcon,\n CREDENTIAL_SCHEMA: HistorySchemaIcon,\n DID: HistoryDidIcon,\n IDENTIFIER: HistoryIdentifierIcon,\n KEY: HistoryKeyIcon,\n ORGANISATION: HistoryOrganisationIcon,\n PROOF: HistoryProofRequestIcon,\n PROOF_SCHEMA: HistorySchemaIcon,\n TRUST_ANCHOR: HistoryTrustAnchorIcon,\n TRUST_ENTITY: HistoryTrustedEntityIcon,\n WALLET_UNIT: HistoryTrustedEntityIcon,\n WALLET_RELYING_PARTY: HistoryTrustedEntityIcon,\n USER: HistoryIdentifierIcon,\n PROVIDER: HistoryIdentifierIcon,\n STS_ROLE: HistoryIdentifierIcon,\n STS_ORGANISATION: HistoryOrganisationIcon,\n STS_IAM_ROLE: HistoryIdentifierIcon,\n STS_TOKEN: HistoryKeyIcon,\n SIGNATURE: HistoryCertificateIcon,\n STS_SESSION: HistoryIdentifierIcon,\n NOTIFICATION: HistoryCredentialIcon,\n SUPERVISORY_AUTHORITY: HistoryCertificateIcon,\n },\n};\n\nexport const getHistoryItemActionIcon = (action: HistoryActionBindingEnum) => {\n return defaultIcons.actions[action] ?? HistoryStatusAcceptedIcon;\n};\n\nexport type HistoryListItemIconProps = {\n item: HistoryListItemBindingDto;\n};\n\nexport const HistoryListItemIcon: FC<HistoryListItemIconProps> = ({ item }) => {\n const statusIcon = getHistoryItemActionIcon(item.action);\n const typeIcon = useMemo(() => {\n switch (item.entityType) {\n case HistoryEntityTypeBindingEnum.BACKUP:\n switch (item.action) {\n case HistoryActionBindingEnum.CREATED:\n return HistoryBackupCreatedIcon;\n case HistoryActionBindingEnum.RESTORED:\n return HistoryBackupRestoredIcon;\n default:\n break;\n }\n break;\n case HistoryEntityTypeBindingEnum.CREDENTIAL:\n switch (item.action) {\n case HistoryActionBindingEnum.REVOKED:\n return HistoryRevokeIcon;\n case HistoryActionBindingEnum.SUSPENDED:\n return HistorySuspendIcon;\n default:\n break;\n }\n break;\n default:\n break;\n }\n\n return defaultIcons.entityTypes[item.entityType] ?? HistoryIssueIcon;\n }, [item.action, item.entityType]);\n return <HistoryItemIcon StatusIcon={statusIcon} TypeIcon={typeIcon} />;\n};\n"],"mappings":"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","ignoreList":[]}
@@ -39,12 +39,6 @@ export const ShareCredential = ({
39
39
  ...credential,
40
40
  issuer: credential === null || credential === void 0 || (_credential$issuer = credential.issuer) === null || _credential$issuer === void 0 ? void 0 : _credential$issuer.id
41
41
  } : undefined);
42
- const invalid = useMemo(() => {
43
- if (!(credential !== null && credential !== void 0 && credential.lvvcIssuanceDate) || !request.validityCredentialNbf) {
44
- return false;
45
- }
46
- return new Date(credential.lvvcIssuanceDate) < new Date(request.validityCredentialNbf);
47
- }, [credential, request]);
48
42
  const footer = useMemo(() => {
49
43
  if (!expanded) {
50
44
  return;
@@ -61,12 +55,6 @@ export const ShareCredential = ({
61
55
  text: labels.suspendedCredentialNotice
62
56
  });
63
57
  }
64
- if (invalid) {
65
- return /*#__PURE__*/React.createElement(ShareCredentialCardNotice, {
66
- testID: concatTestID(testID, 'notice.invalid'),
67
- text: labels.invalidCredentialNotice
68
- });
69
- }
70
58
  if (multipleCredentialsAvailable) {
71
59
  return /*#__PURE__*/React.createElement(SelectShareCredentialCardNotice, {
72
60
  buttonTitle: labels.multipleCredentialsSelect,
@@ -75,14 +63,14 @@ export const ShareCredential = ({
75
63
  text: labels.multipleCredentialsNotice
76
64
  });
77
65
  }
78
- }, [expanded, invalid, labels, multipleCredentialsAvailable, onSelectCredential, testID, validityState]);
66
+ }, [expanded, labels, multipleCredentialsAvailable, onSelectCredential, testID, validityState]);
79
67
  if (!config) {
80
68
  return null;
81
69
  }
82
70
  const {
83
71
  card,
84
72
  attributes
85
- } = shareCredentialCardFromCredential(credential, invalid, Boolean(expanded), multipleCredentialsAvailable, request, selectedFields, config, testID, labels);
73
+ } = shareCredentialCardFromCredential(credential, Boolean(expanded), multipleCredentialsAvailable, request, selectedFields, config, testID, labels);
86
74
  return /*#__PURE__*/React.createElement(CredentialDetailsCardListItem, {
87
75
  attributes: attributes,
88
76
  card: {