@procivis/one-react-native-components 0.3.130 → 0.3.142

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (126) hide show
  1. package/lib/commonjs/components/history/history-list-item-icon.js +3 -0
  2. package/lib/commonjs/components/history/history-list-item-icon.js.map +1 -1
  3. package/lib/commonjs/components/history/history-list-item.js +3 -4
  4. package/lib/commonjs/components/history/history-list-item.js.map +1 -1
  5. package/lib/commonjs/components/proof-request/v2/share-credential-v2.js +3 -1
  6. package/lib/commonjs/components/proof-request/v2/share-credential-v2.js.map +1 -1
  7. package/lib/commonjs/ui-components/buttons/scan-button.js +122 -27
  8. package/lib/commonjs/ui-components/buttons/scan-button.js.map +1 -1
  9. package/lib/commonjs/ui-components/credential/card/credential-details-card.js +37 -18
  10. package/lib/commonjs/ui-components/credential/card/credential-details-card.js.map +1 -1
  11. package/lib/commonjs/ui-components/credential/credential-attribute-item.js +13 -4
  12. package/lib/commonjs/ui-components/credential/credential-attribute-item.js.map +1 -1
  13. package/lib/commonjs/ui-components/history/history-section-list-item.js +2 -2
  14. package/lib/commonjs/ui-components/history/history-section-list-item.js.map +1 -1
  15. package/lib/commonjs/ui-components/history/index.js +0 -8
  16. package/lib/commonjs/ui-components/history/index.js.map +1 -1
  17. package/lib/commonjs/ui-components/icons/icons.js +36 -2
  18. package/lib/commonjs/ui-components/icons/icons.js.map +1 -1
  19. package/lib/commonjs/ui-components/list/index.js +8 -0
  20. package/lib/commonjs/ui-components/list/index.js.map +1 -1
  21. package/lib/commonjs/ui-components/{history/history-item.js → list/list-item.js} +32 -22
  22. package/lib/commonjs/ui-components/list/list-item.js.map +1 -0
  23. package/lib/commonjs/ui-components/list/wallet/empty-list.js +2 -1
  24. package/lib/commonjs/ui-components/list/wallet/empty-list.js.map +1 -1
  25. package/lib/commonjs/ui-components/notice/wallet-notice.js +4 -2
  26. package/lib/commonjs/ui-components/notice/wallet-notice.js.map +1 -1
  27. package/lib/commonjs/ui-components/text/expandableTypography.js +64 -0
  28. package/lib/commonjs/ui-components/text/expandableTypography.js.map +1 -0
  29. package/lib/commonjs/ui-components/text/index.js +15 -0
  30. package/lib/commonjs/ui-components/text/index.js.map +1 -1
  31. package/lib/commonjs/utils/hooks/core/credential-schemas.js +24 -1
  32. package/lib/commonjs/utils/hooks/core/credential-schemas.js.map +1 -1
  33. package/lib/commonjs/utils/hooks/core/wallet-unit.js +20 -1
  34. package/lib/commonjs/utils/hooks/core/wallet-unit.js.map +1 -1
  35. package/lib/commonjs/utils/parsers/credential-sharing-v2.js +8 -7
  36. package/lib/commonjs/utils/parsers/credential-sharing-v2.js.map +1 -1
  37. package/lib/commonjs/utils/parsers/credential-sharing.js +17 -11
  38. package/lib/commonjs/utils/parsers/credential-sharing.js.map +1 -1
  39. package/lib/commonjs/utils/parsers/credential.js +12 -4
  40. package/lib/commonjs/utils/parsers/credential.js.map +1 -1
  41. package/lib/commonjs/utils/parsers/query.js +1 -1
  42. package/lib/commonjs/utils/parsers/query.js.map +1 -1
  43. package/lib/module/components/history/history-list-item-icon.js +3 -0
  44. package/lib/module/components/history/history-list-item-icon.js.map +1 -1
  45. package/lib/module/components/history/history-list-item.js +4 -5
  46. package/lib/module/components/history/history-list-item.js.map +1 -1
  47. package/lib/module/components/proof-request/v2/share-credential-v2.js +3 -1
  48. package/lib/module/components/proof-request/v2/share-credential-v2.js.map +1 -1
  49. package/lib/module/ui-components/buttons/scan-button.js +124 -29
  50. package/lib/module/ui-components/buttons/scan-button.js.map +1 -1
  51. package/lib/module/ui-components/credential/card/credential-details-card.js +37 -18
  52. package/lib/module/ui-components/credential/card/credential-details-card.js.map +1 -1
  53. package/lib/module/ui-components/credential/credential-attribute-item.js +13 -4
  54. package/lib/module/ui-components/credential/credential-attribute-item.js.map +1 -1
  55. package/lib/module/ui-components/history/history-section-list-item.js +2 -2
  56. package/lib/module/ui-components/history/history-section-list-item.js.map +1 -1
  57. package/lib/module/ui-components/history/index.js +0 -2
  58. package/lib/module/ui-components/history/index.js.map +1 -1
  59. package/lib/module/ui-components/icons/icons.js +32 -0
  60. package/lib/module/ui-components/icons/icons.js.map +1 -1
  61. package/lib/module/ui-components/list/index.js +2 -0
  62. package/lib/module/ui-components/list/index.js.map +1 -1
  63. package/lib/module/ui-components/{history/history-item.js → list/list-item.js} +32 -22
  64. package/lib/module/ui-components/list/list-item.js.map +1 -0
  65. package/lib/module/ui-components/list/wallet/empty-list.js +2 -1
  66. package/lib/module/ui-components/list/wallet/empty-list.js.map +1 -1
  67. package/lib/module/ui-components/notice/wallet-notice.js +4 -2
  68. package/lib/module/ui-components/notice/wallet-notice.js.map +1 -1
  69. package/lib/module/ui-components/text/expandableTypography.js +55 -0
  70. package/lib/module/ui-components/text/expandableTypography.js.map +1 -0
  71. package/lib/module/ui-components/text/index.js +2 -1
  72. package/lib/module/ui-components/text/index.js.map +1 -1
  73. package/lib/module/utils/hooks/core/credential-schemas.js +24 -1
  74. package/lib/module/utils/hooks/core/credential-schemas.js.map +1 -1
  75. package/lib/module/utils/hooks/core/wallet-unit.js +18 -0
  76. package/lib/module/utils/hooks/core/wallet-unit.js.map +1 -1
  77. package/lib/module/utils/parsers/credential-sharing-v2.js +8 -7
  78. package/lib/module/utils/parsers/credential-sharing-v2.js.map +1 -1
  79. package/lib/module/utils/parsers/credential-sharing.js +18 -12
  80. package/lib/module/utils/parsers/credential-sharing.js.map +1 -1
  81. package/lib/module/utils/parsers/credential.js +10 -4
  82. package/lib/module/utils/parsers/credential.js.map +1 -1
  83. package/lib/module/utils/parsers/query.js +1 -1
  84. package/lib/module/utils/parsers/query.js.map +1 -1
  85. package/lib/typescript/ui-components/buttons/scan-button.d.ts +9 -3
  86. package/lib/typescript/ui-components/credential/card/credential-details-card.d.ts +3 -0
  87. package/lib/typescript/ui-components/credential/credential-attribute-item.d.ts +3 -0
  88. package/lib/typescript/ui-components/history/history-section-list-item.d.ts +2 -2
  89. package/lib/typescript/ui-components/history/index.d.ts +0 -3
  90. package/lib/typescript/ui-components/icons/icons.d.ts +2 -0
  91. package/lib/typescript/ui-components/list/index.d.ts +3 -0
  92. package/lib/typescript/ui-components/{history/history-item.d.ts → list/list-item.d.ts} +4 -4
  93. package/lib/typescript/ui-components/list/wallet/empty-list.d.ts +2 -2
  94. package/lib/typescript/ui-components/text/expandableTypography.d.ts +10 -0
  95. package/lib/typescript/ui-components/text/index.d.ts +2 -1
  96. package/lib/typescript/ui-components/text/typography.d.ts +14 -14
  97. package/lib/typescript/utils/hooks/app-state.d.ts +1 -1
  98. package/lib/typescript/utils/hooks/core/credentials.d.ts +1 -1
  99. package/lib/typescript/utils/hooks/core/wallet-unit.d.ts +5 -1
  100. package/lib/typescript/utils/parsers/credential-sharing.d.ts +4 -3
  101. package/lib/typescript/utils/parsers/credential.d.ts +2 -1
  102. package/lib/typescript/utils/parsers/query.d.ts +1 -1
  103. package/package.json +3 -3
  104. package/src/components/history/history-list-item-icon.tsx +3 -0
  105. package/src/components/history/history-list-item.tsx +3 -3
  106. package/src/components/proof-request/v2/share-credential-v2.tsx +2 -0
  107. package/src/ui-components/buttons/scan-button.tsx +130 -38
  108. package/src/ui-components/credential/card/credential-details-card.tsx +46 -19
  109. package/src/ui-components/credential/credential-attribute-item.tsx +15 -3
  110. package/src/ui-components/history/history-section-list-item.tsx +3 -3
  111. package/src/ui-components/history/index.ts +0 -3
  112. package/src/ui-components/icons/icons.tsx +24 -0
  113. package/src/ui-components/list/index.ts +3 -0
  114. package/src/ui-components/{history/history-item.tsx → list/list-item.tsx} +36 -33
  115. package/src/ui-components/list/wallet/empty-list.tsx +11 -8
  116. package/src/ui-components/notice/wallet-notice.tsx +4 -2
  117. package/src/ui-components/text/expandableTypography.tsx +71 -0
  118. package/src/ui-components/text/index.ts +2 -1
  119. package/src/utils/hooks/core/credential-schemas.ts +23 -1
  120. package/src/utils/hooks/core/wallet-unit.ts +21 -0
  121. package/src/utils/parsers/credential-sharing-v2.tsx +5 -6
  122. package/src/utils/parsers/credential-sharing.tsx +20 -9
  123. package/src/utils/parsers/credential.ts +14 -3
  124. package/src/utils/parsers/query.ts +2 -0
  125. package/lib/commonjs/ui-components/history/history-item.js.map +0 -1
  126. package/lib/module/ui-components/history/history-item.js.map +0 -1
@@ -3,12 +3,27 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
+ Object.defineProperty(exports, "ExpandableTypography", {
7
+ enumerable: true,
8
+ get: function () {
9
+ return _expandableTypography.default;
10
+ }
11
+ });
12
+ Object.defineProperty(exports, "ExpandableTypographyProps", {
13
+ enumerable: true,
14
+ get: function () {
15
+ return _expandableTypography.ExpandableTypographyProps;
16
+ }
17
+ });
6
18
  Object.defineProperty(exports, "Typography", {
7
19
  enumerable: true,
8
20
  get: function () {
9
21
  return _typography.default;
10
22
  }
11
23
  });
24
+ var _expandableTypography = _interopRequireWildcard(require("./expandableTypography"));
12
25
  var _typography = _interopRequireDefault(require("./typography"));
13
26
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
27
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
28
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
14
29
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_typography","_interopRequireDefault","require","e","__esModule","default"],"sources":["index.ts"],"sourcesContent":["import type { TypographyProps } from './typography';\nimport Typography from './typography';\n\nexport { Typography, TypographyProps };\n"],"mappings":";;;;;;;;;;;AACA,IAAAA,WAAA,GAAAC,sBAAA,CAAAC,OAAA;AAAsC,SAAAD,uBAAAE,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA","ignoreList":[]}
1
+ {"version":3,"names":["_expandableTypography","_interopRequireWildcard","require","_typography","_interopRequireDefault","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set"],"sources":["index.ts"],"sourcesContent":["import ExpandableTypography, { ExpandableTypographyProps } from './expandableTypography';\nimport type { TypographyProps } from './typography';\nimport Typography from './typography';\n\nexport { ExpandableTypography, ExpandableTypographyProps, Typography, TypographyProps };\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,qBAAA,GAAAC,uBAAA,CAAAC,OAAA;AAEA,IAAAC,WAAA,GAAAC,sBAAA,CAAAF,OAAA;AAAsC,SAAAE,uBAAAC,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAAA,SAAAG,yBAAAH,CAAA,6BAAAI,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAD,wBAAA,YAAAA,CAAAH,CAAA,WAAAA,CAAA,GAAAM,CAAA,GAAAD,CAAA,KAAAL,CAAA;AAAA,SAAAJ,wBAAAI,CAAA,EAAAK,CAAA,SAAAA,CAAA,IAAAL,CAAA,IAAAA,CAAA,CAAAC,UAAA,SAAAD,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAE,OAAA,EAAAF,CAAA,QAAAM,CAAA,GAAAH,wBAAA,CAAAE,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAC,GAAA,CAAAP,CAAA,UAAAM,CAAA,CAAAE,GAAA,CAAAR,CAAA,OAAAS,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAf,CAAA,oBAAAe,CAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAjB,CAAA,EAAAe,CAAA,SAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAd,CAAA,EAAAe,CAAA,UAAAG,CAAA,KAAAA,CAAA,CAAAV,GAAA,IAAAU,CAAA,CAAAC,GAAA,IAAAP,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAG,CAAA,IAAAT,CAAA,CAAAM,CAAA,IAAAf,CAAA,CAAAe,CAAA,YAAAN,CAAA,CAAAP,OAAA,GAAAF,CAAA,EAAAM,CAAA,IAAAA,CAAA,CAAAa,GAAA,CAAAnB,CAAA,EAAAS,CAAA,GAAAA,CAAA","ignoreList":[]}
@@ -40,12 +40,35 @@ const useCredentialSchemaPreview = url => {
40
40
  if (!response.ok) {
41
41
  throw response.originalError;
42
42
  }
43
- return response.data;
43
+ return prepareImportCredentialSchema(response.data);
44
44
  }), {
45
45
  keepPreviousData: true
46
46
  });
47
47
  };
48
48
  exports.useCredentialSchemaPreview = useCredentialSchemaPreview;
