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

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 (113) hide show
  1. package/lib/commonjs/components/proof-request/index.js +1 -12
  2. package/lib/commonjs/components/proof-request/index.js.map +1 -1
  3. package/lib/commonjs/components/proof-request/v2/share-credential-v2-group.js +6 -3
  4. package/lib/commonjs/components/proof-request/v2/share-credential-v2-group.js.map +1 -1
  5. package/lib/commonjs/components/proof-request/v2/share-credential-v2.js.map +1 -1
  6. package/lib/commonjs/ui-components/credential/card/credential-header.js +8 -38
  7. package/lib/commonjs/ui-components/credential/card/credential-header.js.map +1 -1
  8. package/lib/commonjs/ui-components/credential/card/credential-logo.js +71 -0
  9. package/lib/commonjs/ui-components/credential/card/credential-logo.js.map +1 -0
  10. package/lib/commonjs/ui-components/credential/card/index.js +7 -0
  11. package/lib/commonjs/ui-components/credential/card/index.js.map +1 -1
  12. package/lib/commonjs/ui-components/input/selection-input.js +69 -53
  13. package/lib/commonjs/ui-components/input/selection-input.js.map +1 -1
  14. package/lib/commonjs/ui-components/text/index.js +1 -9
  15. package/lib/commonjs/ui-components/text/index.js.map +1 -1
  16. package/lib/commonjs/utils/hooks/core/proofs.js +1 -1
  17. package/lib/commonjs/utils/hooks/core/proofs.js.map +1 -1
  18. package/lib/commonjs/utils/hooks/core/transaction.js +20 -0
  19. package/lib/commonjs/utils/hooks/core/transaction.js.map +1 -0
  20. package/lib/commonjs/utils/parsers/credential-sharing-v2.js +34 -3
  21. package/lib/commonjs/utils/parsers/credential-sharing-v2.js.map +1 -1
  22. package/lib/commonjs/utils/parsers/credential.js +22 -14
  23. package/lib/commonjs/utils/parsers/credential.js.map +1 -1
  24. package/lib/commonjs/utils/parsers/index.js +0 -11
  25. package/lib/commonjs/utils/parsers/index.js.map +1 -1
  26. package/lib/commonjs/utils/parsers/query.js +2 -2
  27. package/lib/commonjs/utils/parsers/query.js.map +1 -1
  28. package/lib/module/components/proof-request/index.js +0 -1
  29. package/lib/module/components/proof-request/index.js.map +1 -1
  30. package/lib/module/components/proof-request/v2/share-credential-v2-group.js +6 -3
  31. package/lib/module/components/proof-request/v2/share-credential-v2-group.js.map +1 -1
  32. package/lib/module/components/proof-request/v2/share-credential-v2.js.map +1 -1
  33. package/lib/module/ui-components/credential/card/credential-header.js +8 -38
  34. package/lib/module/ui-components/credential/card/credential-header.js.map +1 -1
  35. package/lib/module/ui-components/credential/card/credential-logo.js +64 -0
  36. package/lib/module/ui-components/credential/card/credential-logo.js.map +1 -0
  37. package/lib/module/ui-components/credential/card/index.js +2 -0
  38. package/lib/module/ui-components/credential/card/index.js.map +1 -1
  39. package/lib/module/ui-components/input/selection-input.js +70 -54
  40. package/lib/module/ui-components/input/selection-input.js.map +1 -1
  41. package/lib/module/ui-components/text/index.js +2 -2
  42. package/lib/module/ui-components/text/index.js.map +1 -1
  43. package/lib/module/utils/hooks/core/proofs.js +1 -1
  44. package/lib/module/utils/hooks/core/proofs.js.map +1 -1
  45. package/lib/module/utils/hooks/core/transaction.js +13 -0
  46. package/lib/module/utils/hooks/core/transaction.js.map +1 -0
  47. package/lib/module/utils/parsers/credential-sharing-v2.js +31 -1
  48. package/lib/module/utils/parsers/credential-sharing-v2.js.map +1 -1
  49. package/lib/module/utils/parsers/credential.js +20 -13
  50. package/lib/module/utils/parsers/credential.js.map +1 -1
  51. package/lib/module/utils/parsers/index.js +0 -1
  52. package/lib/module/utils/parsers/index.js.map +1 -1
  53. package/lib/module/utils/parsers/query.js +2 -2
  54. package/lib/module/utils/parsers/query.js.map +1 -1
  55. package/lib/typescript/components/proof-request/index.d.ts +0 -1
  56. package/lib/typescript/components/proof-request/v2/share-credential-v2-group.d.ts +8 -1
  57. package/lib/typescript/components/proof-request/v2/share-credential-v2.d.ts +1 -1
  58. package/lib/typescript/ui-components/credential/card/credential-logo.d.ts +17 -0
  59. package/lib/typescript/ui-components/credential/card/index.d.ts +3 -0
  60. package/lib/typescript/ui-components/input/selection-input.d.ts +3 -7
  61. package/lib/typescript/ui-components/text/index.d.ts +2 -1
  62. package/lib/typescript/ui-components/text/typography.d.ts +13 -13
  63. package/lib/typescript/utils/hooks/core/proofs.d.ts +2 -2
  64. package/lib/typescript/utils/hooks/core/transaction.d.ts +2 -0
  65. package/lib/typescript/utils/parsers/credential-sharing-v2.d.ts +10 -2
  66. package/lib/typescript/utils/parsers/credential.d.ts +2 -1
  67. package/lib/typescript/utils/parsers/index.d.ts +0 -1
  68. package/package.json +7 -4
  69. package/src/components/proof-request/index.ts +0 -1
  70. package/src/components/proof-request/v2/share-credential-v2-group.tsx +12 -2
  71. package/src/components/proof-request/v2/share-credential-v2.tsx +1 -1
  72. package/src/ui-components/credential/card/credential-header.tsx +9 -37
  73. package/src/ui-components/credential/card/credential-logo.stories.tsx +45 -0
  74. package/src/ui-components/credential/card/credential-logo.tsx +79 -0
  75. package/src/ui-components/credential/card/index.ts +5 -8
  76. package/src/ui-components/input/selection-input.tsx +85 -65
  77. package/src/ui-components/text/index.ts +2 -1
  78. package/src/utils/hooks/core/proofs.ts +3 -3
  79. package/src/utils/hooks/core/transaction.ts +18 -0
  80. package/src/utils/parsers/credential-sharing-v2.tsx +70 -1
  81. package/src/utils/parsers/credential.ts +27 -13
  82. package/src/utils/parsers/index.ts +0 -1
  83. package/src/utils/parsers/query.ts +1 -1
  84. package/lib/commonjs/components/proof-request/v1/group.js +0 -35
  85. package/lib/commonjs/components/proof-request/v1/group.js.map +0 -1
  86. package/lib/commonjs/components/proof-request/v1/index.js +0 -39
  87. package/lib/commonjs/components/proof-request/v1/index.js.map +0 -1
  88. package/lib/commonjs/components/proof-request/v1/select-credential.js +0 -53
  89. package/lib/commonjs/components/proof-request/v1/select-credential.js.map +0 -1
  90. package/lib/commonjs/components/proof-request/v1/share-credential.js +0 -110
  91. package/lib/commonjs/components/proof-request/v1/share-credential.js.map +0 -1
  92. package/lib/commonjs/utils/parsers/credential-sharing.js +0 -269
  93. package/lib/commonjs/utils/parsers/credential-sharing.js.map +0 -1
  94. package/lib/module/components/proof-request/v1/group.js +0 -27
  95. package/lib/module/components/proof-request/v1/group.js.map +0 -1
  96. package/lib/module/components/proof-request/v1/index.js +0 -4
  97. package/lib/module/components/proof-request/v1/index.js.map +0 -1
  98. package/lib/module/components/proof-request/v1/select-credential.js +0 -44
  99. package/lib/module/components/proof-request/v1/select-credential.js.map +0 -1
  100. package/lib/module/components/proof-request/v1/share-credential.js +0 -101
  101. package/lib/module/components/proof-request/v1/share-credential.js.map +0 -1
  102. package/lib/module/utils/parsers/credential-sharing.js +0 -256
  103. package/lib/module/utils/parsers/credential-sharing.js.map +0 -1
  104. package/lib/typescript/components/proof-request/v1/group.d.ts +0 -2
  105. package/lib/typescript/components/proof-request/v1/index.d.ts +0 -3
  106. package/lib/typescript/components/proof-request/v1/select-credential.d.ts +0 -15
  107. package/lib/typescript/components/proof-request/v1/share-credential.d.ts +0 -27
  108. package/lib/typescript/utils/parsers/credential-sharing.d.ts +0 -21
  109. package/src/components/proof-request/v1/group.tsx +0 -26
  110. package/src/components/proof-request/v1/index.ts +0 -3
  111. package/src/components/proof-request/v1/select-credential.tsx +0 -55
  112. package/src/components/proof-request/v1/share-credential.tsx +0 -159
  113. package/src/utils/parsers/credential-sharing.tsx +0 -415
@@ -3,7 +3,37 @@ import React from 'react';
3
3
  import { CredentialNoticeWarningIcon, CredentialWarningIcon, PurposeInfoIcon, Selector, SelectorStatus } from '../../ui-components';
4
4
  import { concatTestID } from '../testID';
5
5
  import { detailsCardAttributeFromClaim, getCredentialCardPropsFromCredential, supportsSelectiveDisclosure } from '.';
