@procivis/one-react-native-components 0.3.142 → 0.3.143
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.
- package/lib/commonjs/components/proof-request/index.js +1 -12
- package/lib/commonjs/components/proof-request/index.js.map +1 -1
- package/lib/commonjs/components/proof-request/v2/share-credential-v2-group.js.map +1 -1
- package/lib/commonjs/components/proof-request/v2/share-credential-v2.js.map +1 -1
- package/lib/commonjs/utils/hooks/core/proofs.js +1 -1
- package/lib/commonjs/utils/hooks/core/proofs.js.map +1 -1
- package/lib/commonjs/utils/parsers/credential-sharing-v2.js +34 -3
- package/lib/commonjs/utils/parsers/credential-sharing-v2.js.map +1 -1
- package/lib/commonjs/utils/parsers/index.js +0 -11
- package/lib/commonjs/utils/parsers/index.js.map +1 -1
- package/lib/commonjs/utils/parsers/query.js +1 -1
- package/lib/commonjs/utils/parsers/query.js.map +1 -1
- package/lib/module/components/proof-request/index.js +0 -1
- package/lib/module/components/proof-request/index.js.map +1 -1
- package/lib/module/components/proof-request/v2/share-credential-v2-group.js.map +1 -1
- package/lib/module/components/proof-request/v2/share-credential-v2.js.map +1 -1
- package/lib/module/utils/hooks/core/proofs.js +1 -1
- package/lib/module/utils/hooks/core/proofs.js.map +1 -1
- package/lib/module/utils/parsers/credential-sharing-v2.js +31 -1
- package/lib/module/utils/parsers/credential-sharing-v2.js.map +1 -1
- package/lib/module/utils/parsers/index.js +0 -1
- package/lib/module/utils/parsers/index.js.map +1 -1
- package/lib/module/utils/parsers/query.js +1 -1
- package/lib/module/utils/parsers/query.js.map +1 -1
- package/lib/typescript/components/proof-request/index.d.ts +0 -1
- package/lib/typescript/components/proof-request/v2/share-credential-v2-group.d.ts +8 -1
- package/lib/typescript/components/proof-request/v2/share-credential-v2.d.ts +1 -1
- package/lib/typescript/ui-components/text/typography.d.ts +13 -13
- package/lib/typescript/utils/hooks/core/proofs.d.ts +2 -2
- package/lib/typescript/utils/parsers/credential-sharing-v2.d.ts +10 -2
- package/lib/typescript/utils/parsers/index.d.ts +0 -1
- package/package.json +5 -4
- package/src/components/proof-request/index.ts +0 -1
- package/src/components/proof-request/v2/share-credential-v2-group.tsx +9 -2
- package/src/components/proof-request/v2/share-credential-v2.tsx +1 -1
- package/src/utils/hooks/core/proofs.ts +3 -3
- package/src/utils/parsers/credential-sharing-v2.tsx +70 -1
- package/src/utils/parsers/index.ts +0 -1
- package/src/utils/parsers/query.ts +0 -1
- package/lib/commonjs/components/proof-request/v1/group.js +0 -35
- package/lib/commonjs/components/proof-request/v1/group.js.map +0 -1
- package/lib/commonjs/components/proof-request/v1/index.js +0 -39
- package/lib/commonjs/components/proof-request/v1/index.js.map +0 -1
- package/lib/commonjs/components/proof-request/v1/select-credential.js +0 -53
- package/lib/commonjs/components/proof-request/v1/select-credential.js.map +0 -1
- package/lib/commonjs/components/proof-request/v1/share-credential.js +0 -110
- package/lib/commonjs/components/proof-request/v1/share-credential.js.map +0 -1
- package/lib/commonjs/utils/parsers/credential-sharing.js +0 -269
- package/lib/commonjs/utils/parsers/credential-sharing.js.map +0 -1
- package/lib/module/components/proof-request/v1/group.js +0 -27
- package/lib/module/components/proof-request/v1/group.js.map +0 -1
- package/lib/module/components/proof-request/v1/index.js +0 -4
- package/lib/module/components/proof-request/v1/index.js.map +0 -1
- package/lib/module/components/proof-request/v1/select-credential.js +0 -44
- package/lib/module/components/proof-request/v1/select-credential.js.map +0 -1
- package/lib/module/components/proof-request/v1/share-credential.js +0 -101
- package/lib/module/components/proof-request/v1/share-credential.js.map +0 -1
- package/lib/module/utils/parsers/credential-sharing.js +0 -256
- package/lib/module/utils/parsers/credential-sharing.js.map +0 -1
- package/lib/typescript/components/proof-request/v1/group.d.ts +0 -2
- package/lib/typescript/components/proof-request/v1/index.d.ts +0 -3
- package/lib/typescript/components/proof-request/v1/select-credential.d.ts +0 -15
- package/lib/typescript/components/proof-request/v1/share-credential.d.ts +0 -27
- package/lib/typescript/utils/parsers/credential-sharing.d.ts +0 -21
- package/src/components/proof-request/v1/group.tsx +0 -26
- package/src/components/proof-request/v1/index.ts +0 -3
- package/src/components/proof-request/v1/select-credential.tsx +0 -55
- package/src/components/proof-request/v1/share-credential.tsx +0 -159
- package/src/utils/parsers/credential-sharing.tsx +0 -415
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["getQueryKey","queryParams","params","map","param","getQueryKeyFromCredentialListQueryParams","exports","getQueryKeyFromHistoryListQueryParams","getQueryKeyFromCredentialSchemaListQueryParams","getQueryKeyFromProofSchemaListQueryParams","getQueryKeyFromProofListQueryParams","getQueryKeyFromDidListQueryParams","getQueryKeyFromIdentifierListQueryParams"],"sources":["query.ts"],"sourcesContent":["import {\n CredentialListQuery,\n CredentialSchemaListQuery,\n DidListQuery,\n HistoryListQuery,\n IdentifierListQuery,\n ProofListQuery,\n ProofSchemaListQuery,\n} from '@procivis/react-native-one-core';\n\ntype QueryKey<ListQuery, ParamList> = ParamList extends ReadonlyArray<keyof ListQuery> // all params are inside the ListQuery\n ? keyof ListQuery extends ParamList[number] // all ListQuery fields are in the params\n ? Array<ListQuery[keyof ListQuery]>\n : void\n : void; // otherwise produce a wrong return type which should trigger compilation error\n\n/** Typecheck that all query params are included in the query key */\nfunction getQueryKey<ListQuery extends {}, ParamList extends ReadonlyArray<keyof ListQuery>>(\n queryParams: ListQuery,\n params: ParamList,\n): QueryKey<ListQuery, ParamList> {\n return params.map((param) => queryParams[param]) as QueryKey<ListQuery, ParamList>;\n}\n\nexport const getQueryKeyFromCredentialListQueryParams = (queryParams: Partial<CredentialListQuery> = {}) => {\n return getQueryKey(queryParams, [\n 'page',\n 'pageSize',\n 'organisationId',\n 'name',\n 'searchText',\n 'searchType',\n 'sort',\n 'sortDirection',\n 'exact',\n 'roles',\n 'ids',\n 'states',\n 'include',\n 'profiles',\n 'credentialSchemaIds',\n 'createdDateAfter',\n 'createdDateBefore',\n 'lastModifiedAfter',\n 'lastModifiedBefore',\n 'issuanceDateAfter',\n 'issuanceDateBefore',\n 'revocationDateAfter',\n 'revocationDateBefore',\n 'types',\n 'parentId',\n ]);\n};\n\nexport const getQueryKeyFromHistoryListQueryParams = (queryParams: Partial<HistoryListQuery> = {}) => {\n return getQueryKey(queryParams, [\n 'page',\n 'pageSize',\n 'sort',\n 'sortDirection',\n 'organisationId',\n 'entityIds',\n 'actions',\n 'entityTypes',\n 'createdDateAfter',\n 'createdDateBefore',\n 'identifierId',\n 'credentialId',\n 'credentialSchemaId',\n 'proofId',\n 'proofSchemaId',\n 'search',\n 'users',\n ]);\n};\n\nexport const getQueryKeyFromCredentialSchemaListQueryParams = (\n queryParams: Partial<CredentialSchemaListQuery> = {},\n) => {\n return getQueryKey(queryParams, [\n 'page',\n 'pageSize',\n 'organisationId',\n 'name',\n 'sort',\n 'sortDirection',\n 'exact',\n 'ids',\n 'include',\n '
|
|
1
|
+
{"version":3,"names":["getQueryKey","queryParams","params","map","param","getQueryKeyFromCredentialListQueryParams","exports","getQueryKeyFromHistoryListQueryParams","getQueryKeyFromCredentialSchemaListQueryParams","getQueryKeyFromProofSchemaListQueryParams","getQueryKeyFromProofListQueryParams","getQueryKeyFromDidListQueryParams","getQueryKeyFromIdentifierListQueryParams"],"sources":["query.ts"],"sourcesContent":["import {\n CredentialListQuery,\n CredentialSchemaListQuery,\n DidListQuery,\n HistoryListQuery,\n IdentifierListQuery,\n ProofListQuery,\n ProofSchemaListQuery,\n} from '@procivis/react-native-one-core';\n\ntype QueryKey<ListQuery, ParamList> = ParamList extends ReadonlyArray<keyof ListQuery> // all params are inside the ListQuery\n ? keyof ListQuery extends ParamList[number] // all ListQuery fields are in the params\n ? Array<ListQuery[keyof ListQuery]>\n : void\n : void; // otherwise produce a wrong return type which should trigger compilation error\n\n/** Typecheck that all query params are included in the query key */\nfunction getQueryKey<ListQuery extends {}, ParamList extends ReadonlyArray<keyof ListQuery>>(\n queryParams: ListQuery,\n params: ParamList,\n): QueryKey<ListQuery, ParamList> {\n return params.map((param) => queryParams[param]) as QueryKey<ListQuery, ParamList>;\n}\n\nexport const getQueryKeyFromCredentialListQueryParams = (queryParams: Partial<CredentialListQuery> = {}) => {\n return getQueryKey(queryParams, [\n 'page',\n 'pageSize',\n 'organisationId',\n 'name',\n 'searchText',\n 'searchType',\n 'sort',\n 'sortDirection',\n 'exact',\n 'roles',\n 'ids',\n 'states',\n 'include',\n 'profiles',\n 'credentialSchemaIds',\n 'createdDateAfter',\n 'createdDateBefore',\n 'lastModifiedAfter',\n 'lastModifiedBefore',\n 'issuanceDateAfter',\n 'issuanceDateBefore',\n 'revocationDateAfter',\n 'revocationDateBefore',\n 'types',\n 'parentId',\n ]);\n};\n\nexport const getQueryKeyFromHistoryListQueryParams = (queryParams: Partial<HistoryListQuery> = {}) => {\n return getQueryKey(queryParams, [\n 'page',\n 'pageSize',\n 'sort',\n 'sortDirection',\n 'organisationId',\n 'entityIds',\n 'actions',\n 'entityTypes',\n 'createdDateAfter',\n 'createdDateBefore',\n 'identifierId',\n 'credentialId',\n 'credentialSchemaId',\n 'proofId',\n 'proofSchemaId',\n 'search',\n 'users',\n ]);\n};\n\nexport const getQueryKeyFromCredentialSchemaListQueryParams = (\n queryParams: Partial<CredentialSchemaListQuery> = {},\n) => {\n return getQueryKey(queryParams, [\n 'page',\n 'pageSize',\n 'organisationId',\n 'name',\n 'sort',\n 'sortDirection',\n 'exact',\n 'ids',\n 'include',\n 'schemaIds',\n 'formats',\n 'usesBatchIssuance',\n 'isMultiformatSchema',\n 'createdDateAfter',\n 'createdDateBefore',\n 'lastModifiedAfter',\n 'lastModifiedBefore',\n ]);\n};\n\nexport const getQueryKeyFromProofSchemaListQueryParams = (queryParams: Partial<ProofSchemaListQuery> = {}) => {\n return getQueryKey(queryParams, [\n 'page',\n 'pageSize',\n 'organisationId',\n 'name',\n 'sort',\n 'sortDirection',\n 'exact',\n 'ids',\n 'formats',\n 'createdDateAfter',\n 'createdDateBefore',\n 'lastModifiedAfter',\n 'lastModifiedBefore',\n ]);\n};\n\nexport const getQueryKeyFromProofListQueryParams = (queryParams: Partial<ProofListQuery> = {}) => {\n return getQueryKey(queryParams, [\n 'page',\n 'pageSize',\n 'organisationId',\n 'sort',\n 'sortDirection',\n 'name',\n 'ids',\n 'proofStates',\n 'proofRoles',\n 'proofSchemaIds',\n 'exact',\n 'profiles',\n 'createdDateAfter',\n 'createdDateBefore',\n 'lastModifiedAfter',\n 'lastModifiedBefore',\n 'requestedDateAfter',\n 'requestedDateBefore',\n 'completedDateAfter',\n 'completedDateBefore',\n ]);\n};\n\nexport const getQueryKeyFromDidListQueryParams = (queryParams: Partial<DidListQuery> = {}) => {\n return getQueryKey(queryParams, [\n 'page',\n 'pageSize',\n 'organisationId',\n 'sort',\n 'sortDirection',\n 'name',\n 'did',\n 'type',\n 'deactivated',\n 'exact',\n 'keyAlgorithms',\n 'keyRoles',\n 'keyStorages',\n 'keyIds',\n 'didMethods',\n ]);\n};\n\nexport const getQueryKeyFromIdentifierListQueryParams = (queryParams: Partial<IdentifierListQuery> = {}) => {\n return getQueryKey(queryParams, [\n 'page',\n 'pageSize',\n 'organisationId',\n 'ids',\n 'sort',\n 'sortDirection',\n 'name',\n 'types',\n 'states',\n 'exact',\n 'didMethods',\n 'isRemote',\n 'keyAlgorithms',\n 'keyRoles',\n 'keyStorages',\n 'certificateRoles',\n 'certificateRolesMatchMode',\n 'trustIssuanceSchemaId',\n 'trustVerificationSchemaId',\n 'createdDateAfter',\n 'createdDateBefore',\n 'lastModifiedAfter',\n 'lastModifiedBefore',\n ]);\n};\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["export * from './select-share-credential-card-notice';\nexport * from './share-credential-card-notice';\nexport * from './
|
|
1
|
+
{"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["export * from './select-share-credential-card-notice';\nexport * from './share-credential-card-notice';\nexport * from './v2';\n"],"mappings":"AAAA,cAAc,uCAAuC;AACrD,cAAc,gCAAgC;AAC9C,cAAc,MAAM","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useCallback","useMemo","StyleSheet","Animated","LinearTransition","BlurView","CredentialCardShadow","DownIcon","Selector","SelectorStatus","TouchableOpacity","UpIcon","CredentialGroupHeader","concatTestID","useCredentialListExpandedCard","GroupedShareCredentialV2Padding","ShareCredentialV2","multipleCredentialsSelected","selectedCredentials","credentialRequestId","Array","isArray","length","numberOfCardsForRequest","selection","heightForNumberOfCards","numberOfCards","ShareCredentialV2Group","labels","language","lastGroup","onGroupSelect","onImagePreview","onSelectCredential","onSelectField","presentationDefinition","requestGroup","selected","style","testID","valid","expandedCredential","onHeaderPress","reduce","acc","groupId","singleCredentialGroup","headerPressHandler","onNestedCardHeaderPress","credentialId","credentialCards","flatMap","credentialRequestIndex","credentialRequestsLength","lastQuery","credentialQuery","credentialQueries","credentialOrFailureHint","defaultSelection","type_","_credentialQuery$appl","applicableCredentials","id","userSelections","request","credentialSelections","credentialRequest","credentialIndex","credentialsLength","selectedFields","cardId","lastItem","cardExpanded","headerAccessory","createElement","status","SelectedRadio","Empty","expanded","grouped","key","selectedCredentialId","styles","requestedCredential","requestedCredentialLast","groupHeaderAccessory","View","layout","animatedWrapper","height","undefined","groupedCredentialsWrapper","blurStyle","darkMode","absoluteFill","onPress","accessory","name","groupHeader","header","create","borderRadius","borderWidth","overflow","paddingBottom","marginBottom"],"sources":["share-credential-v2-group.tsx"],"sourcesContent":["import {\n CredentialListItem,\n PresentationDefinitionV2,\n PresentationDefinitionV2Claim,\n PresentationSubmitV2CredentialRequest,\n} from '@procivis/react-native-one-core';\nimport React, { FC, useCallback, useMemo } from 'react';\nimport { ImageSourcePropType, StyleProp, StyleSheet, ViewStyle } from 'react-native';\nimport Animated, { LinearTransition } from 'react-native-reanimated';\n\nimport {\n BlurView,\n CredentialCardShadow,\n DownIcon,\n Selector,\n SelectorStatus,\n TouchableOpacity,\n UpIcon,\n} from '../../../ui-components';\nimport CredentialGroupHeader from '../../../ui-components/credential/group/credential-group-header';\nimport { concatTestID, useCredentialListExpandedCard } from '../../../utils';\nimport { ShareCredentialLabels } from '../v1/share-credential';\nimport { GroupedShareCredentialV2Padding, ShareCredentialV2 } from './share-credential-v2';\n\nexport type CredentialQuerySelection = Record<\n string,\n PresentationSubmitV2CredentialRequest | PresentationSubmitV2CredentialRequest[]\n>;\n\nexport type ShareCredentialGroupLabels = ShareCredentialLabels & {\n groupHeader: string;\n};\n\nexport type ShareCredentialV2GroupProps = {\n labels: ShareCredentialGroupLabels;\n language: string;\n lastGroup: boolean;\n onGroupSelect?: (selected: boolean) => void;\n onImagePreview: (title: string, image: ImageSourcePropType) => void;\n onSelectCredential: (requestCredentialId: string) => () => void;\n onSelectField: (\n requestCredentialId: string,\n ) => (\n credentialId: CredentialListItem['id'],\n fieldPath: PresentationDefinitionV2Claim['path'],\n selected: boolean,\n ) => void;\n presentationDefinition: PresentationDefinitionV2;\n requestGroup: string[];\n selected?: boolean;\n selectedCredentials?: CredentialQuerySelection;\n style?: StyleProp<ViewStyle>;\n testID: string;\n valid: boolean;\n};\n\nconst multipleCredentialsSelected = (\n selectedCredentials: CredentialQuerySelection | undefined,\n credentialRequestId: string,\n) => {\n return (\n selectedCredentials &&\n selectedCredentials[credentialRequestId] &&\n Array.isArray(selectedCredentials[credentialRequestId]) &&\n (selectedCredentials[credentialRequestId] as PresentationSubmitV2CredentialRequest[]).length > 1\n );\n};\n\nconst numberOfCardsForRequest = (\n selectedCredentials: CredentialQuerySelection | undefined,\n credentialRequestId: string,\n) => {\n if (!selectedCredentials || !selectedCredentials[credentialRequestId]) {\n return 1;\n }\n const selection = selectedCredentials[credentialRequestId];\n if (Array.isArray(selection)) {\n return selection.length;\n }\n return 1;\n};\n\nconst heightForNumberOfCards = (numberOfCards: number) => 60 * (numberOfCards + 1) + 12 * numberOfCards;\n\nexport const ShareCredentialV2Group: FC<ShareCredentialV2GroupProps> = ({\n labels,\n language,\n lastGroup,\n onGroupSelect,\n onImagePreview,\n onSelectCredential,\n onSelectField,\n presentationDefinition,\n requestGroup,\n selected,\n selectedCredentials = {},\n style,\n testID,\n valid,\n}) => {\n const { expandedCredential, onHeaderPress } = useCredentialListExpandedCard();\n const numberOfCards = requestGroup.reduce(\n (acc, groupId) => acc + numberOfCardsForRequest(selectedCredentials, groupId),\n 0,\n );\n const singleCredentialGroup =\n requestGroup.length === 1 && !multipleCredentialsSelected(selectedCredentials, requestGroup[0]);\n\n const headerPressHandler = useCallback(() => {\n onGroupSelect?.(!selected);\n }, [selected, onGroupSelect]);\n\n const onNestedCardHeaderPress = useCallback(\n (credentialId: string) => () => {\n if (!selected) {\n onGroupSelect?.(true);\n }\n onHeaderPress(credentialId);\n },\n [selected, onGroupSelect, onHeaderPress],\n );\n\n const credentialCards = useMemo(() => {\n return requestGroup.flatMap((credentialRequestId, credentialRequestIndex, { length: credentialRequestsLength }) => {\n const lastQuery = credentialRequestIndex === credentialRequestsLength - 1;\n\n const credentialQuery = presentationDefinition.credentialQueries[credentialRequestId].credentialOrFailureHint;\n let defaultSelection: PresentationSubmitV2CredentialRequest;\n if (credentialQuery.type_ === 'APPLICABLE_CREDENTIALS') {\n defaultSelection = credentialQuery.applicableCredentials?.[0]\n ? {\n credentialId: credentialQuery.applicableCredentials[0].id,\n userSelections: [],\n }\n : {\n credentialId: '',\n userSelections: [],\n };\n } else {\n defaultSelection = {\n credentialId: '',\n userSelections: [],\n };\n }\n const request = selectedCredentials[credentialRequestId];\n const credentialSelections = request ? (Array.isArray(request) ? request : [request]) : [defaultSelection];\n\n return credentialSelections?.flatMap((credentialRequest, credentialIndex, { length: credentialsLength }) => {\n const selectedFields = credentialRequest.userSelections;\n const cardId = `${credentialRequestId}-${credentialRequest.credentialId}`;\n const lastItem = singleCredentialGroup ? lastGroup : lastQuery && credentialIndex === credentialsLength - 1;\n const cardExpanded = selected && (singleCredentialGroup || expandedCredential === cardId);\n const headerAccessory =\n singleCredentialGroup && valid ? (\n <Selector status={selected ? SelectorStatus.SelectedRadio : SelectorStatus.Empty} />\n ) : cardExpanded ? (\n UpIcon\n ) : (\n DownIcon\n );\n return (\n <ShareCredentialV2\n credentialQuery={credentialQuery}\n credentialRequestId={credentialRequestId}\n expanded={cardExpanded}\n grouped={!singleCredentialGroup}\n headerAccessory={headerAccessory}\n key={credentialRequestId}\n labels={labels}\n language={language}\n lastItem={lastItem}\n onHeaderPress={singleCredentialGroup ? headerPressHandler : onNestedCardHeaderPress(cardId)}\n onImagePreview={onImagePreview}\n onSelectCredential={onSelectCredential?.(credentialRequestId)}\n onSelectField={onSelectField(credentialRequestId)}\n selectedCredentialId={credentialRequest.credentialId}\n selectedFields={selectedFields}\n style={[!singleCredentialGroup && styles.requestedCredential, lastItem && styles.requestedCredentialLast]}\n testID={concatTestID(testID, credentialRequestId)}\n />\n );\n });\n });\n }, [\n expandedCredential,\n labels,\n language,\n lastGroup,\n headerPressHandler,\n onImagePreview,\n onNestedCardHeaderPress,\n onSelectCredential,\n onSelectField,\n presentationDefinition.credentialQueries,\n requestGroup,\n selected,\n selectedCredentials,\n singleCredentialGroup,\n testID,\n valid,\n ]);\n\n if (singleCredentialGroup) {\n return credentialCards[0];\n }\n\n const groupHeaderAccessory = valid ? (\n <Selector status={selected ? SelectorStatus.SelectedRadio : SelectorStatus.Empty} />\n ) : selected ? (\n UpIcon\n ) : (\n DownIcon\n );\n\n return (\n <Animated.View\n layout={LinearTransition}\n style={[\n styles.animatedWrapper,\n // eslint-disable-next-line react-native/no-inline-styles\n {\n height: selected || lastGroup ? 'auto' : heightForNumberOfCards(numberOfCards),\n },\n style,\n ]}>\n <Animated.View\n layout={LinearTransition}\n style={[\n singleCredentialGroup ? undefined : styles.groupedCredentialsWrapper,\n !singleCredentialGroup && styles.requestedCredential,\n lastGroup && styles.requestedCredentialLast,\n style,\n ]}>\n <BlurView blurStyle=\"strong\" darkMode={true} style={StyleSheet.absoluteFill} />\n <TouchableOpacity onPress={headerPressHandler}>\n <CredentialGroupHeader accessory={groupHeaderAccessory} name={labels.groupHeader} style={styles.header} />\n </TouchableOpacity>\n {credentialCards}\n </Animated.View>\n </Animated.View>\n );\n};\n\nconst styles = StyleSheet.create({\n animatedWrapper: {\n ...CredentialCardShadow,\n },\n groupedCredentialsWrapper: {\n borderRadius: 10 + GroupedShareCredentialV2Padding,\n borderWidth: 0,\n overflow: 'hidden',\n paddingBottom: GroupedShareCredentialV2Padding,\n },\n header: {\n marginBottom: GroupedShareCredentialV2Padding,\n },\n requestedCredential: {\n marginBottom: 12,\n },\n requestedCredentialLast: {\n marginBottom: 0,\n },\n});\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["React","useCallback","useMemo","StyleSheet","Animated","LinearTransition","BlurView","CredentialCardShadow","DownIcon","Selector","SelectorStatus","TouchableOpacity","UpIcon","CredentialGroupHeader","concatTestID","useCredentialListExpandedCard","GroupedShareCredentialV2Padding","ShareCredentialV2","multipleCredentialsSelected","selectedCredentials","credentialRequestId","Array","isArray","length","numberOfCardsForRequest","selection","heightForNumberOfCards","numberOfCards","ShareCredentialV2Group","labels","language","lastGroup","onGroupSelect","onImagePreview","onSelectCredential","onSelectField","presentationDefinition","requestGroup","selected","style","testID","valid","expandedCredential","onHeaderPress","reduce","acc","groupId","singleCredentialGroup","headerPressHandler","onNestedCardHeaderPress","credentialId","credentialCards","flatMap","credentialRequestIndex","credentialRequestsLength","lastQuery","credentialQuery","credentialQueries","credentialOrFailureHint","defaultSelection","type_","_credentialQuery$appl","applicableCredentials","id","userSelections","request","credentialSelections","credentialRequest","credentialIndex","credentialsLength","selectedFields","cardId","lastItem","cardExpanded","headerAccessory","createElement","status","SelectedRadio","Empty","expanded","grouped","key","selectedCredentialId","styles","requestedCredential","requestedCredentialLast","groupHeaderAccessory","View","layout","animatedWrapper","height","undefined","groupedCredentialsWrapper","blurStyle","darkMode","absoluteFill","onPress","accessory","name","groupHeader","header","create","borderRadius","borderWidth","overflow","paddingBottom","marginBottom"],"sources":["share-credential-v2-group.tsx"],"sourcesContent":["import {\n CredentialListItem,\n PresentationDefinitionV2,\n PresentationDefinitionV2Claim,\n PresentationSubmitV2CredentialRequest,\n} from '@procivis/react-native-one-core';\nimport React, { FC, useCallback, useMemo } from 'react';\nimport { ImageSourcePropType, StyleProp, StyleSheet, ViewStyle } from 'react-native';\nimport Animated, { LinearTransition } from 'react-native-reanimated';\n\nimport {\n BlurView,\n CredentialCardShadow,\n DownIcon,\n Selector,\n SelectorStatus,\n TouchableOpacity,\n UpIcon,\n} from '../../../ui-components';\nimport CredentialGroupHeader from '../../../ui-components/credential/group/credential-group-header';\nimport { concatTestID, ShareCredentialCardLabels, useCredentialListExpandedCard } from '../../../utils';\nimport { GroupedShareCredentialV2Padding, ShareCredentialV2 } from './share-credential-v2';\n\nexport type CredentialQuerySelection = Record<\n string,\n PresentationSubmitV2CredentialRequest | PresentationSubmitV2CredentialRequest[]\n>;\n\nexport type ShareCredentialLabels = ShareCredentialCardLabels & {\n invalidCredentialNotice: string;\n multipleCredentialsNotice: string;\n multipleCredentialsSelect: string;\n revokedCredentialNotice: string;\n suspendedCredentialNotice: string;\n};\n\nexport type ShareCredentialGroupLabels = ShareCredentialLabels & {\n groupHeader: string;\n};\n\nexport type ShareCredentialV2GroupProps = {\n labels: ShareCredentialGroupLabels;\n language: string;\n lastGroup: boolean;\n onGroupSelect?: (selected: boolean) => void;\n onImagePreview: (title: string, image: ImageSourcePropType) => void;\n onSelectCredential: (requestCredentialId: string) => () => void;\n onSelectField: (\n requestCredentialId: string,\n ) => (\n credentialId: CredentialListItem['id'],\n fieldPath: PresentationDefinitionV2Claim['path'],\n selected: boolean,\n ) => void;\n presentationDefinition: PresentationDefinitionV2;\n requestGroup: string[];\n selected?: boolean;\n selectedCredentials?: CredentialQuerySelection;\n style?: StyleProp<ViewStyle>;\n testID: string;\n valid: boolean;\n};\n\nconst multipleCredentialsSelected = (\n selectedCredentials: CredentialQuerySelection | undefined,\n credentialRequestId: string,\n) => {\n return (\n selectedCredentials &&\n selectedCredentials[credentialRequestId] &&\n Array.isArray(selectedCredentials[credentialRequestId]) &&\n (selectedCredentials[credentialRequestId] as PresentationSubmitV2CredentialRequest[]).length > 1\n );\n};\n\nconst numberOfCardsForRequest = (\n selectedCredentials: CredentialQuerySelection | undefined,\n credentialRequestId: string,\n) => {\n if (!selectedCredentials || !selectedCredentials[credentialRequestId]) {\n return 1;\n }\n const selection = selectedCredentials[credentialRequestId];\n if (Array.isArray(selection)) {\n return selection.length;\n }\n return 1;\n};\n\nconst heightForNumberOfCards = (numberOfCards: number) => 60 * (numberOfCards + 1) + 12 * numberOfCards;\n\nexport const ShareCredentialV2Group: FC<ShareCredentialV2GroupProps> = ({\n labels,\n language,\n lastGroup,\n onGroupSelect,\n onImagePreview,\n onSelectCredential,\n onSelectField,\n presentationDefinition,\n requestGroup,\n selected,\n selectedCredentials = {},\n style,\n testID,\n valid,\n}) => {\n const { expandedCredential, onHeaderPress } = useCredentialListExpandedCard();\n const numberOfCards = requestGroup.reduce(\n (acc, groupId) => acc + numberOfCardsForRequest(selectedCredentials, groupId),\n 0,\n );\n const singleCredentialGroup =\n requestGroup.length === 1 && !multipleCredentialsSelected(selectedCredentials, requestGroup[0]);\n\n const headerPressHandler = useCallback(() => {\n onGroupSelect?.(!selected);\n }, [selected, onGroupSelect]);\n\n const onNestedCardHeaderPress = useCallback(\n (credentialId: string) => () => {\n if (!selected) {\n onGroupSelect?.(true);\n }\n onHeaderPress(credentialId);\n },\n [selected, onGroupSelect, onHeaderPress],\n );\n\n const credentialCards = useMemo(() => {\n return requestGroup.flatMap((credentialRequestId, credentialRequestIndex, { length: credentialRequestsLength }) => {\n const lastQuery = credentialRequestIndex === credentialRequestsLength - 1;\n\n const credentialQuery = presentationDefinition.credentialQueries[credentialRequestId].credentialOrFailureHint;\n let defaultSelection: PresentationSubmitV2CredentialRequest;\n if (credentialQuery.type_ === 'APPLICABLE_CREDENTIALS') {\n defaultSelection = credentialQuery.applicableCredentials?.[0]\n ? {\n credentialId: credentialQuery.applicableCredentials[0].id,\n userSelections: [],\n }\n : {\n credentialId: '',\n userSelections: [],\n };\n } else {\n defaultSelection = {\n credentialId: '',\n userSelections: [],\n };\n }\n const request = selectedCredentials[credentialRequestId];\n const credentialSelections = request ? (Array.isArray(request) ? request : [request]) : [defaultSelection];\n\n return credentialSelections?.flatMap((credentialRequest, credentialIndex, { length: credentialsLength }) => {\n const selectedFields = credentialRequest.userSelections;\n const cardId = `${credentialRequestId}-${credentialRequest.credentialId}`;\n const lastItem = singleCredentialGroup ? lastGroup : lastQuery && credentialIndex === credentialsLength - 1;\n const cardExpanded = selected && (singleCredentialGroup || expandedCredential === cardId);\n const headerAccessory =\n singleCredentialGroup && valid ? (\n <Selector status={selected ? SelectorStatus.SelectedRadio : SelectorStatus.Empty} />\n ) : cardExpanded ? (\n UpIcon\n ) : (\n DownIcon\n );\n return (\n <ShareCredentialV2\n credentialQuery={credentialQuery}\n credentialRequestId={credentialRequestId}\n expanded={cardExpanded}\n grouped={!singleCredentialGroup}\n headerAccessory={headerAccessory}\n key={credentialRequestId}\n labels={labels}\n language={language}\n lastItem={lastItem}\n onHeaderPress={singleCredentialGroup ? headerPressHandler : onNestedCardHeaderPress(cardId)}\n onImagePreview={onImagePreview}\n onSelectCredential={onSelectCredential?.(credentialRequestId)}\n onSelectField={onSelectField(credentialRequestId)}\n selectedCredentialId={credentialRequest.credentialId}\n selectedFields={selectedFields}\n style={[!singleCredentialGroup && styles.requestedCredential, lastItem && styles.requestedCredentialLast]}\n testID={concatTestID(testID, credentialRequestId)}\n />\n );\n });\n });\n }, [\n expandedCredential,\n labels,\n language,\n lastGroup,\n headerPressHandler,\n onImagePreview,\n onNestedCardHeaderPress,\n onSelectCredential,\n onSelectField,\n presentationDefinition.credentialQueries,\n requestGroup,\n selected,\n selectedCredentials,\n singleCredentialGroup,\n testID,\n valid,\n ]);\n\n if (singleCredentialGroup) {\n return credentialCards[0];\n }\n\n const groupHeaderAccessory = valid ? (\n <Selector status={selected ? SelectorStatus.SelectedRadio : SelectorStatus.Empty} />\n ) : selected ? (\n UpIcon\n ) : (\n DownIcon\n );\n\n return (\n <Animated.View\n layout={LinearTransition}\n style={[\n styles.animatedWrapper,\n // eslint-disable-next-line react-native/no-inline-styles\n {\n height: selected || lastGroup ? 'auto' : heightForNumberOfCards(numberOfCards),\n },\n style,\n ]}>\n <Animated.View\n layout={LinearTransition}\n style={[\n singleCredentialGroup ? undefined : styles.groupedCredentialsWrapper,\n !singleCredentialGroup && styles.requestedCredential,\n lastGroup && styles.requestedCredentialLast,\n style,\n ]}>\n <BlurView blurStyle=\"strong\" darkMode={true} style={StyleSheet.absoluteFill} />\n <TouchableOpacity onPress={headerPressHandler}>\n <CredentialGroupHeader accessory={groupHeaderAccessory} name={labels.groupHeader} style={styles.header} />\n </TouchableOpacity>\n {credentialCards}\n </Animated.View>\n </Animated.View>\n );\n};\n\nconst styles = StyleSheet.create({\n animatedWrapper: {\n ...CredentialCardShadow,\n },\n groupedCredentialsWrapper: {\n borderRadius: 10 + GroupedShareCredentialV2Padding,\n borderWidth: 0,\n overflow: 'hidden',\n paddingBottom: GroupedShareCredentialV2Padding,\n },\n header: {\n marginBottom: GroupedShareCredentialV2Padding,\n },\n requestedCredential: {\n marginBottom: 12,\n },\n requestedCredentialLast: {\n marginBottom: 0,\n },\n});\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["CredentialType","React","useCallback","useMemo","Dimensions","StyleSheet","CredentialDetailsCardListItem","useAppColorScheme","concatTestID","getValidityState","useCoreConfig","ValidityState","shareCredentialCardFromV2PresentationCredential","SelectShareCredentialCardNotice","ShareCredentialCardNotice","GroupedShareCredentialV2Padding","ShareCredentialV2","credentialQuery","credentialRequestId","expanded","grouped","headerAccessory","labels","language","lastItem","onHeaderPress","onImagePreview","onSelectCredential","onSelectField","selectedCredentialId","selectedFields","style","testID","_applicableCredential","_credentialQuery$purp","_credential$issuer","colorScheme","applicableCredentials","type_","undefined","failureHint","credential","find","c","id","data","config","cardWidth","get","width","purpose","multipleCredentialsAvailable","Boolean","length","validityState","issuer","type","SINGLE","footer","Revoked","createElement","text","revokedCredentialNotice","Suspended","suspendedCredentialNotice","reason","invalidCredentialNotice","buttonTitle","multipleCredentialsSelect","onPress","multipleCredentialsNotice","onAttributeSelected","fieldPath","selected","card","header","attributes","accessory","credentialId","styles","groupedCredential","bordered","borderColor","background","create","borderWidth","borderRadius","marginBottom","marginHorizontal"],"sources":["share-credential-v2.tsx"],"sourcesContent":["import {\n ApplicableCredentialOrFailureHint,\n CredentialListItem,\n CredentialType,\n PresentationDefinitionV2Claim,\n} from '@procivis/react-native-one-core';\nimport React, { FunctionComponent, useCallback, useMemo } from 'react';\nimport { Dimensions, ImageSourcePropType, StyleProp, StyleSheet, ViewStyle } from 'react-native';\n\nimport { CredentialDetailsCardListItem, useAppColorScheme } from '../../../ui-components';\nimport { concatTestID, getValidityState, useCoreConfig, ValidityState } from '../../../utils';\nimport { shareCredentialCardFromV2PresentationCredential } from '../../../utils/parsers/credential-sharing-v2';\nimport { SelectShareCredentialCardNotice } from '../select-share-credential-card-notice';\nimport { ShareCredentialCardNotice } from '../share-credential-card-notice';\nimport { ShareCredentialLabels } from '../v1';\n\nexport type ShareCredentialV2Props = {\n credentialQuery: ApplicableCredentialOrFailureHint;\n credentialRequestId: string;\n expanded?: boolean;\n grouped?: boolean;\n headerAccessory?: React.ComponentType<any> | React.ReactElement;\n labels: ShareCredentialLabels;\n language: string;\n lastItem?: boolean;\n onHeaderPress?: (_credentialId?: string) => void;\n onImagePreview: (title: string, image: ImageSourcePropType) => void;\n onSelectCredential?: () => void;\n onSelectField: (\n credentialId: CredentialListItem['id'],\n fieldPath: PresentationDefinitionV2Claim['path'],\n selected: boolean,\n ) => void;\n selectedCredentialId?: CredentialListItem['id'];\n selectedFields?: Array<PresentationDefinitionV2Claim['path']>;\n style?: StyleProp<ViewStyle>;\n testID: string;\n};\n\nexport const GroupedShareCredentialV2Padding = 4;\n\nexport const ShareCredentialV2: FunctionComponent<ShareCredentialV2Props> = ({\n credentialQuery,\n credentialRequestId,\n expanded,\n grouped,\n headerAccessory,\n labels,\n language,\n lastItem,\n onHeaderPress,\n onImagePreview,\n onSelectCredential,\n onSelectField,\n selectedCredentialId,\n selectedFields,\n style,\n testID,\n}) => {\n const colorScheme = useAppColorScheme();\n const applicableCredentials =\n credentialQuery.type_ === 'APPLICABLE_CREDENTIALS' ? credentialQuery.applicableCredentials : undefined;\n const failureHint = credentialQuery.type_ === 'FAILURE_HINT' ? credentialQuery.failureHint : undefined;\n const credential = applicableCredentials?.find((c) => c.id === selectedCredentialId) ?? applicableCredentials?.[0];\n const { data: config } = useCoreConfig();\n const cardWidth = useMemo(\n () => Dimensions.get('window').width - 32 - (grouped ? GroupedShareCredentialV2Padding * 2 : 0),\n [grouped],\n );\n const purpose = credentialQuery.type_ === 'APPLICABLE_CREDENTIALS' ? credentialQuery.purpose?.[language] : undefined;\n\n const multipleCredentialsAvailable = Boolean(applicableCredentials?.length && applicableCredentials.length > 1);\n\n const validityState = getValidityState(\n credential\n ? {\n ...credential,\n issuer: credential?.issuer?.id,\n type: CredentialType.SINGLE,\n }\n : undefined,\n );\n\n const footer = useMemo(() => {\n if (!expanded) {\n return;\n }\n if (validityState === ValidityState.Revoked) {\n return (\n <ShareCredentialCardNotice\n testID={concatTestID(testID, 'notice.revoked')}\n text={labels.revokedCredentialNotice}\n />\n );\n }\n if (validityState === ValidityState.Suspended) {\n return (\n <ShareCredentialCardNotice\n testID={concatTestID(testID, 'notice.suspended')}\n text={labels.suspendedCredentialNotice}\n />\n );\n }\n\n if (failureHint?.reason === 'VALIDITY') {\n return (\n <ShareCredentialCardNotice\n testID={concatTestID(testID, 'notice.invalid')}\n text={labels.invalidCredentialNotice}\n />\n );\n }\n\n if (multipleCredentialsAvailable) {\n return (\n <SelectShareCredentialCardNotice\n buttonTitle={labels.multipleCredentialsSelect}\n onPress={onSelectCredential}\n testID={concatTestID(testID, 'notice.multiple')}\n text={labels.multipleCredentialsNotice}\n />\n );\n }\n }, [\n expanded,\n failureHint?.reason,\n labels.invalidCredentialNotice,\n labels.multipleCredentialsNotice,\n labels.multipleCredentialsSelect,\n labels.revokedCredentialNotice,\n labels.suspendedCredentialNotice,\n multipleCredentialsAvailable,\n onSelectCredential,\n testID,\n validityState,\n ]);\n\n const onAttributeSelected = useCallback(\n (fieldPath: PresentationDefinitionV2Claim['path'], selected: boolean) => {\n if (!selectedCredentialId) {\n return;\n }\n onSelectField(selectedCredentialId, fieldPath, selected);\n },\n [onSelectField, selectedCredentialId],\n );\n\n if (!config) {\n return null;\n }\n\n const {\n card: { header, ...card },\n attributes,\n } = shareCredentialCardFromV2PresentationCredential(\n credential,\n failureHint,\n Boolean(expanded),\n multipleCredentialsAvailable,\n purpose,\n selectedFields,\n config,\n testID,\n labels,\n language,\n );\n\n if (headerAccessory) {\n header.accessory = headerAccessory;\n }\n\n return (\n <CredentialDetailsCardListItem\n attributes={attributes}\n card={{\n ...card,\n credentialId: credentialRequestId,\n header,\n onHeaderPress,\n width: cardWidth,\n }}\n expanded={expanded}\n footer={footer}\n lastItem={lastItem}\n onAttributeSelected={onAttributeSelected}\n onImagePreview={onImagePreview}\n style={[\n styles.credential,\n grouped ? styles.groupedCredential : styles.bordered,\n { borderColor: colorScheme.background },\n style,\n ]}\n testID={testID}\n />\n );\n};\n\nconst styles = StyleSheet.create({\n bordered: {\n borderWidth: 1,\n },\n credential: {\n borderRadius: 10,\n borderWidth: 0,\n marginBottom: 8,\n },\n groupedCredential: {\n marginHorizontal: GroupedShareCredentialV2Padding,\n },\n});\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["CredentialType","React","useCallback","useMemo","Dimensions","StyleSheet","CredentialDetailsCardListItem","useAppColorScheme","concatTestID","getValidityState","useCoreConfig","ValidityState","shareCredentialCardFromV2PresentationCredential","SelectShareCredentialCardNotice","ShareCredentialCardNotice","GroupedShareCredentialV2Padding","ShareCredentialV2","credentialQuery","credentialRequestId","expanded","grouped","headerAccessory","labels","language","lastItem","onHeaderPress","onImagePreview","onSelectCredential","onSelectField","selectedCredentialId","selectedFields","style","testID","_applicableCredential","_credentialQuery$purp","_credential$issuer","colorScheme","applicableCredentials","type_","undefined","failureHint","credential","find","c","id","data","config","cardWidth","get","width","purpose","multipleCredentialsAvailable","Boolean","length","validityState","issuer","type","SINGLE","footer","Revoked","createElement","text","revokedCredentialNotice","Suspended","suspendedCredentialNotice","reason","invalidCredentialNotice","buttonTitle","multipleCredentialsSelect","onPress","multipleCredentialsNotice","onAttributeSelected","fieldPath","selected","card","header","attributes","accessory","credentialId","styles","groupedCredential","bordered","borderColor","background","create","borderWidth","borderRadius","marginBottom","marginHorizontal"],"sources":["share-credential-v2.tsx"],"sourcesContent":["import {\n ApplicableCredentialOrFailureHint,\n CredentialListItem,\n CredentialType,\n PresentationDefinitionV2Claim,\n} from '@procivis/react-native-one-core';\nimport React, { FunctionComponent, useCallback, useMemo } from 'react';\nimport { Dimensions, ImageSourcePropType, StyleProp, StyleSheet, ViewStyle } from 'react-native';\n\nimport { CredentialDetailsCardListItem, useAppColorScheme } from '../../../ui-components';\nimport { concatTestID, getValidityState, useCoreConfig, ValidityState } from '../../../utils';\nimport { shareCredentialCardFromV2PresentationCredential } from '../../../utils/parsers/credential-sharing-v2';\nimport { SelectShareCredentialCardNotice } from '../select-share-credential-card-notice';\nimport { ShareCredentialCardNotice } from '../share-credential-card-notice';\nimport { ShareCredentialLabels } from './share-credential-v2-group';\n\nexport type ShareCredentialV2Props = {\n credentialQuery: ApplicableCredentialOrFailureHint;\n credentialRequestId: string;\n expanded?: boolean;\n grouped?: boolean;\n headerAccessory?: React.ComponentType<any> | React.ReactElement;\n labels: ShareCredentialLabels;\n language: string;\n lastItem?: boolean;\n onHeaderPress?: (_credentialId?: string) => void;\n onImagePreview: (title: string, image: ImageSourcePropType) => void;\n onSelectCredential?: () => void;\n onSelectField: (\n credentialId: CredentialListItem['id'],\n fieldPath: PresentationDefinitionV2Claim['path'],\n selected: boolean,\n ) => void;\n selectedCredentialId?: CredentialListItem['id'];\n selectedFields?: Array<PresentationDefinitionV2Claim['path']>;\n style?: StyleProp<ViewStyle>;\n testID: string;\n};\n\nexport const GroupedShareCredentialV2Padding = 4;\n\nexport const ShareCredentialV2: FunctionComponent<ShareCredentialV2Props> = ({\n credentialQuery,\n credentialRequestId,\n expanded,\n grouped,\n headerAccessory,\n labels,\n language,\n lastItem,\n onHeaderPress,\n onImagePreview,\n onSelectCredential,\n onSelectField,\n selectedCredentialId,\n selectedFields,\n style,\n testID,\n}) => {\n const colorScheme = useAppColorScheme();\n const applicableCredentials =\n credentialQuery.type_ === 'APPLICABLE_CREDENTIALS' ? credentialQuery.applicableCredentials : undefined;\n const failureHint = credentialQuery.type_ === 'FAILURE_HINT' ? credentialQuery.failureHint : undefined;\n const credential = applicableCredentials?.find((c) => c.id === selectedCredentialId) ?? applicableCredentials?.[0];\n const { data: config } = useCoreConfig();\n const cardWidth = useMemo(\n () => Dimensions.get('window').width - 32 - (grouped ? GroupedShareCredentialV2Padding * 2 : 0),\n [grouped],\n );\n const purpose = credentialQuery.type_ === 'APPLICABLE_CREDENTIALS' ? credentialQuery.purpose?.[language] : undefined;\n\n const multipleCredentialsAvailable = Boolean(applicableCredentials?.length && applicableCredentials.length > 1);\n\n const validityState = getValidityState(\n credential\n ? {\n ...credential,\n issuer: credential?.issuer?.id,\n type: CredentialType.SINGLE,\n }\n : undefined,\n );\n\n const footer = useMemo(() => {\n if (!expanded) {\n return;\n }\n if (validityState === ValidityState.Revoked) {\n return (\n <ShareCredentialCardNotice\n testID={concatTestID(testID, 'notice.revoked')}\n text={labels.revokedCredentialNotice}\n />\n );\n }\n if (validityState === ValidityState.Suspended) {\n return (\n <ShareCredentialCardNotice\n testID={concatTestID(testID, 'notice.suspended')}\n text={labels.suspendedCredentialNotice}\n />\n );\n }\n\n if (failureHint?.reason === 'VALIDITY') {\n return (\n <ShareCredentialCardNotice\n testID={concatTestID(testID, 'notice.invalid')}\n text={labels.invalidCredentialNotice}\n />\n );\n }\n\n if (multipleCredentialsAvailable) {\n return (\n <SelectShareCredentialCardNotice\n buttonTitle={labels.multipleCredentialsSelect}\n onPress={onSelectCredential}\n testID={concatTestID(testID, 'notice.multiple')}\n text={labels.multipleCredentialsNotice}\n />\n );\n }\n }, [\n expanded,\n failureHint?.reason,\n labels.invalidCredentialNotice,\n labels.multipleCredentialsNotice,\n labels.multipleCredentialsSelect,\n labels.revokedCredentialNotice,\n labels.suspendedCredentialNotice,\n multipleCredentialsAvailable,\n onSelectCredential,\n testID,\n validityState,\n ]);\n\n const onAttributeSelected = useCallback(\n (fieldPath: PresentationDefinitionV2Claim['path'], selected: boolean) => {\n if (!selectedCredentialId) {\n return;\n }\n onSelectField(selectedCredentialId, fieldPath, selected);\n },\n [onSelectField, selectedCredentialId],\n );\n\n if (!config) {\n return null;\n }\n\n const {\n card: { header, ...card },\n attributes,\n } = shareCredentialCardFromV2PresentationCredential(\n credential,\n failureHint,\n Boolean(expanded),\n multipleCredentialsAvailable,\n purpose,\n selectedFields,\n config,\n testID,\n labels,\n language,\n );\n\n if (headerAccessory) {\n header.accessory = headerAccessory;\n }\n\n return (\n <CredentialDetailsCardListItem\n attributes={attributes}\n card={{\n ...card,\n credentialId: credentialRequestId,\n header,\n onHeaderPress,\n width: cardWidth,\n }}\n expanded={expanded}\n footer={footer}\n lastItem={lastItem}\n onAttributeSelected={onAttributeSelected}\n onImagePreview={onImagePreview}\n style={[\n styles.credential,\n grouped ? styles.groupedCredential : styles.bordered,\n { borderColor: colorScheme.background },\n style,\n ]}\n testID={testID}\n />\n );\n};\n\nconst styles = StyleSheet.create({\n bordered: {\n borderWidth: 1,\n },\n credential: {\n borderRadius: 10,\n borderWidth: 0,\n marginBottom: 8,\n },\n groupedCredential: {\n marginHorizontal: GroupedShareCredentialV2Padding,\n },\n});\n"],"mappings":"AAAA,SAGEA,cAAc,QAET,iCAAiC;AACxC,OAAOC,KAAK,IAAuBC,WAAW,EAAEC,OAAO,QAAQ,OAAO;AACtE,SAASC,UAAU,EAAkCC,UAAU,QAAmB,cAAc;AAEhG,SAASC,6BAA6B,EAAEC,iBAAiB,QAAQ,wBAAwB;AACzF,SAASC,YAAY,EAAEC,gBAAgB,EAAEC,aAAa,EAAEC,aAAa,QAAQ,gBAAgB;AAC7F,SAASC,+CAA+C,QAAQ,8CAA8C;AAC9G,SAASC,+BAA+B,QAAQ,wCAAwC;AACxF,SAASC,yBAAyB,QAAQ,iCAAiC;AA0B3E,OAAO,MAAMC,+BAA+B,GAAG,CAAC;AAEhD,OAAO,MAAMC,iBAA4D,GAAGA,CAAC;EAC3EC,eAAe;EACfC,mBAAmB;EACnBC,QAAQ;EACRC,OAAO;EACPC,eAAe;EACfC,MAAM;EACNC,QAAQ;EACRC,QAAQ;EACRC,aAAa;EACbC,cAAc;EACdC,kBAAkB;EAClBC,aAAa;EACbC,oBAAoB;EACpBC,cAAc;EACdC,KAAK;EACLC;AACF,CAAC,KAAK;EAAA,IAAAC,qBAAA,EAAAC,qBAAA,EAAAC,kBAAA;EACJ,MAAMC,WAAW,GAAG7B,iBAAiB,CAAC,CAAC;EACvC,MAAM8B,qBAAqB,GACzBpB,eAAe,CAACqB,KAAK,KAAK,wBAAwB,GAAGrB,eAAe,CAACoB,qBAAqB,GAAGE,SAAS;EACxG,MAAMC,WAAW,GAAGvB,eAAe,CAACqB,KAAK,KAAK,cAAc,GAAGrB,eAAe,CAACuB,WAAW,GAAGD,SAAS;EACtG,MAAME,UAAU,IAAAR,qBAAA,GAAGI,qBAAqB,aAArBA,qBAAqB,uBAArBA,qBAAqB,CAAEK,IAAI,CAAEC,CAAC,IAAKA,CAAC,CAACC,EAAE,KAAKf,oBAAoB,CAAC,cAAAI,qBAAA,cAAAA,qBAAA,GAAII,qBAAqB,aAArBA,qBAAqB,uBAArBA,qBAAqB,CAAG,CAAC,CAAC;EAClH,MAAM;IAAEQ,IAAI,EAAEC;EAAO,CAAC,GAAGpC,aAAa,CAAC,CAAC;EACxC,MAAMqC,SAAS,GAAG5C,OAAO,CACvB,MAAMC,UAAU,CAAC4C,GAAG,CAAC,QAAQ,CAAC,CAACC,KAAK,GAAG,EAAE,IAAI7B,OAAO,GAAGL,+BAA+B,GAAG,CAAC,GAAG,CAAC,CAAC,EAC/F,CAACK,OAAO,CACV,CAAC;EACD,MAAM8B,OAAO,GAAGjC,eAAe,CAACqB,KAAK,KAAK,wBAAwB,IAAAJ,qBAAA,GAAGjB,eAAe,CAACiC,OAAO,cAAAhB,qBAAA,uBAAvBA,qBAAA,CAA0BX,QAAQ,CAAC,GAAGgB,SAAS;EAEpH,MAAMY,4BAA4B,GAAGC,OAAO,CAAC,CAAAf,qBAAqB,aAArBA,qBAAqB,uBAArBA,qBAAqB,CAAEgB,MAAM,KAAIhB,qBAAqB,CAACgB,MAAM,GAAG,CAAC,CAAC;EAE/G,MAAMC,aAAa,GAAG7C,gBAAgB,CACpCgC,UAAU,GACN;IACE,GAAGA,UAAU;IACbc,MAAM,EAAEd,UAAU,aAAVA,UAAU,gBAAAN,kBAAA,GAAVM,UAAU,CAAEc,MAAM,cAAApB,kBAAA,uBAAlBA,kBAAA,CAAoBS,EAAE;IAC9BY,IAAI,EAAExD,cAAc,CAACyD;EACvB,CAAC,GACDlB,SACN,CAAC;EAED,MAAMmB,MAAM,GAAGvD,OAAO,CAAC,MAAM;IAC3B,IAAI,CAACgB,QAAQ,EAAE;MACb;IACF;IACA,IAAImC,aAAa,KAAK3C,aAAa,CAACgD,OAAO,EAAE;MAC3C,oBACE1D,KAAA,CAAA2D,aAAA,CAAC9C,yBAAyB;QACxBkB,MAAM,EAAExB,YAAY,CAACwB,MAAM,EAAE,gBAAgB,CAAE;QAC/C6B,IAAI,EAAEvC,MAAM,CAACwC;MAAwB,CACtC,CAAC;IAEN;IACA,IAAIR,aAAa,KAAK3C,aAAa,CAACoD,SAAS,EAAE;MAC7C,oBACE9D,KAAA,CAAA2D,aAAA,CAAC9C,yBAAyB;QACxBkB,MAAM,EAAExB,YAAY,CAACwB,MAAM,EAAE,kBAAkB,CAAE;QACjD6B,IAAI,EAAEvC,MAAM,CAAC0C;MAA0B,CACxC,CAAC;IAEN;IAEA,IAAI,CAAAxB,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAEyB,MAAM,MAAK,UAAU,EAAE;MACtC,oBACEhE,KAAA,CAAA2D,aAAA,CAAC9C,yBAAyB;QACxBkB,MAAM,EAAExB,YAAY,CAACwB,MAAM,EAAE,gBAAgB,CAAE;QAC/C6B,IAAI,EAAEvC,MAAM,CAAC4C;MAAwB,CACtC,CAAC;IAEN;IAEA,IAAIf,4BAA4B,EAAE;MAChC,oBACElD,KAAA,CAAA2D,aAAA,CAAC/C,+BAA+B;QAC9BsD,WAAW,EAAE7C,MAAM,CAAC8C,yBAA0B;QAC9CC,OAAO,EAAE1C,kBAAmB;QAC5BK,MAAM,EAAExB,YAAY,CAACwB,MAAM,EAAE,iBAAiB,CAAE;QAChD6B,IAAI,EAAEvC,MAAM,CAACgD;MAA0B,CACxC,CAAC;IAEN;EACF,CAAC,EAAE,CACDnD,QAAQ,EACRqB,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAEyB,MAAM,EACnB3C,MAAM,CAAC4C,uBAAuB,EAC9B5C,MAAM,CAACgD,yBAAyB,EAChChD,MAAM,CAAC8C,yBAAyB,EAChC9C,MAAM,CAACwC,uBAAuB,EAC9BxC,MAAM,CAAC0C,yBAAyB,EAChCb,4BAA4B,EAC5BxB,kBAAkB,EAClBK,MAAM,EACNsB,aAAa,CACd,CAAC;EAEF,MAAMiB,mBAAmB,GAAGrE,WAAW,CACrC,CAACsE,SAAgD,EAAEC,QAAiB,KAAK;IACvE,IAAI,CAAC5C,oBAAoB,EAAE;MACzB;IACF;IACAD,aAAa,CAACC,oBAAoB,EAAE2C,SAAS,EAAEC,QAAQ,CAAC;EAC1D,CAAC,EACD,CAAC7C,aAAa,EAAEC,oBAAoB,CACtC,CAAC;EAED,IAAI,CAACiB,MAAM,EAAE;IACX,OAAO,IAAI;EACb;EAEA,MAAM;IACJ4B,IAAI,EAAE;MAAEC,MAAM;MAAE,GAAGD;IAAK,CAAC;IACzBE;EACF,CAAC,GAAGhE,+CAA+C,CACjD6B,UAAU,EACVD,WAAW,EACXY,OAAO,CAACjC,QAAQ,CAAC,EACjBgC,4BAA4B,EAC5BD,OAAO,EACPpB,cAAc,EACdgB,MAAM,EACNd,MAAM,EACNV,MAAM,EACNC,QACF,CAAC;EAED,IAAIF,eAAe,EAAE;IACnBsD,MAAM,CAACE,SAAS,GAAGxD,eAAe;EACpC;EAEA,oBACEpB,KAAA,CAAA2D,aAAA,CAACtD,6BAA6B;IAC5BsE,UAAU,EAAEA,UAAW;IACvBF,IAAI,EAAE;MACJ,GAAGA,IAAI;MACPI,YAAY,EAAE5D,mBAAmB;MACjCyD,MAAM;MACNlD,aAAa;MACbwB,KAAK,EAAEF;IACT,CAAE;IACF5B,QAAQ,EAAEA,QAAS;IACnBuC,MAAM,EAAEA,MAAO;IACflC,QAAQ,EAAEA,QAAS;IACnB+C,mBAAmB,EAAEA,mBAAoB;IACzC7C,cAAc,EAAEA,cAAe;IAC/BK,KAAK,EAAE,CACLgD,MAAM,CAACtC,UAAU,EACjBrB,OAAO,GAAG2D,MAAM,CAACC,iBAAiB,GAAGD,MAAM,CAACE,QAAQ,EACpD;MAAEC,WAAW,EAAE9C,WAAW,CAAC+C;IAAW,CAAC,EACvCpD,KAAK,CACL;IACFC,MAAM,EAAEA;EAAO,CAChB,CAAC;AAEN,CAAC;AAED,MAAM+C,MAAM,GAAG1E,UAAU,CAAC+E,MAAM,CAAC;EAC/BH,QAAQ,EAAE;IACRI,WAAW,EAAE;EACf,CAAC;EACD5C,UAAU,EAAE;IACV6C,YAAY,EAAE,EAAE;IAChBD,WAAW,EAAE,CAAC;IACdE,YAAY,EAAE;EAChB,CAAC;EACDP,iBAAiB,EAAE;IACjBQ,gBAAgB,EAAEzE;EACpB;AACF,CAAC,CAAC","ignoreList":[]}
|
|
@@ -80,7 +80,7 @@ export const useProofAccept = () => {
|
|
|
80
80
|
return useMutation(async ({
|
|
81
81
|
interactionId,
|
|
82
82
|
credentials
|
|
83
|
-
}) => core.
|
|
83
|
+
}) => core.holderSubmitProofV2(interactionId, credentials), {
|
|
84
84
|
onError: async err => {
|
|
85
85
|
reportException(err, 'Proof submission failure');
|
|
86
86
|
await queryClient.invalidateQueries(PROOF_LIST_QUERY_KEY);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["HistoryAction","HistoryEntityType","OneError","ProofState","useCallback","useEffect","useMemo","useRef","useState","useMutation","useQuery","useQueryClient","getQueryKeyFromProofListQueryParams","reportException","useCoreConfig","useONECore","OneErrorCode","HISTORY_LIST_QUERY_KEY","useIdentifiers","useProofSchemaDetail","PAGE_SIZE","PROOF_DETAIL_QUERY_KEY","PROOF_STATE_QUERY_KEY","PROOF_LIST_QUERY_KEY","PROOF_REQUEST_TRUST_INFORMATION_QUERY_KEY","useProofDetail","proofId","core","getProof","undefined","enabled","Boolean","keepPreviousData","useProofState","isPolling","organisationId","state","then","proof","metadata","ERROR","listHistory","page","pageSize","entityIds","entityTypes","PROOF","actions","ERRORED","result","_result$values$","values","value","refetchInterval","useProofUrl","queryClient","request","shareProof","url","onSuccess","invalidateQueries","useProofAccept","interactionId","credentials","holderSubmitProof","onError","err","useProofReject","holderRejectProof","catch","e","code","OperationNotSupported","IssuanceProtocol","VerificationProtocol","VerificationEngagement","useProposeProof","proposeProof","useProofDelete","deleteProof","useProofs","queryParams","queryKey","pageParam","listProofs","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","identifierFilter","identifiers","mutateAsync","deleting","setDeleting","setProofIdState","proofIdRef","proofState","setProofId","id","retract","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","useProofRequestTrustInformation","credentialId","getProofTrustInformation"],"sources":["proofs.ts"],"sourcesContent":["import {\n CoreConfig,\n CreateProofRequest,\n HistoryAction,\n HistoryEntityType,\n HistoryErrorMetadata,\n IdentifierListQuery,\n OneError,\n PresentationSubmitCredentialRequest,\n ProofListQuery,\n ProofSchemaDetail,\n ProofState,\n ProposeProofRequest,\n ShareProofRequest,\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';\nexport const PROOF_REQUEST_TRUST_INFORMATION_QUERY_KEY = 'proof-request-trust-information';\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: HistoryErrorMetadata | undefined;\n if (state === ProofState.ERROR) {\n metadata = await core\n .listHistory({\n organisationId,\n page: 0,\n pageSize: 1,\n entityIds: [proofId],\n entityTypes: [HistoryEntityType.PROOF],\n actions: [HistoryAction.ERRORED],\n })\n .then((result) => result.values[0]?.metadata?.value as HistoryErrorMetadata);\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?: ShareProofRequest };\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, PresentationSubmitCredentialRequest[]>;\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<ProposeProofRequest, 'organisationId'>) => 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<ProofListQuery>) => {\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.listProofs({\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: CreateProofRequest) => 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: ProofSchemaDetail,\n config: CoreConfig,\n): Partial<IdentifierListQuery> => {\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 !== ProofState.CREATED && proofState?.state !== ProofState.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: [ProofState.CREATED, ProofState.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 === ProofState.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', undefined), {\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 .listProofs({\n organisationId,\n page: 0,\n pageSize: 1000,\n proofSchemaIds: [schemaId],\n proofStates: [ProofState.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\nexport const useProofRequestTrustInformation = (credentialId: string | undefined) => {\n const { core } = useONECore();\n\n return useQuery(\n [PROOF_REQUEST_TRUST_INFORMATION_QUERY_KEY, credentialId],\n () => (credentialId ? core.getProofTrustInformation(credentialId) : undefined),\n {\n enabled: Boolean(credentialId),\n keepPreviousData: true,\n },\n );\n};\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["HistoryAction","HistoryEntityType","OneError","ProofState","useCallback","useEffect","useMemo","useRef","useState","useMutation","useQuery","useQueryClient","getQueryKeyFromProofListQueryParams","reportException","useCoreConfig","useONECore","OneErrorCode","HISTORY_LIST_QUERY_KEY","useIdentifiers","useProofSchemaDetail","PAGE_SIZE","PROOF_DETAIL_QUERY_KEY","PROOF_STATE_QUERY_KEY","PROOF_LIST_QUERY_KEY","PROOF_REQUEST_TRUST_INFORMATION_QUERY_KEY","useProofDetail","proofId","core","getProof","undefined","enabled","Boolean","keepPreviousData","useProofState","isPolling","organisationId","state","then","proof","metadata","ERROR","listHistory","page","pageSize","entityIds","entityTypes","PROOF","actions","ERRORED","result","_result$values$","values","value","refetchInterval","useProofUrl","queryClient","request","shareProof","url","onSuccess","invalidateQueries","useProofAccept","interactionId","credentials","holderSubmitProofV2","onError","err","useProofReject","holderRejectProof","catch","e","code","OperationNotSupported","IssuanceProtocol","VerificationProtocol","VerificationEngagement","useProposeProof","proposeProof","useProofDelete","deleteProof","useProofs","queryParams","queryKey","pageParam","listProofs","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","identifierFilter","identifiers","mutateAsync","deleting","setDeleting","setProofIdState","proofIdRef","proofState","setProofId","id","retract","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","useProofRequestTrustInformation","credentialId","getProofTrustInformation"],"sources":["proofs.ts"],"sourcesContent":["import {\n CoreConfig,\n CreateProofRequest,\n HistoryAction,\n HistoryEntityType,\n HistoryErrorMetadata,\n IdentifierListQuery,\n OneError,\n PresentationSubmitV2CredentialRequest,\n ProofListQuery,\n ProofSchemaDetail,\n ProofState,\n ProposeProofRequest,\n ShareProofRequest,\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';\nexport const PROOF_REQUEST_TRUST_INFORMATION_QUERY_KEY = 'proof-request-trust-information';\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: HistoryErrorMetadata | undefined;\n if (state === ProofState.ERROR) {\n metadata = await core\n .listHistory({\n organisationId,\n page: 0,\n pageSize: 1,\n entityIds: [proofId],\n entityTypes: [HistoryEntityType.PROOF],\n actions: [HistoryAction.ERRORED],\n })\n .then((result) => result.values[0]?.metadata?.value as HistoryErrorMetadata);\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?: ShareProofRequest };\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, PresentationSubmitV2CredentialRequest[]>;\n interactionId: string;\n }) => core.holderSubmitProofV2(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<ProposeProofRequest, 'organisationId'>) => 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<ProofListQuery>) => {\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.listProofs({\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: CreateProofRequest) => 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: ProofSchemaDetail,\n config: CoreConfig,\n): Partial<IdentifierListQuery> => {\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 !== ProofState.CREATED && proofState?.state !== ProofState.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: [ProofState.CREATED, ProofState.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 === ProofState.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', undefined), {\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 .listProofs({\n organisationId,\n page: 0,\n pageSize: 1000,\n proofSchemaIds: [schemaId],\n proofStates: [ProofState.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\nexport const useProofRequestTrustInformation = (credentialId: string | undefined) => {\n const { core } = useONECore();\n\n return useQuery(\n [PROOF_REQUEST_TRUST_INFORMATION_QUERY_KEY, credentialId],\n () => (credentialId ? core.getProofTrustInformation(credentialId) : undefined),\n {\n enabled: Boolean(credentialId),\n keepPreviousData: true,\n },\n );\n};\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -3,7 +3,37 @@ import React from 'react';
|
|
|
3
3
|
import { CredentialNoticeWarningIcon, CredentialWarningIcon, PurposeInfoIcon, Selector, SelectorStatus } from '../../ui-components';
|
|
4
4
|
import { concatTestID } from '../testID';
|
|
5
5
|
import { detailsCardAttributeFromClaim, getCredentialCardPropsFromCredential, supportsSelectiveDisclosure } from '.';
|
|
6
|
-
import {
|
|
6
|
+
import { credentialDetailFromPresentationV2Credential } from './credential';
|
|
7
|
+
export const validityCheckedCardFromCredential = (credential, expanded, selectiveDisclosureSupported, multipleCredentialsAvailable, config, notice, testID, labels, language) => {
|
|
8
|
+
let credentialHeaderDetail;
|
|
9
|
+
if (selectiveDisclosureSupported === false) {
|
|
10
|
+
credentialHeaderDetail = {
|
|
11
|
+
credentialDetailPrimary: labels.selectiveDisclosure,
|
|
12
|
+
credentialDetailTestID: concatTestID(testID, 'header.nonSelectiveDisclosure'),
|
|
13
|
+
statusIcon: CredentialWarningIcon
|
|
14
|
+
};
|
|
15
|
+
} else if ('embeddedDisclosurePolicyViolation' in credential) {
|
|
16
|
+
credentialHeaderDetail = {
|
|
17
|
+
credentialDetailPrimary: labels.disclosurePolicyViolation,
|
|
18
|
+
credentialDetailTestID: concatTestID(testID, 'header.dislosurePolicyViolation'),
|
|
19
|
+
statusIcon: CredentialWarningIcon
|
|
20
|
+
};
|
|
21
|
+
} else if (!expanded && multipleCredentialsAvailable) {
|
|
22
|
+
credentialHeaderDetail = {
|
|
23
|
+
credentialDetailPrimary: labels.multipleCredentials,
|
|
24
|
+
credentialDetailTestID: concatTestID(testID, 'header.multiple'),
|
|
25
|
+
statusIcon: CredentialWarningIcon
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
const card = getCredentialCardPropsFromCredential(credentialDetailFromPresentationV2Credential(credential), credential.claims, config, notice, testID, labels, language);
|
|
29
|
+
return {
|
|
30
|
+
...card,
|
|
31
|
+
header: {
|
|
32
|
+
...card.header,
|
|
33
|
+
...credentialHeaderDetail
|
|
34
|
+
}
|
|
35
|
+
};
|
|
36
|
+
};
|
|
7
37
|
const v2ClaimValueToClaimValue = value => {
|
|
8
38
|
if (value.type_ !== 'NESTED') {
|
|
9
39
|
return value;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["CredentialType","React","CredentialNoticeWarningIcon","CredentialWarningIcon","PurposeInfoIcon","Selector","SelectorStatus","concatTestID","detailsCardAttributeFromClaim","getCredentialCardPropsFromCredential","supportsSelectiveDisclosure","validityCheckedCardFromCredential","v2ClaimValueToClaimValue","value","type_","map","c","v2PresentationClaimToClaim","claim","schema","path","getAttributeSelectorStatus","selected","force","required","Required","userSelection","SelectedCheckmark","Empty","shareCredentialCardAttributeFromV2Claim","selection","parentShared","parentUserSelected","config","testID","language","nested","listValue","attributeShared","Boolean","some","startsWith","userSelected","includes","status","undefined","attribute","disabledStatus","Disabled","Rejected","disabled","credentialAttribute","id","rightAccessory","createElement","array","attributes","image","values","v","datatype","valueErrorColor","missingCredentialCardFromFailureHint","failureHint","notice","labels","_failureHint$credenti","_failureHint$credenti2","cardImage","color","header","credentialDetailErrorColor","credentialDetailPrimary","missingCredential","credentialDetailTestID","credentialName","credentialSchema","name","statusIcon","shareCredentialCardFromV2PresentationCredential","credential","expanded","multipleCredentialsAvailable","purpose","selectedFields","_credential$issuer","_credential$claims$ma","selectiveDisclosureSupported","issuer","type","SINGLE","noticeIcon","text","cardTestId","card","claims","selectCredentialCardFromV2Credential","multiple","_credential$issuer2","_credential$claims$ma2","selectedStatus","SelectedRadio","selectiveDisclosure","cardProps","accessory","getV2CredentialClaimAllSubpaths","flatMap","getV2CredentialAvailablePaths"],"sources":["credential-sharing-v2.tsx"],"sourcesContent":["import {\n Claim,\n ClaimValue,\n CoreConfig,\n CredentialQueryFailureHint,\n CredentialType,\n PresentationDefinitionV2Claim,\n PresentationDefinitionV2ClaimValue,\n PresentationDefinitionV2Credential,\n} from '@procivis/react-native-one-core';\nimport React from 'react';\n\nimport {\n CredentialAttribute,\n CredentialCardNotice,\n CredentialCardProps,\n CredentialNoticeWarningIcon,\n CredentialWarningIcon,\n PurposeInfoIcon,\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: PresentationDefinitionV2ClaimValue): ClaimValue => {\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: PresentationDefinitionV2Claim): Claim => {\n return {\n schema: claim.schema,\n path: claim.path,\n value: v2ClaimValueToClaimValue(claim.value),\n };\n};\n\nconst getAttributeSelectorStatus = (\n claim: PresentationDefinitionV2Claim,\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: PresentationDefinitionV2Claim,\n selection: string[] | undefined,\n parentShared: boolean,\n parentUserSelected: boolean,\n config: CoreConfig,\n testID: string,\n language: string | undefined,\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, language);\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 language,\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(\n v,\n selection,\n attributeShared,\n userSelected,\n config,\n testID,\n language,\n true,\n ),\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: CredentialQueryFailureHint | 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: PresentationDefinitionV2Credential | undefined,\n failureHint: CredentialQueryFailureHint | undefined,\n expanded: boolean,\n multipleCredentialsAvailable: boolean,\n purpose: string | undefined,\n selectedFields: string[] | undefined,\n config: CoreConfig,\n testID: string,\n labels: ShareCredentialCardLabels,\n language: string | undefined,\n): CredentialDetailsCardPropsWithoutWidth => {\n const selectiveDisclosureSupported = supportsSelectiveDisclosure(\n credential ? { ...credential, issuer: credential.issuer?.id, type: CredentialType.SINGLE } : undefined,\n config,\n );\n const notice: CredentialCardNotice | undefined = purpose\n ? {\n noticeIcon: PurposeInfoIcon,\n text: purpose,\n }\n : undefined;\n const cardTestId = concatTestID(testID, 'card');\n const card = credential\n ? validityCheckedCardFromCredential(\n credential,\n expanded,\n selectiveDisclosureSupported,\n multipleCredentialsAvailable,\n config,\n notice,\n cardTestId,\n labels,\n language,\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, language),\n ) ?? [],\n card,\n };\n};\n\nexport const selectCredentialCardFromV2Credential = (\n credential: PresentationDefinitionV2Credential,\n selected: boolean,\n multiple: boolean,\n config: CoreConfig,\n testID: string,\n labels: ShareCredentialCardLabels,\n language: string | undefined,\n): CredentialDetailsCardPropsWithoutWidth => {\n const selectiveDisclosureSupported = supportsSelectiveDisclosure(\n credential ? { ...credential, issuer: credential.issuer?.id, type: CredentialType.SINGLE } : 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.selectiveDisclosure,\n }\n : undefined;\n const { header, ...cardProps } = getCredentialCardPropsFromCredential(\n {\n ...credential,\n claims: credential.claims.map(v2PresentationClaimToClaim),\n type: CredentialType.SINGLE,\n },\n credential.claims.map(v2PresentationClaimToClaim),\n config,\n notice,\n testID,\n labels,\n language,\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, language),\n ) ?? [],\n card,\n };\n};\n\nexport const getV2CredentialClaimAllSubpaths = (claim: PresentationDefinitionV2Claim): 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 = (credential: PresentationDefinitionV2Credential): string[] => {\n return credential.claims.flatMap(getV2CredentialClaimAllSubpaths);\n};\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["CredentialType","React","CredentialNoticeWarningIcon","CredentialWarningIcon","PurposeInfoIcon","Selector","SelectorStatus","concatTestID","detailsCardAttributeFromClaim","getCredentialCardPropsFromCredential","supportsSelectiveDisclosure","credentialDetailFromPresentationV2Credential","validityCheckedCardFromCredential","credential","expanded","selectiveDisclosureSupported","multipleCredentialsAvailable","config","notice","testID","labels","language","credentialHeaderDetail","credentialDetailPrimary","selectiveDisclosure","credentialDetailTestID","statusIcon","disclosurePolicyViolation","multipleCredentials","card","claims","header","v2ClaimValueToClaimValue","value","type_","map","c","v2PresentationClaimToClaim","claim","schema","path","getAttributeSelectorStatus","selected","force","required","Required","userSelection","SelectedCheckmark","Empty","shareCredentialCardAttributeFromV2Claim","selection","parentShared","parentUserSelected","nested","listValue","attributeShared","Boolean","some","startsWith","userSelected","includes","status","undefined","attribute","disabledStatus","Disabled","Rejected","disabled","credentialAttribute","id","rightAccessory","createElement","array","attributes","image","values","v","datatype","valueErrorColor","missingCredentialCardFromFailureHint","failureHint","_failureHint$credenti","_failureHint$credenti2","cardImage","color","credentialDetailErrorColor","missingCredential","credentialName","credentialSchema","name","shareCredentialCardFromV2PresentationCredential","purpose","selectedFields","_credential$issuer","_credential$claims$ma","issuer","type","SINGLE","noticeIcon","text","cardTestId","selectCredentialCardFromV2Credential","multiple","_credential$issuer2","_credential$claims$ma2","selectedStatus","SelectedRadio","cardProps","accessory","getV2CredentialClaimAllSubpaths","flatMap","getV2CredentialAvailablePaths"],"sources":["credential-sharing-v2.tsx"],"sourcesContent":["import {\n Claim,\n ClaimValue,\n CoreConfig,\n CredentialDetail,\n CredentialQueryFailureHint,\n CredentialType,\n PresentationDefinitionV2Claim,\n PresentationDefinitionV2ClaimValue,\n PresentationDefinitionV2Credential,\n} from '@procivis/react-native-one-core';\nimport React from 'react';\n\nimport {\n CredentialAttribute,\n CredentialCardNotice,\n CredentialCardProps,\n CredentialHeaderProps,\n CredentialNoticeWarningIcon,\n CredentialWarningIcon,\n PurposeInfoIcon,\n Selector,\n SelectorStatus,\n} from '../../ui-components';\nimport { concatTestID } from '../testID';\nimport {\n CredentialDetailsCardPropsWithoutWidth,\n detailsCardAttributeFromClaim,\n getCredentialCardPropsFromCredential,\n supportsSelectiveDisclosure,\n} from '.';\nimport { CardLabels, credentialDetailFromPresentationV2Credential } from './credential';\n\nexport type ShareCredentialCardLabels = CardLabels & {\n selectiveDisclosure: string;\n missingAttribute: string;\n missingCredential: string;\n multipleCredentials: string;\n disclosurePolicyViolation: string;\n};\n\nexport const validityCheckedCardFromCredential = (\n credential: CredentialDetail | PresentationDefinitionV2Credential,\n expanded: boolean,\n selectiveDisclosureSupported: boolean | undefined,\n multipleCredentialsAvailable: boolean,\n config: CoreConfig,\n notice: CredentialCardNotice | undefined,\n testID: string,\n labels: ShareCredentialCardLabels,\n language: string | undefined,\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 (selectiveDisclosureSupported === false) {\n credentialHeaderDetail = {\n credentialDetailPrimary: labels.selectiveDisclosure,\n credentialDetailTestID: concatTestID(testID, 'header.nonSelectiveDisclosure'),\n statusIcon: CredentialWarningIcon,\n };\n } else if ('embeddedDisclosurePolicyViolation' in credential) {\n credentialHeaderDetail = {\n credentialDetailPrimary: labels.disclosurePolicyViolation,\n credentialDetailTestID: concatTestID(testID, 'header.dislosurePolicyViolation'),\n statusIcon: CredentialWarningIcon,\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(\n credentialDetailFromPresentationV2Credential(credential),\n credential.claims,\n config,\n notice,\n testID,\n labels,\n language,\n );\n return {\n ...card,\n header: {\n ...card.header,\n ...credentialHeaderDetail,\n },\n };\n};\n\nconst v2ClaimValueToClaimValue = (value: PresentationDefinitionV2ClaimValue): ClaimValue => {\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: PresentationDefinitionV2Claim): Claim => {\n return {\n schema: claim.schema,\n path: claim.path,\n value: v2ClaimValueToClaimValue(claim.value),\n };\n};\n\nconst getAttributeSelectorStatus = (\n claim: PresentationDefinitionV2Claim,\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: PresentationDefinitionV2Claim,\n selection: string[] | undefined,\n parentShared: boolean,\n parentUserSelected: boolean,\n config: CoreConfig,\n testID: string,\n language: string | undefined,\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, language);\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 language,\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(\n v,\n selection,\n attributeShared,\n userSelected,\n config,\n testID,\n language,\n true,\n ),\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: CredentialQueryFailureHint | 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: PresentationDefinitionV2Credential | undefined,\n failureHint: CredentialQueryFailureHint | undefined,\n expanded: boolean,\n multipleCredentialsAvailable: boolean,\n purpose: string | undefined,\n selectedFields: string[] | undefined,\n config: CoreConfig,\n testID: string,\n labels: ShareCredentialCardLabels,\n language: string | undefined,\n): CredentialDetailsCardPropsWithoutWidth => {\n const selectiveDisclosureSupported = supportsSelectiveDisclosure(\n credential ? { ...credential, issuer: credential.issuer?.id, type: CredentialType.SINGLE } : undefined,\n config,\n );\n const notice: CredentialCardNotice | undefined = purpose\n ? {\n noticeIcon: PurposeInfoIcon,\n text: purpose,\n }\n : undefined;\n const cardTestId = concatTestID(testID, 'card');\n const card = credential\n ? validityCheckedCardFromCredential(\n credential,\n expanded,\n selectiveDisclosureSupported,\n multipleCredentialsAvailable,\n config,\n notice,\n cardTestId,\n labels,\n language,\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, language),\n ) ?? [],\n card,\n };\n};\n\nexport const selectCredentialCardFromV2Credential = (\n credential: PresentationDefinitionV2Credential,\n selected: boolean,\n multiple: boolean,\n config: CoreConfig,\n testID: string,\n labels: ShareCredentialCardLabels,\n language: string | undefined,\n): CredentialDetailsCardPropsWithoutWidth => {\n const selectiveDisclosureSupported = supportsSelectiveDisclosure(\n credential ? { ...credential, issuer: credential.issuer?.id, type: CredentialType.SINGLE } : 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.selectiveDisclosure,\n }\n : undefined;\n const { header, ...cardProps } = getCredentialCardPropsFromCredential(\n {\n ...credential,\n claims: credential.claims.map(v2PresentationClaimToClaim),\n type: CredentialType.SINGLE,\n },\n credential.claims.map(v2PresentationClaimToClaim),\n config,\n notice,\n testID,\n labels,\n language,\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, language),\n ) ?? [],\n card,\n };\n};\n\nexport const getV2CredentialClaimAllSubpaths = (claim: PresentationDefinitionV2Claim): 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 = (credential: PresentationDefinitionV2Credential): string[] => {\n return credential.claims.flatMap(getV2CredentialClaimAllSubpaths);\n};\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["export * from './credential';\nexport * from './credential-images';\nexport * from './credential-sharing
|
|
1
|
+
{"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["export * from './credential';\nexport * from './credential-images';\nexport * from './credential-sharing-v2';\nexport * from './query';\nexport * from './universal-links';\n"],"mappings":"AAAA,cAAc,cAAc;AAC5B,cAAc,qBAAqB;AACnC,cAAc,yBAAyB;AACvC,cAAc,SAAS;AACvB,cAAc,mBAAmB","ignoreList":[]}
|
|
@@ -11,7 +11,7 @@ export const getQueryKeyFromHistoryListQueryParams = (queryParams = {}) => {
|
|
|
11
11
|
return getQueryKey(queryParams, ['page', 'pageSize', 'sort', 'sortDirection', 'organisationId', 'entityIds', 'actions', 'entityTypes', 'createdDateAfter', 'createdDateBefore', 'identifierId', 'credentialId', 'credentialSchemaId', 'proofId', 'proofSchemaId', 'search', 'users']);
|
|
12
12
|
};
|
|
13
13
|
export const getQueryKeyFromCredentialSchemaListQueryParams = (queryParams = {}) => {
|
|
14
|
-
return getQueryKey(queryParams, ['page', 'pageSize', 'organisationId', 'name', 'sort', 'sortDirection', 'exact', 'ids', 'include', '
|
|
14
|
+
return getQueryKey(queryParams, ['page', 'pageSize', 'organisationId', 'name', 'sort', 'sortDirection', 'exact', 'ids', 'include', 'schemaIds', 'formats', 'usesBatchIssuance', 'isMultiformatSchema', 'createdDateAfter', 'createdDateBefore', 'lastModifiedAfter', 'lastModifiedBefore']);
|
|
15
15
|
};
|
|
16
16
|
export const getQueryKeyFromProofSchemaListQueryParams = (queryParams = {}) => {
|
|
17
17
|
return getQueryKey(queryParams, ['page', 'pageSize', 'organisationId', 'name', 'sort', 'sortDirection', 'exact', 'ids', 'formats', 'createdDateAfter', 'createdDateBefore', 'lastModifiedAfter', 'lastModifiedBefore']);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["getQueryKey","queryParams","params","map","param","getQueryKeyFromCredentialListQueryParams","getQueryKeyFromHistoryListQueryParams","getQueryKeyFromCredentialSchemaListQueryParams","getQueryKeyFromProofSchemaListQueryParams","getQueryKeyFromProofListQueryParams","getQueryKeyFromDidListQueryParams","getQueryKeyFromIdentifierListQueryParams"],"sources":["query.ts"],"sourcesContent":["import {\n CredentialListQuery,\n CredentialSchemaListQuery,\n DidListQuery,\n HistoryListQuery,\n IdentifierListQuery,\n ProofListQuery,\n ProofSchemaListQuery,\n} from '@procivis/react-native-one-core';\n\ntype QueryKey<ListQuery, ParamList> = ParamList extends ReadonlyArray<keyof ListQuery> // all params are inside the ListQuery\n ? keyof ListQuery extends ParamList[number] // all ListQuery fields are in the params\n ? Array<ListQuery[keyof ListQuery]>\n : void\n : void; // otherwise produce a wrong return type which should trigger compilation error\n\n/** Typecheck that all query params are included in the query key */\nfunction getQueryKey<ListQuery extends {}, ParamList extends ReadonlyArray<keyof ListQuery>>(\n queryParams: ListQuery,\n params: ParamList,\n): QueryKey<ListQuery, ParamList> {\n return params.map((param) => queryParams[param]) as QueryKey<ListQuery, ParamList>;\n}\n\nexport const getQueryKeyFromCredentialListQueryParams = (queryParams: Partial<CredentialListQuery> = {}) => {\n return getQueryKey(queryParams, [\n 'page',\n 'pageSize',\n 'organisationId',\n 'name',\n 'searchText',\n 'searchType',\n 'sort',\n 'sortDirection',\n 'exact',\n 'roles',\n 'ids',\n 'states',\n 'include',\n 'profiles',\n 'credentialSchemaIds',\n 'createdDateAfter',\n 'createdDateBefore',\n 'lastModifiedAfter',\n 'lastModifiedBefore',\n 'issuanceDateAfter',\n 'issuanceDateBefore',\n 'revocationDateAfter',\n 'revocationDateBefore',\n 'types',\n 'parentId',\n ]);\n};\n\nexport const getQueryKeyFromHistoryListQueryParams = (queryParams: Partial<HistoryListQuery> = {}) => {\n return getQueryKey(queryParams, [\n 'page',\n 'pageSize',\n 'sort',\n 'sortDirection',\n 'organisationId',\n 'entityIds',\n 'actions',\n 'entityTypes',\n 'createdDateAfter',\n 'createdDateBefore',\n 'identifierId',\n 'credentialId',\n 'credentialSchemaId',\n 'proofId',\n 'proofSchemaId',\n 'search',\n 'users',\n ]);\n};\n\nexport const getQueryKeyFromCredentialSchemaListQueryParams = (\n queryParams: Partial<CredentialSchemaListQuery> = {},\n) => {\n return getQueryKey(queryParams, [\n 'page',\n 'pageSize',\n 'organisationId',\n 'name',\n 'sort',\n 'sortDirection',\n 'exact',\n 'ids',\n 'include',\n '
|
|
1
|
+
{"version":3,"names":["getQueryKey","queryParams","params","map","param","getQueryKeyFromCredentialListQueryParams","getQueryKeyFromHistoryListQueryParams","getQueryKeyFromCredentialSchemaListQueryParams","getQueryKeyFromProofSchemaListQueryParams","getQueryKeyFromProofListQueryParams","getQueryKeyFromDidListQueryParams","getQueryKeyFromIdentifierListQueryParams"],"sources":["query.ts"],"sourcesContent":["import {\n CredentialListQuery,\n CredentialSchemaListQuery,\n DidListQuery,\n HistoryListQuery,\n IdentifierListQuery,\n ProofListQuery,\n ProofSchemaListQuery,\n} from '@procivis/react-native-one-core';\n\ntype QueryKey<ListQuery, ParamList> = ParamList extends ReadonlyArray<keyof ListQuery> // all params are inside the ListQuery\n ? keyof ListQuery extends ParamList[number] // all ListQuery fields are in the params\n ? Array<ListQuery[keyof ListQuery]>\n : void\n : void; // otherwise produce a wrong return type which should trigger compilation error\n\n/** Typecheck that all query params are included in the query key */\nfunction getQueryKey<ListQuery extends {}, ParamList extends ReadonlyArray<keyof ListQuery>>(\n queryParams: ListQuery,\n params: ParamList,\n): QueryKey<ListQuery, ParamList> {\n return params.map((param) => queryParams[param]) as QueryKey<ListQuery, ParamList>;\n}\n\nexport const getQueryKeyFromCredentialListQueryParams = (queryParams: Partial<CredentialListQuery> = {}) => {\n return getQueryKey(queryParams, [\n 'page',\n 'pageSize',\n 'organisationId',\n 'name',\n 'searchText',\n 'searchType',\n 'sort',\n 'sortDirection',\n 'exact',\n 'roles',\n 'ids',\n 'states',\n 'include',\n 'profiles',\n 'credentialSchemaIds',\n 'createdDateAfter',\n 'createdDateBefore',\n 'lastModifiedAfter',\n 'lastModifiedBefore',\n 'issuanceDateAfter',\n 'issuanceDateBefore',\n 'revocationDateAfter',\n 'revocationDateBefore',\n 'types',\n 'parentId',\n ]);\n};\n\nexport const getQueryKeyFromHistoryListQueryParams = (queryParams: Partial<HistoryListQuery> = {}) => {\n return getQueryKey(queryParams, [\n 'page',\n 'pageSize',\n 'sort',\n 'sortDirection',\n 'organisationId',\n 'entityIds',\n 'actions',\n 'entityTypes',\n 'createdDateAfter',\n 'createdDateBefore',\n 'identifierId',\n 'credentialId',\n 'credentialSchemaId',\n 'proofId',\n 'proofSchemaId',\n 'search',\n 'users',\n ]);\n};\n\nexport const getQueryKeyFromCredentialSchemaListQueryParams = (\n queryParams: Partial<CredentialSchemaListQuery> = {},\n) => {\n return getQueryKey(queryParams, [\n 'page',\n 'pageSize',\n 'organisationId',\n 'name',\n 'sort',\n 'sortDirection',\n 'exact',\n 'ids',\n 'include',\n 'schemaIds',\n 'formats',\n 'usesBatchIssuance',\n 'isMultiformatSchema',\n 'createdDateAfter',\n 'createdDateBefore',\n 'lastModifiedAfter',\n 'lastModifiedBefore',\n ]);\n};\n\nexport const getQueryKeyFromProofSchemaListQueryParams = (queryParams: Partial<ProofSchemaListQuery> = {}) => {\n return getQueryKey(queryParams, [\n 'page',\n 'pageSize',\n 'organisationId',\n 'name',\n 'sort',\n 'sortDirection',\n 'exact',\n 'ids',\n 'formats',\n 'createdDateAfter',\n 'createdDateBefore',\n 'lastModifiedAfter',\n 'lastModifiedBefore',\n ]);\n};\n\nexport const getQueryKeyFromProofListQueryParams = (queryParams: Partial<ProofListQuery> = {}) => {\n return getQueryKey(queryParams, [\n 'page',\n 'pageSize',\n 'organisationId',\n 'sort',\n 'sortDirection',\n 'name',\n 'ids',\n 'proofStates',\n 'proofRoles',\n 'proofSchemaIds',\n 'exact',\n 'profiles',\n 'createdDateAfter',\n 'createdDateBefore',\n 'lastModifiedAfter',\n 'lastModifiedBefore',\n 'requestedDateAfter',\n 'requestedDateBefore',\n 'completedDateAfter',\n 'completedDateBefore',\n ]);\n};\n\nexport const getQueryKeyFromDidListQueryParams = (queryParams: Partial<DidListQuery> = {}) => {\n return getQueryKey(queryParams, [\n 'page',\n 'pageSize',\n 'organisationId',\n 'sort',\n 'sortDirection',\n 'name',\n 'did',\n 'type',\n 'deactivated',\n 'exact',\n 'keyAlgorithms',\n 'keyRoles',\n 'keyStorages',\n 'keyIds',\n 'didMethods',\n ]);\n};\n\nexport const getQueryKeyFromIdentifierListQueryParams = (queryParams: Partial<IdentifierListQuery> = {}) => {\n return getQueryKey(queryParams, [\n 'page',\n 'pageSize',\n 'organisationId',\n 'ids',\n 'sort',\n 'sortDirection',\n 'name',\n 'types',\n 'states',\n 'exact',\n 'didMethods',\n 'isRemote',\n 'keyAlgorithms',\n 'keyRoles',\n 'keyStorages',\n 'certificateRoles',\n 'certificateRolesMatchMode',\n 'trustIssuanceSchemaId',\n 'trustVerificationSchemaId',\n 'createdDateAfter',\n 'createdDateBefore',\n 'lastModifiedAfter',\n 'lastModifiedBefore',\n ]);\n};\n"],"mappings":"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","ignoreList":[]}
|