49
+ const prepareImportCredentialSchema = data => {
50
+ if (!data || typeof data !== 'object') {
51
+ throw Error('Invalid credential schema data');
52
+ }
53
+ if ('formats' in data) {
54
+ // v2 schema: just return
55
+ return data;
56
+ }
57
+
58
+ // v1 schema: convert format
59
+ const schema = data;
60
+ const format = schema.format;
61
+ const schemaId = schema.schemaId;
62
+ const revocationMethod = schema.revocationMethod;
63
+ return {
64
+ ...schema,
65
+ formats: [{
66
+ format,
67
+ schemaId
68
+ }],
69
+ allowRevocation: Boolean(revocationMethod)
70
+ };
71
+ };
49
72
  const useCredentialSchemaAccept = () => {
50
73
  const queryClient = (0, _reactQuery.useQueryClient)();
51
74
  const {
@@ -1 +1 @@
1
- {"version":3,"names":["_reactQuery","require","_query","_client","_coreContext","_history","PAGE_SIZE","CREDENTIAL_SCHEMA_LIST_QUERY_KEY","exports","CREDENTIAL_SCHEMA_DETAIL_QUERY_KEY","CREDENTIAL_SCHEMA_PREVIEW_QUERY_KEY","CREDENTIAL_SCHEMA_SHARE_QUERY_KEY","useCredentialSchemas","queryParams","core","organisationId","useONECore","useInfiniteQuery","getQueryKeyFromCredentialSchemaListQueryParams","pageParam","listCredentialSchemas","page","pageSize","then","values","getNextPageParam","lastPage","allPages","length","undefined","keepPreviousData","useCredentialSchemaPreview","url","httpClient","useHTTPClient","useQuery","get","response","ok","originalError","data","useCredentialSchemaAccept","queryClient","useQueryClient","useMutation","schema","importCredentialSchema","onSuccess","invalidateQueries","HISTORY_LIST_QUERY_KEY","useCredentialSchemaDetail","credentialId","active","getCredentialSchema","enabled","Boolean","useCredentialSchemaDelete","credentialSchemaId","deleteCredentialSchema","_","removeQueries","useShareCredentialSchema","schemaId","shareCredentialSchema","Promise","reject"],"sources":["credential-schemas.ts"],"sourcesContent":["import { CredentialSchemaListQuery, ImportCredentialSchemaRequestSchema } from '@procivis/react-native-one-core';\nimport { useInfiniteQuery, useMutation, useQuery, useQueryClient } from 'react-query';\n\nimport { getQueryKeyFromCredentialSchemaListQueryParams } from '../../parsers/query';\nimport { useHTTPClient } from '../http/client';\nimport { useONECore } from './core-context';\nimport { HISTORY_LIST_QUERY_KEY } from './history';\n\nconst PAGE_SIZE = 10;\nexport const CREDENTIAL_SCHEMA_LIST_QUERY_KEY = 'credential-schema-list';\nexport const CREDENTIAL_SCHEMA_DETAIL_QUERY_KEY = 'credential-schema-detail';\nexport const CREDENTIAL_SCHEMA_PREVIEW_QUERY_KEY = 'credential-schema-preview';\nexport const CREDENTIAL_SCHEMA_SHARE_QUERY_KEY = 'credential-schema-share';\n\nexport const useCredentialSchemas = (queryParams?: Partial<CredentialSchemaListQuery>) => {\n const { core, organisationId } = useONECore();\n\n return useInfiniteQuery(\n [CREDENTIAL_SCHEMA_LIST_QUERY_KEY, ...getQueryKeyFromCredentialSchemaListQueryParams(queryParams)],\n ({ pageParam = 0 }) =>\n core\n .listCredentialSchemas({\n organisationId,\n page: pageParam,\n pageSize: PAGE_SIZE,\n ...queryParams,\n })\n .then(({ values }) => values),\n {\n getNextPageParam: (lastPage, allPages) => (lastPage.length === PAGE_SIZE ? allPages.length : undefined),\n keepPreviousData: true,\n },\n );\n};\n\nexport const useCredentialSchemaPreview = (url: string) => {\n const httpClient = useHTTPClient();\n\n return useQuery(\n [CREDENTIAL_SCHEMA_PREVIEW_QUERY_KEY, url],\n () =>\n httpClient.get(url).then((response) => {\n if (!response.ok) {\n throw response.originalError;\n }\n return response.data as ImportCredentialSchemaRequestSchema;\n }),\n {\n keepPreviousData: true,\n },\n );\n};\n\nexport const useCredentialSchemaAccept = () => {\n const queryClient = useQueryClient();\n const { core, organisationId } = useONECore();\n\n return useMutation(\n async (schema: ImportCredentialSchemaRequestSchema) =>\n core.importCredentialSchema({\n organisationId,\n schema,\n }),\n {\n onSuccess: async () => {\n await queryClient.invalidateQueries(CREDENTIAL_SCHEMA_LIST_QUERY_KEY);\n await queryClient.invalidateQueries(HISTORY_LIST_QUERY_KEY);\n },\n },\n );\n};\n\nexport const useCredentialSchemaDetail = (credentialId: string | undefined, active = true) => {\n const { core } = useONECore();\n\n return useQuery(\n [CREDENTIAL_SCHEMA_DETAIL_QUERY_KEY, credentialId],\n () => (credentialId ? core.getCredentialSchema(credentialId) : undefined),\n {\n enabled: active && Boolean(credentialId),\n keepPreviousData: true,\n },\n );\n};\n\nexport const useCredentialSchemaDelete = () => {\n const queryClient = useQueryClient();\n const { core } = useONECore();\n\n return useMutation(async (credentialSchemaId: string) => core.deleteCredentialSchema(credentialSchemaId), {\n onSuccess: async (_, credentialId) => {\n await queryClient.invalidateQueries(CREDENTIAL_SCHEMA_LIST_QUERY_KEY);\n await queryClient.removeQueries([CREDENTIAL_SCHEMA_DETAIL_QUERY_KEY, credentialId]);\n await queryClient.invalidateQueries(HISTORY_LIST_QUERY_KEY);\n },\n });\n};\n\nexport const useShareCredentialSchema = (schemaId?: string) => {\n const { core } = useONECore();\n\n return useQuery(\n [CREDENTIAL_SCHEMA_SHARE_QUERY_KEY, schemaId],\n () => (schemaId ? core.shareCredentialSchema(schemaId) : Promise.reject()),\n {\n enabled: Boolean(schemaId),\n keepPreviousData: true,\n },\n );\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_reactQuery","require","_query","_client","_coreContext","_history","PAGE_SIZE","CREDENTIAL_SCHEMA_LIST_QUERY_KEY","exports","CREDENTIAL_SCHEMA_DETAIL_QUERY_KEY","CREDENTIAL_SCHEMA_PREVIEW_QUERY_KEY","CREDENTIAL_SCHEMA_SHARE_QUERY_KEY","useCredentialSchemas","queryParams","core","organisationId","useONECore","useInfiniteQuery","getQueryKeyFromCredentialSchemaListQueryParams","pageParam","listCredentialSchemas","page","pageSize","then","values","getNextPageParam","lastPage","allPages","length","undefined","keepPreviousData","useCredentialSchemaPreview","url","httpClient","useHTTPClient","useQuery","get","response","ok","originalError","prepareImportCredentialSchema","data","Error","schema","format","schemaId","revocationMethod","formats","allowRevocation","Boolean","useCredentialSchemaAccept","queryClient","useQueryClient","useMutation","importCredentialSchema","onSuccess","invalidateQueries","HISTORY_LIST_QUERY_KEY","useCredentialSchemaDetail","credentialId","active","getCredentialSchema","enabled","useCredentialSchemaDelete","credentialSchemaId","deleteCredentialSchema","_","removeQueries","useShareCredentialSchema","shareCredentialSchema","Promise","reject"],"sources":["credential-schemas.ts"],"sourcesContent":["import { CredentialSchemaListQuery, ImportCredentialSchemaRequestSchema } from '@procivis/react-native-one-core';\nimport { useInfiniteQuery, useMutation, useQuery, useQueryClient } from 'react-query';\n\nimport { getQueryKeyFromCredentialSchemaListQueryParams } from '../../parsers/query';\nimport { useHTTPClient } from '../http/client';\nimport { useONECore } from './core-context';\nimport { HISTORY_LIST_QUERY_KEY } from './history';\n\nconst PAGE_SIZE = 10;\nexport const CREDENTIAL_SCHEMA_LIST_QUERY_KEY = 'credential-schema-list';\nexport const CREDENTIAL_SCHEMA_DETAIL_QUERY_KEY = 'credential-schema-detail';\nexport const CREDENTIAL_SCHEMA_PREVIEW_QUERY_KEY = 'credential-schema-preview';\nexport const CREDENTIAL_SCHEMA_SHARE_QUERY_KEY = 'credential-schema-share';\n\nexport const useCredentialSchemas = (queryParams?: Partial<CredentialSchemaListQuery>) => {\n const { core, organisationId } = useONECore();\n\n return useInfiniteQuery(\n [CREDENTIAL_SCHEMA_LIST_QUERY_KEY, ...getQueryKeyFromCredentialSchemaListQueryParams(queryParams)],\n ({ pageParam = 0 }) =>\n core\n .listCredentialSchemas({\n organisationId,\n page: pageParam,\n pageSize: PAGE_SIZE,\n ...queryParams,\n })\n .then(({ values }) => values),\n {\n getNextPageParam: (lastPage, allPages) => (lastPage.length === PAGE_SIZE ? allPages.length : undefined),\n keepPreviousData: true,\n },\n );\n};\n\nexport const useCredentialSchemaPreview = (url: string) => {\n const httpClient = useHTTPClient();\n\n return useQuery(\n [CREDENTIAL_SCHEMA_PREVIEW_QUERY_KEY, url],\n () =>\n httpClient.get(url).then((response) => {\n if (!response.ok) {\n throw response.originalError;\n }\n return prepareImportCredentialSchema(response.data);\n }),\n {\n keepPreviousData: true,\n },\n );\n};\n\nconst prepareImportCredentialSchema = (data: unknown): ImportCredentialSchemaRequestSchema => {\n if (!data || typeof data !== 'object') {\n throw Error('Invalid credential schema data');\n }\n\n if ('formats' in data) {\n // v2 schema: just return\n return data as ImportCredentialSchemaRequestSchema;\n }\n\n // v1 schema: convert format\n const schema = data as Record<string, any>;\n const format = schema.format;\n const schemaId = schema.schemaId;\n const revocationMethod = schema.revocationMethod;\n return {\n ...schema,\n formats: [{ format, schemaId }],\n allowRevocation: Boolean(revocationMethod),\n } as unknown as ImportCredentialSchemaRequestSchema;\n};\n\nexport const useCredentialSchemaAccept = () => {\n const queryClient = useQueryClient();\n const { core, organisationId } = useONECore();\n\n return useMutation(\n async (schema: ImportCredentialSchemaRequestSchema) =>\n core.importCredentialSchema({\n organisationId,\n schema,\n }),\n {\n onSuccess: async () => {\n await queryClient.invalidateQueries(CREDENTIAL_SCHEMA_LIST_QUERY_KEY);\n await queryClient.invalidateQueries(HISTORY_LIST_QUERY_KEY);\n },\n },\n );\n};\n\nexport const useCredentialSchemaDetail = (credentialId: string | undefined, active = true) => {\n const { core } = useONECore();\n\n return useQuery(\n [CREDENTIAL_SCHEMA_DETAIL_QUERY_KEY, credentialId],\n () => (credentialId ? core.getCredentialSchema(credentialId) : undefined),\n {\n enabled: active && Boolean(credentialId),\n keepPreviousData: true,\n },\n );\n};\n\nexport const useCredentialSchemaDelete = () => {\n const queryClient = useQueryClient();\n const { core } = useONECore();\n\n return useMutation(async (credentialSchemaId: string) => core.deleteCredentialSchema(credentialSchemaId), {\n onSuccess: async (_, credentialId) => {\n await queryClient.invalidateQueries(CREDENTIAL_SCHEMA_LIST_QUERY_KEY);\n await queryClient.removeQueries([CREDENTIAL_SCHEMA_DETAIL_QUERY_KEY, credentialId]);\n await queryClient.invalidateQueries(HISTORY_LIST_QUERY_KEY);\n },\n });\n};\n\nexport const useShareCredentialSchema = (schemaId?: string) => {\n const { core } = useONECore();\n\n return useQuery(\n [CREDENTIAL_SCHEMA_SHARE_QUERY_KEY, schemaId],\n () => (schemaId ? core.shareCredentialSchema(schemaId) : Promise.reject()),\n {\n enabled: Boolean(schemaId),\n keepPreviousData: true,\n },\n );\n};\n"],"mappings":"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","ignoreList":[]}
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.useWalletUnitUpdate = exports.useWalletUnitTrustCollections = exports.useWalletUnitStatus = exports.useWalletUnitDetail = exports.useWalletUnitCheck = exports.useRegisterWalletUnit = exports.WALLET_UNIT_TRUST_COLLECTIONS_QUERY_KEY = exports.WALLET_UNIT_QUERY_KEY = void 0;
6
+ exports.useWalletUnitUpdate = exports.useWalletUnitTrustCollections = exports.useWalletUnitStatus = exports.useWalletUnitDetail = exports.useWalletUnitCheck = exports.useRegisterWalletUnit = exports.useActivateWalletUnit = exports.WALLET_UNIT_TRUST_COLLECTIONS_QUERY_KEY = exports.WALLET_UNIT_QUERY_KEY = void 0;
7
7
  var _reactNativeOneCore = require("@procivis/react-native-one-core");
8
8
  var _react = require("react");
9
9
  var _reactQuery = require("react-query");
@@ -49,6 +49,25 @@ const useRegisterWalletUnit = () => {
49
49
  });
50
50
  };
51
51
  exports.useRegisterWalletUnit = useRegisterWalletUnit;
