@procivis/one-react-native-components 0.3.95 → 0.3.99
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/backup/preview-credentials.js.map +1 -1
- package/lib/commonjs/components/credential/credential.js.map +1 -1
- package/lib/commonjs/components/entity/EntityButtons.js.map +1 -1
- package/lib/commonjs/components/entity/entity-attributes.js.map +1 -1
- package/lib/commonjs/components/entity/entity-details-with-buttons.js +2 -2
- package/lib/commonjs/components/entity/entity-details-with-buttons.js.map +1 -1
- package/lib/commonjs/components/entity/entity-details.js +3 -3
- package/lib/commonjs/components/entity/entity-details.js.map +1 -1
- package/lib/commonjs/components/history/history-details-screen.js +10 -10
- package/lib/commonjs/components/history/history-details-screen.js.map +1 -1
- package/lib/commonjs/components/history/history-list-item-icon.js +12 -8
- package/lib/commonjs/components/history/history-list-item-icon.js.map +1 -1
- package/lib/commonjs/components/history/history-list-item.js.map +1 -1
- package/lib/commonjs/components/history/history-list-screen.js.map +1 -1
- package/lib/commonjs/components/history/history-list-section-header.js +1 -1
- package/lib/commonjs/components/history/history-list-section-header.js.map +1 -1
- package/lib/commonjs/components/history/history-list.js.map +1 -1
- package/lib/commonjs/components/proof-request/share-credential-card-notice.js.map +1 -1
- package/lib/commonjs/components/proof-request/v1/select-credential.js.map +1 -1
- package/lib/commonjs/components/proof-request/v1/share-credential.js +1 -1
- package/lib/commonjs/components/proof-request/v1/share-credential.js.map +1 -1
- package/lib/commonjs/components/proof-request/v2/select-credential-v2.js.map +1 -1
- package/lib/commonjs/components/proof-request/v2/share-credential-v2-group.js +2 -2
- 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 +2 -2
- package/lib/commonjs/components/proof-request/v2/share-credential-v2.js.map +1 -1
- package/lib/commonjs/ui-components/accessibility/accessibilityHistoryWrappers.js.map +1 -1
- package/lib/commonjs/ui-components/accessibility/locale/fi.json +1 -1
- package/lib/commonjs/ui-components/entity/entity-cluster.js.map +1 -1
- package/lib/commonjs/ui-components/header/foldable-header.js.map +1 -1
- package/lib/commonjs/ui-components/history/history-section-header.js +1 -1
- package/lib/commonjs/ui-components/history/history-section-header.js.map +1 -1
- package/lib/commonjs/ui-components/history/history-section-list-item.js +1 -1
- package/lib/commonjs/ui-components/history/history-section-list-item.js.map +1 -1
- package/lib/commonjs/ui-components/icons/entity.js.map +1 -1
- package/lib/commonjs/ui-components/screens/nerd-mode-screen.js.map +1 -1
- package/lib/commonjs/ui-components/screens/section-list-screen.js.map +1 -1
- package/lib/commonjs/ui-components/settings/button-setting.js +3 -1
- package/lib/commonjs/ui-components/settings/button-setting.js.map +1 -1
- package/lib/commonjs/ui-components/settings/setting-item.js +4 -2
- package/lib/commonjs/ui-components/settings/setting-item.js.map +1 -1
- package/lib/commonjs/ui-components/settings/switch-setting.js +4 -2
- package/lib/commonjs/ui-components/settings/switch-setting.js.map +1 -1
- package/lib/commonjs/utils/date.js.map +1 -1
- package/lib/commonjs/utils/history.js.map +1 -1
- package/lib/commonjs/utils/hooks/connectivity/connectivity.test.js.map +1 -1
- package/lib/commonjs/utils/hooks/core/backup.js +3 -3
- package/lib/commonjs/utils/hooks/core/backup.js.map +1 -1
- package/lib/commonjs/utils/hooks/core/cache.js +10 -10
- package/lib/commonjs/utils/hooks/core/cache.js.map +1 -1
- package/lib/commonjs/utils/hooks/core/core-context.js +5 -5
- package/lib/commonjs/utils/hooks/core/core-context.js.map +1 -1
- package/lib/commonjs/utils/hooks/core/credential-schemas.js.map +1 -1
- package/lib/commonjs/utils/hooks/core/credentials.js +3 -3
- package/lib/commonjs/utils/hooks/core/credentials.js.map +1 -1
- package/lib/commonjs/utils/hooks/core/dids.js +1 -1
- package/lib/commonjs/utils/hooks/core/dids.js.map +1 -1
- package/lib/commonjs/utils/hooks/core/history.js +1 -1
- package/lib/commonjs/utils/hooks/core/history.js.map +1 -1
- package/lib/commonjs/utils/hooks/core/identifiers.js +3 -3
- package/lib/commonjs/utils/hooks/core/identifiers.js.map +1 -1
- package/lib/commonjs/utils/hooks/core/proof-schemas.js.map +1 -1
- package/lib/commonjs/utils/hooks/core/proofs.js +9 -9
- package/lib/commonjs/utils/hooks/core/proofs.js.map +1 -1
- package/lib/commonjs/utils/hooks/core/trust-entity.js +5 -5
- package/lib/commonjs/utils/hooks/core/trust-entity.js.map +1 -1
- package/lib/commonjs/utils/hooks/core/wallet-unit.js +1 -1
- package/lib/commonjs/utils/hooks/core/wallet-unit.js.map +1 -1
- package/lib/commonjs/utils/hooks/navigation/open-settings.js.map +1 -1
- package/lib/commonjs/utils/hooks/revocation/credential-status.js +1 -1
- package/lib/commonjs/utils/hooks/revocation/credential-status.js.map +1 -1
- package/lib/commonjs/utils/parsers/credential-images.js +11 -10
- package/lib/commonjs/utils/parsers/credential-images.js.map +1 -1
- package/lib/commonjs/utils/parsers/credential-sharing-v2.js +11 -8
- package/lib/commonjs/utils/parsers/credential-sharing-v2.js.map +1 -1
- package/lib/commonjs/utils/parsers/credential-sharing.js +2 -2
- package/lib/commonjs/utils/parsers/credential-sharing.js.map +1 -1
- package/lib/commonjs/utils/parsers/credential.js +29 -16
- package/lib/commonjs/utils/parsers/credential.js.map +1 -1
- package/lib/commonjs/utils/parsers/query.js.map +1 -1
- package/lib/commonjs/utils/url.js.map +1 -1
- package/lib/module/components/backup/preview-credentials.js.map +1 -1
- package/lib/module/components/credential/credential.js.map +1 -1
- package/lib/module/components/entity/EntityButtons.js.map +1 -1
- package/lib/module/components/entity/entity-attributes.js.map +1 -1
- package/lib/module/components/entity/entity-details-with-buttons.js +3 -3
- package/lib/module/components/entity/entity-details-with-buttons.js.map +1 -1
- package/lib/module/components/entity/entity-details.js +4 -4
- package/lib/module/components/entity/entity-details.js.map +1 -1
- package/lib/module/components/history/history-details-screen.js +11 -11
- package/lib/module/components/history/history-details-screen.js.map +1 -1
- package/lib/module/components/history/history-list-item-icon.js +13 -9
- package/lib/module/components/history/history-list-item-icon.js.map +1 -1
- package/lib/module/components/history/history-list-item.js.map +1 -1
- package/lib/module/components/history/history-list-screen.js.map +1 -1
- package/lib/module/components/history/history-list-section-header.js +1 -1
- package/lib/module/components/history/history-list-section-header.js.map +1 -1
- package/lib/module/components/history/history-list.js.map +1 -1
- package/lib/module/components/proof-request/share-credential-card-notice.js.map +1 -1
- package/lib/module/components/proof-request/v1/select-credential.js.map +1 -1
- package/lib/module/components/proof-request/v1/share-credential.js +2 -2
- package/lib/module/components/proof-request/v1/share-credential.js.map +1 -1
- package/lib/module/components/proof-request/v2/select-credential-v2.js.map +1 -1
- package/lib/module/components/proof-request/v2/share-credential-v2-group.js +2 -2
- 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 +2 -2
- package/lib/module/components/proof-request/v2/share-credential-v2.js.map +1 -1
- package/lib/module/ui-components/accessibility/accessibilityHistoryWrappers.js.map +1 -1
- package/lib/module/ui-components/accessibility/locale/fi.json +1 -1
- package/lib/module/ui-components/entity/entity-cluster.js.map +1 -1
- package/lib/module/ui-components/header/foldable-header.js.map +1 -1
- package/lib/module/ui-components/history/history-section-header.js +1 -1
- package/lib/module/ui-components/history/history-section-header.js.map +1 -1
- package/lib/module/ui-components/history/history-section-list-item.js +1 -1
- package/lib/module/ui-components/history/history-section-list-item.js.map +1 -1
- package/lib/module/ui-components/icons/entity.js.map +1 -1
- package/lib/module/ui-components/screens/nerd-mode-screen.js.map +1 -1
- package/lib/module/ui-components/screens/section-list-screen.js.map +1 -1
- package/lib/module/ui-components/settings/button-setting.js +3 -1
- package/lib/module/ui-components/settings/button-setting.js.map +1 -1
- package/lib/module/ui-components/settings/setting-item.js +4 -2
- package/lib/module/ui-components/settings/setting-item.js.map +1 -1
- package/lib/module/ui-components/settings/switch-setting.js +4 -2
- package/lib/module/ui-components/settings/switch-setting.js.map +1 -1
- package/lib/module/utils/date.js.map +1 -1
- package/lib/module/utils/history.js.map +1 -1
- package/lib/module/utils/hooks/connectivity/connectivity.test.js.map +1 -1
- package/lib/module/utils/hooks/core/backup.js +4 -4
- package/lib/module/utils/hooks/core/backup.js.map +1 -1
- package/lib/module/utils/hooks/core/cache.js +11 -11
- package/lib/module/utils/hooks/core/cache.js.map +1 -1
- package/lib/module/utils/hooks/core/core-context.js +5 -5
- package/lib/module/utils/hooks/core/core-context.js.map +1 -1
- package/lib/module/utils/hooks/core/credential-schemas.js.map +1 -1
- package/lib/module/utils/hooks/core/credentials.js +4 -4
- package/lib/module/utils/hooks/core/credentials.js.map +1 -1
- package/lib/module/utils/hooks/core/dids.js +2 -2
- package/lib/module/utils/hooks/core/dids.js.map +1 -1
- package/lib/module/utils/hooks/core/history.js +1 -1
- package/lib/module/utils/hooks/core/history.js.map +1 -1
- package/lib/module/utils/hooks/core/identifiers.js +4 -4
- package/lib/module/utils/hooks/core/identifiers.js.map +1 -1
- package/lib/module/utils/hooks/core/proof-schemas.js.map +1 -1
- package/lib/module/utils/hooks/core/proofs.js +10 -10
- package/lib/module/utils/hooks/core/proofs.js.map +1 -1
- package/lib/module/utils/hooks/core/trust-entity.js +6 -6
- package/lib/module/utils/hooks/core/trust-entity.js.map +1 -1
- package/lib/module/utils/hooks/core/wallet-unit.js +2 -2
- package/lib/module/utils/hooks/core/wallet-unit.js.map +1 -1
- package/lib/module/utils/hooks/navigation/open-settings.js.map +1 -1
- package/lib/module/utils/hooks/revocation/credential-status.js +2 -2
- package/lib/module/utils/hooks/revocation/credential-status.js.map +1 -1
- package/lib/module/utils/parsers/credential-images.js +12 -11
- package/lib/module/utils/parsers/credential-images.js.map +1 -1
- package/lib/module/utils/parsers/credential-sharing-v2.js +11 -8
- package/lib/module/utils/parsers/credential-sharing-v2.js.map +1 -1
- package/lib/module/utils/parsers/credential-sharing.js +2 -2
- package/lib/module/utils/parsers/credential-sharing.js.map +1 -1
- package/lib/module/utils/parsers/credential.js +30 -17
- package/lib/module/utils/parsers/credential.js.map +1 -1
- package/lib/module/utils/parsers/query.js.map +1 -1
- package/lib/module/utils/url.js.map +1 -1
- package/lib/typescript/components/backup/preview-credentials.d.ts +2 -2
- package/lib/typescript/components/credential/credential.d.ts +2 -2
- package/lib/typescript/components/entity/EntityButtons.d.ts +2 -2
- package/lib/typescript/components/entity/entity-attributes.d.ts +2 -2
- package/lib/typescript/components/entity/entity-details-with-buttons.d.ts +3 -3
- package/lib/typescript/components/entity/entity-details.d.ts +5 -5
- package/lib/typescript/components/history/history-details-screen.d.ts +2 -2
- package/lib/typescript/components/history/history-list-item-icon.d.ts +3 -3
- package/lib/typescript/components/history/history-list-item.d.ts +5 -5
- package/lib/typescript/components/history/history-list-screen.d.ts +4 -4
- package/lib/typescript/components/history/history-list.d.ts +5 -5
- package/lib/typescript/components/proof-request/v1/select-credential.d.ts +2 -2
- package/lib/typescript/components/proof-request/v1/share-credential.d.ts +6 -6
- package/lib/typescript/components/proof-request/v2/select-credential-v2.d.ts +3 -3
- package/lib/typescript/components/proof-request/v2/share-credential-v2-group.d.ts +4 -4
- package/lib/typescript/components/proof-request/v2/share-credential-v2.d.ts +5 -5
- package/lib/typescript/ui-components/screens/nerd-mode-screen.d.ts +2 -2
- package/lib/typescript/ui-components/settings/setting-item.d.ts +1 -0
- package/lib/typescript/utils/history.d.ts +3 -3
- package/lib/typescript/utils/hooks/core/backup.d.ts +3 -3
- package/lib/typescript/utils/hooks/core/cache.d.ts +2 -2
- package/lib/typescript/utils/hooks/core/core-context.d.ts +1 -1
- package/lib/typescript/utils/hooks/core/credential-schemas.d.ts +6 -6
- package/lib/typescript/utils/hooks/core/credentials.d.ts +8 -8
- package/lib/typescript/utils/hooks/core/dids.d.ts +2 -2
- package/lib/typescript/utils/hooks/core/history.d.ts +2 -2
- package/lib/typescript/utils/hooks/core/identifiers.d.ts +3 -3
- package/lib/typescript/utils/hooks/core/proof-schemas.d.ts +7 -7
- package/lib/typescript/utils/hooks/core/proofs.d.ts +9 -9
- package/lib/typescript/utils/hooks/core/trust-entity.d.ts +6 -6
- package/lib/typescript/utils/hooks/core/wallet-unit.d.ts +5 -5
- package/lib/typescript/utils/parsers/credential-images.d.ts +2 -2
- package/lib/typescript/utils/parsers/credential-sharing-v2.d.ts +7 -7
- package/lib/typescript/utils/parsers/credential-sharing.d.ts +8 -8
- package/lib/typescript/utils/parsers/credential.d.ts +15 -14
- package/lib/typescript/utils/parsers/query.d.ts +8 -8
- package/package.json +6 -4
- package/src/components/backup/preview-credentials.tsx +2 -2
- package/src/components/credential/credential.tsx +2 -2
- package/src/components/entity/EntityButtons.tsx +2 -2
- package/src/components/entity/entity-attributes.tsx +4 -4
- package/src/components/entity/entity-details-with-buttons.tsx +11 -6
- package/src/components/entity/entity-details.tsx +17 -16
- package/src/components/history/history-details-screen.tsx +13 -16
- package/src/components/history/history-list-item-icon.tsx +19 -11
- package/src/components/history/history-list-item.tsx +9 -5
- package/src/components/history/history-list-screen.tsx +4 -4
- package/src/components/history/history-list-section-header.tsx +1 -1
- package/src/components/history/history-list.tsx +6 -6
- package/src/components/proof-request/share-credential-card-notice.tsx +1 -1
- package/src/components/proof-request/v1/select-credential.tsx +2 -2
- package/src/components/proof-request/v1/share-credential.tsx +13 -11
- package/src/components/proof-request/v2/select-credential-v2.tsx +6 -3
- package/src/components/proof-request/v2/share-credential-v2-group.tsx +12 -12
- package/src/components/proof-request/v2/share-credential-v2.tsx +11 -11
- package/src/ui-components/accessibility/accessibilityHistoryWrappers.tsx +4 -1
- package/src/ui-components/accessibility/locale/fi.json +1 -1
- package/src/ui-components/buttons/ghost-button.stories.tsx +0 -1
- package/src/ui-components/control/checkbox.stories.tsx +1 -1
- package/src/ui-components/control/switch.stories.tsx +1 -1
- package/src/ui-components/credential/card/credential-header.stories.tsx +0 -1
- package/src/ui-components/entity/entity-cluster.tsx +7 -6
- package/src/ui-components/header/foldable-header.tsx +8 -11
- package/src/ui-components/history/history-section-header.tsx +1 -1
- package/src/ui-components/history/history-section-list-item.tsx +1 -1
- package/src/ui-components/icons/entity.tsx +2 -2
- package/src/ui-components/pin/pin-code-screen.stories.tsx +1 -1
- package/src/ui-components/screens/image-preview-screen.stories.tsx +1 -1
- package/src/ui-components/screens/nerd-mode-screen.tsx +2 -2
- package/src/ui-components/screens/qr-code-scanner-screen.stories.tsx +1 -1
- package/src/ui-components/screens/section-list-screen.tsx +10 -1
- package/src/ui-components/searchbar/search-bar.stories.tsx +0 -1
- package/src/ui-components/settings/button-setting.tsx +2 -1
- package/src/ui-components/settings/setting-item.tsx +9 -2
- package/src/ui-components/settings/switch-setting.tsx +9 -2
- package/src/ui-components/text/typography.stories.tsx +2 -2
- package/src/utils/date.ts +2 -2
- package/src/utils/history.ts +4 -4
- package/src/utils/hooks/connectivity/connectivity.test.ts +2 -2
- package/src/utils/hooks/core/backup.ts +4 -4
- package/src/utils/hooks/core/cache.ts +13 -13
- package/src/utils/hooks/core/core-context.tsx +6 -6
- package/src/utils/hooks/core/credential-schemas.ts +7 -4
- package/src/utils/hooks/core/credentials.ts +21 -13
- package/src/utils/hooks/core/dids.ts +3 -3
- package/src/utils/hooks/core/history.ts +3 -3
- package/src/utils/hooks/core/identifiers.ts +9 -5
- package/src/utils/hooks/core/proof-schemas.ts +21 -16
- package/src/utils/hooks/core/proofs.ts +31 -27
- package/src/utils/hooks/core/trust-entity.ts +19 -12
- package/src/utils/hooks/core/wallet-unit.ts +21 -11
- package/src/utils/hooks/navigation/open-settings.ts +1 -1
- package/src/utils/hooks/revocation/credential-status.ts +2 -2
- package/src/utils/parsers/credential-images.tsx +19 -13
- package/src/utils/parsers/credential-sharing-v2.tsx +29 -24
- package/src/utils/parsers/credential-sharing.tsx +24 -24
- package/src/utils/parsers/credential.ts +63 -40
- package/src/utils/parsers/query.ts +16 -14
- package/src/utils/url.ts +1 -1
|
@@ -18,10 +18,10 @@ let ValidityState = exports.ValidityState = /*#__PURE__*/function (ValidityState
|
|
|
18
18
|
return ValidityState;
|
|
19
19
|
}({});
|
|
20
20
|
const getValidityState = credential => {
|
|
21
|
-
if ((credential === null || credential === void 0 ? void 0 : credential.state) === _reactNativeOneCore.
|
|
21
|
+
if ((credential === null || credential === void 0 ? void 0 : credential.state) === _reactNativeOneCore.CredentialStateBindingEnum.REVOKED) {
|
|
22
22
|
return ValidityState.Revoked;
|
|
23
23
|
}
|
|
24
|
-
if ((credential === null || credential === void 0 ? void 0 : credential.state) === _reactNativeOneCore.
|
|
24
|
+
if ((credential === null || credential === void 0 ? void 0 : credential.state) === _reactNativeOneCore.CredentialStateBindingEnum.SUSPENDED) {
|
|
25
25
|
return ValidityState.Suspended;
|
|
26
26
|
}
|
|
27
27
|
return ValidityState.Valid;
|
|
@@ -33,7 +33,20 @@ const supportsSelectiveDisclosure = (credential, config) => {
|
|
|
33
33
|
return formatConfig ? Boolean((_formatConfig$capabil = formatConfig.capabilities) === null || _formatConfig$capabil === void 0 || (_formatConfig$capabil = _formatConfig$capabil.features) === null || _formatConfig$capabil === void 0 ? void 0 : _formatConfig$capabil.includes(_reactNativeOneCore.FormatFeatureEnum.SelectiveDisclosure)) : undefined;
|
|
34
34
|
};
|
|
35
35
|
exports.supportsSelectiveDisclosure = supportsSelectiveDisclosure;
|
|
36
|
-
const findClaimByPath = (path, claims) =>
|
|
36
|
+
const findClaimByPath = (path, claims) => {
|
|
37
|
+
if (!path) {
|
|
38
|
+
return undefined;
|
|
39
|
+
}
|
|
40
|
+
const exactClaim = claims.find(claim => claim.path === path);
|
|
41
|
+
if (exactClaim) {
|
|
42
|
+
return exactClaim;
|
|
43
|
+
}
|
|
44
|
+
const parentClaim = claims.find(claim => path.startsWith(`${claim.path}/`));
|
|
45
|
+
if (parentClaim && parentClaim.value.type_ === 'NESTED') {
|
|
46
|
+
return findClaimByPath(path, parentClaim.value.value);
|
|
47
|
+
}
|
|
48
|
+
return undefined;
|
|
49
|
+
};
|
|
37
50
|
exports.findClaimByPath = findClaimByPath;
|
|
38
51
|
const formatCredentialDetail = (claim, config, testID) => {
|
|
39
52
|
var _attributeValue$value;
|
|
@@ -41,8 +54,8 @@ const formatCredentialDetail = (claim, config, testID) => {
|
|
|
41
54
|
return (_attributeValue$value = attributeValue.value) !== null && _attributeValue$value !== void 0 ? _attributeValue$value : '';
|
|
42
55
|
};
|
|
43
56
|
const hasMsoValidityIssues = credential => {
|
|
44
|
-
|
|
45
|
-
const mdocMsoValidityIssue = Boolean((mdocMsoValidity === null ||
|
|
57
|
+
var _credential$mdocMsoVa;
|
|
58
|
+
const mdocMsoValidityIssue = Boolean(((_credential$mdocMsoVa = credential.mdocMsoValidity) === null || _credential$mdocMsoVa === void 0 ? void 0 : _credential$mdocMsoVa.nextUpdate) && new Date(credential.mdocMsoValidity.nextUpdate) < new Date());
|
|
46
59
|
return mdocMsoValidityIssue;
|
|
47
60
|
};
|
|
48
61
|
exports.hasMsoValidityIssues = hasMsoValidityIssues;
|
|
@@ -52,13 +65,13 @@ const credentialDetailFromCredential = (credential, claims = [], config, testID,
|
|
|
52
65
|
layoutProperties
|
|
53
66
|
} = credential.schema;
|
|
54
67
|
switch (credential.state) {
|
|
55
|
-
case _reactNativeOneCore.
|
|
68
|
+
case _reactNativeOneCore.CredentialStateBindingEnum.SUSPENDED:
|
|
56
69
|
return {
|
|
57
70
|
credentialDetailPrimary: credential.suspendEndDate ? labels.suspendedUntil((0, _date.formatDateTimeLocalized)(new Date(credential.suspendEndDate))) : labels.suspended,
|
|
58
71
|
credentialDetailTestID: (0, _testID.concatTestID)(testID, 'suspended'),
|
|
59
72
|
statusIcon: _icons.CredentialWarningIcon
|
|
60
73
|
};
|
|
61
|
-
case _reactNativeOneCore.
|
|
74
|
+
case _reactNativeOneCore.CredentialStateBindingEnum.REVOKED:
|
|
62
75
|
return {
|
|
63
76
|
credentialDetailPrimary: labels.revoked,
|
|
64
77
|
credentialDetailErrorColor: true,
|
|
@@ -159,7 +172,7 @@ const detailsCardAttributeValueFromClaim = (claim, config, testID) => {
|
|
|
159
172
|
const typeConfig = config === null || config === void 0 ? void 0 : config.datatype[claim.schema.datatype];
|
|
160
173
|
if (claim.schema.array) {
|
|
161
174
|
return {
|
|
162
|
-
values: (claim.value || []).map((arrayValue, index) => {
|
|
175
|
+
values: (claim.value.value || []).map((arrayValue, index) => {
|
|
163
176
|
return detailsCardAttributeFromClaim(arrayValue, config, (0, _testID.concatTestID)(testID, index.toString()));
|
|
164
177
|
})
|
|
165
178
|
};
|
|
@@ -167,26 +180,26 @@ const detailsCardAttributeValueFromClaim = (claim, config, testID) => {
|
|
|
167
180
|
switch (typeConfig === null || typeConfig === void 0 ? void 0 : typeConfig.type) {
|
|
168
181
|
case _reactNativeOneCore.DataTypeEnum.Object:
|
|
169
182
|
{
|
|
170
|
-
if (
|
|
183
|
+
if (claim.value.type_ !== 'NESTED') {
|
|
171
184
|
return {
|
|
172
185
|
attributes: []
|
|
173
186
|
};
|
|
174
187
|
}
|
|
175
188
|
return {
|
|
176
|
-
attributes: claim.value.map((nestedClaim, index) => detailsCardAttributeFromClaim(nestedClaim, config, (0, _testID.concatTestID)(testID, index.toString())))
|
|
189
|
+
attributes: claim.value.value.map((nestedClaim, index) => detailsCardAttributeFromClaim(nestedClaim, config, (0, _testID.concatTestID)(testID, index.toString())))
|
|
177
190
|
};
|
|
178
191
|
}
|
|
179
192
|
case _reactNativeOneCore.DataTypeEnum.Date:
|
|
180
193
|
{
|
|
181
194
|
var _formatDateLocalized;
|
|
182
|
-
if (!claim.value) {
|
|
195
|
+
if (!claim.value.value) {
|
|
183
196
|
// Don't try to parse empty values (which will return "Invalid Date")
|
|
184
197
|
return {
|
|
185
198
|
testID: testID,
|
|
186
|
-
value: String(claim.value)
|
|
199
|
+
value: String(claim.value.value)
|
|
187
200
|
};
|
|
188
201
|
}
|
|
189
|
-
const date = claim.value;
|
|
202
|
+
const date = claim.value.value;
|
|
190
203
|
return {
|
|
191
204
|
testID: testID,
|
|
192
205
|
value: (_formatDateLocalized = (0, _date.formatDateLocalized)(new Date(date))) !== null && _formatDateLocalized !== void 0 ? _formatDateLocalized : date
|
|
@@ -199,21 +212,21 @@ const detailsCardAttributeValueFromClaim = (claim, config, testID) => {
|
|
|
199
212
|
if (((_typeConfig$params = typeConfig.params) === null || _typeConfig$params === void 0 ? void 0 : _typeConfig$params.showAs) === 'IMAGE') {
|
|
200
213
|
return {
|
|
201
214
|
image: {
|
|
202
|
-
uri: claim.value
|
|
215
|
+
uri: claim.value.value
|
|
203
216
|
},
|
|
204
217
|
testID: testID
|
|
205
218
|
};
|
|
206
219
|
} else {
|
|
207
220
|
return {
|
|
208
221
|
testID: testID,
|
|
209
|
-
value: claim.value
|
|
222
|
+
value: claim.value.value
|
|
210
223
|
};
|
|
211
224
|
}
|
|
212
225
|
}
|
|
213
226
|
default:
|
|
214
227
|
return {
|
|
215
228
|
testID: testID,
|
|
216
|
-
value: String(claim.value)
|
|
229
|
+
value: String(claim.value.value)
|
|
217
230
|
};
|
|
218
231
|
}
|
|
219
232
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNativeOneCore","require","_icons","_date","_testID","_credentialImages","ValidityState","exports","getValidityState","credential","state","CredentialStateEnum","REVOKED","Revoked","SUSPENDED","Suspended","Valid","supportsSelectiveDisclosure","config","_formatConfig$capabil","formatConfig","format","schema","Boolean","capabilities","features","includes","FormatFeatureEnum","SelectiveDisclosure","undefined","findClaimByPath","path","claims","find","claim","formatCredentialDetail","testID","_attributeValue$value","attributeValue","detailsCardAttributeValueFromClaim","value","hasMsoValidityIssues","mdocMsoValidity","mdocMsoValidityIssue","nextUpdate","Date","credentialDetailFromCredential","labels","_formatDateTimeLocali","_credential$issuanceD","layoutProperties","credentialDetailPrimary","suspendEndDate","suspendedUntil","formatDateTimeLocalized","suspended","credentialDetailTestID","concatTestID","statusIcon","CredentialWarningIcon","revoked","credentialDetailErrorColor","CredentialErrorIcon","validityIssues","issuanceDate","createdDate","credentialDetailSecondary","primary","primaryAttribute","secondary","secondaryAttribute","cardHeaderFromCredential","_layoutProperties$log","_layoutProperties$log2","_layoutProperties$log3","color","logo","backgroundColor","credentialName","name","icon","image","imageSource","uri","iconLabelColor","fontColor","getCredentialCardPropsFromCredential","notice","_layoutProperties$bac","_layoutProperties$bac2","text","validityIssuesNotice","noticeIcon","CredentialNoticeWarningIcon","result","cardCarouselImages","getCarouselImagesFromClaims","cardImage","background","header","detailsCardAttributeFromClaim","id","split","pop","typeConfig","datatype","array","values","map","arrayValue","index","toString","type","DataTypeEnum","Object","Array","isArray","attributes","nestedClaim","_formatDateLocalized","String","date","formatDateLocalized","Picture","SwiyuPicture","_typeConfig$params","params","showAs","detailsCardFromCredential","detailsCardFromCredentialWithClaims","card","nestAttributes","attribute","attributePath","length","push","first","rest","parent","a","insertAttributeInParent","join","nestAttributeInDummyParent","pathParts","listValue","disabled","_parent$attributes","nextParent","_parent$values","_parent$attributes2","parseBase64Image","getCredentialSchemaWithoutImages","credentialSchema","_credentialSchema$lay","_credentialSchema$lay2","_credentialSchema$lay3","_credentialSchema$lay4"],"sources":["credential.ts"],"sourcesContent":["import {\n Claim,\n Config,\n CredentialDetail,\n CredentialListItem,\n CredentialSchema,\n CredentialStateEnum,\n DataTypeEnum,\n FormatFeatureEnum,\n} from '@procivis/react-native-one-core';\nimport { FC } from 'react';\nimport { SvgProps } from 'react-native-svg';\n\nimport {\n CredentialAttribute,\n CredentialAttributeValue,\n CredentialCardProps,\n CredentialDetailsCardProps,\n CredentialHeaderProps,\n} from '../../ui-components/credential';\nimport { CredentialCardNotice } from '../../ui-components/credential/card/credential-card';\nimport { CredentialErrorIcon, CredentialNoticeWarningIcon, CredentialWarningIcon } from '../../ui-components/icons';\nimport { formatDateLocalized, formatDateTimeLocalized } from '../date';\nimport { concatTestID } from '../testID';\nimport { getCarouselImagesFromClaims } from './credential-images';\n\nexport enum ValidityState {\n Revoked = 'revoked',\n Suspended = 'suspended',\n Valid = 'valid',\n}\n\nexport const getValidityState = (credential: CredentialListItem | undefined) => {\n if (credential?.state === CredentialStateEnum.REVOKED) {\n return ValidityState.Revoked;\n }\n if (credential?.state === CredentialStateEnum.SUSPENDED) {\n return ValidityState.Suspended;\n }\n return ValidityState.Valid;\n};\n\nexport const supportsSelectiveDisclosure = (credential: CredentialListItem | undefined, config: Config | undefined) => {\n const formatConfig = credential && config?.format[credential.schema.format];\n return formatConfig\n ? Boolean(formatConfig.capabilities?.features?.includes(FormatFeatureEnum.SelectiveDisclosure))\n : undefined;\n};\n\nexport const findClaimByPath = (path: string | undefined, claims: Claim[] | undefined) =>\n path ? claims?.find((claim) => claim.path === path) : undefined;\n\nconst formatCredentialDetail = (claim: Claim, config: Config, testID: string): string => {\n const attributeValue = detailsCardAttributeValueFromClaim(claim, config, testID);\n return attributeValue.value ?? '';\n};\n\nexport const hasMsoValidityIssues = (credential: CredentialDetail): boolean => {\n const mdocMsoValidity: { nextUpdate: string } | undefined =\n 'mdocMsoValidity' in credential ? (credential.mdocMsoValidity as { nextUpdate: string }) : undefined;\n\n const mdocMsoValidityIssue = Boolean(\n mdocMsoValidity?.nextUpdate && new Date(mdocMsoValidity.nextUpdate) < new Date(),\n );\n\n return mdocMsoValidityIssue;\n};\n\nexport type CardHeaderLabels = {\n validityIssues: string;\n revoked: string;\n suspended: string;\n suspendedUntil: (date: string) => string;\n};\n\nconst credentialDetailFromCredential = (\n credential: CredentialDetail,\n claims: Claim[] = [],\n config: Config,\n testID: string,\n labels: CardHeaderLabels,\n): {\n credentialDetailPrimary?: string;\n credentialDetailSecondary?: string;\n credentialDetailErrorColor?: boolean;\n credentialDetailTestID?: string;\n statusIcon?: FC<SvgProps>;\n} => {\n const { layoutProperties } = credential.schema;\n\n switch (credential.state) {\n case CredentialStateEnum.SUSPENDED:\n return {\n credentialDetailPrimary: credential.suspendEndDate\n ? labels.suspendedUntil(formatDateTimeLocalized(new Date(credential.suspendEndDate))!)\n : labels.suspended,\n credentialDetailTestID: concatTestID(testID, 'suspended'),\n statusIcon: CredentialWarningIcon,\n };\n case CredentialStateEnum.REVOKED:\n return {\n credentialDetailPrimary: labels.revoked,\n credentialDetailErrorColor: true,\n credentialDetailTestID: concatTestID(testID, 'revoked'),\n statusIcon: CredentialErrorIcon,\n };\n }\n\n if (hasMsoValidityIssues(credential)) {\n return {\n credentialDetailPrimary: labels.validityIssues,\n credentialDetailTestID: concatTestID(testID, 'validity-issue'),\n statusIcon: CredentialWarningIcon,\n };\n }\n\n let credentialDetailPrimary =\n formatDateTimeLocalized(new Date(credential.issuanceDate ?? credential.createdDate)) ?? '';\n let credentialDetailSecondary: string | undefined;\n\n const primary = findClaimByPath(layoutProperties?.primaryAttribute, claims);\n\n if (primary) {\n credentialDetailPrimary = formatCredentialDetail(primary, config, concatTestID(testID, 'primary'));\n }\n\n const secondary = findClaimByPath(layoutProperties?.secondaryAttribute, claims);\n\n if (secondary) {\n credentialDetailSecondary = formatCredentialDetail(secondary, config, concatTestID(testID, 'secondary'));\n }\n\n return {\n credentialDetailPrimary,\n credentialDetailSecondary,\n credentialDetailTestID: concatTestID(testID, 'detail'),\n };\n};\n\nexport const cardHeaderFromCredential = (\n credential: CredentialDetail,\n claims: Claim[] = [],\n config: Config,\n testID: string,\n labels: CardHeaderLabels,\n): Omit<CredentialHeaderProps, 'style'> => {\n const {\n credentialDetailPrimary,\n credentialDetailSecondary,\n credentialDetailErrorColor,\n credentialDetailTestID,\n statusIcon,\n } = credentialDetailFromCredential(credential, claims, config, testID, labels);\n const { layoutProperties } = credential.schema;\n\n return {\n color: layoutProperties?.logo?.backgroundColor,\n credentialDetailErrorColor,\n credentialDetailPrimary,\n credentialDetailSecondary,\n credentialDetailTestID,\n credentialName: credential.schema.name,\n icon: layoutProperties?.logo?.image\n ? {\n imageSource: {\n uri: layoutProperties.logo.image,\n },\n }\n : undefined,\n iconLabelColor: layoutProperties?.logo?.fontColor,\n statusIcon,\n testID,\n };\n};\n\nexport type CardLabels = CardHeaderLabels & {\n validityIssuesNotice: string;\n};\n\nexport const getCredentialCardPropsFromCredential = (\n credential: CredentialDetail,\n claims: Claim[] = [],\n config: Config,\n notice: CredentialCardNotice | undefined,\n testID: string,\n labels: CardLabels,\n): Omit<CredentialCardProps, 'onHeaderPress' | 'style' | 'width'> => {\n const { layoutProperties } = credential.schema;\n\n if (hasMsoValidityIssues(credential)) {\n notice = {\n text: labels.validityIssuesNotice,\n noticeIcon: CredentialNoticeWarningIcon,\n };\n }\n\n const result: Omit<CredentialCardProps, 'onHeaderPress' | 'style' | 'width'> = {\n cardCarouselImages: getCarouselImagesFromClaims(claims, layoutProperties, concatTestID(testID, 'carousel')),\n cardImage: layoutProperties?.background?.image\n ? { imageSource: { uri: layoutProperties.background.image } }\n : undefined,\n color: layoutProperties?.background?.color,\n header: cardHeaderFromCredential(credential, claims, config, concatTestID(testID, 'header'), labels),\n testID,\n notice,\n };\n\n return result;\n};\n\nexport const detailsCardAttributeFromClaim = (claim: Claim, config: Config, testID: string): CredentialAttribute => {\n const value = detailsCardAttributeValueFromClaim(claim, config, testID);\n return {\n id: claim.path,\n name: claim.path.split('/').pop(),\n path: claim.path,\n ...value,\n };\n};\n\nconst detailsCardAttributeValueFromClaim = (claim: Claim, config: Config, testID: string): CredentialAttributeValue => {\n const typeConfig = config?.datatype[claim.schema.datatype];\n\n if (claim.schema.array) {\n return {\n values: ((claim.value as Claim[]) || []).map((arrayValue, index) => {\n return detailsCardAttributeFromClaim(arrayValue, config, concatTestID(testID, index.toString()));\n }),\n };\n } else {\n switch (typeConfig?.type) {\n case DataTypeEnum.Object: {\n if (!Array.isArray(claim.value)) {\n return { attributes: [] };\n }\n return {\n attributes: (claim.value as Claim[]).map((nestedClaim, index) =>\n detailsCardAttributeFromClaim(nestedClaim, config, concatTestID(testID, index.toString())),\n ),\n };\n }\n case DataTypeEnum.Date: {\n if (!claim.value) {\n // Don't try to parse empty values (which will return \"Invalid Date\")\n return { testID: testID, value: String(claim.value) };\n }\n const date = claim.value as string;\n return {\n testID: testID,\n value: formatDateLocalized(new Date(date)) ?? date,\n };\n }\n case DataTypeEnum.Picture: // fallback\n case DataTypeEnum.SwiyuPicture: {\n if (typeConfig.params?.showAs === 'IMAGE') {\n return { image: { uri: claim.value as string }, testID: testID };\n } else {\n return { testID: testID, value: claim.value as string };\n }\n }\n default:\n return { testID: testID, value: String(claim.value) };\n }\n }\n};\n\nexport type CredentialDetailsCardPropsWithoutWidth = Omit<CredentialDetailsCardProps, 'expanded' | 'card'> & {\n card: Omit<CredentialCardProps, 'width'>;\n};\n\nexport const detailsCardFromCredential = (\n credential: CredentialDetail,\n config: Config,\n testID: string,\n labels: CardLabels,\n): CredentialDetailsCardPropsWithoutWidth => {\n return detailsCardFromCredentialWithClaims(credential, credential.claims, config, testID, labels);\n};\n\nexport const detailsCardFromCredentialWithClaims = (\n credential: CredentialDetail,\n claims: Claim[],\n config: Config,\n testID: string,\n labels: CardLabels,\n): CredentialDetailsCardPropsWithoutWidth => {\n const attributes: CredentialAttribute[] = claims.map((claim, index) =>\n detailsCardAttributeFromClaim(claim, config, concatTestID(testID, 'attribute', index.toString())),\n );\n\n const card = getCredentialCardPropsFromCredential(\n credential,\n claims,\n config,\n undefined,\n concatTestID(testID, 'card'),\n labels,\n );\n\n return {\n attributes,\n card,\n };\n};\n\n// Converts a flat list of attributes into a nested structure\n// modifies the names to not include slashes\nexport const nestAttributes = (attributes: CredentialAttribute[]): CredentialAttribute[] => {\n const result: CredentialAttribute[] = [];\n\n for (const attribute of attributes) {\n const attributePath = attribute.path.split('/');\n if (attributePath.length === 0) {\n result.push(attribute);\n } else {\n const [first, ...rest] = attributePath;\n const parent = result.find((a) => a.name === first);\n if (parent) {\n insertAttributeInParent({ ...attribute, path: rest.join('/') }, parent);\n } else {\n result.push(nestAttributeInDummyParent(attribute));\n }\n }\n }\n\n return result;\n};\n\n// We nest the leaf node in a (one or more) nested object(s)\n// to make sure the tree structure is correctly rendered in proof request screens.\nconst nestAttributeInDummyParent = (attribute: CredentialAttribute): CredentialAttribute => {\n const pathParts = attribute.path.split('/');\n const [first, ...rest] = pathParts;\n if (!rest.length) {\n return attribute;\n }\n\n // The dummy object is not selectable, and contains a placeholder ID\n // the user can't interact with it.\n if (attribute.listValue) {\n return {\n values: [nestAttributeInDummyParent({ ...attribute, path: rest.join('/') })],\n disabled: true,\n id: `${attribute.id}/${first}`,\n name: first,\n path: first,\n };\n } else {\n return {\n attributes: [nestAttributeInDummyParent({ ...attribute, path: rest.join('/') })],\n disabled: true,\n id: `${attribute.id}/${first}`,\n name: first,\n path: first,\n };\n }\n};\n\n// Recursively insert an attribute into an parent\n// Will create nested parents if necessary\nconst insertAttributeInParent = (attribute: CredentialAttribute, parent: CredentialAttribute) => {\n const pathParts = attribute.path.split('/');\n const [first, ...rest] = pathParts;\n\n const nextParent = parent.attributes?.find((a) => a.name === first);\n\n if (!nextParent) {\n if (attribute.listValue) {\n parent.values?.push(nestAttributeInDummyParent(attribute));\n } else {\n parent.attributes?.push(nestAttributeInDummyParent(attribute));\n }\n } else {\n insertAttributeInParent({ ...attribute, path: rest.join('/') }, nextParent);\n }\n};\n\nfunction parseBase64Image(image: string | undefined) {\n return image ? '__BASE64IMAGE__' : '';\n}\n\nexport function getCredentialSchemaWithoutImages(credentialSchema: CredentialSchema) {\n return {\n ...credentialSchema,\n layoutProperties: {\n ...credentialSchema.layoutProperties,\n background: {\n ...credentialSchema.layoutProperties?.background,\n image: parseBase64Image(credentialSchema.layoutProperties?.background?.image),\n },\n logo: {\n ...credentialSchema.layoutProperties?.logo,\n image: parseBase64Image(credentialSchema.layoutProperties?.logo?.image),\n },\n },\n };\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_reactNativeOneCore","require","_icons","_date","_testID","_credentialImages","ValidityState","exports","getValidityState","credential","state","CredentialStateBindingEnum","REVOKED","Revoked","SUSPENDED","Suspended","Valid","supportsSelectiveDisclosure","config","_formatConfig$capabil","formatConfig","format","schema","Boolean","capabilities","features","includes","FormatFeatureEnum","SelectiveDisclosure","undefined","findClaimByPath","path","claims","exactClaim","find","claim","parentClaim","startsWith","value","type_","formatCredentialDetail","testID","_attributeValue$value","attributeValue","detailsCardAttributeValueFromClaim","hasMsoValidityIssues","_credential$mdocMsoVa","mdocMsoValidityIssue","mdocMsoValidity","nextUpdate","Date","credentialDetailFromCredential","labels","_formatDateTimeLocali","_credential$issuanceD","layoutProperties","credentialDetailPrimary","suspendEndDate","suspendedUntil","formatDateTimeLocalized","suspended","credentialDetailTestID","concatTestID","statusIcon","CredentialWarningIcon","revoked","credentialDetailErrorColor","CredentialErrorIcon","validityIssues","issuanceDate","createdDate","credentialDetailSecondary","primary","primaryAttribute","secondary","secondaryAttribute","cardHeaderFromCredential","_layoutProperties$log","_layoutProperties$log2","_layoutProperties$log3","color","logo","backgroundColor","credentialName","name","icon","image","imageSource","uri","iconLabelColor","fontColor","getCredentialCardPropsFromCredential","notice","_layoutProperties$bac","_layoutProperties$bac2","text","validityIssuesNotice","noticeIcon","CredentialNoticeWarningIcon","result","cardCarouselImages","getCarouselImagesFromClaims","cardImage","background","header","detailsCardAttributeFromClaim","id","split","pop","typeConfig","datatype","array","values","map","arrayValue","index","toString","type","DataTypeEnum","Object","attributes","nestedClaim","_formatDateLocalized","String","date","formatDateLocalized","Picture","SwiyuPicture","_typeConfig$params","params","showAs","detailsCardFromCredential","detailsCardFromCredentialWithClaims","card","nestAttributes","attribute","attributePath","length","push","first","rest","parent","a","insertAttributeInParent","join","nestAttributeInDummyParent","pathParts","listValue","disabled","_parent$attributes","nextParent","_parent$values","_parent$attributes2","parseBase64Image","getCredentialSchemaWithoutImages","credentialSchema","_credentialSchema$lay","_credentialSchema$lay2","_credentialSchema$lay3","_credentialSchema$lay4"],"sources":["credential.ts"],"sourcesContent":["import {\n ClaimBindingDto,\n Config,\n CredentialDetailBindingDto,\n CredentialListItemBindingDto,\n CredentialSchemaDetailBindingDto,\n CredentialStateBindingEnum,\n DataTypeEnum,\n FormatFeatureEnum,\n} from '@procivis/react-native-one-core';\nimport { FC } from 'react';\nimport { SvgProps } from 'react-native-svg';\n\nimport {\n CredentialAttribute,\n CredentialAttributeValue,\n CredentialCardProps,\n CredentialDetailsCardProps,\n CredentialHeaderProps,\n} from '../../ui-components/credential';\nimport { CredentialCardNotice } from '../../ui-components/credential/card/credential-card';\nimport { CredentialErrorIcon, CredentialNoticeWarningIcon, CredentialWarningIcon } from '../../ui-components/icons';\nimport { formatDateLocalized, formatDateTimeLocalized } from '../date';\nimport { concatTestID } from '../testID';\nimport { getCarouselImagesFromClaims } from './credential-images';\n\nexport enum ValidityState {\n Revoked = 'revoked',\n Suspended = 'suspended',\n Valid = 'valid',\n}\n\nexport const getValidityState = (credential: CredentialListItemBindingDto | undefined) => {\n if (credential?.state === CredentialStateBindingEnum.REVOKED) {\n return ValidityState.Revoked;\n }\n if (credential?.state === CredentialStateBindingEnum.SUSPENDED) {\n return ValidityState.Suspended;\n }\n return ValidityState.Valid;\n};\n\nexport const supportsSelectiveDisclosure = (\n credential: CredentialListItemBindingDto | undefined,\n config: Config | undefined,\n) => {\n const formatConfig = credential && config?.format[credential.schema.format];\n return formatConfig\n ? Boolean(formatConfig.capabilities?.features?.includes(FormatFeatureEnum.SelectiveDisclosure))\n : undefined;\n};\n\nexport const findClaimByPath = (path: string | undefined, claims: ClaimBindingDto[]): ClaimBindingDto | undefined => {\n if (!path) {\n return undefined;\n }\n\n const exactClaim = claims.find((claim) => claim.path === path);\n if (exactClaim) {\n return exactClaim;\n }\n\n const parentClaim = claims.find((claim) => path.startsWith(`${claim.path}/`));\n if (parentClaim && parentClaim.value.type_ === 'NESTED') {\n return findClaimByPath(path, parentClaim.value.value);\n }\n\n return undefined;\n};\n\nconst formatCredentialDetail = (claim: ClaimBindingDto, config: Config, testID: string): string => {\n const attributeValue = detailsCardAttributeValueFromClaim(claim, config, testID);\n return attributeValue.value ?? '';\n};\n\nexport const hasMsoValidityIssues = (credential: CredentialDetailBindingDto): boolean => {\n const mdocMsoValidityIssue = Boolean(\n credential.mdocMsoValidity?.nextUpdate && new Date(credential.mdocMsoValidity.nextUpdate) < new Date(),\n );\n\n return mdocMsoValidityIssue;\n};\n\nexport type CardHeaderLabels = {\n validityIssues: string;\n revoked: string;\n suspended: string;\n suspendedUntil: (date: string) => string;\n};\n\nconst credentialDetailFromCredential = (\n credential: CredentialDetailBindingDto,\n claims: ClaimBindingDto[] = [],\n config: Config,\n testID: string,\n labels: CardHeaderLabels,\n): {\n credentialDetailPrimary?: string;\n credentialDetailSecondary?: string;\n credentialDetailErrorColor?: boolean;\n credentialDetailTestID?: string;\n statusIcon?: FC<SvgProps>;\n} => {\n const { layoutProperties } = credential.schema;\n\n switch (credential.state) {\n case CredentialStateBindingEnum.SUSPENDED:\n return {\n credentialDetailPrimary: credential.suspendEndDate\n ? labels.suspendedUntil(formatDateTimeLocalized(new Date(credential.suspendEndDate))!)\n : labels.suspended,\n credentialDetailTestID: concatTestID(testID, 'suspended'),\n statusIcon: CredentialWarningIcon,\n };\n case CredentialStateBindingEnum.REVOKED:\n return {\n credentialDetailPrimary: labels.revoked,\n credentialDetailErrorColor: true,\n credentialDetailTestID: concatTestID(testID, 'revoked'),\n statusIcon: CredentialErrorIcon,\n };\n }\n\n if (hasMsoValidityIssues(credential)) {\n return {\n credentialDetailPrimary: labels.validityIssues,\n credentialDetailTestID: concatTestID(testID, 'validity-issue'),\n statusIcon: CredentialWarningIcon,\n };\n }\n\n let credentialDetailPrimary =\n formatDateTimeLocalized(new Date(credential.issuanceDate ?? credential.createdDate)) ?? '';\n let credentialDetailSecondary: string | undefined;\n\n const primary = findClaimByPath(layoutProperties?.primaryAttribute, claims);\n\n if (primary) {\n credentialDetailPrimary = formatCredentialDetail(primary, config, concatTestID(testID, 'primary'));\n }\n\n const secondary = findClaimByPath(layoutProperties?.secondaryAttribute, claims);\n\n if (secondary) {\n credentialDetailSecondary = formatCredentialDetail(secondary, config, concatTestID(testID, 'secondary'));\n }\n\n return {\n credentialDetailPrimary,\n credentialDetailSecondary,\n credentialDetailTestID: concatTestID(testID, 'detail'),\n };\n};\n\nexport const cardHeaderFromCredential = (\n credential: CredentialDetailBindingDto,\n claims: ClaimBindingDto[] = [],\n config: Config,\n testID: string,\n labels: CardHeaderLabels,\n): Omit<CredentialHeaderProps, 'style'> => {\n const {\n credentialDetailPrimary,\n credentialDetailSecondary,\n credentialDetailErrorColor,\n credentialDetailTestID,\n statusIcon,\n } = credentialDetailFromCredential(credential, claims, config, testID, labels);\n const { layoutProperties } = credential.schema;\n\n return {\n color: layoutProperties?.logo?.backgroundColor,\n credentialDetailErrorColor,\n credentialDetailPrimary,\n credentialDetailSecondary,\n credentialDetailTestID,\n credentialName: credential.schema.name,\n icon: layoutProperties?.logo?.image\n ? {\n imageSource: {\n uri: layoutProperties.logo.image,\n },\n }\n : undefined,\n iconLabelColor: layoutProperties?.logo?.fontColor,\n statusIcon,\n testID,\n };\n};\n\nexport type CardLabels = CardHeaderLabels & {\n validityIssuesNotice: string;\n};\n\nexport const getCredentialCardPropsFromCredential = (\n credential: CredentialDetailBindingDto,\n claims: ClaimBindingDto[] = [],\n config: Config,\n notice: CredentialCardNotice | undefined,\n testID: string,\n labels: CardLabels,\n): Omit<CredentialCardProps, 'onHeaderPress' | 'style' | 'width'> => {\n const { layoutProperties } = credential.schema;\n\n if (hasMsoValidityIssues(credential)) {\n notice = {\n text: labels.validityIssuesNotice,\n noticeIcon: CredentialNoticeWarningIcon,\n };\n }\n\n const result: Omit<CredentialCardProps, 'onHeaderPress' | 'style' | 'width'> = {\n cardCarouselImages: getCarouselImagesFromClaims(claims, layoutProperties, concatTestID(testID, 'carousel')),\n cardImage: layoutProperties?.background?.image\n ? { imageSource: { uri: layoutProperties.background.image } }\n : undefined,\n color: layoutProperties?.background?.color,\n header: cardHeaderFromCredential(credential, claims, config, concatTestID(testID, 'header'), labels),\n testID,\n notice,\n };\n\n return result;\n};\n\nexport const detailsCardAttributeFromClaim = (\n claim: ClaimBindingDto,\n config: Config,\n testID: string,\n): CredentialAttribute => {\n const value = detailsCardAttributeValueFromClaim(claim, config, testID);\n return {\n id: claim.path,\n name: claim.path.split('/').pop(),\n path: claim.path,\n ...value,\n };\n};\n\nconst detailsCardAttributeValueFromClaim = (\n claim: ClaimBindingDto,\n config: Config,\n testID: string,\n): CredentialAttributeValue => {\n const typeConfig = config?.datatype[claim.schema.datatype];\n\n if (claim.schema.array) {\n return {\n values: ((claim.value.value as ClaimBindingDto[]) || []).map((arrayValue, index) => {\n return detailsCardAttributeFromClaim(arrayValue, config, concatTestID(testID, index.toString()));\n }),\n };\n } else {\n switch (typeConfig?.type) {\n case DataTypeEnum.Object: {\n if (claim.value.type_ !== 'NESTED') {\n return { attributes: [] };\n }\n return {\n attributes: claim.value.value.map((nestedClaim, index) =>\n detailsCardAttributeFromClaim(nestedClaim, config, concatTestID(testID, index.toString())),\n ),\n };\n }\n case DataTypeEnum.Date: {\n if (!claim.value.value) {\n // Don't try to parse empty values (which will return \"Invalid Date\")\n return { testID: testID, value: String(claim.value.value) };\n }\n const date = claim.value.value as string;\n return {\n testID: testID,\n value: formatDateLocalized(new Date(date)) ?? date,\n };\n }\n case DataTypeEnum.Picture: // fallback\n case DataTypeEnum.SwiyuPicture: {\n if (typeConfig.params?.showAs === 'IMAGE') {\n return { image: { uri: claim.value.value as string }, testID: testID };\n } else {\n return { testID: testID, value: claim.value.value as string };\n }\n }\n default:\n return { testID: testID, value: String(claim.value.value) };\n }\n }\n};\n\nexport type CredentialDetailsCardPropsWithoutWidth = Omit<CredentialDetailsCardProps, 'expanded' | 'card'> & {\n card: Omit<CredentialCardProps, 'width'>;\n};\n\nexport const detailsCardFromCredential = (\n credential: CredentialDetailBindingDto,\n config: Config,\n testID: string,\n labels: CardLabels,\n): CredentialDetailsCardPropsWithoutWidth => {\n return detailsCardFromCredentialWithClaims(credential, credential.claims, config, testID, labels);\n};\n\nexport const detailsCardFromCredentialWithClaims = (\n credential: CredentialDetailBindingDto,\n claims: ClaimBindingDto[],\n config: Config,\n testID: string,\n labels: CardLabels,\n): CredentialDetailsCardPropsWithoutWidth => {\n const attributes: CredentialAttribute[] = claims.map((claim, index) =>\n detailsCardAttributeFromClaim(claim, config, concatTestID(testID, 'attribute', index.toString())),\n );\n\n const card = getCredentialCardPropsFromCredential(\n credential,\n claims,\n config,\n undefined,\n concatTestID(testID, 'card'),\n labels,\n );\n\n return {\n attributes,\n card,\n };\n};\n\n// Converts a flat list of attributes into a nested structure\n// modifies the names to not include slashes\nexport const nestAttributes = (attributes: CredentialAttribute[]): CredentialAttribute[] => {\n const result: CredentialAttribute[] = [];\n\n for (const attribute of attributes) {\n const attributePath = attribute.path.split('/');\n if (attributePath.length === 0) {\n result.push(attribute);\n } else {\n const [first, ...rest] = attributePath;\n const parent = result.find((a) => a.name === first);\n if (parent) {\n insertAttributeInParent({ ...attribute, path: rest.join('/') }, parent);\n } else {\n result.push(nestAttributeInDummyParent(attribute));\n }\n }\n }\n\n return result;\n};\n\n// We nest the leaf node in a (one or more) nested object(s)\n// to make sure the tree structure is correctly rendered in proof request screens.\nconst nestAttributeInDummyParent = (attribute: CredentialAttribute): CredentialAttribute => {\n const pathParts = attribute.path.split('/');\n const [first, ...rest] = pathParts;\n if (!rest.length) {\n return attribute;\n }\n\n // The dummy object is not selectable, and contains a placeholder ID\n // the user can't interact with it.\n if (attribute.listValue) {\n return {\n values: [nestAttributeInDummyParent({ ...attribute, path: rest.join('/') })],\n disabled: true,\n id: `${attribute.id}/${first}`,\n name: first,\n path: first,\n };\n } else {\n return {\n attributes: [nestAttributeInDummyParent({ ...attribute, path: rest.join('/') })],\n disabled: true,\n id: `${attribute.id}/${first}`,\n name: first,\n path: first,\n };\n }\n};\n\n// Recursively insert an attribute into an parent\n// Will create nested parents if necessary\nconst insertAttributeInParent = (attribute: CredentialAttribute, parent: CredentialAttribute) => {\n const pathParts = attribute.path.split('/');\n const [first, ...rest] = pathParts;\n\n const nextParent = parent.attributes?.find((a) => a.name === first);\n\n if (!nextParent) {\n if (attribute.listValue) {\n parent.values?.push(nestAttributeInDummyParent(attribute));\n } else {\n parent.attributes?.push(nestAttributeInDummyParent(attribute));\n }\n } else {\n insertAttributeInParent({ ...attribute, path: rest.join('/') }, nextParent);\n }\n};\n\nfunction parseBase64Image(image: string | undefined) {\n return image ? '__BASE64IMAGE__' : '';\n}\n\nexport function getCredentialSchemaWithoutImages(credentialSchema: CredentialSchemaDetailBindingDto) {\n return {\n ...credentialSchema,\n layoutProperties: {\n ...credentialSchema.layoutProperties,\n background: {\n ...credentialSchema.layoutProperties?.background,\n image: parseBase64Image(credentialSchema.layoutProperties?.background?.image),\n },\n logo: {\n ...credentialSchema.layoutProperties?.logo,\n image: parseBase64Image(credentialSchema.layoutProperties?.logo?.image),\n },\n },\n };\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["getQueryKey","queryParams","params","map","param","getQueryKeyFromCredentialListQueryParams","exports","getQueryKeyFromHistoryListQueryParams","getQueryKeyFromCredentialSchemaListQueryParams","getQueryKeyFromProofSchemaListQueryParams","getQueryKeyFromProofListQueryParams","getQueryKeyFromDidListQueryParams","getQueryKeyFromIdentifierListQueryParams"],"sources":["query.ts"],"sourcesContent":["import {\n
|
|
1
|
+
{"version":3,"names":["getQueryKey","queryParams","params","map","param","getQueryKeyFromCredentialListQueryParams","exports","getQueryKeyFromHistoryListQueryParams","getQueryKeyFromCredentialSchemaListQueryParams","getQueryKeyFromProofSchemaListQueryParams","getQueryKeyFromProofListQueryParams","getQueryKeyFromDidListQueryParams","getQueryKeyFromIdentifierListQueryParams"],"sources":["query.ts"],"sourcesContent":["import {\n CredentialListQueryBindingDto,\n CredentialSchemaListQueryBindingDto,\n DidListQueryBindingDto,\n HistoryListQueryBindingDto,\n IdentifierListQueryBindingDto,\n ListProofSchemasFiltersBindingDto,\n ProofListQueryBindingDto,\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<CredentialListQueryBindingDto> = {}) => {\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 ]);\n};\n\nexport const getQueryKeyFromHistoryListQueryParams = (queryParams: Partial<HistoryListQueryBindingDto> = {}) => {\n return getQueryKey(queryParams, [\n 'page',\n 'pageSize',\n 'organisationId',\n 'entityIds',\n 'actions',\n 'entityTypes',\n 'createdDateAfter',\n 'createdDateBefore',\n 'identifierId',\n 'credentialId',\n 'credentialSchemaId',\n 'proofSchemaId',\n 'search',\n 'users',\n ]);\n};\n\nexport const getQueryKeyFromCredentialSchemaListQueryParams = (\n queryParams: Partial<CredentialSchemaListQueryBindingDto> = {},\n) => {\n return getQueryKey(queryParams, [\n 'page',\n 'pageSize',\n 'organisationId',\n 'name',\n 'sort',\n 'sortDirection',\n 'exact',\n 'ids',\n 'include',\n 'schemaId',\n 'formats',\n 'createdDateAfter',\n 'createdDateBefore',\n 'lastModifiedAfter',\n 'lastModifiedBefore',\n ]);\n};\n\nexport const getQueryKeyFromProofSchemaListQueryParams = (\n queryParams: Partial<ListProofSchemasFiltersBindingDto> = {},\n) => {\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<ProofListQueryBindingDto> = {}) => {\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<DidListQueryBindingDto> = {}) => {\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<IdentifierListQueryBindingDto> = {}) => {\n return getQueryKey(queryParams, [\n 'page',\n 'pageSize',\n 'organisationId',\n 'sort',\n 'sortDirection',\n 'name',\n 'types',\n 'states',\n 'exact',\n 'didMethods',\n 'isRemote',\n 'keyAlgorithms',\n 'keyRoles',\n 'keyStorages',\n 'createdDateAfter',\n 'createdDateBefore',\n 'lastModifiedAfter',\n 'lastModifiedBefore',\n ]);\n};\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNative","require","_reactNativeShare","_interopRequireDefault","e","__esModule","default","isUrlValid","urlString","url","URL","exports","isValidHttpUrl","protocol","shareUrl","title","Platform","OS","Share","open","activityItemSources","placeholderItem","type","content","item","subject","undefined","linkMetadata","originalUrl","failOnCancel"],"sources":["url.ts"],"sourcesContent":["import { Platform } from 'react-native';\nimport Share from 'react-native-share';\n\n/**\n * Check URL validity\n * @param {string} urlString URL to validate.\n * @returns {boolean}\n */\nexport const isUrlValid = (urlString: string): boolean => {\n try {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const url = new URL(urlString);\n return true;\n } catch {\n return false;\n }\n};\n\n/**\n * Check URL http(s) validity\n * @param {string} urlString URL to validate.\n * @returns {boolean}\n */\nexport const isValidHttpUrl = (urlString: string): boolean => {\n try {\n const url = new URL(urlString);\n return url?.protocol === 'http:' || url?.protocol === 'https:';\n } catch {\n return false;\n }\n};\n\n/**\n * Share URL via share sheet\n * @param {string} url URL to share.\n * @param {string} title _(optional)_ title for iOS share sheet.\n * @returns {boolean}\n */\nexport const shareUrl = async (url: string, title?: string) => {\n if (Platform.OS === 'ios') {\n await Share.open({\n activityItemSources: [\n {\n placeholderItem: { type: 'url', content: url },\n item: {\n default: { type: 'url', content: url },\n },\n subject: title\n ? {\n default: title,\n }\n : undefined,\n linkMetadata: { originalUrl: url, url, title },\n },\n ],\n failOnCancel: false,\n });\n } else {\n await Share.open({ url, failOnCancel: false });\n }\n}
|
|
1
|
+
{"version":3,"names":["_reactNative","require","_reactNativeShare","_interopRequireDefault","e","__esModule","default","isUrlValid","urlString","url","URL","exports","isValidHttpUrl","protocol","shareUrl","title","Platform","OS","Share","open","activityItemSources","placeholderItem","type","content","item","subject","undefined","linkMetadata","originalUrl","failOnCancel"],"sources":["url.ts"],"sourcesContent":["import { Platform } from 'react-native';\nimport Share from 'react-native-share';\n\n/**\n * Check URL validity\n * @param {string} urlString URL to validate.\n * @returns {boolean}\n */\nexport const isUrlValid = (urlString: string): boolean => {\n try {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const url = new URL(urlString);\n return true;\n } catch {\n return false;\n }\n};\n\n/**\n * Check URL http(s) validity\n * @param {string} urlString URL to validate.\n * @returns {boolean}\n */\nexport const isValidHttpUrl = (urlString: string): boolean => {\n try {\n const url = new URL(urlString);\n return url?.protocol === 'http:' || url?.protocol === 'https:';\n } catch {\n return false;\n }\n};\n\n/**\n * Share URL via share sheet\n * @param {string} url URL to share.\n * @param {string} title _(optional)_ title for iOS share sheet.\n * @returns {boolean}\n */\nexport const shareUrl = async (url: string, title?: string) => {\n if (Platform.OS === 'ios') {\n await Share.open({\n activityItemSources: [\n {\n placeholderItem: { type: 'url', content: url },\n item: {\n default: { type: 'url', content: url },\n },\n subject: title\n ? {\n default: title,\n }\n : undefined,\n linkMetadata: { originalUrl: url, url, title },\n },\n ],\n failOnCancel: false,\n });\n } else {\n await Share.open({ url, failOnCancel: false });\n }\n};\n"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,iBAAA,GAAAC,sBAAA,CAAAF,OAAA;AAAuC,SAAAE,uBAAAC,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAEvC;AACA;AACA;AACA;AACA;AACO,MAAMG,UAAU,GAAIC,SAAiB,IAAc;EACxD,IAAI;IACF;IACA,MAAMC,GAAG,GAAG,IAAIC,GAAG,CAACF,SAAS,CAAC;IAC9B,OAAO,IAAI;EACb,CAAC,CAAC,MAAM;IACN,OAAO,KAAK;EACd;AACF,CAAC;;AAED;AACA;AACA;AACA;AACA;AAJAG,OAAA,CAAAJ,UAAA,GAAAA,UAAA;AAKO,MAAMK,cAAc,GAAIJ,SAAiB,IAAc;EAC5D,IAAI;IACF,MAAMC,GAAG,GAAG,IAAIC,GAAG,CAACF,SAAS,CAAC;IAC9B,OAAO,CAAAC,GAAG,aAAHA,GAAG,uBAAHA,GAAG,CAAEI,QAAQ,MAAK,OAAO,IAAI,CAAAJ,GAAG,aAAHA,GAAG,uBAAHA,GAAG,CAAEI,QAAQ,MAAK,QAAQ;EAChE,CAAC,CAAC,MAAM;IACN,OAAO,KAAK;EACd;AACF,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AALAF,OAAA,CAAAC,cAAA,GAAAA,cAAA;AAMO,MAAME,QAAQ,GAAG,MAAAA,CAAOL,GAAW,EAAEM,KAAc,KAAK;EAC7D,IAAIC,qBAAQ,CAACC,EAAE,KAAK,KAAK,EAAE;IACzB,MAAMC,yBAAK,CAACC,IAAI,CAAC;MACfC,mBAAmB,EAAE,CACnB;QACEC,eAAe,EAAE;UAAEC,IAAI,EAAE,KAAK;UAAEC,OAAO,EAAEd;QAAI,CAAC;QAC9Ce,IAAI,EAAE;UACJlB,OAAO,EAAE;YAAEgB,IAAI,EAAE,KAAK;YAAEC,OAAO,EAAEd;UAAI;QACvC,CAAC;QACDgB,OAAO,EAAEV,KAAK,GACV;UACET,OAAO,EAAES;QACX,CAAC,GACDW,SAAS;QACbC,YAAY,EAAE;UAAEC,WAAW,EAAEnB,GAAG;UAAEA,GAAG;UAAEM;QAAM;MAC/C,CAAC,CACF;MACDc,YAAY,EAAE;IAChB,CAAC,CAAC;EACJ,CAAC,MAAM;IACL,MAAMX,yBAAK,CAACC,IAAI,CAAC;MAAEV,GAAG;MAAEoB,YAAY,EAAE;IAAM,CAAC,CAAC;EAChD;AACF,CAAC;AAAClB,OAAA,CAAAG,QAAA,GAAAA,QAAA","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","View","useCredentialListExpandedCard","CredentialDetails","PreviewCredentials","credentials","labels","onImagePreview","expandedCredential","onHeaderPress","length","createElement","map","credential","index","key","id","credentialId","expanded","lastItem"],"sources":["preview-credentials.tsx"],"sourcesContent":["import {
|
|
1
|
+
{"version":3,"names":["React","View","useCredentialListExpandedCard","CredentialDetails","PreviewCredentials","credentials","labels","onImagePreview","expandedCredential","onHeaderPress","length","createElement","map","credential","index","key","id","credentialId","expanded","lastItem"],"sources":["preview-credentials.tsx"],"sourcesContent":["import { CredentialListItemBindingDto } from '@procivis/react-native-one-core';\nimport React, { FC } from 'react';\nimport { ImageSourcePropType, View } from 'react-native';\n\nimport { useCredentialListExpandedCard } from '../../utils/hooks/credential-card/credential-card-expanding';\nimport { CardLabels } from '../../utils/parsers/credential';\nimport { CredentialDetails } from '../credential/credential';\n\ninterface PreviewCredentialsProps {\n credentials: CredentialListItemBindingDto[] | undefined;\n labels: CardLabels;\n onImagePreview: (title: string, image: ImageSourcePropType) => void;\n}\n\nexport const PreviewCredentials: FC<PreviewCredentialsProps> = ({ credentials, labels, onImagePreview }) => {\n const { expandedCredential, onHeaderPress } = useCredentialListExpandedCard();\n\n if (!credentials || credentials.length === 0) {\n return null;\n }\n\n return (\n <View>\n {credentials.map((credential, index, { length }) => (\n <View key={credential.id}>\n <CredentialDetails\n credentialId={credential.id}\n expanded={expandedCredential === credential.id}\n labels={labels}\n lastItem={index === length - 1}\n onHeaderPress={onHeaderPress}\n onImagePreview={onImagePreview}\n />\n </View>\n ))}\n </View>\n );\n};\n"],"mappings":"AACA,OAAOA,KAAK,MAAc,OAAO;AACjC,SAA8BC,IAAI,QAAQ,cAAc;AAExD,SAASC,6BAA6B,QAAQ,6DAA6D;AAE3G,SAASC,iBAAiB,QAAQ,0BAA0B;AAQ5D,OAAO,MAAMC,kBAA+C,GAAGA,CAAC;EAAEC,WAAW;EAAEC,MAAM;EAAEC;AAAe,CAAC,KAAK;EAC1G,MAAM;IAAEC,kBAAkB;IAAEC;EAAc,CAAC,GAAGP,6BAA6B,CAAC,CAAC;EAE7E,IAAI,CAACG,WAAW,IAAIA,WAAW,CAACK,MAAM,KAAK,CAAC,EAAE;IAC5C,OAAO,IAAI;EACb;EAEA,oBACEV,KAAA,CAAAW,aAAA,CAACV,IAAI,QACFI,WAAW,CAACO,GAAG,CAAC,CAACC,UAAU,EAAEC,KAAK,EAAE;IAAEJ;EAAO,CAAC,kBAC7CV,KAAA,CAAAW,aAAA,CAACV,IAAI;IAACc,GAAG,EAAEF,UAAU,CAACG;EAAG,gBACvBhB,KAAA,CAAAW,aAAA,CAACR,iBAAiB;IAChBc,YAAY,EAAEJ,UAAU,CAACG,EAAG;IAC5BE,QAAQ,EAAEV,kBAAkB,KAAKK,UAAU,CAACG,EAAG;IAC/CV,MAAM,EAAEA,MAAO;IACfa,QAAQ,EAAEL,KAAK,KAAKJ,MAAM,GAAG,CAAE;IAC/BD,aAAa,EAAEA,aAAc;IAC7BF,cAAc,EAAEA;EAAe,CAChC,CACG,CACP,CACG,CAAC;AAEX,CAAC","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useMemo","Dimensions","StyleSheet","CredentialDetailsCardListItem","concatTestID","useCoreConfig","useCredentialDetail","detailsCardFromCredentialWithClaims","CredentialDetails","claims","credentialId","expanded","labels","lastItem","onHeaderPress","onImagePreview","headerAccessory","data","credential","config","cardWidth","get","width","testID","id","card","attributes","header","accessory","createElement","style","styles","create","marginBottom"],"sources":["credential.tsx"],"sourcesContent":["import {
|
|
1
|
+
{"version":3,"names":["React","useMemo","Dimensions","StyleSheet","CredentialDetailsCardListItem","concatTestID","useCoreConfig","useCredentialDetail","detailsCardFromCredentialWithClaims","CredentialDetails","claims","credentialId","expanded","labels","lastItem","onHeaderPress","onImagePreview","headerAccessory","data","credential","config","cardWidth","get","width","testID","id","card","attributes","header","accessory","createElement","style","styles","create","marginBottom"],"sources":["credential.tsx"],"sourcesContent":["import { ClaimBindingDto } from '@procivis/react-native-one-core';\nimport React, { FC, useMemo } from 'react';\nimport { Dimensions, ImageSourcePropType, StyleSheet } from 'react-native';\n\nimport { CredentialDetailsCardListItem, CredentialHeaderProps } from '../../ui-components/credential/card';\nimport { concatTestID } from '../../utils';\nimport { useCoreConfig } from '../../utils/hooks/core/core-config';\nimport { useCredentialDetail } from '../../utils/hooks/core/credentials';\nimport { CardLabels, detailsCardFromCredentialWithClaims } from '../../utils/parsers/credential';\n\nexport interface CredentialDetailsProps {\n claims?: ClaimBindingDto[];\n credentialId: string;\n expanded?: boolean;\n headerAccessory?: CredentialHeaderProps['accessory'];\n labels: CardLabels;\n lastItem?: boolean;\n onHeaderPress?: (credentialId?: string) => void;\n onImagePreview: (title: string, image: ImageSourcePropType) => void;\n}\n\nexport const CredentialDetails: FC<CredentialDetailsProps> = ({\n claims,\n credentialId,\n expanded = false,\n labels,\n lastItem,\n onHeaderPress,\n onImagePreview,\n headerAccessory,\n}) => {\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 const testID = concatTestID('Credential.credential', credential.id);\n\n const { card, attributes } = detailsCardFromCredentialWithClaims(\n credential,\n claims ?? credential.claims,\n config,\n testID,\n labels,\n );\n if (headerAccessory) {\n card.header.accessory = headerAccessory;\n }\n\n return (\n <CredentialDetailsCardListItem\n attributes={attributes}\n card={{\n ...card,\n credentialId,\n onHeaderPress,\n width: cardWidth,\n }}\n expanded={expanded}\n lastItem={lastItem}\n onImagePreview={onImagePreview}\n style={styles.credential}\n testID={testID}\n />\n );\n};\n\nconst styles = StyleSheet.create({\n credential: {\n marginBottom: 8,\n },\n});\n"],"mappings":"AACA,OAAOA,KAAK,IAAQC,OAAO,QAAQ,OAAO;AAC1C,SAASC,UAAU,EAAuBC,UAAU,QAAQ,cAAc;AAE1E,SAASC,6BAA6B,QAA+B,qCAAqC;AAC1G,SAASC,YAAY,QAAQ,aAAa;AAC1C,SAASC,aAAa,QAAQ,oCAAoC;AAClE,SAASC,mBAAmB,QAAQ,oCAAoC;AACxE,SAAqBC,mCAAmC,QAAQ,gCAAgC;AAahG,OAAO,MAAMC,iBAA6C,GAAGA,CAAC;EAC5DC,MAAM;EACNC,YAAY;EACZC,QAAQ,GAAG,KAAK;EAChBC,MAAM;EACNC,QAAQ;EACRC,aAAa;EACbC,cAAc;EACdC;AACF,CAAC,KAAK;EACJ,MAAM;IAAEC,IAAI,EAAEC;EAAW,CAAC,GAAGZ,mBAAmB,CAACI,YAAY,CAAC;EAC9D,MAAM;IAAEO,IAAI,EAAEE;EAAO,CAAC,GAAGd,aAAa,CAAC,CAAC;EACxC,MAAMe,SAAS,GAAGpB,OAAO,CAAC,MAAMC,UAAU,CAACoB,GAAG,CAAC,QAAQ,CAAC,CAACC,KAAK,GAAG,EAAE,EAAE,EAAE,CAAC;EAExE,IAAI,CAACJ,UAAU,IAAI,CAACC,MAAM,EAAE;IAC1B,OAAO,IAAI;EACb;EACA,MAAMI,MAAM,GAAGnB,YAAY,CAAC,uBAAuB,EAAEc,UAAU,CAACM,EAAE,CAAC;EAEnE,MAAM;IAAEC,IAAI;IAAEC;EAAW,CAAC,GAAGnB,mCAAmC,CAC9DW,UAAU,EACVT,MAAM,aAANA,MAAM,cAANA,MAAM,GAAIS,UAAU,CAACT,MAAM,EAC3BU,MAAM,EACNI,MAAM,EACNX,MACF,CAAC;EACD,IAAII,eAAe,EAAE;IACnBS,IAAI,CAACE,MAAM,CAACC,SAAS,GAAGZ,eAAe;EACzC;EAEA,oBACEjB,KAAA,CAAA8B,aAAA,CAAC1B,6BAA6B;IAC5BuB,UAAU,EAAEA,UAAW;IACvBD,IAAI,EAAE;MACJ,GAAGA,IAAI;MACPf,YAAY;MACZI,aAAa;MACbQ,KAAK,EAAEF;IACT,CAAE;IACFT,QAAQ,EAAEA,QAAS;IACnBE,QAAQ,EAAEA,QAAS;IACnBE,cAAc,EAAEA,cAAe;IAC/Be,KAAK,EAAEC,MAAM,CAACb,UAAW;IACzBK,MAAM,EAAEA;EAAO,CAChB,CAAC;AAEN,CAAC;AAED,MAAMQ,MAAM,GAAG7B,UAAU,CAAC8B,MAAM,CAAC;EAC/Bd,UAAU,EAAE;IACVe,YAAY,EAAE;EAChB;AACF,CAAC,CAAC","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","memo","useCallback","useMemo","Linking","StyleSheet","View","Button","ButtonType","concatTestID","reportException","EntityButtons","entity","labels","testID","buttons","label","visitWebsite","url","website","termsAndServices","termsUrl","privacyPolicy","privacyUrl","filter","btn","Boolean","openURL","catch","e","createElement","style","styles","map","testIdSuffix","key","title","onPress","urlButton","type","SmallTech","create","paddingBottom","paddingHorizontal","borderRadius","borderWidth","marginTop"],"sources":["EntityButtons.tsx"],"sourcesContent":["import {
|
|
1
|
+
{"version":3,"names":["React","memo","useCallback","useMemo","Linking","StyleSheet","View","Button","ButtonType","concatTestID","reportException","EntityButtons","entity","labels","testID","buttons","label","visitWebsite","url","website","termsAndServices","termsUrl","privacyPolicy","privacyUrl","filter","btn","Boolean","openURL","catch","e","createElement","style","styles","map","testIdSuffix","key","title","onPress","urlButton","type","SmallTech","create","paddingBottom","paddingHorizontal","borderRadius","borderWidth","marginTop"],"sources":["EntityButtons.tsx"],"sourcesContent":["import { GetTrustEntityResponseBindingDto } from '@procivis/react-native-one-core';\nimport React, { FC, memo, useCallback, useMemo } from 'react';\nimport { Linking, StyleSheet, View } from 'react-native';\n\nimport { Button, ButtonType } from '../../ui-components/buttons';\nimport { EntityLabels } from '../../ui-components/screens/nerd-mode-screen';\nimport { concatTestID, reportException } from '../../utils';\n\nexport interface EntityButton {\n url: string;\n label: string;\n}\n\ninterface EntityButtonsProps {\n entity?: GetTrustEntityResponseBindingDto;\n labels: EntityLabels;\n testID?: string;\n}\n\nconst EntityButtons: FC<EntityButtonsProps> = ({ entity, labels, testID }) => {\n const buttons = useMemo(\n () =>\n [\n {\n label: labels.visitWebsite,\n url: entity?.website || '',\n testID: 'website',\n },\n {\n label: labels.termsAndServices,\n url: entity?.termsUrl || '',\n testID: 'termsOfService',\n },\n {\n label: labels.privacyPolicy,\n url: entity?.privacyUrl || '',\n testID: 'privacyPolicy',\n },\n ].filter((btn) => Boolean(btn.url)),\n [entity, labels],\n );\n\n const openURL = useCallback(\n (url: string) => () => {\n Linking.openURL(url).catch((e) => {\n reportException(e, 'Error opening entity link');\n });\n },\n [],\n );\n return (\n <View style={[styles.buttons]} testID={testID}>\n {buttons.map(({ label, url, testID: testIdSuffix }) => (\n <Button\n key={label}\n title={label}\n onPress={openURL(url)}\n style={styles.urlButton}\n testID={concatTestID(testID, testIdSuffix)}\n type={ButtonType.SmallTech}\n />\n ))}\n </View>\n );\n};\n\nconst styles = StyleSheet.create({\n buttons: {\n paddingBottom: 10,\n paddingHorizontal: 12,\n },\n urlButton: {\n borderRadius: 4,\n borderWidth: 0,\n marginTop: 4,\n },\n});\n\nexport default memo(EntityButtons);\n"],"mappings":"AACA,OAAOA,KAAK,IAAQC,IAAI,EAAEC,WAAW,EAAEC,OAAO,QAAQ,OAAO;AAC7D,SAASC,OAAO,EAAEC,UAAU,EAAEC,IAAI,QAAQ,cAAc;AAExD,SAASC,MAAM,EAAEC,UAAU,QAAQ,6BAA6B;AAEhE,SAASC,YAAY,EAAEC,eAAe,QAAQ,aAAa;AAa3D,MAAMC,aAAqC,GAAGA,CAAC;EAAEC,MAAM;EAAEC,MAAM;EAAEC;AAAO,CAAC,KAAK;EAC5E,MAAMC,OAAO,GAAGZ,OAAO,CACrB,MACE,CACE;IACEa,KAAK,EAAEH,MAAM,CAACI,YAAY;IAC1BC,GAAG,EAAE,CAAAN,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEO,OAAO,KAAI,EAAE;IAC1BL,MAAM,EAAE;EACV,CAAC,EACD;IACEE,KAAK,EAAEH,MAAM,CAACO,gBAAgB;IAC9BF,GAAG,EAAE,CAAAN,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAES,QAAQ,KAAI,EAAE;IAC3BP,MAAM,EAAE;EACV,CAAC,EACD;IACEE,KAAK,EAAEH,MAAM,CAACS,aAAa;IAC3BJ,GAAG,EAAE,CAAAN,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEW,UAAU,KAAI,EAAE;IAC7BT,MAAM,EAAE;EACV,CAAC,CACF,CAACU,MAAM,CAAEC,GAAG,IAAKC,OAAO,CAACD,GAAG,CAACP,GAAG,CAAC,CAAC,EACrC,CAACN,MAAM,EAAEC,MAAM,CACjB,CAAC;EAED,MAAMc,OAAO,GAAGzB,WAAW,CACxBgB,GAAW,IAAK,MAAM;IACrBd,OAAO,CAACuB,OAAO,CAACT,GAAG,CAAC,CAACU,KAAK,CAAEC,CAAC,IAAK;MAChCnB,eAAe,CAACmB,CAAC,EAAE,2BAA2B,CAAC;IACjD,CAAC,CAAC;EACJ,CAAC,EACD,EACF,CAAC;EACD,oBACE7B,KAAA,CAAA8B,aAAA,CAACxB,IAAI;IAACyB,KAAK,EAAE,CAACC,MAAM,CAACjB,OAAO,CAAE;IAACD,MAAM,EAAEA;EAAO,GAC3CC,OAAO,CAACkB,GAAG,CAAC,CAAC;IAAEjB,KAAK;IAAEE,GAAG;IAAEJ,MAAM,EAAEoB;EAAa,CAAC,kBAChDlC,KAAA,CAAA8B,aAAA,CAACvB,MAAM;IACL4B,GAAG,EAAEnB,KAAM;IACXoB,KAAK,EAAEpB,KAAM;IACbqB,OAAO,EAAEV,OAAO,CAACT,GAAG,CAAE;IACtBa,KAAK,EAAEC,MAAM,CAACM,SAAU;IACxBxB,MAAM,EAAEL,YAAY,CAACK,MAAM,EAAEoB,YAAY,CAAE;IAC3CK,IAAI,EAAE/B,UAAU,CAACgC;EAAU,CAC5B,CACF,CACG,CAAC;AAEX,CAAC;AAED,MAAMR,MAAM,GAAG3B,UAAU,CAACoC,MAAM,CAAC;EAC/B1B,OAAO,EAAE;IACP2B,aAAa,EAAE,EAAE;IACjBC,iBAAiB,EAAE;EACrB,CAAC;EACDL,SAAS,EAAE;IACTM,YAAY,EAAE,CAAC;IACfC,WAAW,EAAE,CAAC;IACdC,SAAS,EAAE;EACb;AACF,CAAC,CAAC;AAEF,4BAAe7C,IAAI,CAACU,aAAa,CAAC","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","memo","StyleSheet","View","NerdModeItem","EntityType","addElementIf","EntityAttributes","certificate","did","trustEntity","trusted","labels","entityType","testID","onCopyToClipboard","_did$split","didSections","split","identifier","pop","didMethod","length","join","attributes","attributeKey","trustRegistry","highlightedText","trustAnchor","name","Boolean","CredentialEntity","issuerIdentifier","entityIdentifier","attributeText","canBeCopied","role","createElement","style","styles","wrapper","map","attribute","_extends","key","create","marginBottom"],"sources":["entity-attributes.tsx"],"sourcesContent":["import {
|
|
1
|
+
{"version":3,"names":["React","memo","StyleSheet","View","NerdModeItem","EntityType","addElementIf","EntityAttributes","certificate","did","trustEntity","trusted","labels","entityType","testID","onCopyToClipboard","_did$split","didSections","split","identifier","pop","didMethod","length","join","attributes","attributeKey","trustRegistry","highlightedText","trustAnchor","name","Boolean","CredentialEntity","issuerIdentifier","entityIdentifier","attributeText","canBeCopied","role","createElement","style","styles","wrapper","map","attribute","_extends","key","create","marginBottom"],"sources":["entity-attributes.tsx"],"sourcesContent":["import { GetTrustEntityResponseBindingDto } from '@procivis/react-native-one-core';\nimport React, { FC, memo } from 'react';\nimport { StyleSheet, View } from 'react-native';\n\nimport { NerdModeItem } from '../../ui-components/nerd-view';\nimport { AttributesLabels, EntityType } from '../../ui-components/screens/nerd-mode-screen';\nimport { addElementIf } from '../../utils/array';\n\ninterface EntityAttributesProps {\n certificate?: string;\n did?: string;\n trustEntity?: GetTrustEntityResponseBindingDto;\n trusted: boolean;\n labels: AttributesLabels;\n onCopyToClipboard: (value: string) => void;\n entityType: EntityType;\n testID?: string;\n}\n\nconst EntityAttributes: FC<EntityAttributesProps> = ({\n certificate,\n did,\n trustEntity,\n trusted,\n labels,\n entityType,\n testID,\n onCopyToClipboard,\n}) => {\n const didSections = did?.split(':') ?? [];\n const identifier = didSections.pop();\n const didMethod = didSections.length ? didSections.join(':') + ':' : '';\n\n const attributes = [\n ...addElementIf(trusted, {\n attributeKey: labels.trustRegistry,\n highlightedText: trustEntity?.trustAnchor.name,\n testID: 'trustRegistry',\n }),\n ...addElementIf(Boolean(did), {\n attributeKey: entityType === EntityType.CredentialEntity ? labels.issuerIdentifier : labels.entityIdentifier,\n attributeText: identifier,\n canBeCopied: true,\n highlightedText: didMethod,\n testID: 'issuerDID',\n }),\n ...addElementIf(Boolean(certificate), {\n attributeKey: entityType === EntityType.CredentialEntity ? labels.issuerIdentifier : labels.entityIdentifier,\n attributeText: certificate,\n canBeCopied: true,\n testID: 'issuerCertificate',\n }),\n ...addElementIf(trusted && Boolean(trustEntity?.role), {\n attributeKey: labels.role,\n highlightedText: trustEntity?.role,\n testID: 'role',\n }),\n ];\n return (\n <View style={styles.wrapper}>\n {attributes.map((attribute) => (\n <NerdModeItem\n key={attribute.attributeKey}\n {...attribute}\n labels={labels}\n onCopyToClipboard={onCopyToClipboard}\n testID={testID}\n />\n ))}\n </View>\n );\n};\n\nconst styles = StyleSheet.create({\n wrapper: {\n marginBottom: 20,\n },\n});\n\nexport default memo(EntityAttributes);\n"],"mappings":";AACA,OAAOA,KAAK,IAAQC,IAAI,QAAQ,OAAO;AACvC,SAASC,UAAU,EAAEC,IAAI,QAAQ,cAAc;AAE/C,SAASC,YAAY,QAAQ,+BAA+B;AAC5D,SAA2BC,UAAU,QAAQ,8CAA8C;AAC3F,SAASC,YAAY,QAAQ,mBAAmB;AAahD,MAAMC,gBAA2C,GAAGA,CAAC;EACnDC,WAAW;EACXC,GAAG;EACHC,WAAW;EACXC,OAAO;EACPC,MAAM;EACNC,UAAU;EACVC,MAAM;EACNC;AACF,CAAC,KAAK;EAAA,IAAAC,UAAA;EACJ,MAAMC,WAAW,IAAAD,UAAA,GAAGP,GAAG,aAAHA,GAAG,uBAAHA,GAAG,CAAES,KAAK,CAAC,GAAG,CAAC,cAAAF,UAAA,cAAAA,UAAA,GAAI,EAAE;EACzC,MAAMG,UAAU,GAAGF,WAAW,CAACG,GAAG,CAAC,CAAC;EACpC,MAAMC,SAAS,GAAGJ,WAAW,CAACK,MAAM,GAAGL,WAAW,CAACM,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,EAAE;EAEvE,MAAMC,UAAU,GAAG,CACjB,GAAGlB,YAAY,CAACK,OAAO,EAAE;IACvBc,YAAY,EAAEb,MAAM,CAACc,aAAa;IAClCC,eAAe,EAAEjB,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAEkB,WAAW,CAACC,IAAI;IAC9Cf,MAAM,EAAE;EACV,CAAC,CAAC,EACF,GAAGR,YAAY,CAACwB,OAAO,CAACrB,GAAG,CAAC,EAAE;IAC5BgB,YAAY,EAAEZ,UAAU,KAAKR,UAAU,CAAC0B,gBAAgB,GAAGnB,MAAM,CAACoB,gBAAgB,GAAGpB,MAAM,CAACqB,gBAAgB;IAC5GC,aAAa,EAAEf,UAAU;IACzBgB,WAAW,EAAE,IAAI;IACjBR,eAAe,EAAEN,SAAS;IAC1BP,MAAM,EAAE;EACV,CAAC,CAAC,EACF,GAAGR,YAAY,CAACwB,OAAO,CAACtB,WAAW,CAAC,EAAE;IACpCiB,YAAY,EAAEZ,UAAU,KAAKR,UAAU,CAAC0B,gBAAgB,GAAGnB,MAAM,CAACoB,gBAAgB,GAAGpB,MAAM,CAACqB,gBAAgB;IAC5GC,aAAa,EAAE1B,WAAW;IAC1B2B,WAAW,EAAE,IAAI;IACjBrB,MAAM,EAAE;EACV,CAAC,CAAC,EACF,GAAGR,YAAY,CAACK,OAAO,IAAImB,OAAO,CAACpB,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAE0B,IAAI,CAAC,EAAE;IACrDX,YAAY,EAAEb,MAAM,CAACwB,IAAI;IACzBT,eAAe,EAAEjB,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAE0B,IAAI;IAClCtB,MAAM,EAAE;EACV,CAAC,CAAC,CACH;EACD,oBACEd,KAAA,CAAAqC,aAAA,CAAClC,IAAI;IAACmC,KAAK,EAAEC,MAAM,CAACC;EAAQ,GACzBhB,UAAU,CAACiB,GAAG,CAAEC,SAAS,iBACxB1C,KAAA,CAAAqC,aAAA,CAACjC,YAAY,EAAAuC,QAAA;IACXC,GAAG,EAAEF,SAAS,CAACjB;EAAa,GACxBiB,SAAS;IACb9B,MAAM,EAAEA,MAAO;IACfG,iBAAiB,EAAEA,iBAAkB;IACrCD,MAAM,EAAEA;EAAO,EAChB,CACF,CACG,CAAC;AAEX,CAAC;AAED,MAAMyB,MAAM,GAAGrC,UAAU,CAAC2C,MAAM,CAAC;EAC/BL,OAAO,EAAE;IACPM,YAAY,EAAE;EAChB;AACF,CAAC,CAAC;AAEF,4BAAe7C,IAAI,CAACM,gBAAgB,CAAC","ignoreList":[]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
|
|
2
|
-
import {
|
|
2
|
+
import { TrustEntityRoleBindingEnum, TrustEntityStateBindingEnum } from '@procivis/react-native-one-core';
|
|
3
3
|
import React, { memo } from 'react';
|
|
4
4
|
import { View } from 'react-native';
|
|
5
5
|
import { useAppColorScheme } from '../../ui-components/theme/color-scheme-context';
|
|
@@ -27,7 +27,7 @@ const EntityDetailsWithButtons = ({
|
|
|
27
27
|
} = useIdentifierDetails(identifier === null || identifier === void 0 ? void 0 : identifier.id);
|
|
28
28
|
const trustEntity = data !== null && data !== void 0 ? data : undefined;
|
|
29
29
|
const colorScheme = useAppColorScheme();
|
|
30
|
-
const trusted = Boolean(trustEntity && trustEntity.state ===
|
|
30
|
+
const trusted = Boolean(trustEntity && trustEntity.state === TrustEntityStateBindingEnum.ACTIVE && (trustEntity.role === TrustEntityRoleBindingEnum.BOTH || trustEntity.role === role));
|
|
31
31
|
return /*#__PURE__*/React.createElement(View, {
|
|
32
32
|
style: {
|
|
33
33
|
backgroundColor: colorScheme.nerdView.background
|
|
@@ -35,7 +35,7 @@ const EntityDetailsWithButtons = ({
|
|
|
35
35
|
}, /*#__PURE__*/React.createElement(EntityDetails, _extends({
|
|
36
36
|
identifier: identifier,
|
|
37
37
|
labels: {
|
|
38
|
-
unknown: role ===
|
|
38
|
+
unknown: role === TrustEntityRoleBindingEnum.ISSUER ? entityLabels.unknownIssuer : entityLabels.unknownVerifier
|
|
39
39
|
},
|
|
40
40
|
role: role,
|
|
41
41
|
testID: testID
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["TrustEntityRoleBindingEnum","TrustEntityStateBindingEnum","React","memo","View","useAppColorScheme","concatTestID","useIdentifierDetails","useTrustEntity","EntityAttributes","EntityDetails","EntityButtons","EntityDetailsWithButtons","identifier","entityLabels","attributesLabels","onCopyToClipboard","role","entityType","testID","props","_identifierDetail$cer","_identifierDetail$did","data","id","identifierDetail","trustEntity","undefined","colorScheme","trusted","Boolean","state","ACTIVE","BOTH","createElement","style","backgroundColor","nerdView","background","_extends","labels","unknown","ISSUER","unknownIssuer","unknownVerifier","entity","certificate","certificates","chain","did"],"sources":["entity-details-with-buttons.tsx"],"sourcesContent":["import {\n GetIdentifierListItemBindingDto,\n TrustEntityRoleBindingEnum,\n TrustEntityStateBindingEnum,\n} from '@procivis/react-native-one-core';\nimport React, { FC, memo } from 'react';\nimport { StyleProp, View, ViewStyle } from 'react-native';\n\nimport { AttributesLabels, EntityLabels, EntityType } from '../../ui-components/screens/nerd-mode-screen';\nimport { useAppColorScheme } from '../../ui-components/theme/color-scheme-context';\nimport { concatTestID, useIdentifierDetails } from '../../utils';\nimport { useTrustEntity } from '../../utils/hooks/core/trust-entity';\nimport EntityAttributes from './entity-attributes';\nimport EntityDetails from './entity-details';\nimport EntityButtons from './EntityButtons';\n\nexport type ContextRole = Exclude<TrustEntityRoleBindingEnum, TrustEntityRoleBindingEnum.BOTH>;\n\ninterface EntityDetailsWithButtonsProps {\n identifier?: GetIdentifierListItemBindingDto;\n entityLabels: EntityLabels;\n attributesLabels: AttributesLabels;\n style?: StyleProp<ViewStyle>;\n textColor?: string;\n testID?: string;\n role: ContextRole;\n onCopyToClipboard: (value: string) => void;\n entityType: EntityType;\n}\n\nconst EntityDetailsWithButtons: FC<EntityDetailsWithButtonsProps> = ({\n identifier,\n entityLabels,\n attributesLabels,\n onCopyToClipboard,\n role,\n entityType,\n testID,\n ...props\n}) => {\n let { data } = useTrustEntity(identifier?.id);\n let { data: identifierDetail } = useIdentifierDetails(identifier?.id);\n const trustEntity = data ?? undefined;\n\n const colorScheme = useAppColorScheme();\n\n const trusted = Boolean(\n trustEntity &&\n trustEntity.state === TrustEntityStateBindingEnum.ACTIVE &&\n (trustEntity.role === TrustEntityRoleBindingEnum.BOTH || trustEntity.role === role),\n );\n\n return (\n <View style={{ backgroundColor: colorScheme.nerdView.background }}>\n <EntityDetails\n identifier={identifier}\n labels={{\n unknown:\n role === TrustEntityRoleBindingEnum.ISSUER ? entityLabels.unknownIssuer : entityLabels.unknownVerifier,\n }}\n role={role}\n testID={testID}\n {...props}\n />\n {trusted && <EntityButtons entity={trustEntity} labels={entityLabels} testID={concatTestID(testID, 'links')} />}\n <EntityAttributes\n certificate={identifierDetail?.certificates?.[0]?.chain}\n did={identifierDetail?.did?.did}\n trustEntity={trustEntity}\n trusted={trusted}\n labels={attributesLabels}\n onCopyToClipboard={onCopyToClipboard}\n entityType={entityType}\n testID={testID}\n />\n </View>\n );\n};\n\nexport default memo(EntityDetailsWithButtons);\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { IdentifierTypeBindingEnum, TrustEntityRoleBindingEnum, TrustEntityStateBindingEnum } from '@procivis/react-native-one-core';
|
|
2
2
|
import React, { useMemo } from 'react';
|
|
3
3
|
import EntityCluster from '../../ui-components/entity/entity-cluster';
|
|
4
4
|
import { EntityNotTrustedIcon, EntityTrustedIcon } from '../../ui-components/icons';
|
|
@@ -28,7 +28,7 @@ const EntityDetails = ({
|
|
|
28
28
|
data: identifierDetail,
|
|
29
29
|
isLoading: isLoadingIdentifier
|
|
30
30
|
} = useIdentifierDetails('identifier' in props ? (_props$identifier2 = props.identifier) === null || _props$identifier2 === void 0 ? void 0 : _props$identifier2.id : undefined);
|
|
31
|
-
const trusted = trustEntity && trustEntity.state ===
|
|
31
|
+
const trusted = trustEntity && trustEntity.state === TrustEntityStateBindingEnum.ACTIVE && (trustEntity.role === TrustEntityRoleBindingEnum.BOTH || trustEntity.role === role);
|
|
32
32
|
const isLoading = isLoadingIdentifier || isLoadingTrustEntity;
|
|
33
33
|
const avatarProps = useMemo(() => {
|
|
34
34
|
var _identifierDetail$cer, _getCertificateCommon;
|
|
@@ -40,7 +40,7 @@ const EntityDetails = ({
|
|
|
40
40
|
uri: trustEntity.logo
|
|
41
41
|
}
|
|
42
42
|
} : undefined;
|
|
43
|
-
const placeholderText = (identifierDetail === null || identifierDetail === void 0 ? void 0 : identifierDetail.type) ===
|
|
43
|
+
const placeholderText = (identifierDetail === null || identifierDetail === void 0 ? void 0 : identifierDetail.type) === IdentifierTypeBindingEnum.CERTIFICATE && (_identifierDetail$cer = identifierDetail.certificates) !== null && _identifierDetail$cer !== void 0 && _identifierDetail$cer[0] ? (_getCertificateCommon = getCertificateCommonName(identifierDetail.certificates[0])) === null || _getCertificateCommon === void 0 ? void 0 : _getCertificateCommon.substring(0, 1) : 'D';
|
|
44
44
|
const statusIcon = trusted ? /*#__PURE__*/React.createElement(EntityTrustedIcon, {
|
|
45
45
|
testID: concatTestID(testID, 'statusIcon', 'trusted')
|
|
46
46
|
}) : /*#__PURE__*/React.createElement(EntityNotTrustedIcon, {
|
|
@@ -64,7 +64,7 @@ const EntityDetails = ({
|
|
|
64
64
|
if (isLoading) {
|
|
65
65
|
return '';
|
|
66
66
|
}
|
|
67
|
-
if ((identifierDetail === null || identifierDetail === void 0 ? void 0 : identifierDetail.type) ===
|
|
67
|
+
if ((identifierDetail === null || identifierDetail === void 0 ? void 0 : identifierDetail.type) === IdentifierTypeBindingEnum.CERTIFICATE && (_identifierDetail$cer2 = identifierDetail.certificates) !== null && _identifierDetail$cer2 !== void 0 && _identifierDetail$cer2[0]) {
|
|
68
68
|
const commonName = getCertificateCommonName(identifierDetail.certificates[0]);
|
|
69
69
|
if (commonName) {
|
|
70
70
|
return commonName;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["IdentifierTypeBindingEnum","TrustEntityRoleBindingEnum","TrustEntityStateBindingEnum","React","useMemo","EntityCluster","EntityNotTrustedIcon","EntityTrustedIcon","concatTestID","replaceBreakingHyphens","useIdentifierDetails","useTrustEntity","getCertificateCommonName","certificate","_certificate$x509Attr","x509Attributes","subject","split","find","s","startsWith","pop","EntityDetails","labels","renderMore","role","style","testID","sublineColor","textColor","props","_props$identifier","_props$identifier2","data","isLoading","isLoadingTrustEntity","identifier","id","undefined","trustEntity","entity","identifierDetail","isLoadingIdentifier","trusted","state","ACTIVE","BOTH","avatarProps","_identifierDetail$cer","_getCertificateCommon","avatar","type","logo","imageSource","uri","placeholderText","CERTIFICATE","certificates","substring","statusIcon","createElement","name","trustEntityName","_identifierDetail$cer2","_identifierDetail$did","commonName","did","unknown","Fragment","entityName"],"sources":["entity-details.tsx"],"sourcesContent":["import {\n CertificateResponseBindingDto,\n GetIdentifierListItemBindingDto,\n GetTrustEntityResponseBindingDto,\n IdentifierTypeBindingEnum,\n TrustEntityRoleBindingEnum,\n TrustEntityStateBindingEnum,\n} from '@procivis/react-native-one-core';\nimport React, { FC, ReactNode, useMemo } from 'react';\nimport { StyleProp, ViewStyle } from 'react-native';\n\nimport { AvatarProps } from '../../ui-components';\nimport EntityCluster from '../../ui-components/entity/entity-cluster';\nimport { EntityNotTrustedIcon, EntityTrustedIcon } from '../../ui-components/icons';\nimport { concatTestID, replaceBreakingHyphens, useIdentifierDetails } from '../../utils';\nimport { useTrustEntity } from '../../utils/hooks/core/trust-entity';\n\nexport type EntityDetailsLabels = {\n unknown: string;\n};\n\nexport type EntityDetailsProps = {\n labels: EntityDetailsLabels;\n renderMore?: (trustEntity: GetTrustEntityResponseBindingDto) => ReactNode;\n role: Exclude<TrustEntityRoleBindingEnum, TrustEntityRoleBindingEnum.BOTH>;\n style?: StyleProp<ViewStyle>;\n sublineColor?: string;\n textColor?: string;\n testID?: string;\n} & (\n | {\n identifier?: GetIdentifierListItemBindingDto;\n }\n | {\n entity: GetTrustEntityResponseBindingDto;\n }\n);\n\nconst getCertificateCommonName = (certificate: CertificateResponseBindingDto): string | undefined => {\n return certificate.x509Attributes.subject\n .split(', ')\n .find((s) => s.startsWith('CN'))\n ?.split('=')\n ?.pop();\n};\n\nconst EntityDetails: FC<EntityDetailsProps> = ({\n labels,\n renderMore,\n role,\n style,\n testID,\n sublineColor,\n textColor,\n ...props\n}) => {\n const { data, isLoading: isLoadingTrustEntity } = useTrustEntity(\n 'identifier' in props ? props.identifier?.id : undefined,\n );\n const trustEntity: GetTrustEntityResponseBindingDto | undefined =\n 'entity' in props ? props.entity : data ?? undefined;\n const { data: identifierDetail, isLoading: isLoadingIdentifier } = useIdentifierDetails(\n 'identifier' in props ? props.identifier?.id : undefined,\n );\n\n const trusted =\n trustEntity &&\n trustEntity.state === TrustEntityStateBindingEnum.ACTIVE &&\n (trustEntity.role === TrustEntityRoleBindingEnum.BOTH || trustEntity.role === role);\n\n const isLoading = isLoadingIdentifier || isLoadingTrustEntity;\n\n const avatarProps: AvatarProps | undefined = useMemo(() => {\n if (isLoading) {\n return undefined;\n }\n\n const avatar =\n trusted && identifierDetail?.type === 'DID' && trustEntity.logo\n ? { imageSource: { uri: trustEntity.logo } }\n : undefined;\n\n const placeholderText =\n identifierDetail?.type === IdentifierTypeBindingEnum.CERTIFICATE && identifierDetail.certificates?.[0]\n ? getCertificateCommonName(identifierDetail.certificates[0])?.substring(0, 1)\n : 'D';\n\n const statusIcon = trusted ? (\n <EntityTrustedIcon testID={concatTestID(testID, 'statusIcon', 'trusted')} />\n ) : (\n <EntityNotTrustedIcon testID={concatTestID(testID, 'statusIcon', 'notTrusted')} />\n );\n\n if (trustEntity) {\n return {\n avatar,\n placeholderText:\n trusted && identifierDetail?.type === 'DID' ? trustEntity.name.substring(0, 1) : placeholderText,\n statusIcon,\n testID: concatTestID(testID, 'avatar'),\n };\n }\n\n return {\n placeholderText,\n statusIcon,\n };\n }, [trustEntity, trusted, identifierDetail, isLoading, testID]);\n\n const trustEntityName = useMemo(() => {\n if (isLoading) {\n return '';\n }\n if (identifierDetail?.type === IdentifierTypeBindingEnum.CERTIFICATE && identifierDetail.certificates?.[0]) {\n const commonName = getCertificateCommonName(identifierDetail.certificates[0]);\n if (commonName) {\n return commonName;\n }\n }\n if (trustEntity) {\n return trustEntity.name;\n }\n if (identifierDetail?.did?.did) {\n return replaceBreakingHyphens(identifierDetail.did.did);\n }\n\n return labels.unknown;\n }, [labels.unknown, trustEntity, identifierDetail, isLoading]);\n\n return (\n <>\n <EntityCluster\n avatar={avatarProps}\n entityName={trustEntityName}\n style={style}\n testID={testID}\n textColor={textColor}\n sublineColor={sublineColor}\n isLoading={isLoading}\n />\n {trustEntity && renderMore && renderMore(trustEntity)}\n </>\n );\n};\n\nexport default EntityDetails;\n"],"mappings":"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","ignoreList":[]}
|