6
- import { validityCheckedCardFromCredential } from './credential-sharing';
6
+ import { credentialDetailFromPresentationV2Credential } from './credential';
7
+ export const validityCheckedCardFromCredential = (credential, expanded, selectiveDisclosureSupported, multipleCredentialsAvailable, config, notice, testID, labels, language) => {
8
+ let credentialHeaderDetail;
9
+ if (selectiveDisclosureSupported === false) {
10
+ credentialHeaderDetail = {
11
+ credentialDetailPrimary: labels.selectiveDisclosure,
12
+ credentialDetailTestID: concatTestID(testID, 'header.nonSelectiveDisclosure'),
13
+ statusIcon: CredentialWarningIcon
14
+ };
15
+ } else if ('embeddedDisclosurePolicyViolation' in credential) {
16
+ credentialHeaderDetail = {
17
+ credentialDetailPrimary: labels.disclosurePolicyViolation,
18
+ credentialDetailTestID: concatTestID(testID, 'header.dislosurePolicyViolation'),
19
+ statusIcon: CredentialWarningIcon
20
+ };
21
+ } else if (!expanded && multipleCredentialsAvailable) {
22
+ credentialHeaderDetail = {
23
+ credentialDetailPrimary: labels.multipleCredentials,
24
+ credentialDetailTestID: concatTestID(testID, 'header.multiple'),
25
+ statusIcon: CredentialWarningIcon
26
+ };
27
+ }
28
+ const card = getCredentialCardPropsFromCredential(credentialDetailFromPresentationV2Credential(credential), credential.claims, config, notice, testID, labels, language);
29
+ return {
30
+ ...card,
31
+ header: {
32
+ ...card.header,
33
+ ...credentialHeaderDetail
34
+ }
35
+ };
36
+ };
7
37
  const v2ClaimValueToClaimValue = value => {
8
38
  if (value.type_ !== 'NESTED') {
9
39
  return value;
@@ -1 +1 @@
1
- {"version":3,"names":["CredentialType","React","CredentialNoticeWarningIcon","CredentialWarningIcon","PurposeInfoIcon","Selector","SelectorStatus","concatTestID","detailsCardAttributeFromClaim","getCredentialCardPropsFromCredential","supportsSelectiveDisclosure","validityCheckedCardFromCredential","v2ClaimValueToClaimValue","value","type_","map","c","v2PresentationClaimToClaim","claim","schema","path","getAttributeSelectorStatus","selected","force","required","Required","userSelection","SelectedCheckmark","Empty","shareCredentialCardAttributeFromV2Claim","selection","parentShared","parentUserSelected","config","testID","language","nested","listValue","attributeShared","Boolean","some","startsWith","userSelected","includes","status","undefined","attribute","disabledStatus","Disabled","Rejected","disabled","credentialAttribute","id","rightAccessory","createElement","array","attributes","image","values","v","datatype","valueErrorColor","missingCredentialCardFromFailureHint","failureHint","notice","labels","_failureHint$credenti","_failureHint$credenti2","cardImage","color","header","credentialDetailErrorColor","credentialDetailPrimary","missingCredential","credentialDetailTestID","credentialName","credentialSchema","name","statusIcon","shareCredentialCardFromV2PresentationCredential","credential","expanded","multipleCredentialsAvailable","purpose","selectedFields","_credential$issuer","_credential$claims$ma","selectiveDisclosureSupported","issuer","type","SINGLE","noticeIcon","text","cardTestId","card","claims","selectCredentialCardFromV2Credential","multiple","_credential$issuer2","_credential$claims$ma2","selectedStatus","SelectedRadio","selectiveDisclosure","cardProps","accessory","getV2CredentialClaimAllSubpaths","flatMap","getV2CredentialAvailablePaths"],"sources":["credential-sharing-v2.tsx"],"sourcesContent":["import {\n Claim,\n ClaimValue,\n CoreConfig,\n CredentialQueryFailureHint,\n CredentialType,\n PresentationDefinitionV2Claim,\n PresentationDefinitionV2ClaimValue,\n PresentationDefinitionV2Credential,\n} from '@procivis/react-native-one-core';\nimport React from 'react';\n\nimport {\n CredentialAttribute,\n CredentialCardNotice,\n CredentialCardProps,\n CredentialNoticeWarningIcon,\n CredentialWarningIcon,\n PurposeInfoIcon,\n Selector,\n SelectorStatus,\n} from '../../ui-components';\nimport { concatTestID } from '../testID';\nimport {\n CredentialDetailsCardPropsWithoutWidth,\n detailsCardAttributeFromClaim,\n getCredentialCardPropsFromCredential,\n supportsSelectiveDisclosure,\n} from '.';\nimport { ShareCredentialCardLabels, validityCheckedCardFromCredential } from './credential-sharing';\n\nconst v2ClaimValueToClaimValue = (value: PresentationDefinitionV2ClaimValue): ClaimValue => {\n if (value.type_ !== 'NESTED') {\n return value;\n }\n return {\n type_: 'NESTED',\n value: value.value.map((c) => v2PresentationClaimToClaim(c)),\n };\n};\n\nconst v2PresentationClaimToClaim = (claim: PresentationDefinitionV2Claim): Claim => {\n return {\n schema: claim.schema,\n path: claim.path,\n value: v2ClaimValueToClaimValue(claim.value),\n };\n};\n\nconst getAttributeSelectorStatus = (\n claim: PresentationDefinitionV2Claim,\n selected: boolean,\n force: boolean,\n): SelectorStatus | undefined => {\n if (claim.required && selected) {\n return SelectorStatus.Required;\n }\n if (force) {\n return SelectorStatus.Required;\n }\n if (claim.userSelection) {\n if (selected) {\n return SelectorStatus.SelectedCheckmark;\n } else {\n return SelectorStatus.Empty;\n }\n }\n};\n\nexport const shareCredentialCardAttributeFromV2Claim = (\n claim: PresentationDefinitionV2Claim,\n selection: string[] | undefined,\n parentShared: boolean,\n parentUserSelected: boolean,\n config: CoreConfig,\n testID: string,\n language: string | undefined,\n nested?: boolean,\n listValue?: boolean,\n): CredentialAttribute => {\n const attributeShared =\n Boolean(selection?.some((path) => path.startsWith(claim.path))) || (parentShared && claim.required);\n const userSelected = parentUserSelected || Boolean(selection?.includes(claim.path));\n const selected = !claim.required && attributeShared;\n const status = selection\n ? getAttributeSelectorStatus(claim, attributeShared, parentUserSelected || (attributeShared && !userSelected))\n : undefined;\n const attribute = detailsCardAttributeFromClaim(v2PresentationClaimToClaim(claim), config, testID, language);\n const disabledStatus = [SelectorStatus.Disabled, SelectorStatus.Rejected, SelectorStatus.Required];\n const disabled = attribute.disabled || !status || disabledStatus.includes(status);\n const credentialAttribute: CredentialAttribute = {\n ...attribute,\n disabled,\n id: claim.path,\n listValue,\n nested,\n path: claim.path,\n rightAccessory: status && <Selector status={status} />,\n selected,\n testID,\n };\n if (claim.value.type_ === 'NESTED') {\n if (claim.schema.array) {\n return {\n ...credentialAttribute,\n attributes: undefined,\n image: undefined,\n value: undefined,\n values: claim.value.value.map((v) =>\n shareCredentialCardAttributeFromV2Claim(\n v,\n selection,\n attributeShared,\n userSelected,\n config,\n testID,\n language,\n true,\n false,\n ),\n ),\n };\n } else if (claim.schema.datatype === 'OBJECT') {\n return {\n ...credentialAttribute,\n attributes: claim.value.value.map((v) =>\n shareCredentialCardAttributeFromV2Claim(\n v,\n selection,\n attributeShared,\n userSelected,\n config,\n testID,\n language,\n true,\n ),\n ),\n image: undefined,\n value: undefined,\n valueErrorColor: undefined,\n values: undefined,\n };\n }\n }\n return credentialAttribute;\n};\n\nexport const missingCredentialCardFromFailureHint = (\n failureHint: CredentialQueryFailureHint | undefined,\n notice: CredentialCardNotice | undefined,\n testID: string,\n labels: ShareCredentialCardLabels,\n): Omit<CredentialCardProps, 'onHeaderPress' | 'style' | 'width'> => {\n return {\n cardImage: undefined,\n color: undefined,\n header: {\n credentialDetailErrorColor: true,\n credentialDetailPrimary: labels.missingCredential,\n credentialDetailTestID: concatTestID(testID, 'header.missing'),\n credentialName: failureHint?.credentialSchema?.name ?? '',\n statusIcon: CredentialWarningIcon,\n },\n testID,\n ...notice,\n };\n};\n\nexport const shareCredentialCardFromV2PresentationCredential = (\n credential: PresentationDefinitionV2Credential | undefined,\n failureHint: CredentialQueryFailureHint | undefined,\n expanded: boolean,\n multipleCredentialsAvailable: boolean,\n purpose: string | undefined,\n selectedFields: string[] | undefined,\n config: CoreConfig,\n testID: string,\n labels: ShareCredentialCardLabels,\n language: string | undefined,\n): CredentialDetailsCardPropsWithoutWidth => {\n const selectiveDisclosureSupported = supportsSelectiveDisclosure(\n credential ? { ...credential, issuer: credential.issuer?.id, type: CredentialType.SINGLE } : undefined,\n config,\n );\n const notice: CredentialCardNotice | undefined = purpose\n ? {\n noticeIcon: PurposeInfoIcon,\n text: purpose,\n }\n : undefined;\n const cardTestId = concatTestID(testID, 'card');\n const card = credential\n ? validityCheckedCardFromCredential(\n credential,\n expanded,\n selectiveDisclosureSupported,\n multipleCredentialsAvailable,\n config,\n notice,\n cardTestId,\n labels,\n language,\n )\n : missingCredentialCardFromFailureHint(failureHint, notice, cardTestId, labels);\n\n return {\n attributes:\n credential?.claims.map((v) =>\n shareCredentialCardAttributeFromV2Claim(v, selectedFields ?? [], true, false, config, testID, language),\n ) ?? [],\n card,\n };\n};\n\nexport const selectCredentialCardFromV2Credential = (\n credential: PresentationDefinitionV2Credential,\n selected: boolean,\n multiple: boolean,\n config: CoreConfig,\n testID: string,\n labels: ShareCredentialCardLabels,\n language: string | undefined,\n): CredentialDetailsCardPropsWithoutWidth => {\n const selectiveDisclosureSupported = supportsSelectiveDisclosure(\n credential ? { ...credential, issuer: credential.issuer?.id, type: CredentialType.SINGLE } : undefined,\n config,\n );\n const selectedStatus = multiple ? SelectorStatus.SelectedCheckmark : SelectorStatus.SelectedRadio;\n const rightAccessory = <Selector status={selected ? selectedStatus : SelectorStatus.Empty} />;\n const notice: CredentialCardNotice | undefined =\n selectiveDisclosureSupported === false\n ? {\n noticeIcon: CredentialNoticeWarningIcon,\n text: labels.selectiveDisclosure,\n }\n : undefined;\n const { header, ...cardProps } = getCredentialCardPropsFromCredential(\n {\n ...credential,\n claims: credential.claims.map(v2PresentationClaimToClaim),\n type: CredentialType.SINGLE,\n },\n credential.claims.map(v2PresentationClaimToClaim),\n config,\n notice,\n testID,\n labels,\n language,\n );\n const card = {\n header: {\n ...header,\n accessory: rightAccessory,\n },\n ...cardProps,\n };\n return {\n attributes:\n credential?.claims.map((v) =>\n shareCredentialCardAttributeFromV2Claim(v, undefined, false, false, config, testID, language),\n ) ?? [],\n card,\n };\n};\n\nexport const getV2CredentialClaimAllSubpaths = (claim: PresentationDefinitionV2Claim): string[] => {\n if (claim.value.type_ !== 'NESTED') {\n return [claim.path];\n }\n return [claim.path, ...claim.value.value.flatMap(getV2CredentialClaimAllSubpaths)];\n};\n\nexport const getV2CredentialAvailablePaths = (credential: PresentationDefinitionV2Credential): string[] => {\n return credential.claims.flatMap(getV2CredentialClaimAllSubpaths);\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["CredentialType","React","CredentialNoticeWarningIcon","CredentialWarningIcon","PurposeInfoIcon","Selector","SelectorStatus","concatTestID","detailsCardAttributeFromClaim","getCredentialCardPropsFromCredential","supportsSelectiveDisclosure","credentialDetailFromPresentationV2Credential","validityCheckedCardFromCredential","credential","expanded","selectiveDisclosureSupported","multipleCredentialsAvailable","config","notice","testID","labels","language","credentialHeaderDetail","credentialDetailPrimary","selectiveDisclosure","credentialDetailTestID","statusIcon","disclosurePolicyViolation","multipleCredentials","card","claims","header","v2ClaimValueToClaimValue","value","type_","map","c","v2PresentationClaimToClaim","claim","schema","path","getAttributeSelectorStatus","selected","force","required","Required","userSelection","SelectedCheckmark","Empty","shareCredentialCardAttributeFromV2Claim","selection","parentShared","parentUserSelected","nested","listValue","attributeShared","Boolean","some","startsWith","userSelected","includes","status","undefined","attribute","disabledStatus","Disabled","Rejected","disabled","credentialAttribute","id","rightAccessory","createElement","array","attributes","image","values","v","datatype","valueErrorColor","missingCredentialCardFromFailureHint","failureHint","_failureHint$credenti","_failureHint$credenti2","cardImage","color","credentialDetailErrorColor","missingCredential","credentialName","credentialSchema","name","shareCredentialCardFromV2PresentationCredential","purpose","selectedFields","_credential$issuer","_credential$claims$ma","issuer","type","SINGLE","noticeIcon","text","cardTestId","selectCredentialCardFromV2Credential","multiple","_credential$issuer2","_credential$claims$ma2","selectedStatus","SelectedRadio","cardProps","accessory","getV2CredentialClaimAllSubpaths","flatMap","getV2CredentialAvailablePaths"],"sources":["credential-sharing-v2.tsx"],"sourcesContent":["import {\n Claim,\n ClaimValue,\n CoreConfig,\n CredentialDetail,\n CredentialQueryFailureHint,\n CredentialType,\n PresentationDefinitionV2Claim,\n PresentationDefinitionV2ClaimValue,\n PresentationDefinitionV2Credential,\n} from '@procivis/react-native-one-core';\nimport React from 'react';\n\nimport {\n CredentialAttribute,\n CredentialCardNotice,\n CredentialCardProps,\n CredentialHeaderProps,\n CredentialNoticeWarningIcon,\n CredentialWarningIcon,\n PurposeInfoIcon,\n Selector,\n SelectorStatus,\n} from '../../ui-components';\nimport { concatTestID } from '../testID';\nimport {\n CredentialDetailsCardPropsWithoutWidth,\n detailsCardAttributeFromClaim,\n getCredentialCardPropsFromCredential,\n supportsSelectiveDisclosure,\n} from '.';\nimport { CardLabels, credentialDetailFromPresentationV2Credential } from './credential';\n\nexport type ShareCredentialCardLabels = CardLabels & {\n selectiveDisclosure: string;\n missingAttribute: string;\n missingCredential: string;\n multipleCredentials: string;\n disclosurePolicyViolation: string;\n};\n\nexport const validityCheckedCardFromCredential = (\n credential: CredentialDetail | PresentationDefinitionV2Credential,\n expanded: boolean,\n selectiveDisclosureSupported: boolean | undefined,\n multipleCredentialsAvailable: boolean,\n config: CoreConfig,\n notice: CredentialCardNotice | undefined,\n testID: string,\n labels: ShareCredentialCardLabels,\n language: string | undefined,\n): Omit<CredentialCardProps, 'onHeaderPress' | 'style' | 'testID' | 'width'> => {\n let credentialHeaderDetail:\n | Pick<\n CredentialHeaderProps,\n | 'credentialDetailPrimary'\n | 'credentialDetailSecondary'\n | 'credentialDetailErrorColor'\n | 'credentialDetailTestID'\n | 'statusIcon'\n >\n | undefined;\n if (selectiveDisclosureSupported === false) {\n credentialHeaderDetail = {\n credentialDetailPrimary: labels.selectiveDisclosure,\n credentialDetailTestID: concatTestID(testID, 'header.nonSelectiveDisclosure'),\n statusIcon: CredentialWarningIcon,\n };\n } else if ('embeddedDisclosurePolicyViolation' in credential) {\n credentialHeaderDetail = {\n credentialDetailPrimary: labels.disclosurePolicyViolation,\n credentialDetailTestID: concatTestID(testID, 'header.dislosurePolicyViolation'),\n statusIcon: CredentialWarningIcon,\n };\n } else if (!expanded && multipleCredentialsAvailable) {\n credentialHeaderDetail = {\n credentialDetailPrimary: labels.multipleCredentials,\n credentialDetailTestID: concatTestID(testID, 'header.multiple'),\n statusIcon: CredentialWarningIcon,\n };\n }\n\n const card = getCredentialCardPropsFromCredential(\n credentialDetailFromPresentationV2Credential(credential),\n credential.claims,\n config,\n notice,\n testID,\n labels,\n language,\n );\n return {\n ...card,\n header: {\n ...card.header,\n ...credentialHeaderDetail,\n },\n };\n};\n\nconst v2ClaimValueToClaimValue = (value: PresentationDefinitionV2ClaimValue): ClaimValue => {\n if (value.type_ !== 'NESTED') {\n return value;\n }\n return {\n type_: 'NESTED',\n value: value.value.map((c) => v2PresentationClaimToClaim(c)),\n };\n};\n\nconst v2PresentationClaimToClaim = (claim: PresentationDefinitionV2Claim): Claim => {\n return {\n schema: claim.schema,\n path: claim.path,\n value: v2ClaimValueToClaimValue(claim.value),\n };\n};\n\nconst getAttributeSelectorStatus = (\n claim: PresentationDefinitionV2Claim,\n selected: boolean,\n force: boolean,\n): SelectorStatus | undefined => {\n if (claim.required && selected) {\n return SelectorStatus.Required;\n }\n if (force) {\n return SelectorStatus.Required;\n }\n if (claim.userSelection) {\n if (selected) {\n return SelectorStatus.SelectedCheckmark;\n } else {\n return SelectorStatus.Empty;\n }\n }\n};\n\nexport const shareCredentialCardAttributeFromV2Claim = (\n claim: PresentationDefinitionV2Claim,\n selection: string[] | undefined,\n parentShared: boolean,\n parentUserSelected: boolean,\n config: CoreConfig,\n testID: string,\n language: string | undefined,\n nested?: boolean,\n listValue?: boolean,\n): CredentialAttribute => {\n const attributeShared =\n Boolean(selection?.some((path) => path.startsWith(claim.path))) || (parentShared && claim.required);\n const userSelected = parentUserSelected || Boolean(selection?.includes(claim.path));\n const selected = !claim.required && attributeShared;\n const status = selection\n ? getAttributeSelectorStatus(claim, attributeShared, parentUserSelected || (attributeShared && !userSelected))\n : undefined;\n const attribute = detailsCardAttributeFromClaim(v2PresentationClaimToClaim(claim), config, testID, language);\n const disabledStatus = [SelectorStatus.Disabled, SelectorStatus.Rejected, SelectorStatus.Required];\n const disabled = attribute.disabled || !status || disabledStatus.includes(status);\n const credentialAttribute: CredentialAttribute = {\n ...attribute,\n disabled,\n id: claim.path,\n listValue,\n nested,\n path: claim.path,\n rightAccessory: status && <Selector status={status} />,\n selected,\n testID,\n };\n if (claim.value.type_ === 'NESTED') {\n if (claim.schema.array) {\n return {\n ...credentialAttribute,\n attributes: undefined,\n image: undefined,\n value: undefined,\n values: claim.value.value.map((v) =>\n shareCredentialCardAttributeFromV2Claim(\n v,\n selection,\n attributeShared,\n userSelected,\n config,\n testID,\n language,\n true,\n false,\n ),\n ),\n };\n } else if (claim.schema.datatype === 'OBJECT') {\n return {\n ...credentialAttribute,\n attributes: claim.value.value.map((v) =>\n shareCredentialCardAttributeFromV2Claim(\n v,\n selection,\n attributeShared,\n userSelected,\n config,\n testID,\n language,\n true,\n ),\n ),\n image: undefined,\n value: undefined,\n valueErrorColor: undefined,\n values: undefined,\n };\n }\n }\n return credentialAttribute;\n};\n\nexport const missingCredentialCardFromFailureHint = (\n failureHint: CredentialQueryFailureHint | undefined,\n notice: CredentialCardNotice | undefined,\n testID: string,\n labels: ShareCredentialCardLabels,\n): Omit<CredentialCardProps, 'onHeaderPress' | 'style' | 'width'> => {\n return {\n cardImage: undefined,\n color: undefined,\n header: {\n credentialDetailErrorColor: true,\n credentialDetailPrimary: labels.missingCredential,\n credentialDetailTestID: concatTestID(testID, 'header.missing'),\n credentialName: failureHint?.credentialSchema?.name ?? '',\n statusIcon: CredentialWarningIcon,\n },\n testID,\n ...notice,\n };\n};\n\nexport const shareCredentialCardFromV2PresentationCredential = (\n credential: PresentationDefinitionV2Credential | undefined,\n failureHint: CredentialQueryFailureHint | undefined,\n expanded: boolean,\n multipleCredentialsAvailable: boolean,\n purpose: string | undefined,\n selectedFields: string[] | undefined,\n config: CoreConfig,\n testID: string,\n labels: ShareCredentialCardLabels,\n language: string | undefined,\n): CredentialDetailsCardPropsWithoutWidth => {\n const selectiveDisclosureSupported = supportsSelectiveDisclosure(\n credential ? { ...credential, issuer: credential.issuer?.id, type: CredentialType.SINGLE } : undefined,\n config,\n );\n const notice: CredentialCardNotice | undefined = purpose\n ? {\n noticeIcon: PurposeInfoIcon,\n text: purpose,\n }\n : undefined;\n const cardTestId = concatTestID(testID, 'card');\n const card = credential\n ? validityCheckedCardFromCredential(\n credential,\n expanded,\n selectiveDisclosureSupported,\n multipleCredentialsAvailable,\n config,\n notice,\n cardTestId,\n labels,\n language,\n )\n : missingCredentialCardFromFailureHint(failureHint, notice, cardTestId, labels);\n\n return {\n attributes:\n credential?.claims.map((v) =>\n shareCredentialCardAttributeFromV2Claim(v, selectedFields ?? [], true, false, config, testID, language),\n ) ?? [],\n card,\n };\n};\n\nexport const selectCredentialCardFromV2Credential = (\n credential: PresentationDefinitionV2Credential,\n selected: boolean,\n multiple: boolean,\n config: CoreConfig,\n testID: string,\n labels: ShareCredentialCardLabels,\n language: string | undefined,\n): CredentialDetailsCardPropsWithoutWidth => {\n const selectiveDisclosureSupported = supportsSelectiveDisclosure(\n credential ? { ...credential, issuer: credential.issuer?.id, type: CredentialType.SINGLE } : undefined,\n config,\n );\n const selectedStatus = multiple ? SelectorStatus.SelectedCheckmark : SelectorStatus.SelectedRadio;\n const rightAccessory = <Selector status={selected ? selectedStatus : SelectorStatus.Empty} />;\n const notice: CredentialCardNotice | undefined =\n selectiveDisclosureSupported === false\n ? {\n noticeIcon: CredentialNoticeWarningIcon,\n text: labels.selectiveDisclosure,\n }\n : undefined;\n const { header, ...cardProps } = getCredentialCardPropsFromCredential(\n {\n ...credential,\n claims: credential.claims.map(v2PresentationClaimToClaim),\n type: CredentialType.SINGLE,\n },\n credential.claims.map(v2PresentationClaimToClaim),\n config,\n notice,\n testID,\n labels,\n language,\n );\n const card = {\n header: {\n ...header,\n accessory: rightAccessory,\n },\n ...cardProps,\n };\n return {\n attributes:\n credential?.claims.map((v) =>\n shareCredentialCardAttributeFromV2Claim(v, undefined, false, false, config, testID, language),\n ) ?? [],\n card,\n };\n};\n\nexport const getV2CredentialClaimAllSubpaths = (claim: PresentationDefinitionV2Claim): string[] => {\n if (claim.value.type_ !== 'NESTED') {\n return [claim.path];\n }\n return [claim.path, ...claim.value.value.flatMap(getV2CredentialClaimAllSubpaths)];\n};\n\nexport const getV2CredentialAvailablePaths = (credential: PresentationDefinitionV2Credential): string[] => {\n return credential.claims.flatMap(getV2CredentialClaimAllSubpaths);\n};\n"],"mappings":"AAAA,SAMEA,cAAc,QAIT,iCAAiC;AACxC,OAAOC,KAAK,MAAM,OAAO;AAEzB,SAKEC,2BAA2B,EAC3BC,qBAAqB,EACrBC,eAAe,EACfC,QAAQ,EACRC,cAAc,QACT,qBAAqB;AAC5B,SAASC,YAAY,QAAQ,WAAW;AACxC,SAEEC,6BAA6B,EAC7BC,oCAAoC,EACpCC,2BAA2B,QACtB,GAAG;AACV,SAAqBC,4CAA4C,QAAQ,cAAc;AAUvF,OAAO,MAAMC,iCAAiC,GAAGA,CAC/CC,UAAiE,EACjEC,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,EAAElB,YAAY,CAACY,MAAM,EAAE,+BAA+B,CAAC;MAC7EO,UAAU,EAAEvB;IACd,CAAC;EACH,CAAC,MAAM,IAAI,mCAAmC,IAAIU,UAAU,EAAE;IAC5DS,sBAAsB,GAAG;MACvBC,uBAAuB,EAAEH,MAAM,CAACO,yBAAyB;MACzDF,sBAAsB,EAAElB,YAAY,CAACY,MAAM,EAAE,iCAAiC,CAAC;MAC/EO,UAAU,EAAEvB;IACd,CAAC;EACH,CAAC,MAAM,IAAI,CAACW,QAAQ,IAAIE,4BAA4B,EAAE;IACpDM,sBAAsB,GAAG;MACvBC,uBAAuB,EAAEH,MAAM,CAACQ,mBAAmB;MACnDH,sBAAsB,EAAElB,YAAY,CAACY,MAAM,EAAE,iBAAiB,CAAC;MAC/DO,UAAU,EAAEvB;IACd,CAAC;EACH;EAEA,MAAM0B,IAAI,GAAGpB,oCAAoC,CAC/CE,4CAA4C,CAACE,UAAU,CAAC,EACxDA,UAAU,CAACiB,MAAM,EACjBb,MAAM,EACNC,MAAM,EACNC,MAAM,EACNC,MAAM,EACNC,QACF,CAAC;EACD,OAAO;IACL,GAAGQ,IAAI;IACPE,MAAM,EAAE;MACN,GAAGF,IAAI,CAACE,MAAM;MACd,GAAGT;IACL;EACF,CAAC;AACH,CAAC;AAED,MAAMU,wBAAwB,GAAIC,KAAyC,IAAiB;EAC1F,IAAIA,KAAK,CAACC,KAAK,KAAK,QAAQ,EAAE;IAC5B,OAAOD,KAAK;EACd;EACA,OAAO;IACLC,KAAK,EAAE,QAAQ;IACfD,KAAK,EAAEA,KAAK,CAACA,KAAK,CAACE,GAAG,CAAEC,CAAC,IAAKC,0BAA0B,CAACD,CAAC,CAAC;EAC7D,CAAC;AACH,CAAC;AAED,MAAMC,0BAA0B,GAAIC,KAAoC,IAAY;EAClF,OAAO;IACLC,MAAM,EAAED,KAAK,CAACC,MAAM;IACpBC,IAAI,EAAEF,KAAK,CAACE,IAAI;IAChBP,KAAK,EAAED,wBAAwB,CAACM,KAAK,CAACL,KAAK;EAC7C,CAAC;AACH,CAAC;AAED,MAAMQ,0BAA0B,GAAGA,CACjCH,KAAoC,EACpCI,QAAiB,EACjBC,KAAc,KACiB;EAC/B,IAAIL,KAAK,CAACM,QAAQ,IAAIF,QAAQ,EAAE;IAC9B,OAAOpC,cAAc,CAACuC,QAAQ;EAChC;EACA,IAAIF,KAAK,EAAE;IACT,OAAOrC,cAAc,CAACuC,QAAQ;EAChC;EACA,IAAIP,KAAK,CAACQ,aAAa,EAAE;IACvB,IAAIJ,QAAQ,EAAE;MACZ,OAAOpC,cAAc,CAACyC,iBAAiB;IACzC,CAAC,MAAM;MACL,OAAOzC,cAAc,CAAC0C,KAAK;IAC7B;EACF;AACF,CAAC;AAED,OAAO,MAAMC,uCAAuC,GAAGA,CACrDX,KAAoC,EACpCY,SAA+B,EAC/BC,YAAqB,EACrBC,kBAA2B,EAC3BnC,MAAkB,EAClBE,MAAc,EACdE,QAA4B,EAC5BgC,MAAgB,EAChBC,SAAmB,KACK;EACxB,MAAMC,eAAe,GACnBC,OAAO,CAACN,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAEO,IAAI,CAAEjB,IAAI,IAAKA,IAAI,CAACkB,UAAU,CAACpB,KAAK,CAACE,IAAI,CAAC,CAAC,CAAC,IAAKW,YAAY,IAAIb,KAAK,CAACM,QAAS;EACrG,MAAMe,YAAY,GAAGP,kBAAkB,IAAII,OAAO,CAACN,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAEU,QAAQ,CAACtB,KAAK,CAACE,IAAI,CAAC,CAAC;EACnF,MAAME,QAAQ,GAAG,CAACJ,KAAK,CAACM,QAAQ,IAAIW,eAAe;EACnD,MAAMM,MAAM,GAAGX,SAAS,GACpBT,0BAA0B,CAACH,KAAK,EAAEiB,eAAe,EAAEH,kBAAkB,IAAKG,eAAe,IAAI,CAACI,YAAa,CAAC,GAC5GG,SAAS;EACb,MAAMC,SAAS,GAAGvD,6BAA6B,CAAC6B,0BAA0B,CAACC,KAAK,CAAC,EAAErB,MAAM,EAAEE,MAAM,EAAEE,QAAQ,CAAC;EAC5G,MAAM2C,cAAc,GAAG,CAAC1D,cAAc,CAAC2D,QAAQ,EAAE3D,cAAc,CAAC4D,QAAQ,EAAE5D,cAAc,CAACuC,QAAQ,CAAC;EAClG,MAAMsB,QAAQ,GAAGJ,SAAS,CAACI,QAAQ,IAAI,CAACN,MAAM,IAAIG,cAAc,CAACJ,QAAQ,CAACC,MAAM,CAAC;EACjF,MAAMO,mBAAwC,GAAG;IAC/C,GAAGL,SAAS;IACZI,QAAQ;IACRE,EAAE,EAAE/B,KAAK,CAACE,IAAI;IACdc,SAAS;IACTD,MAAM;IACNb,IAAI,EAAEF,KAAK,CAACE,IAAI;IAChB8B,cAAc,EAAET,MAAM,iBAAI5D,KAAA,CAAAsE,aAAA,CAAClE,QAAQ;MAACwD,MAAM,EAAEA;IAAO,CAAE,CAAC;IACtDnB,QAAQ;IACRvB;EACF,CAAC;EACD,IAAImB,KAAK,CAACL,KAAK,CAACC,KAAK,KAAK,QAAQ,EAAE;IAClC,IAAII,KAAK,CAACC,MAAM,CAACiC,KAAK,EAAE;MACtB,OAAO;QACL,GAAGJ,mBAAmB;QACtBK,UAAU,EAAEX,SAAS;QACrBY,KAAK,EAAEZ,SAAS;QAChB7B,KAAK,EAAE6B,SAAS;QAChBa,MAAM,EAAErC,KAAK,CAACL,KAAK,CAACA,KAAK,CAACE,GAAG,CAAEyC,CAAC,IAC9B3B,uCAAuC,CACrC2B,CAAC,EACD1B,SAAS,EACTK,eAAe,EACfI,YAAY,EACZ1C,MAAM,EACNE,MAAM,EACNE,QAAQ,EACR,IAAI,EACJ,KACF,CACF;MACF,CAAC;IACH,CAAC,MAAM,IAAIiB,KAAK,CAACC,MAAM,CAACsC,QAAQ,KAAK,QAAQ,EAAE;MAC7C,OAAO;QACL,GAAGT,mBAAmB;QACtBK,UAAU,EAAEnC,KAAK,CAACL,KAAK,CAACA,KAAK,CAACE,GAAG,CAAEyC,CAAC,IAClC3B,uCAAuC,CACrC2B,CAAC,EACD1B,SAAS,EACTK,eAAe,EACfI,YAAY,EACZ1C,MAAM,EACNE,MAAM,EACNE,QAAQ,EACR,IACF,CACF,CAAC;QACDqD,KAAK,EAAEZ,SAAS;QAChB7B,KAAK,EAAE6B,SAAS;QAChBgB,eAAe,EAAEhB,SAAS;QAC1Ba,MAAM,EAAEb;MACV,CAAC;IACH;EACF;EACA,OAAOM,mBAAmB;AAC5B,CAAC;AAED,OAAO,MAAMW,oCAAoC,GAAGA,CAClDC,WAAmD,EACnD9D,MAAwC,EACxCC,MAAc,EACdC,MAAiC,KACkC;EAAA,IAAA6D,qBAAA,EAAAC,sBAAA;EACnE,OAAO;IACLC,SAAS,EAAErB,SAAS;IACpBsB,KAAK,EAAEtB,SAAS;IAChB/B,MAAM,EAAE;MACNsD,0BAA0B,EAAE,IAAI;MAChC9D,uBAAuB,EAAEH,MAAM,CAACkE,iBAAiB;MACjD7D,sBAAsB,EAAElB,YAAY,CAACY,MAAM,EAAE,gBAAgB,CAAC;MAC9DoE,cAAc,GAAAN,qBAAA,GAAED,WAAW,aAAXA,WAAW,gBAAAE,sBAAA,GAAXF,WAAW,CAAEQ,gBAAgB,cAAAN,sBAAA,uBAA7BA,sBAAA,CAA+BO,IAAI,cAAAR,qBAAA,cAAAA,qBAAA,GAAI,EAAE;MACzDvD,UAAU,EAAEvB;IACd,CAAC;IACDgB,MAAM;IACN,GAAGD;EACL,CAAC;AACH,CAAC;AAED,OAAO,MAAMwE,+CAA+C,GAAGA,CAC7D7E,UAA0D,EAC1DmE,WAAmD,EACnDlE,QAAiB,EACjBE,4BAAqC,EACrC2E,OAA2B,EAC3BC,cAAoC,EACpC3E,MAAkB,EAClBE,MAAc,EACdC,MAAiC,EACjCC,QAA4B,KACe;EAAA,IAAAwE,kBAAA,EAAAC,qBAAA;EAC3C,MAAM/E,4BAA4B,GAAGL,2BAA2B,CAC9DG,UAAU,GAAG;IAAE,GAAGA,UAAU;IAAEkF,MAAM,GAAAF,kBAAA,GAAEhF,UAAU,CAACkF,MAAM,cAAAF,kBAAA,uBAAjBA,kBAAA,CAAmBxB,EAAE;IAAE2B,IAAI,EAAEhG,cAAc,CAACiG;EAAO,CAAC,GAAGnC,SAAS,EACtG7C,MACF,CAAC;EACD,MAAMC,MAAwC,GAAGyE,OAAO,GACpD;IACEO,UAAU,EAAE9F,eAAe;IAC3B+F,IAAI,EAAER;EACR,CAAC,GACD7B,SAAS;EACb,MAAMsC,UAAU,GAAG7F,YAAY,CAACY,MAAM,EAAE,MAAM,CAAC;EAC/C,MAAMU,IAAI,GAAGhB,UAAU,GACnBD,iCAAiC,CAC/BC,UAAU,EACVC,QAAQ,EACRC,4BAA4B,EAC5BC,4BAA4B,EAC5BC,MAAM,EACNC,MAAM,EACNkF,UAAU,EACVhF,MAAM,EACNC,QACF,CAAC,GACD0D,oCAAoC,CAACC,WAAW,EAAE9D,MAAM,EAAEkF,UAAU,EAAEhF,MAAM,CAAC;EAEjF,OAAO;IACLqD,UAAU,GAAAqB,qBAAA,GACRjF,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEiB,MAAM,CAACK,GAAG,CAAEyC,CAAC,IACvB3B,uCAAuC,CAAC2B,CAAC,EAAEgB,cAAc,aAAdA,cAAc,cAAdA,cAAc,GAAI,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE3E,MAAM,EAAEE,MAAM,EAAEE,QAAQ,CACxG,CAAC,cAAAyE,qBAAA,cAAAA,qBAAA,GAAI,EAAE;IACTjE;EACF,CAAC;AACH,CAAC;AAED,OAAO,MAAMwE,oCAAoC,GAAGA,CAClDxF,UAA8C,EAC9C6B,QAAiB,EACjB4D,QAAiB,EACjBrF,MAAkB,EAClBE,MAAc,EACdC,MAAiC,EACjCC,QAA4B,KACe;EAAA,IAAAkF,mBAAA,EAAAC,sBAAA;EAC3C,MAAMzF,4BAA4B,GAAGL,2BAA2B,CAC9DG,UAAU,GAAG;IAAE,GAAGA,UAAU;IAAEkF,MAAM,GAAAQ,mBAAA,GAAE1F,UAAU,CAACkF,MAAM,cAAAQ,mBAAA,uBAAjBA,mBAAA,CAAmBlC,EAAE;IAAE2B,IAAI,EAAEhG,cAAc,CAACiG;EAAO,CAAC,GAAGnC,SAAS,EACtG7C,MACF,CAAC;EACD,MAAMwF,cAAc,GAAGH,QAAQ,GAAGhG,cAAc,CAACyC,iBAAiB,GAAGzC,cAAc,CAACoG,aAAa;EACjG,MAAMpC,cAAc,gBAAGrE,KAAA,CAAAsE,aAAA,CAAClE,QAAQ;IAACwD,MAAM,EAAEnB,QAAQ,GAAG+D,cAAc,GAAGnG,cAAc,CAAC0C;EAAM,CAAE,CAAC;EAC7F,MAAM9B,MAAwC,GAC5CH,4BAA4B,KAAK,KAAK,GAClC;IACEmF,UAAU,EAAEhG,2BAA2B;IACvCiG,IAAI,EAAE/E,MAAM,CAACI;EACf,CAAC,GACDsC,SAAS;EACf,MAAM;IAAE/B,MAAM;IAAE,GAAG4E;EAAU,CAAC,GAAGlG,oCAAoC,CACnE;IACE,GAAGI,UAAU;IACbiB,MAAM,EAAEjB,UAAU,CAACiB,MAAM,CAACK,GAAG,CAACE,0BAA0B,CAAC;IACzD2D,IAAI,EAAEhG,cAAc,CAACiG;EACvB,CAAC,EACDpF,UAAU,CAACiB,MAAM,CAACK,GAAG,CAACE,0BAA0B,CAAC,EACjDpB,MAAM,EACNC,MAAM,EACNC,MAAM,EACNC,MAAM,EACNC,QACF,CAAC;EACD,MAAMQ,IAAI,GAAG;IACXE,MAAM,EAAE;MACN,GAAGA,MAAM;MACT6E,SAAS,EAAEtC;IACb,CAAC;IACD,GAAGqC;EACL,CAAC;EACD,OAAO;IACLlC,UAAU,GAAA+B,sBAAA,GACR3F,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEiB,MAAM,CAACK,GAAG,CAAEyC,CAAC,IACvB3B,uCAAuC,CAAC2B,CAAC,EAAEd,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE7C,MAAM,EAAEE,MAAM,EAAEE,QAAQ,CAC9F,CAAC,cAAAmF,sBAAA,cAAAA,sBAAA,GAAI,EAAE;IACT3E;EACF,CAAC;AACH,CAAC;AAED,OAAO,MAAMgF,+BAA+B,GAAIvE,KAAoC,IAAe;EACjG,IAAIA,KAAK,CAACL,KAAK,CAACC,KAAK,KAAK,QAAQ,EAAE;IAClC,OAAO,CAACI,KAAK,CAACE,IAAI,CAAC;EACrB;EACA,OAAO,CAACF,KAAK,CAACE,IAAI,EAAE,GAAGF,KAAK,CAACL,KAAK,CAACA,KAAK,CAAC6E,OAAO,CAACD,+BAA+B,CAAC,CAAC;AACpF,CAAC;AAED,OAAO,MAAME,6BAA6B,GAAIlG,UAA8C,IAAe;EACzG,OAAOA,UAAU,CAACiB,MAAM,CAACgF,OAAO,CAACD,+BAA+B,CAAC;AACnE,CAAC","ignoreList":[]}
@@ -43,6 +43,24 @@ const formatCredentialDetail = (claim, config, testID, language) => {
43
43
  const attributeValue = detailsCardAttributeValueFromClaim(claim, config, testID, language);
44
44
  return (_attributeValue$value = attributeValue.value) !== null && _attributeValue$value !== void 0 ? _attributeValue$value : '';
45
45
  };
46
+ export const credentialLogoFromCredential = (credential, config, testID, language) => {
47
+ var _layoutProperties$log, _getTranslatedLabel, _credential$schema$tr, _layoutProperties$log2, _layoutProperties$log3;
48
+ const {
49
+ layoutProperties
50
+ } = credential.schema;
51
+ const defaultLanguage = config.globalSettings.defaultLanguage;
52
+ return {
53
+ color: layoutProperties === null || layoutProperties === void 0 || (_layoutProperties$log = layoutProperties.logo) === null || _layoutProperties$log === void 0 ? void 0 : _layoutProperties$log.backgroundColor,
54
+ credentialName: (_getTranslatedLabel = getTranslatedLabel((_credential$schema$tr = credential.schema.translations) === null || _credential$schema$tr === void 0 ? void 0 : _credential$schema$tr.name, language, defaultLanguage)) !== null && _getTranslatedLabel !== void 0 ? _getTranslatedLabel : credential.schema.name,
55
+ icon: layoutProperties !== null && layoutProperties !== void 0 && (_layoutProperties$log2 = layoutProperties.logo) !== null && _layoutProperties$log2 !== void 0 && _layoutProperties$log2.image ? {
56
+ imageSource: {
57
+ uri: layoutProperties.logo.image
58
+ }
59
+ } : undefined,
60
+ iconLabelColor: layoutProperties === null || layoutProperties === void 0 || (_layoutProperties$log3 = layoutProperties.logo) === null || _layoutProperties$log3 === void 0 ? void 0 : _layoutProperties$log3.fontColor,
61
+ testID
62
+ };
63
+ };
46
64
  export const hasMsoValidityIssues = credential => {
47
65
  var _credential$mdocMsoVa;
48
66
  const mdocMsoValidityIssue = Boolean(((_credential$mdocMsoVa = credential.mdocMsoValidity) === null || _credential$mdocMsoVa === void 0 ? void 0 : _credential$mdocMsoVa.nextUpdate) && new Date(credential.mdocMsoValidity.nextUpdate) < new Date());
@@ -92,7 +110,7 @@ const credentialDetailFromCredential = (credential, claims = [], config, testID,
92
110
  };
93
111
  };
94
112
  export const cardHeaderFromCredential = (credential, claims = [], config, testID, labels, language) => {
95
- var _layoutProperties$log, _getTranslatedLabel, _credential$schema$tr, _layoutProperties$log2, _layoutProperties$log3;
113
+ const logoProps = credentialLogoFromCredential(credential, config, '', language);
96
114
  const {
97
115
  credentialDetailPrimary,
98
116
  credentialDetailSecondary,
@@ -100,23 +118,12 @@ export const cardHeaderFromCredential = (credential, claims = [], config, testID
100
118
  credentialDetailTestID,
101
119
  statusIcon
102
120
  } = credentialDetailFromCredential(credential, claims, config, testID, labels, language);
103
- const {
104
- layoutProperties
105
- } = credential.schema;
106
- const defaultLanguage = config.globalSettings.defaultLanguage;
107
121
  return {
108
- color: layoutProperties === null || layoutProperties === void 0 || (_layoutProperties$log = layoutProperties.logo) === null || _layoutProperties$log === void 0 ? void 0 : _layoutProperties$log.backgroundColor,
122
+ ...logoProps,
109
123
  credentialDetailErrorColor,
110
124
  credentialDetailPrimary,
111
125
  credentialDetailSecondary,
112
126
  credentialDetailTestID,
113
- credentialName: (_getTranslatedLabel = getTranslatedLabel((_credential$schema$tr = credential.schema.translations) === null || _credential$schema$tr === void 0 ? void 0 : _credential$schema$tr.name, language, defaultLanguage)) !== null && _getTranslatedLabel !== void 0 ? _getTranslatedLabel : credential.schema.name,
114
- icon: layoutProperties !== null && layoutProperties !== void 0 && (_layoutProperties$log2 = layoutProperties.logo) !== null && _layoutProperties$log2 !== void 0 && _layoutProperties$log2.image ? {
115
- imageSource: {
116
- uri: layoutProperties.logo.image
117
- }
118
- } : undefined,
119
- iconLabelColor: layoutProperties === null || layoutProperties === void 0 || (_layoutProperties$log3 = layoutProperties.logo) === null || _layoutProperties$log3 === void 0 ? void 0 : _layoutProperties$log3.fontColor,
120
127
  statusIcon,
121
128
  testID
122
129
  };
@@ -1 +1 @@
1
- {"version":3,"names":["CredentialState","CredentialType","DataType","FormatFeature","CredentialErrorIcon","CredentialNoticeInfoIcon","CredentialNoticeWarningIcon","CredentialWarningIcon","formatDateLocalized","formatDateTimeLocalized","concatTestID","getTranslatedLabel","getCarouselImagesFromClaims","ValidityState","getValidityState","credential","state","REVOKED","Revoked","SUSPENDED","Suspended","Valid","supportsSelectiveDisclosure","config","_formatConfig$capabil","formatConfig","format","schema","Boolean","capabilities","features","includes","SelectiveDisclosure","undefined","findClaimByPath","path","claims","exactClaim","find","claim","parentClaim","startsWith","value","type_","formatCredentialDetail","testID","language","_attributeValue$value","attributeValue","detailsCardAttributeValueFromClaim","hasMsoValidityIssues","_credential$mdocMsoVa","mdocMsoValidityIssue","mdocMsoValidity","nextUpdate","Date","credentialDetailFromCredential","labels","_formatDateTimeLocali","_credential$issuanceD","layoutProperties","credentialDetailPrimary","suspendEndDate","suspendedUntil","suspended","credentialDetailTestID","statusIcon","revoked","credentialDetailErrorColor","validityIssues","issuanceDate","createdDate","credentialDetailSecondary","primary","primaryAttribute","secondary","secondaryAttribute","cardHeaderFromCredential","_layoutProperties$log","_getTranslatedLabel","_credential$schema$tr","_layoutProperties$log2","_layoutProperties$log3","defaultLanguage","globalSettings","color","logo","backgroundColor","credentialName","translations","name","icon","image","imageSource","uri","iconLabelColor","fontColor","getCredentialCardPropsFromCredential","notice","_layoutProperties$bac","_layoutProperties$bac2","text","validityIssuesNotice","noticeIcon","_credential$schema$tr2","description","result","cardCarouselImages","cardImage","background","header","detailsCardAttributeFromClaim","_getTranslatedLabel2","id","split","pop","typeConfig","datatype","array","values","map","arrayValue","index","toString","type","Object","attributes","nestedClaim","_formatDateLocalized","String","date","Picture","SwiyuPicture","_typeConfig$params","params","showAs","detailsCardFromCredential","detailsCardFromCredentialWithClaims","card","nestAttributes","attribute","attributePath","length","push","first","rest","parent","a","insertAttributeInParent","join","nestAttributeInDummyParent","pathParts","listValue","disabled","_parent$attributes","nextParent","_parent$values","_parent$attributes2","parseBase64Image","getCredentialSchemaWithoutImages","credentialSchema","_credentialSchema$lay","_credentialSchema$lay2","_credentialSchema$lay3","_credentialSchema$lay4","credentialDetailFromPresentationV2Credential","presentationCredential","SINGLE"],"sources":["credential.ts"],"sourcesContent":["import {\n Claim,\n CoreConfig,\n CredentialDetail,\n CredentialListItem,\n CredentialSchemaListItem,\n CredentialState,\n CredentialType,\n DataType,\n FormatFeature,\n PresentationDefinitionV2Credential,\n} from '@procivis/react-native-one-core';\nimport { FC } from 'react';\nimport { SvgProps } from 'react-native-svg';\n\nimport {\n CredentialAttribute,\n CredentialAttributeValue,\n CredentialCardProps,\n CredentialDetailsCardProps,\n CredentialHeaderProps,\n} from '../../ui-components/credential';\nimport { CredentialCardNotice } from '../../ui-components/credential/card/credential-card';\nimport {\n CredentialErrorIcon,\n CredentialNoticeInfoIcon,\n CredentialNoticeWarningIcon,\n CredentialWarningIcon,\n} from '../../ui-components/icons';\nimport { formatDateLocalized, formatDateTimeLocalized } from '../date';\nimport { concatTestID } from '../testID';\nimport { getTranslatedLabel } from '../translations';\nimport { getCarouselImagesFromClaims } from './credential-images';\n\nexport enum ValidityState {\n Revoked = 'revoked',\n Suspended = 'suspended',\n Valid = 'valid',\n}\n\nexport const getValidityState = (credential: CredentialListItem | undefined) => {\n if (credential?.state === CredentialState.REVOKED) {\n return ValidityState.Revoked;\n }\n if (credential?.state === CredentialState.SUSPENDED) {\n return ValidityState.Suspended;\n }\n return ValidityState.Valid;\n};\n\nexport const supportsSelectiveDisclosure = (\n credential: CredentialListItem | undefined,\n config: CoreConfig | undefined,\n) => {\n const formatConfig = credential && config?.format[credential.schema.format];\n return formatConfig\n ? Boolean(formatConfig.capabilities?.features?.includes(FormatFeature.SelectiveDisclosure))\n : undefined;\n};\n\nexport const findClaimByPath = (path: string | undefined, claims: Claim[]): Claim | undefined => {\n if (!path) {\n return undefined;\n }\n\n const exactClaim = claims.find((claim) => claim.path === path);\n if (exactClaim) {\n return exactClaim;\n }\n\n const parentClaim = claims.find((claim) => path.startsWith(`${claim.path}/`));\n if (parentClaim && parentClaim.value.type_ === 'NESTED') {\n return findClaimByPath(path, parentClaim.value.value);\n }\n\n return undefined;\n};\n\nconst formatCredentialDetail = (\n claim: Claim,\n config: CoreConfig,\n testID: string,\n language: string | undefined,\n): string => {\n const attributeValue = detailsCardAttributeValueFromClaim(claim, config, testID, language);\n return attributeValue.value ?? '';\n};\n\nexport const hasMsoValidityIssues = (credential: CredentialDetail): boolean => {\n const mdocMsoValidityIssue = Boolean(\n credential.mdocMsoValidity?.nextUpdate && new Date(credential.mdocMsoValidity.nextUpdate) < new Date(),\n );\n\n return mdocMsoValidityIssue;\n};\n\nexport type CardHeaderLabels = {\n validityIssues: string;\n revoked: string;\n suspended: string;\n suspendedUntil: (date: string) => string;\n};\n\nconst credentialDetailFromCredential = (\n credential: CredentialDetail,\n claims: Claim[] = [],\n config: CoreConfig,\n testID: string,\n labels: CardHeaderLabels,\n language: string | undefined,\n): {\n credentialDetailPrimary?: string;\n credentialDetailSecondary?: string;\n credentialDetailErrorColor?: boolean;\n credentialDetailTestID?: string;\n statusIcon?: FC<SvgProps>;\n} => {\n const { layoutProperties } = credential.schema;\n\n switch (credential.state) {\n case CredentialState.SUSPENDED:\n return {\n credentialDetailPrimary: credential.suspendEndDate\n ? labels.suspendedUntil(formatDateTimeLocalized(new Date(credential.suspendEndDate))!)\n : labels.suspended,\n credentialDetailTestID: concatTestID(testID, 'suspended'),\n statusIcon: CredentialWarningIcon,\n };\n case CredentialState.REVOKED:\n return {\n credentialDetailPrimary: labels.revoked,\n credentialDetailErrorColor: true,\n credentialDetailTestID: concatTestID(testID, 'revoked'),\n statusIcon: CredentialErrorIcon,\n };\n }\n\n if (hasMsoValidityIssues(credential)) {\n return {\n credentialDetailPrimary: labels.validityIssues,\n credentialDetailTestID: concatTestID(testID, 'validity-issue'),\n statusIcon: CredentialWarningIcon,\n };\n }\n\n let credentialDetailPrimary =\n formatDateTimeLocalized(new Date(credential.issuanceDate ?? credential.createdDate)) ?? '';\n let credentialDetailSecondary: string | undefined;\n\n const primary = findClaimByPath(layoutProperties?.primaryAttribute, claims);\n\n if (primary) {\n credentialDetailPrimary = formatCredentialDetail(primary, config, concatTestID(testID, 'primary'), language);\n }\n\n const secondary = findClaimByPath(layoutProperties?.secondaryAttribute, claims);\n\n if (secondary) {\n credentialDetailSecondary = formatCredentialDetail(secondary, config, concatTestID(testID, 'secondary'), language);\n }\n\n return {\n credentialDetailPrimary,\n credentialDetailSecondary,\n credentialDetailTestID: concatTestID(testID, 'detail'),\n };\n};\n\nexport const cardHeaderFromCredential = (\n credential: CredentialDetail,\n claims: Claim[] = [],\n config: CoreConfig,\n testID: string,\n labels: CardHeaderLabels,\n language: string | undefined,\n): Omit<CredentialHeaderProps, 'style'> => {\n const {\n credentialDetailPrimary,\n credentialDetailSecondary,\n credentialDetailErrorColor,\n credentialDetailTestID,\n statusIcon,\n } = credentialDetailFromCredential(credential, claims, config, testID, labels, language);\n const { layoutProperties } = credential.schema;\n const defaultLanguage = config.globalSettings.defaultLanguage;\n\n return {\n color: layoutProperties?.logo?.backgroundColor,\n credentialDetailErrorColor,\n credentialDetailPrimary,\n credentialDetailSecondary,\n credentialDetailTestID,\n credentialName:\n getTranslatedLabel(credential.schema.translations?.name, language, defaultLanguage) ?? credential.schema.name,\n icon: layoutProperties?.logo?.image\n ? {\n imageSource: {\n uri: layoutProperties.logo.image,\n },\n }\n : undefined,\n iconLabelColor: layoutProperties?.logo?.fontColor,\n statusIcon,\n testID,\n };\n};\n\nexport type CardLabels = CardHeaderLabels & {\n validityIssuesNotice: string;\n};\n\nexport const getCredentialCardPropsFromCredential = (\n credential: CredentialDetail,\n claims: Claim[] = [],\n config: CoreConfig,\n notice: CredentialCardNotice | undefined,\n testID: string,\n labels: CardLabels,\n language: string | undefined,\n): Omit<CredentialCardProps, 'onHeaderPress' | 'style' | 'width'> => {\n const { layoutProperties } = credential.schema;\n const defaultLanguage = config.globalSettings.defaultLanguage;\n\n if (hasMsoValidityIssues(credential)) {\n notice = {\n text: labels.validityIssuesNotice,\n noticeIcon: CredentialNoticeWarningIcon,\n };\n } else if (!notice) {\n let description = getTranslatedLabel(credential.schema.translations?.description, language, defaultLanguage);\n if (description) {\n notice = {\n text: description,\n noticeIcon: CredentialNoticeInfoIcon,\n };\n }\n }\n\n const result: Omit<CredentialCardProps, 'onHeaderPress' | 'style' | 'width'> = {\n cardCarouselImages: getCarouselImagesFromClaims(claims, layoutProperties, concatTestID(testID, 'carousel')),\n cardImage: layoutProperties?.background?.image\n ? { imageSource: { uri: layoutProperties.background.image } }\n : undefined,\n color: layoutProperties?.background?.color,\n header: cardHeaderFromCredential(credential, claims, config, concatTestID(testID, 'header'), labels, language),\n testID,\n notice,\n };\n\n return result;\n};\n\nexport const detailsCardAttributeFromClaim = (\n claim: Claim,\n config: CoreConfig,\n testID: string,\n language: string | undefined,\n): CredentialAttribute => {\n const value = detailsCardAttributeValueFromClaim(claim, config, testID, language);\n const defaultLanguage = config.globalSettings.defaultLanguage;\n return {\n id: claim.path,\n name: getTranslatedLabel(claim.schema.translations.name, language, defaultLanguage) ?? claim.path.split('/').pop(),\n path: claim.path,\n ...value,\n };\n};\n\nconst detailsCardAttributeValueFromClaim = (\n claim: Claim,\n config: CoreConfig,\n testID: string,\n language: string | undefined,\n): CredentialAttributeValue => {\n const typeConfig = config?.datatype[claim.schema.datatype];\n\n if (claim.schema.array) {\n return {\n values: ((claim.value.value as Claim[]) || []).map((arrayValue, index) => {\n return detailsCardAttributeFromClaim(arrayValue, config, concatTestID(testID, index.toString()), language);\n }),\n };\n } else {\n switch (typeConfig?.type) {\n case DataType.Object: {\n if (claim.value.type_ !== 'NESTED') {\n return { attributes: [] };\n }\n return {\n attributes: claim.value.value.map((nestedClaim, index) =>\n detailsCardAttributeFromClaim(nestedClaim, config, concatTestID(testID, index.toString()), language),\n ),\n };\n }\n case DataType.Date: {\n if (!claim.value.value) {\n // Don't try to parse empty values (which will return \"Invalid Date\")\n return { testID: testID, value: String(claim.value.value) };\n }\n const date = claim.value.value as string;\n return {\n testID: testID,\n value: formatDateLocalized(new Date(date)) ?? date,\n };\n }\n case DataType.Picture: // fallback\n case DataType.SwiyuPicture: {\n if (typeConfig.params?.showAs === 'IMAGE') {\n return { image: { uri: claim.value.value as string }, testID: testID };\n } else {\n return { testID: testID, value: claim.value.value as string };\n }\n }\n default:\n return { testID: testID, value: String(claim.value.value) };\n }\n }\n};\n\nexport type CredentialDetailsCardPropsWithoutWidth = Omit<CredentialDetailsCardProps, 'expanded' | 'card'> & {\n card: Omit<CredentialCardProps, 'width'>;\n};\n\nexport const detailsCardFromCredential = (\n credential: CredentialDetail,\n config: CoreConfig,\n testID: string,\n labels: CardLabels,\n language: string | undefined,\n): CredentialDetailsCardPropsWithoutWidth => {\n return detailsCardFromCredentialWithClaims(credential, credential.claims, config, testID, labels, language);\n};\n\nexport const detailsCardFromCredentialWithClaims = (\n credential: CredentialDetail,\n claims: Claim[],\n config: CoreConfig,\n testID: string,\n labels: CardLabels,\n language: string | undefined,\n): CredentialDetailsCardPropsWithoutWidth => {\n const attributes: CredentialAttribute[] = claims.map((claim, index) =>\n detailsCardAttributeFromClaim(claim, config, concatTestID(testID, 'attribute', index.toString()), language),\n );\n\n const card = getCredentialCardPropsFromCredential(\n credential,\n claims,\n config,\n undefined,\n concatTestID(testID, 'card'),\n labels,\n language,\n );\n\n return {\n attributes,\n card,\n };\n};\n\n// Converts a flat list of attributes into a nested structure\n// modifies the names to not include slashes\nexport const nestAttributes = (attributes: CredentialAttribute[]): CredentialAttribute[] => {\n const result: CredentialAttribute[] = [];\n\n for (const attribute of attributes) {\n const attributePath = attribute.path.split('/');\n if (attributePath.length === 0) {\n result.push(attribute);\n } else {\n const [first, ...rest] = attributePath;\n const parent = result.find((a) => a.name === first);\n if (parent) {\n insertAttributeInParent({ ...attribute, path: rest.join('/') }, parent);\n } else {\n result.push(nestAttributeInDummyParent(attribute));\n }\n }\n }\n\n return result;\n};\n\n// We nest the leaf node in a (one or more) nested object(s)\n// to make sure the tree structure is correctly rendered in proof request screens.\nconst nestAttributeInDummyParent = (attribute: CredentialAttribute): CredentialAttribute => {\n const pathParts = attribute.path.split('/');\n const [first, ...rest] = pathParts;\n if (!rest.length) {\n return attribute;\n }\n\n // The dummy object is not selectable, and contains a placeholder ID\n // the user can't interact with it.\n if (attribute.listValue) {\n return {\n values: [nestAttributeInDummyParent({ ...attribute, path: rest.join('/') })],\n disabled: true,\n id: `${attribute.id}/${first}`,\n name: first,\n path: first,\n };\n } else {\n return {\n attributes: [nestAttributeInDummyParent({ ...attribute, path: rest.join('/') })],\n disabled: true,\n id: `${attribute.id}/${first}`,\n name: first,\n path: first,\n };\n }\n};\n\n// Recursively insert an attribute into an parent\n// Will create nested parents if necessary\nconst insertAttributeInParent = (attribute: CredentialAttribute, parent: CredentialAttribute) => {\n const pathParts = attribute.path.split('/');\n const [first, ...rest] = pathParts;\n\n const nextParent = parent.attributes?.find((a) => a.name === first);\n\n if (!nextParent) {\n if (attribute.listValue) {\n parent.values?.push(nestAttributeInDummyParent(attribute));\n } else {\n parent.attributes?.push(nestAttributeInDummyParent(attribute));\n }\n } else {\n insertAttributeInParent({ ...attribute, path: rest.join('/') }, nextParent);\n }\n};\n\nfunction parseBase64Image(image: string | undefined) {\n return image ? '__BASE64IMAGE__' : '';\n}\n\nexport function getCredentialSchemaWithoutImages<T extends CredentialSchemaListItem>(credentialSchema: T): T {\n return {\n ...credentialSchema,\n layoutProperties: {\n ...credentialSchema.layoutProperties,\n background: {\n ...credentialSchema.layoutProperties?.background,\n image: parseBase64Image(credentialSchema.layoutProperties?.background?.image),\n },\n logo: {\n ...credentialSchema.layoutProperties?.logo,\n image: parseBase64Image(credentialSchema.layoutProperties?.logo?.image),\n },\n },\n };\n}\n\nexport function credentialDetailFromPresentationV2Credential(\n presentationCredential: CredentialDetail | PresentationDefinitionV2Credential,\n): CredentialDetail {\n return {\n type: CredentialType.SINGLE,\n ...presentationCredential,\n };\n}\n"],"mappings":"AAAA,SAMEA,eAAe,EACfC,cAAc,EACdC,QAAQ,EACRC,aAAa,QAER,iCAAiC;AAYxC,SACEC,mBAAmB,EACnBC,wBAAwB,EACxBC,2BAA2B,EAC3BC,qBAAqB,QAChB,2BAA2B;AAClC,SAASC,mBAAmB,EAAEC,uBAAuB,QAAQ,SAAS;AACtE,SAASC,YAAY,QAAQ,WAAW;AACxC,SAASC,kBAAkB,QAAQ,iBAAiB;AACpD,SAASC,2BAA2B,QAAQ,qBAAqB;AAEjE,WAAYC,aAAa,0BAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAA,OAAbA,aAAa;AAAA;AAMzB,OAAO,MAAMC,gBAAgB,GAAIC,UAA0C,IAAK;EAC9E,IAAI,CAAAA,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEC,KAAK,MAAKhB,eAAe,CAACiB,OAAO,EAAE;IACjD,OAAOJ,aAAa,CAACK,OAAO;EAC9B;EACA,IAAI,CAAAH,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEC,KAAK,MAAKhB,eAAe,CAACmB,SAAS,EAAE;IACnD,OAAON,aAAa,CAACO,SAAS;EAChC;EACA,OAAOP,aAAa,CAACQ,KAAK;AAC5B,CAAC;AAED,OAAO,MAAMC,2BAA2B,GAAGA,CACzCP,UAA0C,EAC1CQ,MAA8B,KAC3B;EAAA,IAAAC,qBAAA;EACH,MAAMC,YAAY,GAAGV,UAAU,KAAIQ,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEG,MAAM,CAACX,UAAU,CAACY,MAAM,CAACD,MAAM,CAAC;EAC3E,OAAOD,YAAY,GACfG,OAAO,EAAAJ,qBAAA,GAACC,YAAY,CAACI,YAAY,cAAAL,qBAAA,gBAAAA,qBAAA,GAAzBA,qBAAA,CAA2BM,QAAQ,cAAAN,qBAAA,uBAAnCA,qBAAA,CAAqCO,QAAQ,CAAC5B,aAAa,CAAC6B,mBAAmB,CAAC,CAAC,GACzFC,SAAS;AACf,CAAC;AAED,OAAO,MAAMC,eAAe,GAAGA,CAACC,IAAwB,EAAEC,MAAe,KAAwB;EAC/F,IAAI,CAACD,IAAI,EAAE;IACT,OAAOF,SAAS;EAClB;EAEA,MAAMI,UAAU,GAAGD,MAAM,CAACE,IAAI,CAAEC,KAAK,IAAKA,KAAK,CAACJ,IAAI,KAAKA,IAAI,CAAC;EAC9D,IAAIE,UAAU,EAAE;IACd,OAAOA,UAAU;EACnB;EAEA,MAAMG,WAAW,GAAGJ,MAAM,CAACE,IAAI,CAAEC,KAAK,IAAKJ,IAAI,CAACM,UAAU,CAAC,GAAGF,KAAK,CAACJ,IAAI,GAAG,CAAC,CAAC;EAC7E,IAAIK,WAAW,IAAIA,WAAW,CAACE,KAAK,CAACC,KAAK,KAAK,QAAQ,EAAE;IACvD,OAAOT,eAAe,CAACC,IAAI,EAAEK,WAAW,CAACE,KAAK,CAACA,KAAK,CAAC;EACvD;EAEA,OAAOT,SAAS;AAClB,CAAC;AAED,MAAMW,sBAAsB,GAAGA,CAC7BL,KAAY,EACZhB,MAAkB,EAClBsB,MAAc,EACdC,QAA4B,KACjB;EAAA,IAAAC,qBAAA;EACX,MAAMC,cAAc,GAAGC,kCAAkC,CAACV,KAAK,EAAEhB,MAAM,EAAEsB,MAAM,EAAEC,QAAQ,CAAC;EAC1F,QAAAC,qBAAA,GAAOC,cAAc,CAACN,KAAK,cAAAK,qBAAA,cAAAA,qBAAA,GAAI,EAAE;AACnC,CAAC;AAED,OAAO,MAAMG,oBAAoB,GAAInC,UAA4B,IAAc;EAAA,IAAAoC,qBAAA;EAC7E,MAAMC,oBAAoB,GAAGxB,OAAO,CAClC,EAAAuB,qBAAA,GAAApC,UAAU,CAACsC,eAAe,cAAAF,qBAAA,uBAA1BA,qBAAA,CAA4BG,UAAU,KAAI,IAAIC,IAAI,CAACxC,UAAU,CAACsC,eAAe,CAACC,UAAU,CAAC,GAAG,IAAIC,IAAI,CAAC,CACvG,CAAC;EAED,OAAOH,oBAAoB;AAC7B,CAAC;AASD,MAAMI,8BAA8B,GAAGA,CACrCzC,UAA4B,EAC5BqB,MAAe,GAAG,EAAE,EACpBb,MAAkB,EAClBsB,MAAc,EACdY,MAAwB,EACxBX,QAA4B,KAOzB;EAAA,IAAAY,qBAAA,EAAAC,qBAAA;EACH,MAAM;IAAEC;EAAiB,CAAC,GAAG7C,UAAU,CAACY,MAAM;EAE9C,QAAQZ,UAAU,CAACC,KAAK;IACtB,KAAKhB,eAAe,CAACmB,SAAS;MAC5B,OAAO;QACL0C,uBAAuB,EAAE9C,UAAU,CAAC+C,cAAc,GAC9CL,MAAM,CAACM,cAAc,CAACtD,uBAAuB,CAAC,IAAI8C,IAAI,CAACxC,UAAU,CAAC+C,cAAc,CAAC,CAAE,CAAC,GACpFL,MAAM,CAACO,SAAS;QACpBC,sBAAsB,EAAEvD,YAAY,CAACmC,MAAM,EAAE,WAAW,CAAC;QACzDqB,UAAU,EAAE3D;MACd,CAAC;IACH,KAAKP,eAAe,CAACiB,OAAO;MAC1B,OAAO;QACL4C,uBAAuB,EAAEJ,MAAM,CAACU,OAAO;QACvCC,0BAA0B,EAAE,IAAI;QAChCH,sBAAsB,EAAEvD,YAAY,CAACmC,MAAM,EAAE,SAAS,CAAC;QACvDqB,UAAU,EAAE9D;MACd,CAAC;EACL;EAEA,IAAI8C,oBAAoB,CAACnC,UAAU,CAAC,EAAE;IACpC,OAAO;MACL8C,uBAAuB,EAAEJ,MAAM,CAACY,cAAc;MAC9CJ,sBAAsB,EAAEvD,YAAY,CAACmC,MAAM,EAAE,gBAAgB,CAAC;MAC9DqB,UAAU,EAAE3D;IACd,CAAC;EACH;EAEA,IAAIsD,uBAAuB,IAAAH,qBAAA,GACzBjD,uBAAuB,CAAC,IAAI8C,IAAI,EAAAI,qBAAA,GAAC5C,UAAU,CAACuD,YAAY,cAAAX,qBAAA,cAAAA,qBAAA,GAAI5C,UAAU,CAACwD,WAAW,CAAC,CAAC,cAAAb,qBAAA,cAAAA,qBAAA,GAAI,EAAE;EAC5F,IAAIc,yBAA6C;EAEjD,MAAMC,OAAO,GAAGvC,eAAe,CAAC0B,gBAAgB,aAAhBA,gBAAgB,uBAAhBA,gBAAgB,CAAEc,gBAAgB,EAAEtC,MAAM,CAAC;EAE3E,IAAIqC,OAAO,EAAE;IACXZ,uBAAuB,GAAGjB,sBAAsB,CAAC6B,OAAO,EAAElD,MAAM,EAAEb,YAAY,CAACmC,MAAM,EAAE,SAAS,CAAC,EAAEC,QAAQ,CAAC;EAC9G;EAEA,MAAM6B,SAAS,GAAGzC,eAAe,CAAC0B,gBAAgB,aAAhBA,gBAAgB,uBAAhBA,gBAAgB,CAAEgB,kBAAkB,EAAExC,MAAM,CAAC;EAE/E,IAAIuC,SAAS,EAAE;IACbH,yBAAyB,GAAG5B,sBAAsB,CAAC+B,SAAS,EAAEpD,MAAM,EAAEb,YAAY,CAACmC,MAAM,EAAE,WAAW,CAAC,EAAEC,QAAQ,CAAC;EACpH;EAEA,OAAO;IACLe,uBAAuB;IACvBW,yBAAyB;IACzBP,sBAAsB,EAAEvD,YAAY,CAACmC,MAAM,EAAE,QAAQ;EACvD,CAAC;AACH,CAAC;AAED,OAAO,MAAMgC,wBAAwB,GAAGA,CACtC9D,UAA4B,EAC5BqB,MAAe,GAAG,EAAE,EACpBb,MAAkB,EAClBsB,MAAc,EACdY,MAAwB,EACxBX,QAA4B,KACa;EAAA,IAAAgC,qBAAA,EAAAC,mBAAA,EAAAC,qBAAA,EAAAC,sBAAA,EAAAC,sBAAA;EACzC,MAAM;IACJrB,uBAAuB;IACvBW,yBAAyB;IACzBJ,0BAA0B;IAC1BH,sBAAsB;IACtBC;EACF,CAAC,GAAGV,8BAA8B,CAACzC,UAAU,EAAEqB,MAAM,EAAEb,MAAM,EAAEsB,MAAM,EAAEY,MAAM,EAAEX,QAAQ,CAAC;EACxF,MAAM;IAAEc;EAAiB,CAAC,GAAG7C,UAAU,CAACY,MAAM;EAC9C,MAAMwD,eAAe,GAAG5D,MAAM,CAAC6D,cAAc,CAACD,eAAe;EAE7D,OAAO;IACLE,KAAK,EAAEzB,gBAAgB,aAAhBA,gBAAgB,gBAAAkB,qBAAA,GAAhBlB,gBAAgB,CAAE0B,IAAI,cAAAR,qBAAA,uBAAtBA,qBAAA,CAAwBS,eAAe;IAC9CnB,0BAA0B;IAC1BP,uBAAuB;IACvBW,yBAAyB;IACzBP,sBAAsB;IACtBuB,cAAc,GAAAT,mBAAA,GACZpE,kBAAkB,EAAAqE,qBAAA,GAACjE,UAAU,CAACY,MAAM,CAAC8D,YAAY,cAAAT,qBAAA,uBAA9BA,qBAAA,CAAgCU,IAAI,EAAE5C,QAAQ,EAAEqC,eAAe,CAAC,cAAAJ,mBAAA,cAAAA,mBAAA,GAAIhE,UAAU,CAACY,MAAM,CAAC+D,IAAI;IAC/GC,IAAI,EAAE/B,gBAAgB,aAAhBA,gBAAgB,gBAAAqB,sBAAA,GAAhBrB,gBAAgB,CAAE0B,IAAI,cAAAL,sBAAA,eAAtBA,sBAAA,CAAwBW,KAAK,GAC/B;MACEC,WAAW,EAAE;QACXC,GAAG,EAAElC,gBAAgB,CAAC0B,IAAI,CAACM;MAC7B;IACF,CAAC,GACD3D,SAAS;IACb8D,cAAc,EAAEnC,gBAAgB,aAAhBA,gBAAgB,gBAAAsB,sBAAA,GAAhBtB,gBAAgB,CAAE0B,IAAI,cAAAJ,sBAAA,uBAAtBA,sBAAA,CAAwBc,SAAS;IACjD9B,UAAU;IACVrB;EACF,CAAC;AACH,CAAC;AAMD,OAAO,MAAMoD,oCAAoC,GAAGA,CAClDlF,UAA4B,EAC5BqB,MAAe,GAAG,EAAE,EACpBb,MAAkB,EAClB2E,MAAwC,EACxCrD,MAAc,EACdY,MAAkB,EAClBX,QAA4B,KACuC;EAAA,IAAAqD,qBAAA,EAAAC,sBAAA;EACnE,MAAM;IAAExC;EAAiB,CAAC,GAAG7C,UAAU,CAACY,MAAM;EAC9C,MAAMwD,eAAe,GAAG5D,MAAM,CAAC6D,cAAc,CAACD,eAAe;EAE7D,IAAIjC,oBAAoB,CAACnC,UAAU,CAAC,EAAE;IACpCmF,MAAM,GAAG;MACPG,IAAI,EAAE5C,MAAM,CAAC6C,oBAAoB;MACjCC,UAAU,EAAEjG;IACd,CAAC;EACH,CAAC,MAAM,IAAI,CAAC4F,MAAM,EAAE;IAAA,IAAAM,sBAAA;IAClB,IAAIC,WAAW,GAAG9F,kBAAkB,EAAA6F,sBAAA,GAACzF,UAAU,CAACY,MAAM,CAAC8D,YAAY,cAAAe,sBAAA,uBAA9BA,sBAAA,CAAgCC,WAAW,EAAE3D,QAAQ,EAAEqC,eAAe,CAAC;IAC5G,IAAIsB,WAAW,EAAE;MACfP,MAAM,GAAG;QACPG,IAAI,EAAEI,WAAW;QACjBF,UAAU,EAAElG;MACd,CAAC;IACH;EACF;EAEA,MAAMqG,MAAsE,GAAG;IAC7EC,kBAAkB,EAAE/F,2BAA2B,CAACwB,MAAM,EAAEwB,gBAAgB,EAAElD,YAAY,CAACmC,MAAM,EAAE,UAAU,CAAC,CAAC;IAC3G+D,SAAS,EAAEhD,gBAAgB,aAAhBA,gBAAgB,gBAAAuC,qBAAA,GAAhBvC,gBAAgB,CAAEiD,UAAU,cAAAV,qBAAA,eAA5BA,qBAAA,CAA8BP,KAAK,GAC1C;MAAEC,WAAW,EAAE;QAAEC,GAAG,EAAElC,gBAAgB,CAACiD,UAAU,CAACjB;MAAM;IAAE,CAAC,GAC3D3D,SAAS;IACboD,KAAK,EAAEzB,gBAAgB,aAAhBA,gBAAgB,gBAAAwC,sBAAA,GAAhBxC,gBAAgB,CAAEiD,UAAU,cAAAT,sBAAA,uBAA5BA,sBAAA,CAA8Bf,KAAK;IAC1CyB,MAAM,EAAEjC,wBAAwB,CAAC9D,UAAU,EAAEqB,MAAM,EAAEb,MAAM,EAAEb,YAAY,CAACmC,MAAM,EAAE,QAAQ,CAAC,EAAEY,MAAM,EAAEX,QAAQ,CAAC;IAC9GD,MAAM;IACNqD;EACF,CAAC;EAED,OAAOQ,MAAM;AACf,CAAC;AAED,OAAO,MAAMK,6BAA6B,GAAGA,CAC3CxE,KAAY,EACZhB,MAAkB,EAClBsB,MAAc,EACdC,QAA4B,KACJ;EAAA,IAAAkE,oBAAA;EACxB,MAAMtE,KAAK,GAAGO,kCAAkC,CAACV,KAAK,EAAEhB,MAAM,EAAEsB,MAAM,EAAEC,QAAQ,CAAC;EACjF,MAAMqC,eAAe,GAAG5D,MAAM,CAAC6D,cAAc,CAACD,eAAe;EAC7D,OAAO;IACL8B,EAAE,EAAE1E,KAAK,CAACJ,IAAI;IACduD,IAAI,GAAAsB,oBAAA,GAAErG,kBAAkB,CAAC4B,KAAK,CAACZ,MAAM,CAAC8D,YAAY,CAACC,IAAI,EAAE5C,QAAQ,EAAEqC,eAAe,CAAC,cAAA6B,oBAAA,cAAAA,oBAAA,GAAIzE,KAAK,CAACJ,IAAI,CAAC+E,KAAK,CAAC,GAAG,CAAC,CAACC,GAAG,CAAC,CAAC;IAClHhF,IAAI,EAAEI,KAAK,CAACJ,IAAI;IAChB,GAAGO;EACL,CAAC;AACH,CAAC;AAED,MAAMO,kCAAkC,GAAGA,CACzCV,KAAY,EACZhB,MAAkB,EAClBsB,MAAc,EACdC,QAA4B,KACC;EAC7B,MAAMsE,UAAU,GAAG7F,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAE8F,QAAQ,CAAC9E,KAAK,CAACZ,MAAM,CAAC0F,QAAQ,CAAC;EAE1D,IAAI9E,KAAK,CAACZ,MAAM,CAAC2F,KAAK,EAAE;IACtB,OAAO;MACLC,MAAM,EAAE,CAAEhF,KAAK,CAACG,KAAK,CAACA,KAAK,IAAgB,EAAE,EAAE8E,GAAG,CAAC,CAACC,UAAU,EAAEC,KAAK,KAAK;QACxE,OAAOX,6BAA6B,CAACU,UAAU,EAAElG,MAAM,EAAEb,YAAY,CAACmC,MAAM,EAAE6E,KAAK,CAACC,QAAQ,CAAC,CAAC,CAAC,EAAE7E,QAAQ,CAAC;MAC5G,CAAC;IACH,CAAC;EACH,CAAC,MAAM;IACL,QAAQsE,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEQ,IAAI;MACtB,KAAK1H,QAAQ,CAAC2H,MAAM;QAAE;UACpB,IAAItF,KAAK,CAACG,KAAK,CAACC,KAAK,KAAK,QAAQ,EAAE;YAClC,OAAO;cAAEmF,UAAU,EAAE;YAAG,CAAC;UAC3B;UACA,OAAO;YACLA,UAAU,EAAEvF,KAAK,CAACG,KAAK,CAACA,KAAK,CAAC8E,GAAG,CAAC,CAACO,WAAW,EAAEL,KAAK,KACnDX,6BAA6B,CAACgB,WAAW,EAAExG,MAAM,EAAEb,YAAY,CAACmC,MAAM,EAAE6E,KAAK,CAACC,QAAQ,CAAC,CAAC,CAAC,EAAE7E,QAAQ,CACrG;UACF,CAAC;QACH;MACA,KAAK5C,QAAQ,CAACqD,IAAI;QAAE;UAAA,IAAAyE,oBAAA;UAClB,IAAI,CAACzF,KAAK,CAACG,KAAK,CAACA,KAAK,EAAE;YACtB;YACA,OAAO;cAAEG,MAAM,EAAEA,MAAM;cAAEH,KAAK,EAAEuF,MAAM,CAAC1F,KAAK,CAACG,KAAK,CAACA,KAAK;YAAE,CAAC;UAC7D;UACA,MAAMwF,IAAI,GAAG3F,KAAK,CAACG,KAAK,CAACA,KAAe;UACxC,OAAO;YACLG,MAAM,EAAEA,MAAM;YACdH,KAAK,GAAAsF,oBAAA,GAAExH,mBAAmB,CAAC,IAAI+C,IAAI,CAAC2E,IAAI,CAAC,CAAC,cAAAF,oBAAA,cAAAA,oBAAA,GAAIE;UAChD,CAAC;QACH;MACA,KAAKhI,QAAQ,CAACiI,OAAO,CAAC,CAAC;MACvB,KAAKjI,QAAQ,CAACkI,YAAY;QAAE;UAAA,IAAAC,kBAAA;UAC1B,IAAI,EAAAA,kBAAA,GAAAjB,UAAU,CAACkB,MAAM,cAAAD,kBAAA,uBAAjBA,kBAAA,CAAmBE,MAAM,MAAK,OAAO,EAAE;YACzC,OAAO;cAAE3C,KAAK,EAAE;gBAAEE,GAAG,EAAEvD,KAAK,CAACG,KAAK,CAACA;cAAgB,CAAC;cAAEG,MAAM,EAAEA;YAAO,CAAC;UACxE,CAAC,MAAM;YACL,OAAO;cAAEA,MAAM,EAAEA,MAAM;cAAEH,KAAK,EAAEH,KAAK,CAACG,KAAK,CAACA;YAAgB,CAAC;UAC/D;QACF;MACA;QACE,OAAO;UAAEG,MAAM,EAAEA,MAAM;UAAEH,KAAK,EAAEuF,MAAM,CAAC1F,KAAK,CAACG,KAAK,CAACA,KAAK;QAAE,CAAC;IAC/D;EACF;AACF,CAAC;AAMD,OAAO,MAAM8F,yBAAyB,GAAGA,CACvCzH,UAA4B,EAC5BQ,MAAkB,EAClBsB,MAAc,EACdY,MAAkB,EAClBX,QAA4B,KACe;EAC3C,OAAO2F,mCAAmC,CAAC1H,UAAU,EAAEA,UAAU,CAACqB,MAAM,EAAEb,MAAM,EAAEsB,MAAM,EAAEY,MAAM,EAAEX,QAAQ,CAAC;AAC7G,CAAC;AAED,OAAO,MAAM2F,mCAAmC,GAAGA,CACjD1H,UAA4B,EAC5BqB,MAAe,EACfb,MAAkB,EAClBsB,MAAc,EACdY,MAAkB,EAClBX,QAA4B,KACe;EAC3C,MAAMgF,UAAiC,GAAG1F,MAAM,CAACoF,GAAG,CAAC,CAACjF,KAAK,EAAEmF,KAAK,KAChEX,6BAA6B,CAACxE,KAAK,EAAEhB,MAAM,EAAEb,YAAY,CAACmC,MAAM,EAAE,WAAW,EAAE6E,KAAK,CAACC,QAAQ,CAAC,CAAC,CAAC,EAAE7E,QAAQ,CAC5G,CAAC;EAED,MAAM4F,IAAI,GAAGzC,oCAAoC,CAC/ClF,UAAU,EACVqB,MAAM,EACNb,MAAM,EACNU,SAAS,EACTvB,YAAY,CAACmC,MAAM,EAAE,MAAM,CAAC,EAC5BY,MAAM,EACNX,QACF,CAAC;EAED,OAAO;IACLgF,UAAU;IACVY;EACF,CAAC;AACH,CAAC;;AAED;AACA;AACA,OAAO,MAAMC,cAAc,GAAIb,UAAiC,IAA4B;EAC1F,MAAMpB,MAA6B,GAAG,EAAE;EAExC,KAAK,MAAMkC,SAAS,IAAId,UAAU,EAAE;IAClC,MAAMe,aAAa,GAAGD,SAAS,CAACzG,IAAI,CAAC+E,KAAK,CAAC,GAAG,CAAC;IAC/C,IAAI2B,aAAa,CAACC,MAAM,KAAK,CAAC,EAAE;MAC9BpC,MAAM,CAACqC,IAAI,CAACH,SAAS,CAAC;IACxB,CAAC,MAAM;MACL,MAAM,CAACI,KAAK,EAAE,GAAGC,IAAI,CAAC,GAAGJ,aAAa;MACtC,MAAMK,MAAM,GAAGxC,MAAM,CAACpE,IAAI,CAAE6G,CAAC,IAAKA,CAAC,CAACzD,IAAI,KAAKsD,KAAK,CAAC;MACnD,IAAIE,MAAM,EAAE;QACVE,uBAAuB,CAAC;UAAE,GAAGR,SAAS;UAAEzG,IAAI,EAAE8G,IAAI,CAACI,IAAI,CAAC,GAAG;QAAE,CAAC,EAAEH,MAAM,CAAC;MACzE,CAAC,MAAM;QACLxC,MAAM,CAACqC,IAAI,CAACO,0BAA0B,CAACV,SAAS,CAAC,CAAC;MACpD;IACF;EACF;EAEA,OAAOlC,MAAM;AACf,CAAC;;AAED;AACA;AACA,MAAM4C,0BAA0B,GAAIV,SAA8B,IAA0B;EAC1F,MAAMW,SAAS,GAAGX,SAAS,CAACzG,IAAI,CAAC+E,KAAK,CAAC,GAAG,CAAC;EAC3C,MAAM,CAAC8B,KAAK,EAAE,GAAGC,IAAI,CAAC,GAAGM,SAAS;EAClC,IAAI,CAACN,IAAI,CAACH,MAAM,EAAE;IAChB,OAAOF,SAAS;EAClB;;EAEA;EACA;EACA,IAAIA,SAAS,CAACY,SAAS,EAAE;IACvB,OAAO;MACLjC,MAAM,EAAE,CAAC+B,0BAA0B,CAAC;QAAE,GAAGV,SAAS;QAAEzG,IAAI,EAAE8G,IAAI,CAACI,IAAI,CAAC,GAAG;MAAE,CAAC,CAAC,CAAC;MAC5EI,QAAQ,EAAE,IAAI;MACdxC,EAAE,EAAE,GAAG2B,SAAS,CAAC3B,EAAE,IAAI+B,KAAK,EAAE;MAC9BtD,IAAI,EAAEsD,KAAK;MACX7G,IAAI,EAAE6G;IACR,CAAC;EACH,CAAC,MAAM;IACL,OAAO;MACLlB,UAAU,EAAE,CAACwB,0BAA0B,CAAC;QAAE,GAAGV,SAAS;QAAEzG,IAAI,EAAE8G,IAAI,CAACI,IAAI,CAAC,GAAG;MAAE,CAAC,CAAC,CAAC;MAChFI,QAAQ,EAAE,IAAI;MACdxC,EAAE,EAAE,GAAG2B,SAAS,CAAC3B,EAAE,IAAI+B,KAAK,EAAE;MAC9BtD,IAAI,EAAEsD,KAAK;MACX7G,IAAI,EAAE6G;IACR,CAAC;EACH;AACF,CAAC;;AAED;AACA;AACA,MAAMI,uBAAuB,GAAGA,CAACR,SAA8B,EAAEM,MAA2B,KAAK;EAAA,IAAAQ,kBAAA;EAC/F,MAAMH,SAAS,GAAGX,SAAS,CAACzG,IAAI,CAAC+E,KAAK,CAAC,GAAG,CAAC;EAC3C,MAAM,CAAC8B,KAAK,EAAE,GAAGC,IAAI,CAAC,GAAGM,SAAS;EAElC,MAAMI,UAAU,IAAAD,kBAAA,GAAGR,MAAM,CAACpB,UAAU,cAAA4B,kBAAA,uBAAjBA,kBAAA,CAAmBpH,IAAI,CAAE6G,CAAC,IAAKA,CAAC,CAACzD,IAAI,KAAKsD,KAAK,CAAC;EAEnE,IAAI,CAACW,UAAU,EAAE;IACf,IAAIf,SAAS,CAACY,SAAS,EAAE;MAAA,IAAAI,cAAA;MACvB,CAAAA,cAAA,GAAAV,MAAM,CAAC3B,MAAM,cAAAqC,cAAA,eAAbA,cAAA,CAAeb,IAAI,CAACO,0BAA0B,CAACV,SAAS,CAAC,CAAC;IAC5D,CAAC,MAAM;MAAA,IAAAiB,mBAAA;MACL,CAAAA,mBAAA,GAAAX,MAAM,CAACpB,UAAU,cAAA+B,mBAAA,eAAjBA,mBAAA,CAAmBd,IAAI,CAACO,0BAA0B,CAACV,SAAS,CAAC,CAAC;IAChE;EACF,CAAC,MAAM;IACLQ,uBAAuB,CAAC;MAAE,GAAGR,SAAS;MAAEzG,IAAI,EAAE8G,IAAI,CAACI,IAAI,CAAC,GAAG;IAAE,CAAC,EAAEM,UAAU,CAAC;EAC7E;AACF,CAAC;AAED,SAASG,gBAAgBA,CAAClE,KAAyB,EAAE;EACnD,OAAOA,KAAK,GAAG,iBAAiB,GAAG,EAAE;AACvC;AAEA,OAAO,SAASmE,gCAAgCA,CAAqCC,gBAAmB,EAAK;EAAA,IAAAC,qBAAA,EAAAC,sBAAA,EAAAC,sBAAA,EAAAC,sBAAA;EAC3G,OAAO;IACL,GAAGJ,gBAAgB;IACnBpG,gBAAgB,EAAE;MAChB,GAAGoG,gBAAgB,CAACpG,gBAAgB;MACpCiD,UAAU,EAAE;QACV,KAAAoD,qBAAA,GAAGD,gBAAgB,CAACpG,gBAAgB,cAAAqG,qBAAA,uBAAjCA,qBAAA,CAAmCpD,UAAU;QAChDjB,KAAK,EAAEkE,gBAAgB,EAAAI,sBAAA,GAACF,gBAAgB,CAACpG,gBAAgB,cAAAsG,sBAAA,gBAAAA,sBAAA,GAAjCA,sBAAA,CAAmCrD,UAAU,cAAAqD,sBAAA,uBAA7CA,sBAAA,CAA+CtE,KAAK;MAC9E,CAAC;MACDN,IAAI,EAAE;QACJ,KAAA6E,sBAAA,GAAGH,gBAAgB,CAACpG,gBAAgB,cAAAuG,sBAAA,uBAAjCA,sBAAA,CAAmC7E,IAAI;QAC1CM,KAAK,EAAEkE,gBAAgB,EAAAM,sBAAA,GAACJ,gBAAgB,CAACpG,gBAAgB,cAAAwG,sBAAA,gBAAAA,sBAAA,GAAjCA,sBAAA,CAAmC9E,IAAI,cAAA8E,sBAAA,uBAAvCA,sBAAA,CAAyCxE,KAAK;MACxE;IACF;EACF,CAAC;AACH;AAEA,OAAO,SAASyE,4CAA4CA,CAC1DC,sBAA6E,EAC3D;EAClB,OAAO;IACL1C,IAAI,EAAE3H,cAAc,CAACsK,MAAM;IAC3B,GAAGD;EACL,CAAC;AACH","ignoreList":[]}
1
+ {"version":3,"names":["CredentialState","CredentialType","DataType","FormatFeature","CredentialErrorIcon","CredentialNoticeInfoIcon","CredentialNoticeWarningIcon","CredentialWarningIcon","formatDateLocalized","formatDateTimeLocalized","concatTestID","getTranslatedLabel","getCarouselImagesFromClaims","ValidityState","getValidityState","credential","state","REVOKED","Revoked","SUSPENDED","Suspended","Valid","supportsSelectiveDisclosure","config","_formatConfig$capabil","formatConfig","format","schema","Boolean","capabilities","features","includes","SelectiveDisclosure","undefined","findClaimByPath","path","claims","exactClaim","find","claim","parentClaim","startsWith","value","type_","formatCredentialDetail","testID","language","_attributeValue$value","attributeValue","detailsCardAttributeValueFromClaim","credentialLogoFromCredential","_layoutProperties$log","_getTranslatedLabel","_credential$schema$tr","_layoutProperties$log2","_layoutProperties$log3","layoutProperties","defaultLanguage","globalSettings","color","logo","backgroundColor","credentialName","translations","name","icon","image","imageSource","uri","iconLabelColor","fontColor","hasMsoValidityIssues","_credential$mdocMsoVa","mdocMsoValidityIssue","mdocMsoValidity","nextUpdate","Date","credentialDetailFromCredential","labels","_formatDateTimeLocali","_credential$issuanceD","credentialDetailPrimary","suspendEndDate","suspendedUntil","suspended","credentialDetailTestID","statusIcon","revoked","credentialDetailErrorColor","validityIssues","issuanceDate","createdDate","credentialDetailSecondary","primary","primaryAttribute","secondary","secondaryAttribute","cardHeaderFromCredential","logoProps","getCredentialCardPropsFromCredential","notice","_layoutProperties$bac","_layoutProperties$bac2","text","validityIssuesNotice","noticeIcon","_credential$schema$tr2","description","result","cardCarouselImages","cardImage","background","header","detailsCardAttributeFromClaim","_getTranslatedLabel2","id","split","pop","typeConfig","datatype","array","values","map","arrayValue","index","toString","type","Object","attributes","nestedClaim","_formatDateLocalized","String","date","Picture","SwiyuPicture","_typeConfig$params","params","showAs","detailsCardFromCredential","detailsCardFromCredentialWithClaims","card","nestAttributes","attribute","attributePath","length","push","first","rest","parent","a","insertAttributeInParent","join","nestAttributeInDummyParent","pathParts","listValue","disabled","_parent$attributes","nextParent","_parent$values","_parent$attributes2","parseBase64Image","getCredentialSchemaWithoutImages","credentialSchema","_credentialSchema$lay","_credentialSchema$lay2","_credentialSchema$lay3","_credentialSchema$lay4","credentialDetailFromPresentationV2Credential","presentationCredential","SINGLE"],"sources":["credential.ts"],"sourcesContent":["import {\n Claim,\n CoreConfig,\n CredentialDetail,\n CredentialListItem,\n CredentialSchemaListItem,\n CredentialState,\n CredentialType,\n DataType,\n FormatFeature,\n PresentationDefinitionV2Credential,\n} from '@procivis/react-native-one-core';\nimport { FC } from 'react';\nimport { SvgProps } from 'react-native-svg';\n\nimport {\n CredentialAttribute,\n CredentialAttributeValue,\n CredentialCardProps,\n CredentialDetailsCardProps,\n CredentialHeaderProps,\n CredentialLogoProps,\n} from '../../ui-components/credential';\nimport { CredentialCardNotice } from '../../ui-components/credential/card/credential-card';\nimport {\n CredentialErrorIcon,\n CredentialNoticeInfoIcon,\n CredentialNoticeWarningIcon,\n CredentialWarningIcon,\n} from '../../ui-components/icons';\nimport { formatDateLocalized, formatDateTimeLocalized } from '../date';\nimport { concatTestID } from '../testID';\nimport { getTranslatedLabel } from '../translations';\nimport { getCarouselImagesFromClaims } from './credential-images';\n\nexport enum ValidityState {\n Revoked = 'revoked',\n Suspended = 'suspended',\n Valid = 'valid',\n}\n\nexport const getValidityState = (credential: CredentialListItem | undefined) => {\n if (credential?.state === CredentialState.REVOKED) {\n return ValidityState.Revoked;\n }\n if (credential?.state === CredentialState.SUSPENDED) {\n return ValidityState.Suspended;\n }\n return ValidityState.Valid;\n};\n\nexport const supportsSelectiveDisclosure = (\n credential: CredentialListItem | undefined,\n config: CoreConfig | undefined,\n) => {\n const formatConfig = credential && config?.format[credential.schema.format];\n return formatConfig\n ? Boolean(formatConfig.capabilities?.features?.includes(FormatFeature.SelectiveDisclosure))\n : undefined;\n};\n\nexport const findClaimByPath = (path: string | undefined, claims: Claim[]): Claim | undefined => {\n if (!path) {\n return undefined;\n }\n\n const exactClaim = claims.find((claim) => claim.path === path);\n if (exactClaim) {\n return exactClaim;\n }\n\n const parentClaim = claims.find((claim) => path.startsWith(`${claim.path}/`));\n if (parentClaim && parentClaim.value.type_ === 'NESTED') {\n return findClaimByPath(path, parentClaim.value.value);\n }\n\n return undefined;\n};\n\nconst formatCredentialDetail = (\n claim: Claim,\n config: CoreConfig,\n testID: string,\n language: string | undefined,\n): string => {\n const attributeValue = detailsCardAttributeValueFromClaim(claim, config, testID, language);\n return attributeValue.value ?? '';\n};\n\nexport const credentialLogoFromCredential = (\n credential: CredentialDetail,\n config: CoreConfig,\n testID: string,\n language: string | undefined,\n): Omit<CredentialLogoProps, 'size'> => {\n const { layoutProperties } = credential.schema;\n const defaultLanguage = config.globalSettings.defaultLanguage;\n return {\n color: layoutProperties?.logo?.backgroundColor,\n credentialName:\n getTranslatedLabel(credential.schema.translations?.name, language, defaultLanguage) ?? credential.schema.name,\n icon: layoutProperties?.logo?.image\n ? {\n imageSource: {\n uri: layoutProperties.logo.image,\n },\n }\n : undefined,\n iconLabelColor: layoutProperties?.logo?.fontColor,\n testID,\n };\n};\n\nexport const hasMsoValidityIssues = (credential: CredentialDetail): boolean => {\n const mdocMsoValidityIssue = Boolean(\n credential.mdocMsoValidity?.nextUpdate && new Date(credential.mdocMsoValidity.nextUpdate) < new Date(),\n );\n\n return mdocMsoValidityIssue;\n};\n\nexport type CardHeaderLabels = {\n validityIssues: string;\n revoked: string;\n suspended: string;\n suspendedUntil: (date: string) => string;\n};\n\nconst credentialDetailFromCredential = (\n credential: CredentialDetail,\n claims: Claim[] = [],\n config: CoreConfig,\n testID: string,\n labels: CardHeaderLabels,\n language: string | undefined,\n): {\n credentialDetailPrimary?: string;\n credentialDetailSecondary?: string;\n credentialDetailErrorColor?: boolean;\n credentialDetailTestID?: string;\n statusIcon?: FC<SvgProps>;\n} => {\n const { layoutProperties } = credential.schema;\n\n switch (credential.state) {\n case CredentialState.SUSPENDED:\n return {\n credentialDetailPrimary: credential.suspendEndDate\n ? labels.suspendedUntil(formatDateTimeLocalized(new Date(credential.suspendEndDate))!)\n : labels.suspended,\n credentialDetailTestID: concatTestID(testID, 'suspended'),\n statusIcon: CredentialWarningIcon,\n };\n case CredentialState.REVOKED:\n return {\n credentialDetailPrimary: labels.revoked,\n credentialDetailErrorColor: true,\n credentialDetailTestID: concatTestID(testID, 'revoked'),\n statusIcon: CredentialErrorIcon,\n };\n }\n\n if (hasMsoValidityIssues(credential)) {\n return {\n credentialDetailPrimary: labels.validityIssues,\n credentialDetailTestID: concatTestID(testID, 'validity-issue'),\n statusIcon: CredentialWarningIcon,\n };\n }\n\n let credentialDetailPrimary =\n formatDateTimeLocalized(new Date(credential.issuanceDate ?? credential.createdDate)) ?? '';\n let credentialDetailSecondary: string | undefined;\n\n const primary = findClaimByPath(layoutProperties?.primaryAttribute, claims);\n\n if (primary) {\n credentialDetailPrimary = formatCredentialDetail(primary, config, concatTestID(testID, 'primary'), language);\n }\n\n const secondary = findClaimByPath(layoutProperties?.secondaryAttribute, claims);\n\n if (secondary) {\n credentialDetailSecondary = formatCredentialDetail(secondary, config, concatTestID(testID, 'secondary'), language);\n }\n\n return {\n credentialDetailPrimary,\n credentialDetailSecondary,\n credentialDetailTestID: concatTestID(testID, 'detail'),\n };\n};\n\nexport const cardHeaderFromCredential = (\n credential: CredentialDetail,\n claims: Claim[] = [],\n config: CoreConfig,\n testID: string,\n labels: CardHeaderLabels,\n language: string | undefined,\n): Omit<CredentialHeaderProps, 'style'> => {\n const logoProps = credentialLogoFromCredential(credential, config, '', language);\n const {\n credentialDetailPrimary,\n credentialDetailSecondary,\n credentialDetailErrorColor,\n credentialDetailTestID,\n statusIcon,\n } = credentialDetailFromCredential(credential, claims, config, testID, labels, language);\n\n return {\n ...logoProps,\n credentialDetailErrorColor,\n credentialDetailPrimary,\n credentialDetailSecondary,\n credentialDetailTestID,\n statusIcon,\n testID,\n };\n};\n\nexport type CardLabels = CardHeaderLabels & {\n validityIssuesNotice: string;\n};\n\nexport const getCredentialCardPropsFromCredential = (\n credential: CredentialDetail,\n claims: Claim[] = [],\n config: CoreConfig,\n notice: CredentialCardNotice | undefined,\n testID: string,\n labels: CardLabels,\n language: string | undefined,\n): Omit<CredentialCardProps, 'onHeaderPress' | 'style' | 'width'> => {\n const { layoutProperties } = credential.schema;\n const defaultLanguage = config.globalSettings.defaultLanguage;\n\n if (hasMsoValidityIssues(credential)) {\n notice = {\n text: labels.validityIssuesNotice,\n noticeIcon: CredentialNoticeWarningIcon,\n };\n } else if (!notice) {\n let description = getTranslatedLabel(credential.schema.translations?.description, language, defaultLanguage);\n if (description) {\n notice = {\n text: description,\n noticeIcon: CredentialNoticeInfoIcon,\n };\n }\n }\n\n const result: Omit<CredentialCardProps, 'onHeaderPress' | 'style' | 'width'> = {\n cardCarouselImages: getCarouselImagesFromClaims(claims, layoutProperties, concatTestID(testID, 'carousel')),\n cardImage: layoutProperties?.background?.image\n ? { imageSource: { uri: layoutProperties.background.image } }\n : undefined,\n color: layoutProperties?.background?.color,\n header: cardHeaderFromCredential(credential, claims, config, concatTestID(testID, 'header'), labels, language),\n testID,\n notice,\n };\n\n return result;\n};\n\nexport const detailsCardAttributeFromClaim = (\n claim: Claim,\n config: CoreConfig,\n testID: string,\n language: string | undefined,\n): CredentialAttribute => {\n const value = detailsCardAttributeValueFromClaim(claim, config, testID, language);\n const defaultLanguage = config.globalSettings.defaultLanguage;\n return {\n id: claim.path,\n name: getTranslatedLabel(claim.schema.translations.name, language, defaultLanguage) ?? claim.path.split('/').pop(),\n path: claim.path,\n ...value,\n };\n};\n\nconst detailsCardAttributeValueFromClaim = (\n claim: Claim,\n config: CoreConfig,\n testID: string,\n language: string | undefined,\n): CredentialAttributeValue => {\n const typeConfig = config?.datatype[claim.schema.datatype];\n\n if (claim.schema.array) {\n return {\n values: ((claim.value.value as Claim[]) || []).map((arrayValue, index) => {\n return detailsCardAttributeFromClaim(arrayValue, config, concatTestID(testID, index.toString()), language);\n }),\n };\n } else {\n switch (typeConfig?.type) {\n case DataType.Object: {\n if (claim.value.type_ !== 'NESTED') {\n return { attributes: [] };\n }\n return {\n attributes: claim.value.value.map((nestedClaim, index) =>\n detailsCardAttributeFromClaim(nestedClaim, config, concatTestID(testID, index.toString()), language),\n ),\n };\n }\n case DataType.Date: {\n if (!claim.value.value) {\n // Don't try to parse empty values (which will return \"Invalid Date\")\n return { testID: testID, value: String(claim.value.value) };\n }\n const date = claim.value.value as string;\n return {\n testID: testID,\n value: formatDateLocalized(new Date(date)) ?? date,\n };\n }\n case DataType.Picture: // fallback\n case DataType.SwiyuPicture: {\n if (typeConfig.params?.showAs === 'IMAGE') {\n return { image: { uri: claim.value.value as string }, testID: testID };\n } else {\n return { testID: testID, value: claim.value.value as string };\n }\n }\n default:\n return { testID: testID, value: String(claim.value.value) };\n }\n }\n};\n\nexport type CredentialDetailsCardPropsWithoutWidth = Omit<CredentialDetailsCardProps, 'expanded' | 'card'> & {\n card: Omit<CredentialCardProps, 'width'>;\n};\n\nexport const detailsCardFromCredential = (\n credential: CredentialDetail,\n config: CoreConfig,\n testID: string,\n labels: CardLabels,\n language: string | undefined,\n): CredentialDetailsCardPropsWithoutWidth => {\n return detailsCardFromCredentialWithClaims(credential, credential.claims, config, testID, labels, language);\n};\n\nexport const detailsCardFromCredentialWithClaims = (\n credential: CredentialDetail,\n claims: Claim[],\n config: CoreConfig,\n testID: string,\n labels: CardLabels,\n language: string | undefined,\n): CredentialDetailsCardPropsWithoutWidth => {\n const attributes: CredentialAttribute[] = claims.map((claim, index) =>\n detailsCardAttributeFromClaim(claim, config, concatTestID(testID, 'attribute', index.toString()), language),\n );\n\n const card = getCredentialCardPropsFromCredential(\n credential,\n claims,\n config,\n undefined,\n concatTestID(testID, 'card'),\n labels,\n language,\n );\n\n return {\n attributes,\n card,\n };\n};\n\n// Converts a flat list of attributes into a nested structure\n// modifies the names to not include slashes\nexport const nestAttributes = (attributes: CredentialAttribute[]): CredentialAttribute[] => {\n const result: CredentialAttribute[] = [];\n\n for (const attribute of attributes) {\n const attributePath = attribute.path.split('/');\n if (attributePath.length === 0) {\n result.push(attribute);\n } else {\n const [first, ...rest] = attributePath;\n const parent = result.find((a) => a.name === first);\n if (parent) {\n insertAttributeInParent({ ...attribute, path: rest.join('/') }, parent);\n } else {\n result.push(nestAttributeInDummyParent(attribute));\n }\n }\n }\n\n return result;\n};\n\n// We nest the leaf node in a (one or more) nested object(s)\n// to make sure the tree structure is correctly rendered in proof request screens.\nconst nestAttributeInDummyParent = (attribute: CredentialAttribute): CredentialAttribute => {\n const pathParts = attribute.path.split('/');\n const [first, ...rest] = pathParts;\n if (!rest.length) {\n return attribute;\n }\n\n // The dummy object is not selectable, and contains a placeholder ID\n // the user can't interact with it.\n if (attribute.listValue) {\n return {\n values: [nestAttributeInDummyParent({ ...attribute, path: rest.join('/') })],\n disabled: true,\n id: `${attribute.id}/${first}`,\n name: first,\n path: first,\n };\n } else {\n return {\n attributes: [nestAttributeInDummyParent({ ...attribute, path: rest.join('/') })],\n disabled: true,\n id: `${attribute.id}/${first}`,\n name: first,\n path: first,\n };\n }\n};\n\n// Recursively insert an attribute into an parent\n// Will create nested parents if necessary\nconst insertAttributeInParent = (attribute: CredentialAttribute, parent: CredentialAttribute) => {\n const pathParts = attribute.path.split('/');\n const [first, ...rest] = pathParts;\n\n const nextParent = parent.attributes?.find((a) => a.name === first);\n\n if (!nextParent) {\n if (attribute.listValue) {\n parent.values?.push(nestAttributeInDummyParent(attribute));\n } else {\n parent.attributes?.push(nestAttributeInDummyParent(attribute));\n }\n } else {\n insertAttributeInParent({ ...attribute, path: rest.join('/') }, nextParent);\n }\n};\n\nfunction parseBase64Image(image: string | undefined) {\n return image ? '__BASE64IMAGE__' : '';\n}\n\nexport function getCredentialSchemaWithoutImages<T extends CredentialSchemaListItem>(credentialSchema: T): T {\n return {\n ...credentialSchema,\n layoutProperties: {\n ...credentialSchema.layoutProperties,\n background: {\n ...credentialSchema.layoutProperties?.background,\n image: parseBase64Image(credentialSchema.layoutProperties?.background?.image),\n },\n logo: {\n ...credentialSchema.layoutProperties?.logo,\n image: parseBase64Image(credentialSchema.layoutProperties?.logo?.image),\n },\n },\n };\n}\n\nexport function credentialDetailFromPresentationV2Credential(\n presentationCredential: CredentialDetail | PresentationDefinitionV2Credential,\n): CredentialDetail {\n return {\n type: CredentialType.SINGLE,\n ...presentationCredential,\n };\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,6 +1,5 @@
1
1
  export * from './credential';
2
2
  export * from './credential-images';
3
- export * from './credential-sharing';
4
3
  export * from './credential-sharing-v2';
5
4
  export * from './query';
6
5
  export * from './universal-links';
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["export * from './credential';\nexport * from './credential-images';\nexport * from './credential-sharing';\nexport * from './credential-sharing-v2';\nexport * from './query';\nexport * from './universal-links';\n"],"mappings":"AAAA,cAAc,cAAc;AAC5B,cAAc,qBAAqB;AACnC,cAAc,sBAAsB;AACpC,cAAc,yBAAyB;AACvC,cAAc,SAAS;AACvB,cAAc,mBAAmB","ignoreList":[]}
1
+ {"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["export * from './credential';\nexport * from './credential-images';\nexport * from './credential-sharing-v2';\nexport * from './query';\nexport * from './universal-links';\n"],"mappings":"AAAA,cAAc,cAAc;AAC5B,cAAc,qBAAqB;AACnC,cAAc,yBAAyB;AACvC,cAAc,SAAS;AACvB,cAAc,mBAAmB","ignoreList":[]}
@@ -8,10 +8,10 @@ export const getQueryKeyFromCredentialListQueryParams = (queryParams = {}) => {
8
8
  return getQueryKey(queryParams, ['page', 'pageSize', 'organisationId', 'name', 'searchText', 'searchType', 'sort', 'sortDirection', 'exact', 'roles', 'ids', 'states', 'include', 'profiles', 'credentialSchemaIds', 'createdDateAfter', 'createdDateBefore', 'lastModifiedAfter', 'lastModifiedBefore', 'issuanceDateAfter', 'issuanceDateBefore', 'revocationDateAfter', 'revocationDateBefore', 'types', 'parentId']);
9
9
  };
10
10
  export const getQueryKeyFromHistoryListQueryParams = (queryParams = {}) => {
11
- return getQueryKey(queryParams, ['page', 'pageSize', 'sort', 'sortDirection', 'organisationId', 'entityIds', 'actions', 'entityTypes', 'createdDateAfter', 'createdDateBefore', 'identifierId', 'credentialId', 'credentialSchemaId', 'proofId', 'proofSchemaId', 'search', 'users']);
11
+ return getQueryKey(queryParams, ['page', 'pageSize', 'sort', 'sortDirection', 'organisationId', 'entityIds', 'actions', 'entityTypes', 'createdDateAfter', 'createdDateBefore', 'identifierId', 'credentialId', 'credentialSchemaId', 'proofId', 'proofSchemaId', 'search', 'users', 'trustCollectionId']);
12
12
  };
13
13
  export const getQueryKeyFromCredentialSchemaListQueryParams = (queryParams = {}) => {
14
- return getQueryKey(queryParams, ['page', 'pageSize', 'organisationId', 'name', 'sort', 'sortDirection', 'exact', 'ids', 'include', 'schemaId', 'schemaIds', 'formats', 'usesBatchIssuance', 'isMultiformatSchema', 'createdDateAfter', 'createdDateBefore', 'lastModifiedAfter', 'lastModifiedBefore']);
14
+ return getQueryKey(queryParams, ['page', 'pageSize', 'organisationId', 'name', 'sort', 'sortDirection', 'exact', 'ids', 'include', 'schemaIds', 'formats', 'usesBatchIssuance', 'isMultiformatSchema', 'createdDateAfter', 'createdDateBefore', 'lastModifiedAfter', 'lastModifiedBefore']);
15
15
  };
16
16
  export const getQueryKeyFromProofSchemaListQueryParams = (queryParams = {}) => {
17
17
  return getQueryKey(queryParams, ['page', 'pageSize', 'organisationId', 'name', 'sort', 'sortDirection', 'exact', 'ids', 'formats', 'createdDateAfter', 'createdDateBefore', 'lastModifiedAfter', 'lastModifiedBefore']);
@@ -1 +1 @@
1
- {"version":3,"names":["getQueryKey","queryParams","params","map","param","getQueryKeyFromCredentialListQueryParams","getQueryKeyFromHistoryListQueryParams","getQueryKeyFromCredentialSchemaListQueryParams","getQueryKeyFromProofSchemaListQueryParams","getQueryKeyFromProofListQueryParams","getQueryKeyFromDidListQueryParams","getQueryKeyFromIdentifierListQueryParams"],"sources":["query.ts"],"sourcesContent":["import {\n CredentialListQuery,\n CredentialSchemaListQuery,\n DidListQuery,\n HistoryListQuery,\n IdentifierListQuery,\n ProofListQuery,\n ProofSchemaListQuery,\n} from '@procivis/react-native-one-core';\n\ntype QueryKey<ListQuery, ParamList> = ParamList extends ReadonlyArray<keyof ListQuery> // all params are inside the ListQuery\n ? keyof ListQuery extends ParamList[number] // all ListQuery fields are in the params\n ? Array<ListQuery[keyof ListQuery]>\n : void\n : void; // otherwise produce a wrong return type which should trigger compilation error\n\n/** Typecheck that all query params are included in the query key */\nfunction getQueryKey<ListQuery extends {}, ParamList extends ReadonlyArray<keyof ListQuery>>(\n queryParams: ListQuery,\n params: ParamList,\n): QueryKey<ListQuery, ParamList> {\n return params.map((param) => queryParams[param]) as QueryKey<ListQuery, ParamList>;\n}\n\nexport const getQueryKeyFromCredentialListQueryParams = (queryParams: Partial<CredentialListQuery> = {}) => {\n return getQueryKey(queryParams, [\n 'page',\n 'pageSize',\n 'organisationId',\n 'name',\n 'searchText',\n 'searchType',\n 'sort',\n 'sortDirection',\n 'exact',\n 'roles',\n 'ids',\n 'states',\n 'include',\n 'profiles',\n 'credentialSchemaIds',\n 'createdDateAfter',\n 'createdDateBefore',\n 'lastModifiedAfter',\n 'lastModifiedBefore',\n 'issuanceDateAfter',\n 'issuanceDateBefore',\n 'revocationDateAfter',\n 'revocationDateBefore',\n 'types',\n 'parentId',\n ]);\n};\n\nexport const getQueryKeyFromHistoryListQueryParams = (queryParams: Partial<HistoryListQuery> = {}) => {\n return getQueryKey(queryParams, [\n 'page',\n 'pageSize',\n 'sort',\n 'sortDirection',\n 'organisationId',\n 'entityIds',\n 'actions',\n 'entityTypes',\n 'createdDateAfter',\n 'createdDateBefore',\n 'identifierId',\n 'credentialId',\n 'credentialSchemaId',\n 'proofId',\n 'proofSchemaId',\n 'search',\n 'users',\n ]);\n};\n\nexport const getQueryKeyFromCredentialSchemaListQueryParams = (\n queryParams: Partial<CredentialSchemaListQuery> = {},\n) => {\n return getQueryKey(queryParams, [\n 'page',\n 'pageSize',\n 'organisationId',\n 'name',\n 'sort',\n 'sortDirection',\n 'exact',\n 'ids',\n 'include',\n 'schemaId',\n 'schemaIds',\n 'formats',\n 'usesBatchIssuance',\n 'isMultiformatSchema',\n 'createdDateAfter',\n 'createdDateBefore',\n 'lastModifiedAfter',\n 'lastModifiedBefore',\n ]);\n};\n\nexport const getQueryKeyFromProofSchemaListQueryParams = (queryParams: Partial<ProofSchemaListQuery> = {}) => {\n return getQueryKey(queryParams, [\n 'page',\n 'pageSize',\n 'organisationId',\n 'name',\n 'sort',\n 'sortDirection',\n 'exact',\n 'ids',\n 'formats',\n 'createdDateAfter',\n 'createdDateBefore',\n 'lastModifiedAfter',\n 'lastModifiedBefore',\n ]);\n};\n\nexport const getQueryKeyFromProofListQueryParams = (queryParams: Partial<ProofListQuery> = {}) => {\n return getQueryKey(queryParams, [\n 'page',\n 'pageSize',\n 'organisationId',\n 'sort',\n 'sortDirection',\n 'name',\n 'ids',\n 'proofStates',\n 'proofRoles',\n 'proofSchemaIds',\n 'exact',\n 'profiles',\n 'createdDateAfter',\n 'createdDateBefore',\n 'lastModifiedAfter',\n 'lastModifiedBefore',\n 'requestedDateAfter',\n 'requestedDateBefore',\n 'completedDateAfter',\n 'completedDateBefore',\n ]);\n};\n\nexport const getQueryKeyFromDidListQueryParams = (queryParams: Partial<DidListQuery> = {}) => {\n return getQueryKey(queryParams, [\n 'page',\n 'pageSize',\n 'organisationId',\n 'sort',\n 'sortDirection',\n 'name',\n 'did',\n 'type',\n 'deactivated',\n 'exact',\n 'keyAlgorithms',\n 'keyRoles',\n 'keyStorages',\n 'keyIds',\n 'didMethods',\n ]);\n};\n\nexport const getQueryKeyFromIdentifierListQueryParams = (queryParams: Partial<IdentifierListQuery> = {}) => {\n return getQueryKey(queryParams, [\n 'page',\n 'pageSize',\n 'organisationId',\n 'ids',\n 'sort',\n 'sortDirection',\n 'name',\n 'types',\n 'states',\n 'exact',\n 'didMethods',\n 'isRemote',\n 'keyAlgorithms',\n 'keyRoles',\n 'keyStorages',\n 'certificateRoles',\n 'certificateRolesMatchMode',\n 'trustIssuanceSchemaId',\n 'trustVerificationSchemaId',\n 'createdDateAfter',\n 'createdDateBefore',\n 'lastModifiedAfter',\n 'lastModifiedBefore',\n ]);\n};\n"],"mappings":"AAcU;;AAEV;AACA,SAASA,WAAWA,CAClBC,WAAsB,EACtBC,MAAiB,EACe;EAChC,OAAOA,MAAM,CAACC,GAAG,CAAEC,KAAK,IAAKH,WAAW,CAACG,KAAK,CAAC,CAAC;AAClD;AAEA,OAAO,MAAMC,wCAAwC,GAAGA,CAACJ,WAAyC,GAAG,CAAC,CAAC,KAAK;EAC1G,OAAOD,WAAW,CAACC,WAAW,EAAE,CAC9B,MAAM,EACN,UAAU,EACV,gBAAgB,EAChB,MAAM,EACN,YAAY,EACZ,YAAY,EACZ,MAAM,EACN,eAAe,EACf,OAAO,EACP,OAAO,EACP,KAAK,EACL,QAAQ,EACR,SAAS,EACT,UAAU,EACV,qBAAqB,EACrB,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACnB,oBAAoB,EACpB,mBAAmB,EACnB,oBAAoB,EACpB,qBAAqB,EACrB,sBAAsB,EACtB,OAAO,EACP,UAAU,CACX,CAAC;AACJ,CAAC;AAED,OAAO,MAAMK,qCAAqC,GAAGA,CAACL,WAAsC,GAAG,CAAC,CAAC,KAAK;EACpG,OAAOD,WAAW,CAACC,WAAW,EAAE,CAC9B,MAAM,EACN,UAAU,EACV,MAAM,EACN,eAAe,EACf,gBAAgB,EAChB,WAAW,EACX,SAAS,EACT,aAAa,EACb,kBAAkB,EAClB,mBAAmB,EACnB,cAAc,EACd,cAAc,EACd,oBAAoB,EACpB,SAAS,EACT,eAAe,EACf,QAAQ,EACR,OAAO,CACR,CAAC;AACJ,CAAC;AAED,OAAO,MAAMM,8CAA8C,GAAGA,CAC5DN,WAA+C,GAAG,CAAC,CAAC,KACjD;EACH,OAAOD,WAAW,CAACC,WAAW,EAAE,CAC9B,MAAM,EACN,UAAU,EACV,gBAAgB,EAChB,MAAM,EACN,MAAM,EACN,eAAe,EACf,OAAO,EACP,KAAK,EACL,SAAS,EACT,UAAU,EACV,WAAW,EACX,SAAS,EACT,mBAAmB,EACnB,qBAAqB,EACrB,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACnB,oBAAoB,CACrB,CAAC;AACJ,CAAC;AAED,OAAO,MAAMO,yCAAyC,GAAGA,CAACP,WAA0C,GAAG,CAAC,CAAC,KAAK;EAC5G,OAAOD,WAAW,CAACC,WAAW,EAAE,CAC9B,MAAM,EACN,UAAU,EACV,gBAAgB,EAChB,MAAM,EACN,MAAM,EACN,eAAe,EACf,OAAO,EACP,KAAK,EACL,SAAS,EACT,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACnB,oBAAoB,CACrB,CAAC;AACJ,CAAC;AAED,OAAO,MAAMQ,mCAAmC,GAAGA,CAACR,WAAoC,GAAG,CAAC,CAAC,KAAK;EAChG,OAAOD,WAAW,CAACC,WAAW,EAAE,CAC9B,MAAM,EACN,UAAU,EACV,gBAAgB,EAChB,MAAM,EACN,eAAe,EACf,MAAM,EACN,KAAK,EACL,aAAa,EACb,YAAY,EACZ,gBAAgB,EAChB,OAAO,EACP,UAAU,EACV,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACnB,oBAAoB,EACpB,oBAAoB,EACpB,qBAAqB,EACrB,oBAAoB,EACpB,qBAAqB,CACtB,CAAC;AACJ,CAAC;AAED,OAAO,MAAMS,iCAAiC,GAAGA,CAACT,WAAkC,GAAG,CAAC,CAAC,KAAK;EAC5F,OAAOD,WAAW,CAACC,WAAW,EAAE,CAC9B,MAAM,EACN,UAAU,EACV,gBAAgB,EAChB,MAAM,EACN,eAAe,EACf,MAAM,EACN,KAAK,EACL,MAAM,EACN,aAAa,EACb,OAAO,EACP,eAAe,EACf,UAAU,EACV,aAAa,EACb,QAAQ,EACR,YAAY,CACb,CAAC;AACJ,CAAC;AAED,OAAO,MAAMU,wCAAwC,GAAGA,CAACV,WAAyC,GAAG,CAAC,CAAC,KAAK;EAC1G,OAAOD,WAAW,CAACC,WAAW,EAAE,CAC9B,MAAM,EACN,UAAU,EACV,gBAAgB,EAChB,KAAK,EACL,MAAM,EACN,eAAe,EACf,MAAM,EACN,OAAO,EACP,QAAQ,EACR,OAAO,EACP,YAAY,EACZ,UAAU,EACV,eAAe,EACf,UAAU,EACV,aAAa,EACb,kBAAkB,EAClB,2BAA2B,EAC3B,uBAAuB,EACvB,2BAA2B,EAC3B,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACnB,oBAAoB,CACrB,CAAC;AACJ,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["getQueryKey","queryParams","params","map","param","getQueryKeyFromCredentialListQueryParams","getQueryKeyFromHistoryListQueryParams","getQueryKeyFromCredentialSchemaListQueryParams","getQueryKeyFromProofSchemaListQueryParams","getQueryKeyFromProofListQueryParams","getQueryKeyFromDidListQueryParams","getQueryKeyFromIdentifierListQueryParams"],"sources":["query.ts"],"sourcesContent":["import {\n CredentialListQuery,\n CredentialSchemaListQuery,\n DidListQuery,\n HistoryListQuery,\n IdentifierListQuery,\n ProofListQuery,\n ProofSchemaListQuery,\n} from '@procivis/react-native-one-core';\n\ntype QueryKey<ListQuery, ParamList> = ParamList extends ReadonlyArray<keyof ListQuery> // all params are inside the ListQuery\n ? keyof ListQuery extends ParamList[number] // all ListQuery fields are in the params\n ? Array<ListQuery[keyof ListQuery]>\n : void\n : void; // otherwise produce a wrong return type which should trigger compilation error\n\n/** Typecheck that all query params are included in the query key */\nfunction getQueryKey<ListQuery extends {}, ParamList extends ReadonlyArray<keyof ListQuery>>(\n queryParams: ListQuery,\n params: ParamList,\n): QueryKey<ListQuery, ParamList> {\n return params.map((param) => queryParams[param]) as QueryKey<ListQuery, ParamList>;\n}\n\nexport const getQueryKeyFromCredentialListQueryParams = (queryParams: Partial<CredentialListQuery> = {}) => {\n return getQueryKey(queryParams, [\n 'page',\n 'pageSize',\n 'organisationId',\n 'name',\n 'searchText',\n 'searchType',\n 'sort',\n 'sortDirection',\n 'exact',\n 'roles',\n 'ids',\n 'states',\n 'include',\n 'profiles',\n 'credentialSchemaIds',\n 'createdDateAfter',\n 'createdDateBefore',\n 'lastModifiedAfter',\n 'lastModifiedBefore',\n 'issuanceDateAfter',\n 'issuanceDateBefore',\n 'revocationDateAfter',\n 'revocationDateBefore',\n 'types',\n 'parentId',\n ]);\n};\n\nexport const getQueryKeyFromHistoryListQueryParams = (queryParams: Partial<HistoryListQuery> = {}) => {\n return getQueryKey(queryParams, [\n 'page',\n 'pageSize',\n 'sort',\n 'sortDirection',\n 'organisationId',\n 'entityIds',\n 'actions',\n 'entityTypes',\n 'createdDateAfter',\n 'createdDateBefore',\n 'identifierId',\n 'credentialId',\n 'credentialSchemaId',\n 'proofId',\n 'proofSchemaId',\n 'search',\n 'users',\n 'trustCollectionId',\n ]);\n};\n\nexport const getQueryKeyFromCredentialSchemaListQueryParams = (\n queryParams: Partial<CredentialSchemaListQuery> = {},\n) => {\n return getQueryKey(queryParams, [\n 'page',\n 'pageSize',\n 'organisationId',\n 'name',\n 'sort',\n 'sortDirection',\n 'exact',\n 'ids',\n 'include',\n 'schemaIds',\n 'formats',\n 'usesBatchIssuance',\n 'isMultiformatSchema',\n 'createdDateAfter',\n 'createdDateBefore',\n 'lastModifiedAfter',\n 'lastModifiedBefore',\n ]);\n};\n\nexport const getQueryKeyFromProofSchemaListQueryParams = (queryParams: Partial<ProofSchemaListQuery> = {}) => {\n return getQueryKey(queryParams, [\n 'page',\n 'pageSize',\n 'organisationId',\n 'name',\n 'sort',\n 'sortDirection',\n 'exact',\n 'ids',\n 'formats',\n 'createdDateAfter',\n 'createdDateBefore',\n 'lastModifiedAfter',\n 'lastModifiedBefore',\n ]);\n};\n\nexport const getQueryKeyFromProofListQueryParams = (queryParams: Partial<ProofListQuery> = {}) => {\n return getQueryKey(queryParams, [\n 'page',\n 'pageSize',\n 'organisationId',\n 'sort',\n 'sortDirection',\n 'name',\n 'ids',\n 'proofStates',\n 'proofRoles',\n 'proofSchemaIds',\n 'exact',\n 'profiles',\n 'createdDateAfter',\n 'createdDateBefore',\n 'lastModifiedAfter',\n 'lastModifiedBefore',\n 'requestedDateAfter',\n 'requestedDateBefore',\n 'completedDateAfter',\n 'completedDateBefore',\n ]);\n};\n\nexport const getQueryKeyFromDidListQueryParams = (queryParams: Partial<DidListQuery> = {}) => {\n return getQueryKey(queryParams, [\n 'page',\n 'pageSize',\n 'organisationId',\n 'sort',\n 'sortDirection',\n 'name',\n 'did',\n 'type',\n 'deactivated',\n 'exact',\n 'keyAlgorithms',\n 'keyRoles',\n 'keyStorages',\n 'keyIds',\n 'didMethods',\n ]);\n};\n\nexport const getQueryKeyFromIdentifierListQueryParams = (queryParams: Partial<IdentifierListQuery> = {}) => {\n return getQueryKey(queryParams, [\n 'page',\n 'pageSize',\n 'organisationId',\n 'ids',\n 'sort',\n 'sortDirection',\n 'name',\n 'types',\n 'states',\n 'exact',\n 'didMethods',\n 'isRemote',\n 'keyAlgorithms',\n 'keyRoles',\n 'keyStorages',\n 'certificateRoles',\n 'certificateRolesMatchMode',\n 'trustIssuanceSchemaId',\n 'trustVerificationSchemaId',\n 'createdDateAfter',\n 'createdDateBefore',\n 'lastModifiedAfter',\n 'lastModifiedBefore',\n ]);\n};\n"],"mappings":"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","ignoreList":[]}
@@ -1,4 +1,3 @@
1
1
  export * from './select-share-credential-card-notice';
2
2
  export * from './share-credential-card-notice';
3
- export * from './v1';
4
3
  export * from './v2';
@@ -1,8 +1,15 @@
1
1
  import { CredentialListItem, PresentationDefinitionV2, PresentationDefinitionV2Claim, PresentationSubmitV2CredentialRequest } from '@procivis/react-native-one-core';
2
2
  import { FC } from 'react';
3
3
  import { ImageSourcePropType, StyleProp, ViewStyle } from 'react-native';
4
- import { ShareCredentialLabels } from '../v1/share-credential';
4
+ import { ShareCredentialCardLabels } from '../../../utils';
5
5
  export type CredentialQuerySelection = Record<string, PresentationSubmitV2CredentialRequest | PresentationSubmitV2CredentialRequest[]>;
6
+ export type ShareCredentialLabels = ShareCredentialCardLabels & {
7
+ invalidCredentialNotice: string;
8
+ multipleCredentialsNotice: string;
9
+ multipleCredentialsSelect: string;
10
+ revokedCredentialNotice: string;
11
+ suspendedCredentialNotice: string;
12
+ };
6
13
  export type ShareCredentialGroupLabels = ShareCredentialLabels & {
7
14
  groupHeader: string;
8
15
  };
@@ -1,7 +1,7 @@
1
1
  import { ApplicableCredentialOrFailureHint, CredentialListItem, PresentationDefinitionV2Claim } from '@procivis/react-native-one-core';
2
2
  import React, { FunctionComponent } from 'react';
3
3
  import { ImageSourcePropType, StyleProp, ViewStyle } from 'react-native';
4
- import { ShareCredentialLabels } from '../v1';
4
+ import { ShareCredentialLabels } from './share-credential-v2-group';
5
5
  export type ShareCredentialV2Props = {
6
6
  credentialQuery: ApplicableCredentialOrFailureHint;
7
7
  credentialRequestId: string;
@@ -0,0 +1,17 @@
1
+ import { FC } from 'react';
2
+ import { ColorValue } from 'react-native';
3
+ import { ImageOrComponentSource } from '../../image/image-or-component';
4
+ export declare enum CredentialLogoSize {
5
+ Regular = 44,
6
+ Small = 20
7
+ }
8
+ export type CredentialLogoProps = {
9
+ color?: ColorValue;
10
+ credentialName: string;
11
+ icon?: ImageOrComponentSource;
12
+ iconLabelColor?: ColorValue;
13
+ size?: CredentialLogoSize;
14
+ testID?: string;
15
+ };
16
+ declare const CredentialLogo: FC<CredentialLogoProps>;
17
+ export default CredentialLogo;
@@ -8,8 +8,11 @@ import type { CredentialHeaderProps } from './credential-header';
8
8
  import CredentialHeader from './credential-header';
9
9
  import type { CarouselImage } from './credential-image-carousel';
10
10
  import { CarouselImageType } from './credential-image-carousel';
11
+ import type { CredentialLogoProps, CredentialLogoSize } from './credential-logo';
12
+ import CredentialLogo from './credential-logo';
11
13
  export { CarouselImage, CarouselImageType };
12
14
  export { CredentialCard, CredentialCardNotice, CredentialCardProps, CredentialCardRatio, CredentialCardShadow };
13
15
  export { CredentialDetailsCard, CredentialDetailsCardProps };
14
16
  export { CredentialDetailsCardListItem, CredentialDetailsCardListItemProps };
15
17
  export { CredentialHeader, CredentialHeaderProps };
18
+ export { CredentialLogo, CredentialLogoProps, CredentialLogoSize };
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import type { TouchableOpacityProps } from 'react-native';
2
+ import { TouchableOpacityProps } from 'react-native';
3
3
  export interface SelectionInputChoice {
4
4
  label: string;
5
5
  /**
@@ -24,9 +24,5 @@ export interface SelectionInputProps extends TouchableOpacityProps {
24
24
  selectedValue?: string | number;
25
25
  values: SelectionInputChoice[];
26
26
  }
27
- /**
28
- * Generic selection input component
29
- * @see https://www.figma.com/file/Gd0Tj0234hxtl3HMcCJThW/App-Component-Library-(Design)?node-id=4%3A127&t=B2Y3PtJHH22XDPkx-0
30
- */
31
- declare const SelectionInput: React.ForwardRefExoticComponent<SelectionInputProps & React.RefAttributes<React.ForwardRefExoticComponent<TouchableOpacityProps & React.RefAttributes<import("react-native").View>>>>;
32
- export default SelectionInput;
27
+ declare const _default: React.NamedExoticComponent<SelectionInputProps>;
28
+ export default _default;
@@ -1,4 +1,5 @@
1
- import ExpandableTypography, { ExpandableTypographyProps } from './expandableTypography';
1
+ import type { ExpandableTypographyProps } from './expandableTypography';
2
+ import ExpandableTypography from './expandableTypography';
2
3
  import type { TypographyProps } from './typography';
3
4
  import Typography from './typography';
4
5
  export { ExpandableTypography, ExpandableTypographyProps, Typography, TypographyProps };