52
+ const useActivateWalletUnit = () => {
53
+ const queryClient = (0, _reactQuery.useQueryClient)();
54
+ const {
55
+ core
56
+ } = (0, _coreContext.useONECore)();
57
+ return (0, _reactQuery.useMutation)(async ({
58
+ id,
59
+ userIdToken
60
+ }) => core.holderActivateWalletUnit(id, {
61
+ keyType: 'ECDSA',
62
+ userIdToken
63
+ }), {
64
+ onSuccess: async () => {
65
+ await queryClient.invalidateQueries(WALLET_UNIT_QUERY_KEY);
66
+ await queryClient.invalidateQueries(WALLET_UNIT_TRUST_COLLECTIONS_QUERY_KEY);
67
+ }
68
+ });
69
+ };
70
+ exports.useActivateWalletUnit = useActivateWalletUnit;
52
71
  const useWalletUnitStatus = () => {
53
72
  const queryClient = (0, _reactQuery.useQueryClient)();
54
73
  const {
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNativeOneCore","require","_react","_reactQuery","_reporting","_coreContext","WALLET_UNIT_QUERY_KEY","exports","WALLET_UNIT_TRUST_COLLECTIONS_QUERY_KEY","useWalletUnitDetail","walletUnitId","active","core","useONECore","useQuery","holderGetWalletUnit","undefined","enabled","Boolean","keepPreviousData","useWalletUnitTrustCollections","holderGetWalletUnitTrustCollections","useRegisterWalletUnit","queryClient","useQueryClient","organisationId","useMutation","request","holderRegisterWalletUnit","keyType","onSuccess","invalidateQueries","useWalletUnitStatus","holderWalletUnitStatus","onError","err","reportException","useWalletUnitUpdate","update","holderWalletUnitUpdate","useWalletUnitCheck","data","walletUnitDetail","isLoading","mutateAsync","refreshWalletUnit","isRefreshing","status","refreshStatus","useEffect","WalletUnitStatus","ACTIVE"],"sources":["wallet-unit.ts"],"sourcesContent":["import {\n HolderRegisterWalletUnitRequest,\n HolderWalletUnit,\n HolderWalletUnitUpdateRequest,\n WalletUnitStatus,\n} from '@procivis/react-native-one-core';\nimport { useEffect } from 'react';\nimport { useMutation, useQuery, useQueryClient } from 'react-query';\n\nimport { reportException } from '../../reporting';\nimport { useONECore } from './core-context';\n\nexport const WALLET_UNIT_QUERY_KEY = 'wallet-unit';\nexport const WALLET_UNIT_TRUST_COLLECTIONS_QUERY_KEY = 'wallet-unit-trust-collections';\n\nexport const useWalletUnitDetail = (walletUnitId: HolderWalletUnit['id'] | undefined, active = true) => {\n const { core } = useONECore();\n\n return useQuery(\n [WALLET_UNIT_QUERY_KEY, walletUnitId],\n () => (walletUnitId ? core.holderGetWalletUnit(walletUnitId) : undefined),\n {\n enabled: active && Boolean(walletUnitId),\n keepPreviousData: true,\n },\n );\n};\n\nexport const useWalletUnitTrustCollections = (walletUnitId: HolderWalletUnit['id'] | undefined, active = true) => {\n const { core } = useONECore();\n\n return useQuery(\n [WALLET_UNIT_TRUST_COLLECTIONS_QUERY_KEY, walletUnitId],\n () => (walletUnitId ? core.holderGetWalletUnitTrustCollections(walletUnitId) : undefined),\n {\n enabled: active && Boolean(walletUnitId),\n keepPreviousData: true,\n },\n );\n};\n\nexport const useRegisterWalletUnit = () => {\n const queryClient = useQueryClient();\n const { core, organisationId } = useONECore();\n\n return useMutation(\n async (request: Omit<HolderRegisterWalletUnitRequest, 'organisationId' | 'keyType'>) =>\n core.holderRegisterWalletUnit({\n keyType: 'ECDSA',\n organisationId,\n ...request,\n }),\n\n {\n onSuccess: async () => {\n await queryClient.invalidateQueries(WALLET_UNIT_QUERY_KEY);\n await queryClient.invalidateQueries(WALLET_UNIT_TRUST_COLLECTIONS_QUERY_KEY);\n },\n },\n );\n};\n\nexport const useWalletUnitStatus = () => {\n const queryClient = useQueryClient();\n const { core } = useONECore();\n\n return useMutation(async (walletUnitId: HolderWalletUnit['id']) => core.holderWalletUnitStatus(walletUnitId), {\n onError: async (err) => {\n reportException(err, 'Refresh wallet unit failure');\n await queryClient.invalidateQueries(WALLET_UNIT_QUERY_KEY);\n },\n onSuccess: () => queryClient.invalidateQueries(WALLET_UNIT_QUERY_KEY),\n });\n};\n\nexport const useWalletUnitUpdate = () => {\n const queryClient = useQueryClient();\n const { core } = useONECore();\n\n return useMutation(\n async ({ walletUnitId, update }: { walletUnitId: HolderWalletUnit['id']; update: HolderWalletUnitUpdateRequest }) =>\n core.holderWalletUnitUpdate(walletUnitId, update),\n {\n onError: async (err) => {\n reportException(err, 'Update wallet unit failure');\n await queryClient.invalidateQueries(WALLET_UNIT_QUERY_KEY);\n await queryClient.invalidateQueries(WALLET_UNIT_TRUST_COLLECTIONS_QUERY_KEY);\n },\n onSuccess: async () => {\n await queryClient.invalidateQueries(WALLET_UNIT_QUERY_KEY);\n await queryClient.invalidateQueries(WALLET_UNIT_TRUST_COLLECTIONS_QUERY_KEY);\n },\n },\n );\n};\n\nexport const useWalletUnitCheck = (walletUnitId: HolderWalletUnit['id'] | undefined) => {\n const { data: walletUnitDetail, isLoading } = useWalletUnitDetail(walletUnitId);\n const { mutateAsync: refreshWalletUnit, isLoading: isRefreshing, status: refreshStatus } = useWalletUnitStatus();\n\n useEffect(() => {\n if (isLoading || refreshStatus !== 'idle') {\n return;\n }\n if (walletUnitId && walletUnitDetail?.status === WalletUnitStatus.ACTIVE) {\n void refreshWalletUnit(walletUnitId);\n }\n }, [isLoading, refreshStatus, walletUnitDetail, refreshWalletUnit, walletUnitId]);\n\n return {\n isLoading: isLoading || isRefreshing,\n walletUnitDetail: isLoading || isRefreshing ? undefined : walletUnitDetail,\n };\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_reactNativeOneCore","require","_react","_reactQuery","_reporting","_coreContext","WALLET_UNIT_QUERY_KEY","exports","WALLET_UNIT_TRUST_COLLECTIONS_QUERY_KEY","useWalletUnitDetail","walletUnitId","active","core","useONECore","useQuery","holderGetWalletUnit","undefined","enabled","Boolean","keepPreviousData","useWalletUnitTrustCollections","holderGetWalletUnitTrustCollections","useRegisterWalletUnit","queryClient","useQueryClient","organisationId","useMutation","request","holderRegisterWalletUnit","keyType","onSuccess","invalidateQueries","useActivateWalletUnit","id","userIdToken","holderActivateWalletUnit","useWalletUnitStatus","holderWalletUnitStatus","onError","err","reportException","useWalletUnitUpdate","update","holderWalletUnitUpdate","useWalletUnitCheck","data","walletUnitDetail","isLoading","mutateAsync","refreshWalletUnit","isRefreshing","status","refreshStatus","useEffect","WalletUnitStatus","ACTIVE"],"sources":["wallet-unit.ts"],"sourcesContent":["import {\n HolderActivateWalletUnitRequest,\n HolderRegisterWalletUnitRequest,\n HolderWalletUnit,\n HolderWalletUnitUpdateRequest,\n WalletUnitStatus,\n} from '@procivis/react-native-one-core';\nimport { useEffect } from 'react';\nimport { useMutation, useQuery, useQueryClient } from 'react-query';\n\nimport { reportException } from '../../reporting';\nimport { useONECore } from './core-context';\n\nexport const WALLET_UNIT_QUERY_KEY = 'wallet-unit';\nexport const WALLET_UNIT_TRUST_COLLECTIONS_QUERY_KEY = 'wallet-unit-trust-collections';\n\nexport const useWalletUnitDetail = (walletUnitId: HolderWalletUnit['id'] | undefined, active = true) => {\n const { core } = useONECore();\n\n return useQuery(\n [WALLET_UNIT_QUERY_KEY, walletUnitId],\n () => (walletUnitId ? core.holderGetWalletUnit(walletUnitId) : undefined),\n {\n enabled: active && Boolean(walletUnitId),\n keepPreviousData: true,\n },\n );\n};\n\nexport const useWalletUnitTrustCollections = (walletUnitId: HolderWalletUnit['id'] | undefined, active = true) => {\n const { core } = useONECore();\n\n return useQuery(\n [WALLET_UNIT_TRUST_COLLECTIONS_QUERY_KEY, walletUnitId],\n () => (walletUnitId ? core.holderGetWalletUnitTrustCollections(walletUnitId) : undefined),\n {\n enabled: active && Boolean(walletUnitId),\n keepPreviousData: true,\n },\n );\n};\n\nexport const useRegisterWalletUnit = () => {\n const queryClient = useQueryClient();\n const { core, organisationId } = useONECore();\n\n return useMutation(\n async (request: Omit<HolderRegisterWalletUnitRequest, 'organisationId' | 'keyType'>) =>\n core.holderRegisterWalletUnit({\n keyType: 'ECDSA',\n organisationId,\n ...request,\n }),\n\n {\n onSuccess: async () => {\n await queryClient.invalidateQueries(WALLET_UNIT_QUERY_KEY);\n await queryClient.invalidateQueries(WALLET_UNIT_TRUST_COLLECTIONS_QUERY_KEY);\n },\n },\n );\n};\n\nexport const useActivateWalletUnit = () => {\n const queryClient = useQueryClient();\n const { core } = useONECore();\n\n return useMutation(\n async ({ id, userIdToken }: { id: string; userIdToken: HolderActivateWalletUnitRequest['userIdToken'] }) =>\n core.holderActivateWalletUnit(id, {\n keyType: 'ECDSA',\n userIdToken,\n }),\n\n {\n onSuccess: async () => {\n await queryClient.invalidateQueries(WALLET_UNIT_QUERY_KEY);\n await queryClient.invalidateQueries(WALLET_UNIT_TRUST_COLLECTIONS_QUERY_KEY);\n },\n },\n );\n};\n\nexport const useWalletUnitStatus = () => {\n const queryClient = useQueryClient();\n const { core } = useONECore();\n\n return useMutation(async (walletUnitId: HolderWalletUnit['id']) => core.holderWalletUnitStatus(walletUnitId), {\n onError: async (err) => {\n reportException(err, 'Refresh wallet unit failure');\n await queryClient.invalidateQueries(WALLET_UNIT_QUERY_KEY);\n },\n onSuccess: () => queryClient.invalidateQueries(WALLET_UNIT_QUERY_KEY),\n });\n};\n\nexport const useWalletUnitUpdate = () => {\n const queryClient = useQueryClient();\n const { core } = useONECore();\n\n return useMutation(\n async ({ walletUnitId, update }: { walletUnitId: HolderWalletUnit['id']; update: HolderWalletUnitUpdateRequest }) =>\n core.holderWalletUnitUpdate(walletUnitId, update),\n {\n onError: async (err) => {\n reportException(err, 'Update wallet unit failure');\n await queryClient.invalidateQueries(WALLET_UNIT_QUERY_KEY);\n await queryClient.invalidateQueries(WALLET_UNIT_TRUST_COLLECTIONS_QUERY_KEY);\n },\n onSuccess: async () => {\n await queryClient.invalidateQueries(WALLET_UNIT_QUERY_KEY);\n await queryClient.invalidateQueries(WALLET_UNIT_TRUST_COLLECTIONS_QUERY_KEY);\n },\n },\n );\n};\n\nexport const useWalletUnitCheck = (walletUnitId: HolderWalletUnit['id'] | undefined) => {\n const { data: walletUnitDetail, isLoading } = useWalletUnitDetail(walletUnitId);\n const { mutateAsync: refreshWalletUnit, isLoading: isRefreshing, status: refreshStatus } = useWalletUnitStatus();\n\n useEffect(() => {\n if (isLoading || refreshStatus !== 'idle') {\n return;\n }\n if (walletUnitId && walletUnitDetail?.status === WalletUnitStatus.ACTIVE) {\n void refreshWalletUnit(walletUnitId);\n }\n }, [isLoading, refreshStatus, walletUnitDetail, refreshWalletUnit, walletUnitId]);\n\n return {\n isLoading: isLoading || isRefreshing,\n walletUnitDetail: isLoading || isRefreshing ? undefined : walletUnitDetail,\n };\n};\n"],"mappings":"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","ignoreList":[]}
@@ -4,6 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.shareCredentialCardFromV2PresentationCredential = exports.shareCredentialCardAttributeFromV2Claim = exports.selectCredentialCardFromV2Credential = exports.missingCredentialCardFromFailureHint = exports.getV2CredentialClaimAllSubpaths = exports.getV2CredentialAvailablePaths = void 0;
7
+ var _reactNativeOneCore = require("@procivis/react-native-one-core");
7
8
  var _react = _interopRequireDefault(require("react"));
8
9
  var _uiComponents = require("../../ui-components");
9
10
  var _testID = require("../testID");
@@ -106,17 +107,15 @@ const shareCredentialCardFromV2PresentationCredential = (credential, failureHint
106
107
  var _credential$issuer, _credential$claims$ma;
107
108
  const selectiveDisclosureSupported = (0, _.supportsSelectiveDisclosure)(credential ? {
108
109
  ...credential,
109
- issuer: (_credential$issuer = credential.issuer) === null || _credential$issuer === void 0 ? void 0 : _credential$issuer.id
110
+ issuer: (_credential$issuer = credential.issuer) === null || _credential$issuer === void 0 ? void 0 : _credential$issuer.id,
111
+ type: _reactNativeOneCore.CredentialType.SINGLE
110
112
  } : undefined, config);
111
113
  const notice = purpose ? {
112
114
  noticeIcon: _uiComponents.PurposeInfoIcon,
113
115
  text: purpose
114
116
  } : undefined;
115
117
  const cardTestId = (0, _testID.concatTestID)(testID, 'card');
116
- const card = credential ? (0, _credentialSharing.validityCheckedCardFromCredential)({
117
- ...credential,
118
- claims: []
119
- }, expanded, selectiveDisclosureSupported, multipleCredentialsAvailable, config, notice, cardTestId, labels, language) : missingCredentialCardFromFailureHint(failureHint, notice, cardTestId, labels);
118
+ const card = credential ? (0, _credentialSharing.validityCheckedCardFromCredential)(credential, expanded, selectiveDisclosureSupported, multipleCredentialsAvailable, config, notice, cardTestId, labels, language) : missingCredentialCardFromFailureHint(failureHint, notice, cardTestId, labels);
120
119
  return {
121
120
  attributes: (_credential$claims$ma = credential === null || credential === void 0 ? void 0 : credential.claims.map(v => shareCredentialCardAttributeFromV2Claim(v, selectedFields !== null && selectedFields !== void 0 ? selectedFields : [], true, false, config, testID, language))) !== null && _credential$claims$ma !== void 0 ? _credential$claims$ma : [],
122
121
  card
@@ -127,7 +126,8 @@ const selectCredentialCardFromV2Credential = (credential, selected, multiple, co
127
126
  var _credential$issuer2, _credential$claims$ma2;
128
127
  const selectiveDisclosureSupported = (0, _.supportsSelectiveDisclosure)(credential ? {
129
128
  ...credential,
130
- issuer: (_credential$issuer2 = credential.issuer) === null || _credential$issuer2 === void 0 ? void 0 : _credential$issuer2.id
129
+ issuer: (_credential$issuer2 = credential.issuer) === null || _credential$issuer2 === void 0 ? void 0 : _credential$issuer2.id,
130
+ type: _reactNativeOneCore.CredentialType.SINGLE
131
131
  } : undefined, config);
132
132
  const selectedStatus = multiple ? _uiComponents.SelectorStatus.SelectedCheckmark : _uiComponents.SelectorStatus.SelectedRadio;
133
133
  const rightAccessory = /*#__PURE__*/_react.default.createElement(_uiComponents.Selector, {
@@ -142,7 +142,8 @@ const selectCredentialCardFromV2Credential = (credential, selected, multiple, co
142
142
  ...cardProps
143
143
  } = (0, _.getCredentialCardPropsFromCredential)({
144
144
  ...credential,
145
- claims: credential.claims.map(v2PresentationClaimToClaim)
145
+ claims: credential.claims.map(v2PresentationClaimToClaim),
146
+ type: _reactNativeOneCore.CredentialType.SINGLE
146
147
  }, credential.claims.map(v2PresentationClaimToClaim), config, notice, testID, labels, language);
147
148
  const card = {
148
149
  header: {
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_uiComponents","_testID","_","_credentialSharing","e","__esModule","default","v2ClaimValueToClaimValue","value","type_","map","c","v2PresentationClaimToClaim","claim","schema","path","getAttributeSelectorStatus","selected","force","required","SelectorStatus","Required","userSelection","SelectedCheckmark","Empty","shareCredentialCardAttributeFromV2Claim","selection","parentShared","parentUserSelected","config","testID","language","nested","listValue","attributeShared","Boolean","some","startsWith","userSelected","includes","status","undefined","attribute","detailsCardAttributeFromClaim","disabledStatus","Disabled","Rejected","disabled","credentialAttribute","id","rightAccessory","createElement","Selector","array","attributes","image","values","v","datatype","valueErrorColor","exports","missingCredentialCardFromFailureHint","failureHint","notice","labels","_failureHint$credenti","_failureHint$credenti2","cardImage","color","header","credentialDetailErrorColor","credentialDetailPrimary","missingCredential","credentialDetailTestID","concatTestID","credentialName","credentialSchema","name","statusIcon","CredentialWarningIcon","shareCredentialCardFromV2PresentationCredential","credential","expanded","multipleCredentialsAvailable","purpose","selectedFields","_credential$issuer","_credential$claims$ma","selectiveDisclosureSupported","supportsSelectiveDisclosure","issuer","noticeIcon","PurposeInfoIcon","text","cardTestId","card","validityCheckedCardFromCredential","claims","selectCredentialCardFromV2Credential","multiple","_credential$issuer2","_credential$claims$ma2","selectedStatus","SelectedRadio","CredentialNoticeWarningIcon","selectiveDisclosure","cardProps","getCredentialCardPropsFromCredential","accessory","getV2CredentialClaimAllSubpaths","flatMap","getV2CredentialAvailablePaths"],"sources":["credential-sharing-v2.tsx"],"sourcesContent":["import {\n Claim,\n ClaimValue,\n CoreConfig,\n CredentialQueryFailureHint,\n PresentationDefinitionV2Claim,\n PresentationDefinitionV2ClaimValue,\n PresentationDefinitionV2Credential,\n} from '@procivis/react-native-one-core';\nimport React from 'react';\n\nimport {\n CredentialAttribute,\n CredentialCardNotice,\n CredentialCardProps,\n CredentialNoticeWarningIcon,\n CredentialWarningIcon,\n PurposeInfoIcon,\n Selector,\n SelectorStatus,\n} from '../../ui-components';\nimport { concatTestID } from '../testID';\nimport {\n CredentialDetailsCardPropsWithoutWidth,\n detailsCardAttributeFromClaim,\n getCredentialCardPropsFromCredential,\n supportsSelectiveDisclosure,\n} from '.';\nimport { ShareCredentialCardLabels, validityCheckedCardFromCredential } from './credential-sharing';\n\nconst v2ClaimValueToClaimValue = (value: PresentationDefinitionV2ClaimValue): ClaimValue => {\n if (value.type_ !== 'NESTED') {\n return value;\n }\n return {\n type_: 'NESTED',\n value: value.value.map((c) => v2PresentationClaimToClaim(c)),\n };\n};\n\nconst v2PresentationClaimToClaim = (claim: PresentationDefinitionV2Claim): Claim => {\n return {\n schema: claim.schema,\n path: claim.path,\n value: v2ClaimValueToClaimValue(claim.value),\n };\n};\n\nconst getAttributeSelectorStatus = (\n claim: PresentationDefinitionV2Claim,\n selected: boolean,\n force: boolean,\n): SelectorStatus | undefined => {\n if (claim.required && selected) {\n return SelectorStatus.Required;\n }\n if (force) {\n return SelectorStatus.Required;\n }\n if (claim.userSelection) {\n if (selected) {\n return SelectorStatus.SelectedCheckmark;\n } else {\n return SelectorStatus.Empty;\n }\n }\n};\n\nexport const shareCredentialCardAttributeFromV2Claim = (\n claim: PresentationDefinitionV2Claim,\n selection: string[] | undefined,\n parentShared: boolean,\n parentUserSelected: boolean,\n config: CoreConfig,\n testID: string,\n language: string | undefined,\n nested?: boolean,\n listValue?: boolean,\n): CredentialAttribute => {\n const attributeShared =\n Boolean(selection?.some((path) => path.startsWith(claim.path))) || (parentShared && claim.required);\n const userSelected = parentUserSelected || Boolean(selection?.includes(claim.path));\n const selected = !claim.required && attributeShared;\n const status = selection\n ? getAttributeSelectorStatus(claim, attributeShared, parentUserSelected || (attributeShared && !userSelected))\n : undefined;\n const attribute = detailsCardAttributeFromClaim(v2PresentationClaimToClaim(claim), config, testID, language);\n const disabledStatus = [SelectorStatus.Disabled, SelectorStatus.Rejected, SelectorStatus.Required];\n const disabled = attribute.disabled || !status || disabledStatus.includes(status);\n const credentialAttribute: CredentialAttribute = {\n ...attribute,\n disabled,\n id: claim.path,\n listValue,\n nested,\n path: claim.path,\n rightAccessory: status && <Selector status={status} />,\n selected,\n testID,\n };\n if (claim.value.type_ === 'NESTED') {\n if (claim.schema.array) {\n return {\n ...credentialAttribute,\n attributes: undefined,\n image: undefined,\n value: undefined,\n values: claim.value.value.map((v) =>\n shareCredentialCardAttributeFromV2Claim(\n v,\n selection,\n attributeShared,\n userSelected,\n config,\n testID,\n language,\n true,\n false,\n ),\n ),\n };\n } else if (claim.schema.datatype === 'OBJECT') {\n return {\n ...credentialAttribute,\n attributes: claim.value.value.map((v) =>\n shareCredentialCardAttributeFromV2Claim(\n v,\n selection,\n attributeShared,\n userSelected,\n config,\n testID,\n language,\n true,\n ),\n ),\n image: undefined,\n value: undefined,\n valueErrorColor: undefined,\n values: undefined,\n };\n }\n }\n return credentialAttribute;\n};\n\nexport const missingCredentialCardFromFailureHint = (\n failureHint: CredentialQueryFailureHint | undefined,\n notice: CredentialCardNotice | undefined,\n testID: string,\n labels: ShareCredentialCardLabels,\n): Omit<CredentialCardProps, 'onHeaderPress' | 'style' | 'width'> => {\n return {\n cardImage: undefined,\n color: undefined,\n header: {\n credentialDetailErrorColor: true,\n credentialDetailPrimary: labels.missingCredential,\n credentialDetailTestID: concatTestID(testID, 'header.missing'),\n credentialName: failureHint?.credentialSchema?.name ?? '',\n statusIcon: CredentialWarningIcon,\n },\n testID,\n ...notice,\n };\n};\n\nexport const shareCredentialCardFromV2PresentationCredential = (\n credential: PresentationDefinitionV2Credential | undefined,\n failureHint: CredentialQueryFailureHint | undefined,\n expanded: boolean,\n multipleCredentialsAvailable: boolean,\n purpose: string | undefined,\n selectedFields: string[] | undefined,\n config: CoreConfig,\n testID: string,\n labels: ShareCredentialCardLabels,\n language: string | undefined,\n): CredentialDetailsCardPropsWithoutWidth => {\n const selectiveDisclosureSupported = supportsSelectiveDisclosure(\n credential ? { ...credential, issuer: credential.issuer?.id } : undefined,\n config,\n );\n const notice: CredentialCardNotice | undefined = purpose\n ? {\n noticeIcon: PurposeInfoIcon,\n text: purpose,\n }\n : undefined;\n const cardTestId = concatTestID(testID, 'card');\n const card = credential\n ? validityCheckedCardFromCredential(\n {\n ...credential,\n claims: [],\n },\n expanded,\n selectiveDisclosureSupported,\n multipleCredentialsAvailable,\n config,\n notice,\n cardTestId,\n labels,\n language,\n )\n : missingCredentialCardFromFailureHint(failureHint, notice, cardTestId, labels);\n\n return {\n attributes:\n credential?.claims.map((v) =>\n shareCredentialCardAttributeFromV2Claim(v, selectedFields ?? [], true, false, config, testID, language),\n ) ?? [],\n card,\n };\n};\n\nexport const selectCredentialCardFromV2Credential = (\n credential: PresentationDefinitionV2Credential,\n selected: boolean,\n multiple: boolean,\n config: CoreConfig,\n testID: string,\n labels: ShareCredentialCardLabels,\n language: string | undefined,\n): CredentialDetailsCardPropsWithoutWidth => {\n const selectiveDisclosureSupported = supportsSelectiveDisclosure(\n credential ? { ...credential, issuer: credential.issuer?.id } : undefined,\n config,\n );\n const selectedStatus = multiple ? SelectorStatus.SelectedCheckmark : SelectorStatus.SelectedRadio;\n const rightAccessory = <Selector status={selected ? selectedStatus : SelectorStatus.Empty} />;\n const notice: CredentialCardNotice | undefined =\n selectiveDisclosureSupported === false\n ? {\n noticeIcon: CredentialNoticeWarningIcon,\n text: labels.selectiveDisclosure,\n }\n : undefined;\n const { header, ...cardProps } = getCredentialCardPropsFromCredential(\n {\n ...credential,\n claims: credential.claims.map(v2PresentationClaimToClaim),\n },\n credential.claims.map(v2PresentationClaimToClaim),\n config,\n notice,\n testID,\n labels,\n language,\n );\n const card = {\n header: {\n ...header,\n accessory: rightAccessory,\n },\n ...cardProps,\n };\n return {\n attributes:\n credential?.claims.map((v) =>\n shareCredentialCardAttributeFromV2Claim(v, undefined, false, false, config, testID, language),\n ) ?? [],\n card,\n };\n};\n\nexport const getV2CredentialClaimAllSubpaths = (claim: PresentationDefinitionV2Claim): string[] => {\n if (claim.value.type_ !== 'NESTED') {\n return [claim.path];\n }\n return [claim.path, ...claim.value.value.flatMap(getV2CredentialClaimAllSubpaths)];\n};\n\nexport const getV2CredentialAvailablePaths = (credential: PresentationDefinitionV2Credential): string[] => {\n return credential.claims.flatMap(getV2CredentialClaimAllSubpaths);\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_reactNativeOneCore","require","_react","_interopRequireDefault","_uiComponents","_testID","_","_credentialSharing","e","__esModule","default","v2ClaimValueToClaimValue","value","type_","map","c","v2PresentationClaimToClaim","claim","schema","path","getAttributeSelectorStatus","selected","force","required","SelectorStatus","Required","userSelection","SelectedCheckmark","Empty","shareCredentialCardAttributeFromV2Claim","selection","parentShared","parentUserSelected","config","testID","language","nested","listValue","attributeShared","Boolean","some","startsWith","userSelected","includes","status","undefined","attribute","detailsCardAttributeFromClaim","disabledStatus","Disabled","Rejected","disabled","credentialAttribute","id","rightAccessory","createElement","Selector","array","attributes","image","values","v","datatype","valueErrorColor","exports","missingCredentialCardFromFailureHint","failureHint","notice","labels","_failureHint$credenti","_failureHint$credenti2","cardImage","color","header","credentialDetailErrorColor","credentialDetailPrimary","missingCredential","credentialDetailTestID","concatTestID","credentialName","credentialSchema","name","statusIcon","CredentialWarningIcon","shareCredentialCardFromV2PresentationCredential","credential","expanded","multipleCredentialsAvailable","purpose","selectedFields","_credential$issuer","_credential$claims$ma","selectiveDisclosureSupported","supportsSelectiveDisclosure","issuer","type","CredentialType","SINGLE","noticeIcon","PurposeInfoIcon","text","cardTestId","card","validityCheckedCardFromCredential","claims","selectCredentialCardFromV2Credential","multiple","_credential$issuer2","_credential$claims$ma2","selectedStatus","SelectedRadio","CredentialNoticeWarningIcon","selectiveDisclosure","cardProps","getCredentialCardPropsFromCredential","accessory","getV2CredentialClaimAllSubpaths","flatMap","getV2CredentialAvailablePaths"],"sources":["credential-sharing-v2.tsx"],"sourcesContent":["import {\n Claim,\n ClaimValue,\n CoreConfig,\n CredentialQueryFailureHint,\n CredentialType,\n PresentationDefinitionV2Claim,\n PresentationDefinitionV2ClaimValue,\n PresentationDefinitionV2Credential,\n} from '@procivis/react-native-one-core';\nimport React from 'react';\n\nimport {\n CredentialAttribute,\n CredentialCardNotice,\n CredentialCardProps,\n CredentialNoticeWarningIcon,\n CredentialWarningIcon,\n PurposeInfoIcon,\n Selector,\n SelectorStatus,\n} from '../../ui-components';\nimport { concatTestID } from '../testID';\nimport {\n CredentialDetailsCardPropsWithoutWidth,\n detailsCardAttributeFromClaim,\n getCredentialCardPropsFromCredential,\n supportsSelectiveDisclosure,\n} from '.';\nimport { ShareCredentialCardLabels, validityCheckedCardFromCredential } from './credential-sharing';\n\nconst v2ClaimValueToClaimValue = (value: PresentationDefinitionV2ClaimValue): ClaimValue => {\n if (value.type_ !== 'NESTED') {\n return value;\n }\n return {\n type_: 'NESTED',\n value: value.value.map((c) => v2PresentationClaimToClaim(c)),\n };\n};\n\nconst v2PresentationClaimToClaim = (claim: PresentationDefinitionV2Claim): Claim => {\n return {\n schema: claim.schema,\n path: claim.path,\n value: v2ClaimValueToClaimValue(claim.value),\n };\n};\n\nconst getAttributeSelectorStatus = (\n claim: PresentationDefinitionV2Claim,\n selected: boolean,\n force: boolean,\n): SelectorStatus | undefined => {\n if (claim.required && selected) {\n return SelectorStatus.Required;\n }\n if (force) {\n return SelectorStatus.Required;\n }\n if (claim.userSelection) {\n if (selected) {\n return SelectorStatus.SelectedCheckmark;\n } else {\n return SelectorStatus.Empty;\n }\n }\n};\n\nexport const shareCredentialCardAttributeFromV2Claim = (\n claim: PresentationDefinitionV2Claim,\n selection: string[] | undefined,\n parentShared: boolean,\n parentUserSelected: boolean,\n config: CoreConfig,\n testID: string,\n language: string | undefined,\n nested?: boolean,\n listValue?: boolean,\n): CredentialAttribute => {\n const attributeShared =\n Boolean(selection?.some((path) => path.startsWith(claim.path))) || (parentShared && claim.required);\n const userSelected = parentUserSelected || Boolean(selection?.includes(claim.path));\n const selected = !claim.required && attributeShared;\n const status = selection\n ? getAttributeSelectorStatus(claim, attributeShared, parentUserSelected || (attributeShared && !userSelected))\n : undefined;\n const attribute = detailsCardAttributeFromClaim(v2PresentationClaimToClaim(claim), config, testID, language);\n const disabledStatus = [SelectorStatus.Disabled, SelectorStatus.Rejected, SelectorStatus.Required];\n const disabled = attribute.disabled || !status || disabledStatus.includes(status);\n const credentialAttribute: CredentialAttribute = {\n ...attribute,\n disabled,\n id: claim.path,\n listValue,\n nested,\n path: claim.path,\n rightAccessory: status && <Selector status={status} />,\n selected,\n testID,\n };\n if (claim.value.type_ === 'NESTED') {\n if (claim.schema.array) {\n return {\n ...credentialAttribute,\n attributes: undefined,\n image: undefined,\n value: undefined,\n values: claim.value.value.map((v) =>\n shareCredentialCardAttributeFromV2Claim(\n v,\n selection,\n attributeShared,\n userSelected,\n config,\n testID,\n language,\n true,\n false,\n ),\n ),\n };\n } else if (claim.schema.datatype === 'OBJECT') {\n return {\n ...credentialAttribute,\n attributes: claim.value.value.map((v) =>\n shareCredentialCardAttributeFromV2Claim(\n v,\n selection,\n attributeShared,\n userSelected,\n config,\n testID,\n language,\n true,\n ),\n ),\n image: undefined,\n value: undefined,\n valueErrorColor: undefined,\n values: undefined,\n };\n }\n }\n return credentialAttribute;\n};\n\nexport const missingCredentialCardFromFailureHint = (\n failureHint: CredentialQueryFailureHint | undefined,\n notice: CredentialCardNotice | undefined,\n testID: string,\n labels: ShareCredentialCardLabels,\n): Omit<CredentialCardProps, 'onHeaderPress' | 'style' | 'width'> => {\n return {\n cardImage: undefined,\n color: undefined,\n header: {\n credentialDetailErrorColor: true,\n credentialDetailPrimary: labels.missingCredential,\n credentialDetailTestID: concatTestID(testID, 'header.missing'),\n credentialName: failureHint?.credentialSchema?.name ?? '',\n statusIcon: CredentialWarningIcon,\n },\n testID,\n ...notice,\n };\n};\n\nexport const shareCredentialCardFromV2PresentationCredential = (\n credential: PresentationDefinitionV2Credential | undefined,\n failureHint: CredentialQueryFailureHint | undefined,\n expanded: boolean,\n multipleCredentialsAvailable: boolean,\n purpose: string | undefined,\n selectedFields: string[] | undefined,\n config: CoreConfig,\n testID: string,\n labels: ShareCredentialCardLabels,\n language: string | undefined,\n): CredentialDetailsCardPropsWithoutWidth => {\n const selectiveDisclosureSupported = supportsSelectiveDisclosure(\n credential ? { ...credential, issuer: credential.issuer?.id, type: CredentialType.SINGLE } : undefined,\n config,\n );\n const notice: CredentialCardNotice | undefined = purpose\n ? {\n noticeIcon: PurposeInfoIcon,\n text: purpose,\n }\n : undefined;\n const cardTestId = concatTestID(testID, 'card');\n const card = credential\n ? validityCheckedCardFromCredential(\n credential,\n expanded,\n selectiveDisclosureSupported,\n multipleCredentialsAvailable,\n config,\n notice,\n cardTestId,\n labels,\n language,\n )\n : missingCredentialCardFromFailureHint(failureHint, notice, cardTestId, labels);\n\n return {\n attributes:\n credential?.claims.map((v) =>\n shareCredentialCardAttributeFromV2Claim(v, selectedFields ?? [], true, false, config, testID, language),\n ) ?? [],\n card,\n };\n};\n\nexport const selectCredentialCardFromV2Credential = (\n credential: PresentationDefinitionV2Credential,\n selected: boolean,\n multiple: boolean,\n config: CoreConfig,\n testID: string,\n labels: ShareCredentialCardLabels,\n language: string | undefined,\n): CredentialDetailsCardPropsWithoutWidth => {\n const selectiveDisclosureSupported = supportsSelectiveDisclosure(\n credential ? { ...credential, issuer: credential.issuer?.id, type: CredentialType.SINGLE } : undefined,\n config,\n );\n const selectedStatus = multiple ? SelectorStatus.SelectedCheckmark : SelectorStatus.SelectedRadio;\n const rightAccessory = <Selector status={selected ? selectedStatus : SelectorStatus.Empty} />;\n const notice: CredentialCardNotice | undefined =\n selectiveDisclosureSupported === false\n ? {\n noticeIcon: CredentialNoticeWarningIcon,\n text: labels.selectiveDisclosure,\n }\n : undefined;\n const { header, ...cardProps } = getCredentialCardPropsFromCredential(\n {\n ...credential,\n claims: credential.claims.map(v2PresentationClaimToClaim),\n type: CredentialType.SINGLE,\n },\n credential.claims.map(v2PresentationClaimToClaim),\n config,\n notice,\n testID,\n labels,\n language,\n );\n const card = {\n header: {\n ...header,\n accessory: rightAccessory,\n },\n ...cardProps,\n };\n return {\n attributes:\n credential?.claims.map((v) =>\n shareCredentialCardAttributeFromV2Claim(v, undefined, false, false, config, testID, language),\n ) ?? [],\n card,\n };\n};\n\nexport const getV2CredentialClaimAllSubpaths = (claim: PresentationDefinitionV2Claim): string[] => {\n if (claim.value.type_ !== 'NESTED') {\n return [claim.path];\n }\n return [claim.path, ...claim.value.value.flatMap(getV2CredentialClaimAllSubpaths)];\n};\n\nexport const getV2CredentialAvailablePaths = (credential: PresentationDefinitionV2Credential): string[] => {\n return credential.claims.flatMap(getV2CredentialClaimAllSubpaths);\n};\n"],"mappings":"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","ignoreList":[]}
@@ -4,6 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.validityCheckedCardFromCredential = exports.shareCredentialCardFromCredential = exports.shareCredentialCardAttributeFromClaim = exports.selectCredentialCardFromCredential = exports.selectCredentialCardAttributeFromClaim = exports.missingCredentialCardFromRequest = void 0;
7
+ var _reactNativeOneCore = require("@procivis/react-native-one-core");
7
8
  var _react = _interopRequireDefault(require("react"));
8
9
  var _credential = require("../../ui-components/credential");
9
10
  var _icons = require("../../ui-components/icons");
@@ -18,6 +19,12 @@ const validityCheckedCardFromCredential = (credential, expanded, selectiveDisclo
18
19
  credentialDetailTestID: (0, _testID.concatTestID)(testID, 'header.nonSelectiveDisclosure'),
19
20
  statusIcon: _icons.CredentialWarningIcon
20
21
  };
22
+ } else if ('embeddedDisclosurePolicyViolation' in credential) {
23
+ credentialHeaderDetail = {
24
+ credentialDetailPrimary: labels.disclosurePolicyViolation,
25
+ credentialDetailTestID: (0, _testID.concatTestID)(testID, 'header.dislosurePolicyViolation'),
26
+ statusIcon: _icons.CredentialWarningIcon
27
+ };
21
28
  } else if (!expanded && multipleCredentialsAvailable) {
22
29
  credentialHeaderDetail = {
23
30
  credentialDetailPrimary: labels.multipleCredentials,
@@ -25,7 +32,7 @@ const validityCheckedCardFromCredential = (credential, expanded, selectiveDisclo
25
32
  statusIcon: _icons.CredentialWarningIcon
26
33
  };
27
34
  }
28
- const card = (0, _credential2.getCredentialCardPropsFromCredential)(credential, credential.claims, config, notice, testID, labels, language);
35
+ const card = (0, _credential2.getCredentialCardPropsFromCredential)((0, _credential2.credentialDetailFromPresentationV2Credential)(credential), credential.claims, config, notice, testID, labels, language);
29
36
  return {
30
37
  ...card,
31
38
  header: {
@@ -172,18 +179,17 @@ const setStatusForNestedObjectOrArrayFields = (attribute, status, disabled) => {
172
179
  }
173
180
  };
174
181
  const shareCredentialCardFromCredential = (credential, expanded, multipleCredentialsAvailable, request, selectedFields, config, testID, labels, language) => {
175
- var _credential$issuer, _credential$issuer2;
176
- const selectiveDisclosureSupported = (0, _credential2.supportsSelectiveDisclosure)(credential ? {
182
+ var _credential$issuer;
183
+ const credentialAsListItem = credential ? {
184
+ type: _reactNativeOneCore.CredentialType.SINGLE,
177
185
  ...credential,
178
186
  issuer: (_credential$issuer = credential.issuer) === null || _credential$issuer === void 0 ? void 0 : _credential$issuer.id
179
- } : undefined, config);
187
+ } : undefined;
188
+ const selectiveDisclosureSupported = (0, _credential2.supportsSelectiveDisclosure)(credentialAsListItem, config);
180
189
  const cardTestId = (0, _testID.concatTestID)(testID, 'card');
181
190
  const card = credential ? validityCheckedCardFromCredential(credential, expanded, selectiveDisclosureSupported, multipleCredentialsAvailable, config, undefined, cardTestId, labels, language) : missingCredentialCardFromRequest(request, undefined, cardTestId, labels);
182
- const validityState = (0, _credential2.getValidityState)(credential ? {
183
- ...credential,
184
- issuer: (_credential$issuer2 = credential.issuer) === null || _credential$issuer2 === void 0 ? void 0 : _credential$issuer2.id
185
- } : undefined);
186
- const displayedAttributes = getDisplayedAttributes(request, validityState, credential, selectiveDisclosureSupported, selectedFields);
191
+ const validityState = (0, _credential2.getValidityState)(credentialAsListItem);
192
+ const displayedAttributes = getDisplayedAttributes(request, validityState, credential ? (0, _credential2.credentialDetailFromPresentationV2Credential)(credential) : undefined, selectiveDisclosureSupported, selectedFields);
187
193
  const attributes = displayedAttributes.map(({
188
194
  claim,
189
195
  field,
@@ -217,10 +223,10 @@ const selectCredentialCardAttributeFromClaim = (id, config, testID, labels, lang
217
223
  };
218
224
  exports.selectCredentialCardAttributeFromClaim = selectCredentialCardAttributeFromClaim;
219
225
  const selectCredentialCardFromCredential = (credential, selected, request, config, testID, labels, language) => {
220
- var _credential$issuer3;
226
+ var _credential$issuer2;
221
227
  const selectiveDisclosureSupported = (0, _credential2.supportsSelectiveDisclosure)(credential ? {
222
228
  ...credential,
223
- issuer: (_credential$issuer3 = credential.issuer) === null || _credential$issuer3 === void 0 ? void 0 : _credential$issuer3.id
229
+ issuer: (_credential$issuer2 = credential.issuer) === null || _credential$issuer2 === void 0 ? void 0 : _credential$issuer2.id
224
230
  } : undefined, config);
225
231
  const rightAccessory = /*#__PURE__*/_react.default.createElement(_credential.Selector, {
226
232
  status: selected ? _credential.SelectorStatus.SelectedRadio : _credential.SelectorStatus.Empty
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_credential","_icons","_testID","_credential2","e","__esModule","default","validityCheckedCardFromCredential","credential","expanded","selectiveDisclosureSupported","multipleCredentialsAvailable","config","notice","testID","labels","language","credentialHeaderDetail","credentialDetailPrimary","selectiveDisclosure","credentialDetailTestID","concatTestID","statusIcon","CredentialWarningIcon","multipleCredentials","card","getCredentialCardPropsFromCredential","claims","header","exports","missingCredentialCardFromRequest","request","_request$name","cardImage","undefined","color","credentialDetailErrorColor","missingCredential","credentialName","name","id","getAttributeSelectorStatus","field","validityState","claim","selected","ValidityState","Valid","SelectorStatus","Rejected","required","Required","Disabled","SelectedCheckmark","Empty","spreadClaims","reduce","acc","result","value","type_","nestedClaimsWithPath","map","c","isArrayElement","schema","array","path","split","pop","key","push","getDisplayedAttributes","selectedFields","isApplicable","applicableCredentials","includes","fields","fieldsWithNoKeyMapping","filter","keyMap","fullyNestedFields","getFullyNestedFields","find","status","credentialId","allKeys","every","k","startsWith","shareCredentialCardAttributeFromClaim","_field$name$split$pop","_field$name","_field$name2","detailsCardAttributeFromClaim","listValue","missingAttribute","valueErrorColor","setStatusForNestedObjectOrArrayFields","attribute","disabled","accessory","createElement","Selector","isObject","attributes","length","isArray","values","rightAccessory","_attribute$attributes","nested","nestedAttribute","shareCredentialCardFromCredential","_credential$issuer","_credential$issuer2","supportsSelectiveDisclosure","issuer","cardTestId","getValidityState","displayedAttributes","index","nestAttributes","selectCredentialCardAttributeFromClaim","RequiredAttributeIcon","selectCredentialCardFromCredential","_credential$issuer3","SelectedRadio","text","noticeIcon","CredentialNoticeWarningIcon","cardProps"],"sources":["credential-sharing.tsx"],"sourcesContent":["import {\n Claim,\n CoreConfig,\n CredentialDetail,\n PresentationDefinitionField,\n PresentationDefinitionRequestedCredential,\n} from '@procivis/react-native-one-core';\nimport React from 'react';\n\nimport {\n CredentialAttribute,\n CredentialCardProps,\n CredentialHeaderProps,\n Selector,\n SelectorStatus,\n} from '../../ui-components/credential';\nimport { CredentialCardNotice } from '../../ui-components/credential/card/credential-card';\nimport { CredentialNoticeWarningIcon, CredentialWarningIcon, RequiredAttributeIcon } from '../../ui-components/icons';\nimport { concatTestID } from '../testID';\nimport {\n CardLabels,\n CredentialDetailsCardPropsWithoutWidth,\n detailsCardAttributeFromClaim,\n getCredentialCardPropsFromCredential,\n getValidityState,\n nestAttributes,\n supportsSelectiveDisclosure,\n ValidityState,\n} from './credential';\n\nexport const validityCheckedCardFromCredential = (\n credential: CredentialDetail,\n expanded: boolean,\n selectiveDisclosureSupported: boolean | undefined,\n multipleCredentialsAvailable: boolean,\n config: CoreConfig,\n notice: CredentialCardNotice | undefined,\n testID: string,\n labels: ShareCredentialCardLabels,\n language: string | undefined,\n): Omit<CredentialCardProps, 'onHeaderPress' | 'style' | 'testID' | 'width'> => {\n let credentialHeaderDetail:\n | Pick<\n CredentialHeaderProps,\n | 'credentialDetailPrimary'\n | 'credentialDetailSecondary'\n | 'credentialDetailErrorColor'\n | 'credentialDetailTestID'\n | 'statusIcon'\n >\n | undefined;\n if (selectiveDisclosureSupported === false) {\n credentialHeaderDetail = {\n credentialDetailPrimary: labels.selectiveDisclosure,\n credentialDetailTestID: concatTestID(testID, 'header.nonSelectiveDisclosure'),\n statusIcon: CredentialWarningIcon,\n };\n } else if (!expanded && multipleCredentialsAvailable) {\n credentialHeaderDetail = {\n credentialDetailPrimary: labels.multipleCredentials,\n credentialDetailTestID: concatTestID(testID, 'header.multiple'),\n statusIcon: CredentialWarningIcon,\n };\n }\n\n const card = getCredentialCardPropsFromCredential(\n credential,\n credential.claims,\n config,\n notice,\n testID,\n labels,\n language,\n );\n return {\n ...card,\n header: {\n ...card.header,\n ...credentialHeaderDetail,\n },\n };\n};\n\nexport const missingCredentialCardFromRequest = (\n request: PresentationDefinitionRequestedCredential,\n notice: CredentialCardNotice | undefined,\n testID: string,\n labels: ShareCredentialCardLabels,\n): Omit<CredentialCardProps, 'onHeaderPress' | 'style' | 'width'> => {\n return {\n cardImage: undefined,\n color: undefined,\n testID,\n header: {\n credentialDetailErrorColor: true,\n credentialDetailPrimary: labels.missingCredential,\n credentialDetailTestID: concatTestID(testID, 'header.missing'),\n credentialName: request.name ?? request.id,\n statusIcon: CredentialWarningIcon,\n },\n ...notice,\n };\n};\n\ninterface DisplayedAttribute {\n claim?: FlatClaim;\n field?: PresentationDefinitionField;\n id: string;\n selected?: boolean;\n status: SelectorStatus;\n}\n\nconst getAttributeSelectorStatus = (\n field: PresentationDefinitionField,\n validityState: ValidityState,\n credential?: CredentialDetail,\n claim?: Claim,\n selected?: boolean,\n): SelectorStatus => {\n if (!credential || validityState !== ValidityState.Valid) {\n return SelectorStatus.Rejected;\n }\n if (field.required) {\n if (claim) {\n return SelectorStatus.Required;\n } else {\n return SelectorStatus.Rejected;\n }\n }\n if (!claim) {\n return SelectorStatus.Disabled;\n }\n return selected ? SelectorStatus.SelectedCheckmark : SelectorStatus.Empty;\n};\n\ntype FlatClaim = Claim & {\n isArrayElement?: boolean;\n};\n\n// Returns a spread list of all claims with their full JSON path as key, including all intermediate objects\nconst spreadClaims = (claims: Claim[]): FlatClaim[] => {\n return claims.reduce((acc, claim) => {\n const result = [claim];\n if (claim.value.type_ === 'NESTED') {\n const nestedClaimsWithPath: FlatClaim[] = claim.value.value.map((c) => ({\n ...c,\n isArrayElement: claim.schema.array && claim.path.split('/').pop() !== claim.schema.key,\n }));\n result.push(...spreadClaims(nestedClaimsWithPath));\n }\n return [...acc, ...result];\n }, [] as FlatClaim[]);\n};\n\nconst getDisplayedAttributes = (\n request: PresentationDefinitionRequestedCredential,\n validityState: ValidityState,\n credential?: CredentialDetail,\n selectiveDisclosureSupported?: boolean,\n selectedFields?: string[],\n): DisplayedAttribute[] => {\n const claims = credential ? spreadClaims(credential.claims) : undefined;\n const isApplicable = credential ? request.applicableCredentials.includes(credential.id) : false;\n\n let fields = request.fields;\n if (credential) {\n const fieldsWithNoKeyMapping = request.fields\n .filter((field) => !(credential.id in field.keyMap))\n .filter((field) => !isApplicable || !field.required);\n const fullyNestedFields = getFullyNestedFields(request.fields, credential.id);\n\n fields = [...fieldsWithNoKeyMapping, ...fullyNestedFields];\n }\n\n return fields.map((field) => {\n const selected = !field.required && selectedFields?.includes(field.id);\n const claim = credential\n ? claims?.find(({ path }) => {\n return path === field.keyMap[credential.id];\n })\n : undefined;\n const status =\n selectiveDisclosureSupported === false\n ? SelectorStatus.Required\n : getAttributeSelectorStatus(field, validityState, credential, claim, selected);\n return { claim, field, id: field.id, selected, status };\n });\n};\n\nconst getFullyNestedFields = (\n fields: PresentationDefinitionRequestedCredential['fields'],\n credentialId: CredentialDetail['id'],\n) => {\n const allKeys = fields.filter((field) => credentialId in field.keyMap).map((field) => field.keyMap[credentialId]);\n\n return fields\n .map((field) => ({ field, key: field.keyMap[credentialId] }))\n .filter(({ key }) => key && allKeys.every((k) => !k.startsWith(`${key}/`)))\n .map(({ field }) => field);\n};\n\nexport const shareCredentialCardAttributeFromClaim = (\n id: string,\n config: CoreConfig,\n testID: string,\n labels: ShareCredentialCardLabels,\n language: string | undefined,\n claim?: FlatClaim,\n field?: PresentationDefinitionField,\n): CredentialAttribute => {\n if (claim) {\n return {\n ...detailsCardAttributeFromClaim(claim, config, testID, language),\n id,\n path: claim.path,\n listValue: claim.isArrayElement,\n };\n }\n return {\n id,\n name: field?.name?.split('/').pop() ?? id,\n path: field?.name ?? id,\n value: labels.missingAttribute,\n valueErrorColor: true,\n };\n};\n\n// Will propagate the attribute status (right accessory + selected?) for all nested attributes\n// Note: This function MUTATES the input attribute\nconst setStatusForNestedObjectOrArrayFields = (\n attribute: CredentialAttribute,\n status?: SelectorStatus,\n disabled?: boolean,\n) => {\n const accessory = status && <Selector status={status} />;\n const isObject = attribute.attributes && attribute.attributes.length > 0;\n const isArray = attribute.values && attribute.values.length > 0;\n\n // If the attribute is not an object or array, we update the attribute and return\n if (!isObject && !isArray) {\n attribute.rightAccessory = accessory;\n attribute.disabled = disabled;\n return attribute;\n }\n\n // The object can be optional (tappable radio-checkmark), or required (checkmark)\n if (status === SelectorStatus.SelectedCheckmark || status === SelectorStatus.Empty) {\n // If it's a selectable object, the accessory is rendered next to the object title,\n // The nested attributes have no accessory, and can not be selected\n attribute.rightAccessory = accessory;\n setStatusForNestedObjectOrArrayFields(attribute, undefined, true);\n } else {\n const nested = attribute.attributes ?? attribute.values;\n // If the object is required / rejected, the accessory is rendered next to each nested attribute (except other object titles)\n // all fields are disabled\n for (const nestedAttribute of nested) {\n setStatusForNestedObjectOrArrayFields(nestedAttribute, status, true);\n }\n }\n};\n\nexport type ShareCredentialCardLabels = CardLabels & {\n selectiveDisclosure: string;\n missingAttribute: string;\n missingCredential: string;\n multipleCredentials: string;\n};\n\nexport const shareCredentialCardFromCredential = (\n credential: CredentialDetail | undefined,\n expanded: boolean,\n multipleCredentialsAvailable: boolean,\n request: PresentationDefinitionRequestedCredential,\n selectedFields: string[] | undefined,\n config: CoreConfig,\n testID: string,\n labels: ShareCredentialCardLabels,\n language: string | undefined,\n): CredentialDetailsCardPropsWithoutWidth => {\n const selectiveDisclosureSupported = supportsSelectiveDisclosure(\n credential ? { ...credential, issuer: credential.issuer?.id } : undefined,\n config,\n );\n const cardTestId = concatTestID(testID, 'card');\n const card = credential\n ? validityCheckedCardFromCredential(\n credential,\n expanded,\n selectiveDisclosureSupported,\n multipleCredentialsAvailable,\n config,\n undefined,\n cardTestId,\n labels,\n language,\n )\n : missingCredentialCardFromRequest(request, undefined, cardTestId, labels);\n const validityState = getValidityState(credential ? { ...credential, issuer: credential.issuer?.id } : undefined);\n const displayedAttributes = getDisplayedAttributes(\n request,\n validityState,\n credential,\n selectiveDisclosureSupported,\n selectedFields,\n );\n\n const attributes: CredentialAttribute[] = displayedAttributes.map(({ claim, field, id, selected, status }, index) => {\n const disabled = !credential || !field || field.required || !claim;\n const attribute: CredentialAttribute = {\n ...shareCredentialCardAttributeFromClaim(\n id,\n config,\n concatTestID(testID, 'attribute', `${index}`),\n labels,\n language,\n claim,\n field,\n ),\n selected,\n };\n\n setStatusForNestedObjectOrArrayFields(attribute, status, disabled);\n return attribute;\n });\n return {\n attributes: nestAttributes(attributes),\n card,\n };\n};\n\nexport const selectCredentialCardAttributeFromClaim = (\n id: string,\n config: CoreConfig,\n testID: string,\n labels: ShareCredentialCardLabels,\n language: string | undefined,\n claim?: FlatClaim,\n field?: PresentationDefinitionField,\n): CredentialAttribute => {\n const attribute = shareCredentialCardAttributeFromClaim(id, config, testID, labels, language, claim, field);\n if (!claim) {\n return attribute;\n }\n return {\n ...attribute,\n rightAccessory: RequiredAttributeIcon,\n };\n};\n\nexport const selectCredentialCardFromCredential = (\n credential: CredentialDetail,\n selected: boolean,\n request: PresentationDefinitionRequestedCredential,\n config: CoreConfig,\n testID: string,\n labels: ShareCredentialCardLabels,\n language: string | undefined,\n): CredentialDetailsCardPropsWithoutWidth => {\n const selectiveDisclosureSupported = supportsSelectiveDisclosure(\n credential ? { ...credential, issuer: credential.issuer?.id } : undefined,\n config,\n );\n const rightAccessory = <Selector status={selected ? SelectorStatus.SelectedRadio : SelectorStatus.Empty} />;\n const notice: CredentialCardNotice | undefined =\n selectiveDisclosureSupported === false\n ? {\n text: labels.selectiveDisclosure,\n noticeIcon: CredentialNoticeWarningIcon,\n }\n : undefined;\n const { header, ...cardProps } = getCredentialCardPropsFromCredential(\n credential,\n credential.claims,\n config,\n notice,\n testID,\n labels,\n language,\n );\n const card = {\n header: {\n ...header,\n accessory: rightAccessory,\n },\n ...cardProps,\n };\n const attributes: CredentialAttribute[] = getFullyNestedFields(request.fields, credential.id).map((field) => {\n const claim = spreadClaims(credential.claims).find(({ path }) => {\n return path === field.keyMap[credential.id];\n });\n\n const attribute = selectCredentialCardAttributeFromClaim(field.id, config, testID, labels, language, claim, field);\n return {\n ...attribute,\n rightAccessory: (\n <Selector status={field.required && !claim ? SelectorStatus.Rejected : SelectorStatus.Required} />\n ),\n };\n });\n return {\n attributes: nestAttributes(attributes),\n card,\n };\n};\n"],"mappings":";;;;;;AAOA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAAC,WAAA,GAAAD,OAAA;AAQA,IAAAE,MAAA,GAAAF,OAAA;AACA,IAAAG,OAAA,GAAAH,OAAA;AACA,IAAAI,YAAA,GAAAJ,OAAA;AASsB,SAAAD,uBAAAM,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAEf,MAAMG,iCAAiC,GAAGA,CAC/CC,UAA4B,EAC5BC,QAAiB,EACjBC,4BAAiD,EACjDC,4BAAqC,EACrCC,MAAkB,EAClBC,MAAwC,EACxCC,MAAc,EACdC,MAAiC,EACjCC,QAA4B,KACkD;EAC9E,IAAIC,sBASS;EACb,IAAIP,4BAA4B,KAAK,KAAK,EAAE;IAC1CO,sBAAsB,GAAG;MACvBC,uBAAuB,EAAEH,MAAM,CAACI,mBAAmB;MACnDC,sBAAsB,EAAE,IAAAC,oBAAY,EAACP,MAAM,EAAE,+BAA+B,CAAC;MAC7EQ,UAAU,EAAEC;IACd,CAAC;EACH,CAAC,MAAM,IAAI,CAACd,QAAQ,IAAIE,4BAA4B,EAAE;IACpDM,sBAAsB,GAAG;MACvBC,uBAAuB,EAAEH,MAAM,CAACS,mBAAmB;MACnDJ,sBAAsB,EAAE,IAAAC,oBAAY,EAACP,MAAM,EAAE,iBAAiB,CAAC;MAC/DQ,UAAU,EAAEC;IACd,CAAC;EACH;EAEA,MAAME,IAAI,GAAG,IAAAC,iDAAoC,EAC/ClB,UAAU,EACVA,UAAU,CAACmB,MAAM,EACjBf,MAAM,EACNC,MAAM,EACNC,MAAM,EACNC,MAAM,EACNC,QACF,CAAC;EACD,OAAO;IACL,GAAGS,IAAI;IACPG,MAAM,EAAE;MACN,GAAGH,IAAI,CAACG,MAAM;MACd,GAAGX;IACL;EACF,CAAC;AACH,CAAC;AAACY,OAAA,CAAAtB,iCAAA,GAAAA,iCAAA;AAEK,MAAMuB,gCAAgC,GAAGA,CAC9CC,OAAkD,EAClDlB,MAAwC,EACxCC,MAAc,EACdC,MAAiC,KACkC;EAAA,IAAAiB,aAAA;EACnE,OAAO;IACLC,SAAS,EAAEC,SAAS;IACpBC,KAAK,EAAED,SAAS;IAChBpB,MAAM;IACNc,MAAM,EAAE;MACNQ,0BAA0B,EAAE,IAAI;MAChClB,uBAAuB,EAAEH,MAAM,CAACsB,iBAAiB;MACjDjB,sBAAsB,EAAE,IAAAC,oBAAY,EAACP,MAAM,EAAE,gBAAgB,CAAC;MAC9DwB,cAAc,GAAAN,aAAA,GAAED,OAAO,CAACQ,IAAI,cAAAP,aAAA,cAAAA,aAAA,GAAID,OAAO,CAACS,EAAE;MAC1ClB,UAAU,EAAEC;IACd,CAAC;IACD,GAAGV;EACL,CAAC;AACH,CAAC;AAACgB,OAAA,CAAAC,gCAAA,GAAAA,gCAAA;AAUF,MAAMW,0BAA0B,GAAGA,CACjCC,KAAkC,EAClCC,aAA4B,EAC5BnC,UAA6B,EAC7BoC,KAAa,EACbC,QAAkB,KACC;EACnB,IAAI,CAACrC,UAAU,IAAImC,aAAa,KAAKG,0BAAa,CAACC,KAAK,EAAE;IACxD,OAAOC,0BAAc,CAACC,QAAQ;EAChC;EACA,IAAIP,KAAK,CAACQ,QAAQ,EAAE;IAClB,IAAIN,KAAK,EAAE;MACT,OAAOI,0BAAc,CAACG,QAAQ;IAChC,CAAC,MAAM;MACL,OAAOH,0BAAc,CAACC,QAAQ;IAChC;EACF;EACA,IAAI,CAACL,KAAK,EAAE;IACV,OAAOI,0BAAc,CAACI,QAAQ;EAChC;EACA,OAAOP,QAAQ,GAAGG,0BAAc,CAACK,iBAAiB,GAAGL,0BAAc,CAACM,KAAK;AAC3E,CAAC;AAMD;AACA,MAAMC,YAAY,GAAI5B,MAAe,IAAkB;EACrD,OAAOA,MAAM,CAAC6B,MAAM,CAAC,CAACC,GAAG,EAAEb,KAAK,KAAK;IACnC,MAAMc,MAAM,GAAG,CAACd,KAAK,CAAC;IACtB,IAAIA,KAAK,CAACe,KAAK,CAACC,KAAK,KAAK,QAAQ,EAAE;MAClC,MAAMC,oBAAiC,GAAGjB,KAAK,CAACe,KAAK,CAACA,KAAK,CAACG,GAAG,CAAEC,CAAC,KAAM;QACtE,GAAGA,CAAC;QACJC,cAAc,EAAEpB,KAAK,CAACqB,MAAM,CAACC,KAAK,IAAItB,KAAK,CAACuB,IAAI,CAACC,KAAK,CAAC,GAAG,CAAC,CAACC,GAAG,CAAC,CAAC,KAAKzB,KAAK,CAACqB,MAAM,CAACK;MACrF,CAAC,CAAC,CAAC;MACHZ,MAAM,CAACa,IAAI,CAAC,GAAGhB,YAAY,CAACM,oBAAoB,CAAC,CAAC;IACpD;IACA,OAAO,CAAC,GAAGJ,GAAG,EAAE,GAAGC,MAAM,CAAC;EAC5B,CAAC,EAAE,EAAiB,CAAC;AACvB,CAAC;AAED,MAAMc,sBAAsB,GAAGA,CAC7BzC,OAAkD,EAClDY,aAA4B,EAC5BnC,UAA6B,EAC7BE,4BAAsC,EACtC+D,cAAyB,KACA;EACzB,MAAM9C,MAAM,GAAGnB,UAAU,GAAG+C,YAAY,CAAC/C,UAAU,CAACmB,MAAM,CAAC,GAAGO,SAAS;EACvE,MAAMwC,YAAY,GAAGlE,UAAU,GAAGuB,OAAO,CAAC4C,qBAAqB,CAACC,QAAQ,CAACpE,UAAU,CAACgC,EAAE,CAAC,GAAG,KAAK;EAE/F,IAAIqC,MAAM,GAAG9C,OAAO,CAAC8C,MAAM;EAC3B,IAAIrE,UAAU,EAAE;IACd,MAAMsE,sBAAsB,GAAG/C,OAAO,CAAC8C,MAAM,CAC1CE,MAAM,CAAErC,KAAK,IAAK,EAAElC,UAAU,CAACgC,EAAE,IAAIE,KAAK,CAACsC,MAAM,CAAC,CAAC,CACnDD,MAAM,CAAErC,KAAK,IAAK,CAACgC,YAAY,IAAI,CAAChC,KAAK,CAACQ,QAAQ,CAAC;IACtD,MAAM+B,iBAAiB,GAAGC,oBAAoB,CAACnD,OAAO,CAAC8C,MAAM,EAAErE,UAAU,CAACgC,EAAE,CAAC;IAE7EqC,MAAM,GAAG,CAAC,GAAGC,sBAAsB,EAAE,GAAGG,iBAAiB,CAAC;EAC5D;EAEA,OAAOJ,MAAM,CAACf,GAAG,CAAEpB,KAAK,IAAK;IAC3B,MAAMG,QAAQ,GAAG,CAACH,KAAK,CAACQ,QAAQ,KAAIuB,cAAc,aAAdA,cAAc,uBAAdA,cAAc,CAAEG,QAAQ,CAAClC,KAAK,CAACF,EAAE,CAAC;IACtE,MAAMI,KAAK,GAAGpC,UAAU,GACpBmB,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEwD,IAAI,CAAC,CAAC;MAAEhB;IAAK,CAAC,KAAK;MACzB,OAAOA,IAAI,KAAKzB,KAAK,CAACsC,MAAM,CAACxE,UAAU,CAACgC,EAAE,CAAC;IAC7C,CAAC,CAAC,GACFN,SAAS;IACb,MAAMkD,MAAM,GACV1E,4BAA4B,KAAK,KAAK,GAClCsC,0BAAc,CAACG,QAAQ,GACvBV,0BAA0B,CAACC,KAAK,EAAEC,aAAa,EAAEnC,UAAU,EAAEoC,KAAK,EAAEC,QAAQ,CAAC;IACnF,OAAO;MAAED,KAAK;MAAEF,KAAK;MAAEF,EAAE,EAAEE,KAAK,CAACF,EAAE;MAAEK,QAAQ;MAAEuC;IAAO,CAAC;EACzD,CAAC,CAAC;AACJ,CAAC;AAED,MAAMF,oBAAoB,GAAGA,CAC3BL,MAA2D,EAC3DQ,YAAoC,KACjC;EACH,MAAMC,OAAO,GAAGT,MAAM,CAACE,MAAM,CAAErC,KAAK,IAAK2C,YAAY,IAAI3C,KAAK,CAACsC,MAAM,CAAC,CAAClB,GAAG,CAAEpB,KAAK,IAAKA,KAAK,CAACsC,MAAM,CAACK,YAAY,CAAC,CAAC;EAEjH,OAAOR,MAAM,CACVf,GAAG,CAAEpB,KAAK,KAAM;IAAEA,KAAK;IAAE4B,GAAG,EAAE5B,KAAK,CAACsC,MAAM,CAACK,YAAY;EAAE,CAAC,CAAC,CAAC,CAC5DN,MAAM,CAAC,CAAC;IAAET;EAAI,CAAC,KAAKA,GAAG,IAAIgB,OAAO,CAACC,KAAK,CAAEC,CAAC,IAAK,CAACA,CAAC,CAACC,UAAU,CAAC,GAAGnB,GAAG,GAAG,CAAC,CAAC,CAAC,CAC1ER,GAAG,CAAC,CAAC;IAAEpB;EAAM,CAAC,KAAKA,KAAK,CAAC;AAC9B,CAAC;AAEM,MAAMgD,qCAAqC,GAAGA,CACnDlD,EAAU,EACV5B,MAAkB,EAClBE,MAAc,EACdC,MAAiC,EACjCC,QAA4B,EAC5B4B,KAAiB,EACjBF,KAAmC,KACX;EAAA,IAAAiD,qBAAA,EAAAC,WAAA,EAAAC,YAAA;EACxB,IAAIjD,KAAK,EAAE;IACT,OAAO;MACL,GAAG,IAAAkD,0CAA6B,EAAClD,KAAK,EAAEhC,MAAM,EAAEE,MAAM,EAAEE,QAAQ,CAAC;MACjEwB,EAAE;MACF2B,IAAI,EAAEvB,KAAK,CAACuB,IAAI;MAChB4B,SAAS,EAAEnD,KAAK,CAACoB;IACnB,CAAC;EACH;EACA,OAAO;IACLxB,EAAE;IACFD,IAAI,GAAAoD,qBAAA,GAAEjD,KAAK,aAALA,KAAK,gBAAAkD,WAAA,GAALlD,KAAK,CAAEH,IAAI,cAAAqD,WAAA,uBAAXA,WAAA,CAAaxB,KAAK,CAAC,GAAG,CAAC,CAACC,GAAG,CAAC,CAAC,cAAAsB,qBAAA,cAAAA,qBAAA,GAAInD,EAAE;IACzC2B,IAAI,GAAA0B,YAAA,GAAEnD,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEH,IAAI,cAAAsD,YAAA,cAAAA,YAAA,GAAIrD,EAAE;IACvBmB,KAAK,EAAE5C,MAAM,CAACiF,gBAAgB;IAC9BC,eAAe,EAAE;EACnB,CAAC;AACH,CAAC;;AAED;AACA;AAAApE,OAAA,CAAA6D,qCAAA,GAAAA,qCAAA;AACA,MAAMQ,qCAAqC,GAAGA,CAC5CC,SAA8B,EAC9Bf,MAAuB,EACvBgB,QAAkB,KACf;EACH,MAAMC,SAAS,GAAGjB,MAAM,iBAAIvF,MAAA,CAAAS,OAAA,CAAAgG,aAAA,CAACtG,WAAA,CAAAuG,QAAQ;IAACnB,MAAM,EAAEA;EAAO,CAAE,CAAC;EACxD,MAAMoB,QAAQ,GAAGL,SAAS,CAACM,UAAU,IAAIN,SAAS,CAACM,UAAU,CAACC,MAAM,GAAG,CAAC;EACxE,MAAMC,OAAO,GAAGR,SAAS,CAACS,MAAM,IAAIT,SAAS,CAACS,MAAM,CAACF,MAAM,GAAG,CAAC;;EAE/D;EACA,IAAI,CAACF,QAAQ,IAAI,CAACG,OAAO,EAAE;IACzBR,SAAS,CAACU,cAAc,GAAGR,SAAS;IACpCF,SAAS,CAACC,QAAQ,GAAGA,QAAQ;IAC7B,OAAOD,SAAS;EAClB;;EAEA;EACA,IAAIf,MAAM,KAAKpC,0BAAc,CAACK,iBAAiB,IAAI+B,MAAM,KAAKpC,0BAAc,CAACM,KAAK,EAAE;IAClF;IACA;IACA6C,SAAS,CAACU,cAAc,GAAGR,SAAS;IACpCH,qCAAqC,CAACC,SAAS,EAAEjE,SAAS,EAAE,IAAI,CAAC;EACnE,CAAC,MAAM;IAAA,IAAA4E,qBAAA;IACL,MAAMC,MAAM,IAAAD,qBAAA,GAAGX,SAAS,CAACM,UAAU,cAAAK,qBAAA,cAAAA,qBAAA,GAAIX,SAAS,CAACS,MAAM;IACvD;IACA;IACA,KAAK,MAAMI,eAAe,IAAID,MAAM,EAAE;MACpCb,qCAAqC,CAACc,eAAe,EAAE5B,MAAM,EAAE,IAAI,CAAC;IACtE;EACF;AACF,CAAC;AASM,MAAM6B,iCAAiC,GAAGA,CAC/CzG,UAAwC,EACxCC,QAAiB,EACjBE,4BAAqC,EACrCoB,OAAkD,EAClD0C,cAAoC,EACpC7D,MAAkB,EAClBE,MAAc,EACdC,MAAiC,EACjCC,QAA4B,KACe;EAAA,IAAAkG,kBAAA,EAAAC,mBAAA;EAC3C,MAAMzG,4BAA4B,GAAG,IAAA0G,wCAA2B,EAC9D5G,UAAU,GAAG;IAAE,GAAGA,UAAU;IAAE6G,MAAM,GAAAH,kBAAA,GAAE1G,UAAU,CAAC6G,MAAM,cAAAH,kBAAA,uBAAjBA,kBAAA,CAAmB1E;EAAG,CAAC,GAAGN,SAAS,EACzEtB,MACF,CAAC;EACD,MAAM0G,UAAU,GAAG,IAAAjG,oBAAY,EAACP,MAAM,EAAE,MAAM,CAAC;EAC/C,MAAMW,IAAI,GAAGjB,UAAU,GACnBD,iCAAiC,CAC/BC,UAAU,EACVC,QAAQ,EACRC,4BAA4B,EAC5BC,4BAA4B,EAC5BC,MAAM,EACNsB,SAAS,EACToF,UAAU,EACVvG,MAAM,EACNC,QACF,CAAC,GACDc,gCAAgC,CAACC,OAAO,EAAEG,SAAS,EAAEoF,UAAU,EAAEvG,MAAM,CAAC;EAC5E,MAAM4B,aAAa,GAAG,IAAA4E,6BAAgB,EAAC/G,UAAU,GAAG;IAAE,GAAGA,UAAU;IAAE6G,MAAM,GAAAF,mBAAA,GAAE3G,UAAU,CAAC6G,MAAM,cAAAF,mBAAA,uBAAjBA,mBAAA,CAAmB3E;EAAG,CAAC,GAAGN,SAAS,CAAC;EACjH,MAAMsF,mBAAmB,GAAGhD,sBAAsB,CAChDzC,OAAO,EACPY,aAAa,EACbnC,UAAU,EACVE,4BAA4B,EAC5B+D,cACF,CAAC;EAED,MAAMgC,UAAiC,GAAGe,mBAAmB,CAAC1D,GAAG,CAAC,CAAC;IAAElB,KAAK;IAAEF,KAAK;IAAEF,EAAE;IAAEK,QAAQ;IAAEuC;EAAO,CAAC,EAAEqC,KAAK,KAAK;IACnH,MAAMrB,QAAQ,GAAG,CAAC5F,UAAU,IAAI,CAACkC,KAAK,IAAIA,KAAK,CAACQ,QAAQ,IAAI,CAACN,KAAK;IAClE,MAAMuD,SAA8B,GAAG;MACrC,GAAGT,qCAAqC,CACtClD,EAAE,EACF5B,MAAM,EACN,IAAAS,oBAAY,EAACP,MAAM,EAAE,WAAW,EAAE,GAAG2G,KAAK,EAAE,CAAC,EAC7C1G,MAAM,EACNC,QAAQ,EACR4B,KAAK,EACLF,KACF,CAAC;MACDG;IACF,CAAC;IAEDqD,qCAAqC,CAACC,SAAS,EAAEf,MAAM,EAAEgB,QAAQ,CAAC;IAClE,OAAOD,SAAS;EAClB,CAAC,CAAC;EACF,OAAO;IACLM,UAAU,EAAE,IAAAiB,2BAAc,EAACjB,UAAU,CAAC;IACtChF;EACF,CAAC;AACH,CAAC;AAACI,OAAA,CAAAoF,iCAAA,GAAAA,iCAAA;AAEK,MAAMU,sCAAsC,GAAGA,CACpDnF,EAAU,EACV5B,MAAkB,EAClBE,MAAc,EACdC,MAAiC,EACjCC,QAA4B,EAC5B4B,KAAiB,EACjBF,KAAmC,KACX;EACxB,MAAMyD,SAAS,GAAGT,qCAAqC,CAAClD,EAAE,EAAE5B,MAAM,EAAEE,MAAM,EAAEC,MAAM,EAAEC,QAAQ,EAAE4B,KAAK,EAAEF,KAAK,CAAC;EAC3G,IAAI,CAACE,KAAK,EAAE;IACV,OAAOuD,SAAS;EAClB;EACA,OAAO;IACL,GAAGA,SAAS;IACZU,cAAc,EAAEe;EAClB,CAAC;AACH,CAAC;AAAC/F,OAAA,CAAA8F,sCAAA,GAAAA,sCAAA;AAEK,MAAME,kCAAkC,GAAGA,CAChDrH,UAA4B,EAC5BqC,QAAiB,EACjBd,OAAkD,EAClDnB,MAAkB,EAClBE,MAAc,EACdC,MAAiC,EACjCC,QAA4B,KACe;EAAA,IAAA8G,mBAAA;EAC3C,MAAMpH,4BAA4B,GAAG,IAAA0G,wCAA2B,EAC9D5G,UAAU,GAAG;IAAE,GAAGA,UAAU;IAAE6G,MAAM,GAAAS,mBAAA,GAAEtH,UAAU,CAAC6G,MAAM,cAAAS,mBAAA,uBAAjBA,mBAAA,CAAmBtF;EAAG,CAAC,GAAGN,SAAS,EACzEtB,MACF,CAAC;EACD,MAAMiG,cAAc,gBAAGhH,MAAA,CAAAS,OAAA,CAAAgG,aAAA,CAACtG,WAAA,CAAAuG,QAAQ;IAACnB,MAAM,EAAEvC,QAAQ,GAAGG,0BAAc,CAAC+E,aAAa,GAAG/E,0BAAc,CAACM;EAAM,CAAE,CAAC;EAC3G,MAAMzC,MAAwC,GAC5CH,4BAA4B,KAAK,KAAK,GAClC;IACEsH,IAAI,EAAEjH,MAAM,CAACI,mBAAmB;IAChC8G,UAAU,EAAEC;EACd,CAAC,GACDhG,SAAS;EACf,MAAM;IAAEN,MAAM;IAAE,GAAGuG;EAAU,CAAC,GAAG,IAAAzG,iDAAoC,EACnElB,UAAU,EACVA,UAAU,CAACmB,MAAM,EACjBf,MAAM,EACNC,MAAM,EACNC,MAAM,EACNC,MAAM,EACNC,QACF,CAAC;EACD,MAAMS,IAAI,GAAG;IACXG,MAAM,EAAE;MACN,GAAGA,MAAM;MACTyE,SAAS,EAAEQ;IACb,CAAC;IACD,GAAGsB;EACL,CAAC;EACD,MAAM1B,UAAiC,GAAGvB,oBAAoB,CAACnD,OAAO,CAAC8C,MAAM,EAAErE,UAAU,CAACgC,EAAE,CAAC,CAACsB,GAAG,CAAEpB,KAAK,IAAK;IAC3G,MAAME,KAAK,GAAGW,YAAY,CAAC/C,UAAU,CAACmB,MAAM,CAAC,CAACwD,IAAI,CAAC,CAAC;MAAEhB;IAAK,CAAC,KAAK;MAC/D,OAAOA,IAAI,KAAKzB,KAAK,CAACsC,MAAM,CAACxE,UAAU,CAACgC,EAAE,CAAC;IAC7C,CAAC,CAAC;IAEF,MAAM2D,SAAS,GAAGwB,sCAAsC,CAACjF,KAAK,CAACF,EAAE,EAAE5B,MAAM,EAAEE,MAAM,EAAEC,MAAM,EAAEC,QAAQ,EAAE4B,KAAK,EAAEF,KAAK,CAAC;IAClH,OAAO;MACL,GAAGyD,SAAS;MACZU,cAAc,eACZhH,MAAA,CAAAS,OAAA,CAAAgG,aAAA,CAACtG,WAAA,CAAAuG,QAAQ;QAACnB,MAAM,EAAE1C,KAAK,CAACQ,QAAQ,IAAI,CAACN,KAAK,GAAGI,0BAAc,CAACC,QAAQ,GAAGD,0BAAc,CAACG;MAAS,CAAE;IAErG,CAAC;EACH,CAAC,CAAC;EACF,OAAO;IACLsD,UAAU,EAAE,IAAAiB,2BAAc,EAACjB,UAAU,CAAC;IACtChF;EACF,CAAC;AACH,CAAC;AAACI,OAAA,CAAAgG,kCAAA,GAAAA,kCAAA","ignoreList":[]}
1
+ {"version":3,"names":["_reactNativeOneCore","require","_react","_interopRequireDefault","_credential","_icons","_testID","_credential2","e","__esModule","default","validityCheckedCardFromCredential","credential","expanded","selectiveDisclosureSupported","multipleCredentialsAvailable","config","notice","testID","labels","language","credentialHeaderDetail","credentialDetailPrimary","selectiveDisclosure","credentialDetailTestID","concatTestID","statusIcon","CredentialWarningIcon","disclosurePolicyViolation","multipleCredentials","card","getCredentialCardPropsFromCredential","credentialDetailFromPresentationV2Credential","claims","header","exports","missingCredentialCardFromRequest","request","_request$name","cardImage","undefined","color","credentialDetailErrorColor","missingCredential","credentialName","name","id","getAttributeSelectorStatus","field","validityState","claim","selected","ValidityState","Valid","SelectorStatus","Rejected","required","Required","Disabled","SelectedCheckmark","Empty","spreadClaims","reduce","acc","result","value","type_","nestedClaimsWithPath","map","c","isArrayElement","schema","array","path","split","pop","key","push","getDisplayedAttributes","selectedFields","isApplicable","applicableCredentials","includes","fields","fieldsWithNoKeyMapping","filter","keyMap","fullyNestedFields","getFullyNestedFields","find","status","credentialId","allKeys","every","k","startsWith","shareCredentialCardAttributeFromClaim","_field$name$split$pop","_field$name","_field$name2","detailsCardAttributeFromClaim","listValue","missingAttribute","valueErrorColor","setStatusForNestedObjectOrArrayFields","attribute","disabled","accessory","createElement","Selector","isObject","attributes","length","isArray","values","rightAccessory","_attribute$attributes","nested","nestedAttribute","shareCredentialCardFromCredential","_credential$issuer","credentialAsListItem","type","CredentialType","SINGLE","issuer","supportsSelectiveDisclosure","cardTestId","getValidityState","displayedAttributes","index","nestAttributes","selectCredentialCardAttributeFromClaim","RequiredAttributeIcon","selectCredentialCardFromCredential","_credential$issuer2","SelectedRadio","text","noticeIcon","CredentialNoticeWarningIcon","cardProps"],"sources":["credential-sharing.tsx"],"sourcesContent":["import {\n Claim,\n CoreConfig,\n CredentialDetail,\n CredentialListItem,\n CredentialType,\n PresentationDefinitionField,\n PresentationDefinitionRequestedCredential,\n PresentationDefinitionV2Credential,\n} from '@procivis/react-native-one-core';\nimport React from 'react';\n\nimport {\n CredentialAttribute,\n CredentialCardProps,\n CredentialHeaderProps,\n Selector,\n SelectorStatus,\n} from '../../ui-components/credential';\nimport { CredentialCardNotice } from '../../ui-components/credential/card/credential-card';\nimport { CredentialNoticeWarningIcon, CredentialWarningIcon, RequiredAttributeIcon } from '../../ui-components/icons';\nimport { concatTestID } from '../testID';\nimport {\n CardLabels,\n credentialDetailFromPresentationV2Credential,\n CredentialDetailsCardPropsWithoutWidth,\n detailsCardAttributeFromClaim,\n getCredentialCardPropsFromCredential,\n getValidityState,\n nestAttributes,\n supportsSelectiveDisclosure,\n ValidityState,\n} from './credential';\n\nexport const validityCheckedCardFromCredential = (\n credential: CredentialDetail | PresentationDefinitionV2Credential,\n expanded: boolean,\n selectiveDisclosureSupported: boolean | undefined,\n multipleCredentialsAvailable: boolean,\n config: CoreConfig,\n notice: CredentialCardNotice | undefined,\n testID: string,\n labels: ShareCredentialCardLabels,\n language: string | undefined,\n): Omit<CredentialCardProps, 'onHeaderPress' | 'style' | 'testID' | 'width'> => {\n let credentialHeaderDetail:\n | Pick<\n CredentialHeaderProps,\n | 'credentialDetailPrimary'\n | 'credentialDetailSecondary'\n | 'credentialDetailErrorColor'\n | 'credentialDetailTestID'\n | 'statusIcon'\n >\n | undefined;\n if (selectiveDisclosureSupported === false) {\n credentialHeaderDetail = {\n credentialDetailPrimary: labels.selectiveDisclosure,\n credentialDetailTestID: concatTestID(testID, 'header.nonSelectiveDisclosure'),\n statusIcon: CredentialWarningIcon,\n };\n } else if ('embeddedDisclosurePolicyViolation' in credential) {\n credentialHeaderDetail = {\n credentialDetailPrimary: labels.disclosurePolicyViolation,\n credentialDetailTestID: concatTestID(testID, 'header.dislosurePolicyViolation'),\n statusIcon: CredentialWarningIcon,\n };\n } else if (!expanded && multipleCredentialsAvailable) {\n credentialHeaderDetail = {\n credentialDetailPrimary: labels.multipleCredentials,\n credentialDetailTestID: concatTestID(testID, 'header.multiple'),\n statusIcon: CredentialWarningIcon,\n };\n }\n\n const card = getCredentialCardPropsFromCredential(\n credentialDetailFromPresentationV2Credential(credential),\n credential.claims,\n config,\n notice,\n testID,\n labels,\n language,\n );\n return {\n ...card,\n header: {\n ...card.header,\n ...credentialHeaderDetail,\n },\n };\n};\n\nexport const missingCredentialCardFromRequest = (\n request: PresentationDefinitionRequestedCredential,\n notice: CredentialCardNotice | undefined,\n testID: string,\n labels: ShareCredentialCardLabels,\n): Omit<CredentialCardProps, 'onHeaderPress' | 'style' | 'width'> => {\n return {\n cardImage: undefined,\n color: undefined,\n testID,\n header: {\n credentialDetailErrorColor: true,\n credentialDetailPrimary: labels.missingCredential,\n credentialDetailTestID: concatTestID(testID, 'header.missing'),\n credentialName: request.name ?? request.id,\n statusIcon: CredentialWarningIcon,\n },\n ...notice,\n };\n};\n\ninterface DisplayedAttribute {\n claim?: FlatClaim;\n field?: PresentationDefinitionField;\n id: string;\n selected?: boolean;\n status: SelectorStatus;\n}\n\nconst getAttributeSelectorStatus = (\n field: PresentationDefinitionField,\n validityState: ValidityState,\n credential?: CredentialDetail,\n claim?: Claim,\n selected?: boolean,\n): SelectorStatus => {\n if (!credential || validityState !== ValidityState.Valid) {\n return SelectorStatus.Rejected;\n }\n if (field.required) {\n if (claim) {\n return SelectorStatus.Required;\n } else {\n return SelectorStatus.Rejected;\n }\n }\n if (!claim) {\n return SelectorStatus.Disabled;\n }\n return selected ? SelectorStatus.SelectedCheckmark : SelectorStatus.Empty;\n};\n\ntype FlatClaim = Claim & {\n isArrayElement?: boolean;\n};\n\n// Returns a spread list of all claims with their full JSON path as key, including all intermediate objects\nconst spreadClaims = (claims: Claim[]): FlatClaim[] => {\n return claims.reduce((acc, claim) => {\n const result = [claim];\n if (claim.value.type_ === 'NESTED') {\n const nestedClaimsWithPath: FlatClaim[] = claim.value.value.map((c) => ({\n ...c,\n isArrayElement: claim.schema.array && claim.path.split('/').pop() !== claim.schema.key,\n }));\n result.push(...spreadClaims(nestedClaimsWithPath));\n }\n return [...acc, ...result];\n }, [] as FlatClaim[]);\n};\n\nconst getDisplayedAttributes = (\n request: PresentationDefinitionRequestedCredential,\n validityState: ValidityState,\n credential?: CredentialDetail,\n selectiveDisclosureSupported?: boolean,\n selectedFields?: string[],\n): DisplayedAttribute[] => {\n const claims = credential ? spreadClaims(credential.claims) : undefined;\n const isApplicable = credential ? request.applicableCredentials.includes(credential.id) : false;\n\n let fields = request.fields;\n if (credential) {\n const fieldsWithNoKeyMapping = request.fields\n .filter((field) => !(credential.id in field.keyMap))\n .filter((field) => !isApplicable || !field.required);\n const fullyNestedFields = getFullyNestedFields(request.fields, credential.id);\n\n fields = [...fieldsWithNoKeyMapping, ...fullyNestedFields];\n }\n\n return fields.map((field) => {\n const selected = !field.required && selectedFields?.includes(field.id);\n const claim = credential\n ? claims?.find(({ path }) => {\n return path === field.keyMap[credential.id];\n })\n : undefined;\n const status =\n selectiveDisclosureSupported === false\n ? SelectorStatus.Required\n : getAttributeSelectorStatus(field, validityState, credential, claim, selected);\n return { claim, field, id: field.id, selected, status };\n });\n};\n\nconst getFullyNestedFields = (\n fields: PresentationDefinitionRequestedCredential['fields'],\n credentialId: CredentialDetail['id'],\n) => {\n const allKeys = fields.filter((field) => credentialId in field.keyMap).map((field) => field.keyMap[credentialId]);\n\n return fields\n .map((field) => ({ field, key: field.keyMap[credentialId] }))\n .filter(({ key }) => key && allKeys.every((k) => !k.startsWith(`${key}/`)))\n .map(({ field }) => field);\n};\n\nexport const shareCredentialCardAttributeFromClaim = (\n id: string,\n config: CoreConfig,\n testID: string,\n labels: ShareCredentialCardLabels,\n language: string | undefined,\n claim?: FlatClaim,\n field?: PresentationDefinitionField,\n): CredentialAttribute => {\n if (claim) {\n return {\n ...detailsCardAttributeFromClaim(claim, config, testID, language),\n id,\n path: claim.path,\n listValue: claim.isArrayElement,\n };\n }\n return {\n id,\n name: field?.name?.split('/').pop() ?? id,\n path: field?.name ?? id,\n value: labels.missingAttribute,\n valueErrorColor: true,\n };\n};\n\n// Will propagate the attribute status (right accessory + selected?) for all nested attributes\n// Note: This function MUTATES the input attribute\nconst setStatusForNestedObjectOrArrayFields = (\n attribute: CredentialAttribute,\n status?: SelectorStatus,\n disabled?: boolean,\n) => {\n const accessory = status && <Selector status={status} />;\n const isObject = attribute.attributes && attribute.attributes.length > 0;\n const isArray = attribute.values && attribute.values.length > 0;\n\n // If the attribute is not an object or array, we update the attribute and return\n if (!isObject && !isArray) {\n attribute.rightAccessory = accessory;\n attribute.disabled = disabled;\n return attribute;\n }\n\n // The object can be optional (tappable radio-checkmark), or required (checkmark)\n if (status === SelectorStatus.SelectedCheckmark || status === SelectorStatus.Empty) {\n // If it's a selectable object, the accessory is rendered next to the object title,\n // The nested attributes have no accessory, and can not be selected\n attribute.rightAccessory = accessory;\n setStatusForNestedObjectOrArrayFields(attribute, undefined, true);\n } else {\n const nested = attribute.attributes ?? attribute.values;\n // If the object is required / rejected, the accessory is rendered next to each nested attribute (except other object titles)\n // all fields are disabled\n for (const nestedAttribute of nested) {\n setStatusForNestedObjectOrArrayFields(nestedAttribute, status, true);\n }\n }\n};\n\nexport type ShareCredentialCardLabels = CardLabels & {\n selectiveDisclosure: string;\n missingAttribute: string;\n missingCredential: string;\n multipleCredentials: string;\n disclosurePolicyViolation: string;\n};\n\nexport const shareCredentialCardFromCredential = (\n credential: CredentialDetail | PresentationDefinitionV2Credential | undefined,\n expanded: boolean,\n multipleCredentialsAvailable: boolean,\n request: PresentationDefinitionRequestedCredential,\n selectedFields: string[] | undefined,\n config: CoreConfig,\n testID: string,\n labels: ShareCredentialCardLabels,\n language: string | undefined,\n): CredentialDetailsCardPropsWithoutWidth => {\n const credentialAsListItem: CredentialListItem | undefined = credential\n ? { type: CredentialType.SINGLE, ...credential, issuer: credential.issuer?.id }\n : undefined;\n const selectiveDisclosureSupported = supportsSelectiveDisclosure(credentialAsListItem, config);\n const cardTestId = concatTestID(testID, 'card');\n const card = credential\n ? validityCheckedCardFromCredential(\n credential,\n expanded,\n selectiveDisclosureSupported,\n multipleCredentialsAvailable,\n config,\n undefined,\n cardTestId,\n labels,\n language,\n )\n : missingCredentialCardFromRequest(request, undefined, cardTestId, labels);\n const validityState = getValidityState(credentialAsListItem);\n const displayedAttributes = getDisplayedAttributes(\n request,\n validityState,\n credential ? credentialDetailFromPresentationV2Credential(credential) : undefined,\n selectiveDisclosureSupported,\n selectedFields,\n );\n\n const attributes: CredentialAttribute[] = displayedAttributes.map(({ claim, field, id, selected, status }, index) => {\n const disabled = !credential || !field || field.required || !claim;\n const attribute: CredentialAttribute = {\n ...shareCredentialCardAttributeFromClaim(\n id,\n config,\n concatTestID(testID, 'attribute', `${index}`),\n labels,\n language,\n claim,\n field,\n ),\n selected,\n };\n\n setStatusForNestedObjectOrArrayFields(attribute, status, disabled);\n return attribute;\n });\n return {\n attributes: nestAttributes(attributes),\n card,\n };\n};\n\nexport const selectCredentialCardAttributeFromClaim = (\n id: string,\n config: CoreConfig,\n testID: string,\n labels: ShareCredentialCardLabels,\n language: string | undefined,\n claim?: FlatClaim,\n field?: PresentationDefinitionField,\n): CredentialAttribute => {\n const attribute = shareCredentialCardAttributeFromClaim(id, config, testID, labels, language, claim, field);\n if (!claim) {\n return attribute;\n }\n return {\n ...attribute,\n rightAccessory: RequiredAttributeIcon,\n };\n};\n\nexport const selectCredentialCardFromCredential = (\n credential: CredentialDetail,\n selected: boolean,\n request: PresentationDefinitionRequestedCredential,\n config: CoreConfig,\n testID: string,\n labels: ShareCredentialCardLabels,\n language: string | undefined,\n): CredentialDetailsCardPropsWithoutWidth => {\n const selectiveDisclosureSupported = supportsSelectiveDisclosure(\n credential ? { ...credential, issuer: credential.issuer?.id } : undefined,\n config,\n );\n const rightAccessory = <Selector status={selected ? SelectorStatus.SelectedRadio : SelectorStatus.Empty} />;\n const notice: CredentialCardNotice | undefined =\n selectiveDisclosureSupported === false\n ? {\n text: labels.selectiveDisclosure,\n noticeIcon: CredentialNoticeWarningIcon,\n }\n : undefined;\n const { header, ...cardProps } = getCredentialCardPropsFromCredential(\n credential,\n credential.claims,\n config,\n notice,\n testID,\n labels,\n language,\n );\n const card = {\n header: {\n ...header,\n accessory: rightAccessory,\n },\n ...cardProps,\n };\n const attributes: CredentialAttribute[] = getFullyNestedFields(request.fields, credential.id).map((field) => {\n const claim = spreadClaims(credential.claims).find(({ path }) => {\n return path === field.keyMap[credential.id];\n });\n\n const attribute = selectCredentialCardAttributeFromClaim(field.id, config, testID, labels, language, claim, field);\n return {\n ...attribute,\n rightAccessory: (\n <Selector status={field.required && !claim ? SelectorStatus.Rejected : SelectorStatus.Required} />\n ),\n };\n });\n return {\n attributes: nestAttributes(attributes),\n card,\n };\n};\n"],"mappings":"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","ignoreList":[]}
@@ -3,7 +3,9 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.getCredentialCardPropsFromCredential = exports.findClaimByPath = exports.detailsCardFromCredentialWithClaims = exports.detailsCardFromCredential = exports.detailsCardAttributeFromClaim = exports.cardHeaderFromCredential = exports.ValidityState = void 0;
6
+ exports.cardHeaderFromCredential = exports.ValidityState = void 0;
7
+ exports.credentialDetailFromPresentationV2Credential = credentialDetailFromPresentationV2Credential;
8
+ exports.getCredentialCardPropsFromCredential = exports.findClaimByPath = exports.detailsCardFromCredentialWithClaims = exports.detailsCardFromCredential = exports.detailsCardAttributeFromClaim = void 0;
7
9
  exports.getCredentialSchemaWithoutImages = getCredentialSchemaWithoutImages;
8
10
  exports.supportsSelectiveDisclosure = exports.nestAttributes = exports.hasMsoValidityIssues = exports.getValidityState = void 0;
9
11
  var _reactNativeOneCore = require("@procivis/react-native-one-core");
@@ -115,7 +117,7 @@ const cardHeaderFromCredential = (credential, claims = [], config, testID, label
115
117
  const {
116
118
  layoutProperties
117
119
  } = credential.schema;
118
- const defaultLanguage = config.defaultLanguage;
120
+ const defaultLanguage = config.globalSettings.defaultLanguage;
119
121
  return {
120
122
  color: layoutProperties === null || layoutProperties === void 0 || (_layoutProperties$log = layoutProperties.logo) === null || _layoutProperties$log === void 0 ? void 0 : _layoutProperties$log.backgroundColor,
121
123
  credentialDetailErrorColor,
@@ -139,7 +141,7 @@ const getCredentialCardPropsFromCredential = (credential, claims = [], config, n
139
141
  const {
140
142
  layoutProperties
141
143
  } = credential.schema;
142
- const defaultLanguage = config.defaultLanguage;
144
+ const defaultLanguage = config.globalSettings.defaultLanguage;
143
145
  if (hasMsoValidityIssues(credential)) {
144
146
  notice = {
145
147
  text: labels.validityIssuesNotice,
@@ -173,7 +175,7 @@ exports.getCredentialCardPropsFromCredential = getCredentialCardPropsFromCredent
173
175
  const detailsCardAttributeFromClaim = (claim, config, testID, language) => {
174
176
  var _getTranslatedLabel2;
175
177
  const value = detailsCardAttributeValueFromClaim(claim, config, testID, language);
176
- const defaultLanguage = config.defaultLanguage;
178
+ const defaultLanguage = config.globalSettings.defaultLanguage;
177
179
  return {
178
180
  id: claim.path,
179
181
  name: (_getTranslatedLabel2 = (0, _translations.getTranslatedLabel)(claim.schema.translations.name, language, defaultLanguage)) !== null && _getTranslatedLabel2 !== void 0 ? _getTranslatedLabel2 : claim.path.split('/').pop(),
@@ -362,4 +364,10 @@ function getCredentialSchemaWithoutImages(credentialSchema) {
362
364
  }
363
365
  };
364
366
  }
367
+ function credentialDetailFromPresentationV2Credential(presentationCredential) {
368
+ return {
369
+ type: _reactNativeOneCore.CredentialType.SINGLE,
370
+ ...presentationCredential
371
+ };
372
+ }
365
373
  //# sourceMappingURL=credential.js.map