@procivis/one-react-native-components 0.3.132 → 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/history/history-list-item-icon.js +2 -0
- package/lib/commonjs/components/history/history-list-item-icon.js.map +1 -1
- 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/ui-components/buttons/scan-button.js +122 -27
- package/lib/commonjs/ui-components/buttons/scan-button.js.map +1 -1
- package/lib/commonjs/ui-components/credential/card/credential-details-card.js +37 -18
- package/lib/commonjs/ui-components/credential/card/credential-details-card.js.map +1 -1
- package/lib/commonjs/ui-components/credential/credential-attribute-item.js +13 -4
- package/lib/commonjs/ui-components/credential/credential-attribute-item.js.map +1 -1
- package/lib/commonjs/ui-components/icons/icons.js +36 -2
- package/lib/commonjs/ui-components/icons/icons.js.map +1 -1
- package/lib/commonjs/ui-components/list/wallet/empty-list.js +2 -1
- package/lib/commonjs/ui-components/list/wallet/empty-list.js.map +1 -1
- package/lib/commonjs/ui-components/notice/wallet-notice.js +4 -2
- package/lib/commonjs/ui-components/notice/wallet-notice.js.map +1 -1
- package/lib/commonjs/ui-components/text/expandableTypography.js +64 -0
- package/lib/commonjs/ui-components/text/expandableTypography.js.map +1 -0
- package/lib/commonjs/ui-components/text/index.js +15 -0
- package/lib/commonjs/ui-components/text/index.js.map +1 -1
- package/lib/commonjs/utils/hooks/core/credential-schemas.js +24 -1
- package/lib/commonjs/utils/hooks/core/credential-schemas.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/hooks/core/wallet-unit.js +20 -1
- package/lib/commonjs/utils/hooks/core/wallet-unit.js.map +1 -1
- package/lib/commonjs/utils/parsers/credential-sharing-v2.js +34 -7
- package/lib/commonjs/utils/parsers/credential-sharing-v2.js.map +1 -1
- package/lib/commonjs/utils/parsers/credential.js +12 -4
- package/lib/commonjs/utils/parsers/credential.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/history/history-list-item-icon.js +2 -0
- package/lib/module/components/history/history-list-item-icon.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/ui-components/buttons/scan-button.js +124 -29
- package/lib/module/ui-components/buttons/scan-button.js.map +1 -1
- package/lib/module/ui-components/credential/card/credential-details-card.js +37 -18
- package/lib/module/ui-components/credential/card/credential-details-card.js.map +1 -1
- package/lib/module/ui-components/credential/credential-attribute-item.js +13 -4
- package/lib/module/ui-components/credential/credential-attribute-item.js.map +1 -1
- package/lib/module/ui-components/icons/icons.js +32 -0
- package/lib/module/ui-components/icons/icons.js.map +1 -1
- package/lib/module/ui-components/list/wallet/empty-list.js +2 -1
- package/lib/module/ui-components/list/wallet/empty-list.js.map +1 -1
- package/lib/module/ui-components/notice/wallet-notice.js +4 -2
- package/lib/module/ui-components/notice/wallet-notice.js.map +1 -1
- package/lib/module/ui-components/text/expandableTypography.js +55 -0
- package/lib/module/ui-components/text/expandableTypography.js.map +1 -0
- package/lib/module/ui-components/text/index.js +2 -1
- package/lib/module/ui-components/text/index.js.map +1 -1
- package/lib/module/utils/hooks/core/credential-schemas.js +24 -1
- package/lib/module/utils/hooks/core/credential-schemas.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/hooks/core/wallet-unit.js +18 -0
- package/lib/module/utils/hooks/core/wallet-unit.js.map +1 -1
- package/lib/module/utils/parsers/credential-sharing-v2.js +32 -6
- package/lib/module/utils/parsers/credential-sharing-v2.js.map +1 -1
- package/lib/module/utils/parsers/credential.js +10 -4
- package/lib/module/utils/parsers/credential.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/buttons/scan-button.d.ts +9 -3
- package/lib/typescript/ui-components/credential/card/credential-details-card.d.ts +3 -0
- package/lib/typescript/ui-components/credential/credential-attribute-item.d.ts +3 -0
- package/lib/typescript/ui-components/icons/icons.d.ts +2 -0
- package/lib/typescript/ui-components/list/wallet/empty-list.d.ts +2 -2
- package/lib/typescript/ui-components/text/expandableTypography.d.ts +10 -0
- package/lib/typescript/ui-components/text/index.d.ts +2 -1
- package/lib/typescript/ui-components/text/typography.d.ts +14 -14
- package/lib/typescript/utils/hooks/app-state.d.ts +1 -1
- package/lib/typescript/utils/hooks/core/proofs.d.ts +2 -2
- package/lib/typescript/utils/hooks/core/wallet-unit.d.ts +5 -1
- package/lib/typescript/utils/parsers/credential-sharing-v2.d.ts +10 -2
- package/lib/typescript/utils/parsers/credential.d.ts +2 -1
- package/lib/typescript/utils/parsers/index.d.ts +0 -1
- package/package.json +5 -4
- package/src/components/history/history-list-item-icon.tsx +2 -0
- 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/ui-components/buttons/scan-button.tsx +130 -38
- package/src/ui-components/credential/card/credential-details-card.tsx +46 -19
- package/src/ui-components/credential/credential-attribute-item.tsx +15 -3
- package/src/ui-components/icons/icons.tsx +24 -0
- package/src/ui-components/list/wallet/empty-list.tsx +11 -8
- package/src/ui-components/notice/wallet-notice.tsx +4 -2
- package/src/ui-components/text/expandableTypography.tsx +71 -0
- package/src/ui-components/text/index.ts +2 -1
- package/src/utils/hooks/core/credential-schemas.ts +23 -1
- package/src/utils/hooks/core/proofs.ts +3 -3
- package/src/utils/hooks/core/wallet-unit.ts +21 -0
- package/src/utils/parsers/credential-sharing-v2.tsx +71 -6
- package/src/utils/parsers/credential.ts +14 -3
- 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 -263
- 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 -250
- 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 -20
- 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 -404
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import {
|
|
2
|
+
HolderActivateWalletUnitRequest,
|
|
2
3
|
HolderRegisterWalletUnitRequest,
|
|
3
4
|
HolderWalletUnit,
|
|
4
5
|
HolderWalletUnitUpdateRequest,
|
|
@@ -60,6 +61,26 @@ export const useRegisterWalletUnit = () => {
|
|
|
60
61
|
);
|
|
61
62
|
};
|
|
62
63
|
|
|
64
|
+
export const useActivateWalletUnit = () => {
|
|
65
|
+
const queryClient = useQueryClient();
|
|
66
|
+
const { core } = useONECore();
|
|
67
|
+
|
|
68
|
+
return useMutation(
|
|
69
|
+
async ({ id, userIdToken }: { id: string; userIdToken: HolderActivateWalletUnitRequest['userIdToken'] }) =>
|
|
70
|
+
core.holderActivateWalletUnit(id, {
|
|
71
|
+
keyType: 'ECDSA',
|
|
72
|
+
userIdToken,
|
|
73
|
+
}),
|
|
74
|
+
|
|
75
|
+
{
|
|
76
|
+
onSuccess: async () => {
|
|
77
|
+
await queryClient.invalidateQueries(WALLET_UNIT_QUERY_KEY);
|
|
78
|
+
await queryClient.invalidateQueries(WALLET_UNIT_TRUST_COLLECTIONS_QUERY_KEY);
|
|
79
|
+
},
|
|
80
|
+
},
|
|
81
|
+
);
|
|
82
|
+
};
|
|
83
|
+
|
|
63
84
|
export const useWalletUnitStatus = () => {
|
|
64
85
|
const queryClient = useQueryClient();
|
|
65
86
|
const { core } = useONECore();
|
|
@@ -2,6 +2,7 @@ import {
|
|
|
2
2
|
Claim,
|
|
3
3
|
ClaimValue,
|
|
4
4
|
CoreConfig,
|
|
5
|
+
CredentialDetail,
|
|
5
6
|
CredentialQueryFailureHint,
|
|
6
7
|
CredentialType,
|
|
7
8
|
PresentationDefinitionV2Claim,
|
|
@@ -14,6 +15,7 @@ import {
|
|
|
14
15
|
CredentialAttribute,
|
|
15
16
|
CredentialCardNotice,
|
|
16
17
|
CredentialCardProps,
|
|
18
|
+
CredentialHeaderProps,
|
|
17
19
|
CredentialNoticeWarningIcon,
|
|
18
20
|
CredentialWarningIcon,
|
|
19
21
|
PurposeInfoIcon,
|
|
@@ -27,7 +29,74 @@ import {
|
|
|
27
29
|
getCredentialCardPropsFromCredential,
|
|
28
30
|
supportsSelectiveDisclosure,
|
|
29
31
|
} from '.';
|
|
30
|
-
import {
|
|
32
|
+
import { CardLabels, credentialDetailFromPresentationV2Credential } from './credential';
|
|
33
|
+
|
|
34
|
+
export type ShareCredentialCardLabels = CardLabels & {
|
|
35
|
+
selectiveDisclosure: string;
|
|
36
|
+
missingAttribute: string;
|
|
37
|
+
missingCredential: string;
|
|
38
|
+
multipleCredentials: string;
|
|
39
|
+
disclosurePolicyViolation: string;
|
|
40
|
+
};
|
|
41
|
+
|
|
42
|
+
export const validityCheckedCardFromCredential = (
|
|
43
|
+
credential: CredentialDetail | PresentationDefinitionV2Credential,
|
|
44
|
+
expanded: boolean,
|
|
45
|
+
selectiveDisclosureSupported: boolean | undefined,
|
|
46
|
+
multipleCredentialsAvailable: boolean,
|
|
47
|
+
config: CoreConfig,
|
|
48
|
+
notice: CredentialCardNotice | undefined,
|
|
49
|
+
testID: string,
|
|
50
|
+
labels: ShareCredentialCardLabels,
|
|
51
|
+
language: string | undefined,
|
|
52
|
+
): Omit<CredentialCardProps, 'onHeaderPress' | 'style' | 'testID' | 'width'> => {
|
|
53
|
+
let credentialHeaderDetail:
|
|
54
|
+
| Pick<
|
|
55
|
+
CredentialHeaderProps,
|
|
56
|
+
| 'credentialDetailPrimary'
|
|
57
|
+
| 'credentialDetailSecondary'
|
|
58
|
+
| 'credentialDetailErrorColor'
|
|
59
|
+
| 'credentialDetailTestID'
|
|
60
|
+
| 'statusIcon'
|
|
61
|
+
>
|
|
62
|
+
| undefined;
|
|
63
|
+
if (selectiveDisclosureSupported === false) {
|
|
64
|
+
credentialHeaderDetail = {
|
|
65
|
+
credentialDetailPrimary: labels.selectiveDisclosure,
|
|
66
|
+
credentialDetailTestID: concatTestID(testID, 'header.nonSelectiveDisclosure'),
|
|
67
|
+
statusIcon: CredentialWarningIcon,
|
|
68
|
+
};
|
|
69
|
+
} else if ('embeddedDisclosurePolicyViolation' in credential) {
|
|
70
|
+
credentialHeaderDetail = {
|
|
71
|
+
credentialDetailPrimary: labels.disclosurePolicyViolation,
|
|
72
|
+
credentialDetailTestID: concatTestID(testID, 'header.dislosurePolicyViolation'),
|
|
73
|
+
statusIcon: CredentialWarningIcon,
|
|
74
|
+
};
|
|
75
|
+
} else if (!expanded && multipleCredentialsAvailable) {
|
|
76
|
+
credentialHeaderDetail = {
|
|
77
|
+
credentialDetailPrimary: labels.multipleCredentials,
|
|
78
|
+
credentialDetailTestID: concatTestID(testID, 'header.multiple'),
|
|
79
|
+
statusIcon: CredentialWarningIcon,
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
const card = getCredentialCardPropsFromCredential(
|
|
84
|
+
credentialDetailFromPresentationV2Credential(credential),
|
|
85
|
+
credential.claims,
|
|
86
|
+
config,
|
|
87
|
+
notice,
|
|
88
|
+
testID,
|
|
89
|
+
labels,
|
|
90
|
+
language,
|
|
91
|
+
);
|
|
92
|
+
return {
|
|
93
|
+
...card,
|
|
94
|
+
header: {
|
|
95
|
+
...card.header,
|
|
96
|
+
...credentialHeaderDetail,
|
|
97
|
+
},
|
|
98
|
+
};
|
|
99
|
+
};
|
|
31
100
|
|
|
32
101
|
const v2ClaimValueToClaimValue = (value: PresentationDefinitionV2ClaimValue): ClaimValue => {
|
|
33
102
|
if (value.type_ !== 'NESTED') {
|
|
@@ -191,11 +260,7 @@ export const shareCredentialCardFromV2PresentationCredential = (
|
|
|
191
260
|
const cardTestId = concatTestID(testID, 'card');
|
|
192
261
|
const card = credential
|
|
193
262
|
? validityCheckedCardFromCredential(
|
|
194
|
-
|
|
195
|
-
...credential,
|
|
196
|
-
claims: [],
|
|
197
|
-
type: CredentialType.SINGLE,
|
|
198
|
-
},
|
|
263
|
+
credential,
|
|
199
264
|
expanded,
|
|
200
265
|
selectiveDisclosureSupported,
|
|
201
266
|
multipleCredentialsAvailable,
|
|
@@ -5,8 +5,10 @@ import {
|
|
|
5
5
|
CredentialListItem,
|
|
6
6
|
CredentialSchemaListItem,
|
|
7
7
|
CredentialState,
|
|
8
|
+
CredentialType,
|
|
8
9
|
DataType,
|
|
9
10
|
FormatFeature,
|
|
11
|
+
PresentationDefinitionV2Credential,
|
|
10
12
|
} from '@procivis/react-native-one-core';
|
|
11
13
|
import { FC } from 'react';
|
|
12
14
|
import { SvgProps } from 'react-native-svg';
|
|
@@ -180,7 +182,7 @@ export const cardHeaderFromCredential = (
|
|
|
180
182
|
statusIcon,
|
|
181
183
|
} = credentialDetailFromCredential(credential, claims, config, testID, labels, language);
|
|
182
184
|
const { layoutProperties } = credential.schema;
|
|
183
|
-
const defaultLanguage = config.defaultLanguage;
|
|
185
|
+
const defaultLanguage = config.globalSettings.defaultLanguage;
|
|
184
186
|
|
|
185
187
|
return {
|
|
186
188
|
color: layoutProperties?.logo?.backgroundColor,
|
|
@@ -217,7 +219,7 @@ export const getCredentialCardPropsFromCredential = (
|
|
|
217
219
|
language: string | undefined,
|
|
218
220
|
): Omit<CredentialCardProps, 'onHeaderPress' | 'style' | 'width'> => {
|
|
219
221
|
const { layoutProperties } = credential.schema;
|
|
220
|
-
const defaultLanguage = config.defaultLanguage;
|
|
222
|
+
const defaultLanguage = config.globalSettings.defaultLanguage;
|
|
221
223
|
|
|
222
224
|
if (hasMsoValidityIssues(credential)) {
|
|
223
225
|
notice = {
|
|
@@ -255,7 +257,7 @@ export const detailsCardAttributeFromClaim = (
|
|
|
255
257
|
language: string | undefined,
|
|
256
258
|
): CredentialAttribute => {
|
|
257
259
|
const value = detailsCardAttributeValueFromClaim(claim, config, testID, language);
|
|
258
|
-
const defaultLanguage = config.defaultLanguage;
|
|
260
|
+
const defaultLanguage = config.globalSettings.defaultLanguage;
|
|
259
261
|
return {
|
|
260
262
|
id: claim.path,
|
|
261
263
|
name: getTranslatedLabel(claim.schema.translations.name, language, defaultLanguage) ?? claim.path.split('/').pop(),
|
|
@@ -449,3 +451,12 @@ export function getCredentialSchemaWithoutImages<T extends CredentialSchemaListI
|
|
|
449
451
|
},
|
|
450
452
|
};
|
|
451
453
|
}
|
|
454
|
+
|
|
455
|
+
export function credentialDetailFromPresentationV2Credential(
|
|
456
|
+
presentationCredential: CredentialDetail | PresentationDefinitionV2Credential,
|
|
457
|
+
): CredentialDetail {
|
|
458
|
+
return {
|
|
459
|
+
type: CredentialType.SINGLE,
|
|
460
|
+
...presentationCredential,
|
|
461
|
+
};
|
|
462
|
+
}
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.ProofRequestGroup = void 0;
|
|
7
|
-
var _react = _interopRequireDefault(require("react"));
|
|
8
|
-
var _reactNative = require("react-native");
|
|
9
|
-
var _theme = require("../../../ui-components/theme");
|
|
10
|
-
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
11
|
-
const ProofRequestGroup = ({
|
|
12
|
-
children
|
|
13
|
-
}) => {
|
|
14
|
-
const colorScheme = (0, _theme.useAppColorScheme)();
|
|
15
|
-
return /*#__PURE__*/_react.default.createElement(_reactNative.View, {
|
|
16
|
-
style: styles.group
|
|
17
|
-
}, /*#__PURE__*/_react.default.createElement(_reactNative.View, {
|
|
18
|
-
style: [styles.separator, {
|
|
19
|
-
backgroundColor: colorScheme.grayDark
|
|
20
|
-
}]
|
|
21
|
-
}), children);
|
|
22
|
-
};
|
|
23
|
-
exports.ProofRequestGroup = ProofRequestGroup;
|
|
24
|
-
const styles = _reactNative.StyleSheet.create({
|
|
25
|
-
group: {
|
|
26
|
-
marginTop: 16
|
|
27
|
-
},
|
|
28
|
-
separator: {
|
|
29
|
-
height: 1,
|
|
30
|
-
marginBottom: 16,
|
|
31
|
-
marginHorizontal: 4,
|
|
32
|
-
opacity: 0.5
|
|
33
|
-
}
|
|
34
|
-
});
|
|
35
|
-
//# sourceMappingURL=group.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_theme","e","__esModule","default","ProofRequestGroup","children","colorScheme","useAppColorScheme","createElement","View","style","styles","group","separator","backgroundColor","grayDark","exports","StyleSheet","create","marginTop","height","marginBottom","marginHorizontal","opacity"],"sources":["group.tsx"],"sourcesContent":["import React, { FunctionComponent, PropsWithChildren } from 'react';\nimport { StyleSheet, View } from 'react-native';\n\nimport { useAppColorScheme } from '../../../ui-components/theme';\n\nexport const ProofRequestGroup: FunctionComponent<PropsWithChildren> = ({ children }) => {\n const colorScheme = useAppColorScheme();\n return (\n <View style={styles.group}>\n <View style={[styles.separator, { backgroundColor: colorScheme.grayDark }]} />\n {children}\n </View>\n );\n};\n\nconst styles = StyleSheet.create({\n group: {\n marginTop: 16,\n },\n separator: {\n height: 1,\n marginBottom: 16,\n marginHorizontal: 4,\n opacity: 0.5,\n },\n});\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAEA,IAAAE,MAAA,GAAAF,OAAA;AAAiE,SAAAD,uBAAAI,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAE1D,MAAMG,iBAAuD,GAAGA,CAAC;EAAEC;AAAS,CAAC,KAAK;EACvF,MAAMC,WAAW,GAAG,IAAAC,wBAAiB,EAAC,CAAC;EACvC,oBACEX,MAAA,CAAAO,OAAA,CAAAK,aAAA,CAACT,YAAA,CAAAU,IAAI;IAACC,KAAK,EAAEC,MAAM,CAACC;EAAM,gBACxBhB,MAAA,CAAAO,OAAA,CAAAK,aAAA,CAACT,YAAA,CAAAU,IAAI;IAACC,KAAK,EAAE,CAACC,MAAM,CAACE,SAAS,EAAE;MAAEC,eAAe,EAAER,WAAW,CAACS;IAAS,CAAC;EAAE,CAAE,CAAC,EAC7EV,QACG,CAAC;AAEX,CAAC;AAACW,OAAA,CAAAZ,iBAAA,GAAAA,iBAAA;AAEF,MAAMO,MAAM,GAAGM,uBAAU,CAACC,MAAM,CAAC;EAC/BN,KAAK,EAAE;IACLO,SAAS,EAAE;EACb,CAAC;EACDN,SAAS,EAAE;IACTO,MAAM,EAAE,CAAC;IACTC,YAAY,EAAE,EAAE;IAChBC,gBAAgB,EAAE,CAAC;IACnBC,OAAO,EAAE;EACX;AACF,CAAC,CAAC","ignoreList":[]}
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
var _group = require("./group");
|
|
7
|
-
Object.keys(_group).forEach(function (key) {
|
|
8
|
-
if (key === "default" || key === "__esModule") return;
|
|
9
|
-
if (key in exports && exports[key] === _group[key]) return;
|
|
10
|
-
Object.defineProperty(exports, key, {
|
|
11
|
-
enumerable: true,
|
|
12
|
-
get: function () {
|
|
13
|
-
return _group[key];
|
|
14
|
-
}
|
|
15
|
-
});
|
|
16
|
-
});
|
|
17
|
-
var _selectCredential = require("./select-credential");
|
|
18
|
-
Object.keys(_selectCredential).forEach(function (key) {
|
|
19
|
-
if (key === "default" || key === "__esModule") return;
|
|
20
|
-
if (key in exports && exports[key] === _selectCredential[key]) return;
|
|
21
|
-
Object.defineProperty(exports, key, {
|
|
22
|
-
enumerable: true,
|
|
23
|
-
get: function () {
|
|
24
|
-
return _selectCredential[key];
|
|
25
|
-
}
|
|
26
|
-
});
|
|
27
|
-
});
|
|
28
|
-
var _shareCredential = require("./share-credential");
|
|
29
|
-
Object.keys(_shareCredential).forEach(function (key) {
|
|
30
|
-
if (key === "default" || key === "__esModule") return;
|
|
31
|
-
if (key in exports && exports[key] === _shareCredential[key]) return;
|
|
32
|
-
Object.defineProperty(exports, key, {
|
|
33
|
-
enumerable: true,
|
|
34
|
-
get: function () {
|
|
35
|
-
return _shareCredential[key];
|
|
36
|
-
}
|
|
37
|
-
});
|
|
38
|
-
});
|
|
39
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["_group","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_selectCredential","_shareCredential"],"sources":["index.ts"],"sourcesContent":["export * from './group';\nexport * from './select-credential';\nexport * from './share-credential';\n"],"mappings":";;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,MAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,MAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAT,MAAA,CAAAK,GAAA;IAAA;EAAA;AAAA;AACA,IAAAK,iBAAA,GAAAT,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAO,iBAAA,EAAAN,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAK,iBAAA,CAAAL,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAC,iBAAA,CAAAL,GAAA;IAAA;EAAA;AAAA;AACA,IAAAM,gBAAA,GAAAV,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAQ,gBAAA,EAAAP,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAM,gBAAA,CAAAN,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAE,gBAAA,CAAAN,GAAA;IAAA;EAAA;AAAA","ignoreList":[]}
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.SelectCredential = void 0;
|
|
7
|
-
var _react = _interopRequireWildcard(require("react"));
|
|
8
|
-
var _reactNative = require("react-native");
|
|
9
|
-
var _uiComponents = require("../../../ui-components");
|
|
10
|
-
var _coreConfig = require("../../../utils/hooks/core/core-config");
|
|
11
|
-
var _credentials = require("../../../utils/hooks/core/credentials");
|
|
12
|
-
var _credentialSharing = require("../../../utils/parsers/credential-sharing");
|
|
13
|
-
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
14
|
-
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
15
|
-
const SelectCredential = ({
|
|
16
|
-
credentialId,
|
|
17
|
-
labels,
|
|
18
|
-
language,
|
|
19
|
-
lastItem,
|
|
20
|
-
onImagePreview,
|
|
21
|
-
onPress,
|
|
22
|
-
request,
|
|
23
|
-
selected,
|
|
24
|
-
testID
|
|
25
|
-
}) => {
|
|
26
|
-
const {
|
|
27
|
-
data: credential
|
|
28
|
-
} = (0, _credentials.useCredentialDetail)(credentialId);
|
|
29
|
-
const {
|
|
30
|
-
data: config
|
|
31
|
-
} = (0, _coreConfig.useCoreConfig)();
|
|
32
|
-
const cardWidth = (0, _react.useMemo)(() => _reactNative.Dimensions.get('window').width - 32, []);
|
|
33
|
-
if (!credential || !config) {
|
|
34
|
-
return null;
|
|
35
|
-
}
|
|
36
|
-
const {
|
|
37
|
-
card,
|
|
38
|
-
attributes
|
|
39
|
-
} = (0, _credentialSharing.selectCredentialCardFromCredential)(credential, selected, request, config, testID, labels, language);
|
|
40
|
-
return /*#__PURE__*/_react.default.createElement(_uiComponents.CredentialDetailsCardListItem, {
|
|
41
|
-
attributes: attributes,
|
|
42
|
-
card: {
|
|
43
|
-
...card,
|
|
44
|
-
onHeaderPress: onPress,
|
|
45
|
-
width: cardWidth
|
|
46
|
-
},
|
|
47
|
-
expanded: selected,
|
|
48
|
-
lastItem: lastItem,
|
|
49
|
-
onImagePreview: onImagePreview
|
|
50
|
-
});
|
|
51
|
-
};
|
|
52
|
-
exports.SelectCredential = SelectCredential;
|
|
53
|
-
//# sourceMappingURL=select-credential.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_uiComponents","_coreConfig","_credentials","_credentialSharing","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","SelectCredential","credentialId","labels","language","lastItem","onImagePreview","onPress","request","selected","testID","data","credential","useCredentialDetail","config","useCoreConfig","cardWidth","useMemo","Dimensions","width","card","attributes","selectCredentialCardFromCredential","createElement","CredentialDetailsCardListItem","onHeaderPress","expanded","exports"],"sources":["select-credential.tsx"],"sourcesContent":["import { PresentationDefinitionRequestedCredential } from '@procivis/react-native-one-core';\nimport React, { FC, useMemo } from 'react';\nimport { Dimensions, ImageSourcePropType } from 'react-native';\n\nimport { CredentialDetailsCardListItem } from '../../../ui-components';\nimport { useCoreConfig } from '../../../utils/hooks/core/core-config';\nimport { useCredentialDetail } from '../../../utils/hooks/core/credentials';\nimport {\n selectCredentialCardFromCredential,\n ShareCredentialCardLabels,\n} from '../../../utils/parsers/credential-sharing';\n\nexport const SelectCredential: FC<{\n credentialId: string;\n labels: ShareCredentialCardLabels;\n language?: string;\n lastItem: boolean;\n onImagePreview: (title: string, image: ImageSourcePropType) => void;\n onPress?: () => void;\n request: PresentationDefinitionRequestedCredential;\n selected: boolean;\n testID: string;\n}> = ({ credentialId, labels, language, lastItem, onImagePreview, onPress, request, selected, testID }) => {\n const { data: credential } = useCredentialDetail(credentialId);\n const { data: config } = useCoreConfig();\n const cardWidth = useMemo(() => Dimensions.get('window').width - 32, []);\n\n if (!credential || !config) {\n return null;\n }\n\n const { card, attributes } = selectCredentialCardFromCredential(\n credential,\n selected,\n request,\n config,\n testID,\n labels,\n language,\n );\n\n return (\n <CredentialDetailsCardListItem\n attributes={attributes}\n card={{\n ...card,\n onHeaderPress: onPress,\n width: cardWidth,\n }}\n expanded={selected}\n lastItem={lastItem}\n onImagePreview={onImagePreview}\n />\n );\n};\n"],"mappings":";;;;;;AACA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAEA,IAAAE,aAAA,GAAAF,OAAA;AACA,IAAAG,WAAA,GAAAH,OAAA;AACA,IAAAI,YAAA,GAAAJ,OAAA;AACA,IAAAK,kBAAA,GAAAL,OAAA;AAGmD,SAAAM,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAR,wBAAAQ,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAhB,CAAA,EAAAc,CAAA,SAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAG,CAAA,KAAAA,CAAA,CAAAV,GAAA,IAAAU,CAAA,CAAAC,GAAA,IAAAP,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAG,CAAA,IAAAT,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAe,GAAA,CAAAlB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAE5C,MAAMW,gBAUX,GAAGA,CAAC;EAAEC,YAAY;EAAEC,MAAM;EAAEC,QAAQ;EAAEC,QAAQ;EAAEC,cAAc;EAAEC,OAAO;EAAEC,OAAO;EAAEC,QAAQ;EAAEC;AAAO,CAAC,KAAK;EACzG,MAAM;IAAEC,IAAI,EAAEC;EAAW,CAAC,GAAG,IAAAC,gCAAmB,EAACX,YAAY,CAAC;EAC9D,MAAM;IAAES,IAAI,EAAEG;EAAO,CAAC,GAAG,IAAAC,yBAAa,EAAC,CAAC;EACxC,MAAMC,SAAS,GAAG,IAAAC,cAAO,EAAC,MAAMC,uBAAU,CAAC7B,GAAG,CAAC,QAAQ,CAAC,CAAC8B,KAAK,GAAG,EAAE,EAAE,EAAE,CAAC;EAExE,IAAI,CAACP,UAAU,IAAI,CAACE,MAAM,EAAE;IAC1B,OAAO,IAAI;EACb;EAEA,MAAM;IAAEM,IAAI;IAAEC;EAAW,CAAC,GAAG,IAAAC,qDAAkC,EAC7DV,UAAU,EACVH,QAAQ,EACRD,OAAO,EACPM,MAAM,EACNJ,MAAM,EACNP,MAAM,EACNC,QACF,CAAC;EAED,oBACE/B,MAAA,CAAAc,OAAA,CAAAoC,aAAA,CAAC9C,aAAA,CAAA+C,6BAA6B;IAC5BH,UAAU,EAAEA,UAAW;IACvBD,IAAI,EAAE;MACJ,GAAGA,IAAI;MACPK,aAAa,EAAElB,OAAO;MACtBY,KAAK,EAAEH;IACT,CAAE;IACFU,QAAQ,EAAEjB,QAAS;IACnBJ,QAAQ,EAAEA,QAAS;IACnBC,cAAc,EAAEA;EAAe,CAChC,CAAC;AAEN,CAAC;AAACqB,OAAA,CAAA1B,gBAAA,GAAAA,gBAAA","ignoreList":[]}
|
|
@@ -1,110 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.ShareCredential = void 0;
|
|
7
|
-
var _reactNativeOneCore = require("@procivis/react-native-one-core");
|
|
8
|
-
var _react = _interopRequireWildcard(require("react"));
|
|
9
|
-
var _reactNative = require("react-native");
|
|
10
|
-
var _uiComponents = require("../../../ui-components");
|
|
11
|
-
var _utils = require("../../../utils");
|
|
12
|
-
var _coreConfig = require("../../../utils/hooks/core/core-config");
|
|
13
|
-
var _credential = require("../../../utils/parsers/credential");
|
|
14
|
-
var _credentialSharing = require("../../../utils/parsers/credential-sharing");
|
|
15
|
-
var _selectShareCredentialCardNotice = require("../select-share-credential-card-notice");
|
|
16
|
-
var _shareCredentialCardNotice = require("../share-credential-card-notice");
|
|
17
|
-
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
18
|
-
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
19
|
-
const ShareCredential = ({
|
|
20
|
-
allCredentials,
|
|
21
|
-
expanded,
|
|
22
|
-
labels,
|
|
23
|
-
language,
|
|
24
|
-
lastItem,
|
|
25
|
-
onHeaderPress,
|
|
26
|
-
onImagePreview,
|
|
27
|
-
onSelectCredential,
|
|
28
|
-
onSelectField,
|
|
29
|
-
request,
|
|
30
|
-
selectedCredentialId,
|
|
31
|
-
selectedFields,
|
|
32
|
-
style,
|
|
33
|
-
testID
|
|
34
|
-
}) => {
|
|
35
|
-
var _credential$issuer;
|
|
36
|
-
const colorScheme = (0, _uiComponents.useAppColorScheme)();
|
|
37
|
-
const credential = allCredentials.find(c => c.id === selectedCredentialId);
|
|
38
|
-
const {
|
|
39
|
-
data: config
|
|
40
|
-
} = (0, _coreConfig.useCoreConfig)();
|
|
41
|
-
const cardWidth = (0, _react.useMemo)(() => _reactNative.Dimensions.get('window').width - 32, []);
|
|
42
|
-
const selectionOptions = (0, _react.useMemo)(() => request.applicableCredentials.filter(applicableCredentialId => allCredentials.some(({
|
|
43
|
-
id,
|
|
44
|
-
state
|
|
45
|
-
}) => id === applicableCredentialId && state === _reactNativeOneCore.CredentialState.ACCEPTED)), [allCredentials, request]);
|
|
46
|
-
const multipleCredentialsAvailable = selectionOptions.length > 1;
|
|
47
|
-
const validityState = (0, _credential.getValidityState)(credential ? {
|
|
48
|
-
...credential,
|
|
49
|
-
issuer: credential === null || credential === void 0 || (_credential$issuer = credential.issuer) === null || _credential$issuer === void 0 ? void 0 : _credential$issuer.id
|
|
50
|
-
} : undefined);
|
|
51
|
-
const footer = (0, _react.useMemo)(() => {
|
|
52
|
-
if (!expanded) {
|
|
53
|
-
return;
|
|
54
|
-
}
|
|
55
|
-
if (validityState === _credential.ValidityState.Revoked) {
|
|
56
|
-
return /*#__PURE__*/_react.default.createElement(_shareCredentialCardNotice.ShareCredentialCardNotice, {
|
|
57
|
-
testID: (0, _utils.concatTestID)(testID, 'notice.revoked'),
|
|
58
|
-
text: labels.revokedCredentialNotice
|
|
59
|
-
});
|
|
60
|
-
}
|
|
61
|
-
if (validityState === _credential.ValidityState.Suspended) {
|
|
62
|
-
return /*#__PURE__*/_react.default.createElement(_shareCredentialCardNotice.ShareCredentialCardNotice, {
|
|
63
|
-
testID: (0, _utils.concatTestID)(testID, 'notice.suspended'),
|
|
64
|
-
text: labels.suspendedCredentialNotice
|
|
65
|
-
});
|
|
66
|
-
}
|
|
67
|
-
if (multipleCredentialsAvailable) {
|
|
68
|
-
return /*#__PURE__*/_react.default.createElement(_selectShareCredentialCardNotice.SelectShareCredentialCardNotice, {
|
|
69
|
-
buttonTitle: labels.multipleCredentialsSelect,
|
|
70
|
-
onPress: onSelectCredential,
|
|
71
|
-
testID: (0, _utils.concatTestID)(testID, 'notice.multiple'),
|
|
72
|
-
text: labels.multipleCredentialsNotice
|
|
73
|
-
});
|
|
74
|
-
}
|
|
75
|
-
}, [expanded, labels, multipleCredentialsAvailable, onSelectCredential, testID, validityState]);
|
|
76
|
-
if (!config) {
|
|
77
|
-
return null;
|
|
78
|
-
}
|
|
79
|
-
const {
|
|
80
|
-
card,
|
|
81
|
-
attributes
|
|
82
|
-
} = (0, _credentialSharing.shareCredentialCardFromCredential)(credential, Boolean(expanded), multipleCredentialsAvailable, request, selectedFields, config, testID, labels, language);
|
|
83
|
-
return /*#__PURE__*/_react.default.createElement(_uiComponents.CredentialDetailsCardListItem, {
|
|
84
|
-
attributes: attributes,
|
|
85
|
-
card: {
|
|
86
|
-
...card,
|
|
87
|
-
credentialId: request.id,
|
|
88
|
-
onHeaderPress,
|
|
89
|
-
width: cardWidth
|
|
90
|
-
},
|
|
91
|
-
expanded: expanded,
|
|
92
|
-
footer: footer,
|
|
93
|
-
lastItem: lastItem,
|
|
94
|
-
onAttributeSelected: onSelectField,
|
|
95
|
-
onImagePreview: onImagePreview,
|
|
96
|
-
style: [styles.credential, {
|
|
97
|
-
borderColor: colorScheme.background
|
|
98
|
-
}, style],
|
|
99
|
-
testID: testID
|
|
100
|
-
});
|
|
101
|
-
};
|
|
102
|
-
exports.ShareCredential = ShareCredential;
|
|
103
|
-
const styles = _reactNative.StyleSheet.create({
|
|
104
|
-
credential: {
|
|
105
|
-
borderRadius: 10,
|
|
106
|
-
borderWidth: 1,
|
|
107
|
-
marginBottom: 8
|
|
108
|
-
}
|
|
109
|
-
});
|
|
110
|
-
//# sourceMappingURL=share-credential.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNativeOneCore","require","_react","_interopRequireWildcard","_reactNative","_uiComponents","_utils","_coreConfig","_credential","_credentialSharing","_selectShareCredentialCardNotice","_shareCredentialCardNotice","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","ShareCredential","allCredentials","expanded","labels","language","lastItem","onHeaderPress","onImagePreview","onSelectCredential","onSelectField","request","selectedCredentialId","selectedFields","style","testID","_credential$issuer","colorScheme","useAppColorScheme","credential","find","c","id","data","config","useCoreConfig","cardWidth","useMemo","Dimensions","width","selectionOptions","applicableCredentials","filter","applicableCredentialId","some","state","CredentialState","ACCEPTED","multipleCredentialsAvailable","length","validityState","getValidityState","issuer","undefined","footer","ValidityState","Revoked","createElement","ShareCredentialCardNotice","concatTestID","text","revokedCredentialNotice","Suspended","suspendedCredentialNotice","SelectShareCredentialCardNotice","buttonTitle","multipleCredentialsSelect","onPress","multipleCredentialsNotice","card","attributes","shareCredentialCardFromCredential","Boolean","CredentialDetailsCardListItem","credentialId","onAttributeSelected","styles","borderColor","background","exports","StyleSheet","create","borderRadius","borderWidth","marginBottom"],"sources":["share-credential.tsx"],"sourcesContent":["import {\n CredentialDetail,\n CredentialListItem,\n CredentialState,\n PresentationDefinitionField,\n PresentationDefinitionRequestedCredential,\n} from '@procivis/react-native-one-core';\nimport React, { FunctionComponent, useMemo } from 'react';\nimport { Dimensions, ImageSourcePropType, StyleProp, StyleSheet, ViewStyle } from 'react-native';\n\nimport { CredentialDetailsCardListItem, useAppColorScheme } from '../../../ui-components';\nimport { concatTestID } from '../../../utils';\nimport { useCoreConfig } from '../../../utils/hooks/core/core-config';\nimport { getValidityState, ValidityState } from '../../../utils/parsers/credential';\nimport {\n shareCredentialCardFromCredential,\n ShareCredentialCardLabels,\n} from '../../../utils/parsers/credential-sharing';\nimport { SelectShareCredentialCardNotice } from '../select-share-credential-card-notice';\nimport { ShareCredentialCardNotice } from '../share-credential-card-notice';\n\nexport type ShareCredentialLabels = ShareCredentialCardLabels & {\n invalidCredentialNotice: string;\n multipleCredentialsNotice: string;\n multipleCredentialsSelect: string;\n revokedCredentialNotice: string;\n suspendedCredentialNotice: string;\n};\n\nexport const ShareCredential: FunctionComponent<{\n allCredentials: CredentialDetail[];\n expanded?: boolean;\n labels: ShareCredentialLabels;\n language?: string;\n lastItem?: boolean;\n onHeaderPress?: (_credentialId?: string) => void;\n onImagePreview: (title: string, image: ImageSourcePropType) => void;\n onSelectCredential?: () => void;\n onSelectField: (_id: PresentationDefinitionField['id'], _selected: boolean) => void;\n request: PresentationDefinitionRequestedCredential;\n selectedCredentialId?: CredentialListItem['id'];\n selectedFields?: Array<PresentationDefinitionField['id']>;\n style?: StyleProp<ViewStyle>;\n testID: string;\n}> = ({\n allCredentials,\n expanded,\n labels,\n language,\n lastItem,\n onHeaderPress,\n onImagePreview,\n onSelectCredential,\n onSelectField,\n request,\n selectedCredentialId,\n selectedFields,\n style,\n testID,\n}) => {\n const colorScheme = useAppColorScheme();\n const credential = allCredentials.find((c) => c.id === selectedCredentialId);\n const { data: config } = useCoreConfig();\n const cardWidth = useMemo(() => Dimensions.get('window').width - 32, []);\n\n const selectionOptions = useMemo(\n () =>\n request.applicableCredentials.filter((applicableCredentialId) =>\n allCredentials.some(({ id, state }) => id === applicableCredentialId && state === CredentialState.ACCEPTED),\n ),\n [allCredentials, request],\n );\n const multipleCredentialsAvailable = selectionOptions.length > 1;\n\n const validityState = getValidityState(\n credential\n ? {\n ...credential,\n issuer: credential?.issuer?.id,\n }\n : undefined,\n );\n\n const 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 (multipleCredentialsAvailable) {\n return (\n <SelectShareCredentialCardNotice\n buttonTitle={labels.multipleCredentialsSelect}\n onPress={onSelectCredential}\n testID={concatTestID(testID, 'notice.multiple')}\n text={labels.multipleCredentialsNotice}\n />\n );\n }\n }, [expanded, labels, multipleCredentialsAvailable, onSelectCredential, testID, validityState]);\n\n if (!config) {\n return null;\n }\n\n const { card, attributes } = shareCredentialCardFromCredential(\n credential,\n Boolean(expanded),\n multipleCredentialsAvailable,\n request,\n selectedFields,\n config,\n testID,\n labels,\n language,\n );\n\n return (\n <CredentialDetailsCardListItem\n attributes={attributes}\n card={{\n ...card,\n credentialId: request.id,\n onHeaderPress,\n width: cardWidth,\n }}\n expanded={expanded}\n footer={footer}\n lastItem={lastItem}\n onAttributeSelected={onSelectField}\n onImagePreview={onImagePreview}\n style={[styles.credential, { borderColor: colorScheme.background }, style]}\n testID={testID}\n />\n );\n};\n\nconst styles = StyleSheet.create({\n credential: {\n borderRadius: 10,\n borderWidth: 1,\n marginBottom: 8,\n },\n});\n"],"mappings":"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","ignoreList":[]}
|